From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Dumitru Ceara To: git-commits@fedoraproject.org Subject: [rpms/ovn] f44: Pick up all current bug fixes from upstream branch-26.03. Date: Thu, 04 Jun 2026 09:57:20 GMT Message-ID: <178056704023.1.4884118893245116999.rpms-ovn-5052cd082422@fedoraproject.org> List-ID: X-Git-Repo: rpms/ovn X-Git-Branch: f44 X-Git-Rev: 5052cd082422079dcdb24ab040d28ab12fc3dcd7 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3ZuCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBDb21t aXQgOiA1MDUyY2QwODI0MjIwNzlkY2RiMjRhYjA0MGQyOGFiMTJmYzNkY2Q3CiAgICAgICAgICAg IEF1dGhvciA6IER1bWl0cnUgQ2VhcmEgPGRjZWFyYUByZWRoYXQuY29tPgogICAgICAgICAgICBE YXRlICAgOiAyMDI2LTA2LTA0VDExOjU2OjIwKzAyOjAwCiAgICAgICAgICAgIFN0YXRzICA6ICs1 NDcyLy0zIGluIDIgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRv cmFwcm9qZWN0Lm9yZy9ycG1zL292bi9jLzUwNTJjZDA4MjQyMjA3OWRjZGIyNGFiMDQwZDI4YWIx MmZjM2RjZDc/YnJhbmNoPWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBQaWNrIHVw IGFsbCBjdXJyZW50IGJ1ZyBmaXhlcyBmcm9tIHVwc3RyZWFtIGJyYW5jaC0yNi4wMy4KClVwIHRv IGFuZCBpbmNsdWRpbmc6CiAgOWYwNGI4YzUwODZhICgidGVzdHM6IEZpeCBmbGFreSAiTG9hZGJh bGFuY2VyIGFkZC1yb3V0ZSBvcHRpb24iIHN5c3RlbSB0ZXN0LiIpLgoKTm90YWJsZSBmaXhlczoK ICBmNDkyNTFiNzE1MzEgKCJub3J0aGQ6IHJlY29tcHV0ZSBvbiBkYXRhcGF0aCBpbmRleCByZXVz ZSIpCiAgNDIzMDI5NDEyNGUwICgibWFjLWNhY2hlOiBNYWtlIHN1cmUgd2UgcmUtYXJwIGZvciBw cm9wZXIgSVAgZm9yIExSUCB3aXRoIG11bHRpcGxlIElQcy4iKQogIDk2ODYwY2MyYzc4YyAoIm92 bi1jb250cm9sbGVyOiBTa2lwIHR5cGUtdXBkYXRlIGNoZWNrIGZvciBuZXcgcG9ydCBiaW5kaW5n cy4iKQoKU2lnbmVkLW9mZi1ieTogRHVtaXRydSBDZWFyYSA8ZGNlYXJhQHJlZGhhdC5jb20+Cgot LS0KZGlmZiAtLWdpdCBhL292bi5wYXRjaCBiL292bi5wYXRjaAppbmRleCAwZjczODA2Li5jMDEw ZTJkIDEwMDY0NAotLS0gYS9vdm4ucGF0Y2gKKysrIGIvb3ZuLnBhdGNoCkBAIC0xLDggKzEsMTUy MCBAQAorZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIvYmZkLmMgYi9jb250cm9sbGVyL2JmZC5jCitp bmRleCA1NmJmYTQ5MzYxLi4zYjBjM2Y2ZGFlIDEwMDY0NAorLS0tIGEvY29udHJvbGxlci9iZmQu YworKysrIGIvY29udHJvbGxlci9iZmQuYworQEAgLTExNywxNCArMTE3LDEzIEBAIGJmZF9jYWxj dWxhdGVfYWN0aXZlX3R1bm5lbHMoY29uc3Qgc3RydWN0IG92c3JlY19icmlkZ2UgKmJyX2ludCwK KyAgKgorICAqIElmICdvdXJfY2hhc3NpcycgaXMgQzUgdGhlbiB0aGlzIGZ1bmN0aW9uIHJldHVy bnMgZW1wdHkgYmZkIHNldC4KKyAgKi8KKy1ib29sCisrdm9pZAorIGJmZF9jYWxjdWxhdGVfY2hh c3NpcygKKyAgICAgY29uc3Qgc3RydWN0IHNicmVjX2NoYXNzaXMgKm91cl9jaGFzc2lzLAorICAg ICBjb25zdCBzdHJ1Y3Qgc2JyZWNfaGFfY2hhc3Npc19ncm91cF90YWJsZSAqaGFfY2hhc3Npc19n cnBfdGFibGUsCisgICAgIHN0cnVjdCBzc2V0ICpiZmRfY2hhc3NpcykKKyB7CisgICAgIGNvbnN0 IHN0cnVjdCBzYnJlY19oYV9jaGFzc2lzX2dyb3VwICpoYV9jaGFzc2lzX2dycDsKKy0gICAgYm9v bCBjaGFzc2lzX2lzX2hhX2d3ID0gZmFsc2U7CisgICAgIFNCUkVDX0hBX0NIQVNTSVNfR1JPVVBf VEFCTEVfRk9SX0VBQ0ggKGhhX2NoYXNzaXNfZ3JwLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBoYV9jaGFzc2lzX2dycF90YWJsZSkgeworICAgICAgICAgYm9v bCBpc19oYV9jaGFzc2lzID0gZmFsc2U7CitAQCAtMTQ0LDcgKzE0Myw2IEBAIGJmZF9jYWxjdWxh dGVfY2hhc3NpcygKKyAgICAgICAgICAgICBzc2V0X2FkZCgmZ3JwX2NoYXNzaXMsIGhhX2NoLT5j aGFzc2lzLT5uYW1lKTsKKyAgICAgICAgICAgICBpZiAob3VyX2NoYXNzaXMgPT0gaGFfY2gtPmNo YXNzaXMpIHsKKyAgICAgICAgICAgICAgICAgaXNfaGFfY2hhc3NpcyA9IHRydWU7CistICAgICAg ICAgICAgICAgIGNoYXNzaXNfaXNfaGFfZ3cgPSB0cnVlOworICAgICAgICAgICAgICAgICBiZmRf c2V0dXBfcmVxdWlyZWQgPSB0cnVlOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KK0BAIC0x ODAsNyArMTc4LDYgQEAgYmZkX2NhbGN1bGF0ZV9jaGFzc2lzKAorICAgICAgICAgfQorICAgICAg ICAgc3NldF9kZXN0cm95KCZncnBfY2hhc3Npcyk7CisgICAgIH0KKy0gICAgcmV0dXJuIGNoYXNz aXNfaXNfaGFfZ3c7CisgfQorIAorIHZvaWQKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL2JmZC5o IGIvY29udHJvbGxlci9iZmQuaAoraW5kZXggM2UzMzg0ODkxMi4uZjhmZWNlNWE1OCAxMDA2NDQK Ky0tLSBhL2NvbnRyb2xsZXIvYmZkLmgKKysrKyBiL2NvbnRyb2xsZXIvYmZkLmgKK0BAIC0xNiw4 ICsxNiw2IEBACisgI2lmbmRlZiBPVk5fQkZEX0gKKyAjZGVmaW5lIE9WTl9CRkRfSCAxCisgCist I2luY2x1ZGUgPHN0ZGJvb2wuaD4KKy0KKyBzdHJ1Y3QgaG1hcDsKKyBzdHJ1Y3Qgb3ZzZGJfaWRs OworIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXg7CitAQCAtMzgsNyArMzYsNyBAQCB2b2lkIGJmZF9y dW4oY29uc3Qgc3RydWN0IG92c3JlY19pbnRlcmZhY2VfdGFibGUgKiwKKyAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IHNicmVjX3NiX2dsb2JhbF90YWJsZSAqLAorICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3Qgb3ZzcmVjX29wZW5fdnN3aXRjaF90YWJsZSAqKTsKKyAKKy1ib29sIGJmZF9jYWxj dWxhdGVfY2hhc3NpcygKKyt2b2lkIGJmZF9jYWxjdWxhdGVfY2hhc3NpcygKKyAgICAgY29uc3Qg c3RydWN0IHNicmVjX2NoYXNzaXMgKiwKKyAgICAgY29uc3Qgc3RydWN0IHNicmVjX2hhX2NoYXNz aXNfZ3JvdXBfdGFibGUgKiwKKyAgICAgc3RydWN0IHNzZXQgKik7CitkaWZmIC0tZ2l0IGEvY29u dHJvbGxlci9lbmNhcHMuYyBiL2NvbnRyb2xsZXIvZW5jYXBzLmMKK2luZGV4IDYxZjQxYmYzYWMu LjA4MWZiZTY3MTYgMTAwNjQ0CistLS0gYS9jb250cm9sbGVyL2VuY2Fwcy5jCisrKysgYi9jb250 cm9sbGVyL2VuY2Fwcy5jCitAQCAtMjUsNyArMjUsNiBAQAorICNpbmNsdWRlICJsaWIvb3ZuLXNi LWlkbC5oIgorICNpbmNsdWRlICJsaWIvb3ZzZGItaWRsLmgiCisgI2luY2x1ZGUgIm92bi1jb250 cm9sbGVyLmgiCistI2luY2x1ZGUgInNtYXAuaCIKKyAKKyBWTE9HX0RFRklORV9USElTX01PRFVM RShlbmNhcHMpOworIAorQEAgLTQ0LDYgKzQzLDcgQEAgZW5jYXBzX3JlZ2lzdGVyX292c19pZGwo c3RydWN0IG92c2RiX2lkbCAqb3ZzX2lkbCkKKyAgICAgb3ZzZGJfaWRsX3RyYWNrX2FkZF9jb2x1 bW4ob3ZzX2lkbCwgJm92c3JlY19pbnRlcmZhY2VfY29sX25hbWUpOworICAgICBvdnNkYl9pZGxf dHJhY2tfYWRkX2NvbHVtbihvdnNfaWRsLCAmb3ZzcmVjX2ludGVyZmFjZV9jb2xfdHlwZSk7Cisg ICAgIG92c2RiX2lkbF90cmFja19hZGRfY29sdW1uKG92c19pZGwsICZvdnNyZWNfaW50ZXJmYWNl X2NvbF9vcHRpb25zKTsKKysgICAgb3ZzZGJfaWRsX3RyYWNrX2FkZF9jb2x1bW4ob3ZzX2lkbCwg Jm92c3JlY19pbnRlcmZhY2VfY29sX290aGVyX2NvbmZpZyk7CisgfQorIAorIC8qIEVub3VnaCBj b250ZXh0IHRvIGNyZWF0ZSBhIG5ldyB0dW5uZWwsIHVzaW5nIHR1bm5lbF9hZGQoKS4gKi8KK0BA IC0yMDEsMTIgKzIwMSwxNCBAQCBvdXQ6CisgfQorIAorIHN0YXRpYyB2b2lkCistdHVubmVsX2Fk ZChzdHJ1Y3QgdHVubmVsX2N0eCAqdGMsIGNvbnN0IHN0cnVjdCBzYnJlY19zYl9nbG9iYWwgKnNi ZywKKy0gICAgICAgICAgIGNvbnN0IGNoYXIgKm5ld19jaGFzc2lzX2lkLCBjb25zdCBzdHJ1Y3Qg c2JyZWNfZW5jYXAgKmVuY2FwLAorLSAgICAgICAgICAgY29uc3QgY2hhciAqbG9jYWxfaXAsCisr dHVubmVsX2FkZChzdHJ1Y3QgdHVubmVsX2N0eCAqdGMsCisrICAgICAgICAgICBjb25zdCBzdHJ1 Y3Qgc2JyZWNfc2JfZ2xvYmFsICpzYmcsCisrICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNf Y2hhc3NpcyAqY2hhc3Npc19yZWMsCisrICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNfZW5j YXAgKmVuY2FwLCBjb25zdCBjaGFyICpsb2NhbF9pcCwKKyAgICAgICAgICAgIGNvbnN0IHN0cnVj dCBvdnNyZWNfb3Blbl92c3dpdGNoX3RhYmxlICpvdnNfdGFibGUpCisgeworICAgICBzdHJ1Y3Qg c21hcCBvcHRpb25zID0gU01BUF9JTklUSUFMSVpFUigmb3B0aW9ucyk7CisrICAgIHN0cnVjdCBz bWFwIG90aGVyX2NvbmZpZyA9IFNNQVBfSU5JVElBTElaRVIoJm90aGVyX2NvbmZpZyk7CisgICAg IHNtYXBfYWRkKCZvcHRpb25zLCAicmVtb3RlX2lwIiwgZW5jYXAtPmlwKTsKKyAgICAgc21hcF9h ZGQoJm9wdGlvbnMsICJsb2NhbF9pcCIsIGxvY2FsX2lwKTsKKyAgICAgc21hcF9hZGQoJm9wdGlv bnMsICJrZXkiLCAiZmxvdyIpOworQEAgLTIyMSw5ICsyMjMsOSBAQCB0dW5uZWxfYWRkKHN0cnVj dCB0dW5uZWxfY3R4ICp0YywgY29uc3Qgc3RydWN0IHNicmVjX3NiX2dsb2JhbCAqc2JnLAorICAg ICAgKiBjb21iaW5hdGlvbiBvZiB0aGUgY2hhc3Npc19uYW1lIGFuZCB0aGUgcmVtb3RlIGFuZCBs b2NhbCBlbmNhcC1pcHMgdG8KKyAgICAgICogaWRlbnRpZnkgYSBzcGVjaWZpYyB0dW5uZWwgdG8g dGhlIHJlbW90ZSBjaGFzc2lzLgorICAgICAgKi8KKy0gICAgdHVubmVsX2VudHJ5X2lkID0gZW5j YXBzX3R1bm5lbF9pZF9jcmVhdGUobmV3X2NoYXNzaXNfaWQsIGVuY2FwLT5pcCwKKysgICAgdHVu bmVsX2VudHJ5X2lkID0gZW5jYXBzX3R1bm5lbF9pZF9jcmVhdGUoY2hhc3Npc19yZWMtPm5hbWUs IGVuY2FwLT5pcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbG9jYWxfaXApOworLSAgICB0dW5uZWxfZW50cnlfaWRfb2xkID0gZW5jYXBzX3R1bm5lbF9p ZF9jcmVhdGVfbGVnYWN5KG5ld19jaGFzc2lzX2lkLAorKyAgICB0dW5uZWxfZW50cnlfaWRfb2xk ID0gZW5jYXBzX3R1bm5lbF9pZF9jcmVhdGVfbGVnYWN5KGNoYXNzaXNfcmVjLT5uYW1lLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu Y2FwLT5pcCk7CisgICAgIGlmIChjc3VtICYmICghc3RyY21wKGNzdW0sICJ0cnVlIikgfHwgIXN0 cmNtcChjc3VtLCAiZmFsc2UiKSkpIHsKKyAgICAgICAgIHNtYXBfYWRkKCZvcHRpb25zLCAiY3N1 bSIsIGNzdW0pOworQEAgLTI1OCw3ICsyNjAsNyBAQCB0dW5uZWxfYWRkKHN0cnVjdCB0dW5uZWxf Y3R4ICp0YywgY29uc3Qgc3RydWN0IHNicmVjX3NiX2dsb2JhbCAqc2JnLAorIAorICAgICAvKiBB ZGQgYXV0aCBpbmZvIGlmIGlwc2VjIGlzIGVuYWJsZWQuICovCisgICAgIGlmIChzYmctPmlwc2Vj KSB7CistICAgICAgICBzbWFwX2FkZCgmb3B0aW9ucywgInJlbW90ZV9uYW1lIiwgbmV3X2NoYXNz aXNfaWQpOworKyAgICAgICAgc21hcF9hZGQoJm9wdGlvbnMsICJyZW1vdGVfbmFtZSIsIGNoYXNz aXNfcmVjLT5uYW1lKTsKKyAKKyAgICAgICAgIC8qIEZvcmNlIE5BVC1UIHRyYXZlcnNhbCB2aWEg Y29uZmlndXJhdGlvbiAqLworICAgICAgICAgLyogVHdvIGlwc2VjIGJhY2tlbmRzIGFyZSBzdXBw b3J0ZWQ6IGxpYnJlc3dhbiBhbmQgc3Ryb25nc3dhbiAqLworQEAgLTI3Niw2ICsyNzgsMTEgQEAg dHVubmVsX2FkZChzdHJ1Y3QgdHVubmVsX2N0eCAqdGMsIGNvbnN0IHN0cnVjdCBzYnJlY19zYl9n bG9iYWwgKnNiZywKKyAgICAgICAgIH0KKyAgICAgfQorIAorKyAgICBpZiAoaXNfcmFtcF90dW5u ZWwoJmNoYXNzaXNfcmVjLT5vdGhlcl9jb25maWcpKSB7CisrICAgICAgICAvKiBQcm9wYWdhdGUg cmFtcCBzd2l0Y2ggZmxhZyBmcm9tIGNoYXNzaXMgdG8gaW50ZXJmYWNlLiAqLworKyAgICAgICAg c21hcF9hZGQoJm90aGVyX2NvbmZpZywgImlzLXZ0ZXAiLCAidHJ1ZSIpOworKyAgICB9CisrCisg ICAgIC8qIElmIHRoZXJlJ3MgYW4gZXhpc3RpbmcgdHVubmVsIHJlY29yZCB0aGF0IGRvZXMgbm90 IG5lZWQgYW55IGNoYW5nZSwKKyAgICAgICoga2VlcCBpdC4gIE90aGVyd2lzZSwgY3JlYXRlIGEg bmV3IHJlY29yZCAoaWYgdGhlcmUgd2FzIGFuIGV4aXN0aW5nCisgICAgICAqIHJlY29yZCwgdGhl IG5ldyByZWNvcmQgd2lsbCBzdXBwbGFudCBpdCBhbmQgZW5jYXBzX3J1bigpIHdpbGwgZGVsZXRl CitAQCAtMzEyLDEwICszMTksMTAgQEAgdHVubmVsX2FkZChzdHJ1Y3QgdHVubmVsX2N0eCAqdGMs IGNvbnN0IHN0cnVjdCBzYnJlY19zYl9nbG9iYWwgKnNiZywKKyAgICAgICogaXRzIG5hbWUsIG90 aGVyd2lzZSBnZW5lcmF0ZSBhIG5ldywgdW5pcXVlIG5hbWUuICovCisgICAgIGNoYXIgKnBvcnRf bmFtZSA9ICh0dW5uZWwKKyAgICAgICAgICAgICAgICAgICAgICAgID8geHN0cmR1cCh0dW5uZWwt PnBvcnQtPm5hbWUpCistICAgICAgICAgICAgICAgICAgICAgICA6IHR1bm5lbF9jcmVhdGVfbmFt ZSh0YywgbmV3X2NoYXNzaXNfaWQpKTsKKysgICAgICAgICAgICAgICAgICAgICAgIDogdHVubmVs X2NyZWF0ZV9uYW1lKHRjLCBjaGFzc2lzX3JlYy0+bmFtZSkpOworICAgICBpZiAoIXBvcnRfbmFt ZSkgeworICAgICAgICAgVkxPR19XQVJOKCJVbmFibGUgdG8gYWxsb2NhdGUgdW5pcXVlIG5hbWUg Zm9yICclcycgdHVubmVsIiwKKy0gICAgICAgICAgICAgICAgICBuZXdfY2hhc3Npc19pZCk7Cisr ICAgICAgICAgICAgICAgICAgY2hhc3Npc19yZWMtPm5hbWUpOworICAgICAgICAgZ290byBleGl0 OworICAgICB9CisgCitAQCAtMzIzLDYgKzMzMCw3IEBAIHR1bm5lbF9hZGQoc3RydWN0IHR1bm5l bF9jdHggKnRjLCBjb25zdCBzdHJ1Y3Qgc2JyZWNfc2JfZ2xvYmFsICpzYmcsCisgICAgIG92c3Jl Y19pbnRlcmZhY2Vfc2V0X25hbWUoaWZhY2UsIHBvcnRfbmFtZSk7CisgICAgIG92c3JlY19pbnRl cmZhY2Vfc2V0X3R5cGUoaWZhY2UsIGVuY2FwLT50eXBlKTsKKyAgICAgb3ZzcmVjX2ludGVyZmFj ZV9zZXRfb3B0aW9ucyhpZmFjZSwgJm9wdGlvbnMpOworKyAgICBvdnNyZWNfaW50ZXJmYWNlX3Nl dF9vdGhlcl9jb25maWcoaWZhY2UsICZvdGhlcl9jb25maWcpOworIAorICAgICBzdHJ1Y3Qgb3Zz cmVjX3BvcnQgKnBvcnQgPSBvdnNyZWNfcG9ydF9pbnNlcnQodGMtPm92c190eG4pOworICAgICBv dnNyZWNfcG9ydF9zZXRfbmFtZShwb3J0LCBwb3J0X25hbWUpOworQEAgLTMzOCw2ICszNDYsNyBA QCBleGl0OgorICAgICBmcmVlKHR1bm5lbF9lbnRyeV9pZCk7CisgICAgIGZyZWUodHVubmVsX2Vu dHJ5X2lkX29sZCk7CisgICAgIHNtYXBfZGVzdHJveSgmb3B0aW9ucyk7CisrICAgIHNtYXBfZGVz dHJveSgmb3RoZXJfY29uZmlnKTsKKyB9CisgCisgc3RhdGljIGJvb2wKK0BAIC00MDMsNyArNDEy LDcgQEAgY2hhc3Npc190dW5uZWxfYWRkKGNvbnN0IHN0cnVjdCBzYnJlY19jaGFzc2lzICpjaGFz c2lzX3JlYywKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgVkxPR19EQkcoInR1bm5lbF9h ZGQ6ICclcycsIGxvY2FsIGlwOiAlcyIsIGNoYXNzaXNfcmVjLT5uYW1lLAorICAgICAgICAgICAg ICAgICAgICAgIHRoaXNfY2hhc3Npcy0+ZW5jYXBzW2pdLT5pcCk7CistICAgICAgICAgICAgdHVu bmVsX2FkZCh0Yywgc2JnLCBjaGFzc2lzX3JlYy0+bmFtZSwgY2hhc3Npc19yZWMtPmVuY2Fwc1tp XSwKKysgICAgICAgICAgICB0dW5uZWxfYWRkKHRjLCBzYmcsIGNoYXNzaXNfcmVjLCBjaGFzc2lz X3JlYy0+ZW5jYXBzW2ldLAorICAgICAgICAgICAgICAgICAgICAgICAgdGhpc19jaGFzc2lzLT5l bmNhcHNbal0tPmlwLCBvdnNfdGFibGUpOworICAgICAgICAgICAgIHR1bmNudCsrOworICAgICAg ICAgfQorZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIvZW5jYXBzLmggYi9jb250cm9sbGVyL2VuY2Fw cy5oCitpbmRleCBmYTVkYzE3ZTVmLi4wMjU3ZDA4YzEzIDEwMDY0NAorLS0tIGEvY29udHJvbGxl ci9lbmNhcHMuaAorKysrIGIvY29udHJvbGxlci9lbmNhcHMuaAorQEAgLTE3LDYgKzE3LDcgQEAK KyAjZGVmaW5lIE9WTl9FTkNBUFNfSCAxCisgCisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKysjaW5j bHVkZSAic21hcC5oIgorIAorIC8qCisgICogR2l2ZW4gdGhlcmUgY291bGQgYmUgbXVsdGlwbGUg dHVubmVscyB3aXRoIGRpZmZlcmVudCBJUHMgdG8gdGhlIHNhbWUKK0BAIC02OCw0ICs2OSwxMCBA QCBib29sICBlbmNhcHNfdHVubmVsX2lkX21hdGNoKGNvbnN0IGNoYXIgKnR1bm5lbF9pZCwgY29u c3QgY2hhciAqY2hhc3Npc19pZCwKKyAKKyB2b2lkIGVuY2Fwc19kZXN0cm95KHZvaWQpOworIAor K3N0YXRpYyBpbmxpbmUgYm9vbAorK2lzX3JhbXBfdHVubmVsKGNvbnN0IHN0cnVjdCBzbWFwICpv dGhlcl9jb25maWcpCisreworKyAgICByZXR1cm4gc21hcF9nZXRfYm9vbChvdGhlcl9jb25maWcs ICJpcy12dGVwIiwgZmFsc2UpOworK30KKysKKyAjZW5kaWYgLyogY29udHJvbGxlci9lbmNhcHMu aCAqLworZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIvZXZwbi1iaW5kaW5nLmMgYi9jb250cm9sbGVy L2V2cG4tYmluZGluZy5jCitpbmRleCBiMTc2NzA2YzNmLi40ZGE4MDIwZTE1IDEwMDY0NAorLS0t IGEvY29udHJvbGxlci9ldnBuLWJpbmRpbmcuYworKysrIGIvY29udHJvbGxlci9ldnBuLWJpbmRp bmcuYworQEAgLTMyLDYgKzMyLDcgQEAgc3RhdGljIHN0cnVjdCB2bG9nX3JhdGVfbGltaXQgcmwg PSBWTE9HX1JBVEVfTElNSVRfSU5JVCg1LCAxKTsKKyAKKyBzdGF0aWMgdm9pZCBjb2xsZWN0X2V2 cG5fZGF0YXBhdGhzKGNvbnN0IHN0cnVjdCBobWFwICpsb2NhbF9kYXRhcGF0aHMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaG1hcCAqZXZwbl9kYXRhcGF0aHMp OworK3N0YXRpYyB2b2lkIGV2cG5fZGF0YXBhdGhzX2NsZWFyKHN0cnVjdCBobWFwICpldnBuX2Rh dGFwYXRocyk7CisgCisgc3RydWN0IGV2cG5fdHVubmVsIHsKKyAgICAgdWludDE2X3QgZHN0X3Bv cnQ7CitAQCAtNjIsNiArNjMsNyBAQCBldnBuX2JpbmRpbmdfcnVuKGNvbnN0IHN0cnVjdCBldnBu X2JpbmRpbmdfY3R4X2luICpiX2N0eF9pbiwKKyAgICAgc3RydWN0IGhtYXB4IHN0YWxlX21jX2dy b3VwcyA9IEhNQVBYX0lOSVRJQUxJWkVSKCZzdGFsZV9tY19ncm91cHMpOworICAgICB1aW50MzJf dCBoaW50ID0gT1ZOX01JTl9FVlBOX0tFWTsKKyAKKysgICAgZXZwbl9kYXRhcGF0aHNfY2xlYXIo Yl9jdHhfb3V0LT5kYXRhcGF0aHMpOworICAgICBjb2xsZWN0X2V2cG5fZGF0YXBhdGhzKGJfY3R4 X2luLT5sb2NhbF9kYXRhcGF0aHMsIGJfY3R4X291dC0+ZGF0YXBhdGhzKTsKKyAKKyAgICAgc3Ry dWN0IGV2cG5fYmluZGluZyAqYmluZGluZzsKK0BAIC0yMzMsNyArMjM1LDcgQEAgZXZwbl9kYXRh cGF0aF9maW5kKGNvbnN0IHN0cnVjdCBobWFwICpldnBuX2RhdGFwYXRocywgdWludDMyX3Qgdm5p KQorICAgICByZXR1cm4gTlVMTDsKKyB9CisgCistdm9pZAorK3N0YXRpYyB2b2lkCisgZXZwbl9k YXRhcGF0aHNfY2xlYXIoc3RydWN0IGhtYXAgKmV2cG5fZGF0YXBhdGhzKQorIHsKKyAgICAgc3Ry dWN0IGV2cG5fZGF0YXBhdGggKmVkcDsKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL2V2cG4tYmlu ZGluZy5oIGIvY29udHJvbGxlci9ldnBuLWJpbmRpbmcuaAoraW5kZXggMjliODVmYzE2Mi4uNTIx ZGI5ZDZlMyAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIvZXZwbi1iaW5kaW5nLmgKKysrKyBiL2Nv bnRyb2xsZXIvZXZwbi1iaW5kaW5nLmgKK0BAIC05Myw3ICs5Myw2IEBAIHZvaWQgZXZwbl92dGVw X2JpbmRpbmdfbGlzdChzdHJ1Y3QgdW5peGN0bF9jb25uICpjb25uLCBpbnQgYXJnYywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFyZ3ZbXSwgdm9pZCAqZGF0YV8p OworIGNvbnN0IHN0cnVjdCBldnBuX2RhdGFwYXRoICpldnBuX2RhdGFwYXRoX2ZpbmQoCisgICAg ICAgICBjb25zdCBzdHJ1Y3QgaG1hcCAqZXZwbl9kYXRhcGF0aHMsIHVpbnQzMl90IHZuaSk7Cist dm9pZCBldnBuX2RhdGFwYXRoc19jbGVhcihzdHJ1Y3QgaG1hcCAqZXZwbl9kYXRhcGF0aHMpOwor IHZvaWQgZXZwbl9kYXRhcGF0aHNfZGVzdHJveShzdHJ1Y3QgaG1hcCAqZXZwbl9kYXRhcGF0aHMp OworIHZvaWQgZXZwbl9tdWx0aWNhc3RfZ3JvdXBzX2Rlc3Ryb3koc3RydWN0IGhtYXAgKm11bHRp Y2FzdF9ncm91cHMpOworIHZvaWQgZXZwbl9tdWx0aWNhc3RfZ3JvdXBfbGlzdChzdHJ1Y3QgdW5p eGN0bF9jb25uICpjb25uLCBpbnQgYXJnYywKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL2dhcnBf cmFycC5jIGIvY29udHJvbGxlci9nYXJwX3JhcnAuYworaW5kZXggOWQwYzJjMmU0Yi4uMWNmNDE1 YTlmYSAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIvZ2FycF9yYXJwLmMKKysrKyBiL2NvbnRyb2xs ZXIvZ2FycF9yYXJwLmMKK0BAIC0yOTgsNiArMjk4LDcgQEAgcmVzZXRfdGltZXJzX2Zvcl9jbGFp bWVkX2NyKHN0cnVjdCBpZl9zdGF0dXNfbWdyICptZ3IpCisgICAgIFNTRVRfRk9SX0VBQ0hfU0FG RSAoY3JfbG9naWNhbF9wb3J0LCBjbGFpbWVkX2NyKSB7CisgICAgICAgICBnYXJwX3JhcnBfbm9k ZV9yZXNldF90aW1lcnMoY3JfbG9naWNhbF9wb3J0KTsKKyAgICAgICAgIHNzZXRfZGVsZXRlKGNs YWltZWRfY3IsIFNTRVRfTk9ERV9GUk9NX05BTUUoY3JfbG9naWNhbF9wb3J0KSk7CisrICAgICAg ICBnYXJwX3JhcnBfZGF0YV9oYXNfY2hhbmdlZCA9IHRydWU7CisgICAgIH0KKyAKKyB9CitAQCAt NTY1LDcgKzU2Niw3IEBAIGdhcnBfcmFycF9nZXRfZGF0YSh2b2lkKQorIGJvb2wKKyBnYXJwX3Jh cnBfZGF0YV9jaGFuZ2VkKHZvaWQpIHsKKyAgICAgYm9vbCByZXQgPSBnYXJwX3JhcnBfZGF0YV9o YXNfY2hhbmdlZDsKKy0gICAgZ2FycF9yYXJwX2RhdGFfaGFzX2NoYW5nZWQgPSB0cnVlOworKyAg ICBnYXJwX3JhcnBfZGF0YV9oYXNfY2hhbmdlZCA9IGZhbHNlOworICAgICByZXR1cm4gcmV0Owor IH0KKyAKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL2xmbG93LmMgYi9jb250cm9sbGVyL2xmbG93 LmMKK2luZGV4IDM1ZWQ2ZDMwYjcuLjM4MmMyYWVjYjkgMTAwNjQ0CistLS0gYS9jb250cm9sbGVy L2xmbG93LmMKKysrKyBiL2NvbnRyb2xsZXIvbGZsb3cuYworQEAgLTIyOSw2ICsyMjksMjcgQEAg aXNfY2hhc3Npc19yZXNpZGVudF9jYihjb25zdCB2b2lkICpjX2F1eF8sIGNvbnN0IGNoYXIgKnBv cnRfbmFtZSkKKyAgICAgfQorIH0KKyAKKytzdGF0aWMgYm9vbAorK2xwb3J0X2lkX2lzX2xvY2Fs KGNvbnN0IHN0cnVjdCBsZmxvd19jdHhfaW4gKmxfY3R4X2luLAorKyAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCB1dWlkICpsZmxvd191dWlkLAorKyAgICAgICAgICAgICAgICAgIGludDY0 X3QgZHBfaWQsIGludDY0X3QgcG9ydF9pZCkKKyt7CisrICAgIC8qIFRvL2Zyb20gRVZQTiBWVEVQ IGxvZ2ljYWwgcG9ydCBrZXlzIGFyZSBhbHdheXMgbG9jYWwuICovCisrICAgIGlmIChPVk5fSVNf RVZQTl9LRVkocG9ydF9pZCkpIHsKKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICB9CisrCisr ICAgIGNoYXIgYnVmWzE2XTsKKysgICAgZ2V0X3VuaXF1ZV9scG9ydF9rZXkoZHBfaWQsIHBvcnRf aWQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworKworKyAgICBpZiAoIXNzZXRfY29udGFpbnMobF9jdHhf aW4tPnJlbGF0ZWRfbHBvcnRfaWRzLCBidWYpKSB7CisrICAgICAgICBWTE9HX0RCRygibGZsb3cg IlVVSURfRk1UIiBwb3J0ICVzIGluIG1hdGNoIGlzIG5vdCBsb2NhbCwgc2tpcCIsCisrICAgICAg ICAgICAgICAgICBVVUlEX0FSR1MobGZsb3dfdXVpZCksIGJ1Zik7CisrICAgICAgICByZXR1cm4g ZmFsc2U7CisrICAgIH0KKysgICAgcmV0dXJuIHRydWU7CisrfQorKworIC8qIEFkZHMgdGhlIGxv Z2ljYWwgZmxvd3MgZnJvbSB0aGUgTG9naWNhbF9GbG93IHRhYmxlIHRvIGZsb3cgdGFibGVzLiAq LworIHN0YXRpYyB2b2lkCisgYWRkX2xvZ2ljYWxfZmxvd3Moc3RydWN0IGxmbG93X2N0eF9pbiAq bF9jdHhfaW4sCitAQCAtOTM2LDIyICs5NTcsMTUgQEAgYWRkX21hdGNoZXNfdG9fZmxvd190YWJs ZShjb25zdCBzdHJ1Y3Qgc2JyZWNfbG9naWNhbF9mbG93ICpsZmxvdywKKyAKKyAgICAgc3RydWN0 IGV4cHJfbWF0Y2ggKm07CisgICAgIEhNQVBfRk9SX0VBQ0ggKG0sIGhtYXBfbm9kZSwgbWF0Y2hl cykgeworLSAgICAgICAgbWF0Y2hfc2V0X21ldGFkYXRhKCZtLT5tYXRjaCwgaHRvbmxsKGxkcC0+ ZGF0YXBhdGgtPnR1bm5lbF9rZXkpKTsKKysgICAgICAgIGludDY0X3QgZHBfaWQgPSBsZHAtPmRh dGFwYXRoLT50dW5uZWxfa2V5OworKyAgICAgICAgbWF0Y2hfc2V0X21ldGFkYXRhKCZtLT5tYXRj aCwgaHRvbmxsKGRwX2lkKSk7CisgICAgICAgICBpZiAobGRwLT5pc19zd2l0Y2gpIHsKKyAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgcmVnX2luZGV4CisgICAgICAgICAgICAgICAgID0gKGluZ3Jl c3MgPyBNRkZfTE9HX0lOUE9SVCA6IE1GRl9MT0dfT1VUUE9SVCkgLSBNRkZfUkVHMDsKKyAgICAg ICAgICAgICBpbnQ2NF90IHBvcnRfaWQgPSBtLT5tYXRjaC5mbG93LnJlZ3NbcmVnX2luZGV4XTsK Ky0gICAgICAgICAgICBpZiAocG9ydF9pZCkgeworLSAgICAgICAgICAgICAgICBpbnQ2NF90IGRw X2lkID0gbGRwLT5kYXRhcGF0aC0+dHVubmVsX2tleTsKKy0gICAgICAgICAgICAgICAgY2hhciBi dWZbMTZdOworLSAgICAgICAgICAgICAgICBnZXRfdW5pcXVlX2xwb3J0X2tleShkcF9pZCwgcG9y dF9pZCwgYnVmLCBzaXplb2YoYnVmKSk7CistICAgICAgICAgICAgICAgIGlmICghc3NldF9jb250 YWlucyhsX2N0eF9pbi0+cmVsYXRlZF9scG9ydF9pZHMsIGJ1ZikpIHsKKy0gICAgICAgICAgICAg ICAgICAgIFZMT0dfREJHKCJsZmxvdyAiVVVJRF9GTVQKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIgcG9ydCAlcyBpbiBtYXRjaCBpcyBub3QgbG9jYWwsIHNraXAiLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVVVJRF9BUkdTKCZsZmxvdy0+aGVhZGVyXy51dWlkKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zik7CistICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsKKy0gICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmIChwb3J0X2lkICYm ICFscG9ydF9pZF9pc19sb2NhbChsX2N0eF9pbiwgJmxmbG93LT5oZWFkZXJfLnV1aWQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRwX2lkLCBwb3J0X2lk KSkgeworKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICB9CisgICAgICAg ICB9CisgCitAQCAtMTA5MCwxMSArMTEwNCw4IEBAIGNvbnNpZGVyX2xvZ2ljYWxfZmxvd19fKGNv bnN0IHN0cnVjdCBzYnJlY19sb2dpY2FsX2Zsb3cgKmxmbG93LAorICAgICAgICAgICAgICAgICAg ICAgICJmb3VuZCwgc2tpcCIsIFVVSURfQVJHUygmbGZsb3ctPmhlYWRlcl8udXVpZCksIGlvX3Bv cnQpOworICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KKy0gICAgICAgIGNoYXIgYnVm WzE2XTsKKy0gICAgICAgIGdldF91bmlxdWVfbHBvcnRfa2V5KGRwLT50dW5uZWxfa2V5LCBwYi0+ dHVubmVsX2tleSwgYnVmLCBzaXplb2YgYnVmKTsKKy0gICAgICAgIGlmICghc3NldF9jb250YWlu cyhsX2N0eF9pbi0+cmVsYXRlZF9scG9ydF9pZHMsIGJ1ZikpIHsKKy0gICAgICAgICAgICBWTE9H X0RCRygibGZsb3cgIlVVSURfRk1UIiBtYXRjaGVzIGlucG9ydC9vdXRwb3J0ICVzIHRoYXQncyBu b3QgIgorLSAgICAgICAgICAgICAgICAgICAgICJsb2NhbCwgc2tpcCIsIFVVSURfQVJHUygmbGZs b3ctPmhlYWRlcl8udXVpZCksIGlvX3BvcnQpOworKyAgICAgICAgaWYgKCFscG9ydF9pZF9pc19s b2NhbChsX2N0eF9pbiwgJmxmbG93LT5oZWFkZXJfLnV1aWQsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRwLT50dW5uZWxfa2V5LCBwYi0+dHVubmVsX2tleSkpIHsKKyAgICAgICAg ICAgICByZXR1cm47CisgICAgICAgICB9CisgICAgIH0KK2RpZmYgLS1naXQgYS9jb250cm9sbGVy L2xvY2FsX2RhdGEuYyBiL2NvbnRyb2xsZXIvbG9jYWxfZGF0YS5jCitpbmRleCBkZGE3NDZkNzNl Li5hZjZjNzViNDAwIDEwMDY0NAorLS0tIGEvY29udHJvbGxlci9sb2NhbF9kYXRhLmMKKysrKyBi L2NvbnRyb2xsZXIvbG9jYWxfZGF0YS5jCitAQCAtNTMyLDYgKzUzMiw3IEBAIGxvY2FsX25vbnZp Zl9kYXRhX3J1bihjb25zdCBzdHJ1Y3Qgb3ZzcmVjX2JyaWRnZSAqYnJfaW50LAorICAgICAgICAg ICAgICAgICB0dW4tPm9mcG9ydCA9IHUxNl90b19vZnAob2Zwb3J0KTsKKyAgICAgICAgICAgICAg ICAgdHVuLT50eXBlID0gdHVubmVsX3R5cGU7CisgICAgICAgICAgICAgICAgIHR1bi0+aXNfaXB2 NiA9IGlwID8gYWRkcl9pc19pcHY2KGlwKSA6IGZhbHNlOworKyAgICAgICAgICAgICAgICB0dW4t PmlzX3JhbXBfdHVubmVsID0gaXNfcmFtcF90dW5uZWwoJmlmYWNlX3JlYy0+b3RoZXJfY29uZmln KTsKKyAKKyAgICAgICAgICAgICAgICAgZnJlZShoYXNoX2lkKTsKKyAgICAgICAgICAgICAgICAg ZnJlZShpcCk7CitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9sb2NhbF9kYXRhLmggYi9jb250cm9s bGVyL2xvY2FsX2RhdGEuaAoraW5kZXggOTQ4YzFhOTM1ZS4uY2JiODg5OWViNiAxMDA2NDQKKy0t LSBhL2NvbnRyb2xsZXIvbG9jYWxfZGF0YS5oCisrKysgYi9jb250cm9sbGVyL2xvY2FsX2RhdGEu aAorQEAgLTE0Niw2ICsxNDYsNyBAQCBzdHJ1Y3QgY2hhc3Npc190dW5uZWwgeworICAgICBvZnBf cG9ydF90IG9mcG9ydDsKKyAgICAgZW51bSBjaGFzc2lzX3R1bm5lbF90eXBlIHR5cGU7CisgICAg IGJvb2wgaXNfaXB2NjsKKysgICAgYm9vbCBpc19yYW1wX3R1bm5lbDsKKyB9OworIAorIC8qIEZs b3ctYmFzZWQgdHVubmVsIHRoYXQgY29uc29saWRhdGVzIG11bHRpcGxlIGVuZHBvaW50cyBpbnRv IGEgc2luZ2xlCitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9tYWMtY2FjaGUuYyBiL2NvbnRyb2xs ZXIvbWFjLWNhY2hlLmMKK2luZGV4IGJkZjM1ZWViNzUuLmM5OTZmZDZiOWEgMTAwNjQ0CistLS0g YS9jb250cm9sbGVyL21hYy1jYWNoZS5jCisrKysgYi9jb250cm9sbGVyL21hYy1jYWNoZS5jCitA QCAtNTksMTIgKzU5LDExIEBAIHN0YXRpYyB2b2lkCisgbWFjX2NhY2hlX3VwZGF0ZV9yZXFfZGVs YXkoc3RydWN0IGhtYXAgKnRocmVzaG9sZHMsIHVpbnQ2NF90ICpyZXFfZGVsYXkpOworIAorIHN0 YXRpYyBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqCistYnVmZmVyZWRfcGFja2V0c19maW5kKHN0 cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4LAorK2J1ZmZlcmVkX3BhY2tldHNfZmluZChz dHJ1Y3QgY21hcCAqYnBfbWFwLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg bWFjX2JpbmRpbmdfZGF0YSAqbWJfZGF0YSk7CisgCisgc3RhdGljIHZvaWQKKy1idWZmZXJlZF9w YWNrZXRzX3JlbW92ZShzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0eCwKKy0gICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnApOworK2J1ZmZlcmVk X3BhY2tldHNfZnJlZShzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnApOworIAorIHN0YXRpYyB2 b2lkCisgYnVmZmVyZWRfcGFja2V0c19kYl9sb29rdXAoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHMg KmJwLAorQEAgLTU1MCwyNCArNTQ5LDI0IEBAIGJwX3BhY2tldF9kYXRhX2Rlc3Ryb3koc3RydWN0 IGJwX3BhY2tldF9kYXRhICpwZCkgeworIH0KKyAKKyBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAq CistYnVmZmVyZWRfcGFja2V0c19hZGQoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgs CistICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1hY19iaW5kaW5nX2RhdGEgbWJfZGF0YSkg eworK2J1ZmZlcmVkX3BhY2tldHNfYWRkKHN0cnVjdCBjbWFwICpicF9tYXAsIHN0cnVjdCBtYWNf YmluZGluZ19kYXRhIG1iX2RhdGEpIHsKKyAgICAgdWludDMyX3QgaGFzaCA9IG1hY19iaW5kaW5n X2RhdGFfaGFzaCgmbWJfZGF0YSk7CisgCistICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpi cCA9IGJ1ZmZlcmVkX3BhY2tldHNfZmluZChjdHgsICZtYl9kYXRhKTsKKysgICAgc3RydWN0IGJ1 ZmZlcmVkX3BhY2tldHMgKmJwID0gYnVmZmVyZWRfcGFja2V0c19maW5kKGJwX21hcCwgJm1iX2Rh dGEpOworICAgICBpZiAoIWJwKSB7CistICAgICAgICBpZiAoaG1hcF9jb3VudCgmY3R4LT5idWZm ZXJlZF9wYWNrZXRzKSA+PSBNQVhfQlVGRkVSRURfUEFDS0VUUykgeworKyAgICAgICAgaWYgKGNt YXBfY291bnQoYnBfbWFwKSA+PSBNQVhfQlVGRkVSRURfUEFDS0VUUykgeworICAgICAgICAgICAg IHJldHVybiBOVUxMOworICAgICAgICAgfQorIAorICAgICAgICAgYnAgPSB4bWFsbG9jKHNpemVv ZiAqYnApOworLSAgICAgICAgaG1hcF9pbnNlcnQoJmN0eC0+YnVmZmVyZWRfcGFja2V0cywgJmJw LT5obWFwX25vZGUsIGhhc2gpOworICAgICAgICAgYnAtPm1iX2RhdGEgPSBtYl9kYXRhOworKyAg ICAgICAgYXRvbWljX2luaXQoJmJwLT5yZXNvbHZlZF9tYWMsIDApOworICAgICAgICAgLyogU2No ZWR1bGUgdGhlIGZyZXNobHkgYWRkZWQgYnVmZmVyZWQgcGFja2V0IHRvIGRvIGxvb2t1cAorICAg ICAgICAgICogaW1tZWRpYXRlbHkuICovCisgICAgICAgICBicC0+bG9va3VwX2F0X21zID0gMDsK KyAgICAgICAgIGJwLT5xdWV1ZSA9IFZFQ1RPUl9DQVBBQ0lUWV9JTklUSUFMSVpFUihzdHJ1Y3Qg YnBfcGFja2V0X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQlVGRkVSX1FVRVVFX0RFUFRIKTsKKysgICAgICAgIGNtYXBfaW5zZXJ0KGJwX21h cCwgJmJwLT5jbWFwX25vZGUsIGhhc2gpOworICAgICB9CisgCisgICAgIGJwLT5leHBpcmVfYXRf bXMgPSB0aW1lX21zZWMoKSArIEJVRkZFUkVEX1BBQ0tFVFNfVElNRU9VVF9NUzsKK0BAIC02MDUs MjUgKzYwNCwyOCBAQCBidWZmZXJlZF9wYWNrZXRzX3BhY2tldF9kYXRhX2VucXVldWUoc3RydWN0 IGJ1ZmZlcmVkX3BhY2tldHMgKmJwLAorICAgICB2ZWN0b3JfcHVzaCgmYnAtPnF1ZXVlLCAmcGQp OworIH0KKyAKKy12b2lkCistYnVmZmVyZWRfcGFja2V0c19jdHhfcnVuKHN0cnVjdCBidWZmZXJl ZF9wYWNrZXRzX2N0eCAqY3R4LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgaG1hcCAqcmVjZW50X21icywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92 c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlfa2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJlY19kcF9ieV9rZXksCistICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX3BiX2J5X25hbWUsCist ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX21i X2J5X2xwb3J0X2lwKSB7CisrYm9vbAorK2J1ZmZlcmVkX3BhY2tldHNfbG9va3VwX3J1bihzdHJ1 Y3QgY21hcCAqYnBfbWFwLCBjb25zdCBzdHJ1Y3QgaG1hcCAqcmVjZW50X21icywKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlf a2V5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4 ICpzYnJlY19kcF9ieV9rZXksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBv dnNkYl9pZGxfaW5kZXggKnNicmVjX3BiX2J5X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX21iX2J5X2xwb3J0X2lwKSB7Cisg ICAgIHN0cnVjdCBkcyBpcCA9IERTX0VNUFRZX0lOSVRJQUxJWkVSOworICAgICBsb25nIGxvbmcg bm93ID0gdGltZV9tc2VjKCk7CisrICAgIGJvb2wgdXBkYXRlZCA9IGZhbHNlOworIAorICAgICBz dHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnA7CistICAgIEhNQVBfRk9SX0VBQ0hfU0FGRSAoYnAs IGhtYXBfbm9kZSwgJmN0eC0+YnVmZmVyZWRfcGFja2V0cykgeworLSAgICAgICAgc3RydWN0IGV0 aF9hZGRyIG1hYyA9IGV0aF9hZGRyX3plcm87CistICAgICAgICAvKiBSZW1vdmUgZXhwaXJlZCBi dWZmZXJlZCBwYWNrZXRzLiAqLworLSAgICAgICAgaWYgKG5vdyA+IGJwLT5leHBpcmVfYXRfbXMp IHsKKy0gICAgICAgICAgICBidWZmZXJlZF9wYWNrZXRzX3JlbW92ZShjdHgsIGJwKTsKKysgICAg Q01BUF9GT1JfRUFDSCAoYnAsIGNtYXBfbm9kZSwgYnBfbWFwKSB7CisrICAgICAgICB1aW50NjRf dCBtYWM2NDsKKysgICAgICAgIGF0b21pY19yZWFkKCZicC0+cmVzb2x2ZWRfbWFjLCAmbWFjNjQp OworKyAgICAgICAgLyogTUFDIGZvciBnaXZlbiBlbnRyeSB3YXMgYWxyZWFkeSByZXNvbHZlZCwK KysgICAgICAgICAqIG5vIG5lZWQgdG8gcmVzb2x2ZSBpdCBhZ2Fpbi4gKi8KKysgICAgICAgIGlm IChtYWM2NCkgeworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorIAorKyAgICAg ICAgc3RydWN0IGV0aF9hZGRyIG1hYyA9IGV0aF9hZGRyX3plcm87CisrCisgICAgICAgICBzdHJ1 Y3QgbWFjX2JpbmRpbmcgKm1iID0gbWFjX2JpbmRpbmdfZmluZChyZWNlbnRfbWJzLCAmYnAtPm1i X2RhdGEpOworICAgICAgICAgaWYgKG1iKSB7CisgICAgICAgICAgICAgbWFjID0gbWItPmRhdGEu bWFjOworQEAgLTYzNCwxMyArNjM2LDQ2IEBAIGJ1ZmZlcmVkX3BhY2tldHNfY3R4X3J1bihzdHJ1 Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzYnJlY19tYl9ieV9scG9ydF9pcCk7CisgICAgICAgICAgICAgLyogU2No ZWR1bGUgbmV4dCBsb29rdXAgZXZlbiBpZiB3ZSBmb3VuZCB0aGUgTUFDIGFkZHJlc3MsCisgICAg ICAgICAgICAgICogaWYgdGhlIGFkZHJlc3Mgd2FzIGZvdW5kIHRoaXMgc3RydWN0IHdpbGwgYmUg ZGVsZXRlZCBhbnl3YXkuICovCisrCisgICAgICAgICAgICAgYnAtPmxvb2t1cF9hdF9tcyA9IG5v dyArIEJVRkZFUkVEX1BBQ0tFVFNfTE9PS1VQX01TOworICAgICAgICAgfQorIAorLSAgICAgICAg aWYgKGV0aF9hZGRyX2lzX3plcm8obWFjKSkgeworKyAgICAgICAgaWYgKCFldGhfYWRkcl9pc196 ZXJvKG1hYykpIHsKKysgICAgICAgICAgICBhdG9taWNfc3RvcmUoJmJwLT5yZXNvbHZlZF9tYWMs IGV0aF9hZGRyX3RvX3VpbnQ2NChtYWMpKTsKKysgICAgICAgICAgICB1cGRhdGVkID0gdHJ1ZTsK KysgICAgICAgIH0KKysgICAgfQorKworKyAgICBkc19kZXN0cm95KCZpcCk7CisrCisrICAgIHJl dHVybiB1cGRhdGVkOworK30KKysKKyt2b2lkCisrYnVmZmVyZWRfcGFja2V0c19ydW4oc3RydWN0 IGNtYXAgKmJwX21hcCwgc3RydWN0IHZlY3RvciAqcnBkKQorK3sKKysgICAgbG9uZyBsb25nIG5v dyA9IHRpbWVfbXNlYygpOworKworKyAgICBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnA7Cisr ICAgIENNQVBfRk9SX0VBQ0ggKGJwLCBjbWFwX25vZGUsIGJwX21hcCkgeworKyAgICAgICAgdWlu dDMyX3QgaGFzaCA9IG1hY19iaW5kaW5nX2RhdGFfaGFzaCgmYnAtPm1iX2RhdGEpOworKworKyAg ICAgICAgLyogUmVtb3ZlIGV4cGlyZWQgYnVmZmVyZWQgcGFja2V0cy4gKi8KKysgICAgICAgIGlm IChub3cgPiBicC0+ZXhwaXJlX2F0X21zKSB7CisrICAgICAgICAgICAgY21hcF9yZW1vdmUoYnBf bWFwLCAmYnAtPmNtYXBfbm9kZSwgaGFzaCk7CisrICAgICAgICAgICAgb3ZzcmN1X3Bvc3Rwb25l KGJ1ZmZlcmVkX3BhY2tldHNfZnJlZSwgYnApOworKyAgICAgICAgICAgIGNvbnRpbnVlOworKyAg ICAgICAgfQorKworKyAgICAgICAgdWludDY0X3QgbWFjNjQ7CisrICAgICAgICBhdG9taWNfcmVh ZCgmYnAtPnJlc29sdmVkX21hYywgJm1hYzY0KTsKKysgICAgICAgIGlmICghbWFjNjQpIHsKKyAg ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIH0KKyAKKysgICAgICAgIHN0cnVjdCBldGhf YWRkciBtYWM7CisrICAgICAgICBldGhfYWRkcl9mcm9tX3VpbnQ2NChtYWM2NCwgJm1hYyk7Cisr CisgICAgICAgICBzdHJ1Y3QgYnBfcGFja2V0X2RhdGEgKnBkOworICAgICAgICAgVkVDVE9SX0ZP Ul9FQUNIX1BUUiAoJmJwLT5xdWV1ZSwgcGQpIHsKKyAgICAgICAgICAgICBzdHJ1Y3QgZHBfcGFj a2V0IHBhY2tldDsKK0BAIC02NTAsNDUgKzY4NSwyNSBAQCBidWZmZXJlZF9wYWNrZXRzX2N0eF9y dW4oc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCisgICAgICAgICAgICAgZXRoLT5l dGhfZHN0ID0gbWFjOworICAgICAgICAgfQorIAorLSAgICAgICAgdmVjdG9yX3B1c2hfYXJyYXko JmN0eC0+cmVhZHlfcGFja2V0c19kYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj dG9yX2dldF9hcnJheSgmYnAtPnF1ZXVlKSwKKysgICAgICAgIHZlY3Rvcl9wdXNoX2FycmF5KHJw ZCwgdmVjdG9yX2dldF9hcnJheSgmYnAtPnF1ZXVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZlY3Rvcl9sZW4oJmJwLT5xdWV1ZSkpOworICAgICAgICAgdmVjdG9yX2NsZWFyKCZicC0+ cXVldWUpOworLSAgICAgICAgYnVmZmVyZWRfcGFja2V0c19yZW1vdmUoY3R4LCBicCk7CistICAg IH0KKy0KKy0gICAgZHNfZGVzdHJveSgmaXApOworLX0KKy0KKy1ib29sCistYnVmZmVyZWRfcGFj a2V0c19jdHhfaXNfcmVhZHlfdG9fc2VuZChzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0 eCkgeworLSAgICByZXR1cm4gIXZlY3Rvcl9pc19lbXB0eSgmY3R4LT5yZWFkeV9wYWNrZXRzX2Rh dGEpOworLX0KKy0KKy1ib29sCistYnVmZmVyZWRfcGFja2V0c19jdHhfaGFzX3BhY2tldHMoc3Ry dWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgpIHsKKy0gICAgcmV0dXJuICFobWFwX2lzX2Vt cHR5KCZjdHgtPmJ1ZmZlcmVkX3BhY2tldHMpOworLX0KKyAKKy12b2lkCistYnVmZmVyZWRfcGFj a2V0c19jdHhfaW5pdChzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0eCkgeworLSAgICBj dHgtPnJlYWR5X3BhY2tldHNfZGF0YSA9IFZFQ1RPUl9FTVBUWV9JTklUSUFMSVpFUihzdHJ1Y3Qg YnBfcGFja2V0X2RhdGEpOworLSAgICBobWFwX2luaXQoJmN0eC0+YnVmZmVyZWRfcGFja2V0cyk7 CisrICAgICAgICBjbWFwX3JlbW92ZShicF9tYXAsICZicC0+Y21hcF9ub2RlLCBoYXNoKTsKKysg ICAgICAgIG92c3JjdV9wb3N0cG9uZShidWZmZXJlZF9wYWNrZXRzX2ZyZWUsIGJwKTsKKysgICAg fQorIH0KKyAKKyB2b2lkCistYnVmZmVyZWRfcGFja2V0c19jdHhfZGVzdHJveShzdHJ1Y3QgYnVm ZmVyZWRfcGFja2V0c19jdHggKmN0eCkgeworLSAgICBzdHJ1Y3QgYnBfcGFja2V0X2RhdGEgKnBk OworLSAgICBWRUNUT1JfRk9SX0VBQ0hfUFRSICgmY3R4LT5yZWFkeV9wYWNrZXRzX2RhdGEsIHBk KSB7CistICAgICAgICBicF9wYWNrZXRfZGF0YV9kZXN0cm95KHBkKTsKKy0gICAgfQorLSAgICB2 ZWN0b3JfZGVzdHJveSgmY3R4LT5yZWFkeV9wYWNrZXRzX2RhdGEpOworLQorK2J1ZmZlcmVkX3Bh Y2tldHNfbWFwX2Rlc3Ryb3koc3RydWN0IGNtYXAgKmJwX21hcCkgeworICAgICBzdHJ1Y3QgYnVm ZmVyZWRfcGFja2V0cyAqYnA7CistICAgIEhNQVBfRk9SX0VBQ0hfU0FGRSAoYnAsIGhtYXBfbm9k ZSwgJmN0eC0+YnVmZmVyZWRfcGFja2V0cykgeworLSAgICAgICAgYnVmZmVyZWRfcGFja2V0c19y ZW1vdmUoY3R4LCBicCk7CisrICAgIENNQVBfRk9SX0VBQ0ggKGJwLCBjbWFwX25vZGUsIGJwX21h cCkgeworKyAgICAgICAgY21hcF9yZW1vdmUoYnBfbWFwLCAmYnAtPmNtYXBfbm9kZSwKKysgICAg ICAgICAgICAgICAgICAgIG1hY19iaW5kaW5nX2RhdGFfaGFzaCgmYnAtPm1iX2RhdGEpKTsKKysg ICAgICAgIG92c3JjdV9wb3N0cG9uZShidWZmZXJlZF9wYWNrZXRzX2ZyZWUsIGJwKTsKKyAgICAg fQorLSAgICBobWFwX2Rlc3Ryb3koJmN0eC0+YnVmZmVyZWRfcGFja2V0cyk7CisrCisrICAgIGNt YXBfZGVzdHJveShicF9tYXApOworIH0KKyAKKyBzdGF0aWMgdWludDMyX3QKK0BAIC03NzEsMTIg Kzc4NiwxMiBAQCBtYWNfY2FjaGVfdXBkYXRlX3JlcV9kZWxheShzdHJ1Y3QgaG1hcCAqdGhyZXNo b2xkcywgdWludDY0X3QgKnJlcV9kZWxheSkKKyB9CisgCisgc3RhdGljIHN0cnVjdCBidWZmZXJl ZF9wYWNrZXRzICoKKy1idWZmZXJlZF9wYWNrZXRzX2ZpbmQoc3RydWN0IGJ1ZmZlcmVkX3BhY2tl dHNfY3R4ICpjdHgsCisrYnVmZmVyZWRfcGFja2V0c19maW5kKHN0cnVjdCBjbWFwICpicF9tYXAs CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNfYmluZGluZ19kYXRhICpt Yl9kYXRhKSB7CisgICAgIHVpbnQzMl90IGhhc2ggPSBtYWNfYmluZGluZ19kYXRhX2hhc2gobWJf ZGF0YSk7CisgCisgICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicDsKKy0gICAgSE1BUF9G T1JfRUFDSF9XSVRIX0hBU0ggKGJwLCBobWFwX25vZGUsIGhhc2gsICZjdHgtPmJ1ZmZlcmVkX3Bh Y2tldHMpIHsKKysgICAgQ01BUF9GT1JfRUFDSF9XSVRIX0hBU0ggKGJwLCBjbWFwX25vZGUsIGhh c2gsIGJwX21hcCkgeworICAgICAgICAgaWYgKG1hY19iaW5kaW5nX2RhdGFfZXF1YWxzKCZicC0+ bWJfZGF0YSwgbWJfZGF0YSkpIHsKKyAgICAgICAgICAgICByZXR1cm4gYnA7CisgICAgICAgICB9 CitAQCAtNzg2LDE0ICs4MDEsMTIgQEAgYnVmZmVyZWRfcGFja2V0c19maW5kKHN0cnVjdCBidWZm ZXJlZF9wYWNrZXRzX2N0eCAqY3R4LAorIH0KKyAKKyBzdGF0aWMgdm9pZAorLWJ1ZmZlcmVkX3Bh Y2tldHNfcmVtb3ZlKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4LAorLSAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicCkgeworK2J1ZmZlcmVk X3BhY2tldHNfZnJlZShzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnApIHsKKyAgICAgc3RydWN0 IGJwX3BhY2tldF9kYXRhICpwZDsKKyAgICAgVkVDVE9SX0ZPUl9FQUNIX1BUUiAoJmJwLT5xdWV1 ZSwgcGQpIHsKKyAgICAgICAgIGJwX3BhY2tldF9kYXRhX2Rlc3Ryb3kocGQpOworICAgICB9Cisg CistICAgIGhtYXBfcmVtb3ZlKCZjdHgtPmJ1ZmZlcmVkX3BhY2tldHMsICZicC0+aG1hcF9ub2Rl KTsKKyAgICAgdmVjdG9yX2Rlc3Ryb3koJmJwLT5xdWV1ZSk7CisgICAgIGZyZWUoYnApOworIH0K K0BAIC05MjAsMTMgKzkzMywyOSBAQCBtYWNfYmluZGluZ19wcm9iZV9zdGF0c19ydW4oc3RydWN0 IHZlY3RvciAqc3RhdHNfdmVjLCB1aW50NjRfdCAqcmVxX2RlbGF5LAorICAgICAgICAgICAgIGNv bnRpbnVlOworICAgICAgICAgfQorIAorLSAgICAgICAgYm9vbCBpc19tYl92NCA9IElONl9JU19B RERSX1Y0TUFQUEVEKCZtYi0+ZGF0YS5pcCk7CistICAgICAgICBpZiAoKGlzX21iX3Y0ICYmIGxh ZGRyLm5faXB2NF9hZGRycykKKy0gICAgICAgICAgICAgICAgfHwgKCFpc19tYl92NCAmJiBsYWRk ci5uX2lwdjZfYWRkcnMpKSB7CistICAgICAgICAgICAgc3RydWN0IGluNl9hZGRyIGxvY2FsID0K Ky0gICAgICAgICAgICAgICAgaXNfbWJfdjQgPyBpbjZfYWRkcl9tYXBwZWRfaXB2NChsYWRkci5p cHY0X2FkZHJzWzBdLmFkZHIpCistICAgICAgICAgICAgICAgICAgICAgICAgIDogbGFkZHIuaXB2 Nl9hZGRyc1swXS5hZGRyOworKyAgICAgICAgc3RydWN0IGluNl9hZGRyIGxvY2FsID0gaW42YWRk cl9hbnk7CisrICAgICAgICBpZiAoSU42X0lTX0FERFJfVjRNQVBQRUQoJm1iLT5kYXRhLmlwKSkg eworKyAgICAgICAgICAgIG92c19iZTMyIGlwNCA9IGluNl9hZGRyX2dldF9tYXBwZWRfaXB2NCgm bWItPmRhdGEuaXApOworKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGFkZHIu bl9pcHY0X2FkZHJzOyBpKyspIHsKKysgICAgICAgICAgICAgICAgc3RydWN0IGlwdjRfbmV0YWRk ciBhZGRyZXNzID0gbGFkZHIuaXB2NF9hZGRyc1tpXTsKKysgICAgICAgICAgICAgICAgaWYgKGFk ZHJlc3MubmV0d29yayA9PSAoaXA0ICYgYWRkcmVzcy5tYXNrKSkgeworKyAgICAgICAgICAgICAg ICAgICAgbG9jYWwgPSBpbjZfYWRkcl9tYXBwZWRfaXB2NChhZGRyZXNzLmFkZHIpOworKyAgICAg ICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9 CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg bGFkZHIubl9pcHY2X2FkZHJzOyBpKyspIHsKKysgICAgICAgICAgICAgICAgc3RydWN0IGlwdjZf bmV0YWRkciBhZGRyZXNzID0gbGFkZHIuaXB2Nl9hZGRyc1tpXTsKKysgICAgICAgICAgICAgICAg c3RydWN0IGluNl9hZGRyIG5laWdoX3ByZWZpeCA9CisrICAgICAgICAgICAgICAgICAgICBpcHY2 X2FkZHJfYml0YW5kKCZtYi0+ZGF0YS5pcCwgJmFkZHJlc3MubWFzayk7CisrICAgICAgICAgICAg ICAgIGlmIChpcHY2X2FkZHJfZXF1YWxzKCZhZGRyZXNzLm5ldHdvcmssICZuZWlnaF9wcmVmaXgp KSB7CisrICAgICAgICAgICAgICAgICAgICBsb2NhbCA9IGFkZHJlc3MuYWRkcjsKKysgICAgICAg ICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgfQor KyAgICAgICAgfQorIAorKyAgICAgICAgaWYgKCFpcHY2X2FkZHJfZXF1YWxzKCZsb2NhbCwgJmlu NmFkZHJfYW55KSkgeworICAgICAgICAgICAgIG1hY19iaW5kaW5nX3VwZGF0ZV9sb2coIlNlbmRp bmcgQVJQL05EIHJlcXVlc3QgZm9yIGFjdGl2ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmbWItPmRhdGEsIHRydWUsIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0YXRzLT5pZGxlX2FnZV9tcywgc2luY2VfdXBkYXRlZF9tcyk7 CitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9tYWMtY2FjaGUuaCBiL2NvbnRyb2xsZXIvbWFjLWNh Y2hlLmgKK2luZGV4IDdlZGIxMjlkNzUuLjM2NTIxOWQzMzQgMTAwNjQ0CistLS0gYS9jb250cm9s bGVyL21hYy1jYWNoZS5oCisrKysgYi9jb250cm9sbGVyL21hYy1jYWNoZS5oCitAQCAtMTgsOSAr MTgsOSBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSAiY21hcC5oIgor ICNpbmNsdWRlICJkcC1wYWNrZXQuaCIKKyAjaW5jbHVkZSAib3BlbnZzd2l0Y2gvaG1hcC5oIgor LSNpbmNsdWRlICJvcGVudnN3aXRjaC9obWFwLmgiCisgI2luY2x1ZGUgIm9wZW52c3dpdGNoL2xp c3QuaCIKKyAjaW5jbHVkZSAib3BlbnZzd2l0Y2gvb2ZwYnVmLmgiCisgI2luY2x1ZGUgIm9wZW52 c3dpdGNoL29mcC1mbG93LmgiCitAQCAtMTE1LDI1ICsxMTUsMjUgQEAgc3RydWN0IGJwX3BhY2tl dF9kYXRhIHsKKyB9OworIAorIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzIHsKKy0gICAgc3RydWN0 IGhtYXBfbm9kZSBobWFwX25vZGU7CisrICAgIHN0cnVjdCBjbWFwX25vZGUgY21hcF9ub2RlOwor IAorLSAgICBzdHJ1Y3QgbWFjX2JpbmRpbmdfZGF0YSBtYl9kYXRhOworKyAgICBzdHJ1Y3QgbWFj X2JpbmRpbmdfZGF0YSBtYl9kYXRhOyAgLyogSW1tdXRhYmxlIGFmdGVyIGluc2VydC4gKi8KKyAK Ky0gICAgLyogUXVldWUgb2YgcGFja2V0X2RhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RydWN0 LiAqLworKyAgICAvKiBRdWV1ZSBvZiBwYWNrZXRfZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBz dHJ1Y3QuCisrICAgICAqIEhhbmRsZXIgdGhyZWFkIG9ubHkuICovCisgICAgIHN0cnVjdCB2ZWN0 b3IgcXVldWU7CisgCistICAgIC8qIFRpbWVzdGFtcCBpbiBtcyB3aGVuIHRoZSBidWZmZXJlZCBw YWNrZXQgc2hvdWxkIGV4cGlyZS4gKi8KKysgICAgLyogVGltZXN0YW1wIGluIG1zIHdoZW4gdGhl IGJ1ZmZlcmVkIHBhY2tldCBzaG91bGQgZXhwaXJlLgorKyAgICAgKiBIYW5kbGVyIHRocmVhZCBv bmx5LiAqLworICAgICBsb25nIGxvbmcgaW50IGV4cGlyZV9hdF9tczsKKyAKKy0gICAgLyogVGlt ZXN0YW1wIGluIG1zIHdoZW4gdGhlIGJ1ZmZlcmVkIHBhY2tldCBzaG91bGQgZG8gZnVsbCBTQiBs b29rdXAuKi8KKy0gICAgbG9uZyBsb25nIGludCBsb29rdXBfYXRfbXM7CistfTsKKysgICAgLyog UmVzb2x2ZWQgTUFDIGFkZHJlc3MgcGFja2VkIGFzIHVpbnQ2NC4gMCBtZWFucyB1bnJlc29sdmVk LgorKyAgICAgKiBXcml0dGVuIGJ5IG1haW4gdGhyZWFkLCByZWFkIGJ5IGhhbmRsZXIgdGhyZWFk LiAqLworKyAgICBhdG9taWNfdWludDY0X3QgcmVzb2x2ZWRfbWFjOworIAorLXN0cnVjdCBidWZm ZXJlZF9wYWNrZXRzX2N0eCB7CistICAgIC8qIE1hcCBvZiBhbGwgYnVmZmVyZWQgcGFja2V0cyB3 YWl0aW5nIGZvciB0aGUgTUFDIGFkZHJlc3MuICovCistICAgIHN0cnVjdCBobWFwIGJ1ZmZlcmVk X3BhY2tldHM7CistICAgIC8qIExpc3Qgb2YgcGFja2V0IGRhdGEgdGhhdCBhcmUgcmVhZHkgdG8g YmUgc2VudC4gKi8KKy0gICAgc3RydWN0IHZlY3RvciByZWFkeV9wYWNrZXRzX2RhdGE7CisrICAg IC8qIFRpbWVzdGFtcCBpbiBtcyB3aGVuIHRoZSBidWZmZXJlZCBwYWNrZXQgc2hvdWxkIGRvIGZ1 bGwgU0IgbG9va3VwLgorKyAgICAgKiBNYWluIHRocmVhZCBvbmx5LiAqLworKyAgICBsb25nIGxv bmcgaW50IGxvb2t1cF9hdF9tczsKKyB9OworIAorIC8qIFRocmVzaG9sZHMuICovCitAQCAtMjEx LDI3ICsyMTEsMjMgQEAgdm9pZCBmZGJfc3RhdHNfcnVuKHN0cnVjdCB2ZWN0b3IgKnN0YXRzX3Zl YywgdWludDY0X3QgKnJlcV9kZWxheSwgdm9pZCAqZGF0YSk7Cisgdm9pZCBicF9wYWNrZXRfZGF0 YV9kZXN0cm95KHN0cnVjdCBicF9wYWNrZXRfZGF0YSAqcGQpOworIAorIHN0cnVjdCBidWZmZXJl ZF9wYWNrZXRzICoKKy1idWZmZXJlZF9wYWNrZXRzX2FkZChzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0 c19jdHggKmN0eCwKKytidWZmZXJlZF9wYWNrZXRzX2FkZChzdHJ1Y3QgY21hcCAqYnBfbWFwLAor ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtYWNfYmluZGluZ19kYXRhIG1iX2RhdGEpOwor IAorIHZvaWQgYnVmZmVyZWRfcGFja2V0c19wYWNrZXRfZGF0YV9lbnF1ZXVlKHN0cnVjdCBidWZm ZXJlZF9wYWNrZXRzICpicCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3Qgb2ZwdXRpbF9wYWNrZXRfaW4gKnBpbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgb2ZwYnVmICpjb250aW51 YXRpb24pOworIAorLXZvaWQgYnVmZmVyZWRfcGFja2V0c19jdHhfcnVuKHN0cnVjdCBidWZmZXJl ZF9wYWNrZXRzX2N0eCAqY3R4LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBobWFwICpyZWNlbnRfbWJzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX3BiX2J5X2tleSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJlY19kcF9ieV9rZXks CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAq c2JyZWNfcGJfYnlfbmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg b3ZzZGJfaWRsX2luZGV4ICpzYnJlY19tYl9ieV9scG9ydF9pcCk7CistCistdm9pZCBidWZmZXJl ZF9wYWNrZXRzX2N0eF9pbml0KHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4KTsKKy0K Ky12b2lkIGJ1ZmZlcmVkX3BhY2tldHNfY3R4X2Rlc3Ryb3koc3RydWN0IGJ1ZmZlcmVkX3BhY2tl dHNfY3R4ICpjdHgpOworK2Jvb2wgYnVmZmVyZWRfcGFja2V0c19sb29rdXBfcnVuKHN0cnVjdCBj bWFwICpicF9tYXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGhtYXAgKnJlY2VudF9tYnMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlfa2V5LAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX2RwX2J5X2tl eSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2lu ZGV4ICpzYnJlY19wYl9ieV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX21iX2J5X2xwb3J0X2lwKTsKKyAKKy1ib29s IGJ1ZmZlcmVkX3BhY2tldHNfY3R4X2lzX3JlYWR5X3RvX3NlbmQoc3RydWN0IGJ1ZmZlcmVkX3Bh Y2tldHNfY3R4ICpjdHgpOworK3ZvaWQgYnVmZmVyZWRfcGFja2V0c19ydW4oc3RydWN0IGNtYXAg KmJwX21hcCwgc3RydWN0IHZlY3RvciAqcnBkKTsKKyAKKy1ib29sIGJ1ZmZlcmVkX3BhY2tldHNf Y3R4X2hhc19wYWNrZXRzKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4KTsKKyt2b2lk IGJ1ZmZlcmVkX3BhY2tldHNfbWFwX2Rlc3Ryb3koc3RydWN0IGNtYXAgKmJwX21hcCk7CisgCisg dm9pZCBtYWNfYmluZGluZ19wcm9iZV9zdGF0c19wcm9jZXNzX2Zsb3dfc3RhdHMoCisgICAgICAg ICBzdHJ1Y3QgdmVjdG9yICpzdGF0c192ZWMsCitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9vdm4t Y29udHJvbGxlci44LnhtbCBiL2NvbnRyb2xsZXIvb3ZuLWNvbnRyb2xsZXIuOC54bWwKK2luZGV4 IDMzMjgxYTRkNjYuLjU3ZTdjZjVkZDIgMTAwNjQ0CistLS0gYS9jb250cm9sbGVyL292bi1jb250 cm9sbGVyLjgueG1sCisrKysgYi9jb250cm9sbGVyL292bi1jb250cm9sbGVyLjgueG1sCitAQCAt NTMxLDE3ICs1MzEsNiBAQAorICAgICAgICAgNjU1MzUuCisgICAgICAgPC9kZD4KKyAKKy0gICAg ICA8ZHQ+CistICAgICAgICA8Y29kZT5leHRlcm5hbF9pZHM6b3ZuLW1hbmFnZWQtZmxvdy1yZXN0 b3JlLXdhaXQ8L2NvZGU+IGluIHRoZQorLSAgICAgICAgPGNvZGU+T3Blbl92U3dpdGNoPC9jb2Rl PiB0YWJsZQorLSAgICAgIDwvZHQ+CistICAgICAgPGRkPgorLSAgICAgICAgV2hlbiBzZXQgdG8g dHJ1ZSwgdGhpcyBrZXkgaW5kaWNhdGVzIHRoYXQgPGNvZGU+b3ZuLWNvbnRyb2xsZXI8L2NvZGU+ CistICAgICAgICBoYXMgc2V0IHRoZSA8Y29kZT5vdGhlcl9jb25maWc6Zmxvdy1yZXN0b3JlLXdh aXQ8L2NvZGU+IG9wdGlvbi4KKy0gICAgICAgIFRoZSBrZXkgaXMgc2V0IHdoZW4gPGNvZGU+b3Zu LWNvbnRyb2xsZXI8L2NvZGU+IGVuYWJsZXMKKy0gICAgICAgIGZsb3ctcmVzdG9yZS13YWl0IGFu ZCByZW1vdmVkIHdoZW4gaXQgY2xlYXJzIGl0LgorLSAgICAgIDwvZGQ+CistCisgICAgICAgPGR0 PgorICAgICAgICAgPGNvZGU+ZXh0ZXJuYWxfaWRzOmN0LXpvbmUtKjwvY29kZT4gaW4gdGhlIDxj b2RlPkJyaWRnZTwvY29kZT4gdGFibGUKKyAgICAgICA8L2R0PgorZGlmZiAtLWdpdCBhL2NvbnRy b2xsZXIvb3ZuLWNvbnRyb2xsZXIuYyBiL2NvbnRyb2xsZXIvb3ZuLWNvbnRyb2xsZXIuYworaW5k ZXggZGNmNjdkNzg5Yy4uY2RkZTE1Nzc2MSAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIvb3ZuLWNv bnRyb2xsZXIuYworKysrIGIvY29udHJvbGxlci9vdm4tY29udHJvbGxlci5jCitAQCAtMjExLDE1 MiArMjExLDYgQEAgc3RhdGljIGNoYXIgKmdldF9maWxlX3N5c3RlbV9pZCh2b2lkKQorICAgICBm cmVlKGZpbGVuYW1lKTsKKyAgICAgcmV0dXJuIHJldDsKKyB9CistCistLyogU2V0L3Vuc2V0IGZs b3ctcmVzdG9yZS13YWl0LCBhbmQgaW5jIG92cyBuZXh0X2NmZyBpZiBmYWxzZQorLSAqIFdoZW4g c2V0IHRvIHRydWUsIGFsc28gc2V0cyBvdm4tbWFuYWdlZC1mbG93LXJlc3RvcmUtd2FpdCB0byB0 cnVlIHRvCistICogaW5kaWNhdGUgb3duZXJzaGlwICovCistc3RhdGljIHZvaWQKKy1zZXRfZmxv d19yZXN0b3JlX3dhaXQoc3RydWN0IG92c2RiX2lkbF90eG4gKm92c19pZGxfdHhuLAorLSAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgb3ZzcmVjX29wZW5fdnN3aXRjaCAqY2ZnLAor LSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc21hcCAqb3RoZXJfY29uZmlnLAor LSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sIHZhbCwgYm9vbCBvdm5fbWFuYWdlZCkK Ky17CistICAgIHN0cnVjdCBzbWFwIG5ld19jb25maWc7CistICAgIHNtYXBfY2xvbmUoJm5ld19j b25maWcsIG90aGVyX2NvbmZpZyk7CistICAgIHNtYXBfcmVwbGFjZSgmbmV3X2NvbmZpZywgImZs b3ctcmVzdG9yZS13YWl0IiwgdmFsID8gInRydWUiOiAiZmFsc2UiKTsKKy0gICAgb3ZzcmVjX29w ZW5fdnN3aXRjaF9zZXRfb3RoZXJfY29uZmlnKGNmZywgJm5ld19jb25maWcpOworLSAgICBpZiAo dmFsKSB7CistICAgICAgICBvdnNyZWNfb3Blbl92c3dpdGNoX3VwZGF0ZV9leHRlcm5hbF9pZHNf c2V0a2V5KAorLSAgICAgICAgICAgIGNmZywgIm92bi1tYW5hZ2VkLWZsb3ctcmVzdG9yZS13YWl0 IiwgInRydWUiKTsKKy0gICAgfSBlbHNlIGlmIChvdm5fbWFuYWdlZCkgeworLSAgICAgICAgb3Zz cmVjX29wZW5fdnN3aXRjaF91cGRhdGVfZXh0ZXJuYWxfaWRzX2RlbGtleSgKKy0gICAgICAgICAg ICBjZmcsICJvdm4tbWFuYWdlZC1mbG93LXJlc3RvcmUtd2FpdCIpOworLSAgICB9CistICAgIG92 c2RiX2lkbF90eG5faW5jcmVtZW50KG92c19pZGxfdHhuLCAmY2ZnLT5oZWFkZXJfLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmb3ZzcmVjX29wZW5fdnN3aXRjaF9jb2xfbmV4dF9jZmcs IHRydWUpOworLSAgICBzbWFwX2Rlc3Ryb3koJm5ld19jb25maWcpOworLX0KKy0KKy1zdGF0aWMg dm9pZAorLW1hbmFnZV9mbG93X3Jlc3RvcmVfd2FpdChzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3Zz X2lkbF90eG4sCistICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvdnNyZWNf b3Blbl92c3dpdGNoICpjZmcsCistICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG9m Y3RybF9jdXJfY2ZnLCB1aW50NjRfdCBvdnNfbmV4dF9jZmcsCistICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBvdnNfdHhuX3N0YXR1cywgYm9vbCBpc19oYV9ndykKKy17CistICAgIGVudW0g Zmxvd19yZXN0b3JlX3dhaXRfc3RhdGUgeworLSAgICAgICAgRlJXX0lOSVQsICAgICAgICAgICAg ICAvKiBJbml0aWFsIHN0YXRlICovCistICAgICAgICBGUldfV0FJVF9UWE5fQ09NUExFVEUsIC8q IFNlbnQgZmFsc2UsIHdhaXRpbmcgdHhuIHRvIGNvbXBsZXRlICovCistICAgICAgICBGUldfVFhO X1NVQ0NFU1MsICAgICAgIC8qIFR4biBjb21wbGV0ZWQuIFdhaXRpbmcgZm9yIE9WUyBBY2suICov CistICAgICAgICBGUldfRE9ORSAgICAgICAgICAgICAgIC8qIEV2ZXJ5dGhpbmcgY29tcGxldGVk ICovCistICAgIH07CistCistICAgIHN0YXRpYyBpbnQ2NF90IGZyd19uZXh0X2NmZzsKKy0gICAg c3RhdGljIGVudW0gZmxvd19yZXN0b3JlX3dhaXRfc3RhdGUgZnJ3X3N0YXRlOworLSAgICBzdGF0 aWMgYm9vbCBvZmN0cmxfd2FzX2Nvbm5lY3RlZCA9IGZhbHNlOworLQorLSAgICBib29sIG9mY3Ry bF9jb25uZWN0ZWQgPSBvZmN0cmxfaXNfY29ubmVjdGVkKCk7CistCistICAgIGlmICghb3ZzX2lk bF90eG4gfHwgIWNmZykgeworLSAgICAgICAgcmV0dXJuOworLSAgICB9CistCistICAgIC8qIElm IE9WUyBpcyBzdG9wcGVkL3N0YXJ0ZWQsIG1ha2Ugc3VyZSBmbG93LXJlc3RvcmUtd2FpdCBpcyB0 b2dnbGVkLiAqLworLSAgICBpZiAob2ZjdHJsX2Nvbm5lY3RlZCAmJiAhb2ZjdHJsX3dhc19jb25u ZWN0ZWQpIHsKKy0gICAgICAgIGZyd19zdGF0ZSA9IEZSV19JTklUOworLSAgICB9CistICAgIG9m Y3RybF93YXNfY29ubmVjdGVkID0gb2ZjdHJsX2Nvbm5lY3RlZDsKKy0KKy0gICAgaWYgKCFvZmN0 cmxfY29ubmVjdGVkKSB7CistICAgICAgICByZXR1cm47CistICAgIH0KKy0KKy0gICAgYm9vbCBm cncgPSBzbWFwX2dldF9ib29sKCZjZmctPm90aGVyX2NvbmZpZywgImZsb3ctcmVzdG9yZS13YWl0 IiwgZmFsc2UpOworLSAgICBib29sIG92bl9tYW5hZ2VkX29uY2UgPSBzbWFwX2dldF9ib29sKCZj ZmctPmV4dGVybmFsX2lkcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAib3ZuLW1hbmFnZWQtZmxvdy1yZXN0b3JlLXdhaXQiLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKKy0KKy0gICAgaWYgKGZydyAmJiAhb3Zu X21hbmFnZWRfb25jZSkgeworLSAgICAgICAgLyogZnJ3IGhhcyBiZWVuIHNldCBieSBvdnMtY3Rs LiBEbyBub3QgdG91Y2guICovCistICAgICAgICByZXR1cm47CistICAgIH0KKy0KKy0gICAgaWYg KCFpc19oYV9ndykgeworLSAgICAgICAgaWYgKGZydykgeworLSAgICAgICAgICAgIC8qIGZydyBo YXMgb25jZSBiZWVuIHNldCBieSBPVk4uIFdlIGFyZSBub3cgbm90IGFuIEhBIGNoYXNzaXMKKy0g ICAgICAgICAgICAgKiBhbnltb3JlLCB1bnNldCBpdC4gKi8KKy0gICAgICAgICAgICBzZXRfZmxv d19yZXN0b3JlX3dhaXQob3ZzX2lkbF90eG4sIGNmZywgJmNmZy0+b3RoZXJfY29uZmlnLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgb3ZuX21hbmFnZWRfb25jZSk7 CistICAgICAgICB9CistICAgICAgICAvKiBlbHNlIHdlIGFyZSBub3QgYW4gSEEgY2hhc3NpcyBh bmQgZnJ3IGlzIGZhbHNlLiBJZ25vcmUgaXQuICovCistICAgICAgICByZXR1cm47CistICAgIH0K Ky0KKy0gICAgc3dpdGNoIChmcndfc3RhdGUpIHsKKy0gICAgY2FzZSBGUldfSU5JVDoKKy0gICAg ICAgIGlmIChvZmN0cmxfY3VyX2NmZyA+IDApIHsKKy0gICAgICAgICAgICBzZXRfZmxvd19yZXN0 b3JlX3dhaXQob3ZzX2lkbF90eG4sIGNmZywgJmNmZy0+b3RoZXJfY29uZmlnLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgb3ZuX21hbmFnZWRfb25jZSk7CistICAg ICAgICAgICAgZnJ3X3N0YXRlID0gRlJXX1dBSVRfVFhOX0NPTVBMRVRFOworLSAgICAgICAgICAg IFZMT0dfSU5GTygiU2V0dGluZyBmbG93LXJlc3RvcmUtd2FpdD1mYWxzZSAiCistICAgICAgICAg ICAgICAgICAgICAgICIoY3VyX2NmZz0lIlBSSXU2NCIpIiwgb2ZjdHJsX2N1cl9jZmcpOworLSAg ICAgICAgfQorLSAgICAgICAgYnJlYWs7CistCistICAgIGNhc2UgRlJXX1dBSVRfVFhOX0NPTVBM RVRFOgorLSAgICAgICAgLyogaWYgKG92c19pZGxfdHhuICE9IE5VTEwpLCB0aGUgdHJhbnNhY3Rp b24gY29tcGxldGVkLgorLSAgICAgICAgICogV2hlbiB0aGUgdHJhbnNhY3Rpb24gY29tcGxldGVk LCBpdCBlaXRoZXIgZmFpbGVkCistICAgICAgICAgKiAob3ZzX3R4bl9zdGF0dXMgPT0gMCkgb3Ig c3VjY2VlZGVkIChvdnNfdHhuX3N0YXR1cyAhPSAwKS4gKi8KKy0gICAgICAgIGlmIChvdnNfdHhu X3N0YXR1cyA9PSAwKSB7CistICAgICAgICAgICAgLyogUHJldmlvdXMgdHJhbnNhY3Rpb24gZmFp bGVkLiAqLworLSAgICAgICAgICAgIHNldF9mbG93X3Jlc3RvcmVfd2FpdChvdnNfaWRsX3R4biwg Y2ZnLCAmY2ZnLT5vdGhlcl9jb25maWcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZhbHNlLCBvdm5fbWFuYWdlZF9vbmNlKTsKKy0gICAgICAgICAgICBicmVhazsKKy0gICAg ICAgIH0KKy0gICAgICAgIC8qIHR4biBzdWNjZWVkZWQsIGdldCBuZXh0X2NmZyAqLworLSAgICAg ICAgZnJ3X25leHRfY2ZnID0gb3ZzX25leHRfY2ZnOworLSAgICAgICAgZnJ3X3N0YXRlID0gRlJX X1RYTl9TVUNDRVNTOworLSAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCistCistICAgIGNhc2Ug RlJXX1RYTl9TVUNDRVNTOgorLSAgICAgICAgaWYgKG92c19uZXh0X2NmZyA8IGZyd19uZXh0X2Nm ZykgeworLSAgICAgICAgICAgIC8qIERCIHdhcyByZXNldCwgbmV4dF9jZmcgd2VudCBiYWNrd2Fy ZHMuICovCistICAgICAgICAgICAgVkxPR19JTkZPKCJPVlMgREIgcmVzZXQgKG5leHRfY2ZnICUi UFJJZDY0IiAtPiAlIlBSSXU2NCIpLCAiCistICAgICAgICAgICAgICAgICAgICAgICJyZXNldHRp bmcgc3RhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICBmcndfbmV4dF9jZmcsIG92c19uZXh0 X2NmZyk7CistICAgICAgICAgICAgc2V0X2Zsb3dfcmVzdG9yZV93YWl0KG92c19pZGxfdHhuLCBj ZmcsICZjZmctPm90aGVyX2NvbmZpZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmFsc2UsIG92bl9tYW5hZ2VkX29uY2UpOworLSAgICAgICAgICAgIGZyd19zdGF0ZSA9IEZS V19XQUlUX1RYTl9DT01QTEVURTsKKy0gICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0K Ky0gICAgICAgIGlmICghZnJ3KSB7CistICAgICAgICAgICAgaWYgKGNmZy0+Y3VyX2NmZyA+PSBm cndfbmV4dF9jZmcpIHsKKy0gICAgICAgICAgICAgICAgc2V0X2Zsb3dfcmVzdG9yZV93YWl0KG92 c19pZGxfdHhuLCBjZmcsICZjZmctPm90aGVyX2NvbmZpZywKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRydWUsIG92bl9tYW5hZ2VkX29uY2UpOworLSAgICAgICAgICAg ICAgICBmcndfc3RhdGUgPSBGUldfRE9ORTsKKy0gICAgICAgICAgICAgICAgVkxPR19JTkZPKCJT ZXR0aW5nIGZsb3ctcmVzdG9yZS13YWl0PXRydWUiKTsKKy0gICAgICAgICAgICB9CistICAgICAg ICB9IGVsc2UgeworLSAgICAgICAgICAgIC8qIFRoZSB0cmFuc2FjdGlvbiB0byBmYWxzZSBzdWNj ZWVkZWQgYnV0IGZydyBpcyB0cnVlLgorLSAgICAgICAgICAgICAqIFNvLCBhbm90aGVyIHRhc2sg YWxyZWFkeSBzZXQgaXQgdG8gdHJ1ZS4gKi8KKy0gICAgICAgICAgICBmcndfc3RhdGUgPSBGUldf RE9ORTsKKy0gICAgICAgICAgICBWTE9HX0lORk8oImZsb3ctcmVzdG9yZS13YWl0IHdhcyBhbHJl YWR5IHRydWUiKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGJyZWFrOworLSAgICBjYXNlIEZSV19E T05FOgorLSAgICAgICAgaWYgKCFmcncpIHsKKy0gICAgICAgICAgICAvKiBmcncgaGFzIGJlZW4g cmVtb3ZlZCAoZS5nLiBieSBvdnMtY3RsIHJlc3RhcnQpIG9yIGlzIGZhbHNlCistICAgICAgICAg ICAgICogKGUuZy4gdHhuIGZhaWxlZC4pICovCistICAgICAgICAgICAgc2V0X2Zsb3dfcmVzdG9y ZV93YWl0KG92c19pZGxfdHhuLCBjZmcsICZjZmctPm90aGVyX2NvbmZpZywKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIG92bl9tYW5hZ2VkX29uY2UpOworLSAgICAg ICAgICAgIGZyd19zdGF0ZSA9IEZSV19XQUlUX1RYTl9DT01QTEVURTsKKy0gICAgICAgICAgICBW TE9HX0lORk8oIk9WUyBmcncgY2xlYXJlZCwgcmVzdGFydGluZyBmbG93LXJlc3RvcmUtd2FpdCBz ZXF1ZW5jZSAiCistICAgICAgICAgICAgICAgICAgICAgICIoY3VyX2NmZz0lIlBSSXU2NCIpIiwg b2ZjdHJsX2N1cl9jZmcpOworLSAgICAgICAgfQorLSAgICAgICAgYnJlYWs7CistICAgIH0KKy19 CistCisgLyogT25seSBzZXQgbW9uaXRvciBjb25kaXRpb25zIG9uIHRhYmxlcyB0aGF0IGFyZSBh dmFpbGFibGUgaW4gdGhlCisgICogc2VydmVyIHNjaGVtYS4KKyAgKi8KK0BAIC0zNTI3LDcgKzMz ODEsNiBAQCBlbl9tYWNfY2FjaGVfY2xlYW51cCh2b2lkICpkYXRhKQorIAorIHN0cnVjdCBlZF90 eXBlX2JmZF9jaGFzc2lzIHsKKyAgICAgc3RydWN0IHNzZXQgYmZkX2NoYXNzaXM7CistICAgIGJv b2wgaXNfaGFfZ3c7CisgfTsKKyAKKyBzdGF0aWMgdm9pZCAqCitAQCAtMzU1Niw5ICszNDA5LDgg QEAgZW5fYmZkX2NoYXNzaXNfcnVuKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSwgdm9pZCAqZGF0 YSBPVlNfVU5VU0VEKQorICAgICAgICAgPSBjaGFzc2lzX2xvb2t1cF9ieV9uYW1lKHNicmVjX2No YXNzaXNfYnlfbmFtZSwgY2hhc3Npc19pZCk7CisgCisgICAgIHNzZXRfY2xlYXIoJmJmZF9jaGFz c2lzLT5iZmRfY2hhc3Npcyk7CistICAgIGJmZF9jaGFzc2lzLT5pc19oYV9ndyA9IGJmZF9jYWxj dWxhdGVfY2hhc3NpcyhjaGFzc2lzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaGFfY2hhc3Npc19ncnBfdGFibGUsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmZkX2NoYXNzaXMtPmJmZF9jaGFz c2lzKTsKKysgICAgYmZkX2NhbGN1bGF0ZV9jaGFzc2lzKGNoYXNzaXMsIGhhX2NoYXNzaXNfZ3Jw X3RhYmxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmJmZF9jaGFzc2lzLT5iZmRfY2hh c3Npcyk7CisgICAgIHJldHVybiBFTl9VUERBVEVEOworIH0KKyAKK0BAIC00OTMzLDEyICs0Nzg1 LDE0IEBAIHBmbG93X291dHB1dF9zYl9wb3J0X2JpbmRpbmdfaGFuZGxlcihzdHJ1Y3QgZW5naW5l X25vZGUgKm5vZGUsCisgICAgICAqLworICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNfcG9ydF9iaW5k aW5nICpwYjsKKyAgICAgU0JSRUNfUE9SVF9CSU5ESU5HX1RBQkxFX0ZPUl9FQUNIX1RSQUNLRUQg KHBiLCBwX2N0eC5wb3J0X2JpbmRpbmdfdGFibGUpIHsKKysgICAgICAgIGJvb2wgcmVtb3ZlZCA9 IHNicmVjX3BvcnRfYmluZGluZ19pc19kZWxldGVkKHBiKTsKKysKKyAgICAgICAgIC8qIFRyaWdn ZXIgYSBmdWxsIHJlY29tcHV0ZSBpZiB0eXBlIGNvbHVtbiBpcyB1cGRhdGVkLiAqLworLSAgICAg ICAgaWYgKHNicmVjX3BvcnRfYmluZGluZ19pc191cGRhdGVkKHBiLCBTQlJFQ19QT1JUX0JJTkRJ TkdfQ09MX1RZUEUpKSB7CisrICAgICAgICBpZiAoIXJlbW92ZWQgJiYgIXNicmVjX3BvcnRfYmlu ZGluZ19pc19uZXcocGIpICYmCisrICAgICAgICAgICAgc2JyZWNfcG9ydF9iaW5kaW5nX2lzX3Vw ZGF0ZWQocGIsIFNCUkVDX1BPUlRfQklORElOR19DT0xfVFlQRSkpIHsKKyAgICAgICAgICAgICBk ZXN0cm95X3BoeXNpY2FsX2N0eCgmcF9jdHgpOworICAgICAgICAgICAgIHJldHVybiBFTl9VTkhB TkRMRUQ7CisgICAgICAgICB9CistICAgICAgICBib29sIHJlbW92ZWQgPSBzYnJlY19wb3J0X2Jp bmRpbmdfaXNfZGVsZXRlZChwYik7CisgICAgICAgICBpZiAoIXBoeXNpY2FsX2hhbmRsZV9mbG93 c19mb3JfbHBvcnQocGIsIHJlbW92ZWQsICZwX2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmcGZvLT5mbG93X3RhYmxlKSkgeworICAgICAgICAgICAg IGRlc3Ryb3lfcGh5c2ljYWxfY3R4KCZwX2N0eCk7CitAQCAtNjM5Miw3ICs2MjQ2LDYgQEAgZW5f ZXZwbl92dGVwX2JpbmRpbmdfY2xlYXJfdHJhY2tlZF9kYXRhKHZvaWQgKmRhdGFfKQorICAgICBz dHJ1Y3QgZWRfdHlwZV9ldnBuX3Z0ZXBfYmluZGluZyAqZGF0YSA9IGRhdGFfOworICAgICBobWFw eF9jbGVhcigmZGF0YS0+dXBkYXRlZF9iaW5kaW5ncyk7CisgICAgIHV1aWRzZXRfY2xlYXIoJmRh dGEtPnJlbW92ZWRfYmluZGluZ3MpOworLSAgICBldnBuX2RhdGFwYXRoc19jbGVhcigmZGF0YS0+ ZGF0YXBhdGhzKTsKKyAgICAgaG1hcHhfY2xlYXIoJmRhdGEtPnVwZGF0ZWRfbXVsdGljYXN0X2dy b3Vwcyk7CisgICAgIHV1aWRzZXRfY2xlYXIoJmRhdGEtPnJlbW92ZWRfbXVsdGljYXN0X2dyb3Vw cyk7CisgfQorQEAgLTcyNjUsNyArNzExOCw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb XSkKKyAgICAgc3RydWN0IHVuaXhjdGxfc2VydmVyICp1bml4Y3RsOworICAgICBzdHJ1Y3Qgb3Zu X2V4aXRfYXJncyBleGl0X2FyZ3MgPSB7MH07CisgICAgIHN0cnVjdCBicl9pbnRfcmVtb3RlIGJy X2ludF9yZW1vdGUgPSB7MH07CistICAgIHN0YXRpYyB1aW50NjRfdCBuZXh0X2NmZyA9IDA7Cisg ICAgIGludCByZXR2YWw7CisgCisgICAgIC8qIFJlYWQgZnJvbSBzeXN0ZW0taWQtb3ZlcnJpZGUg ZmlsZSBvbmNlIG9uIHN0YXJ0dXAuICovCitAQCAtNzU5Myw3ICs3NDQ1LDYgQEAgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQorIAorICAgICAvKiBNYWluIGxvb3AuICovCisgICAgIGludCBv dm5zYl90eG5fc3RhdHVzID0gMTsKKy0gICAgaW50IG92c190eG5fc3RhdHVzID0gMTsKKyAgICAg Ym9vbCBzYl9tb25pdG9yX2FsbCA9IGZhbHNlOworICAgICBzdHJ1Y3QgdHJhY2tlZF9hY2xfaWRz ICp0cmFja2VkX2FjbF9pZHMgPSBOVUxMOworICAgICB3aGlsZSAoIWV4aXRfYXJncy5leGl0aW5n KSB7CitAQCAtNzY5NSwxMSArNzU0Niw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK KyAgICAgICAgIHBpbmN0cmxfdXBkYXRlX3N3Y29ubihicl9pbnRfcmVtb3RlLnRhcmdldCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicl9pbnRfcmVtb3RlLnByb2JlX2ludGVydmFs KTsKKyAKKy0gICAgICAgIGlmIChjZmcgJiYgb3ZzX2lkbF90eG4gJiYgb3ZzX3R4bl9zdGF0dXMg PT0gLTEpIHsKKy0gICAgICAgICAgICAvKiB0eG4gd2FzIGluIHByb2dyZXNzIGFuZCBpcyBub3cg Y29tcGxldGVkICovCistICAgICAgICAgICAgbmV4dF9jZmcgPSBjZmctPm5leHRfY2ZnOworLSAg ICAgICAgfQorLQorICAgICAgICAgLyogRW5hYmxlIEFDTCBtYXRjaGluZyBmb3IgZG91YmxlIHRh Z2dlZCB0cmFmZmljLiAqLworICAgICAgICAgaWYgKG92c19pZGxfdHhuICYmIGNmZykgeworICAg ICAgICAgICAgIGludCB2bGFuX2xpbWl0ID0gc21hcF9nZXRfaW50KAorQEAgLTc3MDgsNiArNzU1 NCwyNCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgICAgICAgICAgICAgIG92 c3JlY19vcGVuX3Zzd2l0Y2hfdXBkYXRlX290aGVyX2NvbmZpZ19zZXRrZXkoCisgICAgICAgICAg ICAgICAgICAgICBjZmcsICJ2bGFuLWxpbWl0IiwgIjAiKTsKKyAgICAgICAgICAgICB9CisrICAg ICAgICAgICAgLyogQ2xlYXIgZmxvdy1yZXN0b3JlLXdhaXQuIE9WTiBhdCBvbmUgcG9pbnQgd291 bGQgc2V0CisrICAgICAgICAgICAgICogZmxvdy1yZXN0b3JlLXdhaXQgaW4gb3JkZXIgdG8gdHJ5 IHRvIHN5bmNocm9uaXplIHdpdGgKKysgICAgICAgICAgICAgKiBPVlMuIEhvd2V2ZXIsIHRoYXQg cmVzdWx0ZWQgaW4gYSBidWcsIHNvIHRoYXQgYmVoYXZpb3IKKysgICAgICAgICAgICAgKiB3YXMg cmV2ZXJ0ZWQuIElmIHVwZ3JhZGluZyBmcm9tIGEgdmVyc2lvbiB3aGVyZSBPVk4KKysgICAgICAg ICAgICAgKiBtYW5pcHVsdGVkIGZsb3ctcmVzdG9yZS13YWl0LCB0aGVuIGZsb3ctcmVzdG9yZS13 YWl0CisrICAgICAgICAgICAgICogbmVlZHMgdG8gYmUgY2xlYXJlZCBpbiBvcmRlciBmb3IgT1ZT IHRvIGZ1bmN0aW9uCisrICAgICAgICAgICAgICogcHJvcGVybHkuIFRoaXMgaXMgKGhvcGVmdWxs eSkgYSB0ZW1wb3JhcnkgbWVhc3VyZSB1bnRpbAorKyAgICAgICAgICAgICAqIGEgbW9yZSByZWxp YWJsZSBtZXRob2Qgb2Ygc3luY2hyb25pemluZyB3aXRoIE9WUyBpcworKyAgICAgICAgICAgICAq IGRldmlzZWQuCisrICAgICAgICAgICAgICovCisrICAgICAgICAgICAgaWYgKHNtYXBfZ2V0X2Jv b2woJmNmZy0+ZXh0ZXJuYWxfaWRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv dm4tbWFuYWdlZC1mbG93LXJlc3RvcmUtd2FpdCIsIGZhbHNlKSAmJgorKyAgICAgICAgICAgICAg ICBzbWFwX2dldCgmY2ZnLT5vdGhlcl9jb25maWcsICJmbG93LXJlc3RvcmUtd2FpdCIpKSB7Cisr ICAgICAgICAgICAgICAgIG92c3JlY19vcGVuX3Zzd2l0Y2hfdXBkYXRlX290aGVyX2NvbmZpZ19k ZWxrZXkoCisrICAgICAgICAgICAgICAgICAgICBjZmcsICJmbG93LXJlc3RvcmUtd2FpdCIpOwor KyAgICAgICAgICAgICAgICBvdnNyZWNfb3Blbl92c3dpdGNoX3VwZGF0ZV9leHRlcm5hbF9pZHNf ZGVsa2V5KAorKyAgICAgICAgICAgICAgICAgICBjZmcsICJvdm4tbWFuYWdlZC1mbG93LXJlc3Rv cmUtd2FpdCIpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHN0YXRp YyBib29sIGNoYXNzaXNfaWR4X3N0b3JlZCA9IGZhbHNlOworQEAgLTgwNDksMTMgKzc5MTMsNiBA QCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgICAgICAgICAgICAgICAgICBzdG9w d2F0Y2hfc3RhcnQoT0ZDVFJMX1NFUU5PX1JVTl9TVE9QV0FUQ0hfTkFNRSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lX21zZWMoKSk7CisgICAgICAgICAgICAgICAg ICAgICBvZmN0cmxfc2Vxbm9fcnVuKG9mY3RybF9nZXRfY3VyX2NmZygpKTsKKy0gICAgICAgICAg ICAgICAgICAgIGlmIChvdnNfaWRsX3R4biAmJiBiZmRfY2hhc3Npc19kYXRhKSB7CistICAgICAg ICAgICAgICAgICAgICAgICAgbWFuYWdlX2Zsb3dfcmVzdG9yZV93YWl0KG92c19pZGxfdHhuLCBj ZmcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9m Y3RybF9nZXRfY3VyX2NmZygpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuZXh0X2NmZywgb3ZzX3R4bl9zdGF0dXMsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJmZF9jaGFzc2lzX2RhdGEtPmlzX2hh X2d3KTsKKy0gICAgICAgICAgICAgICAgICAgIH0KKy0KKyAgICAgICAgICAgICAgICAgICAgIHN0 b3B3YXRjaF9zdG9wKE9GQ1RSTF9TRVFOT19SVU5fU1RPUFdBVENIX05BTUUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lX21zZWMoKSk7CisgICAgICAgICAgICAgICAg ICAgICBzdG9wd2F0Y2hfc3RhcnQoSUZfU1RBVFVTX01HUl9SVU5fU1RPUFdBVENIX05BTUUsCitA QCAtODE1NSw3ICs4MDEyLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAg ICAgICAgIE9WU19OT1RfUkVBQ0hFRCgpOworICAgICAgICAgfQorIAorLSAgICAgICAgb3ZzX3R4 bl9zdGF0dXMgPSBvdnNkYl9pZGxfbG9vcF9jb21taXRfYW5kX3dhaXQoJm92c19pZGxfbG9vcCk7 CisrICAgICAgICBpbnQgb3ZzX3R4bl9zdGF0dXMgPSBvdnNkYl9pZGxfbG9vcF9jb21taXRfYW5k X3dhaXQoJm92c19pZGxfbG9vcCk7CisgICAgICAgICBpZiAoIW92c190eG5fc3RhdHVzKSB7Cisg ICAgICAgICAgICAgLyogVGhlIHRyYW5zYWN0aW9uIGZhaWxlZC4gKi8KKyAgICAgICAgICAgICB2 aWZfcGx1Z19jbGVhcl9kZWxldGVkKAorQEAgLTgxNzQsOSArODAzMSw2IEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgICAgICAgICAgICAgICZ2aWZfcGx1Z19kZWxldGVk X2lmYWNlX2lkcyk7CisgICAgICAgICAgICAgdmlmX3BsdWdfZmluaXNoX2NoYW5nZWQoCisgICAg ICAgICAgICAgICAgICAgICAmdmlmX3BsdWdfY2hhbmdlZF9pZmFjZV9pZHMpOworLSAgICAgICAg ICAgIGlmIChjZmcpIHsKKy0gICAgICAgICAgICAgICAgbmV4dF9jZmcgPSBjZmctPm5leHRfY2Zn OworLSAgICAgICAgICAgIH0KKyAgICAgICAgIH0gZWxzZSBpZiAob3ZzX3R4bl9zdGF0dXMgPT0g LTEpIHsKKyAgICAgICAgICAgICAvKiBUaGUgY29tbWl0IGlzIHN0aWxsIGluIHByb2dyZXNzICov CisgICAgICAgICB9IGVsc2UgeworQEAgLTgyNTAsNyArODEwNCw3IEBAIGxvb3BfZG9uZToKKyAg ICAgICAgICAgICB9CisgCisgICAgICAgICAgICAgb3ZzZGJfaWRsX2xvb3BfY29tbWl0X2FuZF93 YWl0KCZvdm5zYl9pZGxfbG9vcCk7CistICAgICAgICAgICAgb3ZzX3R4bl9zdGF0dXMgPSBvdnNk Yl9pZGxfbG9vcF9jb21taXRfYW5kX3dhaXQoJm92c19pZGxfbG9vcCk7CisrICAgICAgICAgICAg aW50IG92c190eG5fc3RhdHVzID0gb3ZzZGJfaWRsX2xvb3BfY29tbWl0X2FuZF93YWl0KCZvdnNf aWRsX2xvb3ApOworICAgICAgICAgICAgIGlmICghb3ZzX3R4bl9zdGF0dXMpIHsKKyAgICAgICAg ICAgICAgICAgLyogVGhlIHRyYW5zYWN0aW9uIGZhaWxlZC4gKi8KKyAgICAgICAgICAgICAgICAg dmlmX3BsdWdfY2xlYXJfZGVsZXRlZCgKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL3BoeXNpY2Fs LmMgYi9jb250cm9sbGVyL3BoeXNpY2FsLmMKK2luZGV4IDIyOGYzZDE3MWEuLmZkOGE0YmU3ZjYg MTAwNjQ0CistLS0gYS9jb250cm9sbGVyL3BoeXNpY2FsLmMKKysrKyBiL2NvbnRyb2xsZXIvcGh5 c2ljYWwuYworQEAgLTM1MSwzMCArMzUxLDM1IEBAIHB1dF9mbG93X2Jhc2VkX3JlbW90ZV9wb3J0 X3JlZGlyZWN0X292ZXJsYXkoCisgICAgIH0KKyB9CisgCisrLyogQWRkIGhhbmRsaW5nIGZvciBF L1cgSUNNUHY0L3Y2IHBhY2tldHMgd2hlbiB0dW5uZWxlZCBwYWNrZXRzIGV4Y2VlZAorKyAqIHBh dGggTVRVLgorKyAqIElmIHBhY2tldCBuZWVkcyB0byBiZSB0dW5uZWxlZCB0byBhbm90aGVyIG5v ZGUgYW5kIHRoZSBwaHlzaWNhbAorKyAqIGludGVyZmFjZSB1c2VkIGZvciB0dW5uZWxpbmcgaGFz IGEgbG93ZXIgTVRVIHRoYW4gdGhlIHBhY2tldCBzaXplLAorKyAqIG9yIGlmIHRoZXJlIGlzIGEg cm91dGUgZXhjZXB0aW9uIHdpdGggYSBzbWFsbGVyIE1UVSwga2VybmVsCisrICogZ2VuZXJhdGVz IGFuIElDTVAgIkZyYWdtZW50YXRpb24gTmVlZGVkIiBtZXNzYWdlLCBidXQgcGFja2V0CisrICog bWV0YWRhdGEgZGlkbid0IGNoYW5nZS4gU3VjaCBwYWNrZXRzIG1pZ2h0IGhhdmUgYmVlbiBkcm9w cGVkIGR1ZQorKyAqIHRvIHJlcXVpcmVkIG1ldGFkYXRhIG1vZGlmaWNhdGlvbnMgZm9yIHJldHVy bmVkIHBhY2tldC4KKysgKgorKyAqIE1hcmsgdGhlc2UgcGFja2V0cyB3aXRoIE1MRl9SWF9GUk9N X1RVTk5FTF9CSVQgZm9yIGZ1cnRoZXIKKysgKiBwcm9jZXNzaW5nLiBQYWNrZXRzIHJlY2VpdmVk IGZyb20gYSBSQU1QIHR1bm5lbCBzaG91bGQgYmUgcGFzc2VkCisrICogdGhyb3VnaCwgYW5kIGVy cm9ycyBoYW5kbGVkIHZpYSBub3JtYWwgcHJvY2Vzc2luZyBwYXRoLCBzaW5jZQorKyAqIHBvcnQg bWV0YWRhdGEgaXMgbm90IGNhcnJpZWQgaW4gUkFNUCBwYWNrZXRzIGluIFZOSS4KKysgKi8KKyBz dGF0aWMgdm9pZAorLWFkZF90dW5uZWxfaW5ncmVzc19mbG93cyhjb25zdCBzdHJ1Y3QgY2hhc3Np c190dW5uZWwgKnR1biwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBtZl9maWVsZF9p ZCBtZmZfb3ZuX2dlbmV2ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92bl9k ZXNpcmVkX2Zsb3dfdGFibGUgKmZsb3dfdGFibGUsCistICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBvZnBidWYgKm9mcGFjdHMpCisrYWRkX3R1bm5lbF9pbmdyZXNzX3BtdHVkX2Zsb3dz KGNvbnN0IHN0cnVjdCBjaGFzc2lzX3R1bm5lbCAqdHVuLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgb2ZwYnVmICpvZnBhY3RzLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgb3ZuX2Rlc2lyZWRfZmxvd190YWJsZSAqZmxvd190YWJsZSkKKyB7 CistICAgIC8qIE1haW4gaW5ncmVzcyBmbG93IChwcmlvcml0eSAxMDApICovCistICAgIHN0cnVj dCBtYXRjaCBtYXRjaCA9IE1BVENIX0NBVENIQUxMX0lOSVRJQUxJWkVSOworLSAgICBtYXRjaF9z ZXRfaW5fcG9ydCgmbWF0Y2gsIHR1bi0+b2Zwb3J0KTsKKy0KKy0gICAgb2ZwYnVmX2NsZWFyKG9m cGFjdHMpOworLSAgICBwdXRfZGVjYXBzdWxhdGlvbihtZmZfb3ZuX2dlbmV2ZSwgdHVuLCBvZnBh Y3RzKTsKKy0gICAgcHV0X3Jlc3VibWl0KE9GVEFCTEVfTE9DQUxfT1VUUFVULCBvZnBhY3RzKTsK KysgICAgaWYgKHR1bi0+aXNfcmFtcF90dW5uZWwpIHsKKysgICAgICAgIHJldHVybjsKKysgICAg fQorIAorLSAgICBvZmN0cmxfYWRkX2Zsb3coZmxvd190YWJsZSwgT0ZUQUJMRV9QSFlfVE9fTE9H LCAxMDAsIDAsICZtYXRjaCwKKy0gICAgICAgICAgICAgICAgICAgIG9mcGFjdHMsIGhjX3V1aWQp OworKyAgICBzdHJ1Y3QgbWF0Y2ggbWF0Y2ggPSBNQVRDSF9DQVRDSEFMTF9JTklUSUFMSVpFUjsK KyAKKyAgICAgLyogU2V0IGFsbG93IHJ4IGZyb20gdHVubmVsIGJpdCAqLworICAgICBwdXRfbG9h ZCgxLCBNRkZfTE9HX0ZMQUdTLCBNTEZfUlhfRlJPTV9UVU5ORUxfQklULCAxLCBvZnBhY3RzKTsK KyAgICAgcHV0X3Jlc3VibWl0KE9GVEFCTEVfQ1RfWk9ORV9MT09LVVAsIG9mcGFjdHMpOworIAor LSAgICAvKiBBZGQgc3BlY2lmaWMgZmxvd3MgZm9yIEUvVyBJQ01Qdns0LDZ9IHBhY2tldHMgaWYg dHVubmVsbGVkIHBhY2tldHMKKy0gICAgICogZG8gbm90IGZpdCBwYXRoIE1UVS4gKi8KKy0KKyAg ICAgLyogSVB2NCBJQ01QIGZsb3cgKHByaW9yaXR5IDEyMCkgKi8KKyAgICAgbWF0Y2hfaW5pdF9j YXRjaGFsbCgmbWF0Y2gpOworICAgICBtYXRjaF9zZXRfaW5fcG9ydCgmbWF0Y2gsIHR1bi0+b2Zw b3J0KTsKK0BAIC0zOTgsNiArNDAzLDI2IEBAIGFkZF90dW5uZWxfaW5ncmVzc19mbG93cyhjb25z dCBzdHJ1Y3QgY2hhc3Npc190dW5uZWwgKnR1biwKKyAgICAgICAgICAgICAgICAgICAgIG9mcGFj dHMsIGhjX3V1aWQpOworIH0KKyAKKytzdGF0aWMgdm9pZAorK2FkZF90dW5uZWxfaW5ncmVzc19m bG93cyhjb25zdCBzdHJ1Y3QgY2hhc3Npc190dW5uZWwgKnR1biwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgZW51bSBtZl9maWVsZF9pZCBtZmZfb3ZuX2dlbmV2ZSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IG92bl9kZXNpcmVkX2Zsb3dfdGFibGUgKmZsb3dfdGFibGUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvZnBidWYgKm9mcGFjdHMpCisreworKyAg ICAvKiBNYWluIGluZ3Jlc3MgZmxvdyAocHJpb3JpdHkgMTAwKSAqLworKyAgICBzdHJ1Y3QgbWF0 Y2ggbWF0Y2ggPSBNQVRDSF9DQVRDSEFMTF9JTklUSUFMSVpFUjsKKysgICAgbWF0Y2hfc2V0X2lu X3BvcnQoJm1hdGNoLCB0dW4tPm9mcG9ydCk7CisrCisrICAgIG9mcGJ1Zl9jbGVhcihvZnBhY3Rz KTsKKysgICAgcHV0X2RlY2Fwc3VsYXRpb24obWZmX292bl9nZW5ldmUsIHR1biwgb2ZwYWN0cyk7 CisrICAgIHB1dF9yZXN1Ym1pdChPRlRBQkxFX0xPQ0FMX09VVFBVVCwgb2ZwYWN0cyk7CisrCisr ICAgIG9mY3RybF9hZGRfZmxvdyhmbG93X3RhYmxlLCBPRlRBQkxFX1BIWV9UT19MT0csIDEwMCwg MCwgJm1hdGNoLAorKyAgICAgICAgICAgICAgICAgICAgb2ZwYWN0cywgaGNfdXVpZCk7CisrCisr ICAgIGFkZF90dW5uZWxfaW5ncmVzc19wbXR1ZF9mbG93cyh0dW4sIG9mcGFjdHMsIGZsb3dfdGFi bGUpOworK30KKysKKyBzdGF0aWMgdm9pZAorIHB1dF9zdGFjayhlbnVtIG1mX2ZpZWxkX2lkIGZp ZWxkLCBzdHJ1Y3Qgb2ZwYWN0X3N0YWNrICpzdGFjaykKKyB7CitAQCAtMjgyNywxMiArMjg1Miw2 IEBAIGZhbm91dF90b19jaGFzc2lzX3BvcnRfYmFzZWQoZW51bSBtZl9maWVsZF9pZCBtZmZfb3Zu X2dlbmV2ZSwKKyAgICAgfQorIH0KKyAKKy1zdGF0aWMgYm9vbAorLWNoYXNzaXNfaXNfdnRlcChj b25zdCBzdHJ1Y3Qgc2JyZWNfY2hhc3NpcyAqY2hhc3NpcykKKy17CistICAgIHJldHVybiBzbWFw X2dldF9ib29sKCZjaGFzc2lzLT5vdGhlcl9jb25maWcsICJpcy12dGVwIiwgZmFsc2UpOworLX0K Ky0KKyBzdGF0aWMgdm9pZAorIGxvY2FsX291dHB1dF9wYihpbnQ2NF90IHR1bm5lbF9rZXksIHN0 cnVjdCBvZnBidWYgKm9mcGFjdHMpCisgeworQEAgLTMwMTEsMTkgKzMwMzAsMTkgQEAgY29uc2lk ZXJfbWNfZ3JvdXAoY29uc3Qgc3RydWN0IHBoeXNpY2FsX2N0eCAqY3R4LAorICAgICAgICAgICAg ICAqIG90aGVyd2lzZSBtdWx0aWNhc3Qgd2lsbCByZWFjaCByZW1vdGUgcG9ydHMgdGhyb3VnaCBs b2NhbG5ldAorICAgICAgICAgICAgICAqIHBvcnQuICovCisgICAgICAgICAgICAgaWYgKHBvcnQt PmNoYXNzaXMpIHsKKy0gICAgICAgICAgICAgICAgaWYgKGNoYXNzaXNfaXNfdnRlcChwb3J0LT5j aGFzc2lzKSkgeworKyAgICAgICAgICAgICAgICBpZiAoaXNfcmFtcF90dW5uZWwoJnBvcnQtPmNo YXNzaXMtPm90aGVyX2NvbmZpZykpIHsKKyAgICAgICAgICAgICAgICAgICAgIHNzZXRfYWRkKCZ2 dGVwX2NoYXNzaXMsIHBvcnQtPmNoYXNzaXMtPm5hbWUpOworICAgICAgICAgICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgICAgICAgICAgc3NldF9hZGQoJnJlbW90ZV9jaGFzc2lzLCBwb3J0 LT5jaGFzc2lzLT5uYW1lKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IHBvcnQtPm5fYWRkaXRpb25hbF9jaGFz c2lzOyBqKyspIHsKKy0gICAgICAgICAgICAgICAgaWYgKGNoYXNzaXNfaXNfdnRlcChwb3J0LT5h ZGRpdGlvbmFsX2NoYXNzaXNbal0pKSB7CistICAgICAgICAgICAgICAgICAgICBzc2V0X2FkZCgm dnRlcF9jaGFzc2lzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC0+YWRkaXRp b25hbF9jaGFzc2lzW2pdLT5uYW1lKTsKKysgICAgICAgICAgICAgICAgc3RydWN0IHNicmVjX2No YXNzaXMgKmFkZGl0aW9uYWxfY2hhc3NpcyA9CisrICAgICAgICAgICAgICAgICAgICBwb3J0LT5h ZGRpdGlvbmFsX2NoYXNzaXNbal07CisrICAgICAgICAgICAgICAgIGlmIChpc19yYW1wX3R1bm5l bCgmYWRkaXRpb25hbF9jaGFzc2lzLT5vdGhlcl9jb25maWcpKSB7CisrICAgICAgICAgICAgICAg ICAgICBzc2V0X2FkZCgmdnRlcF9jaGFzc2lzLCBhZGRpdGlvbmFsX2NoYXNzaXMtPm5hbWUpOwor ICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgc3NldF9hZGQo JnJlbW90ZV9jaGFzc2lzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC0+YWRk aXRpb25hbF9jaGFzc2lzW2pdLT5uYW1lKTsKKysgICAgICAgICAgICAgICAgICAgIHNzZXRfYWRk KCZyZW1vdGVfY2hhc3NpcywgYWRkaXRpb25hbF9jaGFzc2lzLT5uYW1lKTsKKyAgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KK0BAIC0zNzMwLDYgKzM3NDksMjQg QEAgcGh5c2ljYWxfaGFuZGxlX2Zsb3dzX2Zvcl9scG9ydChjb25zdCBzdHJ1Y3Qgc2JyZWNfcG9y dF9iaW5kaW5nICpwYiwKKyAgICAgICAgIH0KKyAgICAgfQorIAorKyAgICAvKiBDaGFzc2lzcmVk aXJlY3QgcG9ydHMgb24gcGVlciByb3V0ZXIgZGF0YXBhdGhzIG1heSBoYXZlIGJyaWRnZWQKKysg ICAgICogcmVkaXJlY3QgZmxvd3MgdGhhdCBkZXBlbmQgb24gdGhpcyBsb2NhbG5ldCBwb3J0Cisr ICAgICAqIChwdXRfcmVtb3RlX3BvcnRfcmVkaXJlY3RfYnJpZGdlZCgpIGNhbGxzIGdldF9sb2Nh bG5ldF9wb3J0KCkpLgorKyAgICAgKiBSZS1ldmFsdWF0ZSB0aG9zZSBDUiBwb3J0cy4gKi8KKysg ICAgaWYgKHR5cGUgPT0gTFBfTE9DQUxORVQgJiYgIXJlbW92ZWQgJiYgbGRwKSB7CisrICAgICAg ICBjb25zdCBzdHJ1Y3QgcGVlcl9wb3J0cyAqcHA7CisrICAgICAgICBWRUNUT1JfRk9SX0VBQ0hf UFRSICgmbGRwLT5wZWVyX3BvcnRzLCBwcCkgeworKyAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBz YnJlY19wb3J0X2JpbmRpbmcgKmNyX3BiID0KKysgICAgICAgICAgICAgICAgbHBvcnRfZ2V0X2Ny X3BvcnQocF9jdHgtPnNicmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcC0+cmVtb3RlLCBOVUxMKTsKKysgICAgICAgICAgICBpZiAo Y3JfcGIpIHsKKysgICAgICAgICAgICAgICAgb2ZjdHJsX3JlbW92ZV9mbG93cyhmbG93X3RhYmxl LCAmY3JfcGItPmhlYWRlcl8udXVpZCk7CisrICAgICAgICAgICAgICAgIHBoeXNpY2FsX2V2YWxf cG9ydF9iaW5kaW5nKHBfY3R4LCBjcl9wYiwgTFBfQ0hBU1NJU1JFRElSRUNULAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG93X3RhYmxlKTsKKysgICAgICAg ICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysKKyAgICAgaWYgKHNicmVjX3BvcnRfYmluZGlu Z19pc191cGRhdGVkKAorICAgICAgICAgICAgIHBiLCBTQlJFQ19QT1JUX0JJTkRJTkdfQ09MX0FE RElUSU9OQUxfQ0hBU1NJUykgfHwgcmVtb3ZlZCkgeworICAgICAgICAgcGh5c2ljYWxfbXVsdGlj aGFzc2lzX3JlcHJvY2VzcyhwYiwgcF9jdHgsIGZsb3dfdGFibGUpOworQEAgLTM5NDMsNyArMzk4 MCw3IEBAIHBoeXNpY2FsX3J1bihzdHJ1Y3QgcGh5c2ljYWxfY3R4ICpwX2N0eCwKKyAgICAgc3Ry dWN0IGNoYXNzaXNfdHVubmVsICp0dW47CisgICAgIEhNQVBfRk9SX0VBQ0ggKHR1biwgaG1hcF9u b2RlLCBwX2N0eC0+Y2hhc3Npc190dW5uZWxzKSB7CisgICAgICAgICBhZGRfdHVubmVsX2luZ3Jl c3NfZmxvd3ModHVuLCBwX2N0eC0+bWZmX292bl9nZW5ldmUsIGZsb3dfdGFibGUsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmb2ZwYWN0cyk7CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJm9mcGFjdHMpOworICAgICB9CisgCisgICAgIC8qIFByb2Nlc3MgcGFj a2V0cyB0aGF0IGFycml2ZSBmcm9tIGZsb3ctYmFzZWQgdHVubmVscy4gKi8KK0BAIC0zOTY3LDcg KzQwMDQsNyBAQCBwaHlzaWNhbF9ydW4oc3RydWN0IHBoeXNpY2FsX2N0eCAqcF9jdHgsCisgICAg ICAgICAgICAgICAgICAgICAgaSA9PSBHRU5FVkUgPyAiZ2VuZXZlIiA6ICJ2eGxhbiIpOworIAor ICAgICAgICAgICAgIGFkZF90dW5uZWxfaW5ncmVzc19mbG93cygmdGVtcF90dW5uZWwsIHBfY3R4 LT5tZmZfb3ZuX2dlbmV2ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm bG93X3RhYmxlLCAmb2ZwYWN0cyk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZsb3dfdGFibGUsICZvZnBhY3RzKTsKKyAgICAgICAgIH0KKyAgICAgfQorIAorZGlmZiAt LWdpdCBhL2NvbnRyb2xsZXIvcGluY3RybC5jIGIvY29udHJvbGxlci9waW5jdHJsLmMKK2luZGV4 IDFhNTQwNzE4M2MuLmJiOGQyMGU3ZjQgMTAwNjQ0CistLS0gYS9jb250cm9sbGVyL3BpbmN0cmwu YworKysrIGIvY29udHJvbGxlci9waW5jdHJsLmMKK0BAIC0xODUsMTYgKzE4NSwxNSBAQCBzdHJ1 Y3QgcGluY3RybCB7Cisgc3RhdGljIHN0cnVjdCBwaW5jdHJsIHBpbmN0cmw7CisgCisgc3RhdGlj IGJvb2wgcGluY3RybF9pc19zYl9jb21taXRlZChpbnQ2NF90IGNvbW1pdF9jZmcsIGludDY0X3Qg Y3VyX2NmZyk7Cistc3RhdGljIHZvaWQgaW5pdF9idWZmZXJlZF9wYWNrZXRzX2N0eCh2b2lkKTsK Ky1zdGF0aWMgdm9pZCBkZXN0cm95X2J1ZmZlcmVkX3BhY2tldHNfY3R4KHZvaWQpOworK3N0YXRp YyB2b2lkIGluaXRfYnVmZmVyZWRfcGFja2V0c19tYXAodm9pZCk7Cisrc3RhdGljIHZvaWQgZGVz dHJveV9idWZmZXJlZF9wYWNrZXRzX21hcCh2b2lkKTsKKyBzdGF0aWMgdm9pZAorIHJ1bl9idWZm ZXJlZF9iaW5kaW5nKGNvbnN0IHN0cnVjdCBzYnJlY19tYWNfYmluZGluZ190YWJsZSAqbWFjX2Jp bmRpbmdfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGhtYXAgKmxv Y2FsX2RhdGFwYXRocywKKyAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2lu ZGV4ICpzYnJlY19wb3J0X2JpbmRpbmdfYnlfa2V5LAorICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX3BvcnRfYmlu ZGluZ19ieV9uYW1lLAorLSAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5k ZXggKnNicmVjX21hY19iaW5kaW5nX2J5X2xwb3J0X2lwKQorLSAgICBPVlNfUkVRVUlSRVMocGlu Y3RybF9tdXRleCk7CisrICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRl eCAqc2JyZWNfbWFjX2JpbmRpbmdfYnlfbHBvcnRfaXApOworIAorIHN0YXRpYyB2b2lkIHBpbmN0 cmxfaGFuZGxlX3B1dF9tYWNfYmluZGluZyhjb25zdCBzdHJ1Y3QgZmxvdyAqbWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmbG93ICpo ZWFkZXJzLAorQEAgLTIwOSw4ICsyMDgsNyBAQCBzdGF0aWMgdm9pZCBydW5fcHV0X21hY19iaW5k aW5ncygKKyAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfbWFjX2JpbmRpbmdfYnlf bHBvcnRfaXApCisgICAgIE9WU19SRVFVSVJFUyhwaW5jdHJsX211dGV4KTsKKyBzdGF0aWMgdm9p ZCB3YWl0X3B1dF9tYWNfYmluZGluZ3Modm9pZCk7Cistc3RhdGljIHZvaWQgc2VuZF9tYWNfYmlu ZGluZ19idWZmZXJlZF9wa3RzKHN0cnVjdCByY29ubiAqc3djb25uKQorLSAgICBPVlNfUkVRVUlS RVMocGluY3RybF9tdXRleCk7Cisrc3RhdGljIHZvaWQgc2VuZF9tYWNfYmluZGluZ19idWZmZXJl ZF9wa3RzKHN0cnVjdCByY29ubiAqc3djb25uKTsKKyAKKyBzdGF0aWMgdm9pZCBwaW5jdHJsX2Fj dGl2YXRpb25fc3RyYXRlZ3lfaGFuZGxlcihjb25zdCBzdHJ1Y3QgbWF0Y2ggKm1kKTsKKyAKK0BA IC0zODksNiArMzg3LDcgQEAgQ09WRVJBR0VfREVGSU5FKHBpbmN0cmxfZHJvcF9idWZmZXJlZF9w YWNrZXRzX21hcCk7CisgQ09WRVJBR0VfREVGSU5FKHBpbmN0cmxfZHJvcF9jb250cm9sbGVyX2V2 ZW50KTsKKyBDT1ZFUkFHRV9ERUZJTkUocGluY3RybF9kcm9wX3B1dF92cG9ydF9iaW5kaW5nKTsK KyBDT1ZFUkFHRV9ERUZJTkUocGluY3RybF9ub3RpZnlfbWFpbl90aHJlYWQpOworK0NPVkVSQUdF X0RFRklORShwaW5jdHJsX25vdGlmeV9oYW5kbGVyX3RocmVhZCk7CisgQ09WRVJBR0VfREVGSU5F KHBpbmN0cmxfdG90YWxfcGluX3BrdHMpOworIAorIC8qIEROUyBxdWVyeSBzdGF0aXN0aWNzIC0g dGhyZWFkLXNhZmUgY292ZXJhZ2UgY291bnRlcnMgKi8KK0BAIC01NjEsNyArNTYwLDcgQEAgcGlu Y3RybF9pbml0KHZvaWQpCisgICAgIGluaXRfc2VuZF9hcnBzX25kcygpOworICAgICBpbml0X2lw djZfcmFzKCk7CisgICAgIGluaXRfaXB2Nl9wcmVmaXhkKCk7CistICAgIGluaXRfYnVmZmVyZWRf cGFja2V0c19jdHgoKTsKKysgICAgaW5pdF9idWZmZXJlZF9wYWNrZXRzX21hcCgpOworICAgICBp bml0X2FjdGl2YXRlZF9wb3J0cygpOworICAgICBpbml0X2V2ZW50X3RhYmxlKCk7CisgICAgIGlw X21jYXN0X3Nub29wX2luaXQoKTsKK0BAIC0xNTc2LDE4ICsxNTc1LDE4IEBAIHByZXBhcmVfaXB2 Nl9wcmVmaXhkKHN0cnVjdCBvdnNkYl9pZGxfdHhuICpvdm5zYl9pZGxfdHhuLAorICAgICB9Cisg fQorIAorLXN0YXRpYyBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggYnVmZmVyZWRfcGFja2V0 c19jdHg7Cisrc3RhdGljIHN0cnVjdCBjbWFwIGJ1ZmZlcmVkX3BhY2tldHNfbWFwOworIAorIHN0 YXRpYyB2b2lkCistaW5pdF9idWZmZXJlZF9wYWNrZXRzX2N0eCh2b2lkKQorK2luaXRfYnVmZmVy ZWRfcGFja2V0c19tYXAodm9pZCkKKyB7CistICAgIGJ1ZmZlcmVkX3BhY2tldHNfY3R4X2luaXQo JmJ1ZmZlcmVkX3BhY2tldHNfY3R4KTsKKysgICAgY21hcF9pbml0KCZidWZmZXJlZF9wYWNrZXRz X21hcCk7CisgfQorIAorIHN0YXRpYyB2b2lkCistZGVzdHJveV9idWZmZXJlZF9wYWNrZXRzX2N0 eCh2b2lkKQorK2Rlc3Ryb3lfYnVmZmVyZWRfcGFja2V0c19tYXAodm9pZCkKKyB7CistICAgIGJ1 ZmZlcmVkX3BhY2tldHNfY3R4X2Rlc3Ryb3koJmJ1ZmZlcmVkX3BhY2tldHNfY3R4KTsKKysgICAg YnVmZmVyZWRfcGFja2V0c19tYXBfZGVzdHJveSgmYnVmZmVyZWRfcGFja2V0c19tYXApOworIH0K KyAKKyAvKiBDYWxsZWQgd2l0aCBpbiB0aGUgcGluY3RybF9oYW5kbGVyIHRocmVhZCBjb250ZXh0 LiAqLworQEAgLTE1OTUsNyArMTU5NCw2IEBAIHN0YXRpYyB2b2lkCisgcGluY3RybF9oYW5kbGVf YnVmZmVyZWRfcGFja2V0cyhjb25zdCBzdHJ1Y3Qgb2ZwdXRpbF9wYWNrZXRfaW4gKnBpbiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvZnBidWYgKmNvbnRp bnVhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfYXJwKQor LU9WU19SRVFVSVJFUyhwaW5jdHJsX211dGV4KQorIHsKKyAgICAgY29uc3Qgc3RydWN0IG1hdGNo ICptZCA9ICZwaW4tPmZsb3dfbWV0YWRhdGE7CisgICAgIHN0cnVjdCBtYWNfYmluZGluZ19kYXRh IG1iX2RhdGE7CitAQCAtMTYxMiw3ICsxNjEwLDcgQEAgT1ZTX1JFUVVJUkVTKHBpbmN0cmxfbXV0 ZXgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtZC0+Zmxvdy5yZWdzW01GRl9MT0dfT1VU UE9SVCAtIE1GRl9SRUcwXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLCBldGhfYWRk cl96ZXJvKTsKKyAKKy0gICAgc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHMgKmJwID0gYnVmZmVyZWRf cGFja2V0c19hZGQoJmJ1ZmZlcmVkX3BhY2tldHNfY3R4LAorKyAgICBzdHJ1Y3QgYnVmZmVyZWRf cGFja2V0cyAqYnAgPSBidWZmZXJlZF9wYWNrZXRzX2FkZCgmYnVmZmVyZWRfcGFja2V0c19tYXAs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1iX2RhdGEpOworICAgICBpZiAoIWJwKSB7CisgICAgICAgICBDT1ZFUkFHRV9JTkMocGluY3Ry bF9kcm9wX2J1ZmZlcmVkX3BhY2tldHNfbWFwKTsKK0BAIC0xNjQyLDkgKzE2NDAsNyBAQCBwaW5j dHJsX2hhbmRsZV9hcnAoc3RydWN0IHJjb25uICpzd2Nvbm4sIGNvbnN0IHN0cnVjdCBmbG93ICpp cF9mbG93LAorICAgICAgICAgcmV0dXJuOworICAgICB9CisgCistICAgIG92c19tdXRleF9sb2Nr KCZwaW5jdHJsX211dGV4KTsKKyAgICAgcGluY3RybF9oYW5kbGVfYnVmZmVyZWRfcGFja2V0cyhw aW4sIGNvbnRpbnVhdGlvbiwgdHJ1ZSk7CistICAgIG92c19tdXRleF91bmxvY2soJnBpbmN0cmxf bXV0ZXgpOworIAorICAgICAvKiBDb21wb3NlIGFuIEFSUCBwYWNrZXQuICovCisgICAgIHVpbnQ2 NF90IHBhY2tldF9zdHViWzEyOCAvIDhdOworQEAgLTQwMDUsNiArNDAwMSw3IEBAIHBpbmN0cmxf cmVjdihzdHJ1Y3QgcmNvbm4gKnN3Y29ubiwgY29uc3Qgc3RydWN0IG9mcF9oZWFkZXIgKm9oLAor IHN0YXRpYyB2b2lkCisgbm90aWZ5X3BpbmN0cmxfaGFuZGxlcih2b2lkKQorIHsKKysgICAgQ09W RVJBR0VfSU5DKHBpbmN0cmxfbm90aWZ5X2hhbmRsZXJfdGhyZWFkKTsKKyAgICAgc2VxX2NoYW5n ZShwaW5jdHJsX2hhbmRsZXJfc2VxKTsKKyB9CisgCitAQCAtNDA3OSwxMiArNDA3NiwxMiBAQCBw aW5jdHJsX2hhbmRsZXIodm9pZCAqYXJnXykKKyAgICAgICAgICAgICAgICAgICAgIHNlbmRfYXJw X25kX3J1bihzd2Nvbm4sICZzZW5kX2FycF9uZF90aW1lKTsKKyAgICAgICAgICAgICAgICAgICAg IHNlbmRfaXB2Nl9yYXMoc3djb25uLCAmc2VuZF9pcHY2X3JhX3RpbWUpOworICAgICAgICAgICAg ICAgICAgICAgc2VuZF9pcHY2X3ByZWZpeGQoc3djb25uLCAmc2VuZF9wcmVmaXhkX3RpbWUpOwor LSAgICAgICAgICAgICAgICAgICAgc2VuZF9tYWNfYmluZGluZ19idWZmZXJlZF9wa3RzKHN3Y29u bik7CisgICAgICAgICAgICAgICAgICAgICBiZmRfbW9uaXRvcl9zZW5kX21zZyhzd2Nvbm4sICZi ZmRfdGltZSk7CisgICAgICAgICAgICAgICAgICAgICBvdnNfbXV0ZXhfdW5sb2NrKCZwaW5jdHJs X211dGV4KTsKKyAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg IGxvY2tfZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAg ICBzZW5kX21hY19iaW5kaW5nX2J1ZmZlcmVkX3BrdHMoc3djb25uKTsKKyAgICAgICAgICAgICAg ICAgc2VuZF9nYXJwX3JhcnBfcnVuKHN3Y29ubiwgJnNlbmRfZ2FycF9yYXJwX3RpbWUpOworICAg ICAgICAgICAgICAgICBpcF9tY2FzdF9xdWVyaWVyX3J1bihzd2Nvbm4sICZzZW5kX21jYXN0X3F1 ZXJ5X3RpbWUpOworICAgICAgICAgICAgIH0KK0BAIC00MTE4LDYgKzQxMTUsOCBAQCBwaW5jdHJs X2hhbmRsZXIodm9pZCAqYXJnXykKKyAgICAgICAgIGxhdGNoX3dhaXQoJnBjdHJsLT5waW5jdHJs X3RocmVhZF9leGl0KTsKKyAKKyAgICAgICAgIG92c3JjdV9xdWllc2NlX3N0YXJ0KCk7CisrICAg ICAgICAvKiBXYWtlLXVwIHBlcmlvZGljYWx5IGZvciBjb3ZlcmFnZSBjb3VudGVycyBzeW5jLiov CisrICAgICAgICBwb2xsX3RpbWVyX3dhaXQoMTAwMCk7CisgICAgICAgICBwb2xsX2Jsb2NrKCk7 CisgICAgIH0KKyAKK0BAIC00MjIyLDExICs0MjIxLDYgQEAgcGluY3RybF9ydW4oc3RydWN0IG92 c2RiX2lkbF90eG4gKm92bnNiX2lkbF90eG4sCisgICAgICAgICAgICAgICAgICAgc2JyZWNfcG9y dF9iaW5kaW5nX2J5X2tleSwKKyAgICAgICAgICAgICAgICAgICBzYnJlY19pZ21wX2dyb3VwcywK KyAgICAgICAgICAgICAgICAgICBzYnJlY19pcF9tdWx0aWNhc3Rfb3B0cyk7CistICAgIHJ1bl9i dWZmZXJlZF9iaW5kaW5nKG1hY19iaW5kaW5nX3RhYmxlLCBsb2NhbF9kYXRhcGF0aHMsCistICAg ICAgICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9rZXksCistICAgICAg ICAgICAgICAgICAgICAgICAgIHNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorLSAgICAg ICAgICAgICAgICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfbmFtZSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgc2JyZWNfbWFjX2JpbmRpbmdfYnlfbHBvcnRfaXApOworICAgICBz eW5jX3N2Y19tb25pdG9ycyhvdm5zYl9pZGxfdHhuLCBzdmNfbW9uX3RhYmxlLCBzYnJlY19wb3J0 X2JpbmRpbmdfYnlfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY2hhc3Npcyk7CisgICAg IGJmZF9tb25pdG9yX3J1bihvdm5zYl9pZGxfdHhuLCBiZmRfdGFibGUsIHNicmVjX3BvcnRfYmlu ZGluZ19ieV9uYW1lLAorQEAgLTQyMzcsNiArNDIzMSwxMiBAQCBwaW5jdHJsX3J1bihzdHJ1Y3Qg b3ZzZGJfaWRsX3R4biAqb3Zuc2JfaWRsX3R4biwKKyAgICAgcnVuX2FjdGl2YXRlZF9wb3J0cyhv dm5zYl9pZGxfdHhuLCBzYnJlY19kYXRhcGF0aF9iaW5kaW5nX2J5X2tleSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfa2V5LCBjaGFzc2lzKTsKKyAgICAg b3ZzX211dGV4X3VubG9jaygmcGluY3RybF9tdXRleCk7CisrCisrICAgIHJ1bl9idWZmZXJlZF9i aW5kaW5nKG1hY19iaW5kaW5nX3RhYmxlLCBsb2NhbF9kYXRhcGF0aHMsCisrICAgICAgICAgICAg ICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9rZXksCisrICAgICAgICAgICAgICAg ICAgICAgICAgIHNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorKyAgICAgICAgICAgICAg ICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfbmFtZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgc2JyZWNfbWFjX2JpbmRpbmdfYnlfbHBvcnRfaXApOworIH0KKyAKKyAvKiBUYWJs ZSBvZiBpcHY2X3JhX3N0YXRlIHN0cnVjdHVyZXMsIGtleWVkIG9uIGxvZ2ljYWwgcG9ydCBuYW1l LgorQEAgLTQ3NTQsNyArNDc1NCw3IEBAIHBpbmN0cmxfZGVzdHJveSh2b2lkKQorICAgICBkZXN0 cm95X3NlbmRfYXJwc19uZHMoKTsKKyAgICAgZGVzdHJveV9pcHY2X3JhcygpOworICAgICBkZXN0 cm95X2lwdjZfcHJlZml4ZCgpOworLSAgICBkZXN0cm95X2J1ZmZlcmVkX3BhY2tldHNfY3R4KCk7 CisrICAgIGRlc3Ryb3lfYnVmZmVyZWRfcGFja2V0c19tYXAoKTsKKyAgICAgZGVzdHJveV9hY3Rp dmF0ZWRfcG9ydHMoKTsKKyAgICAgZXZlbnRfdGFibGVfZGVzdHJveSgpOworICAgICBkZXN0cm95 X3B1dF9tYWNfYmluZGluZ3MoKTsKK0BAIC00ODM5LDMwICs0ODM5LDI0IEBAIHBpbmN0cmxfaGFu ZGxlX3B1dF9tYWNfYmluZGluZyhjb25zdCBzdHJ1Y3QgZmxvdyAqbWQsCisgICAgIG5vdGlmeV9w aW5jdHJsX21haW4oKTsKKyB9CisgCistI2RlZmluZSBSRUFEWV9QQUNLRVRTX1ZFQ19DQVBBQ0lU WV9USFJFU0hPTEQgMTAyNAorLQorIC8qIENhbGxlZCB3aXRoIGluIHRoZSBwaW5jdHJsX2hhbmRs ZXIgdGhyZWFkIGNvbnRleHQuICovCisgc3RhdGljIHZvaWQKKyBzZW5kX21hY19iaW5kaW5nX2J1 ZmZlcmVkX3BrdHMoc3RydWN0IHJjb25uICpzd2Nvbm4pCistICAgIE9WU19SRVFVSVJFUyhwaW5j dHJsX211dGV4KQorIHsKKyAgICAgZW51bSBvZnBfdmVyc2lvbiB2ZXJzaW9uID0gcmNvbm5fZ2V0 X3ZlcnNpb24oc3djb25uKTsKKyAgICAgZW51bSBvZnB1dGlsX3Byb3RvY29sIHByb3RvID0gb2Zw dXRpbF9wcm90b2NvbF9mcm9tX29mcF92ZXJzaW9uKHZlcnNpb24pOworLSAgICBzdHJ1Y3QgdmVj dG9yICpycGQgPSAmYnVmZmVyZWRfcGFja2V0c19jdHgucmVhZHlfcGFja2V0c19kYXRhOworKyAg ICBzdHJ1Y3QgdmVjdG9yIHJwZCA9IFZFQ1RPUl9FTVBUWV9JTklUSUFMSVpFUihzdHJ1Y3QgYnBf cGFja2V0X2RhdGEpOworKworKyAgICBidWZmZXJlZF9wYWNrZXRzX3J1bigmYnVmZmVyZWRfcGFj a2V0c19tYXAsICZycGQpOworIAorICAgICBzdHJ1Y3QgYnBfcGFja2V0X2RhdGEgKnBkOworLSAg ICBWRUNUT1JfRk9SX0VBQ0hfUFRSIChycGQsIHBkKSB7CisrICAgIFZFQ1RPUl9GT1JfRUFDSF9Q VFIgKCZycGQsIHBkKSB7CisgICAgICAgICBxdWV1ZV9tc2coc3djb25uLCBvZnB1dGlsX2VuY29k ZV9yZXN1bWUoJnBkLT5waW4sIHBkLT5jb250aW51YXRpb24sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG8pKTsKKyAgICAgICAgIGJwX3BhY2tl dF9kYXRhX2Rlc3Ryb3kocGQpOworICAgICB9CisgCistICAgIHZlY3Rvcl9jbGVhcihycGQpOwor LSAgICBpZiAodmVjdG9yX2NhcGFjaXR5KHJwZCkgPj0gUkVBRFlfUEFDS0VUU19WRUNfQ0FQQUNJ VFlfVEhSRVNIT0xEKSB7CistICAgICAgICBWTE9HX0RCRygiVGhlIHJlYWR5X3BhY2tldHNfZGF0 YSB2ZWN0b3IgY2FwYWNpdHkgKCUiUFJJdVNJWkUiKSAiCistICAgICAgICAgICAgICAgICAiaXMg b3ZlciB0aHJlc2hvbGQuIiwgdmVjdG9yX2NhcGFjaXR5KHJwZCkpOworLSAgICAgICAgdmVjdG9y X3Nocmlua190b19maXQocnBkKTsKKy0gICAgfQorKyAgICB2ZWN0b3JfZGVzdHJveSgmcnBkKTsK KyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC00OTMxLDkgKzQ5MjUsOCBAQCBydW5fYnVmZmVyZWRf YmluZGluZyhjb25zdCBzdHJ1Y3Qgc2JyZWNfbWFjX2JpbmRpbmdfdGFibGUgKm1hY19iaW5kaW5n X3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNi cmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAorICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX21hY19iaW5kaW5nX2J5 X2xwb3J0X2lwKQorLSAgICBPVlNfUkVRVUlSRVMocGluY3RybF9tdXRleCkKKyB7CistICAgIGlm ICghYnVmZmVyZWRfcGFja2V0c19jdHhfaGFzX3BhY2tldHMoJmJ1ZmZlcmVkX3BhY2tldHNfY3R4 KSkgeworKyAgICBpZiAoY21hcF9pc19lbXB0eSgmYnVmZmVyZWRfcGFja2V0c19tYXApKSB7Cisg ICAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC00OTc5LDE4ICs0OTcyLDE2IEBAIHJ1bl9i dWZmZXJlZF9iaW5kaW5nKGNvbnN0IHN0cnVjdCBzYnJlY19tYWNfYmluZGluZ190YWJsZSAqbWFj X2JpbmRpbmdfdGFibGUsCisgICAgICAgICBtYWNfYmluZGluZ19hZGQoJnJlY2VudF9tYnMsIG1i X2RhdGEsIHNtYiwgMCk7CisgICAgIH0KKyAKKy0gICAgYnVmZmVyZWRfcGFja2V0c19jdHhfcnVu KCZidWZmZXJlZF9wYWNrZXRzX2N0eCwgJnJlY2VudF9tYnMsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2JyZWNfcG9ydF9iaW5kaW5nX2J5X2tleSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzYnJlY19kYXRhcGF0aF9iaW5kaW5nX2J5X2tleSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfbmFtZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYnJlY19tYWNfYmluZGluZ19ieV9s cG9ydF9pcCk7CisrICAgIGlmIChidWZmZXJlZF9wYWNrZXRzX2xvb2t1cF9ydW4oJmJ1ZmZlcmVk X3BhY2tldHNfbWFwLCAmcmVjZW50X21icywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfa2V5LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX21hY19iaW5kaW5nX2J5 X2xwb3J0X2lwKSkgeworKyAgICAgICAgbm90aWZ5X3BpbmN0cmxfaGFuZGxlcigpOworKyAgICB9 CisgCisgICAgIG1hY19iaW5kaW5nc19jbGVhcigmcmVjZW50X21icyk7CisgICAgIGhtYXBfZGVz dHJveSgmcmVjZW50X21icyk7CistCistICAgIGlmIChidWZmZXJlZF9wYWNrZXRzX2N0eF9pc19y ZWFkeV90b19zZW5kKCZidWZmZXJlZF9wYWNrZXRzX2N0eCkpIHsKKy0gICAgICAgIG5vdGlmeV9w aW5jdHJsX2hhbmRsZXIoKTsKKy0gICAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTU4MTks NiArNTgxMCw5IEBAIGlwX21jYXN0X3N5bmMoc3RydWN0IG92c2RiX2lkbF90eG4gKm92bnNiX2lk bF90eG4sCisgICAgICAgICBzdHJ1Y3QgaXBfbWNhc3Rfc25vb3BfY2ZnIGNmZzsKKyAgICAgICAg IGJvb2wgZmx1c2hfZ3JvdXBzID0gZmFsc2U7CisgCisrICAgICAgICBpZiAoIWdldF9sb2NhbF9k YXRhcGF0aChsb2NhbF9kYXRhcGF0aHMsIGRwX2tleSkpIHsKKysgICAgICAgICAgICBjb250aW51 ZTsKKysgICAgICAgIH0KKyAgICAgICAgIGlwX21jYXN0X3Nub29wX2NmZ19sb2FkKCZjZmcsIGlw X21jYXN0KTsKKyAgICAgICAgIGlmIChpcF9tY2FzdF9zbm9vcF9zdGF0ZV91cGRhdGUoZHBfa2V5 LCAmY2ZnLCAmZmx1c2hfZ3JvdXBzKSkgeworICAgICAgICAgICAgIG5vdGlmeSA9IHRydWU7CitA QCAtNjQzMSw3ICs2NDI1LDcgQEAgbWF5X2luamVjdF9wa3RzKHZvaWQpCisgICAgICAgICAgICAg IWNtYXBfaXNfZW1wdHkoJmdhcnBfcmFycF9nZXRfZGF0YSgpLT5kYXRhKSB8fAorICAgICAgICAg ICAgIGlwdjZfcHJlZml4ZF9zaG91bGRfaW5qZWN0KCkgfHwKKyAgICAgICAgICAgICAhb3ZzX2xp c3RfaXNfZW1wdHkoJm1jYXN0X3F1ZXJ5X2xpc3QpIHx8CistICAgICAgICAgICAgYnVmZmVyZWRf cGFja2V0c19jdHhfaXNfcmVhZHlfdG9fc2VuZCgmYnVmZmVyZWRfcGFja2V0c19jdHgpIHx8Cisr ICAgICAgICAgICAgIWNtYXBfaXNfZW1wdHkoJmJ1ZmZlcmVkX3BhY2tldHNfbWFwKSB8fAorICAg ICAgICAgICAgIGJmZF9tb25pdG9yX3Nob3VsZF9pbmplY3QoKSk7CisgfQorIAorQEAgLTY1MjEs OSArNjUxNSw3IEBAIHBpbmN0cmxfaGFuZGxlX25kX25zKHN0cnVjdCByY29ubiAqc3djb25uLCBj b25zdCBzdHJ1Y3QgZmxvdyAqaXBfZmxvdywKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAor LSAgICBvdnNfbXV0ZXhfbG9jaygmcGluY3RybF9tdXRleCk7CisgICAgIHBpbmN0cmxfaGFuZGxl X2J1ZmZlcmVkX3BhY2tldHMocGluLCBjb250aW51YXRpb24sIGZhbHNlKTsKKy0gICAgb3ZzX211 dGV4X3VubG9jaygmcGluY3RybF9tdXRleCk7CisgCisgICAgIHVpbnQ2NF90IHBhY2tldF9zdHVi WzEyOCAvIDhdOworICAgICBzdHJ1Y3QgZHBfcGFja2V0IHBhY2tldDsKK0BAIC02NTM0LDE3ICs2 NTI2LDI3IEBAIHBpbmN0cmxfaGFuZGxlX25kX25zKHN0cnVjdCByY29ubiAqc3djb25uLCBjb25z dCBzdHJ1Y3QgZmxvdyAqaXBfZmxvdywKKyAKKyAgICAgLyogV2UgbWlnaHQgYmUgaGVyZSB3aXRo b3V0IGFjdHVhbGx5IGN1cnJlbnRseSBoYW5kbGluZyBhbiBJUHY2IHBhY2tldC4KKyAgICAgICog VGhpcyBjYW4gaGFwcGVuIGluIHRoZSBjYXNlIHdoZXJlIHdlIHJvdXRlIElQdjQgcGFja2V0cyBv dmVyIGFuIElQdjYKKy0gICAgICogbGluay4KKy0gICAgICogSW4gdGhlc2UgY2FzZXMgd2UgaGF2 ZSBubyBkZXN0aW5hdGlvbiBJUHY2IGFkZHJlc3MgZnJvbSB0aGUgcGFja2V0IHRoYXQKKy0gICAg ICogd2UgY2FuIHJldXNlLiBCdXQgd2UgcmVjZWl2ZSB0aGUgYWN0dWFsIGRlc3RpbmF0aW9uIElQ djYgYWRkcmVzcyB2aWEKKy0gICAgICogdXNlcmRhdGEgYW55d2F5LCBzbyB3aGF0IHdlIHBhc3Mg dG8gY29tcG9zZV9uZF9ucyBpcyBpcnJlbGV2YW50LgorLSAgICAgKiBUaGlzIGlzIGp1c3QgYSBo b3BlIHNpbmNlIHdlIGRvIG5vdCBwYXJzZSB0aGUgdXNlcmRhdGEuIElmIHdlIGxhbmQgaGVyZQor LSAgICAgKiBmb3Igd2hhdGV2ZXIgcmVhc29uIHdpdGhvdXQgYmVpbmcgYW4gSVB2NiBwYWNrZXQg YW5kIHdpdGhvdXQgdXNlcmRhdGEgd2UKKy0gICAgICogd2lsbCBzZW5kIG91dCBhIHdyb25nIHBh Y2tldC4KKy0gICAgICovCisrICAgICAqIGxpbmsgKGUuZy4gUkZDIDU1NDkgLyBCR1AgdW5udW1i ZXJlZCwgd2hlcmUgYW4gSVB2NCBkZXN0aW5hdGlvbiBpcworKyAgICAgKiByZXNvbHZlZCB2aWEg YW4gSVB2NiBsaW5rLWxvY2FsIG5leHRob3ApLgorKyAgICAgKgorKyAgICAgKiBJbiB0aGF0IGNh c2Ugd2UgaGF2ZSBubyBkZXN0aW5hdGlvbiBJUHY2IGFkZHJlc3MgaW4gdGhlIHRyaWdnZXIgcGFj a2V0CisrICAgICAqIHRvIHJldXNlLiBjb21wb3NlX25kX25zKCkgbmVlZHMgYSB2YWxpZCBkZXN0 aW5hdGlvbiBzbyBpdCBjYW4gZGVyaXZlCisrICAgICAqIHRoZSBjb3JyZWN0IHNvbGljaXRlZC1u b2RlIG11bHRpY2FzdCAoZmYwMjo6MTpmZnthZGRyWzEzOjE2XX0pIGZvcgorKyAgICAgKiBldGgu ZHN0IGFuZCBpcDYuZHN0IC0tIHVzZXJkYXRhIG9ubHkgc2V0cyBuZC50YXJnZXQgb24gdGhlIG5l dyBwYWNrZXQKKysgICAgICogYW5kIGRvZXMgbm90IHJld3JpdGUgaXA2LmRzdCwgc28gYSB3cm9u ZyBpcHY2X2RzdCBoZXJlIGVncmVzc2VzIG9uIHRoZQorKyAgICAgKiB3aXJlIGFzLWlzLgorKyAg ICAgKgorKyAgICAgKiBUaGUgZmFsbGJhY2sgbmRfbnMgbG9naWNhbCBmbG93IGluIFNfUk9VVEVS X0lOX0FSUF9SRVFVRVNUIHN0b3JlcyB0aGUKKysgICAgICogYWN0dWFsIElQdjYgbmV4dGhvcCBp biB4eHJlZzAgKFJFR19ORVhUX0hPUF9JUFY2KSBiZWZvcmUgaW52b2tpbmcgdGhlCisrICAgICAq IG5kX25zIGFjdGlvbiwgc28gZm9yIHRoZSBJUHY0LW92ZXItSVB2NiBjYXNlIHJlYWQgeHhyZWcw IGZyb20gdGhlCisrICAgICAqIHRyaWdnZXIgcGFja2V0J3MgZmxvdyBtZXRhZGF0YS4gKi8KKyAg ICAgc3RydWN0IGluNl9hZGRyIGlwdjZfZHN0ID0gSU42QUREUl9FWEFDVF9JTklUOworICAgICBp ZiAoZ2V0X2RsX3R5cGUoaXBfZmxvdykgPT0gaHRvbnMoRVRIX1RZUEVfSVBWNikpIHsKKyAgICAg ICAgIGlwdjZfZHN0ID0gaXBfZmxvdy0+aXB2Nl9kc3Q7CisrICAgIH0gZWxzZSB7CisrICAgICAg ICBvdnNfYmUxMjggbmV4dGhvcF9iZSA9CisrICAgICAgICAgICAgaHRvbjEyOChmbG93X2dldF94 eHJlZygmcGluLT5mbG93X21ldGFkYXRhLmZsb3csIDApKTsKKysgICAgICAgIG1lbWNweSgmaXB2 Nl9kc3QsICZuZXh0aG9wX2JlLCBzaXplb2YgaXB2Nl9kc3QpOworICAgICB9CisgICAgIGNvbXBv c2VfbmRfbnMoJnBhY2tldCwgaXBfZmxvdy0+ZGxfc3JjLCAmaXB2Nl9zcmMsCisgICAgICAgICAg ICAgICAgICAgJmlwdjZfZHN0KTsKK2RpZmYgLS1naXQgYS9saWIvZXhwci5jIGIvbGliL2V4cHIu YworaW5kZXggMjg4ZTI0NWM2NS4uM2M1MDZjNDJjMCAxMDA2NDQKKy0tLSBhL2xpYi9leHByLmMK KysrKyBiL2xpYi9leHByLmMKK0BAIC0yMzY2LDcgKzIzNjYsNyBAQCBjb21wYXJlX2V4cHJfc29y dChjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8pCisgICAgICAgICB9CisgCisgICAgICAg ICBlbnVtIGV4cHJfdHlwZSBhX3R5cGUgPSBhLT5leHByLT50eXBlOworLSAgICAgICAgZW51bSBl eHByX3R5cGUgYl90eXBlID0gYS0+ZXhwci0+dHlwZTsKKysgICAgICAgIGVudW0gZXhwcl90eXBl IGJfdHlwZSA9IGItPmV4cHItPnR5cGU7CisgICAgICAgICByZXR1cm4gYV90eXBlIDwgYl90eXBl ID8gLTEgOiBhX3R5cGUgPiBiX3R5cGU7CisgICAgIH0gZWxzZSBpZiAoYS0+dHlwZSA9PSBFWFBS X1RfQU5EIHx8IGEtPnR5cGUgPT0gRVhQUl9UX09SKSB7CisgICAgICAgICBzaXplX3QgYV9sZW4g PSBvdnNfbGlzdF9zaXplKCZhLT5leHByLT5hbmRvcik7CiBkaWZmIC0tZ2l0IGEvbGliL292bi11 dGlsLmggYi9saWIvb3ZuLXV0aWwuaAotaW5kZXggNGVhNWRiMWUyMi4uNWZlOTAyZGEwYSAxMDA2 NDQKK2luZGV4IDRlYTVkYjFlMjIuLjRlZjkzYzQ3MGIgMTAwNjQ0CiAtLS0gYS9saWIvb3ZuLXV0 aWwuaAogKysrIGIvbGliL292bi11dGlsLmgKLUBAIC01NDgsOCArNTQ4LDggQEAgZHluYW1pY19i aXRtYXBfbGFzdF9zZXQoY29uc3Qgc3RydWN0IGR5bmFtaWNfYml0bWFwICpkYikKK0BAIC0xODUs NiArMTg1LDcgQEAgc3RydWN0IG92c2RiX2lkbF90eG4gKnJ1bl9pZGxfbG9vcChzdHJ1Y3Qgb3Zz ZGJfaWRsX2xvb3AgKmlkbF9sb29wLAorICNkZWZpbmUgT1ZOX0VWUE5fS0VZX0ZMQUcgMzEKKyAj ZGVmaW5lIE9WTl9NSU5fRVZQTl9LRVkgKDF1IDw8IE9WTl9FVlBOX0tFWV9GTEFHKQorICNkZWZp bmUgT1ZOX01BWF9FVlBOX0tFWSAoT1ZOX01BWF9EUF9HTE9CQUxfTlVNIHwgT1ZOX01JTl9FVlBO X0tFWSkKKysjZGVmaW5lIE9WTl9JU19FVlBOX0tFWShrZXkpICgoKGtleSkgJiBPVk5fTUlOX0VW UE5fS0VZKSA9PSBPVk5fTUlOX0VWUE5fS0VZKQorIAorIHN0cnVjdCBobWFwOworIHZvaWQgb3Zu X2Rlc3Ryb3lfdG5saWRzKHN0cnVjdCBobWFwICp0bmxpZHMpOworQEAgLTU0OCw4ICs1NDksOCBA QCBkeW5hbWljX2JpdG1hcF9sYXN0X3NldChjb25zdCBzdHJ1Y3QgZHluYW1pY19iaXRtYXAgKmRi KQogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogIApAQCAtMTMsNiArMTUyNSwx MzkyIEBAIGluZGV4IDRlYTVkYjFlMjIuLjVmZTkwMmRhMGEgMTAwNjQ0CiAgICAgIH0KICAKICAg ICAgcmV0dXJuIC0xOworZGlmZiAtLWdpdCBhL25vcnRoZC9hdXRvbWFrZS5tayBiL25vcnRoZC9h dXRvbWFrZS5taworaW5kZXggOGNkNGZiM2ExMy4uNDVjYTAzMzdmOSAxMDA2NDQKKy0tLSBhL25v cnRoZC9hdXRvbWFrZS5taworKysrIGIvbm9ydGhkL2F1dG9tYWtlLm1rCitAQCAtNDQsOCArNDQs NiBAQCBub3J0aGRfb3ZuX25vcnRoZF9TT1VSQ0VTID0gXAorIAlub3J0aGQvZW4tbHItc3RhdGVm dWwuaCBcCisgCW5vcnRoZC9lbi1scy1zdGF0ZWZ1bC5jIFwKKyAJbm9ydGhkL2VuLWxzLXN0YXRl ZnVsLmggXAorLQlub3J0aGQvZW4tbHMtYXJwLmMgXAorLQlub3J0aGQvZW4tbHMtYXJwLmggXAor IAlub3J0aGQvZW4tc2FtcGxpbmctYXBwLmMgXAorIAlub3J0aGQvZW4tc2FtcGxpbmctYXBwLmgg XAorIAlub3J0aGQvZW4tYWNsLWlkcy5jIFwKK2RpZmYgLS1naXQgYS9ub3J0aGQvZW4tbGZsb3cu YyBiL25vcnRoZC9lbi1sZmxvdy5jCitpbmRleCA3MDRmYWU3MDk1Li43NTIwMDdlMDNhIDEwMDY0 NAorLS0tIGEvbm9ydGhkL2VuLWxmbG93LmMKKysrKyBiL25vcnRoZC9lbi1sZmxvdy5jCitAQCAt MjMsNyArMjMsNiBAQAorICNpbmNsdWRlICJlbi1sci1uYXQuaCIKKyAjaW5jbHVkZSAiZW4tbHIt c3RhdGVmdWwuaCIKKyAjaW5jbHVkZSAiZW4tbHMtc3RhdGVmdWwuaCIKKy0jaW5jbHVkZSAiZW4t bHMtYXJwLmgiCisgI2luY2x1ZGUgImVuLW11bHRpY2FzdC5oIgorICNpbmNsdWRlICJlbi1ub3J0 aGQuaCIKKyAjaW5jbHVkZSAiZW4tbWV0ZXJzLmgiCitAQCAtNjIsOCArNjEsNiBAQCBsZmxvd19n ZXRfaW5wdXRfZGF0YShzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsCisgICAgICAgICBlbmdpbmVf Z2V0X2lucHV0X2RhdGEoImxyX3N0YXRlZnVsIiwgbm9kZSk7CisgICAgIHN0cnVjdCBlZF90eXBl X2xzX3N0YXRlZnVsICpsc19zdGF0ZWZ1bF9kYXRhID0KKyAgICAgICAgIGVuZ2luZV9nZXRfaW5w dXRfZGF0YSgibHNfc3RhdGVmdWwiLCBub2RlKTsKKy0gICAgc3RydWN0IGVkX3R5cGVfbHNfYXJw ICpsc19hcnBfZGF0YSA9CistICAgICAgICBlbmdpbmVfZ2V0X2lucHV0X2RhdGEoImxzX2FycCIs IG5vZGUpOworICAgICBzdHJ1Y3QgbXVsdGljYXN0X2lnbXBfZGF0YSAqbXVsdGljYXRfaWdtcF9k YXRhID0KKyAgICAgICAgIGVuZ2luZV9nZXRfaW5wdXRfZGF0YSgibXVsdGljYXN0X2lnbXAiLCBu b2RlKTsKKyAgICAgc3RydWN0IGljX2xlYXJuZWRfc3ZjX21vbml0b3JzX2RhdGEgKmljX2xlYXJu ZWRfc3ZjX21vbml0b3JzX2RhdGEgPQorQEAgLTkwLDcgKzg3LDYgQEAgbGZsb3dfZ2V0X2lucHV0 X2RhdGEoc3RydWN0IGVuZ2luZV9ub2RlICpub2RlLAorICAgICBsZmxvd19pbnB1dC0+bHNfcG9y dF9ncm91cHMgPSAmcGdfZGF0YS0+bHNfcG9ydF9ncm91cHM7CisgICAgIGxmbG93X2lucHV0LT5s cl9zdGF0ZWZ1bF90YWJsZSA9ICZscl9zdGF0ZWZ1bF9kYXRhLT50YWJsZTsKKyAgICAgbGZsb3df aW5wdXQtPmxzX3N0YXRlZnVsX3RhYmxlID0gJmxzX3N0YXRlZnVsX2RhdGEtPnRhYmxlOworLSAg ICBsZmxvd19pbnB1dC0+bHNfYXJwX3RhYmxlID0gJmxzX2FycF9kYXRhLT50YWJsZTsKKyAgICAg bGZsb3dfaW5wdXQtPm1ldGVyX2dyb3VwcyA9ICZzeW5jX21ldGVyc19kYXRhLT5tZXRlcl9ncm91 cHM7CisgICAgIGxmbG93X2lucHV0LT5sYl9kYXRhcGF0aHNfbWFwID0gJm5vcnRoZF9kYXRhLT5s Yl9kYXRhcGF0aHNfbWFwOworICAgICBsZmxvd19pbnB1dC0+bG9jYWxfc3ZjX21vbml0b3JzX21h cCA9CitAQCAtMjMwLDMxICsyMjYsNiBAQCBsZmxvd19sc19zdGF0ZWZ1bF9oYW5kbGVyKHN0cnVj dCBlbmdpbmVfbm9kZSAqbm9kZSwgdm9pZCAqZGF0YSkKKyAgICAgcmV0dXJuIEVOX0hBTkRMRURf VVBEQVRFRDsKKyB9CisgCistZW51bSBlbmdpbmVfaW5wdXRfaGFuZGxlcl9yZXN1bHQKKy1sZmxv d19sc19hcnBfaGFuZGxlcihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGEpCist eworLSAgICBzdHJ1Y3QgZWRfdHlwZV9sc19hcnAgKmxzX2FycF9kYXRhID0KKy0gICAgICAgIGVu Z2luZV9nZXRfaW5wdXRfZGF0YSgibHNfYXJwIiwgbm9kZSk7CistCistICAgIGlmICghbHNfYXJw X2hhc190cmFja2VkX2RhdGEoJmxzX2FycF9kYXRhLT50cmtfZGF0YSkpIHsKKy0gICAgICAgIHJl dHVybiBFTl9VTkhBTkRMRUQ7CistICAgIH0KKy0KKy0gICAgY29uc3Qgc3RydWN0IGVuZ2luZV9j b250ZXh0ICplbmdfY3R4ID0gZW5naW5lX2dldF9jb250ZXh0KCk7CistICAgIHN0cnVjdCBsZmxv d19kYXRhICpsZmxvd19kYXRhID0gZGF0YTsKKy0gICAgc3RydWN0IGxmbG93X2lucHV0IGxmbG93 X2lucHV0OworLQorLSAgICBsZmxvd19nZXRfaW5wdXRfZGF0YShub2RlLCAmbGZsb3dfaW5wdXQp OworLSAgICBpZiAoIWxmbG93X2hhbmRsZV9sc19hcnBfY2hhbmdlcyhlbmdfY3R4LT5vdm5zYl9p ZGxfdHhuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHNfYXJwX2Rh dGEtPnRya19kYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbGZs b3dfaW5wdXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbG93X2Rh dGEtPmxmbG93X3RhYmxlKSkgeworLSAgICAgICAgcmV0dXJuIEVOX1VOSEFORExFRDsKKy0gICAg fQorLQorLSAgICByZXR1cm4gRU5fSEFORExFRF9VUERBVEVEOworLX0KKy0KKyBlbnVtIGVuZ2lu ZV9pbnB1dF9oYW5kbGVyX3Jlc3VsdAorIGxmbG93X211bHRpY2FzdF9pZ21wX2hhbmRsZXIoc3Ry dWN0IGVuZ2luZV9ub2RlICpub2RlLCB2b2lkICpkYXRhKQorIHsKK2RpZmYgLS1naXQgYS9ub3J0 aGQvZW4tbGZsb3cuaCBiL25vcnRoZC9lbi1sZmxvdy5oCitpbmRleCBkMmE5MmU0OWY3Li45OWJj ZmRhMTUxIDEwMDY0NAorLS0tIGEvbm9ydGhkL2VuLWxmbG93LmgKKysrKyBiL25vcnRoZC9lbi1s Zmxvdy5oCitAQCAtMjUsOCArMjUsNiBAQCBsZmxvd19scl9zdGF0ZWZ1bF9oYW5kbGVyKHN0cnVj dCBlbmdpbmVfbm9kZSAqLCB2b2lkICpkYXRhKTsKKyBlbnVtIGVuZ2luZV9pbnB1dF9oYW5kbGVy X3Jlc3VsdAorIGxmbG93X2xzX3N0YXRlZnVsX2hhbmRsZXIoc3RydWN0IGVuZ2luZV9ub2RlICpu b2RlLCB2b2lkICpkYXRhKTsKKyBlbnVtIGVuZ2luZV9pbnB1dF9oYW5kbGVyX3Jlc3VsdAorLWxm bG93X2xzX2FycF9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9kZSAqLCB2b2lkICopOworLWVudW0g ZW5naW5lX2lucHV0X2hhbmRsZXJfcmVzdWx0CisgbGZsb3dfbXVsdGljYXN0X2lnbXBfaGFuZGxl cihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGEpOworIGVudW0gZW5naW5lX2lu cHV0X2hhbmRsZXJfcmVzdWx0CisgbGZsb3dfZ3JvdXBfZWNtcF9yb3V0ZV9jaGFuZ2VfaGFuZGxl cihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGEpOworZGlmZiAtLWdpdCBhL25v cnRoZC9lbi1scy1hcnAuYyBiL25vcnRoZC9lbi1scy1hcnAuYworZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMjFmNTA1NGZlLi4wMDAwMDAwMDAwCistLS0gYS9ub3J0aGQvZW4tbHMt YXJwLmMKKysrKyAvZGV2L251bGwKK0BAIC0xLDM1NCArMCwwIEBACistLyoKKy0gKiBMaWNlbnNl ZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsK Ky0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgg dGhlIExpY2Vuc2UuCistICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0 OgorLSAqCistICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu MAorLSAqCistICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0 byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNl IGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCistICogV0lUSE9VVCBXQVJSQU5U SUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQu CistICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5n IHBlcm1pc3Npb25zIGFuZAorLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLSAq LworLQorLSNpbmNsdWRlIDxjb25maWcuaD4KKy0KKy0vKiBPVlMgaW5jbHVkZXMgKi8KKy0jaW5j bHVkZSAiaW5jbHVkZS9vcGVudnN3aXRjaC9obWFwLmgiCistI2luY2x1ZGUgIm9wZW52c3dpdGNo L3V0aWwuaCIKKy0jaW5jbHVkZSAib3BlbnZzd2l0Y2gvdmxvZy5oIgorLQorLS8qIE9WTiBpbmNs dWRlcyAqLworLSNpbmNsdWRlICJlbi1sci1uYXQuaCIKKy0jaW5jbHVkZSAiZW4tbHMtYXJwLmgi CistI2luY2x1ZGUgImxpYi9pbmMtcHJvYy1lbmcuaCIKKy0jaW5jbHVkZSAibGliL292bi1uYi1p ZGwuaCIKKy0jaW5jbHVkZSAibGliL292bi1zYi1pZGwuaCIKKy0jaW5jbHVkZSAibGliL292bi11 dGlsLmgiCistI2luY2x1ZGUgImxmbG93LW1nci5oIgorLSNpbmNsdWRlICJub3J0aGQuaCIKKy0K Ky1WTE9HX0RFRklORV9USElTX01PRFVMRShlbl9sc19hcnApOworLQorLS8qIFN0YXRpYyBmdW5j dGlvbnMuICovCistc3RydWN0IGxzX2FycF9pbnB1dCB7CistICAgIGNvbnN0IHN0cnVjdCBvdm5f ZGF0YXBhdGhzICpsc19kYXRhcGF0aHM7CistICAgIGNvbnN0IHN0cnVjdCBscl9uYXRfdGFibGUg KmxyX25hdHM7CistfTsKKy0KKy1zdGF0aWMgc3RydWN0IGxzX2FycF9pbnB1dAorLWxzX2FycF9n ZXRfaW5wdXRfZGF0YShzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUpCisteworLSAgICBjb25zdCBz dHJ1Y3Qgbm9ydGhkX2RhdGEgKm5vcnRoZF9kYXRhID0KKy0gICAgICAgIGVuZ2luZV9nZXRfaW5w dXRfZGF0YSgibm9ydGhkIiwgbm9kZSk7CistICAgIHN0cnVjdCBlZF90eXBlX2xyX25hdF9kYXRh ICpscl9uYXRfZGF0YSA9CistICAgICAgICBlbmdpbmVfZ2V0X2lucHV0X2RhdGEoImxyX25hdCIs IG5vZGUpOworLQorLSAgICByZXR1cm4gKHN0cnVjdCBsc19hcnBfaW5wdXQpIHsKKy0gICAgICAg IC5sc19kYXRhcGF0aHMgPSAmbm9ydGhkX2RhdGEtPmxzX2RhdGFwYXRocywKKy0gICAgICAgIC5s cl9uYXRzID0gJmxyX25hdF9kYXRhLT5scl9uYXRzLAorLSAgICB9OworLX0KKy0KKy1zdGF0aWMg dm9pZAorLWxzX2FycF9yZWNvcmRfY2xlYXIoc3RydWN0IGxzX2FycF9yZWNvcmQgKmxzX2FycF9y ZWNvcmQpCisteworLSAgICBsZmxvd19yZWZfZGVzdHJveShsc19hcnBfcmVjb3JkLT5sZmxvd19y ZWYpOworLSAgICBobWFweF9kZXN0cm95KCZsc19hcnBfcmVjb3JkLT5uYXRfcmVjb3Jkcyk7Cist ICAgIGZyZWUobHNfYXJwX3JlY29yZCk7CistfQorLQorLXN0YXRpYyB2b2lkCistbHNfYXJwX3Rh YmxlX2NsZWFyKHN0cnVjdCBsc19hcnBfdGFibGUgKnRhYmxlKQorLXsKKy0gICAgc3RydWN0IGxz X2FycF9yZWNvcmQgKmxzX2FycF9yZWNvcmQ7CistICAgIEhNQVBfRk9SX0VBQ0hfUE9QIChsc19h cnBfcmVjb3JkLCBrZXlfbm9kZSwgJnRhYmxlLT5lbnRyaWVzKSB7CistICAgICAgICBsc19hcnBf cmVjb3JkX2NsZWFyKGxzX2FycF9yZWNvcmQpOworLSAgICB9CistfQorLQorLXN0YXRpYyBpbmxp bmUgYm9vbAorLWlzX25hdF9kZ3BfY29ubmVjdGVkKGNvbnN0IHN0cnVjdCBvdm5fbmF0ICpuYXRf ZW50cnkpCisteworLSAgICByZXR1cm4gbmF0X2VudHJ5LT5pc192YWxpZAorLSAgICAgICAgICAg JiYgbmF0X2VudHJ5LT5sM2Rnd19wb3J0CistICAgICAgICAgICAmJiBuYXRfZW50cnktPmwzZGd3 X3BvcnQtPnBlZXIKKy0gICAgICAgICAgICYmIG5hdF9lbnRyeS0+bDNkZ3dfcG9ydC0+cGVlci0+ b2Q7CistfQorLQorLXN0YXRpYyB2b2lkCistbmF0X3JlY29yZF9kYXRhX2NyZWF0ZShzdHJ1Y3Qg bHNfYXJwX3JlY29yZCAqbHNfYXJwX3JlY29yZCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kLAorLSAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGxyX25hdF90YWJsZSAqbHJfbmF0cykKKy17CistICAgIHN0cnVjdCBvdm5fcG9y dCAqb3A7CistICAgIFZFQ1RPUl9GT1JfRUFDSCAoJm9kLT5yb3V0ZXJfcG9ydHMsIG9wKSB7Cist ICAgICAgICBjb25zdCBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpscl9vZCA9IG9wLT5wZWVyLT5vZDsK Ky0gICAgICAgIGNvbnN0IHN0cnVjdCBscl9uYXRfcmVjb3JkICpscm5hdF9yZWMgPQorLSAgICAg ICAgICAgIGxyX25hdF90YWJsZV9maW5kX2J5X3V1aWQobHJfbmF0cywgbHJfb2QtPmtleSk7Cist CistICAgICAgICBpZiAoIWxybmF0X3JlYykgeworLSAgICAgICAgICAgIGNvbnRpbnVlOworLSAg ICAgICAgfQorLQorLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBscm5hdF9yZWMtPm5f bmF0X2VudHJpZXM7IGkrKykgeworLSAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvdm5fbmF0ICpu YXRfZW50cnkgPSAmbHJuYXRfcmVjLT5uYXRfZW50cmllc1tpXTsKKy0KKy0gICAgICAgICAgICBp ZiAoaXNfbmF0X2RncF9jb25uZWN0ZWQobmF0X2VudHJ5KSkgeworLSAgICAgICAgICAgICAgICBo bWFweF9hZGQoJmxzX2FycF9yZWNvcmQtPm5hdF9yZWNvcmRzLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cnVjdCBscm5hdF9yZWMgKikgbHJuYXRfcmVjKTsKKy0gICAgICAgICAgICAg ICAgY29udGludWU7CistICAgICAgICAgICAgfQorLSAgICAgICAgfQorLSAgICB9CistfQorLQor LXN0YXRpYyBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqCistbHNfYXJwX3JlY29yZF9sb29rdXBfYnlf b2RfKGNvbnN0IHN0cnVjdCBsc19hcnBfdGFibGUgKnRhYmxlLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpvZCkKKy17CistICAgIHN0cnVj dCBsc19hcnBfcmVjb3JkICpsc19hcnBfcmVjb3JkOworLSAgICBITUFQX0ZPUl9FQUNIX1dJVEhf SEFTSCAobHNfYXJwX3JlY29yZCwga2V5X25vZGUsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1dWlkX2hhc2goJm9kLT5uYnMtPmhlYWRlcl8udXVpZCksCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmdGFibGUtPmVudHJpZXMpIHsKKy0gICAgICAgIGlmICh1dWlkX2VxdWFs cygmbHNfYXJwX3JlY29yZC0+bmJzX3V1aWQsCistICAgICAgICAgICAgICAgICAgICAgICAgJm9k LT5uYnMtPmhlYWRlcl8udXVpZCkpIHsKKy0gICAgICAgICAgICByZXR1cm4gbHNfYXJwX3JlY29y ZDsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAgICByZXR1cm4gTlVMTDsKKy19CistCistc3Rh dGljIHN0cnVjdCBsc19hcnBfcmVjb3JkICoKKy1sc19hcnBfcmVjb3JkX2NyZWF0ZShzdHJ1Y3Qg bHNfYXJwX3RhYmxlICp0YWJsZSwKKy0gICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg b3ZuX2RhdGFwYXRoICpvZCwKKy0gICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbHJf bmF0X3RhYmxlICpscl9uYXRzKQorLXsKKy0gICAgc3RydWN0IGxzX2FycF9yZWNvcmQgKmxzX2Fy cF9yZWNvcmQgPSB4emFsbG9jKHNpemVvZiAqbHNfYXJwX3JlY29yZCk7CistCistICAgIGxzX2Fy cF9yZWNvcmQtPmxzX2luZGV4ID0gb2QtPnNkcC0+aW5kZXg7CistICAgIGxzX2FycF9yZWNvcmQt Pm5ic191dWlkID0gb2QtPm5icy0+aGVhZGVyXy51dWlkOworLQorLSAgICBobWFweF9pbml0KCZs c19hcnBfcmVjb3JkLT5uYXRfcmVjb3Jkcyk7CistICAgIG5hdF9yZWNvcmRfZGF0YV9jcmVhdGUo bHNfYXJwX3JlY29yZCwgb2QsIGxyX25hdHMpOworLQorLSAgICBsc19hcnBfcmVjb3JkLT5sZmxv d19yZWYgPSBsZmxvd19yZWZfY3JlYXRlKCk7CistCistICAgIGhtYXBfaW5zZXJ0KCZ0YWJsZS0+ ZW50cmllcywgJmxzX2FycF9yZWNvcmQtPmtleV9ub2RlLAorLSAgICAgICAgICAgICAgICB1dWlk X2hhc2goJm9kLT5uYnMtPmhlYWRlcl8udXVpZCkpOworLQorLSAgICByZXR1cm4gbHNfYXJwX3Jl Y29yZDsKKy19CistCistLyogUHVibGljIGZ1bmN0aW9ucy4gKi8KKy12b2lkKgorLWVuX2xzX2Fy cF9pbml0KHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSBPVlNfVU5VU0VELAorLSAgICAgICAgICAg ICAgIHN0cnVjdCBlbmdpbmVfYXJnICphcmcgT1ZTX1VOVVNFRCkKKy17CistICAgIHN0cnVjdCBl ZF90eXBlX2xzX2FycCAqZGF0YSA9IHh6YWxsb2Moc2l6ZW9mICpkYXRhKTsKKy0KKy0gICAgaG1h cF9pbml0KCZkYXRhLT50YWJsZS5lbnRyaWVzKTsKKy0gICAgaG1hcHhfaW5pdCgmZGF0YS0+dHJr X2RhdGEuY3J1cGRhdGVkKTsKKy0gICAgaG1hcHhfaW5pdCgmZGF0YS0+dHJrX2RhdGEuZGVsZXRl ZCk7CistCistICAgIHJldHVybiBkYXRhOworLX0KKy0KKy12b2lkCistZW5fbHNfYXJwX2NsZWFy X3RyYWNrZWRfZGF0YSh2b2lkICpkYXRhXykKKy17CistICAgIHN0cnVjdCBlZF90eXBlX2xzX2Fy cCAqZGF0YSA9IGRhdGFfOworLSAgICBobWFweF9jbGVhcigmZGF0YS0+dHJrX2RhdGEuY3J1cGRh dGVkKTsKKy0KKy0gICAgc3RydWN0IGhtYXB4X25vZGUgKm47CistICAgIEhNQVBYX0ZPUl9FQUNI X1NBRkUgKG4sICZkYXRhLT50cmtfZGF0YS5kZWxldGVkKSB7CistICAgICAgICBsc19hcnBfcmVj b3JkX2NsZWFyKG4tPmRhdGEpOworLSAgICAgICAgaG1hcHhfZGVsZXRlKCZkYXRhLT50cmtfZGF0 YS5kZWxldGVkLCBuKTsKKy0gICAgfQorLSAgICBobWFweF9jbGVhcigmZGF0YS0+dHJrX2RhdGEu ZGVsZXRlZCk7CistfQorLQorLXZvaWQKKy1lbl9sc19hcnBfY2xlYW51cCh2b2lkICpkYXRhXykK Ky17CistICAgIHN0cnVjdCBlZF90eXBlX2xzX2FycCAqZGF0YSA9IGRhdGFfOworLQorLSAgICBs c19hcnBfdGFibGVfY2xlYXIoJmRhdGEtPnRhYmxlKTsKKy0gICAgaG1hcF9kZXN0cm95KCZkYXRh LT50YWJsZS5lbnRyaWVzKTsKKy0gICAgaG1hcHhfZGVzdHJveSgmZGF0YS0+dHJrX2RhdGEuY3J1 cGRhdGVkKTsKKy0KKy0gICAgc3RydWN0IGhtYXB4X25vZGUgKm47CistICAgIEhNQVBYX0ZPUl9F QUNIX1NBRkUgKG4sICZkYXRhLT50cmtfZGF0YS5kZWxldGVkKSB7CistICAgICAgICBsc19hcnBf cmVjb3JkX2NsZWFyKG4tPmRhdGEpOworLSAgICAgICAgaG1hcHhfZGVsZXRlKCZkYXRhLT50cmtf ZGF0YS5kZWxldGVkLCBuKTsKKy0gICAgfQorLSAgICBobWFweF9kZXN0cm95KCZkYXRhLT50cmtf ZGF0YS5kZWxldGVkKTsKKy19CistCistZW51bSBlbmdpbmVfbm9kZV9zdGF0ZQorLWVuX2xzX2Fy cF9ydW4oc3RydWN0IGVuZ2luZV9ub2RlICpub2RlLCB2b2lkICpkYXRhXykKKy17CistICAgIHN0 cnVjdCBsc19hcnBfaW5wdXQgaW5wdXRfZGF0YSA9IGxzX2FycF9nZXRfaW5wdXRfZGF0YShub2Rl KTsKKy0gICAgc3RydWN0IGVkX3R5cGVfbHNfYXJwICpkYXRhID0gZGF0YV87CistCistICAgIGxz X2FycF90YWJsZV9jbGVhcigmZGF0YS0+dGFibGUpOworLQorLSAgICBjb25zdCBzdHJ1Y3Qgb3Zu X2RhdGFwYXRoICpvZDsKKy0gICAgSE1BUF9GT1JfRUFDSCAob2QsIGtleV9ub2RlLCAmaW5wdXRf ZGF0YS5sc19kYXRhcGF0aHMtPmRhdGFwYXRocykgeworLSAgICAgICAgLyogRmlsdGVyaW5nIEFS UCBlbnRyaWVzIGF0IGxvZ2ljYWwgc3dpdGNoIHdvcmtzCistICAgICAgICAgKiB3aGVuIHRoZXJl IGFyZSBwaHlzaWNhbCBwb3J0cyBvbiB0aGUgc3dpdGNoLiAqLworLSAgICAgICAgaWYgKGhtYXB4 X2lzX2VtcHR5KCZvZC0+cGh5c19wb3J0cykpIHsKKy0gICAgICAgICAgICBjb250aW51ZTsKKy0g ICAgICAgIH0KKy0KKy0gICAgICAgIGxzX2FycF9yZWNvcmRfY3JlYXRlKCZkYXRhLT50YWJsZSwg b2QsIGlucHV0X2RhdGEubHJfbmF0cyk7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIEVOX1VQREFU RUQ7CistfQorLQorLS8qIEhhbmRsZXIgZnVuY3Rpb25zLiAqLworLWVudW0gZW5naW5lX2lucHV0 X2hhbmRsZXJfcmVzdWx0CistbHNfYXJwX25vcnRoZF9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9k ZSAqbm9kZSwgdm9pZCAqZGF0YV8pCisteworLSAgICBzdHJ1Y3Qgbm9ydGhkX2RhdGEgKm5vcnRo ZF9kYXRhID0gZW5naW5lX2dldF9pbnB1dF9kYXRhKCJub3J0aGQiLCBub2RlKTsKKy0gICAgaWYg KCFub3J0aGRfaGFzX3RyYWNrZWRfZGF0YSgmbm9ydGhkX2RhdGEtPnRya19kYXRhKSkgeworLSAg ICAgICAgcmV0dXJuIEVOX1VOSEFORExFRDsKKy0gICAgfQorLQorLSAgICBpZiAoIW5vcnRoZF9o YXNfbHN3aXRjaGVzX2luX3RyYWNrZWRfZGF0YSgmbm9ydGhkX2RhdGEtPnRya19kYXRhKSkgewor LSAgICAgICAgcmV0dXJuIEVOX0hBTkRMRURfVU5DSEFOR0VEOworLSAgICB9CistCistICAgIHN0 cnVjdCBub3J0aGRfdHJhY2tlZF9kYXRhICpuZF9jaGFuZ2VzID0gJm5vcnRoZF9kYXRhLT50cmtf ZGF0YTsKKy0gICAgc3RydWN0IGxzX2FycF9pbnB1dCBpbnB1dF9kYXRhID0gbHNfYXJwX2dldF9p bnB1dF9kYXRhKG5vZGUpOworLSAgICBzdHJ1Y3QgZWRfdHlwZV9sc19hcnAgKmRhdGEgPSBkYXRh XzsKKy0gICAgc3RydWN0IGhtYXB4X25vZGUgKmhtYXB4X25vZGU7CistICAgIHN0cnVjdCBsc19h cnBfcmVjb3JkICpsc19hcnBfcmVjb3JkOworLQorLSAgICBITUFQWF9GT1JfRUFDSCAoaG1hcHhf bm9kZSwgJm5kX2NoYW5nZXMtPnRya19zd2l0Y2hlcy5jcnVwZGF0ZWQpIHsKKy0gICAgICAgIGNv bnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kID0gaG1hcHhfbm9kZS0+ZGF0YTsKKy0KKy0gICAg ICAgIGxzX2FycF9yZWNvcmQgPSBsc19hcnBfcmVjb3JkX2xvb2t1cF9ieV9vZF8oJmRhdGEtPnRh YmxlLCBvZCk7CistCistICAgICAgICBpZiAoIWxzX2FycF9yZWNvcmQpIHsKKy0gICAgICAgICAg ICAvKiBGaWx0ZXJpbmcgQVJQIGVudHJpZXMgYXQgbG9naWNhbCBzd2l0Y2ggd29ya3MKKy0gICAg ICAgICAgICAgKiB3aGVuIHRoZXJlIGFyZSBwaHlzaWNhbCBwb3J0cyBvbiB0aGUgc3dpdGNoLiAq LworLSAgICAgICAgICAgIGlmIChobWFweF9pc19lbXB0eSgmb2QtPnBoeXNfcG9ydHMpKSB7Cist ICAgICAgICAgICAgICAgIC8qIE5PVEU6IElmIHRoZSBzd2l0Y2ggdXNlZCB0byBoYXZlIHBoeXNp Y2FsIHBvcnRzIGJ1dCB0aG9zZQorLSAgICAgICAgICAgICAgICAgKiB3ZXJlIHJlbW92ZWQgdGhl IGxyX25hdCBub2RlIGhhcyByZWNvbXB1dGVkIGFuZCB0cmlnZ2VycworLSAgICAgICAgICAgICAg ICAgKiB0aGUgbHNfYXJwX2xyX25hdF9oYW5kbGVyKCkgd2hpY2ggY2Fubm90IGluY3JlbWVudGFs bHkKKy0gICAgICAgICAgICAgICAgICogcHJvY2VzcyBjaGFuZ2VzLiAgVGhpcyBpbXBsaWNpdGx5 IHRyaWdnZXJzIGNvcnJlY3QKKy0gICAgICAgICAgICAgICAgICogaGFuZGxpbmcgb2YgdGhlIHJl bW92YWwuKi8KKy0gICAgICAgICAgICAgICAgY29udGludWU7CistICAgICAgICAgICAgfQorLSAg ICAgICAgICAgIGxzX2FycF9yZWNvcmQgPSBsc19hcnBfcmVjb3JkX2NyZWF0ZSgmZGF0YS0+dGFi bGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9k LCBpbnB1dF9kYXRhLmxyX25hdHMpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICBu YXRfcmVjb3JkX2RhdGFfY3JlYXRlKGxzX2FycF9yZWNvcmQsIG9kLCBpbnB1dF9kYXRhLmxyX25h dHMpOworLSAgICAgICAgfQorLQorLSAgICAgICAgaG1hcHhfYWRkKCZkYXRhLT50cmtfZGF0YS5j cnVwZGF0ZWQsIGxzX2FycF9yZWNvcmQpOworLSAgICB9CistCistICAgIEhNQVBYX0ZPUl9FQUNI IChobWFweF9ub2RlLCAmbmRfY2hhbmdlcy0+dHJrX3N3aXRjaGVzLmRlbGV0ZWQpIHsKKy0gICAg ICAgIGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kID0gaG1hcHhfbm9kZS0+ZGF0YTsKKy0K Ky0gICAgICAgIGxzX2FycF9yZWNvcmQgPSBsc19hcnBfcmVjb3JkX2xvb2t1cF9ieV9vZF8oJmRh dGEtPnRhYmxlLCBvZCk7CistICAgICAgICBpZiAobHNfYXJwX3JlY29yZCkgeworLSAgICAgICAg ICAgIGhtYXBfcmVtb3ZlKCZkYXRhLT50YWJsZS5lbnRyaWVzLCAmbHNfYXJwX3JlY29yZC0+a2V5 X25vZGUpOworLSAgICAgICAgICAgIGhtYXB4X2FkZCgmZGF0YS0+dHJrX2RhdGEuZGVsZXRlZCwg bHNfYXJwX3JlY29yZCk7CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgaWYgKGxzX2FycF9o YXNfdHJhY2tlZF9kYXRhKCZkYXRhLT50cmtfZGF0YSkpIHsKKy0gICAgICAgIHJldHVybiBFTl9I QU5ETEVEX1VQREFURUQ7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIEVOX0hBTkRMRURfVU5DSEFO R0VEOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLW5hdF9vZG1hcF9jcmVhdGUoc3RydWN0IGxyX25h dF9yZWNvcmQgKmxybmF0X3JlYywKKy0gICAgICAgICAgICAgICAgIHN0cnVjdCBobWFweCAqb2Rt YXApCisteworLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxybmF0X3JlYy0+bl9uYXRfZW50 cmllczsgaSsrKSB7CistICAgICAgICBjb25zdCBzdHJ1Y3Qgb3ZuX25hdCAqbmF0X2VudHJ5ID0g JmxybmF0X3JlYy0+bmF0X2VudHJpZXNbaV07CistCistICAgICAgICBpZiAoaXNfbmF0X2RncF9j b25uZWN0ZWQobmF0X2VudHJ5KSkgeworLSAgICAgICAgICAgIGhtYXB4X2FkZChvZG1hcCwgbmF0 X2VudHJ5LT5sM2Rnd19wb3J0LT5wZWVyLT5vZCk7CistICAgICAgICB9CistICAgIH0KKy19Cist CistZW51bSBlbmdpbmVfaW5wdXRfaGFuZGxlcl9yZXN1bHQKKy1sc19hcnBfbHJfbmF0X2hhbmRs ZXIoc3RydWN0IGVuZ2luZV9ub2RlICpub2RlLCB2b2lkICpkYXRhXykKKy17CistICAgIHN0cnVj dCBlZF90eXBlX2xyX25hdF9kYXRhICpscl9uYXRfZGF0YSA9CistICAgICAgICBlbmdpbmVfZ2V0 X2lucHV0X2RhdGEoImxyX25hdCIsIG5vZGUpOworLSAgICBzdHJ1Y3QgbHNfYXJwX2lucHV0IGlu cHV0X2RhdGEgPSBsc19hcnBfZ2V0X2lucHV0X2RhdGEobm9kZSk7CistCistICAgIGlmICghbHJf bmF0X2hhc190cmFja2VkX2RhdGEoJmxyX25hdF9kYXRhLT50cmtfZGF0YSkpIHsKKy0gICAgICAg IHJldHVybiBFTl9VTkhBTkRMRUQ7CistICAgIH0KKy0KKy0gICAgc3RydWN0IGVkX3R5cGVfbHNf YXJwICpkYXRhID0gZGF0YV87CistCistICAgIHN0cnVjdCBobWFweF9ub2RlICpobWFweF9ub2Rl OworLSAgICBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqbHNfYXJwX3JlY29yZDsKKy0gICAgSE1BUFhf Rk9SX0VBQ0ggKGhtYXB4X25vZGUsICZscl9uYXRfZGF0YS0+dHJrX2RhdGEuY3J1cGRhdGVkKSB7 CistICAgICAgICBzdHJ1Y3QgbHJfbmF0X3JlY29yZCAqbmF0X3JlY29yZF9wID0gaG1hcHhfbm9k ZS0+ZGF0YTsKKy0KKy0gICAgICAgIHN0cnVjdCBobWFweCBsc19saW5rc19tYXAgPSBITUFQWF9J TklUSUFMSVpFUigmbHNfbGlua3NfbWFwKTsKKy0gICAgICAgIG5hdF9vZG1hcF9jcmVhdGUobmF0 X3JlY29yZF9wLCAmbHNfbGlua3NfbWFwKTsKKy0KKy0gICAgICAgIExTX0FSUF9UQUJMRV9GT1Jf RUFDSCAobHNfYXJwX3JlY29yZCwgJmRhdGEtPnRhYmxlKSB7CistICAgICAgICAgICAgc3RydWN0 IGhtYXB4X25vZGUgKm5yX25vZGUgPQorLSAgICAgICAgICAgICAgICBobWFweF9maW5kKCZsc19h cnBfcmVjb3JkLT5uYXRfcmVjb3JkcywgbmF0X3JlY29yZF9wKTsKKy0KKy0gICAgICAgICAgICBp ZiAobnJfbm9kZSkgeworLSAgICAgICAgICAgICAgICBobWFweF9hZGQoJmRhdGEtPnRya19kYXRh LmNydXBkYXRlZCwgbHNfYXJwX3JlY29yZCk7CistICAgICAgICAgICAgICAgIGhtYXB4X2RlbGV0 ZSgmbHNfYXJwX3JlY29yZC0+bmF0X3JlY29yZHMsIG5yX25vZGUpOworLSAgICAgICAgICAgIH0K Ky0gICAgICAgIH0KKy0KKy0gICAgICAgIHN0cnVjdCBobWFweF9ub2RlICpjcnVwZGF0ZWRfbHNf aG1hcHg7CistICAgICAgICBITUFQWF9GT1JfRUFDSCAoY3J1cGRhdGVkX2xzX2htYXB4LCAmbHNf bGlua3NfbWFwKSB7CistICAgICAgICAgICAgc3RydWN0IG92bl9kYXRhcGF0aCAqY3J1cGRhdGVk X2xzID0gY3J1cGRhdGVkX2xzX2htYXB4LT5kYXRhOworLSAgICAgICAgICAgIGxzX2FycF9yZWNv cmQgPQorLSAgICAgICAgICAgICAgICBsc19hcnBfcmVjb3JkX2xvb2t1cF9ieV9vZF8oJmRhdGEt PnRhYmxlLCBjcnVwZGF0ZWRfbHMpOworLQorLSAgICAgICAgICAgIGlmICghbHNfYXJwX3JlY29y ZCkgeworLSAgICAgICAgICAgICAgICBsc19hcnBfcmVjb3JkID0gbHNfYXJwX3JlY29yZF9jcmVh dGUoJmRhdGEtPnRhYmxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3J1cGRhdGVkX2xzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZGF0YS5scl9uYXRzKTsKKy0gICAgICAg ICAgICB9CistCistICAgICAgICAgICAgaG1hcHhfYWRkKCZkYXRhLT50cmtfZGF0YS5jcnVwZGF0 ZWQsIGxzX2FycF9yZWNvcmQpOworLSAgICAgICAgICAgIGhtYXB4X2FkZCgmbHNfYXJwX3JlY29y ZC0+bmF0X3JlY29yZHMsIG5hdF9yZWNvcmRfcCk7CistICAgICAgICB9CistICAgICAgICBobWFw eF9kZXN0cm95KCZsc19saW5rc19tYXApOworLSAgICB9CistCistICAgIEhNQVBYX0ZPUl9FQUNI IChobWFweF9ub2RlLCAmbHJfbmF0X2RhdGEtPnRya19kYXRhLmRlbGV0ZWQpIHsKKy0gICAgICAg IHN0cnVjdCBscl9uYXRfcmVjb3JkICpucl9jdXIgPSBobWFweF9ub2RlLT5kYXRhOworLQorLSAg ICAgICAgc3RydWN0IGxzX2FycF9yZWNvcmQgKmFyOworLSAgICAgICAgTFNfQVJQX1RBQkxFX0ZP Ul9FQUNIIChhciwgJmRhdGEtPnRhYmxlKSB7CistICAgICAgICAgICAgc3RydWN0IGhtYXB4X25v ZGUgKm5yX25vZGUgPSBobWFweF9maW5kKCZhci0+bmF0X3JlY29yZHMsIG5yX2N1cik7CistCist ICAgICAgICAgICAgaWYgKG5yX25vZGUpIHsKKy0gICAgICAgICAgICAgICAgaG1hcHhfYWRkKCZk YXRhLT50cmtfZGF0YS5jcnVwZGF0ZWQsIGFyKTsKKy0gICAgICAgICAgICAgICAgaG1hcHhfZGVs ZXRlKCZhci0+bmF0X3JlY29yZHMsIG5yX25vZGUpOworLSAgICAgICAgICAgIH0KKy0gICAgICAg IH0KKy0gICAgfQorLQorLSAgICBpZiAobHNfYXJwX2hhc190cmFja2VkX2RhdGEoJmRhdGEtPnRy a19kYXRhKSkgeworLSAgICAgICAgcmV0dXJuIEVOX0hBTkRMRURfVVBEQVRFRDsKKy0gICAgfQor LQorLSAgICByZXR1cm4gRU5fSEFORExFRF9VTkNIQU5HRUQ7CistfQorZGlmZiAtLWdpdCBhL25v cnRoZC9lbi1scy1hcnAuaCBiL25vcnRoZC9lbi1scy1hcnAuaAorZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCA1ZWFmOTEzYmI2Li4wMDAwMDAwMDAwCistLS0gYS9ub3J0aGQvZW4tbHMt YXJwLmgKKysrKyAvZGV2L251bGwKK0BAIC0xLDg2ICswLDAgQEAKKy0vKgorLSAqIExpY2Vuc2Vk IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwor LSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0 aGUgTGljZW5zZS4KKy0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6 CistICoKKy0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4w CistICoKKy0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRv IGluIHdyaXRpbmcsIHNvZnR3YXJlCistICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy0gKiBXSVRIT1VUIFdBUlJBTlRJ RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4K Ky0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcg cGVybWlzc2lvbnMgYW5kCistICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistICov CistCistI2lmbmRlZiBFTl9MU19BUlBfSAorLSNkZWZpbmUgRU5fTFNfQVJQX0ggMQorLQorLS8q IE9WUyBpbmNsdWRlcy4gKi8KKy0jaW5jbHVkZSAibGliL2htYXB4LmgiCistI2luY2x1ZGUgIm9w ZW52c3dpdGNoL2htYXAuaCIKKy0KKy0vKiBPVk4gaW5jbHVkZXMuICovCistI2luY2x1ZGUgImxp Yi9pbmMtcHJvYy1lbmcuaCIKKy0jaW5jbHVkZSAibGliL292bi1uYi1pZGwuaCIKKy0jaW5jbHVk ZSAibGliL292bi1zYi1pZGwuaCIKKy0jaW5jbHVkZSAibGliL292bi11dGlsLmgiCistI2luY2x1 ZGUgImxpYi9zdG9wd2F0Y2gtbmFtZXMuaCIKKy0KKy1zdHJ1Y3QgbGZsb3dfcmVmOworLQorLXN0 cnVjdCBsc19hcnBfcmVjb3JkIHsKKy0gICAgc3RydWN0IGhtYXBfbm9kZSBrZXlfbm9kZTsKKy0K Ky0gICAgLyogVVVJRCBvZiB0aGUgTkIgTG9naWNhbCBzd2l0Y2guICovCistICAgIHN0cnVjdCB1 dWlkIG5ic191dWlkOworLQorLSAgICAvKiBJbmRleCBvZiBsb2dpY2FsIHN3aXRjaCBpdGVtIGlu IG5vcnRoZC4gKi8KKy0gICAgc2l6ZV90IGxzX2luZGV4OworLQorLSAgICAvKiAnbGZsb3dfcmVm JyBpcyB1c2VkIHRvIHJlZmVyZW5jZSBsb2dpY2FsIGZsb3dzIGdlbmVyYXRlZCBmb3IKKy0gICAg ICogdGhpcyBsc19hcnAgcmVjb3JkLiAqLworLSAgICBzdHJ1Y3QgbGZsb3dfcmVmICpsZmxvd19y ZWY7CistCistICAgIC8qIGxyX25hdF9yZWNvcmQgcHRycyB0aGF0IHRyaWdnZXIgdGhpcyBvZCB0 byByZWJ1aWxkIGxmbG93LiAqLworLSAgICBzdHJ1Y3QgaG1hcHggbmF0X3JlY29yZHM7CistfTsK Ky0KKy1zdHJ1Y3QgbHNfYXJwX3RhYmxlIHsKKy0gICAgc3RydWN0IGhtYXAgZW50cmllczsKKy19 OworLQorLSNkZWZpbmUgTFNfQVJQX1RBQkxFX0ZPUl9FQUNIKExTX0FSUF9SRUMsIFRBQkxFKSBc CistICAgIEhNQVBfRk9SX0VBQ0ggKExTX0FSUF9SRUMsIGtleV9ub2RlLCBcCistICAgICAgICAg ICAgICAgICAgICYoVEFCTEUpLT5lbnRyaWVzKQorLQorLSNkZWZpbmUgTFNfQVJQX1RBQkxFX0ZP Ul9FQUNIX0lOX1AoTFNfQVJQX1JFQywgSk9CSUQsIFRBQkxFKSBcCistICAgIEhNQVBfRk9SX0VB Q0hfSU5fUEFSQUxMRUwgKExTX0FSUF9SRUMsIGtleV9ub2RlLCBKT0JJRCwgXAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmKFRBQkxFKS0+ZW50cmllcykKKy0KKy1zdHJ1Y3QgbHNf YXJwX3RyYWNrZWRfZGF0YSB7CistICAgIHN0cnVjdCBobWFweCBjcnVwZGF0ZWQ7CistICAgIHN0 cnVjdCBobWFweCBkZWxldGVkOworLX07CistCistc3RydWN0IGVkX3R5cGVfbHNfYXJwIHsKKy0g ICAgc3RydWN0IGxzX2FycF90YWJsZSB0YWJsZTsKKy0gICAgc3RydWN0IGxzX2FycF90cmFja2Vk X2RhdGEgdHJrX2RhdGE7CistfTsKKy0KKy12b2lkICplbl9sc19hcnBfaW5pdChzdHJ1Y3QgZW5n aW5lX25vZGUgKiwgc3RydWN0IGVuZ2luZV9hcmcgKik7Cistdm9pZCBlbl9sc19hcnBfY2xlYW51 cCh2b2lkICopOworLXZvaWQgZW5fbHNfYXJwX2NsZWFyX3RyYWNrZWRfZGF0YSh2b2lkICopOwor LWVudW0gZW5naW5lX25vZGVfc3RhdGUgZW5fbHNfYXJwX3J1bihzdHJ1Y3QgZW5naW5lX25vZGUg Kiwgdm9pZCAqKTsKKy0KKy1lbnVtIGVuZ2luZV9pbnB1dF9oYW5kbGVyX3Jlc3VsdAorLWxzX2Fy cF9scl9uYXRfaGFuZGxlcihzdHJ1Y3QgZW5naW5lX25vZGUgKiwgdm9pZCAqKTsKKy1lbnVtIGVu Z2luZV9pbnB1dF9oYW5kbGVyX3Jlc3VsdAorLWxzX2FycF9ub3J0aGRfaGFuZGxlcihzdHJ1Y3Qg ZW5naW5lX25vZGUgKiwgdm9pZCAqKTsKKy0KKy1zdGF0aWMgaW5saW5lIGJvb2wKKy1sc19hcnBf aGFzX3RyYWNrZWRfZGF0YShzdHJ1Y3QgbHNfYXJwX3RyYWNrZWRfZGF0YSAqdHJrX2RhdGEpIHsK Ky0gICAgcmV0dXJuICFobWFweF9pc19lbXB0eSgmdHJrX2RhdGEtPmNydXBkYXRlZCkgfHwKKy0g ICAgICAgICAgICFobWFweF9pc19lbXB0eSgmdHJrX2RhdGEtPmRlbGV0ZWQpOworLX0KKy0KKy0j ZW5kaWYgLyogRU5fTFNfQVJQX0ggKi8KK2RpZmYgLS1naXQgYS9ub3J0aGQvZW4tbXVsdGljYXN0 LmMgYi9ub3J0aGQvZW4tbXVsdGljYXN0LmMKK2luZGV4IGE3ZGZkNzFjNDcuLmIyNzc1NTE2YTkg MTAwNjQ0CistLS0gYS9ub3J0aGQvZW4tbXVsdGljYXN0LmMKKysrKyBiL25vcnRoZC9lbi1tdWx0 aWNhc3QuYworQEAgLTcxMCw3ICs3MTAsNyBAQCBvdm5faWdtcF9ncm91cF9hZ2dyZWdhdGVfcG9y dHMoc3RydWN0IG92bl9pZ21wX2dyb3VwICppZ21wX2dyb3VwLAorICAgICAgICAgZnJlZShlbnRy eSk7CisgICAgIH0KKyAKKy0gICAgaWYgKCF2ZWN0b3JfaXNfZW1wdHkoJmlnbXBfZ3JvdXAtPmRh dGFwYXRoLT5sb2NhbG5ldF9wb3J0cykpIHsKKysgICAgaWYgKGxzX2hhc19sb2NhbG5ldF9wb3J0 KGlnbXBfZ3JvdXAtPmRhdGFwYXRoKSkgeworICAgICAgICAgb3ZuX211bHRpY2FzdF9hZGRfcG9y dHMobWNhc3RfZ3JvdXBzLCBpZ21wX2dyb3VwLT5kYXRhcGF0aCwKKyAgICAgICAgICAgICAmaWdt cF9ncm91cC0+bWNncm91cCwKKyAgICAgICAgICAgICB2ZWN0b3JfZ2V0X2FycmF5KCZpZ21wX2dy b3VwLT5kYXRhcGF0aC0+bG9jYWxuZXRfcG9ydHMpLAorZGlmZiAtLWdpdCBhL25vcnRoZC9pbmMt cHJvYy1ub3J0aGQuYyBiL25vcnRoZC9pbmMtcHJvYy1ub3J0aGQuYworaW5kZXggMTg4NGY5OGEw Ny4uZGZmYWM3MzA5MCAxMDA2NDQKKy0tLSBhL25vcnRoZC9pbmMtcHJvYy1ub3J0aGQuYworKysr IGIvbm9ydGhkL2luYy1wcm9jLW5vcnRoZC5jCitAQCAtMzQsNyArMzQsNiBAQAorICNpbmNsdWRl ICJlbi1sci1zdGF0ZWZ1bC5oIgorICNpbmNsdWRlICJlbi1sci1uYXQuaCIKKyAjaW5jbHVkZSAi ZW4tbHMtc3RhdGVmdWwuaCIKKy0jaW5jbHVkZSAiZW4tbHMtYXJwLmgiCisgI2luY2x1ZGUgImVu LW11bHRpY2FzdC5oIgorICNpbmNsdWRlICJlbi1ub3J0aGQuaCIKKyAjaW5jbHVkZSAiZW4tbGZs b3cuaCIKK0BAIC0xNzYsNyArMTc1LDYgQEAgc3RhdGljIEVOR0lORV9OT0RFKGxiX2RhdGEsIENM RUFSX1RSQUNLRURfREFUQSk7Cisgc3RhdGljIEVOR0lORV9OT0RFKGxyX25hdCwgQ0xFQVJfVFJB Q0tFRF9EQVRBKTsKKyBzdGF0aWMgRU5HSU5FX05PREUobHJfc3RhdGVmdWwsIENMRUFSX1RSQUNL RURfREFUQSk7Cisgc3RhdGljIEVOR0lORV9OT0RFKGxzX3N0YXRlZnVsLCBDTEVBUl9UUkFDS0VE X0RBVEEpOworLXN0YXRpYyBFTkdJTkVfTk9ERShsc19hcnAsIENMRUFSX1RSQUNLRURfREFUQSk7 Cisgc3RhdGljIEVOR0lORV9OT0RFKHJvdXRlX3BvbGljaWVzKTsKKyBzdGF0aWMgRU5HSU5FX05P REUocm91dGVzKTsKKyBzdGF0aWMgRU5HSU5FX05PREUoYmZkKTsKK0BAIC0zMTAsOSArMzA4LDYg QEAgdm9pZCBpbmNfcHJvY19ub3J0aGRfaW5pdChzdHJ1Y3Qgb3ZzZGJfaWRsX2xvb3AgKm5iLAor ICAgICAgICAgICAgICAgICAgICAgIGxzX3N0YXRlZnVsX3BvcnRfZ3JvdXBfaGFuZGxlcik7Cisg ICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xzX3N0YXRlZnVsLCAmZW5fbmJfYWNsLCBsc19zdGF0 ZWZ1bF9hY2xfaGFuZGxlcik7CisgCistICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xzX2FycCwg JmVuX2xyX25hdCwgbHNfYXJwX2xyX25hdF9oYW5kbGVyKTsKKy0gICAgZW5naW5lX2FkZF9pbnB1 dCgmZW5fbHNfYXJwLCAmZW5fbm9ydGhkLCBsc19hcnBfbm9ydGhkX2hhbmRsZXIpOworLQorICAg ICBlbmdpbmVfYWRkX2lucHV0KCZlbl9tYWNfYmluZGluZ19hZ2luZywgJmVuX3NiX21hY19iaW5k aW5nLCBOVUxMKTsKKyAgICAgZW5naW5lX2FkZF9pbnB1dCgmZW5fbWFjX2JpbmRpbmdfYWdpbmcs ICZlbl9ub3J0aGQsIE5VTEwpOworICAgICBlbmdpbmVfYWRkX2lucHV0KCZlbl9tYWNfYmluZGlu Z19hZ2luZywgJmVuX21hY19iaW5kaW5nX2FnaW5nX3dha2VyLCBOVUxMKTsKK0BAIC00MjIsNyAr NDE3LDYgQEAgdm9pZCBpbmNfcHJvY19ub3J0aGRfaW5pdChzdHJ1Y3Qgb3ZzZGJfaWRsX2xvb3Ag Km5iLAorICAgICBlbmdpbmVfYWRkX2lucHV0KCZlbl9sZmxvdywgJmVuX3BvcnRfZ3JvdXAsIGVu Z2luZV9ub29wX2hhbmRsZXIpOworICAgICBlbmdpbmVfYWRkX2lucHV0KCZlbl9sZmxvdywgJmVu X2xyX3N0YXRlZnVsLCBsZmxvd19scl9zdGF0ZWZ1bF9oYW5kbGVyKTsKKyAgICAgZW5naW5lX2Fk ZF9pbnB1dCgmZW5fbGZsb3csICZlbl9sc19zdGF0ZWZ1bCwgbGZsb3dfbHNfc3RhdGVmdWxfaGFu ZGxlcik7CistICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xmbG93LCAmZW5fbHNfYXJwLCBsZmxv d19sc19hcnBfaGFuZGxlcik7CisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xmbG93LCAmZW5f bXVsdGljYXN0X2lnbXAsCisgICAgICAgICAgICAgICAgICAgICAgbGZsb3dfbXVsdGljYXN0X2ln bXBfaGFuZGxlcik7CisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xmbG93LCAmZW5fc2JfYWNs X2lkLCBOVUxMKTsKK2RpZmYgLS1naXQgYS9ub3J0aGQvbm9ydGhkLmMgYi9ub3J0aGQvbm9ydGhk LmMKK2luZGV4IGE0YjMyZWU1MDUuLmI5NDhkYjY4ODQgMTAwNjQ0CistLS0gYS9ub3J0aGQvbm9y dGhkLmMKKysrKyBiL25vcnRoZC9ub3J0aGQuYworQEAgLTUwLDcgKzUwLDYgQEAKKyAjaW5jbHVk ZSAiZW4tbHItbmF0LmgiCisgI2luY2x1ZGUgImVuLWxyLXN0YXRlZnVsLmgiCisgI2luY2x1ZGUg ImVuLWxzLXN0YXRlZnVsLmgiCistI2luY2x1ZGUgImVuLWxzLWFycC5oIgorICNpbmNsdWRlICJl bi1tdWx0aWNhc3QuaCIKKyAjaW5jbHVkZSAiZW4tc2FtcGxpbmctYXBwLmgiCisgI2luY2x1ZGUg ImVuLWRhdGFwYXRoLWxvZ2ljYWwtc3dpdGNoLmgiCitAQCAtMTQzLDcgKzE0Miw2IEBAIHN0YXRp YyBib29sIHZ4bGFuX21vZGU7CisgI2RlZmluZSBSRUdCSVRfSVBfRlJBRyAgICAgICAgICAgICJy ZWcwWzE5XSIKKyAjZGVmaW5lIFJFR0JJVF9BQ0xfUEVSU0lTVF9JRCAgICAgInJlZzBbMjBdIgor ICNkZWZpbmUgUkVHQklUX0FDTF9ISU5UX0FMTE9XX1BFUlNJU1RFRCAicmVnMFsyMV0iCistI2Rl ZmluZSBSRUdCSVRfRVhUX0FSUCAgICAgICAgICAgICJyZWcwWzIyXSIKKyAKKyAvKiBSZWdpc3Rl ciBkZWZpbml0aW9ucyBmb3Igc3dpdGNoZXMgYW5kIHJvdXRlcnMuICovCisgCitAQCAtNTcxLDcg KzU2OSw2IEBAIG92bl9kYXRhcGF0aF9jcmVhdGUoc3RydWN0IGhtYXAgKmRhdGFwYXRocywgY29u c3Qgc3RydWN0IHV1aWQgKmtleSwKKyAgICAgaG1hcF9pbnNlcnQoZGF0YXBhdGhzLCAmb2QtPmtl eV9ub2RlLCB1dWlkX2hhc2goJm9kLT5rZXkpKTsKKyAgICAgb2QtPmxyX2dyb3VwID0gTlVMTDsK KyAgICAgaG1hcF9pbml0KCZvZC0+cG9ydHMpOworLSAgICBobWFweF9pbml0KCZvZC0+cGh5c19w b3J0cyk7CisgICAgIHNzZXRfaW5pdCgmb2QtPnJvdXRlcl9pcHMpOworICAgICBvZC0+bHNfcGVl cnMgPSBWRUNUT1JfRU1QVFlfSU5JVElBTElaRVIoc3RydWN0IG92bl9kYXRhcGF0aCAqKTsKKyAg ICAgb2QtPnJvdXRlcl9wb3J0cyA9IFZFQ1RPUl9FTVBUWV9JTklUSUFMSVpFUihzdHJ1Y3Qgb3Zu X3BvcnQgKik7CitAQCAtNjExLDcgKzYwOCw2IEBAIG92bl9kYXRhcGF0aF9kZXN0cm95KHN0cnVj dCBvdm5fZGF0YXBhdGggKm9kKQorICAgICAgICAgdmVjdG9yX2Rlc3Ryb3koJm9kLT5sM2Rnd19w b3J0cyk7CisgICAgICAgICBkZXN0cm95X21jYXN0X2luZm9fZm9yX2RhdGFwYXRoKG9kKTsKKyAg ICAgICAgIGRlc3Ryb3lfcG9ydHNfZm9yX2RhdGFwYXRoKG9kKTsKKy0gICAgICAgIGhtYXB4X2Rl c3Ryb3koJm9kLT5waHlzX3BvcnRzKTsKKyAgICAgICAgIHNzZXRfZGVzdHJveSgmb2QtPnJvdXRl cl9pcHMpOworICAgICAgICAgZnJlZShvZCk7CisgICAgIH0KK0BAIC0xMjQ0LDEyICsxMjQwLDYg QEAgbHNwX2lzX3Z0ZXAoY29uc3Qgc3RydWN0IG5icmVjX2xvZ2ljYWxfc3dpdGNoX3BvcnQgKm5i c3ApCisgICAgIHJldHVybiAhc3RyY21wKG5ic3AtPnR5cGUsICJ2dGVwIik7CisgfQorIAorLXN0 YXRpYyBib29sCistbHNwX2lzX2wyZ3coY29uc3Qgc3RydWN0IG5icmVjX2xvZ2ljYWxfc3dpdGNo X3BvcnQgKm5ic3ApCisteworLSAgICByZXR1cm4gIXN0cmNtcChuYnNwLT50eXBlLCAibDJnYXRl d2F5Iik7CistfQorLQorIHN0YXRpYyBib29sCisgbG9jYWxuZXRfY2FuX2xlYXJuX21hYyhjb25z dCBzdHJ1Y3QgbmJyZWNfbG9naWNhbF9zd2l0Y2hfcG9ydCAqbmJzcCkKKyB7CitAQCAtMTYzNSwx MCArMTYyNSw2IEBAIGpvaW5fbG9naWNhbF9wb3J0c19sc3Aoc3RydWN0IGhtYXAgKnBvcnRzLAor ICAgICAgICAgb2QtPmhhc192dGVwX2xwb3J0cyA9IHRydWU7CisgICAgIH0KKyAKKy0gICAgaWYg KGxzcF9pc19sb2NhbG5ldChuYnNwKSB8fCBsc3BfaXNfbDJndyhuYnNwKSkgeworLSAgICAgICAg aG1hcHhfYWRkKCZvZC0+cGh5c19wb3J0cywgb3ApOworLSAgICB9CistCisgICAgIHBhcnNlX2xz cF9hZGRycyhvcCk7CisgCisgICAgIG9wLT5vZCA9IG9kOworQEAgLTE3ODIsNyArMTc2OCw3IEBA IHBlZXJfbmVlZHNfY3JfcG9ydF9jcmVhdGlvbihzdHJ1Y3Qgb3ZuX3BvcnQgKm9wKQorIHsKKyAg ICAgaWYgKChvcC0+bmJycC0+bl9nYXRld2F5X2NoYXNzaXMgfHwgb3AtPm5icnAtPmhhX2NoYXNz aXNfZ3JvdXApCisgICAgICAgICAmJiB2ZWN0b3JfbGVuKCZvcC0+b2QtPmwzZGd3X3BvcnRzKSA9 PSAxICYmIG9wLT5wZWVyICYmIG9wLT5wZWVyLT5uYnNwCistICAgICAgICAmJiB2ZWN0b3JfaXNf ZW1wdHkoJm9wLT5wZWVyLT5vZC0+bG9jYWxuZXRfcG9ydHMpKSB7CisrICAgICAgICAmJiAhbHNf aGFzX2xvY2FsbmV0X3BvcnQob3AtPnBlZXItPm9kKSkgeworICAgICAgICAgcmV0dXJuIHRydWU7 CisgICAgIH0KKyAKK0BAIC0yNzQyLDcgKzI3MjgsNyBAQCBvdm5fcG9ydF91cGRhdGVfc2JyZWMo c3RydWN0IG92c2RiX2lkbF90eG4gKm92bnNiX3R4biwKKyAgICAgICAgICAgICBzbWFwX2Nsb25l KCZvcHRpb25zLCAmb3AtPm5ic3AtPm9wdGlvbnMpOworIAorICAgICAgICAgICAgIGlmIChxdWV1 ZV9pZCkgeworLSAgICAgICAgICAgICAgICBpZiAoIXZlY3Rvcl9pc19lbXB0eSgmb3AtPm9kLT5s b2NhbG5ldF9wb3J0cykpIHsKKysgICAgICAgICAgICAgICAgaWYgKGxzX2hhc19sb2NhbG5ldF9w b3J0KG9wLT5vZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdm5fcG9ydCAqcG9y dCA9IHZlY3Rvcl9nZXQoJm9wLT5vZC0+bG9jYWxuZXRfcG9ydHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHN0cnVjdCBvdm5fcG9y dCAqKTsKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBoeXNpY2FsX25ldHdvcmsg PSBzbWFwX2dldCgKK0BAIC0zODU2LDcgKzM4NDIsNyBAQCBzaG91bGRfYWRkX3JvdXRlcl9wb3J0 X2dhcnAoY29uc3Qgc3RydWN0IG92bl9wb3J0ICpvcCwgY29uc3QgY2hhciAqY2hhc3NpcykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3Rvcl9sZW4oJm9wLT5wZWVyLT5vZC0+ bDNkZ3dfcG9ydHMpKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgIH0gZWxzZSBp ZiAoY2hhc3NpcyAmJiAhdmVjdG9yX2lzX2VtcHR5KCZvcC0+b2QtPmxvY2FsbmV0X3BvcnRzKSkg eworKyAgICB9IGVsc2UgaWYgKGNoYXNzaXMgJiYgbHNfaGFzX2xvY2FsbmV0X3BvcnQob3AtPm9k KSkgeworICAgICAgICAgYWRkX3JvdXRlcl9wb3J0X2dhcnAgPSB0cnVlOworICAgICB9CisgCitA QCAtNTAyMiw2ICs1MDA4LDkgQEAgbm9ydGhkX2hhbmRsZV9sc19jaGFuZ2VzKHN0cnVjdCBvdnNk Yl9pZGxfdHhuICpvdm5zYl9pZGxfdHhuLAorICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAg ICAgIH0KKyAKKysgICAgICAgIGlmIChzcGFyc2VfYXJyYXlfZ2V0KCZuZC0+bHNfZGF0YXBhdGhz LmRwcywgc3luY2VkLT5zZHAtPmluZGV4KSkgeworKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKysg ICAgICAgIH0KKyAgICAgICAgIHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kID0gb3ZuX2RhdGFwYXRo X2NyZWF0ZSgKKyAgICAgICAgICAgICAmbmQtPmxzX2RhdGFwYXRocy5kYXRhcGF0aHMsICZuZXdf bHMtPmhlYWRlcl8udXVpZCwgbmV3X2xzLAorICAgICAgICAgICAgIE5VTEwsIHN5bmNlZC0+c2Rw KTsKK0BAIC01MzU0LDYgKzUzNDMsOSBAQCBub3J0aGRfaGFuZGxlX2xyX2NoYW5nZXMoY29uc3Qg c3RydWN0IG5vcnRoZF9pbnB1dCAqbmksCisgICAgICAgICBpZiAobmV3X2xyLT5jb3BwIHx8IChu ZXdfbHItPm5fcG9ydHMgPiAwKSkgeworICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAg IH0KKysgICAgICAgIGlmIChzcGFyc2VfYXJyYXlfZ2V0KCZuZC0+bHJfZGF0YXBhdGhzLmRwcywg c3luY2VkLT5zZHAtPmluZGV4KSkgeworKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKysgICAgICAg IH0KKyAgICAgICAgIHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kID0gb3ZuX2RhdGFwYXRoX2NyZWF0 ZSgKKyAgICAgICAgICAgICAmbmQtPmxyX2RhdGFwYXRocy5kYXRhcGF0aHMsICZuZXdfbHItPmhl YWRlcl8udXVpZCwKKyAgICAgICAgICAgICBOVUxMLCBuZXdfbHIsIHN5bmNlZC0+c2RwKTsKK0BA IC02MTU0LDcgKzYxNDYsNyBAQCBidWlsZF9sc3dpdGNoX3BvcnRfc2VjX29wKHN0cnVjdCBvdm5f cG9ydCAqb3AsIHN0cnVjdCBsZmxvd190YWJsZSAqbGZsb3dzLAorICAgICAgICAgICAgICAgICAg ICAgICBXSVRIX0lPX1BPUlQob3AtPmtleSksIFdJVEhfSElOVCgmb3AtPm5ic3AtPmhlYWRlcl8p KTsKKyAKKyAgICAgICAgIGlmICghbHNwX2lzX2xvY2FsbmV0KG9wLT5uYnNwKSAmJgorLSAgICAg ICAgICAgIHZlY3Rvcl9pc19lbXB0eSgmb3AtPm9kLT5sb2NhbG5ldF9wb3J0cykpIHsKKysgICAg ICAgICAgICAhbHNfaGFzX2xvY2FsbmV0X3BvcnQob3AtPm9kKSkgeworICAgICAgICAgICAgIHJl dHVybjsKKyAgICAgICAgIH0KKyAKK0BAIC02MTY4LDcgKzYxNjAsNyBAQCBidWlsZF9sc3dpdGNo X3BvcnRfc2VjX29wKHN0cnVjdCBvdm5fcG9ydCAqb3AsIHN0cnVjdCBsZmxvd190YWJsZSAqbGZs b3dzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNfY3N0cihtYXRjaCksIGRzX2NzdHIo YWN0aW9ucyksIG9wLT5sZmxvd19yZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBXSVRI X0lPX1BPUlQob3AtPmtleSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBXSVRIX0hJTlQo Jm9wLT5uYnNwLT5oZWFkZXJfKSk7CistICAgICAgICB9IGVsc2UgaWYgKCF2ZWN0b3JfaXNfZW1w dHkoJm9wLT5vZC0+bG9jYWxuZXRfcG9ydHMpKSB7CisrICAgICAgICB9IGVsc2UgaWYgKGxzX2hh c19sb2NhbG5ldF9wb3J0KG9wLT5vZCkpIHsKKyAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgb3Zu X3BvcnQgKmxwID0gdmVjdG9yX2dldCgmb3AtPm9kLT5sb2NhbG5ldF9wb3J0cywgMCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3Zu X3BvcnQgKik7CisgICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdChtYXRjaCwgIm91dHBvcnQgPT0g JXMgJiYgaW5wb3J0ID09ICVzIiwKK0BAIC0xMDA1MCw4OCArMTAwNDIsNiBAQCBidWlsZF9kcm9w X2FycF9uZF9mbG93c19mb3JfdW5ib3VuZF9yb3V0ZXJfcG9ydHMoc3RydWN0IG92bl9wb3J0ICpv cCwKKyAgICAgZHNfZGVzdHJveSgmbWF0Y2gpOworIH0KKyAKKy0vKgorLSAqIENyZWF0ZSBBUlAg ZmlsdGVyaW5nIGZsb3cgZm9yIG9kLCBhc3N1bWVkIGxvZ2ljYWwgc3dpdGNoLAorLSAqIGZvciB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbjoKKy0gKiBHaXZlbiBsc3dpdGNoIGhhcyBlaXRoZXIgbG9j YWxuZXQgb3IgbDJnYXRld2F5IHBvcnRzIGFuZAorLSAqIHJvdXRlciBjb25uZWN0aW9uIHBvcnRz IHRoYXQgcmVxdWlyZXMgY2hhc3NpcyByZXNpZGVuY2UuCistICogQVJQIHJlcXVlc3RzIGNvbWlu ZyBmcm9tIGxvY2FsbmV0L2wyZ2F0ZXdheSBwb3J0cworLSAqIGFsbG93ZWQgZm9yIHByb2Nlc3Np bmcgb24gcmVzaWRlbnQgY2hhc3NpcyBvbmx5LgorLSAqLworLXN0YXRpYyB2b2lkCistYnVpbGRf bHN3aXRjaF9hcnBfY2hhc3Npc19yZXNpZGVudChjb25zdCBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpv ZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsZmxvd190YWJs ZSAqbGZsb3dzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGxzX2FycF9yZWNvcmQgKmFyKQorLXsKKy0gICAgc3RydWN0IGhtYXB4IHJlc2lkZW50X3Bv cnRzID0gSE1BUFhfSU5JVElBTElaRVIoJnJlc2lkZW50X3BvcnRzKTsKKy0gICAgc3RydWN0IGRz IG1hdGNoID0gRFNfRU1QVFlfSU5JVElBTElaRVI7CistCistICAgIHN0cnVjdCBvdm5fcG9ydCAq b3A7CistICAgIFZFQ1RPUl9GT1JfRUFDSCAoJm9kLT5yb3V0ZXJfcG9ydHMsIG9wKSB7CistICAg ICAgICBzdHJ1Y3Qgb3ZuX3BvcnQgKm9wX3IgPSBvcC0+cGVlcjsKKy0KKy0gICAgICAgIGlmIChs cnBfaXNfbDNkZ3cob3BfcikpIHsKKy0gICAgICAgICAgICBobWFweF9hZGQoJnJlc2lkZW50X3Bv cnRzLCBvcF9yLT5jcl9wb3J0KTsKKy0gICAgICAgIH0gZWxzZSBpZiAob3Bfci0+b2QtPmlzX2d3 X3JvdXRlcikgeworLSAgICAgICAgICAgIGhtYXB4X2FkZCgmcmVzaWRlbnRfcG9ydHMsIG9wX3Ip OworLSAgICAgICAgfQorLSAgICB9CistCistICAgIGlmICghaG1hcHhfaXNfZW1wdHkoJm9kLT5w aHlzX3BvcnRzKSAmJiAhaG1hcHhfaXNfZW1wdHkoJnJlc2lkZW50X3BvcnRzKSkgeworLSAgICAg ICAgc3RydWN0IGhtYXB4X25vZGUgKm5vZGU7CistCistICAgICAgICBITUFQWF9GT1JfRUFDSCAo bm9kZSwgJm9kLT5waHlzX3BvcnRzKSB7CistICAgICAgICAgICAgb3AgPSBub2RlLT5kYXRhOwor LQorLSAgICAgICAgICAgIGRzX2NsZWFyKCZtYXRjaCk7CistICAgICAgICAgICAgZHNfcHV0X2Zv cm1hdCgmbWF0Y2gsICJhcnAub3AgPT0gMSAmJiBpbnBvcnQgPT0gJXMiLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgb3AtPmpzb25fa2V5KTsKKy0gICAgICAgICAgICBvdm5fbGZsb3dfYWRk KGxmbG93cywgb2QsIFNfU1dJVENIX0lOX0NIRUNLX1BPUlRfU0VDLCA3NSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgIGRzX2NzdHIoJm1hdGNoKSwgUkVHQklUX0VYVF9BUlAgIiA9IDE7IG5l eHQ7IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyLT5sZmxvd19yZWYpOworLSAgICAg ICAgfQorLQorLSAgICAgICAgSE1BUFhfRk9SX0VBQ0ggKG5vZGUsICZyZXNpZGVudF9wb3J0cykg eworLSAgICAgICAgICAgIG9wID0gbm9kZS0+ZGF0YTsKKy0KKy0gICAgICAgICAgICBkc19jbGVh cigmbWF0Y2gpOworLSAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQoJm1hdGNoLCBSRUdCSVRfRVhU X0FSUCIgPT0gMSIpOworLSAgICAgICAgICAgIGlmIChvZF9pc19jZW50cmFsaXplZChvcC0+b2Qp KSB7CistICAgICAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQoJm1hdGNoLCAiICYmIGlzX2NoYXNz aXNfcmVzaWRlbnQoJXMpIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+anNv bl9rZXkpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBvdm5fbGZsb3dfYWRkKGxmbG93 cywgb2QsIFNfU1dJVENIX0lOX0FQUExZX1BPUlRfU0VDLCA3NSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgIGRzX2NzdHIoJm1hdGNoKSwgIm5leHQ7IiwgYXItPmxmbG93X3JlZik7CistICAg ICAgICB9CistCistICAgICAgICBzdHJ1Y3QgaG1hcHhfbm9kZSAqaG1hcHhfbm9kZTsKKy0gICAg ICAgIEhNQVBYX0ZPUl9FQUNIIChobWFweF9ub2RlLCAmYXItPm5hdF9yZWNvcmRzKSB7CistICAg ICAgICAgICAgc3RydWN0IGxyX25hdF9yZWNvcmQgKm5yID0gaG1hcHhfbm9kZS0+ZGF0YTsKKy0g ICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5yLT5uX25hdF9lbnRyaWVzOyBpKysp IHsKKy0gICAgICAgICAgICAgICAgc3RydWN0IG92bl9uYXQgKmVudCA9ICZuci0+bmF0X2VudHJp ZXNbaV07CistICAgICAgICAgICAgICAgIGlmICghZW50LT5pc192YWxpZCB8fCAhZW50LT5pc19k aXN0cmlidXRlZCB8fAorLSAgICAgICAgICAgICAgICAgICAgbmF0X2VudHJ5X2lzX3Y2KGVudCkp IHsKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9Cist CistICAgICAgICAgICAgICAgIGRzX2NsZWFyKCZtYXRjaCk7CistICAgICAgICAgICAgICAgIGRz X3B1dF9mb3JtYXQoJm1hdGNoLCBSRUdCSVRfRVhUX0FSUCAiID09IDEgJiYgYXJwLnRwYSA9PSAl cyAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiYmIGlzX2NoYXNzaXNfcmVzaWRl bnQoXCIlc1wiKSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50LT5leHRfYWRk cnMuaXB2NF9hZGRyc1swXS5hZGRyX3MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW50LT5uYi0+bG9naWNhbF9wb3J0KTsKKy0gICAgICAgICAgICAgICAgb3ZuX2xmbG93X2FkZChs Zmxvd3MsIG9kLCBTX1NXSVRDSF9JTl9BUFBMWV9QT1JUX1NFQywgODUsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZHNfY3N0cigmbWF0Y2gpLCAibmV4dDsiLCBhci0+bGZsb3dfcmVm KTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistCistICAgICAgICBvdm5fbGZsb3dfYWRk KGxmbG93cywgb2QsIFNfU1dJVENIX0lOX0FQUExZX1BPUlRfU0VDLCA3MCwKKy0gICAgICAgICAg ICAgICAgICAgICAgUkVHQklUX0VYVF9BUlAiID09IDEiLCAiZHJvcDsiLCBhci0+bGZsb3dfcmVm KTsKKy0gICAgfQorLQorLSAgICBobWFweF9kZXN0cm95KCZyZXNpZGVudF9wb3J0cyk7CistICAg IGRzX2Rlc3Ryb3koJm1hdGNoKTsKKy19CistCisgc3RhdGljIGJvb2wKKyBpc192bGFuX3RyYW5z cGFyZW50KGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kKQorIHsKK0BAIC0xMDI5MywyNSAr MTAyMDMsNDMgQEAgYnVpbGRfYXJwX25kX3NlcnZpY2VfbW9uaXRvcl9sZmxvdyhjb25zdCBjaGFy ICpzdmNfbW9uaXRvcl9tYWMsCisgICAgIH0KKyB9CisgCistLyogSW5ncmVzcyB0YWJsZSAyNDog QVJQL05EIHJlc3BvbmRlciwgc2tpcCByZXF1ZXN0cyBjb21pbmcgZnJvbSBsb2NhbG5ldAorLSAq IHBvcnRzLiAocHJpb3JpdHkgMTAwKTsgc2VlIG92bi1ub3J0aGQuOC54bWwgZm9yIHRoZSByYXRp b25hbGUuICovCistCisrLyogSW5ncmVzcyB0YWJsZTogTG9va3VwIEZEQi4gIFNldCBmbGFncy5s b2NhbG5ldCBmb3IgcGFja2V0cyBhcnJpdmluZyBmcm9tCisrICogbG9jYWxuZXQgcG9ydHMgc28g dGhhdCBkb3duc3RyZWFtIHN0YWdlcyAoZS5nLiwgQVJQL05EIHJlc3BvbmRlcikgY2FuCisrICog Y29uZGl0aW9uIHRoZWlyIGJlaGF2aW9yIG9uIHdoZXRoZXIgdGhlIHBhY2tldCBjYW1lIGZyb20g bG9jYWxuZXQuICovCisgc3RhdGljIHZvaWQKKy1idWlsZF9sc3dpdGNoX2FycF9uZF9yZXNwb25k ZXJfc2tpcF9sb2NhbChzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsZmxvd190YWJsZSAqbGZsb3dzLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcyAqbWF0Y2gpCisr YnVpbGRfbHN3aXRjaF9mcm9tX2xvY2FsbmV0X29wKHN0cnVjdCBvdm5fcG9ydCAqb3AsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsZmxvd190YWJsZSAqbGZsb3dzLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHMgKm1hdGNoKQorIHsKKyAg ICAgb3ZzX2Fzc2VydChvcC0+bmJzcCk7CistICAgIGlmICghbHNwX2lzX2xvY2FsbmV0KG9wLT5u YnNwKSB8fCBvcC0+b2QtPmhhc19hcnBfcHJveHlfcG9ydCkgeworKyAgICBpZiAoIWxzcF9pc19s b2NhbG5ldChvcC0+bmJzcCkpIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorICAgICBkc19j bGVhcihtYXRjaCk7CisgICAgIGRzX3B1dF9mb3JtYXQobWF0Y2gsICJpbnBvcnQgPT0gJXMiLCBv cC0+anNvbl9rZXkpOworLSAgICBvdm5fbGZsb3dfYWRkKGxmbG93cywgb3AtPm9kLCBTX1NXSVRD SF9JTl9BUlBfTkRfUlNQLCAxMDAsIGRzX2NzdHIobWF0Y2gpLAorLSAgICAgICAgICAgICAgICAg ICJuZXh0OyIsIG9wLT5sZmxvd19yZWYsIFdJVEhfSU9fUE9SVChvcC0+a2V5KSwKKysgICAgb3Zu X2xmbG93X2FkZChsZmxvd3MsIG9wLT5vZCwgU19TV0lUQ0hfSU5fTE9PS1VQX0ZEQiwgNTAsCisr ICAgICAgICAgICAgICAgICAgZHNfY3N0cihtYXRjaCksICJmbGFncy5sb2NhbG5ldCA9IDE7IG5l eHQ7IiwKKysgICAgICAgICAgICAgICAgICBvcC0+bGZsb3dfcmVmLCBXSVRIX0lPX1BPUlQob3At PmtleSksCisgICAgICAgICAgICAgICAgICAgV0lUSF9ISU5UKCZvcC0+bmJzcC0+aGVhZGVyXykp OworIH0KKyAKKysvKiBPbiBzd2l0Y2hlcyB3aXRoIGxvY2FsbmV0IHBvcnRzLCByZXN0cmljdCBB UlAvTkQgcmVwbGllcyBmb3IKKysgKiBsb2NhbG5ldC1zb3VyY2VkIHJlcXVlc3RzIHRvIHRoZSBj aGFzc2lzIGhvc3RpbmcgdGhlIHRhcmdldCBWSUYKKysgKiAocHJldmVudGluZyBkdXBsaWNhdGUg cmVwbGllcyBmcm9tIGV2ZXJ5IGh5cGVydmlzb3IpLiAgTm9uLWxvY2FsbmV0CisrICogcmVxdWVz dHMgKFZJRi10by1WSUYpIGFyZSBhbnN3ZXJlZCB1bmNvbmRpdGlvbmFsbHkgYXMgYmVmb3JlLiAq LworK3N0YXRpYyB2b2lkCisrYnVpbGRfbHN3aXRjaF9hcnBfbmRfbG9jYWxfcmVzcF9tYXRjaChz dHJ1Y3QgZHMgKm1hdGNoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IG92bl9wb3J0ICpvcCkKKyt7CisrICAgIGlmICghbHNfaGFzX2xvY2FsbmV0 X3BvcnQob3AtPm9kKSkgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICAgIGRzX3B1 dF9mb3JtYXQobWF0Y2gsCisrICAgICAgICAiICYmICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBp c19jaGFzc2lzX3Jlc2lkZW50KCVzKSkiCisrICAgICAgICAgICAgIiB8fCBmbGFncy5sb2NhbG5l dCA9PSAwKSIsIG9wLT5qc29uX2tleSk7CisrfQorKworIC8qIEluZ3Jlc3MgdGFibGUgMjQ6IEFS UC9ORCByZXNwb25kZXIsIHJlcGx5IGZvciBrbm93biBJUHMuCisgICogKHByaW9yaXR5IDUwKS4g Ki8KKyBzdGF0aWMgdm9pZAorQEAgLTEwNDUzLDYgKzEwMzgxLDggQEAgYnVpbGRfbHN3aXRjaF9h cnBfbmRfcmVzcG9uZGVyX2tub3duX2lwcyhzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLAorICAgICAgICAg ICAgICAgICAgICAgZHNfdHJ1bmNhdGUobWF0Y2gsIG1hdGNoX2xlbik7CisgICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICAgZHNfcHV0X2NzdHIobWF0Y2gsICIgJiYgZXRoLmRzdCA9 PSBmZjpmZjpmZjpmZjpmZjpmZiIpOworKyAgICAgICAgICAgICAgICBzaXplX3QgbWF0Y2hfYXJw X2xlbiA9IG1hdGNoLT5sZW5ndGg7CisrICAgICAgICAgICAgICAgIGJ1aWxkX2xzd2l0Y2hfYXJw X25kX2xvY2FsX3Jlc3BfbWF0Y2gobWF0Y2gsIG9wKTsKKyAKKyAgICAgICAgICAgICAgICAgZHNf Y2xlYXIoYWN0aW9ucyk7CisgICAgICAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQoYWN0aW9ucywK K0BAIC0xMDQ4NCw2ICsxMDQxNCw3IEBAIGJ1aWxkX2xzd2l0Y2hfYXJwX25kX3Jlc3BvbmRlcl9r bm93bl9pcHMoc3RydWN0IG92bl9wb3J0ICpvcCwKKyAgICAgICAgICAgICAgICAgICogYWRkcmVz cyBpcyBpbnRlbmRlZCB0byBkZXRlY3Qgc2l0dWF0aW9ucyB3aGVyZSB0aGUKKyAgICAgICAgICAg ICAgICAgICogbmV0d29yayBpcyBub3Qgd29ya2luZyBhcyBjb25maWd1cmVkLCBzbyBkcm9wcGlu ZyB0aGUKKyAgICAgICAgICAgICAgICAgICogcmVxdWVzdCB3b3VsZCBmcnVzdHJhdGUgdGhhdCBp bnRlbnQuKSAqLworKyAgICAgICAgICAgICAgICBkc190cnVuY2F0ZShtYXRjaCwgbWF0Y2hfYXJw X2xlbik7CisgICAgICAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQobWF0Y2gsICIgJiYgaW5wb3J0 ID09ICVzIiwgb3AtPmpzb25fa2V5KTsKKyAgICAgICAgICAgICAgICAgb3ZuX2xmbG93X2FkZChs Zmxvd3MsIG9wLT5vZCwgU19TV0lUQ0hfSU5fQVJQX05EX1JTUCwgMTAwLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRzX2NzdHIobWF0Y2gpLCAibmV4dDsiLCBvcC0+bGZsb3dfcmVm LAorQEAgLTEwNTIzLDYgKzEwNDU0LDggQEAgYnVpbGRfbHN3aXRjaF9hcnBfbmRfcmVzcG9uZGVy X2tub3duX2lwcyhzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLAorICAgICAgICAgICAgICAgICAgICAgIm5k X25zX21jYXN0ICYmIGlwNi5kc3QgPT0gJXMgJiYgbmQudGFyZ2V0ID09ICVzIiwKKyAgICAgICAg ICAgICAgICAgICAgIG9wLT5sc3BfYWRkcnNbaV0uaXB2Nl9hZGRyc1tqXS5zbl9hZGRyX3MsCisg ICAgICAgICAgICAgICAgICAgICBvcC0+bHNwX2FkZHJzW2ldLmlwdjZfYWRkcnNbal0uYWRkcl9z KTsKKysgICAgICAgICAgICAgICAgc2l6ZV90IG1hdGNoX25kX2xlbiA9IG1hdGNoLT5sZW5ndGg7 CisrICAgICAgICAgICAgICAgIGJ1aWxkX2xzd2l0Y2hfYXJwX25kX2xvY2FsX3Jlc3BfbWF0Y2go bWF0Y2gsIG9wKTsKKyAKKyAgICAgICAgICAgICAgICAgZHNfY2xlYXIoYWN0aW9ucyk7CisgICAg ICAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQoYWN0aW9ucywKK0BAIC0xMDU0OSw2ICsxMDQ4Miw3 IEBAIGJ1aWxkX2xzd2l0Y2hfYXJwX25kX3Jlc3BvbmRlcl9rbm93bl9pcHMoc3RydWN0IG92bl9w b3J0ICpvcCwKKyAKKyAgICAgICAgICAgICAgICAgLyogRG8gbm90IHJlcGx5IHRvIGEgc29saWNp dGF0aW9uIGZyb20gdGhlIHBvcnQgdGhhdCBvd25zCisgICAgICAgICAgICAgICAgICAqIHRoZSBh ZGRyZXNzIChvdGhlcndpc2UgREFEIGRldGVjdGlvbiB3aWxsIGZhaWwpLiAqLworKyAgICAgICAg ICAgICAgICBkc190cnVuY2F0ZShtYXRjaCwgbWF0Y2hfbmRfbGVuKTsKKyAgICAgICAgICAgICAg ICAgZHNfcHV0X2Zvcm1hdChtYXRjaCwgIiAmJiBpbnBvcnQgPT0gJXMiLCBvcC0+anNvbl9rZXkp OworICAgICAgICAgICAgICAgICBvdm5fbGZsb3dfYWRkKGxmbG93cywgb3AtPm9kLCBTX1NXSVRD SF9JTl9BUlBfTkRfUlNQLCAxMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNf Y3N0cihtYXRjaCksICJuZXh0OyIsIG9wLT5sZmxvd19yZWYsCitAQCAtMTA3ODgsNyArMTA3MjIs NyBAQCBidWlsZF9sc3dpdGNoX2RoY3Bfb3B0aW9uc19hbmRfcmVzcG9uc2Uoc3RydWN0IG92bl9w b3J0ICpvcCwKKyAgICAgfQorIAorICAgICBib29sIGlzX2V4dGVybmFsID0gbHNwX2lzX2V4dGVy bmFsKG9wLT5uYnNwKTsKKy0gICAgaWYgKGlzX2V4dGVybmFsICYmICh2ZWN0b3JfaXNfZW1wdHko Jm9wLT5vZC0+bG9jYWxuZXRfcG9ydHMpIHx8CisrICAgIGlmIChpc19leHRlcm5hbCAmJiAoIWxz X2hhc19sb2NhbG5ldF9wb3J0KG9wLT5vZCkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAh b3AtPm5ic3AtPmhhX2NoYXNzaXNfZ3JvdXApKSB7CisgICAgICAgICAvKiBJZiBpdCdzIGFuIGV4 dGVybmFsIHBvcnQgYW5kIHRoZXJlIGFyZSBubyBsb2NhbG5ldCBwb3J0cworICAgICAgICAgICog YW5kIGlmIGl0IGRvZXNuJ3QgYmVsb25nIHRvIGFuIEhBIGNoYXNzaXMgZ3JvdXAgaWdub3JlIGl0 LiAqLworQEAgLTExMjEzLDcgKzExMTQ3LDcgQEAgYnVpbGRfbHN3aXRjaF9pcF91bmljYXN0X2xv b2t1cChzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLAorIAorICAgICAgICAgaWYgKHBlZXJfbHJwX2lzX2Nl bnRyYWxpemVkICYmCisgICAgICAgICAgICAgIXZlY3Rvcl9pc19lbXB0eSgmb3AtPnBlZXItPm9k LT5sM2Rnd19wb3J0cykgJiYKKy0gICAgICAgICAgICAhdmVjdG9yX2lzX2VtcHR5KCZvcC0+b2Qt PmxvY2FsbmV0X3BvcnRzKSkgeworKyAgICAgICAgICAgIGxzX2hhc19sb2NhbG5ldF9wb3J0KG9w LT5vZCkpIHsKKyAgICAgICAgICAgICBhZGRfbHJwX2NoYXNzaXNfcmVzaWRlbnRfY2hlY2sob3At PnBlZXIsIG1hdGNoKTsKKyAgICAgICAgIH0gZWxzZSBpZiAob3AtPmNyX3BvcnQpIHsKKyAgICAg ICAgICAgICAvKiBJZiB0aGUgb3AgaGFzIGEgY2hhc3NpcyByZXNpZGVudCBwb3J0LCBpdCBtZWFu cworQEAgLTEyNTk3LDEwICsxMjUzMSwxNSBAQCBhZGRfZWNtcF9zeW1tZXRyaWNfcmVwbHlfZmxv d3Moc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MsCisgICAgICAgICAgICAgICAgICAgZHNfY3N0 cihyb3V0ZV9tYXRjaCkpOworICAgICBkc19jbGVhcigmYWN0aW9ucyk7CisgICAgIGRzX3B1dF9m b3JtYXQoJmFjdGlvbnMsICJpcC50dGwtLTsgZmxhZ3MubG9vcGJhY2sgPSAxOyAiCistICAgICAg ICAgICAgICAgICAgImV0aC5zcmMgPSAlczsgJXMgPSAlczsgb3V0cG9ydCA9ICVzOyBuZXh0OyIs CistICAgICAgICAgICAgICAgICAgb3V0X3BvcnQtPmxycF9uZXR3b3Jrcy5lYV9zLAorLSAgICAg ICAgICAgICAgICAgIGlzX2lwdjRfbmV4dGhvcCA/IFJFR19TUkNfSVBWNCA6IFJFR19TUkNfSVBW NiwKKy0gICAgICAgICAgICAgICAgICBwb3J0X2lwLCBvdXRfcG9ydC0+anNvbl9rZXkpOworKyAg ICAgICAgICAgICAgICAgICJldGguc3JjID0gJXM7ICIsCisrICAgICAgICAgICAgICAgICAgb3V0 X3BvcnQtPmxycF9uZXR3b3Jrcy5lYV9zKTsKKysgICAgaWYgKHBvcnRfaXApIHsKKysgICAgICAg IGRzX3B1dF9mb3JtYXQoJmFjdGlvbnMsICIlcyA9ICVzOyAiLAorKyAgICAgICAgICAgICAgICAg ICAgICBpc19pcHY0X25leHRob3AgPyBSRUdfU1JDX0lQVjQgOiBSRUdfU1JDX0lQVjYsCisrICAg ICAgICAgICAgICAgICAgICAgIHBvcnRfaXApOworKyAgICB9CisrICAgIGRzX3B1dF9mb3JtYXQo JmFjdGlvbnMsICJvdXRwb3J0ID0gJXM7IG5leHQ7IiwKKysgICAgICAgICAgICAgICAgICBvdXRf cG9ydC0+anNvbl9rZXkpOworICAgICBvdm5fbGZsb3dfYWRkKGxmbG93cywgb2QsIFNfUk9VVEVS X0lOX0lQX1JPVVRJTkcsIDEwMzAwLCBkc19jc3RyKCZtYXRjaCksCisgICAgICAgICAgICAgICAg ICAgZHNfY3N0cigmYWN0aW9ucyksIGxmbG93X3JlZiwgV0lUSF9ISU5UKHJvdXRlLT5zb3VyY2Vf aGludCkpOworIAorQEAgLTEyNzQwLDEzICsxMjY3OSwxNSBAQCBidWlsZF9lY21wX3JvdXRlX2Zs b3coc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MsCisgICAgICAgICBkc19wdXRfZm9ybWF0KCZh Y3Rpb25zLCAiJXMgPSAiLAorICAgICAgICAgICAgICAgICAgICAgICBpc19pcHY0X25leHRob3Ag PyBSRUdfTkVYVF9IT1BfSVBWNCA6IFJFR19ORVhUX0hPUF9JUFY2KTsKKyAgICAgICAgIGlwdjZf Zm9ybWF0X21hcHBlZChyb3V0ZS0+bmV4dGhvcCwgJmFjdGlvbnMpOworLSAgICAgICAgZHNfcHV0 X2Zvcm1hdCgmYWN0aW9ucywgIjsgIgorLSAgICAgICAgICAgICAgICAgICAgICAiJXMgPSAlczsg IgorLSAgICAgICAgICAgICAgICAgICAgICAiZXRoLnNyYyA9ICVzOyAiCisrICAgICAgICBpZiAo cm91dGUtPmxycF9hZGRyX3MpIHsKKysgICAgICAgICAgICBkc19wdXRfZm9ybWF0KCZhY3Rpb25z LCAiOyAlcyA9ICVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2lwdjRfbmV4dGhv cCA/IFJFR19TUkNfSVBWNCA6IFJFR19TUkNfSVBWNiwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgIHJvdXRlLT5scnBfYWRkcl9zKTsKKysgICAgICAgIH0KKysgICAgICAgIGRzX3B1dF9mb3Jt YXQoJmFjdGlvbnMsCisrICAgICAgICAgICAgICAgICAgICAgICI7IGV0aC5zcmMgPSAlczsgIgor ICAgICAgICAgICAgICAgICAgICAgICAib3V0cG9ydCA9ICVzOyAiCisgICAgICAgICAgICAgICAg ICAgICAgIFJFR0JJVF9ORVhUSE9QX0lTX0lQVjQiID0gJWQ7ICIsCistICAgICAgICAgICAgICAg ICAgICAgIGlzX2lwdjRfbmV4dGhvcCA/IFJFR19TUkNfSVBWNCA6IFJFR19TUkNfSVBWNiwKKy0g ICAgICAgICAgICAgICAgICAgICAgcm91dGUtPmxycF9hZGRyX3MsCisgICAgICAgICAgICAgICAg ICAgICAgIHJvdXRlLT5vdXRfcG9ydC0+bHJwX25ldHdvcmtzLmVhX3MsCisgICAgICAgICAgICAg ICAgICAgICAgIHJvdXRlLT5vdXRfcG9ydC0+anNvbl9rZXksCisgICAgICAgICAgICAgICAgICAg ICAgIGlzX2lwdjRfbmV4dGhvcCk7CitAQCAtMTI4MDYsMTUgKzEyNzQ3LDE3IEBAIGFkZF9yb3V0 ZShzdHJ1Y3QgbGZsb3dfdGFibGUgKmxmbG93cywgY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAq b2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFR19ORVhU X0hPUF9JUFY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaXB2NF9wcmVmaXggPyAi NCIgOiAiNiIpOworICAgICAgICAgfQorLSAgICAgICAgZHNfcHV0X2Zvcm1hdCgmY29tbW9uX2Fj dGlvbnMsICI7ICIKKy0gICAgICAgICAgICAgICAgICAgICAgIiVzID0gJXM7ICIKKy0gICAgICAg ICAgICAgICAgICAgICAgImV0aC5zcmMgPSAlczsgIgorKyAgICAgICAgaWYgKGxycF9hZGRyX3Mp IHsKKysgICAgICAgICAgICBkc19wdXRfZm9ybWF0KCZjb21tb25fYWN0aW9ucywgIjsgJXMgPSAl cyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBpc19pcHY0X25leHRob3AgPyBSRUdfU1JD X0lQVjQgOiBSRUdfU1JDX0lQVjYsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBscnBfYWRk cl9zKTsKKysgICAgICAgIH0KKysgICAgICAgIGRzX3B1dF9mb3JtYXQoJmNvbW1vbl9hY3Rpb25z LAorKyAgICAgICAgICAgICAgICAgICAgICAiOyBldGguc3JjID0gJXM7ICIKKyAgICAgICAgICAg ICAgICAgICAgICAgIm91dHBvcnQgPSAlczsgIgorICAgICAgICAgICAgICAgICAgICAgICAiZmxh Z3MubG9vcGJhY2sgPSAxOyAiCisgICAgICAgICAgICAgICAgICAgICAgIFJFR0JJVF9ORVhUSE9Q X0lTX0lQVjQiID0gJWQ7ICIKKyAgICAgICAgICAgICAgICAgICAgICAgIm5leHQ7IiwKKy0gICAg ICAgICAgICAgICAgICAgICAgaXNfaXB2NF9uZXh0aG9wID8gUkVHX1NSQ19JUFY0IDogUkVHX1NS Q19JUFY2LAorLSAgICAgICAgICAgICAgICAgICAgICBscnBfYWRkcl9zLAorICAgICAgICAgICAg ICAgICAgICAgICBvcC0+bHJwX25ldHdvcmtzLmVhX3MsCisgICAgICAgICAgICAgICAgICAgICAg IG9wLT5qc29uX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgaXNfaXB2NF9uZXh0aG9wKTsK K0BAIC0xNDcyNyw2ICsxNDY3MCwxMCBAQCBidWlsZF9uZWlnaF9sZWFybmluZ19mbG93c19mb3Jf bHJvdXRlcl9wb3J0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPmxycF9uZXR3b3Jr cy5pcHY0X2FkZHJzW2ldLm5ldHdvcmtfcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w LT5scnBfbmV0d29ya3MuaXB2NF9hZGRyc1tpXS5wbGVuLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3AtPmxycF9uZXR3b3Jrcy5pcHY0X2FkZHJzW2ldLmFkZHJfcyk7CisrICAgICAgICAg ICAgaWYgKGxycF9pc19sM2RndyhvcCkpIHsKKysgICAgICAgICAgICAgICAgZHNfcHV0X2Zvcm1h dChtYXRjaCwgIiAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCVzKSIsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3AtPmNyX3BvcnQtPmpzb25fa2V5KTsKKysgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgY29uc3QgY2hhciAqYWN0aW9uc19zID0gUkVHQklUX0xPT0tVUF9ORUlHSEJP Ul9SRVNVTFQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID0gbG9va3VwX2FycChp bnBvcnQsIGFycC5zcGEsIGFycC5zaGEpOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUkVHQklUX0xPT0tVUF9ORUlHSEJPUl9JUF9SRVNVTFQiID0gMTsiCitAQCAtMTQ3NDEsNiAr MTQ2ODgsMTAgQEAgYnVpbGRfbmVpZ2hfbGVhcm5pbmdfZmxvd3NfZm9yX2xyb3V0ZXJfcG9ydCgK KyAgICAgICAgICAgICAgICAgICAgICAgb3AtPmpzb25fa2V5LAorICAgICAgICAgICAgICAgICAg ICAgICBvcC0+bHJwX25ldHdvcmtzLmlwdjRfYWRkcnNbaV0ubmV0d29ya19zLAorICAgICAgICAg ICAgICAgICAgICAgICBvcC0+bHJwX25ldHdvcmtzLmlwdjRfYWRkcnNbaV0ucGxlbik7CisrICAg ICAgICBpZiAobHJwX2lzX2wzZGd3KG9wKSkgeworKyAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQo bWF0Y2gsICIgJiYgaXNfY2hhc3Npc19yZXNpZGVudCglcykiLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgb3AtPmNyX3BvcnQtPmpzb25fa2V5KTsKKysgICAgICAgIH0KKyAgICAgICAgIGRz X2NsZWFyKGFjdGlvbnMpOworICAgICAgICAgZHNfcHV0X2Zvcm1hdChhY3Rpb25zLCBSRUdCSVRf TE9PS1VQX05FSUdIQk9SX1JFU1VMVAorICAgICAgICAgICAgICAgICAgICAgICAiID0gbG9va3Vw X2FycChpbnBvcnQsIGFycC5zcGEsIGFycC5zaGEpOyAlc25leHQ7IiwKK0BAIC0xNzExMiw3ICsx NzA2Myw3IEBAIGJ1aWxkX2xyb3V0ZXJfaXB2NF9pcF9pbnB1dChzdHJ1Y3Qgb3ZuX3BvcnQgKm9w LAorIAorICAgICAgICAgaWYgKG9kX2lzX2NlbnRyYWxpemVkKG9wLT5vZCkgJiYKKyAgICAgICAg ICAgICAhdmVjdG9yX2lzX2VtcHR5KCZvcC0+b2QtPmwzZGd3X3BvcnRzKSAmJiBvcC0+cGVlcgor LSAgICAgICAgICAgICYmICF2ZWN0b3JfaXNfZW1wdHkoJm9wLT5wZWVyLT5vZC0+bG9jYWxuZXRf cG9ydHMpKSB7CisrICAgICAgICAgICAgJiYgbHNfaGFzX2xvY2FsbmV0X3BvcnQob3AtPnBlZXIt Pm9kKSkgeworICAgICAgICAgICAgIGFkZF9scnBfY2hhc3Npc19yZXNpZGVudF9jaGVjayhvcCwg bWF0Y2gpOworICAgICAgICAgfQorIAorQEAgLTE5MzA0LDcgKzE5MjU1LDYgQEAgc3RydWN0IGxz d2l0Y2hfZmxvd19idWlsZF9pbmZvIHsKKyAgICAgY29uc3Qgc3RydWN0IGxzX3BvcnRfZ3JvdXBf dGFibGUgKmxzX3BvcnRfZ3JvdXBzOworICAgICBjb25zdCBzdHJ1Y3QgbHJfc3RhdGVmdWxfdGFi bGUgKmxyX3N0YXRlZnVsX3RhYmxlOworICAgICBjb25zdCBzdHJ1Y3QgbHNfc3RhdGVmdWxfdGFi bGUgKmxzX3N0YXRlZnVsX3RhYmxlOworLSAgICBjb25zdCBzdHJ1Y3QgbHNfYXJwX3RhYmxlICps c19hcnBfdGFibGU7CisgICAgIHN0cnVjdCBsZmxvd190YWJsZSAqbGZsb3dzOworICAgICBjb25z dCBzdHJ1Y3Qgc2hhc2ggKm1ldGVyX2dyb3VwczsKKyAgICAgY29uc3Qgc3RydWN0IGhtYXAgKmxi X2Rwc19tYXA7CitAQCAtMTk0NDAsNyArMTkzOTAsNyBAQCBidWlsZF9sc3dpdGNoX2FuZF9scm91 dGVyX2l0ZXJhdGVfYnlfbHNwKHN0cnVjdCBvdm5fcG9ydCAqb3AsCisgICAgIGJ1aWxkX21pcnJv cl9sZmxvd3Mob3AsIGxzX3BvcnRzLCBsZmxvd3MpOworICAgICBidWlsZF9sc3dpdGNoX3BvcnRf c2VjX29wKG9wLCBsZmxvd3MsIGFjdGlvbnMsIG1hdGNoKTsKKyAgICAgYnVpbGRfbHN3aXRjaF9s ZWFybl9mZGJfb3Aob3AsIGxmbG93cywgYWN0aW9ucywgbWF0Y2gpOworLSAgICBidWlsZF9sc3dp dGNoX2FycF9uZF9yZXNwb25kZXJfc2tpcF9sb2NhbChvcCwgbGZsb3dzLCBtYXRjaCk7CisrICAg IGJ1aWxkX2xzd2l0Y2hfZnJvbV9sb2NhbG5ldF9vcChvcCwgbGZsb3dzLCBtYXRjaCk7CisgICAg IGJ1aWxkX2xzd2l0Y2hfYXJwX25kX3Jlc3BvbmRlcl9rbm93bl9pcHMob3AsIGxmbG93cywgbHNf cG9ydHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0 ZXJfZ3JvdXBzLCBhY3Rpb25zLCBtYXRjaCk7CisgICAgIGJ1aWxkX2xzd2l0Y2hfZGhjcF9vcHRp b25zX2FuZF9yZXNwb25zZShvcCwgbGZsb3dzLCBtZXRlcl9ncm91cHMpOworQEAgLTE5NTA2LDcg KzE5NDU2LDYgQEAgYnVpbGRfbGZsb3dzX3RocmVhZCh2b2lkICphcmcpCisgICAgIHN0cnVjdCB3 b3JrZXJfY29udHJvbCAqY29udHJvbCA9IChzdHJ1Y3Qgd29ya2VyX2NvbnRyb2wgKikgYXJnOwor ICAgICBjb25zdCBzdHJ1Y3QgbHJfc3RhdGVmdWxfcmVjb3JkICpscl9zdGF0ZWZ1bF9yZWM7Cisg ICAgIGNvbnN0IHN0cnVjdCBsc19zdGF0ZWZ1bF9yZWNvcmQgKmxzX3N0YXRlZnVsX3JlYzsKKy0g ICAgY29uc3Qgc3RydWN0IGxzX2FycF9yZWNvcmQgKmxzX2FycF9yZWM7CisgICAgIHN0cnVjdCBs c3dpdGNoX2Zsb3dfYnVpbGRfaW5mbyAqbHNpOworICAgICBzdHJ1Y3Qgb3ZuX2xiX2RhdGFwYXRo cyAqbGJfZHBzOworICAgICBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpvZDsKK0BAIC0xOTY2MCwyMCAr MTk2MDksNiBAQCBidWlsZF9sZmxvd3NfdGhyZWFkKHZvaWQgKmFyZykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzaS0+c2JyZWNfYWNsX2lkX3RhYmxlKTsK KyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBmb3Ig KGJudW0gPSBjb250cm9sLT5pZDsKKy0gICAgICAgICAgICAgICAgICAgIGJudW0gPD0gbHNpLT5s c19hcnBfdGFibGUtPmVudHJpZXMubWFzazsKKy0gICAgICAgICAgICAgICAgICAgIGJudW0gKz0g Y29udHJvbC0+cG9vbC0+c2l6ZSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIExT X0FSUF9UQUJMRV9GT1JfRUFDSF9JTl9QIChsc19hcnBfcmVjLCBibnVtLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHNpLT5sc19hcnBfdGFibGUpIHsKKy0g ICAgICAgICAgICAgICAgICAgIG9kID0gb3ZuX2RhdGFwYXRoc19maW5kX2J5X2luZGV4KAorLSAg ICAgICAgICAgICAgICAgICAgICAgIGxzaS0+bHNfZGF0YXBhdGhzLCBsc19hcnBfcmVjLT5sc19p bmRleCk7CistICAgICAgICAgICAgICAgICAgICBidWlsZF9sc3dpdGNoX2FycF9jaGFzc2lzX3Jl c2lkZW50KG9kLCBsc2ktPmxmbG93cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbHNfYXJwX3JlYyk7CistICAgICAgICAgICAgICAgIH0K Ky0gICAgICAgICAgICB9CistCisgICAgICAgICAgICAgbHNpLT50aHJlYWRfbGZsb3dfY291bnRl ciA9IHRocmVhZF9sZmxvd19jb3VudGVyOworICAgICAgICAgfQorICAgICAgICAgcG9zdF9jb21w bGV0ZWRfd29yayhjb250cm9sKTsKK0BAIC0xOTcyMiw3ICsxOTY1Nyw2IEBAIGJ1aWxkX2xzd2l0 Y2hfYW5kX2xyb3V0ZXJfZmxvd3MoCisgICAgIGNvbnN0IHN0cnVjdCBsc19wb3J0X2dyb3VwX3Rh YmxlICpsc19wZ3MsCisgICAgIGNvbnN0IHN0cnVjdCBscl9zdGF0ZWZ1bF90YWJsZSAqbHJfc3Rh dGVmdWxfdGFibGUsCisgICAgIGNvbnN0IHN0cnVjdCBsc19zdGF0ZWZ1bF90YWJsZSAqbHNfc3Rh dGVmdWxfdGFibGUsCistICAgIGNvbnN0IHN0cnVjdCBsc19hcnBfdGFibGUgKmxzX2FycF90YWJs ZSwKKyAgICAgc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MsCisgICAgIGNvbnN0IHN0cnVjdCBz aGFzaCAqbWV0ZXJfZ3JvdXBzLAorICAgICBjb25zdCBzdHJ1Y3QgaG1hcCAqbGJfZHBzX21hcCwK K0BAIC0xOTc1OSw3ICsxOTY5Myw2IEBAIGJ1aWxkX2xzd2l0Y2hfYW5kX2xyb3V0ZXJfZmxvd3Mo CisgICAgICAgICAgICAgbHNpdltpbmRleF0ubHNfcG9ydF9ncm91cHMgPSBsc19wZ3M7CisgICAg ICAgICAgICAgbHNpdltpbmRleF0ubHJfc3RhdGVmdWxfdGFibGUgPSBscl9zdGF0ZWZ1bF90YWJs ZTsKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5sc19zdGF0ZWZ1bF90YWJsZSA9IGxzX3N0YXRl ZnVsX3RhYmxlOworLSAgICAgICAgICAgIGxzaXZbaW5kZXhdLmxzX2FycF90YWJsZSA9IGxzX2Fy cF90YWJsZTsKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5tZXRlcl9ncm91cHMgPSBtZXRlcl9n cm91cHM7CisgICAgICAgICAgICAgbHNpdltpbmRleF0ubGJfZHBzX21hcCA9IGxiX2Rwc19tYXA7 CisgICAgICAgICAgICAgbHNpdltpbmRleF0ubG9jYWxfc3ZjX21vbml0b3JfbWFwID0KK0BAIC0x OTc5Niw3ICsxOTcyOSw2IEBAIGJ1aWxkX2xzd2l0Y2hfYW5kX2xyb3V0ZXJfZmxvd3MoCisgICAg IH0gZWxzZSB7CisgICAgICAgICBjb25zdCBzdHJ1Y3QgbHJfc3RhdGVmdWxfcmVjb3JkICpscl9z dGF0ZWZ1bF9yZWM7CisgICAgICAgICBjb25zdCBzdHJ1Y3QgbHNfc3RhdGVmdWxfcmVjb3JkICps c19zdGF0ZWZ1bF9yZWM7CistICAgICAgICBjb25zdCBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqbHNf YXJwX3JlYzsKKyAgICAgICAgIHN0cnVjdCBvdm5fbGJfZGF0YXBhdGhzICpsYl9kcHM7CisgICAg ICAgICBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpvZDsKKyAgICAgICAgIHN0cnVjdCBvdm5fcG9ydCAq b3A7CitAQCAtMTk4MDksNyArMTk3NDEsNiBAQCBidWlsZF9sc3dpdGNoX2FuZF9scm91dGVyX2Zs b3dzKAorICAgICAgICAgICAgIC5sc19wb3J0X2dyb3VwcyA9IGxzX3BncywKKyAgICAgICAgICAg ICAubHJfc3RhdGVmdWxfdGFibGUgPSBscl9zdGF0ZWZ1bF90YWJsZSwKKyAgICAgICAgICAgICAu bHNfc3RhdGVmdWxfdGFibGUgPSBsc19zdGF0ZWZ1bF90YWJsZSwKKy0gICAgICAgICAgICAubHNf YXJwX3RhYmxlID0gbHNfYXJwX3RhYmxlLAorICAgICAgICAgICAgIC5sZmxvd3MgPSBsZmxvd3Ms CisgICAgICAgICAgICAgLm1ldGVyX2dyb3VwcyA9IG1ldGVyX2dyb3VwcywKKyAgICAgICAgICAg ICAubGJfZHBzX21hcCA9IGxiX2Rwc19tYXAsCitAQCAtMTk5MDYsMTIgKzE5ODM3LDYgQEAgYnVp bGRfbHN3aXRjaF9hbmRfbHJvdXRlcl9mbG93cygKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsc2kuc2JyZWNfYWNsX2lkX3RhYmxlKTsKKyAgICAgICAgIH0KKyAKKy0gICAg ICAgIExTX0FSUF9UQUJMRV9GT1JfRUFDSCAobHNfYXJwX3JlYywgbHNfYXJwX3RhYmxlKSB7Cist ICAgICAgICAgICAgb2QgPSBvdm5fZGF0YXBhdGhzX2ZpbmRfYnlfaW5kZXgobHNpLmxzX2RhdGFw YXRocywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc19h cnBfcmVjLT5sc19pbmRleCk7CistICAgICAgICAgICAgYnVpbGRfbHN3aXRjaF9hcnBfY2hhc3Np c19yZXNpZGVudChvZCwgbHNpLmxmbG93cywgbHNfYXJwX3JlYyk7CistICAgICAgICB9CistCisg ICAgICAgICBkc19kZXN0cm95KCZsc2kubWF0Y2gpOworICAgICAgICAgZHNfZGVzdHJveSgmbHNp LmFjdGlvbnMpOworICAgICB9CitAQCAtMTk5OTUsNyArMTk5MjAsNiBAQCB2b2lkIGJ1aWxkX2xm bG93cyhzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3Zuc2JfdHhuLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlucHV0X2RhdGEtPmxzX3BvcnRfZ3JvdXBzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0X2RhdGEtPmxyX3N0YXRlZnVsX3RhYmxl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0X2RhdGEtPmxzX3N0 YXRlZnVsX3RhYmxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0 X2RhdGEtPmxzX2FycF90YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsZmxvd3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZGF0 YS0+bWV0ZXJfZ3JvdXBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu cHV0X2RhdGEtPmxiX2RhdGFwYXRoc19tYXAsCitAQCAtMjA0NDEsNDIgKzIwMzY1LDYgQEAgbGZs b3dfaGFuZGxlX2xzX3N0YXRlZnVsX2NoYW5nZXMoc3RydWN0IG92c2RiX2lkbF90eG4gKm92bnNi X3R4biwKKyAgICAgcmV0dXJuIHRydWU7CisgfQorIAorLWJvb2wKKy1sZmxvd19oYW5kbGVfbHNf YXJwX2NoYW5nZXMoc3RydWN0IG92c2RiX2lkbF90eG4gKm92bnNiX3R4biwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGxzX2FycF90cmFja2VkX2RhdGEgKnRya19kYXRhLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGZsb3dfaW5wdXQgKmxmbG93X2lu cHV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGZsb3dfdGFibGUgKmxm bG93cykKKy17CistICAgIHN0cnVjdCBobWFweF9ub2RlICpobWFweF9ub2RlOworLQorLSAgICBI TUFQWF9GT1JfRUFDSCAoaG1hcHhfbm9kZSwgJnRya19kYXRhLT5jcnVwZGF0ZWQpIHsKKy0gICAg ICAgIGNvbnN0IHN0cnVjdCBsc19hcnBfcmVjb3JkICpsc19hcnBfcmVjb3JkID0gaG1hcHhfbm9k ZS0+ZGF0YTsKKy0gICAgICAgIGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kID0KKy0gICAg ICAgICAgICBvdm5fZGF0YXBhdGhzX2ZpbmRfYnlfaW5kZXgobGZsb3dfaW5wdXQtPmxzX2RhdGFw YXRocywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHNfYXJwX3Jl Y29yZC0+bHNfaW5kZXgpOworLSAgICAgICAgbGZsb3dfcmVmX3VubGlua19sZmxvd3MobHNfYXJw X3JlY29yZC0+bGZsb3dfcmVmKTsKKy0KKy0gICAgICAgIGJ1aWxkX2xzd2l0Y2hfYXJwX2NoYXNz aXNfcmVzaWRlbnQob2QsIGxmbG93cywgbHNfYXJwX3JlY29yZCk7CistCistICAgICAgICBib29s IGhhbmRsZWQgPSBsZmxvd19yZWZfc3luY19sZmxvd3MoCistICAgICAgICAgICAgbHNfYXJwX3Jl Y29yZC0+bGZsb3dfcmVmLCBsZmxvd3MsIG92bnNiX3R4biwKKy0gICAgICAgICAgICBsZmxvd19p bnB1dC0+ZHBzLAorLSAgICAgICAgICAgIGxmbG93X2lucHV0LT5vdm5faW50ZXJuYWxfdmVyc2lv bl9jaGFuZ2VkLAorLSAgICAgICAgICAgIGxmbG93X2lucHV0LT5zYnJlY19sb2dpY2FsX2Zsb3df dGFibGUsCistICAgICAgICAgICAgbGZsb3dfaW5wdXQtPnNicmVjX2xvZ2ljYWxfZHBfZ3JvdXBf dGFibGUpOworLSAgICAgICAgaWYgKCFoYW5kbGVkKSB7CistICAgICAgICAgICAgcmV0dXJuIGZh bHNlOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIEhNQVBYX0ZPUl9FQUNIIChobWFweF9u b2RlLCAmdHJrX2RhdGEtPmRlbGV0ZWQpIHsKKy0gICAgICAgIHN0cnVjdCBsc19hcnBfcmVjb3Jk ICpsc19hcnBfcmVjb3JkID0gaG1hcHhfbm9kZS0+ZGF0YTsKKy0gICAgICAgIGxmbG93X3JlZl91 bmxpbmtfbGZsb3dzKGxzX2FycF9yZWNvcmQtPmxmbG93X3JlZik7CistICAgIH0KKy0KKy0gICAg cmV0dXJuIHRydWU7CistfQorLQorIHN0YXRpYyBib29sCisgbWlycm9yX25lZWRzX3VwZGF0ZShj b25zdCBzdHJ1Y3QgbmJyZWNfbWlycm9yICpuYl9taXJyb3IsCisgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3Qgc2JyZWNfbWlycm9yICpzYl9taXJyb3IpCitkaWZmIC0tZ2l0IGEvbm9y dGhkL25vcnRoZC5oIGIvbm9ydGhkL25vcnRoZC5oCitpbmRleCA3ZjJiNGM5MDA0Li45OGVhNGM4 YTE3IDEwMDY0NAorLS0tIGEvbm9ydGhkL25vcnRoZC5oCisrKysgYi9ub3J0aGQvbm9ydGhkLmgK K0BAIC0yOSw3ICsyOSw2IEBACisgI2luY2x1ZGUgInNpbWFwLmgiCisgI2luY2x1ZGUgIm92cy10 aHJlYWQuaCIKKyAjaW5jbHVkZSAiZW4tbHItc3RhdGVmdWwuaCIKKy0jaW5jbHVkZSAiZW4tbHMt YXJwLmgiCisgI2luY2x1ZGUgInZlYy5oIgorICNpbmNsdWRlICJkYXRhcGF0aC1zeW5jLmgiCisg I2luY2x1ZGUgInNwYXJzZS1hcnJheS5oIgorQEAgLTI3MSw3ICsyNzAsNiBAQCBzdHJ1Y3QgbGZs b3dfaW5wdXQgeworICAgICBjb25zdCBzdHJ1Y3QgbHNfcG9ydF9ncm91cF90YWJsZSAqbHNfcG9y dF9ncm91cHM7CisgICAgIGNvbnN0IHN0cnVjdCBscl9zdGF0ZWZ1bF90YWJsZSAqbHJfc3RhdGVm dWxfdGFibGU7CisgICAgIGNvbnN0IHN0cnVjdCBsc19zdGF0ZWZ1bF90YWJsZSAqbHNfc3RhdGVm dWxfdGFibGU7CistICAgIGNvbnN0IHN0cnVjdCBsc19hcnBfdGFibGUgKmxzX2FycF90YWJsZTsK KyAgICAgY29uc3Qgc3RydWN0IHNoYXNoICptZXRlcl9ncm91cHM7CisgICAgIGNvbnN0IHN0cnVj dCBobWFwICpsYl9kYXRhcGF0aHNfbWFwOworICAgICBjb25zdCBzdHJ1Y3Qgc3NldCAqYmZkX3Bv cnRzOworQEAgLTQ3Niw5ICs0NzQsNiBAQCBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoIHsKKyAgICAgICog VmFsaWQgb25seSBpZiBpdCBpcyBsb2dpY2FsIHJvdXRlciBkYXRhcGF0aC4gTlVMTCBvdGhlcndp c2UuICovCisgICAgIHN0cnVjdCBscm91dGVyX2dyb3VwICpscl9ncm91cDsKKyAKKy0gICAgLyog U2V0IG9mIGxvY2FsbmV0IG9yIGwyZ3cgcG9ydHMuICovCistICAgIHN0cnVjdCBobWFweCBwaHlz X3BvcnRzOworLQorICAgICAvKiBNYXAgb2Ygb3ZuX3BvcnQgb2JqZWN0cyBiZWxvbmdpbmcgdG8g dGhpcyBkYXRhcGF0aC4KKyAgICAgICogVGhpcyBtYXAgZG9lc24ndCBpbmNsdWRlIGRlcml2ZWQg cG9ydHMuICovCisgICAgIHN0cnVjdCBobWFwIHBvcnRzOworQEAgLTUxMyw2ICs1MDgsMTIgQEAg b3ZuX2RhdGFwYXRoX2lzX3N0YWxlKGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kKQorICAg ICByZXR1cm4gIW9kLT5uYnIgJiYgIW9kLT5uYnM7CisgfTsKKyAKKytzdGF0aWMgaW5saW5lIGJv b2wKKytsc19oYXNfbG9jYWxuZXRfcG9ydChjb25zdCBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpvZCkK Kyt7CisrICAgIHJldHVybiAhdmVjdG9yX2lzX2VtcHR5KCZvZC0+bG9jYWxuZXRfcG9ydHMpOwor K30KKysKKyAvKiBQaXBlbGluZSBzdGFnZXMuICovCisgI2RlZmluZSBQSVBFTElORV9TVEFHRVMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg IC8qIExvZ2ljYWwgc3dpdGNoIGluZ3Jlc3Mgc3RhZ2VzLiAqLyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCitAQCAtOTc0LDEwICs5NzUsNiBAQCBib29sIGxmbG93X2hhbmRsZV9s c19zdGF0ZWZ1bF9jaGFuZ2VzKHN0cnVjdCBvdnNkYl9pZGxfdHhuICosCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbHNfc3RhdGVmdWxfdHJhY2tlZF9kYXRh ICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGZsb3df aW5wdXQgKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBs Zmxvd190YWJsZSAqbGZsb3dzKTsKKy1ib29sIGxmbG93X2hhbmRsZV9sc19hcnBfY2hhbmdlcyhz dHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBsc19hcnBfdHJhY2tlZF9kYXRhICosCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGxmbG93X2lucHV0ICosCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MpOworIGJvb2wgbm9ydGhkX2hhbmRs ZV9zYl9wb3J0X2JpbmRpbmdfY2hhbmdlcygKKyAgICAgY29uc3Qgc3RydWN0IHNicmVjX3BvcnRf YmluZGluZ190YWJsZSAqLCBzdHJ1Y3QgaG1hcCAqbHNfcG9ydHMsCisgICAgIHN0cnVjdCBobWFw ICpscl9wb3J0cyk7CitkaWZmIC0tZ2l0IGEvbm9ydGhkL292bi1ub3J0aGQuOC54bWwgYi9ub3J0 aGQvb3ZuLW5vcnRoZC44LnhtbAoraW5kZXggNGQ2MzcwZGE2Yi4uNzEwOGVjNzk4NCAxMDA2NDQK Ky0tLSBhL25vcnRoZC9vdm4tbm9ydGhkLjgueG1sCisrKysgYi9ub3J0aGQvb3ZuLW5vcnRoZC44 LnhtbAorQEAgLTMxMCwxNSArMzEwLDYgQEAKKyAgICAgICAgIDwvcD4KKyAgICAgICA8L2xpPgor IAorLSAgICAgIDxsaT4KKy0gICAgICAgIEZvciBlYWNoIGxvZ2ljYWwgc3dpdGNoIHRoYXQgaGFz IGNvbm5lY3RlZCBwaHlzaWNhbCBwb3J0cworLSAgICAgICAgKGxvY2FsbmV0IG9yIGwyZ2F0ZXdh eSkgYW5kIGlzIGFsc28gY29ubmVjdGVkIHRvIGEgZGlzdHJpYnV0ZWQgcm91dGVyLAorLSAgICAg ICAgZmlsdGVyaW5nIHJ1bGVzIGFyZSBhZGRlZCBmb3IgQVJQIHJlcXVlc3RzIGNvbWluZyBmcm9t IGxvY2FsbmV0IG9yCistICAgICAgICBsMmdhdGV3YXkgcG9ydHMsIGFsbG93ZWQgZm9yIHByb2Nl c3Npbmcgb24gZ2F0ZXdheSBjaGFzc2lzLgorLSAgICAgICAgVGhlIDxjb2RlPlJFR0JJVF9FWFRf QVJQPC9jb2RlPiByZWdpc3RlciBpcyBzZXQgZm9yIGFsbCBBUlAgcmVxdWVzdHMKKy0gICAgICAg IG9yaWdpbmF0aW5nIGZyb20gcGh5c2ljYWwgcG9ydHMgd2l0aCBwcmlvcml0eSA3NSBmbG93Lgor LSAgICAgIDwvbGk+CistCisgICAgICAgPGxpPgorICAgICAgICAgRm9yIGVhY2ggKGVuYWJsZWQp IHZ0ZXAgbG9naWNhbCBwb3J0LCBhIHByaW9yaXR5IDcwIGZsb3cgaXMgYWRkZWQgd2hpY2gKKyAg ICAgICAgIG1hdGNoZXMgb24gYWxsIHBhY2tldHMgYW5kIGFwcGxpZXMgdGhlIGFjdGlvbgorQEAg LTQwNSwxMyArMzk2LDYgQEAKKyAgICAgICAgIE9uZSBwcmlvcml0eS0wIGZhbGxiYWNrIGZsb3cg dGhhdCBtYXRjaGVzIGFsbCBwYWNrZXRzIGFuZCBhZHZhbmNlcyB0bworICAgICAgICAgdGhlIG5l eHQgdGFibGUuCisgICAgICAgPC9saT4KKy0KKy0gICAgICA8bGk+CistICAgICAgICBQcmlvcml0 eSA3NTogQWxsb3dzIDxjb2RlPlJFR0JJVF9FWFRfQVJQPC9jb2RlPiBwYWNrZXRzIG9ubHkgb24g Z2F0ZXdheQorLSAgICAgICAgY2hhc3NpcyBhbmQgY2hhc3NpcyB3aXRoIGRpc3RyaWJ1dGVkIE5B VCBlbnRyaWVzLgorLSAgICAgICAgUHJpb3JpdHkgNzA6IERyb3BzIDxjb2RlPlJFR0JJVF9FWFRf QVJQPC9jb2RlPiBwYWNrZXRzIG9uIG5vbi1nYXRld2F5CistICAgICAgICBjaGFzc2lzIChjb21w bGVtZW50cyB0aGUgcHJpb3JpdHkgNzUgZmxvdykuCistICAgICAgPC9saT4KKyAgICAgPC91bD4K KyAKKyAgICAgPGgzPkluZ3Jlc3MgVGFibGUgMjogTWlycm9yIDwvaDM+CitAQCAtNDg4LDYgKzQ3 MiwyMSBAQAorICAgICAgICAgPC91bD4KKyAgICAgICA8L2xpPgorIAorKyAgICAgIDxsaT4KKysg ICAgICAgIDxwPgorKyAgICAgICAgICBGb3IgZWFjaCBsb2NhbG5ldCBsb2dpY2FsIHBvcnQgPHZh cj5wPC92YXI+LCBhIHByaW9yaXR5LTUwCisrICAgICAgICAgIGZhbGxiYWNrIGZsb3cgaXMgYWRk ZWQgd2l0aCB0aGUgbWF0Y2gKKysgICAgICAgICAgPGNvZGU+aW5wb3J0ID09IDx2YXI+cDwvdmFy PjwvY29kZT4gYW5kIGFjdGlvbgorKyAgICAgICAgICA8Y29kZT5mbGFncy5sb2NhbG5ldCA9IDE7 IG5leHQ7PC9jb2RlPi4gIFRoaXMgbWFya3MgdHJhZmZpYworKyAgICAgICAgICBhcnJpdmluZyBm cm9tIGxvY2FsbmV0IHBvcnRzIHNvIHRoYXQgZG93bnN0cmVhbSBzdGFnZXMgKGUuZy4sCisrICAg ICAgICAgIEFSUC9ORCByZXNwb25kZXIpIGNhbiBjb25kaXRpb24gdGhlaXIgYmVoYXZpb3IuICBX aGVuIEZEQgorKyAgICAgICAgICBsZWFybmluZyBpcyBlbmFibGVkIG9uIHRoZSBsb2NhbG5ldCBw b3J0LCB0aGUgcHJpb3JpdHktMTAwCisrICAgICAgICAgIGZsb3cgZGVzY3JpYmVkIGFib3ZlIGFs cmVhZHkgc2V0cyA8Y29kZT5mbGFncy5sb2NhbG5ldDwvY29kZT4sCisrICAgICAgICAgIHNvIHRo aXMgcHJpb3JpdHktNTAgZmxvdyBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIEZEQiBsZWFybmluZwor KyAgICAgICAgICBpcyBub3QgY29uZmlndXJlZC4KKysgICAgICAgIDwvcD4KKysgICAgICA8L2xp PgorKworICAgICAgIDxsaT4KKyAgICAgICAgIE9uZSBwcmlvcml0eS0wIGZhbGxiYWNrIGZsb3cg dGhhdCBtYXRjaGVzIGFsbCBwYWNrZXRzIGFuZCBhZHZhbmNlcyB0bworICAgICAgICAgdGhlIG5l eHQgdGFibGUuCitAQCAtMTczNCwxMiArMTczMywxNiBAQAorICAgICA8L3A+CisgCisgICAgIDxw PgorLSAgICAgIE5vdGUgdGhhdCBBUlAgcmVxdWVzdHMgcmVjZWl2ZWQgZnJvbSA8Y29kZT5sb2Nh bG5ldDwvY29kZT4gbG9naWNhbAorLSAgICAgIGlucG9ydHMgY2FuIGVpdGhlciBnbyBkaXJlY3Rs eSB0byBWTXMsIGluIHdoaWNoIGNhc2UgdGhlIFZNIHJlc3BvbmRzIG9yCistICAgICAgY2FuIGhp dCBhbiBBUlAgcmVzcG9uZGVyIGZvciBhIGxvZ2ljYWwgcm91dGVyIHBvcnQgaWYgdGhlIHBhY2tl dCBpcyB1c2VkCistICAgICAgdG8gcmVzb2x2ZSBhIGxvZ2ljYWwgcm91dGVyIHBvcnQgbmV4dCBo b3AgYWRkcmVzcy4gIEluIGVpdGhlciBjYXNlLAorLSAgICAgIGxvZ2ljYWwgc3dpdGNoIEFSUCBy ZXNwb25kZXIgcnVsZXMgd2lsbCBub3QgYmUgaGl0LiAgSXQgY29udGFpbnMgdGhlc2UKKy0gICAg ICBsb2dpY2FsIGZsb3dzOgorKyAgICAgIEFSUC9ORCByZXF1ZXN0cyByZWNlaXZlZCBmcm9tIDxj b2RlPmxvY2FsbmV0PC9jb2RlPiBsb2dpY2FsIGlucG9ydHMKKysgICAgICBkbyBoaXQgdGhlIEFS UC9ORCByZXNwb25kZXIsIGJ1dCB0aGUgcmVzcG9uc2UgaXMgbGltaXRlZCB0byB0aGUKKysgICAg ICBjaGFzc2lzIHRoYXQgaG9zdHMgdGhlIHRhcmdldCBWSUYuICBUaGlzIGlzIGFjaGlldmVkIGJ5 IGFkZGluZworKyAgICAgIGEgPGNvZGU+ZmxhZ3MubG9jYWxuZXQ8L2NvZGU+IGNoZWNrIHRvIHRo ZSBwcmlvcml0eS01MCByZXBseSBmbG93cworKyAgICAgIChzZWUgYmVsb3cpOiB3aGVuIHRoZSBy ZXF1ZXN0IGFycml2ZXMgZnJvbSBhIGxvY2FsbmV0IHBvcnQKKysgICAgICAoPGNvZGU+ZmxhZ3Mu bG9jYWxuZXQgPT0gMTwvY29kZT4pLCBvbmx5IHRoZSBjaGFzc2lzIG9uIHdoaWNoIHRoZQorKyAg ICAgIHRhcmdldCBwb3J0IGlzIHJlc2lkZW50IHdpbGwgcmVwbHkuICBXaGVuIHRoZSByZXF1ZXN0 IGFycml2ZXMgZnJvbQorKyAgICAgIGEgbm9uLWxvY2FsbmV0IHBvcnQgKDxjb2RlPmZsYWdzLmxv Y2FsbmV0ID09IDA8L2NvZGU+KSwgdGhlCisrICAgICAgcmVzcG9uc2UgaXMgdW5jb25kaXRpb25h bCwgcHJlc2VydmluZyBWSUYtdG8tVklGIHByb3h5IEFSUC9ORAorKyAgICAgIGJlaGF2aW9yLiAg SXQgY29udGFpbnMgdGhlc2UgbG9naWNhbCBmbG93czoKKyAgICAgIDwvcD4KKyAKKyAgICAgPHVs PgorQEAgLTE3NTAsMTggKzE3NTMsMTAgQEAKKyAgICAgICAgIHJvdXRlciBpbmdyZXNzIHBpcGVs aW5lLgorICAgICAgIDwvbGk+CisgICAgICAgPGxpPgorLSAgICAgICAgSWYgdGhlIGxvZ2ljYWwg c3dpdGNoIGhhcyBubyByb3V0ZXIgcG9ydHMgd2l0aCBvcHRpb25zOmFycF9wcm94eQorLSAgICAg ICAgY29uZmlndXJlZCBhZGQgYSBwcmlvcml0eS0xMDAgZmxvd3MgdG8gc2tpcCB0aGUgQVJQIHJl c3BvbmRlciBpZiBpbnBvcnQKKy0gICAgICAgIGlzIG9mIHR5cGUgPGNvZGU+bG9jYWxuZXQ8L2Nv ZGU+IGFkdmFuY2VzIGRpcmVjdGx5IHRvIHRoZSBuZXh0IHRhYmxlLgorLSAgICAgICAgQVJQIHJl cXVlc3RzIHNlbnQgdG8gPGNvZGU+bG9jYWxuZXQ8L2NvZGU+IHBvcnRzIGNhbiBiZSByZWNlaXZl ZCBieQorLSAgICAgICAgbXVsdGlwbGUgaHlwZXJ2aXNvcnMuICBOb3csIGJlY2F1c2UgdGhlIHNh bWUgbWFjIGJpbmRpbmcgcnVsZXMgYXJlCistICAgICAgICBkb3dubG9hZGVkIHRvIGFsbCBoeXBl cnZpc29ycywgZWFjaCBvZiB0aGUgbXVsdGlwbGUgaHlwZXJ2aXNvcnMgd2lsbAorLSAgICAgICAg cmVzcG9uZC4gIFRoaXMgd2lsbCBjb25mdXNlIEwyIGxlYXJuaW5nIG9uIHRoZSBzb3VyY2Ugb2Yg dGhlIEFSUAorLSAgICAgICAgcmVxdWVzdHMuICBBUlAgcmVxdWVzdHMgcmVjZWl2ZWQgb24gYW4g aW5wb3J0IG9mIHR5cGUKKy0gICAgICAgIDxjb2RlPnJvdXRlcjwvY29kZT4gYXJlIG5vdCBleHBl Y3RlZCB0byBoaXQgYW55IGxvZ2ljYWwgc3dpdGNoIEFSUAorLSAgICAgICAgcmVzcG9uZGVyIGZs b3dzLiAgSG93ZXZlciwgbm8gc2tpcCBmbG93cyBhcmUgaW5zdGFsbGVkIGZvciB0aGVzZQorLSAg ICAgICAgcGFja2V0cywgYXMgdGhlcmUgd291bGQgYmUgc29tZSBhZGRpdGlvbmFsIGZsb3cgY29z dCBmb3IgdGhpcyBhbmQgdGhlCistICAgICAgICB2YWx1ZSBhcHBlYXJzIGxpbWl0ZWQuCisrICAg ICAgICBBUlAvTkQgcmVxdWVzdHMgcmVjZWl2ZWQgb24gYW4gaW5wb3J0IG9mIHR5cGUgPGNvZGU+ cm91dGVyPC9jb2RlPiBhcmUKKysgICAgICAgIG5vdCBleHBlY3RlZCB0byBoaXQgYW55IGxvZ2lj YWwgc3dpdGNoIEFSUCByZXNwb25kZXIgZmxvd3MuICBIb3dldmVyLAorKyAgICAgICAgbm8gc2tp cCBmbG93cyBhcmUgaW5zdGFsbGVkIGZvciB0aGVzZSBwYWNrZXRzLCBhcyB0aGVyZSB3b3VsZCBi ZSBzb21lCisrICAgICAgICBhZGRpdGlvbmFsIGZsb3cgY29zdCBmb3IgdGhpcyBhbmQgdGhlIHZh bHVlIGFwcGVhcnMgbGltaXRlZC4KKyAgICAgICA8L2xpPgorIAorICAgICAgIDxsaT4KK0BAIC0x ODE2LDYgKzE4MTEsMTggQEAgZmxhZ3MubG9vcGJhY2sgPSAxOworIG91dHB1dDsKKyAgICAgICAg IDwvcHJlPgorIAorKyAgICAgICAgPHA+CisrICAgICAgICAgIE9uIGxvZ2ljYWwgc3dpdGNoZXMg dGhhdCBoYXZlIGEgbG9jYWxuZXQgcG9ydCwgdGhlIG1hdGNoIGZvcgorKyAgICAgICAgICB0aGVz ZSBmbG93cyBpbmNsdWRlcyBhbiBhZGRpdGlvbmFsIGNvbmRpdGlvbjoKKysgICAgICAgICAgPGNv ZGU+KChmbGFncy5sb2NhbG5ldCA9PSAxICZhbXA7JmFtcDsKKysgICAgICAgICAgaXNfY2hhc3Np c19yZXNpZGVudCg8dmFyPnBvcnQ8L3Zhcj4pKSB8fAorKyAgICAgICAgICBmbGFncy5sb2NhbG5l dCA9PSAwKTwvY29kZT4uCisrICAgICAgICAgIFRoaXMgZW5zdXJlcyB0aGF0IHdoZW4gYW4gQVJQ IHJlcXVlc3QgYXJyaXZlcyBmcm9tIGEgbG9jYWxuZXQKKysgICAgICAgICAgcG9ydCwgb25seSB0 aGUgY2hhc3NpcyBob3N0aW5nIHRoZSB0YXJnZXQgVklGIHJlc3BvbmRzLiAgV2hlbgorKyAgICAg ICAgICB0aGUgcmVxdWVzdCBhcnJpdmVzIGZyb20gYSBub24tbG9jYWxuZXQgcG9ydCwgdGhlIHJl c3BvbnNlIGlzCisrICAgICAgICAgIHVuY29uZGl0aW9uYWwsIHByZXNlcnZpbmcgVklGLXRvLVZJ RiBwcm94eSBBUlAgYmVoYXZpb3IuCisrICAgICAgICA8L3A+CisrCisgICAgICAgICA8cD4KKyAg ICAgICAgICAgVGhlc2UgZmxvd3MgYXJlIG9taXR0ZWQgZm9yIGxvZ2ljYWwgcG9ydHMgKG90aGVy IHRoYW4gcm91dGVyIHBvcnRzIG9yCisgICAgICAgICAgIDxjb2RlPmxvY2FscG9ydDwvY29kZT4g cG9ydHMpIHRoYXQgYXJlIGRvd24gKHVubGVzcyA8Y29kZT4KK0BAIC0xODc3LDYgKzE4ODQsMTkg QEAgbmRfbmFfcm91dGVyIHsKKyB9OworICAgICAgICAgPC9wcmU+CisgCisrICAgICAgICA8cD4K KysgICAgICAgICAgT24gbG9naWNhbCBzd2l0Y2hlcyB0aGF0IGhhdmUgYSBsb2NhbG5ldCBwb3J0 LCB0aGUgbWF0Y2ggZm9yCisrICAgICAgICAgIHRoZXNlIGZsb3dzIGluY2x1ZGVzIGFuIGFkZGl0 aW9uYWwgY29uZGl0aW9uOgorKyAgICAgICAgICA8Y29kZT4oKGZsYWdzLmxvY2FsbmV0ID09IDEg JmFtcDsmYW1wOworKyAgICAgICAgICBpc19jaGFzc2lzX3Jlc2lkZW50KDx2YXI+cG9ydDwvdmFy PikpIHx8CisrICAgICAgICAgIGZsYWdzLmxvY2FsbmV0ID09IDApPC9jb2RlPi4KKysgICAgICAg ICAgVGhpcyBlbnN1cmVzIHRoYXQgd2hlbiBhbiBORCBzb2xpY2l0YXRpb24gYXJyaXZlcyBmcm9t IGEKKysgICAgICAgICAgbG9jYWxuZXQgcG9ydCwgb25seSB0aGUgY2hhc3NpcyBob3N0aW5nIHRo ZSB0YXJnZXQgVklGCisrICAgICAgICAgIHJlc3BvbmRzLiAgV2hlbiB0aGUgc29saWNpdGF0aW9u IGFycml2ZXMgZnJvbSBhIG5vbi1sb2NhbG5ldAorKyAgICAgICAgICBwb3J0LCB0aGUgcmVzcG9u c2UgaXMgdW5jb25kaXRpb25hbCwgcHJlc2VydmluZyBWSUYtdG8tVklGCisrICAgICAgICAgIHBy b3h5IE5EIGJlaGF2aW9yLgorKyAgICAgICAgPC9wPgorKworICAgICAgICAgPHA+CisgICAgICAg ICAgIFRoZXNlIGZsb3dzIGFyZSBvbWl0dGVkIGZvciBsb2dpY2FsIHBvcnRzIChvdGhlciB0aGFu IHJvdXRlciBwb3J0cyBvcgorICAgICAgICAgICA8Y29kZT5sb2NhbHBvcnQ8L2NvZGU+IHBvcnRz KSB0aGF0IGFyZSBkb3duICh1bmxlc3MgPGNvZGU+CitAQCAtMTg5Niw4ICsxOTE2LDggQEAgbmRf bmFfcm91dGVyIHsKKyAKKyAgICAgICA8bGk+CisgICAgICAgICA8cD4KKy0gICAgICAgICAgUHJp b3JpdHktMTAwIGZsb3dzIHdpdGggbWF0Y2ggY3JpdGVyaWEgbGlrZSB0aGUgQVJQIGFuZCBORCBm bG93cworLSAgICAgICAgICBhYm92ZSwgZXhjZXB0IHRoYXQgdGhleSBvbmx5IG1hdGNoIHBhY2tl dHMgZnJvbSB0aGUKKysgICAgICAgICAgUHJpb3JpdHktMTAwIGZsb3dzIHdpdGggbWF0Y2ggY3Jp dGVyaWEgc2ltaWxhciB0byB0aGUgQVJQIGFuZCBORAorKyAgICAgICAgICBmbG93cyBhYm92ZSwg ZXhjZXB0IHRoYXQgdGhleSBvbmx5IG1hdGNoIHBhY2tldHMgZnJvbSB0aGUKKyAgICAgICAgICAg PGNvZGU+aW5wb3J0PC9jb2RlPiB0aGF0IG93bnMgdGhlIElQIGFkZHJlc3NlcyBpbiBxdWVzdGlv biwgd2l0aAorICAgICAgICAgICBhY3Rpb24gPGNvZGU+bmV4dDs8L2NvZGU+LiAgVGhlc2UgZmxv d3MgcHJldmVudCBPVk4gZnJvbSByZXBseWluZyB0bywKKyAgICAgICAgICAgZm9yIGV4YW1wbGUs IGFuIEFSUCByZXF1ZXN0IGVtaXR0ZWQgYnkgYSBWTSBmb3IgaXRzIG93biBJUCBhZGRyZXNzLgor ZGlmZiAtLWdpdCBhL25vcnRoZC9vdm4tbm9ydGhkLmMgYi9ub3J0aGQvb3ZuLW5vcnRoZC5jCitp bmRleCAwZWQyZWIxN2FkLi4yOTMzM2MzZWMxIDEwMDY0NAorLS0tIGEvbm9ydGhkL292bi1ub3J0 aGQuYworKysrIGIvbm9ydGhkL292bi1ub3J0aGQuYworQEAgLTExMTEsMTAgKzExMTEsMTggQEAg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAorICAgICAgICAgICAgICAgICAvKiBNYWtl IHN1cmUgd2UgZG9uJ3QgYnVtcCB0aGUgbmV4dF9jZmcgd2hlbiB3ZSBzaG91bGRuJ3QuCisgICAg ICAgICAgICAgICAgICAqIFRoaXMgc2hvdWxkIHByZXZlbnQgb3ZuLW5iY3RsIHN5bmMgY2FsbHMg dG8gcmV0dXJuIGJlZm9yZQorLSAgICAgICAgICAgICAgICAgKiB0aGUgU0IgdXBkYXRlcyBhcmUg YWN0dWFsbHkgZG9uZS4gKi8KKysgICAgICAgICAgICAgICAgICogdGhlIFNCIHVwZGF0ZXMgYXJl IGFjdHVhbGx5IGRvbmUuCisrICAgICAgICAgICAgICAgICAqCisrICAgICAgICAgICAgICAgICAq IFRyYWNrIHRoYXQgdGhlIGFib3J0IHdhcyBpbnRlbnRpb25hbCBzbyB3ZSBjYW4gZGlzdGluZ3Vp c2gKKysgICAgICAgICAgICAgICAgICogaXQgZnJvbSBhIHJlYWwgY29tbWl0IGZhaWx1cmUgYmVs b3c7IG90aGVyd2lzZSB0aGUgYWJvcnQKKysgICAgICAgICAgICAgICAgICogd291bGQgZmVlZCBi YWNrIGludG8gdGhlIGZvcmNlLXJlY29tcHV0ZSBwYXRoLCBjcmVhdGluZyBhCisrICAgICAgICAg ICAgICAgICAqIGJ1c3kgbG9vcCB3aGVuZXZlciBOQi5uYl9jZmcga2VlcHMgYWR2YW5jaW5nIGJ1 dCB0aGUKKysgICAgICAgICAgICAgICAgICogZW5naW5lIHByb2R1Y2VzIG5vIFNCIGFjdGl2aXR5 LiAqLworKyAgICAgICAgICAgICAgICBib29sIG92bnNiX3R4bl9hYm9ydGVkX2ludGVudGlvbmFs bHkgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpdml0eSAmJiBvdm5zYl90eG4g JiYKKyAgICAgICAgICAgICAgICAgICAgIG92bnNiX2lkbF9sb29wLmN1cl9jZmcgIT0gb3Zuc2Jf aWRsX2xvb3AubmV4dF9jZmcpIHsKKyAgICAgICAgICAgICAgICAgICAgIG92c2RiX2lkbF90eG5f YWJvcnQob3Zuc2JfdHhuKTsKKysgICAgICAgICAgICAgICAgICAgIG92bnNiX3R4bl9hYm9ydGVk X2ludGVudGlvbmFsbHkgPSB0cnVlOworICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICAg ICAgICAgIC8qIElmIHRoZXJlIGFyZSBhbnkgZXJyb3JzLCB3ZSBmb3JjZSBhIGZ1bGwgcmVjb21w dXRlIGluIG9yZGVyCitAQCAtMTEyNSw3ICsxMTMzLDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQorICAgICAgICAgICAgICAgICAgICAgaW5jX3Byb2Nfbm9ydGhkX2ZvcmNlX3JlY29t cHV0ZV9pbW1lZGlhdGUoKTsKKyAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAg ICBpZiAoIW92c2RiX2lkbF9sb29wX2NvbW1pdF9hbmRfd2FpdCgmb3Zuc2JfaWRsX2xvb3ApKSB7 CisrICAgICAgICAgICAgICAgIGlmICghb3ZzZGJfaWRsX2xvb3BfY29tbWl0X2FuZF93YWl0KCZv dm5zYl9pZGxfbG9vcCkgJiYKKysgICAgICAgICAgICAgICAgICAgICFvdm5zYl90eG5fYWJvcnRl ZF9pbnRlbnRpb25hbGx5KSB7CisgICAgICAgICAgICAgICAgICAgICBWTE9HX0lORk8oIk9WTlNC IGNvbW1pdCBmYWlsZWQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9yY2Ug cmVjb21wdXRlIG5leHQgdGltZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgIGluY19wcm9jX25v cnRoZF9mb3JjZV9yZWNvbXB1dGVfaW1tZWRpYXRlKCk7CiBkaWZmIC0tZ2l0IGEvb3ZuLW5iLnht bCBiL292bi1uYi54bWwKIGluZGV4IDk1NGVkMTE2NjEuLjY0ZmRmMjVlNGUgMTAwNjQ0CiAtLS0g YS9vdm4tbmIueG1sCkBAIC0yNiwzICsyOTI0LDI1NzAgQEAgaW5kZXggOTU0ZWQxMTY2MS4uNjRm ZGYyNWU0ZSAxMDA2NDQKICAgICAgICAgIGVhc3Qtd2VzdCB0cmFmZmljIGJldHdlZW4gbm9kZXMu CiAgICAgICAgICBSZXF1aXJlZCBjb25maWd1cmF0aW9uOiA8cmVmIGNvbHVtbj0iaXBfcG9ydF9t YXBwaW5ncyIvPi4KICAgICAgICAgIE5PVEU6IFRoZSBhZGRyZXNzaW5nIG9mIHRoZSB1bmRlcmxh eSBuZXR3b3JrIG11c3Qgbm90IG92ZXJsYXAgd2l0aCB0aGUKK2RpZmYgLS1naXQgYS90ZXN0cy9t dWx0aW5vZGUtbWFjcm9zLmF0IGIvdGVzdHMvbXVsdGlub2RlLW1hY3Jvcy5hdAoraW5kZXggNTk2 ZGU0YzNhZi4uNGE3NGQ1MTI3NyAxMDA2NDQKKy0tLSBhL3Rlc3RzL211bHRpbm9kZS1tYWNyb3Mu YXQKKysrKyBiL3Rlc3RzL211bHRpbm9kZS1tYWNyb3MuYXQKK0BAIC00MSwyOCArNDEsNiBAQCBt NF9kZWZpbmUoW01fU1RBUlRfVENQRFVNUF0sCisgICAgIF0KKyApCisgCistbTRfZGVmaW5lKFtN X1NUQVJUX1RDUERVTVBTX1JFQ1VSU0lWRV9dLCBbCistICAgICBtNF9pZihtNF9ldmFsKCQjID4g MyksIFsxXSwgW2RubAorLSAgICAgICAgbmFtZXM9IiRuYW1lcyAkMyIKKy0gICAgICAgIGVjaG8g IlJ1bm5pbmcgcG9kbWFuIGV4ZWMgJDEgdGNwZHVtcCAtbCAkMiA+JDMudGNwZHVtcCAyPiQzLnN0 ZGVyciIKKy0gICAgICAgIHBvZG1hbiBleGVjICQxIHRjcGR1bXAgLWwgJDIgPiQzLnRjcGR1bXAg Mj4kMy5zdGRlcnIgJgorLSAgICAgICAgZWNobyAicG9kbWFuIGV4ZWMgJDEgcHMgLWVmIHwgZ3Jl cCAtdiBncmVwIHwgZ3JlcCB0Y3BkdW1wICYmIHBvZG1hbiBleGVjICQxIGtpbGxhbGwgdGNwZHVt cCIgPj4gY2xlYW51cAorLSAgICAgICAgTV9TVEFSVF9UQ1BEVU1QU19SRUNVUlNJVkVfKG00X3No aWZ0KG00X3NoaWZ0KG00X3NoaWZ0KCRAKSkpKQorLSAgICAgICAgXSkKKy0gICAgXQorLSkKKy0K Ky0jIFN0YXJ0IE11bHRpcGxlIHRjcGR1bXAuIFVzZWZ1bCB0byBzcGVlZCB1cCB3aGVuIG1hbnkg dGNwZHVtcAorLSMgbXVzdCBiZSBzdGFydGVkIGFzIHdhaXRpbmcgZm9yICJsaXN0ZW5pbmciIHRh a2VzIHVzdWFsbHkgMSBzZWNvbmQuCistbTRfZGVmaW5lKFtNX1NUQVJUX1RDUERVTVBTXSwKKy0g ICAgWworLSAgICAgbmFtZXM9IiIKKy0gICAgIE1fU1RBUlRfVENQRFVNUFNfUkVDVVJTSVZFXygk QCkKKy0gICAgIGZvciBuYW1lIGluICRuYW1lczsgZG8KKy0gICAgICAgICBPVlNfV0FJVF9VTlRJ TChbZ3JlcCAtcSAibGlzdGVuaW5nIiAke25hbWV9LnN0ZGVycl0pCistICAgICBkb25lCistICAg IF0KKy0pCisgCisgIyBNX0ZPUk1BVF9DVChbaXAtYWRkcl0pCisgIworQEAgLTUwMiwzMCArNDgw LDYgQEAgbV9pc19mZWRvcmEoKSB7CisgICAgIG1fY2VudHJhbF9hcyBncmVwIC1xaSBmZWRvcmEg L2V0Yy9vcy1yZWxlYXNlCisgfQorIAorLSMgUnVuIG92cy12c2N0bCB1c2luZyBIb3N0IHNvY2tl dAorLWhvc3Rfb3ZzX3ZzY3RsKCkgeworLSAgICAjIERpc2NvdmVyIGhvc3QgT1ZTIHNvY2tldCBv biBmaXJzdCBjYWxsCistICAgIGlmIFtbIC16ICIkSE9TVF9PVlNfU09DSyIgXV07IHRoZW4KKy0g ICAgICAgIGZvciBzb2NrIGluIC9ydW4vb3BlbnZzd2l0Y2gvZGIuc29jayAvdmFyL3J1bi9vcGVu dnN3aXRjaC9kYi5zb2NrIC91c3IvbG9jYWwvdmFyL3J1bi9vcGVudnN3aXRjaC9kYi5zb2NrOyBk bworLSAgICAgICAgICAgIGlmIFtbIC1TICIkc29jayIgXV07IHRoZW4KKy0gICAgICAgICAgICAg ICAgSE9TVF9PVlNfU09DSz0kc29jaworLSAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAg ICAgIGZpCistICAgICAgICBkb25lCistICAgICAgICAjIEZhbGxiYWNrIG9uIHVudXN1YWwgcHJl Zml4OiBkaXNjb3ZlciBmcm9tIHJ1bm5pbmcgcHJvY2VzcworLSAgICAgICAgaWYgW1sgLXogIiRI T1NUX09WU19TT0NLIiBdXTsgdGhlbgorLSAgICAgICAgICAgIEhPU1RfT1ZTX1NPQ0s9JChwcyBh dXggfCBncmVwICdbb112c2RiLXNlcnZlcicgfCBncmVwIC1vUCAncHVuaXg6XEtbXiwgXSsnIHwg d2hpbGUgcmVhZCBzOyBkbworLSAgICAgICAgICAgICAgICBbWyAtUyAiJHMiIF1dICYmIFtbICIk cyIgIT0gKiIkT1ZTX1JVTkRJUiIqIF1dICYmIGVjaG8gIiRzIiAmJiBicmVhaworLSAgICAgICAg ICAgIGRvbmUpCistICAgICAgICBmaQorLSAgICAgICAgaWYgW1sgLXogIiRIT1NUX09WU19TT0NL IiBdXTsgdGhlbgorLSAgICAgICAgICAgIGVjaG8gIkVSUk9SOiBDb3VsZCBub3QgZmluZCBob3N0 IE9WUyBzb2NrZXQiID4mMgorLSAgICAgICAgICAgIEFUX0ZBSUxfSUYoWzpdKQorLSAgICAgICAg ZmkKKy0gICAgZmkKKy0gICAgb3ZzLXZzY3RsIC0tZGI9dW5peDokSE9TVF9PVlNfU09DSyAiJEAi CistfQorLQorICMgTV9TVEFSVF9MNF9TRVJWRVIoW2Zha2Vfbm9kZV0sIFtuYW1lc3BhY2VdLCBb aXBfYWRkcl0sIFtwb3J0XSwgW3JlcGx5X3N0cmluZ10sIFtwaWRmaWxlXSkKKyAjCisgIyBIZWxw ZXIgdG8gcHJvcGVybHkgc3RhcnQgbDQgc2VydmVyIGluIGluc2lkZSAnZmFrZV9ub2RlJydzIG5h bWVzcGFjZScuCitkaWZmIC0tZ2l0IGEvdGVzdHMvbXVsdGlub2RlLmF0IGIvdGVzdHMvbXVsdGlu b2RlLmF0CitpbmRleCBkMDc2NjA3OTdjLi4wNjlmMmE2NzdkIDEwMDY0NAorLS0tIGEvdGVzdHMv bXVsdGlub2RlLmF0CisrKysgYi90ZXN0cy9tdWx0aW5vZGUuYXQKK0BAIC0yOTg2LDQyICsyOTg2 LDQyIEBAIEFUX0NMRUFOVVAKKyAKKyBBVF9TRVRVUChbSEE6IENoZWNrIGZvciBtaXNzaW5nIGdh cnAgb24gbGVhZGVyIHdoZW4gQkZEIGdvZXMgYmFjayB1cF0pCisgIyBOZXR3b3JrIHRvcG9sb2d5 CistIyAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAK Ky0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIgICDilIzilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQ ICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUggorLSMgICAg4pSCICAg4pSCICAg b3ZuLWNoYXNzaXMtMSAgIOKUgiAgICDilIIgICBvdm4tY2hhc3Npcy0yICAg4pSCICAgIOKUgiAg b3ZuLWd3LTEgICAgICAgICDilIIgICAg4pSCICBvdm4tZ3ctMiAgICAgICAgIOKUgiAgICDilIIg IG92bi1jaGFzc2lzLTMgICAg4pSCICAgIOKUggorLSMgICAg4pSCICAg4pSU4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU mCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilIIKKy0jICAgIOKUgiAgIOKUjOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU kCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIgICDilIIgICAg ICAgaW5zaWRlMSAgICAg4pSCICAgIOKUgiAgICAgICBpbnNpZGUyICAgICDilIIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg4pSCCistIyAgICDilIIgICDilIIgICAxOTIuMTY4LjEuMS8yNCAg4pSCICAg IOKUgiAgIDE5Mi4xNjguMS4yLzI0ICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAg ICDilIIgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg 4pSCICAgICAgICAgICDilIzilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilJAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAg4pSCICAgICAgICAg ICBpbnNpZGUgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggor LSMgICAg4pSCICAgICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICDi lIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilJAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIgICAg ICAgICAgICAgICAg4pSCICAgIDE5Mi4xNjguMS4yNTQgIOKUgiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICDilIIgICAgICAgICBS MSAgICAgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg 4pSCICAgICAgICAgICAgICAgIOKUgiAgICAxOTIuMTY4LjAuMjU0ICDilIIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAg4pSU4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSY ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAgICAgICAg ICAgICAgICAgICAgICAgICDilJQtLS0tLS1ldGgxLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 4pSsLS0tLS0tLS1ldGgxLS0tLS0tLS0tLS3ilJAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS0 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIOKUgiAgICAxOTIuMTY4LjEuMjU0ICDilIIgICAg4pSCICAgMTky LjE2OC4xLjI1NCAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDi lIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKU giAgICAgICAgIFIxICAgICAgICDilIIgICAg4pSCICAgICAgICAgUjEgICAgICAgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiAgICAxOTIuMTY4LjAuMjU0ICDi lIIgICAg4pSCICAgMTkyLjE2OC4wLjI1NCAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgICAgICAgICAgICAgICAgICAg IOKUggorLSMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgICAg ICAgICAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJAgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSCICAgIDE5 Mi4xNjguMC4xICAgIOKUgiAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgICAgIG91dHNpZGUgICAgIOKUgiAg ICDilIIgICAgICAgb3V0c2lkZSAgICAg4pSCICAgIOKUgiAgICAgICAgZXh0MSAgICAgICDilIIg ICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUggorLSMgICAg4pSC ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgIGxuLW91dHNpZGUgICAg IOKUgiAgICDilIIgICAgbG4tb3V0c2lkZSAgICAg4pSCICAgIOKUgiAgICAgICBsbi1leHQxICAg ICDilIIgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUggorLSMg ICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDi lIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgICAgIGJyLWV4 ICAgICAgIOKUgiAgICDilIIgICAgICAgYnItZXggICAgICAg4pSCICAgIOKUgiAgICAgICBici1l eCAgICAgICDilIIgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU rOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDi lIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKU ggorLSMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAg4pSULS0tLS0tLS0tZXRoMi0tLS0tLS0tLS0t4pS0LS0tLS0tLWV0 aDItLS0tLS0tLS0tLS0t4pSYICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAg4pSCCistIyAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilJgKKysjICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkAorKyMgICAg4pSC ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKysjICAg IOKUgiAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSCCisrIyAg ICDilIIgICAg4pSCICAgb3ZuLWNoYXNzaXMtMSAgIOKUgiAgICDilIIgIG92bi1ndy0xICAgICAg ICAg4pSCICAgIOKUgiAgb3ZuLWd3LTIgICAgICAgICDilIIgICAg4pSCICBvdm4tY2hhc3Npcy0y ICAgIOKUgiAgICDilIIKKysjICAgIOKUgiAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAg ICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilJggICAg4pSCCisrIyAgICDilIIgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IOKUggorKyMgICAg4pSCICAgIOKUgiAgICAgICBpbnNpZGUxICAgICDilIIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg4pSCCisrIyAgICDilIIgICAg4pSCICAgMTkyLjE2OC4xLjEvMjQgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICDilJTilIDilIDilIDilIDilIDilIDi lIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAg4pSCCisrIyAgICDilIIgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS0 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggor KyMgICAg4pSCICAgIOKUgiAgICAgICBpbnNpZGUgICAgICDilIIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAg4pSCCisrIyAgICDilIIgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMg ICAg4pSCICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICDi lIIgICAgMTkyLjE2OC4xLjI1NCAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMgICAg 4pSCICAgIOKUgiAgICAgICAgIFIxICAgICAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSC CisrIyAgICDilIIgICAg4pSCICAgIDE5Mi4xNjguMC4yNTQgIOKUgiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICDilIIKKysjICAgIOKUgiAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCisr IyAgICDilIIgICAgICAgICAgICAgIOKUlC0tLS0tLWV0aDEtLS0tLS0tLS0tLS0tLS3ilKwtLS0t LS0tLWV0aDEtLS0tLS0tLS0tLeKUkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg 4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSCICAgIDE5Mi4xNjguMS4yNTQgIOKUgiAgICDilIIgICAx OTIuMTY4LjEuMjU0ICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKysjICAg IOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgICAgICAgUjEgICAgICAgIOKU giAgICDilIIgICAgICAgICBSMSAgICAgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAg ICDilIIKKysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgIDE5Mi4x NjguMC4yNTQgIOKUgiAgICDilIIgICAxOTIuMTY4LjAuMjU0ICAg4pSCICAgICAgICAgICAgICAg ICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUmCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCisrIyAgICDi lIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgICAgICAg ICAgICAgICAgICDilIIgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIIKKysjICAgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS0 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIIgICAgMTkyLjE2 OC4wLjEgICAg4pSCICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAg ICDilIIgICAgICAgb3V0c2lkZSAgICAg4pSCICAgIOKUgiAgICAgICBvdXRzaWRlICAgICDilIIg ICAg4pSCICAgICAgICBleHQxICAgICAgIOKUgiAgICDilIIKKysjICAgIOKUgiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDi lIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSCCisrIyAg ICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDi lIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSQICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAg bG4tb3V0c2lkZSAgICAg4pSCICAgIOKUgiAgICBsbi1vdXRzaWRlICAgICDilIIgICAg4pSCICAg ICAgIGxuLWV4dDEgICAgIOKUgiAgICDilIIKKysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSCCisrIyAgICDilIIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU tOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDi lIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKU ggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgYnItZXgg ICAgICAg4pSCICAgIOKUgiAgICAgICBici1leCAgICAgICDilIIgICAg4pSCICAgICAgIGJyLWV4 ICAgICAgIOKUgiAgICDilIIKKysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSCCisrIyAgICDilIIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICDilJQtLS0tLS0tLS1ldGgyLS0tLS0tLS0tLS3ilLQt LS0tLS0tZXRoMi0tLS0tLS0tLS0tLS3ilJggICAgICAgICAgICAgIOKUggorKyMgICAg4pSCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKysjICAgIOKU lOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAorIAorICMgVGhlIGdvYWwgb2YgdGhpcyB0 ZXN0IGlzIHRoZSBjaGVjayB0aGF0IEdBUlAgYXJlIHByb3Blcmx5IGdlbmVyYXRlZCBieSBoaWdl c3QgcHJpb3JpdHkgdHJhZmZpYyB3aGVuCisgIyBCRkQgZ29lcyBkb3duLCBhbmQgYmFjayB1cCwg YW5kIHRoaXMgd2hldGhlciB0aGUgQkZEIGV2ZW50IGlzIGR1ZSBlaXRoZXIgdG8gc29tZSBiZmQg cGFja2V0IGxvc3QKK0BAIC0zMDMwLDEyICszMDMwLDYgQEAgQVRfU0VUVVAoW0hBOiBDaGVjayBm b3IgbWlzc2luZyBnYXJwIG9uIGxlYWRlciB3aGVuIEJGRCBnb2VzIGJhY2sgdXBdKQorICMgU28g Z3czIHNob3VsZCBpbiB0aGlzIHRlc3QgbmVpdGhlciBzZW5kIGdhcnAgb3IgcmVjZWl2ZSBwYWNr ZXRzLgorICMKKyAjIEVuYWJsZSB2Y29ubiBzbyB3ZSBjYW4gY2hlY2sgdGhlIEdBUlAgZnJvbSBh IGxvZyBwZXJzcGVjdGl2ZS4KKy1vbl9leGl0ICJwb2RtYW4gZXhlYyBvdm4tZ3ctMSBvdm4tYXBw Y3RsIHZsb2cvc2V0IGluZm8iCistb25fZXhpdCAicG9kbWFuIGV4ZWMgb3ZuLWd3LTEgb3ZuLWFw cGN0bCB2bG9nL2VuYWJsZS1yYXRlLWxpbWl0IgorLW9uX2V4aXQgInBvZG1hbiBleGVjIG92bi1n dy0yIG92bi1hcHBjdGwgdmxvZy9zZXQgaW5mbyIKKy1vbl9leGl0ICJwb2RtYW4gZXhlYyBvdm4t Z3ctMiBvdm4tYXBwY3RsIHZsb2cvZW5hYmxlLXJhdGUtbGltaXQiCistb25fZXhpdCAicG9kbWFu IGV4ZWMgb3ZuLWd3LTMgb3ZuLWFwcGN0bCB2bG9nL3NldCBpbmZvIgorLW9uX2V4aXQgInBvZG1h biBleGVjIG92bi1ndy0zIG92bi1hcHBjdGwgdmxvZy9lbmFibGUtcmF0ZS1saW1pdCIKKyBtX2Fz IG92bi1ndy0xIG92bi1hcHBjdGwgdmxvZy9zZXQgdmNvbm46ZGJnCisgbV9hcyBvdm4tZ3ctMiBv dm4tYXBwY3RsIHZsb2cvc2V0IHZjb25uOmRiZworIG1fYXMgb3ZuLWd3LTMgb3ZuLWFwcGN0bCB2 bG9nL3NldCB2Y29ubjpkYmcKK0BAIC0zMDQzLDE3ICszMDM3LDEyIEBAIG1fYXMgb3ZuLWd3LTEg b3ZuLWFwcGN0bCB2bG9nL2Rpc2FibGUtcmF0ZS1saW1pdAorIG1fYXMgb3ZuLWd3LTIgb3ZuLWFw cGN0bCB2bG9nL2Rpc2FibGUtcmF0ZS1saW1pdAorIG1fYXMgb3ZuLWd3LTMgb3ZuLWFwcGN0bCB2 bG9nL2Rpc2FibGUtcmF0ZS1saW1pdAorIAorLSMgRGVjcmVhc2UgcmV2YWxpZGF0aW9uIHRpbWUg b24gb3ZzIHN3aXRjaCBzaW11bGF0aW5nIFRvUi4KKy1jaGVjayBob3N0X292c192c2N0bCBzZXQg T3Blbl92U3dpdGNoIC4gb3RoZXJfY29uZmlnOm1heC1yZXZhbGlkYXRvcj0xMDAKKy1vbl9leGl0 ICJjaGVjayBob3N0X292c192c2N0bCByZW1vdmUgT3Blbl92U3dpdGNoIC4gb3RoZXJfY29uZmln IG1heC1yZXZhbGlkYXRvciIKKy0KKyBjaGVja19mYWtlX211bHRpbm9kZV9zZXR1cAorIAorICMg RGVsZXRlIHRoZSBtdWx0aW5vZGUgTkIgYW5kIE9WUyByZXNvdXJjZXMgYmVmb3JlIHN0YXJ0aW5n IHRoZSB0ZXN0LgorIGNsZWFudXBfbXVsdGlub2RlX3Jlc291cmNlcworIAorIGlwX2NoMT0kKG1f YXMgb3ZuLWNoYXNzaXMtMSBpcCBhIHNob3cgZGV2IGV0aDEgfCBncmVwICJpbmV0ICIgfCBhd2sg J3twcmludCAkMn0nfCBjdXQgLWQgJy8nIC1mMSkKKy1pcF9jaDI9JChtX2FzIG92bi1jaGFzc2lz LTIgaXAgYSBzaG93IGRldiBldGgxIHwgZ3JlcCAiaW5ldCAiIHwgYXdrICd7cHJpbnQgJDJ9J3wg Y3V0IC1kICcvJyAtZjEpCisgaXBfZ3cxPSQobV9hcyBvdm4tZ3ctMSBpcCBhIHNob3cgZGV2IGV0 aDEgfCBncmVwICJpbmV0ICIgfCBhd2sgJ3twcmludCAkMn0nfCBjdXQgLWQgJy8nIC1mMSkKKyBp cF9ndzI9JChtX2FzIG92bi1ndy0yIGlwIGEgc2hvdyBkZXYgZXRoMSB8IGdyZXAgImluZXQgIiB8 IGF3ayAne3ByaW50ICQyfSd8IGN1dCAtZCAnLycgLWYxKQorIGlwX2d3Mz0kKG1fYXMgb3ZuLWd3 LTMgaXAgYSBzaG93IGRldiBldGgxIHwgZ3JlcCAiaW5ldCAiIHwgYXdrICd7cHJpbnQgJDJ9J3wg Y3V0IC1kICcvJyAtZjEpCitAQCAtMzA2MSwzNSArMzA1MCwyNSBAQCBpcF9ndzM9JChtX2FzIG92 bi1ndy0zIGlwIGEgc2hvdyBkZXYgZXRoMSB8IGdyZXAgImluZXQgIiB8IGF3ayAne3ByaW50ICQy fSd8IGN1dAorIGZyb21fZ3cxX3RvX2d3Mj0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIC0tYmFy ZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfZ3cy KQorIGZyb21fZ3cxX3RvX2d3Mz0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIC0tYmFyZSAtLWNv bHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfZ3czKQorIGZy b21fZ3cxX3RvX2NoMT0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9 bmFtZSBmaW5kIGludGVyZmFjZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfY2gxKQorLWZyb21fZ3cx X3RvX2NoMj0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBm aW5kIGludGVyZmFjZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfY2gyKQorIGZyb21fZ3cyX3RvX2d3 MT0kKG1fYXMgb3ZuLWd3LTIgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGlu dGVyZmFjZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfZ3cxKQorIGZyb21fZ3cyX3RvX2d3Mz0kKG1f YXMgb3ZuLWd3LTIgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFj ZSBvcHRpb25zOnJlbW90ZV9pcD0kaXBfZ3czKQorIGZyb21fZ3cyX3RvX2NoMT0kKG1fYXMgb3Zu LWd3LTIgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRp b25zOnJlbW90ZV9pcD0kaXBfY2gxKQorLWZyb21fZ3cyX3RvX2NoMj0kKG1fYXMgb3ZuLWd3LTIg b3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRpb25zOnJl bW90ZV9pcD0kaXBfY2gyKQorIGZyb21fY2gxX3RvX2d3MT0kKG1fYXMgb3ZuLWNoYXNzaXMtMSBv dnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVt b3RlX2lwPSRpcF9ndzEpCisgZnJvbV9jaDFfdG9fZ3cyPSQobV9hcyBvdm4tY2hhc3Npcy0xIG92 cy12c2N0bCAtLWJhcmUgLS1jb2x1bW5zPW5hbWUgZmluZCBpbnRlcmZhY2Ugb3B0aW9uczpyZW1v dGVfaXA9JGlwX2d3MikKKy1mcm9tX2NoMl90b19ndzE9JChtX2FzIG92bi1jaGFzc2lzLTIgb3Zz LXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRpb25zOnJlbW90 ZV9pcD0kaXBfZ3cxKQorLWZyb21fY2gyX3RvX2d3Mj0kKG1fYXMgb3ZuLWNoYXNzaXMtMiBvdnMt dnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3Rl X2lwPSRpcF9ndzIpCisgCisgbV9hcyBvdm4tY2hhc3Npcy0xIGlwIGxpbmsgZGVsIGh2MS12aWYx LXAKKy1tX2FzIG92bi1jaGFzc2lzLTIgaXAgbGluayBkZWwgaHYyLXZpZjEtcAorLW1fYXMgb3Zu LWNoYXNzaXMtMyBpcCBsaW5rIGRlbCBleHQxLXAKKyttX2FzIG92bi1jaGFzc2lzLTIgaXAgbGlu ayBkZWwgZXh0MS1wCisgCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWNoYXNzaXMtMSBpcCBs aW5rIHNob3cgfCBncmVwIC1xIGdlbmV2X3N5c10pCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3Zu LWNoYXNzaXMtMiBpcCBsaW5rIHNob3cgfCBncmVwIC1xIGdlbmV2X3N5c10pCistT1ZTX1dBSVRf VU5USUwoW21fYXMgb3ZuLWNoYXNzaXMtMyBpcCBsaW5rIHNob3cgfCBncmVwIC1xIGdlbmV2X3N5 c10pCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbGluayBzaG93IHwgZ3JlcCAt cSBnZW5ldl9zeXNdKQorIE9WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0yIGlwIGxpbmsgc2hv dyB8IGdyZXAgLXEgZ2VuZXZfc3lzXSkKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMyBp cCBsaW5rIHNob3cgfCBncmVwIC1xIGdlbmV2X3N5c10pCisgCistIyBVc2UgImFnZ3Jlc3NpdmUi IGJmZCBwYXJhbWV0ZXJzCistY2hlY2sgbXVsdGlub2RlX25iY3RsIHNldCBOQl9HbG9iYWwgLiBv cHRpb25zOiJiZmQtbWluLXJ4Ij01MDAKKy1jaGVjayBtdWx0aW5vZGVfbmJjdGwgc2V0IE5CX0ds b2JhbCAuIG9wdGlvbnM6ImJmZC1taW4tdHgiPTEwMAorIGNoZWNrIG11bHRpbm9kZV9uYmN0bCBs cy1hZGQgaW5zaWRlCisgY2hlY2sgbXVsdGlub2RlX25iY3RsIGxzLWFkZCBvdXRzaWRlCisgY2hl Y2sgbXVsdGlub2RlX25iY3RsIGxzLWFkZCBleHQKKyBjaGVjayBtdWx0aW5vZGVfbmJjdGwgbHNw LWFkZCBpbnNpZGUgaW5zaWRlMSAtLSBsc3Atc2V0LWFkZHJlc3NlcyBpbnNpZGUxICJmMDowMDpj MDphODowMTowMSAxOTIuMTY4LjEuMSIKKy1jaGVjayBtdWx0aW5vZGVfbmJjdGwgbHNwLWFkZCBp bnNpZGUgaW5zaWRlMiAtLSBsc3Atc2V0LWFkZHJlc3NlcyBpbnNpZGUyICJmMDowMDpjMDphODow MTowMiAxOTIuMTY4LjEuMiIKKyBjaGVjayBtdWx0aW5vZGVfbmJjdGwgbHNwLWFkZCBleHQgZXh0 MSAtLSBsc3Atc2V0LWFkZHJlc3NlcyBleHQxICIwMDowMDpjMDphODowMDowMSAxOTIuMTY4LjAu MSIKKyAKKyBtdWx0aW5vZGVfbmJjdGwgY3JlYXRlIExvZ2ljYWxfUm91dGVyIG5hbWU9UjEKK0BA IC0zMTIxLDE0ICszMTAwLDEyIEBAIG1fYXMgb3ZuLWd3LTMgb3ZzLXZzY3RsIHJlbW92ZSBvcGVu IC4gZXh0ZXJuYWxfaWRzIGdhcnAtbWF4LXRpbWVvdXQtc2VjCisgCisgbV9hcyBvdm4tY2hhc3Np cy0xIG92cy12c2N0bCBzZXQgb3BlbiAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdz PXB1YmxpYzpici1leAorIG1fYXMgb3ZuLWNoYXNzaXMtMiBvdnMtdnNjdGwgc2V0IG9wZW4gLiBl eHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5ncz1wdWJsaWM6YnItZXgKKy1tX2FzIG92bi1j aGFzc2lzLTMgb3ZzLXZzY3RsIHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFw cGluZ3M9cHVibGljOmJyLWV4CisgbV9hcyBvdm4tZ3ctMSBvdnMtdnNjdGwgc2V0IG9wZW4gLiBl eHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5ncz1wdWJsaWM6YnItZXgKKyBtX2FzIG92bi1n dy0yIG92cy12c2N0bCBzZXQgb3BlbiAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdz PXB1YmxpYzpici1leAorIG1fYXMgb3ZuLWd3LTMgb3ZzLXZzY3RsIHNldCBvcGVuIC4gZXh0ZXJu YWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cHVibGljOmJyLWV4CisgCisgbV9hcyBvdm4tY2hh c3Npcy0xIC9kYXRhL2NyZWF0ZV9mYWtlX3ZtLnNoIGluc2lkZTEgaHYxLXZpZjEgZjA6MDA6YzA6 YTg6MDE6MDEgMTUwMCAxOTIuMTY4LjEuMSAyNCAxOTIuMTY4LjEuMjU0IDIwMDA6OjEvNjQgMjAw MDo6YQorLW1fYXMgb3ZuLWNoYXNzaXMtMiAvZGF0YS9jcmVhdGVfZmFrZV92bS5zaCBpbnNpZGUy IGh2Mi12aWYxIGYwOjAwOmMwOmE4OjAxOjAyIDE1MDAgMTkyLjE2OC4xLjIgMjQgMTkyLjE2OC4x LjI1NCAyMDAwOjoyLzY0IDIwMDA6OmEKKy1tX2FzIG92bi1jaGFzc2lzLTMgL2RhdGEvY3JlYXRl X2Zha2Vfdm0uc2ggZXh0MSBleHQxIDAwOjAwOmMwOmE4OjAwOjAxIDE1MDAgMTkyLjE2OC4wLjEg MjQgMTkyLjE2OC4wLjI1NCAxMDAwOjozLzY0IDEwMDA6OmEKKyttX2FzIG92bi1jaGFzc2lzLTIg L2RhdGEvY3JlYXRlX2Zha2Vfdm0uc2ggZXh0MSBleHQxIDAwOjAwOmMwOmE4OjAwOjAxIDE1MDAg MTkyLjE2OC4wLjEgMjQgMTkyLjE2OC4wLjI1NCAxMDAwOjozLzY0IDEwMDA6OmEKKyAKKyAjIFRo ZXJlIHNob3VsZCBiZSBvbmUgaGFfY2hhc3Npc19ncm91cCB3aXRoIHRoZSBuYW1lICJSMV9vdXRz aWRlIgorIG1fY2hlY2tfcm93X2NvdW50IEhBX0NoYXNzaXNfR3JvdXAgMSBuYW1lPVIxX291dHNp ZGUKK0BAIC0zMTgzLDY3ICszMTYwLDUzIEBAIGZvciBjaGFzc2lzIGluICRmcm9tX2NoMV90b19n dzEgJGZyb21fY2gxX3RvX2d3MjsgZG8KKyAgICAgd2FpdF9iZmRfZW5hYmxlZCBvdm4tY2hhc3Np cy0xICRjaGFzc2lzCisgZG9uZQorIAorLSMgY2hlY2sgQkZEIGVuYWJsZW1lbnQgb24gdHVubmVs IHBvcnRzIGZyb20gb3ZuLWNoYXNzaXMtMiAjIyMjIyMjIyMjIworLWZvciBjaGFzc2lzIGluICRm cm9tX2NoMl90b19ndzEgJGZyb21fY2gyX3RvX2d3MjsgZG8KKy0gICAgZWNobyAiY2hlY2tpbmcg b3ZuLWNoYXNzaXMtMiAtPiAkY2hhc3NpcyIKKy0gICAgd2FpdF9iZmRfZW5hYmxlZCBvdm4tY2hh c3Npcy0yICRjaGFzc2lzCistZG9uZQorLQorICMgTWFrZSBzdXJlIHRoZXJlIGlzIG5vIG5mdCB0 YWJsZSBsZWZ0LiBEbyBub3QgdXNlIG5mdCBkaXJlY3RseSBhcyBtaWdodCBub3QgYmUgaW5zdGFs bGVkIGluIGNvbnRhaW5lci4KKyBndzFfcGlkPSQocG9kbWFuIGluc3BlY3QgLWYgJ3t7LlN0YXRl LlBpZH19JyBvdm4tZ3ctMSkKKyBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBu ZnQgbGlzdCB0YWJsZXMgfCBncmVwIG92bi10ZXN0ICYmIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3 MV9waWQvbnMvbmV0IG5mdCBkZWxldGUgdGFibGUgaXAgb3ZuLXRlc3QKKy1vbl9leGl0ICJpZiBb WyAtZCAiL3Byb2MvJGd3MV9waWQiIF1dOyB0aGVuIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9w aWQvbnMvbmV0IG5mdCBsaXN0IHRhYmxlcyB8IGdyZXAgb3ZuLXRlc3QgJiYgbnNlbnRlciAtLW5l dD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGRlbGV0ZSB0YWJsZSBpcCBvdm4tdGVzdDsgZmki Cisrb25fZXhpdCAibnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGxpc3Qg dGFibGVzIHwgZ3JlcCBvdm4tdGVzdCAmJiBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25z L25ldCBuZnQgZGVsZXRlIHRhYmxlIGlwIG92bi10ZXN0IgorIAorLWZvciBjaGFzc2lzIGluICRm cm9tX2d3MV90b19ndzIgJGZyb21fZ3cxX3RvX2d3MyAkZnJvbV9ndzFfdG9fY2gxICRmcm9tX2d3 MV90b19jaDI7IGRvCisrZm9yIGNoYXNzaXMgaW4gJGZyb21fZ3cxX3RvX2d3MiAkZnJvbV9ndzFf dG9fZ3czICRmcm9tX2d3MV90b19jaDE7IGRvCisgICAgIHdhaXRfYmZkX3VwIG92bi1ndy0xICRj aGFzc2lzCisgZG9uZQorLWZvciBjaGFzc2lzIGluICRmcm9tX2d3Ml90b19ndzEgJGZyb21fZ3cy X3RvX2d3MyAkZnJvbV9ndzJfdG9fY2gxICRmcm9tX2d3Ml90b19jaDI7IGRvCisrZm9yIGNoYXNz aXMgaW4gJGZyb21fZ3cyX3RvX2d3MSAkZnJvbV9ndzJfdG9fZ3czICRmcm9tX2d3Ml90b19jaDE7 IGRvCisgICAgIHdhaXRfYmZkX3VwIG92bi1ndy0yICRjaGFzc2lzCisgZG9uZQorIGZvciBjaGFz c2lzIGluICRmcm9tX2NoMV90b19ndzEgJGZyb21fY2gxX3RvX2d3MjsgZG8KKyAgICAgd2FpdF9i ZmRfdXAgb3ZuLWNoYXNzaXMtMSAkY2hhc3NpcworIGRvbmUKKy1mb3IgY2hhc3NpcyBpbiAkZnJv bV9jaDJfdG9fZ3cxICRmcm9tX2NoMl90b19ndzI7IGRvCistICAgIHdhaXRfYmZkX3VwIG92bi1j aGFzc2lzLTIgJGNoYXNzaXMKKy1kb25lCisgCisgbV93YWl0X3Jvd19jb3VudCBQb3J0X0JpbmRp bmcgMSBsb2dpY2FsX3BvcnQ9Y3ItUjFfb3V0c2lkZSBjaGFzc2lzPSRndzFfY2hhc3NpcworIGNo ZWNrIG11bHRpbm9kZV9uYmN0bCAtLXdhaXQ9aHYgc3luYworIAorIHN0YXJ0X3RjcGR1bXAoKSB7 CisgICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgU3RhcnRpbmcgdGNwZHVtcCIKKy0g ICAgTV9TVEFSVF9UQ1BEVU1QUyhbb3ZuLWNoYXNzaXMtMV0sIFstbmVlaSBodjEtdmlmMS1wXSwg W2NoMV0sCistICAgICAgICAgICAgICAgICAgICBbb3ZuLWNoYXNzaXMtMl0sIFstbmVlaSBodjIt dmlmMS1wXSwgW2NoMl0sCistICAgICAgICAgICAgICAgICAgICBbb3ZuLWNoYXNzaXMtM10sIFst bmVlaSBldGgyXSwgW2NoM10sCistICAgICAgICAgICAgICAgICAgICBbb3ZuLWd3LTFdLCBbLW5l ZWkgZXRoMl0sIFtndzFdLAorLSAgICAgICAgICAgICAgICAgICAgW292bi1ndy0xXSwgWy1uZWVp IGV0aDIgLVEgb3V0XSwgW2d3MV9vdXRdLAorLSAgICAgICAgICAgICAgICAgICAgW292bi1ndy0y XSwgWy1uZWVpIGV0aDJdLCBbZ3cyXSwKKy0gICAgICAgICAgICAgICAgICAgIFtvdm4tZ3ctMl0s IFstbmVlaSBldGgyIC1RIG91dF0sIFtndzJfb3V0XSwKKy0gICAgICAgICAgICAgICAgICAgIFtv dm4tZ3ctM10sIFstbmVlaSBldGgyXSwgW2d3M10sCistICAgICAgICAgICAgICAgICAgICBbb3Zu LWd3LTNdLCBbLW5lZWkgZXRoMiAtUSBvdXRdLCBbZ3czX291dF0sCistICAgICAgICAgICAgICAg ICAgICBbb3ZuLWd3LTFdLCBbLW5lZWkgZXRoMV0sIFtndzFfZXRoMV0sCistICAgICAgICAgICAg ICAgICAgICBbb3ZuLWd3LTJdLCBbLW5lZWkgZXRoMV0sIFtndzJfZXRoMV0sCistICAgICAgICAg ICAgICAgICAgICBbb3ZuLWNoYXNzaXMtMV0sIFstbmVlaSBldGgxXSwgW2NoMV9ldGgxXSwKKy0g ICAgICAgICAgICAgICAgICAgIFtvdm4tY2hhc3Npcy0yXSwgWy1uZWVpIGV0aDFdLCBbY2gyX2V0 aDFdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292bi1jaGFzc2lzLTFdLCBbLW5lZWkgaHYxLXZp ZjEtcF0sIFtjaDFdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292bi1jaGFzc2lzLTJdLCBbLW5l ZWkgZXRoMl0sIFtjaDJdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292bi1ndy0xXSwgWy1uZWVp IGV0aDJdLCBbZ3cxXSkKKysgICAgTV9TVEFSVF9UQ1BEVU1QKFtvdm4tZ3ctMV0sIFstbmVlaSBl dGgyIC1RIG91dF0sIFtndzFfb3V0XSkKKysgICAgTV9TVEFSVF9UQ1BEVU1QKFtvdm4tZ3ctMl0s IFstbmVlaSBldGgyXSwgW2d3Ml0pCisrICAgIE1fU1RBUlRfVENQRFVNUChbb3ZuLWd3LTJdLCBb LW5lZWkgZXRoMiAtUSBvdXRdLCBbZ3cyX291dF0pCisrICAgIE1fU1RBUlRfVENQRFVNUChbb3Zu LWd3LTNdLCBbLW5lZWkgZXRoMl0sIFtndzNdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292bi1n dy0zXSwgWy1uZWVpIGV0aDIgLVEgb3V0XSwgW2d3M19vdXRdKQorIH0KKyAKKyBzdG9wX3RjcGR1 bXAoKSB7CisgICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgU3RvcHBpbmcgdGNwZHVt cCIKKy0gICAgbV9raWxsICdvdm4tZ3ctMSBvdm4tZ3ctMiBvdm4tZ3ctMyBvdm4tY2hhc3Npcy0x IG92bi1jaGFzc2lzLTIgb3ZuLWNoYXNzaXMtMycgdGNwZHVtcAorKyAgICBtX2tpbGwgJ292bi1n dy0xIG92bi1ndy0yIG92bi1ndy0zIG92bi1jaGFzc2lzLTEgb3ZuLWNoYXNzaXMtMicgdGNwZHVt cAorIH0KKyAKKy0jIFNlbmQgcGFja2V0cyBmcm9tIG92bi1jaGFzc2lzLTMgKGV4dDEpIHRvIG92 bi1jaGFzc2lzLTEKKysjIFNlbmQgcGFja2V0cyBmcm9tIGNoYXNzaXMyIChleHQxKSB0byBjaGFz c2lzMQorIHNlbmRfYmFja2dyb3VuZF9wYWNrZXRzKCkgeworICAgICBlY2hvICIkKGRhdGUgKyVI OiVNOiVTLiUwM04pIFNlbmRpbmcgcGFja2V0cyBpbiBCYWNrZ3JvdW5kIgorICAgICBzdGFydF90 Y3BkdW1wCistICAgIE1fTlNfREFFTU9OSVpFKFtvdm4tY2hhc3Npcy0zXSwgW2V4dDFdLCBbcGlu ZyAtZiAtaSAwLjEgMTkyLjE2OC4xLjFdLCBbcGluZy5waWRdKQorKyAgICBNX05TX0RBRU1PTkla RShbb3ZuLWNoYXNzaXMtMl0sIFtleHQxXSwgW3BpbmcgLWYgLWkgMC4xIDE5Mi4xNjguMS4xXSwg W3BpbmcucGlkXSkKKyB9CisgCisgc3RvcF9zZW5kaW5nX2JhY2tncm91bmRfcGFja2V0cygpIHsK KyAgICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBTdG9wcGluZyBCYWNrZ3JvdW5kIHBy b2Nlc3MiCisgICAgIG1fYXMgb3ZuLWNoYXNzaXMtMSBwcyAtZWYgfCBncmVwIC12IGdyZXAgfCBn cmVwIC1xIHBpbmcgJiYgXAorICAgICAgICAgbV9hcyBvdm4tY2hhc3Npcy0xIGVjaG8gIlN0b3Bw aW5nIHBpbmcgb24gb3ZuLWNoYXNzaXMtMSIgJiYga2lsbGFsbCBwaW5nCistICAgIG1fYXMgb3Zu LWNoYXNzaXMtMyBwcyAtZWYgfCBncmVwIC12IGdyZXAgfCBncmVwIC1xIHBpbmcgJiYgXAorKyAg ICBtX2FzIG92bi1jaGFzc2lzLTIgcHMgLWVmIHwgZ3JlcCAtdiBncmVwIHwgZ3JlcCAtcSBwaW5n ICYmIFwKKyAgICAgICAgIG1fYXMgb3ZuLWNoYXNzaXMtMiBlY2hvICJTdG9wcGluZyBwaW5nIG9u IG92bi1jaGFzc2lzLTIiICYmIGtpbGxhbGwgcGluZworICAgICBzdG9wX3RjcGR1bXAKKyB9CitA QCAtMzI1Myw4ICszMjE2LDggQEAgY2hlY2tfZm9yX25ld19nYXJwcygpIHsKKyAgICAgZXhwZWN0 aW5nX2dhcnA9JDIKKyAgICAgbl9uZXdfZ2FycHM9JChjYXQgJHtodn1fb3V0LnRjcGR1bXAgfCBn cmVwIC1jICJmMDowMDpjMDphODowMDpmZSA+IEJyb2FkY2FzdCwgZXRoZXJ0eXBlIEFSUCAoMHgw ODA2KSwgbGVuZ3RoIDQyOiBSZXF1ZXN0IHdoby1oYXMgMTkyLjE2OC4wLjI1NCB0ZWxsIDE5Mi4x NjguMC4yNTQsIGxlbmd0aCAyOCIpCisgCistICAgIGlmIFtbICIkZXhwZWN0aW5nX2dhcnAiID09 ICJ0cnVlIiBdXTsgdGhlbgorLSAgICAgICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBX YWl0aW5nL2NoZWNraW5nIGZvciBnYXJwIGZyb20gJGh2IC0gU3RhcnRpbmcgd2l0aCAkbl9uZXdf Z2FycHMiCisrICAgIGlmIFsgIiRleHBlY3RpbmdfZ2FycCIgPT0gInRydWUiIF07IHRoZW4KKysg ICAgICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBXYWl0aW5nL2NoZWNraW5nIGZv ciBnYXJwIGZyb20gJGh2IC0gU3RhcnRpbmcgd2l0aCAkbl9uZXdfZ2FycHNdKQorICAgICAgICAg T1ZTX1dBSVRfVU5USUwoWworICAgICAgICAgICAgIG5fZ2FycHM9JG5fbmV3X2dhcnBzCisgICAg ICAgICAgICAgbl9uZXdfZ2FycHM9JChjYXQgJHtodn1fb3V0LnRjcGR1bXAgfCBncmVwIC1jICJm MDowMDpjMDphODowMDpmZSA+IEJyb2FkY2FzdCwgZXRoZXJ0eXBlIEFSUCAoMHgwODA2KSwgbGVu Z3RoIDQyOiBSZXF1ZXN0IHdoby1oYXMgMTkyLjE2OC4wLjI1NCB0ZWxsIDE5Mi4xNjguMC4yNTQs IGxlbmd0aCAyOCIpCitAQCAtMzI2Miw3ICszMjI1LDcgQEAgY2hlY2tfZm9yX25ld19nYXJwcygp IHsKKyAgICAgICAgICAgICB0ZXN0ICIkbl9nYXJwcyIgLW5lICIkbl9uZXdfZ2FycHMiCisgICAg ICAgICBdKQorICAgICBlbHNlCistICAgICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04p IENoZWNraW5nIG5vIGdhcnAgZnJvbSAke2h2fSIKKysgICAgICAgIEFTX0JPWChbJChkYXRlICsl SDolTTolUy4lMDNOKSBDaGVja2luZyBubyBnYXJwIGZyb20gJHtodn1dKQorICAgICAgICAgIyBX YWl0aW5nIGEgZmV3IHNlY29uZHMgdG8gZ2V0IGEgY2hhbmNlIHRvIHNlZSB1bmV4cGVjdGVkIGdh cnBzLgorICAgICAgICAgc2xlZXAgMworICAgICAgICAgbl9nYXJwcz0kKGNhdCAke2h2fV9vdXQu dGNwZHVtcCB8IGdyZXAgLWMgImYwOjAwOmMwOmE4OjAwOmZlID4gQnJvYWRjYXN0LCBldGhlcnR5 cGUgQVJQICgweDA4MDYpLCBsZW5ndGggNDI6IFJlcXVlc3Qgd2hvLWhhcyAxOTIuMTY4LjAuMjU0 IHRlbGwgMTkyLjE2OC4wLjI1NCwgbGVuZ3RoIDI4IikKK0BAIC0zMjc4LDggKzMyNDEsOCBAQCBj aGVja19mb3JfbmV3X2VjaG9fcGt0cygpIHsKKyAgICAgbl9uZXdfZWNob19yZXE9JChjYXQgJHto dn0udGNwZHVtcCB8IGdyZXAgLWMgIiRtYWNfc3JjID4gJG1hY19kc3QsIGV0aGVydHlwZSBJUHY0 ICgweDA4MDApLCBsZW5ndGggOTg6IDE5Mi4xNjguMC4xID4gMTkyLjE2OC4xLjE6IElDTVAgZWNo byByZXF1ZXN0IikKKyAgICAgbl9uZXdfZWNob19yZXA9JChjYXQgJHtodn0udGNwZHVtcCB8IGdy ZXAgLWMgIiRtYWNfZHN0ID4gJG1hY19zcmMsIGV0aGVydHlwZSBJUHY0ICgweDA4MDApLCBsZW5n dGggOTg6IDE5Mi4xNjguMS4xID4gMTkyLjE2OC4wLjE6IElDTVAgZWNobyByZXBseSIpCisgCist ICAgIGlmIFtbICIkZXhwZWN0aW5nX3BrdHMiID09ICJ0cnVlIiBdXTsgdGhlbgorLSAgICAgICAg ZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBXYWl0aW5nL2NoZWNraW5nIGZvciBlY2hvIHBr dHMgdGhyb3VnaCAke2h2fSIKKysgICAgaWYgWyAiJGV4cGVjdGluZ19wa3RzIiA9PSAidHJ1ZSIg XTsgdGhlbgorKyAgICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRpbmcv Y2hlY2tpbmcgZm9yIGVjaG8gcGt0cyB0aHJvdWdoICR7aHZ9XSkKKyAgICAgICAgIGVjaG8gIlN0 YXJ0aW5nIHdpdGggJG5fbmV3X2VjaG9fcmVxIHJlcXVlc3RzIGFuZCAkbl9uZXdfZWNob19yZXAg cmVwbGllcyBzbyBmYXIgb24gJHtodn0uIgorICAgICAgICAgT1ZTX1dBSVRfVU5USUwoWworICAg ICAgICAgICAgIG5fZWNob19yZXE9JG5fbmV3X2VjaG9fcmVxCitAQCAtMzI5MCw3ICszMjUzLDcg QEAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMoKSB7CisgICAgICAgICAgICAgdGVzdCAiJG5fZWNo b19yZXEiIC1uZSAiJG5fbmV3X2VjaG9fcmVxIiAmJiB0ZXN0ICIkbl9lY2hvX3JlcCIgLW5lICIk bl9uZXdfZWNob19yZXAiCisgICAgICAgICBdKQorICAgICBlbHNlCistICAgICAgICBlY2hvICIk KGRhdGUgKyVIOiVNOiVTLiUwM04pIENoZWNraW5nIG5vIHBrdHMgZnJvbSAke2h2fSIKKysgICAg ICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBDaGVja2luZyBubyBwa3RzIGZyb20g JHtodn1dKQorICAgICAgICAgIyBXYWl0aW5nIGEgZmV3IHNlY29uZHMgdG8gZ2V0IGEgY2hhbmNl IHRvIHNlZSB1bmV4cGVjdGVkIHBrdHMuCisgICAgICAgICBzbGVlcCAzCisgICAgICAgICBuX2Vj aG9fcmVxPSQoY2F0ICR7aHZ9LnRjcGR1bXAgfCBncmVwIC1jICIkbWFjX3NyYyA+ICRtYWNfZHN0 LCBldGhlcnR5cGUgSVB2NCAoMHgwODAwKSwgbGVuZ3RoIDk4OiAxOTIuMTY4LjAuMSA+IDE5Mi4x NjguMS4xOiBJQ01QIGVjaG8gcmVxdWVzdCIpCitAQCAtMzMwOCw0NCArMzI3MSwyMiBAQCBkdW1w X3N0YXRpc3RpY3MoKSB7CisgICAgIGNoMV9yZXA9JChncmVwIC1jICJJQ01QIGVjaG8gcmVwbHki IGNoMS50Y3BkdW1wKQorICAgICBjaDJfcmVxPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcXVlc3Qi IGNoMi50Y3BkdW1wKQorICAgICBjaDJfcmVwPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcGx5IiBj aDIudGNwZHVtcCkKKy0gICAgY2gzX3JlcT0kKGdyZXAgLWMgIklDTVAgZWNobyByZXF1ZXN0IiBj aDMudGNwZHVtcCkKKy0gICAgY2gzX3JlcD0kKGdyZXAgLWMgIklDTVAgZWNobyByZXBseSIgY2gz LnRjcGR1bXApCisgICAgIGd3MV9yZXE9JChncmVwIC1jICJJQ01QIGVjaG8gcmVxdWVzdCIgZ3cx LnRjcGR1bXApCisgICAgIGd3MV9yZXA9JChncmVwIC1jICJJQ01QIGVjaG8gcmVwbHkiIGd3MS50 Y3BkdW1wKQorICAgICBndzJfcmVxPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcXVlc3QiIGd3Mi50 Y3BkdW1wKQorICAgICBndzJfcmVwPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcGx5IiBndzIudGNw ZHVtcCkKKyAgICAgZ3czX3JlcT0kKGdyZXAgLWMgIklDTVAgZWNobyByZXF1ZXN0IiBndzMudGNw ZHVtcCkKKyAgICAgZ3czX3JlcD0kKGdyZXAgLWMgIklDTVAgZWNobyByZXBseSIgZ3czLnRjcGR1 bXApCistICAgIGVjaG8gIiRuMSBjbGFpbXMgaW4gZ3cxLCAkbjIgaW4gZ3cyIGFuZCAkbjMgb24g Z3czIiA+JjIKKy0gICAgZWNobyAiY2gzX3JlcT0kY2gzX3JlcSBnd19yZXE9KCRndzFfcmVxICsg JGd3Ml9yZXEgKyRndzNfcmVxKSBjaDFfcmVxPSRjaDFfcmVxIGNoMV9yZXA9JGNoMV9yZXAgZ3df cmVwPSgkZ3cxX3JlcCArICRndzJfcmVwICsgJGd3M19yZXApIGNoM19yZXA9JGNoM19yZXAgY2gy PSgkY2gyX3JlcSskY2gyX3JlcCkiID4mMgorLSAgICBlY2hvICIkKChjaDNfcmVxIC0gY2gzX3Jl cCkpIgorLX0KKy0KKy1hZGRfcG9ydCgpIHsKKy0gICAgYnJpZGdlPSQxCistICAgIGludGVyZmFj ZT0kMgorLSAgICBhZGRyZXNzPSQzCistICAgIGVjaG8gIkFkZGluZyAkYnJpZGdlICRpbnRlcmZh Y2UgJGFkZHJlc3MiCistCistICAgIHBpZD0kKHBvZG1hbiBpbnNwZWN0IC1mICd7ey5TdGF0ZS5Q aWR9fScgb3ZuLWd3LTEpCistICAgIGxuIC1zZiAvcHJvYy8kcGlkL25zL25ldCAvdmFyL3J1bi9u ZXRucy8kcGlkCistICAgIHBvcnQ9JChob3N0X292c192c2N0bCAtLWRhdGE9YmFyZSAtLW5vLWhl YWRpbmcgLS1jb2x1bW5zPW5hbWUgZmluZCBpbnRlcmZhY2UgXAorLSAgICAgICAgICAgZXh0ZXJu YWxfaWRzOmNvbnRhaW5lcl9pZD1vdm4tZ3ctMSBleHRlcm5hbF9pZHM6Y29udGFpbmVyX2lmYWNl PSIkaW50ZXJmYWNlIikKKy0gICAgcG9ydD0iJHtwb3J0OjA6MTN9IgorLSAgICBpcCBsaW5rIGFk ZCAiJHtwb3J0fV9sIiB0eXBlIHZldGggcGVlciBuYW1lICIke3BvcnR9X2MiCistICAgIGlwIGxp bmsgc2V0ICIke3BvcnR9X2wiIHVwCistICAgIGlwIGxpbmsgc2V0ICIke3BvcnR9X2MiIG5ldG5z ICRwaWQKKy0gICAgaXAgbmV0bnMgZXhlYyAkcGlkIGlwIGxpbmsgc2V0IGRldiAiJHtwb3J0fV9j IiBuYW1lICIkaW50ZXJmYWNlIgorLSAgICBpcCBuZXRucyBleGVjICRwaWQgaXAgbGluayBzZXQg IiRpbnRlcmZhY2UiIHVwCistICAgIGlmIFtbIC1uICIkYWRkcmVzcyIgXV07IHRoZW4KKy0gICAg ICAgIGlwIG5ldG5zIGV4ZWMgJHBpZCBpcCBhZGRyIGFkZCAiJGFkZHJlc3MiIGRldiAiJGludGVy ZmFjZSIKKy0gICAgZmkKKysgICAgZWNobyAiJG4xIGNsYWltcyBpbiBndzEsICRuMiBpbiBndzIg YW5kICRuMyBvbiBndzMiCisrICAgIGVjaG8gImNoMl9yZXF1ZXN0PSRjaDJfcmVxIGd3MV9yZXF1 ZXN0PSRndzFfcmVxIGd3Ml9yZXF1ZXN0PSRndzJfcmVxIGd3M19yZXF1ZXN0PSRndzNfcmVxIGNo MV9yZXF1ZXN0PSRjaDFfcmVxIGNoMV9yZXBseT0kY2gxX3JlcCBndzFfcmVwbHk9JGd3MV9yZXAg Z3cyX3JlcGx5PSRndzJfcmVwIGd3M19yZXBseT0kZ3czX3JlcCBjaDJfcmVwbHk9JGNoMl9yZXAi CisgfQorIAorLXByZXBhcmUoKSB7CisrY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9n dzIoKSB7CisrICAgIGFjdGlvbj0kMQorICAgICBzZW5kX2JhY2tncm91bmRfcGFja2V0cworKwor ICAgICAjIFdlIG1ha2Ugc3VyZSBndzEgaXMgbGVhZGVyIHNpbmNlIGVub3VnaCB0aW1lIHRoYXQg aXQgZ2VuZXJhdGVkIGFsbCBpdHMgZ2FycHMuCistICAgIGVjaG8gJChkYXRlICslSDolTTolUy4l MDNOKSBXYWl0aW5nIGFsbCBnYXJwcyBzZW50IGJ5IGd3MQorKyAgICBBU19CT1goWyQoZGF0ZSAr JUg6JU06JVMuJTAzTikgV2FpdGluZyBhbGwgZ2FycHMgc2VudCBieSBndzFdKQorICAgICBuX25l d19nYXJwcz0kKGNhdCBndzFfb3V0LnRjcGR1bXAgfCBncmVwIC1jICJmMDowMDpjMDphODowMDpm ZSA+IEJyb2FkY2FzdCwgZXRoZXJ0eXBlIEFSUCAoMHgwODA2KSwgbGVuZ3RoIDQyOiBSZXF1ZXN0 IHdoby1oYXMgMTkyLjE2OC4wLjI1NCB0ZWxsIDE5Mi4xNjguMC4yNTQsIGxlbmd0aCAyOCIpCisg ICAgIE9WU19XQUlUX1VOVElMKFsKKyAgICAgICAgIG5fZ2FycHM9JG5fbmV3X2dhcnBzCitAQCAt MzM2MSwyNjkgKzMzMDIsMTMwIEBAIHByZXBhcmUoKSB7CisgICAgIGNoZWNrX2Zvcl9uZXdfZWNo b19wa3RzIGd3MiAiMDA6MDA6YzA6YTg6MDA6MDEiICJmMDowMDpjMDphODowMDpmZSIgImZhbHNl IgorICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzMgIjAwOjAwOmMwOmE4OjAwOjAxIiAi ZjA6MDA6YzA6YTg6MDA6ZmUiICJmYWxzZSIKKyAKKy0gICAgIyBBbGwgcGFja2V0cyBzaG91bGQg Z28gdGhyb3VnaCBndzEsIGFuZCBub25lIHRocm91Z2ggZ3cyIG9yIGd3My4KKy0gICAgY2hlY2tf cGFja2V0cyAidHJ1ZSIgImZhbHNlIiAiZmFsc2UiICJ0cnVlIgorICAgICBmbGFwX2NvdW50X2d3 XzE9JChtX2FzIG92bi1ndy0xIG92cy12c2N0bCBnZXQgaW50ZXJmYWNlICRmcm9tX2d3MV90b19n dzIgYmZkX3N0YXR1cyB8IHNlZCAncy8uKmZsYXBfY291bnQ9XCJcKFtbMC05XV0qXCkuKi9cMS9n JykKKyAgICAgZmxhcF9jb3VudF9nd18yPSQobV9hcyBvdm4tZ3ctMiBvdnMtdnNjdGwgZ2V0IGlu dGVyZmFjZSAkZnJvbV9ndzJfdG9fZ3cxIGJmZF9zdGF0dXMgfCBzZWQgJ3MvLipmbGFwX2NvdW50 PVwiXChbWzAtOV1dKlwpLiovXDEvZycpCistfQorIAorLWNoZWNrX2xvc3NfYWZ0ZXJfZmxhcCgp CisteworLSAgICBkZWFkPSQxCistICAgIG1heF9leHBlY3RlZF9sb3NzPSQyCisrICAgIGlmIFsg dGVzdCAiJGFjdGlvbiIgPT0gInN0b3BfYmZkIiBdOyB0aGVuCisrICAgICAgICBBU19CT1goWyQo ZGF0ZSArJUg6JU06JVMuJTAzTikgQmxvY2tpbmcgYmZkIG9uIGd3MSAoZnJvbSAkaXBfZ3cxIHRv ICRpcF9ndzIpXSkKKysgICAgICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0 IG5mdCBhZGQgdGFibGUgaXAgb3ZuLXRlc3QKKysgICAgICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2Mv JGd3MV9waWQvbnMvbmV0IG5mdCAnYWRkIGNoYWluIGlwIG92bi10ZXN0IElOUFVUIHsgdHlwZSBm aWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OyB9JworKyAgICAgICAg IyBEcm9wIEJGRCBmcm9tIGd3LTEgdG8gZ3ctMjogZ2VuZXZlIHBvcnQgKDYwODEpLCBpbm5lciBw b3J0IDM3ODQgKDB4ZWM4KSwgU2Vzc2lvbiBzdGF0ZSBVcCwgSW5pdCwgRG93bi4KKysgICAgICAg IG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCBhZGQgcnVsZSBpcCBvdm4t dGVzdCBJTlBVVCBpcCBkYWRkciAkaXBfZ3cxIGlwIHNhZGRyICRpcF9ndzIgdWRwIGRwb3J0IDYw ODEgJ0B0aCw0MTYsMTYgPT0gMHgwZWM4IEB0aCw0NzIsOCA9PSAweGMwICBjb3VudGVyIGRyb3An CisrICAgICAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgYWRkIHJ1 bGUgaXAgb3ZuLXRlc3QgSU5QVVQgaXAgZGFkZHIgJGlwX2d3MSBpcCBzYWRkciAkaXBfZ3cyIHVk cCBkcG9ydCA2MDgxICdAdGgsNDE2LDE2ID09IDB4MGVjOCBAdGgsNDcyLDggPT0gMHg4MCAgY291 bnRlciBkcm9wJworKyAgICAgICAgbnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQg bmZ0IGFkZCBydWxlIGlwIG92bi10ZXN0IElOUFVUIGlwIGRhZGRyICRpcF9ndzEgaXAgc2FkZHIg JGlwX2d3MiB1ZHAgZHBvcnQgNjA4MSAnQHRoLDQxNiwxNiA9PSAweDBlYzggQHRoLDQ3Miw4ID09 IDB4NDAgIGNvdW50ZXIgZHJvcCcKKysKKysgICAgICAgICMgV2UgZG8gbm90IGNoZWNrIHRoYXQg cGFja2V0cyBnbyB0aHJvdWdoIGd3MiBhcyBCRkQgYmV0d2VlbiBjaGFzc2lzLTIgYW5kIGd3MSBp cyBzdGlsbCB1cAorKyAgICBmaQorKworKyAgICBpZiBbIHRlc3QgIiRhY3Rpb24iID09ICJraWxs X2d3MiIgXTsgdGhlbgorKyAgICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIEtp bGxpbmcgZ3cyIG92bi1jb250cm9sbGVyXSkKKysgICAgICAgIG9uX2V4aXQgJ21fYXMgb3ZuLWd3 LTIgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhdHVzIHx8CisrICAg ICAgICAgICAgICAgICBtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0 cy9vdnMtY3RsIHN0YXJ0IC0tc3lzdGVtLWlkPW92bi1ndy0yJworKyAgICAgICAgb25fZXhpdCAn bV9hcyBvdm4tZ3ctMiAvdXNyL3NoYXJlL292bi9zY3JpcHRzL292bi1jdGwgc3RhdHVzX2NvbnRy b2xsZXIgfHwKKysgICAgICAgICAgICAgICAgIG1fYXMgb3ZuLWd3LTIgL3Vzci9zaGFyZS9vdm4v c2NyaXB0cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdTfScK KysKKysgICAgICAgIG1fYXMgb3ZuLWd3LTIga2lsbCAtOSAkKG1fYXMgb3ZuLWd3LTIgY2F0IC9y dW4vb3ZuL292bi1jb250cm9sbGVyLnBpZCkKKysgICAgICAgIG1fYXMgb3ZuLWd3LTIga2lsbCAt OSAkKG1fYXMgb3ZuLWd3LTIgY2F0IC9ydW4vb3BlbnZzd2l0Y2gvb3ZzLXZzd2l0Y2hkLnBpZCkK KysgICAgICAgIG1fYXMgb3ZuLWd3LTIga2lsbCAtOSAkKG1fYXMgb3ZuLWd3LTIgY2F0IC9ydW4v b3BlbnZzd2l0Y2gvb3ZzZGItc2VydmVyLnBpZCkKKysgICAgICAgICMgQWxzbyBkZWxldGUgZGF0 YXBhdGggKGZsb3dzKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMiBvdnMtZHBjdGwgZGVsLWRwIHN5 c3RlbUBvdnMtc3lzdGVtCisrICAgIGZpCisrCisrICAgIGlmIFsgdGVzdCAiJGFjdGlvbiIgPT0g ImtpbGxfZ3cxIiBdOyB0aGVuCisrICAgICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAz TikgS2lsbGluZyBndzEgb3ZuLWNvbnRyb2xsZXJdKQorKyAgICAgICAgb25fZXhpdCAnbV9hcyBv dm4tZ3ctMSAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGF0dXMgfHwK KysgICAgICAgICAgICAgICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9z Y3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTEnCisrICAgICAgICBvbl9l eGl0ICdtX2FzIG92bi1ndy0xIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGF0dXNf Y29udHJvbGxlciB8fAorKyAgICAgICAgICAgICAgICAgbV9hcyBvdm4tZ3ctMSAvdXNyL3NoYXJl L292bi9zY3JpcHRzL292bi1jdGwgc3RhcnRfY29udHJvbGxlciAke0NPTlRST0xMRVJfU1NMX0FS R1N9JworKworKyAgICAgICAgbV9hcyBvdm4tZ3ctMSBraWxsIC05ICQobV9hcyBvdm4tZ3ctMSBj YXQgL3J1bi9vdm4vb3ZuLWNvbnRyb2xsZXIucGlkKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMSBr aWxsIC05ICQobV9hcyBvdm4tZ3ctMSBjYXQgL3J1bi9vcGVudnN3aXRjaC9vdnMtdnN3aXRjaGQu cGlkKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMSBraWxsIC05ICQobV9hcyBvdm4tZ3ctMSBjYXQg L3J1bi9vcGVudnN3aXRjaC9vdnNkYi1zZXJ2ZXIucGlkKQorKyAgICAgICAgIyBBbHNvIGRlbGV0 ZSBkYXRhcGF0aCAoZmxvd3MpCisrICAgICAgICBtX2FzIG92bi1ndy0xIG92cy1kcGN0bCBkZWwt ZHAgc3lzdGVtQG92cy1zeXN0ZW0KKysgICAgZmkKKyAKKy0gICAgaWYgW1sgIiRkZWFkIiA9PSAi Z3cyIiBdXTsgdGhlbgorLSAgICAgICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBXYWl0 aW5nIGZvciBmbGFwIGNvdW50IGJldHdlZW4gZ3cxIGFuZCBndzIgdG8gaW5jcmVhc2UiCisrICAg IGlmIFsgdGVzdCAiJGFjdGlvbiIgPT0gImtpbGxfZ3cyIiBdOyB0aGVuCisrICAgICAgICBBU19C T1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgV2FpdGluZyBmb3IgZmxhcCBjb3VudCBiZXR3ZWVu IGd3MSBhbmQgZ3cyIHRvIGluY3JlYXNlXSkKKyAgICAgICAgIE9WU19XQUlUX1VOVElMKFsKKyAg ICAgICAgICAgICBuZXdfZmxhcF9jb3VudD0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIGdldCBp bnRlcmZhYyAkZnJvbV9ndzFfdG9fZ3cyIGJmZF9zdGF0dXMgfCBzZWQgJ3MvLipmbGFwX2NvdW50 PVwiXChbWzAtOV1dKlwpLiovXDEvZycpCisgICAgICAgICAgICAgZWNobyAiQ29tcGFyaW5nICRu ZXdfZmxhcF9jb3VudCB2ZXJzdXMgJGZsYXBfY291bnRfZ3dfMSIKKyAgICAgICAgICAgICB0ZXN0 ICIkbmV3X2ZsYXBfY291bnQiIC1ndCAiJCgoZmxhcF9jb3VudF9nd18xKSkiCisgICAgICAgICBd KQorICAgICBlbHNlCistICAgICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRp bmcgZm9yIGZsYXAgY291bnQgYmV0d2VlbiBndzIgYW5kIGd3MSB0byBpbmNyZWFzZV0pIgorKyAg ICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRpbmcgZm9yIGZsYXAgY291 bnQgYmV0d2VlbiBndzIgYW5kIGd3MSB0byBpbmNyZWFzZV0pCisgICAgICAgICBPVlNfV0FJVF9V TlRJTChbCisgICAgICAgICAgICAgbmV3X2ZsYXBfY291bnQ9JChtX2FzIG92bi1ndy0yIG92cy12 c2N0bCBnZXQgaW50ZXJmYWMgJGZyb21fZ3cyX3RvX2d3MSBiZmRfc3RhdHVzIHwgc2VkICdzLy4q ZmxhcF9jb3VudD1cIlwoW1swLTldXSpcKS4qL1wxL2cnKQorICAgICAgICAgICAgIGVjaG8gIkNv bXBhcmluZyAkbmV3X2ZsYXBfY291bnQgdmVyc3VzICRmbGFwX2NvdW50X2d3XzIiCisgICAgICAg ICAgICAgdGVzdCAiJG5ld19mbGFwX2NvdW50IiAtZ3QgIiQoKGZsYXBfY291bnRfZ3dfMikpIgor ICAgICAgICAgXSkKKysKKyAgICAgZmkKKysgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUw M04pIEZsYXBwZWQhXSkKKyAKKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBGbGFw cGVkISIKKyAgICAgIyBXYWl0IGEgZmV3IG1vcmUgc2Vjb25kIGZvciB0aGUgZmlnaHQuCistICAg IHNsZWVwIDQKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBTdGF0aXN0aWNz IGFmdGVyIGZsYXBwaW5nIgorLSAgICBsb3N0PSQoZHVtcF9zdGF0aXN0aWNzKQorLSAgICBlY2hv ICI9PT0+ICRsb3N0IHBhY2tldCBsb3N0IHdoaWxlIGhhbmRsaW5nIG1pZ3JhdGlvbiIKKy0gICAg QVRfQ0hFQ0soW3Rlc3QgIiRsb3N0IiAtbGUgIiRtYXhfZXhwZWN0ZWRfbG9zcyJdKQorLX0KKy0K Ky1maW5hbF9jaGVjaygpCisteworLSAgICBhY3Rpb249JDEKKy0gICAgbG9zdD0kMgorLSAgICBt YXhfZXhwZWN0ZWRfbG9zc19hZnRlcl9yZXN0b3JhdGlvbj0kMworLQorLSAgICAjIFdhaXQgYSBs aXR0bGUgbW9yZSB0byBnZXQgcGFja2V0cyB3aGlsZSBuZXR3b3JrIGlzIHJlc3RvcmVkCisgICAg IHNsZWVwIDIKKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBTdGF0aXN0aWNzIGFm dGVyIG5ldHdvcmsgcmVzdG9yZWQgKGFmdGVyICRhY3Rpb24pIgorLSAgICBuZXdfbG9zdD0kKGR1 bXBfc3RhdGlzdGljcykKKy0gICAgZWNobyAiPT09PiAkKChuZXdfbG9zdCAtIGxvc3QpKSBwYWNr ZXRzIGxvc3QgZHVyaW5nIG5ldHdvcmsgcmVzdG9yYXRpb24iCistICAgIEFUX0NIRUNLKFt0ZXN0 ICIkKChuZXdfbG9zdCAtIGxvc3QpKSIgLWxlICIkbWF4X2V4cGVjdGVkX2xvc3NfYWZ0ZXJfcmVz dG9yYXRpb24iXSkKKy0gICAgc3RvcF9zZW5kaW5nX2JhY2tncm91bmRfcGFja2V0cworLX0KKy0K Ky1jaGVja19nYXJwcygpCisteworLSAgICBjaGVja19mb3JfbmV3X2dhcnBzIGd3MSAiJDEiCist ICAgIGNoZWNrX2Zvcl9uZXdfZ2FycHMgZ3cyICIkMiIKKy0gICAgY2hlY2tfZm9yX25ld19nYXJw cyBndzMgIiQzIgorLX0KKy0KKy1jaGVja19wYWNrZXRzKCkKKy17CistICAgIGNoZWNrX2Zvcl9u ZXdfZWNob19wa3RzIGd3MSAwMDowMDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAiJDEi CistICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MiAwMDowMDpjMDphODowMDowMSBmMDow MDpjMDphODowMDpmZSAiJDIiCistICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MyAwMDow MDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAiJDMiCistICAgIGNoZWNrX2Zvcl9uZXdf ZWNob19wa3RzIGNoMSBmMDowMDpjMDphODowMTpmZSBmMDowMDpjMDphODowMTowMSAiJDQiCist fQorLQorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX2JmZF9zdG9wKCkKKy17 CistICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBUZXN0aW5nIG1pZ3JhdGlvbiBh ZnRlciBiZmRfc3RvcF0pCistICAgIG1heF9leHBlY3RlZF9tYXhfZXhwZWN0ZWRfbG9zczE9JDEK Ky0gICAgbWF4X2V4cGVjdGVkX21heF9leHBlY3RlZF9sb3NzMj0kMgorLSAgICBwcmVwYXJlCist CistICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgQmxvY2tpbmcgYmZkIG9uIGd3MSAo ZnJvbSAkaXBfZ3cxIHRvICRpcF9ndzIpIgorLSAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFf cGlkL25zL25ldCBuZnQgYWRkIHRhYmxlIGlwIG92bi10ZXN0CistICAgIG5zZW50ZXIgLS1uZXQ9 L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCAnYWRkIGNoYWluIGlwIG92bi10ZXN0IElOUFVUIHsg dHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OyB9JworLSAg ICAjIERyb3AgQkZEIGZyb20gZ3ctMSB0byBndy0yOiBnZW5ldmUgcG9ydCAoNjA4MSksIGlubmVy IHBvcnQgMzc4NCAoMHhlYzgpLCBTZXNzaW9uIHN0YXRlIFVwLCBJbml0LCBEb3duLgorLSAgICBu c2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgYWRkIHJ1bGUgaXAgb3ZuLXRl c3QgSU5QVVQgaXAgZGFkZHIgJGlwX2d3MSBpcCBzYWRkciAkaXBfZ3cyIHVkcCBkcG9ydCA2MDgx ICdAdGgsNDE2LDE2ID09IDB4MGVjOCBAdGgsNDcyLDggPT0gMHhjMCAgY291bnRlciBkcm9wJwor LSAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgYWRkIHJ1bGUgaXAg b3ZuLXRlc3QgSU5QVVQgaXAgZGFkZHIgJGlwX2d3MSBpcCBzYWRkciAkaXBfZ3cyIHVkcCBkcG9y dCA2MDgxICdAdGgsNDE2LDE2ID09IDB4MGVjOCBAdGgsNDcyLDggPT0gMHg4MCAgY291bnRlciBk cm9wJworLSAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgYWRkIHJ1 bGUgaXAgb3ZuLXRlc3QgSU5QVVQgaXAgZGFkZHIgJGlwX2d3MSBpcCBzYWRkciAkaXBfZ3cyIHVk cCBkcG9ydCA2MDgxICdAdGgsNDE2LDE2ID09IDB4MGVjOCBAdGgsNDcyLDggPT0gMHg0MCAgY291 bnRlciBkcm9wJworLQorLSAgICBjaGVja19sb3NzX2FmdGVyX2ZsYXAgImd3MSIgJG1heF9leHBl Y3RlZF9tYXhfZXhwZWN0ZWRfbG9zczEKKy0KKy0gICAgIyBndzEgc3RpbGwgYWxpdmUgYW5kIGd3 MiB0cmllZCB0byBjbGFpbSA9PiBndzEgc2hvdWxkIHJlc3RhcnQgZ2VuZXJhdGluZyBnYXJwcy4K Ky0gICAgY2hlY2tfZ2FycHMgInRydWUiICJmYWxzZSIgImZhbHNlIgorLSAgICBjaGVja19wYWNr ZXRzICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCistCistICAgIGVjaG8gIiQoZGF0ZSAr JUg6JU06JVMuJTAzTikgVW5ibG9ja2luZyBiZmQgb24gZ3cxIgorLSAgICBuc2VudGVyIC0tbmV0 PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgLWEgbGlzdCBydWxlc2V0CistICAgIG5zZW50ZXIg LS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCBkZWxldGUgdGFibGUgaXAgb3ZuLXRlc3QK Ky0KKy0gICAgIyBUaGUgbmV0d29yayBpcyBub3cgcmVzdG9yZWQgPT4gcGFja2V0cyBzaG91bGQg Z28gdGhyb3VnaCBndzEgYW5kIHJlYWNoIGNoYXNzaXMtMS4KKy0gICAgY2hlY2tfcGFja2V0cyAi dHJ1ZSIgImZhbHNlIiAiZmFsc2UiICJ0cnVlIgorLSAgICBmaW5hbF9jaGVjayAiYmZkX3N0b3Ai ICRsb3N0ICRtYXhfZXhwZWN0ZWRfbWF4X2V4cGVjdGVkX2xvc3MyCistfQorLQorLWNoZWNrX21p Z3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX2tpbGxfZ3cyKCkgeworLSAgICBBU19CT1goWyQo ZGF0ZSArJUg6JU06JVMuJTAzTikgQ2hlY2sgbWlncmF0aW9uIGFmdGVyIGtpbGxpbmcgZ3cyIG92 bi1jb250cm9sbGVyICYgdnN3aXRjaGRdKQorLSAgICBtYXhfZXhwZWN0ZWRfbG9zczE9JDEKKy0g ICAgbWF4X2V4cGVjdGVkX2xvc3MyPSQyCistICAgIHByZXBhcmUKKy0KKy0gICAgb25fZXhpdCAn bV9hcyBvdm4tZ3ctMiAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGF0 dXMgfHwKKy0gICAgICAgICAgICAgbV9hcyBvdm4tZ3ctMiAvdXNyL3NoYXJlL29wZW52c3dpdGNo L3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3RlbS1pZD1vdm4tZ3ctMicKKy0gICAgb25fZXhp dCAnbV9hcyBvdm4tZ3ctMiAvdXNyL3NoYXJlL292bi9zY3JpcHRzL292bi1jdGwgc3RhdHVzX2Nv bnRyb2xsZXIgfHwKKy0gICAgICAgICAgICAgbV9hcyBvdm4tZ3ctMiAvdXNyL3NoYXJlL292bi9z Y3JpcHRzL292bi1jdGwgc3RhcnRfY29udHJvbGxlciAke0NPTlRST0xMRVJfU1NMX0FSR1N9Jwor LQorLSAgICBtX2FzIG92bi1ndy0yIGtpbGwgLTkgJChtX2FzIG92bi1ndy0yIGNhdCAvcnVuL292 bi9vdm4tY29udHJvbGxlci5waWQpCistICAgIG1fYXMgb3ZuLWd3LTIga2lsbCAtOSAkKG1fYXMg b3ZuLWd3LTIgY2F0IC9ydW4vb3BlbnZzd2l0Y2gvb3ZzLXZzd2l0Y2hkLnBpZCkKKy0gICAgbV9h cyBvdm4tZ3ctMiBraWxsIC05ICQobV9hcyBvdm4tZ3ctMiBjYXQgL3J1bi9vcGVudnN3aXRjaC9v dnNkYi1zZXJ2ZXIucGlkKQorLSAgICBtX2FzIG92bi1ndy0yIG92cy1kcGN0bCBkZWwtZHAgc3lz dGVtQG92cy1zeXN0ZW0KKy0KKy0gICAgY2hlY2tfbG9zc19hZnRlcl9mbGFwICJndzIiICRtYXhf ZXhwZWN0ZWRfbG9zczEKKy0KKy0gICAgIyBndzEgc3RpbGwgYWxpdmUsIGJ1dCBndzIgZGlkIG5v dCB0cnkgdG8gY2xhaW0gPT4gZ3cxIHNob3VsZCBub3QgZ2VuZXJhdGUgbmV3IGdhcnBzLgorLSAg ICBjaGVja19nYXJwcyAiZmFsc2UiICJmYWxzZSIgImZhbHNlIgorLSAgICBjaGVja19wYWNrZXRz ICJ0cnVlIiAiZmFscyIgImZhbHNlIiAidHJ1ZSIKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDol TTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3MiBvdm4tdnN3aXRjaGRdIgorLSAgICBtX2FzIG92bi1n dy0yIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0YXJ0IC0tc3lzdGVt LWlkPW92bi1ndy0yCistCistICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVzdGFy dGluZyBndzIgb3ZuLWNvbnRyb2xsZXIiCistICAgIG1fYXMgb3ZuLWd3LTIgL3Vzci9zaGFyZS9v dm4vc2NyaXB0cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdT fQorLQorLSAgICAjIFRoZSBuZXR3b3JrIGlzIG5vdyByZXN0b3JlZCA9PiBwYWNrZXRzIHNob3Vs ZCBnbyB0aHJvdWdoIGd3MSBhbmQgcmVhY2ggY2hhc3Npcy0xLgorLSAgICBjaGVja19wYWNrZXRz ICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCistICAgIGZpbmFsX2NoZWNrICJraWxsX2d3 MiIgJGxvc3QgJG1heF9leHBlY3RlZF9sb3NzMgorLX0KKy0KKy1jaGVja19taWdyYXRpb25fYmV0 d2Vlbl9ndzFfYW5kX2d3Ml91cGRhdGVfb3ZzKCkgeworLSAgICBBU19CT1goWyQoZGF0ZSArJUg6 JU06JVMuJTAzTikgQ2hlY2sgbWlncmF0aW9uIGFmdGVyIHJlc3RhcnRpbmcgZ3cxIG92cy12c3dp dGNoZCAoInVwZGF0ZSIpXSkKKy0gICAgbWF4X2V4cGVjdGVkX2xvc3MxPSQxCistICAgIG1heF9l eHBlY3RlZF9sb3NzMj0kMgorLSAgICBwcmVwYXJlCistCistICAgIG1fYXMgb3ZuLWd3LTEgL3Vz ci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgcmVzdGFydCAtLXN5c3RlbS1pZD1v dm4tZ3ctMQorLQorLSAgICBjaGVja19sb3NzX2FmdGVyX2ZsYXAgImd3MSIgJG1heF9leHBlY3Rl ZF9sb3NzMQorLQorLSAgICAjIFRoZSBuZXR3b3JrIGlzIG5vdyByZXN0b3JlZCA9PiBwYWNrZXRz IHNob3VsZCBnbyB0aHJvdWdoIGd3MSBhbmQgcmVhY2ggY2hhc3Npcy0xLgorLSAgICBjaGVja19w YWNrZXRzICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCistICAgIGZpbmFsX2NoZWNrICJv dnNfdXBkYXRlIiAkbG9zdCAkbWF4X2V4cGVjdGVkX2xvc3MyCistfQorLQorLWNoZWNrX21pZ3Jh dGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX2tpbGxfZ3cxKCkgeworLSAgICBBU19CT1goWyQoZGF0 ZSArJUg6JU06JVMuJTAzTikgS2lsbGluZyBndzEgb3ZuLWNvbnRyb2xsZXIgYW5kIG92cy12c3dp dGNoZF0pCistICAgIG1heF9leHBlY3RlZF9sb3NzMT0kMQorLSAgICBtYXhfZXhwZWN0ZWRfbG9z czI9JDIKKy0gICAgcHJlcGFyZQorLQorLSAgICBvbl9leGl0ICdtX2FzIG92bi1ndy0xIC91c3Iv c2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0YXR1cyB8fAorLSAgICAgICAgICAg ICBtX2FzIG92bi1ndy0xIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0 YXJ0IC0tc3lzdGVtLWlkPW92bi1ndy0xJworLSAgICBvbl9leGl0ICdtX2FzIG92bi1ndy0xIC91 c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGF0dXNfY29udHJvbGxlciB8fAorLSAgICAg ICAgICAgICBtX2FzIG92bi1ndy0xIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGFy dF9jb250cm9sbGVyICR7Q09OVFJPTExFUl9TU0xfQVJHU30nCistCistICAgIG1fYXMgb3ZuLWd3 LTEga2lsbCAtOSAkKG1fYXMgb3ZuLWd3LTEgY2F0IC9ydW4vb3ZuL292bi1jb250cm9sbGVyLnBp ZCkKKy0gICAgbV9hcyBvdm4tZ3ctMSBraWxsIC05ICQobV9hcyBvdm4tZ3ctMSBjYXQgL3J1bi9v cGVudnN3aXRjaC9vdnMtdnN3aXRjaGQucGlkKQorLSAgICBtX2FzIG92bi1ndy0xIGtpbGwgLTkg JChtX2FzIG92bi1ndy0xIGNhdCAvcnVuL29wZW52c3dpdGNoL292c2RiLXNlcnZlci5waWQpCist ICAgICMgQWxzbyBkZWxldGUgZGF0YXBhdGggKGZsb3dzKQorLSAgICBtX2FzIG92bi1ndy0xIG92 cy1kcGN0bCBkZWwtZHAgc3lzdGVtQG92cy1zeXN0ZW0KKy0KKy0gICAgY2hlY2tfbG9zc19hZnRl cl9mbGFwICJndzEiICRtYXhfZXhwZWN0ZWRfbG9zczEKKy0KKy0gICAgIyBndzEgZGllZCA9PiBn dzIgc2hvdWxkIGdlbmVyYXRlIGdhcnBzLgorLSAgICBjaGVja19nYXJwcyAiZmFsc2UiICJ0cnVl IiAiZmFsc2UiCistICAgIGNoZWNrX3BhY2tldHMgImZhbHNlIiAidHJ1ZSIgImZhbHNlIiAidHJ1 ZSIKKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3MSBvdm4t dnN3aXRjaGQgYWZ0ZXIga2lsbGluZyBndzEiCistICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFy ZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTEK Ky0KKy0gICAgIyBXYWl0IHNvbWUgbG9uZyB0aW1lIGJlZm9yZSByZXN0YXJ0aW5nIG92bi1jb250 cm9sbGVyCistICAgIHNsZWVwIDEwCistCistICAgICMgZ3cyIHNob3VsZCBzdGlsbCBiZSBoYW5k bGluZyBwYWNrZXRzIGFzIE9WTiBub3QgcmVzdGFydGVkIG9uIGd3MQorLSAgICBjaGVja19wYWNr ZXRzICJmYWxzZSIgInRydWUiICJmYWxzZSIgInRydWUiCistCistICAgIGVjaG8gIiQoZGF0ZSAr JUg6JU06JVMuJTAzTikgUmVzdGFydGluZyBndzEgb3ZuLWNvbnRyb2xsZXIgYWZ0ZXIga2lsbGlu ZyBndzEiCistICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4tY3Rs IHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdTfQorLQorLSAgICAjIFRoZSBu ZXR3b3JrIGlzIG5vdyByZXN0b3JlZCA9PiBwYWNrZXRzIHNob3VsZCBnbyB0aHJvdWdoIGd3MSBh bmQgcmVhY2ggY2hhc3Npcy0xLgorLSAgICBjaGVja19wYWNrZXRzICJ0cnVlIiAiZmFsc2UiICJm YWxzZSIgInRydWUiCistICAgIGZpbmFsX2NoZWNrICJraWxsX2d3MSIgJGxvc3QgJG1heF9leHBl Y3RlZF9sb3NzMgorLX0KKy0KKy1jaGVja19taWdyYXRpb25fYmV0d2Vlbl9ndzFfYW5kX2d3Ml9y ZWJvb3RfZ3cxKCkgeworLSAgICBpcF9ndzFfZXRoMT0kKHBvZG1hbiBleGVjIG92bi1ndy0xIGlw IC1icmllZiBhZGRyZXNzIHNob3cgZXRoMSB8IGF3ayAne3ByaW50ICQzfScgfCBjdXQgLWQvIC1m MSkKKy0gICAgY2lkcj0kKHBvZG1hbiBleGVjIG92bi1ndy0xIGlwIC1icmllZiBhZGRyZXNzIHNo b3cgZXRoMSB8IGF3ayAne3ByaW50ICQzfScgfCBjdXQgLWQvIC1mMikKKy0gICAgQVNfQk9YKFsk KGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlYm9vdGluZyBvdm4tZ3ctMSB3aXRoICRpcF9ndzFfZXRo MS8kY2lkcl0pCistICAgIG1heF9leHBlY3RlZF9sb3NzMT0kMQorLSAgICBtYXhfZXhwZWN0ZWRf bG9zczI9JDIKKy0gICAgcHJlcGFyZQorLQorLSAgICBwb2RtYW4gc3RvcCAtdCAwIG92bi1ndy0x CistICAgIChleGVjIDM+Ji0gND4mLSA1PiYtIDY+Ji07IHBvZG1hbiBzdGFydCBvdm4tZ3ctMSkK Ky0KKy0gICAgIyBBcyBvdm4tZ3ctMSBnb3Qgc3RvcHBlZCBhbmQgcmVzdGFydGVkLCBpdHMgcG9y dHMgKGFkZGVkIGJ5IGZha2UKKy0gICAgIyBtdWx0aW5vZGUpIGdvdCBkZWxldGVkLiBBZGQgdGhl bSBiYWNrLgorLSAgICBhZGRfcG9ydCBici1vdm4gZXRoMSAkaXBfZ3cxX2V0aDEvJGNpZHIKKy0g ICAgYWRkX3BvcnQgYnItb3ZuLWV4dCBldGgyCistICAgIE1fU1RBUlRfVENQRFVNUFMoW292bi1n dy0xXSwgWy1uZWVpIGV0aDJdLCBbZ3cxXSwgW292bi1ndy0xXSwgWy1uZWVpIGV0aDFdLCBbZ3cx X2V0aDFdLCBbb3ZuLWd3LTFdLCBbLW5lZWkgZXRoMiAtUSBvdXRdLCBbZ3cxX291dF0pCistICAg IGNoZWNrX2xvc3NfYWZ0ZXJfZmxhcCAiZ3cxIiAkbWF4X2V4cGVjdGVkX2xvc3MxCistCistICAg ICMgZ3cxIGRpZWQgPT4gZ3cyIHNob3VsZCBnZW5lcmF0ZSBnYXJwcy4KKy0gICAgY2hlY2tfZ2Fy cHMgImZhbHNlIiAidHJ1ZSIgImZhbHNlIgorLSAgICBjaGVja19wYWNrZXRzICJmYWxzZSIgInRy dWUiICJmYWxzZSIgInRydWUiCistCistICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikg UmVzdGFydGluZyBndzEgb3ZuLXZzd2l0Y2hkIGFmdGVyIHJlYm9vdGluZyBndzEiCistICAgIG1f YXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQg LS1zeXN0ZW0taWQ9b3ZuLWd3LTEKKy0KKy0gICAgIyBXYWl0IHNvbWUgbG9uZyB0aW1lIGJlZm9y ZSByZXN0YXJ0aW5nIG92bi1jb250cm9sbGVyCistICAgIHNsZWVwIDEwCisrICAgIEFTX0JPWChb JChkYXRlICslSDolTTolUy4lMDNOKSBTdGF0aXN0aWNzIGFmdGVyIGZsYXBwaW5nXSkKKysgICAg ZHVtcF9zdGF0aXN0aWNzCisrCisrICAgIGlmIFsgdGVzdCAiJGFjdGlvbiIgPT0gInN0b3BfYmZk IiBdOyB0aGVuCisrICAgICAgICAjIGd3MSBzdGlsbCBhbGl2ZSBhbmQgZ3cyIHRyaWVkIHRvIGNs YWltID0+IGd3MSBzaG91bGQgcmVzdGFydCBnZW5lcmF0aW5nIGdhcnBzLgorKyAgICAgICAgY2hl Y2tfZm9yX25ld19nYXJwcyBndzEgInRydWUiCisrICAgICAgICBjaGVja19mb3JfbmV3X2dhcnBz IGd3MiAiZmFsc2UiCisrICAgICAgICBjaGVja19mb3JfbmV3X2dhcnBzIGd3MyAiZmFsc2UiCisr ICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzEgMDA6MDA6YzA6YTg6MDA6MDEgZjA6 MDA6YzA6YTg6MDA6ZmUgInRydWUiCisrICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBn dzIgMDA6MDA6YzA6YTg6MDA6MDEgZjA6MDA6YzA6YTg6MDA6ZmUgImZhbHNlIgorKyAgICAgICAg Y2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3czIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4 OjAwOmZlICJmYWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGNoMSBmMDow MDpjMDphODowMTpmZSBmMDowMDpjMDphODowMTowMSAidHJ1ZSIKKysgICAgICAgIEFTX0JPWChb JChkYXRlICslSDolTTolUy4lMDNOKSBVbmJsb2NraW5nIGJmZCBvbiBndzFdKQorKyAgICAgICAg bnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IC1hIGxpc3QgcnVsZXNldAor KyAgICAgICAgbnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGRlbGV0ZSB0 YWJsZSBpcCBvdm4tdGVzdAorKyAgICBmaQorIAorLSAgICAjIGd3MiBzaG91bGQgc3RpbGwgYmUg aGFuZGxpbmcgcGFja2V0cyBhcyBPVk4gbm90IHJlc3RhcnRlZCBvbiBndzEKKy0gICAgY2hlY2tf cGFja2V0cyAiZmFsc2UiICJ0cnVlIiAiZmFsc2UiICJ0cnVlIgorKyAgICBpZiBbIHRlc3QgIiRh Y3Rpb24iID09ICJraWxsX2d3MiIgXTsgdGhlbgorKyAgICAgICAgIyBndzEgc3RpbGwgYWxpdmUs IGJ1dCBndzIgZGlkIG5vdCB0cnkgdG8gY2xhaW0gPT4gZ3cxIHNob3VsZCBub3QgZ2VuZXJhdGUg bmV3IGdhcnBzLgorKyAgICAgICAgY2hlY2tfZm9yX25ld19nYXJwcyBndzEgImZhbHNlIgorKyAg ICAgICAgY2hlY2tfZm9yX25ld19nYXJwcyBndzIgImZhbHNlIgorKyAgICAgICAgY2hlY2tfZm9y X25ld19nYXJwcyBndzMgImZhbHNlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMg Z3cxIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJ0cnVlIgorKyAgICAgICAg Y2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3cyIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4 OjAwOmZlICJmYWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MyAwMDow MDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAiZmFsc2UiCisrICAgICAgICBjaGVja19m b3JfbmV3X2VjaG9fcGt0cyBjaDEgZjA6MDA6YzA6YTg6MDE6ZmUgZjA6MDA6YzA6YTg6MDE6MDEg InRydWUiCisrICAgICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVzdGFydGlu ZyBndzIgb3ZuLXZzd2l0Y2hkXSkKKysgICAgICAgIG1fYXMgb3ZuLWd3LTIgL3Vzci9zaGFyZS9v cGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTIKKysK KysgICAgICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3MiBv dm4tY29udHJvbGxlcl0pCisrICAgICAgICBtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3ZuL3Nj cmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJPTExFUl9TU0xfQVJHU30KKysg ICAgZmkKKyAKKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3 MSBvdm4tY29udHJvbGxlciBhZnRlciByZWJvb3RpbmcgZ3cxIgorLSAgICBtX2FzIG92bi1ndy0x IC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJP TExFUl9TU0xfQVJHU30KKysgICAgaWYgWyB0ZXN0ICIkYWN0aW9uIiA9PSAia2lsbF9ndzEiIF07 IHRoZW4KKysgICAgICAgICMgZ3cxIGRpZWQgPT4gZ3cyIHNob3VsZCBnZW5lcmF0ZSBnYXJwcy4K KysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZ2FycHMgZ3cxICJmYWxzZSIKKysgICAgICAgIGNoZWNr X2Zvcl9uZXdfZ2FycHMgZ3cyICJ0cnVlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19nYXJwcyBn dzMgImZhbHNlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3cxIDAwOjAwOmMw OmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJmYWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9u ZXdfZWNob19wa3RzIGd3MiAwMDowMDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAidHJ1 ZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MyAwMDowMDpjMDphODowMDow MSBmMDowMDpjMDphODowMDpmZSAiZmFsc2UiCisrICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9f cGt0cyBjaDEgZjA6MDA6YzA6YTg6MDE6ZmUgZjA6MDA6YzA6YTg6MDE6MDEgInRydWUiCisrICAg ICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVzdGFydGluZyBndzEgb3ZuLXZz d2l0Y2hkXSkKKysgICAgICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9z Y3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTEKKysKKysgICAgICAgIEFT X0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3MSBvdm4tY29udHJvbGxl cl0pCisrICAgICAgICBtX2FzIG92bi1ndy0xIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0 bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJPTExFUl9TU0xfQVJHU30KKysgICAgZmkKKyAKKyAg ICAgIyBUaGUgbmV0d29yayBpcyBub3cgcmVzdG9yZWQgPT4gcGFja2V0cyBzaG91bGQgZ28gdGhy b3VnaCBndzEgYW5kIHJlYWNoIGNoYXNzaXMtMS4KKy0gICAgY2hlY2tfcGFja2V0cyAidHJ1ZSIg ImZhbHNlIiAiZmFsc2UiICJ0cnVlIgorLSAgICBmaW5hbF9jaGVjayAia2lsbF9ndzEiICRsb3N0 ICRtYXhfZXhwZWN0ZWRfbG9zczIKKy19CistCistY2hlY2tfY29tcHV0ZV9yZXN0YXJ0KCkgewor LSAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgS2lsbGluZyBvdm4tY2hhc3Npcy0x IG92bi1jb250cm9sbGVyIGFuZCBvdnMtdnN3aXRjaGRdKQorLSAgICBtYXhfZXhwZWN0ZWRfbG9z cz0kMQorLSAgICBwcmVwYXJlCistCistICAgICMgS2lsbCBvdm4tY2hhc3Npcy0xCistICAgIGVj aG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgS2lsbGluZyBjaGFzc2lzLTEiCistICAgIG9uX2V4 aXQgJ21fYXMgb3ZuLWNoYXNzaXMtMSAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3Zz LWN0bCBzdGF0dXMgfHwKKy0gICAgICAgICAgICAgbV9hcyBvdm4tY2hhc3Npcy0xIC91c3Ivc2hh cmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0YXJ0IC0tc3lzdGVtLWlkPW92bi1jaGFz c2lzLTEnCistICAgIG9uX2V4aXQgJ21fYXMgb3ZuLWNoYXNzaXMtMSAvdXNyL3NoYXJlL292bi9z Y3JpcHRzL292bi1jdGwgc3RhdHVzX2NvbnRyb2xsZXIgfHwKKy0gICAgICAgICAgICAgbV9hcyBv dm4tY2hhc3Npcy0xIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9s bGVyICR7Q09OVFJPTExFUl9TU0xfQVJHU30nCistCistICAgIG1fYXMgb3ZuLWNoYXNzaXMtMSBr aWxsIC05ICQobV9hcyBvdm4tY2hhc3Npcy0xIGNhdCAvcnVuL292bi9vdm4tY29udHJvbGxlci5w aWQpCistICAgIG1fYXMgb3ZuLWNoYXNzaXMtMSBraWxsIC05ICQobV9hcyBvdm4tY2hhc3Npcy0x IGNhdCAvcnVuL29wZW52c3dpdGNoL292cy12c3dpdGNoZC5waWQpCistICAgIG1fYXMgb3ZuLWNo YXNzaXMtMSBraWxsIC05ICQobV9hcyBvdm4tY2hhc3Npcy0xIGNhdCAvcnVuL29wZW52c3dpdGNo L292c2RiLXNlcnZlci5waWQpCistCistICAgICMgTm93IHJlc3RhcnQgY2hhc3Npcy0xCistICAg IGZsYXBfY291bnQ9JChtX2FzIG92bi1ndy0yIG92cy12c2N0bCBnZXQgaW50ZXJmYWMgJGZyb21f Z3cyX3RvX2NoMSBiZmRfc3RhdHVzIHwgc2VkICdzLy4qZmxhcF9jb3VudD1cIlwoW1swLTldXSpc KS4qL1wxL2cnKQorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlc3RhcnRpbmcg b3ZuLWNoYXNzaXMtMSBvdm4tdnN3aXRjaGQuIgorLSAgICBtX2FzIG92bi1jaGFzc2lzLTEgL3Vz ci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3Zu LWNoYXNzaXMtMQorLQorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRpbmcg Zm9yIGZsYXAgY291bnQgYmV0d2VlbiBndy0xIGFuZCBjaGFzc2lzLTEgdG8gaW5jcmVhc2UiCist ICAgIE9WU19XQUlUX1VOVElMKFsKKy0gICAgICAgIG5ld19mbGFwX2NvdW50PSQobV9hcyBvdm4t Z3ctMSBvdnMtdnNjdGwgZ2V0IGludGVyZmFjICRmcm9tX2d3MV90b19jaDEgYmZkX3N0YXR1cyB8 IHNlZCAncy8uKmZsYXBfY291bnQ9XCJcKFtbMC05XV0qXCkuKi9cMS9nJykKKy0gICAgICAgIGVj aG8gIkNvbXBhcmluZyAkbmV3X2ZsYXBfY291bnQgdmVyc3VzICRmbGFwX2NvdW50IgorLSAgICAg ICAgdGVzdCAiJG5ld19mbGFwX2NvdW50IiAtZ3QgIiQoKGZsYXBfY291bnQpKSIKKy0gICAgXSkK Ky0KKy0gICAgd2FpdF9iZmRfdXAgb3ZuLWNoYXNzaXMtMSAkZnJvbV9jaDFfdG9fZ3cxCistCist ICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVzdGFydGluZyBvdm4tY2hhc3Npcy0x IG92bi1jb250cm9sbGVyLiIKKy0gICAgbV9hcyBvdm4tY2hhc3Npcy0xIC91c3Ivc2hhcmUvb3Zu L3NjcmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJPTExFUl9TU0xfQVJHU30K Ky0KKy0gICAgIyBXYWl0IGEgbG9uZyB0aW1lIHRvIGNhdGNoIGxvc3NlcworLSAgICBzbGVlcCA1 CistICAgIGZpbmFsX2NoZWNrICJjb21wdXRlIiAwICRtYXhfZXhwZWN0ZWRfbG9zcworKyAgICBj aGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzEgMDA6MDA6YzA6YTg6MDA6MDEgZjA6MDA6YzA6YTg6 MDA6ZmUgInRydWUiCisrICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MiAwMDowMDpjMDph ODowMDowMSBmMDowMDpjMDphODowMDpmZSAiZmFsc2UiCisrICAgIGNoZWNrX2Zvcl9uZXdfZWNo b19wa3RzIGd3MyAwMDowMDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAiZmFsc2UiCisr ICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGNoMSBmMDowMDpjMDphODowMTpmZSBmMDowMDpj MDphODowMTowMSAidHJ1ZSIKKysgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFN0 YXRpc3RpY3MgYWZ0ZXIgbmV0d29yayByZXN0b3JlZF0pCisrICAgIGR1bXBfc3RhdGlzdGljcwor KyAgICBzdG9wX3NlbmRpbmdfYmFja2dyb3VuZF9wYWNrZXRzCisgfQorIAorIHN0YXJ0X3RjcGR1 bXAKKy1lY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFNlbmRpbmcgcGFja2V0IGZyb20gaHYx LXZpZjEoaW5zaWRlMSkgdG8gZXh0MSIKKytBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikg U2VuZGluZyBwYWNrZXQgZnJvbSBodjEtdmlmMShpbnNpZGUxKSB0byBleHQxXSkKKyBNX05TX0NI RUNLX0VYRUMoW292bi1jaGFzc2lzLTFdLCBbaHYxLXZpZjFdLCBbcGluZyAtYzMgLXEgLWkgMC4x IDE5Mi4xNjguMC4xIHwgRk9STUFUX1BJTkddLAorIFswXSwgW2RubAorIDMgcGFja2V0cyB0cmFu c21pdHRlZCwgMyByZWNlaXZlZCwgMCUgcGFja2V0IGxvc3MsIHRpbWUgMG1zCitAQCAtMzYzMSw3 ICszNDMzLDcgQEAgTV9OU19DSEVDS19FWEVDKFtvdm4tY2hhc3Npcy0xXSwgW2h2MS12aWYxXSwg W3BpbmcgLWMzIC1xIC1pIDAuMSAxOTIuMTY4LjAuMSB8IEYKKyBzdG9wX3RjcGR1bXAKKyAKKyAj IEl0IHNob3VsZCBoYXZlIGdvbmUgdGhyb3VnaCBndzEgYW5kIG5vdCBndzIKKy1lY2hvICIkKGRh dGUgKyVIOiVNOiVTLiUwM04pIENoZWNraW5nIGl0IHdlbnQgdGhyb3VnaCBndzEgYW5kIG5vdCBn dzIiCisrQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIENoZWNraW5nIGl0IHdlbnQgdGhy b3VnaCBndzEgYW5kIG5vdCBndzJdKQorIEFUX0NIRUNLKFtjYXQgZ3cyLnRjcGR1bXAgfCBncmVw ICJJQ01QIGVjaG8iXSwgWzFdLCBbZG5sCisgXSkKKyAKK0BAIC0zNjQ0LDI5ICszNDQ2LDE3IEBA IGYwOjAwOmMwOmE4OjAwOmZlID4gMDA6MDA6YzA6YTg6MDA6MDEsIGV0aGVydHlwZSBJUHY0ICgw eDA4MDApLCBsZW5ndGggOTg6IDE5Mi4xCisgMDA6MDA6YzA6YTg6MDA6MDEgPiBmMDowMDpjMDph ODowMDpmZSwgZXRoZXJ0eXBlIElQdjQgKDB4MDgwMCksIGxlbmd0aCA5ODogMTkyLjE2OC4wLjEg PiAxOTIuMTY4LjEuMTogSUNNUCBlY2hvIHJlcGx5LAorIF0pCisgCistIyBXZSBzdG9wIGJmZCBi ZXR3ZWVuIGd3MSAmIGd3MiwgYnV0IGtlZXAgZ3cxICYgZ3cyIHJ1bm5pbmcuIFdlIHNob3VsZCBu b3QgbG9zZSBwYWNrZXRzLgorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX2Jm ZF9zdG9wIDEgMQorKyMgV2Ugc3RvcCBiZmQgYmV0d2VlbiBndzEgJiBndzIsIGJ1dCBrZWVwIGd3 MSAmIGd3MiBydW5uaW5nLgorK2NoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyICJz dG9wX2JmZCIKKyAKKyAjIFdlIHNpbXVsYXRlIGRlYXRoIG9mIGd3Mi4gSXQgc2hvdWxkIG5vdCBo YXZlIGFueSBlZmZlY3QuCistY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9ndzJfa2ls bF9ndzIgMSAxCistCistIyBXZSBzaW11bGF0ZSBvdnMgdXBkYXRlIG9uIGd3MS4gV2hlbiBvdnMg aXMgc3RvcHBlZCwgZmxvd3Mgc2hvdWxkIHN0aWxsIGJlIGhhbmRsZWQgYnkgS2VybmVsIGRhdGFw YXRoLgorLSMgV2hlbiBPVlMgaXMgcmVzdGFydGVkLCBCRkQgc2hvdWxkIGdvIGRvd24gaW1tZWRp YXRlbHksIGFuZCBndzIgd2lsbCBzdGFydCBoYW5kbGluZyBwYWNrZXRzLgorLSMgVGhlcmUgd2ls bCBiZSBwYWNrZXQgbG9zc2VzIGFzIGd3MiB3aWxsIHVzdWFsbHkgc2VlIEJGRCBmcm9tIGd3MSB1 cCAoYW5kIGhlbmNlIHJlbGFzZSBwb3J0KSBiZWZvcmUgZ3cxIHNlZXMKKy0jIEJGRCB1cCAoYW5k IGNsYWltIHBvcnQpLgorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX3VwZGF0 ZV9vdnMgMjAgMQorLQorLSMgV2Ugc2ltdWxhdGUgcmVzdGFydCBvZiBib3RoIE9WUyAmIE9WTiBn dzEuIGd3MiBzaG91bGQgdGFrZSBvdmVyLgorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9h bmRfZ3cyX2tpbGxfZ3cxIDQwIDIwCisrY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9n dzIgImtpbGxfZ3cyIgorIAorICMgV2Ugc2ltdWxhdGUgZGVhdGggb2YgZ3cxLiBndzIgc2hvdWxk IHRha2Ugb3Zlci4KKy1jaGVja19taWdyYXRpb25fYmV0d2Vlbl9ndzFfYW5kX2d3Ml9yZWJvb3Rf Z3cxIDQwIDIwCistCistIyBXZSBzaW11bGF0ZSByZXN0YXJ0IG9mIG92bi1jaGFzc2lzLTEuIFdl IGV4cGVjdCBmb3IgfjQgc2VjIGxvc3NlcyBhcyB3ZSB3YWl0IGZvciBiZmQgdXAgYmVmb3JlIHN0 YXJ0aW5nCistIyBvdm4tY29udHJvbGxlciAoMSBzZWMgdG8gcmVzdGFydCBvdnMsIDIgc2VjIGZv ciBiZmQgdG8gZ28gdXAsIDEgc2VjIHRvIGRldGVjdCBpdCkuCistY2hlY2tfY29tcHV0ZV9yZXN0 YXJ0IDQwCisrY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9ndzIgImtpbGxfZ3cxIgor IAorIEFUX0NMRUFOVVAKKytdKQorIAorIEFUX1NFVFVQKFtvdm4gbXVsdGlub2RlIGJncCBMMiBF VlBOXSkKKyBjaGVja19mYWtlX211bHRpbm9kZV9zZXR1cAorQEAgLTM4MzcsMTIgKzM2MjcsMTcg QEAgY2hlY2sgbXVsdGlub2RlX25iY3RsIC0td2FpdD1odiBcCisgICAgIC0tIGFjbC1hZGQgbHMg ZnJvbS1scG9ydCAxMDAgImlwIiBhbGxvdy1yZWxhdGVkIFwKKyAgICAgLS0gYWNsLWFkZCBscyB0 by1scG9ydCAxMDAgImlwIiBhbGxvdy1yZWxhdGVkCisgCistZG5sIFZlcmlmeSBmYWJyaWMtdG8t d29ya2xvYWQgcGluZ3Mgc3RpbGwgd29yayB3aXRoIHN0YXRlZnVsIEFDTC4KKytkbmwgVmVyaWZ5 IGZhYnJpYy10by13b3JrbG9hZCBwaW5ncyBzdGlsbCB3b3JrIHdpdGggc3RhdGVmdWwgQUNMIChi b3RoIGRpcmVjdGlvbnMpLgorIE9WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0xIGlwIG5ldG5z IGV4ZWMgZmFicmljX3dvcmtsb2FkIHBpbmcgICAgLVcgMSAtYyAxIDEwLjAuMC4xMV0pCisgT1ZT X1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbmV0bnMgZXhlYyBmYWJyaWNfd29ya2xvYWQg cGluZyAtNiAtVyAxIC1jIDEgMTA6OjExXSkKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ct MiBpcCBuZXRucyBleGVjIGZhYnJpY193b3JrbG9hZCBwaW5nICAgIC1XIDEgLWMgMSAxMC4wLjAu MTJdKQorIE9WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0yIGlwIG5ldG5zIGV4ZWMgZmFicmlj X3dvcmtsb2FkIHBpbmcgLTYgLVcgMSAtYyAxIDEwOjoxMl0pCisgCisrT1ZTX1dBSVRfVU5USUwo W21fYXMgb3ZuLWd3LTEgaXAgbmV0bnMgZXhlYyB3MSBwaW5nICAgIC1XIDEgLWMgMSAxMC4wLjAu NDFdKQorK09WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0xIGlwIG5ldG5zIGV4ZWMgdzEgcGlu ZyAtNiAtVyAxIC1jIDEgMTA6OjQxXSkKKytPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMiBp cCBuZXRucyBleGVjIHcyIHBpbmcgICAgLVcgMSAtYyAxIDEwLjAuMC40Ml0pCisrT1ZTX1dBSVRf VU5USUwoW21fYXMgb3ZuLWd3LTIgaXAgbmV0bnMgZXhlYyB3MiBwaW5nIC02IC1XIDEgLWMgMSAx MDo6NDJdKQorKworIGRubCBBbHNvIGFkZCBhIGxvYWQgYmFsYW5jZXIgYW5kIHZlcmlmeSBwaW5n cyBzdGlsbCB3b3JrLgorIGNoZWNrIG11bHRpbm9kZV9uYmN0bCAtLXdhaXQ9aHYgXAorICAgICAt LSBsYi1hZGQgbGIxIDEwLjAuMC4xMDA6ODAgMTAuMC4wLjExOjgwIFwKK0BAIC0zODUzLDYgKzM2 NDgsMTEgQEAgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbmV0bnMgZXhlYyBmYWJy aWNfd29ya2xvYWQgcGluZyAtNiAtVyAxIC1jIDEgMTAKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBv dm4tZ3ctMiBpcCBuZXRucyBleGVjIGZhYnJpY193b3JrbG9hZCBwaW5nICAgIC1XIDEgLWMgMSAx MC4wLjAuMTJdKQorIE9WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0yIGlwIG5ldG5zIGV4ZWMg ZmFicmljX3dvcmtsb2FkIHBpbmcgLTYgLVcgMSAtYyAxIDEwOjoxMl0pCisgCisrT1ZTX1dBSVRf VU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbmV0bnMgZXhlYyB3MSBwaW5nICAgIC1XIDEgLWMgMSAx MC4wLjAuNDFdKQorK09WU19XQUlUX1VOVElMKFttX2FzIG92bi1ndy0xIGlwIG5ldG5zIGV4ZWMg dzEgcGluZyAtNiAtVyAxIC1jIDEgMTA6OjQxXSkKKytPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4t Z3ctMiBpcCBuZXRucyBleGVjIHcyIHBpbmcgICAgLVcgMSAtYyAxIDEwLjAuMC40Ml0pCisrT1ZT X1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTIgaXAgbmV0bnMgZXhlYyB3MiBwaW5nIC02IC1XIDEg LWMgMSAxMDo6NDJdKQorKworIGRubCBDbGVhbnVwIEFDTCBhbmQgTEIuCisgY2hlY2sgbXVsdGlu b2RlX25iY3RsIC0td2FpdD1odiBcCisgICAgIC0tIGFjbC1kZWwgbHMgXAorZGlmZiAtLWdpdCBh L3Rlc3RzL292bi1jb250cm9sbGVyLXZ0ZXAuYXQgYi90ZXN0cy9vdm4tY29udHJvbGxlci12dGVw LmF0CitpbmRleCAzNTQwMmIwMGFhLi5mZmQzOTRhOTkyIDEwMDY0NAorLS0tIGEvdGVzdHMvb3Zu LWNvbnRyb2xsZXItdnRlcC5hdAorKysrIGIvdGVzdHMvb3ZuLWNvbnRyb2xsZXItdnRlcC5hdAor QEAgLTYzNSw2ICs2MzUsMTAgQEAgQVRfQ0hFQ0soW292cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWlu dCB0YWJsZT1PRlRBQkxFX1BIWV9UT19MT0cgfCBncmVwICdwcmlvcml0eT0KKyBwcmlvcml0eT0x MTAsdHVuX2lkPTB4PD4saW5fcG9ydD08PiBhY3Rpb25zPW1vdmU6TlhNX05YX1RVTl9JRFtbMC4u MjNdXS0+T1hNX09GX01FVEFEQVRBW1swLi4yM11dLGxvYWQ6MHg8Pi0+TlhNX05YX1JFRzE0W1sw Li4xNF1dLGxvYWQ6MHg8Pi0+TlhNX05YX1JFRzEwW1sxXV0scmVzdWJtaXQoLE9GVEFCTEVfTE9H X0lOR1JFU1NfUElQRUxJTkUpCisgXSkKKyAKKysjIFNraXAgcHJvY2Vzc2luZyBJQ01QICJwYWNr ZXQgdG9vIGJpZyIgZXJyb3JzIGluIHRoaXMgdGFibGUgaWYgdGhlIHBhY2tldCBjYW1lIGZyb20g YSBWVEVQIHR1bm5lbC4KKytBVF9DSEVDSyhbb3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IHRh YmxlPU9GVEFCTEVfUEhZX1RPX0xPRyB8IFwKKysgICAgICAgICAgZ3JlcCAtRSAnaWNtcF90eXBl PTMsaWNtcF9jb2RlPTR8aWNtcF90eXBlPTIsaWNtcF9jb2RlPTAnXSwgWzFdLCBbXSkKKysKKyBP Vk5fQ09OVFJPTExFUl9WVEVQX1NUT1AoW10sIHZ0ZXAxKQorIE9WTl9DTEVBTlVQKFtodjFdKQor IEFUX0NMRUFOVVAKK2RpZmYgLS1naXQgYS90ZXN0cy9vdm4tY29udHJvbGxlci5hdCBiL3Rlc3Rz L292bi1jb250cm9sbGVyLmF0CitpbmRleCBjOThkZTliYzQ2Li4yZmNlMTllN2JhIDEwMDY0NAor LS0tIGEvdGVzdHMvb3ZuLWNvbnRyb2xsZXIuYXQKKysrKyBiL3Rlc3RzL292bi1jb250cm9sbGVy LmF0CitAQCAtOTYyLDcgKzk2Miw3IEBAIEFUX0NMRUFOVVAKKyBdKQorIAorIE9WTl9GT1JfRUFD SF9OT1JUSEQoWworLUFUX1NFVFVQKFtvdm4tY29udHJvbGxlciAtIG92biBJUCBjaGVjayBwYXRo IHBvcnRzXSkKKytBVF9TRVRVUChbb3ZuLWNvbnRyb2xsZXIgLSBvdm4gSVAgY2hlY2sgcGF0Y2gg cG9ydHNdKQorIEFUX0tFWVdPUkRTKFtvdm4taXAtcGF0Y2gtcG9ydHNdKQorIAorIG92bl9zdGFy dAorQEAgLTEwMDMsMTAgKzEwMDMsMTEwIEBAIGNoZWNrIGFzIGh2MSBvdm4tYXBwY3RsIC10IG92 bi1jb250cm9sbGVyIGluYy1lbmdpbmUvY2xlYXItc3RhdHMKKyBjaGVjayBvdm4tbmJjdGwgLS13 YWl0PWh2IGxzcC1zZXQtdHlwZSBsczAtcnAgbG9jYWxuZXQKKyBjaGVja19jb250cm9sbGVyX2Vu Z2luZV9zdGF0cyBodjEgcGZsb3dfb3V0cHV0IHJlY29tcHV0ZSBub2NvbXB1dGUKKyAKKysjIENo ZWNrIHRoYXQgYWRkaW5nIGEgbmV3IHBvcnQgd2l0aCBhIG5vbi1kZWZhdWx0IHR5cGUgZG9lcyBu b3QgdHJpZ2dlcgorKyMgYSBwZmxvd19vdXRwdXQgcmVjb21wdXRlLgorK2NoZWNrIGFzIGh2MSBv dm4tYXBwY3RsIC10IG92bi1jb250cm9sbGVyIGluYy1lbmdpbmUvY2xlYXItc3RhdHMKKytjaGVj ayBvdm4tbmJjdGwgLS13YWl0PWh2IGxzcC1hZGQgbHMwIGxzcC1yZW1vdGUgLS0gbHNwLXNldC10 eXBlIGxzcC1yZW1vdGUgcmVtb3RlCisrY2hlY2tfY29udHJvbGxlcl9lbmdpbmVfc3RhdHMgaHYx IHBmbG93X291dHB1dCBub3JlY29tcHV0ZSBjb21wdXRlCisrCisrIyBDaGVjayB0aGF0IGRlbGV0 aW5nIGEgcG9ydCB3aXRoIGEgbm9uLWRlZmF1bHQgdHlwZSBkb2VzIG5vdCB0cmlnZ2VyCisrIyBh IHBmbG93X291dHB1dCByZWNvbXB1dGUuCisrY2hlY2sgYXMgaHYxIG92bi1hcHBjdGwgLXQgb3Zu LWNvbnRyb2xsZXIgaW5jLWVuZ2luZS9jbGVhci1zdGF0cworK2NoZWNrIG92bi1uYmN0bCAtLXdh aXQ9aHYgbHNwLWRlbCBsc3AtcmVtb3RlCisrY2hlY2tfY29udHJvbGxlcl9lbmdpbmVfc3RhdHMg aHYxIHBmbG93X291dHB1dCBub3JlY29tcHV0ZSBjb21wdXRlCisrCisgT1ZOX0NMRUFOVVAoW2h2 MV0pCisgQVRfQ0xFQU5VUAorIF0pCisgCisrT1ZOX0ZPUl9FQUNIX05PUlRIRChbCisrQVRfU0VU VVAoW292bi1jb250cm9sbGVyIC0gbG9jYWxuZXQgcG9ydCBjaGFuZ2UgYW5kIGNoYXNzaXNyZWRp cmVjdCBicmlkZ2VkIHJlZGlyZWN0XSkKKytBVF9LRVlXT1JEUyhbb3ZuLWxvY2FsbmV0LWNyLWJy aWRnZWRdKQorKworK292bl9zdGFydAorKworK25ldF9hZGQgbjEKKysKKytzaW1fYWRkIGh2MQor K2FzIGh2MQorK2NoZWNrIG92cy12c2N0bCBhZGQtYnIgYnItcGh5cworK2NoZWNrIG92cy12c2N0 bCBzZXQgb3BlbiAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXBoeXM6YnItcGh5 cworK292bl9hdHRhY2ggbjEgYnItcGh5cyAxOTIuMTY4LjAuMQorKworK3NpbV9hZGQgaHYyCisr YXMgaHYyCisrY2hlY2sgb3ZzLXZzY3RsIGFkZC1iciBici1waHlzCisrY2hlY2sgb3ZzLXZzY3Rs IHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cGh5czpici1waHlz Cisrb3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4yCisrCisrZG5sIENyZWF0ZSB0aGUg ZnVsbCB0b3BvbG9neSB3aXRoIGxvY2FsbmV0IHBvcnRzLCByb3V0ZXIsCisrZG5sIGdhdGV3YXkg Y2hhc3NpcywgYW5kIGJyaWRnZWQgcmVkaXJlY3QuICBCaW5kIFZJRnMgc28gdGhlCisrZG5sIGRh dGFwYXRocyBhcmUgbG9jYWwuCisrY2hlY2sgb3ZuLW5iY3RsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gbHMt YWRkIGxzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorKyAgICAgIC0tIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBsczEgbG4xIHBo eXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAtLSBzZXQg bG9naWNhbF9zd2l0Y2hfcG9ydCBsbjEgdGFnX3JlcXVlc3Q9MTAxICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKysgICAgICAtLSBsc3AtYWRkIGxzMSBscDEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgICAgLS0gbHNwLXNldC1h ZGRyZXNzZXMgbHAxICIwMDowMDowMDowMDowMDowMSAxOTIuMTY4LjEuMTAiICAgICAgICAgICAg ICBcCisrICAgICAgLS0gbHNwLWFkZCBsczEgbHAyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgIC0tIGxzcC1zZXQtYWRkcmVz c2VzIGxwMiAiMDA6MDA6MDA6MDA6MDA6MDIgMTkyLjE2OC4xLjExIiAgICAgICAgICAgICAgXAor KyAgICAgIC0tIGxzcC1hZGQtcm91dGVyLXBvcnQgbHMxIGxzMS10by1yb3V0ZXIgcm91dGVyLXRv LWxzMSAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGxzLWFkZCBscy11bmRlcmxheSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAg ICAtLSBsc3AtYWRkLWxvY2FsbmV0LXBvcnQgbHMtdW5kZXJsYXkgbG4tdW5kZXJsYXkgcGh5cyAg ICAgICAgICAgICAgICAgICAgXAorKyAgICAgICAgLS0gc2V0IGxvZ2ljYWxfc3dpdGNoX3BvcnQg bG4tdW5kZXJsYXkgdGFnX3JlcXVlc3Q9MTAwMCAgICAgICAgICAgICAgICBcCisrICAgICAgLS0g bHNwLWFkZC1yb3V0ZXItcG9ydCBscy11bmRlcmxheSB1bmRlcmxheS10by1yb3V0ZXIgcm91dGVy LXRvLXVuZGVybGF5IFwKKysgICAgLS0gbHItYWRkIGxyMSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgIC0tIGxycC1h ZGQgbHIxIHJvdXRlci10by1sczEgMDA6MDA6MDE6MDE6MDI6MDMgMTkyLjE2OC4xLjEvMjQgICAg ICAgICAgICBcCisrICAgICAgLS0gbHJwLWFkZCBscjEgcm91dGVyLXRvLXVuZGVybGF5IDAwOjAw OjAxOjAxOjAyOjA3IDE3Mi4zMS4wLjEvMjQgICAgICAgIFwKKysgICAgICAgIC0tIGxycC1zZXQt Z2F0ZXdheS1jaGFzc2lzIHJvdXRlci10by11bmRlcmxheSBodjEgICAgICAgICAgICAgICAgICAg ICAgXAorKyAgICAgICAgLS0gbHJwLXNldC1yZWRpcmVjdC10eXBlIHJvdXRlci10by11bmRlcmxh eSBicmlkZ2VkCisrCisrY2hlY2sgYXMgaHYxIG92cy12c2N0bCBhZGQtcG9ydCBici1pbnQgdmlm MCBcCisrICAgIC0tIHNldCBJbnRlcmZhY2UgdmlmMCBleHRlcm5hbF9pZHM6aWZhY2UtaWQ9bHAx CisrY2hlY2sgYXMgaHYyIG92cy12c2N0bCBhZGQtcG9ydCBici1pbnQgdmlmMSBcCisrICAgIC0t IHNldCBJbnRlcmZhY2UgdmlmMSBleHRlcm5hbF9pZHM6aWZhY2UtaWQ9bHAyCisrCisrd2FpdF9m b3JfcG9ydHNfdXAKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKysKKytkbmwgVmVy aWZ5IGluaXRpYWwgc3RhdGU6IGh2MiBoYXMgdGhlIENSIGJyaWRnZWQgcmVkaXJlY3QgZmxvdy4K Kytyb3V0ZXJfZHBfa2V5PSQocHJpbnRmICIleCIgJChmZXRjaF9jb2x1bW4gZGF0YXBhdGggdHVu bmVsX2tleSBleHRlcm5hbF9pZHM6bmFtZT1scjEpKQorK2NyX2tleT0kKHByaW50ZiAiJXgiICQo ZmV0Y2hfY29sdW1uIHBvcnRfYmluZGluZyB0dW5uZWxfa2V5IGxvZ2ljYWxfcG9ydD1jci1yb3V0 ZXItdG8tdW5kZXJsYXkpKQorK0FUX0NIRUNLKFthcyBodjIgb3ZzLW9mY3RsIGR1bXAtZmxvd3Mg YnItaW50IHRhYmxlPU9GVEFCTEVfTE9DQUxfT1VUUFVUIHwgZ3JlcCAtcSAicmVnMTU9MHgke2Ny X2tleX0sbWV0YWRhdGE9MHgke3JvdXRlcl9kcF9rZXl9Il0pCisrCisrZG5sIERlbGV0ZSB0aGUg bG9jYWxuZXQgcG9ydCBvbiBscy11bmRlcmxheS4KKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2 IGxzcC1kZWwgbG4tdW5kZXJsYXkKKytBVF9DSEVDSyhbYXMgaHYyIG92cy1vZmN0bCBkdW1wLWZs b3dzIGJyLWludCB0YWJsZT1PRlRBQkxFX0xPQ0FMX09VVFBVVCB8IGdyZXAgInJlZzE1PTB4JHtj cl9rZXl9LG1ldGFkYXRhPTB4JHtyb3V0ZXJfZHBfa2V5fSJdLCBbMV0pCisrCisrZG5sIFByZS1j cmVhdGUgdGhlIHBhdGNoIHBvcnQgdGhhdCB0aGUgbmV3IGxvY2FsbmV0IHBvcnQKKytkbmwgd291 bGQgbmVlZC4gIFRoaXMgd2F5LCB3aGVuIHRoZSBsb2NhbG5ldCBwb3J0IGJpbmRpbmcgYXJyaXZl cywKKytkbmwgcGF0Y2hfcnVuKCkgc2VlcyB0aGUgcGF0Y2ggcG9ydCBhbHJlYWR5IGV4aXN0cyBh bmQgbm9uX3ZpZl9kYXRhCisrZG5sIGRvZXMgTk9UIGNoYW5nZSwgZm9yY2luZyBwZmxvd19vdXRw dXQgdG8gaGFuZGxlIHRoZQorK2RubCBjaGFuZ2UgaW5jcmVtZW50YWxseSBpbnN0ZWFkIG9mIHJl Y29tcHV0aW5nLgorK2NoZWNrIGFzIGh2MiBvdnMtdnNjdGwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorKyAgICAtLSBhZGQtcG9ydCBici1pbnQgcGF0Y2gtYnItaW50LXRv LWxuLXVuZGVybGF5ICAgICAgICAgXAorKyAgICAtLSBzZXQgSW50ZXJmYWNlIHBhdGNoLWJyLWlu dC10by1sbi11bmRlcmxheSAgICAgICAgICAgXAorKyAgICAgICB0eXBlPXBhdGNoIG9wdGlvbnM6 cGVlcj1wYXRjaC1sbi11bmRlcmxheS10by1ici1pbnQKKytjaGVjayBhcyBodjIgb3ZzLXZzY3Rs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gYWRkLXBvcnQg YnItcGh5cyBwYXRjaC1sbi11bmRlcmxheS10by1ici1pbnQgICAgICAgIFwKKysgICAgLS0gc2V0 IEludGVyZmFjZSBwYXRjaC1sbi11bmRlcmxheS10by1ici1pbnQgICAgICAgICAgIFwKKysgICAg ICAgdHlwZT1wYXRjaCBvcHRpb25zOnBlZXI9cGF0Y2gtYnItaW50LXRvLWxuLXVuZGVybGF5Cisr Y2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCisrCisrZG5sIFJlLWFkZCB0aGUgbG9jYWxu ZXQgcG9ydC4gIFRoZSBwYXRjaCBwb3J0IGFscmVhZHkgZXhpc3RzLAorK2RubCBzbyBub25fdmlm X2RhdGEgc2hvdWxkIG5vdCBjaGFuZ2UsIGFuZCBwZmxvd19vdXRwdXQgc2hvdWxkCisrZG5sIGJl IGhhbmRsZWQgaW5jcmVtZW50YWxseS4KKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGxzcC1hZGQtbG9jYWxuZXQt cG9ydCBscy11bmRlcmxheSBsbi11bmRlcmxheSBwaHlzICAgXAorKyAgICAtLSBzZXQgbG9naWNh bF9zd2l0Y2hfcG9ydCBsbi11bmRlcmxheSB0YWdfcmVxdWVzdD0xMDAwCisrCisrZG5sIFZlcmlm eSB0aGUgQ1IgYnJpZGdlZCByZWRpcmVjdCBmbG93IGlzIGJhY2suCisrT1ZTX1dBSVRfVU5USUwo W2FzIGh2MiBvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1pbnQgdGFibGU9T0ZUQUJMRV9MT0NBTF9P VVRQVVQgfCBncmVwIC1xICJyZWcxNT0weCR7Y3Jfa2V5fSxtZXRhZGF0YT0weCR7cm91dGVyX2Rw X2tleX0iXSkKKysKKytPVk5fQ0xFQU5VUChbaHYxXSwgW2h2Ml0pCisrQVRfQ0xFQU5VUAorK10p CisrCisgQVRfU0VUVVAoW292bi1jb250cm9sbGVyIC0gSS1QIGZvciBhZGRyZXNzIHNldCB1cGRh dGU6IG5vIGNvbmp1bmN0aW9uXSkKKyBBVF9LRVlXT1JEUyhbYXMtaS1wXSkKKyAKK2RpZmYgLS1n aXQgYS90ZXN0cy9vdm4taW5jLXByb2MtZ3JhcGgtZHVtcC5hdCBiL3Rlc3RzL292bi1pbmMtcHJv Yy1ncmFwaC1kdW1wLmF0CitpbmRleCAyNWZmMjAwYTQwLi5lZjkxMDE0YTY0IDEwMDY0NAorLS0t IGEvdGVzdHMvb3ZuLWluYy1wcm9jLWdyYXBoLWR1bXAuYXQKKysrKyBiL3Rlc3RzL292bi1pbmMt cHJvYy1ncmFwaC1kdW1wLmF0CitAQCAtMTcyLDkgKzE3Miw2IEBAIGRpZ3JhcGggIkluY3JlbWVu dGFsLVByb2Nlc3NpbmctRW5naW5lIiB7CisgCW5vcnRoZCAtPiBsc19zdGF0ZWZ1bCBbW2xhYmVs PSJsc19zdGF0ZWZ1bF9ub3J0aGRfaGFuZGxlciJdXTsKKyAJcG9ydF9ncm91cCAtPiBsc19zdGF0 ZWZ1bCBbW2xhYmVsPSJsc19zdGF0ZWZ1bF9wb3J0X2dyb3VwX2hhbmRsZXIiXV07CisgCU5CX2Fj bCAtPiBsc19zdGF0ZWZ1bCBbW2xhYmVsPSJsc19zdGF0ZWZ1bF9hY2xfaGFuZGxlciJdXTsKKy0J bHNfYXJwIFtbc3R5bGU9ZmlsbGVkLCBzaGFwZT1ib3gsIGZpbGxjb2xvcj13aGl0ZSwgbGFiZWw9 ImxzX2FycCJdXTsKKy0JbHJfbmF0IC0+IGxzX2FycCBbW2xhYmVsPSJsc19hcnBfbHJfbmF0X2hh bmRsZXIiXV07CistCW5vcnRoZCAtPiBsc19hcnAgW1tsYWJlbD0ibHNfYXJwX25vcnRoZF9oYW5k bGVyIl1dOworIAlTQl9pZ21wX2dyb3VwIFtbc3R5bGU9ZmlsbGVkLCBzaGFwZT1ib3gsIGZpbGxj b2xvcj13aGl0ZSwgbGFiZWw9IlNCX2lnbXBfZ3JvdXAiXV07CisgCW11bHRpY2FzdF9pZ21wIFtb c3R5bGU9ZmlsbGVkLCBzaGFwZT1ib3gsIGZpbGxjb2xvcj13aGl0ZSwgbGFiZWw9Im11bHRpY2Fz dF9pZ21wIl1dOworIAlub3J0aGQgLT4gbXVsdGljYXN0X2lnbXAgW1tsYWJlbD0ibXVsdGljYXN0 X2lnbXBfbm9ydGhkX2hhbmRsZXIiXV07CitAQCAtMTk2LDcgKzE5Myw2IEBAIGRpZ3JhcGggIklu Y3JlbWVudGFsLVByb2Nlc3NpbmctRW5naW5lIiB7CisgCXBvcnRfZ3JvdXAgLT4gbGZsb3cgW1ts YWJlbD0iZW5naW5lX25vb3BfaGFuZGxlciJdXTsKKyAJbHJfc3RhdGVmdWwgLT4gbGZsb3cgW1ts YWJlbD0ibGZsb3dfbHJfc3RhdGVmdWxfaGFuZGxlciJdXTsKKyAJbHNfc3RhdGVmdWwgLT4gbGZs b3cgW1tsYWJlbD0ibGZsb3dfbHNfc3RhdGVmdWxfaGFuZGxlciJdXTsKKy0JbHNfYXJwIC0+IGxm bG93IFtbbGFiZWw9ImxmbG93X2xzX2FycF9oYW5kbGVyIl1dOworIAltdWx0aWNhc3RfaWdtcCAt PiBsZmxvdyBbW2xhYmVsPSJsZmxvd19tdWx0aWNhc3RfaWdtcF9oYW5kbGVyIl1dOworIAlTQl9h Y2xfaWQgLT4gbGZsb3cgW1tsYWJlbD0iIl1dOworIAlpY19sZWFybmVkX3N2Y19tb25pdG9ycyAt PiBsZmxvdyBbW2xhYmVsPSJsZmxvd19pY19sZWFybmVkX3N2Y19tb25zX2hhbmRsZXIiXV07Citk aWZmIC0tZ2l0IGEvdGVzdHMvb3ZuLW1hY3Jvcy5hdCBiL3Rlc3RzL292bi1tYWNyb3MuYXQKK2lu ZGV4IDM5ZjAzYmE2MmIuLmNjNDFiYmQ3N2IgMTAwNjQ0CistLS0gYS90ZXN0cy9vdm4tbWFjcm9z LmF0CisrKysgYi90ZXN0cy9vdm4tbWFjcm9zLmF0CitAQCAtMTMxNCw2ICsxMzE0LDM4IEBAIHNl bmRfbmEoKSB7CisgICAgIGNoZWNrIGFzICRodiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNl aXZlICRkZXYgJHBhY2tldCA+JjIKKyB9CisgCisrc2VuZF91ZHAoKSB7CisrICAgIGxvY2FsIGh2 PSQxIGRldj0kMiBoZHN0PSQzIGhzcmM9JDQgaWRzdD0kNSBpc3JjPSQ2CisrICAgIGxvY2FsIHBh Y2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nJHtoZHN0fScsIHNyYz0nJHtoc3JjfScpLyBcCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQKGRzdD0nJHtpZHN0fScsIHNyYz0nJHtpc3Jj fScpL1VEUCgpIikKKysgICAgY2hlY2sgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3Jl Y2VpdmUgJGRldiAkcGFja2V0CisrfQorKworK3NlbmRfdWRwNigpIHsKKysgICAgbG9jYWwgaHY9 JDEgZGV2PSQyIGhkc3Q9JDMgaHNyYz0kNCBpZHN0PSQ1IGlzcmM9JDYKKysgICAgbG9jYWwgcGFj a2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2hkc3R9Jywgc3JjPScke2hzcmN9JykvIFwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nihkc3Q9JyR7aWRzdH0nLCBzcmM9JyR7aXNy Y30nKS9VRFAoKSIpCisrICAgIGNoZWNrIGFzICRodiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9y ZWNlaXZlICRkZXYgJHBhY2tldAorK30KKysKKytkdW1wX2FycCgpIHsKKysgICAgbG9jYWwgb3A9 JDEgZXRoX3NyYz0kMiBldGhfZHN0PSQzIHNwYT0kNCB0cGE9JDUgaHdkc3Q9JDYKKysKKysgICAg bG9jYWwgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2V0aF9kc3R9Jywgc3JjPScke2V0 aF9zcmN9JykvIFwKKysgICAgICAgICAgICAgICAgICAgICAgQVJQKG9wPSRvcCwgaHdzcmM9JyR7 ZXRoX3NyY30nLCBod2RzdD0nJHtod2RzdH0nLCBcCisrICAgICAgICAgICAgICAgICAgICAgIHBz cmM9JyR7c3BhfScsIHBkc3Q9JyR7dHBhfScpIikKKysgICAgZWNobyAkcGFja2V0CisrfQorKwor K2R1bXBfbnMoKSB7CisrICAgIGxvY2FsIGhkc3Q9JDEgaHNyYz0kMiBpZHN0PSQzIGlzcmM9JDQg dGd0PSQ1CisrICAgIGxvY2FsIHBhY2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nJHtoZHN0fScs IHNyYz0nJHtoc3JjfScpLyBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjYoZHN0 PScke2lkc3R9Jywgc3JjPScke2lzcmN9JykvIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSUNNUHY2TkRfTlModGd0PScke3RndH0nKS8gXAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJQ01QdjZORE9wdFNyY0xMQWRkcihsbGFkZHI9JyR7aHNyY30nKSIpCisrICAgIGVjaG8g JHBhY2tldAorK30KKysKKyAjIFdyYXBwZXIgb24gdG9wIG9mIG92bi10cmFjZSwgc3RyaXBwaW5n IHNvbWUgdGhpbmdzIGFuZCBzdG9yaW5nIHRoZSB0cmFjZQorICMgb3V0cHV0IHRvIGEgZmlsZSBj YWxsZWQgJ3RyYWNlJy4gIEZvciBub3cgaXQgc3RyaXBzIHRoZSByb3dzIHN0YXJ0aW5nCisgIyB3 aXRoIGEgJyMnLiAgVGhpcyBzaG91bGQgY29ycmVzcG9uZCB0byB0aGUgZmxvdyBrZXkgYW5kIG1p Z2h0IGJlIGRpc3BsYXllZAorZGlmZiAtLWdpdCBhL3Rlc3RzL292bi1ub3J0aGQuYXQgYi90ZXN0 cy9vdm4tbm9ydGhkLmF0CitpbmRleCBmMTM0OWYyMTMzLi44MGVkYmIyODRlIDEwMDY0NAorLS0t IGEvdGVzdHMvb3ZuLW5vcnRoZC5hdAorKysrIGIvdGVzdHMvb3ZuLW5vcnRoZC5hdAorQEAgLTc0 NDgsNiArNzQ0OCw5IEBAIEFUX0NIRUNLKFtncmVwIGxyX2luX2FkbWlzc2lvbiBscmZsb3dzIHwg Z3JlcCBjci1EUiB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkCisgXSkKKyAjIENoZWNrIHRo ZSBmbG93cyBpbiBscl9pbl9sb29rdXBfbmVpZ2hib3Igc3RhZ2UKKyBBVF9DSEVDSyhbZ3JlcCBs cl9pbl9sb29rdXBfbmVpZ2hib3IgbHJmbG93cyB8IGdyZXAgY3ItRFIgfCBvdm5fc3RyaXBfbGZs b3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhscl9pbl9sb29rdXBfbmVpZ2hib3IpLCBwcmlv cml0eT0xMDAgICwgbWF0Y2g9KGlucG9ydCA9PSAiRFItUzEiICYmIGFycC5zcGEgPT0gMTcyLjE2 LjEuMC8yNCAmJiBhcnAub3AgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1EUi1TMSIp KSwgYWN0aW9uPShyZWc5W1syXV0gPSBsb29rdXBfYXJwKGlucG9ydCwgYXJwLnNwYSwgYXJwLnNo YSk7IG5leHQ7KQorKyAgdGFibGU9Pz8obHJfaW5fbG9va3VwX25laWdoYm9yKSwgcHJpb3JpdHk9 MTAwICAsIG1hdGNoPShpbnBvcnQgPT0gIkRSLVMyIiAmJiBhcnAuc3BhID09IDE3Mi4xNi4yLjAv MjQgJiYgYXJwLm9wID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItRFItUzIiKSksIGFj dGlvbj0ocmVnOVtbMl1dID0gbG9va3VwX2FycChpbnBvcnQsIGFycC5zcGEsIGFycC5zaGEpOyBu ZXh0OykKKysgIHRhYmxlPT8/KGxyX2luX2xvb2t1cF9uZWlnaGJvciksIHByaW9yaXR5PTEwMCAg LCBtYXRjaD0oaW5wb3J0ID09ICJEUi1TMyIgJiYgYXJwLnNwYSA9PSAxNzIuMTYuMy4wLzI0ICYm IGFycC5vcCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLURSLVMzIikpLCBhY3Rpb249 KHJlZzlbWzJdXSA9IGxvb2t1cF9hcnAoaW5wb3J0LCBhcnAuc3BhLCBhcnAuc2hhKTsgbmV4dDsp CisgICB0YWJsZT0/Pyhscl9pbl9sb29rdXBfbmVpZ2hib3IpLCBwcmlvcml0eT0xMjAgICwgbWF0 Y2g9KGlucG9ydCA9PSAiRFItUzEiICYmIChuZF9uYSB8fCBuZF9ucykgJiYgZXRoLm1jYXN0ICYm ICFpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1EUi1TMSIpKSwgYWN0aW9uPShyZWc5W1syXV0gPSAx OyBuZXh0OykKKyAgIHRhYmxlPT8/KGxyX2luX2xvb2t1cF9uZWlnaGJvciksIHByaW9yaXR5PTEy MCAgLCBtYXRjaD0oaW5wb3J0ID09ICJEUi1TMiIgJiYgKG5kX25hIHx8IG5kX25zKSAmJiBldGgu bWNhc3QgJiYgIWlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLURSLVMyIikpLCBhY3Rpb249KHJlZzlb WzJdXSA9IDE7IG5leHQ7KQorICAgdGFibGU9Pz8obHJfaW5fbG9va3VwX25laWdoYm9yKSwgcHJp b3JpdHk9MTIwICAsIG1hdGNoPShpbnBvcnQgPT0gIkRSLVMzIiAmJiAobmRfbmEgfHwgbmRfbnMp ICYmIGV0aC5tY2FzdCAmJiAhaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItRFItUzMiKSksIGFjdGlv bj0ocmVnOVtbMl1dID0gMTsgbmV4dDspCitAQCAtNzYzNiw3ICs3NjM5LDkgQEAgQVRfQ0hFQ0so W2dyZXAgLWUgImxzX2luXy4qX2ZkYi4qUzEtdm0xIiBTMWZsb3dzIHwgb3ZuX3N0cmlwX2xmbG93 c10sIFswXSwgW2RubAorIF0pCisgCisgI1ZlcmlmeSB0aGUgZmxvd3MgZm9yIGEgbm9uLWRlZmF1 bHQgcG9ydCB0eXBlIChsb2NhbG5ldCBwb3J0KQorLUFUX0NIRUNLKFtncmVwIC1lICJsc19pbl8u Kl9mZGIuKlMxLWxvY2FsbmV0IiBTMWZsb3dzXSwgWzFdLCBbXSkKKytBVF9DSEVDSyhbZ3JlcCAt ZSAibHNfaW5fLipfZmRiLipTMS1sb2NhbG5ldCIgUzFmbG93cyB8IG92bl9zdHJpcF9sZmxvd3Nd LCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT01 MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAiUzEtbG9jYWxuZXQiKSwgYWN0aW9uPShmbGFncy5sb2Nh bG5ldCA9IDE7IG5leHQ7KQorK10pCisgCisgT1ZOX0NMRUFOVVBfTk9SVEhECisgQVRfQ0xFQU5V UAorQEAgLTk5NDUsNiArOTk1MCw3IEBAIEFUX0NIRUNLKFtvdm4tbmJjdGwgLS13YWl0PXNiIHN5 bmNdKQorICMgQ2hlY2sgTUFDIGxlYXJuaW5nIGZsb3dzIHdpdGggJ2xvY2FsbmV0X2xlYXJuX2Zk YicgZGVmYXVsdCAoZmFsc2UpCisgQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMCB8 IGdyZXAgLWUgJ2xzX2luX1wocHV0XHxsb29rdXBcKV9mZGInIHwgb3ZuX3N0cmlwX2xmbG93c10s IFswXSwgW2RubAorICAgdGFibGU9Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTAg ICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9sb29rdXBf ZmRiICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShpbnBvcnQgPT0gImxuX3BvcnQiKSwgYWN0 aW9uPShmbGFncy5sb2NhbG5ldCA9IDE7IG5leHQ7KQorICAgdGFibGU9Pz8obHNfaW5fcHV0X2Zk YiAgICAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisgXSkK KyAKK0BAIC05OTUzLDYgKzk5NTksNyBAQCBBVF9DSEVDSyhbb3ZuLW5iY3RsIC0td2FpdD1zYiBs c3Atc2V0LW9wdGlvbnMgbG5fcG9ydCBsb2NhbG5ldF9sZWFybl9mZGI9dHJ1ZV0pCisgQVRfQ0hF Q0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMCB8IGdyZXAgLWUgJ2xzX2luX1wocHV0XHxsb29r dXBcKV9mZGInIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorICAgdGFibGU9Pz8obHNf aW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4 dDspCisgICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MTAwICAsIG1h dGNoPShpbnBvcnQgPT0gImxuX3BvcnQiKSwgYWN0aW9uPShmbGFncy5sb2NhbG5ldCA9IDE7IHJl ZzBbWzExXV0gPSBsb29rdXBfZmRiKGlucG9ydCwgZXRoLnNyYyk7IG5leHQ7KQorKyAgdGFibGU9 Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0oaW5wb3J0ID09 ICJsbl9wb3J0IiksIGFjdGlvbj0oZmxhZ3MubG9jYWxuZXQgPSAxOyBuZXh0OykKKyAgIHRhYmxl PT8/KGxzX2luX3B1dF9mZGIgICAgICApLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rp b249KG5leHQ7KQorICAgdGFibGU9Pz8obHNfaW5fcHV0X2ZkYiAgICAgICksIHByaW9yaXR5PTEw MCAgLCBtYXRjaD0oaW5wb3J0ID09ICJsbl9wb3J0IiAmJiByZWcwW1sxMV1dID09IDApLCBhY3Rp b249KHB1dF9mZGIoaW5wb3J0LCBldGguc3JjKTsgbmV4dDspCisgXSkKK0BAIC05OTYxLDYgKzk5 NjgsNyBAQCBBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMwIHwgZ3JlcCAtZSAnbHNf aW5fXChwdXRcfGxvb2t1cFwpX2ZkYicgfCBvdm5fcworIEFUX0NIRUNLKFtvdm4tbmJjdGwgLS13 YWl0PXNiIGxzcC1zZXQtb3B0aW9ucyBsbl9wb3J0IGxvY2FsbmV0X2xlYXJuX2ZkYj1mYWxzZV0p CisgQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMCB8IGdyZXAgLWUgJ2xzX2luX1wo cHV0XHxsb29rdXBcKV9mZGInIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorICAgdGFi bGU9Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFj dGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9 NTAgICAsIG1hdGNoPShpbnBvcnQgPT0gImxuX3BvcnQiKSwgYWN0aW9uPShmbGFncy5sb2NhbG5l dCA9IDE7IG5leHQ7KQorICAgdGFibGU9Pz8obHNfaW5fcHV0X2ZkYiAgICAgICksIHByaW9yaXR5 PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisgXSkKKyAKK0BAIC0xMDMxMCw2ICsx MDMxOCwxMTAgQEAgT1ZOX0NMRUFOVVBfTk9SVEhECisgQVRfQ0xFQU5VUAorIF0pCisgCisrT1ZO X0ZPUl9FQUNIX05PUlRIRF9OT19IVihbCisrQVRfU0VUVVAoW0FSUC9ORCByZXNwb25kZXIgZm9y IGxvY2FsbmV0LXNvdXJjZWQgcmVxdWVzdHNdKQorK292bl9zdGFydAorKworK2RubCBTd2l0Y2gg d2l0aCBsb2NhbG5ldCBwb3J0LgorK2NoZWNrIG92bi1uYmN0bCBscy1hZGQgbHMxCisrY2hlY2sg b3ZuLW5iY3RsIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBsczEgbG4xIHBoeXNuZXQxCisrY2hlY2sg b3ZuLW5iY3RsIGxzcC1hZGQgbHMxIHZtMSBcCisrICAgIC0tIGxzcC1zZXQtYWRkcmVzc2VzIHZt MSAiMDA6MDA6MDA6MDA6MDA6MDEgMTAuMC4wLjEgZmQwMTo6MSIKKytjaGVjayBvdm4tbmJjdGwg bHNwLWFkZCBsczEgdm0yIFwKKysgICAgLS0gbHNwLXNldC1hZGRyZXNzZXMgdm0yICIwMDowMDow MDowMDowMDowMiAxMC4wLjAuMiBmZDAxOjoyIgorKworK2RubCBTd2l0Y2ggd2l0aG91dCBsb2Nh bG5ldCBwb3J0LgorK2NoZWNrIG92bi1uYmN0bCBscy1hZGQgbHMyCisrY2hlY2sgb3ZuLW5iY3Rs IC0td2FpdD1zYiBsc3AtYWRkIGxzMiB2bTMgXAorKyAgICAtLSBsc3Atc2V0LWFkZHJlc3NlcyB2 bTMgIjAwOjAwOjAwOjAwOjAwOjAzIDEwLjAuMC4zIGZkMDE6OjMiCisrCisrQVNfQk9YKFtGREIg bGVhcm5pbmcgZGlzYWJsZWRdKQorKworK2RubCBsczE6IGxzX2luX2xvb2t1cF9mZGIgc2hvdWxk IGhhdmUgcHJpb3JpdHkgMCBkZWZhdWx0ICsKKytkbmwgcHJpb3JpdHkgNTAgZmxhZ3MubG9jYWxu ZXQuCisrQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMSB8IGdyZXAgLWUgJ2xzX2lu X2xvb2t1cF9mZGInIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8o bHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0o bmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9NTAgICAs IG1hdGNoPShpbnBvcnQgPT0gImxuMSIpLCBhY3Rpb249KGZsYWdzLmxvY2FsbmV0ID0gMTsgbmV4 dDspCisrXSkKKysKKytkbmwgbHMxOiBsc19pbl9hcnBfcnNwIHNob3VsZCBpbmNsdWRlIGZsYWdz LmxvY2FsbmV0IGNvbmRpdGlvbiBmb3IKKytkbmwgcHJpb3JpdHkgNTAgQVJQL05EIHJlcGx5IGZs b3dzIGJ1dCBOT1QgZm9yIHByaW9yaXR5IDEwMCBzZWxmLXJlcGx5CisrZG5sIGZsb3dzIChzaW5j ZSB0aG9zZSBtYXRjaCBvbiBpbnBvcnQgPT0gVklGLCBmbGFncy5sb2NhbG5ldCBpcyBhbHdheXMg MCkuCisrQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMSB8IGdyZXAgLWUgJ2xzX2lu X2FycF9yc3AnIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHNf aW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4 dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAwICAsIG1h dGNoPShhcnAudHBhID09IDEwLjAuMC4xICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6 ZmY6ZmY6ZmY6ZmY6ZmYgJiYgaW5wb3J0ID09ICJ2bTEiKSwgYWN0aW9uPShuZXh0OykKKysgIHRh YmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KGFycC50 cGEgPT0gMTAuMC4wLjIgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpm ZjpmZiAmJiBpbnBvcnQgPT0gInZtMiIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNf aW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYg aXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MSAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MSAmJiBpbnBv cnQgPT0gInZtMSIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAg ICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBm ZjAyOjoxOmZmMDA6MiAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MiAmJiBpbnBvcnQgPT0gInZtMiIp LCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9y aXR5PTUwICAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4wLjAuMSAmJiBhcnAub3AgPT0gMSAmJiBl dGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYmICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBp c19jaGFzc2lzX3Jlc2lkZW50KCJ2bTEiKSkgfHwgZmxhZ3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rp b249KGV0aC5kc3QgPSBldGguc3JjOyBldGguc3JjID0gMDA6MDA6MDA6MDA6MDA6MDE7IGFycC5v cCA9IDI7IC8qIEFSUCByZXBseSAqLyBhcnAudGhhID0gYXJwLnNoYTsgYXJwLnNoYSA9IDAwOjAw OjAwOjAwOjAwOjAxOyBhcnAudHBhID0gYXJwLnNwYTsgYXJwLnNwYSA9IDEwLjAuMC4xOyBvdXRw b3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7IG91dHB1dDspCisrICB0YWJsZT0/Pyhs c19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShhcnAudHBhID09IDEw LjAuMC4yICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYg KChmbGFncy5sb2NhbG5ldCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInZtMiIpKSB8fCBm bGFncy5sb2NhbG5ldCA9PSAwKSksIGFjdGlvbj0oZXRoLmRzdCA9IGV0aC5zcmM7IGV0aC5zcmMg PSAwMDowMDowMDowMDowMDowMjsgYXJwLm9wID0gMjsgLyogQVJQIHJlcGx5ICovIGFycC50aGEg PSBhcnAuc2hhOyBhcnAuc2hhID0gMDA6MDA6MDA6MDA6MDA6MDI7IGFycC50cGEgPSBhcnAuc3Bh OyBhcnAuc3BhID0gMTAuMC4wLjI7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0g MTsgb3V0cHV0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT01 MCAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0gZmYwMjo6MTpmZjAwOjEgJiYg bmQudGFyZ2V0ID09IGZkMDE6OjEgJiYgKChmbGFncy5sb2NhbG5ldCA9PSAxICYmIGlzX2NoYXNz aXNfcmVzaWRlbnQoInZtMSIpKSB8fCBmbGFncy5sb2NhbG5ldCA9PSAwKSksIGFjdGlvbj0obmRf bmEgeyBldGguc3JjID0gMDA6MDA6MDA6MDA6MDA6MDE7IGlwNi5zcmMgPSBmZDAxOjoxOyBuZC50 YXJnZXQgPSBmZDAxOjoxOyBuZC50bGwgPSAwMDowMDowMDowMDowMDowMTsgb3V0cG9ydCA9IGlu cG9ydDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7IH07KQorKyAgdGFibGU9Pz8obHNfaW5f YXJwX3JzcCAgICAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2 LmRzdCA9PSBmZjAyOjoxOmZmMDA6MiAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MiAmJiAoKGZsYWdz LmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgidm0yIikpIHx8IGZsYWdzLmxv Y2FsbmV0ID09IDApKSwgYWN0aW9uPShuZF9uYSB7IGV0aC5zcmMgPSAwMDowMDowMDowMDowMDow MjsgaXA2LnNyYyA9IGZkMDE6OjI7IG5kLnRhcmdldCA9IGZkMDE6OjI7IG5kLnRsbCA9IDAwOjAw OjAwOjAwOjAwOjAyOyBvdXRwb3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7IG91dHB1 dDsgfTspCisrXSkKKysKKytkbmwgbHMyOiBsc19pbl9hcnBfcnNwIHNob3VsZCBOT1QgaW5jbHVk ZSBmbGFncy5sb2NhbG5ldCBjb25kaXRpb24uCisrQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZs b3dzIGxzMiB8IGdyZXAgLWUgJ2xzX2luX2FycF9yc3AnIHwgb3ZuX3N0cmlwX2xmbG93c10sIFsw XSwgW2RubAorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTAgICAg LCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAg ICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShhcnAudHBhID09IDEwLjAuMC4zICYmIGFycC5v cCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYgaW5wb3J0ID09ICJ2bTMi KSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlv cml0eT0xMDAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0gZmYwMjo6MTpmZjAw OjMgJiYgbmQudGFyZ2V0ID09IGZkMDE6OjMgJiYgaW5wb3J0ID09ICJ2bTMiKSwgYWN0aW9uPShu ZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT01MCAgICwg bWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjMgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBm ZjpmZjpmZjpmZjpmZjpmZiksIGFjdGlvbj0oZXRoLmRzdCA9IGV0aC5zcmM7IGV0aC5zcmMgPSAw MDowMDowMDowMDowMDowMzsgYXJwLm9wID0gMjsgLyogQVJQIHJlcGx5ICovIGFycC50aGEgPSBh cnAuc2hhOyBhcnAuc2hhID0gMDA6MDA6MDA6MDA6MDA6MDM7IGFycC50cGEgPSBhcnAuc3BhOyBh cnAuc3BhID0gMTAuMC4wLjM7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsg b3V0cHV0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT01MCAg ICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0gZmYwMjo6MTpmZjAwOjMgJiYgbmQu dGFyZ2V0ID09IGZkMDE6OjMpLCBhY3Rpb249KG5kX25hIHsgZXRoLnNyYyA9IDAwOjAwOjAwOjAw OjAwOjAzOyBpcDYuc3JjID0gZmQwMTo6MzsgbmQudGFyZ2V0ID0gZmQwMTo6MzsgbmQudGxsID0g MDA6MDA6MDA6MDA6MDA6MDM7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsg b3V0cHV0OyB9OykKKytdKQorKworK2RubCBsczI6IGxzX2luX2xvb2t1cF9mZGIgc2hvdWxkIG9u bHkgaGF2ZSBwcmlvcml0eSAwIGRlZmF1bHQsCisrZG5sIG5vIHByaW9yaXR5IDUwIGZsYWdzLmxv Y2FsbmV0LgorK0FUX0NIRUNLKFtvdm4tc2JjdGwgZHVtcC1mbG93cyBsczIgfCBncmVwIC1lICds c19pbl9sb29rdXBfZmRiJyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKysgIHRhYmxl PT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rp b249KG5leHQ7KQorK10pCisrCisrQVNfQk9YKFtFbmFibGUgRkRCIGxlYXJuaW5nIG9uIGxuMV0p CisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBsc3Atc2V0LW9wdGlvbnMgbG4xIGxvY2FsbmV0 X2xlYXJuX2ZkYj10cnVlCisrCisrZG5sIGxzMTogbHNfaW5fbG9va3VwX2ZkYiBzaG91bGQgaGF2 ZSBwcmlvcml0eSAxMDAgRkRCICsKKytkbmwgcHJpb3JpdHkgNTAgZmFsbGJhY2suCisrQVRfQ0hF Q0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMSB8IGdyZXAgLWUgJ2xzX2luX2xvb2t1cF9mZGIn IHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHNfaW5fbG9va3Vw X2ZkYiAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisrICB0 YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShpbnBv cnQgPT0gImxuMSIpLCBhY3Rpb249KGZsYWdzLmxvY2FsbmV0ID0gMTsgcmVnMFtbMTFdXSA9IGxv b2t1cF9mZGIoaW5wb3J0LCBldGguc3JjKTsgbmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9sb29r dXBfZmRiICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShpbnBvcnQgPT0gImxuMSIpLCBhY3Rp b249KGZsYWdzLmxvY2FsbmV0ID0gMTsgbmV4dDspCisrXSkKKysKKytkbmwgbHMxOiBsc19pbl9h cnBfcnNwIHNob3VsZCBiZSB1bmNoYW5nZWQuCisrQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZs b3dzIGxzMSB8IGdyZXAgLWUgJ2xzX2luX2FycF9yc3AnIHwgb3ZuX3N0cmlwX2xmbG93c10sIFsw XSwgW2RubAorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTAgICAg LCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAg ICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShhcnAudHBhID09IDEwLjAuMC4xICYmIGFycC5v cCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYgaW5wb3J0ID09ICJ2bTEi KSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlv cml0eT0xMDAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjIgJiYgYXJwLm9wID09IDEgJiYg ZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiBpbnBvcnQgPT0gInZtMiIpLCBhY3Rpb249 KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTEwMCAg LCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MSAmJiBuZC50 YXJnZXQgPT0gZmQwMTo6MSAmJiBpbnBvcnQgPT0gInZtMSIpLCBhY3Rpb249KG5leHQ7KQorKyAg dGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0obmRf bnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MiAmJiBuZC50YXJnZXQgPT0gZmQw MTo6MiAmJiBpbnBvcnQgPT0gInZtMiIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNf aW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4w LjAuMSAmJiBhcnAub3AgPT0gMSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYmICgo ZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJ2bTEiKSkgfHwgZmxh Z3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rpb249KGV0aC5kc3QgPSBldGguc3JjOyBldGguc3JjID0g MDA6MDA6MDA6MDA6MDA6MDE7IGFycC5vcCA9IDI7IC8qIEFSUCByZXBseSAqLyBhcnAudGhhID0g YXJwLnNoYTsgYXJwLnNoYSA9IDAwOjAwOjAwOjAwOjAwOjAxOyBhcnAudHBhID0gYXJwLnNwYTsg YXJwLnNwYSA9IDEwLjAuMC4xOyBvdXRwb3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7 IG91dHB1dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAg ICAsIG1hdGNoPShhcnAudHBhID09IDEwLjAuMC4yICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3Qg PT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYgKChmbGFncy5sb2NhbG5ldCA9PSAxICYmIGlzX2NoYXNz aXNfcmVzaWRlbnQoInZtMiIpKSB8fCBmbGFncy5sb2NhbG5ldCA9PSAwKSksIGFjdGlvbj0oZXRo LmRzdCA9IGV0aC5zcmM7IGV0aC5zcmMgPSAwMDowMDowMDowMDowMDowMjsgYXJwLm9wID0gMjsg LyogQVJQIHJlcGx5ICovIGFycC50aGEgPSBhcnAuc2hhOyBhcnAuc2hhID0gMDA6MDA6MDA6MDA6 MDA6MDI7IGFycC50cGEgPSBhcnAuc3BhOyBhcnAuc3BhID0gMTAuMC4wLjI7IG91dHBvcnQgPSBp bnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsgb3V0cHV0OykKKysgIHRhYmxlPT8/KGxzX2luX2Fy cF9yc3AgICAgICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5k c3QgPT0gZmYwMjo6MTpmZjAwOjEgJiYgbmQudGFyZ2V0ID09IGZkMDE6OjEgJiYgKChmbGFncy5s b2NhbG5ldCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInZtMSIpKSB8fCBmbGFncy5sb2Nh bG5ldCA9PSAwKSksIGFjdGlvbj0obmRfbmEgeyBldGguc3JjID0gMDA6MDA6MDA6MDA6MDA6MDE7 IGlwNi5zcmMgPSBmZDAxOjoxOyBuZC50YXJnZXQgPSBmZDAxOjoxOyBuZC50bGwgPSAwMDowMDow MDowMDowMDowMTsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7 IH07KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTUwICAgLCBt YXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MiAmJiBuZC50YXJn ZXQgPT0gZmQwMTo6MiAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19yZXNp ZGVudCgidm0yIikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0aW9uPShuZF9uYSB7IGV0 aC5zcmMgPSAwMDowMDowMDowMDowMDowMjsgaXA2LnNyYyA9IGZkMDE6OjI7IG5kLnRhcmdldCA9 IGZkMDE6OjI7IG5kLnRsbCA9IDAwOjAwOjAwOjAwOjAwOjAyOyBvdXRwb3J0ID0gaW5wb3J0OyBm bGFncy5sb29wYmFjayA9IDE7IG91dHB1dDsgfTspCisrXSkKKysKKytBU19CT1goW0Rpc2FibGUg RkRCIGxlYXJuaW5nXSkKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzcC1zZXQtb3B0aW9u cyBsbjEgbG9jYWxuZXRfbGVhcm5fZmRiPWZhbHNlCisrCisrQVRfQ0hFQ0soW292bi1zYmN0bCBk dW1wLWZsb3dzIGxzMSB8IGdyZXAgLWUgJ2xzX2luX2xvb2t1cF9mZGInIHwgb3ZuX3N0cmlwX2xm bG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9y aXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9s b29rdXBfZmRiICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShpbnBvcnQgPT0gImxuMSIpLCBh Y3Rpb249KGZsYWdzLmxvY2FsbmV0ID0gMTsgbmV4dDspCisrXSkKKysKKytBVF9DSEVDSyhbb3Zu LXNiY3RsIGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAtZSAnbHNfaW5fYXJwX3JzcCcgfCBvdm5fc3Ry aXBfbGZsb3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwg cHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxz X2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAu MC4wLjEgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiBp bnBvcnQgPT0gInZtMSIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3Jz cCAgICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4wLjAuMiAmJiBh cnAub3AgPT0gMSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYmIGlucG9ydCA9PSAi dm0yIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwg cHJpb3JpdHk9MTAwICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6 ZmYwMDoxICYmIG5kLnRhcmdldCA9PSBmZDAxOjoxICYmIGlucG9ydCA9PSAidm0xIiksIGFjdGlv bj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAw ICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoyICYmIG5k LnRhcmdldCA9PSBmZDAxOjoyICYmIGlucG9ydCA9PSAidm0yIiksIGFjdGlvbj0obmV4dDspCisr ICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShh cnAudHBhID09IDEwLjAuMC4xICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6 ZmY6ZmY6ZmYgJiYgKChmbGFncy5sb2NhbG5ldCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQo InZtMSIpKSB8fCBmbGFncy5sb2NhbG5ldCA9PSAwKSksIGFjdGlvbj0oZXRoLmRzdCA9IGV0aC5z cmM7IGV0aC5zcmMgPSAwMDowMDowMDowMDowMDowMTsgYXJwLm9wID0gMjsgLyogQVJQIHJlcGx5 ICovIGFycC50aGEgPSBhcnAuc2hhOyBhcnAuc2hhID0gMDA6MDA6MDA6MDA6MDA6MDE7IGFycC50 cGEgPSBhcnAuc3BhOyBhcnAuc3BhID0gMTAuMC4wLjE7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdz Lmxvb3BiYWNrID0gMTsgb3V0cHV0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICAp LCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjIgJiYgYXJwLm9wID09 IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiAoKGZsYWdzLmxvY2FsbmV0ID09 IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgidm0yIikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDAp KSwgYWN0aW9uPShldGguZHN0ID0gZXRoLnNyYzsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAy OyBhcnAub3AgPSAyOyAvKiBBUlAgcmVwbHkgKi8gYXJwLnRoYSA9IGFycC5zaGE7IGFycC5zaGEg PSAwMDowMDowMDowMDowMDowMjsgYXJwLnRwYSA9IGFycC5zcGE7IGFycC5zcGEgPSAxMC4wLjAu Mjsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7KQorKyAgdGFi bGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0obmRfbnNf bWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MSAmJiBuZC50YXJnZXQgPT0gZmQwMTo6 MSAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgidm0xIikp IHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0aW9uPShuZF9uYSB7IGV0aC5zcmMgPSAwMDow MDowMDowMDowMDowMTsgaXA2LnNyYyA9IGZkMDE6OjE7IG5kLnRhcmdldCA9IGZkMDE6OjE7IG5k LnRsbCA9IDAwOjAwOjAwOjAwOjAwOjAxOyBvdXRwb3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFj ayA9IDE7IG91dHB1dDsgfTspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJp b3JpdHk9NTAgICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYw MDoyICYmIG5kLnRhcmdldCA9PSBmZDAxOjoyICYmICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBp c19jaGFzc2lzX3Jlc2lkZW50KCJ2bTIiKSkgfHwgZmxhZ3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rp b249KG5kX25hIHsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAyOyBpcDYuc3JjID0gZmQwMTo6 MjsgbmQudGFyZ2V0ID0gZmQwMTo6MjsgbmQudGxsID0gMDA6MDA6MDA6MDA6MDA6MDI7IG91dHBv cnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsgb3V0cHV0OyB9OykKKytdKQorKworK09W Tl9DTEVBTlVQX05PUlRIRAorK0FUX0NMRUFOVVAKKytdKQorKworIE9WTl9GT1JfRUFDSF9OT1JU SERfTk9fSFYoWworIEFUX1NFVFVQKFtBZGRyZXNzIHNldCBpbmNyZW1lbnRhbCBwcm9jZXNzaW5n XSkKKyBvdm5fc3RhcnQKK0BAIC0xNDI5NCw3ICsxNDQwNiw3IEBAIEFUX0NIRUNLKFtncmVwIC1G ZSAiMTcyLjE2OC4wLjExMCIgLWUgIjE3Mi4xNjguMC4xMjAiIC1lICIxMC4wLjAuMyIgLWUgIjIw LjAuMC4zCisgICB0YWJsZT0/Pyhscl9vdXRfdW5kbmF0ICAgICAgKSwgcHJpb3JpdHk9MTAwICAs IG1hdGNoPShpcCAmJiBpcDQuc3JjID09IDIwLjAuMC4zICYmIG91dHBvcnQgPT0gImxyMC1wdWJs aWMiICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLWxyMC1wdWJsaWMiKSksIGFjdGlvbj0oY3Rf ZG5hdDspCisgXSkKKyAKKy1BVF9DSEVDSyhbZ3JlcCAtRmUgIjE3Mi4xNjguMC4xMTAiIC1lICIx NzIuMTY4LjAuMTIwIiAtZSAiMTAuMC4wLjMiIC1lICIyMC4wLjAuMyIgLWUgIjMwOjU0OjAwOjAw OjAwOjAzIiAgLWUgInN3MC1wb3J0MSIgcHVibGljZmxvd3MgfCBvdm5fc3RyaXBfbGZsb3dzIHwg Z3JlcCAtdiAicmVnMC4qMjIiXSwgWzBdLCBbZG5sCisrQVRfQ0hFQ0soW2dyZXAgLUZlICIxNzIu MTY4LjAuMTEwIiAtZSAiMTcyLjE2OC4wLjEyMCIgLWUgIjEwLjAuMC4zIiAtZSAiMjAuMC4wLjMi IC1lICIzMDo1NDowMDowMDowMDowMyIgIC1lICJzdzAtcG9ydDEiIHB1YmxpY2Zsb3dzIHwgb3Zu X3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorICAgdGFibGU9Pz8obHNfaW5fbDJfbGt1cCAgICAg ICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0oZXRoLmRzdCA9PSAzMDo1NDowMDowMDowMDowMyAm JiBpc19jaGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9ydDEiKSksIGFjdGlvbj0ob3V0cG9ydCA9ICJw dWJsaWMtbHIwIjsgb3V0cHV0OykKKyAgIHRhYmxlPT8/KGxzX2luX2wyX2xrdXAgICAgICApLCBw cmlvcml0eT03NSAgICwgbWF0Y2g9KGV0aC5zcmMgPT0gezAwOjAwOjAwOjAwOmZmOjAyLCAzMDo1 NDowMDowMDowMDowM30gJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiAoYXJwLm9w ID09IDEgfHwgcmFycC5vcCA9PSAzIHx8IG5kX25zKSksIGFjdGlvbj0ob3V0cG9ydCA9ICJfTUNf Zmxvb2RfbDIiOyBvdXRwdXQ7KQorICAgdGFibGU9Pz8obHNfaW5fbDJfbGt1cCAgICAgICksIHBy aW9yaXR5PTgwICAgLCBtYXRjaD0oZmxhZ3NbWzFdXSA9PSAwICYmIGFycC5vcCA9PSAxICYmIGFy cC50cGEgPT0gMTcyLjE2OC4wLjExMCksIGFjdGlvbj0oY2xvbmUge291dHBvcnQgPSAicHVibGlj LWxyMCI7IG91dHB1dDsgfTsgb3V0cG9ydCA9ICJfTUNfZmxvb2RfbDIiOyBvdXRwdXQ7KQorQEAg LTE2MDY0LDYgKzE2MTc2LDUzIEBAIE9WTl9DTEVBTlVQX05PUlRIRAorIEFUX0NMRUFOVVAKKyBd KQorIAorK09WTl9GT1JfRUFDSF9OT1JUSERfTk9fSFYoWworK0FUX1NFVFVQKFtkeW5hbWljLXJv dXRpbmcgLSBsZWFybmVkIHJvdXRlcyBvbiB1bm51bWJlcmVkIExSUF0pCisrQVRfS0VZV09SRFMo W2R5bmFtaWMtcm91dGluZ10pCisrb3ZuX3N0YXJ0CisrCisrY2hlY2sgb3ZuLW5iY3RsIGxyLWFk ZCBscjAKKytjaGVjayBvdm4tbmJjdGwgc2V0IExvZ2ljYWxfUm91dGVyIGxyMCBvcHRpb246ZHlu YW1pYy1yb3V0aW5nPXRydWUKKytjaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBscjAgbHJwMSAwMDow MDowMDowMDpmZjowMSAxMC4wLjAuMS8yNAorK2NoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMCBs cnAyIDAwOjAwOjAwOjAwOmZmOjAyCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBscnAtYWRk IGxyMCBscnAzIDAwOjAwOjAwOjAwOmZmOjAzCisrZGF0YXBhdGg9JChmZXRjaF9jb2x1bW4gZGF0 YXBhdGhfYmluZGluZyBfdXVpZCBleHRlcm5hbF9pZHM6bmFtZT1scjApCisrbHJwMj0kKGZldGNo X2NvbHVtbiBwb3J0X2JpbmRpbmcgX3V1aWQgbG9naWNhbF9wb3J0PWxycDIpCisrbHJwMz0kKGZl dGNoX2NvbHVtbiBwb3J0X2JpbmRpbmcgX3V1aWQgbG9naWNhbF9wb3J0PWxycDMpCisrCisrY2hl Y2tfdXVpZCBvdm4tc2JjdGwgY3JlYXRlIExlYXJuZWRfUm91dGUgXAorKyAgICBkYXRhcGF0aD0k ZGF0YXBhdGggICAgICAgICAgICAgICAgICAgIFwKKysgICAgbG9naWNhbF9wb3J0PSRscnAyICAg ICAgICAgICAgICAgICAgICBcCisrICAgIGlwX3ByZWZpeD00Mi40Mi40Mi40Mi8zMiAgICAgICAg ICAgICAgXAorKyAgICBuZXh0aG9wPTE5Mi4xNjguMi40MgorK2NoZWNrIG92bi1uYmN0bCAtLXdh aXQ9c2Igc3luYworKworK292bi1zYmN0bCBkdW1wLWZsb3dzIGxyMCA+IGxyMGZsb3dzCisrQVRf Q0hFQ0soW2dyZXAgLUYgIjQyLjQyLjQyLjQyIiBscjBmbG93cyB8IG92bl9zdHJpcF9sZmxvd3Nd LCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxyX2luX2lwX3JvdXRpbmcgICApLCBwcmlvcml0eT0y NTggICwgbWF0Y2g9KHJlZzcgPT0gMCAmJiBpcDQuZHN0ID09IDQyLjQyLjQyLjQyLzMyKSwgYWN0 aW9uPShpcC50dGwtLTsgcmVnOFtbMC4uMTVdXSA9IDA7IHJlZzAgPSAxOTIuMTY4LjIuNDI7IGV0 aC5zcmMgPSAwMDowMDowMDowMDpmZjowMjsgb3V0cG9ydCA9ICJscnAyIjsgZmxhZ3MubG9vcGJh Y2sgPSAxOyByZWc5W1s5XV0gPSAxOyBuZXh0OykKKytdKQorKworK2NoZWNrX3V1aWQgb3ZuLXNi Y3RsIGNyZWF0ZSBMZWFybmVkX1JvdXRlIFwKKysgICAgZGF0YXBhdGg9JGRhdGFwYXRoICAgICAg ICAgICAgICAgICAgICBcCisrICAgIGxvZ2ljYWxfcG9ydD0kbHJwMyAgICAgICAgICAgICAgICAg ICAgXAorKyAgICBpcF9wcmVmaXg9NDIuNDIuNDIuNDIvMzIgICAgICAgICAgICAgIFwKKysgICAg bmV4dGhvcD0xOTIuMTY4LjMuNDIKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmMKKysK Kytvdm4tc2JjdGwgZHVtcC1mbG93cyBscjAgPiBscjBmbG93cworK0FUX0NIRUNLKFtncmVwIC13 ICJscl9pbl9pcF9yb3V0aW5nIiBscjBmbG93cyB8IGdyZXAgLUYgIjQyLjQyLjQyLjQyIiB8IG92 bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxyX2luX2lwX3JvdXRpbmcg ICApLCBwcmlvcml0eT0yNTggICwgbWF0Y2g9KHJlZzcgPT0gMCAmJiBpcDQuZHN0ID09IDQyLjQy LjQyLjQyLzMyKSwgYWN0aW9uPShpcC50dGwtLTsgZmxhZ3MubG9vcGJhY2sgPSAxOyByZWc4W1sw Li4xNV1dID0gMTsgcmVnOFtbMTYuLjMxXV0gPSBzZWxlY3QoMSwgMik7KQorK10pCisrCisrQVRf Q0hFQ0soW2dyZXAgImxyX2luX2lwX3JvdXRpbmdfZWNtcCIgbHIwZmxvd3MgfCBncmVwICI0MiIg fCBzZWQgLWUgJ3MvcmVnOFxbWzE2Li4zMVxdXSA9PSBbWzEyXV0vcmVnOFxbWzE2Li4zMVxdXSA9 PSA/Py9nJyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxyX2lu X2lwX3JvdXRpbmdfZWNtcCksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0ocmVnOFtbMC4uMTVdXSA9 PSAxICYmIHJlZzhbWzE2Li4zMV1dID09ID8/KSwgYWN0aW9uPShyZWcwID0gMTkyLjE2OC4yLjQy OyBldGguc3JjID0gMDA6MDA6MDA6MDA6ZmY6MDI7IG91dHBvcnQgPSAibHJwMiI7IHJlZzlbWzld XSA9IDE7IG5leHQ7KQorKyAgdGFibGU9Pz8obHJfaW5faXBfcm91dGluZ19lY21wKSwgcHJpb3Jp dHk9MTAwICAsIG1hdGNoPShyZWc4W1swLi4xNV1dID09IDEgJiYgcmVnOFtbMTYuLjMxXV0gPT0g Pz8pLCBhY3Rpb249KHJlZzAgPSAxOTIuMTY4LjMuNDI7IGV0aC5zcmMgPSAwMDowMDowMDowMDpm ZjowMzsgb3V0cG9ydCA9ICJscnAzIjsgcmVnOVtbOV1dID0gMTsgbmV4dDspCisrXSkKKysKKytP Vk5fQ0xFQU5VUF9OT1JUSEQKKytBVF9DTEVBTlVQCisrXSkKKysKKyBPVk5fRk9SX0VBQ0hfTk9S VEhEX05PX0hWKFsKKyBBVF9TRVRVUChbZHluYW1pYy1yb3V0aW5nIC0gcm91dGUgbGVhcm5pbmcg Y2xlYW51cCAtIHJvdXRlciByZWNyZWF0aW9uXSkKKyBBVF9LRVlXT1JEUyhbZHluYW1pYy1yb3V0 aW5nXSkKK0BAIC0xODQ2Nyw2ICsxODYyNiwyNiBAQCBPVk5fQ0xFQU5VUF9OT1JUSEQKKyBBVF9D TEVBTlVQCisgXSkKKyAKKytPVk5fRk9SX0VBQ0hfTk9SVEhEX05PX0hWKFsKKytBVF9TRVRVUChb RGF0YXBhdGggaW5jcmVtZW50YWwgcHJvY2Vzc2luZyBpbmRleCByZXVzZV0pCisrb3ZuX3N0YXJ0 CisrCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBscy1hZGQgc3ctb2xkCisrY2hlY2sgYXMg bm9ydGhkIG92bi1hcHBjdGwgLXQgb3ZuLW5vcnRoZCBpbmMtZW5naW5lL2NsZWFyLXN0YXRzCisr Y2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBscy1kZWwgc3ctb2xkIC0tIGxzLWFkZCBzdy1uZXcK KytjaGVja19lbmdpbmVfY29tcHV0ZSBub3J0aGQgcmVjb21wdXRlCisrQ0hFQ0tfTk9fQ0hBTkdF X0FGVEVSX1JFQ09NUFVURQorKworK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2IgbHItYWRkIGxy LW9sZAorK2NoZWNrIGFzIG5vcnRoZCBvdm4tYXBwY3RsIC10IG92bi1ub3J0aGQgaW5jLWVuZ2lu ZS9jbGVhci1zdGF0cworK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2IgbHItZGVsIGxyLW9sZCAt LSBsci1hZGQgbHItbmV3CisrY2hlY2tfZW5naW5lX2NvbXB1dGUgbm9ydGhkIHJlY29tcHV0ZQor K0NIRUNLX05PX0NIQU5HRV9BRlRFUl9SRUNPTVBVVEUKKysKKytPVk5fQ0xFQU5VUF9OT1JUSEQK KytBVF9DTEVBTlVQCisrXSkKKysKKyBPVk5fRk9SX0VBQ0hfTk9SVEhEX05PX0hWKFsKKyBBVF9T RVRVUChbU3luY2VkIGxvZ2ljYWwgc3dpdGNoIGFuZCByb3V0ZXIgaW5jcmVtZW50YWwgcHJvY2Vz ZXNpbmddKQorIG92bl9zdGFydAorQEAgLTE5MzQ1LDYgKzE5NTI0LDcgQEAgY2hlY2sgb3ZuLW5i Y3RsIGxzLWFkZCAkbmZzdworIGZvciBpIGluIHsxLi40fTsgZG8KKyAgICAgcG9ydD0kbmZzdy1w JGkKKyAgICAgY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgJG5mc3cgJHBvcnQKKysgICAgY2hlY2sg b3ZuLW5iY3RsIC0td2FpdD1zYiBzeW5jCisgICAgIGNoZWNrIG92bi1zYmN0bCBzZXQgcG9ydF9i aW5kaW5nICRwb3J0IHVwPXRydWUKKyAgICAgY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgJHN3IGNo aWxkLSRpICRwb3J0IDEwMAorIGRvbmUKK0BAIC0xOTY5MywxNzcgKzE5ODczLDYgQEAgT1ZOX0NM RUFOVVBfTk9SVEhECisgQVRfQ0xFQU5VUAorIF0pCisgCistT1ZOX0ZPUl9FQUNIX05PUlRIRF9O T19IVihbCistQVRfU0VUVVAoW0xvZ2ljYWwgU3dpdGNoIEFSUCBmaWx0ZXJpbmddKQorLW92bl9z dGFydAorLQorLWNoZWNrIG92bi1uYmN0bCBsci1hZGQgbHIxCistY2hlY2sgb3ZuLW5iY3RsIGxy cC1hZGQgbHIxIGRvd25fbGluayBmMDowMDowMDowMDowMDpmMSAxOTIuMTY4LjEuMS8yNAorLQor LWNoZWNrIG92bi1uYmN0bCBscy1hZGQgbHMxCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgbHMx IHVwX2xpbmsKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgZG93bl92aWYxCistY2hlY2sg b3ZuLW5iY3RsIGxzcC1hZGQgbHMxIGRvd25fdmlmMgorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRk IGxzMSBkb3duX2V4dAorLQorLWNoZWNrIG92bi1uYmN0bCBzZXQgTG9naWNhbF9Td2l0Y2hfUG9y dCB1cF9saW5rIFwKKy0gICAgdHlwZT1yb3V0ZXIgXAorLSAgICBvcHRpb25zOnJvdXRlci1wb3J0 PWRvd25fbGluayBcCistICAgIGFkZHJlc3Nlcz1yb3V0ZXIKKy0KKy1jaGVjayBvdm4tbmJjdGwg bHNwLXNldC1hZGRyZXNzZXMgZG93bl92aWYxICdmMDowMDowMDowMDowMDowMSAxOTIuMTY4LjEu MTAxJworLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBkb3duX3ZpZjIgJ2YwOjAw OjAwOjAwOjAwOjAyIDE5Mi4xNjguMS4xMDInCistY2hlY2sgb3ZuLW5iY3RsIGxycC1zZXQtZ2F0 ZXdheS1jaGFzc2lzIGRvd25fbGluayBodjEKKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5 bmMKKy1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9hcHBs eV9wb3J0X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxz X2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShu ZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAs IG1hdGNoPShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLV0pCistCistIyBDaGVj ayBsb2NhbG5ldCBwb3J0IGFkZGluZ3MgdHJpZ2dlciBscy1hcnAgZmxvdworLWNoZWNrIG92bi1u YmN0bCAtLXdhaXQ9c2IgbHNwLXNldC10eXBlIGRvd25fZXh0IGxvY2FsbmV0CistQVRfQ0hFQ0so W292bi1zYmN0bCBsZmxvdy1saXN0IGxzMSB8IGdyZXAgbHNfaW5fYXBwbHlfcG9ydF9zZWMgfCBv dm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0 X3NlYyksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCistICB0YWJs ZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0ocmVnMFtb MTVdXSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRf c2VjKSwgcHJpb3JpdHk9NzAgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249KGRy b3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwg bWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1kb3duX2xp bmsiKSksIGFjdGlvbj0obmV4dDspCistXSkKKy0KKy0jIENoZWNrIG5hdCBhZGRpbmcgdG8gZGdy IGF0dGFjaGVkIHRvIGxvZ2ljYWwgc3dpdGNoIHRyaWdnZXIgbHMtYXJwIGZsb3cuCistY2hlY2sg b3ZuLW5iY3RsIGxyLW5hdC1hZGQgbHIxIGRuYXRfYW5kX3NuYXQgMTkyLjE2OC4wLjQgMTAuMC4w LjQKKy1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjEgZG5hdF9hbmRfc25hdCAxOTIuMTY4 LjAuMyAxMC4wLjAuMyBkb3duX3ZpZjEgZjA6MDA6MDA6MDA6MDA6MDMKKy1jaGVjayBvdm4tbmJj dGwgLS13YWl0PXNiIHN5bmMKKy1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwg Z3JlcCBsc19pbl9hcHBseV9wb3J0X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwK Ky0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNo PSgxKSwgYWN0aW9uPShuZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwg cHJpb3JpdHk9NTAgICAsIG1hdGNoPShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQor LSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03MCAgICwgbWF0Y2g9 KHJlZzBbWzIyXV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBs eV9wb3J0X3NlYyksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGlz X2NoYXNzaXNfcmVzaWRlbnQoImNyLWRvd25fbGluayIpKSwgYWN0aW9uPShuZXh0OykKKy0gIHRh YmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9ODUgICAsIG1hdGNoPShyZWcw W1syMl1dID09IDEgJiYgYXJwLnRwYSA9PSAxOTIuMTY4LjAuMyAmJiBpc19jaGFzc2lzX3Jlc2lk ZW50KCJkb3duX3ZpZjEiKSksIGFjdGlvbj0obmV4dDspCistXSkKKy0KKy1jaGVjayBvdm4tbmJj dGwgLS13YWl0PXNiIGxyLW5hdC1kZWwgbHIxIGRuYXRfYW5kX3NuYXQgMTkyLjE2OC4wLjMKKy1B VF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0 X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2Fw cGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykK Ky0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNo PShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBw bHlfcG9ydF9zZWMpLCBwcmlvcml0eT03MCAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSksIGFj dGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5 PTc1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNy LWRvd25fbGluayIpKSwgYWN0aW9uPShuZXh0OykKKy1dKQorLQorLSMgQ2hlY2sgY2hhbmdpbmcg bG9naWNhbCBwb3J0IHR5cGUgdG8gbDJnYXRld2F5LgorLWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9 c2IgbHNwLXNldC10eXBlIGRvd25fZXh0IGwyZ2F0ZXdheQorLUFUX0NIRUNLKFtvdm4tc2JjdGwg bGZsb3ctbGlzdCBsczEgfCBncmVwIGxzX2luX2FwcGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xm bG93c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlv cml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5f YXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSks IGFjdGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9y aXR5PTcwICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRh YmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NzUgICAsIG1hdGNoPShyZWcw W1syMl1dID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItZG93bl9saW5rIikpLCBhY3Rp b249KG5leHQ7KQorLV0pCistCistIyBDaGVjayBjaGFuZ2luZyBsb2dpY2FsIHBvcnQgdHlwZSB0 byB2aWYuCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBsc3Atc2V0LXR5cGUgZG93bl9leHQg JycKKy1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9hcHBs eV9wb3J0X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxz X2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShu ZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAs IG1hdGNoPShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLV0pCistCistIyBDaGVj ayBjaGFuZ2luZyBsb2dpY2FsIHBvcnQgdHlwZSBiYWNrIHRvIGxvY2FsbmV0LgorLWNoZWNrIG92 bi1uYmN0bCAtLXdhaXQ9c2IgbHNwLXNldC10eXBlIGRvd25fZXh0IGxvY2FsbmV0CistQVRfQ0hF Q0soW292bi1zYmN0bCBsZmxvdy1saXN0IGxzMSB8IGdyZXAgbHNfaW5fYXBwbHlfcG9ydF9zZWMg fCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9w b3J0X3NlYyksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCistICB0 YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0ocmVn MFtbMTVdXSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3Bv cnRfc2VjKSwgcHJpb3JpdHk9NzAgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249 KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAg ICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1kb3du X2xpbmsiKSksIGFjdGlvbj0obmV4dDspCistXSkKKy0KKy0jIENoZWNrIGNoYW5naW5nIHJlbW92 aW5nIGxvZ2ljYWwgcG9ydC4KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzcC1kZWwgZG93 bl9leHQKKy1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9h cHBseV9wb3J0X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/ KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9u PShuZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAg ICAsIG1hdGNoPShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLV0pCistCistT1ZO X0NMRUFOVVBfTk9SVEhECistQVRfQ0xFQU5VUAorLV0pCistCistT1ZOX0ZPUl9FQUNIX05PUlRI RF9OT19IVihbCistQVRfU0VUVVAoW0xvZ2ljYWwgU3dpdGNoIEFSUCBmaWx0ZXJpbmcgLSBvbmx5 IGRpc3RyaWJ1dGVkIE5BVHNdKQorLW92bl9zdGFydAorLQorLWNoZWNrIG92bi1zYmN0bCBjaGFz c2lzLWFkZCBjaDEgZ2VuZXZlIDEyNy4wLjAuMQorLQorLWNoZWNrIG92bi1uYmN0bCBscy1hZGQg c3cwCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgc3cwIHN3MC1wb3J0MQorLWNoZWNrIG92bi1u YmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBzdzAtcG9ydDEgIjUwOjU0OjAwOjAwOjAwOjAzIDEwLjAu MC4zIDEwLjAuMC41IgorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIHN3MCBzdzAtcG9ydDIKKy1j aGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNzZXMgc3cwLXBvcnQyICI1MDo1NDowMDowMDow MDowNCAxMC4wLjAuNCAxMC4wLjAuNiIKKy0KKy0jIENyZWF0ZSBhIGxvZ2ljYWwgcm91dGVyIGFu ZCBhdHRhY2ggYm90aCBsb2dpY2FsIHN3aXRjaGVzCistY2hlY2sgb3ZuLW5iY3RsIGxyLWFkZCBs cjAKKy1jaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBscjAgbHIwLXN3MCAwMDowMDowMDowMDpmZjow MSAxMC4wLjAuMS8yNCAxMDAwOjphLzY0CistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQtcm91dGVy LXBvcnQgc3cwIHN3MC1scjAgbHIwLXN3MAorLQorLQorLWNoZWNrIG92bi1uYmN0bCBscy1hZGQg cHVibGljCistY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgbHIwIGxyMC1wdWJsaWMgMDA6MDA6MjA6 MjA6MTI6MTMgMTcyLjE2OC4wLjEwMC8yNAorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIHB1Ymxp YyBwdWJsaWMtbHIwIC0tIHNldCBMb2dpY2FsX1N3aXRjaF9Qb3J0IHB1YmxpYy1scjAgXAorLSAg ICB0eXBlPXJvdXRlciBvcHRpb25zOnJvdXRlci1wb3J0PWxyMC1wdWJsaWMgXAorLSAgICAtLSBs c3Atc2V0LWFkZHJlc3NlcyBwdWJsaWMtbHIwIHJvdXRlcgorLQorLWNoZWNrIG92bi1uYmN0bCBs cnAtc2V0LWdhdGV3YXktY2hhc3NpcyBscjAtcHVibGljIGh2MQorLQorLSMgbG9jYWxuZXQgcG9y dAorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkLWxvY2FsbmV0LXBvcnQgcHVibGljIGxuLXB1Ymxp YyBwdWJsaWMKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25h dCAxNzIuMTY4LjAuNTAgMTAuMC4wLjMgc3cwLXBvcnQxIGYwOjAwOjAwOjAwOjAwOjAzCistY2hl Y2sgb3ZuLW5iY3RsIGxyLW5hdC1hZGQgbHIwIGRuYXRfYW5kX3NuYXQgMTcyLjE2OC4wLjU1IDEw LjAuMC41IHN3MC1wb3J0MSBmMDowMDowMDowMDowMDowMworLWNoZWNrIG92bi1uYmN0bCBsci1u YXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDE3Mi4xNjguMC42MCAxMC4wLjAuNCBzdzAtcG9ydDIg ZjA6MDA6MDA6MDA6MDA6MDQKKy1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9h bmRfc25hdCAxNzIuMTY4LjAuNjYgMTAuMC4wLjYgc3cwLXBvcnQyIGYwOjAwOjAwOjAwOjAwOjA0 CistCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBzeW5jCistCistQVRfQ0hFQ0soW292bi1z YmN0bCBsZmxvdy1saXN0IHB1YmxpYyB8IGdyZXAgbHNfaW5fYXBwbHlfcG9ydF9zZWMgfCBvdm5f c3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3Nl YyksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/ Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0ocmVnMFtbMTVd XSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2Vj KSwgcHJpb3JpdHk9NzAgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249KGRyb3A7 KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwgbWF0 Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1scjAtcHVibGlj IikpLCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBw cmlvcml0eT04NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBhID09IDE3Mi4x NjguMC41MCAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9ydDEiKSksIGFjdGlvbj0obmV4 dDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTg1ICAgLCBt YXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGFycC50cGEgPT0gMTcyLjE2OC4wLjU1ICYmIGlzX2No YXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0MSIpKSwgYWN0aW9uPShuZXh0OykKKy0gIHRhYmxlPT8/ KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9ODUgICAsIG1hdGNoPShyZWcwW1syMl1d ID09IDEgJiYgYXJwLnRwYSA9PSAxNzIuMTY4LjAuNjAgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgi c3cwLXBvcnQyIikpLCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9y dF9zZWMpLCBwcmlvcml0eT04NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBh ID09IDE3Mi4xNjguMC42NiAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9ydDIiKSksIGFj dGlvbj0obmV4dDspCistXSkKKy0KKy1vdm4tbmJjdGwgc2hvdworLW92bi1zYmN0bCBzaG93Cist CistY2hlY2sgb3ZuLW5iY3RsIGNsZWFyIGxvZ2ljYWxfcm91dGVyX3BvcnQgbHIwLXB1YmxpYyBn YXRld2F5X2NoYXNzaXMKKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmMKKy0KKy1BVF9D SEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgcHVibGljIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0 X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2Fw cGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykK Ky0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNo PShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLV0pCistCistY2hlY2sgb3ZuLW5i Y3RsIC0td2FpdD1zYiBoYS1jaGFzc2lzLWdyb3VwLWFkZCBoYWdycDEKKy1jaGVjayBvdm4tbmJj dGwgLS13YWl0PXNiIGhhLWNoYXNzaXMtZ3JvdXAtYWRkLWNoYXNzaXMgaGFncnAxIGNoMSAzMAor LWhhZ3JwMV91dWlkPSQoZmV0Y2hfY29sdW1uIG5iOmhhX2NoYXNzaXNfZ3JvdXAgX3V1aWQgbmFt ZT1oYWdycDEpCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBzZXQgbG9naWNhbF9yb3V0ZXJf cG9ydCBscjAtcHVibGljIGhhX2NoYXNzaXNfZ3JvdXA9JGhhZ3JwMV91dWlkCistY2hlY2sgb3Zu LW5iY3RsIC0td2FpdD1zYiBzeW5jCistCistQVRfQ0hFQ0soW292bi1zYmN0bCBsZmxvdy1saXN0 IHB1YmxpYyB8IGdyZXAgbHNfaW5fYXBwbHlfcG9ydF9zZWMgfCBvdm5fc3RyaXBfbGZsb3dzXSwg WzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTAg ICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9w b3J0X3NlYyksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0ocmVnMFtbMTVdXSA9PSAxKSwgYWN0aW9u PShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NzAg ICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8o bHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0g PT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1scjAtcHVibGljIikpLCBhY3Rpb249KG5l eHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT04NSAgICwg bWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBhID09IDE3Mi4xNjguMC41MCAmJiBpc19j aGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9ydDEiKSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/ Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTg1ICAgLCBtYXRjaD0ocmVnMFtbMjJd XSA9PSAxICYmIGFycC50cGEgPT0gMTcyLjE2OC4wLjU1ICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQo InN3MC1wb3J0MSIpKSwgYWN0aW9uPShuZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3Bv cnRfc2VjKSwgcHJpb3JpdHk9ODUgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEgJiYgYXJwLnRw YSA9PSAxNzIuMTY4LjAuNjAgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgic3cwLXBvcnQyIikpLCBh Y3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0 eT04NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBhID09IDE3Mi4xNjguMC42 NiAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9ydDIiKSksIGFjdGlvbj0obmV4dDspCist XSkKKy0KKy1PVk5fQ0xFQU5VUF9OT1JUSEQKKy1BVF9DTEVBTlVQCistXSkKKy0KKyBPVk5fRk9S X0VBQ0hfTk9SVEhEX05PX0hWKFsKKyBBVF9TRVRVUChbSUdNUCBub3J0aGQgY3Jhc2hdKQorIG92 bl9zdGFydAorQEAgLTIwMDg0LDE0ICsyMDA5Myw2IEBAIEFUX0NIRUNLKFtjYXQgbHIxX2xmbG93 c19iZWZvcmUgfCBncmVwIGxyX2luX2RuYXQgfCBncmVwIHByaW9yaXR5PTEyMCB8IG92bl9zdHJp CisgICB0YWJsZT0/Pyhscl9pbl9kbmF0ICAgICAgICAgKSwgcHJpb3JpdHk9MTIwICAsIG1hdGNo PShjdC5uZXcgJiYgIWN0LnJlbCAmJiBpcDYgJiYgaXA2LmRzdCA9PSAyMDAwOjoxICYmIHJlZzFb WzE2Li4yM11dID09IDYgJiYgcmVnMVtbMC4uMTVdXSA9PSA4MCAmJiBpc19jaGFzc2lzX3Jlc2lk ZW50KCJjci1scjEtdXAiKSksIGFjdGlvbj0oY3RfbGJfbWFyayhiYWNrZW5kcz1bWzIwMDE6ZGI4 OmFiY2Q6MTo6Ml1dOjEwODgyKTspCisgXSkKKyAKKy1BVF9DSEVDSyhbY2F0IG91dHNpZGVfbGZs b3dzX2JlZm9yZSB8IGdyZXAgbHNfaW5fY2hlY2tfcG9ydF9zZWMgfCBncmVwIHByaW9yaXR5PTc1 IHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8obHNfaW5fY2hlY2tf cG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwgbWF0Y2g9KGFycC5vcCA9PSAxICYmIGlucG9ydCA9 PSAib3V0c2lkZSIpLCBhY3Rpb249KHJlZzBbWzIyXV0gPSAxOyBuZXh0OykKKy1dKQorLQorLUFU X0NIRUNLKFtjYXQgb3V0c2lkZV9sZmxvd3NfYmVmb3JlIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0 X3NlYyB8IGdyZXAgcHJpb3JpdHk9NzUgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCist ICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0o cmVnMFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLWxyMS11cCIpKSwgYWN0 aW9uPShuZXh0OykKKy1dKQorLQorIGNoZWNrIG92bi1uYmN0bCBjbGVhciBsb2dpY2FsX3JvdXRl cl9wb3J0ICRscjFfdXBfdXVpZCBoYV9jaGFzc2lzX2dyb3VwCisgY2hlY2sgb3ZuLW5iY3RsIGhh LWNoYXNzaXMtZ3JvdXAtZGVsIGdhdGV3YXkKKyBjaGVjayBvdm4tbmJjdGwgaGEtY2hhc3Npcy1n cm91cC1hZGQgZ2F0ZXdheTIKK0BAIC0yMDE0MywxNCArMjAxNDQsNiBAQCBBVF9DSEVDSyhbY2F0 IGxyMV9sZmxvd3NfYWZ0ZXIgfCBncmVwIGxyX2luX2RuYXQgfCBncmVwIHByaW9yaXR5PTEyMCB8 IG92bl9zdHJpcAorICAgdGFibGU9Pz8obHJfaW5fZG5hdCAgICAgICAgICksIHByaW9yaXR5PTEy MCAgLCBtYXRjaD0oY3QubmV3ICYmICFjdC5yZWwgJiYgaXA2ICYmIGlwNi5kc3QgPT0gMjAwMDo6 MSAmJiByZWcxW1sxNi4uMjNdXSA9PSA2ICYmIHJlZzFbWzAuLjE1XV0gPT0gODAgJiYgaXNfY2hh c3Npc19yZXNpZGVudCgiY3ItbHIxLXVwIikpLCBhY3Rpb249KGN0X2xiX21hcmsoYmFja2VuZHM9 W1syMDAxOmRiODphYmNkOjE6OjJdXToxMDg4Mik7KQorIF0pCisgCistQVRfQ0hFQ0soW2NhdCBv dXRzaWRlX2xmbG93c19hZnRlciB8IGdyZXAgbHNfaW5fY2hlY2tfcG9ydF9zZWMgfCBncmVwIHBy aW9yaXR5PTc1IHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8obHNf aW5fY2hlY2tfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwgbWF0Y2g9KGFycC5vcCA9PSAxICYm IGlucG9ydCA9PSAib3V0c2lkZSIpLCBhY3Rpb249KHJlZzBbWzIyXV0gPSAxOyBuZXh0OykKKy1d KQorLQorLUFUX0NIRUNLKFtjYXQgb3V0c2lkZV9sZmxvd3NfYWZ0ZXIgfCBncmVwIGxzX2luX2Fw cGx5X3BvcnRfc2VjIHwgZ3JlcCBwcmlvcml0eT03NSB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0s IFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NzUgICAs IG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249KG5leHQ7KQorLV0pCistCisgY2hlY2sg b3ZuLW5iY3RsIC0td2FpdD1zYiBzZXQgbG9hZF9iYWxhbmNlciBsYjFfaXB2NiBvcHRpb25zOmRp c3RyaWJ1dGVkPXRydWUKKyAKKyBvdm4tc2JjdGwgbGZsb3ctbGlzdCBvdXRzaWRlID4gb3V0c2lk ZV9sZmxvd3NfYWZ0ZXIKK2RpZmYgLS1naXQgYS90ZXN0cy9vdm4tcGVyZm9ybWFuY2UuYXQgYi90 ZXN0cy9vdm4tcGVyZm9ybWFuY2UuYXQKK2luZGV4IDJiY2NiYjA2ZGQuLjExNDkxNzgzMmIgMTAw NjQ0CistLS0gYS90ZXN0cy9vdm4tcGVyZm9ybWFuY2UuYXQKKysrKyBiL3Rlc3RzL292bi1wZXJm b3JtYW5jZS5hdAorQEAgLTM4Niw2ICszODYsMTMgQEAgZm9yIGkgaW4gMSAyOyBkbworICAgICBk b25lCisgZG9uZQorIAorKyMgQ2hlY2sgdGhhdCBhZGRpbmcgYSBuZXcgcG9ydCB3aXRoIGEgbm9u LWRlZmF1bHQgdHlwZSBkb2VzIG5vdCB0cmlnZ2VyCisrIyBhIHBoeXNpY2FsX3J1bi4KKytPVk5f Q09OVFJPTExFUl9FWFBFQ1RfTk9fSElUKAorKyAgICBbaHYxIGh2Ml0sIFtwaHlzaWNhbF9ydW5d LAorKyAgICBbb3ZuLW5iY3RsIC0td2FpdD1odiBsc3AtYWRkIGxzMSBsc3AtcmVtb3RlIC0tIGxz cC1zZXQtdHlwZSBsc3AtcmVtb3RlIHJlbW90ZV0KKyspCisrCisgZm9yIGkgaW4gMSAyOyBkbwor ICAgICBqPSQoKGklMiArIDEpKQorICAgICBhcz1hcyRpCitkaWZmIC0tZ2l0IGEvdGVzdHMvb3Zu LmF0IGIvdGVzdHMvb3ZuLmF0CitpbmRleCBlNmNiNTk5NWFmLi41ZTBlZDI2MzVlIDEwMDY0NAor LS0tIGEvdGVzdHMvb3ZuLmF0CisrKysgYi90ZXN0cy9vdm4uYXQKK0BAIC0xMDE4NCw2ICsxMDE4 NCwxOTkgQEAgT1ZOX0NMRUFOVVAoW2h2MV0pCisgQVRfQ0xFQU5VUAorIF0pCisgCisrT1ZOX0ZP Ul9FQUNIX05PUlRIRChbCisrQVRfU0VUVVAoW0FSUC9ORCBmcm9tIGxvY2FsbmV0IC0tIHByb3h5 IHJlcGx5IG9uIHJlc2lkZW50IGNoYXNzaXMgb25seV0pCisrQVRfU0tJUF9JRihbdGVzdCAkSEFW RV9TQ0FQWSA9IG5vXSkKKytvdm5fc3RhcnQKKysKKytkbmwgQ3JlYXRlIGxvZ2ljYWwgc3dpdGNo IHdpdGggbG9jYWxuZXQgcG9ydC4KKytjaGVjayBvdm4tbmJjdGwgbHMtYWRkIGxzMQorK2NoZWNr IG92bi1uYmN0bCBsc3AtYWRkLWxvY2FsbmV0LXBvcnQgbHMxIGxuMSBwaHlzbmV0MQorK2NoZWNr IG92bi1uYmN0bCBsc3AtYWRkIGxzMSB2bTEgXAorKyAgICAtLSBsc3Atc2V0LWFkZHJlc3NlcyB2 bTEgImYwOjAwOjAwOjAwOjAwOjAxIDEwLjAuMC4xIGZkMDE6OjEiCisrY2hlY2sgb3ZuLW5iY3Rs IGxzcC1hZGQgbHMxIHZtMiBcCisrICAgIC0tIGxzcC1zZXQtYWRkcmVzc2VzIHZtMiAiZjA6MDA6 MDA6MDA6MDA6MDIgMTAuMC4wLjIgZmQwMTo6MiIKKysKKytkbmwgVHdvIGh5cGVydmlzb3JzIHdp dGggYnJpZGdlLW1hcHBpbmdzLgorK25ldF9hZGQgbjEKKysKKytzaW1fYWRkIGh2MQorK2FzIGh2 MQorK292cy12c2N0bCBcCisrICAgIC0tIGFkZC1iciBici1waHlzIFwKKysgICAgLS0gYWRkLWJy IGJyLWV0aDAKKytvdm5fYXR0YWNoIG4xIGJyLXBoeXMgMTkyLjE2OC4wLjEKKytjaGVjayBvdnMt dnNjdGwgc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdz PXBoeXNuZXQxOmJyLWV0aDAKKytjaGVjayBvdnMtdnNjdGwgYWRkLXBvcnQgYnItZXRoMCBzbm9v cHZpZjEgXAorKyAgICAtLSBzZXQgSW50ZXJmYWNlIHNub29wdmlmMSBvcHRpb25zOnR4X3BjYXA9 aHYxL3Nub29wdmlmLXR4LnBjYXAgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3B0aW9uczpyeHFfcGNhcD1odjEvc25vb3B2aWYtcngucGNhcAorK2NoZWNrIG92cy12c2N0bCBh ZGQtcG9ydCBici1pbnQgdm0xIFwKKysgICAgLS0gc2V0IEludGVyZmFjZSB2bTEgZXh0ZXJuYWwt aWRzOmlmYWNlLWlkPXZtMSBcCisrICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6dHhf cGNhcD1odjEvdm0xLXR4LnBjYXAgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25z OnJ4cV9wY2FwPWh2MS92bTEtcngucGNhcAorKworK3NpbV9hZGQgaHYyCisrYXMgaHYyCisrb3Zz LXZzY3RsIFwKKysgICAgLS0gYWRkLWJyIGJyLXBoeXMgXAorKyAgICAtLSBhZGQtYnIgYnItZXRo MAorK292bl9hdHRhY2ggbjEgYnItcGh5cyAxOTIuMTY4LjAuMgorK2NoZWNrIG92cy12c2N0bCBz ZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cGh5c25l dDE6YnItZXRoMAorK2NoZWNrIG92cy12c2N0bCBhZGQtcG9ydCBici1ldGgwIHNub29wdmlmMiBc CisrICAgIC0tIHNldCBJbnRlcmZhY2Ugc25vb3B2aWYyIG9wdGlvbnM6dHhfcGNhcD1odjIvc25v b3B2aWYtdHgucGNhcCBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25z OnJ4cV9wY2FwPWh2Mi9zbm9vcHZpZi1yeC5wY2FwCisrY2hlY2sgb3ZzLXZzY3RsIGFkZC1wb3J0 IGJyLWludCB2bTIgXAorKyAgICAtLSBzZXQgSW50ZXJmYWNlIHZtMiBleHRlcm5hbC1pZHM6aWZh Y2UtaWQ9dm0yIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczp0eF9wY2FwPWh2 Mi92bTItdHgucGNhcCBcCisrICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6cnhxX3Bj YXA9aHYyL3ZtMi1yeC5wY2FwCisrCisrd2FpdF9mb3JfcG9ydHNfdXAgdm0xIHZtMgorK09WTl9Q T1BVTEFURV9BUlAKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKysKKytkbmwgSGVs cGVyOiBjb25zdHJ1Y3QgQVJQIHJlcXVlc3QuCisrYnVpbGRfYXJwX3JlcXVlc3QoKSB7CisrICAg IGxvY2FsIHNoYT0kMSBzcGE9JDIgdHBhPSQzCisrICAgIGZtdF9wa3QgIkV0aGVyKGRzdD0nZmY6 ZmY6ZmY6ZmY6ZmY6ZmYnLCBzcmM9JyR7c2hhfScpLyBcCisrICAgICAgICAgICAgIEFSUChod3Ny Yz0nJHtzaGF9JywgaHdkc3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywgXAorKyAgICAgICAgICAgICAg ICAgcHNyYz0nJHtzcGF9JywgcGRzdD0nJHt0cGF9JykiCisrfQorKworK2RubCBIZWxwZXI6IGNv bnN0cnVjdCBleHBlY3RlZCBBUlAgcmVwbHkuCisrYnVpbGRfYXJwX3JlcGx5KCkgeworKyAgICBs b2NhbCByZXFfc2hhPSQxIHJlcV9zcGE9JDIgcmVwbHlfc2hhPSQzIHJlcGx5X3NwYT0kNAorKyAg ICBmbXRfcGt0ICJFdGhlcihkc3Q9JyR7cmVxX3NoYX0nLCBzcmM9JyR7cmVwbHlfc2hhfScpLyBc CisrICAgICAgICAgICAgIEFSUChvcD0yLCBod3NyYz0nJHtyZXBseV9zaGF9JywgaHdkc3Q9JyR7 cmVxX3NoYX0nLCBcCisrICAgICAgICAgICAgICAgICBwc3JjPScke3JlcGx5X3NwYX0nLCBwZHN0 PScke3JlcV9zcGF9JykiCisrfQorKworK2RubCBIZWxwZXI6IGNvbnN0cnVjdCBORCBzb2xpY2l0 YXRpb24uCisrYnVpbGRfbmRfbnMoKSB7CisrICAgIGxvY2FsIHNoYT0kMSBzcGE9JDIgdHBhPSQz IHNvbF9tY2FzdD0kNAorKyAgICBmbXRfcGt0ICJFdGhlcihkc3Q9JzMzOjMzOmZmOjAwOjAwOjAk e3RwYSMjKjp9Jywgc3JjPScke3NoYX0nKS8gXAorKyAgICAgICAgICAgICBJUHY2KHNyYz0nJHtz cGF9JywgZHN0PScke3NvbF9tY2FzdH0nKS8gXAorKyAgICAgICAgICAgICBJQ01QdjZORF9OUyh0 Z3Q9JyR7dHBhfScpLyBcCisrICAgICAgICAgICAgIElDTVB2Nk5ET3B0U3JjTExBZGRyKGxsYWRk cj0nJHtzaGF9JykiCisrfQorKworK2RubCBIZWxwZXI6IGNvbnN0cnVjdCBleHBlY3RlZCBORCBh ZHZlcnRpc2VtZW50LgorK2J1aWxkX25kX25hKCkgeworKyAgICBsb2NhbCByZXFfc2hhPSQxIHJl cV9zcGE9JDIgcmVwbHlfc2hhPSQzIHJlcGx5X3RndD0kNAorKyAgICBmbXRfcGt0ICJFdGhlcihk c3Q9JyR7cmVxX3NoYX0nLCBzcmM9JyR7cmVwbHlfc2hhfScpLyBcCisrICAgICAgICAgICAgIElQ djYoc3JjPScke3JlcGx5X3RndH0nLCBkc3Q9JyR7cmVxX3NwYX0nKS8gXAorKyAgICAgICAgICAg ICBJQ01QdjZORF9OQSh0Z3Q9JyR7cmVwbHlfdGd0fScsIFI9MCwgUz0xLCBPPTEpLyBcCisrICAg ICAgICAgICAgIElDTVB2Nk5ET3B0RHN0TExBZGRyKGxsYWRkcj0nJHtyZXBseV9zaGF9JykiCisr fQorKworK3Rlc3RfYXJwX25kX2xvY2FsbmV0KCkgeworKyAgICBBU19CT1goW0FSUCBmcm9tIGxv Y2FsbmV0IG9uIGh2MSBmb3Igdm0xIC0gZXhwZWN0IHJlcGx5XSkKKysgICAgYXMgaHYxIHJlc2V0 X3BjYXBfZmlsZSBzbm9vcHZpZjEgaHYxL3Nub29wdmlmCisrICAgIGFzIGh2MiByZXNldF9wY2Fw X2ZpbGUgc25vb3B2aWYyIGh2Mi9zbm9vcHZpZgorKyAgICBhcyBodjEgcmVzZXRfcGNhcF9maWxl IHZtMSBodjEvdm0xCisrICAgIGFzIGh2MiByZXNldF9wY2FwX2ZpbGUgdm0yIGh2Mi92bTIKKysK KysgICAgZG5sIEFSUCByZXF1ZXN0IGZyb20gYnItZXRoMCBvbiBodjEgZm9yIHZtMSAoMTAuMC4w LjEpLgorKyAgICBkbmwgdm0xIGlzIHJlc2lkZW50IG9uIGh2MSwgc28gaHYxIHNob3VsZCByZXBs eS4KKysgICAgbG9jYWwgYXJwX3JlcT0kKGJ1aWxkX2FycF9yZXF1ZXN0ICJmMDowMDowMDowMDow MDo5OSIgIjEwLjAuMC45OSIgIjEwLjAuMC4xIikKKysgICAgYXMgaHYxIG92cy1hcHBjdGwgbmV0 ZGV2LWR1bW15L3JlY2VpdmUgc25vb3B2aWYxICRhcnBfcmVxCisrICAgIGxvY2FsIGFycF9yZXA9 JChidWlsZF9hcnBfcmVwbHkgImYwOjAwOjAwOjAwOjAwOjk5IiAiMTAuMC4wLjk5IiBcCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImYwOjAwOjAwOjAwOjAwOjAxIiAiMTAu MC4wLjEiKQorKyAgICBlY2hvICRhcnBfcmVwID4gZXhwZWN0ZWRfYXJwX3JlcGx5CisrICAgIE9W Tl9DSEVDS19QQUNLRVRTX0NPTlRBSU4oW2h2MS9zbm9vcHZpZi10eC5wY2FwXSwgW2V4cGVjdGVk X2FycF9yZXBseV0pCisrCisrICAgIEFTX0JPWChbQVJQIGZyb20gbG9jYWxuZXQgb24gaHYyIGZv ciB2bTEgLSBleHBlY3Qgbm8gcmVwbHldKQorKyAgICBhcyBodjIgcmVzZXRfcGNhcF9maWxlIHNu b29wdmlmMiBodjIvc25vb3B2aWYKKysKKysgICAgZG5sIEFSUCByZXF1ZXN0IGZyb20gYnItZXRo MCBvbiBodjIgZm9yIHZtMSAoMTAuMC4wLjEpLgorKyAgICBkbmwgdm0xIGlzIE5PVCByZXNpZGVu dCBvbiBodjIsIHNvIGh2MiBzaG91bGQgTk9UIHJlcGx5LgorKyAgICBkbmwgVG8gYXZvaWQgcmVs eWluZyBvbiBzbGVlcCwgd2UgYWxzbyBzZW5kIGFuIEFSUCByZXF1ZXN0IGZvciB2bTIKKysgICAg ZG5sICh3aGljaCBJUyByZXNpZGVudCBvbiBodjIpIGFuZCB3YWl0IGZvciB0aGF0IHJlcGx5LiAg VGhpcyBwcm92ZXMKKysgICAgZG5sIHRoZSBwaXBlbGluZSBpcyBydW5uaW5nIGFuZCBhbnkgcmVw bHkgZm9yIHZtMSB3b3VsZCBoYXZlIGFwcGVhcmVkLgorKyAgICBhcyBodjIgb3ZzLWFwcGN0bCBu ZXRkZXYtZHVtbXkvcmVjZWl2ZSBzbm9vcHZpZjIgJGFycF9yZXEKKysKKysgICAgbG9jYWwgYXJw X3JlcV92bTI9JChidWlsZF9hcnBfcmVxdWVzdCAiZjA6MDA6MDA6MDA6MDA6OTkiICIxMC4wLjAu OTkiICIxMC4wLjAuMiIpCisrICAgIGFzIGh2MiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNl aXZlIHNub29wdmlmMiAkYXJwX3JlcV92bTIKKysgICAgbG9jYWwgYXJwX3JlcF92bTI9JChidWls ZF9hcnBfcmVwbHkgImYwOjAwOjAwOjAwOjAwOjk5IiAiMTAuMC4wLjk5IiBcCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmMDowMDowMDowMDowMDowMiIgIjEwLjAu MC4yIikKKysgICAgZWNobyAkYXJwX3JlcF92bTIgPiBleHBlY3RlZF9hcnBfdm0yCisrICAgIE9W Tl9DSEVDS19QQUNLRVRTX0NPTlRBSU4oW2h2Mi9zbm9vcHZpZi10eC5wY2FwXSwgW2V4cGVjdGVk X2FycF92bTJdKQorKworKyAgICBkbmwgTm93IHZlcmlmeSB0aGF0IG5vIEFSUCByZXBseSBmb3Ig dm0xIHdhcyBnZW5lcmF0ZWQgb24gaHYyLgorKyAgICBBVF9DSEVDSyhbJFBZVEhPTiAiJG92c19z cmNkaXIvdXRpbGl0aWVzL292cy1wY2FwLmluIiBodjIvc25vb3B2aWYtdHgucGNhcCB8IFwKKysg ICAgICAgICAgICAgIGdyZXAgLWMgIiRhcnBfcmVwIl0sIFsxXSwgW2RubAorKzAKKytdKQorKwor KyAgICBBU19CT1goW0FSUCBmcm9tIHZtMiBWSUYgZm9yIHZtMSAtIGV4cGVjdCBwcm94eSByZXBs eV0pCisrICAgIGFzIGh2MiByZXNldF9wY2FwX2ZpbGUgdm0yIGh2Mi92bTIKKysgICAgbG9jYWwg YXJwX3JlcTI9JChidWlsZF9hcnBfcmVxdWVzdCAiZjA6MDA6MDA6MDA6MDA6MDIiICIxMC4wLjAu MiIgIjEwLjAuMC4xIikKKysgICAgYXMgaHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2Vp dmUgdm0yICRhcnBfcmVxMgorKyAgICBsb2NhbCBhcnBfcmVwMj0kKGJ1aWxkX2FycF9yZXBseSAi ZjA6MDA6MDA6MDA6MDA6MDIiICIxMC4wLjAuMiIgXAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZjA6MDA6MDA6MDA6MDA6MDEiICIxMC4wLjAuMSIpCisrICAgIGVjaG8g JGFycF9yZXAyID4gZXhwZWN0ZWRfYXJwX3Byb3h5CisrICAgIE9WTl9DSEVDS19QQUNLRVRTX0NP TlRBSU4oW2h2Mi92bTItdHgucGNhcF0sIFtleHBlY3RlZF9hcnBfcHJveHldKQorKworKyAgICBB U19CT1goW05EIGZyb20gbG9jYWxuZXQgb24gaHYxIGZvciB2bTEgLSBleHBlY3QgcmVwbHldKQor KyAgICBhcyBodjEgcmVzZXRfcGNhcF9maWxlIHNub29wdmlmMSBodjEvc25vb3B2aWYKKysgICAg YXMgaHYyIHJlc2V0X3BjYXBfZmlsZSBzbm9vcHZpZjIgaHYyL3Nub29wdmlmCisrCisrICAgIGRu bCBORCBzb2xpY2l0YXRpb24gZnJvbSBici1ldGgwIG9uIGh2MSBmb3Igdm0xIElQdjYgKGZkMDE6 OjEpLgorKyAgICBkbmwgdm0xIGlzIHJlc2lkZW50IG9uIGh2MSwgc28gaHYxIHNob3VsZCByZXBs eS4KKysgICAgbG9jYWwgbmRfbnM9JChidWlsZF9uZF9ucyAiZjA6MDA6MDA6MDA6MDA6OTkiICJm ZDAxOjo5OSIgImZkMDE6OjEiICJmZjAyOjoxOmZmMDA6MSIpCisrICAgIGFzIGh2MSBvdnMtYXBw Y3RsIG5ldGRldi1kdW1teS9yZWNlaXZlIHNub29wdmlmMSAkbmRfbnMKKysgICAgbG9jYWwgbmRf bmE9JChidWlsZF9uZF9uYSAiZjA6MDA6MDA6MDA6MDA6OTkiICJmZDAxOjo5OSIgXAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZjA6MDA6MDA6MDA6MDA6MDEiICJmZDAxOjoxIikK KysgICAgZWNobyAkbmRfbmEgPiBleHBlY3RlZF9uZF9yZXBseQorKyAgICBPVk5fQ0hFQ0tfUEFD S0VUU19DT05UQUlOKFtodjEvc25vb3B2aWYtdHgucGNhcF0sIFtleHBlY3RlZF9uZF9yZXBseV0p CisrCisrICAgIEFTX0JPWChbTkQgZnJvbSBsb2NhbG5ldCBvbiBodjIgZm9yIHZtMSAtIGV4cGVj dCBubyByZXBseV0pCisrICAgIGFzIGh2MiByZXNldF9wY2FwX2ZpbGUgc25vb3B2aWYyIGh2Mi9z bm9vcHZpZgorKworKyAgICBkbmwgTkQgc29saWNpdGF0aW9uIGZyb20gYnItZXRoMCBvbiBodjIg Zm9yIHZtMSBJUHY2IChmZDAxOjoxKS4KKysgICAgZG5sIHZtMSBpcyBOT1QgcmVzaWRlbnQgb24g aHYyLCBzbyBodjIgc2hvdWxkIE5PVCByZXBseS4KKysgICAgZG5sIFNhbWUgdGVjaG5pcXVlOiBz ZW5kIE5EIGZvciB2bTIgKHJlc2lkZW50KSBhbmQgd2FpdCBmb3IgdGhhdCByZXBseS4KKysgICAg YXMgaHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgc25vb3B2aWYyICRuZF9ucwor KworKyAgICBsb2NhbCBuZF9uc192bTI9JChidWlsZF9uZF9ucyAiZjA6MDA6MDA6MDA6MDA6OTki ICJmZDAxOjo5OSIgImZkMDE6OjIiICJmZjAyOjoxOmZmMDA6MiIpCisrICAgIGFzIGh2MiBvdnMt YXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZlIHNub29wdmlmMiAkbmRfbnNfdm0yCisrICAgIGxv Y2FsIG5kX25hX3ZtMj0kKGJ1aWxkX25kX25hICJmMDowMDowMDowMDowMDo5OSIgImZkMDE6Ojk5 IiBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZjA6MDA6MDA6MDA6MDA6 MDIiICJmZDAxOjoyIikKKysgICAgZWNobyAkbmRfbmFfdm0yID4gZXhwZWN0ZWRfbmRfdm0yCisr ICAgIE9WTl9DSEVDS19QQUNLRVRTX0NPTlRBSU4oW2h2Mi9zbm9vcHZpZi10eC5wY2FwXSwgW2V4 cGVjdGVkX25kX3ZtMl0pCisrCisrICAgIGRubCBOb3cgdmVyaWZ5IHRoYXQgbm8gTkQgYWR2ZXJ0 aXNlbWVudCBmb3Igdm0xIHdhcyBnZW5lcmF0ZWQgb24gaHYyLgorKyAgICBBVF9DSEVDSyhbJFBZ VEhPTiAiJG92c19zcmNkaXIvdXRpbGl0aWVzL292cy1wY2FwLmluIiBodjIvc25vb3B2aWYtdHgu cGNhcCB8IFwKKysgICAgICAgICAgICAgIGdyZXAgLWMgIiRuZF9uYSJdLCBbMV0sIFtkbmwKKysw CisrXSkKKysKKysgICAgQVNfQk9YKFtORCBmcm9tIHZtMiBWSUYgZm9yIHZtMSAtIGV4cGVjdCBw cm94eSByZXBseV0pCisrICAgIGFzIGh2MiByZXNldF9wY2FwX2ZpbGUgdm0yIGh2Mi92bTIKKysg ICAgbG9jYWwgbmRfbnMyPSQoYnVpbGRfbmRfbnMgImYwOjAwOjAwOjAwOjAwOjAyIiAiZmQwMTo6 MiIgImZkMDE6OjEiICJmZjAyOjoxOmZmMDA6MSIpCisrICAgIGFzIGh2MiBvdnMtYXBwY3RsIG5l dGRldi1kdW1teS9yZWNlaXZlIHZtMiAkbmRfbnMyCisrICAgIGxvY2FsIG5kX25hMj0kKGJ1aWxk X25kX25hICJmMDowMDowMDowMDowMDowMiIgImZkMDE6OjIiIFwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJmMDowMDowMDowMDowMDowMSIgImZkMDE6OjEiKQorKyAgICBlY2hv ICRuZF9uYTIgPiBleHBlY3RlZF9uZF9wcm94eQorKyAgICBPVk5fQ0hFQ0tfUEFDS0VUU19DT05U QUlOKFtodjIvdm0yLXR4LnBjYXBdLCBbZXhwZWN0ZWRfbmRfcHJveHldKQorK30KKysKKytBU19C T1goW0ZEQiBsZWFybmluZyBkaXNhYmxlZF0pCisrdGVzdF9hcnBfbmRfbG9jYWxuZXQKKysKKytB U19CT1goW0ZEQiBsZWFybmluZyBlbmFibGVkXSkKKytkbmwgVXNlICdzZXQnIGluc3RlYWQgb2Yg J2xzcC1zZXQtb3B0aW9ucycgdG8gcHJlc2VydmUgbmV0d29ya19uYW1lLgorK2NoZWNrIG92bi1u YmN0bCAtLXdhaXQ9aHYgc2V0IExvZ2ljYWxfU3dpdGNoX1BvcnQgbG4xIFwKKysgICAgb3B0aW9u czpsb2NhbG5ldF9sZWFybl9mZGI9dHJ1ZQorK3Rlc3RfYXJwX25kX2xvY2FsbmV0CisrCisrT1ZO X0NMRUFOVVAoW2h2MQorKy9sZWZ0IGFsbG9jYXRlZC9kCisrXSwgW2h2MgorKy9sZWZ0IGFsbG9j YXRlZC9kCisrXSkKKytBVF9DTEVBTlVQCisrXSkKKysKKyBPVk5fRk9SX0VBQ0hfTk9SVEhEKFsK KyBBVF9TRVRVUChbc2VuZCByZXZlcnNlIGFycCBmb3Igcm91dGVyIHdpdGhvdXQgaXB2NCBhZGRy ZXNzXSkKKyBvdm5fc3RhcnQKK0BAIC0xNDE3MCw4ICsxNDM2Myw4IEBAIEFUX0NIRUNLKFsKKyAg ICAgdGVzdCAwIC1lcSAkcGt0cworIF0pCisgCistc3BhPSQoaXBfdG9faGV4IDEwIDAgMCAxKQor LXRwYT0kKGlwX3RvX2hleCAxMCAwIDAgMTAwKQorK3NwYT0xMC4wLjAuMQorK3RwYT0xMC4wLjAu MTAwCisgc2VuZF9nYXJwIGh2MSB2aWYxIDEgIjAwOjAwOjAwOjAwOjAwOjAxIiAiZmY6ZmY6ZmY6 ZmY6ZmY6ZmYiICRzcGEgJHRwYQorIAorIGRubCB0cmFmZmljIGZyb20gbG9jYWxwb3J0IHNob3Vs ZCBub3QgYmUgc2VudCB0byBsb2NhbG5ldAorQEAgLTMxMzUwLDYgKzMxNTQzLDEzIEBAIGNoZWNr IG92bi1uYmN0bCBscnAtc2V0LWdhdGV3YXktY2hhc3NpcyBscjAtcHVibGljIGh2MSAyMAorIAor ICMgQ3JlYXRlIE5BVCBlbnRyaWVzIGZvciB0aGUgcG9ydHMKKyAKKysjIHN3MC1wb3J0MQorK2No ZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDE3Mi4xNi4wLjExMCAx MC4wLjAuMyBzdzAtcG9ydDEgMzA6NTQ6MDA6MDA6MDA6MDMKKytjaGVjayBvdm4tbmJjdGwgbHIt bmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAzMDAwOjpjIDEwMDA6OjMgc3cwLXBvcnQxIDQwOjU0 OjAwOjAwOjAwOjAzCisrIyBzdzEtcG9ydDEKKytjaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBs cjAgZG5hdF9hbmRfc25hdCAxNzIuMTYuMC4xMjAgMjAuMC4wLjMgc3cxLXBvcnQxIDMwOjU0OjAw OjAwOjAwOjA0CisrY2hlY2sgb3ZuLW5iY3RsIGxyLW5hdC1hZGQgbHIwIGRuYXRfYW5kX3NuYXQg MzAwMDo6ZCAyMDAwOjozIHN3MS1wb3J0MSA0MDo1NDowMDowMDowMDowNAorKworICMgQWRkIHNu YXQgZW50cmllc3MKKyBjaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgc25hdCAxNzIuMTYu MC4xMDAgMTAuMC4wLjAvMjQKKyBjaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgc25hdCAx NzIuMTYuMC4xMDEgMTAuMC4wLjEwCitAQCAtMzE0NTgsMTkgKzMxNjU4LDYgQEAgdGVzdF9hcnBf cmVzcG9uc2UgMDAwMDIwMjAxMjEzICQoaXBfdG9faGV4IDE3MiAxNiAwIDEwMikgaHYxIGh2MiBo djMKKyB0ZXN0X2FycF9yZXNwb25zZSAwMDAwMzAzMDMyMzMgJChpcF90b19oZXggMTcyIDE2IDAg MjAwKSBodjMgaHYxIGh2MgorIHRlc3RfYXJwX3Jlc3BvbnNlIDAwMDAzMDMwMzIzMyAkKGlwX3Rv X2hleCAxNzIgMTYgMCAyMDEpIGh2MyBodjEgaHYyCisgCistIyBBZGQgc29tZSBleHRyYSBkbmF0 X2FuZF9zbmF0LCB0aGF0IHNob3VsZCBnZW5lcmF0ZSBleHRyYSBmbG93cyBmb3IgZXh0ZXJuYWwg QVJQcy4KKy0jIHN3MC1wb3J0MQorLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0 X2FuZF9zbmF0IDE3Mi4xNi4wLjExMCAxMC4wLjAuMyBzdzAtcG9ydDEgMzA6NTQ6MDA6MDA6MDA6 MDMKKy1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAzMDAwOjpj IDEwMDA6OjMgc3cwLXBvcnQxIDQwOjU0OjAwOjAwOjAwOjAzCistIyBzdzEtcG9ydDEKKy1jaGVj ayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAxNzIuMTYuMC4xMjAgMjAu MC4wLjMgc3cxLXBvcnQxIDMwOjU0OjAwOjAwOjAwOjA0CistY2hlY2sgb3ZuLW5iY3RsIGxyLW5h dC1hZGQgbHIwIGRuYXRfYW5kX3NuYXQgMzAwMDo6ZCAyMDAwOjozIHN3MS1wb3J0MSA0MDo1NDow MDowMDowMDowNAorLWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgc3luYworLQorLSMgU2VuZCBB UlAgcmVxdWVzdCBmb3IgdGhlIElQIHdoaWNoIGJlbG9uZ3MgdG8gZ3dfcm91dGVyCistdGVzdF9h cnBfcmVzcG9uc2UgMDAwMDMwMzAzMjMzICQoaXBfdG9faGV4IDE3MiAxNiAwIDIwMCkgaHYzIGh2 MSBodjIKKy10ZXN0X2FycF9yZXNwb25zZSAwMDAwMzAzMDMyMzMgJChpcF90b19oZXggMTcyIDE2 IDAgMjAxKSBodjMgaHYxIGh2MgorLQorICMgTWFrZSBodjMgY2xhaW0gdGhlIGNyLWxyMC1wdWJs aWMKKyBjaGVjayBvdm4tbmJjdGwgbHJwLXNldC1nYXRld2F5LWNoYXNzaXMgbHIwLXB1YmxpYyBo djEgMjAKKyBjaGVjayBvdm4tbmJjdGwgbHJwLXNldC1nYXRld2F5LWNoYXNzaXMgbHIwLXB1Ymxp YyBodjIgMzAKK0BAIC0zNjUzNSwxNSArMzY3MjIsNiBAQCBBVF9DSEVDSyhbb3ZuLW5iY3RsIC0t d2FpdD1odiBzeW5jXSkKKyBPVlNfV0FJVF9VTlRJTChbZ3JlcCBwaW5jdHJsIGh2MS9vdm4tY29u dHJvbGxlci5sb2cgfCBncmVwIC1jIGNvbm5lY3RlZF0pCisgT1ZTX1dBSVRfVU5USUwoW2dyZXAg cGluY3RybCBodjIvb3ZuLWNvbnRyb2xsZXIubG9nIHwgZ3JlcCAtYyBjb25uZWN0ZWRdKQorIAor LXNlbmRfdWRwKCkgeworLSAgICBodj0kMQorLSAgICBkZXY9JDIKKy0gICAgYnl0ZT0kMworLQor LSAgICBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JzAwOjAwOjAwOjAwOjEwOjAwJywgc3Jj PScwMDowMDowMDowMDoxMDoke2J5dGV9JykvIFwKKy0gICAgICAgICAgICAgICAgICAgICAgSVAo ZHN0PScxOTIuMTY4LjIwLiR7Ynl0ZX0nLCBzcmM9JzE5Mi4xNjguMTAuJHtieXRlfScpL1VEUCgp IikKKy0gICAgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgJGRldiAkcGFj a2V0CistfQorICMgQ2hlY2sgaWYgdGhlIG9wdGlvbiBpcyBub3QgcHJlc2VudCBieSBkZWZhdWx0 CisgQVRfQ0hFQ0soW2ZldGNoX2NvbHVtbiBuYjpsb2dpY2FsX3JvdXRlciBvcHRpb25zIG5hbWU9 Imd3LTEiIHwgZ3JlcCAtcSBtYWNfYmluZGluZ19hZ2VfdGhyZXNob2xkXSwgWzFdKQorIEFUX0NI RUNLKFtmZXRjaF9jb2x1bW4gbmI6bG9naWNhbF9yb3V0ZXIgb3B0aW9ucyBuYW1lPSJndy0yIiB8 IGdyZXAgLXEgbWFjX2JpbmRpbmdfYWdlX3RocmVzaG9sZF0sIFsxXSkKK0BAIC0zNjU3Nyw4ICsz Njc1NSw4IEBAICRzb3J0ZWRfdGFibGUKKyB0aW1lc3RhbXA9JChmZXRjaF9jb2x1bW4gbWFjX2Jp bmRpbmcgdGltZXN0YW1wIGlwPSIxOTIuMTY4LjEwLjIwIikKKyBiaW5kaW5nX3V1aWQ9JChmZXRj aF9jb2x1bW4gbWFjX2JpbmRpbmcgX3V1aWQgaXA9IjE5Mi4xNjguMTAuMjAiKQorIAorLXNlbmRf dWRwIGh2MSBleHQxIDEwCistc2VuZF91ZHAgaHYyIGV4dDIgMjAKKytzZW5kX3VkcCBodjEgZXh0 MSAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDowMDoxMDoxMCAxOTIuMTY4LjIwLjEwIDE5Mi4x NjguMTAuMTAKKytzZW5kX3VkcCBodjIgZXh0MiAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDow MDoxMDoyMCAxOTIuMTY4LjIwLjIwIDE5Mi4xNjguMTAuMjAKKyAKKyBPVlNfV0FJVF9VTlRJTChb YXMgaHYxIG92cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWludCB0YWJsZT1PRlRBQkxFX01BQ19DQUNI RV9VU0UgfCBncmVwICIxOTIuMTY4LjEwLjEwIiB8IGdyZXAgLXEgIm5fcGFja2V0cz0xIl0pCisg T1ZTX1dBSVRfVU5USUwoW2FzIGh2MiBvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1pbnQgdGFibGU9 T0ZUQUJMRV9NQUNfQ0FDSEVfVVNFIHwgZ3JlcCAiMTkyLjE2OC4xMC4yMCIgfCBncmVwIC1xICJu X3BhY2tldHM9MSJdKQorQEAgLTM2NTg5LDkgKzM2NzY3LDkgQEAgQVRfQ0hFQ0soW2ZldGNoX2Nv bHVtbiBuYjpsb2dpY2FsX3JvdXRlciBvcHRpb25zIHwgZ3JlcCAtcSBtYWNfYmluZGluZ19hZ2Vf dGhyZXMKKyBBVF9DSEVDSyhbb3ZuLW5iY3RsIC0td2FpdD1zYiBzeW5jXSkKKyAKKyAjIFdhaXQg c2VuZCBmZXcgcGFja2V0cyBmb3IgIjE5Mi4xNjguMTAuMjAiIHRvIGluZGljYXRlIHRoYXQgaXQg aXMgc3RpbGwgaW4gdXNlCistc2VuZF91ZHAgaHYyIGV4dDIgMjAKKytzZW5kX3VkcCBodjIgZXh0 MiAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDowMDoxMDoyMCAxOTIuMTY4LjIwLjIwIDE5Mi4x NjguMTAuMjAKKyBzbGVlcCAxCistc2VuZF91ZHAgaHYyIGV4dDIgMjAKKytzZW5kX3VkcCBodjIg ZXh0MiAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDowMDoxMDoyMCAxOTIuMTY4LjIwLjIwIDE5 Mi4xNjguMTAuMjAKKyAKKyAjIFNldCB0aGUgdGltZW91dCBmb3IgT1ZTX1dBSVQqIGZ1bmN0aW9u cyB0byAxMCBzZWNvbmRzCisgT1ZTX0NUTF9USU1FT1VUPTEwCitAQCAtMzY4NjksMTggKzM3MDQ3 LDEwIEBAIHNsZWVwIDIKKyBzZW5kX2dhcnAgaHYxIHZpZjEgMiAwMDowMDowMDowMDoxMDoxMCBm ZjpmZjpmZjpmZjpmZjpmZiAxOTIuMTY4LjEwLjEwIDE5Mi4xNjguMTAuMTAKKyB3YWl0X3Jvd19j b3VudCBtYWNfYmluZGluZyAxIGlwPSIxOTIuMTY4LjEwLjEwIiBsb2dpY2FsX3BvcnQ9ImxyLWxz MSIKKyAKKy1zZW5kX3VkcCgpIHsKKy0gICAgbG9jYWwgaHY9JDEgZGV2PSQyIGJ5dGU9JDMKKy0K Ky0gICAgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScwMDowMDowMDowMDoxMDowMCcsIHNy Yz0nMDA6MDA6MDA6MDA6MTA6JHtieXRlfScpLyBcCistICAgICAgICAgICAgICAgICAgICAgIElQ KGRzdD0nMTkyLjE2OC4yMC4ke2J5dGV9Jywgc3JjPScxOTIuMTY4LjEwLiR7Ynl0ZX0nKS9VRFAo KSIpCistICAgIGNoZWNrIGFzICRodiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZlICRk ZXYgJHBhY2tldAorLX0KKy0KKyB1dWlkPSQoZmV0Y2hfY29sdW1uIG1hY19iaW5kaW5nIF91dWlk IGlwPSIxOTIuMTY4LjEwLjEwIiBsb2dpY2FsX3BvcnQ9ImxyLWxzMSIpCisgZm9yIGkgaW4gJChz ZXEgMTIpOyBkbworICAgICAjIEtlZXAgb25lIGVudHJ5IGFsaXZlIGJ5IHNlbmRpbmcgdHJhZmZp YyB0aGF0IHVzZXMgaXQuCistICAgIHNlbmRfdWRwIGh2MSB2aWYxIDEwCisrICAgIHNlbmRfdWRw IGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjEwIDE5Mi4xNjguMjAu MTAgMTkyLjE2OC4xMC4xMAorICAgICBzbGVlcCAxCisgICAgICMgVGhlIGVudHJ5IG11c3Qgbm90 IGV4cGlyZS4KKyAgICAgY2hlY2tfcm93X2NvdW50IG1hY19iaW5kaW5nIDEgaXA9IjE5Mi4xNjgu MTAuMTAiIGxvZ2ljYWxfcG9ydD0ibHItbHMxIgorQEAgLTM2OTYzLDM4ICszNzEzMyw2IEBAIEFU X1NFVFVQKFtNQUMgYmluZGluZyBhZ2luZyAtIHByb2JpbmddKQorIEFUX1NLSVBfSUYoW3Rlc3Qg JEhBVkVfU0NBUFkgPSBub10pCisgb3ZuX3N0YXJ0CisgCistc2VuZF91ZHAoKSB7CistICAgIGxv Y2FsIGh2PSQxIGRldj0kMiBoZHN0PSQzIGhzcmM9JDQgaWRzdD0kNSBpc3JjPSQ2CistICAgIGxv Y2FsIHBhY2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nJHtoZHN0fScsIHNyYz0nJHtoc3JjfScp LyBcCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQKGRzdD0nJHtpZHN0fScsIHNyYz0n JHtpc3JjfScpL1VEUCgpIikKKy0gICAgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3Jl Y2VpdmUgJGRldiAkcGFja2V0CistfQorLQorLXNlbmRfdWRwNigpIHsKKy0gICAgbG9jYWwgaHY9 JDEgZGV2PSQyIGhkc3Q9JDMgaHNyYz0kNCBpZHN0PSQ1IGlzcmM9JDYKKy0gICAgbG9jYWwgcGFj a2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2hkc3R9Jywgc3JjPScke2hzcmN9JykvIFwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nihkc3Q9JyR7aWRzdH0nLCBzcmM9JyR7aXNy Y30nKS9VRFAoKSIpCistICAgIGFzICRodiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZl ICRkZXYgJHBhY2tldAorLX0KKy0KKy1kdW1wX2FycCgpIHsKKy0gICAgbG9jYWwgb3A9JDEgZXRo X3NyYz0kMiBldGhfZHN0PSQzIHNwYT0kNCB0cGE9JDUgaHdkc3Q9JDYKKy0KKy0gICAgbG9jYWwg cGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2V0aF9kc3R9Jywgc3JjPScke2V0aF9zcmN9 JykvIFwKKy0gICAgICAgICAgICAgICAgICAgICAgQVJQKG9wPSRvcCwgaHdzcmM9JyR7ZXRoX3Ny Y30nLCBod2RzdD0nJHtod2RzdH0nLCBcCistICAgICAgICAgICAgICAgICAgICAgIHBzcmM9JyR7 c3BhfScsIHBkc3Q9JyR7dHBhfScpIikKKy0gICAgZWNobyAkcGFja2V0CistfQorLQorLWR1bXBf bnMoKSB7CistICAgIGxvY2FsIGhkc3Q9JDEgaHNyYz0kMiBpZHN0PSQzIGlzcmM9JDQgdGd0PSQ1 CistICAgIGxvY2FsIHBhY2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nJHtoZHN0fScsIHNyYz0n JHtoc3JjfScpLyBcCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjYoZHN0PScke2lk c3R9Jywgc3JjPScke2lzcmN9JykvIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSUNN UHY2TkRfTlModGd0PScke3RndH0nKS8KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSUNN UHY2TkRPcHRTcmNMTEFkZHIobGxhZGRyPScke2hzcmN9JykiKQorLSAgICBlY2hvICRwYWNrZXQK Ky19CistCisgYWdpbmdfdGg9MTAKKyBuZXRfYWRkIG4xCisgc2ltX2FkZCBodjEKK0BAIC0zNzEx Miw2ICszNzI1MCwxMjMgQEAgT1ZOX0NMRUFOVVAoW2h2MV0pCisgQVRfQ0xFQU5VUAorIF0pCisg CisrT1ZOX0ZPUl9FQUNIX05PUlRIRChbCisrQVRfU0VUVVAoW01BQyBiaW5kaW5nIGFnaW5nIC0g cHJvYmluZyBtdWx0aS1zdWJuZXQgc291cmNlIElQXSkKKytBVF9TS0lQX0lGKFt0ZXN0ICRIQVZF X1NDQVBZID0gbm9dKQorK292bl9zdGFydAorKworK2FnaW5nX3RoPTEwCisrbmV0X2FkZCBuMQor K3NpbV9hZGQgaHYxCisrYXMgaHYxCisrY2hlY2sgb3ZzLXZzY3RsIGFkZC1iciBici1waHlzCisr b3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4xCisrb3ZuLWFwcGN0bCAtdCBvdm4tY29u dHJvbGxlciB2bG9nL3NldCBtYWNfY2FjaGU6ZmlsZTpkYmcgcGluY3RybDpmaWxlOmRiZworKwor K2NoZWNrIG92bi1uYmN0bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGxzLWFkZCBsczEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gbHIt YWRkIGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorKyAgICAtLSBzZXQgbG9naWNhbF9yb3V0ZXIgbHIgb3B0aW9uczptYWNfYmlu ZGluZ19hZ2VfdGhyZXNob2xkPSRhZ2luZ190aCAgICBcCisrICAgIC0tIGxycC1hZGQgbHIgbHIt bHMxIDAwOjAwOjAwOjAwOjEwOjAwIDEwLjEwLjEwLjEvMjQgNDIuNDIuNDIuMS8yNCAgICAgIFwK KysgICAgICAgZmQxMTo6MS82NCBmZDEyOjoxLzY0ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAtLSBsc3AtYWRkLXJvdXRlci1wb3J0IGxzMSBs czEtbHIgbHItbHMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGxz cC1hZGQgbHMxIHZpZjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKysgICAgLS0gbHNwLXNldC1hZGRyZXNzZXMgdmlmMSAidW5rbm93biIKKysK KytjaGVjayBvdnMtdnNjdGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAtLSBhZGQtcG9ydCBici1pbnQgdmlmMSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIHNl dCBpbnRlcmZhY2UgdmlmMSBleHRlcm5hbC1pZHM6aWZhY2UtaWQ9dmlmMSAgICAgICAgICAgICAg ICAgICAgICAgIFwKKysgICAgb3B0aW9uczp0eF9wY2FwPWh2MS92aWYxLXR4LnBjYXAgb3B0aW9u czpyeHFfcGNhcD1odjEvdmlmMS1yeC5wY2FwCisrCisrT1ZOX1BPUFVMQVRFX0FSUAorK3dhaXRf Zm9yX3BvcnRzX3VwCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCisrCisrIyBXYWl0 IGZvciBwaW5jdHJsIHRocmVhZCB0byBiZSBjb25uZWN0ZWQuCisrT1ZTX1dBSVRfVU5USUwoW2dy ZXAgcGluY3RybCBodjEvb3ZuLWNvbnRyb2xsZXIubG9nIHwgZ3JlcCAtcSBjb25uZWN0ZWRdKQor KworKyMgQ3JlYXRlIE1BQyBiaW5kaW5ncyBpbiBib3RoIElQdjQgc3VibmV0cy4KKytzZW5kX2dh cnAgaHYxIHZpZjEgMiAwMDowMDowMDowMDoxMDoxYSBmZjpmZjpmZjpmZjpmZjpmZiAxMC4xMC4x MC4xMDAgMTAuMTAuMTAuMTAwCisrd2FpdF9yb3dfY291bnQgbWFjX2JpbmRpbmcgMSBpcD0iMTAu MTAuMTAuMTAwIiBsb2dpY2FsX3BvcnQ9ImxyLWxzMSIKKysKKytzZW5kX2dhcnAgaHYxIHZpZjEg MiAwMDowMDowMDowMDoxMDoxYiBmZjpmZjpmZjpmZjpmZjpmZiA0Mi40Mi40Mi4yNTMgNDIuNDIu NDIuMjUzCisrd2FpdF9yb3dfY291bnQgbWFjX2JpbmRpbmcgMSBpcD0iNDIuNDIuNDIuMjUzIiBs b2dpY2FsX3BvcnQ9ImxyLWxzMSIKKysKKysjIENyZWF0ZSBNQUMgYmluZGluZ3MgaW4gYm90aCBJ UHY2IHN1Ym5ldHMuCisrc2VuZF9uYSBodjEgdmlmMSAwMDowMDowMDowMDoxMDoxYSAwMDowMDow MDowMDoxMDowMCBmZDExOjo2NCBmZDExOjoxCisrd2FpdF9yb3dfY291bnQgbWFjX2JpbmRpbmcg MSBpcD1cImZkMTE6OjY0XCIgbG9naWNhbF9wb3J0PVwibHItbHMxXCIKKysKKytzZW5kX25hIGh2 MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjFiIDAwOjAwOjAwOjAwOjEwOjAwIGZkMTI6OjY0IGZkMTI6 OjEKKyt3YWl0X3Jvd19jb3VudCBtYWNfYmluZGluZyAxIGlwPVwiZmQxMjo6NjRcIiBsb2dpY2Fs X3BvcnQ9XCJsci1sczFcIgorKworKyMgUmVjb3JkIFVVSURzIGZvciBhbGwgTUFDIGJpbmRpbmdz LgorK3V1aWRfdjRfMT0kKGZldGNoX2NvbHVtbiBNYWNfQmluZGluZyBfdXVpZCBpcD0xMC4xMC4x MC4xMDApCisrdXVpZF92NF8yPSQoZmV0Y2hfY29sdW1uIE1hY19CaW5kaW5nIF91dWlkIGlwPTQy LjQyLjQyLjI1MykKKyt1dWlkX3Y2XzE9JChmZXRjaF9jb2x1bW4gTWFjX0JpbmRpbmcgX3V1aWQg aXA9XCJmZDExOjo2NFwiKQorK3V1aWRfdjZfMj0kKGZldGNoX2NvbHVtbiBNYWNfQmluZGluZyBf dXVpZCBpcD1cImZkMTI6OjY0XCIpCisrCisrIyBTZW5kIElQdjQgYW5kIElQdjYgVURQIHRyYWZm aWMgdG8gcmVmcmVzaCBlbnRyaWVzIGluIE9GVEFCTEVfTUFDX0JJTkRJTkcuCisrIyBVc2UgZGlm ZmVyZW50IHNyYyBNQUNzIHRoYW4gdGhlIG9uZXMgZnJvbSBHQVJQL05BIHRvIGF2b2lkIHJlc2V0 dGluZworKyMgT0ZUQUJMRV9NQUNfQ0FDSEVfVVNFIGlkbGVfYWdlICh3aGljaCB3b3VsZCBrZWVw IHRoZSB0aW1lc3RhbXAgZnJlc2gKKysjIGFuZCBzdXBwcmVzcyBwcm9iaW5nIHZpYSB0aGUgY29v bGRvd24gbWVjaGFuaXNtKS4KKytzZW5kX3VkcCBodjEgdmlmMSAwMDowMDowMDowMDoxMDowMCAw MDowMDowMDowMDoxMDoyYSA0Mi40Mi40Mi4yNTMgMTAuMTAuMTAuMTAwCisrc2VuZF91ZHAgaHYx IHZpZjEgMDA6MDA6MDA6MDA6MTA6MDAgMDA6MDA6MDA6MDA6MTA6MmIgMTAuMTAuMTAuMTAwIDQy LjQyLjQyLjI1MworK3NlbmRfdWRwNiBodjEgdmlmMSAwMDowMDowMDowMDoxMDowMCAwMDowMDow MDowMDoxMDoyYSBmZDEyOjo2NCBmZDExOjo2NAorK3NlbmRfdWRwNiBodjEgdmlmMSAwMDowMDow MDowMDoxMDowMCAwMDowMDowMDowMDoxMDoyYiBmZDExOjo2NCBmZDEyOjo2NAorKworK09WU19X QUlUX1VOVElMKFtvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1pbnQgdGFibGU9T0ZUQUJMRV9NQUNf QklORElORyB8IFwKKysgICAgICAgICAgICAgICAgICBzZWQgJ3MvcmVnMTU9MHguLG1ldGFkYXRh PTB4Li9yZWcxNT08Y2xlYXJlZD4sbWV0YWRhdGE9PGNsZWFyZWQ+L2cnIHwgXAorKyAgICAgICAg ICAgICAgICAgIGdyZXAgLXEgInJlZzA9MHhhMGEwYTY0LHJlZzE1PTxjbGVhcmVkPixtZXRhZGF0 YT08Y2xlYXJlZD4gYWN0aW9ucz1tb2RfZGxfZHN0OjAwOjAwOjAwOjAwOjEwOjFhIl0pCisrT1ZT X1dBSVRfVU5USUwoW292cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWludCB0YWJsZT1PRlRBQkxFX01B Q19CSU5ESU5HIHwgXAorKyAgICAgICAgICAgICAgICAgIHNlZCAncy9yZWcxNT0weC4sbWV0YWRh dGE9MHguL3JlZzE1PTxjbGVhcmVkPixtZXRhZGF0YT08Y2xlYXJlZD4vZycgfCBcCisrICAgICAg ICAgICAgICAgICAgZ3JlcCAtcSAicmVnMD0weDJhMmEyYWZkLHJlZzE1PTxjbGVhcmVkPixtZXRh ZGF0YT08Y2xlYXJlZD4gYWN0aW9ucz1tb2RfZGxfZHN0OjAwOjAwOjAwOjAwOjEwOjFiIl0pCisr CisrIyBXYWl0IHVudGlsIGFsbCBlbnRyaWVzIGluIE9GVEFCTEVfTUFDX0NBQ0hFX1VTRSBhcmUg c3RhbGUuCisrT1ZTX1dBSVRfVU5USUwoW3Rlc3QgJChvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1p bnQgdGFibGU9T0ZUQUJMRV9NQUNfQ0FDSEVfVVNFIHwgXAorKyAgICAgICAgICAgICAgICAgICAg ICAgYXdrICcvbndfc3JjPTEwLjEwLjEwLjEwMC97cHJpbnQgc3Vic3RyKCQ2LDEwLDEpfScpIC1n ZSAkKChhZ2luZ190aC8yKSldKQorK09WU19XQUlUX1VOVElMKFt0ZXN0ICQob3ZzLW9mY3RsIGR1 bXAtZmxvd3MgYnItaW50IHRhYmxlPU9GVEFCTEVfTUFDX0NBQ0hFX1VTRSB8IFwKKysgICAgICAg ICAgICAgICAgICAgICAgIGF3ayAnL253X3NyYz00Mi40Mi40Mi4yNTMve3ByaW50IHN1YnN0cigk NiwxMCwxKX0nKSAtZ2UgJCgoYWdpbmdfdGgvMikpXSkKKytPVlNfV0FJVF9VTlRJTChbdGVzdCAk KG92cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWludCB0YWJsZT1PRlRBQkxFX01BQ19DQUNIRV9VU0Ug fCBcCisrICAgICAgICAgICAgICAgICAgICAgICBhd2sgJy9pcHY2X3NyYz1mZDExOjo2NC97cHJp bnQgc3Vic3RyKCQ2LDEwLDEpfScpIC1nZSAkKChhZ2luZ190aC8yKSldKQorK09WU19XQUlUX1VO VElMKFt0ZXN0ICQob3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IHRhYmxlPU9GVEFCTEVfTUFD X0NBQ0hFX1VTRSB8IFwKKysgICAgICAgICAgICAgICAgICAgICAgIGF3ayAnL2lwdjZfc3JjPWZk MTI6OjY0L3twcmludCBzdWJzdHIoJDYsMTAsMSl9JykgLWdlICQoKGFnaW5nX3RoLzIpKV0pCisr CisrIyBTZW5kIHRyYWZmaWMgdG8gdHJpZ2dlciBwcm9iaW5nIGZvciBhbGwgZW50cmllcy4KKysj IEFnYWluIHVzZSBkaWZmZXJlbnQgc3JjIE1BQ3MgdG8gb25seSBoaXQgT0ZUQUJMRV9NQUNfQklO RElORyAobm90IE1BQ19DQUNIRV9VU0UpLgorK3NlbmRfdWRwIGh2MSB2aWYxIDAwOjAwOjAwOjAw OjEwOjAwIDAwOjAwOjAwOjAwOjEwOjJhIDQyLjQyLjQyLjI1MyAxMC4xMC4xMC4xMDAKKytzZW5k X3VkcCBodjEgdmlmMSAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDowMDoxMDoyYiAxMC4xMC4x MC4xMDAgNDIuNDIuNDIuMjUzCisrc2VuZF91ZHA2IGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjAw IDAwOjAwOjAwOjAwOjEwOjJhIGZkMTI6OjY0IGZkMTE6OjY0Cisrc2VuZF91ZHA2IGh2MSB2aWYx IDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjJiIGZkMTE6OjY0IGZkMTI6OjY0Cisr CisrIyBWZXJpZnkgQVJQIHByb2JlcyB1c2UgdGhlIGNvcnJlY3Qgc291cmNlIElQcyBmcm9tIG1h dGNoaW5nIHN1Ym5ldHMuCisrIyBBUlAgZm9yIDEwLjEwLjEwLjEwMCBtdXN0IHVzZSBzb3VyY2Ug SVAgMTAuMTAuMTAuMSAoZmlyc3Qgc3VibmV0KS4KKytkdW1wX2FycCAxIDAwOjAwOjAwOjAwOjEw OjAwIGZmOmZmOmZmOmZmOmZmOmZmIDEwLjEwLjEwLjEgMTAuMTAuMTAuMTAwIDAwOjAwOjAwOjAw OjAwOjAwID4gZXhwZWN0ZWQKKysjIEFSUCBmb3IgNDIuNDIuNDIuMjUzIG11c3QgdXNlIHNvdXJj ZSBJUCA0Mi40Mi40Mi4xIChzZWNvbmQgc3VibmV0KS4KKytkdW1wX2FycCAxIDAwOjAwOjAwOjAw OjEwOjAwIGZmOmZmOmZmOmZmOmZmOmZmIDQyLjQyLjQyLjEgNDIuNDIuNDIuMjUzIDAwOjAwOjAw OjAwOjAwOjAwID4+IGV4cGVjdGVkCisrT1ZOX0NIRUNLX1BBQ0tFVFNfQ09OVEFJTihbaHYxL3Zp ZjEtdHgucGNhcF0sIFtleHBlY3RlZF0pCisrCisrIyBWZXJpZnkgTlMgcHJvYmVzIHVzZSB0aGUg Y29ycmVjdCBzb3VyY2UgSVBzIGZyb20gbWF0Y2hpbmcgc3VibmV0cy4KKysjIE5TIGZvciBmZDEx Ojo2NCBtdXN0IHVzZSBzb3VyY2UgSVAgZmQxMTo6MSAoZmlyc3QgSVB2NiBzdWJuZXQpLgorK2R1 bXBfbnMgMzM6MzM6ZmY6MDA6MDA6NjQgMDA6MDA6MDA6MDA6MTA6MDAgZmYwMjo6MTpmZjAwOjY0 IGZkMTE6OjEgZmQxMTo6NjQgPiBleHBlY3RlZF92NgorKyMgTlMgZm9yIGZkMTI6OjY0IG11c3Qg dXNlIHNvdXJjZSBJUCBmZDEyOjoxIChzZWNvbmQgSVB2NiBzdWJuZXQpLgorK2R1bXBfbnMgMzM6 MzM6ZmY6MDA6MDA6NjQgMDA6MDA6MDA6MDA6MTA6MDAgZmYwMjo6MTpmZjAwOjY0IGZkMTI6OjEg ZmQxMjo6NjQgPj4gZXhwZWN0ZWRfdjYKKytPVk5fQ0hFQ0tfUEFDS0VUU19DT05UQUlOKFtodjEv dmlmMS10eC5wY2FwXSwgW2V4cGVjdGVkX3Y2XSkKKysKKysjIFNlbmQgQVJQL05BIHJlcGxpZXMg YW5kIGNoZWNrIE1BQ19CaW5kaW5nIFVVSURzIHJlbWFpbiBjb25zaXN0ZW50LgorK3NlbmRfZ2Fy cCBodjEgdmlmMSAyIDAwOjAwOjAwOjAwOjEwOjFhIDAwOjAwOjAwOjAwOjEwOjAwIDEwLjEwLjEw LjEwMCAxMC4xMC4xMC4xCisrc2VuZF9nYXJwIGh2MSB2aWYxIDIgMDA6MDA6MDA6MDA6MTA6MWIg MDA6MDA6MDA6MDA6MTA6MDAgNDIuNDIuNDIuMjUzIDQyLjQyLjQyLjEKKytzZW5kX25hIGh2MSB2 aWYxIDAwOjAwOjAwOjAwOjEwOjFhIDAwOjAwOjAwOjAwOjEwOjAwIGZkMTE6OjY0IGZkMTE6OjEK KytzZW5kX25hIGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjFiIDAwOjAwOjAwOjAwOjEwOjAwIGZk MTI6OjY0IGZkMTI6OjEKKysKKytjaGVja19jb2x1bW4gIiR1dWlkX3Y0XzEiIE1hY19CaW5kaW5n IF91dWlkIGlwPTEwLjEwLjEwLjEwMAorK2NoZWNrX2NvbHVtbiAiJHV1aWRfdjRfMiIgTWFjX0Jp bmRpbmcgX3V1aWQgaXA9NDIuNDIuNDIuMjUzCisrY2hlY2tfY29sdW1uICIkdXVpZF92Nl8xIiBN YWNfQmluZGluZyBfdXVpZCBpcD1cImZkMTE6OjY0XCIKKytjaGVja19jb2x1bW4gIiR1dWlkX3Y2 XzIiIE1hY19CaW5kaW5nIF91dWlkIGlwPVwiZmQxMjo6NjRcIgorKworK09WTl9DTEVBTlVQKFto djFdKQorK0FUX0NMRUFOVVAKKytdKQorKworIE9WTl9GT1JfRUFDSF9OT1JUSEQoWworIEFUX1NF VFVQKFtNQUMgYmluZGluZyBhZ2luZyAtIHByb2JpbmcgZGlzdHJpYnV0ZWQgR1cgcm91dGVyXSkK KyBBVF9TS0lQX0lGKFt0ZXN0ICRIQVZFX1NDQVBZID0gbm9dKQorQEAgLTQ0NTk5LDE2MCArNDQ4 NTQsNiBAQCBPVk5fQ0xFQU5VUChbaHYxXSkKKyBBVF9DTEVBTlVQCisgXSkKKyAKKy1PVk5fRk9S X0VBQ0hfTk9SVEhEKFsKKy1BVF9TRVRVUChbR0FSUCBkZWxpdmVyeTogZ3cgYW5kIGV4dGVybmFs IHBvcnRzXSkKKy1BVF9TS0lQX0lGKFt0ZXN0ICRIQVZFX1NDQVBZID0gbm9dKQorLW92bl9zdGFy dAorLQorLSMgQ29uZmlndXJlIGluaXRpYWwgZW52aXJvbm1lbnQKKy0jIExSMTogZG93bl9saW5r IDwtPiBMUzE6IHVwX2xpbmsKKy0jIHNldCBscl9kb3duOiBnYXRld2F5IHBvcnQgKGNoYXNzaXMg cmVkaXJlY3QpIGJvdW5kIHRvIGh2MQorLSMgTFMxOiBkb3duX3ZpZjEgLSB2aWYgcG9ydCBib3Vu ZCB0byBodjEKKy0jICAgICAgZG93bl92aWYyIC0gdmlmIHBvcnQgYm91bmQgdG8gaHYyCistIyAg ICAgIGRvd25fZXh0IC0gb3V0ZXIgKHBvcnQgd2lsbCBiZSBpdGVyYXRlZCBhcyBsb2NhbG5ldCwg bDJnYXRld2F5KQorLSMKKy0jIFRlc3Q6IHNlbmQgR0FSUCByZXF1ZXN0IGZyb20gdmlydHVhbCBw b3J0cyAoZG93bl92aWYxLCBkb3duX3ZpZjIpCistIyAgICAgICBlbnN1cmUgbWFjX2JpbmRpbmcg aXMgYWx3YXlzIHVwZGF0ZWQuCistIyAgICAgICAoRml4aW5nIHRoZSBpc3N1ZTogbWFjX2JpbmRp bmcgaXMgb25seSB1cGRhdGVkIGZvciBwYWNrZXRzIGNhbWUgZnJvbQorLSMgICAgICAgIGRvd25f bGluaydzIHJlc2lkZW50IGNoYXNzaXMpCistIyAgICAgICBzZW5kIEdBUlAgcmVxdWVzdCBmcm9t IGZyb20gbG9jYWxuZXQuCistIyAgICAgICBlbnN1cmUgbWFjX2JpbmRpbmcgaXMgdXBkYXRlZCBv bmx5IGlmIGxvY2FsbmV0IGJvdW5kIHRvIHNhbWUgaHYgYXMgbDNkZ3cKKy0KKy1jaGVjayBvdm4t bmJjdGwgbHItYWRkIGxyMQorLWNoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMSBkb3duX2xpbmsg ZjA6MDA6MDA6MDA6MDA6ZjEgMTkyLjE2OC4xLjEvMjQKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHMt YWRkIGxzMQorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxzMSB1cF9saW5rCistY2hlY2sgb3Zu LW5iY3RsIGxzcC1hZGQgbHMxIGRvd25fdmlmMQorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxz MSBkb3duX3ZpZjIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgZG93bl9leHQKKy0KKy1j aGVjayBvdm4tbmJjdGwgc2V0IExvZ2ljYWxfU3dpdGNoX1BvcnQgdXBfbGluayBcCistICAgIHR5 cGU9cm91dGVyIFwKKy0gICAgb3B0aW9uczpyb3V0ZXItcG9ydD1kb3duX2xpbmsgXAorLSAgICBh ZGRyZXNzZXM9cm91dGVyCistCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIGRv d25fdmlmMSAnZjA6MDA6MDA6MDA6MDA6MDEgMTkyLjE2OC4xLjEwMScKKy1jaGVjayBvdm4tbmJj dGwgbHNwLXNldC1hZGRyZXNzZXMgZG93bl92aWYyICdmMDowMDowMDowMDowMDowMiAxOTIuMTY4 LjEuMTAyJworLQorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LXR5cGUgZG93bl9leHQgbG9jYWxu ZXQKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1vcHRpb25zIGRvd25fZXh0IG5ldHdvcmtfbmFt ZT1waHlzbmV0MQorLWNoZWNrIG92bi1uYmN0bCBscnAtc2V0LWdhdGV3YXktY2hhc3NpcyBkb3du X2xpbmsgaHYxCistCistbmV0X2FkZCBuMQorLQorLSMgQ3JlYXRlIGh5cGVydmlzb3IgaHYxIGNv bm5lY3RlZCB0byBuMQorLXNpbV9hZGQgaHYxCistYXMgaHYxCistb3ZzLXZzY3RsIGFkZC1iciBi ci1waHlzCistb3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4xCistb3ZzLXZzY3RsIGFk ZC1wb3J0IGJyLWludCB2aWYxIC0tIFwKKy0gICAgc2V0IEludGVyZmFjZSB2aWYxIGV4dGVybmFs LWlkczppZmFjZS1pZD1kb3duX3ZpZjEgXAorLSAgICBvcHRpb25zOnR4X3BjYXA9aHYxL3ZpZjEt dHgucGNhcCBvcHRpb25zOnJ4cV9wY2FwPWh2MS92aWYxLXJ4LnBjYXAKKy0KKy0jIENyZWF0ZSBo eXBlcnZpc29yIGh2MiBjb25uZWN0ZWQgdG8gbjEsIGFkZCBsb2NhbG5ldCBoZXJlCistc2ltX2Fk ZCBodjIKKy1hcyBodjIKKy1vdnMtdnNjdGwgYWRkLWJyIGJyLXBoeXMKKy1vdnMtdnNjdGwgYWRk LWJyIGJyLWV0aDAKKy1vdm5fYXR0YWNoIG4xIGJyLXBoeXMgMTkyLjE2OC4wLjIKKy1vdnMtdnNj dGwgYWRkLXBvcnQgYnItaW50IHZpZjIgLS0gXAorLSAgICBzZXQgSW50ZXJmYWNlIHZpZjIgZXh0 ZXJuYWwtaWRzOmlmYWNlLWlkPWRvd25fdmlmMiBcCistICAgIG9wdGlvbnM6dHhfcGNhcD1odjIv dmlmMi10eC5wY2FwIG9wdGlvbnM6cnhxX3BjYXA9aHYyL3ZpZjItcngucGNhcAorLQorLW92cy12 c2N0bCBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWxfaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9 InBoeXNuZXQxOmJyLWV0aDAiCistCistb3ZzLXZzY3RsIGFkZC1wb3J0IGJyLWV0aDAgdmlmX2V4 dCAtLSBcCistICAgIHNldCBJbnRlcmZhY2UgdmlmX2V4dCBvcHRpb25zOnR4X3BjYXA9aHYyL3Zp Zl9leHQtdHgucGNhcCBcCistICAgIG9wdGlvbnM6cnhxX3BjYXA9aHYyL3ZpZl9leHQtcngucGNh cAorLQorLSMgUHJlLXBvcHVsYXRlIHRoZSBoeXBlcnZpc29ycycgQVJQIHRhYmxlcyBzbyB0aGF0 IHdlIGRvbid0IGxvc2UgYW55CistIyBwYWNrZXRzIGZvciBBUlAgcmVzb2x1dGlvbiAobmF0aXZl IHR1bm5lbGluZyBkb2Vzbid0IHF1ZXVlIHBhY2tldHMKKy0jIGZvciBBUlAgcmVzb2x1dGlvbiku CistT1ZOX1BPUFVMQVRFX0FSUAorLQorLXdhaXRfZm9yX3BvcnRzX3VwCistY2hlY2sgb3ZuLW5i Y3RsIC0td2FpdD1odiBzeW5jCistCistIyBBbm5vbmNlIDE5Mi4xNjguMS4yMjIgZnJvbSBsb2Nh bG5ldCBpbiBodjIKKy0jIHJlc3VsdDogZHJvcCwgaHYyIGlzIG5vdCBnYXRld2F5IGNoYXNzaXMg Zm9yIGRvd25fbGluaworLXNoYT0wMjowMDowMDowMDowMDplZQorLXRoYT0wMDowMDowMDowMDow MDowMAorLXNwYT0xOTIuMTY4LjEuMjIyCistdHBhPSRzcGEKKy1nYXJwPSQoZm10X3BrdCAiRXRo ZXIoZHN0PSdmZjpmZjpmZjpmZjpmZjpmZicsIHNyYz0nJHtzaGF9JykvIFwKKy0gICAgICAgICAg ICAgICAgQVJQKGh3c3JjPScke3NoYX0nLCBod2RzdD0nJHt0aGF9JywgcHNyYz0nJHtzcGF9Jywg cGRzdD0nJHt0cGF9JykiKQorLWFzIGh2MiBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZl IHZpZl9leHQgJGdhcnAKKy0KKy0jIE1ha2UgaHYyIGdhdGV3YXkgY2hhc3NpcworLSMgQW5ub25j ZSAxOTIuMTY4LjEuMjIzIGZyb20gbG9jYWxuZXQgaW4gaHYyCistIyByZXN1bHQ6IG9rLCBodjIg aXMgZ2F0ZXdheSBjaGFzc2lzIGZvciBkb3duX2xpbmsKKy0jCistY2hlY2sgb3ZuLW5iY3RsIGxy cC1zZXQtZ2F0ZXdheS1jaGFzc2lzIGRvd25fbGluayBodjIKKy0KKy13YWl0X3Jvd19jb3VudCBQ b3J0X0JpbmRpbmcgMSBsb2dpY2FsX3BvcnQ9Y3ItZG93bl9saW5rICdjaGFzc2lzIT1bW11dJwor LWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgc3luYworLQorLXNoYT0wMjowMDowMDowMDowMDpl ZQorLXRoYT0wMDowMDowMDowMDowMDowMAorLXNwYT0xOTIuMTY4LjEuMjIzCistdHBhPSRzcGEK Ky1nYXJwPSQoZm10X3BrdCAiRXRoZXIoZHN0PSdmZjpmZjpmZjpmZjpmZjpmZicsIHNyYz0nJHtz aGF9JykvIFwKKy0gICAgICAgICAgICAgICAgQVJQKGh3c3JjPScke3NoYX0nLCBod2RzdD0nJHt0 aGF9JywgcHNyYz0nJHtzcGF9JywgcGRzdD0nJHt0cGF9JykiKQorLWFzIGh2MiBvdnMtYXBwY3Rs IG5ldGRldi1kdW1teS9yZWNlaXZlIHZpZl9leHQgJGdhcnAKKy0KKy0jIEFubm9uY2UgMTkyLjE2 OC4xLjExMSwgMTEyIGZyb20gdmlmMSwgdmlmMiBpbiBodjEsIGh2MgorLSMgcmVzdWx0OiBvaywg dmlmMSwgdmlmMiBhcmUgdmlydHVhbCBwb3J0cywgcmVzdHJpY3Rpb25zIGFyZSBub3QgYXBwbGll ZC4KKy1zaGE9ZjA6MDA6MDA6MDA6MDA6MDEKKy10aGE9MDA6MDA6MDA6MDA6MDA6MDAKKy1zcGE9 MTkyLjE2OC4xLjExMQorLXRwYT0wLjAuMC4wCistZ2FycD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0n ZmY6ZmY6ZmY6ZmY6ZmY6ZmYnLCBzcmM9JyR7c2hhfScpLyBcCistICAgICAgICAgICAgICAgIEFS UChod3NyYz0nJHtzaGF9JywgaHdkc3Q9JyR7dGhhfScsIHBzcmM9JyR7c3BhfScsIHBkc3Q9JyR7 dHBhfScpIikKKy1hcyBodjEgb3ZzLWFwcGN0bCBuZXRkZXYtZHVtbXkvcmVjZWl2ZSB2aWYxICRn YXJwCistCistc2hhPWYwOjAwOjAwOjAwOjAwOjAyCistdGhhPTAwOjAwOjAwOjAwOjAwOjAwCist c3BhPTE5Mi4xNjguMS4xMTIKKy10cGE9MC4wLjAuMAorLWdhcnA9JChmbXRfcGt0ICJFdGhlcihk c3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywgc3JjPScke3NoYX0nKS8gXAorLSAgICAgICAgICAgICAg ICBBUlAoaHdzcmM9JyR7c2hhfScsIGh3ZHN0PScke3RoYX0nLCBwc3JjPScke3NwYX0nLCBwZHN0 PScke3RwYX0nKSIpCistYXMgaHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgdmlm MiAkZ2FycAorLQorLSMgU2V0IGRvd25fZXh0IHR5cGUgdG8gbDJnYXRld2F5CistIyBBbm5vbmNl IDE5Mi4xNjguMS4xMTMsIDExNCBmcm9tIHZpZjEsIHZpZjIgaW4gaHYxLCBodjIKKy0jIHJlc3Vs dDogb2ssIHZpZjEsIHZpZjIgYXJlIHZpcnR1YWwgcG9ydHMsIHJlc3RyaWN0aW9ucyBhcmUgbm90 IGFwcGxpZWQuCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBsc3Atc2V0LXR5cGUgZG93bl9l eHQgbDJnYXRld2F5CistCistc2hhPWYwOjAwOjAwOjAwOjAwOjAxCistdGhhPTAwOjAwOjAwOjAw OjAwOjAwCistc3BhPTE5Mi4xNjguMS4xMTMKKy10cGE9MC4wLjAuMAorLWdhcnA9JChmbXRfcGt0 ICJFdGhlcihkc3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywgc3JjPScke3NoYX0nKS8gXAorLSAgICAg ICAgICAgICAgICBBUlAoaHdzcmM9JyR7c2hhfScsIGh3ZHN0PScke3RoYX0nLCBwc3JjPScke3Nw YX0nLCBwZHN0PScke3RwYX0nKSIpCistYXMgaHYxIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3Jl Y2VpdmUgdmlmMSAkZ2FycAorLQorLXNoYT1mMDowMDowMDowMDowMDowMgorLXRoYT0wMDowMDow MDowMDowMDowMAorLXNwYT0xOTIuMTY4LjEuMTE0CistdHBhPTAuMC4wLjAKKy1nYXJwPSQoZm10 X3BrdCAiRXRoZXIoZHN0PSdmZjpmZjpmZjpmZjpmZjpmZicsIHNyYz0nJHtzaGF9JykvIFwKKy0g ICAgICAgICAgICAgICAgQVJQKGh3c3JjPScke3NoYX0nLCBod2RzdD0nJHt0aGF9JywgcHNyYz0n JHtzcGF9JywgcGRzdD0nJHt0cGF9JykiKQorLWFzIGh2MiBvdnMtYXBwY3RsIG5ldGRldi1kdW1t eS9yZWNlaXZlIHZpZjIgJGdhcnAKKy0KKy13YWl0X3Jvd19jb3VudCBNQUNfQmluZGluZyAxIGlw PSIxOTIuMTY4LjEuMTExIiBtYWM9JyJmMDowMDowMDowMDowMDowMSInIGxvZ2ljYWxfcG9ydD0n ImRvd25fbGluayInCistd2FpdF9yb3dfY291bnQgTUFDX0JpbmRpbmcgMSBpcD0iMTkyLjE2OC4x LjExMiIgbWFjPSciZjA6MDA6MDA6MDA6MDA6MDIiJyBsb2dpY2FsX3BvcnQ9JyJkb3duX2xpbmsi JworLXdhaXRfcm93X2NvdW50IE1BQ19CaW5kaW5nIDEgaXA9IjE5Mi4xNjguMS4xMTMiIG1hYz0n ImYwOjAwOjAwOjAwOjAwOjAxIicgbG9naWNhbF9wb3J0PSciZG93bl9saW5rIicKKy13YWl0X3Jv d19jb3VudCBNQUNfQmluZGluZyAxIGlwPSIxOTIuMTY4LjEuMTE0IiBtYWM9JyJmMDowMDowMDow MDowMDowMiInIGxvZ2ljYWxfcG9ydD0nImRvd25fbGluayInCistd2FpdF9yb3dfY291bnQgTUFD X0JpbmRpbmcgMSBpcD0iMTkyLjE2OC4xLjIyMyIgbWFjPSciMDI6MDA6MDA6MDA6MDA6ZWUiJyBs b2dpY2FsX3BvcnQ9JyJkb3duX2xpbmsiJworLXdhaXRfcm93X2NvdW50IE1BQ19CaW5kaW5nIDAg aXA9IjE5Mi4xNjguMS4yMjIiIG1hYz0nIjAyOjAwOjAwOjAwOjAwOmVlIicgbG9naWNhbF9wb3J0 PSciZG93bl9saW5rIicKKy0KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IGxzcC1zZXQtdHlw ZSBkb3duX2V4dCBsb2NhbG5ldAorLQorLU9WTl9DTEVBTlVQKFtodjFdLFtodjJdKQorLUFUX0NM RUFOVVAKKy1dKQorLQorIE9WTl9GT1JfRUFDSF9OT1JUSEQoWworIEFUX1NFVFVQKFtQb3J0IHNl Y3VyaXR5IC0gVlJSUHYzIEFSUC9ORF0pCisgQVRfU0tJUF9JRihbdGVzdCAkSEFWRV9TQ0FQWSA9 IG5vXSkKK0BAIC00NTk2OCwzICs0NjA2OSw2NiBAQCBBVF9DSEVDSyhbZ3JlcCAtcSAiV0FSTi4q ZHluYW1pYy1yb3V0aW5nIiBodi9vdm4tY29udHJvbGxlci5sb2ddLCBbMV0pCisgT1ZOX0NMRUFO VVAoW2h2XSkKKyBBVF9DTEVBTlVQCisgXSkKKysKKytPVk5fRk9SX0VBQ0hfTk9SVEhEKFsKKytB VF9TRVRVUChbSVB2NCBvdmVyIHY2IE5laWdoIHNvbGljaXRhdGlvbiB0ZXN0XSkKKytvdm5fc3Rh cnQKKysKKytuZXRfYWRkIG4xCisrc2ltX2FkZCBodgorK292cy12c2N0bCBhZGQtYnIgYnItcGh5 cworK292bl9hdHRhY2ggbjEgYnItcGh5cyAxOTIuMTY4LjAuMQorK292cy12c2N0bCBzZXQgb3Bl biAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXBoeXM6YnItcGh5cworKworK2No ZWNrIG92bi1uYmN0bCBscy1hZGQgc3cwCisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgc3cwIHN3 MC1wb3J0MQorK2NoZWNrIG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBzdzAtcG9ydDEgIjUw OjU0OjAwOjAwOjAwOjAxIDEwLjAuMC4zIgorKworK2NoZWNrIG92bi1uYmN0bCBsci1hZGQgbHIw CisrY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgbHIwIGxyMC1zdzAgMDA6MDA6MDA6MDA6ZmY6MDEg MTAuMC4wLjEvMjQgMTAwMDo6MS82NAorK2NoZWNrIG92bi1uYmN0bCBsc3AtYWRkLXJvdXRlci1w b3J0IHN3MCBzdzAtbHIwIGxyMC1zdzAKKysKKytjaGVjayBvdm4tbmJjdGwgbHMtYWRkIHB1Ymxp YworK2NoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMCBscjAtcHVibGljIDAwOjAwOjIwOjIwOjEy OjEzCisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQtcm91dGVyLXBvcnQgcHVibGljIHB1YmxpYy1s cjAgbHIwLXB1YmxpYworKworKyMgbG9jYWxuZXQgcG9ydAorK2NoZWNrIG92bi1uYmN0bCBsc3At YWRkLWxvY2FsbmV0LXBvcnQgcHVibGljIGxuLXB1YmxpYyBwaHlzCisrCisrY2hlY2sgb3ZuLW5i Y3RsIGxycC1zZXQtZ2F0ZXdheS1jaGFzc2lzIGxyMC1wdWJsaWMgaHYgMjAKKytjaGVjayBvdm4t bmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAxNzIuMTY4LjAuMTEwIDEwLjAuMC4z CisrCisrb3ZzLXZzY3RsIC0tIGFkZC1wb3J0IGJyLWludCB2aWYxIC0tIFwKKysgICAgc2V0IGlu dGVyZmFjZSB2aWYxIGV4dGVybmFsLWlkczppZmFjZS1pZD1zdzAtcG9ydDEgXAorKyAgICBvcHRp b25zOnR4X3BjYXA9aHYvdmlmMS10eC5wY2FwIFwKKysgICAgb3B0aW9uczpyeHFfcGNhcD1odi92 aWYxLXJ4LnBjYXAgXAorKyAgICBvZnBvcnQtcmVxdWVzdD0xCisrCisrd2FpdF9mb3JfcG9ydHNf dXAKKysKKysjIEFkZCBhIGxlYXJudCByb3V0ZSBtYW51YWxseQorK2RwX3V1aWQ9JChmZXRjaF9j b2x1bW4gZGF0YXBhdGggX3V1aWQgZXh0ZXJuYWxfaWRzOm5hbWU9bHIwKQorK2xycF91dWlkPSQo ZmV0Y2hfY29sdW1uIHBvcnRfYmluZGluZyBfdXVpZCBsb2dpY2FsX3BvcnQ9bHIwLXB1YmxpYykK KysKKytjaGVja191dWlkIG92bi1zYmN0bCBjcmVhdGUgbGVhcm5lZF9yb3V0ZSBkYXRhcGF0aD0k ZHBfdXVpZCBsb2dpY2FsX3BvcnQ9JGxycF91dWlkIFwKKytpcF9wcmVmaXg9MC4wLjAuMC8wIG5l eHRob3A9JyJmZTgwOjo0MjpmZjpmZTAwOjFmZiInCisrCisrY2hlY2sgb3ZuLW5iY3RsIC0td2Fp dD1odiBzeW5jCisrCisrIyBTZW5kIGFuIElQdjQgcGFja2V0IGZyb20gc3cwLXBvcnQxIGRlc3Rp bmVkIHRvIG91dHNpZGUKKytwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JzAwOjAwOjAwOjAw OmZmOjAxJywgc3JjPSc1MDo1NDowMDowMDowMDowMScpLyBcCisrICAgICAgICAgICAgICAgICAg ICAgIElQKGRzdD0nOC44LjguOCcsIHNyYz0nMTAuMC4wLjMnKS9JQ01QKCkiKQorK2NoZWNrIGFz IGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgdmlmMSAkcGFja2V0CisrCisrbmRf bnM9JChmbXRfcGt0ICJFdGhlcihkc3Q9JzMzOjMzOmZmOjAwOjAxOmZmJywgc3JjPScwMDowMDoy MDoyMDoxMjoxMycpLyBcCisrICAgICAgICAgICAgICAgICAgICAgICBJUHY2KHNyYz0nZmU4MDo6 MjAwOjIwZmY6ZmUyMDoxMjEzJywgXAorKyAgICAgICAgICAgICAgICAgICAgICAgZHN0PSdmZjAy OjoxOmZmMDA6MWZmJykvSUNNUHY2TkRfTlModGd0PSdmZTgwOjo0MjpmZjpmZTAwOjFmZicpL1wK KysgICAgICAgICAgICAgICAgICAgICAgIElDTVB2Nk5ET3B0U3JjTExBZGRyKGxsYWRkcj0nMDA6 MDA6MjA6MjA6MTI6MTMnKSIpCisrCisrZWNobyAkbmRfbnMgPiBleHBlY3RlZF9uZF9ucworK09W Tl9DSEVDS19QQUNLRVRTX0NPTlRBSU4oW2h2L2JyLXBoeXNfbjEtdHgucGNhcF0sIFtleHBlY3Rl ZF9uZF9uc10pCisrCisrT1ZOX0NMRUFOVVAoW2h2XSkKKytBVF9DTEVBTlVQCisrXSkKKysKK2Rp ZmYgLS1naXQgYS90ZXN0cy9zeXN0ZW0tZHBkay1tYWNyb3MuYXQgYi90ZXN0cy9zeXN0ZW0tZHBk ay1tYWNyb3MuYXQKK2luZGV4IDBkMGExOTEzMDUuLjZlYjY4ODgzODYgMTAwNjQ0CistLS0gYS90 ZXN0cy9zeXN0ZW0tZHBkay1tYWNyb3MuYXQKKysrKyBiL3Rlc3RzL3N5c3RlbS1kcGRrLW1hY3Jv cy5hdAorQEAgLTQzLDcgKzQzLDcgQEAgbTRfZGVmaW5lKFtPVlNfVFJBRkZJQ19WU1dJVENIRF9T VEFSVF0sCisgICBbT1ZTX0RQREtfUFJFX0NIRUNLKCkKKyAgICBPVlNfV0FJVF9XSElMRShbaXAg bGluayBzaG93IG92cy1uZXRkZXZdKQorICAgIF9PVlNfVlNXSVRDSERfU1RBUlQoWy0tZGlzYWJs ZS1zeXN0ZW1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgWy0tIHNldCBPcGVuX3ZTd2l0Y2gg LiBvdGhlcl9jb25maWc6ZHBkay1pbml0PXRydWUgb3RoZXJfY29uZmlnOmRwZGstZXh0cmE9Ii0t bG9nLWxldmVsPXBtZC4qOmVycm9yIC0tbm8tcGNpIl0pCisrICAgICAgICAgICAgICAgICAgICAg ICBbLS0gc2V0IE9wZW5fdlN3aXRjaCAuIG90aGVyX2NvbmZpZzpkcGRrLWluaXQ9dHJ1ZSBvdGhl cl9jb25maWc6cG1kLWNwdS1tYXNrPTB4MSBvdGhlcl9jb25maWc6ZHBkay1leHRyYT0iLS1sb2ct bGV2ZWw9cG1kLio6ZXJyb3IgLS1uby1wY2kiXSkKKyAgICBkbmwgQWRkIGJyaWRnZXMsIHBvcnRz LCBldGMuCisgICAgT1ZTX1dBSVRfV0hJTEUoW2lwIGxpbmsgc2hvdyBicjBdKQorICAgIEFUX0NI RUNLKFtvdnMtdnNjdGwgLS0gX0FERF9CUihbYnIwXSkgLS0gJDEgbTRfaWYoWyQyXSwgW10sIFtd LCBbfCB1dWlkZmlsdF0pXSwgWzBdLCBbJDJdKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3N5c3RlbS1v dm4uYXQgYi90ZXN0cy9zeXN0ZW0tb3ZuLmF0CitpbmRleCA1ODJlZDE5NGI1Li42NzQ3NzgyZWNl IDEwMDY0NAorLS0tIGEvdGVzdHMvc3lzdGVtLW92bi5hdAorKysrIGIvdGVzdHMvc3lzdGVtLW92 bi5hdAorQEAgLTQ2MTYsOCArNDYxNiw3IEBAIE9WTl9DTEVBTlVQX05PUlRIRAorIGFzCisgT1ZT X1RSQUZGSUNfVlNXSVRDSERfU1RPUChbIi9mYWlsZWQgdG8gcXVlcnkgcG9ydCBwYXRjaC0uKi9k CisgL2Nvbm5lY3Rpb24gZHJvcHBlZC4qL2QKKy0vU2VydmljZSBtb25pdG9yIG5vdCBmb3VuZC4q L2QKKy0vaGFuZGxlIHNlcnZpY2UgY2hlY2s6IFVuc3VwcG9ydGVkIHByb3RvY29sKi9kIl0pCisr L1NlcnZpY2UgbW9uaXRvciBub3QgZm91bmQuKi9kIl0pCisgCisgQVRfQ0xFQU5VUAorIF0pCitA QCAtNDgxNiw4ICs0ODE1LDcgQEAgT1ZOX0NMRUFOVVBfTk9SVEhECisgYXMKKyBPVlNfVFJBRkZJ Q19WU1dJVENIRF9TVE9QKFsiL2ZhaWxlZCB0byBxdWVyeSBwb3J0IHBhdGNoLS4qL2QKKyAvY29u bmVjdGlvbiBkcm9wcGVkLiovZAorLS9TZXJ2aWNlIG1vbml0b3Igbm90IGZvdW5kLiovZAorLS9o YW5kbGUgc2VydmljZSBjaGVjazogVW5zdXBwb3J0ZWQgcHJvdG9jb2wqL2QiXSkKKysvU2Vydmlj ZSBtb25pdG9yIG5vdCBmb3VuZC4qL2QiXSkKKyAKKyBBVF9DTEVBTlVQCisgXSkKK0BAIC01MDI3 LDkgKzUwMjUsMTIgQEAgT1ZTX1dBSVRfVU5USUwoWworICAgICB0ZXN0ICIke25fcmVzZXR9IiA9 ICIxIgorIF0pCisgCisrb3ZuLWFwcGN0bCBjb3ZlcmFnZS9zaG93ID4gb3ZuX2NvdW50ZXJzCisr QVRfQ0hFQ0soW3Rlc3QgNTAgLWd0ICQob3ZuLWFwcGN0bCAtdCBvdm4tY29udHJvbGxlciBjb3Zl cmFnZS9yZWFkLWNvdW50ZXIgcGluY3RybF9ub3RpZnlfaGFuZGxlcl90aHJlYWQpXSwgWzBdKQor KworICMgQ2hlY2sgdGhhdCB3ZSBkbyBub3QgZ2V0IHRvbyBtYW55IGltbWVkaWF0ZSB3YWtlIHVw LgorICMgVG9sZXJhdGUgYSBmZXcgZm9yIGFueSByYWNlIGNvbmRpdGlvbnMuCistQVRfQ0hFQ0so W3Rlc3QgNSAtZ3QgYGNhdCBvdm4tY29udHJvbGxlci5sb2cgfCBcCisrQVRfQ0hFQ0soW3Rlc3Qg NSAtZ3QgYGdyZXAgb3ZuX3BpbmN0cmwwIG92bi1jb250cm9sbGVyLmxvZyB8IFwKKyBncmVwIC1j ICJ3YWtldXAgZHVlIHRvIDAtbXMgdGltZW91dCBhdCBjb250cm9sbGVyL3BpbmN0cmwuYzoiYF0p CisgCisgT1ZOX0NMRUFOVVBfQ09OVFJPTExFUihbaHYxXSkKK0BAIC0xMzg0Miw5OSArMTM4NDMs NiBAQCBPVlNfVFJBRkZJQ19WU1dJVENIRF9TVE9QKFsiLy4qZXJyb3IgcmVjZWl2aW5nLiovZAor IEFUX0NMRUFOVVAKKyBdKQorIAorLU9WTl9GT1JfRUFDSF9OT1JUSEQoWworLUFUX1NFVFVQKFtT QiBEaXNjb25uZWN0IC0gTUFDX0JpbmRpbmcgYnVmZmVyIGxpbWl0XSkKKy1vdm5fc3RhcnQKKy1P VlNfVFJBRkZJQ19WU1dJVENIRF9TVEFSVCgpCistCistQUREX0JSKFtici1pbnRdKQorLUFERF9C UihbYnItZXh0XSkKKy0KKy1TQl9QQVRIPSJ1bml4OiRvdnNfYmFzZS9vdm4tc2Ivb3ZuLXNiLnNv Y2siCistb3ZzLW9mY3RsIGFkZC1mbG93IGJyLWV4dCBhY3Rpb249bm9ybWFsCistIyBTZXQgZXh0 ZXJuYWwtaWRzIGluIGJyLWludCBuZWVkZWQgZm9yIG92bi1jb250cm9sbGVyCistb3ZzLXZzY3Rs IFwKKy0gICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6c3lzdGVtLWlk PWh2MSBcCistICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1y ZW1vdGU9JFNCX1BBVEggXAorLSAgICAgICAgLS0gc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFs LWlkczpvdm4tZW5jYXAtdHlwZT1nZW5ldmUgXAorLSAgICAgICAgLS0gc2V0IE9wZW5fdlN3aXRj aCAuIGV4dGVybmFsLWlkczpvdm4tZW5jYXAtaXA9MTY5LjAuMC4xIFwKKy0gICAgICAgIC0tIHNl dCBicmlkZ2UgYnItaW50IGZhaWwtbW9kZT1zZWN1cmUgb3RoZXItY29uZmlnOmRpc2FibGUtaW4t YmFuZD10cnVlCistCistIyBTdGFydCBvdm4tY29udHJvbGxlcgorLXN0YXJ0X2RhZW1vbiBvdm4t Y29udHJvbGxlcgorLQorLUFERF9OQU1FU1BBQ0VTKHN3MDEpCistQUREX1ZFVEgoc3cwMSwgc3cw MSwgYnItaW50LCAiMTkyLjE2OC4xLjEwLzI0IiwgImYwOjAwOjAwOjAxOjAyOjAzIiwgXAorLSAg ICAgICAgIjE5Mi4xNjguMS4xIikKKy1BRERfTkFNRVNQQUNFUyhzZXJ2ZXIpCistQUREX1ZFVEgo czEsIHNlcnZlciwgYnItZXh0LCAiMTcyLjE2LjEuMS8yNCIsICJmMDowMDowMDowMTowMjowNSIs IFwKKy0gICAgICAgICAiMTcyLjE2LjEuMjU0IikKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHItYWRk IFIxCistCistY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBzdzAKKy1jaGVjayBvdm4tbmJjdGwgbHMt YWRkIHN3MQorLWNoZWNrIG92bi1uYmN0bCBscy1hZGQgc3ctZXh0CistCistY2hlY2sgb3ZuLW5i Y3RsIGxycC1hZGQgUjEgcnAtc3cwIDAwOjAwOjAxOjAxOjAyOjAzIDE5Mi4xNjguMS4xLzI0Cist Y2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgUjEgcnAtZXh0IDAwOjAwOjAyOjAxOjAyOjAzIDE3Mi4x Ni4xLjI1NC8xNgorLQorLWNoZWNrIG92bi1uYmN0bCBscnAtc2V0LWdhdGV3YXktY2hhc3NpcyBy cC1leHQgaHYxCistCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgc3cwIHN3MC1ycCAtLSBzZXQg TG9naWNhbF9Td2l0Y2hfUG9ydCBzdzAtcnAgXAorLSAgICB0eXBlPXJvdXRlciBvcHRpb25zOnJv dXRlci1wb3J0PXJwLXN3MCBcCistICAgIC0tIGxzcC1zZXQtYWRkcmVzc2VzIHN3MC1ycCByb3V0 ZXIKKy0KKy1jaGVjayBvdm4tbmJjdGwgc2V0IExvZ2ljYWxfU3dpdGNoIHN3MCBvdGhlcl9jb25m aWc6ZGhjcF9yZWxheV9wb3J0PXN3MC1ycAorLQorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIHN3 LWV4dCBleHQtcnAgLS0gc2V0IExvZ2ljYWxfU3dpdGNoX1BvcnQgZXh0LXJwIFwKKy0gICAgdHlw ZT1yb3V0ZXIgb3B0aW9uczpyb3V0ZXItcG9ydD1ycC1leHQgXAorLSAgICAtLSBsc3Atc2V0LWFk ZHJlc3NlcyBleHQtcnAgcm91dGVyCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQtbG9jYWxuZXQt cG9ydCBzdy1leHQgbG5ldCBwaHluZXQKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBzdzAg c3cwMSBcCistICAgIC0tIGxzcC1zZXQtYWRkcmVzc2VzIHN3MDEgImYwOjAwOjAwOjAxOjAyOjAz IDE5Mi4xNjguMS4xMCIKKy0KKy1BVF9DSEVDSyhbb3ZzLXZzY3RsIHNldCBPcGVuX3ZTd2l0Y2gg LiBleHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5ncz1waHluZXQ6YnItZXh0XSkKKy0KKy1P Vk5fUE9QVUxBVEVfQVJQCistCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCistCist QVNfQk9YKFtEaXNjb25uZWN0IFNCIGFuZCBzZW5kIHBpbmcgdG8gZ2VuZXJhdGUgbXVsdGlwbGUg QVJQcyAoPjEwMDApXSkKKy1BVF9DSEVDSyhbb3ZzLXZzY3RsIHNldCBPcGVuX3ZTd2l0Y2ggLiBl eHRlcm5hbC1pZHM6b3ZuLXJlbW90ZT10Y3A6MTI3LjAuMC4xOjEyMzRdKQorLUFUX0NIRUNLKFtv dnMtdnNjdGwgc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tcmVtb3RlLXByb2Jl LWludGVydmFsPTEwMF0pCistCistc2xlZXAgMQorLUFUX0NIRUNLKFtvdm4tYXBwY3RsIGNvbm5l Y3Rpb24tc3RhdHVzXSwgWzBdLCBbZG5sCistbm90IGNvbm5lY3RlZAorLV0pCistCistZm9yIGkg aW4gezEuLjIwfTsgZG8KKy0gIGZvciBqIGluIHsxLi4xMDB9OyBkbworLSAgICBOU19FWEVDKFtz dzAxXSwgW3RpbWVvdXQgMC4xIHBpbmcgLXEgLWMgMSAtVyAwLjEgMTcyLjE2LiRpLiRqID4vZGV2 L251bGwgMj4mMSAmXSkKKy0gIGRvbmUKKy0gIHNsZWVwIDAuNQorLWRvbmUKKy0KKy1BU19CT1go W1ZlcmlmeSBwaW5jdHJsX2Ryb3BfYnVmZmVyZWRfcGFja2V0c19tYXAgY291bnRlcl0pCistb3Zu LWFwcGN0bCAgY292ZXJhZ2Uvc2hvdyA+b3ZuX2NvdW50ZXJzCistQVRfQ0FQVFVSRV9GSUxFKFtv dm5fY291bnRlcnNdKQorLUFUX0NIRUNLKFtncmVwIC1xICJwaW5jdHJsX2Ryb3BfYnVmZmVyZWRf cGFja2V0c19tYXAiIG92bl9jb3VudGVyc10sIFswXSkKKy0KKy1BVF9DSEVDSyhbb3ZzLXZzY3Rs IHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6b3ZuLXJlbW90ZT0kU0JfUEFUSF0pCist CistT1ZOX0NMRUFOVVBfQ09OVFJPTExFUihbaHYxXSkKKy0KKy1PVk5fQ0xFQU5VUF9OT1JUSEQK Ky0KKy1hcworLU9WU19UUkFGRklDX1ZTV0lUQ0hEX1NUT1AoWyIvLiplcnJvciByZWNlaXZpbmcu Ki9kCistL2ZhaWxlZCB0byBxdWVyeSBwb3J0IHBhdGNoLS4qL2QKKy0vLip0ZXJtaW5hdGluZyB3 aXRoIHNpZ25hbCAxNS4qL2QiXSkKKy1BVF9DTEVBTlVQCistXSkKKy0KKyBPVk5fRk9SX0VBQ0hf Tk9SVEhEKFsKKyBBVF9TRVRVUChbUm91dGluZyBwcm90b2NvbCByZWRpcmVjdCAtIGwzIGdhdGV3 YXldKQorIEFUX1NLSVBfSUYoW3Rlc3QgJEhBVkVfTkMgPSBub10pCitAQCAtMTQ5NTgsNiArMTQ4 NjYsOCBAQCBOU19DSEVDS19FWEVDKFt2bTFdLCBbcGluZyAtcSAtYyAzIC1pIDAuMyAtdyAyIDE3 Mi4xOC4xLjEyIHwgRk9STUFUX1BJTkddLCBcCisgXSkKKyAKKyBjaGVjayBvdm4tbmJjdGwgLS13 YWl0PWh2IHNldCBsb2FkX2JhbGFuY2VyIGxiMCBvcHRpb25zOmFkZF9yb3V0ZT1mYWxzZQorKyMg V2FpdCBmb3IgcmV2YWxpZGF0aW9uIG9mIHN0YWxlIG1lZ2FmbG93cyB3aGljaCBtYXkgbGFnIGJl aGluZC4KKytjaGVjayBvdnMtYXBwY3RsIHJldmFsaWRhdG9yL3dhaXQKKyBOU19DSEVDS19FWEVD KFt2bTFdLCBbcGluZyAtcSAtYyAzIC1pIDAuMyAtdyAyIDE3Mi4xOC4xLjEyIHwgRk9STUFUX1BJ TkddLCBcCisgWzBdLCBbZG5sCisgNyBwYWNrZXRzIHRyYW5zbWl0dGVkLCAwIHJlY2VpdmVkLCAx MDAlIHBhY2tldCBsb3NzLCB0aW1lIDBtcworQEAgLTIxNDk3LDkzICsyMTQwNyw2IEBAIE9WU19U UkFGRklDX1ZTV0lUQ0hEX1NUT1AoWyIvZmFpbGVkIHRvIHF1ZXJ5IHBvcnQgcGF0Y2gtLiovZAor IEFUX0NMRUFOVVAKKyBdKQorIAorLU9WTl9GT1JfRUFDSF9OT1JUSEQoWworLUFUX1NFVFVQKFtV bnN1cHBvcnRlZCBwcm90b2NvbCBtZXNzYWdlXSkKKy1BVF9TS0lQX0lGKFt0ZXN0ICRIQVZFX05D ID0gbm9dKQorLQorLW92bl9zdGFydAorLU9WU19UUkFGRklDX1ZTV0lUQ0hEX1NUQVJUKCkKKy1B RERfQlIoW2JyLWludF0pCistCistIyBTZXQgZXh0ZXJuYWwtaWRzIGluIGJyLWludCBuZWVkZWQg Zm9yIG92bi1jb250cm9sbGVyLgorLWNoZWNrIG92cy12c2N0bCBcCistICAgICAgICAtLSBzZXQg T3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOnN5c3RlbS1pZD1odjEgXAorLSAgICAgICAgLS0g c2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tcmVtb3RlPXVuaXg6JG92c19iYXNl L292bi1zYi9vdm4tc2Iuc29jayBcCistICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0 ZXJuYWwtaWRzOm92bi1lbmNhcC10eXBlPWdlbmV2ZSBcCistICAgICAgICAtLSBzZXQgT3Blbl92 U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1lbmNhcC1pcD0xNjkuMC4wLjEgXAorLSAgICAgICAg LS0gc2V0IGJyaWRnZSBici1pbnQgZmFpbC1tb2RlPXNlY3VyZSBvdGhlci1jb25maWc6ZGlzYWJs ZS1pbi1iYW5kPXRydWUKKy0KKy0jIFN0YXJ0IG92bi1jb250cm9sbGVyLgorLXN0YXJ0X2RhZW1v biBvdm4tY29udHJvbGxlcgorLQorLWNoZWNrIG92bi1uYmN0bCBscy1hZGQgbHMxCistY2hlY2sg b3ZuLW5iY3RsIGxzcC1hZGQgbHMxIGxzMXAxCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRk cmVzc2VzIGxzMXAxICIwMDowMDowMDowMTowMTowMSAxOTIuMTY4LjEuMSIKKy1jaGVjayBvdm4t bmJjdGwgbHNwLWFkZCBsczEgbHMxcDIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNz ZXMgbHMxcDIgIjAwOjAwOjAwOjAxOjAxOjAyIDE5Mi4xNjguMS4yIgorLQorLWNoZWNrIG92bi1u YmN0bCBsci1hZGQgbHIxCistY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgbHIxIGxyMS1sczEgMDA6 MDA6MDA6MDA6MDA6MDEgMTkyLjE2OC4xLjI1NC8yNAorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRk IGxzMSBsczEtbHIxCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIGxzMS1scjEg IjAwOjAwOjAwOjAwOjAwOjAxIDE5Mi4xNjguMS4yNTQiCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1z ZXQtdHlwZSBsczEtbHIxIHJvdXRlcgorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LW9wdGlvbnMg bHMxLWxyMSByb3V0ZXItcG9ydD1scjEtbHMxCistCistY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQg bHIxIGxyMS1sczIgMDA6MDA6MDA6MDA6MDA6MDIgMTkyLjE2OC4yLjI1NC8yNAorLQorLWNoZWNr IG92bi1uYmN0bCBscy1hZGQgbHMyCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgbHMyIGxzMi1s cjEKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNzZXMgbHMyLWxyMSAiMDA6MDA6MDA6 MDA6MDA6MDIgMTkyLjE2OC4yLjI1NCIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC10eXBlIGxz Mi1scjEgcm91dGVyCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtb3B0aW9ucyBsczItbHIxIHJv dXRlci1wb3J0PWxyMS1sczIKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczIgbHMycDEK Ky1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNzZXMgbHMycDEgIjAwOjAwOjAwOjAxOjAy OjAxIDE5Mi4xNjguMi4xIgorLQorLUFERF9OQU1FU1BBQ0VTKGxzMXAxKQorLUFERF9WRVRIKGxz MXAxLCBsczFwMSwgYnItaW50LCAiMTkyLjE2OC4xLjEvMjQiLCAiMDA6MDA6MDA6MDE6MDE6MDEi LAorLSAgICAgICAgICIxOTIuMTY4LjEuMjU0IikKKy0KKy1BRERfTkFNRVNQQUNFUyhsczJwMSkK Ky1BRERfVkVUSChsczJwMSwgbHMycDEsIGJyLWludCwgIjE5Mi4xNjguMi4xLzI0IiwgIjAwOjAw OjAwOjAxOjAyOjAxIiwKKy0gICAgICAgICAiMTkyLjE2OC4yLjI1NCIpCistCistQUREX05BTUVT UEFDRVMobHMxcDIpCistQUREX1ZFVEgobHMxcDIsIGxzMXAyLCBici1pbnQsICIxOTIuMTY4LjEu Mi8yNCIsICIwMDowMDowMDowMTowMTowMiIsCistICAgICAgICAgIjE5Mi4xNjguMS4yNTQiKQor LQorLWNoZWNrIG92bi1uYmN0bCBsYi1hZGQgbGIwIDE5Mi4xNjguNS4xOjEyMzQ1IDE5Mi4xNjgu MS4xOjEyMzQ1LDE5Mi4xNjguMS4yOjEyMzQ1CistY2hlY2sgb3ZuLW5iY3RsIGxzLWxiLWFkZCBs czEgbGIwCistY2hlY2sgb3ZuLW5iY3RsIGxyLWxiLWFkZCBscjEgbGIwCistbGJfdXVpZD0kKGZl dGNoX2NvbHVtbiBuYjpMb2FkX0JhbGFuY2VyIF91dWlkIG5hbWU9bGIwKQorLWNoZWNrIG92bi1u YmN0bCBzZXQgTG9hZF9CYWxhbmNlciAkbGJfdXVpZCBwcm90b2NvbD11ZHAKKy1jaGVjayBvdm4t bmJjdGwgLS13YWl0PWh2IHNldCBMb2dpY2FsX1JvdXRlciBscjEgb3B0aW9uczpjaGFzc2lzPSJo djEiCistCistd2FpdF9mb3JfcG9ydHNfdXAgbHMxcDEgbHMxcDIgbHMycDEKKy0KKy1ORVROU19E QUVNT05JWkUoW2xzMXAxXSwgW25jIC1sIDEyMzQ1IC0tdWRwIC1rIC0tc2gtZXhlYyBsc10sIFtu YzEucGlkXSkKKy1ORVROU19EQUVNT05JWkUoW2xzMXAyXSwgW25jIC1sIDEyMzQ1IC0tdWRwIC1r IC0tc2gtZXhlYyBsc10sIFtuYzIucGlkXSkKKy0KKy1oY191dWlkPSQob3ZuLW5iY3RsIC0taWQ9 QGhjIGNyZWF0ZSBMb2FkX0JhbGFuY2VyX0hlYWx0aF9DaGVjayB2aXA9IjE5Mi4xNjguNS4xXDox MjM0NSIgLS0gXAorLSAgICAgICAgICBhZGQgTG9hZF9CYWxhbmNlciAkbGJfdXVpZCBoZWFsdGhf Y2hlY2sgQGhjKQorLWNoZWNrIG92bi1uYmN0bCBzZXQgTG9hZF9CYWxhbmNlcl9IZWFsdGhfQ2hl Y2sgJGhjX3V1aWQgb3B0aW9uczp0aW1lb3V0PTIwIG9wdGlvbnM6c3VjY2Vzc19jb3VudD0zIG9w dGlvbnM6ZmFpbHVyZV9jb3VudD0zCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBzZXQgbG9h ZF9iYWxhbmNlciAkbGJfdXVpZCBpcF9wb3J0X21hcHBpbmdzOjE5Mi4xNjguMS4xPWxzMXAxOjE5 Mi4xNjguMS4yNTQKKy0KKy1OU19FWEVDKFtsczJwMV0sIFtuYyAtLXVkcCAxOTIuMTY4LjUuMSAx MjM0NSA8PDwgaF0pCistCistIyBJdCBtYXkgbm90IHNlZW0gbGlrZSB3ZSdyZSBhY3R1YWxseSB0 ZXN0aW5nIGFueXRoaW5nIGluIHRoaXMgdGVzdC4KKy0jIElmIHRoZXJlIGlzIGEgd2FybmluZyBv ciBlcnJvciBpbiB0aGUgb3ZuLWNvbnRyb2xsZXIgbG9nIGFib3V0CistIyBhbiB1bnN1cHBvcnRl ZCBoZWFsdGggY2hlY2sgcHJvdG9jb2wsIGl0IHdpbGwgY2F1c2UgYSB0ZXN0IGZhaWx1cmUKKy0j IHdoZW4gd2Ugc3RvcCBvdm4tY29udHJvbGxlci4KKy1PVk5fQ0xFQU5VUF9DT05UUk9MTEVSKFto djFdKQorLU9WTl9DTEVBTlVQX05PUlRIRAorLQorLWFzCistT1ZTX1RSQUZGSUNfVlNXSVRDSERf U1RPUChbIi9mYWlsZWQgdG8gcXVlcnkgcG9ydCBwYXRjaC0uKi9kCistL2Nvbm5lY3Rpb24gZHJv cHBlZC4qL2QiXSkKKy1BVF9DTEVBTlVQCistXSkKKy0KKyBPVk5fRk9SX0VBQ0hfTk9SVEhEKFsK KyBBVF9TRVRVUChbTG9hZCBiYWxhbmNlciBoZWFsdGggY2hlY2tzIC0gc2VydmljZSBtb25pdG9y IHNvdXJjZSBNQUMgbWF0Y2hpbmddKQorIEFUX1NLSVBfSUYoW3Rlc3QgJEhBVkVfTkMgPSBub10p CitAQCAtMjE4MTQsMyArMjE2MzcsNzcgQEAgT1ZTX1RSQUZGSUNfVlNXSVRDSERfU1RPUChbIi9m YWlsZWQgdG8gcXVlcnkgcG9ydCBwYXRjaC0uKi9kCisgCisgQVRfQ0xFQU5VUAorIF0pCisrCisr T1ZOX0ZPUl9FQUNIX05PUlRIRChbCisrQVRfU0VUVVAoW1ZJRiBwb3J0IGNvbm5lY3RlZCB0byBs b2NhbG5ldCBuZXR3b3JrXSkKKysjCisrIyBUb3BvbG9neToKKysjICAgIChmYWJyaWMpIC0tIGxv Y2FsbmV0LXBvcnQgLS0gTFMgLS0tIERHUChjaGFzc2lzMikgLS0gTFIKKysjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAorKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CisrIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWTSAoY2hhc3NpczEpCisrIwor KyMgSXQgaXMgZXhwZWN0ZWQgdGhhdCBBUlAgcmVxdWVzdHMgdG8gdGhpcyBwb3J0IGFyZSBhbGxv d2VkIG9uIHRoZSBjaGFzc2lzIHRoYXQgaG9zdHMgdGhpcyBwb3J0LgorKworK292bl9zdGFydAor K09WU19UUkFGRklDX1ZTV0lUQ0hEX1NUQVJUKCkKKytBRERfQlIoW2JyLWludF0pCisrQUREX0JS KFtici1leHRdKQorKworK292cy1vZmN0bCBhZGQtZmxvdyBici1leHQgYWN0aW9uPW5vcm1hbAor KyMgU2V0IGV4dGVybmFsLWlkcyBpbiBici1pbnQgbmVlZGVkIGZvciBvdm4tY29udHJvbGxlcgor K292cy12c2N0bCBcCisrICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRz OnN5c3RlbS1pZD1odjEgXAorKyAgICAgICAgLS0gc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFs LWlkczpvdm4tcmVtb3RlPXVuaXg6JG92c19iYXNlL292bi1zYi9vdm4tc2Iuc29jayBcCisrICAg ICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1lbmNhcC10eXBlPWdl bmV2ZSBcCisrICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1l bmNhcC1pcD0xNjkuMC4wLjEgXAorKyAgICAgICAgLS0gc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVy bmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXBoeW5ldDpici1leHQgXAorKyAgICAgICAgLS0g c2V0IGJyaWRnZSBici1pbnQgZmFpbC1tb2RlPXNlY3VyZSBvdGhlci1jb25maWc6ZGlzYWJsZS1p bi1iYW5kPXRydWUKKysKKysjIFN0YXJ0IG92bi1jb250cm9sbGVyCisrc3RhcnRfZGFlbW9uIG92 bi1jb250cm9sbGVyCisrCisrY2hlY2sgb3ZuLW5iY3RsIGxyLWFkZCBscjEKKytjaGVjayBvdm4t bmJjdGwgbHMtYWRkIHB1YmxpYworKworK2NoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMSBycC1w dWJsaWMgMDA6MDA6MDI6MDE6MDI6MDMgMTcyLjMxLjEuMS8yNAorK2NoZWNrIG92bi1uYmN0bCBs c3AtYWRkLXJvdXRlci1wb3J0IHB1YmxpYyBwdWJsaWMtcnAgcnAtcHVibGljCisrY2hlY2sgb3Zu LW5iY3RsIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBwdWJsaWMgbG9jYWxuZXQgcGh5bmV0CisrY2hl Y2sgb3ZuLW5iY3RsIGxycC1zZXQtZ2F0ZXdheS1jaGFzc2lzIHJwLXB1YmxpYyBodjIKKysKKytB RERfTkFNRVNQQUNFUyhleHQpCisrQUREX1ZFVEgoZXh0LCBleHQsIGJyLWV4dCwgIjE3Mi4zMS4x LjIvMjQiLCAiZjA6MDA6MDA6MDE6MDI6MDIiLCBcCisrICAgICAgICAgIjE3Mi4zMS4xLjEiKQor K0FERF9OQU1FU1BBQ0VTKGxzcDEpCisrQUREX1ZFVEgobHNwMSwgbHNwMSwgYnItaW50LCAiMTcy LjMxLjEuMy8yNCIsICJmMDowMDowMDowMTowMjowMyIsIFwKKysgICAgICAgICAiMTcyLjMxLjEu MSIpCisrQUREX05BTUVTUEFDRVMobHNwMikKKytBRERfVkVUSChsc3AyLCBsc3AyLCBici1pbnQs ICIxNzIuMzEuMS40LzI0IiwgImYwOjAwOjAwOjAxOjAyOjA0IiwgXAorKyAgICAgICAgICIxNzIu MzEuMS4xIikKKysKKytjaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBwdWJsaWMgbHNwMQorK2NoZWNr IG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBsc3AxICJmMDowMDowMDowMTowMjowMyAxNzIu MzEuMS4zIgorK2NoZWNrIG92bi1uYmN0bCBsc3AtYWRkIHB1YmxpYyBsc3AyCisrY2hlY2sgb3Zu LW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIGxzcDIgImYwOjAwOjAwOjAxOjAyOjA0IDE3Mi4zMS4x LjQiCisrCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCisrCisrTlNfQ0hFQ0tfRVhF QyhbZXh0XSwgW3BpbmcgLXEgLWMgMyAtaSAwLjMgLXcgMiAxNzIuMzEuMS4zIHwgRk9STUFUX1BJ TkddLCBcCisrWzBdLCBbZG5sCisrMyBwYWNrZXRzIHRyYW5zbWl0dGVkLCAzIHJlY2VpdmVkLCAw JSBwYWNrZXQgbG9zcywgdGltZSAwbXMKKytdKQorKworK05TX0NIRUNLX0VYRUMoW2xzcDFdLCBb cGluZyAtcSAtYyAzIC1pIDAuMyAtdyAyIDE3Mi4zMS4xLjQgfCBGT1JNQVRfUElOR10sIFwKKytb MF0sIFtkbmwKKyszIHBhY2tldHMgdHJhbnNtaXR0ZWQsIDMgcmVjZWl2ZWQsIDAlIHBhY2tldCBs b3NzLCB0aW1lIDBtcworK10pCisrCisrT1ZOX0NMRUFOVVBfQ09OVFJPTExFUihbaHYxXSkKKytP Vk5fQ0xFQU5VUF9OT1JUSEQKKysKKythcworK09WU19UUkFGRklDX1ZTV0lUQ0hEX1NUT1AoWyIv ZmFpbGVkIHRvIHF1ZXJ5IHBvcnQgcGF0Y2gtLiovZAorKy9jb25uZWN0aW9uIGRyb3BwZWQuKi9k Il0pCisrCisrQVRfQ0xFQU5VUAorK10pCgpkaWZmIC0tZ2l0IGEvb3ZuLnNwZWMgYi9vdm4uc3Bl YwppbmRleCBiNWJlYWIzLi42Y2Q3NDM4IDEwMDY0NAotLS0gYS9vdm4uc3BlYworKysgYi9vdm4u c3BlYwpAQCAtNDYsNyArNDYsNyBAQCBOYW1lOiBvdm4KIFN1bW1hcnk6IE9wZW4gVmlydHVhbCBO ZXR3b3JrIHN1cHBvcnQKIFVSTDogaHR0cDovL3d3dy5vcGVudnN3aXRjaC5vcmcvCiBWZXJzaW9u OiAyNi4wMy4xCi1SZWxlYXNlOiAxMCV7P2NvbW1pdDA6LiV7ZGF0ZX1naXQle3Nob3J0Y29tbWl0 MH19JXs/ZGlzdH0KK1JlbGVhc2U6IDUwJXs/Y29tbWl0MDouJXtkYXRlfWdpdCV7c2hvcnRjb21t aXQwfX0lez9kaXN0fQogT2Jzb2xldGVzOiBvcGVudnN3aXRjaC1vdm4tY29tbW9uIDwgJXs/ZXBv Y2hfb3ZzOiV7ZXBvY2hfb3ZzfTp9Mi4xMS4wLTgKIFByb3ZpZGVzOiBvcGVudnN3aXRjaC1vdm4t Y29tbW9uID0gJXs/ZXBvY2g6JXtlcG9jaH06fSV7dmVyc2lvbn0tJXtyZWxlYXNlfQogCkBAIC00 NTUsNiArNDU1LDEwIEBAIGZpCiAle191bml0ZGlyfS9vdm4tYnItZGIuc2VydmljZQogCiAlY2hh bmdlbG9nCisqIFRodSBKdW4gNCAyMDI2IER1bWl0cnUgQ2VhcmEgPGRjZWFyYUByZWRoYXQuY29t PiAtIDI2LjAzLjEtNTAKKy0gVXBkYXRlZCB0aGUgT1ZOIHNvdXJjZXMgdG8gcGljayB1cCB0aGUg Y29tbWl0cyBmcm9tIHYyNi4wMy4xIHRpbGwKKyAgdGhlIHRpcCBvZiBicmFuY2gtMjYuMDMgKDlm MDRiOGM1MDg2YTc0ZGIyOTlkYWVlYTQ5MDg1MThiYmIyN2QxMzkpLgorCiAqIFdlZCBBcHIgMjIg MjAyNiBEdW1pdHJ1IENlYXJhIDxkY2VhcmFAcmVkaGF0LmNvbT4gLSAyNi4wMy4zLTEwCiAtIFVw ZGF0ZWQgdGhlIE9WTiBzb3VyY2VzIHRvIHVwc3RyZWFtIHJlbGVhc2UgdjI2LjAzLjEgd2l0aCB0 aGUKICAgY29tbWl0IDBjYzFlYTViYjcxZDI5YjkxMjQ0ZjUzNjhlY2JiZGE4ODM3YmM1NDIgYW5k IHBpY2tlZCB1cAo=