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: Andrew Burgess To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: fix rhbz2366461 -- missing thread issue and solib entry address issue Date: Sun, 28 Jun 2026 00:02:21 GMT Message-ID: <178260494168.1.5132699532561625272.rpms-gdb-4ed07e90ac8a@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 4ed07e90ac8ac56d4da8c4a5e63764ffa9fbe6e4 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogNGVkMDdlOTBhYzhhYzU2ZDRkYThjNGE1ZTYzNzY0ZmZhOWZi ZTZlNAogICAgICAgICAgICBBdXRob3IgOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNC0yM1QxNjo1NDoxMyswMTowMAogICAg ICAgICAgICBTdGF0cyAgOiArOTcwLy0xIGluIDYgZmlsZShzKQogICAgICAgICAgICBVUkwgICAg OiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzRlZDA3ZTkwYWM4YWM1 NmQ0ZGE4YzRhNWU2Mzc2NGZmYTlmYmU2ZTQ/YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCiAg ICAgICAgICAgIExvZzoKICAgICAgICAgICAgZml4IHJoYnoyMzY2NDYxIC0tIG1pc3NpbmcgdGhy ZWFkIGlzc3VlIGFuZCBzb2xpYiBlbnRyeSBhZGRyZXNzIGlzc3VlCgpCYWNrcG9ydCB1cHN0cmVh bSBjb21taXRzIDhiZDA4ZWU5MmM0IGFuZCBjZDI4OWRmMDY4ZSB0byBhZGRyZXNzCnJoYnoyMzY2 NDYxLiAgVGhlc2UgYmFja3BvcnRzIHdpbGwgbm90IGJlIG5lZWRlZCBvbmNlIHdlIHJlYmFzZSB0 byBHREIKMTguCgpUaGUgcmhiejIzNjY0NjEgYnVnIHVuZm9ydHVuYXRlbHkgY29udGFpbnMgdHdv IHNlcGFyYXRlIGJ1ZyByZXBvcnRzLAp0aGV5IGFwcGVhciB0byBoYXZlIGJlZW4gaW5jb3JyZWN0 bHkgbWVyZ2VkIGJ5IGxpYnJlcG9ydCAoSSB0aGluaykuClRoZSB0d28gYmFja3BvcnRzIGluIHRo aXMgY29tbWl0IGZpeCB0aGUgdHdvIGlzc3Vlcy4KCi0tLQpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVj LlBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQppbmRleCA1NmJjYTczLi5l MzA2NDc3IDEwMDY0NAotLS0gYS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNw ZWMuUGF0Y2guaW5jbHVkZQpAQCAtNTAsMyArNTAsMTEgQEAgUGF0Y2gwMDk6IGdkYi1yaGJ6MjQx MzQwNS1nY29yZS11bnJlYWRhYmxlLXBhZ2VzLnBhdGNoCiAjIHBhdGggY29tcG9uZW50cyBpbiBP VVRESVIuZ2RiL3Rlc3RzdWl0ZTogZml4IEZBSUxzIGluIGZpbGVpby5leHAKIFBhdGNoMDEwOiBn ZGItZmlsZWlvLXRlc3QtZml4ZXMucGF0Y2gKIAorIyBCYWNrcG9ydCB1cHN0cmVhbSBjb21taXQg OGJkMDhlZTkyYzQgdG8gYWRkcmVzcyByaGJ6MjM2NjQ2MS4gIFRoaXMKKyMgY29tbWl0IHdpbGwg ZHJvcCBvdXQgd2l0aCBHREIgMTguCitQYXRjaDAxMTogZ2RiLXJoYnoyMzY2NDYxLW1pc3Npbmct dGhyZWFkLnBhdGNoCisKKyMgQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGNkMjg5ZGYwNjhlIHRv IGFkZHJlc3MgcmhiejIzNjY0NjEuICBUaGlzCisjIGNvbW1pdCB3aWxsIGRyb3Agb3V0IHdpdGgg R0RCIDE4LgorUGF0Y2gwMTI6IGdkYi1yaGJ6MjM2NjQ2MS1iYWQtc29saWItZW50cnktYWRkci5w YXRjaAorCgpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNwZWMu cGF0Y2guaW5jbHVkZQppbmRleCA2Mjk1NDA2Li5kYWQ0ZDBhIDEwMDY0NAotLS0gYS9fZ2RiLnNw ZWMucGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQpAQCAtOCwzICs4 LDUgQEAKICVwYXRjaCAtcDEgLVAwMDgKICVwYXRjaCAtcDEgLVAwMDkKICVwYXRjaCAtcDEgLVAw MTAKKyVwYXRjaCAtcDEgLVAwMTEKKyVwYXRjaCAtcDEgLVAwMTIKCmRpZmYgLS1naXQgYS9fcGF0 Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggNmZlOTFkYS4uY2EyMTViZSAxMDA2NDQKLS0t IGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtOCwzICs4LDUgQEAgZ2RiLXJo YnoyNDAzNTgwLW1pc3BsYWNlZC1zeW10YWJzLnBhdGNoCiBnZGItcmhiejI0MzU5NTAtc2tpcC1y ZXZlcnQucGF0Y2gKIGdkYi1yaGJ6MjQxMzQwNS1nY29yZS11bnJlYWRhYmxlLXBhZ2VzLnBhdGNo CiBnZGItZmlsZWlvLXRlc3QtZml4ZXMucGF0Y2gKK2dkYi1yaGJ6MjM2NjQ2MS1taXNzaW5nLXRo cmVhZC5wYXRjaAorZ2RiLXJoYnoyMzY2NDYxLWJhZC1zb2xpYi1lbnRyeS1hZGRyLnBhdGNoCgpk aWZmIC0tZ2l0IGEvZ2RiLXJoYnoyMzY2NDYxLWJhZC1zb2xpYi1lbnRyeS1hZGRyLnBhdGNoIGIv Z2RiLXJoYnoyMzY2NDYxLWJhZC1zb2xpYi1lbnRyeS1hZGRyLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzNmFiNWYKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhi ejIzNjY0NjEtYmFkLXNvbGliLWVudHJ5LWFkZHIucGF0Y2gKQEAgLTAsMCArMSw0NTMgQEAKK0Zy b20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZXcg QnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMTUgQXByIDIwMjYgMTA6 NDM6MzEgKzAxMDAKK1N1YmplY3Q6IGdkYi1yaGJ6MjM2NjQ2MS1iYWQtc29saWItZW50cnktYWRk ci5wYXRjaAorCis7OyBCYWNrcG9ydCB1cHN0cmVhbSBjb21taXQgY2QyODlkZjA2OGUgdG8gYWRk cmVzcyByaGJ6MjM2NjQ2MS4gIFRoaXMKKzs7IGNvbW1pdCB3aWxsIGRyb3Agb3V0IHdpdGggR0RC IDE4LgorCitnZGI6IGRvbid0IHVzZSAudGV4dCBhcyBkZWZhdWx0IGVudHJ5IHBvaW50IHNlY3Rp b24KKworV2UgZ290IGEgRmVkb3JhIEdEQiBidWcgcmVwb3J0IHRoYXQgYSB1c2VyIHRyaWVkIHRv IGRlYnVnIGFuIEFwcGltYWdlLAorYW5kIEdEQiB3b3VsZCByZWxpYWJseSBjcmFzaCBsaWtlIHRo aXM6CisKKyAgKGdkYikgcnVuCisgIFN0YXJ0aW5nIHByb2dyYW06IC90bXAvYnVpbGQvZ2RiL3Rl c3RzdWl0ZS9vdXRwdXRzL2dkYi5iYXNlL3NvbGliLWJhZC1lbnRyeS1hZGRyL3NvbGliLWJhZC1l bnRyeS1hZGRyCisgIC4uLy4uL3NyYy9nZGIvc3ltZmlsZS5jOjg0MzogaW50ZXJuYWwtZXJyb3I6 IHNlY3RfaW5kZXhfdGV4dCBub3QgaW5pdGlhbGl6ZWQKKyAgQSBwcm9ibGVtIGludGVybmFsIHRv IEdEQiBoYXMgYmVlbiBkZXRlY3RlZCwKKyAgZnVydGhlciBkZWJ1Z2dpbmcgbWF5IHByb3ZlIHVu cmVsaWFibGUuCisgIC0tLS0tIEJhY2t0cmFjZSAtLS0tLQorICAuLi4gZXRjIC4uLgorCitUaGUg c3BlY2lmaWMgQXBwSW1hZ2UgYmVpbmcgZGVidWdnZWQgY2FuIGJlIGZvdW5kIGhlcmUsIEkndmUg bW9kaWZpZWQKK3RoZSBVUkwgd2l0aCBhIHdhcm5pbmcgbWFya2VyLiAgSSBtYWtlIG5vIGNsYWlt cyBhYm91dCB3aGV0aGVyIGl0IGlzCitzYWZlIHRvIGRvd25sb2FkIHRoZSBpbWFnZSwgYW5kIHJ1 bm5pbmcgaXQgaXMgZGVmaW5pdGVseSBhdCB5b3VyIG93bgorcmlzay4gIElmIHlvdSB3aXNoIHRv LCBkZWxldGUgdGhlIHdhcm5pbmcgbWFya2VyIHRvIGRvd25sb2FkOgorCisgIGh0dHBzOi8vZ2l0 aHViLmNvbS9NdXJtZWxlL0dpdHR5dXAvPFJVTiBBVCBZT1VSIE9XTiBSSVNLPi9yZWxlYXNlcy9k b3dubG9hZC9naXR0eXVwX3YxLjQuMC9HaXR0eXVwLTEuNC4wLXg4Nl82NC5BcHBJbWFnZQorCitB dCB0aGUgcG9pbnQgb2YgdGhlIGFib3ZlIGNyYXNoIEdEQidzIHN0YWNrIGlzOgorCisgICM5ICAw eDAwMDAwMDAwMDE5MGM2ZWQgaW4gaW50ZXJuYWxfZXJyb3JfbG9jIChmaWxlPTB4MWU0YTk0ZSAi Li4vLi4vc3JjL2dkYi9zeW1maWxlLmMiLCBsaW5lPTgzOCwgZm10PTB4MWU0YWE1MCAic2VjdF9p bmRleF90ZXh0IG5vdCBpbml0aWFsaXplZCIpIGF0IC4uLy4uL3NyYy9nZGJzdXBwb3J0L2Vycm9y cy5jYzo1NworICAjMTAgMHgwMDAwMDAwMDAwZjVmNWFjIGluIGluaXRfZW50cnlfcG9pbnRfaW5m byAob2JqZmlsZT0weDVhOThlODApIGF0IC4uLy4uL3NyYy9nZGIvc3ltZmlsZS5jOjgzOAorICAj MTEgMHgwMDAwMDAwMDAwZjVmOTQzIGluIHN5bXNfZnJvbV9vYmpmaWxlIChvYmpmaWxlPTB4NWE5 OGU4MCwgYWRkcnM9MHg3ZmZkNzg3Mjg0OTAsIGFkZF9mbGFncz0uLi4pIGF0IC4uLy4uL3NyYy9n ZGIvc3ltZmlsZS5jOjk2MgorICAjMTIgMHgwMDAwMDAwMDAwZjVmZTZkIGluIHN5bWJvbF9maWxl X2FkZF93aXRoX2FkZHJzIChhYmZkPS4uLiwgbmFtZT0weDNlNzZlNTAgIi90bXAvLm1vdW50X0dp dHR5dWptSUJrRC91c3IvYmluLy4uLy4uL2hvbWUvcnVubmVyL3dvcmsvR2l0dHl1cC9RdC81LjE1 LjIvZ2NjXzY0L2xpYi8uL2xpYmljdWRhdGEuc28uNTYiLCBhZGRfZmxhZ3M9Li4uLCBhZGRycz0w eDdmZmQ3ODcyODQ5MCwgZmxhZ3M9Li4uLCBwYXJlbnQ9MHgwKSBhdCAuLi8uLi9zcmMvZ2RiL3N5 bWZpbGUuYzoxMDcxCisgICMxMyAweDAwMDAwMDAwMDBmNjAxYWEgaW4gc3ltYm9sX2ZpbGVfYWRk X2Zyb21fYmZkIChhYmZkPS4uLiwgbmFtZT0weDNlNzZlNTAgIi90bXAvLm1vdW50X0dpdHR5dWpt SUJrRC91c3IvYmluLy4uLy4uL2hvbWUvcnVubmVyL3dvcmsvR2l0dHl1cC9RdC81LjE1LjIvZ2Nj XzY0L2xpYi8uL2xpYmljdWRhdGEuc28uNTYiLCBhZGRfZmxhZ3M9Li4uLCBhZGRycz0weDdmZmQ3 ODcyODQ5MCwgZmxhZ3M9Li4uLCBwYXJlbnQ9MHgwKSBhdCAuLi8uLi9zcmMvZ2RiL3N5bWZpbGUu YzoxMTQ1CisgICMxNCAweDAwMDAwMDAwMDBmMGYyYWQgaW4gc29saWJfcmVhZF9zeW1ib2xzIChz bz0uLi4sIGZsYWdzPS4uLikgYXQgLi4vLi4vc3JjL2dkYi9zb2xpYi5jOjYyNworICAjMTUgMHgw MDAwMDAwMDAwZjEwMjYzIGluIHNvbGliX2FkZCAocGF0dGVybj0weDAsIGZyb21fdHR5PTAsIHJl YWRzeW1zPTEpIGF0IC4uLy4uL3NyYy9nZGIvc29saWIuYzo5NjAKKworRnJvbSB0aGlzIHdlIGNh biBzZWUgR0RCIGlzIHRyeWluZyB0byBhZGQgdGhlIHNoYXJlZCBsaWJyYXJ5OgorCisgIC90bXAv Lm1vdW50X0dpdHR5dWptSUJrRC91c3IvYmluLy4uLy4uL2hvbWUvcnVubmVyL3dvcmsvR2l0dHl1 cC9RdC81LjE1LjIvZ2NjXzY0L2xpYi8uL2xpYmljdWRhdGEuc28uNTYKKworVGhlIGludGVybmFs IGVycm9yIGlzIHRyaWdnZXJlZCBmcm9tIHRoZXNlIGxpbmVzIGluCitpbml0X2VudHJ5X3BvaW50 X2luZm86CisKKyAgaWYgKCFmb3VuZCkKKyAgICBlaS0+dGhlX2JmZF9zZWN0aW9uX2luZGV4ID0g U0VDVF9PRkZfVEVYVCAob2JqZmlsZSk7CisKK1doZXJlIFNFQ1RfT0ZGX1RFWFQgaXM6CisKKyAg I2RlZmluZSBTRUNUX09GRl9URVhUKG9iamZpbGUpIFwKKyAgICAgKChvYmpmaWxlLT5zZWN0X2lu ZGV4X3RleHQgPT0gLTEpIFwKKyAgICAgID8gKGludGVybmFsX2Vycm9yIChfKCJzZWN0X2luZGV4 X3RleHQgbm90IGluaXRpYWxpemVkIikpLCAtMSkJXAorICAgICAgOiBvYmpmaWxlLT5zZWN0X2lu ZGV4X3RleHQpCisKK1NvIHdlIGNhbiBzZWUgdGhhdCBvYmpmaWxlOjpzZWN0X2luZGV4X3RleHQg aXMgLTEsIHdoaWNoIGxlYWRzIHRvIHRoZQoraW50ZXJuYWwgZXJyb3IuCisKK0xvb2tpbmcgYXQg dGhlICdyZWFkZWxmIC1XYSAuLi4nIG91dHB1dCBmb3IgdGhlIHNoYXJlZCBsaWJyYXJ5IGluCitx dWVzdGlvbiB3ZSBzZWUgdGhpczoKKworICBFTEYgSGVhZGVyOgorICAgIE1hZ2ljOiAgIDdmIDQ1 IDRjIDQ2IDAyIDAxIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCisgICAgQ2xhc3M6ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFTEY2NAorICAgIERhdGE6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMidzIGNvbXBsZW1lbnQsIGxpdHRsZSBlbmRpYW4KKyAgICBWZXJzaW9u OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgKGN1cnJlbnQpCisgICAgT1MvQUJJOiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBVTklYIC0gU3lzdGVtIFYKKyAgICBBQkkgVmVyc2lvbjog ICAgICAgICAgICAgICAgICAgICAgIDAKKyAgICBUeXBlOiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERZTiAoU2hhcmVkIG9iamVjdCBmaWxlKQorICAgIE1hY2hpbmU6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWR2YW5jZWQgTWljcm8gRGV2aWNlcyBYODYtNjQKKyAgICBWZXJzaW9u OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorICAgIEVudHJ5IHBvaW50IGFkZHJlc3M6 ICAgICAgICAgICAgICAgMHgyZDcKKyAgICBTdGFydCBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAg ICAgIDI1MDUxMTM2IChieXRlcyBpbnRvIGZpbGUpCisgICAgU3RhcnQgb2Ygc2VjdGlvbiBoZWFk ZXJzOiAgICAgICAgICAyNTA0NzU1MiAoYnl0ZXMgaW50byBmaWxlKQorICAgIEZsYWdzOiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwCisgICAgU2l6ZSBvZiB0aGlzIGhlYWRlcjogICAg ICAgICAgICAgICA2NCAoYnl0ZXMpCisgICAgU2l6ZSBvZiBwcm9ncmFtIGhlYWRlcnM6ICAgICAg ICAgICA1NiAoYnl0ZXMpCisgICAgTnVtYmVyIG9mIHByb2dyYW0gaGVhZGVyczogICAgICAgICA3 CisgICAgU2l6ZSBvZiBzZWN0aW9uIGhlYWRlcnM6ICAgICAgICAgICA2NCAoYnl0ZXMpCisgICAg TnVtYmVyIG9mIHNlY3Rpb24gaGVhZGVyczogICAgICAgICAxMQorICAgIFNlY3Rpb24gaGVhZGVy IHN0cmluZyB0YWJsZSBpbmRleDogNworCisgIFNlY3Rpb24gSGVhZGVyczoKKyAgICBbTnJdIE5h bWUgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICBBZGRyZXNzICAgICAgICAgIE9mZiAgICBT aXplICAgRVMgRmxnIExrIEluZiBBbAorICAgIFsgMF0gICAgICAgICAgICAgICAgICAgTlVMTCAg ICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwIDAwMDAwMCAwMCAgICAgIDAgICAwICAw CisgICAgWyAxXSAubm90ZS5nbnUuYnVpbGQtaWQgTk9URSAgICAgICAgICAgIDAwMDAwMDAwMDAw MDAxOTAgMDAwMTkwIDAwMDAyNCAwMCAgIEEgIDAgICAwICA0CisgICAgWyAyXSAuZ251Lmhhc2gg ICAgICAgICBHTlVfSEFTSCAgICAgICAgMDAwMDAwMDAwMDAwMDFiOCAwMDAxYjggMDAwMDM0IDAw ICAgQSAgMyAgIDAgIDgKKyAgICBbIDNdIC5keW5zeW0gICAgICAgICAgIERZTlNZTSAgICAgICAg ICAwMDAwMDAwMDAwMDAwMWYwIDAwMDFmMCAwMDAwOTAgMTggICBBIDEwICAgMiAgOAorICAgIFsg NF0gLnJvZGF0YSAgICAgICAgICAgUFJPR0JJVFMgICAgICAgIDAwMDAwMDAwMDAwMDAyZTAgMDAw MmUwIDE3ZTI3ZDAgMDAgICBBICAwICAgMCAxNgorICAgIFsgNV0gLmVoX2ZyYW1lICAgICAgICAg UFJPR0JJVFMgICAgICAgIDAwMDAwMDAwMDE3ZTJhYjAgMTdlMmFiMCAwMDAwMDAgMDAgICBBICAw ICAgMCAgOAorICAgIFsgNl0gLmR5bmFtaWMgICAgICAgICAgRFlOQU1JQyAgICAgICAgIDAwMDAw MDAwMDE5ZTJmMTAgMTdlMmYxMCAwMDAwZjAgMTAgIFdBIDEwICAgMCAgOAorICAgIFsgN10gLnNo c3RydGFiICAgICAgICAgU1RSVEFCICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAgMTdlMzAwMCAw MDAwNjMgMDAgICAgICAwICAgMCAgMQorICAgIFsgOF0gLnN5bXRhYiAgICAgICAgICAgU1lNVEFC ICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAgMTdlMzA2OCAwMDAxNTAgMTggICAgICA5ICAxMCAg OAorICAgIFsgOV0gLnN0cnRhYiAgICAgICAgICAgU1RSVEFCICAgICAgICAgIDAwMDAwMDAwMDAw MDAwMDAgMTdlMzFiOCAwMDAwNDQgMDAgICAgICAwICAgMCAgMQorICAgIFsxMF0gLmR5bnN0ciAg ICAgICAgICAgU1RSVEFCICAgICAgICAgIDAwMDAwMDAwMDE5ZTMxODggMTdlNDE4OCAwMDA0MjAg MDAgICBBICAwICAgMCAgOAorICBLZXkgdG8gRmxhZ3M6CisgICAgVyAod3JpdGUpLCBBIChhbGxv YyksIFggKGV4ZWN1dGUpLCBNIChtZXJnZSksIFMgKHN0cmluZ3MpLCBJIChpbmZvKSwKKyAgICBM IChsaW5rIG9yZGVyKSwgTyAoZXh0cmEgT1MgcHJvY2Vzc2luZyByZXF1aXJlZCksIEcgKGdyb3Vw KSwgVCAoVExTKSwKKyAgICBDIChjb21wcmVzc2VkKSwgeCAodW5rbm93biksIG8gKE9TIHNwZWNp ZmljKSwgRSAoZXhjbHVkZSksCisgICAgRCAobWJpbmQpLCBsIChsYXJnZSksIHAgKHByb2Nlc3Nv ciBzcGVjaWZpYykKKworICBUaGVyZSBhcmUgbm8gc2VjdGlvbiBncm91cHMgaW4gdGhpcyBmaWxl LgorCisgIFByb2dyYW0gSGVhZGVyczoKKyAgICBUeXBlICAgICAgICAgICBPZmZzZXQgICBWaXJ0 QWRkciAgICAgICAgICAgUGh5c0FkZHIgICAgICAgICAgIEZpbGVTaXogIE1lbVNpeiAgIEZsZyBB bGlnbgorICAgIExPQUQgICAgICAgICAgIDB4MDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAweDAw MDAwMDAwMDAwMDAwMDAgMHgxN2UyYWIwIDB4MTdlMmFiMCBSICAgMHgyMDAwMDAKKyAgICBHTlVf U1RBQ0sgICAgICAweDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAw IDB4MDAwMDAwIDB4MDAwMDAwIFJXICAweDEwCisgICAgTk9URSAgICAgICAgICAgMHgwMDAxOTAg MHgwMDAwMDAwMDAwMDAwMTkwIDB4MDAwMDAwMDAwMDAwMDE5MCAweDAwMDAyNCAweDAwMDAyNCBS ICAgMHg0CisgICAgTE9BRCAgICAgICAgICAgMHgxN2UyZjEwIDB4MDAwMDAwMDAwMTllMmYxMCAw eDAwMDAwMDAwMDE5ZTJmMTAgMHgwMDAwZjAgMHgwMDAwZjAgUlcgIDB4MjAwMDAwCisgICAgRFlO QU1JQyAgICAgICAgMHgxN2UyZjEwIDB4MDAwMDAwMDAwMTllMmYxMCAweDAwMDAwMDAwMDE5ZTJm MTAgMHgwMDAwZjAgMHgwMDAwZjAgUlcgIDB4OAorICAgIEdOVV9SRUxSTyAgICAgIDB4MTdlMmYx MCAweDAwMDAwMDAwMDE5ZTJmMTAgMHgwMDAwMDAwMDAxOWUyZjEwIDB4MDAwMGYwIDB4MDAwMGYw IFIgICAweDEKKyAgICBMT0FEICAgICAgICAgICAweDE3ZTQwMDAgMHgwMDAwMDAwMDAxOWUzMDAw IDB4MDAwMDAwMDAwMTllMzAwMCAweDAwMDVhOCAweDAwMDVhOCBSVyAgMHgxMDAwCisKK1RoaW5n cyB0byBub3RlIGhlcmUgYXJlOgorCisgIDEuIFRoZXJlIHJlYWxseSBpcyBubyAudGV4dCBzZWN0 aW9uLCBvciBhbnkgZXhlY3V0YWJsZSBzZWN0aW9ucywKKworICAyLiB0aGVyZSBhcmUgMyBMT0FE IHNlZ21lbnRzLiAgVGhpcyB3aWxsIGJlIGltcG9ydGFudCBsYXRlciwgYW5kCisKKyAgMy4gdGhl ICJFbnRyeSBwb2ludCBhZGRyZXNzIiBpcyBvdXRzaWRlIGFsbCBzZWN0aW9ucywgYW5kIGlzCisg ICAgIG5vbi16ZXJvLgorCitOZXh0IHdlIGNhbiBpbnZlc3RpZ2F0ZSB3aGVyZSBvYmpmaWxlOjpz ZWN0X2luZGV4X3RleHQgaXMgc2V0IHRvCitzb21ldGhpbmcgb3RoZXIgdGhhbiAtMS4gIFN0YXJ0 aW5nIGluIGluaXRfb2JqZmlsZV9zZWN0X2luZGljZXMsIGlmCit0aGUgb2JqZmlsZSBoYXMgYSAi LnRleHQiIHNlY3Rpb24gdGhlbiBzZWN0X2luZGV4X3RleHQgY2FuIGJlIHNldC4KK1RoaXMgY2Fz ZSBjbGVhcmx5IGRvZXNuJ3QgYXBwbHkuCisKK05leHQgc3ltZmlsZV9maW5kX3NlZ21lbnRfc2Vj dGlvbnMgaXMgY2FsbGVkLiAgVGhpcyB0cmllcyB0byBtYXRjaCBhCitjb21tb24gY2FzZSB3aGVy ZSB3ZSBoYXZlIGVpdGhlciAxIG9yIDIgTE9BRCBzZWdtZW50cywgYW5kIGFzc3VtZXMgYQorZGVm YXVsdCBkaXN0cmlidXRpb24gb2Ygc2VjdGlvbnMgdG8gc2VnbWVudHMuICBIb3dldmVyLCB3ZSBo YXZlIDMgTE9BRAorc2VnbWVudHMsIHNvIHRoZXNlIGxpbmVzOgorCisgIGlmIChkYXRhLT5zZWdt ZW50cy5zaXplICgpICE9IDEgJiYgZGF0YS0+c2VnbWVudHMuc2l6ZSAoKSAhPSAyKQorICAgIHJl dHVybjsKKworcmVzdWx0IGluIGFuIGVhcmx5IHJldHVybiBmcm9tIHN5bWZpbGVfZmluZF9zZWdt ZW50X3NlY3Rpb25zIHdpdGhvdXQKK3NlY3RfaW5kZXhfdGV4dCBiZWluZyBzZXQuCisKK0JhY2sg aW4gaW5pdF9vYmpmaWxlX3NlY3RfaW5kaWNlcywgaWYgbm8gc2VjdGlvbnMgaGF2ZSBhbiBvZmZz ZXQgdGhlbgord2Ugc2V0IGFueSBjdXJyZW50bHkgdW5zZXQgc2VjdF9pbmRleF8qIHZhbHVlcywg aW5jbHVkaW5nCitzZWN0X2luZGV4X3RleHQsIHRvIHBvaW50IGF0IHNlY3Rpb24gMC4gIEhvd2V2 ZXIsIGluIG91ciBjYXNlIHRoZQorb2JqZmlsZSBpcyBhIHJlbG9jYXRhYmxlIHNoYXJlZCBsaWJy YXJ5LCBzbyB0aGUgc2VjdGlvbnMgd2lsbCBoYXZlIGFuCitvZmZzZXQsIGFuZCBzbyB0aGlzIGZp bmFsIGZhbGxiYWNrIGNhc2UgZG9lc24ndCBhcHBseS4KKworVGhlIHJlc3VsdCBpcyB0aGF0IGlu aXRfb2JqZmlsZV9zZWN0X2luZGljZXMgbmV2ZXIgc2V0cworc2VjdF9pbmRleF90ZXh0LiAgVGhp cyB3b3JyaWVzIG1lIGEgbGl0dGxlIGFzCitpbml0X29iamZpbGVfc2VjdF9pbmRpY2VzIGNvbnRh aW5zIHRoaXMgY29tbWVudDoKKworICAvKiBUaGlzIGlzIHdoZXJlIHRoaW5ncyBnZXQgcmVhbGx5 IHdlaXJkLi4uICBXZSBNVVNUIGhhdmUgdmFsaWQKKyAgICAgaW5kaWNlcyBmb3IgdGhlIHZhcmlv dXMgc2VjdF9pbmRleF8qIG1lbWJlcnMgb3IgZ2RiIHdpbGwgYWJvcnQuCisgICAgIFNvIGlmIGZv ciBleGFtcGxlLCB0aGVyZSBpcyBubyAiLnRleHQiIHNlY3Rpb24sIHdlIGhhdmUgdG8KKyAgICAg YWNjb21tb2RhdGUgdGhhdC4gIEZpcnN0LCBjaGVjayBmb3IgYSBmaWxlIHdpdGggdGhlIHN0YW5k YXJkCisgICAgIG9uZSBvciB0d28gc2VnbWVudHMuICAqLworCitOb3RpY2UgdGhlIGVtcGhhc2lz IG9uIE1VU1QgaW4gdGhhdCBjb21tZW50LCBhbmQgaW5kZWVkLCB3ZSBleGl0IHRoaXMKK2Z1bmN0 aW9uIHdpdGhvdXQgc2V0dGluZyBzZWN0X2luZGV4X3RleHQsIGFuZCBHREIgZG9lcyBpbmRlZWQg YWJvcnQuCitUaGUgY29tbWVudCBzZWVtcyB0byBpbXBseSB0aGF0IHRoZSBmb2xsb3dpbmcgY29k ZSBpcyBnb2luZyB0byB0cnkgdG8KK2ZpZ3VyZSBvdXQgYSBzdWl0YWJsZSBzdGFuZC1pbiBzZWN0 X2luZGV4X3RleHQgZm9yIHdoZW4gdGhlcmUgaXMgbm8KKyIudGV4dCIgc2VjdGlvbiwgYnV0IGNs ZWFybHkgSSd2ZSBydW4gaW50byBhIGNhc2UgdGhhdCBpc24ndCBjb3ZlcmVkLgorCitBbGwgb2Yg dGhpcyBjb2RlIHJlbGF0aW5nIHRvIHNldHRpbmcgc2VjdF9pbmRleF90ZXh0IHdhcyBpbnRyb2R1 Y2VkIGluCitjb21taXQ6CisKKyAgY29tbWl0IDMxZDk5Nzc2YzczZDZmY2ExMzE2M2RhNTljODUy YjBmYTk5Zjg5YjgKKyAgRGF0ZTogICBNb24gSnVuIDE4IDE1OjQ2OjM4IDIwMDcgKzAwMDAKKwor V2hpY2ggdW5mb3J0dW5hdGVseSBpcyBmcm9tIGEgdGltZSB3aGVyZSB3ZSBkaWRuJ3Qgd3JpdGUg dXNlZnVsIGNvbW1pdAorbWVzc2FnZXMsIHNvIHRvIHVuZGVyc3RhbmQgdGhlIGNvbW1pdCB5b3Ug bmVlZCB0byBnbyByZWFkIHRoZSBtYWlsaW5nCitsaXN0IGFyY2hpdmUsIGJ1dCB0aGV5IGRvbid0 IG9mZmVyIG11Y2ggbW9yZSBpbnNpZ2h0OgorCisgIGh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlw ZXJtYWlsL2dkYi1wYXRjaGVzLzIwMDctTWF5LzA1MDUyNy5odG1sCisKK0NsZWFybHkgdGhlIGNv bW1lbnQgaW4gaW5pdF9vYmpmaWxlX3NlY3RfaW5kaWNlcyB3b3VsZCBzdWdnZXN0IHRoYXQKK3Ro ZSBmaXggaGVyZSBpcyB0byBmaWd1cmUgb3V0IHNvbWUgImZha2UiIHZhbHVlIGZvciBzZWN0X2lu ZGV4X3RleHQsCithbmQgdGhhdCB3b3VsZCBjZXJ0YWlubHkgYXZvaWQgdGhlIHByb2JsZW0gaGVy ZS4gIEJ1dCwgYXQgbGVhc3QgZm9yCit0aGlzIHByb2JsZW0sIEkgdGhpbmsgdGhlcmUncyBtYXli ZSBhIGJldHRlciBzb2x1dGlvbi4KKworVGhlIG9yaWdpbmFsIGludGVybmFsIGVycm9yIGlzIHRy aWdnZXJlZCBieSBhIHVzZSBvZiBTRUNUX09GRl9URVhUIGluCitpbml0X2VudHJ5X3BvaW50X2lu Zm8uICBXZSBoYXZlIGFuIGVudHJ5IHBvaW50IGFkZHJlc3MsIHdlIHRyeSB0byBmaW5kCit0aGUg c2VjdGlvbiBpbmRleCBmb3IgdGhlIHNlY3Rpb24gY29udGFpbmluZyB0aGUgZW50cnkgcG9pbnQs IGFuZAorZmFpbGluZyB0aGF0LCB3ZSBhc3N1bWUgdGhlIGVudHJ5IHBvaW50IGlzIGluIHRoZSB0 ZXh0IHNlY3Rpb24uICBUaGlzCitmYWxsLWJhY2sgYXNzdW1wdGlvbiBtZWFucyB0aGF0LCBpZiB0 aGUgdGV4dCBzZWN0aW9uIGhhcyBhbiBvZmZzZXQKK2FwcGxpZWQsIHRoZW4gdGhlIGVudHJ5IHBv aW50IHdpbGwgYWxzbyBoYXZlIHRoYXQgc2FtZSBvZmZzZXQKK2FwcGxpZWQuICBCdXQgaXQncyBu b3QgY2xlYXIgdG8gbWUgd2h5IHBpY2tpbmcgdGhlIHRleHQgc2VjdGlvbiBpcworZ29pbmcgdG8g YmUgYW55IG1vcmUgdmFsaWQgdGhhbiBhbnkgb3RoZXIgc2VjdGlvbiwgZXNwZWNpYWxseSBpbiBh CitjYXNlIGxpa2UgdGhpcyB3aGVyZSB3ZSBkb24ndCBldmVuIGhhdmUgYSB0ZXh0IHNlY3Rpb24s IHNvIHRoZQorc2VjdF9pbmRleF90ZXh0IG1pZ2h0IGl0c2VsZiBwb2ludCB0byBzb21lIG90aGVy IGFyYml0cmFyeSBzZWN0aW9uLgorCitFYXJsaWVyIGluIGluaXRfZW50cnlfcG9pbnRfaW5mbyB3 ZSBhbHJlYWR5IGhhdmUgYSBmYWxsLWJhY2sgY2FzZQord2hlcmUgd2Ugc2V0IGVudHJ5X2luZm86 OmVudHJ5X3BvaW50X3AgdG8gZmFsc2UgdG8gaW5kaWNhdGUgdGhhdCB0aGUKK29iamZpbGUgaGFz IG5vIGVudHJ5IHBvaW50LCBzbyB0aGlzIGlzIGFsd2F5cyBhIHBvc3NpYmlsaXR5LiAgU28gSQor d29uZGVyZWQgYWJvdXQgd3JpdGluZyBzb21ldGhpbmcgbGlrZToKKworICBpZiAoIWZvdW5kKQor ICAgIHsKKyAgICAgIGlmIChvYmpmaWxlLT5zZWN0X2luZGV4X3RleHQgIT0gLTEpCisJZWktPnRo ZV9iZmRfc2VjdGlvbl9pbmRleCA9IFNFQ1RfT0ZGX1RFWFQgKG9iamZpbGUpOworICAgICAgZWxz ZQorICAgICAgICBlaS0+ZW50cnlfcG9pbnRfcCA9IGZhbHNlOworICAgIH0KKworSWYgd2UgaGF2 ZSBubyB0ZXh0IHNlY3Rpb24gaW5kZXggdGhlbiB3ZSBqdXN0IGNsYWltIHRoZSBvYmpmaWxlIGhh cyBubworZW50cnkgcG9pbnQuICBCdXQgSSBkaWRuJ3QgbGlrZSB0aGlzIGZvciB0d28gcmVhc29u cywgZmlyc3QsIHRoZQorY29tbWVudCBiYWNrIGluIGluaXRfb2JqZmlsZV9zZWN0X2luZGljZXMg c2F5aW5nIHRoYXQgdGhlIGluZGV4IHNob3VsZAorYmUgc2V0LCB0aGlzIHNlZW1zIHRvIGluZGlj YXRlIHRoYXQgd2Ugc2hvdWxkIG5vdCBiZSBtYWtpbmcgZGVjaXNpb25zCitsYXRlciB3aXRoaW4g R0RCIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGluZGV4IGlzIHNldCBvciBub3QuCisKK0FuZCBzZWNv bmQsIHVzaW5nIHRoZSB0ZXh0IHNlY3Rpb24gYXMgYSBmYWxsIGJhY2ssIHdoZW4gdGhlIGVudHJ5 CithZGRyZXNzIGlzIG91dHNpZGUgZXZlcnkgc2VjdGlvbiwganVzdCBzZWVtcyBvZmYuICBTbyBJ IHdvbmRlcmVkLCB3aHkKK25vdCBqdXN0IHJlamVjdCB0aGUgZW50cnkgcG9pbnQgY29tcGxldGVs eSBpbiB0aGlzIGNhc2U/ICBXaGljaCBpcyBob3cKK0kgZW5kZWQgdXAgd2l0aDoKKworICBpZiAo IWZvdW5kKQorICAgIGVpLT5lbnRyeV9wb2ludF9wID0gZmFsc2U7CisKK1dpdGggdGhpcyBwYXRj aCBpbiBwbGFjZSBJIHdhcyBhYmxlIHRvIHN0YXJ0IGRlYnVnZ2luZyB0aGUgQXBwSW1hZ2UKK2xp bmtlZCBhYm92ZS4KKworSSBjcmVhdGVkIGEgc2ltcGxlIHRlc3QgY2FzZSB3aGljaCByZXByb2R1 Y2VzIHRoaXMgaXNzdWUuICBJdCdzIGEKK2xpdHRsZSBjb250cml2ZWQgYmVjYXVzZSBpdCBoYXMg dG8gaGl0IGFsbCB0aGUgcG9pbnRzIHJlcXVpcmVkIHRvCit0cmlnZ2VyIHRoaXMgYnVnOgorCisg IDEuIE5vIC50ZXh0IHNlY3Rpb24sCisKKyAgMi4gbW9yZSB0aGFuIDIgTE9BRCBzZWdtZW50cywg YW5kCisKKyAgMy4gZW50cnkgYWRkcmVzcyBvdXRzaWRlIGV2ZXJ5IHNlY3Rpb24uCisKK0kgaGF2 ZSBubyBpZGVhIHdoYXQgY2F1c2VkIHRoZSBvcmlnaW5hbCBzaGFyZWQgbGlicmFyeSB0byB0YWtl IG9uCit0aGVzZSBjaGFyYWN0ZXJpc3RpY3MsIGl0IG1pZ2h0IGV2ZW4gYmUgYSB0b29sIGlzc3Vl IGJ1aWxkaW5nIHRoZQorb3JpZ2luYWwgc2hhcmVkIGxpYnJhcnkuICBJIGhhdmVuJ3QgaW52ZXN0 aWdhdGVkIHRoaXMsIGFzIEkgZG9uJ3QKK3RoaW5rIGl0IHJlYWxseSBtYXR0ZXJzLCBHREIgc2hv dWxkbid0IGJlIGNyYXNoaW5nIGp1c3QgYmVjYXVzZSB0aGUKK2luY29taW5nIG9iamVjdHMgYXJl IGEgbGl0dGxlIHdlaXJkLgorCitJJ3ZlIGF0dGFjaGVkIGEgbGluayB0byB0aGUgRmVkb3JhIGJ1 ZyBpbiB0aGUgJ0J1ZzonIHRhZywgYnV0IGl0J3MgYQorbGl0dGxlIGNvbmZ1c2luZy4gIEFuIGF1 dG9tYXRlZCBzeXN0ZW0gaGFzIG1lcmdlZCB0b2dldGhlciB0d28gYnVnCityZXBvcnRzLiAgQXMg c3VjaCB0aGUgb3ZlcmFsbCBidWcgcmVwb3J0IGxpbmtlZCB0b28gaXMgZm9yIGEKK2NvbXBsZXRl bHkgZGlmZmVyZW50IGlzc3VlLCBvbmx5IGNvbW1lbnRzIDIxLCAyMiwgMjMsIGFuZCAyNCByZWxh dGUgdG8KK3RoZSBidWcgYmVpbmcgZml4ZWQgaGVyZS4KKworQnVnOiBodHRwczovL2J1Z3ppbGxh LnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIzNjY0NjEjYzIxCisKK0FwcHJvdmVkLUJ5OiBU b20gVHJvbWV5IDx0b21AdHJvbWV5LmNvbT4KKworZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmMg Yi9nZGIvc3ltZmlsZS5jCistLS0gYS9nZGIvc3ltZmlsZS5jCisrKysgYi9nZGIvc3ltZmlsZS5j CitAQCAtODIyLDcgKzgyMiw2IEBAIGluaXRfZW50cnlfcG9pbnRfaW5mbyAoc3RydWN0IG9iamZp bGUgKm9iamZpbGUpCisgICBpZiAoZWktPmVudHJ5X3BvaW50X3ApCisgICAgIHsKKyAgICAgICBD T1JFX0FERFIgZW50cnlfcG9pbnQgPSAgZWktPmVudHJ5X3BvaW50OworLSAgICAgIGludCBmb3Vu ZDsKKyAKKyAgICAgICAvKiBNYWtlIGNlcnRhaW4gdGhhdCB0aGUgYWRkcmVzcyBwb2ludHMgYXQg cmVhbCBjb2RlLCBhbmQgbm90IGEKKyAJIGZ1bmN0aW9uIGRlc2NyaXB0b3IuICAqLworQEAgLTgz NCw3ICs4MzMsNyBAQCBpbml0X2VudHJ5X3BvaW50X2luZm8gKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlKQorICAgICAgIGVpLT5lbnRyeV9wb2ludAorIAk9IGdkYmFyY2hfYWRkcl9iaXRzX3JlbW92 ZSAob2JqZmlsZS0+YXJjaCAoKSwgZW50cnlfcG9pbnQpOworIAorLSAgICAgIGZvdW5kID0gMDsK KysgICAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgICAgZm9yIChvYmpfc2VjdGlvbiAmb3Nl Y3QgOiBvYmpmaWxlLT5zZWN0aW9ucyAoKSkKKyAJeworIAkgIHN0cnVjdCBiZmRfc2VjdGlvbiAq c2VjdCA9IG9zZWN0LnRoZV9iZmRfc2VjdGlvbjsKK0BAIC04NDUsMTMgKzg0NCwxNyBAQCBpbml0 X2VudHJ5X3BvaW50X2luZm8gKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorIAkgICAgeworIAkg ICAgICBlaS0+dGhlX2JmZF9zZWN0aW9uX2luZGV4CisgCQk9IGdkYl9iZmRfc2VjdGlvbl9pbmRl eCAob2JqZmlsZS0+b2JmZC5nZXQgKCksIHNlY3QpOworLQkgICAgICBmb3VuZCA9IDE7CisrCSAg ICAgIGZvdW5kID0gdHJ1ZTsKKyAJICAgICAgYnJlYWs7CisgCSAgICB9CisgCX0KKyAKKysgICAg ICAvKiBXZSBzdG9yZSB0aGUgc2VjdGlvbiBpbmRleCBzbyB0aGF0IHRoZSBlbnRyeSBhZGRyZXNz IGNhbiBiZQorKwkgcmVsb2NhdGVkIHdoZW4gdXNlZC4gIElmIHRoZSBlbnRyeSBhZGRyZXNzIGlz IG91dHNpZGUgb2YgYW55CisrCSBzZWN0aW9uIHRoZW4gd2UgY2Fubm90IHJlbG9jYXRlIGl0LiAg SnVzdCBjbGFpbSB0aGF0IHRoZXJlIGlzIG5vCisrCSBlbnRyeSBhZGRyZXNzIGluIHRoaXMgY2Fz ZS4gICovCisgICAgICAgaWYgKCFmb3VuZCkKKy0JZWktPnRoZV9iZmRfc2VjdGlvbl9pbmRleCA9 IFNFQ1RfT0ZGX1RFWFQgKG9iamZpbGUpOworKwllaS0+ZW50cnlfcG9pbnRfcCA9IGZhbHNlOwor ICAgICB9CisgfQorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWIt YmFkLWVudHJ5LWFkZHItbGliLnMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLWJhZC1l bnRyeS1hZGRyLWxpYi5zCituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1iYWQtZW50cnktYWRkci1saWIucworQEAg LTAsMCArMSwzMyBAQAorKy8qIENvcHlyaWdodCAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysK KysJLnNlY3Rpb24gLnJvZGF0YQorKwkuZ2xvYmwgbGliX3ZhcgorKwkudHlwZSBsaWJfdmFyLCBA b2JqZWN0CisrbGliX3ZhcjoKKysJLmxvbmcgNDIKKysJLnNpemUgbGliX3ZhciwgLi1saWJfdmFy CisrCisrCS8qIFRoaXMgZXhlY3V0YWJsZSBzZWN0aW9uIGV4aXN0cyBzb2xlbHkgdG8gZm9yY2Ug dGhlIGxpbmtlcgorKwkgICB0byBjcmVhdGUgYW4gYWRkaXRpb25hbCBMT0FEIHNlZ21lbnQgKHdp dGggUitYIHBlcm1pc3Npb25zKSwKKysJICAgZ2l2aW5nIHRoZSBsaWJyYXJ5IDMrIExPQUQgc2Vn bWVudHMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAyLgorKworKwkgICBUaGlzIG1hdHRlcnMgYmVj YXVzZSBHREIncyBzeW1maWxlX2ZpbmRfc2VnbWVudF9zZWN0aW9ucyBvbmx5CisrCSAgIHJ1bnMg Zm9yIG9iamVjdHMgd2l0aCBleGFjdGx5IDEgb3IgMiBzZWdtZW50cy4gIFdoZW4gaXQgcnVucywK KysJICAgaXQgc2V0cyBzZWN0X2luZGV4X3RleHQgZnJvbSB0aGUgZmlyc3Qgc2VjdGlvbiBpbiBz ZWdtZW50IDEsCisrCSAgIHdoaWNoIG1hc2tzIHRoZSBidWcgd2UgYXJlIHRlc3RpbmcgZm9yLCBz ZWUgdGhlIC5leHAgZmlsZSBmb3IKKysJICAgZGV0YWlscy4gICovCisrCS5zZWN0aW9uIC5ub3Rf dGV4dCwgImF4IiwgQHByb2diaXRzCisrCS5ieXRlIDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3NvbGliLWJhZC1lbnRyeS1hZGRyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3NvbGliLWJhZC1lbnRyeS1hZGRyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLWJhZC1lbnRyeS1hZGRy LmMKK0BAIC0wLDAgKzEsMjIgQEAKKysvKiBDb3B5cmlnaHQgMjAyNiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAg IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCisrCisrZXh0ZXJuIGludCBsaWJfdmFyOworKworK2ludAorK21haW4gKCkKKyt7CisrICBy ZXR1cm4gbGliX3ZhcjsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9z b2xpYi1iYWQtZW50cnktYWRkci5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLWJh ZC1lbnRyeS1hZGRyLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItYmFkLWVudHJ5LWFkZHIuZXhwCitAQCAt MCwwICsxLDk5IEBACisrIyBDb3B5cmlnaHQgMjAyNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrIyBUaGlzIHRlc3Qg YWltcyB0byBleGVyY2lzZSBhIHNwZWNpZmljIHNpdHVhdGlvbiB3aGljaCB3YXMgc2VlbgorKyMg Y2F1c2luZyBHREIgdG8gY3Jhc2guICBBbiBhcHBsaWNhdGlvbiBoYXMgYSBzaGFyZWQgbGlicmFy eSB0aGF0CisrIyBtZWV0cyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrIworKyMgMS4gTm8g Ii50ZXh0IiBzZWN0aW9uLAorKyMgMi4gYXQgbGVhc3QgMyBMT0FEIHNlZ21lbnRzLCBhbmQKKysj IDMuIGEgbm9uLXplcm8gZW50cnkgYWRkcmVzcyB0aGF0IGlzIG91dHNpZGUgb2YgZXZlcnkgc2Vj dGlvbi4KKysjCisrIyBXaGVuIHRoZXNlIDMgY29uZGl0aW9ucyBhcmUgbWV0IHRoZW4gR0RCIHdv dWxkIHJ1biBpbnRvIGEgcHJvYmxlbSBpbgorKyMgaW5pdF9lbnRyeV9wb2ludF9pbmZvIGZvciB0 aGUgc2hhcmVkIGxpYnJhcnkuICBUaGUgbm9uLXplcm8gZW50cnkKKysjIGFkZHJlc3MgbWVhbnMg R0RCIHdvdWxkIHRyeSB0byBmaW5kIHRoZSBzZWN0aW9uIGNvcnJlc3BvbmRpbmcgdG8gdGhlCisr IyBhZGRyZXNzLiAgQXMgdGhlIGFkZHJlc3MgaXMgb3V0c2lkZSBvZiBhbGwgc2VjdGlvbnMgdGhl biBHREIgd291bGQKKysjIHRyeSB0byB1c2UgdGhlIC50ZXh0IHNlY3Rpb24gYXMgYSBmYWxsLWJh Y2suICBCdXQgdGhlcmUgaXMgbm8gdGV4dAorKyMgc2VjdGlvbiwgc28gYW4gaW50ZXJuYWwgZXJy b3Igd291bGQgYmUgdHJpZ2dlcmVkLgorKyMKKysjIFRoZSAzIExPQUQgc2VnbWVudHMgaXMgaW1w b3J0YW50IGJlY2F1c2UsIGlmIHRoZXJlIGFyZSBvbmx5IDEgb3IgMgorKyMgc2VnbWVudHMgR0RC IGhhcyBhIGRlZmF1bHQgaW4gc3ltZmlsZV9maW5kX3NlZ21lbnRfc2VjdGlvbnMgd2hlcmUKKysj IGl0IGFzc3VtZXMgdGhlIHRleHQgc2VjdGlvbiBpcyB0aGUgZmlyc3Qgc2VjdGlvbiBpbiB0aGUg Zmlyc3QKKysjIHNlZ21lbnQsIHdoaWNoIG1lYW5zIGluaXRfZW50cnlfcG9pbnRfaW5mbyB3aWxs IGhhdmUgYSAudGV4dCBzZWN0aW9uCisrIyB0byB1c2UuCisrIworKyMgVGhpcyB0ZXN0IGhhcyBh IHZlcnkgc2ltcGxlIGFzc2VtYmxlciBmaWxlICh3aGljaCBob3BlZnVsbHkgY29udGFpbnMKKysj IG5vIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBjb250ZW50KSwgd2hpY2ggd2lsbCBjb21waWxlIHRv IGEgY291cGxlIG9mCisrIyBzZWN0aW9ucywgYnV0IG5vIC50ZXh0IHNlY3Rpb24uICBUaGVzZSBz ZWN0aW9ucyBmb3JjZSB0aGUgY3JlYXRpb24KKysjIG9mIG1vcmUgdGhhbiAyIExPQUQgc2VnbWVu dHMuICBUaGUgY29tcGlsZXIgZmxhZ3MgdGhlbiBzZXQgdGhlIGVudHJ5CisrIyBhZGRyZXNzIHRv IDB4MSwgd2hpY2ggKHdlIGhvcGUpIGlzIG91dHNpZGUgYWxsIHNlY3Rpb25zLiAgVGhpcworKyMg YXNzZW1ibGVyIGZpbGUgaXMgY29tcGlsZWQgaW50byBhIHNoYXJlZCBsaWJyYXJ5LgorKworK3Jl cXVpcmUgYWxsb3dfc2hsaWJfdGVzdHMKKytyZXF1aXJlICF1c2VfZ2RiX3N0dWIKKytyZXF1aXJl IHtpc3RhcmdldCAqLWxpbnV4Kn0KKysKKytzdGFuZGFyZF90ZXN0ZmlsZSAuYyAtbGliLnMKKysK KysjIEJ1aWxkIHNoYXJlZCBsaWJyYXJ5LgorK3NldCBsaWJfdGVzdGZpbGUgJHt0ZXN0ZmlsZX0t bGliLnNvCisrc2V0IGxpYl9zcmNmaWxlICR7c3JjZmlsZTJ9Cisrc2V0IGxpYl9iaW5maWxlIFtz dGFuZGFyZF9vdXRwdXRfZmlsZSAke2xpYl90ZXN0ZmlsZX1dCisrc2V0IGxpYl9mbGFncyB7c2hs aWIgXAorKwkJICAgYWRkaXRpb25hbF9mbGFncz0tbm9zdGFydGZpbGVzIFwKKysJCSAgIGFkZGl0 aW9uYWxfZmxhZ3M9LVdsLC1lLDB4MSBcCisrCQkgICBhZGRpdGlvbmFsX2ZsYWdzPS1XbCwteixz ZXBhcmF0ZS1jb2RlfQorK2lmIHsgW2J1aWxkX2V4ZWN1dGFibGUgImJ1aWxkIHNvbGliIiAkbGli X3Rlc3RmaWxlICRsaWJfc3JjZmlsZSBcCisrCSAgJGxpYl9mbGFnc10gPT0gLTEgfSB7CisrICAg IHJldHVybgorK30KKysKKysjIEJ1aWxkIHRoZSB0ZXN0IGV4ZWN1dGFibGUuCisraWYgeyBbYnVp bGRfZXhlY3V0YWJsZSAiYnVpbGQgZXhlYyIgJHRlc3RmaWxlICRzcmNmaWxlIFwKKysJICBbbGlz dCBkZWJ1ZyBwaWUgc2hsaWI9JHtsaWJfYmluZmlsZX1dXSA9PSAtMSB9IHsKKysgICAgcmV0dXJu CisrfQorKworKyMgQ29uZmlybSB3ZSBoYXZlIG1vcmUgdGhhbiAyIExPQUQgc2VnbWVudHMgaW4g dGhlIHNoYXJlZCBsaWJyYXJ5LgorK3NldCByZWFkZWxmX3Byb2dyYW0gW2dkYl9maW5kX3JlYWRl bGZdCisrc2V0IGNvbW1hbmQgImV4ZWMgJHJlYWRlbGZfcHJvZ3JhbSAtV2wgJGxpYl9iaW5maWxl IgorK3ZlcmJvc2UgLWxvZyAiY29tbWFuZCBpcyAkY29tbWFuZCIKKytzZXQgcmVzdWx0IFtjYXRj aCB7eyp9JGNvbW1hbmR9IG91dHB1dF0KKyt2ZXJib3NlIC1sb2cgInJlc3VsdCBpcyAkcmVzdWx0 IgorK3ZlcmJvc2UgLWxvZyAib3V0cHV0IGlzICRvdXRwdXQiCisraWYgeyRyZXN1bHQgIT0gMH0g eworKyAgICBmYWlsICJyZWFkIHByb2dyYW0gaGVhZGVycyBmcm9tICRsaWJfdGVzdGZpbGUiCisr ICAgIHJldHVybgorK30KKytpZiB7IVtyZWdleHAge1xuUHJvZ3JhbSBIZWFkZXJzOlxuICpUeXBl IFteXG5dKiBBbGlnblxuKC4qPylcblxufSAkb3V0cHV0IHRyYXNoIHBoZHJdfSB7CisrICAgIGZh aWwgIm5vIFByb2dyYW0gSGVhZGVycyBmb3VuZCIKKysgICAgcmV0dXJuCisrfQorK3NldCBsb2Fk X3NlZ21lbnRfY291bnQgMAorK2ZvcmVhY2ggbGluZSBbcmVnZXhwIC1saW5lIC1hbGwgLWlubGlu ZSB7XiAqTE9BRCAuKiAweFswLTldKyR9ICRwaGRyXSB7CisrICAgIGluY3IgbG9hZF9zZWdtZW50 X2NvdW50CisrfQorK2lmIHsgJGxvYWRfc2VnbWVudF9jb3VudCA8PSAyIH0geworKyAgICBmYWls ICJub3QgZW5vdWdoIExPQUQgc2VnbWVudHMiCisrICAgIHJldHVybgorK30KKysKKysjIFN0YXJ0 IEdEQiBhbmQgcnVuIHRvIG1haW4uICBJZiB0aGUgc2hhcmVkIGxpYnJhcnkgaXMgY2F1c2luZyBp c3N1ZXMKKysjIHRoZW4gd2Ugd2lsbCBzZWUgYW4gaW50ZXJuYWwgZXJyb3Igb25jZSB0aGUgaW5m ZXJpb3Igc3RhcnRzIHJ1bm5pbmcuCisrY2xlYW5fcmVzdGFydCAkdGVzdGZpbGUKKysKKytpZiB7 IVtydW50b19tYWluIG1lc3NhZ2VdfSB7CisrICByZXR1cm4gMAorK30KCmRpZmYgLS1naXQgYS9n ZGItcmhiejIzNjY0NjEtbWlzc2luZy10aHJlYWQucGF0Y2ggYi9nZGItcmhiejIzNjY0NjEtbWlz c2luZy10aHJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRh Y2Y5NwotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6MjM2NjQ2MS1taXNzaW5nLXRocmVhZC5w YXRjaApAQCAtMCwwICsxLDQ5OSBAQAorRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgor RGF0ZTogRnJpLCAxNiBNYXkgMjAyNSAxNzo1Njo1OCArMDEwMAorU3ViamVjdDogZ2RiLXJoYnoy MzY2NDYxLW1pc3NpbmctdGhyZWFkLnBhdGNoCisKKzs7IEJhY2twb3J0IHVwc3RyZWFtIGNvbW1p dCA4YmQwOGVlOTJjNCB0byBhZGRyZXNzIHJoYnoyMzY2NDYxLiAgVGhpcworOzsgY29tbWl0IHdp bGwgZHJvcCBvdXQgd2l0aCBHREIgMTguCisKK2dkYjogY3Jhc2ggaWYgdGhyZWFkIHVuZXhwZWN0 ZWRseSBkaXNhcHBlYXJzIGZyb20gdGhyZWFkIGxpc3QKKworQSBidWcgd2FzIHJlcG9ydGVkIHRv IFJlZCBIYXQgd2hlcmUgR0RCIHdhcyBjcmFzaGluZyB3aXRoIGFuIGFzc2VydGlvbgorZmFpbHVy ZSwgdGhlIGFzc2VydGlvbiBtZXNzYWdlIGlzOgorCisgIC4uLy4uL2dkYi9yZWdjYWNoZS5jOjQz MjogaW50ZXJuYWwtZXJyb3I6IGdldF90aHJlYWRfcmVnY2FjaGU6IEFzc2VydGlvbiBgdGhyZWFk LT5zdGF0ZSAhPSBUSFJFQURfRVhJVEVEJyBmYWlsZWQuCisKK1RoZSBiYWNrdHJhY2UgZm9yIHRo ZSBjcmFzaCBpczoKKworICAjNSAgMHgwMDAwNTVhMjFkYThhODgwIGluIGludGVybmFsX3Zwcm9i bGVtKGludGVybmFsX3Byb2JsZW0gKiwgY29uc3QgY2hhciAqLCBpbnQsIGNvbnN0IGNoYXIgKiwg dHlwZWRlZiBfX3ZhX2xpc3RfdGFnIF9fdmFfbGlzdF90YWcgKikgKHByb2JsZW09cHJvYmxlbUBl bnRyeT0weDU1YTIxZTI4OTA2MCA8aW50ZXJuYWxfZXJyb3JfcHJvYmxlbT4sIGZpbGU9PG9wdGlt aXplZCBvdXQ+LCBsaW5lPTxvcHRpbWl6ZWQgb3V0PiwgZm10PTxvcHRpbWl6ZWQgb3V0PiwgYXA9 YXBAZW50cnk9MHg3ZmZlYzc1NzZiZTApIGF0IC4uLy4uL2dkYi91dGlscy5jOjQ3NworICAjNiAg MHgwMDAwNTVhMjFkYThhYWRmIGluIGludGVybmFsX3ZlcnJvciAoZmlsZT08b3B0aW1pemVkIG91 dD4sIGxpbmU9PG9wdGltaXplZCBvdXQ+LCBmbXQ9PG9wdGltaXplZCBvdXQ+LCBhcD1hcEBlbnRy eT0weDdmZmVjNzU3NmJlMCkgYXQgLi4vLi4vZ2RiL3V0aWxzLmM6NTAzCisgICM3ICAweDAwMDA1 NWEyMWRjYmQwNTUgaW4gaW50ZXJuYWxfZXJyb3JfbG9jIChmaWxlPWZpbGVAZW50cnk9MHg1NWEy MWRkMzNiNzEgIi4uLy4uL2dkYi9yZWdjYWNoZS5jIiwgbGluZT1saW5lQGVudHJ5PTQzMiwgZm10 PTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vZ2Ric3VwcG9ydC9lcnJvcnMuY2M6NTcKKyAgIzgg IDB4MDAwMDU1YTIxZDhiYWFhOSBpbiBnZXRfdGhyZWFkX3JlZ2NhY2hlICh0aHJlYWQ9dGhyZWFk QGVudHJ5PTB4NTVhMjU4ZGUzYTUwKSBhdCAuLi8uLi9nZGIvcmVnY2FjaGUuYzo0MzIKKyAgIzkg IDB4MDAwMDU1YTIxZDc0ZmExOCBpbiBwcmludF9zaWduYWxfcmVjZWl2ZWRfcmVhc29uICh1aW91 dD0weDU1YTI1OGI2NDliMCwgc2lnZ25hbD1HREJfU0lHTkFMX1RSQVApIGF0IC4uLy4uL2dkYi9p bmZydW4uYzo5Mjg3CisgICMxMCAweDAwMDA1NWEyMWQ3ZGFhZDkgaW4gbWlfaW50ZXJwOjpvbl9z aWduYWxfcmVjZWl2ZWQgKHRoaXM9MHg1NWEyNThhZjVmNjAsIHNpZ2duYWw9R0RCX1NJR05BTF9U UkFQKSBhdCAuLi8uLi9nZGIvbWkvbWktaW50ZXJwLmM6MzcyCisgICMxMSAweDAwMDA1NWEyMWQ3 NmVmOTkgaW4gaW50ZXJwc19ub3RpZnk8dm9pZCAoaW50ZXJwOjoqKShnZGJfc2lnbmFsKSwgZ2Ri X3NpZ25hbCY+IChtZXRob2Q9JnZpcnR1YWwgdGFibGUgb2Zmc2V0IDg4LCB0aGlzIGFkanVzdG1l bnQgOTc0NjgyKSBhdCAuLi8uLi9nZGIvaW50ZXJwcy5jOjM2OQorICAjMTIgMHgwMDAwNTVhMjFk NzZlNThmIGluIGludGVycHNfbm90aWZ5X3NpZ25hbF9yZWNlaXZlZCAoc2lnPTxvcHRpbWl6ZWQg b3V0Piwgc2lnQGVudHJ5PUdEQl9TSUdOQUxfVFJBUCkgYXQgLi4vLi4vZ2RiL2ludGVycHMuYzoz NzgKKyAgIzEzIDB4MDAwMDU1YTIxZDc1MDc0ZCBpbiBub3RpZnlfc2lnbmFsX3JlY2VpdmVkIChz aWc9R0RCX1NJR05BTF9UUkFQKSBhdCAuLi8uLi9nZGIvaW5mcnVuLmM6NjgxOAorICAjMTQgMHgw MDAwNTVhMjFkNzU1YWYwIGluIG5vcm1hbF9zdG9wICgpIGF0IC4uLy4uL2dkYi9nZGJ0aHJlYWQu aDo0MzIKKyAgIzE1IDB4MDAwMDU1YTIxZDc2ODMzMSBpbiBmZXRjaF9pbmZlcmlvcl9ldmVudCAo KSBhdCAuLi8uLi9nZGIvaW5mcnVuLmM6NDc1MworCitUaGUgdXNlciBpcyB1c2luZyBhIGJ1aWxk IG9mIEdEQiB3aXRoIDMyLWJpdCBBUk0gc3VwcG9ydCBpbmNsdWRlZCwgYW5kCit0aGV5IGdhdmUg dGhlIGZvbGxvd2luZyBkZXNjcmlwdGlvbiBmb3Igd2hhdCB0aGV5IHdlcmUgZG9pbmcgYXQgdGhl Cit0aW1lIG9mIHRoZSBjcmFzaDoKKworICBTdXNwZW5kZWQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUg ZmlybXdhcmUgaW4gRWNsaXBzZS4gIFRoZSBnZGIgd2FzCisgIGNvbm5lY3RlZCB0byBKTGlua0dE QlNlcnZlciB3aXRoIGFjdGl2YXRlZCBGcmVlUlRPUyBhd2FyZW5lc3MgSkxpbmsKKyAgcGx1Z2lu LgorCitTbyB0aGV5IGFyZSByZW1vdGUgZGVidWdnaW5nIHdpdGggYSBub24tZ2Ric2VydmVyIHRh cmdldC4KKworTG9va2luZyBpbiBub3JtYWxfc3RvcCgpIHdlIHNlZSB0aGlzIGNvZGU6CisKKyAg LyogQXMgd2UncmUgcHJlc2VudGluZyBhIHN0b3AsIGFuZCBwb3RlbnRpYWxseSByZW1vdmluZyBi cmVha3BvaW50cywKKyAgICAgdXBkYXRlIHRoZSB0aHJlYWQgbGlzdCBzbyB3ZSBjYW4gdGVsbCB3 aGV0aGVyIHRoZXJlIGFyZSB0aHJlYWRzCisgICAgIHJ1bm5pbmcgb24gdGhlIHRhcmdldC4gIFdp dGggdGFyZ2V0IHJlbW90ZSwgZm9yIGV4YW1wbGUsIHdlIGNhbgorICAgICBvbmx5IGxlYXJuIGFi b3V0IG5ldyB0aHJlYWRzIHdoZW4gd2UgZXhwbGljaXRseSB1cGRhdGUgdGhlIHRocmVhZAorICAg ICBsaXN0LiAgRG8gdGhpcyBiZWZvcmUgbm90aWZ5aW5nIHRoZSBpbnRlcnByZXRlcnMgYWJvdXQg c2lnbmFsCisgICAgIHN0b3BzLCBlbmQgb2Ygc3RlcHBpbmcgcmFuZ2VzLCBldGMuLCBzbyB0aGF0 IHRoZSAibmV3IHRocmVhZCIKKyAgICAgb3V0cHV0IGlzIGVtaXR0ZWQgYmVmb3JlIGUuZy4sICJQ cm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBGT08iLAorICAgICBpbnN0ZWFkIG9mIGFmdGVyLiAgKi8K KyAgdXBkYXRlX3RocmVhZF9saXN0ICgpOworCisgIGlmIChsYXN0LmtpbmQgKCkgPT0gVEFSR0VU X1dBSVRLSU5EX1NUT1BQRUQgJiYgc3RvcHBlZF9ieV9yYW5kb21fc2lnbmFsKQorICAgIG5vdGlm eV9zaWduYWxfcmVjZWl2ZWQgKGluZmVyaW9yX3RocmVhZCAoKS0+c3RvcF9zaWduYWwgKCkpOwor CitXaGljaCBhY2NvdW50cyBmb3IgdGhlIHRyYW5zaXRpb24gZnJvbSBmcmFtZSAjMTQgdG8gZnJh bWUgIzEzLiAgQnV0IGl0CitpcyB0aGUgdXBkYXRlX3RocmVhZF9saXN0KCkgY2FsbCB3aGljaCBp bnRlcmVzdHMgbWUuICBUaGlzIGNhbGwgYXNrcwordGhlIHRhcmdldCAocmVtb3RlIHRhcmdldCBp biB0aGlzIGNhc2UpIGZvciB0aGUgY3VycmVudCB0aHJlYWQgbGlzdCwKK2FuZCB0aGVuIG1hcmtz IHRocmVhZHMgZXhpdGVkIGJhc2VkIG9uIHRoZSBhbnN3ZXIuCisKK0FuZCBzbywgaWYgYSAoYmFk bHkgYmVoYXZlZCkgdGFyZ2V0IChpbmNvcnJlY3RseSkgcmVtb3ZlcyBhIHRocmVhZAorZnJvbSB0 aGUgdGhyZWFkIGxpc3QsIHRoZW4gdGhlIHVwZGF0ZV90aHJlYWRfbGlzdCgpIGNhbGwgd2lsbCBt YXJrIHRoZQoraW1wYWN0ZWQgdGhyZWFkIGFzIGV4aXRlZCwgZXZlbiBpZiBHREIgaXMgY3VycmVu dGx5IGhhbmRsaW5nIGEgc2lnbmFsCitzdG9wIGV2ZW50IGZvciB0aGF0IHRhcmdldC4KKworTXkg Z3Vlc3MgZm9yIHdoYXQncyBnb2luZyBvbiBoZXJlIHRoZW4gaXMgdGhpczoKKworICAxLiBUaHJl YWQgcmVjZWl2ZXMgYSBzaWduYWwuCisgIDIuIFJlbW90ZSB0YXJnZXQgc2VuZHMgR0RCIGEgc3Rv cCB3aXRoIHNpZ25hbCBwYWNrZXQuCisgIDMuIFJlbW90ZSBkZWNpZGVzIHRoYXQgdGhlIHRocmVh ZCBpcyBnb2luZyBhd2F5IHNvb24sIGFuZCBtYXJrcyB0aGUKKyAgICAgdGhyZWFkIGFzIGV4aXRl ZC4KKyAgNC4gR0RCIGFza3MgZm9yIHRoZSB0aHJlYWQgbGlzdC4KKyAgNS4gUmVtb3RlIHNlbmRz IGJhY2sgdGhlIHRocmVhZCBsaXN0LCB3aGljaCBkb2Vzbid0IGluY2x1ZGUgdGhlCisgICAgIGV2 ZW50IHRocmVhZCwgYXMgdGhlIHJlbW90ZSB0aGluZ3MgdGhpcyB0aHJlYWQgaGFzIGV4aXRlZC4K KyAgNi4gR0RCIG1hcmtzIHRoZSB0aHJlYWQgYXMgZXhpdGVkLCBhbmQgdGhlbiBwcm9jZWVkcyB0 byB0cnkgYW5kCisgICAgIHByaW50IHRoZSBzaWduYWwgc3RvcCBldmVudCBmb3IgdGhlIGV2ZW50 IHRocmVhZC4KKyAgNy4gUHJpbnRpbmcgdGhlIHNpZ25hbCBzdG9wIHJlcXVpcmVzIHJlYWRpbmcg cmVnaXN0ZXJzLCB3aGljaAorICAgICByZXF1aXJlcyBhIHJlZ2FjaGUuICBXZSBjYW4gb25seSBn ZXQgYSByZWdjYWNoZSBmb3IgYSBub24tZXhpdGVkCisgICAgIHRocmVhZCwgYW5kIHNvIEdEQiBy YWlzZXMgYW4gYXNzZXJ0aW9uLgorCitVc2luZyB0aGUgZ2RicmVwbGF5IHRlc3QgZnJhbWUgd29y ayBJIHdhcyBhYmxlIHRvIHJlcHJvZHVjZSB0aGlzCitmYWlsdXJlIHVzaW5nIGdkYnNlcnZlci4g IEkgY3JlYXRlIGFuIGluZmVyaW9yIHdpdGggdHdvIHRocmVhZHMsIHRoZQorbWFpbiB0aHJlYWQg c2VuZHMgYSBzaWduYWwgdG8gdGhlIHNlY29uZCB0aHJlYWQsIEdEQiBzZWVzIHRoZSBzaWduYWwK K2Fycml2ZSBhbmQgcHJpbnRzIHRoaXMgaW5mb3JtYXRpb24gZm9yIHRoZSB1c2VyLgorCitIYXZp bmcgY2FwdHVyZWQgdGhlIHRyYWNlIG9mIHRoaXMgYWN0aXZpdHksIEkgdGhlbiBmaW5kIHRoZSB0 aHJlYWQKK2xpc3QgcmVwbHkgaW4gdGhlIGxvZyBmaWxlLCBhbmQgbW9kaWZ5IGl0IHRvIHJlbW92 ZSB0aGUgc2Vjb25kIHRocmVhZC4KKworTm93LCB3aGVuIEkgcmVwbGF5IHRoZSBtb2RpZmllZCBs b2cgZmlsZSBJIHNlZSB0aGUgc2FtZSBhc3NlcnRpb24KK2NvbXBsYWluaW5nIGFib3V0IGFuIGF0 dGVtcHQgdG8gZ2V0IGEgcmVnY2FjaGUgZm9yIGFuIGV4aXRlZCB0aHJlYWQuCisKK0knbSBub3Qg ZW50aXJlbHkgc3VyZSB0aGUgYmVzdCB3YXkgdG8gZml4IHRoaXMuICBDbGVhcmx5IHRoZSBwcm9i bGVtCitoZXJlIGlzIGEgYmFkIHJlbW90ZSB0YXJnZXQuICBCdXQsIHJlcGxpZXMgZnJvbSBhIHJl bW90ZSB0YXJnZXQKK3Nob3VsZCAoaW4gbXkgb3Bpbmlvbikgbm90IGJlIGNvbnNpZGVyZWQgdHJ1 c3RlZCwgYXMgYSBjb25zZXF1ZW5jZSwgd2UKK3Nob3VsZCBub3QgYmUgYXNzZXJ0aW5nIGJhc2Vk IG9uIGRhdGEgY29taW5nIGZyb20gYSByZW1vdGUuICBJbnN0ZWFkLAord2Ugc2hvdWxkIGJlIGdp dmluZyB3YXJuaW5ncyBvciBlcnJvcnMgYW5kIGhhdmUgR0RCIGhhbmRsZSB0aGUgYmFkCitkYXRh IGFzIGJlc3QgaXQgY2FuLgorCitUaGlzIGlzIHRoZSBzZWNvbmQgYXR0ZW1wdCB0byBmaXggdGhp cyBpc3N1ZSwgbXkgZmlyc3QgcGF0Y2ggY2FuIGJlCitzZWVuIGhlcmU6CisKKyAgaHR0cHM6Ly9p bmJveC5zb3VyY2V3YXJlLm9yZy9nZGItcGF0Y2hlcy8wNjJlNDM4Yzg2NzdlMmFiMjhmYWM2MTgz ZDJlYTZkNDQ0Y2I5MTIxLjE3NDc1Njc3MTcuZ2l0LmFidXJnZXNzQHJlZGhhdC5jb20KKworSW4g dGhlIGZpcnN0IHBhdGNoIEkgd2FzIHRvIGNoZWNraW5nIGluIG5vcm1hbF9zdG9wLCBpbW1lZGlh dGVseSBhZnRlcgordGhlIGNhbGwgdG8gdXBkYXRlX3RocmVhZF9saXN0LCB0byBzZWUgaWYgdGhl IGN1cnJlbnQgdGhyZWFkIHdhcyBub3cKK21hcmtlZCBhcyBleGl0ZWQuICBIb3dldmVyIENJIHRl c3Rpbmcgc2hvd2VkIGFuIGlzc3VlIHdpdGggdGhpcworYXBwcm9hY2g7IEkgd2FzIGFscmVhZHkg Y2hlY2tpbmcgZm9yIG1hbnkgZGlmZmVyZW50IFRBUkdFVF9XQUlUS0lORF8qCitraW5kcyB3aGVy ZSB0aGUgImlzIHRoZSBjdXJyZW50IHRocmVhZCBleGl0ZWQiIHF1ZXN0aW9uIGRpZG4ndCBtYWtl CitzZW5zZSwgYW5kIGl0IHR1cm5zIG91dCB0aGF0IHRoZSBsaXN0IG9mIGtpbmRzIGluIG15IGZp cnN0IGF0dGVtcHQgd2FzCithbHJlYWR5IGluc3VmZmljaWVudC4KKworUmF0aGVyIHRoYW4gdHJ5 aW5nIHRvIGp1c3QgYWRkaW5nIHRvIHRoZSBsaXN0LCBpbiB0aGlzIHJldmlzZWQgcGF0Y2gKK0kn bSBwcm9wb3NpbmcgdG8gbW92ZSB0aGUgImlzIHRoaXMgdGhyZWFkIGV4aXRlZCIgY2hlY2sgaW5z aWRlIHRoZQorYmxvY2sgd2hpY2ggaGFuZGxlcyBzaWduYWwgc3RvcCBldmVudHMuCisKK1JpZ2h0 IG5vdywgdGhlIG9ubHkgcGFydCBvZiBub3JtYWxfc3RvcCB3aGljaCBJIGtub3cgcmVsaWVzIG9u IHRoZQorY3VycmVudCB0aHJlYWQgbm90IGJlaW5nIGV4aXRlZCBpcyB0aGUgY2FsbCB0byBub3Rp Znlfc2lnbmFsX3JlY2VpdmVkLAorc28gYmVmb3JlIGNhbGxpbmcgbm90aWZ5X3NpZ25hbF9yZWNl aXZlZCBJIGNoZWNrIHRvIHNlZSBpZiB0aGUgY3VycmVudAordGhyZWFkIGlzIG5vdyBleGl0ZWQu ICBJZiBpdCBpcyB0aGVuIEkgcHJpbnQgYSB3YXJuaW5nIHRvIGluZGljYXRlCit0aGF0IHRoZSB0 aHJlYWQgaGFzIHVuZXhwZWN0ZWRseSBleGl0ZWQgYW5kIHRoYXQgdGhlIGN1cnJlbnQKK2NvbW1h bmQgKGNvbnRpbnVlL3N0ZXAvZXRjKSBoYXMgYmVlbiBjYW5jZWxsZWQsIEkgdGhlbiBjaGFuZ2Ug dGhlCitjdXJyZW50IGV2ZW50IHR5cGUgdG8gVEFSR0VUX1dBSVRLSU5EX1NQVVJJT1VTLgorCitH REIncyBvdXRwdXQgbm93IGxvb2tzIGxpa2UgdGhpcyBpbiBhbGwtc3RvcCBtb2RlOgorCisgIChn ZGIpIGNvbnRpbnVlCisgIENvbnRpbnVpbmcuCisgIFtOZXcgVGhyZWFkIDM0ODM2OTAuMzQ4MzY5 M10KKyAgW1RocmVhZCAzNDgzNjkwLjM0ODM2OTMgZXhpdGVkXQorICB3YXJuaW5nOiBUaHJlYWQg MzQ4MzY5MC4zNDgzNjkzIHVuZXhwZWN0ZWRseSBleGl0ZWQgYWZ0ZXIgbm9uLWV4aXQgZXZlbnQK KyAgW1N3aXRjaGluZyB0byBUaHJlYWQgMzQ4MzY5MC4zNDgzNjkzXQorICAoZ2RiKQorCitUaGUg bm9uLXN0b3Agb3V0cHV0IGlzIGlkZW50aWNhbCwgZXhjZXB0IHdlIGRvbid0IHN3aXRjaCB0aHJl YWQgKHN0b3AKK2V2ZW50cyBuZXZlciB0cmlnZ2VyIGEgdGhyZWFkIHN3aXRjaCBpbiBub24tc3Rv cCBtb2RlKS4KKworVGhlIGluY2x1ZGUgdGVzdCBtYWtlcyB1c2Ugb2YgdGhlIGdkYnJlcGxheSBm cmFtZXdvcmssIGFuZCB0ZXN0cyBpbgorYWxsLXN0b3AgYW5kIG5vbi1zdG9wIG1vZGVzLiAgSSB3 b3VsZCBsaWtlIHRvIGRvIG1vcmUgZXh0ZW5zaXZlCit0ZXN0aW5nIG9mIEdEQidzIHN0YXRlIGFm dGVyIHRoZSByZWNlaXZpbmcgdGhlIHVuZXhwZWN0ZWQgdGhyZWFkIGxpc3QsCitidXQgZHVlIHRv IHVzaW5nIGdkYnJlcGxheSBmb3IgdGVzdGluZywgdGhpcyBpcyBxdWl0ZSBoYXJkLiAgTWFueQor Y29tbWFuZHMsIGVzcGVjaWFsbHkgdGhvc2UgbG9va2luZyBhdCB0aHJlYWQgc3RhdGUsIGFyZSBs aWtlbHkgdG8KK3RyaWdnZXIgYWRkaXRpb25hbCBwYWNrZXRzIGJlaW5nIHNlbnQgdG8gdGhlIHJl bW90ZSwgd2hpY2ggY2F1c2VzCitnZGJyZXBsYXkgdG8gYmFpbCBvdXQgYXMgdGhlIG5ldyBwYWNr ZXQgZG9lc24ndCBtYXRjaCB0aGUgb3JpZ2luYWwKK3JlY29yZGVkIHN0YXRlLiAgSG93ZXZlciwg SSByZWFsbHkgZG9uJ3QgdGhpbmsgaXQgaXMgYSBnb29kIGlkZWEgdG8KK2NoYW5nZSBnZGJzZXJ2 ZXIgaW4gb3JkZXIgdG8gImZha2UiIHRoaXMgZXJyb3IgY2FzZSwgc28gZm9yIG5vdywgdXNpbmcK K2dkYnJlcGxheSBpcyB0aGUgYmVzdCBpZGVhIEkgaGF2ZS4KKworQnVnOiBodHRwczovL2J1Z3pp bGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIzNjY0NjEKKworZGlmZiAtLWdpdCBhL2dk Yi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworLS0tIGEvZ2RiL2luZnJ1bi5jCisrKysgYi9nZGIv aW5mcnVuLmMKK0BAIC05NTYyLDcgKzk1NjIsMzggQEAgbm9ybWFsX3N0b3AgKCkKKyAgIHVwZGF0 ZV90aHJlYWRfbGlzdCAoKTsKKyAKKyAgIGlmIChsYXN0LmtpbmQgKCkgPT0gVEFSR0VUX1dBSVRL SU5EX1NUT1BQRUQgJiYgc3RvcHBlZF9ieV9yYW5kb21fc2lnbmFsKQorLSAgICBub3RpZnlfc2ln bmFsX3JlY2VpdmVkIChpbmZlcmlvcl90aHJlYWQgKCktPnN0b3Bfc2lnbmFsICgpKTsKKysgICAg eworKyAgICAgIGdkYl9hc3NlcnQgKGluZmVyaW9yX3B0aWQgIT0gbnVsbF9wdGlkKTsKKysKKysg ICAgICAvKiBDYWxsaW5nIHVwZGF0ZV90aHJlYWRfbGlzdCBwdWxscyBpbmZvcm1hdGlvbiBmcm9t IHRoZSB0YXJnZXQuICBGb3IKKysJIG5hdGl2ZSB0YXJnZXRzIHdlIGNhbiBiZSAocmVhc29uYWJs eSkgc3VyZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiB3ZQorKwkgZ2V0IGJhY2sgaXMgc2FuZSwgYnV0 IGZvciByZW1vdGUgdGFyZ2V0cywgd2UgY2Fubm90IHJlcGx5IG9uIHRoZQorKwkgcmV0dXJuZWQg dGhyZWFkIGxpc3QgdG8gYmUgY29ycmVjdC4KKysKKysJIFNwZWNpZmljYWxseSwgYSByZW1vdGUg dGFyZ2V0IChub3QgZ2Ric2VydmVyKSwgaGFzIGJlZW4gc2VlbiB0bworKwkgcHJlbWF0dXJlbHkg cmVtb3ZlIHRocmVhZHMgZnJvbSB0aGUgdGhyZWFkIGxpc3QgYWZ0ZXIgc2VuZGluZyBhCisrCSBz aWduYWwgc3RvcCBldmVudC4gIFRoZSBjb25zZXF1ZW5jZSBvZiB0aGlzLCBpcyB0aGF0IHRoZSB0 aHJlYWQKKysJIG1pZ2h0IG5vdyBiZSBleGl0ZWQuICBUaGlzIGlzIGJhZCBhcywgdHJ5aW5nIHRv IGNhbGxpbmcKKysJIG5vdGlmeV9zaWduYWxfcmVjZWl2ZWQgd2lsbCBjYXVzZSBHREIgdG8gcmVh ZCByZWdpc3RlcnMgZm9yIHRoZQorKwkgY3VycmVudCB0aHJlYWQsIGJ1dCByZXF1ZXN0aW5nIHRo ZSByZWdjYWNoZSBmb3IgYW4gZXhpdGVkIHRocmVhZAorKwkgd2lsbCB0cmlnZ2VyIGFuIGFzc2Vy dGlvbi4KKysKKysJIENoZWNrIGZvciB0aGUgZXhpdGVkIHRocmVhZCBjYXNlIGhlcmUsIGFuZCBj b252ZXJ0IHRoZSBzdG9wIHJlYXNvbgorKwkgdG8gYSBzcHVyaW91cyBzdG9wIGV2ZW50LiAgVGhl IHRocmVhZCBleGl0aW5nIHdpbGwgaGF2ZSBhbHJlYWR5CisrCSBiZWVuIHJlcG9ydGVkICh3aGVu IHRoZSB0aHJlYWQgbGlzdCB3YXMgcGFyc2VkKSwgc28gbWFraW5nIHRoaXMgYQorKwkgc3B1cmlv dXMgc3RvcCB3aWxsIGNhdXNlIEdEQiB0byBkcm9wIGJhY2sgdG8gdGhlIHByb21wdC4gICovCisr ICAgICAgaWYgKGluZmVyaW9yX3RocmVhZCAoKS0+c3RhdGUgIT0gVEhSRUFEX0VYSVRFRCkKKysJ bm90aWZ5X3NpZ25hbF9yZWNlaXZlZCAoaW5mZXJpb3JfdGhyZWFkICgpLT5zdG9wX3NpZ25hbCAo KSk7CisrICAgICAgZWxzZQorKwl7CisrCSAgd2FybmluZyAoXygiY29tbWFuZCBhYm9ydGVkLCAl cyB1bmV4cGVjdGVkbHkgZXhpdGVkIGFmdGVyIHNpZ25hbCBzdG9wIGV2ZW50IiksCisrCQkgICB0 YXJnZXRfcGlkX3RvX3N0ciAoaW5mZXJpb3JfdGhyZWFkICgpLT5wdGlkKS5jX3N0ciAoKSk7Cisr CisrCSAgLyogTWFyayB0aGlzIGFzIGEgc3B1cmlvdXMgc3RvcC4gIEdEQiB3aWxsIHJldHVybiB0 byB0aGUKKysJICAgICBwcm9tcHQuICBUaGUgd2FybmluZyBhYm92ZSB0ZWxscyB0aGUgdXNlciB3 aHkuICAqLworKwkgIGxhc3Quc2V0X3NwdXJpb3VzICgpOworKwl9CisrICAgIH0KKyAKKyAgIC8q IEFzIHdpdGggdGhlIG5vdGlmaWNhdGlvbiBvZiB0aHJlYWQgZXZlbnRzLCB3ZSB3YW50IHRvIGRl bGF5CisgICAgICBub3RpZnlpbmcgdGhlIHVzZXIgdGhhdCB3ZSd2ZSBzd2l0Y2hlZCB0aHJlYWQg Y29udGV4dCB1bnRpbAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnJlcGxheS9taXNz aW5nLXRocmVhZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucmVwbGF5L21pc3NpbmctdGhyZWFkLmMK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5yZXBsYXkvbWlzc2luZy10aHJlYWQuYworQEAgLTAsMCArMSw2MSBAQAorKy8qIFRoaXMg dGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJp Z2h0IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysg ICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNsdWRlIDxwdGhyZWFkLmg+Cisr I2luY2x1ZGUgPGFzc2VydC5oPgorKyNpbmNsdWRlIDxzaWduYWwuaD4KKysjaW5jbHVkZSA8c3Rk aW8uaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKysKKytw dGhyZWFkX211dGV4X3QgZ19tdXRleCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CisrcHRo cmVhZF9jb25kX3QgZ19jb25kdmFyID0gUFRIUkVBRF9DT05EX0lOSVRJQUxJWkVSOworKworK3Zv aWQgKgorK3dvcmtlcl9mdW5jdGlvbiAodm9pZCAqYXJnKQorK3sKKysgIHByaW50ZiAoIkluIHdv cmtlciwgYWJvdXQgdG8gbm90aWZ5XG4iKTsKKysgIHB0aHJlYWRfY29uZF9zaWduYWwgKCZnX2Nv bmR2YXIpOworKworKyAgd2hpbGUgKHRydWUpCisrICAgIHNsZWVwKDEpOworKworKyAgcmV0dXJu IE5VTEw7CisrfQorKworK2ludAorK21haW4oKQorK3sKKysgIHB0aHJlYWRfdCBteV90aHJlYWQ7 CisrCisrICBpbnQgcmVzdWx0ID0gcHRocmVhZF9jcmVhdGUgKCZteV90aHJlYWQsIE5VTEwsIHdv cmtlcl9mdW5jdGlvbiwgTlVMTCk7CisrICBhc3NlcnQgKHJlc3VsdCA9PSAwKTsKKysKKysgIHB0 aHJlYWRfbXV0ZXhfbG9jayAoJmdfbXV0ZXgpOworKyAgcHRocmVhZF9jb25kX3dhaXQgKCZnX2Nv bmR2YXIsICZnX211dGV4KTsKKysKKysgIHByaW50ZiAoIkluIG1haW4sIGhhdmUgYmVlbiB3b2tl bi5cbiIpOworKyAgcHRocmVhZF9tdXRleF91bmxvY2sgKCZnX211dGV4KTsKKysKKysgIHJlc3Vs dCA9IHB0aHJlYWRfa2lsbCAobXlfdGhyZWFkLCBTSUdUUkFQKTsKKysgIGFzc2VydCAocmVzdWx0 ID09IDApOworKworKyAgcmVzdWx0ID0gcHRocmVhZF9qb2luIChteV90aHJlYWQsIE5VTEwpOwor KyAgYXNzZXJ0IChyZXN1bHQgPT0gMCk7CisrCisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucmVwbGF5L21pc3NpbmctdGhyZWFkLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLnJlcGxheS9taXNzaW5nLXRocmVhZC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5yZXBsYXkvbWlzc2luZy10 aHJlYWQuZXhwCitAQCAtMCwwICsxLDIzNyBAQAorKyMgQ29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysj CisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCisrCisrIyBUaGlzIHRlc3QgY29uZmlybXMgaG93IEdEQiBoYW5kbGVzIGEgYmFkbHkgYmVo YXZpbmcgcmVtb3RlIHRhcmdldC4gIFRoZQorKyMgcmVtb3RlIHRhcmdldCByZXBvcnRzIGEgc3Rv cCBldmVudCAoc2lnbmFsIGRlbGl2ZXJ5KSwgdGhlbiwgYXMgR0RCIGlzCisrIyBwcm9jZXNzaW5n IHRoZSBzdG9wIGl0IHN5bmNzIHRoZSB0aHJlYWQgbGlzdCB3aXRoIHRoZSByZW1vdGUuCisrIwor KyMgVGhlIGJhZGx5IGJlaGF2aW5nIHJlbW90ZSB0YXJnZXQgd2FzIGRyb3BwaW5nIHRoZSBzaWdu YWxlZCB0aHJlYWQgZnJvbSB0aGUKKysjIHRocmVhZCBsaXN0IGF0IHRoaXMgcG9pbnQsIHRoYXQg aXMsIHRoZSB0aHJlYWQgYXBwZWFyZWQgdG8gZXhpdCBiZWZvcmUgYW4KKysjIGV4aXQgZXZlbnQg aGFkIGJlZW4gc2VudCB0byAoYW5kIHNlZW4gYnkpIEdEQi4KKysjCisrIyBBdCBvbmUgcG9pbnQg dGhpcyB3YXMgY2F1c2luZyBhbiBhc3NlcnRpb24gZmFpbGVkLiAgR0RCIHdvdWxkIHRyeSB0bwor KyMgcHJvY2VzcyB0aGUgc2lnbmFsIHN0b3AgZXZlbnQsIGFuZCB0byBkbyB0aGlzIHdvdWxkIHRy eSB0byByZWFkIHNvbWUKKysjIHJlZ2lzdGVycy4gIFJlYWRpbmcgcmVnaXN0ZXJzIHJlcXVpcmVz IGEgcmVnY2FjaGUsIGFuZCBHREIgd2lsbCBvbmx5CisrIyBjcmVhdGUgYSByZWdjYWNoZSBmb3Ig YSBub24tZXhpdGVkIHRocmVhZC4KKysKKytsb2FkX2xpYiBnZGJzZXJ2ZXItc3VwcG9ydC5leHAK Kytsb2FkX2xpYiBnZGJyZXBsYXktc3VwcG9ydC5leHAKKysKKytyZXF1aXJlIGFsbG93X2dkYnNl cnZlcl90ZXN0cworK3JlcXVpcmUgaGFzX2dkYnJlcGxheQorKworK3N0YW5kYXJkX3Rlc3RmaWxl CisrCisraWYgeyBbYnVpbGRfZXhlY3V0YWJsZSAiZmFpbGVkIHRvIGJ1aWxkIGV4ZWMiICR0ZXN0 ZmlsZSAkc3JjZmlsZSB7ZGVidWcgcHRocmVhZHN9XSB9IHsKKysgICAgcmV0dXJuIC0xCisrfQor KworKyMgU3RhcnQgdGhlIGluZmVyaW9yIGFuZCByZWNvcmQgYSByZW1vdGUgbG9nIGZvciBvdXIg aW50ZXJhY3Rpb24gd2l0aCBpdC4KKysjIEFsbCB3ZSBkbyBpcyBzdGFydCB0aGUgaW5mZXJpb3Ig YW5kIHdhaXQgZm9yIHRocmVhZCAyIHRvIHJlY2VpdmUgYSBzaWduYWwuCisrIyBDaGVjayB0aGF0 IEdEQiBjb3JyZWN0bHkgc2hvd3MgdGhlIHNpZ25hbCBhcyByZWNlaXZlZC4gIExPR19GSUxFTkFN RSBpcworKyMgd2hlcmUgd2Ugc2hvdWxkIHdyaXRlIHRoZSByZW1vdGUgbG9nLgorK3Byb2Nfd2l0 aF9wcmVmaXggcmVjb3JkX2luaXRpYWxfbG9nZmlsZSB7IGxvZ19maWxlbmFtZSB9IHsKKysgICAg Y2xlYW5fcmVzdGFydCAkOjp0ZXN0ZmlsZQorKworKyAgICAjIE1ha2Ugc3VyZSB3ZSdyZSBkaXNj b25uZWN0ZWQsIGluIGNhc2Ugd2UncmUgdGVzdGluZyB3aXRoIGFuCisrICAgICMgZXh0ZW5kZWQt cmVtb3RlIGJvYXJkLCB0aGVyZWZvcmUgYWxyZWFkeSBjb25uZWN0ZWQuCisrICAgIGdkYl90ZXN0 ICJkaXNjb25uZWN0IiAiLioiCisrCisrICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0IHN5c3Jv b3QiIFwKKysJInNldHRpbmcgc3lzcm9vdCBiZWZvcmUgc3RhcnRpbmcgZ2Ric2VydmVyIgorKwor KyAgICAjIFN0YXJ0IGdkYnNlcnZlciBsaWtlOgorKyAgICAjICAgZ2Ric2VydmVyIDpQT1JUIC4u Li4KKysgICAgc2V0IHJlcyBbZ2Ric2VydmVyX3N0YXJ0ICIiICQ6OmJpbmZpbGVdCisrICAgIHNl dCBnZGJzZXJ2ZXJfcHJvdG9jb2wgW2xpbmRleCAkcmVzIDBdCisrICAgIHNldCBnZGJzZXJ2ZXJf Z2RicG9ydCBbbGluZGV4ICRyZXMgMV0KKysKKysgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQg cmVtb3RlbG9nZmlsZSAkbG9nX2ZpbGVuYW1lIiBcCisrCSJzZXR1cCByZW1vdGVsb2dmaWxlIgor KworKyAgICAjIENvbm5lY3QgdG8gZ2Ric2VydmVyLgorKyAgICBpZiB7IVtnZGJfdGFyZ2V0X2Nt ZCAkZ2Ric2VydmVyX3Byb3RvY29sICRnZGJzZXJ2ZXJfZ2RicG9ydF0gPT0gMH0geworKwl1bnN1 cHBvcnRlZCAiJHRlc3RmaWxlIChjb3VsZG4ndCBzdGFydCBnZGJzZXJ2ZXIpIgorKwlyZXR1cm4K KysgICAgfQorKworKyAgICBnZGJfYnJlYWtwb2ludCBtYWluCisrICAgIGdkYl9jb250aW51ZV90 b19icmVha3BvaW50ICJjb250aW51aW5nIHRvIG1haW4iCisrCisrICAgIGdkYl90ZXN0ICJjb250 aW51ZSIgXAorKwkiVGhyZWFkICQ6OmRlY2ltYWwgXFteXHJcblxdKyByZWNlaXZlZCBzaWduYWwg U0lHVFJBUCwgLioiCisrCisrICAgIGdkYl90ZXN0ICJkaXNjb25uZWN0IiAiLioiIFwKKysJImRp c2Nvbm5lY3QgYWZ0ZXIgc2VlaW5nIHNpZ25hbCIKKyt9CisrCisrIyBDb3B5IHRoZSByZW1vdGUg bG9nIGZyb20gSU5fRklMRU5BTUUgdG8gT1VUX0ZJTEVOQU1FLCBidXQgbW9kaWZ5IG9uZQorKyMg cGFydGljdWxhciBsaW5lLgorKyMKKysjIFRoZSBsaW5lIHRvIGJlIG1vZGlmaWVkIGlzIHRoZSBs YXN0IDx0aHJlYWRzPi4uLjwvdGhyZWFkcz4gbGluZSwgdGhpcyBpcworKyMgdGhlIHJlcGx5IGZy b20gdGhlIHJlbW90ZSB0aGF0IGluZGljYXRlcyB0aGUgdGhyZWFkIGxpc3QuICBJdCBpcyBleHBl Y3RlZAorKyMgdGhhdCB0aGUgdGhyZWFkIGxpc3Qgd2lsbCBjb250YWluIHR3byB0aHJlYWRzLgor KyMKKysjIFdobiBEUk9QX0JPVEggaXMgdHJ1ZSB0aGVuIGJvdGggdGhyZWFkcyB3aWxsIGJlIHJl bW92ZWQgZnJvbSB0aGUgbW9kaWZpZWQKKysjIGxpbmUuICBPdGhlcndpc2UsIG9ubHkgdGhlIHNl Y29uZCB0aHJlYWQgaXMgcmVtb3ZlZC4KKytwcm9jIHVwZGF0ZV9yZXBsYXlfbG9nIHsgaW5fZmls ZW5hbWUgb3V0X2ZpbGVuYW1lIGRyb3BfYm90aCB9IHsKKysgICAgIyBSZWFkIElOX0ZJTEVOQU1F IGludG8gYSBsaXN0LgorKyAgICBzZXQgZmQgW29wZW4gJGluX2ZpbGVuYW1lXQorKyAgICBzZXQg ZGF0YSBbcmVhZCAkZmRdCisrICAgIGNsb3NlICRmZAorKyAgICBzZXQgbGluZXMgW3NwbGl0ICRk YXRhICJcbiJdCisrCisrICAgICMgRmluZCB0aGUgbGFzdCBsaW5lIGluIExJTkVTIHRoYXQgY29u dGFpbnMgdGhlIDx0aHJlYWRzPiBsaXN0LgorKyAgICBzZXQgaWR4IC0xCisrICAgIGZvciB7IHNl dCBpIDAgfSB7ICRpIDwgW2xsZW5ndGggJGxpbmVzXSB9IHsgaW5jciBpIH0geworKwlpZiB7IFty ZWdleHAgIl5yLio8dGhyZWFkcz4uKjwvdGhyZWFkcz4iIFtsaW5kZXggJGxpbmVzICRpXV0gfSB7 CisrCSAgICBzZXQgaWR4ICRpCisrCX0KKysgICAgfQorKworKyAgICAjIE1vZGlmeSB0aGUgbGlu ZSBieSBkcm9wcGluZyB0aGUgc2Vjb25kIHRocmVhZC4gIFRoaXMgZG9lcyBhc3N1bWUKKysgICAg IyB0aGUgdGhyZWFkIG9yZGVyIGFzIHNlZW4gaW4gdGhlIDx0aHJlYWRzPi4uLjwvdGhyZWFkcz4g bGlzdCwgYnV0CisrICAgICMgdGhpcyBzZWVtcyBzdGFibGUgZm9yIG5vdy4KKysgICAgc2V0IGxp bmUgW2xpbmRleCAkbGluZXMgJGlkeF0KKysgICAgc2V0IGZpeGVkX2xvZyBmYWxzZQorKyAgICBp ZiB7W3JlZ2V4cCAiXihyIC4qPHRocmVhZHM+XFxcXG4pKDx0aHJlYWQgaWQuKi8+XFxcXG4pKDx0 aHJlYWQgaWQuKi8+XFxcXG4pKDwvdGhyZWFkcz4uKikkIiAkbGluZSBcCisrCSAgICAgbWF0Y2gg cGFydDEgcGFydDIgcGFydDMgcGFydDRdfSB7CisrCWlmIHsgJGRyb3BfYm90aCB9IHsKKysJICAg IHNldCBsaW5lICRwYXJ0MSRwYXJ0NAorKwl9IGVsc2UgeworKwkgICAgc2V0IGxpbmUgJHBhcnQx JHBhcnQyJHBhcnQ0CisrCX0KKysJc2V0IGxpbmVzIFtscmVwbGFjZSAkbGluZXMgJGlkeCAkaWR4 ICRsaW5lXQorKwlzZXQgZml4ZWRfbG9nIHRydWUKKysgICAgfQorKworKyAgICAjIFdyaXRlIGFs bCB0aGUgbGluZXMgdG8gT1VUX0ZJTEVOQU1FCisrICAgIHNldCBmZCBbb3BlbiAkb3V0X2ZpbGVu YW1lICJ3Il0KKysgICAgZm9yZWFjaCBsICRsaW5lcyB7CisrCXB1dHMgJGZkICRsCisrICAgIH0K KysgICAgY2xvc2UgJGZkCisrCisrICAgICMgRGlkIHdlIG1hbmFnZSB0byB1cGRhdGUgdGhlIGxv ZyBmaWxlPworKyAgICByZXR1cm4gJGZpeGVkX2xvZworK30KKysKKysjIFJlcGxheSB0aGUgdGVz dCBwcm9jZXNzIHVzaW5nIFJFTU9URV9MT0cgYXMgdGhlIGxvZ2ZpbGUgdG8gcmVwbGF5LiAgSWYK KysjIEVYUEVDVF9FUlJPUiBpcyB0cnVlIHRoZW4gYWZ0ZXIgdGhlIGZpbmFsICdjb250aW51ZScg d2UgZXhwZWN0IEdEQiB0byBnaXZlCisrIyBhbiBlcnJvciBhcyB0aGUgcmVxdWlyZWQgdGhyZWFk IGlzIG1pc3NpbmcuICBXaGVuIEVYUEVDVF9FUlJPUiBpcyBmYWxzZQorKyMgdGhlbiB3ZSBleHBl Y3QgdGhlIHRlc3QgdG8gY29tcGxldGUgYXMgbm9ybWFsLiAgTk9OX1NUT1AgaXMgZWl0aGUgJ29u JyBvcgorKyMgJ29mZicgYW5kIGluZGljYXRlcyBHREJzIG5vbi1zdG9wIG1vZGUuCisrcHJvY193 aXRoX3ByZWZpeCByZXBsYXlfd2l0aF9sb2cgeyByZW1vdGVfbG9nIGV4cGVjdF9lcnJvciBub25f c3RvcCB9IHsKKysgICAgY2xlYW5fcmVzdGFydCAkOjp0ZXN0ZmlsZQorKworKyAgICAjIE1ha2Ug c3VyZSB3ZSdyZSBkaXNjb25uZWN0ZWQsIGluIGNhc2Ugd2UncmUgdGVzdGluZyB3aXRoIGFuCisr ICAgICMgZXh0ZW5kZWQtcmVtb3RlIGJvYXJkLCB0aGVyZWZvcmUgYWxyZWFkeSBjb25uZWN0ZWQu CisrICAgIGdkYl90ZXN0ICJkaXNjb25uZWN0IiAiLioiCisrCisrICAgIGdkYl90ZXN0X25vX291 dHB1dCAic2V0IHN5c3Jvb3QiCisrCisrICAgIHNldCByZXMgW2dkYnJlcGxheV9zdGFydCAkcmVt b3RlX2xvZ10KKysgICAgc2V0IGdkYnNlcnZlcl9wcm90b2NvbCBbbGluZGV4ICRyZXMgMF0KKysg ICAgc2V0IGdkYnNlcnZlcl9nZGJwb3J0IFtsaW5kZXggJHJlcyAxXQorKworKyAgICAjIENvbm5l Y3QgdG8gZ2Ric2VydmVyLgorKyAgICBpZiB7IVtnZGJfdGFyZ2V0X2NtZCAkZ2Ric2VydmVyX3By b3RvY29sICRnZGJzZXJ2ZXJfZ2RicG9ydF0gPT0gMH0geworKwlmYWlsICJjb3VsZG4ndCBjb25u ZWN0IHRvIGdkYnJlcGxheSIKKysJcmV0dXJuCisrICAgIH0KKysKKysgICAgZ2RiX2JyZWFrcG9p bnQgbWFpbgorKyAgICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiY29udGludWluZyB0byBt YWluIgorKworKyAgICBpZiB7ICRleHBlY3RfZXJyb3IgfSB7CisrCXNldCBleHBlY3RlZF9vdXRw dXQgXAorKwkgICAgW2xpc3QgXAorKwkJICJcXFxbVGhyZWFkIFxbXlxyXG5cXSsgZXhpdGVkXFxc XSIgXAorKwkJICJ3YXJuaW5nOiBjb21tYW5kIGFib3J0ZWQsIFRocmVhZCBcW15cclxuXF0rIHVu ZXhwZWN0ZWRseSBleGl0ZWQgYWZ0ZXIgc2lnbmFsIHN0b3AgZXZlbnQiXQorKworKwlpZiB7ICEk bm9uX3N0b3AgfSB7CisrCSAgICBsYXBwZW5kIGV4cGVjdGVkX291dHB1dCAiXFxcW1N3aXRjaGlu ZyB0byBUaHJlYWQgXFteXHJcblxdK1xcXF0iCisrCX0KKysKKysJZ2RiX3Rlc3QgImNvbnRpbnVl IiBbbXVsdGlfbGluZSB7Kn0kZXhwZWN0ZWRfb3V0cHV0XQorKyAgICB9IGVsc2UgeworKwkjIFRo aXMgaXMgdGhlIG9yaWdpbmFsIGJlaGF2aW91ciwgd2Ugc2VlIHRoaXMgd2hlbiBydW5uaW5nCisr CSMgd2l0aCB0aGUgdW5tb2RpZmllZCBsb2cuCisrCWdkYl90ZXN0ICJjb250aW51ZSIgXAorKwkg ICAgIlRocmVhZCAkezo6ZGVjaW1hbH0oPzogXFteXHJcblxdKyk/IHJlY2VpdmVkIHNpZ25hbCBT SUdUUkFQLCAuKiIKKysgICAgfQorKworKyAgICBnZGJfdGVzdCAiZGlzY29ubmVjdCIgIi4qIiBc CisrCSJkaXNjb25uZWN0IGFmdGVyIHNlZWluZyBzaWduYWwiCisrfQorKworKyMgUnVuIHRoZSBj b21wbGV0ZSB0ZXN0IGN5Y2xlOyBnZW5lcmF0ZSBhbiBpbml0aWFsIGxvZyBmaWxlLCBtb2RpZnkg dGhlIGxvZworKyMgZmlsZSwgdGhlbiBjaGVjayB0aGF0IEdEQiBjb3JyZWN0bHkgaGFuZGxlcyBy ZXBsYXlpbmcgdGhlIG1vZGlmaWVkIGxvZworKyMgZmlsZS4KKysjCisrIyBOT05fU1RPUCBpcyBl aXRoZXIgJ29uJyBvciAnb2ZmJyBhbmQgaW5kaWNhdGVzIEdEQidzIG5vbi1zdG9wIG1vZGUuCisr cHJvYyBydW5fdGVzdCB7IG5vbl9zdG9wIH0geworKyAgICBpZiB7ICRub25fc3RvcCB9IHsKKysJ c2V0IHN1ZmZpeCAiLW5zIgorKyAgICB9IGVsc2UgeworKwlzZXQgc3VmZml4ICIiCisrICAgIH0K KysKKysgICAgIyBUaGUgcmVwbGF5IGxvZyBpcyBwbGFjZWQgaW4gJ3JlcGxheS5sb2cnLgorKyAg ICBzZXQgcmVtb3RlX2xvZyBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgcmVwbGF5JHtzdWZmaXh9Lmxv Z10KKysgICAgc2V0IG1pc3NpbmdfMV9sb2cgW3N0YW5kYXJkX291dHB1dF9maWxlIHJlcGxheS1t aXNzaW5nLTEke3N1ZmZpeH0ubG9nXQorKyAgICBzZXQgbWlzc2luZ18yX2xvZyBbc3RhbmRhcmRf b3V0cHV0X2ZpbGUgcmVwbGF5LW1pc3NpbmctMiR7c3VmZml4fS5sb2ddCisrCisrICAgIHJlY29y ZF9pbml0aWFsX2xvZ2ZpbGUgJHJlbW90ZV9sb2cKKysKKysgICAgaWYgeyAhW3VwZGF0ZV9yZXBs YXlfbG9nICRyZW1vdGVfbG9nICRtaXNzaW5nXzFfbG9nIGZhbHNlXSB9IHsKKysJZmFpbCAiY291 bGRuJ3QgdXBkYXRlIHJlbW90ZSByZXBsYXkgbG9nIChkcm9wIDEgY2FzZSkiCisrICAgIH0KKysK KysgICAgaWYgeyAhW3VwZGF0ZV9yZXBsYXlfbG9nICRyZW1vdGVfbG9nICRtaXNzaW5nXzJfbG9n IHRydWVdIH0geworKwlmYWlsICJjb3VsZG4ndCB1cGRhdGUgcmVtb3RlIHJlcGxheSBsb2cgKGRy b3AgMiBjYXNlKSIKKysgICAgfQorKworKyAgICB3aXRoX3Rlc3RfcHJlZml4ICJ3aXRoIHVubW9k aWZpZWQgbG9nIiB7CisrCSMgUmVwbGF5IHdpdGggdGhlIHVubW9kaWZpZWQgbG9nLiAgVGhpcyBj b25maXJtcyB0aGF0IHdlIGNhbiByZXBsYXkgdGhpcworKwkjIHNjZW5hcmlvIGNvcnJlY3RseS4K KysJcmVwbGF5X3dpdGhfbG9nICRyZW1vdGVfbG9nIGZhbHNlICRub25fc3RvcAorKyAgICB9Cisr CisrICAgIHdpdGhfdGVzdF9wcmVmaXggIm1pc3NpbmcgMSB0aHJlYWQgbG9nIiB7CisrCSMgTm93 IHJlcGxheSB3aXRoIHRoZSBtb2RpZmllZCBsb2csIHRoaXMgdGltZSB0aGUgdGhyZWFkIHRoYXQg cmVjZWl2ZXMKKysJIyB0aGUgZXZlbnQgc2hvdWxkIGJlIG1pc3NpbmcgZnJvbSB0aGUgdGhyZWFk IGxpc3QsIEdEQiB3aWxsIGdpdmUgYW4KKysJIyBlcnJvciB3aGVuIHRoZSBpbmZlcmlvciBzdG9w cy4KKysJcmVwbGF5X3dpdGhfbG9nICRtaXNzaW5nXzFfbG9nIHRydWUgJG5vbl9zdG9wCisrICAg IH0KKysKKysgICAgd2l0aF90ZXN0X3ByZWZpeCAibWlzc2luZyAyIHRocmVhZHMgbG9nIiB7Cisr CSMgV2hlbiB3ZSBkcm9wIGJvdGggdGhyZWFkcyBmcm9tIHRoZSA8dGhyZWFkcz4gcmVwbHksIEdE QiBkb2Vzbid0CisrCSMgYWN0dWFsbHkgcmVtb3ZlIGJvdGggdGhyZWFkcyBmcm9tIHRoZSBpbmZl cmlvcjsgYW4gaW5mZXJpb3IgbXVzdAorKwkjIGFsd2F5cyBoYXZlIGF0IGxlYXN0IG9uZSB0aHJl YWQuICBTbyBpbiB0aGlzIGNhc2UsIGFzIHRoZSBwcmltYXJ5CisrCSMgdGhyZWFkIGlzIGZpcnN0 LCBHREIgZHJvcHMgdGhpcywgdGhlbiByZXRhaW5zIHRoZSBzZWNvbmQgdGhyZWFkLCB3aGljaAor KwkjIGlzIHRoZSBvbmUgd2UncmUgc3RvcHBpbmcgaW4sIGFuZCBzbywgd2UgZG9uJ3QgZXhwZWN0 IHRvIHNlZSB0aGUgZXJyb3IKKysJIyBpbiB0aGlzIGNhc2UuCisrCXJlcGxheV93aXRoX2xvZyAk bWlzc2luZ18yX2xvZyBmYWxzZSAkbm9uX3N0b3AKKysgICAgfQorK30KKysKKysjIFJ1biB0aGUg dGVzdCB0d2ljZSwgd2l0aCBub24tc3RvcCBvbiBhbmQgb2ZmLgorK2ZvcmVhY2hfd2l0aF9wcmVm aXggbm9uX3N0b3AgeyBvbiBvZmYgfSB7CisrICAgIHNhdmVfdmFycyB7IDo6R0RCRkxBR1MgfSB7 CisrCWFwcGVuZCA6OkdEQkZMQUdTICIgLWV4IFwic2V0IG5vbi1zdG9wICRub25fc3RvcFwiIgor KwlydW5fdGVzdCAkbm9uX3N0b3AKKysgICAgfQorK30KCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBi L2dkYi5zcGVjCmluZGV4IDQ0N2RkMzcuLjA3NzUzOTYgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisr KyBiL2dkYi5zcGVjCkBAIC00NSw3ICs0NSw3IEBAIFZlcnNpb246IDE3LjEKIAogIyBUaGUgcmVs ZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQg YXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5 IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiA0 JXs/ZGlzdH0KK1JlbGVhc2U6IDUlez9kaXN0fQogCiBMaWNlbnNlOiBHUEwtMy4wLW9yLWxhdGVy IEFORCBCU0QtMy1DbGF1c2UgQU5EIEZTRkFQIEFORCBMR1BMLTIuMS1vci1sYXRlciBBTkQgR1BM LTIuMC1vci1sYXRlciBBTkQgTEdQTC0yLjAtb3ItbGF0ZXIgQU5EIExpY2Vuc2VSZWYtRmVkb3Jh LVB1YmxpYy1Eb21haW4gQU5EIEdGREwtMS4zLW9yLWxhdGVyIEFORCBMR1BMLTIuMC1vci1sYXRl ciBXSVRIIEdDQy1leGNlcHRpb24tMi4wIEFORCBHUEwtMy4wLW9yLWxhdGVyIFdJVEggR0NDLWV4 Y2VwdGlvbi0zLjEgQU5EIEdQTC0yLjAtb3ItbGF0ZXIgV0lUSCBHTlUtY29tcGlsZXItZXhjZXB0 aW9uIEFORCBNSVQKICMgRG8gbm90IHByb3ZpZGUgVVJMIGZvciBzbmFwc2hvdHMgYXMgdGhlIGZp bGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpAQCAtOTMyLDYgKzkzMiwxMSBAQCBmaQog IyBlbmRpZiBzY2wKIAogJWNoYW5nZWxvZworKiBUdWUgQXByIDIxIDIwMjUgQW5kcmV3IEJ1cmdl c3MgPGFidXJnZXNzQHJlZGhhdC5jb20+CistIEJhY2twb3J0IHVwc3RyZWFtIGNvbW1pdHMgOGJk MDhlZTkyYzQgYW5kIGNkMjg5ZGYwNjhlIHRvIGFkZHJlc3MKKyAgcmhiejIzNjY0NjEuICBUaGVz ZSBiYWNrcG9ydHMgd2lsbCBub3QgYmUgbmVlZGVkIG9uY2Ugd2UgcmViYXNlIHRvCisgIEdEQiAx OC4KKwogKiBXZWQgRmViIDI1IDIwMjYgS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29t PgogLSBCYWNrcG9ydCB1cHN0cmVhbSBjb21taXQgYzFkYTAxMzkxNWUgZnJvbSBLZXZpbiBCdWV0 dG5lciB0byBmaXgKICAgZ2NvcmUgZmFpbHVyZXMgY2F1c2VkIGJ5IGdsaWJjIDIuNDIgZ3VhcmQg cGFnZSBjaGFuZ2VzIChSSEJaIDI0MTM0MDUpLgo=