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] fix-dup-patch: Backport upstream commit a92e943014f5e8d6a2eaccaf8a725941ac47a121 Date: Thu, 23 Jul 2026 18:35:57 GMT Message-ID: <178483175740.1.12786024520473802997.rpms-gdb-4b0a2e1d1a85@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 4b0a2e1d1a852df0185d04e141d43dc8c9f8f7ab ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogNGIwYTJlMWQxYTg1MmRmMDE4NWQwNGUxNDFkNDNkYzhjOWY4ZjdhYgog ICAgICAgICAgICBBdXRob3IgOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4K ICAgICAgICAgICAgRGF0ZSAgIDogMjAyNC0wOS0wOVQxNjoxOTo0NiswMTowMAogICAgICAgICAg ICBTdGF0cyAgOiArNTgzLy0wIGluIDUgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzRiMGEyZTFkMWE4NTJkZjAxODVk MDRlMTQxZDQzZGM4YzlmOGY3YWI/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAgICAgICAgIExv ZzoKICAgICAgICAgICAgQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGE5MmU5NDMwMTRmNWU4ZDZh MmVhY2NhZjhhNzI1OTQxYWM0N2ExMjEKClRoaXMgYmFja3BvcnQgc2hvdWxkIGZpeCBSSEJaIDIz MDQyOTYuCgotLS0KZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlIGIvX2dkYi5z cGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggNTIzMjE0Mi4uNDhkMmNjMiAxMDA2NDQKLS0tIGEvX2dk Yi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKQEAgLTEx NywzICsxMTcsNiBAQCBQYXRjaDAyNTogZ2RiLXJlbW92ZS11c2Utb2YtcHktaXNhc2NpaQogIyBS UE1zIHRvIGluc3RhbGwgd2hlbiBHREIgZmluZHMgYW4gb2JqZmlsZSB3aXRoIG5vIGRlYnVnIGlu Zm8uCiBQYXRjaDAyNjogZ2RiLWFkZC1ycG0tc3VnZ2VzdGlvbi1zY3JpcHQucGF0Y2gKIAorCitQ YXRjaDAyNzogZ2RiLWNhdGNocG9pbnQtcmUtc2V0LnBhdGNoCisKCmRpZmYgLS1naXQgYS9fZ2Ri LnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCmluZGV4IDVkNTlm M2MuLmVmZDAwZGEgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCisrKyBiL19n ZGIuc3BlYy5wYXRjaC5pbmNsdWRlCkBAIC0yNCwzICsyNCw0IEBACiAlcGF0Y2ggLXAxIC1QMDI0 CiAlcGF0Y2ggLXAxIC1QMDI1CiAlcGF0Y2ggLXAxIC1QMDI2CislcGF0Y2ggLXAxIC1QMDI3Cgpk aWZmIC0tZ2l0IGEvX3BhdGNoX29yZGVyIGIvX3BhdGNoX29yZGVyCmluZGV4IGJkMmQwM2MuLjcz Yjg2M2IgMTAwNjQ0Ci0tLSBhL19wYXRjaF9vcmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTI0 LDMgKzI0LDQgQEAgZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBh dGNoCiBnZGItYWRkLWluZGV4LnBhdGNoCiBnZGItcmVtb3ZlLXVzZS1vZi1weS1pc2FzY2lpCiBn ZGItYWRkLXJwbS1zdWdnZXN0aW9uLXNjcmlwdC5wYXRjaAorZ2RiLWNhdGNocG9pbnQtcmUtc2V0 LnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ2RiLWNhdGNocG9pbnQtcmUtc2V0LnBhdGNoIGIvZ2RiLWNh dGNocG9pbnQtcmUtc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjQ5ODk3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItY2F0Y2hwb2ludC1yZS1zZXQucGF0Y2gK QEAgLTAsMCArMSw1NzUgQEAKK0Zyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4KK0RhdGU6 IFdlZCwgMTQgQXVnIDIwMjQgMTU6MTY6NDYgKzAxMDAKK1N1YmplY3Q6IGdkYi1jYXRjaHBvaW50 LXJlLXNldC5wYXRjaAorCisgICAgOzsgQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGE5MmU5NDMw MTRmIHRvIGZpeCByaGJ6MjMwNDI5Ni4KKworZ2RiOiBpbXBsZW1lbnQgOjpyZV9zZXQgbWV0aG9k IGZvciBjYXRjaHBvaW50IGNsYXNzCisKK0l0IGlzIHBvc3NpYmxlIHRvIGF0dGFjaCBhIGNvbmRp dGlvbiB0byBhIGNhdGNocG9pbnQuICBUaGlzIGNhbid0IGJlCitkb25lIHdoZW4gdGhlIGNhdGNo cG9pbnQgaXMgY3JlYXRlZCwgYnV0IGNhbiBiZSBkb25lIHdpdGggdGhlCisnY29uZGl0aW9uJyBj b21tYW5kLCB0aGlzIGlzIGRvY3VtZW50ZWQgaW4gdGhlIEdEQiBtYW51YWw6CisKKyAgICAgWW91 IGNhbiBhbHNvIHVzZSB0aGUgJ2lmJyBrZXl3b3JkIHdpdGggdGhlICd3YXRjaCcgY29tbWFuZC4g IFRoZQorICAnY2F0Y2gnIGNvbW1hbmQgZG9lcyBub3QgcmVjb2duaXplIHRoZSAnaWYnIGtleXdv cmQ7ICdjb25kaXRpb24nIGlzIHRoZQorICBvbmx5IHdheSB0byBpbXBvc2UgYSBmdXJ0aGVyIGNv bmRpdGlvbiBvbiBhIGNhdGNocG9pbnQuCisKK0EgR0RCIGNyYXNoIHdhcyByZXBvcnRlZCBhZ2Fp bnN0IEZlZG9yYSBHREIgd2hlcmUgYSB1c2VyIGhhZCBhdHRhY2hlZAorYSBjb25kaXRpb24gdG8g YSBjYXRjaHBvaW50IGFuZCB0aGVuIHJlc3RhcnRlZCB0aGUgaW5mZXJpb3IuICBXaGVuIHRoZQor Y2F0Y2hwb2ludCB3YXMgaGl0IEdEQiB3b3VsZCBpbW1lZGlhdGVseSBzZWdmYXVsdC4gIEkgd2Fz IGFibGUgdG8KK3JlcHJvZHVjZSB0aGUgZmFpbHVyZSBvbiB1cHN0cmVhbSBHREI6CisKKyAgKGdk YikgZmlsZSAuL3NvbWUvYmluYXJ5CisgIChnZGIpIGNhdGNoIHN5c2NhbGwgd3JpdGUKKyAgKGdk YikgcnVuCisgIC4uLgorICBDYXRjaHBvaW50IDEgKHJldHVybmVkIGZyb20gc3lzY2FsbCB3cml0 ZSksIDB4MDAwMDdmZmZmN2I1OTRhNyBpbiB3cml0ZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYK KyAgKGdkYikgY29uZGl0aW9uIDEgJF9zdHJlcSgoY2hhciAqKSAkcnNpLCAiZm9vYmFyIikgPT0g MAorICAoZ2RiKSBydW4KKyAgLi4uCisgIEZhdGFsIHNpZ25hbDogU2VnbWVudGF0aW9uIGZhdWx0 CisgIC4uLgorCitXaGF0IGhhcHBlbmVkIGhlcmUgaXMgdGhhdCBvbiB0aGUgc3lzdGVtIGluIHF1 ZXN0aW9uIHdlIGhhZCBkZWJ1ZworaW5mb3JtYXRpb24gYXZhaWxhYmxlIGZvciBib3RoIHRoZSBt YWluIGFwcGxpY2F0aW9uIGFuZCBhbHNvIGZvcgorbGliYy4KKworV2hlbiB0aGUgY29uZGl0aW9u IHdhcyBhdHRhY2hlZCBHREIgd2FzIHN0b3BwZWQgaW5zaWRlIGxpYmMgYW5kIGFzIHRoZQorZGVi dWcgaW5mb3JtYXRpb24gd2FzIGF2YWlsYWJsZSBHREIgZm91bmQgYSByZWZlcmVuY2UgdG8gdGhl ICdjaGFyJwordHlwZSAoZm9yIHRoZSBjYXN0KSBpbnNpZGUgbGliYydzIGRlYnVnIGluZm9ybWF0 aW9uLgorCitXaGVuIHRoZSBpbmZlcmlvciBpcyByZXN0YXJ0ZWQgR0RCIGRpc2NhcmRzIGFsbCBv ZiB0aGUgb2JqZmlsZXMKK2Fzc29jaWF0ZWQgd2l0aCBzaGFyZWQgbGlicmFyaWVzLCBhbmQgdGhp cyBpbmNsdWRlcyBsaWJjLiAgQXMgc3VjaCB0aGUKKydjaGFyJyB0eXBlLCB3aGljaCBpcyBvYmpm aWxlIG93bmVkLCBpcyBkaXNjYXJkZWQgYW5kIHRoZSByZWZlcmVuY2UgdG8KK2l0IGZyb20gdGhl IGNhdGNocG9pbnQncyBjb25kaXRpb24gZXhwcmVzc2lvbiBiZWNvbWVzIGludmFsaWQuCisKK05v dywgaWYgaXQgd2VyZSBhIGJyZWFrcG9pbnQgaW5zdGVhZCBvZiBhIGNhdGNocG9pbnQsIHdoYXQg d291bGQKK2hhcHBlbiBpcyB0aGF0IGFmdGVyIHRoZSBzaGFyZWQgbGlicmFyeSBvYmpmaWxlcyBo YWQgYmVlbiBkaXNjYXJkZWQKK3dlJ2QgY2FsbCB0aGUgdmlydHVhbCBicmVha3BvaW50OjpyZV9z ZXQgbWV0aG9kIG9uIHRoZSBicmVha3BvaW50LCBhbmQKK3RoaXMgd291bGQgdXBkYXRlIHRoZSBi cmVha3BvaW50J3MgY29uZGl0aW9uIGV4cHJlc3Npb24uICBUaGlzIGlzCitiZWNhdXNlIHVzZXIg YnJlYWtwb2ludHMgYXJlIGFjdHVhbGx5IGluc3RhbmNlcyBvZiB0aGUgY29kZV9icmVha3BvaW50 CitjbGFzcyBhbmQgdGhlIGNvZGVfYnJlYWtwb2ludDo6cmVfc2V0IG1ldGhvZCBjb250YWlucyB0 aGUgY29kZSB0bworcmVjb21wdXRlIHRoZSBicmVha3BvaW50J3MgY29uZGl0aW9uIGV4cHJlc3Np b24uCisKK0hvd2V2ZXIsIGNhdGNocG9pbnRzIGFyZSBpbnN0YW5jZXMgb2YgdGhlIGNhdGNocG9p bnQgY2xhc3Mgd2hpY2gKK2luaGVyaXRzIGZyb20gdGhlIGJhc2UgYnJlYWtwb2ludCBjbGFzcy4g IFRoZSBjYXRjaHBvaW50IGNsYXNzIGRvZXMKK25vdCBvdmVycmlkZSBicmVha3BvaW50OjpyZV9z ZXQsIGFuZCBicmVha3BvaW50OjpyZV9zZXQgaXMgZW1wdHkhCisKK1RoZSBjb25zZXF1ZW5jZSBv ZiB0aGlzIGlzIHRoYXQgY2F0Y2hwb2ludCBjb25kaXRpb24gZXhwcmVzc2lvbnMgYXJlCituZXZl ciByZWNvbXB1dGVkLCBhbmQgdGhlIGRhbmdsaW5nIHBvaW50ZXIgdG8gdGhlIG5vdyBkZWxldGVk LCBvYmpmaWxlCitvd25lZCB0eXBlICdjaGFyJyBpcyBsZWZ0IGFyb3VuZCwgYW5kLCB3aGVuIHRo ZSBjYXRjaHBvaW50IGlzIGhpdCwgdGhlCitpbnZhbGlkIHBvaW50ZXIgaXMgdXNlZCB3aGVuIEdE QiB0cmllcyB0byBldmFsdWF0ZSB0aGUgY29uZGl0aW9uCitleHByZXNzaW9uLgorCitJbiB0aGlz IGNvbW1pdCBJIGhhdmUgaW1wbGVtZW50ZWQgY2F0Y2hwb2ludDo6cmVfc2V0LiAgVGhpcyBpcyBw cmV0dHkKK3NpbXBsZSBhbmQganVzdCByZWNvbXB1dGVzIHRoZSBjb25kaXRpb24gZXhwcmVzc2lv biBhcyB5b3UnZCBleHBlY3QuCitJZiB0aGUgY29uZGl0aW9uIGRvZXNuJ3QgZXZhbHVhdGUgdGhl biB0aGUgY2F0Y2hwb2ludCBpcyBtYXJrZWQgYXMKK2Rpc2FibGVkX2J5X2NvbmQuCisKK0kgaGF2 ZSBhbHNvIG1hZGUgYnJlYWtwb2ludDo6cmVfc2V0IHB1cmUgdmlydHVhbC4gIFdpdGggdGhlIGFk ZGl0aW9uCitvZiBjYXRjaHBvaW50OjpyZV9zZXQgZXZlcnkgc3ViLWNsYXNzIG9mIGJyZWFrcG9p bnQgbm93IGltcGxlbWVudHMgdGhlCis6OnJlX3NldCBtZXRob2QsIGFuZCBpZiBuZXcgc3ViLWNs YXNzZXMgYXJlIGFkZGVkIGluIHRoZSBmdXR1cmUgSQordGhpbmsgdGhhdCB0aGV5IF9tdXN0XyBp bXBsZW1lbnQgOjpyZV9zZXQgaW4gb3JkZXIgdG8gYXZvaWQgdGhpcworcHJvYmxlbS4gIEFzIHN1 Y2ggZmFsbGluZyBiYWNrIHRvIGFuIGVtcHR5IGJyZWFrcG9pbnQ6OnJlX3NldCBkb2Vzbid0Citz ZWVtIGhlbHBmdWwuCisKK0ZvciB0ZXN0aW5nIEkgaGF2ZSBub3QgcmVsaWVkIG9uIHN0b3BwaW5n IGluIGxpYmMgYW5kIGhhdmluZyBsaWJjCitkZWJ1ZyBpbmZvcm1hdGlvbiBhdmFpbGFibGUsIHRo aXMgZG9lc24ndCBzZWVtIGxpa2UgYSBnb29kIGlkZWEgZm9yCit0aGUgR0RCIHRlc3RzdWl0ZS4g IEluc3RlYWQgSSBjcmVhdGUgYSAocmF0aGVyIHBvaW50bGVzcykgY29uZGl0aW9uCitjaGVjayB0 aGF0IHVzZXMgYSB0eXBlIGRlZmluZWQgb25seSB3aXRoaW4gYSBzaGFyZWQgbGlicmFyeS4gIFdo ZW4gdGhlCitpbmZlcmlvciBpcyByZXN0YXJ0ZWQgdGhlIGNhdGNocG9pbnQgd2lsbCB0ZW1wb3Jh cmlseSBiZSBtYXJrZWQgYXMKK2Rpc2FibGVkX2J5X2NvbmQgKGR1ZSB0byB0aGUgdHlwZSBub3Qg YmVpbmcgYXZhaWxhYmxlKSwgYnV0IG9uY2UgdGhlCitzaGFyZWQgbGlicmFyeSBpcyBsb2FkZWQg YWdhaW4gdGhlIGNhdGNocG9pbnQgd2lsbCBiZSByZS1lbmFibGVkLgorV2l0aG91dCB0aGUgZml4 ZXMgYWJvdmUgdGhlbiB0aGUgc2FtZSBjcmFzaGluZyBiZWhhdmlvdXIgY2FuIGJlCitvYnNlcnZl ZC4KKworT25lIHBvaW50IG9mIG5vdGU6IHRoZSBkYW5nbGluZyBwb2ludGVyIG9mIGNvdXJzZSBl eHBvc2VzIHVuZGVmaW5lZAorYmVoYXZpb3VyLCB3aXRoIG5vIGd1YXJhbnRlZSBvZiBhIGNyYXNo LiAgVGhvdWdoIGEgY3Jhc2ggaXMgd2hhdCBJCit1c3VhbGx5IHNlZSBJIGhhdmUgc2VlIEdEQiB0 aHJvdyByYW5kb20gZXJyb3JzIGZyb20gdGhlIGV4cHJlc3Npb24KK2V2YWx1YXRpb24gY29kZSwg YW5kIG9uY2UsIEkgc2F3IG5vIHByb2JsZW0gYXQgYWxsISAgSWYgeW91IHJlY29tcGlsZQorR0RC IHdpdGggdGhlIGFkZHJlc3Mgc2FuaXRpemVyLCBvciBydW4gdW5kZXIgdmFsZ3JpbmQsIHRoZW4g dGhlIGJ1Zword2lsbCBiZSBleHBvc2VkIGV2ZXJ5IHRpbWUuCisKK0FmdGVyIGZpeGluZyB0aGlz IGJ1ZyBJIGNoZWNrZWQgYnVnemlsbGEgYW5kIGZvdW5kIFBSIGdkYi8yOTk2MCB3aGljaAoraXMg dGhlIHNhbWUgYnVnLiAgSSB3YXMgYWJsZSB0byByZXByb2R1Y2UgdGhlIGJ1ZyBiZWZvcmUgdGhp cyBjb21taXQsCithbmQgYWZ0ZXIgdGhpcyBjb21taXQgR0RCIGlzIG5vIGxvbmdlciBjcmFzaGlu Zy4KKworQmVmb3JlOgorCisgIChnZGIpIGZpbGUgL3RtcC9oZWxsby54CisgIFJlYWRpbmcgc3lt Ym9scyBmcm9tIC90bXAvaGVsbG8ueC4uLgorICAoZ2RiKSBydW4KKyAgU3RhcnRpbmcgcHJvZ3Jh bTogL3RtcC9oZWxsby54CisgIEhlbGxvIFdvcmxkCisgIFtJbmZlcmlvciAxIChwcm9jZXNzIDEx MDE4NTUpIGV4aXRlZCBub3JtYWxseV0KKyAgKGdkYikgY2F0Y2ggc3lzY2FsbCAxCisgIENhdGNo cG9pbnQgMSAoc3lzY2FsbCAnd3JpdGUnIFsxXSkKKyAgKGdkYikgY29uZGl0aW9uIDEgd3JpdGUu ZmQgPT0gMQorICAoZ2RiKSBydW4KKyAgU3RhcnRpbmcgcHJvZ3JhbTogL3RtcC9oZWxsby54CisK KyAgRmF0YWwgc2lnbmFsOiBTZWdtZW50YXRpb24gZmF1bHQKKyAgLi4uCisKK0FuZCBhZnRlcjoK KworICAoZ2RiKSBmaWxlIC90bXAvaGVsbG8ueAorICBSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdG1w L2hlbGxvLnguLi4KKyAgKGdkYikgcnVuCisgIFN0YXJ0aW5nIHByb2dyYW06IC90bXAvaGVsbG8u eAorICBIZWxsbyBXb3JsZAorICBBcmdzOiAoIDAgLCAxICwgMiAsIDMgLCA0ICwgNSAsIDYgLCA3 ICkKKyAgW0luZmVyaW9yIDEgKHByb2Nlc3MgMTEwMjM3MykgZXhpdGVkIG5vcm1hbGx5XQorICAo Z2RiKSBjYXRjaCBzeXNjYWxsIDEKKyAgQ2F0Y2hwb2ludCAxIChzeXNjYWxsICd3cml0ZScgWzFd KQorICAoZ2RiKSBjb25kaXRpb24gMSB3cml0ZS5mZCA9PSAxCisgIChnZGIpIHIKKyAgU3RhcnRp bmcgcHJvZ3JhbTogL3RtcC9oZWxsby54CisgIEVycm9yIGluIHRlc3RpbmcgY29uZGl0aW9uIGZv ciBicmVha3BvaW50IDE6CisgIEF0dGVtcHQgdG8gZXh0cmFjdCBhIGNvbXBvbmVudCBvZiBhIHZh bHVlIHRoYXQgaXMgbm90IGEgc3RydWN0dXJlLgorCisgIENhdGNocG9pbnQgMSAoY2FsbCB0byBz eXNjYWxsIHdyaXRlKSwgMHgwMDAwN2ZmZmY3ZWI5NGE3IGluIHdyaXRlICgpCisgICAgIGZyb20g L2xpYjY0L2xpYmMuc28uNgorICAoZ2RiKSBwdHlwZSB3cml0ZQorICB0eXBlID0gPHVua25vd24g cmV0dXJuIHR5cGU+ICgpCisgIChnZGIpCisKK05vdGljZSB3ZSBnZXQgdGhlIGVycm9yIG5vdyB3 aGVuIHRoZSBjb25kaXRpb24gZmFpbHMgdG8gZXZhbHVhdGUuCitUaGlzIHNlZW1zIHJlYXNvbmFi bGUgZ2l2ZW4gdGhhdCAnd3JpdGUnIHdpbGwgYmUgYSBmdW5jdGlvbiwgYW5kCitpbmRlZWQgdGhl IGZpbmFsICdwdHlwZScgc2hvd3MgdGhhdCBpdCdzIGEgZnVuY3Rpb24sIG5vdCBhIHN0cnVjdC4K KworQnVnOiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0y OTk2MAorCitSZXZpZXdlZC1CeTogVG9tIGRlIFZyaWVzIDx0ZGV2cmllc0BzdXNlLmRlPgorCitk aWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKKy0tLSBhL2dk Yi9icmVha3BvaW50LmMKKysrKyBiL2dkYi9icmVha3BvaW50LmMKK0BAIC04MTQ2LDYgKzgxNDYs NjAgQEAgY2F0Y2hwb2ludDo6Y2F0Y2hwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGJv b2wgdGVtcCwKKyAgIHBzcGFjZSA9IGN1cnJlbnRfcHJvZ3JhbV9zcGFjZTsKKyB9CisgCisrLyog U2VlIGJyZWFrcG9pbnQuaC4gICovCisrCisrdm9pZAorK2NhdGNocG9pbnQ6OnJlX3NldCAoKQor K3sKKysgIC8qIEFsbCBjYXRjaHBvaW50cyBhcmUgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMg cHJvZ3JhbV9zcGFjZS4gICovCisrICBnZGJfYXNzZXJ0IChwc3BhY2UgIT0gbnVsbHB0cik7Cisr CisrICAvKiBDYXRjaHBvaW50cyBoYXZlIGEgc2luZ2xlIGR1bW15IGxvY2F0aW9uLiAgKi8KKysg IGdkYl9hc3NlcnQgKGxvY2F0aW9ucyAoKS5zaXplICgpID09IDEpOworKyAgYnBfbG9jYXRpb24g JmJsID0gbV9sb2NhdGlvbnMuZnJvbnQgKCk7CisrCisrICBpZiAoY29uZF9zdHJpbmcgPT0gbnVs bHB0cikKKysgICAgeworKyAgICAgIC8qIEl0IHNob3VsZG4ndCBiZSBwb3NzaWJsZSB0byBoYXZl IGEgcGFyc2VkIGNvbmRpdGlvbiBleHByZXNzaW9uCisrCSBjYWNoZWQgb24gdGhpcyBsb2NhdGlv biBpZiB0aGUgY2F0Y2hwb2ludCBkb2Vzbid0IGhhdmUgYSBjb25kaXRpb24KKysJIHN0cmluZyBz ZXQuICAqLworKyAgICAgIGdkYl9hc3NlcnQgKGJsLmNvbmQgPT0gbnVsbHB0cik7CisrCisrICAg ICAgLyogTm90aGluZyB0byByZS1jb21wdXRlLCBhbmQgdGhlIGNhdGNocG9pbnQgY2Fubm90IGNo YW5nZS4gICovCisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICBib29sIHByZXZpb3VzX2Rp c2FibGVkX2J5X2NvbmQgPSBibC5kaXNhYmxlZF9ieV9jb25kOworKworKyAgLyogU3RhcnQgYnkg bWFya2luZyB0aGUgbG9jYXRpb24gZGlzYWJsZWQgYW5kIGRpc2NhcmRpbmcgdGhlIHByZXZpb3Vz bHkKKysgICAgIGNvbXB1dGVkIGNvbmRpdGlvbiBleHByZXNzaW9uLiAgTm93IGlmIHdlIGdldCBh biBleGNlcHRpb24sIGV2ZW4gaWYKKysgICAgIGl0J3MgYSBxdWl0IGV4Y2VwdGlvbiwgd2UnbGwg bGVhdmUgdGhlIGxvY2F0aW9uIGRpc2FibGVkIGFuZCB0aGVyZQorKyAgICAgd2lsbCBiZSBubyAo cG9zc2libHkgaW52YWxpZCkgZXhwcmVzc2lvbiBjYWNoZWQuICAqLworKyAgYmwuZGlzYWJsZWRf YnlfY29uZCA9IHRydWU7CisrICBibC5jb25kID0gbnVsbHB0cjsKKysKKysgIGNvbnN0IGNoYXIg KnMgPSBjb25kX3N0cmluZy5nZXQgKCk7CisrICB0cnkKKysgICAgeworKyAgICAgIHN3aXRjaF90 b19wcm9ncmFtX3NwYWNlX2FuZF90aHJlYWQgKHBzcGFjZSk7CisrCisrICAgICAgYmwuY29uZCA9 IHBhcnNlX2V4cF8xICgmcywgYmwuYWRkcmVzcywgYmxvY2tfZm9yX3BjIChibC5hZGRyZXNzKSwK KysJCQkgICAgIG51bGxwdHIpOworKyAgICAgIGJsLmRpc2FibGVkX2J5X2NvbmQgPSBmYWxzZTsK KysgICAgfQorKyAgY2F0Y2ggKGNvbnN0IGdkYl9leGNlcHRpb25fZXJyb3IgJmUpCisrICAgIHsK KysgICAgICAvKiBBbnkgZXhjZXB0aW9uIHRocm93biBtdXN0IGJlIGZyb20gZWl0aGVyIHRoZSBw YXJzZV9leHBfMSBvcgorKwkgZWFybGllciBpbiB0aGUgdHJ5IGJsb2NrLiAgQXMgc3VjaCB0aGUg Zm9sbG93aW5nIHR3byBhc3NlcnRzCisrCSBzaG91bGQgYmUgdHJ1ZS4gICovCisrICAgICAgZ2Ri X2Fzc2VydCAoYmwuZGlzYWJsZWRfYnlfY29uZCk7CisrICAgICAgZ2RiX2Fzc2VydCAoYmwuY29u ZCA9PSBudWxscHRyKTsKKysgICAgfQorKworKyAgaWYgKHByZXZpb3VzX2Rpc2FibGVkX2J5X2Nv bmQgIT0gYmwuZGlzYWJsZWRfYnlfY29uZCkKKysgICAgbm90aWZ5X2JyZWFrcG9pbnRfbW9kaWZp ZWQgKHRoaXMpOworK30KKysKKyAvKiBOb3RpZnkgaW50ZXJwcmV0ZXJzIGFuZCBvYnNlcnZlcnMg dGhhdCBicmVha3BvaW50IEIgd2FzIGNyZWF0ZWQuICAqLworIAorIHN0YXRpYyB2b2lkCitkaWZm IC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgKKy0tLSBhL2dkYi9i cmVha3BvaW50LmgKKysrKyBiL2dkYi9icmVha3BvaW50LmgKK0BAIC03MDIsMTEgKzcwMiwxMCBA QCBzdHJ1Y3QgYnJlYWtwb2ludCA6IHB1YmxpYyBpbnRydXNpdmVfbGlzdF9ub2RlPGJyZWFrcG9p bnQ+CisgCisgICAvKiBSZWV2YWx1YXRlIGEgYnJlYWtwb2ludC4gIFRoaXMgaXMgbmVjZXNzYXJ5 IGFmdGVyIHN5bWJvbHMgY2hhbmdlCisgICAgICAoZS5nLiwgYW4gZXhlY3V0YWJsZSBvciBEU08g d2FzIGxvYWRlZCwgb3IgdGhlIGluZmVyaW9yIGp1c3QKKy0gICAgIHN0YXJ0ZWQpLiAgKi8KKy0g IHZpcnR1YWwgdm9pZCByZV9zZXQgKCkKKy0gIHsKKy0gICAgLyogTm90aGluZyB0byByZS1zZXQu ICAqLworLSAgfQorKyAgICAgc3RhcnRlZCkuICBUaGlzIGlzIHB1cmUgdmlydHVhbCBhcywgYXQg YSBtaW5pbXVtLCBlYWNoIHN1Yi1jbGFzcyBtdXN0CisrICAgICByZWNvbXB1dGUgYW55IGNhY2hl ZCBjb25kaXRpb24gZXhwcmVzc2lvbnMgYmFzZWQgb2ZmIG9mIHRoZQorKyAgICAgY29uZF9zdHJp bmcgbWVtYmVyIHZhcmlhYmxlLiAgKi8KKysgIHZpcnR1YWwgdm9pZCByZV9zZXQgKCkgPSAwOwor IAorICAgLyogSW5zZXJ0IHRoZSBicmVha3BvaW50IG9yIHdhdGNocG9pbnQgb3IgYWN0aXZhdGUg dGhlIGNhdGNocG9pbnQuCisgICAgICBSZXR1cm4gMCBmb3Igc3VjY2VzcywgMSBpZiB0aGUgYnJl YWtwb2ludCwgd2F0Y2hwb2ludCBvcgorQEAgLTExMjAsNiArMTExOSwxMCBAQCBzdHJ1Y3QgY2F0 Y2hwb2ludCA6IHB1YmxpYyBicmVha3BvaW50CisgICBjYXRjaHBvaW50IChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgYm9vbCB0ZW1wLCBjb25zdCBjaGFyICpjb25kX3N0cmluZyk7CisgCisgICB+ Y2F0Y2hwb2ludCAoKSBvdmVycmlkZSA9IDA7CisrCisrICAvKiBJZiB0aGUgY2F0Y2hwb2ludCBo YXMgYSBjb25kaXRpb24gc2V0IHRoZW4gcmVjb21wdXRlIHRoZSBjYWNoZWQKKysgICAgIGV4cHJl c3Npb24gd2l0aGluIHRoZSBzaW5nbGUgZHVtbXkgbG9jYXRpb24uICAqLworKyAgdm9pZCByZV9z ZXQgKCkgb3ZlcnJpZGU7CisgfTsKKyAKKyAMCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9yZXNldC1jYXRjaHBvaW50LWNvbmQtbGliLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3Jlc2V0LWNhdGNocG9pbnQtY29uZC1saWIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmVzZXQtY2F0Y2hwb2lu dC1jb25kLWxpYi5jCitAQCAtMCwwICsxLDc2IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0 IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAyNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4gICovCisrCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHNpZ25hbC5o PgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1 ZGUgPHN5cy93YWl0Lmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxhc3NlcnQu aD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrCisrLyogVGhpcyB0eXBlIGlzIHVzZWQgYnkgR0RC LiAgKi8KKytzdHJ1Y3QgbGliX3R5cGUKKyt7CisrICBpbnQgYTsKKysgIGludCBiOworKyAgaW50 IGM7CisrfTsKKysKKysvKiBFbnN1cmUgdGhlIHR5cGUgYWJvdmUgaXMgdXNlZC4gICovCisrdm9s YXRpbGUgc3RydWN0IGxpYl90eXBlIGdsb2JhbF9saWJfb2JqZWN0ID0geyAxLCAyLCAzIH07Cisr CisrLyogVGhpcyBwb2ludGVyIGlzIGNoZWNrZWQgYnkgR0RCLiAgKi8KKyt2b2xhdGlsZSB2b2lk ICpvcGFxdWVfcHRyID0gMDsKKysKKyt2b2lkCisrbGliX2Z1bmNfdGVzdF9zeXNjYWxsICh2b2lk KQorK3sKKysgIHB1dHMgKCJJbnNpZGUgbGlicmFyeVxuIik7CisrICBmZmx1c2ggKHN0ZG91dCk7 CisrfQorKworK3N0YXRpYyB2b2lkCisrc2lnX2hhbmRsZXIgKGludCBzaWdubykKKyt7CisrICAv KiBOb3RoaW5nLiAgKi8KKyt9CisrCisrdm9pZAorK2xpYl9mdW5jX3Rlc3Rfc2lnbmFsICh2b2lk KQorK3sKKysgIHNpZ25hbCAoU0lHVVNSMSwgc2lnX2hhbmRsZXIpOworKworKyAga2lsbCAoZ2V0 cGlkICgpLCBTSUdVU1IxKTsKKyt9CisrCisrdm9pZAorK2xpYl9mdW5jX3Rlc3RfZm9yayAodm9p ZCkKKyt7CisrICBwaWRfdCBwaWQgPSBmb3JrICgpOworKyAgYXNzZXJ0IChwaWQgIT0gLTEpOwor KworKyAgaWYgKHBpZCA9PSAwKQorKyAgICB7CisrICAgICAgLyogQ2hpbGQ6IGp1c3QgZXhpdC4g ICovCisrICAgICAgZXhpdCAoMCk7CisrICAgIH0KKysKKysgIC8qIFBhcmVudC4gICovCisrICB3 YWl0cGlkIChwaWQsIE5VTEwsIDApOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3Jlc2V0LWNhdGNocG9pbnQtY29uZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9y ZXNldC1jYXRjaHBvaW50LWNvbmQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmVzZXQtY2F0Y2hwb2ludC1jb25kLmMK K0BAIC0wLDAgKzEsNTAgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KysKKytleHRlcm4gdm9pZCBsaWJfZnVuY190ZXN0X3N5c2NhbGwgKHZvaWQpOworK2V4dGVybiB2 b2lkIGxpYl9mdW5jX3Rlc3Rfc2lnbmFsICh2b2lkKTsKKytleHRlcm4gdm9pZCBsaWJfZnVuY190 ZXN0X2ZvcmsgKHZvaWQpOworKworKy8qIFdlIHVzZSB0aGlzIHRvIHBlcmZvcm0gc29tZSBmaWxs ZXIgd29yay4gICovCisrdm9sYXRpbGUgaW50IGdsb2JhbF92YXIgPSAwOworKworKy8qIEp1c3Qg c29tZXdoZXJlIGZvciBHREIgdG8gcHV0IGEgYnJlYWtwb2ludC4gICovCisrdm9pZAorK2JyZWFr cHRfYmVmb3JlX2V4aXQgKHZvaWQpCisreworKyAgLyogTm90aGluZy4gICovCisrfQorKworK2lu dAorK21haW4gKHZvaWQpCisreworKyNpZiBkZWZpbmVkIFRFU1RfU1lTQ0FMTAorKyAgbGliX2Z1 bmNfdGVzdF9zeXNjYWxsICgpOworKyNlbGlmIGRlZmluZWQgVEVTVF9TSUdOQUwKKysgIGxpYl9m dW5jX3Rlc3Rfc2lnbmFsICgpOworKyNlbGlmIGRlZmluZWQgVEVTVF9GT1JLCisrICBsaWJfZnVu Y190ZXN0X2ZvcmsgKCk7CisrI2Vsc2UKKysjIGVycm9yIGNvbXBpbGUgd2l0aCBzdWl0YWJsZSAt RFRFU1RfeHh4IG1hY3JvIGRlZmluZWQKKysjZW5kaWYKKysKKysgICsrZ2xvYmFsX3ZhcjsKKysK KysgIGJyZWFrcHRfYmVmb3JlX2V4aXQgKCk7CisrCisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZXNldC1jYXRjaHBvaW50LWNvbmQuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZXNldC1jYXRjaHBvaW50LWNvbmQuZXhwCituZXcgZmls ZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9yZXNldC1jYXRjaHBvaW50LWNvbmQuZXhwCitAQCAtMCwwICsxLDE2OSBAQAorKyMgQ29weXJp Z2h0IDIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKworKyMgVGVzdCB0aGF0IHRoZSBjb25kaXRpb24gZm9yIGEgY2F0 Y2hwb2ludCBpcyBjb3JyZWN0bHkgcmVzZXQgYWZ0ZXIKKysjIHNoYXJlZCBsaWJyYXJpZXMgYXJl IHVubG9hZGVkLCBhcyBoYXBwZW5zIHdoZW4gYW4gaW5mZXJpb3IgaXMKKysjIHJlc3RhcnRlZC4K KysjCisrIyBJZiB0aGlzIGlzIG5vdCBkb25lIHRoZW4sIHdoZW4gdGhlIGNhdGNocG9pbnQgaXMg aGl0IG9uIHRoZSBzZWNvbmQKKysjIHJ1biwgd2UnbGwgZXZhbHVhdGUgdGhlIHBhcnNlZCBleHBy ZXNzaW9uIGZyb20gdGhlIGZpcnN0IHJ1biwgd2hpY2gKKysjIG1pZ2h0IGluY2x1ZGUgcmVmZXJl bmNlcyB0byB0eXBlcyBvd25lZCBieSB0aGUgbm93IGRlbGV0ZWQgb2JqZmlsZQorKyMgKGZvciB0 aGUgc2hhcmVkIGxpYnJhcnkgbG9hZGVkIGluIHRoZSBmaXJzdCBydW4pLgorKyMKKysjIFRoaXMg c2NyaXB0cyB0ZXN0cyBhIG51bWJlciBvZiBkaWZmZXJlbnQgY2F0Y2hwb2ludCB0eXBlcy4gIElu c2lkZQorKyMgR0RCIHRoZXNlIGFyZSBhbGwgc3ViLWNsYXNzZXMgb2YgdGhlICdjYXRjaHBvaW50 JyB0eXBlLCB3aGljaCBpcworKyMgd2hlcmUgdGhlIGZpeCBmb3IgdGhlIGFib3ZlIGlzc3VlIHJl c2lkZXMsIHNvIGFsbCBjYXRjaHBvaW50IHR5cGVzCisrIyBzaG91bGQgd29yayBjb3JyZWN0bHku CisrCisrc3RhbmRhcmRfdGVzdGZpbGUgLmMgLWxpYi5jCisrCisrc2V0IGxpYmZpbGUgJGJpbmZp bGUtbGliLnNvCisrCisrc2V0IHB5ZmlsZSBbZ2RiX3JlbW90ZV9kb3dubG9hZCBob3N0ICR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHt0ZXN0ZmlsZX0ucHldCisrCisraWYge1tidWlsZF9leGVjdXRhYmxl ICJidWlsZCBzaGFyZWQgbGlicmFyeSIgJGxpYmZpbGUgJHNyY2ZpbGUyIFwKKysJIHtkZWJ1ZyBz aGxpYn1dID09IC0xfSB7CisrICAgIHJldHVybgorK30KKysKKysjIERlcGVuZGluZyBvbiB3aGV0 aGVyIG9yIG5vdCBsaWJjIGRlYnVnIGluZm8gaXMgaW5zdGFsbGVkLCB3aGVuIHdlCisrIyBoaXQg YSBzeXNjYWxsIGNhdGNocG9pbnQgaW5zaWRlIGxpYmMgdGhlcmUgbWlnaHQgYmUgYSBzb3VyY2Ug bGluZQorKyMgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC4KKysjCisrIyBUaGlzIHJlZ2V4cCB3aWxs IG1hdGNoIGFuIG9wdGlvbmFsIGxpbmUgYW5kIGNhbiBiZSBhZGRlZCB0byB0aGUKKysjIGV4cGVj dGVkIGNhdGNocG9pbnQgb3V0cHV0IHRvIGlnbm9yZSB0aGUgKHBvc3NpYmx5IG1pc3NpbmcpIHNv dXJjZQorKyMgbGluZS4KKytzZXQgbGliY19zcmNfbGluZV9yZSAiKD86XHJcblxbXlxyXG5cXSsp PyIKKysKKysjIENoZWNrIHRoZSBQeXRob24gYnBfbW9kaWZpZWRfbGlzdCBhbmQgdGhlbiByZXNl dCB0aGUgbGlzdCBiYWNrIHRvCisrIyBlbXB0eS4gIFRFU1ROQU1FIGlzIGp1c3QgYSBzdHJpbmcu ICBCUF9OVU0gaXMgYSBsaXN0IG9mIGJyZWFrcG9pbnQKKysjIG51bWJlcnMgdGhhdCBhcmUgZXhw ZWN0ZWQgdG8gYXBwZWFyIChpbiB0aGUgZ2l2ZW4gb3JkZXIpIGluIHRoZQorKyMgYnBfbW9kaWZp ZWRfbGlzdC4KKysKKytwcm9jIGNoZWNrX21vZGlmaWVkX2JwX2xpc3QgeyB0ZXN0bmFtZSBicF9u dW0gfSB7CisrICAgIGlmIHsgW2FsbG93X3B5dGhvbl90ZXN0c10gfSB7CisrCXNldCBleHBlY3Rl ZCBbam9pbiAkYnBfbnVtICIsICJdCisrCisrCWdkYl90ZXN0ICJweXRob24gcHJpbnQoYnBfbW9k aWZpZWRfbGlzdCkiICJcXFxbJGV4cGVjdGVkXFxcXSIgXAorKwkgICAgJHRlc3RuYW1lCisrCWdk Yl90ZXN0X25vX291dHB1dCAtbm9wYXNzICJweXRob24gYnBfbW9kaWZpZWRfbGlzdD1cW1xdIiBc CisrCSAgICAicmVzZXQgYnBfbW9kaWZpZWRfbGlzdCBhZnRlciAkdGVzdG5hbWUiCisrICAgIH0K Kyt9CisrCisrIyBCdWlsZCBhbiBleGVjdXRhYmxlIGFuZCBydW4gdGVzdHMgb24gJ2NhdGNoIE1P REUnLgorKworK3Byb2MgcnVuX3Rlc3QgeyBtb2RlIH0geworKyAgICBzZXQgZXhlY19uYW1lICR7 OjpiaW5maWxlfS0ke21vZGV9CisrCisrICAgIHNldCBtYWNybyBURVNUX1tzdHJpbmcgdG91cHBl ciAkbW9kZV0KKysKKysgICAgaWYge1tidWlsZF9leGVjdXRhYmxlICJidWlsZCB0ZXN0IGV4ZWN1 dGFibGUiICRleGVjX25hbWUgJDo6c3JjZmlsZSBcCisrCSAgICAgW2xpc3QgZGVidWcgc2hsaWI9 JDo6bGliZmlsZSBhZGRpdGlvbmFsX2ZsYWdzPS1EJHttYWNyb31dXSA9PSAtMX0geworKwlyZXR1 cm4KKysgICAgfQorKworKyAgICBjbGVhbl9yZXN0YXJ0ICRleGVjX25hbWUKKysgICAgZ2RiX2xv YWRfc2hsaWIgJDo6bGliZmlsZQorKworKyAgICBpZiB7IVtydW50b19tYWluXX0geworKwlyZXR1 cm4KKysgICAgfQorKworKyAgICBpZiB7ICRtb2RlIGVxICJzeXNjYWxsIiB9IHsKKysJZ2RiX3Rl c3QgImNhdGNoIHN5c2NhbGwgd3JpdGUiIFwKKysJICAgICJDYXRjaHBvaW50ICQ6OmRlY2ltYWwg XFwoc3lzY2FsbCAnd3JpdGUnIFxbXilcXStcXCkiCisrCXNldCBjYXRjaF9yZSAiY2FsbCB0byBz eXNjYWxsIHdyaXRlIgorKyAgICB9IGVsc2VpZiB7ICRtb2RlIGVxICJzaWduYWwiIH0geworKwln ZGJfdGVzdCAiY2F0Y2ggc2lnbmFsIFNJR1VTUjEiIFwKKysJICAgICJDYXRjaHBvaW50ICQ6OmRl Y2ltYWwgXFwoc2lnbmFsIFNJR1VTUjFcXCkiCisrCXNldCBjYXRjaF9yZSAic2lnbmFsIFNJR1VT UjEiCisrICAgIH0gZWxzZWlmIHsgJG1vZGUgZXEgImZvcmsiIH0geworKwlnZGJfdGVzdCAiY2F0 Y2ggZm9yayIgXAorKwkgICAgIkNhdGNocG9pbnQgJDo6ZGVjaW1hbCBcXChmb3JrXFwpIgorKwlz ZXQgY2F0Y2hfcmUgImZvcmtlZCBwcm9jZXNzICQ6OmRlY2ltYWwiCisrICAgIH0gZWxzZSB7Cisr CWVycm9yICJ1bmtub3duIG1vZGUgJG1vZGUiCisrICAgIH0KKysgICAgc2V0IGNwX251bSBbZ2V0 X2ludGVnZXJfdmFsdWVvZiAiXCRicG51bSIgIipVTktOT1dOKiJdCisrCisrICAgIGdkYl9icmVh a3BvaW50ICJicmVha3B0X2JlZm9yZV9leGl0IgorKworKyAgICBnZGJfdGVzdCAiY29udGludWUi IFwKKysJIkNhdGNocG9pbnQgJHtjcF9udW19IFxbXlxyXG5cXSskOjpsaWJjX3NyY19saW5lX3Jl IgorKworKyAgICBpZiB7IFthbGxvd19weXRob25fdGVzdHNdIH0geworKwlnZGJfdGVzdF9ub19v dXRwdXQgInNvdXJjZSAkOjpweWZpbGUiICJpbXBvcnQgcHl0aG9uIHNjcmlwdHMiCisrCWNoZWNr X21vZGlmaWVkX2JwX2xpc3QgXAorKwkgICAgImNoZWNrIGIvcCBtb2RpZmllZCBvYnNlcnZlciBo YXMgbm90IHlldCB0cmlnZ2VyZWQiIHt9CisrICAgIH0KKysKKysgICAgd2l0aF90ZXN0X3ByZWZp eCAid2l0aCBmYWxzZSBjb25kaXRpb24iIHsKKysJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJjb25kaXRp b24gJGNwX251bSAoKHN0cnVjdCBsaWJfdHlwZSAqKSBvcGFxdWVfcHRyKSAhPSAwIiBcCisrCSAg ICAic2V0IGNhdGNocG9pbnQgY29uZGl0aW9uIgorKworKwljaGVja19tb2RpZmllZF9icF9saXN0 IFwKKysJICAgICJjYXRjaHBvaW50IG1vZGlmaWVkIG9uY2UgYnkgc2V0dGluZyBjb25kaXRpb24i IFwKKysJICAgIFtsaXN0ICRjcF9udW1dCisrCisrCWdkYl9ydW5fY21kCisrCWdkYl90ZXN0ICIi IFttdWx0aV9saW5lIFwKKysJCQkgIkJyZWFrcG9pbnQgJDo6ZGVjaW1hbCwgbWFpbiBcXChcXCkg XFteXHJcblxdKyIgXAorKwkJCSAiJDo6ZGVjaW1hbFxccytcW15cclxuXF0rIl0KKysKKysJY2hl Y2tfbW9kaWZpZWRfYnBfbGlzdCAiY2F0Y2hwb2ludCBtb2RpZmllZCB0d2ljZSBhdCBzdGFydHVw IiBcCisrCSAgICBbbGlzdCAkY3BfbnVtICRjcF9udW0gIiQ6OmRlY2ltYWwiXQorKworKwlnZGJf dGVzdCAiY29udGludWUiIFwKKysJICAgIFttdWx0aV9saW5lIFwKKysJCSAiQnJlYWtwb2ludCAk OjpkZWNpbWFsLCBicmVha3B0X2JlZm9yZV9leGl0IFxcKFxcKSBhdCBcW15cclxuXF0rIiBcCisr CQkgIiQ6OmRlY2ltYWxcXHMrXFteXHJcblxdKyJdIFwKKysJICAgICJjb250aW51ZSB0byBicmVh a3B0X2JlZm9yZV9leGl0IgorKyAgICB9CisrCisrICAgICMgQ2hlY2sgdGhlIGJwX21vZGlmaWVk X2xpc3QgYWdhaW5zdCAnLionLiAgV2UgZG9uJ3QgY2FyZSBhdCB0aGlzCisrICAgICMgcG9pbnQg d2hhdCdzIGluIHRoZSBsaXN0IChub3RoaW5nIHJlbGV2YW50IGhhcyBoYXBwZW5lZCBzaW5jZSB3 ZQorKyAgICAjIGxhc3QgY2hlY2tlZCksIGJ1dCB0aGlzIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2Yg Y2xlYXJpbmcgdGhlIGxpc3QuCisrICAgIGNoZWNrX21vZGlmaWVkX2JwX2xpc3QgImNsZWFyIGJw IG1vZGlmaWVkIGxpc3QiIHsgLiogfQorKworKyAgICB3aXRoX3Rlc3RfcHJlZml4ICJ3aXRoIHRy dWUgY29uZGl0aW9uIiB7CisrCWdkYl90ZXN0X25vX291dHB1dCAiY29uZGl0aW9uICRjcF9udW0g KChzdHJ1Y3QgbGliX3R5cGUgKikgb3BhcXVlX3B0cikgPT0gMCIgXAorKwkgICAgInNldCBjYXRj aHBvaW50IGNvbmRpdGlvbiIKKysKKysJY2hlY2tfbW9kaWZpZWRfYnBfbGlzdCBcCisrCSAgICAi Y2F0Y2hwb2ludCBtb2RpZmllZCBvbmNlIGJ5IHNldHRpbmcgY29uZGl0aW9uIiBcCisrCSAgICBb bGlzdCAkY3BfbnVtXQorKworKwlnZGJfcnVuX2NtZAorKwlnZGJfdGVzdCAiIiBbbXVsdGlfbGlu ZSBcCisrCQkJICJCcmVha3BvaW50ICQ6OmRlY2ltYWwsIG1haW4gXFwoXFwpIFxbXlxyXG5cXSsi IFwKKysJCQkgIiQ6OmRlY2ltYWxcXHMrXFteXHJcblxdKyJdCisrCisrCWNoZWNrX21vZGlmaWVk X2JwX2xpc3QgImNhdGNocG9pbnQgbW9kaWZpZWQgdHdpY2UgYXQgc3RhcnR1cCIgXAorKwkgICAg W2xpc3QgJGNwX251bSAkY3BfbnVtICIkOjpkZWNpbWFsIl0KKysKKysJZ2RiX3Rlc3QgImNvbnRp bnVlIiBcCisrCSAgICAiQ2F0Y2hwb2ludCAkY3BfbnVtIFxcKCRjYXRjaF9yZVxcKSwgXFteXHJc blxdKyQ6OmxpYmNfc3JjX2xpbmVfcmUiIFwKKysJICAgICJjb250aW51ZSB1bnRpbCBjYXRjaHBv aW50IGhpdCIKKysKKysJY2hlY2tfbW9kaWZpZWRfYnBfbGlzdCAiY2F0Y2hwb2ludCBtb2RpZmll ZCBhZ2FpbiB3aGVuIGhpdCIgXAorKwkgICAgW2xpc3QgJGNwX251bV0KKysgICAgfQorK30KKysK KysjIFJ1biB0aGUgdGVzdHMuCisrZm9yZWFjaF93aXRoX3ByZWZpeCBtb2RlIHsgc3lzY2FsbCBz aWduYWwgZm9yayB9IHsKKysgICAgcnVuX3Rlc3QgJG1vZGUKKyt9CitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZXNldC1jYXRjaHBvaW50LWNvbmQucHkgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3Jlc2V0LWNhdGNocG9pbnQtY29uZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmVzZXQtY2F0 Y2hwb2ludC1jb25kLnB5CitAQCAtMCwwICsxLDIxIEBACisrIyBDb3B5cmlnaHQgKEMpIDIwMjQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorKworK2JwX21vZGlmaWVkX2xpc3QgPSBbXQorKworK2RlZiBicF9tb2RpZmllZChi cCk6CisrICAgIGJwX21vZGlmaWVkX2xpc3QuYXBwZW5kIChicC5udW1iZXIpCisrCisrZ2RiLmV2 ZW50cy5icmVha3BvaW50X21vZGlmaWVkLmNvbm5lY3QoYnBfbW9kaWZpZWQpCgpkaWZmIC0tZ2l0 IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCAxNWZkOGU2Li5hYzY2MGI0IDEwMDY0NAotLS0g YS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtOTI2LDYgKzkyNiw5IEBAIGZpCiAjIGVuZGlm IHNjbAogCiAlY2hhbmdlbG9nCisqIE1vbiBTZXAgIDkgMjAyNCBBbmRyZXcgQnVyZ2VzcyA8YWJ1 cmdlc3NAcmVkaGF0LmNvbT4KKy0gQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGE5MmU5NDMwMTRm IHRvIGZpeCByaGJ6MjMwNDI5Ni4KKwogKiBXZWQgQXVnIDIxIDIwMjQgQWxleGFuZHJhIEjDoWpr b3bDoSA8YWhhamtvdmFAcmVkaGF0LmNvbT4gLSAxNS4xLTIyCiAtIEFkZCB4ODZfNjQtcmVkaGF0 LWxpbnV4LWdudSB0byAtLWVuYWJsZS10YXJnZXRzPSBpbiBnZGIuc3BlYy4KICAgVGhpcyBlbmFi bGVzIHRvIGNvbm5lY3QgdG8gZ2Ric2VydmVyIHJ1bm5pbmcgb24geDg2IHVzaW5nIHRoZSB4ODYg YmluYXJ5Cg==