Eli Zaretskii <eliz@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.Received: (at submit) by debbugs.gnu.org; 24 Aug 2025 06:06:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 24 02:06:23 2025 Received: from localhost ([127.0.0.1]:43061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uq3ry-0002u2-0B for submit <at> debbugs.gnu.org; Sun, 24 Aug 2025 02:06:23 -0400 Received: from lists.gnu.org ([2001:470:142::17]:39442) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ewan@HIDDEN>) id 1upyOt-00082r-DH for submit <at> debbugs.gnu.org; Sat, 23 Aug 2025 20:16:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ewan@HIDDEN>) id 1upyOh-0007eG-CS for bug-gnu-emacs@HIDDEN; Sat, 23 Aug 2025 20:15:48 -0400 Received: from mail-4317.protonmail.ch ([185.70.43.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ewan@HIDDEN>) id 1upyOd-0001eP-3a for bug-gnu-emacs@HIDDEN; Sat, 23 Aug 2025 20:15:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=etown.dev; s=protonmail; t=1755994531; x=1756253731; bh=z2gsPnJMx4CA0U3Uqo6mny17ZYzYceZRgrFXI2qeW2Q=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=Zulrs2RGItn1Q0aITT2jfgcQFoTH5OmHXlGe402vR/OzfeytWh55dK2MHLXb1twT2 kcuQK2eigciYBDYwbtQvrHSu3HU7/4N1f/6jjLD2jiAov85QffE5JAc1xRLAK0w1xM 5JNlsop6cTu5+9xjOTo6ffQ9lgPXWPMySpzwEddbe2zNhIMA9KNZJ8bxLZmCDzs+/P ISW7isV9uQvyrbYNdtAfb5lMsVMm5WpXbu2+QnLOrbxJERYS6Bwi+a50AiW9r1asT2 /hP6/fGXtEkZ5bbEz17YGZj5r+Z1OjQWAsCooRY5ni41lgqIIUKWdasFpPcrwd78Gh 5b6ZvznzM/Vag== Date: Sun, 24 Aug 2025 00:15:28 +0000 To: "bug-gnu-emacs@HIDDEN" <bug-gnu-emacs@HIDDEN> From: Ewan <ewan@HIDDEN> Subject: patch: full color in windows terminal Message-ID: <G4Tou5OvKHBfVV6-9kmLezwXc0HkZ4RfJuFP5jFYbXZOVCiHPUDok76STaDWDT3d7nlqLLsJll2fHv8k9u3xgT1_DfsosfScbqHDWZG01-o=@etown.dev> Feedback-ID: 150490971:user:proton X-Pm-Message-ID: 6d3cc7c65001ef92ebe760897973c20457f9bb84 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1=_56Ex8KSqHpskbdU57OtDQXkNvCk2Cjxq6qorpOWB4I" Received-SPF: pass client-ip=185.70.43.17; envelope-from=ewan@HIDDEN; helo=mail-4317.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 24 Aug 2025 02:06:20 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) --b1=_56Ex8KSqHpskbdU57OtDQXkNvCk2Cjxq6qorpOWB4I Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable * configure.ac: Compiler flag for setting w32 console color space. * lisp/term/w32console.el: Define and apply different color spaces. * src/nsterm.c: Delete working text after inserting new text. * src/term.c: Set tty max colors based on compiler flag. * src/w32console.c: Write face colors to console via VT sequences. Most of the work was done here:=20 https://github.com/tsuu32/emacs-w32con-vt I just updated it for Emacs 30.2 and fixed some bugs. Full branch here:=20 https://github.com/ewantown/emacs/tree/w32-vt-seq Working builds here: https://github.com/ewantown/wemacs-build/releases/tag/v31.9.20250823.99d9b7= 5 Patch attached. --b1=_56Ex8KSqHpskbdU57OtDQXkNvCk2Cjxq6qorpOWB4I Content-Type: application/octet-stream; name=0001-Windows-Terminal-full-color-with-VT-Sequences.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Windows-Terminal-full-color-with-VT-Sequences.patch RnJvbSAyNmMxZGViNTFmYjU0YTA4YWQ2ZTRjOGE1NDcwNGRkZjAzNjNhNzRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBld2FudG93biA8ZXdhbkBldG93bi5kZXY+CkRhdGU6IEZyaSwg MjIgQXVnIDIwMjUgMjM6Mjg6MDUgLTA3MDAKU3ViamVjdDogW1BBVENIXSBXaW5kb3dzIFRlcm1p bmFsIGZ1bGwgY29sb3Igd2l0aCBWVCBTZXF1ZW5jZXMKCi0tLQogY29uZmlndXJlLmFjICAgICAg ICAgICAgfCAgMjIgKysrKysKIGxpc3AvdGVybS93MzJjb25zb2xlLmVsIHwgMTI1ICsrKysrKysr KysrKysrKysrKystLS0tLS0tLQogc3JjL25zdGVybS5tICAgICAgICAgICAgfCAgIDggKy0KIHNy Yy90ZXJtLmMgICAgICAgICAgICAgIHwgIDEyICsrLQogc3JjL3czMmNvbnNvbGUuYyAgICAgICAg fCAxODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogNSBmaWxlcyBj aGFuZ2VkLCAyOTMgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Y29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDhjMmU2YjQyMWQ5Li5mMTQ5OWNjNTRm NSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMjk5LDYg KzI5OSwyMSBAQCBBQ19BUkdfV0lUSChbYWxsXSwKICAgW3dpdGhfZmVhdHVyZXM9JHdpdGh2YWxd LAogICBbd2l0aF9mZWF0dXJlcz15ZXNdKQogCitBQ19BUkdfV0lUSChbdzMyLXZ0LWNvbG9yXSwK K1tBU19IRUxQX1NUUklORyhbLS13aXRoLXczMi12dC1jb2xvcj1BUkddLAorW3VzZSBWVCBzZXF1 ZW5jZXMgZm9yIHczMiBjb25zb2xlIGNvbG9yIChBUkcgb25lIG9mOiBubywgMTYsIDE1NiwgMjRi aXQpXSldLAorWyAgICBjYXNlICIke3dpdGh2YWx9IiBpbgorICAgICBubyApICAgIHZhbD1ubyA7 OworICAgICAxNiApICAgIHZhbD0xNiA7OworICAgICAyNTYgKSAgIHZhbD0yNTYgOzsKKyAgICAg MjRiaXQgKSB2YWw9MjRiaXQgOzsKKyAgICAgKiApCisgICAgIEFDX01TR19FUlJPUihbJy0td2l0 aC12dC1jb2xvcj0kd2l0aHZhbCcgaXMgaW52YWxpZDsKKyAgICAgdGhlIHZhbHVlIHNob3VsZCBi ZSAnbm8nLCAnMTYnLCAnMjU2Jywgb3IgJzI0Yml0J10pIDs7CisgICAgIGVzYWMKKyAgICAgd2l0 aF93MzJfdnRfY29sb3I9JHZhbAorXSkKKwogZG5sIEFSQ0hfSU5ERVBFTkRFTlRfQ09ORklHX0ZJ TEVTKEZJTEUuLi4pCiBkbmwgTGlrZSBBQ19DT05GSUdfRklMRVMoRklMRSkuICBIb3dldmVyLCBk byBub3QgZ2VuZXJhdGUgdGhpcwogZG5sICAgaWYgY29uZmlndXJlIGlzIGJlaW5nIGNhbGxlZCBy ZWN1cnNpdmVseSBpbiBwcmVwYXJhdGlvbgpAQCAtMzAzMyw2ICszMDQ4LDEzIEBAIGlmIHRlc3Qg IiR7b3BzeXN9IiA9ICJtaW5ndzMyIjsgdGhlbgogICAgIEFDX01TR19FUlJPUihbdGhlIFdpbmRv d3MgQVBJIGhlYWRlcnMgYXJlIHRvbyBvbGQgdG8gc3VwcG9ydCB0aGlzIGJ1aWxkLl0pCiAgIGZp CiAgIEhBVkVfVzMyPSR7ZW1hY3NfY3ZfdzMyYXBpfQorICBjYXNlICIke3dpdGhfdzMyX3Z0X2Nv bG9yfSIgaW4KKyAgICAgICAxNiApIEFDX0RFRklORShVU0VfVzMyQ09OVlRDT0xPUl8xNiwgMSwg W0RlZmluZSB0byB1c2UgVlQgc2VxdWVuY2VzIGZvciAxNiBjb2xvcnMuXSkgOzsKKyAgICAgICAy NTYgKSBBQ19ERUZJTkUoVVNFX1czMkNPTlZUQ09MT1JfMjU2LCAxLCBbRGVmaW5lIHRvIHVzZSBW VCBzZXF1ZW5jZXMgZm9yIDI1NiBjb2xvcnMuXSkgOzsKKyAgICAgICAyNGJpdCApIEFDX0RFRklO RShVU0VfVzMyQ09OVlRDT0xPUl8yNEJJVCwgMSwgW0RlZmluZSB0byB1c2UgVlQgc2VxdWVuY2Vz IGZvciAyNGJpdCBjb2xvcnMuXSkgOzsKKyAgICAgICBubyApIDs7CisgICAgICAgKiApIDs7Cisg IGVzYWMKIGZpCiAKIE5URElSPQpkaWZmIC0tZ2l0IGEvbGlzcC90ZXJtL3czMmNvbnNvbGUuZWwg Yi9saXNwL3Rlcm0vdzMyY29uc29sZS5lbAppbmRleCAxYjQ0ZGE0OGJmNy4uMjc3NGNhZThjZDYg MTAwNjQ0Ci0tLSBhL2xpc3AvdGVybS93MzJjb25zb2xlLmVsCisrKyBiL2xpc3AvdGVybS93MzJj b25zb2xlLmVsCkBAIC0yNCwyNSArMjQsNDIgQEAKIAogOzs7IENvZGU6CiAKLTs7IFczMiB1c2Vz IGRpZmZlcmVudCBjb2xvciBpbmRleGVzIHRoYW4gc3RhbmRhcmQ6Ci0KKzs7IFczMiB1c2VzIGRp ZmZlcmVudCBjb2xvciBpbmRleGVzIHRoYW4gc3RhbmRhcmQKKzs7IFdoZW4gdXNpbmcgVlQgc2Vx dWVuY2VzIGZvciBjb2xvciwgc3RhbmRhcmRpemUKIChkZWZ2YXIgdzMyLXR0eS1zdGFuZGFyZC1j b2xvcnMKLSAgJygoImJsYWNrIiAgICAgICAgICAwICAgICAwICAgICAwICAgICAwKQotICAgICgi Ymx1ZSIgICAgICAgICAgIDEgICAgIDAgICAgIDAgNTI0ODApIDsgTWVkaXVtQmx1ZQotICAgICgi Z3JlZW4iICAgICAgICAgIDIgIDg3MDQgMzU1ODQgIDg3MDQpIDsgRm9yZXN0R3JlZW4KLSAgICAo ImN5YW4iICAgICAgICAgICAzICAgICAwIDUyNzM2IDUzNTA0KSA7IERhcmtUdXJxdW9pc2UKLSAg ICAoInJlZCIgICAgICAgICAgICA0IDQ1NTY4ICA4NzA0ICA4NzA0KSA7IEZpcmVCcmljawotICAg ICgibWFnZW50YSIgICAgICAgIDUgMzU1ODQgICAgIDAgMzU1ODQpIDsgRGFya01hZ2VudGEKLSAg ICAoImJyb3duIiAgICAgICAgICA2IDQwOTYwIDIwOTkyIDExNTIwKSA7IFNpZW5uYQotICAgICgi bGlnaHRncmF5IiAgICAgIDcgNDg2NDAgNDg2NDAgNDg2NDApIDsgR3JheQotICAgICgiZGFya2dy YXkiICAgICAgIDggMjYxMTIgMjYxMTIgMjYxMTIpIDsgR3JheTQwCi0gICAgKCJsaWdodGJsdWUi ICAgICAgOSAgICAgMCAgICAgMCA2NTUzNSkgOyBCbHVlCi0gICAgKCJsaWdodGdyZWVuIiAgICAx MCAgICAgMCA2NTUzNSAgICAgMCkgOyBHcmVlbgotICAgICgibGlnaHRjeWFuIiAgICAgMTEgICAg IDAgNjU1MzUgNjU1MzUpIDsgQ3lhbgotICAgICgibGlnaHRyZWQiICAgICAgMTIgNjU1MzUgICAg IDAgICAgIDApIDsgUmVkCi0gICAgKCJsaWdodG1hZ2VudGEiICAxMyA2NTUzNSAgICAgMCA2NTUz NSkgOyBNYWdlbnRhCi0gICAgKCJ5ZWxsb3ciICAgICAgICAxNCA2NTUzNSA2NTUzNSAgICAgMCkg OyBZZWxsb3cKLSAgICAoIndoaXRlIiAgICAgICAgIDE1IDY1NTM1IDY1NTM1IDY1NTM1KSkKKyAg KGlmIHczMmNvbi11c2UtdnQtY29sb3IKKyAgICAgICcoKCJibGFjayIgICAgICAgICAgMCAgICAg MCAgICAgMCAgICAgMCkKKyAgICAgICAgKCJyZWQiICAgICAgICAgICAgMSA0NTU2OCAgODcwNCAg ODcwNCkgOyBGaXJlQnJpY2sKKyAgICAgICAgKCJncmVlbiIgICAgICAgICAgMiAgODcwNCAzNTU4 NCAgODcwNCkgOyBGb3Jlc3RHcmVlbgorICAgICAgICAoImJyb3duIiAgICAgICAgICAzIDQwOTYw IDIwOTkyIDExNTIwKSA7IFNpZW5uYQorICAgICAgICAoImJsdWUiICAgICAgICAgICA0ICAgICAw ICAgICAwIDUyNDgwKSA7IE1lZGl1bUJsdWUKKyAgICAgICAgKCJtYWdlbnRhIiAgICAgICAgNSAz NTU4NCAgICAgMCAzNTU4NCkgOyBEYXJrTWFnZW50YQorICAgICAgICAoImN5YW4iICAgICAgICAg ICA2ICAgICAwIDUyNzM2IDUzNTA0KSA7IERhcmtUdXJxdW9pc2UKKyAgICAgICAgKCJsaWdodGdy YXkiICAgICAgNyA0ODY0MCA0ODY0MCA0ODY0MCkgOyBHcmF5CisgICAgICAgICgiZGFya2dyYXki ICAgICAgIDggMjYxMTIgMjYxMTIgMjYxMTIpIDsgR3JheTQwCisgICAgICAgICgibGlnaHRyZWQi ICAgICAgIDkgNjU1MzUgICAgIDAgICAgIDApIDsgUmVkCisgICAgICAgICgibGlnaHRncmVlbiIg ICAgMTAgICAgIDAgNjU1MzUgICAgIDApIDsgR3JlZW4KKyAgICAgICAgKCJ5ZWxsb3ciICAgICAg ICAxMSA2NTUzNSA2NTUzNSAgICAgMCkgOyBZZWxsb3cKKyAgICAgICAgKCJsaWdodGJsdWUiICAg ICAxMiAgICAgMCAgICAgMCA2NTUzNSkgOyBCbHVlCisgICAgICAgICgibGlnaHRtYWdlbnRhIiAg MTMgNjU1MzUgICAgIDAgNjU1MzUpIDsgTWFnZW50YQorICAgICAgICAoImxpZ2h0Y3lhbiIgICAg IDE0ICAgICAwIDY1NTM1IDY1NTM1KSA7IEN5YW4KKyAgICAgICAgKCJ3aGl0ZSIgICAgICAgICAx NSA2NTUzNSA2NTUzNSA2NTUzNSkpCisgICAgJygoImJsYWNrIiAgICAgICAgICAwICAgICAwICAg ICAwICAgICAwKQorICAgICAgKCJibHVlIiAgICAgICAgICAgMSAgICAgMCAgICAgMCA1MjQ4MCkg OyBNZWRpdW1CbHVlCisgICAgICAoImdyZWVuIiAgICAgICAgICAyICA4NzA0IDM1NTg0ICA4NzA0 KSA7IEZvcmVzdEdyZWVuCisgICAgICAoImN5YW4iICAgICAgICAgICAzICAgICAwIDUyNzM2IDUz NTA0KSA7IERhcmtUdXJxdW9pc2UKKyAgICAgICgicmVkIiAgICAgICAgICAgIDQgNDU1NjggIDg3 MDQgIDg3MDQpIDsgRmlyZUJyaWNrCisgICAgICAoIm1hZ2VudGEiICAgICAgICA1IDM1NTg0ICAg ICAwIDM1NTg0KSA7IERhcmtNYWdlbnRhCisgICAgICAoImJyb3duIiAgICAgICAgICA2IDQwOTYw IDIwOTkyIDExNTIwKSA7IFNpZW5uYQorICAgICAgKCJsaWdodGdyYXkiICAgICAgNyA0ODY0MCA0 ODY0MCA0ODY0MCkgOyBHcmF5CisgICAgICAoImRhcmtncmF5IiAgICAgICA4IDI2MTEyIDI2MTEy IDI2MTEyKSA7IEdyYXk0MAorICAgICAgKCJsaWdodGJsdWUiICAgICAgOSAgICAgMCAgICAgMCA2 NTUzNSkgOyBCbHVlCisgICAgICAoImxpZ2h0Z3JlZW4iICAgIDEwICAgICAwIDY1NTM1ICAgICAw KSA7IEdyZWVuCisgICAgICAoImxpZ2h0Y3lhbiIgICAgIDExICAgICAwIDY1NTM1IDY1NTM1KSA7 IEN5YW4KKyAgICAgICgibGlnaHRyZWQiICAgICAgMTIgNjU1MzUgICAgIDAgICAgIDApIDsgUmVk CisgICAgICAoImxpZ2h0bWFnZW50YSIgIDEzIDY1NTM1ICAgICAwIDY1NTM1KSA7IE1hZ2VudGEK KyAgICAgICgieWVsbG93IiAgICAgICAgMTQgNjU1MzUgNjU1MzUgICAgIDApIDsgWWVsbG93Cisg ICAgICAoIndoaXRlIiAgICAgICAgIDE1IDY1NTM1IDY1NTM1IDY1NTM1KSkpCiAiQSBsaXN0IG9m IFZHQSBjb25zb2xlIGNvbG9ycywgdGhlaXIgaW5kaWNlcyBhbmQgMTYtYml0IFJHQiB2YWx1ZXMu IikKIAogKGRlY2xhcmUtZnVuY3Rpb24geC1zZXR1cC1mdW5jdGlvbi1rZXlzICJ0ZXJtL2NvbW1v bi13aW4iIChmcmFtZSkpCkBAIC01MCw2ICs2Nyw0NyBAQAogKGRlY2xhcmUtZnVuY3Rpb24gdzMy LWdldC1jb25zb2xlLWNvZGVwYWdlICJ3MzJwcm9jLmMiICgpKQogKGRlY2xhcmUtZnVuY3Rpb24g dzMyLWdldC1jb25zb2xlLW91dHB1dC1jb2RlcGFnZSAidzMycHJvYy5jIiAoKSkKIAorKGRlZnVu IHczMmNvbi1kZWZpbmUtYmFzZS1jb2xvcnMgKCkKKyAgIkRlZmluZXMgYmFzZSBjb2xvciBzcGFj ZSBmb3IgdzMyIgorICAobGV0KiAoKGNvbG9ycyB3MzItdHR5LXN0YW5kYXJkLWNvbG9ycykKKyAg ICAgICAgIChuYmFzZSAobGVuZ3RoIGNvbG9ycykpCisgICAgICAgICAoY29sb3IgKGNhciBjb2xv cnMpKSkKKyAgICAocHJvZ24gKHdoaWxlIGNvbG9ycworICAgICAgICAgICAgICh0dHktY29sb3It ZGVmaW5lIChjYXIgY29sb3IpIChjYWRyIGNvbG9yKSAoY2RkciBjb2xvcikpCisgICAgICAgICAg ICAgKHNldHEgY29sb3JzIChjZHIgY29sb3JzKQorICAgICAgICAgICAgICAgICAgIGNvbG9yICAo Y2FyIGNvbG9ycykpKQorICAgICAgICAgICBuYmFzZSkpKQorCisoZGVmdW4gdzMyY29uLWRlZmlu ZS0yNTYtY29sb3JzICgpCisgICJEZWZpbmVzIDI1NiBjb2xvciBzcGFjZSIKKyAgKGxldCAoKHIg MCkgKGIgMCkgKGcgMCkKKyAgICAgICAgKG4gKC0gMjU2ICh3MzJjb24tZGVmaW5lLWJhc2UtY29s b3JzKSkpCisgICAgICAgIChjb252ZXJ0LXRvLTE2Yml0IChsYW1iZGEgKHByaW0pIChsb2dpb3Ig cHJpbSAoYXNoIHByaW0gOCkpKSkpCisgICAgKHdoaWxlICg+IG4gMjQpIDs7IG5vbi1ncmV5Cisg ICAgICAobGV0ICgoaSAoLSAyNTYgbikpCisgICAgICAgICAgICAoYyAobWFwY2FyIGNvbnZlcnQt dG8tMTZiaXQKKyAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAobGFtYmRhICh4KSAoaWYg KHplcm9wIHgpIDAgKCsgKCogeCA0MCkgNTUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGlzdCByIGcgYikpKSkpCisgICAgICAgICh0dHktY29sb3ItZGVmaW5lIChmb3JtYXQg ImNvbG9yLSVkIiBpKSBpIGMpKQorICAgICAgKHNldHEgYiAoMSsgYikpCisgICAgICAod2hlbiAo PiBiIDUpIChzZXRxIGcgKDErIGcpIGIgMCkpCisgICAgICAod2hlbiAoPiBnIDUpIChzZXRxIHIg KDErIHIpIGcgMCkpCisgICAgICAoc2V0cSBuICgxLSBuKSkpCisgICAgKHdoaWxlICg+IG4gMCkg OzsgYWxsLWdyZXkKKyAgICAgIChsZXQqICgoaSAoLSAyNTYgbikpCisgICAgICAgICAgICAgKHYg KGZ1bmNhbGwgY29udmVydC10by0xNmJpdCAoKyA4ICgqICgtIDI0IG4pIDEwKSkpKQorICAgICAg ICAgICAgIChjIChsaXN0IHYgdiB2KSkpCisgICAgICAgICh0dHktY29sb3ItZGVmaW5lIChmb3Jt YXQgImNvbG9yLSVkIiBpKSBpIGMpKQorICAgICAgKHNldHEgbiAoMS0gbikpKSkpCisKKyhkZWZ1 biB3MzJjb24tZGVmaW5lLTI0Yml0LWNvbG9ycyAoKQorICAiRGVmaW5lcyAyNCBiaXQgY29sb3Ig c3BhY2UiCisgIChsZXQgKChpICh3MzJjb24tZGVmaW5lLWJhc2UtY29sb3JzKSkpCisgICAgKG1h cGMgKGxhbWJkYSAoYykgKHVubGVzcyAoYXNzb2MgKGNhciBjKSB3MzItdHR5LXN0YW5kYXJkLWNv bG9ycykKKyAgICAgICAgICAgICAgICAgICAodHR5LWNvbG9yLWRlZmluZSAoY2FyIGMpIGkgKGNk ciBjKSkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSBpICgxKyBpKSkpKQorICAgICAgICAgIGNv bG9yLW5hbWUtcmdiLWFsaXN0KSkpCisKIChkZWZ1biB0ZXJtaW5hbC1pbml0LXczMmNvbnNvbGUg KCkKICAgIlRlcm1pbmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB3MzIgY29uc29sZS4i CiAgIDs7IFNoYXJlIGZ1bmN0aW9uIGtleSBpbml0aWFsaXphdGlvbiB3aXRoIHczMiBndWkgZnJh bWVzCkBAIC02MCwyMiArMTE4LDIxIEBACiAJKG9lbS1jb2RlLXBhZ2Utb3V0cHV0LWNvZGluZwog CSAoaW50ZXJuIChmb3JtYXQgImNwJWQiICh3MzItZ2V0LWNvbnNvbGUtb3V0cHV0LWNvZGVwYWdl KSkpKQogCW9lbS1jcy1wIG9lbS1vLWNzLXApCi0JKHNldHEgb2VtLWNzLXAgKGNvZGluZy1zeXN0 ZW0tcCBvZW0tY29kZS1wYWdlLWNvZGluZykpCi0JKHNldHEgb2VtLW8tY3MtcCAoY29kaW5nLXN5 c3RlbS1wIG9lbS1jb2RlLXBhZ2Utb3V0cHV0LWNvZGluZykpCi0JKHdoZW4gb2VtLWNzLXAKLQkg IChzZXQta2V5Ym9hcmQtY29kaW5nLXN5c3RlbSBvZW0tY29kZS1wYWdlLWNvZGluZykKLQkgIChz ZXQtdGVybWluYWwtY29kaW5nLXN5c3RlbQotCSAgIChpZiBvZW0tby1jcy1wIG9lbS1jb2RlLXBh Z2Utb3V0cHV0LWNvZGluZyBvZW0tY29kZS1wYWdlLWNvZGluZykpCi0gICAgICAgICAgOzsgU2lu Y2Ugd2UgY2hhbmdlZCB0aGUgdGVybWluYWwgZW5jb2RpbmcsIHdlIG5lZWQgdG8gcmVwZWF0Ci0g ICAgICAgICAgOzsgdGhlIHRlc3QgZm9yIFVuaWNvZGUgcXVvdGVzIGJlaW5nIGRpc3BsYXlhYmxl LgotICAgICAgICAgIChzdGFydHVwLS1zZXR1cC1xdW90ZS1kaXNwbGF5KSkpCi0gIChsZXQqICgo Y29sb3JzIHczMi10dHktc3RhbmRhcmQtY29sb3JzKQotICAgICAgICAgKGNvbG9yIChjYXIgY29s b3JzKSkpCi0gICAgKHR0eS1jb2xvci1jbGVhcikKLSAgICAod2hpbGUgY29sb3JzCi0gICAgICAo dHR5LWNvbG9yLWRlZmluZSAoY2FyIGNvbG9yKSAoY2FkciBjb2xvcikgKGNkZHIgY29sb3IpKQot ICAgICAgKHNldHEgY29sb3JzIChjZHIgY29sb3JzKQotICAgICAgICAgICAgY29sb3IgKGNhciBj b2xvcnMpKSkpCisgICAgKHNldHEgb2VtLWNzLXAgKGNvZGluZy1zeXN0ZW0tcCBvZW0tY29kZS1w YWdlLWNvZGluZykpCisgICAgKHNldHEgb2VtLW8tY3MtcCAoY29kaW5nLXN5c3RlbS1wIG9lbS1j b2RlLXBhZ2Utb3V0cHV0LWNvZGluZykpCisgICAgKHdoZW4gb2VtLWNzLXAKKyAgICAgIChzZXQt a2V5Ym9hcmQtY29kaW5nLXN5c3RlbSBvZW0tY29kZS1wYWdlLWNvZGluZykKKyAgICAgIChzZXQt dGVybWluYWwtY29kaW5nLXN5c3RlbQorICAgICAgIChpZiBvZW0tby1jcy1wIG9lbS1jb2RlLXBh Z2Utb3V0cHV0LWNvZGluZyBvZW0tY29kZS1wYWdlLWNvZGluZykpCisgICAgICA7OyBTaW5jZSB3 ZSBjaGFuZ2VkIHRoZSB0ZXJtaW5hbCBlbmNvZGluZywgd2UgbmVlZCB0byByZXBlYXQKKyAgICAg IDs7IHRoZSB0ZXN0IGZvciBVbmljb2RlIHF1b3RlcyBiZWluZyBkaXNwbGF5YWJsZS4KKyAgICAg IChzdGFydHVwLS1zZXR1cC1xdW90ZS1kaXNwbGF5KSkpCisgIDs7IERlZmluZSB0aGUgY29sb3Ig c3BhY2UKKyAgKHR0eS1jb2xvci1jbGVhcikKKyAgKGxldCAoKG5jb2xvcnMgKGRpc3BsYXktY29s b3ItY2VsbHMpKSkKKyAgICAoY29uZCAoKD0gbmNvbG9ycyAxNjc3NzIxNikgKHczMmNvbi1kZWZp bmUtMjRiaXQtY29sb3JzKSkKKyAgICAgICAgICAoKD0gbmNvbG9ycyAyNjUgICAgICAgKHczMmNv bi1kZWZpbmUtMjU2LWNvbG9ycykpKQorICAgICAgICAgICh0ICAgICAgICAgICAgICAgICAgICAo dzMyY29uLWRlZmluZS1iYXNlLWNvbG9ycykpKSkKICAgKGNsZWFyLWZhY2UtY2FjaGUpCiAgIDs7 IEZpZ3VyZSBvdXQgd2hhdCBhcmUgdGhlIGNvbG9ycyBvZiB0aGUgY29uc29sZSB3aW5kb3csIGFu ZCBzZXQgdXAKICAgOzsgdGhlIGJhY2tncm91bmQtbW9kZSBjb3JyZXNwb25kaW5nbHkuCmRpZmYg LS1naXQgYS9zcmMvbnN0ZXJtLm0gYi9zcmMvbnN0ZXJtLm0KaW5kZXggNTEyNzczOWUyZDkuLjY4 NGI3NTg2MDE5IDEwMDY0NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBA IC03MjY1LDEwICs3MjY1LDYgQEAgLSAodm9pZClpbnNlcnRUZXh0OiAoaWQpYVN0cmluZwogICBp ZiAoIWVtYWNzX2V2ZW50KQogICAgIHJldHVybjsKIAotICAvKiBGaXJzdCwgY2xlYXIgYW55IHdv cmtpbmcgdGV4dC4gICovCi0gIGlmICh3b3JraW5nVGV4dCAhPSBuaWwpCi0gICAgW3NlbGYgZGVs ZXRlV29ya2luZ1RleHRdOwotCiAgIC8qIEl0IG1pZ2h0IGJlIHByZWZlcmFibGUgdG8gdXNlIGdl dENoYXJhY3RlcnM6cmFuZ2U6IGJlbG93LAogICAgICBjZi4gaHR0cHM6Ly9kZXZlbG9wZXIuYXBw bGUuY29tL2xpYnJhcnkvY29udGVudC9kb2N1bWVudGF0aW9uL0NvY29hL0NvbmNlcHR1YWwvQ29j b2FQZXJmb3JtYW5jZS9BcnRpY2xlcy9TdHJpbmdEcmF3aW5nLmh0bWwjLy9hcHBsZV9yZWYvZG9j L3VpZC9UUDQwMDAxNDQ1LTExMjM3OC4KICAgICAgSG93ZXZlciwgd2UgcHJvYmFibHkgY2FuJ3Qg dXNlIFNBRkVfTkFMTE9DQSBoZXJlIGJlY2F1c2UgaXQgbWlnaHQKQEAgLTcyOTcsNiArNzI5Mywx MCBAQCAtICh2b2lkKWluc2VydFRleHQ6IChpZClhU3RyaW5nCiAgICAgICBlbWFjc19ldmVudC0+ Y29kZSA9IGNvZGU7CiAgICAgICBFVl9UUkFJTEVSICgoaWQpbmlsKTsKICAgICB9CisKKyAgLyog RmluYWxseSwgY2xlYXIgYW55IHdvcmtpbmcgdGV4dC4gICovCisgIGlmICh3b3JraW5nVGV4dCAh PSBuaWwpCisgICAgW3NlbGYgZGVsZXRlV29ya2luZ1RleHRdOwogfQogCiAKZGlmZiAtLWdpdCBh L3NyYy90ZXJtLmMgYi9zcmMvdGVybS5jCmluZGV4IGExZTNmNjMxMmM2Li5lNzYyMDI0YmRkNSAx MDA2NDQKLS0tIGEvc3JjL3Rlcm0uYworKysgYi9zcmMvdGVybS5jCkBAIC00Njg2LDcgKzQ2ODYs MTcgQEAgdXNlIHRoZSBCb3VybmUgc2hlbGwgY29tbWFuZCAnVEVSTT0uLi47IGV4cG9ydCBURVJN JyAoQy1zaGVsbDpcblwKICAgICAgZG9uJ3QgdGhpbmsgd2UncmUgbG9zaW5nIGFueXRoaW5nIGJ5 IHR1cm5pbmcgaXQgb2ZmLiAgKi8KICAgdHR5LT5saW5lX2luc19kZWxfb2sgPSAwOwogCi0gIHR0 eS0+VE5fbWF4X2NvbG9ycyA9IDE2OyAgLyogTXVzdCBiZSBub24temVybyBmb3IgdHR5LWRpc3Bs YXktY29sb3ItcC4gICovCisgIC8qIFN1cHBvcnQgZnVsbCByYW5nZSBvZiBjb2xvcnMgaW4gbmV3 IHdpbmRvd3MgdGVybWluYWwgYXBwICovCisgICNpZiBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9S XzE2KQorICAgIHR0eS0+VE5fbWF4X2NvbG9ycyA9IDE2OworICAjZWxpZiBkZWZpbmVkKFVTRV9X MzJDT05WVENPTE9SXzI1NikKKyAgICB0dHktPlROX21heF9jb2xvcnMgPSAyNTY7CisgICNlbGlm IGRlZmluZWQoVVNFX1czMkNPTlZUQ09MT1JfMjRCSVQpCisgICAgdHR5LT5UTl9tYXhfY29sb3Jz ID0gMTY3NzcyMTY7CisgICNlbHNlCisgICAgLyogTXVzdCBiZSBub24temVybyBmb3IgdHR5LWRp c3BsYXktY29sb3ItcC4gICovCisgICAgdHR5LT5UTl9tYXhfY29sb3JzID0gMTY7CisgICNlbmRp ZgogI2VuZGlmCS8qIERPU19OVCAqLwogCiAjaWZkZWYgSEFWRV9HUE0KZGlmZiAtLWdpdCBhL3Ny Yy93MzJjb25zb2xlLmMgYi9zcmMvdzMyY29uc29sZS5jCmluZGV4IDFiY2EwY2FkZmY5Li41YTVk NTE5ZmZjMyAxMDA2NDQKLS0tIGEvc3JjL3czMmNvbnNvbGUuYworKysgYi9zcmMvdzMyY29uc29s ZS5jCkBAIC01Myw2ICs1MywxMCBAQCBzdGF0aWMgdm9pZCB3MzJjb25fc2V0X3Rlcm1pbmFsX21v ZGVzIChzdHJ1Y3QgdGVybWluYWwgKnQpOwogc3RhdGljIHZvaWQgdzMyY29uX3VwZGF0ZV9iZWdp biAoc3RydWN0IGZyYW1lICogZik7CiBzdGF0aWMgdm9pZCB3MzJjb25fdXBkYXRlX2VuZCAoc3Ry dWN0IGZyYW1lICogZik7CiBzdGF0aWMgV09SRCB3MzJfZmFjZV9hdHRyaWJ1dGVzIChzdHJ1Y3Qg ZnJhbWUgKmYsIGludCBmYWNlX2lkKTsKKyNpZiBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzE2 KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI1NikgfHwgZGVmaW5lZChVU0VfVzMyQ09O VlRDT0xPUl8yNEJJVCkKK3N0YXRpYyB2b2lkIHR1cm5fb25fZmFjZSAoc3RydWN0IGZyYW1lICos IGludCBmYWNlX2lkKTsKK3N0YXRpYyB2b2lkIHR1cm5fb2ZmX2ZhY2UgKHN0cnVjdCBmcmFtZSAq LCBpbnQgZmFjZV9pZCk7CisjZW5kaWYKIAogc3RhdGljIENPT1JECWN1cnNvcl9jb29yZHM7CiBz dGF0aWMgSEFORExFCXByZXZfc2NyZWVuLCBjdXJfc2NyZWVuOwpAQCAtMTY2LDEwICsxNzAsMTAg QEAgdzMyY29uX2NsZWFyX2VuZF9vZl9saW5lIChzdHJ1Y3QgZnJhbWUgKmYsIGludCBlbmQpCiAg ICAgewogICAgICAgaW50IGk7CiAgICAgICBmb3IgKGkgPSAwOyBpIDwgZ2x5cGhzX2xlbjsgaSsr KQotICAgICAgICB7CisJewogCSAgbWVtY3B5ICgmZ2x5cGhzW2ldLCAmc3BhY2VfZ2x5cGgsIHNp emVvZiAoc3RydWN0IGdseXBoKSk7CiAJICBnbHlwaHNbaV0uZnJhbWUgPSBOVUxMOwotICAgICAg ICB9CisJfQogICAgICAgY2VvbF9pbml0aWFsaXplZCA9IFRSVUU7CiAgICAgfQogICB3MzJjb25f d3JpdGVfZ2x5cGhzIChmLCBnbHlwaHMsIGVuZCAtIGN1cnNvcl9jb29yZHMuWCk7CkBAIC0yMTgs MjYgKzIyMiwyNiBAQCB3MzJjb25faW5zX2RlbF9saW5lcyAoc3RydWN0IGZyYW1lICpmLCBpbnQg dnBvcywgaW50IG4pCiAgIGlmIChuID4gMCkKICAgICB7CiAgICAgICBpZiAoc2Nyb2xsLkJvdHRv bSA8IGRlc3QuWSkKLSAgICAgICAgeworCXsKIAkgIGZvciAoaSA9IHNjcm9sbC5Cb3R0b207IGkg PCBkZXN0Llk7IGkrKykKLSAgICAgICAgICAgIHsKKwkgICAgewogCSAgICAgIHczMmNvbl9tb3Zl X2N1cnNvciAoZiwgaSwgMCk7CiAJICAgICAgdzMyY29uX2NsZWFyX2VuZF9vZl9saW5lIChmLCBG UkFNRV9DT0xTIChmKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKwkgICAgfQorCX0KICAg ICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBuYiA9IGRlc3QuWSArIChzY3JvbGwuQm90dG9tIC0g c2Nyb2xsLlRvcCkgKyAxOwogCiAgICAgICBpZiAobmIgPCBzY3JvbGwuVG9wKQotICAgICAgICB7 CisJewogCSAgZm9yIChpID0gbmI7IGkgPCBzY3JvbGwuVG9wOyBpKyspCi0gICAgICAgICAgICB7 CisJICAgIHsKIAkgICAgICB3MzJjb25fbW92ZV9jdXJzb3IgKGYsIGksIDApOwogCSAgICAgIHcz MmNvbl9jbGVhcl9lbmRfb2ZfbGluZSAoZiwgRlJBTUVfQ09MUyAoZikpOwotICAgICAgICAgICAg fQotICAgICAgICB9CisJICAgIH0KKwl9CiAgICAgfQogCiAgIGN1cnNvcl9jb29yZHMuWCA9IDA7 CkBAIC0zMDYsMTAgKzMxMCwxNCBAQCB3MzJjb25faW5zZXJ0X2dseXBocyAoc3RydWN0IGZyYW1l ICpmLCByZWdpc3RlciBzdHJ1Y3QgZ2x5cGggKnN0YXJ0LAogCiBzdGF0aWMgdm9pZAogdzMyY29u X3dyaXRlX2dseXBocyAoc3RydWN0IGZyYW1lICpmLCByZWdpc3RlciBzdHJ1Y3QgZ2x5cGggKnN0 cmluZywKLSAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGludCBsZW4pCisJCSAgICAgcmVn aXN0ZXIgaW50IGxlbikKIHsKICAgRFdPUkQgcjsKKworICAjaWYgZGVmaW5lZChVU0VfVzMyQ09O VlRDT0xPUl8xNikgfHwgZGVmaW5lZChVU0VfVzMyQ09OVlRDT0xPUl8yNTYpIHx8IGRlZmluZWQo VVNFX1czMkNPTlZUQ09MT1JfMjRCSVQpCisgICNlbHNlCiAgIFdPUkQgY2hhcl9hdHRyOworICAj ZW5kaWYKICAgTFBDU1RSIGNvbnZlcnNpb25fYnVmZmVyOwogICBzdHJ1Y3QgY29kaW5nX3N5c3Rl bSAqY29kaW5nOwogCkBAIC0zNDAsMTAgKzM0OCwxNSBAQCB3MzJjb25fd3JpdGVfZ2x5cGhzIChz dHJ1Y3QgZnJhbWUgKmYsIHJlZ2lzdGVyIHN0cnVjdCBnbHlwaCAqc3RyaW5nLAogCSAgICAgICYm IHN0cmluZ1tuXS5mcmFtZSA9PSBmYWNlX2lkX2ZyYW1lKSkKIAkgIGJyZWFrOwogCi0gICAgICAv KiB3MzJjb25fY2xlYXJfZW5kX29mX2xpbmUgc2V0cyBmcmFtZSBvZiBnbHlwaHMgdG8gTlVMTC4g ICovCi0gICAgICBzdHJ1Y3QgZnJhbWUgKmF0dHJfZnJhbWUgPSBmYWNlX2lkX2ZyYW1lID8gZmFj ZV9pZF9mcmFtZSA6IGY7Ci0gICAgICAvKiBUdXJuIGFwcGVhcmFuY2UgbW9kZXMgb2YgdGhlIGZh Y2Ugb2YgdGhlIHJ1biBvbi4gICovCi0gICAgICBjaGFyX2F0dHIgPSB3MzJfZmFjZV9hdHRyaWJ1 dGVzIChhdHRyX2ZyYW1lLCBmYWNlX2lkKTsKKyNpZiBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9S XzE2KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI1NikgfHwgZGVmaW5lZChVU0VfVzMy Q09OVlRDT0xPUl8yNEJJVCkKKwl0dXJuX29uX2ZhY2UgKGYsIGZhY2VfaWQpOworI2Vsc2UKKwkv KiB3MzJjb25fY2xlYXJfZW5kX29mX2xpbmUgc2V0cyBmcmFtZSBvZiBnbHlwaHMgdG8gTlVMTC4g ICovCisJc3RydWN0IGZyYW1lICphdHRyX2ZyYW1lID0gZmFjZV9pZF9mcmFtZSA/IGZhY2VfaWRf ZnJhbWUgOiBmOworCisJLyogVHVybiBhcHBlYXJhbmNlIG1vZGVzIG9mIHRoZSBmYWNlIG9mIHRo ZSBydW4gb24uICAqLworCWNoYXJfYXR0ciA9IHczMl9mYWNlX2F0dHJpYnV0ZXMgKGF0dHJfZnJh bWUsIGZhY2VfaWQpOworI2VuZGlmCiAKICAgICAgIGlmIChuID09IGxlbikKIAkvKiBUaGlzIGlz IHRoZSBsYXN0IHJ1bi4gICovCkBAIC0zNTEsNiArMzY0LDE1IEBAIHczMmNvbl93cml0ZV9nbHlw aHMgKHN0cnVjdCBmcmFtZSAqZiwgcmVnaXN0ZXIgc3RydWN0IGdseXBoICpzdHJpbmcsCiAgICAg ICBjb252ZXJzaW9uX2J1ZmZlciA9IChMUENTVFIpIGVuY29kZV90ZXJtaW5hbF9jb2RlIChzdHJp bmcsIG4sIGNvZGluZyk7CiAgICAgICBpZiAoY29kaW5nLT5wcm9kdWNlZCA+IDApCiAJeworI2lm IGRlZmluZWQoVVNFX1czMkNPTlZUQ09MT1JfMTYpIHx8IGRlZmluZWQoVVNFX1czMkNPTlZUQ09M T1JfMjU2KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI0QklUKQorCSAgaWYgKCFXcml0 ZUNvbnNvbGUgKGN1cl9zY3JlZW4sIGNvbnZlcnNpb25fYnVmZmVyLAorCQkJICAgICBjb2Rpbmct PnByb2R1Y2VkLCAmciwgTlVMTCkpCisJICAgIHsKKwkgICAgICBwcmludGYgKCJGYWlsZWQgd3Jp dGluZyBjb25zb2xlIGNoYXJhY3RlcnM6ICVsdVxuIiwKKwkJICAgICAgR2V0TGFzdEVycm9yICgp KTsKKwkgICAgICBmZmx1c2ggKHN0ZG91dCk7CisJICAgIH0KKyNlbHNlCiAJICAvKiBTZXQgdGhl IGF0dHJpYnV0ZSBmb3IgdGhlc2UgY2hhcmFjdGVycy4gICovCiAJICBpZiAoIUZpbGxDb25zb2xl T3V0cHV0QXR0cmlidXRlIChjdXJfc2NyZWVuLCBjaGFyX2F0dHIsCiAJCQkJCSAgIGNvZGluZy0+ cHJvZHVjZWQsIGN1cnNvcl9jb29yZHMsCkBAIC0zNzAsMTIgKzM5MiwxNiBAQCB3MzJjb25fd3Jp dGVfZ2x5cGhzIChzdHJ1Y3QgZnJhbWUgKmYsIHJlZ2lzdGVyIHN0cnVjdCBnbHlwaCAqc3RyaW5n LAogCQkgICAgICBHZXRMYXN0RXJyb3IgKCkpOwogCSAgICAgIGZmbHVzaCAoc3Rkb3V0KTsKIAkg ICAgfQotCisjZW5kaWYKIAkgIGN1cnNvcl9jb29yZHMuWCArPSBjb2RpbmctPnByb2R1Y2VkOwog CSAgdzMyY29uX21vdmVfY3Vyc29yIChmLCBjdXJzb3JfY29vcmRzLlksIGN1cnNvcl9jb29yZHMu WCk7CiAJfQogICAgICAgbGVuIC09IG47CiAgICAgICBzdHJpbmcgKz0gbjsKKworI2lmIGRlZmlu ZWQoVVNFX1czMkNPTlZUQ09MT1JfMTYpIHx8IGRlZmluZWQoVVNFX1czMkNPTlZUQ09MT1JfMjU2 KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI0QklUKQorICAgICAgdHVybl9vZmZfZmFj ZSAoZiwgZmFjZV9pZCk7CisjZW5kaWYKICAgICB9CiB9CiAKQEAgLTQ5OCw3ICs1MjQsNyBAQCB0 dHlfZHJhd19yb3dfd2l0aF9tb3VzZV9mYWNlIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5 cGhfcm93ICp3aW5kb3dfcm93LAogCQkgIH0KIAkJICBicmVhazsKIAotCQljYXNlIERSQVdfSU5W RVJTRV9WSURFTzoKKwkJY2FzZSBEUkFXX0lOVkVSU0VfVklERU86IC8vIHNlZSBjb21tZW50IGlu IHR1cm5fb25fZmFjZQogCQljYXNlIERSQVdfQ1VSU09SOgogCQljYXNlIERSQVdfSU1BR0VfUkFJ U0VEOgogCQljYXNlIERSQVdfSU1BR0VfU1VOS0VOOgpAQCAtNTc4LDYgKzYwNCwxMyBAQCB3MzJj b25fc2V0X3Rlcm1pbmFsX21vZGVzIChzdHJ1Y3QgdGVybWluYWwgKnQpCiAgIC8qIEluaXRpYWxp emUgaW5wdXQgbW9kZTogaW50ZXJydXB0X2lucHV0IG9mZiwgbm8gZmxvdyBjb250cm9sLCBhbGxv dwogICAgICA4IGJpdCBjaGFyYWN0ZXIgaW5wdXQsIHN0YW5kYXJkIHF1aXQgY2hhci4gICovCiAg IEZzZXRfaW5wdXRfbW9kZSAoUW5pbCwgUW5pbCwgbWFrZV9maXhudW0gKDIpLCBRbmlsKTsKKwor I2lmIGRlZmluZWQoVVNFX1czMkNPTlZUQ09MT1JfMTYpIHx8IGRlZmluZWQoVVNFX1czMkNPTlZU Q09MT1JfMjU2KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI0QklUKQorICBEV09SRCBt b2RlOworICBHZXRDb25zb2xlTW9kZSAoY3VyX3NjcmVlbiwgJm1vZGUpOworICBtb2RlIHw9IEVO QUJMRV9WSVJUVUFMX1RFUk1JTkFMX1BST0NFU1NJTkc7CisgIFNldENvbnNvbGVNb2RlIChjdXJf c2NyZWVuLCBtb2RlKTsKKyNlbmRpZgogfQogCiAvKiBobW1tLi4uIHBlcmhhcHMgdGhlc2UgbGV0 IHVzIGJyYWNrZXQgc2NyZWVuIGNoYW5nZXMgc28gdGhhdCB3ZSBjYW4gZmx1c2gKQEAgLTcyOSw2 ICs3NjIsMTEwIEBAIHczMl9mYWNlX2F0dHJpYnV0ZXMgKHN0cnVjdCBmcmFtZSAqZiwgaW50IGZh Y2VfaWQpCiAgIHJldHVybiBjaGFyX2F0dHI7CiB9CiAKKyNpZiBkZWZpbmVkKFVTRV9XMzJDT05W VENPTE9SXzE2KSB8fCBkZWZpbmVkKFVTRV9XMzJDT05WVENPTE9SXzI1NikgfHwgZGVmaW5lZChV U0VfVzMyQ09OVlRDT0xPUl8yNEJJVCkKK3N0YXRpYyB2b2lkCit0dXJuX29uX2ZhY2UgKHN0cnVj dCBmcmFtZSAqZiwgaW50IGZhY2VfaWQpCit7CisgIHN0cnVjdCBmYWNlICpmYWNlID0gRkFDRV9G Uk9NX0lEIChmLCBmYWNlX2lkKTsKKyAgdW5zaWduZWQgbG9uZyBmZyA9IGZhY2UtPmZvcmVncm91 bmQ7CisgIHVuc2lnbmVkIGxvbmcgYmcgPSBmYWNlLT5iYWNrZ3JvdW5kOworICBzdHJ1Y3QgdHR5 X2Rpc3BsYXlfaW5mbyAqdHR5ID0gRlJBTUVfVFRZIChmKTsKKyAgRFdPUkQgcjsKKworICAvKiBy ZWFsaXplX3R0eV9mYWNlIGluIHhmYWNlcy5jIHN3YXBzIHRoZSB2YWx1ZXMgb2YgZmcgYW5kIGJn IGlmCisgIGZhY2UtPnR0eV9yZXZlcnNlX3AuIEFkZGluZyB0aGUgdGVybWluYWwgc2VxdWVuY2Ug IhtbN20iIGhlcmUKKyAgc3dhcHMgdGhlbSBiYWNrLCBhbmQgbWFrZXMgZm9yIGEgdHJpY2t5IGxp dHRsZSBidWcuIEJld2FyZSEgKi8KKyAgaWYgKGZhY2UtPnR0eV9ib2xkX3ApCisgICAgV3JpdGVD b25zb2xlIChjdXJfc2NyZWVuLCAiG1sxbSIsIDQsICZyLCBOVUxMKTsKKyAgaWYgKGZhY2UtPnR0 eV9pdGFsaWNfcCkKKyAgICBXcml0ZUNvbnNvbGUgKGN1cl9zY3JlZW4sICIbWzNtIiwgNCwgJnIs IE5VTEwpOworICBpZiAoZmFjZS0+dHR5X3N0cmlrZV90aHJvdWdoX3ApCisgICAgV3JpdGVDb25z b2xlIChjdXJfc2NyZWVuLCAiG1s5bSIsIDQsICZyLCBOVUxMKTsKKyAgaWYgKGZhY2UtPnVuZGVy bGluZSAhPSAwKSAvKiBubyBzdXBwb3J0IGZvciBtdWx0aWNvbG9yIGdseXBocyBub3cgKi8KKyAg ICBXcml0ZUNvbnNvbGUgKGN1cl9zY3JlZW4sICIbWzRtIiwgNCwgJnIsIE5VTEwpOworCisgIGlm ICh0dHktPlROX21heF9jb2xvcnMgPiAwKQorICAgIHsKKyAgICAgIGlmICh0dHktPlROX21heF9j b2xvcnMgPT0gMTYgfHwgdHR5LT5UTl9tYXhfY29sb3JzID09IDI1NikKKwl7CisJICBpZiAoZmcg Pj0gMCAmJiBmZyA8IDgpCisJICAgIHsKKwkgICAgICBjaGFyIHBbMTBdOworCSAgICAgIHNucHJp bnRmKHAsIDEwLCAiG1slbHVtIiwgZmcgKyAzMCk7CisJICAgICAgV3JpdGVDb25zb2xlIChjdXJf c2NyZWVuLCBwLCBzdHJsZW4ocCksICZyLCBOVUxMKTsKKwkgICAgfQorCSAgaWYgKGZnID49IDgg JiYgZmcgPCAxNikKKwkgICAgeworCSAgICAgIGNoYXIgcFsxMF07CisJICAgICAgc25wcmludGYo cCwgMTAsICIbWyVsdW0iLCBmZyAtIDggKyA5MCk7CisJICAgICAgV3JpdGVDb25zb2xlIChjdXJf c2NyZWVuLCBwLCBzdHJsZW4ocCksICZyLCBOVUxMKTsKKwkgICAgfQorCSAgaWYgKGZnID49IDE2 ICYmIGZnIDwgMjU2KQorCSAgICB7CisJICAgICAgY2hhciBwWzIwXTsKKwkgICAgICBzbnByaW50 ZihwLCAyMCwgIhtbMzg7NTslbHVtIiwgZmcpOworCSAgICAgIFdyaXRlQ29uc29sZSAoY3VyX3Nj cmVlbiwgcCwgc3RybGVuKHApLCAmciwgTlVMTCk7CisJICAgIH0KKwkgIGlmIChiZyA+PSAwICYm IGJnIDwgOCkKKwkgICAgeworCSAgICAgIGNoYXIgcFsxMF07CisJICAgICAgc25wcmludGYocCwg MTAsICIbWyVsdW0iLCBiZyArIDQwKTsKKwkgICAgICBXcml0ZUNvbnNvbGUgKGN1cl9zY3JlZW4s IHAsIHN0cmxlbihwKSwgJnIsIE5VTEwpOworCSAgICB9CisJICBpZiAoYmcgPj0gOCAmJiBiZyA8 IDE2KQorCSAgICB7CisJICAgICAgY2hhciBwWzEwXTsKKwkgICAgICBzbnByaW50ZihwLCAxMCwg IhtbJWx1bSIsIGJnIC0gOCArIDEwMCk7CisJICAgICAgV3JpdGVDb25zb2xlIChjdXJfc2NyZWVu LCBwLCBzdHJsZW4ocCksICZyLCBOVUxMKTsKKwkgICAgfQorCSAgaWYgKGJnPj0gMTYgJiYgYmcg PCAyNTYpCisJICAgIHsKKwkgICAgICBjaGFyIHBbMjBdOworCSAgICAgIHNucHJpbnRmKHAsIDIw LCAiG1s0ODs1OyVsdW0iLCBiZyk7CisJICAgICAgV3JpdGVDb25zb2xlIChjdXJfc2NyZWVuLCBw LCBzdHJsZW4ocCksICZyLCBOVUxMKTsKKwkgICAgfQorCX0KKyAgICAgIGVsc2UgaWYgKHR0eS0+ VE5fbWF4X2NvbG9ycyA9PSAxNjc3NzIxNikKKworCisJeworCSAgY2hhciBwWzMwXTsKKwkgIHNu cHJpbnRmKHAsMzAsICIbWzM4OzI7JWx1OyVsdTslbHVtIiwgZmcvNjU1MzYsIChmZy8yNTYpJjI1 NSwgZmcmMjU1KTsKKwkgIFdyaXRlQ29uc29sZSAoY3VyX3NjcmVlbiwgcCwgc3RybGVuKHApLCAm ciwgTlVMTCk7CisKKwkgIGNoYXIgcVszMF07CisJICBzbnByaW50ZihxLCAzMCwgIhtbNDg7Mjsl bHU7JWx1OyVsdW0iLCBiZy82NTUzNiwgKGJnLzI1NikmMjU1LCBiZyYyNTUpOworCSAgV3JpdGVD b25zb2xlIChjdXJfc2NyZWVuLCBxLCBzdHJsZW4ocSksICZyLCBOVUxMKTsKKwl9CisgICAgfQor fQorCitzdGF0aWMgdm9pZAordHVybl9vZmZfZmFjZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgZmFj ZV9pZCkKK3sKKyAgc3RydWN0IGZhY2UgKmZhY2UgPSBGQUNFX0ZST01fSUQgKGYsIGZhY2VfaWQp OworICBzdHJ1Y3QgdHR5X2Rpc3BsYXlfaW5mbyAqdHR5ID0gRlJBTUVfVFRZIChmKTsKKyAgRFdP UkQgcjsKKworICBpZiAoZmFjZS0+dHR5X2JvbGRfcAorICAgICAgfHwgZmFjZS0+dHR5X2l0YWxp Y19wCisgICAgICB8fCBmYWNlLT50dHlfc3RyaWtlX3Rocm91Z2hfcAorICAgICAgfHwgKGZhY2Ut PnVuZGVybGluZSAhPSAwKSkKKyAgICB7CisgICAgICBXcml0ZUNvbnNvbGUgKGN1cl9zY3JlZW4s ICIbW20iLCAzLCAmciwgTlVMTCk7CisgICAgfQorICAvKiBTd2l0Y2ggYmFjayB0byBkZWZhdWx0 IGNvbG9ycy4gICovCisgIGlmICh0dHktPlROX21heF9jb2xvcnMgPiAwCisgICAgICAmJiAoKGZh Y2UtPmZvcmVncm91bmQgIT0gRkFDRV9UVFlfREVGQVVMVF9DT0xPUgorCSAgICYmIGZhY2UtPmZv cmVncm91bmQgIT0gRkFDRV9UVFlfREVGQVVMVF9GR19DT0xPUikKKwkgIHx8IChmYWNlLT5iYWNr Z3JvdW5kICE9IEZBQ0VfVFRZX0RFRkFVTFRfQ09MT1IKKwkgICAgICAmJiBmYWNlLT5iYWNrZ3Jv dW5kICE9IEZBQ0VfVFRZX0RFRkFVTFRfQkdfQ09MT1IpKSkKKyAgICB7CisgICAgICBXcml0ZUNv bnNvbGUgKGN1cl9zY3JlZW4sICIbWzM5OzQ5bSIsIDgsICZyLCBOVUxMKTsKKyAgICB9Cit9Cisj ZW5kaWYKKwogLyogVGhlIElNRSB3aW5kb3cgaXMgbmVlZGVkIHRvIHJlY2VpdmUgdGhlIHNlc3Np b24gbm90aWZpY2F0aW9ucwogICAgcmVxdWlyZWQgdG8gcmVzZXQgdGhlIGxvdyBsZXZlbCBrZXli b2FyZCBob29rIHN0YXRlLiAgKi8KIApAQCAtODM0LDcgKzk3MSw3IEBAIGluaXRpYWxpemVfdzMy X2Rpc3BsYXkgKHN0cnVjdCB0ZXJtaW5hbCAqdGVybSwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQp CiAJR2V0Q29uc29sZVNjcmVlbkJ1ZmZlckluZm8gKGN1cl9zY3JlZW4sICZpbmZvKTsKIAogCS8q IFNocmluayB0aGUgd2luZG93IGZpcnN0LCBzbyB0aGUgYnVmZmVyIGRpbWVuc2lvbnMgY2FuIGJl Ci0gICAgICAgICAgIHJlZHVjZWQgaWYgbmVjZXNzYXJ5LiAgKi8KKwkgICByZWR1Y2VkIGlmIG5l Y2Vzc2FyeS4gICovCiAJbmV3X3dpbl9kaW1zLlRvcCA9IDA7CiAJbmV3X3dpbl9kaW1zLkxlZnQg PSAwOwogCW5ld193aW5fZGltcy5Cb3R0b20gPSBtaW4gKG5ld19zaXplLlksIGluZm8uZHdTaXpl LlkpIC0gMTsKQEAgLTk1Nyw3ICsxMDk0LDcgQEAgdm9pZAogc3ltc19vZl9udHRlcm0gKHZvaWQp CiB7CiAgIERFRlZBUl9CT09MICgidzMyLXVzZS1mdWxsLXNjcmVlbi1idWZmZXIiLAotICAgICAg ICAgICAgICAgdzMyX3VzZV9mdWxsX3NjcmVlbl9idWZmZXIsCisJICAgICAgIHczMl91c2VfZnVs bF9zY3JlZW5fYnVmZmVyLAogCSAgICAgICBkb2M6IC8qIE5vbi1uaWwgbWVhbnMgbWFrZSB0ZXJt aW5hbCBmcmFtZXMgdXNlIHRoZSBmdWxsIHNjcmVlbiBidWZmZXIgZGltZW5zaW9ucy4KIFRoaXMg aXMgZGVzaXJhYmxlIHdoZW4gcnVubmluZyBFbWFjcyBvdmVyIHRlbG5ldC4KIEEgdmFsdWUgb2Yg bmlsIG1lYW5zIHVzZSB0aGUgY3VycmVudCBjb25zb2xlIHdpbmRvdyBkaW1lbnNpb25zOyB0aGlz CkBAIC05NjUsNiArMTEwMiwxNSBAQCBtYXkgYmUgcHJlZmVyYWJsZSB3aGVuIHdvcmtpbmcgZGly ZWN0bHkgYXQgdGhlIGNvbnNvbGUgd2l0aCBhIGxhcmdlCiBzY3JvbGwtYmFjayBidWZmZXIuICAq Lyk7CiAgIHczMl91c2VfZnVsbF9zY3JlZW5fYnVmZmVyID0gMDsKIAorICBERUZWQVJfQk9PTCAo InczMmNvbi11c2UtdnQtY29sb3IiLAorCQl3MzJjb25fdXNlX3Z0X2NvbG9yLAorCQlkb2M6IC8q IE5vbi1uaWwgbWVhbnMgdzMyY29uc29sZSB1c2VzIHRlcm1pbmFsIHNlcXVlbmNlcyByYXRoZXIg dGhhbiB3MzIgY29uc29sZSBBUEkgZm9yIGNvbG9yLiAqLyk7CisjaWYgZGVmaW5lZChVU0VfVzMy Q09OVlRDT0xPUl8xNikgfHwgZGVmaW5lZChVU0VfVzMyQ09OVlRDT0xPUl8yNTYpIHx8IGRlZmlu ZWQoVVNFX1czMkNPTlZUQ09MT1JfMjRCSVQpCisgIHczMmNvbl91c2VfdnRfY29sb3IgPSAxOwor I2Vsc2UKKyAgdzMyY29uX3VzZV92dF9jb2xvciA9IDA7CisjZW5kaWYKKwogICBkZWZzdWJyICgm U3NldF9zY3JlZW5fY29sb3IpOwogICBkZWZzdWJyICgmU2dldF9zY3JlZW5fY29sb3IpOwogICBk ZWZzdWJyICgmU3NldF9jdXJzb3Jfc2l6ZSk7Ci0tIAoyLjQ5LjAKCg== --b1=_56Ex8KSqHpskbdU57OtDQXkNvCk2Cjxq6qorpOWB4I--
Ewan <ewan@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#79297; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.