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: Michael Catanzaro To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Revert "Add patch to revert gcancellable changes" Date: Tue, 11 Aug 2026 10:38:27 GMT Message-ID: <178644470788.1.8355232402635084672.rpms-glib2-5dc118878cc4@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: 5dc118878cc4020a09ff4ab5eb4728e4b5e88885 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2xpYjIKICAgICAgICAgICAgQnJhbmNoIDogY3ZlLTIwMjYtNTgwMTYtZjQ0 CiAgICAgICAgICAgIENvbW1pdCA6IDVkYzExODg3OGNjNDAyMGEwOWZmNGFiNWViNDcyOGU0YjVl ODg4ODUKICAgICAgICAgICAgQXV0aG9yIDogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9A cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNS0wMS0yMlQxNDozNjoxOS0wNjow MAogICAgICAgICAgICBTdGF0cyAgOiArMC8tNzA1IGluIDEgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsaWIyL2MvNWRjMTE4 ODc4Y2M0MDIwYTA5ZmY0YWI1ZWI0NzI4ZTRiNWU4ODg4NT9icmFuY2g9Y3ZlLTIwMjYtNTgwMTYt ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIFJldmVydCAiQWRkIHBhdGNoIHRvIHJl dmVydCBnY2FuY2VsbGFibGUgY2hhbmdlcyIKClRoaXMgcmV2ZXJ0cyBjb21taXQgNWY2YjFiNTdi YmUxYTY1NmJmOWU5MTZhNDg5ZGMyNzM3MTA2NjAwNC4KCkkgd2FzIGhvcGluZyB0aGlzIHdvdWxk IGZpeDoKCmh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjU2 NlwKCmJ1dCB1bmZvcnR1bmF0ZWx5IGl0IGRpZG4ndCB3b3JrLgoKLS0tCmRpZmYgLS1naXQgYS9y ZXZlcnQtZ2NhbmNlbGxhYmxlLWNoYW5nZXMucGF0Y2ggYi9yZXZlcnQtZ2NhbmNlbGxhYmxlLWNo YW5nZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxOWMzZjAuLjAwMDAw MDAKLS0tIGEvcmV2ZXJ0LWdjYW5jZWxsYWJsZS1jaGFuZ2VzLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsNzA1ICswLDAgQEAKLUZyb20gZTIzOWRlZWQ5NGE2MTNjMDNiODI5NmFlMjdiNWY0MTQy Yjk2MWVlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IG5tb250ZXJvIDxubW9udGVy b0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyMSBKYW4gMjAyNSAxNzozMjo0MSArMDEwMAotU3Vi amVjdDogW1BBVENIIDEvNF0gUmV2ZXJ0ICJnY2FuY2VsbGFibGU6IE1hcmsgYXNzZXJ0LW9ubHkg dmFyaWFibGUgYXMKLSB1bnVzZWQiCi0KLVRoaXMgcmV2ZXJ0cyBjb21taXQgNmM2NzlmYjM3YTBi ZmVlZDdiZWI0MmQxYjFlMzU5MDcxM2VhYzEwYy4KLS0tLQotIGdpby9nY2FuY2VsbGFibGUuYyB8 IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQot ZGlmZiAtLWdpdCBhL2dpby9nY2FuY2VsbGFibGUuYyBiL2dpby9nY2FuY2VsbGFibGUuYwotaW5k ZXggMjdkZDA2MzcwLi5hYmY1ODc4ZWQgMTAwNjQ0Ci0tLS0gYS9naW8vZ2NhbmNlbGxhYmxlLmMK LSsrKyBiL2dpby9nY2FuY2VsbGFibGUuYwotQEAgLTY2NCw3ICs2NjQsNyBAQCBjYW5jZWxsYWJs ZV9zb3VyY2VfY2FuY2VsbGVkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlLAotIHsKLSAgIEdT b3VyY2UgKnNvdXJjZSA9IHVzZXJfZGF0YTsKLSAgIEdDYW5jZWxsYWJsZVNvdXJjZSAqY2FuY2Vs bGFibGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNvdXJjZSAqKSBzb3VyY2U7Ci0tICBnYm9vbGVh biBjYWxsYmFja193YXNfbm90X2NhbGxlZCBHX0dOVUNfVU5VU0VEOwotKyAgZ2Jvb2xlYW4gY2Fs bGJhY2tfd2FzX25vdF9jYWxsZWQ7Ci0gCi0gICBnX3NvdXJjZV9yZWYgKHNvdXJjZSk7Ci0gICBn X3NvdXJjZV9zZXRfcmVhZHlfdGltZSAoc291cmNlLCAwKTsKLS0tIAotMi40Ny4xCi0KLQotRnJv bSAyZWVjOTZiY2ZiNjU0Y2NiNDZjMmNhMGVlNTFkNWM5YTk3MjI3OWFjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogbm1vbnRlcm8gPG5tb250ZXJvQHJlZGhhdC5jb20+Ci1EYXRlOiBU dWUsIDIxIEphbiAyMDI1IDE3OjMyOjU5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBSZXZl cnQgImdjYW5jZWxsYWJsZTogUmVmZXJlbmNlIHRoZSBvYmplY3QgYmVmb3JlIGxvY2tpbmcKLSB3 aGVuIGRvaW5nIHNpZ25hbCBlbWlzc2lvbiIKLQotVGhpcyByZXZlcnRzIGNvbW1pdCA1NGQ5YzI2 YjM0ZDcwYmU5YTFlNTUxOWJmMDNkNzI3MzM0YzUyZTBhLgotLS0tCi0gZ2lvL2djYW5jZWxsYWJs ZS5jIHwgNiArLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDUgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9naW8vZ2NhbmNlbGxhYmxlLmMgYi9naW8vZ2NhbmNlbGxh YmxlLmMKLWluZGV4IGFiZjU4NzhlZC4uMjI3ZDU2ZDJlIDEwMDY0NAotLS0tIGEvZ2lvL2djYW5j ZWxsYWJsZS5jCi0rKysgYi9naW8vZ2NhbmNlbGxhYmxlLmMKLUBAIC00OTUsMTYgKzQ5NSwxMSBA QCBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKLSAKLSAg IHByaXYgPSBjYW5jZWxsYWJsZS0+cHJpdjsKLSAKLS0gIC8qIFdlIGFkZCBhIHJlZmVyZW5jZSBi ZWZvcmUgbG9ja2luZywgdG8gYXZvaWQgdGhhdCBwb3RlbnRpYWwgdG9nZ2xlCi0tICAgKiBub3Rp ZmljYXRpb25zIG9uIHRoZSBvYmplY3QgbWlnaHQgaGFwcGVuIHdoaWxlIHdlJ3JlIGxvY2tlZC4K LS0gICAqLwotLSAgZ19vYmplY3RfcmVmIChjYW5jZWxsYWJsZSk7Ci0gICBnX211dGV4X2xvY2sg KCZwcml2LT5tdXRleCk7Ci0gCi0gICBpZiAoIWdfYXRvbWljX2ludF9jb21wYXJlX2FuZF9leGNo YW5nZSAoJnByaXYtPmNhbmNlbGxlZCwgRkFMU0UsIFRSVUUpKQotICAgICB7Ci0gICAgICAgZ19t dXRleF91bmxvY2sgKCZwcml2LT5tdXRleCk7Ci0tICAgICAgZ19vYmplY3RfdW5yZWYgKGNhbmNl bGxhYmxlKTsKLSAgICAgICByZXR1cm47Ci0gICAgIH0KLSAKLUBAIC01MTMsNiArNTA4LDcgQEAg Z19jYW5jZWxsYWJsZV9jYW5jZWwgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUpCi0gICBpZiAo cHJpdi0+d2FrZXVwKQotICAgICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfc2lnbmFsKSAo cHJpdi0+d2FrZXVwKTsKLSAKLSsgIGdfb2JqZWN0X3JlZiAoY2FuY2VsbGFibGUpOwotICAgZ19z aWduYWxfZW1pdCAoY2FuY2VsbGFibGUsIHNpZ25hbHNbQ0FOQ0VMTEVEXSwgMCk7Ci0gCi0gICBp ZiAoZ19hdG9taWNfaW50X2RlY19hbmRfdGVzdCAoJnByaXYtPmNhbmNlbGxlZF9ydW5uaW5nKSkK LS0tIAotMi40Ny4xCi0KLQotRnJvbSA2YmZkYzJkYmQ0YTc3ZWU0YmE5MjE1NGRjMjBkNjkwOGUw YTliZDY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogbm1vbnRlcm8gPG5tb250ZXJv QHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIxIEphbiAyMDI1IDE3OjMzOjE2ICswMTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMy80XSBSZXZlcnQgIkdDYW5jZWxsYWJsZTogVXNlIHBlci1pbnN0YW5jZSBt dXRleCBsb2dpYwotIGluc3RlYWQgb2YgZ2xvYmFsIGNyaXRpY2FsIHNlY3Rpb25zIgotCi1UaGlz IHJldmVydHMgY29tbWl0IDNhMDdiMmFiZDQwMDZkYTMzY2RmYjA5MTZiMjY2YTIxMDcwYTQ3ZDYu Ci0tLS0KLSBnaW8vZ2NhbmNlbGxhYmxlLmMgICAgICB8IDE5OSArKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tCi0gZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMgfCAgMTAgKy0K LSBnaW8vdGVzdHMvZ21lbnVtb2RlbC5jICB8ICAyMiArKystLQotIDMgZmlsZXMgY2hhbmdlZCwg MTI5IGluc2VydGlvbnMoKyksIDEwMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dpby9n Y2FuY2VsbGFibGUuYyBiL2dpby9nY2FuY2VsbGFibGUuYwotaW5kZXggMjI3ZDU2ZDJlLi5jMzU3 MjkxMGUgMTAwNjQ0Ci0tLS0gYS9naW8vZ2NhbmNlbGxhYmxlLmMKLSsrKyBiL2dpby9nY2FuY2Vs bGFibGUuYwotQEAgLTEsNyArMSw2IEBACi0gLyogR0lPIC0gR0xpYiBJbnB1dCwgT3V0cHV0IGFu ZCBTdHJlYW1pbmcgTGlicmFyeQotICAqIAotICAqIENvcHlyaWdodCAoQykgMjAwNi0yMDA3IFJl ZCBIYXQsIEluYy4KLS0gKiBDb3B5cmlnaHQgKEMpIDIwMjItMjAyNCBDYW5vbmljYWwsIEx0ZC4K LSAgKgotICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1vci1sYXRlcgotICAq Ci1AQCAtMTksNyArMTgsNiBAQAotICAqIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs aWJyYXJ5OyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICoK LSAgKiBBdXRob3I6IEFsZXhhbmRlciBMYXJzc29uIDxhbGV4bEByZWRoYXQuY29tPgotLSAqIEF1 dGhvcjogTWFyY28gVHJldmlzYW4gPG1hcmNvLnRyZXZpc2FuQGNhbm9uaWNhbC5jb20+Ci0gICov Ci0gCi0gI2luY2x1ZGUgImNvbmZpZy5oIgotQEAgLTQ3LDEyICs0NSwxNCBAQCBlbnVtIHsKLSAK LSBzdHJ1Y3QgX0dDYW5jZWxsYWJsZVByaXZhdGUKLSB7Ci0tICAvKiBBdG9taWMgc28gdGhhdCB3 ZSBkb24ndCByZXF1aXJlIGhvbGRpbmcgZ2xvYmFsIG11dGV4ZXMgZm9yIGluZGVwZW5kZW50IG9w cy4gKi8KLSsgIC8qIEF0b21pYyBzbyB0aGF0IGdfY2FuY2VsbGFibGVfaXNfY2FuY2VsbGVkIGRv ZXMgbm90IHJlcXVpcmUgaG9sZGluZyB0aGUgbXV0ZXguICovCi0gICBnYm9vbGVhbiBjYW5jZWxs ZWQ7Ci0tICBpbnQgY2FuY2VsbGVkX3J1bm5pbmc7Ci0rICAvKiBBY2Nlc3MgdG8gZmllbGRzIGJl bG93IGlzIHByb3RlY3RlZCBieSBjYW5jZWxsYWJsZV9tdXRleC4gKi8KLSsgIGd1aW50IGNhbmNl bGxlZF9ydW5uaW5nIDogMTsKLSsgIGd1aW50IGNhbmNlbGxlZF9ydW5uaW5nX3dhaXRpbmcgOiAx OwotKyAgdW5zaWduZWQgY2FuY2VsbGVkX2VtaXNzaW9uczsKLSsgIHVuc2lnbmVkIGNhbmNlbGxl ZF9lbWlzc2lvbnNfd2FpdGluZyA6IDE7Ci0gCi0tICAvKiBBY2Nlc3MgdG8gZmllbGRzIGJlbG93 IGlzIHByb3RlY3RlZCBieSBjYW5jZWxsYWJsZSdzIG11dGV4LiAqLwotLSAgR011dGV4IG11dGV4 OwotICAgZ3VpbnQgZmRfcmVmY291bnQ7Ci0gICBHV2FrZXVwICp3YWtldXA7Ci0gfTsKLUBAIC02 Miw2ICs2Miw3IEBAIHN0YXRpYyBndWludCBzaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCB9Owot IEdfREVGSU5FX1RZUEVfV0lUSF9QUklWQVRFIChHQ2FuY2VsbGFibGUsIGdfY2FuY2VsbGFibGUs IEdfVFlQRV9PQkpFQ1QpCi0gCi0gc3RhdGljIEdQcml2YXRlIGN1cnJlbnRfY2FuY2VsbGFibGU7 Ci0rc3RhdGljIEdNdXRleCBjYW5jZWxsYWJsZV9tdXRleDsKLSBzdGF0aWMgR0NvbmQgY2FuY2Vs bGFibGVfY29uZDsKLSAKLSBzdGF0aWMgdm9pZAotQEAgLTY5LDE1ICs3MCw5IEBAIGdfY2FuY2Vs bGFibGVfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKLSB7Ci0gICBHQ2FuY2VsbGFibGUgKmNh bmNlbGxhYmxlID0gR19DQU5DRUxMQUJMRSAob2JqZWN0KTsKLSAKLS0gIC8qIFdlJ3JlIGF0IGZp bmFsaXphdGlvbiBwaGFzZSwgc28gb25seSBvbmUgdGhyZWFkIGNhbiBiZSBoZXJlLgotLSAgICog VGh1cyB0aGVyZSdzIG5vIG5lZWQgdG8gbG9jay4gSW4gY2FzZSBzb21ldGhpbmcgaXMgbG9ja2lu ZyB1cywgdGhlbiB3ZSd2ZQotLSAgICogYSBidWcsIGFuZCBnX211dGV4X2NsZWFyKCkgd2lsbCBt YWtlIHRoaXMgY2xlYXIgYWJvcnRpbmcuCi0tICAgKi8KLSAgIGlmIChjYW5jZWxsYWJsZS0+cHJp di0+d2FrZXVwKQotICAgICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfZnJlZSkgKGNhbmNl bGxhYmxlLT5wcml2LT53YWtldXApOwotIAotLSAgZ19tdXRleF9jbGVhciAoJmNhbmNlbGxhYmxl LT5wcml2LT5tdXRleCk7Ci0tCi0gICBHX09CSkVDVF9DTEFTUyAoZ19jYW5jZWxsYWJsZV9wYXJl bnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKLSB9Ci0gCi1AQCAtMTU5LDggKzE1NCw2IEBA IHN0YXRpYyB2b2lkCi0gZ19jYW5jZWxsYWJsZV9pbml0IChHQ2FuY2VsbGFibGUgKmNhbmNlbGxh YmxlKQotIHsKLSAgIGNhbmNlbGxhYmxlLT5wcml2ID0gZ19jYW5jZWxsYWJsZV9nZXRfaW5zdGFu Y2VfcHJpdmF0ZSAoY2FuY2VsbGFibGUpOwotLQotLSAgZ19tdXRleF9pbml0ICgmY2FuY2VsbGFi bGUtPnByaXYtPm11dGV4KTsKLSB9Ci0gCi0gLyoqCi1AQCAtMjcyLDE3ICsyNjUsMjggQEAgZ19j YW5jZWxsYWJsZV9yZXNldCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKLSAKLSAgIGdfcmV0 dXJuX2lmX2ZhaWwgKEdfSVNfQ0FOQ0VMTEFCTEUgKGNhbmNlbGxhYmxlKSk7Ci0gCi0rICBnX211 dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7Ci0rCi0gICBwcml2ID0gY2FuY2VsbGFibGUt PnByaXY7Ci0gCi0tICBnX211dGV4X2xvY2sgKCZwcml2LT5tdXRleCk7Ci0rICB3aGlsZSAocHJp di0+Y2FuY2VsbGVkX3J1bm5pbmcgfHwgcHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9ucyA+IDApCi0r ICAgIHsKLSsgICAgICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpCi0rICAgICAgICBwcml2 LT5jYW5jZWxsZWRfcnVubmluZ193YWl0aW5nID0gVFJVRTsKLSsKLSsgICAgICBpZiAocHJpdi0+ Y2FuY2VsbGVkX2VtaXNzaW9ucyA+IDApCi0rICAgICAgICBwcml2LT5jYW5jZWxsZWRfZW1pc3Np b25zX3dhaXRpbmcgPSBUUlVFOwotIAotLSAgaWYgKGdfYXRvbWljX2ludF9jb21wYXJlX2FuZF9l eGNoYW5nZSAoJnByaXYtPmNhbmNlbGxlZCwgVFJVRSwgRkFMU0UpKQotKyAgICAgIGdfY29uZF93 YWl0ICgmY2FuY2VsbGFibGVfY29uZCwgJmNhbmNlbGxhYmxlX211dGV4KTsKLSsgICAgfQotKwot KyAgaWYgKGdfYXRvbWljX2ludF9leGNoYW5nZSAoJnByaXYtPmNhbmNlbGxlZCwgRkFMU0UpKQot ICAgICB7Ci0gICAgICAgaWYgKHByaXYtPndha2V1cCkKLSAgICAgICAgIEdMSUJfUFJJVkFURV9D QUxMIChnX3dha2V1cF9hY2tub3dsZWRnZSkgKHByaXYtPndha2V1cCk7Ci0gICAgIH0KLSAKLS0g IGdfbXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOwotKyAgZ19tdXRleF91bmxvY2sgKCZjYW5j ZWxsYWJsZV9tdXRleCk7Ci0gfQotIAotIC8qKgotQEAgLTQwMCwyOSArNDA0LDI2IEBAIGdfY2Fu Y2VsbGFibGVfZ2V0X2ZkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlKQotIGdib29sZWFuCi0g Z19jYW5jZWxsYWJsZV9tYWtlX3BvbGxmZCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSwgR1Bv bGxGRCAqcG9sbGZkKQotIHsKLS0gIEdDYW5jZWxsYWJsZVByaXZhdGUgKnByaXY7Ci0tCi0gICBn X3JldHVybl92YWxfaWZfZmFpbCAocG9sbGZkICE9IE5VTEwsIEZBTFNFKTsKLSAgIGlmIChjYW5j ZWxsYWJsZSA9PSBOVUxMKQotICAgICByZXR1cm4gRkFMU0U7Ci0gICBnX3JldHVybl92YWxfaWZf ZmFpbCAoR19JU19DQU5DRUxMQUJMRSAoY2FuY2VsbGFibGUpLCBGQUxTRSk7Ci0gCi0tICBwcml2 ID0gY2FuY2VsbGFibGUtPnByaXY7Ci0rICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRl eCk7Ci0gCi0tICBnX211dGV4X2xvY2sgKCZwcml2LT5tdXRleCk7Ci0rICBjYW5jZWxsYWJsZS0+ cHJpdi0+ZmRfcmVmY291bnQrKzsKLSAKLS0gIGlmICgocHJpdi0+ZmRfcmVmY291bnQrKykgPT0g MCkKLSsgIGlmIChjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwID09IE5VTEwpCi0gICAgIHsKLS0g ICAgICBwcml2LT53YWtldXAgPSBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfbmV3KSAoKTsK LSsgICAgICBjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwID0gR0xJQl9QUklWQVRFX0NBTEwgKGdf d2FrZXVwX25ldykgKCk7Ci0gCi0tICAgICAgaWYgKGdfYXRvbWljX2ludF9nZXQgKCZwcml2LT5j YW5jZWxsZWQpKQotLSAgICAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdfd2FrZXVwX3NpZ25hbCkg KHByaXYtPndha2V1cCk7Ci0rICAgICAgaWYgKGdfYXRvbWljX2ludF9nZXQgKCZjYW5jZWxsYWJs ZS0+cHJpdi0+Y2FuY2VsbGVkKSkKLSsgICAgICAgIEdMSUJfUFJJVkFURV9DQUxMIChnX3dha2V1 cF9zaWduYWwpIChjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwKTsKLSAgICAgfQotIAotLSAgZ19h c3NlcnQgKHByaXYtPndha2V1cCk7Ci0tICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfZ2V0 X3BvbGxmZCkgKHByaXYtPndha2V1cCwgcG9sbGZkKTsKLSsgIEdMSUJfUFJJVkFURV9DQUxMIChn X3dha2V1cF9nZXRfcG9sbGZkKSAoY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCwgcG9sbGZkKTsK LSAKLS0gIGdfbXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOwotKyAgZ19tdXRleF91bmxvY2sg KCZjYW5jZWxsYWJsZV9tdXRleCk7Ci0gCi0gICByZXR1cm4gVFJVRTsKLSB9Ci1AQCAtNDQ2LDIy ICs0NDcsMjYgQEAgZ19jYW5jZWxsYWJsZV9tYWtlX3BvbGxmZCAoR0NhbmNlbGxhYmxlICpjYW5j ZWxsYWJsZSwgR1BvbGxGRCAqcG9sbGZkKQotIHZvaWQKLSBnX2NhbmNlbGxhYmxlX3JlbGVhc2Vf ZmQgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUpCi0gewotKyAgR0NhbmNlbGxhYmxlUHJpdmF0 ZSAqcHJpdjsKLSsKLSAgIGlmIChjYW5jZWxsYWJsZSA9PSBOVUxMKQotICAgICByZXR1cm47Ci0g Ci0gICBnX3JldHVybl9pZl9mYWlsIChHX0lTX0NBTkNFTExBQkxFIChjYW5jZWxsYWJsZSkpOwot IAotLSAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGUtPnByaXYtPm11dGV4KTsKLSsgIHByaXYg PSBjYW5jZWxsYWJsZS0+cHJpdjsKLSAKLS0gIGdfYXNzZXJ0IChjYW5jZWxsYWJsZS0+cHJpdi0+ ZmRfcmVmY291bnQgPiAwKTsKLSsgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsK LSsgIGdfYXNzZXJ0IChwcml2LT5mZF9yZWZjb3VudCA+IDApOwotIAotLSAgaWYgKChjYW5jZWxs YWJsZS0+cHJpdi0+ZmRfcmVmY291bnQtLSkgPT0gMSkKLSsgIHByaXYtPmZkX3JlZmNvdW50LS07 Ci0rICBpZiAocHJpdi0+ZmRfcmVmY291bnQgPT0gMCkKLSAgICAgewotLSAgICAgIEdMSUJfUFJJ VkFURV9DQUxMIChnX3dha2V1cF9mcmVlKSAoY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCk7Ci0t ICAgICAgY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCA9IE5VTEw7Ci0rICAgICAgR0xJQl9QUklW QVRFX0NBTEwgKGdfd2FrZXVwX2ZyZWUpIChwcml2LT53YWtldXApOwotKyAgICAgIHByaXYtPndh a2V1cCA9IE5VTEw7Ci0gICAgIH0KLSAKLS0gIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGUt PnByaXYtPm11dGV4KTsKLSsgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwot IH0KLSAKLSAvKioKLUBAIC00OTAsMzEgKzQ5NSwzNyBAQCBnX2NhbmNlbGxhYmxlX2NhbmNlbCAo R0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKLSB7Ci0gICBHQ2FuY2VsbGFibGVQcml2YXRlICpw cml2OwotIAotLSAgaWYgKGNhbmNlbGxhYmxlID09IE5VTEwgfHwgZ19hdG9taWNfaW50X2dldCAo JmNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWQpKQotKyAgaWYgKGNhbmNlbGxhYmxlID09IE5V TEwgfHwgZ19jYW5jZWxsYWJsZV9pc19jYW5jZWxsZWQgKGNhbmNlbGxhYmxlKSkKLSAgICAgcmV0 dXJuOwotIAotICAgcHJpdiA9IGNhbmNlbGxhYmxlLT5wcml2OwotIAotLSAgZ19tdXRleF9sb2Nr ICgmcHJpdi0+bXV0ZXgpOwotKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwot IAotLSAgaWYgKCFnX2F0b21pY19pbnRfY29tcGFyZV9hbmRfZXhjaGFuZ2UgKCZwcml2LT5jYW5j ZWxsZWQsIEZBTFNFLCBUUlVFKSkKLSsgIGlmIChnX2F0b21pY19pbnRfZXhjaGFuZ2UgKCZwcml2 LT5jYW5jZWxsZWQsIFRSVUUpKQotICAgICB7Ci0tICAgICAgZ19tdXRleF91bmxvY2sgKCZwcml2 LT5tdXRleCk7Ci0rICAgICAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7Ci0g ICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0tICBnX2F0b21pY19pbnRfaW5jICgmcHJpdi0+Y2Fu Y2VsbGVkX3J1bm5pbmcpOwotKyAgcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcgPSBUUlVFOwotIAot ICAgaWYgKHByaXYtPndha2V1cCkKLSAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdfd2FrZXVwX3Np Z25hbCkgKHByaXYtPndha2V1cCk7Ci0gCi0rICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxl X211dGV4KTsKLSsKLSAgIGdfb2JqZWN0X3JlZiAoY2FuY2VsbGFibGUpOwotICAgZ19zaWduYWxf ZW1pdCAoY2FuY2VsbGFibGUsIHNpZ25hbHNbQ0FOQ0VMTEVEXSwgMCk7Ci0gCi0tICBpZiAoZ19h dG9taWNfaW50X2RlY19hbmRfdGVzdCAoJnByaXYtPmNhbmNlbGxlZF9ydW5uaW5nKSkKLSsgIGdf bXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKLSsKLSsgIHByaXYtPmNhbmNlbGxlZF9y dW5uaW5nID0gRkFMU0U7Ci0rICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmdfd2FpdGluZykK LSAgICAgZ19jb25kX2Jyb2FkY2FzdCAoJmNhbmNlbGxhYmxlX2NvbmQpOwotKyAgcHJpdi0+Y2Fu Y2VsbGVkX3J1bm5pbmdfd2FpdGluZyA9IEZBTFNFOwotIAotLSAgZ19tdXRleF91bmxvY2sgKCZw cml2LT5tdXRleCk7Ci0rICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKLSAK LSAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7Ci0gfQotQEAgLTU2Miw3ICs1NzMsNyBA QCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgICpjYW5jZWxsYWJsZSwKLSAK LSAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHX0lTX0NBTkNFTExBQkxFIChjYW5jZWxsYWJsZSks IDApOwotIAotLSAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGUtPnByaXYtPm11dGV4KTsKLSsg IGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKLSAKLSAgIGlmIChnX2F0b21pY19p bnRfZ2V0ICgmY2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZCkpCi0gICAgIHsKLUBAIC01NzIs MTAgKzU4MywyMyBAQCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgICpjYW5j ZWxsYWJsZSwKLSAgICAgICBfY2FsbGJhY2sgPSAodm9pZCAqKWNhbGxiYWNrOwotICAgICAgIGlk ID0gMDsKLSAKLSsgICAgICBjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9ucysr OwotKwotKyAgICAgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwotKwotICAg ICAgIF9jYWxsYmFjayAoY2FuY2VsbGFibGUsIGRhdGEpOwotIAotICAgICAgIGlmIChkYXRhX2Rl c3Ryb3lfZnVuYykKLSAgICAgICAgIGRhdGFfZGVzdHJveV9mdW5jIChkYXRhKTsKLSsKLSsgICAg ICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7Ci0rCi0rICAgICAgaWYgKGNhbmNl bGxhYmxlLT5wcml2LT5jYW5jZWxsZWRfZW1pc3Npb25zX3dhaXRpbmcpCi0rICAgICAgICBnX2Nv bmRfYnJvYWRjYXN0ICgmY2FuY2VsbGFibGVfY29uZCk7Ci0rCi0rICAgICAgY2FuY2VsbGFibGUt PnByaXYtPmNhbmNlbGxlZF9lbWlzc2lvbnMtLTsKLSsKLSsgICAgICBnX211dGV4X3VubG9jayAo JmNhbmNlbGxhYmxlX211dGV4KTsKLSAgICAgfQotICAgZWxzZQotICAgICB7Ci1AQCAtNTgzLDkg KzYwNywxMCBAQCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgICpjYW5jZWxs YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2ssIGRhdGEs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHQ2xvc3VyZU5vdGlmeSkgZGF0 YV9kZXN0cm95X2Z1bmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ09O TkVDVF9ERUZBVUxUKTsKLSsKLSsgICAgICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxlX211 dGV4KTsKLSAgICAgfQotIAotLSAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZS0+cHJpdi0+ bXV0ZXgpOwotIAotICAgcmV0dXJuIGlkOwotIH0KLUBAIC02MjEsMjYgKzY0NiwzMyBAQCBnX2Nh bmNlbGxhYmxlX2Rpc2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgKmNhbmNlbGxhYmxlLAotICAgaWYg KGhhbmRsZXJfaWQgPT0gMCB8fCAgY2FuY2VsbGFibGUgPT0gTlVMTCkKLSAgICAgcmV0dXJuOwot IAotKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwotKwotICAgcHJpdiA9IGNh bmNlbGxhYmxlLT5wcml2OwotIAotLSAgZ19tdXRleF9sb2NrICgmcHJpdi0+bXV0ZXgpOwotKyAg d2hpbGUgKHByaXYtPmNhbmNlbGxlZF9ydW5uaW5nIHx8IHByaXYtPmNhbmNlbGxlZF9lbWlzc2lv bnMpCi0rICAgIHsKLSsgICAgICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpCi0rICAgICAg ICBwcml2LT5jYW5jZWxsZWRfcnVubmluZ193YWl0aW5nID0gVFJVRTsKLSAKLS0gIHdoaWxlIChn X2F0b21pY19pbnRfZ2V0ICgmcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpICE9IDApCi0tICAgIGdf Y29uZF93YWl0ICgmY2FuY2VsbGFibGVfY29uZCwgJnByaXYtPm11dGV4KTsKLSsgICAgICBpZiAo cHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9ucykKLSsgICAgICAgIHByaXYtPmNhbmNlbGxlZF9lbWlz c2lvbnNfd2FpdGluZyA9IFRSVUU7Ci0gCi0tICBnX211dGV4X3VubG9jayAoJnByaXYtPm11dGV4 KTsKLSsgICAgICBnX2NvbmRfd2FpdCAoJmNhbmNlbGxhYmxlX2NvbmQsICZjYW5jZWxsYWJsZV9t dXRleCk7Ci0rICAgIH0KLSAKLSAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoY2FuY2Vs bGFibGUsIGhhbmRsZXJfaWQpOwotKwotKyAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZV9t dXRleCk7Ci0gfQotIAotIHR5cGVkZWYgc3RydWN0IHsKLSAgIEdTb3VyY2UgICAgICAgc291cmNl OwotIAotLSAgLyogQXRvbWljOiAqLwotICAgR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKLSAg IGd1bG9uZyAgICAgICAgY2FuY2VsbGVkX2hhbmRsZXI7Ci0tICAvKiBBdG9taWM6ICovCi0tICBn Ym9vbGVhbiAgICAgIGNhbmNlbGxlZF9jYWxsYmFja19jYWxsZWQ7Ci0rICAvKiBQcm90ZWN0ZWQg YnkgY2FuY2VsbGFibGVfbXV0ZXg6ICovCi0rICBnYm9vbGVhbiAgICAgIHJlc3VycmVjdGVkX2R1 cmluZ19jYW5jZWxsYXRpb247Ci0gfSBHQ2FuY2VsbGFibGVTb3VyY2U7Ci0gCi0gLyoKLUBAIC02 NjAsMzUgKzY5MiwyNyBAQCBjYW5jZWxsYWJsZV9zb3VyY2VfY2FuY2VsbGVkIChHQ2FuY2VsbGFi bGUgKmNhbmNlbGxhYmxlLAotIHsKLSAgIEdTb3VyY2UgKnNvdXJjZSA9IHVzZXJfZGF0YTsKLSAg IEdDYW5jZWxsYWJsZVNvdXJjZSAqY2FuY2VsbGFibGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNv dXJjZSAqKSBzb3VyY2U7Ci0tICBnYm9vbGVhbiBjYWxsYmFja193YXNfbm90X2NhbGxlZDsKLSAK LS0gIGdfc291cmNlX3JlZiAoc291cmNlKTsKLS0gIGdfc291cmNlX3NldF9yZWFkeV90aW1lIChz b3VyY2UsIDApOwotKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwotIAotLSAg Y2FsbGJhY2tfd2FzX25vdF9jYWxsZWQgPSBnX2F0b21pY19pbnRfY29tcGFyZV9hbmRfZXhjaGFu Z2UgKAotLSAgICAmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsZWRfY2FsbGJhY2tfY2FsbGVk LCBGQUxTRSwgVFJVRSk7Ci0tICBnX2Fzc2VydCAoY2FsbGJhY2tfd2FzX25vdF9jYWxsZWQpOwot KyAgLyogRHJvcCB0aGUgcmVmZXJlbmNlIGFkZGVkIGluIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNw b3NlKCk7IHNlZSB0aGUgY29tbWVudCB0aGVyZS4KLSsgICAqIFRoZSByZWZlcmVuY2UgbXVzdCBi ZSBkcm9wcGVkIGFmdGVyIHVubG9ja2luZyBAY2FuY2VsbGFibGVfbXV0ZXggc2luY2UKLSsgICAq IGl0IGNvdWxkIGJlIHRoZSBmaW5hbCByZWZlcmVuY2UsIGFuZCB0aGUgZGlzcG9zZSBmdW5jdGlv biB0YWtlcwotKyAgICogQGNhbmNlbGxhYmxlX211dGV4LiAqLwotKyAgaWYgKGNhbmNlbGxhYmxl X3NvdXJjZS0+cmVzdXJyZWN0ZWRfZHVyaW5nX2NhbmNlbGxhdGlvbikKLSsgICAgewotKyAgICAg IGNhbmNlbGxhYmxlX3NvdXJjZS0+cmVzdXJyZWN0ZWRfZHVyaW5nX2NhbmNlbGxhdGlvbiA9IEZB TFNFOwotKyAgICAgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOwotKyAgICAg IGdfc291cmNlX3VucmVmIChzb3VyY2UpOwotKyAgICAgIHJldHVybjsKLSsgICAgfQotIAotKyAg Z19zb3VyY2VfcmVmIChzb3VyY2UpOwotKyAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZV9t dXRleCk7Ci0rICBnX3NvdXJjZV9zZXRfcmVhZHlfdGltZSAoc291cmNlLCAwKTsKLSAgIGdfc291 cmNlX3VucmVmIChzb3VyY2UpOwotIH0KLSAKLS1zdGF0aWMgZ2Jvb2xlYW4KLS1jYW5jZWxsYWJs ZV9zb3VyY2VfcHJlcGFyZSAoR1NvdXJjZSAqc291cmNlLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnaW50ICAgICp0aW1lb3V0KQotLXsKLS0gIEdDYW5jZWxsYWJsZVNvdXJjZSAqY2Fu Y2VsbGFibGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNvdXJjZSAqKSBzb3VyY2U7Ci0tICBHQ2Fu Y2VsbGFibGUgKmNhbmNlbGxhYmxlOwotLQotLSAgaWYgKHRpbWVvdXQpCi0tICAgICp0aW1lb3V0 ID0gLTE7Ci0tCi0tICBjYW5jZWxsYWJsZSA9IGdfYXRvbWljX3BvaW50ZXJfZ2V0ICgmY2FuY2Vs bGFibGVfc291cmNlLT5jYW5jZWxsYWJsZSk7Ci0tICBpZiAoY2FuY2VsbGFibGUgJiYgIWdfYXRv bWljX2ludF9nZXQgKCZjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpKQotLSAg ICBnX2F0b21pY19pbnRfc2V0ICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsZWRfY2FsbGJh Y2tfY2FsbGVkLCBGQUxTRSk7Ci0tCi0tICByZXR1cm4gRkFMU0U7Ci0tfQotLQotIHN0YXRpYyBn Ym9vbGVhbgotIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwYXRjaCAoR1NvdXJjZSAgICAgKnNvdXJj ZSwKLSAJCQkgICAgIEdTb3VyY2VGdW5jICBjYWxsYmFjaywKLUBAIC03MDUsMTMgKzcyOSwxMiBA QCBzdGF0aWMgdm9pZAotIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwb3NlIChHU291cmNlICpzb3Vy Y2UpCi0gewotICAgR0NhbmNlbGxhYmxlU291cmNlICpjYW5jZWxsYWJsZV9zb3VyY2UgPSAoR0Nh bmNlbGxhYmxlU291cmNlICopc291cmNlOwotLSAgR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsK LSAKLS0gIGNhbmNlbGxhYmxlID0gZ19hdG9taWNfcG9pbnRlcl9leGNoYW5nZSAoJmNhbmNlbGxh YmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUsIE5VTEwpOwotKyAgZ19tdXRleF9sb2NrICgmY2FuY2Vs bGFibGVfbXV0ZXgpOwotIAotLSAgaWYgKGNhbmNlbGxhYmxlKQotKyAgaWYgKGNhbmNlbGxhYmxl X3NvdXJjZS0+Y2FuY2VsbGFibGUpCi0gICAgIHsKLS0gICAgICBpZiAoZ19hdG9taWNfaW50X2dl dCAoJmNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWRfcnVubmluZykpCi0rICAgICAgaWYgKGNh bmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZF9ydW5uaW5nKQot ICAgICAgICAgewotICAgICAgICAgICAvKiBUaGVyZSBjYW4gYmUgYSByYWNlIGhlcmU6IGlmIHRo cmVhZCBBIGhhcyBjYWxsZWQKLSAgICAgICAgICAgICogZ19jYW5jZWxsYWJsZV9jYW5jZWwoKSBh bmQgaGFzIGdvdCBhcyBmYXIgYXMgY29tbWl0dGluZyB0byBjYWxsCi1AQCAtNzIzLDIxICs3NDYs MjEgQEAgY2FuY2VsbGFibGVfc291cmNlX2Rpc3Bvc2UgKEdTb3VyY2UgKnNvdXJjZSkKLSAgICAg ICAgICAgICogd2lsbCB0aGVuIGJlIGxlZnQgaW4gYSBzdGF0ZSB3aGVyZSBpdOKAmXMgY29tbWl0 dGVkIHRvIHVzaW5nIGEKLSAgICAgICAgICAgICogZGFuZ2xpbmcgR0NhbmNlbGxhYmxlU291cmNl IHBvaW50ZXIuCi0gICAgICAgICAgICAqCi0tICAgICAgICAgICAqIEVsaW1pbmF0ZSB0aGF0IHJh Y2UgYnkgd2FpdGluZyB0byBlbnN1cmUgdGhhdCBvdXIgY2FuY2VsbGVkCi0tICAgICAgICAgICAq IGNhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCwga2VlcGluZyBhIHRlbXBvcmFyeSByZWYsIHNvIHRo YXQKLS0gICAgICAgICAgICogdGhlcmUncyBubyByaXNrIHRoYXQgd2UncmUgdW5yZWZmaW5nIHNv bWV0aGluZyB0aGF0IGlzIHN0aWxsCi0tICAgICAgICAgICAqIGdvaW5nIHRvIGJlIHVzZWQuCi0r ICAgICAgICAgICAqIEVsaW1pbmF0ZSB0aGF0IHJhY2UgYnkgcmVzdXJyZWN0aW5nIHRoZSAjR1Nv dXJjZSB0ZW1wb3JhcmlseSwgYW5kCi0rICAgICAgICAgICAqIHRoZW4gZHJvcHBpbmcgdGhhdCBy ZWZlcmVuY2UgaW4gY2FuY2VsbGFibGVfc291cmNlX2NhbmNlbGxlZCgpLAotKyAgICAgICAgICAg KiB3aGljaCBzaG91bGQgYmUgZ3VhcmFudGVlZCB0byBmaXJlIGJlY2F1c2Ugd2XigJlyZSBpbnNp ZGUgYQotKyAgICAgICAgICAgKiBAY2FuY2VsbGVkX3J1bm5pbmcgYmxvY2suCi0gICAgICAgICAg ICAqLwotLQotICAgICAgICAgICBnX3NvdXJjZV9yZWYgKHNvdXJjZSk7Ci0tICAgICAgICAgIHdo aWxlICghZ19hdG9taWNfaW50X2dldCAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGVkX2Nh bGxiYWNrX2NhbGxlZCkpCi0tICAgICAgICAgICAgOwotLSAgICAgICAgICBnX3NvdXJjZV91bnJl ZiAoc291cmNlKTsKLSsgICAgICAgICAgY2FuY2VsbGFibGVfc291cmNlLT5yZXN1cnJlY3RlZF9k dXJpbmdfY2FuY2VsbGF0aW9uID0gVFJVRTsKLSAgICAgICAgIH0KLSAKLS0gICAgICBnX2NsZWFy X3NpZ25hbF9oYW5kbGVyICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsZWRfaGFuZGxlciwg Y2FuY2VsbGFibGUpOwotLSAgICAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7Ci0rICAg ICAgZ19jbGVhcl9zaWduYWxfaGFuZGxlciAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGVk X2hhbmRsZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGFibGVfc291 cmNlLT5jYW5jZWxsYWJsZSk7Ci0rICAgICAgZ19jbGVhcl9vYmplY3QgKCZjYW5jZWxsYWJsZV9z b3VyY2UtPmNhbmNlbGxhYmxlKTsKLSAgICAgfQotKwotKyAgZ19tdXRleF91bmxvY2sgKCZjYW5j ZWxsYWJsZV9tdXRleCk7Ci0gfQotIAotIHN0YXRpYyBnYm9vbGVhbgotQEAgLTc2Niw3ICs3ODks NyBAQCBjYW5jZWxsYWJsZV9zb3VyY2VfY2xvc3VyZV9jYWxsYmFjayAoR0NhbmNlbGxhYmxlICpj YW5jZWxsYWJsZSwKLSAKLSBzdGF0aWMgR1NvdXJjZUZ1bmNzIGNhbmNlbGxhYmxlX3NvdXJjZV9m dW5jcyA9Ci0gewotLSAgY2FuY2VsbGFibGVfc291cmNlX3ByZXBhcmUsCi0rICBOVUxMLAotICAg TlVMTCwKLSAgIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwYXRjaCwKLSAgIE5VTEwsCi1kaWZmIC0t Z2l0IGEvZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMgYi9naW8vdGVzdHMvY2FuY2VsbGFibGUuYwot aW5kZXggZmE4NGUyZTJjLi42ZjI1ZDYzZDkgMTAwNjQ0Ci0tLS0gYS9naW8vdGVzdHMvY2FuY2Vs bGFibGUuYwotKysrIGIvZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMKLUBAIC0yNjEsNiArMjYxLDEx IEBAIHRocmVhZGVkX2Rpc3Bvc2VfdGhyZWFkX2NiIChncG9pbnRlciB1c2VyX2RhdGEpCi0gc3Rh dGljIHZvaWQKLSB0ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV90aHJlYWRlZF9kaXNwb3NlICh2b2lk KQotIHsKLSsjaWZkZWYgX0dMSUJfQUREUkVTU19TQU5JVElaRVIKLSsgIGdfdGVzdF9pbmNvbXBs ZXRlICgiRklYTUU6IExlYWtzIGxvdHMgb2YgR0NhbmNlbGxhYmxlU291cmNlIG9iamVjdHMsIHNl ZSBnbGliIzIzMDkiKTsKLSsgICh2b2lkKSBjYW5jZWxsZWRfY2I7Ci0rICAodm9pZCkgdGhyZWFk ZWRfZGlzcG9zZV90aHJlYWRfY2I7Ci0rI2Vsc2UKLSAgIFRocmVhZGVkRGlzcG9zZURhdGEgZGF0 YTsKLSAgIEdUaHJlYWQgKnRocmVhZCA9IE5VTEw7Ci0gICBndWludCBpOwotQEAgLTI3MCwxMCAr Mjc1LDYgQEAgdGVzdF9jYW5jZWxsYWJsZV9zb3VyY2VfdGhyZWFkZWRfZGlzcG9zZSAodm9pZCkK LSAgICAgICAgICAgICAgICAgICAiKGluIG9uZSB0aHJlYWQpIGFuZCBjYW5jZWxsaW5nIHRoZSBH Q2FuY2VsbGFibGUgaXQgcmVmZXJzICIKLSAgICAgICAgICAgICAgICAgICAidG8gKGluIGFub3Ro ZXIgdGhyZWFkKSIpOwotICAgZ190ZXN0X2J1ZyAoImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9H Tk9NRS9nbGliL2lzc3Vlcy8xODQxIik7Ci0tI2lmZGVmIF9HTElCX0FERFJFU1NfU0FOSVRJWkVS Ci0tICBnX3Rlc3RfbWVzc2FnZSAoIldlIGFsc28gZW5zdXJlIHRoYXQgbm8gR0NhbmNlbGxhYmxl U291cmNlIGFyZSBsZWFrZWQiKTsKLS0gIGdfdGVzdF9idWcgKCJodHRwczovL2dpdGxhYi5nbm9t ZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvMjMwOSIpOwotLSNlbmRpZgotIAotICAgLyogQ3JlYXRl IGEgbmV3IHRocmVhZCBhbmQgd2FpdCB1bnRpbCBpdOKAmXMgcmVhZHkgdG8gZXhlY3V0ZS4gRWFj aCBpdGVyYXRpb24gb2YKLSAgICAqIHRoZSB0ZXN0IHdpbGwgcGFzcyBpdCBhIG5ldyAjR0NhbmNl bGxhYmxlU291cmNlLiAqLwotQEAgLTMzNCw2ICszMzUsNyBAQCB0ZXN0X2NhbmNlbGxhYmxlX3Nv dXJjZV90aHJlYWRlZF9kaXNwb3NlICh2b2lkKQotICAgZ19jb25kX2NsZWFyICgmZGF0YS5jb25k KTsKLSAKLSAgIGdfcHRyX2FycmF5X3VucmVmIChjYW5jZWxsYWJsZXNfcGVuZGluZ191bnJlZik7 Ci0rI2VuZGlmCi0gfQotIAotIHN0YXRpYyB2b2lkCi1kaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL2dt ZW51bW9kZWwuYyBiL2dpby90ZXN0cy9nbWVudW1vZGVsLmMKLWluZGV4IDc1ZjVkODVmOS4uMjJk MWI0ZDYxIDEwMDY0NAotLS0tIGEvZ2lvL3Rlc3RzL2dtZW51bW9kZWwuYwotKysrIGIvZ2lvL3Rl c3RzL2dtZW51bW9kZWwuYwotQEAgLTEwMDcsMTYgKzEwMDcsMTcgQEAgdGVzdF9kYnVzX3JvdW5k dHJpcCAodm9pZCkKLSBzdGF0aWMgdm9pZAotIHRlc3RfZGJ1c19wZWVyX3JvdW5kdHJpcCAodm9p ZCkKLSB7Ci0tICBQZWVyQ29ubmVjdGlvbiBwZWVyOwotLQotICNpZmRlZiBfR0xJQl9BRERSRVNT X1NBTklUSVpFUgotLSAgZ190ZXN0X21lc3NhZ2UgKCJFbnN1cmUgdGhhdCBubyBHQ2FuY2VsbGFi bGVTb3VyY2UgYXJlIGxlYWtlZCIpOwotLSAgZ190ZXN0X2J1ZyAoImh0dHBzOi8vZ2l0bGFiLmdu b21lLm9yZy9HTk9NRS9nbGliL2lzc3Vlcy8yMzEzIik7Ci0tI2VuZGlmCi0rICBnX3Rlc3RfaW5j b21wbGV0ZSAoIkZJWE1FOiBMZWFrcyBhIEdDYW5jZWxsYWJsZVNvdXJjZSwgc2VlIGdsaWIjMjMx MyIpOwotKyAgKHZvaWQpIHBlZXJfY29ubmVjdGlvbl91cDsKLSsgICh2b2lkKSBwZWVyX2Nvbm5l Y3Rpb25fZG93bjsKLSsjZWxzZQotKyAgUGVlckNvbm5lY3Rpb24gcGVlcjsKLSAKLSAgIHBlZXJf Y29ubmVjdGlvbl91cCAoJnBlZXIpOwotICAgZG9fcm91bmR0cmlwIChwZWVyLnNlcnZlcl9jb25u ZWN0aW9uLCBwZWVyLmNsaWVudF9jb25uZWN0aW9uKTsKLSAgIHBlZXJfY29ubmVjdGlvbl9kb3du ICgmcGVlcik7Ci0rI2VuZGlmCi0gfQotIAotIHN0YXRpYyBnaW50IGl0ZW1zX2NoYW5nZWRfY291 bnQ7Ci1AQCAtMTE0NSwxNiArMTE0NiwxNyBAQCB0ZXN0X2RidXNfc3Vic2NyaXB0aW9ucyAodm9p ZCkKLSBzdGF0aWMgdm9pZAotIHRlc3RfZGJ1c19wZWVyX3N1YnNjcmlwdGlvbnMgKHZvaWQpCi0g ewotLSAgUGVlckNvbm5lY3Rpb24gcGVlcjsKLS0KLSAjaWZkZWYgX0dMSUJfQUREUkVTU19TQU5J VElaRVIKLS0gIGdfdGVzdF9tZXNzYWdlICgiRW5zdXJlIHRoYXQgbm8gR0NhbmNlbGxhYmxlU291 cmNlIGFyZSBsZWFrZWQiKTsKLS0gIGdfdGVzdF9idWcgKCJodHRwczovL2dpdGxhYi5nbm9tZS5v cmcvR05PTUUvZ2xpYi9pc3N1ZXMvMjMxMyIpOwotLSNlbmRpZgotKyAgZ190ZXN0X2luY29tcGxl dGUgKCJGSVhNRTogTGVha3MgYSBHQ2FuY2VsbGFibGVTb3VyY2UsIHNlZSBnbGliIzIzMTMiKTsK LSsgICh2b2lkKSBwZWVyX2Nvbm5lY3Rpb25fdXA7Ci0rICAodm9pZCkgcGVlcl9jb25uZWN0aW9u X2Rvd247Ci0rI2Vsc2UKLSsgIFBlZXJDb25uZWN0aW9uIHBlZXI7Ci0gCi0gICBwZWVyX2Nvbm5l Y3Rpb25fdXAgKCZwZWVyKTsKLSAgIGRvX3N1YnNjcmlwdGlvbnMgKHBlZXIuc2VydmVyX2Nvbm5l Y3Rpb24sIHBlZXIuY2xpZW50X2Nvbm5lY3Rpb24pOwotICAgcGVlcl9jb25uZWN0aW9uX2Rvd24g KCZwZWVyKTsKLSsjZW5kaWYKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLS0tIAotMi40Ny4xCi0KLQot RnJvbSBkZjdkOTJlZDAyOGM4ODhkZTU3YWFhYTJiOTc1ODAwODQ5ODllODliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogbm1vbnRlcm8gPG5tb250ZXJvQHJlZGhhdC5jb20+Ci1EYXRl OiBUdWUsIDIxIEphbiAyMDI1IDE3OjMzOjI1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBS ZXZlcnQgImdpby90ZXN0czogRW5zdXJlIHRoYXQgYSBHQ2FuY2VsbGFibGVTb3VyY2UgY2FuCi0g YmUgdXNlZCBtdWxpcGxlIHRpbWVzIgotCi1UaGlzIHJldmVydHMgY29tbWl0IDBhOGNiMTBmMjI0 ZmYyZGZlZDE0ZjY1MDBlNzdjZWU2OGFlN2Q0YzQuCi0tLS0KLSBnaW8vZ2NhbmNlbGxhYmxlLmMg ICAgICB8ICA4ICsrLS0tLQotIGdpby90ZXN0cy9jYW5jZWxsYWJsZS5jIHwgNjQgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9naW8vZ2NhbmNlbGxh YmxlLmMgYi9naW8vZ2NhbmNlbGxhYmxlLmMKLWluZGV4IGMzNTcyOTEwZS4uNDFmZmFiMzIyIDEw MDY0NAotLS0tIGEvZ2lvL2djYW5jZWxsYWJsZS5jCi0rKysgYi9naW8vZ2NhbmNlbGxhYmxlLmMK LUBAIC01NDEsMTEgKzU0MSw5IEBAIGdfY2FuY2VsbGFibGVfY2FuY2VsIChHQ2FuY2VsbGFibGUg KmNhbmNlbGxhYmxlKQotICAqIHNpZ25hbC4gQWxzbyBoYW5kbGVzIHRoZSByYWNlIGNvbmRpdGlv biB0aGF0IG1heSBoYXBwZW4KLSAgKiBpZiB0aGUgY2FuY2VsbGFibGUgaXMgY2FuY2VsbGVkIHJp Z2h0IGJlZm9yZSBjb25uZWN0aW5nLgotICAqCi0tICogQGNhbGxiYWNrIGlzIGNhbGxlZCBleGFj dGx5IG9uY2UgZWFjaCB0aW1lIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQsCi0tICogZWl0aGVy IGRpcmVjdGx5IGF0IHRoZSB0aW1lIG9mIHRoZSBjb25uZWN0IGlmIEBjYW5jZWxsYWJsZSBpcyBh bHJlYWR5Ci0tICogY2FuY2VsbGVkLCBvciB3aGVuIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQg aW4gc29tZSB0aHJlYWQuCi0tICogSW4gY2FzZSB0aGUgY2FuY2VsbGFibGUgaXMgcmVzZXQgdmlh IFttZXRob2RAR2lvLkNhbmNlbGxhYmxlLnJlc2V0XQotLSAqIHRoZW4gdGhlIGNhbGxiYWNrIGNh biBiZSBjYWxsZWQgYWdhaW4gaWYgdGhlIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQuCi0rICog QGNhbGxiYWNrIGlzIGNhbGxlZCBhdCBtb3N0IG9uY2UsIGVpdGhlciBkaXJlY3RseSBhdCB0aGUK LSsgKiB0aW1lIG9mIHRoZSBjb25uZWN0IGlmIEBjYW5jZWxsYWJsZSBpcyBhbHJlYWR5IGNhbmNl bGxlZCwKLSsgKiBvciB3aGVuIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQgaW4gc29tZSB0aHJl YWQuCi0gICoKLSAgKiBAZGF0YV9kZXN0cm95X2Z1bmMgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUg aGFuZGxlciBpcwotICAqIGRpc2Nvbm5lY3RlZCwgb3IgaW1tZWRpYXRlbHkgaWYgdGhlIGNhbmNl bGxhYmxlIGlzIGFscmVhZHkKLWRpZmYgLS1naXQgYS9naW8vdGVzdHMvY2FuY2VsbGFibGUuYyBi L2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jCi1pbmRleCA2ZjI1ZDYzZDkuLjNmNjg1NDQ2MiAxMDA2 NDQKLS0tLSBhL2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jCi0rKysgYi9naW8vdGVzdHMvY2FuY2Vs bGFibGUuYwotQEAgLTgxMCw2OSArODEwLDYgQEAgdGVzdF9jYW5jZWxsYWJsZV9jYW5jZWxfcmVz ZXRfY29ubmVjdF9yYWNlcyAodm9pZCkKLSAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7 Ci0gfQotIAotLXN0YXRpYyBnYm9vbGVhbgotLXNvdXJjZV9jYW5jZWxsZWRfY291bnRlcl9jYiAo R0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdwb2ludGVyICAgICAgdXNlcl9kYXRhKQotLXsKLS0gIGd1aW50ICpuX2NhbGxzID0gdXNlcl9k YXRhOwotLQotLSAgKm5fY2FsbHMgPSAqbl9jYWxscyArIDE7Ci0tCi0tICByZXR1cm4gR19TT1VS Q0VfQ09OVElOVUU7Ci0tfQotLQotLXN0YXRpYyB2b2lkCi0tZG9fbm90aGluZyAoR19HTlVDX1VO VVNFRCB2b2lkICp1c2VyX2RhdGEpCi0tewotLSAgLyogQW4gZW1wdHkgdGltZW91dC9pZGxlIG9u Y2UgY2FsbGJhY2sgZnVuY3Rpb24gKi8KLS19Ci0tCi0tc3RhdGljIHZvaWQKLS10ZXN0X2NhbmNl bGxhYmxlX3NvdXJjZV9jYW5fYmVfZmlyZWRfbXVsdGlwbGVfdGltZXMgKHZvaWQpCi0tewotLSAg R0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKLS0gIEdTb3VyY2UgKnNvdXJjZTsKLS0gIGd1aW50 IG5fY2FsbHMgPSAwOwotLQotLSAgZ190ZXN0X3N1bW1hcnkgKCJUZXN0IGEgY2FuY2VsbGFibGUg c291cmNlIGNhbGxiYWNrIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKTsKLS0gIGdfdGVz dF9idWcgKCJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvNzc0Iik7 Ci0tCi0tICBjYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3ICgpOwotLSAgc291cmNlID0g Z19jYW5jZWxsYWJsZV9zb3VyY2VfbmV3IChjYW5jZWxsYWJsZSk7Ci0tCi0tICBnX3NvdXJjZV9z ZXRfY2FsbGJhY2sgKHNvdXJjZSwgR19TT1VSQ0VfRlVOQyAoc291cmNlX2NhbmNlbGxlZF9jb3Vu dGVyX2NiKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgJm5fY2FsbHMsIE5VTEwpOwotLSAg Z19zb3VyY2VfYXR0YWNoIChzb3VyY2UsIE5VTEwpOwotLQotLSAgZ19jYW5jZWxsYWJsZV9jYW5j ZWwgKGNhbmNlbGxhYmxlKTsKLS0gIGdfYXNzZXJ0X2NtcHVpbnQgKG5fY2FsbHMsID09LCAwKTsK LS0KLS0gIHdoaWxlIChnX21haW5fY29udGV4dF9wZW5kaW5nIChOVUxMKSkKLS0gICAgZ19tYWlu X2NvbnRleHRfaXRlcmF0aW9uIChOVUxMLCBUUlVFKTsKLS0KLS0gIGdfYXNzZXJ0X2NtcHVpbnQg KG5fY2FsbHMsID09LCAxKTsKLS0KLS0gIGdfY2FuY2VsbGFibGVfY2FuY2VsIChjYW5jZWxsYWJs ZSk7Ci0tCi0tICBnX3RpbWVvdXRfYWRkX29uY2UgKDEwMCwgZG9fbm90aGluZywgTlVMTCk7Ci0t ICB3aGlsZSAoZ19tYWluX2NvbnRleHRfcGVuZGluZyAoTlVMTCkpCi0tICAgIGdfbWFpbl9jb250 ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgVFJVRSk7Ci0tCi0tICBnX2Fzc2VydF9jbXB1aW50IChuX2Nh bGxzLCA9PSwgMSk7Ci0tCi0tICBnX2NhbmNlbGxhYmxlX3Jlc2V0IChjYW5jZWxsYWJsZSk7Ci0t ICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoY2FuY2VsbGFibGUpOwotLSAgZ19hc3NlcnRfY21wdWlu dCAobl9jYWxscywgPT0sIDEpOwotLQotLSAgd2hpbGUgKGdfbWFpbl9jb250ZXh0X3BlbmRpbmcg KE5VTEwpKQotLSAgICBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIFRSVUUpOwotLQot LSAgZ19hc3NlcnRfY21wdWludCAobl9jYWxscywgPT0sIDIpOwotLQotLSAgZ19zb3VyY2VfdW5y ZWYgKHNvdXJjZSk7Ci0tICBnX29iamVjdF91bnJlZiAoY2FuY2VsbGFibGUpOwotLX0KLS0KLSBp bnQKLSBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQotIHsKLUBAIC04ODgsNyArODI1LDYg QEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9j YW5jZWxsYWJsZS9jYW5jZWwtcmVzZXQtcmFjZXMiLCB0ZXN0X2NhbmNlbGxhYmxlX2NhbmNlbF9y ZXNldF9yYWNlcyk7Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvY2FuY2VsbGFibGUvY2FuY2VsLXJl c2V0LWNvbm5lY3QtcmFjZXMiLCB0ZXN0X2NhbmNlbGxhYmxlX2NhbmNlbF9yZXNldF9jb25uZWN0 X3JhY2VzKTsKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9jYW5jZWxsYWJsZS1zb3VyY2UvdGhyZWFk ZWQtZGlzcG9zZSIsIHRlc3RfY2FuY2VsbGFibGVfc291cmNlX3RocmVhZGVkX2Rpc3Bvc2UpOwot LSAgZ190ZXN0X2FkZF9mdW5jICgiL2NhbmNlbGxhYmxlLXNvdXJjZS9jYW4tYmUtZmlyZWQtbXVs dGlwbGUtdGltZXMiLCB0ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV9jYW5fYmVfZmlyZWRfbXVsdGlw bGVfdGltZXMpOwotIAotICAgcmV0dXJuIGdfdGVzdF9ydW4gKCk7Ci0gfQotLS0gCi0yLjQ3LjEK LQo=