From unknown Tue Aug 19 09:59:48 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#10736 <10736@debbugs.gnu.org> To: bug#10736 <10736@debbugs.gnu.org> Subject: Status: Add "underwave" face attribute Reply-To: bug#10736 <10736@debbugs.gnu.org> Date: Tue, 19 Aug 2025 16:59:48 +0000 retitle 10736 Add "underwave" face attribute reassign 10736 emacs submitter 10736 Aur=C3=A9lien Aptel severity 10736 wishlist tag 10736 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 06 11:59:10 2012 Received: (at submit) by debbugs.gnu.org; 6 Feb 2012 16:59:10 +0000 Received: from localhost ([127.0.0.1]:57398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RuRuG-0002al-2K for submit@debbugs.gnu.org; Mon, 06 Feb 2012 11:59:10 -0500 Received: from eggs.gnu.org ([140.186.70.92]:49213) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RuNGw-0006bc-UO for submit@debbugs.gnu.org; Mon, 06 Feb 2012 07:02:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RuNFw-0007d8-Sv for submit@debbugs.gnu.org; Mon, 06 Feb 2012 07:01:20 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([140.186.70.17]:43722) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuNFw-0007d4-Qm for submit@debbugs.gnu.org; Mon, 06 Feb 2012 07:01:12 -0500 Received: from eggs.gnu.org ([140.186.70.92]:32844) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuNFq-0007qI-Rv for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2012 07:01:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RuNFf-0007bu-Jg for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2012 07:01:06 -0500 Received: from mail-tul01m020-f169.google.com ([209.85.214.169]:36613) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuNFf-0007bq-AP for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2012 07:00:55 -0500 Received: by obbta7 with SMTP id ta7so8506880obb.0 for ; Mon, 06 Feb 2012 04:00:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=zmWVaftIlOvJJ1/NsUfPrvd3rUg4VzWVzRVPr80R+iA=; b=oxDTARPNV5CTpYD5xEIq9xSfcX3eatoJaaKICEPKrfTeJQN3jMq9lGT88CGBqDkDat K505whROkWltwRjH5U3hn7vU1/nH/mU/9lSoERRaCr09gCQqkqRu4W+HrbN6mUCpgJX/ u87hBwy3eH/TNMNZFoa3nahPQKCBy23bNZzsk= MIME-Version: 1.0 Received: by 10.182.88.70 with SMTP id be6mr16356607obb.36.1328529654487; Mon, 06 Feb 2012 04:00:54 -0800 (PST) Received: by 10.182.11.166 with HTTP; Mon, 6 Feb 2012 04:00:54 -0800 (PST) Date: Mon, 6 Feb 2012 13:00:54 +0100 Message-ID: Subject: Add "underwave" face attribute From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=14dae93990972119ad04b84a6ab7 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 06 Feb 2012 11:59:07 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.4 (---) --14dae93990972119ad04b84a6ab7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Changelog =3D=3D=3D=3D=3D=3D=3D=3D=3D 2012-02-06 Aur=C3=A9lien Aptel Add underwave face attribute for X11, W32 and NextStep. Summary of the changes =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The :underline attribute has now a new way to be set: (:color color :style style) If `color' is a string, underline in it. If `color' is `foreground-color', underline with the foreground color of the face. If `style' is `wave' underline with a wave. If `style' is `line' underline with a line. If the attribute :color is omited, underline with the foreground color of the face. If the attribute :style is omited, underline with a line. All the previous ways to set :underline behave the same. Customize menu -------------- The customize menu now looks like this: Underline: [Off/On] Color: [Foreground color/...] Style: [Line/Wave] Implementation -------------- -- src/dispextern.h -- Add a new enum for the underlining type. enum face_underline_type { FACE_UNDER_LINE, FACE_UNDER_WAVE, }; And a new field in struct face. struct face { ... enum face_underline_type underline_type; ... }; -- src/xterm.c -- Update X11 backend. * Add x_draw_underwave(). * The wave is computed from the distance to the left margin so that there is no artifact when drawing 2 consecutive waves. * The drawing is clipped in order to not overlap. static void x_draw_underwave (struct glyph_string *s) * Add a new codepath in x_draw_glyph_string() to handle the new style. /* Draw underline. */ if (s->face->underline_p) { if (s->face->underline_type =3D=3D FACE_UNDER_WAVE) { ...new code... } else if (s->face->underline_type =3D=3D FACE_UNDER_LINE) { ...re-indented old code... } -- src/w32term.m -- -- src/nsterm.c -- Same change made to src/xterm.c, basically. Just replaced line drawing primitive by the system one. * Juanma Barranquero helped on the W32 port. * Alp Aker helped on the NextStep port. -- src/xfaces.c -- Add List_Object for symbol `line' and `wave'. Reuse Qforeground_color, QCstyle, QCcolor. Change checks made to :underline value to accept CONS construct. Handle CONS construct when updating struct face attribute. -- lisp/faces.el -- -- doc/lispref/display.texi -- Update :underline documentation -- lisp/cus-face.el -- Update customize menu for :underline. (:underline (choice :tag "Underline" :help-echo "Control text underlining." (const :tag "Off" nil) (list :tag "On" (const :format "" :value :color) (choice :tag "Color" (const :tag "Foreground Color" foreground-color) color) (const :format "" :value :style) (choice :tag "Style" (const :tag "Line" line) (const :tag "Wave" wave))))) --14dae93990972119ad04b84a6ab7 Content-Type: text/x-patch; charset=US-ASCII; name="underwave-clip-3.patch" Content-Disposition: attachment; filename="underwave-clip-3.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gybg1dr20 ZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSBiL2RvYy9saXNwcmVmL2Rpc3Bs YXkudGV4aQppbmRleCAzODFlYWY2Li40NjRkZmFhIDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9k aXNwbGF5LnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpCkBAIC0yMDgwLDEwICsy MDgwLDMyIEBAIEJhY2tncm91bmQgY29sb3IsIGEgc3RyaW5nLiAgVGhlIHZhbHVlIGNhbiBiZSBh IHN5c3RlbS1kZWZpbmVkIGNvbG9yCiBuYW1lLCBvciBhIGhleGFkZWNpbWFsIGNvbG9yIHNwZWNp ZmljYXRpb24uICBAeHJlZntDb2xvciBOYW1lc30uCiAKIEBpdGVtIDp1bmRlcmxpbmUKLVdoZXRo ZXIgb3Igbm90IGNoYXJhY3RlcnMgc2hvdWxkIGJlIHVuZGVybGluZWQsIGFuZCBpbiB3aGF0IGNv bG9yLiAgSWYKLXRoZSB2YWx1ZSBpcyBAY29kZXt0fSwgdW5kZXJsaW5pbmcgdXNlcyB0aGUgZm9y ZWdyb3VuZCBjb2xvciBvZiB0aGUKLWZhY2UuICBJZiB0aGUgdmFsdWUgaXMgYSBzdHJpbmcsIHVu ZGVybGluaW5nIHVzZXMgdGhhdCBjb2xvci4gIFRoZQotdmFsdWUgQGNvZGV7bmlsfSBtZWFucyBk byBub3QgdW5kZXJsaW5lLgorV2hldGhlciBvciBub3QgY2hhcmFjdGVycyBzaG91bGQgYmUgdW5k ZXJsaW5lZCwgYW5kIGluIHdoYXQKK2NvbG9yLiBIZXJlIGFyZSB0aGUgcG9zc2libGUgdmFsdWVz IG9mIHRoZSBAY29kZXs6dW5kZXJsaW5lfQorYXR0cmlidXRlLCBhbmQgd2hhdCB0aGV5IG1lYW46 CisKK0B0YWJsZSBAYXNpcworQGl0ZW0gQGNvZGV7bmlsfQorRG9uJ3QgdW5kZXJsaW5lLgorCitA aXRlbSBAY29kZXt0fQorVW5kZXJsaW5lIHdpdGggdGhlIGZvcmVncm91bmQgY29sb3Igb2YgdGhl IGZhY2UuCisKK0BpdGVtIEB2YXJ7Y29sb3J9CitVbmRlcmxpbmUgaW4gY29sb3IgQHZhcntjb2xv cn0uCisKK0BpdGVtIEBjb2Rleyg6Y29sb3IgQHZhcntjb2xvcn0gOnN0eWxlIEB2YXJ7c3R5bGV9 KX0KK0lmIEB2YXJ7Y29sb3J9IGlzIGEgc3RyaW5nLCB1bmRlcmxpbmUgaW4gaXQuCitJZiBAdmFy e2NvbG9yfSBpcyBAY29kZXtmb3JlZ3JvdW5kLWNvbG9yfSwgdW5kZXJsaW5lIHdpdGggdGhlCitm b3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNlLgorCitJZiBAdmFye3N0eWxlfSBpcyBAY29kZXt3 YXZlfSB1bmRlcmxpbmUgd2l0aCBhIHdhdmUuCitJZiBAdmFye3N0eWxlfSBpcyBAY29kZXtsaW5l fSB1bmRlcmxpbmUgd2l0aCBhIGxpbmUuIAorCitJZiB0aGUgYXR0cmlidXRlIEBjb2Rlezpjb2xv cn0gaXMgb21pdGVkLCB1bmRlcmxpbmUgd2l0aCB0aGUKK2ZvcmVncm91bmQgY29sb3Igb2YgdGhl IGZhY2UuCitJZiB0aGUgYXR0cmlidXRlIEBjb2RlezpzdHlsZX0gaXMgb21pdGVkLCB1bmRlcmxp bmUgd2l0aCBhIGxpbmUuCitAZW5kIHRhYmxlCiAKIEBpdGVtIDpvdmVybGluZQogV2hldGhlciBv ciBub3QgY2hhcmFjdGVycyBzaG91bGQgYmUgb3ZlcmxpbmVkLCBhbmQgaW4gd2hhdCBjb2xvci4K ZGlmZiAtLWdpdCBhL2xpc3AvY3VzLWZhY2UuZWwgYi9saXNwL2N1cy1mYWNlLmVsCmluZGV4IGQ3 MjUxMTEuLjM2ODBhMjYgMTAwNjQ0Ci0tLSBhL2xpc3AvY3VzLWZhY2UuZWwKKysrIGIvbGlzcC9j dXMtZmFjZS5lbApAQCAtMTM1LDggKzEzNSwxMyBAQAogICAgICAoY2hvaWNlIDp0YWcgIlVuZGVy bGluZSIKIAkgICAgIDpoZWxwLWVjaG8gIkNvbnRyb2wgdGV4dCB1bmRlcmxpbmluZy4iCiAJICAg ICAoY29uc3QgOnRhZyAiT2ZmIiBuaWwpCi0JICAgICAoY29uc3QgOnRhZyAiT24iIHQpCi0JICAg ICAoY29sb3IgOnRhZyAiQ29sb3JlZCIpKSkKKwkgICAgIChsaXN0IDp0YWcgIk9uIgorCQkgICAo Y29uc3QgOmZvcm1hdCAiIiA6dmFsdWUgOmNvbG9yKQorCQkgICAoY2hvaWNlIDp0YWcgIkNvbG9y IiAoY29uc3QgOnRhZyAiRm9yZWdyb3VuZCBDb2xvciIgZm9yZWdyb3VuZC1jb2xvcikgY29sb3Ip CisgICAgICAgICAgICAgICAgICAgKGNvbnN0IDpmb3JtYXQgIiIgOnZhbHVlIDpzdHlsZSkKKyAg ICAgICAgICAgICAgICAgICAoY2hvaWNlIDp0YWcgIlN0eWxlIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIkxpbmUiIGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3QgOnRhZyAiV2F2ZSIgd2F2ZSkpKSkpCiAKICAgICAoOm92ZXJsaW5lCiAgICAg IChjaG9pY2UgOnRhZyAiT3ZlcmxpbmUiCmRpZmYgLS1naXQgYS9saXNwL2ZhY2VzLmVsIGIvbGlz cC9mYWNlcy5lbAppbmRleCA1ZDQwNmFkLi5lNjhhYmIxIDEwMDY0NAotLS0gYS9saXNwL2ZhY2Vz LmVsCisrKyBiL2xpc3AvZmFjZXMuZWwKQEAgLTYxNiwxMCArNjE2LDIxIEBAIFZBTFVFIG11c3Qg YmUgYSBjb2xvciBuYW1lLCBhIHN0cmluZy4KIAogYDp1bmRlcmxpbmUnCiAKLVZBTFVFIHNwZWNp ZmllcyB3aGV0aGVyIGNoYXJhY3RlcnMgaW4gRkFDRSBzaG91bGQgYmUgdW5kZXJsaW5lZC4gIElm Ci1WQUxVRSBpcyB0LCB1bmRlcmxpbmUgd2l0aCBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNl LiAgSWYgVkFMVUUgaXMKLWEgc3RyaW5nLCB1bmRlcmxpbmUgd2l0aCB0aGF0IGNvbG9yLiAgSWYg VkFMVUUgaXMgbmlsLCBleHBsaWNpdGx5Ci1kb24ndCB1bmRlcmxpbmUuCitWQUxVRSBzcGVjaWZp ZXMgd2hldGhlciBjaGFyYWN0ZXJzIGluIEZBQ0Ugc2hvdWxkIGJlIHVuZGVybGluZWQuCitJZiBW QUxVRSBpcyB0LCB1bmRlcmxpbmUgd2l0aCBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNlLgor SWYgVkFMVUUgaXMgYSBzdHJpbmcsIHVuZGVybGluZSB3aXRoIHRoYXQgY29sb3IuCitJZiBWQUxV RSBpcyBuaWwsIGV4cGxpY2l0bHkgZG9uJ3QgdW5kZXJsaW5lLgorCitPdGhlcndpc2UsIFZBTFVF IG11c3QgYmUgYSBwcm9wZXJ0eSBsaXN0IG9mIHRoZSBmb3JtOgorCitgKDpjb2xvciBDT0xPUiA6 c3R5bGUgU1RZTEUpJy4KKworQ09MT1IgY2FuIGJlIGEgZWl0aGVyIGEgY29sb3IgbmFtZSBzdHJp bmcgb3IgYGZvcmVncm91bmQtY29sb3InLgorU1RZTEUgY2FuIGJlIGVpdGhlciBgbGluZScgb3Ig YHdhdmUnLgorSWYgYSBrZXl3b3JkL3ZhbHVlIHBhaXIgaXMgbWlzc2luZyBmcm9tIHRoZSBwcm9w ZXJ0eSBsaXN0LCBhCitkZWZhdWx0IHZhbHVlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIHZhbHVlLgor VGhlIGRlZmF1bHQgdmFsdWUgb2YgQ09MT1IgaXMgdGhlIGZvcmVncm91bmQgY29sb3Igb2YgdGhl IGZhY2UuCitUaGUgZGVmYXVsdCB2YWx1ZSBvZiBTVFlMRSBpcyBgbGluZScuCiAKIGA6b3Zlcmxp bmUnCiAKZGlmZiAtLWdpdCBhL3NyYy9kaXNwZXh0ZXJuLmggYi9zcmMvZGlzcGV4dGVybi5oCmlu ZGV4IDJjNTlmNGYuLmNkYmJjMTYgMTAwNjQ0Ci0tLSBhL3NyYy9kaXNwZXh0ZXJuLmgKKysrIGIv c3JjL2Rpc3BleHRlcm4uaApAQCAtMTUxMCw2ICsxNTEwLDEzIEBAIGVudW0gZmFjZV9ib3hfdHlw ZQogICBGQUNFX1NVTktFTl9CT1gKIH07CiAKKy8qIFVuZGVybGluZSB0eXBlLiAqLworCitlbnVt IGZhY2VfdW5kZXJsaW5lX3R5cGUKK3sKKyAgRkFDRV9VTkRFUl9MSU5FLAorICBGQUNFX1VOREVS X1dBVkUKK307CiAKIC8qIFN0cnVjdHVyZSBkZXNjcmliaW5nIGEgcmVhbGl6ZWQgZmFjZS4KIApA QCAtMTU4NSw2ICsxNTkyLDkgQEAgc3RydWN0IGZhY2UKICAgICAgZHJhd2luZyBzaGFkb3dzLiAg Ki8KICAgdW5zaWduZWQgdXNlX2JveF9jb2xvcl9mb3Jfc2hhZG93c19wIDogMTsKIAorICAvKiBT dHlsZSBvZiB1bmRlcmxpbmluZy4gKi8KKyAgZW51bSBmYWNlX3VuZGVybGluZV90eXBlIHVuZGVy bGluZV90eXBlOworCiAgIC8qIE5vbi16ZXJvIGlmIHRleHQgaW4gdGhpcyBmYWNlIHNob3VsZCBi ZSB1bmRlcmxpbmVkLCBvdmVybGluZWQsCiAgICAgIHN0cmlrZS10aHJvdWdoIG9yIGhhdmUgYSBi b3ggZHJhd24gYXJvdW5kIGl0LiAgKi8KICAgdW5zaWduZWQgdW5kZXJsaW5lX3AgOiAxOwpkaWZm IC0tZ2l0IGEvc3JjL25zdGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDcwZDNjYzAuLjAzNzgz MzAgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTI1OTYs NiArMjU5Niw2OCBAQCBuc19nZXRfZ2x5cGhfc3RyaW5nX2NsaXBfcmVjdCAoc3RydWN0IGdseXBo X3N0cmluZyAqcywgTmF0aXZlUmVjdGFuZ2xlICpucikKICAgcmV0dXJuIG47CiB9CiAKKy8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgICBEcmF3IGEgd2F2eSBsaW5lIHVuZGVyIGdseXBoIHN0cmluZyBzLiBUaGUg d2F2ZSBmaWxscyB3YXZlX2hlaWdodAorICAgcGl4ZWxzIGZyb20geS4KKworICAgICAgICAgICAg ICAgICAgICB4ICAgICAgICAgIHdhdmVfbGVuZ3RoID0gMgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLS0KKyAgICAgICAgICAgICAgICB5ICAgICogICAqICAgKiAgICogICAqCisg ICAgICAgICAgICAgICAgICAgICB8KiAqICogKiAqICogKiAqICoKKyAgICB3YXZlX2hlaWdodCA9 IDMgIHwgKiAgICogICAqICAgKgorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworc3RhdGljIHZvaWQKK25z X2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBDR0Zsb2F0IHdpZHRoLCBD R0Zsb2F0IHgpCit7CisgIGludCB3YXZlX2hlaWdodCA9IDMsIHdhdmVfbGVuZ3RoID0gMzsKKyAg aW50IHksIGR4LCBkeSwgb2RkLCB4bWF4OworICBOU1BvaW50IGEsIGI7CisgIE5TUmVjdCB3YXZl Q2xpcCwgc3RyaW5nQ2xpcCwgZmluYWxDbGlwOworCisgIGR4ID0gd2F2ZV9sZW5ndGg7CisgIGR5 ID0gd2F2ZV9oZWlnaHQgLSAxOworICB5ID0gIHMtPnliYXNlICsgMTsKKyAgeG1heCA9IHggKyB3 aWR0aDsKKworICAvKiBGaW5kIGFuZCBzZXQgY2xpcHBpbmcgcmVjdGFuZ2xlICovCisKKyAgd2F2 ZUNsaXAgPSBOU01ha2VSZWN0ICh4LCB5LCB3aWR0aCwgd2F2ZV9oZWlnaHQpOworICBuc19nZXRf Z2x5cGhfc3RyaW5nX2NsaXBfcmVjdCAocywgJnN0cmluZ0NsaXApOworICBmaW5hbENsaXAgPSBO U0ludGVyc2VjdGlvblJlY3QgKHdhdmVDbGlwLCBzdHJpbmdDbGlwKTsKKworICBpZiAoTlNJc0Vt cHR5UmVjdCAoZmluYWxDbGlwKSkKKyAgICByZXR1cm47CisKKyAgW1tOU0dyYXBoaWNzQ29udGV4 dCBjdXJyZW50Q29udGV4dF0gc2F2ZUdyYXBoaWNzU3RhdGVdOworICBOU1JlY3RDbGlwIChmaW5h bENsaXApOworCisgIC8qIERyYXcgdGhlIHdhdmVzICovCisKKyAgYS54ID0geCAtICgoaW50KSh4 KSAlIGR4KTsKKyAgYi54ID0gYS54ICsgZHg7CisgIG9kZCA9ICgoaW50KShhLngpL2R4KSAlIDI7 CisgIGEueSA9IGIueSA9IHk7CisKKyAgaWYgKG9kZCkKKyAgICBhLnkgKz0gZHk7CisgIGVsc2UK KyAgICBiLnkgKz0gZHk7CisKKyAgd2hpbGUgKGEueCA8PSB4bWF4KQorICAgIHsKKyAgICAgIFtO U0JlemllclBhdGggc3Ryb2tlTGluZUZyb21Qb2ludDphIHRvUG9pbnQ6IGJdOworICAgICAgYS54 ID0gYi54LCBhLnkgPSBiLnk7CisgICAgICBiLnggKz0gZHgsIGIueSA9IHkgKyBvZGQqZHk7Cisg ICAgICBvZGQgPSAhb2RkOworICAgIH0KKworICAvKiBSZXN0b3JlIHByZXZpb3VzIGNsaXBwaW5n IHJlY3RhbmdsZShzKSAqLworICBbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBy ZXN0b3JlR3JhcGhpY3NTdGF0ZV07Cit9CisKKworCiB2b2lkCiBuc19kcmF3X3RleHRfZGVjb3Jh dGlvbiAoc3RydWN0IGdseXBoX3N0cmluZyAqcywgc3RydWN0IGZhY2UgKmZhY2UsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgTlNDb2xvciAqZGVmYXVsdENvbCwgQ0dGbG9hdCB3aWR0aCwgQ0dG bG9hdCB4KQpAQCAtMjYwOSw2MyArMjY3MSw3NSBAQCBuc19kcmF3X3RleHRfZGVjb3JhdGlvbiAo c3RydWN0IGdseXBoX3N0cmluZyAqcywgc3RydWN0IGZhY2UgKmZhY2UsCiAgIC8qIERvIHVuZGVy bGluZS4gKi8KICAgaWYgKGZhY2UtPnVuZGVybGluZV9wKQogICAgIHsKLSAgICAgIE5TUmVjdCBy OwotICAgICAgdW5zaWduZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9uOwotCi0gICAgICAvKiBJ ZiB0aGUgcHJldiB3YXMgdW5kZXJsaW5lZCwgbWF0Y2ggaXRzIGFwcGVhcmFuY2UuICovCi0gICAg ICBpZiAocy0+cHJldiAmJiBzLT5wcmV2LT5mYWNlLT51bmRlcmxpbmVfcAotICAgICAgICAgICYm IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3MgPiAwKQorICAgICAgaWYgKHMtPmZhY2UtPnVu ZGVybGluZV90eXBlID09IEZBQ0VfVU5ERVJfV0FWRSkKICAgICAgICAgewotICAgICAgICAgIHRo aWNrbmVzcyA9IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3M7Ci0gICAgICAgICAgcG9zaXRp b24gPSBzLT5wcmV2LT51bmRlcmxpbmVfcG9zaXRpb247CisgICAgICAgICAgaWYgKGZhY2UtPnVu ZGVybGluZV9kZWZhdWx0ZWRfcCkKKyAgICAgICAgICAgIFtkZWZhdWx0Q29sIHNldF07CisgICAg ICAgICAgZWxzZQorICAgICAgICAgICAgW25zX2xvb2t1cF9pbmRleGVkX2NvbG9yIChmYWNlLT51 bmRlcmxpbmVfY29sb3IsIHMtPmYpIHNldF07CisKKyAgICAgICAgICBuc19kcmF3X3VuZGVyd2F2 ZSAocywgd2lkdGgsIHgpOwogICAgICAgICB9Ci0gICAgICBlbHNlCisgICAgICBlbHNlIGlmIChz LT5mYWNlLT51bmRlcmxpbmVfdHlwZSA9PSBGQUNFX1VOREVSX0xJTkUpCiAgICAgICAgIHsKLSAg ICAgICAgICBzdHJ1Y3QgZm9udCAqZm9udDsKLSAgICAgICAgICB1bnNpZ25lZCBsb25nIGRlc2Nl bnQ7Ci0KLSAgICAgICAgICBmb250PXMtPmZvbnQ7Ci0gICAgICAgICAgZGVzY2VudCA9IHMtPnkg KyBzLT5oZWlnaHQgLSBzLT55YmFzZTsKLQotICAgICAgICAgIC8qIFVzZSB1bmRlcmxpbmUgdGhp Y2tuZXNzIG9mIGZvbnQsIGRlZmF1bHRpbmcgdG8gMS4gKi8KLSAgICAgICAgICB0aGlja25lc3Mg PSAoZm9udCAmJiBmb250LT51bmRlcmxpbmVfdGhpY2tuZXNzID4gMCkKLSAgICAgICAgICAgID8g Zm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzcyA6IDE7Ci0KLSAgICAgICAgICAvKiBEZXRlcm1pbmUg dGhlIG9mZnNldCBvZiB1bmRlcmxpbmluZyBmcm9tIHRoZSBiYXNlbGluZS4gKi8KLSAgICAgICAg ICBpZiAoeF91bmRlcmxpbmVfYXRfZGVzY2VudF9saW5lKQotICAgICAgICAgICAgcG9zaXRpb24g PSBkZXNjZW50IC0gdGhpY2tuZXNzOwotICAgICAgICAgIGVsc2UgaWYgKHhfdXNlX3VuZGVybGlu ZV9wb3NpdGlvbl9wcm9wZXJ0aWVzCi0gICAgICAgICAgICAgICAgICAgJiYgZm9udCAmJiBmb250 LT51bmRlcmxpbmVfcG9zaXRpb24gPj0gMCkKLSAgICAgICAgICAgIHBvc2l0aW9uID0gZm9udC0+ dW5kZXJsaW5lX3Bvc2l0aW9uOwotICAgICAgICAgIGVsc2UgaWYgKGZvbnQpCi0gICAgICAgICAg ICBwb3NpdGlvbiA9IGxyb3VuZCAoZm9udC0+ZGVzY2VudCAvIDIpOwotICAgICAgICAgIGVsc2UK LSAgICAgICAgICAgIHBvc2l0aW9uID0gdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0OwogCi0gICAg ICAgICAgcG9zaXRpb24gPSBtYXggKHBvc2l0aW9uLCB1bmRlcmxpbmVfbWluaW11bV9vZmZzZXQp OworICAgICAgICAgIE5TUmVjdCByOworICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdGhpY2tuZXNz LCBwb3NpdGlvbjsKIAotICAgICAgICAgIC8qIEVuc3VyZSB1bmRlcmxpbmluZyBpcyBub3QgY3Jv cHBlZC4gKi8KLSAgICAgICAgICBpZiAoZGVzY2VudCA8PSBwb3NpdGlvbikKKyAgICAgICAgICAv KiBJZiB0aGUgcHJldiB3YXMgdW5kZXJsaW5lZCwgbWF0Y2ggaXRzIGFwcGVhcmFuY2UuICovCisg ICAgICAgICAgaWYgKHMtPnByZXYgJiYgcy0+cHJldi0+ZmFjZS0+dW5kZXJsaW5lX3AKKyAgICAg ICAgICAgICAgJiYgcy0+cHJldi0+dW5kZXJsaW5lX3RoaWNrbmVzcyA+IDApCiAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgIHBvc2l0aW9uID0gZGVzY2VudCAtIDE7Ci0gICAgICAgICAgICAg IHRoaWNrbmVzcyA9IDE7CisgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IHMtPnByZXYtPnVuZGVy bGluZV90aGlja25lc3M7CisgICAgICAgICAgICAgIHBvc2l0aW9uID0gcy0+cHJldi0+dW5kZXJs aW5lX3Bvc2l0aW9uOwogICAgICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYgKGRlc2NlbnQg PCBwb3NpdGlvbiArIHRoaWNrbmVzcykKLSAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7Ci0gICAg ICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHN0cnVj dCBmb250ICpmb250OworICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRlc2NlbnQ7CisKKyAg ICAgICAgICAgICAgZm9udD1zLT5mb250OworICAgICAgICAgICAgICBkZXNjZW50ID0gcy0+eSAr IHMtPmhlaWdodCAtIHMtPnliYXNlOworCisgICAgICAgICAgICAgIC8qIFVzZSB1bmRlcmxpbmUg dGhpY2tuZXNzIG9mIGZvbnQsIGRlZmF1bHRpbmcgdG8gMS4gKi8KKyAgICAgICAgICAgICAgdGhp Y2tuZXNzID0gKGZvbnQgJiYgZm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzcyA+IDApCisgICAgICAg ICAgICAgICAgPyBmb250LT51bmRlcmxpbmVfdGhpY2tuZXNzIDogMTsKKworICAgICAgICAgICAg ICAvKiBEZXRlcm1pbmUgdGhlIG9mZnNldCBvZiB1bmRlcmxpbmluZyBmcm9tIHRoZSBiYXNlbGlu ZS4gKi8KKyAgICAgICAgICAgICAgaWYgKHhfdW5kZXJsaW5lX2F0X2Rlc2NlbnRfbGluZSkKKyAg ICAgICAgICAgICAgICBwb3NpdGlvbiA9IGRlc2NlbnQgLSB0aGlja25lc3M7CisgICAgICAgICAg ICAgIGVsc2UgaWYgKHhfdXNlX3VuZGVybGluZV9wb3NpdGlvbl9wcm9wZXJ0aWVzCisgICAgICAg ICAgICAgICAgICAgICAgICYmIGZvbnQgJiYgZm9udC0+dW5kZXJsaW5lX3Bvc2l0aW9uID49IDAp CisgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBmb250LT51bmRlcmxpbmVfcG9zaXRpb247Cisg ICAgICAgICAgICAgIGVsc2UgaWYgKGZvbnQpCisgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBs cm91bmQgKGZvbnQtPmRlc2NlbnQgLyAyKTsKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg ICAgICAgIHBvc2l0aW9uID0gdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0OworCisgICAgICAgICAg ICAgIHBvc2l0aW9uID0gbWF4IChwb3NpdGlvbiwgdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0KTsK IAotICAgICAgcy0+dW5kZXJsaW5lX3RoaWNrbmVzcyA9IHRoaWNrbmVzczsKLSAgICAgIHMtPnVu ZGVybGluZV9wb3NpdGlvbiA9IHBvc2l0aW9uOworICAgICAgICAgICAgICAvKiBFbnN1cmUgdW5k ZXJsaW5pbmcgaXMgbm90IGNyb3BwZWQuICovCisgICAgICAgICAgICAgIGlmIChkZXNjZW50IDw9 IHBvc2l0aW9uKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHBvc2l0aW9u ID0gZGVzY2VudCAtIDE7CisgICAgICAgICAgICAgICAgICB0aGlja25lc3MgPSAxOworICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZSBpZiAoZGVzY2VudCA8IHBvc2l0aW9uICsg dGhpY2tuZXNzKQorICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7CisgICAgICAgICAgICB9 CiAKLSAgICAgIHIgPSBOU01ha2VSZWN0ICh4LCBzLT55YmFzZSArIHBvc2l0aW9uLCB3aWR0aCwg dGhpY2tuZXNzKTsKKyAgICAgICAgICBzLT51bmRlcmxpbmVfdGhpY2tuZXNzID0gdGhpY2tuZXNz OworICAgICAgICAgIHMtPnVuZGVybGluZV9wb3NpdGlvbiA9IHBvc2l0aW9uOwogCi0gICAgICBp ZiAoZmFjZS0+dW5kZXJsaW5lX2RlZmF1bHRlZF9wKQotICAgICAgICBbZGVmYXVsdENvbCBzZXRd OwotICAgICAgZWxzZQotICAgICAgICBbbnNfbG9va3VwX2luZGV4ZWRfY29sb3IgKGZhY2UtPnVu ZGVybGluZV9jb2xvciwgcy0+Zikgc2V0XTsKLSAgICAgIE5TUmVjdEZpbGwgKHIpOwotICAgIH0K KyAgICAgICAgICByID0gTlNNYWtlUmVjdCAoeCwgcy0+eWJhc2UgKyBwb3NpdGlvbiwgd2lkdGgs IHRoaWNrbmVzcyk7CiAKKyAgICAgICAgICBpZiAoZmFjZS0+dW5kZXJsaW5lX2RlZmF1bHRlZF9w KQorICAgICAgICAgICAgW2RlZmF1bHRDb2wgc2V0XTsKKyAgICAgICAgICBlbHNlCisgICAgICAg ICAgICBbbnNfbG9va3VwX2luZGV4ZWRfY29sb3IgKGZhY2UtPnVuZGVybGluZV9jb2xvciwgcy0+ Zikgc2V0XTsKKyAgICAgICAgICBOU1JlY3RGaWxsIChyKTsKKyAgICAgICAgfQorICAgIH0KICAg LyogRG8gb3ZlcmxpbmUuIFdlIGZvbGxvdyBvdGhlciB0ZXJtcyBpbiB1c2luZyBhIHRoaWNrbmVz cyBvZiAxCiAgICAgIGFuZCBpZ25vcmluZyBvdmVybGluZV9tYXJnaW4uICovCiAgIGlmIChmYWNl LT5vdmVybGluZV9wKQpkaWZmIC0tZ2l0IGEvc3JjL3czMnRlcm0uYyBiL3NyYy93MzJ0ZXJtLmMK aW5kZXggZjc2NGFkOS4uZDUzZjBhYiAxMDA2NDQKLS0tIGEvc3JjL3czMnRlcm0uYworKysgYi9z cmMvdzMydGVybS5jCkBAIC0zMDksNiArMzA5LDk0IEBAIHczMl9zZXRfY2xpcF9yZWN0YW5nbGUg KEhEQyBoZGMsIFJFQ1QgKnJlY3QpCiAgICAgU2VsZWN0Q2xpcFJnbiAoaGRjLCBOVUxMKTsKIH0K IAorLyogUmVzdG9yZSBjbGlwcGluZyByZWN0YW5nbGUgaW4gUyAqLworc3RhdGljIHZvaWQKK3cz Ml9yZXN0b3JlX2dseXBoX3N0cmluZ19jbGlwIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQorewor ICBSRUNUICpyID0gcy0+Y2xpcDsKKyAgaW50IG4gPSBzLT5udW1fY2xpcHM7CisKKyAgaWYgKG4g PT0gMSkKKyAgICB3MzJfc2V0X2NsaXBfcmVjdGFuZ2xlIChzLT5oZGMsIHIpOworICBlbHNlIGlm IChuID4gMSkKKyAgICB7CisgICAgICBIUkdOIGNsaXAxID0gQ3JlYXRlUmVjdFJnbkluZGlyZWN0 IChyKTsKKyAgICAgIEhSR04gY2xpcDIgPSBDcmVhdGVSZWN0UmduSW5kaXJlY3QgKHIgKyAxKTsK KyAgICAgIGlmIChDb21iaW5lUmduIChjbGlwMSwgY2xpcDEsIGNsaXAyLCBSR05fT1IpICE9IEVS Uk9SKQorICAgICAgICBTZWxlY3RDbGlwUmduIChzLT5oZGMsIGNsaXAxKTsKKyAgICAgIERlbGV0 ZU9iamVjdCAoY2xpcDEpOworICAgICAgRGVsZXRlT2JqZWN0IChjbGlwMik7CisgICAgfQorfQor CisvKgorICAgRHJhdyBhIHdhdnkgbGluZSB1bmRlciBTLiBUaGUgd2F2ZSBmaWxscyB3YXZlX2hl aWdodCBwaXhlbHMgZnJvbSB5MC4KKworICAgICAgICAgICAgICAgICAgICB4MCAgICAgICAgIHdh dmVfbGVuZ3RoID0gMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KKyAgICAg ICAgICAgICAgICB5MCAgICogICAqICAgKiAgICogICAqCisgICAgICAgICAgICAgICAgICAgICB8 KiAqICogKiAqICogKiAqICoKKyAgICB3YXZlX2hlaWdodCA9IDMgIHwgKiAgICogICAqICAgKgor CisqLworCit2b2lkCit3MzJfZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMs IENPTE9SUkVGIGNvbG9yKQoreworICBpbnQgd2F2ZV9oZWlnaHQgPSAyLCB3YXZlX2xlbmd0aCA9 IDM7CisgIGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCBvZGQsIHht YXg7CisgIFhSZWN0YW5nbGUgd2F2ZV9jbGlwLCBzdHJpbmdfY2xpcCwgZmluYWxfY2xpcDsKKyAg UkVDVCB3MzJfZmluYWxfY2xpcCwgdzMyX3N0cmluZ19jbGlwOworICBIUEVOIGhwLCBvbGRocDsK KworICBkeCA9IHdhdmVfbGVuZ3RoOworICBkeSA9IHdhdmVfaGVpZ2h0IC0gMTsKKyAgeDAgPSBz LT54OworICB5MCA9IHMtPnliYXNlICsgMTsKKyAgd2lkdGggPSBzLT53aWR0aDsKKyAgeG1heCA9 IHgwICsgd2lkdGg7CisKKyAgLyogRmluZCBhbmQgc2V0IGNsaXBwaW5nIHJlY3RhbmdsZSAqLwor CisgIHdhdmVfY2xpcCA9IChYUmVjdGFuZ2xlKXsgeDAsIHkwLCB3aWR0aCwgd2F2ZV9oZWlnaHQg fTsKKyAgZ2V0X2dseXBoX3N0cmluZ19jbGlwX3JlY3QgKHMsICZ3MzJfc3RyaW5nX2NsaXApOwor ICBDT05WRVJUX1RPX1hSRUNUIChzdHJpbmdfY2xpcCwgdzMyX3N0cmluZ19jbGlwKTsKKworICBp ZiAoIXhfaW50ZXJzZWN0X3JlY3RhbmdsZXMgKCZ3YXZlX2NsaXAsICZzdHJpbmdfY2xpcCwgJmZp bmFsX2NsaXApKQorICAgIHJldHVybjsKKworICBocCA9IENyZWF0ZVBlbiAoUFNfU09MSUQsIDAs IGNvbG9yKTsKKyAgb2xkaHAgPSBTZWxlY3RPYmplY3QgKHMtPmhkYywgaHApOworICBDT05WRVJU X0ZST01fWFJFQ1QgKGZpbmFsX2NsaXAsIHczMl9maW5hbF9jbGlwKTsKKyAgdzMyX3NldF9jbGlw X3JlY3RhbmdsZSAocy0+aGRjLCAmdzMyX2ZpbmFsX2NsaXApOworCisgIC8qIERyYXcgdGhlIHdh dmVzICovCisKKyAgeDEgPSB4MCAtICh4MCAlIGR4KTsKKyAgeDIgPSB4MSArIGR4OworICBvZGQg PSAoeDEvZHgpICUgMjsKKyAgeTEgPSB5MiA9IHkwOworCisgIGlmIChvZGQpCisgICAgeTEgKz0g ZHk7CisgIGVsc2UKKyAgICB5MiArPSBkeTsKKworICBNb3ZlVG9FeCAocy0+aGRjLCB4MSwgeTEs IE5VTEwpOworCisgIHdoaWxlICh4MSA8PSB4bWF4KQorICAgIHsKKyAgICAgIExpbmVUbyAocy0+ aGRjLCB4MiwgeTIpOworICAgICAgeDEgID0geDIsIHkxID0geTI7CisgICAgICB4MiArPSBkeCwg eTIgPSB5MCArIG9kZCpkeTsKKyAgICAgIG9kZCA9ICFvZGQ7CisgICAgfQorCisgIC8qIFJlc3Rv cmUgcHJldmlvdXMgcGVuIGFuZCBjbGlwcGluZyByZWN0YW5nbGUocykgKi8KKyAgdzMyX3Jlc3Rv cmVfZ2x5cGhfc3RyaW5nX2NsaXAgKHMpOworICBTZWxlY3RPYmplY3QgKHMtPmhkYywgb2xkaHAp OworICBEZWxldGVPYmplY3QgKGhwKTsKK30KIAogLyogRHJhdyBhIGhvbGxvdyByZWN0YW5nbGUg YXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbi4gICovCiB2b2lkCkBAIC0yMzQzLDYwICsyNDMxLDc0 IEBAIHhfZHJhd19nbHlwaF9zdHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAgICAgICAv KiBEcmF3IHVuZGVybGluZS4gICovCiAgICAgICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX3ApCiAg ICAgICAgIHsKLSAgICAgICAgICB1bnNpZ25lZCBsb25nIHRoaWNrbmVzcywgcG9zaXRpb247Ci0g ICAgICAgICAgaW50IHk7Ci0KLSAgICAgICAgICBpZiAocy0+cHJldiAmJiBzLT5wcmV2LT5mYWNl LT51bmRlcmxpbmVfcCkKKyAgICAgICAgICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX3R5cGUgPT0g RkFDRV9VTkRFUl9XQVZFKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAvKiBXZSB1c2Ug dGhlIHNhbWUgdW5kZXJsaW5lIHN0eWxlIGFzIHRoZSBwcmV2aW91cyBvbmUuICAqLwotICAgICAg ICAgICAgICB0aGlja25lc3MgPSBzLT5wcmV2LT51bmRlcmxpbmVfdGhpY2tuZXNzOwotICAgICAg ICAgICAgICBwb3NpdGlvbiA9IHMtPnByZXYtPnVuZGVybGluZV9wb3NpdGlvbjsKKyAgICAgICAg ICAgICAgQ09MT1JSRUYgY29sb3I7CisKKyAgICAgICAgICAgICAgaWYgKHMtPmZhY2UtPnVuZGVy bGluZV9kZWZhdWx0ZWRfcCkKKyAgICAgICAgICAgICAgICBjb2xvciA9IHMtPmdjLT5mb3JlZ3Jv dW5kOworICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY29sb3IgPSBzLT5mYWNl LT51bmRlcmxpbmVfY29sb3I7CisKKyAgICAgICAgICAgICAgdzMyX2RyYXdfdW5kZXJ3YXZlIChz LCBjb2xvcik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZQorICAgICAgICAgIGVsc2Ug aWYgKHMtPmZhY2UtPnVuZGVybGluZV90eXBlID09IEZBQ0VfVU5ERVJfTElORSkKICAgICAgICAg ICAgIHsKLSAgICAgICAgICAgICAgLyogR2V0IHRoZSB1bmRlcmxpbmUgdGhpY2tuZXNzLiAgRGVm YXVsdCBpcyAxIHBpeGVsLiAgKi8KLSAgICAgICAgICAgICAgaWYgKHMtPmZvbnQgJiYgcy0+Zm9u dC0+dW5kZXJsaW5lX3RoaWNrbmVzcyA+IDApCi0gICAgICAgICAgICAgICAgdGhpY2tuZXNzID0g cy0+Zm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzczsKKyAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyB0aGlja25lc3MsIHBvc2l0aW9uOworICAgICAgICAgICAgICBpbnQgeTsKKworICAgICAgICAg ICAgICBpZiAocy0+cHJldiAmJiBzLT5wcmV2LT5mYWNlLT51bmRlcmxpbmVfcCkKKyAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAvKiBXZSB1c2UgdGhlIHNhbWUgdW5kZXJsaW5l IHN0eWxlIGFzIHRoZSBwcmV2aW91cyBvbmUuICAqLworICAgICAgICAgICAgICAgICAgdGhpY2tu ZXNzID0gcy0+cHJldi0+dW5kZXJsaW5lX3RoaWNrbmVzczsKKyAgICAgICAgICAgICAgICAgIHBv c2l0aW9uID0gcy0+cHJldi0+dW5kZXJsaW5lX3Bvc2l0aW9uOworICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7Ci0gICAg ICAgICAgICAgIGlmICh4X3VuZGVybGluZV9hdF9kZXNjZW50X2xpbmUpCi0gICAgICAgICAgICAg ICAgcG9zaXRpb24gPSAocy0+aGVpZ2h0IC0gdGhpY2tuZXNzKSAtIChzLT55YmFzZSAtIHMtPnkp OworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgdW5kZXJs aW5lIHRoaWNrbmVzcy4gIERlZmF1bHQgaXMgMSBwaXhlbC4gICovCisgICAgICAgICAgICAgICAg ICBpZiAocy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxpbmVfdGhpY2tuZXNzID4gMCkKKyAgICAg ICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gcy0+Zm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzczsK KyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdGhpY2tuZXNzID0g MTsKKyAgICAgICAgICAgICAgICAgIGlmICh4X3VuZGVybGluZV9hdF9kZXNjZW50X2xpbmUpCisg ICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gKHMtPmhlaWdodCAtIHRoaWNrbmVzcykgLSAo cy0+eWJhc2UgLSBzLT55KTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHBvc2l0 aW9uLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICB2 ZXJ0aWNhbCBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIGJhc2VsaW5lIHRvIHRoZSB0b3Agb2YK KyAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdW5kZXJsaW5lLiAgVGhpcyBpcyBhIHNpZ25l ZCB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY3Ms IGFuZCBpdHMgZGVmYXVsdCBpcworCisgICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkQgKCht YXhpbXVtX2Rlc2NlbnQpIC8gMiksIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICBST1VO RCAoeCkgPSBmbG9vciAoeCArIDAuNSkgICovCisKKyAgICAgICAgICAgICAgICAgICAgICBpZiAo eF91c2VfdW5kZXJsaW5lX3Bvc2l0aW9uX3Byb3BlcnRpZXMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgJiYgcy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxpbmVfcG9zaXRpb24gPj0gMCkKKyAg ICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gcy0+Zm9udC0+dW5kZXJsaW5lX3Bvc2l0 aW9uOworICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHMtPmZvbnQpCisgICAgICAgICAg ICAgICAgICAgICAgICBwb3NpdGlvbiA9IChzLT5mb250LT5kZXNjZW50ICsgMSkgLyAyOworICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IG1heCAocG9z aXRpb24sIHVuZGVybGluZV9taW5pbXVtX29mZnNldCk7CisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAvKiBDaGVjayB0aGUgc2FuaXR5IG9mIHRoaWNrbmVzcyBhbmQgcG9zaXRpb24u ICBXZSBzaG91bGQKKyAgICAgICAgICAgICAgICAgYXZvaWQgZHJhd2luZyB1bmRlcmxpbmUgb3V0 IG9mIHRoZSBjdXJyZW50IGxpbmUgYXJlYS4gICovCisgICAgICAgICAgICAgIGlmIChzLT55ICsg cy0+aGVpZ2h0IDw9IHMtPnliYXNlICsgcG9zaXRpb24pCisgICAgICAgICAgICAgICAgcG9zaXRp b24gPSAocy0+aGVpZ2h0IC0gMSkgLSAocy0+eWJhc2UgLSBzLT55KTsKKyAgICAgICAgICAgICAg aWYgKHMtPnkgKyBzLT5oZWlnaHQgPCBzLT55YmFzZSArIHBvc2l0aW9uICsgdGhpY2tuZXNzKQor ICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IChzLT55ICsgcy0+aGVpZ2h0KSAtIChzLT55YmFz ZSArIHBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgcy0+dW5kZXJsaW5lX3RoaWNrbmVzcyA9IHRo aWNrbmVzczsKKyAgICAgICAgICAgICAgcy0+dW5kZXJsaW5lX3Bvc2l0aW9uID1wb3NpdGlvbjsK KyAgICAgICAgICAgICAgeSA9IHMtPnliYXNlICsgcG9zaXRpb247CisgICAgICAgICAgICAgIGlm IChzLT5mYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3ApCisgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgdzMyX2ZpbGxfYXJlYSAocy0+Ziwgcy0+aGRjLCBzLT5nYy0+Zm9yZWdy b3VuZCwgcy0+eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIHMtPndpZHRo LCAxKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg ICAgICB7Ci0gICAgICAgICAgICAgICAgLyogR2V0IHRoZSB1bmRlcmxpbmUgcG9zaXRpb24uICBU aGlzIGlzIHRoZSByZWNvbW1lbmRlZAotICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsIG9mZnNl dCBpbiBwaXhlbHMgZnJvbSB0aGUgYmFzZWxpbmUgdG8gdGhlIHRvcCBvZgotICAgICAgICAgICAg ICAgICAgIHRoZSB1bmRlcmxpbmUuICBUaGlzIGlzIGEgc2lnbmVkIHZhbHVlIGFjY29yZGluZyB0 byB0aGUKLSAgICAgICAgICAgICAgICAgICBzcGVjcywgYW5kIGl0cyBkZWZhdWx0IGlzCi0KLSAg ICAgICAgICAgICAgICAgICBST1VORCAoKG1heGltdW1fZGVzY2VudCkgLyAyKSwgd2l0aAotICAg ICAgICAgICAgICAgICAgIFJPVU5EICh4KSA9IGZsb29yICh4ICsgMC41KSAgKi8KLQotICAgICAg ICAgICAgICAgIGlmICh4X3VzZV91bmRlcmxpbmVfcG9zaXRpb25fcHJvcGVydGllcwotICAgICAg ICAgICAgICAgICAgICAmJiBzLT5mb250ICYmIHMtPmZvbnQtPnVuZGVybGluZV9wb3NpdGlvbiA+ PSAwKQotICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBzLT5mb250LT51bmRlcmxpbmVfcG9z aXRpb247Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAocy0+Zm9udCkKLSAgICAgICAgICAgICAg ICAgIHBvc2l0aW9uID0gKHMtPmZvbnQtPmRlc2NlbnQgKyAxKSAvIDI7CisgICAgICAgICAgICAg ICAgICB3MzJfZmlsbF9hcmVhIChzLT5mLCBzLT5oZGMsIHMtPmZhY2UtPnVuZGVybGluZV9jb2xv ciwgcy0+eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIHMtPndpZHRoLCAx KTsKICAgICAgICAgICAgICAgICB9Ci0JICAgICAgcG9zaXRpb24gPSBtYXggKHBvc2l0aW9uLCB1 bmRlcmxpbmVfbWluaW11bV9vZmZzZXQpOwotICAgICAgICAgICAgfQotCSAgLyogQ2hlY2sgdGhl IHNhbml0eSBvZiB0aGlja25lc3MgYW5kIHBvc2l0aW9uLiAgV2Ugc2hvdWxkCi0JICAgICBhdm9p ZCBkcmF3aW5nIHVuZGVybGluZSBvdXQgb2YgdGhlIGN1cnJlbnQgbGluZSBhcmVhLiAgKi8KLQkg IGlmIChzLT55ICsgcy0+aGVpZ2h0IDw9IHMtPnliYXNlICsgcG9zaXRpb24pCi0JICAgIHBvc2l0 aW9uID0gKHMtPmhlaWdodCAtIDEpIC0gKHMtPnliYXNlIC0gcy0+eSk7Ci0JICBpZiAocy0+eSAr IHMtPmhlaWdodCA8IHMtPnliYXNlICsgcG9zaXRpb24gKyB0aGlja25lc3MpCi0JICAgIHRoaWNr bmVzcyA9IChzLT55ICsgcy0+aGVpZ2h0KSAtIChzLT55YmFzZSArIHBvc2l0aW9uKTsKLQkgIHMt PnVuZGVybGluZV90aGlja25lc3MgPSB0aGlja25lc3M7Ci0JICBzLT51bmRlcmxpbmVfcG9zaXRp b24gPXBvc2l0aW9uOwotICAgICAgICAgIHkgPSBzLT55YmFzZSArIHBvc2l0aW9uOwotICAgICAg ICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3ApCi0gICAgICAgICAgICB7Ci0g ICAgICAgICAgICAgIHczMl9maWxsX2FyZWEgKHMtPmYsIHMtPmhkYywgcy0+Z2MtPmZvcmVncm91 bmQsIHMtPngsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIHMtPndpZHRoLCAxKTsK LSAgICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg ICAgIHczMl9maWxsX2FyZWEgKHMtPmYsIHMtPmhkYywgcy0+ZmFjZS0+dW5kZXJsaW5lX2NvbG9y LCBzLT54LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5LCBzLT53aWR0aCwgMSk7CiAg ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgIC8qIERyYXcgb3ZlcmxpbmUuICAqLwpkaWZm IC0tZ2l0IGEvc3JjL3hmYWNlcy5jIGIvc3JjL3hmYWNlcy5jCmluZGV4IDYxNzA5N2QuLjhiZWUy ZDYgMTAwNjQ0Ci0tLSBhL3NyYy94ZmFjZXMuYworKysgYi9zcmMveGZhY2VzLmMKQEAgLTMyMCw2 ICszMjAsNyBAQCBzdGF0aWMgTGlzcF9PYmplY3QgUUNmb250c2V0OwogCiBMaXNwX09iamVjdCBR bm9ybWFsOwogTGlzcF9PYmplY3QgUWJvbGQ7CitzdGF0aWMgTGlzcF9PYmplY3QgUWxpbmUsIFF3 YXZlOwogc3RhdGljIExpc3BfT2JqZWN0IFF1bHRyYV9saWdodCwgUWV4dHJhX2xpZ2h0LCBRbGln aHQ7CiBzdGF0aWMgTGlzcF9PYmplY3QgUXNlbWlfbGlnaHQsIFFzZW1pX2JvbGQsIFFleHRyYV9i b2xkLCBRdWx0cmFfYm9sZDsKIHN0YXRpYyBMaXNwX09iamVjdCBRb2JsaXF1ZSwgUXJldmVyc2Vf b2JsaXF1ZSwgUXJldmVyc2VfaXRhbGljOwpAQCAtMTg4OSw3ICsxODkwLDggQEAgY2hlY2tfbGZh Y2VfYXR0cnMgKExpc3BfT2JqZWN0ICphdHRycykKICAgeGFzc2VydCAoVU5TUEVDSUZJRURQIChh dHRyc1tMRkFDRV9VTkRFUkxJTkVfSU5ERVhdKQogCSAgIHx8IElHTk9SRV9ERUZGQUNFX1AgKGF0 dHJzW0xGQUNFX1VOREVSTElORV9JTkRFWF0pCiAJICAgfHwgU1lNQk9MUCAoYXR0cnNbTEZBQ0Vf VU5ERVJMSU5FX0lOREVYXSkKLQkgICB8fCBTVFJJTkdQIChhdHRyc1tMRkFDRV9VTkRFUkxJTkVf SU5ERVhdKSk7CisJICAgfHwgU1RSSU5HUCAoYXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkK KwkgICB8fCBDT05TUCAoYXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkpOwogICB4YXNzZXJ0 IChVTlNQRUNJRklFRFAgKGF0dHJzW0xGQUNFX09WRVJMSU5FX0lOREVYXSkKIAkgICB8fCBJR05P UkVfREVGRkFDRV9QIChhdHRyc1tMRkFDRV9PVkVSTElORV9JTkRFWF0pCiAJICAgfHwgU1lNQk9M UCAoYXR0cnNbTEZBQ0VfT1ZFUkxJTkVfSU5ERVhdKQpAQCAtMjUyMCw3ICsyNTIyLDggQEAgbWVy Z2VfZmFjZV9yZWYgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgZmFjZV9yZWYsIExpc3Bf T2JqZWN0ICp0bywKIAkJewogCQkgIGlmIChFUSAodmFsdWUsIFF0KQogCQkgICAgICB8fCBOSUxQ ICh2YWx1ZSkKLQkJICAgICAgfHwgU1RSSU5HUCAodmFsdWUpKQorCQkgICAgICB8fCBTVFJJTkdQ ICh2YWx1ZSkKKwkJICAgICAgfHwgQ09OU1AgKHZhbHVlKSkKIAkJICAgIHRvW0xGQUNFX1VOREVS TElORV9JTkRFWF0gPSB2YWx1ZTsKIAkJICBlbHNlCiAJCSAgICBlcnIgPSAxOwpAQCAtMjk0NCwx NSArMjk0Nyw1NCBAQCBGUkFNRSAwIG1lYW5zIGNoYW5nZSB0aGUgZmFjZSBvbiBhbGwgZnJhbWVz LCBhbmQgY2hhbmdlIHRoZSBkZWZhdWx0CiAgICAgfQogICBlbHNlIGlmIChFUSAoYXR0ciwgUUN1 bmRlcmxpbmUpKQogICAgIHsKLSAgICAgIGlmICghVU5TUEVDSUZJRURQICh2YWx1ZSkgJiYgIUlH Tk9SRV9ERUZGQUNFX1AgKHZhbHVlKSkKLQlpZiAoKFNZTUJPTFAgKHZhbHVlKQotCSAgICAgJiYg IUVRICh2YWx1ZSwgUXQpCi0JICAgICAmJiAhRVEgKHZhbHVlLCBRbmlsKSkKLQkgICAgLyogVW5k ZXJsaW5lIGNvbG9yLiAgKi8KLQkgICAgfHwgKFNUUklOR1AgKHZhbHVlKQotCQkmJiBTQ0hBUlMg KHZhbHVlKSA9PSAwKSkKLQkgIHNpZ25hbF9lcnJvciAoIkludmFsaWQgZmFjZSB1bmRlcmxpbmUi LCB2YWx1ZSk7Ci0KKyAgICAgIGludCB2YWxpZF9wID0gMDsKKyAgICAgIAorICAgICAgaWYgKFVO U1BFQ0lGSUVEUCAodmFsdWUpIHx8IElHTk9SRV9ERUZGQUNFX1AgKHZhbHVlKSkKKwl2YWxpZF9w ID0gMTsKKyAgICAgIGVsc2UgaWYgKE5JTFAgKHZhbHVlKSB8fCBFUSAodmFsdWUsIFF0KSkKKyAg ICAgICAgdmFsaWRfcCA9IDE7CisgICAgICBlbHNlIGlmIChTVFJJTkdQICh2YWx1ZSkgJiYgU0NI QVJTICh2YWx1ZSkgPiAwKQorICAgICAgICB2YWxpZF9wID0gMTsKKyAgICAgIGVsc2UgaWYgKENP TlNQICh2YWx1ZSkpCisgICAgICAgIHsKKyAgICAgICAgICBMaXNwX09iamVjdCBrZXksIHZhbCwg bGlzdDsKKworICAgICAgICAgIGxpc3QgPSB2YWx1ZTsKKyAgICAgICAgICB2YWxpZF9wID0gMTsK KworICAgICAgICAgIHdoaWxlICghTklMUCAoQ0FSX1NBRkUobGlzdCkpKQorICAgICAgICAgICAg eworICAgICAgICAgICAgICBrZXkgPSBDQVJfU0FGRSAobGlzdCk7CisgICAgICAgICAgICAgIGxp c3QgPSBDRFJfU0FGRSAobGlzdCk7CisgICAgICAgICAgICAgIHZhbCA9IENBUl9TQUZFIChsaXN0 KTsKKyAgICAgICAgICAgICAgbGlzdCA9IENEUl9TQUZFIChsaXN0KTsKKyAgICAgICAgICAgIAor ICAgICAgICAgICAgICBpZihOSUxQIChrZXkpIHx8IE5JTFAgKHZhbCkpIAorICAgICAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICAgIHZhbGlkX3AgPSAwOworICAgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgIGVsc2UgaWYgKEVRIChr ZXksIFFDY29sb3IpCisgICAgICAgICAgICAgICAgICAgICAgICYmICEoRVEgKHZhbCwgUWZvcmVn cm91bmRfY29sb3IpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKFNUUklOR1AgKHZh bCkgJiYgU0NIQVJTICh2YWwpID4gMCkpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgIHZhbGlkX3AgPSAwOworICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgZWxzZSBpZiAoRVEgKGtleSwg UUNzdHlsZSkgCisgICAgICAgICAgICAgICAgICAgICAgICYmICEoRVEgKHZhbCwgUWxpbmUpIHx8 IEVRICh2YWwsIFF3YXZlKSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg dmFsaWRfcCA9IDA7CisgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIAorICAgICAgaWYgKCF2YWxpZF9wKQor ICAgICAgICBzaWduYWxfZXJyb3IgKCJJbnZhbGlkIGZhY2UgdW5kZXJsaW5lIiwgdmFsdWUpOwor ICAgICAgCiAgICAgICBvbGRfdmFsdWUgPSBMRkFDRV9VTkRFUkxJTkUgKGxmYWNlKTsKICAgICAg IExGQUNFX1VOREVSTElORSAobGZhY2UpID0gdmFsdWU7CiAgICAgfQpAQCAtMzc2Miw2ICszODA0 LDcgQEAgVmFsdWUgaXMgbmlsIGlmIEFUVFIgZG9lc24ndCBoYXZlIGEgZGlzY3JldGUgc2V0IG9m IHZhbGlkIHZhbHVlcy4gICovKQogCiAgIENIRUNLX1NZTUJPTCAoYXR0cik7CiAKKyAgLyogWFhY OiBubyBjaGVjayBmb3IgUUNib3g/ICovCiAgIGlmIChFUSAoYXR0ciwgUUN1bmRlcmxpbmUpKQog ICAgIHJlc3VsdCA9IEZjb25zIChRdCwgRmNvbnMgKFFuaWwsIFFuaWwpKTsKICAgZWxzZSBpZiAo RVEgKGF0dHIsIFFDb3ZlcmxpbmUpKQpAQCAtNTU2Myw3ICs1NjA2LDcgQEAgcmVhbGl6ZV94X2Zh Y2UgKHN0cnVjdCBmYWNlX2NhY2hlICpjYWNoZSwgTGlzcF9PYmplY3QgKmF0dHJzKQogI2lmZGVm IEhBVkVfV0lORE9XX1NZU1RFTQogICBzdHJ1Y3QgZmFjZSAqZGVmYXVsdF9mYWNlOwogICBzdHJ1 Y3QgZnJhbWUgKmY7Ci0gIExpc3BfT2JqZWN0IHN0aXBwbGUsIG92ZXJsaW5lLCBzdHJpa2VfdGhy b3VnaCwgYm94OworICBMaXNwX09iamVjdCBzdGlwcGxlLCB1bmRlcmxpbmUsIG92ZXJsaW5lLCBz dHJpa2VfdGhyb3VnaCwgYm94OwogCiAgIHhhc3NlcnQgKEZSQU1FX1dJTkRPV19QIChjYWNoZS0+ ZikpOwogCkBAIC01Njk2LDI5ICs1NzM5LDc2IEBAIHJlYWxpemVfeF9mYWNlIChzdHJ1Y3QgZmFj ZV9jYWNoZSAqY2FjaGUsIExpc3BfT2JqZWN0ICphdHRycykKIAogICAvKiBUZXh0IHVuZGVybGlu ZSwgb3ZlcmxpbmUsIHN0cmlrZS10aHJvdWdoLiAgKi8KIAotICBpZiAoRVEgKGF0dHJzW0xGQUNF X1VOREVSTElORV9JTkRFWF0sIFF0KSkKKyAgdW5kZXJsaW5lID0gYXR0cnNbTEZBQ0VfVU5ERVJM SU5FX0lOREVYXTsKKyAgaWYgKEVRICh1bmRlcmxpbmUsIFF0KSkKICAgICB7CiAgICAgICAvKiBV c2UgZGVmYXVsdCBjb2xvciAoc2FtZSBhcyBmb3JlZ3JvdW5kIGNvbG9yKS4gICovCiAgICAgICBm YWNlLT51bmRlcmxpbmVfcCA9IDE7CisgICAgICBmYWNlLT51bmRlcmxpbmVfdHlwZSA9IEZBQ0Vf VU5ERVJfTElORTsKICAgICAgIGZhY2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCA9IDE7CiAgICAg ICBmYWNlLT51bmRlcmxpbmVfY29sb3IgPSAwOwogICAgIH0KLSAgZWxzZSBpZiAoU1RSSU5HUCAo YXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkpCisgIGVsc2UgaWYgKFNUUklOR1AgKHVuZGVy bGluZSkpCiAgICAgewogICAgICAgLyogVXNlIHNwZWNpZmllZCBjb2xvci4gICovCiAgICAgICBm YWNlLT51bmRlcmxpbmVfcCA9IDE7CisgICAgICBmYWNlLT51bmRlcmxpbmVfdHlwZSA9IEZBQ0Vf VU5ERVJfTElORTsKICAgICAgIGZhY2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCA9IDA7CiAgICAg ICBmYWNlLT51bmRlcmxpbmVfY29sb3IKLQk9IGxvYWRfY29sb3IgKGYsIGZhY2UsIGF0dHJzW0xG QUNFX1VOREVSTElORV9JTkRFWF0sCisJPSBsb2FkX2NvbG9yIChmLCBmYWNlLCB1bmRlcmxpbmUs CiAJCSAgICAgIExGQUNFX1VOREVSTElORV9JTkRFWCk7CiAgICAgfQotICBlbHNlIGlmIChOSUxQ IChhdHRyc1tMRkFDRV9VTkRFUkxJTkVfSU5ERVhdKSkKKyAgZWxzZSBpZiAoTklMUCAodW5kZXJs aW5lKSkKICAgICB7CiAgICAgICBmYWNlLT51bmRlcmxpbmVfcCA9IDA7CiAgICAgICBmYWNlLT51 bmRlcmxpbmVfZGVmYXVsdGVkX3AgPSAwOwogICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yID0g MDsKICAgICB9Ci0KKyAgZWxzZSBpZiAoQ09OU1AgKHVuZGVybGluZSkpCisgICAgeworICAgICAg LyogYCg6Y29sb3IgQ09MT1IgOnN0eWxlIFNUWUxFKScuICAKKyAgICAgICAgIFNUWUxFIGJlaW5n IG9uZSBvZiBgbGluZScgb3IgYHdhdmUnLiAqLworICAgICAgZmFjZS0+dW5kZXJsaW5lX3AgPSAx OworICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yID0gMDsKKyAgICAgIGZhY2UtPnVuZGVybGlu ZV9kZWZhdWx0ZWRfcCA9IDE7CisgICAgICBmYWNlLT51bmRlcmxpbmVfdHlwZSA9IEZBQ0VfVU5E RVJfTElORTsKKworICAgICAgd2hpbGUgKENPTlNQICh1bmRlcmxpbmUpKQorICAgICAgICB7Cisg ICAgICAgICAgTGlzcF9PYmplY3Qga2V5d29yZCwgdmFsdWU7CisKKyAgICAgICAgICBrZXl3b3Jk ID0gWENBUiAodW5kZXJsaW5lKTsKKyAgICAgICAgICB1bmRlcmxpbmUgPSBYQ0RSICh1bmRlcmxp bmUpOworCisgICAgICAgICAgaWYgKCFDT05TUCAodW5kZXJsaW5lKSkKKyAgICAgICAgICAgIGJy ZWFrOworICAgICAgICAgIHZhbHVlID0gWENBUiAodW5kZXJsaW5lKTsKKyAgICAgICAgICB1bmRl cmxpbmUgPSBYQ0RSICh1bmRlcmxpbmUpOworCisgICAgICAgICAgaWYgKEVRIChrZXl3b3JkLCBR Q2NvbG9yKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgaWYgKEVRICh2YWx1ZSwgUWZv cmVncm91bmRfY29sb3IpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIGZh Y2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCA9IDE7CisgICAgICAgICAgICAgICAgICBmYWNlLT51 bmRlcmxpbmVfY29sb3IgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxz ZSBpZiAoU1RSSU5HUCAodmFsdWUpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAgIGZhY2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCA9IDA7CisgICAgICAgICAgICAgICAgICBm YWNlLT51bmRlcmxpbmVfY29sb3IgPSBsb2FkX2NvbG9yIChmLCBmYWNlLCB2YWx1ZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExGQUNFX1VO REVSTElORV9JTkRFWCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg ICAgIGVsc2UgaWYgKEVRIChrZXl3b3JkLCBRQ3N0eWxlKSkKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgaWYgKEVRICh2YWx1ZSwgUWxpbmUpKQorICAgICAgICAgICAgICAgIGZhY2UtPnVu ZGVybGluZV90eXBlID0gRkFDRV9VTkRFUl9MSU5FOworICAgICAgICAgICAgICBlbHNlIGlmIChF USAodmFsdWUsIFF3YXZlKSkKKyAgICAgICAgICAgICAgICBmYWNlLT51bmRlcmxpbmVfdHlwZSA9 IEZBQ0VfVU5ERVJfV0FWRTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgCiAg IG92ZXJsaW5lID0gYXR0cnNbTEZBQ0VfT1ZFUkxJTkVfSU5ERVhdOwogICBpZiAoU1RSSU5HUCAo b3ZlcmxpbmUpKQogICAgIHsKQEAgLTY0NjUsNiArNjU1NSw4IEBAIHN5bXNfb2ZfeGZhY2VzICh2 b2lkKQogICBERUZTWU0gKFFDY29sb3IsICI6Y29sb3IiKTsKICAgREVGU1lNIChRQ2xpbmVfd2lk dGgsICI6bGluZS13aWR0aCIpOwogICBERUZTWU0gKFFDc3R5bGUsICI6c3R5bGUiKTsKKyAgREVG U1lNIChRbGluZSwgImxpbmUiKTsKKyAgREVGU1lNIChRd2F2ZSwgIndhdmUiKTsKICAgREVGU1lN IChRcmVsZWFzZWRfYnV0dG9uLCAicmVsZWFzZWQtYnV0dG9uIik7CiAgIERFRlNZTSAoUXByZXNz ZWRfYnV0dG9uLCAicHJlc3NlZC1idXR0b24iKTsKICAgREVGU1lNIChRbm9ybWFsLCAibm9ybWFs Iik7CmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVybS5jCmluZGV4IDRiMzRkNjMu LmE1OGUzNjYgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5jCisrKyBiL3NyYy94dGVybS5jCkBAIC0y NjUzLDYgKzI2NTMsNjUgQEAgeF9kcmF3X3N0cmV0Y2hfZ2x5cGhfc3RyaW5nIChzdHJ1Y3QgZ2x5 cGhfc3RyaW5nICpzKQogICBzLT5iYWNrZ3JvdW5kX2ZpbGxlZF9wID0gMTsKIH0KIAorLyoKKyAg IERyYXcgYSB3YXZ5IGxpbmUgdW5kZXIgUy4gVGhlIHdhdmUgZmlsbHMgd2F2ZV9oZWlnaHQgcGl4 ZWxzIGZyb20geTAuCisKKyAgICAgICAgICAgICAgICAgICAgeDAgICAgICAgICB3YXZlX2xlbmd0 aCA9IDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCisgICAgICAgICAgICAg ICAgeTAgICAqICAgKiAgICogICAqICAgKgorICAgICAgICAgICAgICAgICAgICAgfCogKiAqICog KiAqICogKiAqCisgICAgd2F2ZV9oZWlnaHQgPSAzICB8ICogICAqICAgKiAgICoKKworKi8KKwor c3RhdGljIHZvaWQKK3hfZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCit7 CisgIGludCB3YXZlX2hlaWdodCA9IDIsIHdhdmVfbGVuZ3RoID0gMzsKKyAgaW50IGR4LCBkeSwg eDAsIHkwLCB3aWR0aCwgeDEsIHkxLCB4MiwgeTIsIG9kZCwgeG1heDsKKyAgWFJlY3RhbmdsZSB3 YXZlX2NsaXAsIHN0cmluZ19jbGlwLCBmaW5hbF9jbGlwOworCisgIGR4ID0gd2F2ZV9sZW5ndGg7 CisgIGR5ID0gd2F2ZV9oZWlnaHQgLSAxOworICB4MCA9IHMtPng7CisgIHkwID0gcy0+eWJhc2Ug KyAxOworICB3aWR0aCA9IHMtPndpZHRoOworICB4bWF4ID0geDAgKyB3aWR0aDsKKworICAvKiBG aW5kIGFuZCBzZXQgY2xpcHBpbmcgcmVjdGFuZ2xlICovCisKKyAgd2F2ZV9jbGlwID0gKFhSZWN0 YW5nbGUpeyB4MCwgeTAsIHdpZHRoLCB3YXZlX2hlaWdodCB9OworICBnZXRfZ2x5cGhfc3RyaW5n X2NsaXBfcmVjdCAocywgJnN0cmluZ19jbGlwKTsKKworICBpZiAoIXhfaW50ZXJzZWN0X3JlY3Rh bmdsZXMgKCZ3YXZlX2NsaXAsICZzdHJpbmdfY2xpcCwgJmZpbmFsX2NsaXApKQorICAgIHJldHVy bjsKKworICBYU2V0Q2xpcFJlY3RhbmdsZXMgKHMtPmRpc3BsYXksIHMtPmdjLCAwLCAwLCAmZmlu YWxfY2xpcCwgMSwgVW5zb3J0ZWQpOworCisgIC8qIERyYXcgdGhlIHdhdmVzICovCisKKyAgeDEg PSB4MCAtICh4MCAlIGR4KTsKKyAgeDIgPSB4MSArIGR4OworICBvZGQgPSAoeDEvZHgpICUgMjsK KyAgeTEgPSB5MiA9IHkwOworCisgIGlmIChvZGQpCisgICAgeTEgKz0gZHk7CisgIGVsc2UKKyAg ICB5MiArPSBkeTsKKworICB3aGlsZSAoeDEgPD0geG1heCkKKyAgICB7CisgICAgICBYRHJhd0xp bmUgKHMtPmRpc3BsYXksIHMtPndpbmRvdywgcy0+Z2MsIHgxLCB5MSwgeDIsIHkyKTsKKyAgICAg IHgxICA9IHgyLCB5MSA9IHkyOworICAgICAgeDIgKz0gZHgsIHkyID0geTAgKyBvZGQqZHk7Cisg ICAgICBvZGQgPSAhb2RkOworICAgIH0KKworICAvKiBSZXN0b3JlIHByZXZpb3VzIGNsaXBwaW5n IHJlY3RhbmdsZShzKSAqLworICBYU2V0Q2xpcFJlY3RhbmdsZXMgKHMtPmRpc3BsYXksIHMtPmdj LCAwLCAwLCBzLT5jbGlwLCBzLT5udW1fY2xpcHMsIFVuc29ydGVkKTsKK30KKwogCiAvKiBEcmF3 IGdseXBoIHN0cmluZyBTLiAgKi8KIApAQCAtMjc1NSw2OCArMjgxNCw4MyBAQCB4X2RyYXdfZ2x5 cGhfc3RyaW5nIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQogICAgIHsKICAgICAgIC8qIERyYXcg dW5kZXJsaW5lLiAgKi8KICAgICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfcCkKLQl7Ci0JICB1 bnNpZ25lZCBsb25nIHRoaWNrbmVzcywgcG9zaXRpb247Ci0JICBpbnQgeTsKLQotCSAgaWYgKHMt PnByZXYgJiYgcy0+cHJldi0+ZmFjZS0+dW5kZXJsaW5lX3ApCi0JICAgIHsKLQkgICAgICAvKiBX ZSB1c2UgdGhlIHNhbWUgdW5kZXJsaW5lIHN0eWxlIGFzIHRoZSBwcmV2aW91cyBvbmUuICAqLwot CSAgICAgIHRoaWNrbmVzcyA9IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3M7Ci0JICAgICAg cG9zaXRpb24gPSBzLT5wcmV2LT51bmRlcmxpbmVfcG9zaXRpb247Ci0JICAgIH0KLQkgIGVsc2UK LQkgICAgewotCSAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHRoaWNrbmVzcy4gIERlZmF1bHQg aXMgMSBwaXhlbC4gICovCi0JICAgICAgaWYgKHMtPmZvbnQgJiYgcy0+Zm9udC0+dW5kZXJsaW5l X3RoaWNrbmVzcyA+IDApCi0JCXRoaWNrbmVzcyA9IHMtPmZvbnQtPnVuZGVybGluZV90aGlja25l c3M7Ci0JICAgICAgZWxzZQotCQl0aGlja25lc3MgPSAxOwotCSAgICAgIGlmICh4X3VuZGVybGlu ZV9hdF9kZXNjZW50X2xpbmUpCi0JCXBvc2l0aW9uID0gKHMtPmhlaWdodCAtIHRoaWNrbmVzcykg LSAocy0+eWJhc2UgLSBzLT55KTsKLQkgICAgICBlbHNlCi0JCXsKLQkJICAvKiBHZXQgdGhlIHVu ZGVybGluZSBwb3NpdGlvbi4gIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkCi0JCSAgICAgdmVydGlj YWwgb2Zmc2V0IGluIHBpeGVscyBmcm9tIHRoZSBiYXNlbGluZSB0byB0aGUgdG9wIG9mCi0JCSAg ICAgdGhlIHVuZGVybGluZS4gIFRoaXMgaXMgYSBzaWduZWQgdmFsdWUgYWNjb3JkaW5nIHRvIHRo ZQotCQkgICAgIHNwZWNzLCBhbmQgaXRzIGRlZmF1bHQgaXMKLQotCQkgICAgIFJPVU5EICgobWF4 aW11bSBkZXNjZW50KSAvIDIpLCB3aXRoCi0JCSAgICAgUk9VTkQoeCkgPSBmbG9vciAoeCArIDAu NSkgICovCi0KLQkJICBpZiAoeF91c2VfdW5kZXJsaW5lX3Bvc2l0aW9uX3Byb3BlcnRpZXMKLQkJ ICAgICAgJiYgcy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxpbmVfcG9zaXRpb24gPj0gMCkKLQkJ ICAgIHBvc2l0aW9uID0gcy0+Zm9udC0+dW5kZXJsaW5lX3Bvc2l0aW9uOwotCQkgIGVsc2UgaWYg KHMtPmZvbnQpCi0JCSAgICBwb3NpdGlvbiA9IChzLT5mb250LT5kZXNjZW50ICsgMSkgLyAyOwot CQkgIGVsc2UKLQkJICAgIHBvc2l0aW9uID0gdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0OwotCQl9 Ci0JICAgICAgcG9zaXRpb24gPSBtYXggKHBvc2l0aW9uLCB1bmRlcmxpbmVfbWluaW11bV9vZmZz ZXQpOwotCSAgICB9Ci0JICAvKiBDaGVjayB0aGUgc2FuaXR5IG9mIHRoaWNrbmVzcyBhbmQgcG9z aXRpb24uICBXZSBzaG91bGQKLQkgICAgIGF2b2lkIGRyYXdpbmcgdW5kZXJsaW5lIG91dCBvZiB0 aGUgY3VycmVudCBsaW5lIGFyZWEuICAqLwotCSAgaWYgKHMtPnkgKyBzLT5oZWlnaHQgPD0gcy0+ eWJhc2UgKyBwb3NpdGlvbikKLQkgICAgcG9zaXRpb24gPSAocy0+aGVpZ2h0IC0gMSkgLSAocy0+ eWJhc2UgLSBzLT55KTsKLQkgIGlmIChzLT55ICsgcy0+aGVpZ2h0IDwgcy0+eWJhc2UgKyBwb3Np dGlvbiArIHRoaWNrbmVzcykKLQkgICAgdGhpY2tuZXNzID0gKHMtPnkgKyBzLT5oZWlnaHQpIC0g KHMtPnliYXNlICsgcG9zaXRpb24pOwotCSAgcy0+dW5kZXJsaW5lX3RoaWNrbmVzcyA9IHRoaWNr bmVzczsKLQkgIHMtPnVuZGVybGluZV9wb3NpdGlvbiA9IHBvc2l0aW9uOwotCSAgeSA9IHMtPnli YXNlICsgcG9zaXRpb247Ci0JICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX2RlZmF1bHRlZF9wKQot CSAgICBYRmlsbFJlY3RhbmdsZSAocy0+ZGlzcGxheSwgcy0+d2luZG93LCBzLT5nYywKLQkJCSAg ICBzLT54LCB5LCBzLT53aWR0aCwgdGhpY2tuZXNzKTsKLQkgIGVsc2UKLQkgICAgewotCSAgICAg IFhHQ1ZhbHVlcyB4Z2N2OwotCSAgICAgIFhHZXRHQ1ZhbHVlcyAocy0+ZGlzcGxheSwgcy0+Z2Ms IEdDRm9yZWdyb3VuZCwgJnhnY3YpOwotCSAgICAgIFhTZXRGb3JlZ3JvdW5kIChzLT5kaXNwbGF5 LCBzLT5nYywgcy0+ZmFjZS0+dW5kZXJsaW5lX2NvbG9yKTsKLQkgICAgICBYRmlsbFJlY3Rhbmds ZSAocy0+ZGlzcGxheSwgcy0+d2luZG93LCBzLT5nYywKLQkJCSAgICAgIHMtPngsIHksIHMtPndp ZHRoLCB0aGlja25lc3MpOwotCSAgICAgIFhTZXRGb3JlZ3JvdW5kIChzLT5kaXNwbGF5LCBzLT5n YywgeGdjdi5mb3JlZ3JvdW5kKTsKLQkgICAgfQotCX0KKyAgICAgICAgeworICAgICAgICAgIGlm IChzLT5mYWNlLT51bmRlcmxpbmVfdHlwZSA9PSBGQUNFX1VOREVSX1dBVkUpCisgICAgICAgICAg ICB7CisgICAgICAgICAgICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3ApCisg ICAgICAgICAgICAgICAgeF9kcmF3X3VuZGVyd2F2ZSAocyk7CisgICAgICAgICAgICAgIGVsc2UK KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBYR0NWYWx1ZXMgeGdjdjsKKyAg ICAgICAgICAgICAgICAgIFhHZXRHQ1ZhbHVlcyAocy0+ZGlzcGxheSwgcy0+Z2MsIEdDRm9yZWdy b3VuZCwgJnhnY3YpOworICAgICAgICAgICAgICAgICAgWFNldEZvcmVncm91bmQgKHMtPmRpc3Bs YXksIHMtPmdjLCBzLT5mYWNlLT51bmRlcmxpbmVfY29sb3IpOworICAgICAgICAgICAgICAgICAg eF9kcmF3X3VuZGVyd2F2ZSAocyk7CisgICAgICAgICAgICAgICAgICBYU2V0Rm9yZWdyb3VuZCAo cy0+ZGlzcGxheSwgcy0+Z2MsIHhnY3YuZm9yZWdyb3VuZCk7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UgaWYgKHMtPmZhY2UtPnVuZGVybGluZV90eXBl ID09IEZBQ0VfVU5ERVJfTElORSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9uOworICAgICAgICAgICAgICBpbnQgeTsKIAorICAg ICAgICAgICAgICBpZiAocy0+cHJldiAmJiBzLT5wcmV2LT5mYWNlLT51bmRlcmxpbmVfcCkKKyAg ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAvKiBXZSB1c2UgdGhlIHNhbWUgdW5k ZXJsaW5lIHN0eWxlIGFzIHRoZSBwcmV2aW91cyBvbmUuICAqLworICAgICAgICAgICAgICAgICAg dGhpY2tuZXNzID0gcy0+cHJldi0+dW5kZXJsaW5lX3RoaWNrbmVzczsKKyAgICAgICAgICAgICAg ICAgIHBvc2l0aW9uID0gcy0+cHJldi0+dW5kZXJsaW5lX3Bvc2l0aW9uOworICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHRoaWNrbmVzcy4gIERlZmF1bHQgaXMgMSBwaXhl bC4gICovCisgICAgICAgICAgICAgICAgICBpZiAocy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxp bmVfdGhpY2tuZXNzID4gMCkKKyAgICAgICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gcy0+Zm9u dC0+dW5kZXJsaW5lX3RoaWNrbmVzczsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICAgICAgdGhpY2tuZXNzID0gMTsKKyAgICAgICAgICAgICAgICAgIGlmICh4X3VuZGVy bGluZV9hdF9kZXNjZW50X2xpbmUpCisgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gKHMt PmhlaWdodCAtIHRoaWNrbmVzcykgLSAocy0+eWJhc2UgLSBzLT55KTsKKyAgICAgICAgICAgICAg ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIC8q IEdldCB0aGUgdW5kZXJsaW5lIHBvc2l0aW9uLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQKKyAg ICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbCBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhl IGJhc2VsaW5lIHRvIHRoZSB0b3Agb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdW5k ZXJsaW5lLiAgVGhpcyBpcyBhIHNpZ25lZCB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlCisgICAgICAg ICAgICAgICAgICAgICAgICAgc3BlY3MsIGFuZCBpdHMgZGVmYXVsdCBpcworCisgICAgICAgICAg ICAgICAgICAgICAgICAgUk9VTkQgKChtYXhpbXVtIGRlc2NlbnQpIC8gMiksIHdpdGgKKyAgICAg ICAgICAgICAgICAgICAgICAgICBST1VORCh4KSA9IGZsb29yICh4ICsgMC41KSAgKi8KKworICAg ICAgICAgICAgICAgICAgICAgIGlmICh4X3VzZV91bmRlcmxpbmVfcG9zaXRpb25fcHJvcGVydGll cworICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzLT5mb250ICYmIHMtPmZvbnQtPnVuZGVy bGluZV9wb3NpdGlvbiA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBz LT5mb250LT51bmRlcmxpbmVfcG9zaXRpb247CisgICAgICAgICAgICAgICAgICAgICAgZWxzZSBp ZiAocy0+Zm9udCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gKHMtPmZvbnQt PmRlc2NlbnQgKyAxKSAvIDI7CisgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg ICAgICAgICAgICAgICAgcG9zaXRpb24gPSB1bmRlcmxpbmVfbWluaW11bV9vZmZzZXQ7CisgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gbWF4IChwb3Np dGlvbiwgdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgIC8qIENoZWNrIHRoZSBzYW5pdHkgb2YgdGhpY2tuZXNzIGFuZCBwb3NpdGlvbi4g IFdlIHNob3VsZAorICAgICAgICAgICAgICAgICBhdm9pZCBkcmF3aW5nIHVuZGVybGluZSBvdXQg b2YgdGhlIGN1cnJlbnQgbGluZSBhcmVhLiAgKi8KKyAgICAgICAgICAgICAgaWYgKHMtPnkgKyBz LT5oZWlnaHQgPD0gcy0+eWJhc2UgKyBwb3NpdGlvbikKKyAgICAgICAgICAgICAgICBwb3NpdGlv biA9IChzLT5oZWlnaHQgLSAxKSAtIChzLT55YmFzZSAtIHMtPnkpOworICAgICAgICAgICAgICBp ZiAocy0+eSArIHMtPmhlaWdodCA8IHMtPnliYXNlICsgcG9zaXRpb24gKyB0aGlja25lc3MpCisg ICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gKHMtPnkgKyBzLT5oZWlnaHQpIC0gKHMtPnliYXNl ICsgcG9zaXRpb24pOworICAgICAgICAgICAgICBzLT51bmRlcmxpbmVfdGhpY2tuZXNzID0gdGhp Y2tuZXNzOworICAgICAgICAgICAgICBzLT51bmRlcmxpbmVfcG9zaXRpb24gPSBwb3NpdGlvbjsK KyAgICAgICAgICAgICAgeSA9IHMtPnliYXNlICsgcG9zaXRpb247CisgICAgICAgICAgICAgIGlm IChzLT5mYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3ApCisgICAgICAgICAgICAgICAgWEZpbGxS ZWN0YW5nbGUgKHMtPmRpc3BsYXksIHMtPndpbmRvdywgcy0+Z2MsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHMtPngsIHksIHMtPndpZHRoLCB0aGlja25lc3MpOworICAgICAgICAg ICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgWEdDVmFsdWVz IHhnY3Y7CisgICAgICAgICAgICAgICAgICBYR2V0R0NWYWx1ZXMgKHMtPmRpc3BsYXksIHMtPmdj LCBHQ0ZvcmVncm91bmQsICZ4Z2N2KTsKKyAgICAgICAgICAgICAgICAgIFhTZXRGb3JlZ3JvdW5k IChzLT5kaXNwbGF5LCBzLT5nYywgcy0+ZmFjZS0+dW5kZXJsaW5lX2NvbG9yKTsKKyAgICAgICAg ICAgICAgICAgIFhGaWxsUmVjdGFuZ2xlIChzLT5kaXNwbGF5LCBzLT53aW5kb3csIHMtPmdjLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPngsIHksIHMtPndpZHRoLCB0aGlj a25lc3MpOworICAgICAgICAgICAgICAgICAgWFNldEZvcmVncm91bmQgKHMtPmRpc3BsYXksIHMt PmdjLCB4Z2N2LmZvcmVncm91bmQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K KyAgICAgICAgfQogICAgICAgLyogRHJhdyBvdmVybGluZS4gICovCiAgICAgICBpZiAocy0+ZmFj ZS0+b3ZlcmxpbmVfcCkKIAl7Cg== --14dae93990972119ad04b84a6ab7-- From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 06 17:45:40 2012 Received: (at control) by debbugs.gnu.org; 6 Feb 2012 22:45:40 +0000 Received: from localhost ([127.0.0.1]:57740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RuXJc-00038I-IL for submit@debbugs.gnu.org; Mon, 06 Feb 2012 17:45:40 -0500 Received: from fencepost.gnu.org ([140.186.70.10]:54586 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RuXJb-00038C-JA for control@debbugs.gnu.org; Mon, 06 Feb 2012 17:45:40 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1RuXIk-0000IY-Tm for control@debbugs.gnu.org; Mon, 06 Feb 2012 17:44:47 -0500 Date: Mon, 06 Feb 2012 17:44:46 -0500 Message-Id: Subject: control message for bug 10736 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) forwarded 10736 http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00022.html From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 12 16:17:35 2012 Received: (at 10736) by debbugs.gnu.org; 12 Apr 2012 20:17:35 +0000 Received: from localhost ([127.0.0.1]:54912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIQSV-0004PE-Cs for submit@debbugs.gnu.org; Thu, 12 Apr 2012 16:17:35 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:38281) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIQST-0004P5-16 for 10736@debbugs.gnu.org; Thu, 12 Apr 2012 16:17:33 -0400 Received: from cm-84.215.51.58.getinternet.no ([84.215.51.58] helo=stories.gnus.org) by hermes.netfonds.no with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1SIQRA-0000pt-9L; Thu, 12 Apr 2012 22:16:12 +0200 From: Lars Magne Ingebrigtsen To: =?iso-8859-1?Q?Aur=E9lien?= Aptel Subject: Re: bug#10736: Add "underwave" face attribute References: X-Now-Playing: His Name Is Alive's _The Eclipse_: "St Michael" Date: Thu, 12 Apr 2012 22:16:11 +0200 In-Reply-To: (=?iso-8859-1?Q?=22Aur=E9lien?= Aptel"'s message of "Mon, 6 Feb 2012 13:00:54 +0100") Message-ID: User-Agent: Gnus/5.130004 (Ma Gnus v0.4) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-MailScanner-ID: 1SIQRA-0000pt-9L X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1334866572.37055@x+R4bzfW6/brIoHcPMZp7Q X-Spam-Status: No X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) Aur=E9lien Aptel writes: > 2012-02-06 Aur=E9lien Aptel > > Add underwave face attribute for X11, W32 and NextStep. > > Summary of the changes > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > The :underline attribute has now a new way to be set: > > (:color color :style style) > If `color' is a string, underline in it. > If `color' is `foreground-color', underline with the > foreground color of the face. > > If `style' is `wave' underline with a wave. > If `style' is `line' underline with a line. The screen shots look really good, but I'm not familiar enough with the C level face stuff to judge that. Looking at the mailing list, it seems like it was agreed that this is useful, and that this interface is correct. Since we're in Emacs 24.2 territory now, should this go in? --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog http://lars.ingebrigtsen.no/ From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 12 17:58:25 2012 Received: (at 10736) by debbugs.gnu.org; 12 Apr 2012 21:58:25 +0000 Received: from localhost ([127.0.0.1]:55000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIS25-0006kl-0K for submit@debbugs.gnu.org; Thu, 12 Apr 2012 17:58:25 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:33431) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIS22-0006kd-Su for 10736@debbugs.gnu.org; Thu, 12 Apr 2012 17:58:23 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q3CLv7Jr031029; Thu, 12 Apr 2012 17:57:07 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 91B81B4066; Thu, 12 Apr 2012 17:57:07 -0400 (EDT) From: Stefan Monnier To: Lars Magne Ingebrigtsen Subject: Re: bug#10736: Add "underwave" face attribute Message-ID: References: Date: Thu, 12 Apr 2012 17:57:07 -0400 In-Reply-To: (Lars Magne Ingebrigtsen's message of "Thu, 12 Apr 2012 22:16:11 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4190=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4190> : streams <746357> : uri <1098536> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, =?iso-8859-1?Q?Aur=E9lien?= Aptel X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) > Looking at the mailing list, it seems like it was agreed that this is > useful, and that this interface is correct. Since we're in Emacs 24.2 > territory now, should this go in? Assuming the code is OK, yes. I'd like to hear someone's opinion on the code, tho (Jan, maybe?). Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 12 20:50:38 2012 Received: (at 10736) by debbugs.gnu.org; 13 Apr 2012 00:50:38 +0000 Received: from localhost ([127.0.0.1]:55280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIUij-0004kt-N0 for submit@debbugs.gnu.org; Thu, 12 Apr 2012 20:50:37 -0400 Received: from mail-ee0-f44.google.com ([74.125.83.44]:49271) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIUig-0004kl-Hz for 10736@debbugs.gnu.org; Thu, 12 Apr 2012 20:50:35 -0400 Received: by eeke51 with SMTP id e51so683922eek.3 for <10736@debbugs.gnu.org>; Thu, 12 Apr 2012 17:49:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Y2NF8rQtf5wCJktR9t6IwbSo21glLIc+l9SNG+jqWOI=; b=x3niUiO6nXdY383wvvYgrPPhX5uNghNs+P5z46v8tZF+PyGcttWryKD96Sza9FSZ54 QoNO4W3xCikjKw4m+0aUQs7WaDvE+1cAMAHB3hgD4YnWOICx6p+KrNEqIX8BeOYhcfi4 2zwLkG/LLuMIRVMhJuQfUBwpX7MFtiIQvGSRdi/GgaJMntCA5gvfbdyNmrUUKWmnFObZ eqAjAXKBXQXcYZIeVpOPuI5SM781J7VRgCWat4yEFlo7Nm8DC1awcBCYclTEDMl5XCJq fhAWwTQNMg5zoyiyFHuAUK/62v7JWoRr24dhezwmzvuza1ucPRn+4q4tC6uIOGhdhX59 nTAw== MIME-Version: 1.0 Received: by 10.14.133.10 with SMTP id p10mr36038eei.36.1334278158322; Thu, 12 Apr 2012 17:49:18 -0700 (PDT) Received: by 10.213.7.195 with HTTP; Thu, 12 Apr 2012 17:49:17 -0700 (PDT) In-Reply-To: References: Date: Thu, 12 Apr 2012 20:49:17 -0400 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: Alp Aker To: Stefan Monnier Content-Type: multipart/mixed; boundary=20cf302d4bbca88d0804bd84d7dd X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: Lars Magne Ingebrigtsen , 10736@debbugs.gnu.org, =?ISO-8859-1?Q?Aur=E9lien_Aptel?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --20cf302d4bbca88d0804bd84d7dd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Apr 12, 2012 at 5:57 PM, Stefan Monnier wrote: > Assuming the code is OK, yes. =A0 I'd like to hear someone's opinion on > the code, tho (Jan, maybe?). Looking afresh at the small bit I contributed for ns_draw_underwave, it seems to me that that function does some unnecessary work with clipping rectangles, so I'd like to offer a slightly simpler version (revised patch file attached). (In explanation of this change: If I understand the NS port's drawing routine correctly, at the time this function is called the current clipping path has already been restricted to the glyph string's clip rects. Since NSRectClip can only further restrict the current clipping path, there's no need explicitly to invoke the glyph string's clip rects at this point. Indeed, I suspect the NS version could get away without worrying about clipping at all here, but I'm not as certain of this latter point.) --20cf302d4bbca88d0804bd84d7dd Content-Type: application/octet-stream; name="underwave-clip-4.patch" Content-Disposition: attachment; filename="underwave-clip-4.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h0yh8p9z0 PT09IG1vZGlmaWVkIGZpbGUgJ2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aScKLS0tIGRvYy9saXNw cmVmL2Rpc3BsYXkudGV4aQkyMDEyLTA0LTA0IDA3OjU0OjAyICswMDAwCisrKyBkb2MvbGlzcHJl Zi9kaXNwbGF5LnRleGkJMjAxMi0wNC0xMiAyMzo1NjozOSArMDAwMApAQCAtMjEyMywxMCArMjEy MywzMiBAQAogbmFtZSwgb3IgYSBoZXhhZGVjaW1hbCBjb2xvciBzcGVjaWZpY2F0aW9uLiAgQHhy ZWZ7Q29sb3IgTmFtZXN9LgogCiBAaXRlbSA6dW5kZXJsaW5lCi1XaGV0aGVyIG9yIG5vdCBjaGFy YWN0ZXJzIHNob3VsZCBiZSB1bmRlcmxpbmVkLCBhbmQgaW4gd2hhdCBjb2xvci4gIElmCi10aGUg dmFsdWUgaXMgQGNvZGV7dH0sIHVuZGVybGluaW5nIHVzZXMgdGhlIGZvcmVncm91bmQgY29sb3Ig b2YgdGhlCi1mYWNlLiAgSWYgdGhlIHZhbHVlIGlzIGEgc3RyaW5nLCB1bmRlcmxpbmluZyB1c2Vz IHRoYXQgY29sb3IuICBUaGUKLXZhbHVlIEBjb2Rle25pbH0gbWVhbnMgZG8gbm90IHVuZGVybGlu ZS4KK1doZXRoZXIgb3Igbm90IGNoYXJhY3RlcnMgc2hvdWxkIGJlIHVuZGVybGluZWQsIGFuZCBp biB3aGF0Citjb2xvci4gSGVyZSBhcmUgdGhlIHBvc3NpYmxlIHZhbHVlcyBvZiB0aGUgQGNvZGV7 OnVuZGVybGluZX0KK2F0dHJpYnV0ZSwgYW5kIHdoYXQgdGhleSBtZWFuOgorCitAdGFibGUgQGFz aXMKK0BpdGVtIEBjb2Rle25pbH0KK0Rvbid0IHVuZGVybGluZS4KKworQGl0ZW0gQGNvZGV7dH0K K1VuZGVybGluZSB3aXRoIHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNlLgorCitAaXRl bSBAdmFye2NvbG9yfQorVW5kZXJsaW5lIGluIGNvbG9yIEB2YXJ7Y29sb3J9LgorCitAaXRlbSBA Y29kZXsoOmNvbG9yIEB2YXJ7Y29sb3J9IDpzdHlsZSBAdmFye3N0eWxlfSl9CitJZiBAdmFye2Nv bG9yfSBpcyBhIHN0cmluZywgdW5kZXJsaW5lIGluIGl0LgorSWYgQHZhcntjb2xvcn0gaXMgQGNv ZGV7Zm9yZWdyb3VuZC1jb2xvcn0sIHVuZGVybGluZSB3aXRoIHRoZQorZm9yZWdyb3VuZCBjb2xv ciBvZiB0aGUgZmFjZS4KKworSWYgQHZhcntzdHlsZX0gaXMgQGNvZGV7d2F2ZX0gdW5kZXJsaW5l IHdpdGggYSB3YXZlLgorSWYgQHZhcntzdHlsZX0gaXMgQGNvZGV7bGluZX0gdW5kZXJsaW5lIHdp dGggYSBsaW5lLiAKKworSWYgdGhlIGF0dHJpYnV0ZSBAY29kZXs6Y29sb3J9IGlzIG9taXRlZCwg dW5kZXJsaW5lIHdpdGggdGhlCitmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNlLgorSWYgdGhl IGF0dHJpYnV0ZSBAY29kZXs6c3R5bGV9IGlzIG9taXRlZCwgdW5kZXJsaW5lIHdpdGggYSBsaW5l LgorQGVuZCB0YWJsZQogCiBAaXRlbSA6b3ZlcmxpbmUKIFdoZXRoZXIgb3Igbm90IGNoYXJhY3Rl cnMgc2hvdWxkIGJlIG92ZXJsaW5lZCwgYW5kIGluIHdoYXQgY29sb3IuCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbGlzcC9jdXMtZmFjZS5lbCcKLS0tIGxpc3AvY3VzLWZhY2UuZWwJMjAxMi0wMS0xOSAw NzoyMToyNSArMDAwMAorKysgbGlzcC9jdXMtZmFjZS5lbAkyMDEyLTA0LTEyIDIzOjU2OjM5ICsw MDAwCkBAIC0xMzUsOCArMTM1LDEzIEBACiAgICAgIChjaG9pY2UgOnRhZyAiVW5kZXJsaW5lIgog CSAgICAgOmhlbHAtZWNobyAiQ29udHJvbCB0ZXh0IHVuZGVybGluaW5nLiIKIAkgICAgIChjb25z dCA6dGFnICJPZmYiIG5pbCkKLQkgICAgIChjb25zdCA6dGFnICJPbiIgdCkKLQkgICAgIChjb2xv ciA6dGFnICJDb2xvcmVkIikpKQorCSAgICAgKGxpc3QgOnRhZyAiT24iCisJCSAgIChjb25zdCA6 Zm9ybWF0ICIiIDp2YWx1ZSA6Y29sb3IpCisJCSAgIChjaG9pY2UgOnRhZyAiQ29sb3IiIChjb25z dCA6dGFnICJGb3JlZ3JvdW5kIENvbG9yIiBmb3JlZ3JvdW5kLWNvbG9yKSBjb2xvcikKKyAgICAg ICAgICAgICAgICAgICAoY29uc3QgOmZvcm1hdCAiIiA6dmFsdWUgOnN0eWxlKQorICAgICAgICAg ICAgICAgICAgIChjaG9pY2UgOnRhZyAiU3R5bGUiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGluZSIgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChj b25zdCA6dGFnICJXYXZlIiB3YXZlKSkpKSkKIAogICAgICg6b3ZlcmxpbmUKICAgICAgKGNob2lj ZSA6dGFnICJPdmVybGluZSIKCj09PSBtb2RpZmllZCBmaWxlICdsaXNwL2ZhY2VzLmVsJwotLS0g bGlzcC9mYWNlcy5lbAkyMDEyLTA0LTA5IDEzOjA1OjQ4ICswMDAwCisrKyBsaXNwL2ZhY2VzLmVs CTIwMTItMDQtMTIgMjM6NTY6MzkgKzAwMDAKQEAgLTYxMywxMCArNjEzLDIxIEBACiAKIGA6dW5k ZXJsaW5lJwogCi1WQUxVRSBzcGVjaWZpZXMgd2hldGhlciBjaGFyYWN0ZXJzIGluIEZBQ0Ugc2hv dWxkIGJlIHVuZGVybGluZWQuICBJZgotVkFMVUUgaXMgdCwgdW5kZXJsaW5lIHdpdGggZm9yZWdy b3VuZCBjb2xvciBvZiB0aGUgZmFjZS4gIElmIFZBTFVFIGlzCi1hIHN0cmluZywgdW5kZXJsaW5l IHdpdGggdGhhdCBjb2xvci4gIElmIFZBTFVFIGlzIG5pbCwgZXhwbGljaXRseQotZG9uJ3QgdW5k ZXJsaW5lLgorVkFMVUUgc3BlY2lmaWVzIHdoZXRoZXIgY2hhcmFjdGVycyBpbiBGQUNFIHNob3Vs ZCBiZSB1bmRlcmxpbmVkLgorSWYgVkFMVUUgaXMgdCwgdW5kZXJsaW5lIHdpdGggZm9yZWdyb3Vu ZCBjb2xvciBvZiB0aGUgZmFjZS4KK0lmIFZBTFVFIGlzIGEgc3RyaW5nLCB1bmRlcmxpbmUgd2l0 aCB0aGF0IGNvbG9yLgorSWYgVkFMVUUgaXMgbmlsLCBleHBsaWNpdGx5IGRvbid0IHVuZGVybGlu ZS4KKworT3RoZXJ3aXNlLCBWQUxVRSBtdXN0IGJlIGEgcHJvcGVydHkgbGlzdCBvZiB0aGUgZm9y bToKKworYCg6Y29sb3IgQ09MT1IgOnN0eWxlIFNUWUxFKScuCisKK0NPTE9SIGNhbiBiZSBhIGVp dGhlciBhIGNvbG9yIG5hbWUgc3RyaW5nIG9yIGBmb3JlZ3JvdW5kLWNvbG9yJy4KK1NUWUxFIGNh biBiZSBlaXRoZXIgYGxpbmUnIG9yIGB3YXZlJy4KK0lmIGEga2V5d29yZC92YWx1ZSBwYWlyIGlz IG1pc3NpbmcgZnJvbSB0aGUgcHJvcGVydHkgbGlzdCwgYQorZGVmYXVsdCB2YWx1ZSB3aWxsIGJl IHVzZWQgZm9yIHRoZSB2YWx1ZS4KK1RoZSBkZWZhdWx0IHZhbHVlIG9mIENPTE9SIGlzIHRoZSBm b3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSBmYWNlLgorVGhlIGRlZmF1bHQgdmFsdWUgb2YgU1RZTEUg aXMgYGxpbmUnLgogCiBgOm92ZXJsaW5lJwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL2Rpc3Bl eHRlcm4uaCcKLS0tIHNyYy9kaXNwZXh0ZXJuLmgJMjAxMi0wMy0yNiAwNTo0MzowNSArMDAwMAor Kysgc3JjL2Rpc3BleHRlcm4uaAkyMDEyLTA0LTEyIDIzOjU2OjM5ICswMDAwCkBAIC0xNTEwLDYg KzE1MTAsMTMgQEAKICAgRkFDRV9TVU5LRU5fQk9YCiB9OwogCisvKiBVbmRlcmxpbmUgdHlwZS4g Ki8KKworZW51bSBmYWNlX3VuZGVybGluZV90eXBlCit7CisgIEZBQ0VfVU5ERVJfTElORSwKKyAg RkFDRV9VTkRFUl9XQVZFCit9OwogCiAvKiBTdHJ1Y3R1cmUgZGVzY3JpYmluZyBhIHJlYWxpemVk IGZhY2UuCiAKQEAgLTE1ODUsNiArMTU5Miw5IEBACiAgICAgIGRyYXdpbmcgc2hhZG93cy4gICov CiAgIHVuc2lnbmVkIHVzZV9ib3hfY29sb3JfZm9yX3NoYWRvd3NfcCA6IDE7CiAKKyAgLyogU3R5 bGUgb2YgdW5kZXJsaW5pbmcuICovCisgIGVudW0gZmFjZV91bmRlcmxpbmVfdHlwZSB1bmRlcmxp bmVfdHlwZTsKKwogICAvKiBOb24temVybyBpZiB0ZXh0IGluIHRoaXMgZmFjZSBzaG91bGQgYmUg dW5kZXJsaW5lZCwgb3ZlcmxpbmVkLAogICAgICBzdHJpa2UtdGhyb3VnaCBvciBoYXZlIGEgYm94 IGRyYXduIGFyb3VuZCBpdC4gICovCiAgIHVuc2lnbmVkIHVuZGVybGluZV9wIDogMTsKCj09PSBt b2RpZmllZCBmaWxlICdzcmMvbnN0ZXJtLm0nCi0tLSBzcmMvbnN0ZXJtLm0JMjAxMi0wMi0wNCAx NToxMDo1NCArMDAwMAorKysgc3JjL25zdGVybS5tCTIwMTItMDQtMTMgMDA6MDI6NTAgKzAwMDAK QEAgLTI1OTgsNiArMjU5OCw2MCBAQAogICByZXR1cm4gbjsKIH0KIAorLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgIERyYXcgYSB3YXZ5IGxpbmUgdW5kZXIgZ2x5cGggc3RyaW5nIHMuIFRoZSB3YXZlIGZpbGxz IHdhdmVfaGVpZ2h0CisgICBwaXhlbHMgZnJvbSB5LgorCisgICAgICAgICAgICAgICAgICAgIHgg ICAgICAgICAgd2F2ZV9sZW5ndGggPSAzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtLQorICAgICAgICAgICAgICAgIHkgICAgKiAgICogICAqICAgKiAgICoKKyAgICAgICAgICAg ICAgICAgICAgIHwqICogKiAqICogKiAqICogKgorICAgIHdhdmVfaGVpZ2h0ID0gMyAgfCAqICAg KiAgICogICAqCisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCitzdGF0aWMgdm9pZAorbnNfZHJhd191bmRl cndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMsIENHRmxvYXQgd2lkdGgsIENHRmxvYXQgeCkK K3sKKyAgaW50IHdhdmVfaGVpZ2h0ID0gMywgd2F2ZV9sZW5ndGggPSAzOworICBpbnQgeSwgZHgs IGR5LCBvZGQsIHhtYXg7CisgIE5TUG9pbnQgYSwgYjsKKyAgTlNSZWN0IHdhdmVDbGlwOworCisg IGR4ID0gd2F2ZV9sZW5ndGg7CisgIGR5ID0gd2F2ZV9oZWlnaHQgLSAxOworICB5ID0gIHMtPnli YXNlICsgMTsKKyAgeG1heCA9IHggKyB3aWR0aDsKKworICAvKiBGaW5kIGFuZCBzZXQgY2xpcHBp bmcgcmVjdGFuZ2xlICovCisgIHdhdmVDbGlwID0gTlNNYWtlUmVjdCAoeCwgeSwgd2lkdGgsIHdh dmVfaGVpZ2h0KTsKKyAgW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gc2F2ZUdy YXBoaWNzU3RhdGVdOworICBOU1JlY3RDbGlwICh3YXZlQ2xpcCk7CisKKyAgLyogRHJhdyB0aGUg d2F2ZXMgKi8KKyAgYS54ID0geCAtICgoaW50KSh4KSAlIGR4KTsKKyAgYi54ID0gYS54ICsgZHg7 CisgIG9kZCA9IChpbnQpKGEueC9keCkgJSAyOworICBhLnkgPSBiLnkgPSB5OworCisgIGlmIChv ZGQpCisgICAgYS55ICs9IGR5OworICBlbHNlCisgICAgYi55ICs9IGR5OworCisgIHdoaWxlIChh LnggPD0geG1heCkKKyAgICB7CisgICAgICBbTlNCZXppZXJQYXRoIHN0cm9rZUxpbmVGcm9tUG9p bnQ6YSB0b1BvaW50OmJdOworICAgICAgYS54ID0gYi54LCBhLnkgPSBiLnk7CisgICAgICBiLngg Kz0gZHgsIGIueSA9IHkgKyBvZGQqZHk7CisgICAgICBvZGQgPSAhb2RkOworICAgIH0KKworICAv KiBSZXN0b3JlIHByZXZpb3VzIGNsaXBwaW5nIHJlY3RhbmdsZShzKSAqLworICBbW05TR3JhcGhp Y3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSByZXN0b3JlR3JhcGhpY3NTdGF0ZV07Cit9CisKKwor CiB2b2lkCiBuc19kcmF3X3RleHRfZGVjb3JhdGlvbiAoc3RydWN0IGdseXBoX3N0cmluZyAqcywg c3RydWN0IGZhY2UgKmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgTlNDb2xvciAqZGVm YXVsdENvbCwgQ0dGbG9hdCB3aWR0aCwgQ0dGbG9hdCB4KQpAQCAtMjYxMSw2MyArMjY2NSw3NSBA QAogICAvKiBEbyB1bmRlcmxpbmUuICovCiAgIGlmIChmYWNlLT51bmRlcmxpbmVfcCkKICAgICB7 Ci0gICAgICBOU1JlY3QgcjsKLSAgICAgIHVuc2lnbmVkIGxvbmcgdGhpY2tuZXNzLCBwb3NpdGlv bjsKLQotICAgICAgLyogSWYgdGhlIHByZXYgd2FzIHVuZGVybGluZWQsIG1hdGNoIGl0cyBhcHBl YXJhbmNlLiAqLwotICAgICAgaWYgKHMtPnByZXYgJiYgcy0+cHJldi0+ZmFjZS0+dW5kZXJsaW5l X3AKLSAgICAgICAgICAmJiBzLT5wcmV2LT51bmRlcmxpbmVfdGhpY2tuZXNzID4gMCkKLSAgICAg ICAgewotICAgICAgICAgIHRoaWNrbmVzcyA9IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3M7 Ci0gICAgICAgICAgcG9zaXRpb24gPSBzLT5wcmV2LT51bmRlcmxpbmVfcG9zaXRpb247Ci0gICAg ICAgIH0KLSAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAgICAgIHN0cnVjdCBmb250ICpmb250 OwotICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZGVzY2VudDsKLQotICAgICAgICAgIGZvbnQ9cy0+ Zm9udDsKLSAgICAgICAgICBkZXNjZW50ID0gcy0+eSArIHMtPmhlaWdodCAtIHMtPnliYXNlOwot Ci0gICAgICAgICAgLyogVXNlIHVuZGVybGluZSB0aGlja25lc3Mgb2YgZm9udCwgZGVmYXVsdGlu ZyB0byAxLiAqLwotICAgICAgICAgIHRoaWNrbmVzcyA9IChmb250ICYmIGZvbnQtPnVuZGVybGlu ZV90aGlja25lc3MgPiAwKQotICAgICAgICAgICAgPyBmb250LT51bmRlcmxpbmVfdGhpY2tuZXNz IDogMTsKLQotICAgICAgICAgIC8qIERldGVybWluZSB0aGUgb2Zmc2V0IG9mIHVuZGVybGluaW5n IGZyb20gdGhlIGJhc2VsaW5lLiAqLwotICAgICAgICAgIGlmICh4X3VuZGVybGluZV9hdF9kZXNj ZW50X2xpbmUpCi0gICAgICAgICAgICBwb3NpdGlvbiA9IGRlc2NlbnQgLSB0aGlja25lc3M7Ci0g ICAgICAgICAgZWxzZSBpZiAoeF91c2VfdW5kZXJsaW5lX3Bvc2l0aW9uX3Byb3BlcnRpZXMKLSAg ICAgICAgICAgICAgICAgICAmJiBmb250ICYmIGZvbnQtPnVuZGVybGluZV9wb3NpdGlvbiA+PSAw KQotICAgICAgICAgICAgcG9zaXRpb24gPSBmb250LT51bmRlcmxpbmVfcG9zaXRpb247Ci0gICAg ICAgICAgZWxzZSBpZiAoZm9udCkKLSAgICAgICAgICAgIHBvc2l0aW9uID0gbHJvdW5kIChmb250 LT5kZXNjZW50IC8gMik7Ci0gICAgICAgICAgZWxzZQotICAgICAgICAgICAgcG9zaXRpb24gPSB1 bmRlcmxpbmVfbWluaW11bV9vZmZzZXQ7Ci0KLSAgICAgICAgICBwb3NpdGlvbiA9IG1heCAocG9z aXRpb24sIHVuZGVybGluZV9taW5pbXVtX29mZnNldCk7Ci0KLSAgICAgICAgICAvKiBFbnN1cmUg dW5kZXJsaW5pbmcgaXMgbm90IGNyb3BwZWQuICovCi0gICAgICAgICAgaWYgKGRlc2NlbnQgPD0g cG9zaXRpb24pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIHBvc2l0aW9uID0gZGVzY2Vu dCAtIDE7Ci0gICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7Ci0gICAgICAgICAgICB9Ci0gICAg ICAgICAgZWxzZSBpZiAoZGVzY2VudCA8IHBvc2l0aW9uICsgdGhpY2tuZXNzKQotICAgICAgICAg ICAgdGhpY2tuZXNzID0gMTsKLSAgICAgICAgfQotCi0gICAgICBzLT51bmRlcmxpbmVfdGhpY2tu ZXNzID0gdGhpY2tuZXNzOwotICAgICAgcy0+dW5kZXJsaW5lX3Bvc2l0aW9uID0gcG9zaXRpb247 Ci0KLSAgICAgIHIgPSBOU01ha2VSZWN0ICh4LCBzLT55YmFzZSArIHBvc2l0aW9uLCB3aWR0aCwg dGhpY2tuZXNzKTsKLQotICAgICAgaWYgKGZhY2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCkKLSAg ICAgICAgW2RlZmF1bHRDb2wgc2V0XTsKLSAgICAgIGVsc2UKLSAgICAgICAgW25zX2xvb2t1cF9p bmRleGVkX2NvbG9yIChmYWNlLT51bmRlcmxpbmVfY29sb3IsIHMtPmYpIHNldF07Ci0gICAgICBO U1JlY3RGaWxsIChyKTsKKyAgICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfdHlwZSA9PSBGQUNF X1VOREVSX1dBVkUpCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoZmFjZS0+dW5kZXJsaW5lX2Rl ZmF1bHRlZF9wKQorICAgICAgICAgICAgW2RlZmF1bHRDb2wgc2V0XTsKKyAgICAgICAgICBlbHNl CisgICAgICAgICAgICBbbnNfbG9va3VwX2luZGV4ZWRfY29sb3IgKGZhY2UtPnVuZGVybGluZV9j b2xvciwgcy0+Zikgc2V0XTsKKworICAgICAgICAgIG5zX2RyYXdfdW5kZXJ3YXZlIChzLCB3aWR0 aCwgeCk7CisgICAgICAgIH0KKyAgICAgIGVsc2UgaWYgKHMtPmZhY2UtPnVuZGVybGluZV90eXBl ID09IEZBQ0VfVU5ERVJfTElORSkKKyAgICAgICAgeworCisgICAgICAgICAgTlNSZWN0IHI7Cisg ICAgICAgICAgdW5zaWduZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9uOworCisgICAgICAgICAg LyogSWYgdGhlIHByZXYgd2FzIHVuZGVybGluZWQsIG1hdGNoIGl0cyBhcHBlYXJhbmNlLiAqLwor ICAgICAgICAgIGlmIChzLT5wcmV2ICYmIHMtPnByZXYtPmZhY2UtPnVuZGVybGluZV9wCisgICAg ICAgICAgICAgICYmIHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3MgPiAwKQorICAgICAgICAg ICAgeworICAgICAgICAgICAgICB0aGlja25lc3MgPSBzLT5wcmV2LT51bmRlcmxpbmVfdGhpY2tu ZXNzOworICAgICAgICAgICAgICBwb3NpdGlvbiA9IHMtPnByZXYtPnVuZGVybGluZV9wb3NpdGlv bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAg ICAgICAgIHN0cnVjdCBmb250ICpmb250OworICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRl c2NlbnQ7CisKKyAgICAgICAgICAgICAgZm9udD1zLT5mb250OworICAgICAgICAgICAgICBkZXNj ZW50ID0gcy0+eSArIHMtPmhlaWdodCAtIHMtPnliYXNlOworCisgICAgICAgICAgICAgIC8qIFVz ZSB1bmRlcmxpbmUgdGhpY2tuZXNzIG9mIGZvbnQsIGRlZmF1bHRpbmcgdG8gMS4gKi8KKyAgICAg ICAgICAgICAgdGhpY2tuZXNzID0gKGZvbnQgJiYgZm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzcyA+ IDApCisgICAgICAgICAgICAgICAgPyBmb250LT51bmRlcmxpbmVfdGhpY2tuZXNzIDogMTsKKwor ICAgICAgICAgICAgICAvKiBEZXRlcm1pbmUgdGhlIG9mZnNldCBvZiB1bmRlcmxpbmluZyBmcm9t IHRoZSBiYXNlbGluZS4gKi8KKyAgICAgICAgICAgICAgaWYgKHhfdW5kZXJsaW5lX2F0X2Rlc2Nl bnRfbGluZSkKKyAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IGRlc2NlbnQgLSB0aGlja25lc3M7 CisgICAgICAgICAgICAgIGVsc2UgaWYgKHhfdXNlX3VuZGVybGluZV9wb3NpdGlvbl9wcm9wZXJ0 aWVzCisgICAgICAgICAgICAgICAgICAgICAgICYmIGZvbnQgJiYgZm9udC0+dW5kZXJsaW5lX3Bv c2l0aW9uID49IDApCisgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBmb250LT51bmRlcmxpbmVf cG9zaXRpb247CisgICAgICAgICAgICAgIGVsc2UgaWYgKGZvbnQpCisgICAgICAgICAgICAgICAg cG9zaXRpb24gPSBscm91bmQgKGZvbnQtPmRlc2NlbnQgLyAyKTsKKyAgICAgICAgICAgICAgZWxz ZQorICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0Owor CisgICAgICAgICAgICAgIHBvc2l0aW9uID0gbWF4IChwb3NpdGlvbiwgdW5kZXJsaW5lX21pbmlt dW1fb2Zmc2V0KTsKKworICAgICAgICAgICAgICAvKiBFbnN1cmUgdW5kZXJsaW5pbmcgaXMgbm90 IGNyb3BwZWQuICovCisgICAgICAgICAgICAgIGlmIChkZXNjZW50IDw9IHBvc2l0aW9uKQorICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gZGVzY2VudCAtIDE7 CisgICAgICAgICAgICAgICAgICB0aGlja25lc3MgPSAxOworICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICAgZWxzZSBpZiAoZGVzY2VudCA8IHBvc2l0aW9uICsgdGhpY2tuZXNzKQorICAg ICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICBz LT51bmRlcmxpbmVfdGhpY2tuZXNzID0gdGhpY2tuZXNzOworICAgICAgICAgIHMtPnVuZGVybGlu ZV9wb3NpdGlvbiA9IHBvc2l0aW9uOworCisgICAgICAgICAgciA9IE5TTWFrZVJlY3QgKHgsIHMt PnliYXNlICsgcG9zaXRpb24sIHdpZHRoLCB0aGlja25lc3MpOworCisgICAgICAgICAgaWYgKGZh Y2UtPnVuZGVybGluZV9kZWZhdWx0ZWRfcCkKKyAgICAgICAgICAgIFtkZWZhdWx0Q29sIHNldF07 CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgW25zX2xvb2t1cF9pbmRleGVkX2NvbG9yIChm YWNlLT51bmRlcmxpbmVfY29sb3IsIHMtPmYpIHNldF07CisgICAgICAgICAgTlNSZWN0RmlsbCAo cik7CisgICAgICAgIH0KICAgICB9Ci0KICAgLyogRG8gb3ZlcmxpbmUuIFdlIGZvbGxvdyBvdGhl ciB0ZXJtcyBpbiB1c2luZyBhIHRoaWNrbmVzcyBvZiAxCiAgICAgIGFuZCBpZ25vcmluZyBvdmVy bGluZV9tYXJnaW4uICovCiAgIGlmIChmYWNlLT5vdmVybGluZV9wKQoKPT09IG1vZGlmaWVkIGZp bGUgJ3NyYy93MzJ0ZXJtLmMnCi0tLSBzcmMvdzMydGVybS5jCTIwMTItMDQtMDkgMTM6MDU6NDgg KzAwMDAKKysrIHNyYy93MzJ0ZXJtLmMJMjAxMi0wNC0xMiAyMzo1NjozOSArMDAwMApAQCAtMzA5 LDYgKzMwOSw5NCBAQAogICAgIFNlbGVjdENsaXBSZ24gKGhkYywgTlVMTCk7CiB9CiAKKy8qIFJl c3RvcmUgY2xpcHBpbmcgcmVjdGFuZ2xlIGluIFMgKi8KK3N0YXRpYyB2b2lkCit3MzJfcmVzdG9y ZV9nbHlwaF9zdHJpbmdfY2xpcCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKK3sKKyAgUkVDVCAq ciA9IHMtPmNsaXA7CisgIGludCBuID0gcy0+bnVtX2NsaXBzOworCisgIGlmIChuID09IDEpCisg ICAgdzMyX3NldF9jbGlwX3JlY3RhbmdsZSAocy0+aGRjLCByKTsKKyAgZWxzZSBpZiAobiA+IDEp CisgICAgeworICAgICAgSFJHTiBjbGlwMSA9IENyZWF0ZVJlY3RSZ25JbmRpcmVjdCAocik7Cisg ICAgICBIUkdOIGNsaXAyID0gQ3JlYXRlUmVjdFJnbkluZGlyZWN0IChyICsgMSk7CisgICAgICBp ZiAoQ29tYmluZVJnbiAoY2xpcDEsIGNsaXAxLCBjbGlwMiwgUkdOX09SKSAhPSBFUlJPUikKKyAg ICAgICAgU2VsZWN0Q2xpcFJnbiAocy0+aGRjLCBjbGlwMSk7CisgICAgICBEZWxldGVPYmplY3Qg KGNsaXAxKTsKKyAgICAgIERlbGV0ZU9iamVjdCAoY2xpcDIpOworICAgIH0KK30KKworLyoKKyAg IERyYXcgYSB3YXZ5IGxpbmUgdW5kZXIgUy4gVGhlIHdhdmUgZmlsbHMgd2F2ZV9oZWlnaHQgcGl4 ZWxzIGZyb20geTAuCisKKyAgICAgICAgICAgICAgICAgICAgeDAgICAgICAgICB3YXZlX2xlbmd0 aCA9IDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCisgICAgICAgICAgICAg ICAgeTAgICAqICAgKiAgICogICAqICAgKgorICAgICAgICAgICAgICAgICAgICAgfCogKiAqICog KiAqICogKiAqCisgICAgd2F2ZV9oZWlnaHQgPSAzICB8ICogICAqICAgKiAgICoKKworKi8KKwor dm9pZAordzMyX2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBDT0xPUlJF RiBjb2xvcikKK3sKKyAgaW50IHdhdmVfaGVpZ2h0ID0gMiwgd2F2ZV9sZW5ndGggPSAzOworICBp bnQgZHgsIGR5LCB4MCwgeTAsIHdpZHRoLCB4MSwgeTEsIHgyLCB5Miwgb2RkLCB4bWF4OworICBY UmVjdGFuZ2xlIHdhdmVfY2xpcCwgc3RyaW5nX2NsaXAsIGZpbmFsX2NsaXA7CisgIFJFQ1QgdzMy X2ZpbmFsX2NsaXAsIHczMl9zdHJpbmdfY2xpcDsKKyAgSFBFTiBocCwgb2xkaHA7CisKKyAgZHgg PSB3YXZlX2xlbmd0aDsKKyAgZHkgPSB3YXZlX2hlaWdodCAtIDE7CisgIHgwID0gcy0+eDsKKyAg eTAgPSBzLT55YmFzZSArIDE7CisgIHdpZHRoID0gcy0+d2lkdGg7CisgIHhtYXggPSB4MCArIHdp ZHRoOworCisgIC8qIEZpbmQgYW5kIHNldCBjbGlwcGluZyByZWN0YW5nbGUgKi8KKworICB3YXZl X2NsaXAgPSAoWFJlY3RhbmdsZSl7IHgwLCB5MCwgd2lkdGgsIHdhdmVfaGVpZ2h0IH07CisgIGdl dF9nbHlwaF9zdHJpbmdfY2xpcF9yZWN0IChzLCAmdzMyX3N0cmluZ19jbGlwKTsKKyAgQ09OVkVS VF9UT19YUkVDVCAoc3RyaW5nX2NsaXAsIHczMl9zdHJpbmdfY2xpcCk7CisKKyAgaWYgKCF4X2lu dGVyc2VjdF9yZWN0YW5nbGVzICgmd2F2ZV9jbGlwLCAmc3RyaW5nX2NsaXAsICZmaW5hbF9jbGlw KSkKKyAgICByZXR1cm47CisKKyAgaHAgPSBDcmVhdGVQZW4gKFBTX1NPTElELCAwLCBjb2xvcik7 CisgIG9sZGhwID0gU2VsZWN0T2JqZWN0IChzLT5oZGMsIGhwKTsKKyAgQ09OVkVSVF9GUk9NX1hS RUNUIChmaW5hbF9jbGlwLCB3MzJfZmluYWxfY2xpcCk7CisgIHczMl9zZXRfY2xpcF9yZWN0YW5n bGUgKHMtPmhkYywgJnczMl9maW5hbF9jbGlwKTsKKworICAvKiBEcmF3IHRoZSB3YXZlcyAqLwor CisgIHgxID0geDAgLSAoeDAgJSBkeCk7CisgIHgyID0geDEgKyBkeDsKKyAgb2RkID0gKHgxL2R4 KSAlIDI7CisgIHkxID0geTIgPSB5MDsKKworICBpZiAob2RkKQorICAgIHkxICs9IGR5OworICBl bHNlCisgICAgeTIgKz0gZHk7CisKKyAgTW92ZVRvRXggKHMtPmhkYywgeDEsIHkxLCBOVUxMKTsK KworICB3aGlsZSAoeDEgPD0geG1heCkKKyAgICB7CisgICAgICBMaW5lVG8gKHMtPmhkYywgeDIs IHkyKTsKKyAgICAgIHgxICA9IHgyLCB5MSA9IHkyOworICAgICAgeDIgKz0gZHgsIHkyID0geTAg KyBvZGQqZHk7CisgICAgICBvZGQgPSAhb2RkOworICAgIH0KKworICAvKiBSZXN0b3JlIHByZXZp b3VzIHBlbiBhbmQgY2xpcHBpbmcgcmVjdGFuZ2xlKHMpICovCisgIHczMl9yZXN0b3JlX2dseXBo X3N0cmluZ19jbGlwIChzKTsKKyAgU2VsZWN0T2JqZWN0IChzLT5oZGMsIG9sZGhwKTsKKyAgRGVs ZXRlT2JqZWN0IChocCk7Cit9CiAKIC8qIERyYXcgYSBob2xsb3cgcmVjdGFuZ2xlIGF0IHRoZSBz cGVjaWZpZWQgcG9zaXRpb24uICAqLwogdm9pZApAQCAtMjM0Myw2MCArMjQzMSw3NCBAQAogICAg ICAgLyogRHJhdyB1bmRlcmxpbmUuICAqLwogICAgICAgaWYgKHMtPmZhY2UtPnVuZGVybGluZV9w KQogICAgICAgICB7Ci0gICAgICAgICAgdW5zaWduZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9u OwotICAgICAgICAgIGludCB5OwotCi0gICAgICAgICAgaWYgKHMtPnByZXYgJiYgcy0+cHJldi0+ ZmFjZS0+dW5kZXJsaW5lX3ApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIC8qIFdlIHVz ZSB0aGUgc2FtZSB1bmRlcmxpbmUgc3R5bGUgYXMgdGhlIHByZXZpb3VzIG9uZS4gICovCi0gICAg ICAgICAgICAgIHRoaWNrbmVzcyA9IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3M7Ci0gICAg ICAgICAgICAgIHBvc2l0aW9uID0gcy0+cHJldi0+dW5kZXJsaW5lX3Bvc2l0aW9uOwotICAgICAg ICAgICAgfQotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgLyog R2V0IHRoZSB1bmRlcmxpbmUgdGhpY2tuZXNzLiAgRGVmYXVsdCBpcyAxIHBpeGVsLiAgKi8KLSAg ICAgICAgICAgICAgaWYgKHMtPmZvbnQgJiYgcy0+Zm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzcyA+ IDApCi0gICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gcy0+Zm9udC0+dW5kZXJsaW5lX3RoaWNr bmVzczsKLSAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7 Ci0gICAgICAgICAgICAgIGlmICh4X3VuZGVybGluZV9hdF9kZXNjZW50X2xpbmUpCi0gICAgICAg ICAgICAgICAgcG9zaXRpb24gPSAocy0+aGVpZ2h0IC0gdGhpY2tuZXNzKSAtIChzLT55YmFzZSAt IHMtPnkpOwotICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg ICAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHBvc2l0aW9uLiAgVGhpcyBpcyB0aGUgcmVjb21t ZW5kZWQKLSAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbCBvZmZzZXQgaW4gcGl4ZWxzIGZyb20g dGhlIGJhc2VsaW5lIHRvIHRoZSB0b3Agb2YKLSAgICAgICAgICAgICAgICAgICB0aGUgdW5kZXJs aW5lLiAgVGhpcyBpcyBhIHNpZ25lZCB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlCi0gICAgICAgICAg ICAgICAgICAgc3BlY3MsIGFuZCBpdHMgZGVmYXVsdCBpcwotCi0gICAgICAgICAgICAgICAgICAg Uk9VTkQgKChtYXhpbXVtX2Rlc2NlbnQpIC8gMiksIHdpdGgKLSAgICAgICAgICAgICAgICAgICBS T1VORCAoeCkgPSBmbG9vciAoeCArIDAuNSkgICovCi0KLSAgICAgICAgICAgICAgICBpZiAoeF91 c2VfdW5kZXJsaW5lX3Bvc2l0aW9uX3Byb3BlcnRpZXMKLSAgICAgICAgICAgICAgICAgICAgJiYg cy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxpbmVfcG9zaXRpb24gPj0gMCkKLSAgICAgICAgICAg ICAgICAgIHBvc2l0aW9uID0gcy0+Zm9udC0+dW5kZXJsaW5lX3Bvc2l0aW9uOwotICAgICAgICAg ICAgICAgIGVsc2UgaWYgKHMtPmZvbnQpCi0gICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IChz LT5mb250LT5kZXNjZW50ICsgMSkgLyAyOwotICAgICAgICAgICAgICAgIH0KLQkgICAgICBwb3Np dGlvbiA9IG1heCAocG9zaXRpb24sIHVuZGVybGluZV9taW5pbXVtX29mZnNldCk7Ci0gICAgICAg ICAgICB9Ci0JICAvKiBDaGVjayB0aGUgc2FuaXR5IG9mIHRoaWNrbmVzcyBhbmQgcG9zaXRpb24u ICBXZSBzaG91bGQKLQkgICAgIGF2b2lkIGRyYXdpbmcgdW5kZXJsaW5lIG91dCBvZiB0aGUgY3Vy cmVudCBsaW5lIGFyZWEuICAqLwotCSAgaWYgKHMtPnkgKyBzLT5oZWlnaHQgPD0gcy0+eWJhc2Ug KyBwb3NpdGlvbikKLQkgICAgcG9zaXRpb24gPSAocy0+aGVpZ2h0IC0gMSkgLSAocy0+eWJhc2Ug LSBzLT55KTsKLQkgIGlmIChzLT55ICsgcy0+aGVpZ2h0IDwgcy0+eWJhc2UgKyBwb3NpdGlvbiAr IHRoaWNrbmVzcykKLQkgICAgdGhpY2tuZXNzID0gKHMtPnkgKyBzLT5oZWlnaHQpIC0gKHMtPnli YXNlICsgcG9zaXRpb24pOwotCSAgcy0+dW5kZXJsaW5lX3RoaWNrbmVzcyA9IHRoaWNrbmVzczsK LQkgIHMtPnVuZGVybGluZV9wb3NpdGlvbiA9cG9zaXRpb247Ci0gICAgICAgICAgeSA9IHMtPnli YXNlICsgcG9zaXRpb247Ci0gICAgICAgICAgaWYgKHMtPmZhY2UtPnVuZGVybGluZV9kZWZhdWx0 ZWRfcCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgdzMyX2ZpbGxfYXJlYSAocy0+Ziwg cy0+aGRjLCBzLT5nYy0+Zm9yZWdyb3VuZCwgcy0+eCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeSwgcy0+d2lkdGgsIDEpOwotICAgICAgICAgICAgfQotICAgICAgICAgIGVsc2UKLSAg ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgdzMyX2ZpbGxfYXJlYSAocy0+Ziwgcy0+aGRjLCBz LT5mYWNlLT51bmRlcmxpbmVfY29sb3IsIHMtPngsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHksIHMtPndpZHRoLCAxKTsKKyAgICAgICAgICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX3R5 cGUgPT0gRkFDRV9VTkRFUl9XQVZFKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBDT0xP UlJFRiBjb2xvcjsKKworICAgICAgICAgICAgICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX2RlZmF1 bHRlZF9wKQorICAgICAgICAgICAgICAgIGNvbG9yID0gcy0+Z2MtPmZvcmVncm91bmQ7CisgICAg ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb2xvciA9IHMtPmZhY2UtPnVuZGVybGlu ZV9jb2xvcjsKKworICAgICAgICAgICAgICB3MzJfZHJhd191bmRlcndhdmUgKHMsIGNvbG9yKTsK KyAgICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfdHlw ZSA9PSBGQUNFX1VOREVSX0xJTkUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgdGhpY2tuZXNzLCBwb3NpdGlvbjsKKyAgICAgICAgICAgICAgaW50IHk7CisKKyAg ICAgICAgICAgICAgaWYgKHMtPnByZXYgJiYgcy0+cHJldi0+ZmFjZS0+dW5kZXJsaW5lX3ApCisg ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgLyogV2UgdXNlIHRoZSBzYW1lIHVu ZGVybGluZSBzdHlsZSBhcyB0aGUgcHJldmlvdXMgb25lLiAgKi8KKyAgICAgICAgICAgICAgICAg IHRoaWNrbmVzcyA9IHMtPnByZXYtPnVuZGVybGluZV90aGlja25lc3M7CisgICAgICAgICAgICAg ICAgICBwb3NpdGlvbiA9IHMtPnByZXYtPnVuZGVybGluZV9wb3NpdGlvbjsKKyAgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgICAvKiBHZXQgdGhlIHVuZGVybGluZSB0aGlja25lc3MuICBEZWZhdWx0IGlzIDEgcGl4 ZWwuICAqLworICAgICAgICAgICAgICAgICAgaWYgKHMtPmZvbnQgJiYgcy0+Zm9udC0+dW5kZXJs aW5lX3RoaWNrbmVzcyA+IDApCisgICAgICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9IHMtPmZv bnQtPnVuZGVybGluZV90aGlja25lc3M7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg ICAgICAgICAgICAgIHRoaWNrbmVzcyA9IDE7CisgICAgICAgICAgICAgICAgICBpZiAoeF91bmRl cmxpbmVfYXRfZGVzY2VudF9saW5lKQorICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IChz LT5oZWlnaHQgLSB0aGlja25lc3MpIC0gKHMtPnliYXNlIC0gcy0+eSk7CisgICAgICAgICAgICAg ICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAv KiBHZXQgdGhlIHVuZGVybGluZSBwb3NpdGlvbi4gIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkCisg ICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwgb2Zmc2V0IGluIHBpeGVscyBmcm9tIHRo ZSBiYXNlbGluZSB0byB0aGUgdG9wIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHVu ZGVybGluZS4gIFRoaXMgaXMgYSBzaWduZWQgdmFsdWUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAg ICAgICAgICAgICAgICAgICAgIHNwZWNzLCBhbmQgaXRzIGRlZmF1bHQgaXMKKworICAgICAgICAg ICAgICAgICAgICAgICAgIFJPVU5EICgobWF4aW11bV9kZXNjZW50KSAvIDIpLCB3aXRoCisgICAg ICAgICAgICAgICAgICAgICAgICAgUk9VTkQgKHgpID0gZmxvb3IgKHggKyAwLjUpICAqLworCisg ICAgICAgICAgICAgICAgICAgICAgaWYgKHhfdXNlX3VuZGVybGluZV9wb3NpdGlvbl9wcm9wZXJ0 aWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHMtPmZvbnQgJiYgcy0+Zm9udC0+dW5k ZXJsaW5lX3Bvc2l0aW9uID49IDApCisgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9 IHMtPmZvbnQtPnVuZGVybGluZV9wb3NpdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgICBlbHNl IGlmIChzLT5mb250KQorICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSAocy0+Zm9u dC0+ZGVzY2VudCArIDEpIC8gMjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgICAgcG9zaXRpb24gPSBtYXggKHBvc2l0aW9uLCB1bmRlcmxpbmVfbWluaW11bV9vZmZzZXQp OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgLyogQ2hlY2sgdGhlIHNhbml0eSBv ZiB0aGlja25lc3MgYW5kIHBvc2l0aW9uLiAgV2Ugc2hvdWxkCisgICAgICAgICAgICAgICAgIGF2 b2lkIGRyYXdpbmcgdW5kZXJsaW5lIG91dCBvZiB0aGUgY3VycmVudCBsaW5lIGFyZWEuICAqLwor ICAgICAgICAgICAgICBpZiAocy0+eSArIHMtPmhlaWdodCA8PSBzLT55YmFzZSArIHBvc2l0aW9u KQorICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gKHMtPmhlaWdodCAtIDEpIC0gKHMtPnliYXNl IC0gcy0+eSk7CisgICAgICAgICAgICAgIGlmIChzLT55ICsgcy0+aGVpZ2h0IDwgcy0+eWJhc2Ug KyBwb3NpdGlvbiArIHRoaWNrbmVzcykKKyAgICAgICAgICAgICAgICB0aGlja25lc3MgPSAocy0+ eSArIHMtPmhlaWdodCkgLSAocy0+eWJhc2UgKyBwb3NpdGlvbik7CisgICAgICAgICAgICAgIHMt PnVuZGVybGluZV90aGlja25lc3MgPSB0aGlja25lc3M7CisgICAgICAgICAgICAgIHMtPnVuZGVy bGluZV9wb3NpdGlvbiA9cG9zaXRpb247CisgICAgICAgICAgICAgIHkgPSBzLT55YmFzZSArIHBv c2l0aW9uOworICAgICAgICAgICAgICBpZiAocy0+ZmFjZS0+dW5kZXJsaW5lX2RlZmF1bHRlZF9w KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHczMl9maWxsX2FyZWEgKHMt PmYsIHMtPmhkYywgcy0+Z2MtPmZvcmVncm91bmQsIHMtPngsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB5LCBzLT53aWR0aCwgMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgdzMyX2Zp bGxfYXJlYSAocy0+Ziwgcy0+aGRjLCBzLT5mYWNlLT51bmRlcmxpbmVfY29sb3IsIHMtPngsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5LCBzLT53aWR0aCwgMSk7CisgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAvKiBEcmF3IG92ZXJs aW5lLiAgKi8KCj09PSBtb2RpZmllZCBmaWxlICdzcmMveGZhY2VzLmMnCi0tLSBzcmMveGZhY2Vz LmMJMjAxMi0wNC0wOSAxMzowNTo0OCArMDAwMAorKysgc3JjL3hmYWNlcy5jCTIwMTItMDQtMTIg MjM6NTY6MzkgKzAwMDAKQEAgLTMyMCw2ICszMjAsNyBAQAogCiBMaXNwX09iamVjdCBRbm9ybWFs OwogTGlzcF9PYmplY3QgUWJvbGQ7CitzdGF0aWMgTGlzcF9PYmplY3QgUWxpbmUsIFF3YXZlOwog c3RhdGljIExpc3BfT2JqZWN0IFF1bHRyYV9saWdodCwgUWV4dHJhX2xpZ2h0LCBRbGlnaHQ7CiBz dGF0aWMgTGlzcF9PYmplY3QgUXNlbWlfbGlnaHQsIFFzZW1pX2JvbGQsIFFleHRyYV9ib2xkLCBR dWx0cmFfYm9sZDsKIHN0YXRpYyBMaXNwX09iamVjdCBRb2JsaXF1ZSwgUXJldmVyc2Vfb2JsaXF1 ZSwgUXJldmVyc2VfaXRhbGljOwpAQCAtMTg4OSw3ICsxODkwLDggQEAKICAgeGFzc2VydCAoVU5T UEVDSUZJRURQIChhdHRyc1tMRkFDRV9VTkRFUkxJTkVfSU5ERVhdKQogCSAgIHx8IElHTk9SRV9E RUZGQUNFX1AgKGF0dHJzW0xGQUNFX1VOREVSTElORV9JTkRFWF0pCiAJICAgfHwgU1lNQk9MUCAo YXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkKLQkgICB8fCBTVFJJTkdQIChhdHRyc1tMRkFD RV9VTkRFUkxJTkVfSU5ERVhdKSk7CisJICAgfHwgU1RSSU5HUCAoYXR0cnNbTEZBQ0VfVU5ERVJM SU5FX0lOREVYXSkKKwkgICB8fCBDT05TUCAoYXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkp OwogICB4YXNzZXJ0IChVTlNQRUNJRklFRFAgKGF0dHJzW0xGQUNFX09WRVJMSU5FX0lOREVYXSkK IAkgICB8fCBJR05PUkVfREVGRkFDRV9QIChhdHRyc1tMRkFDRV9PVkVSTElORV9JTkRFWF0pCiAJ ICAgfHwgU1lNQk9MUCAoYXR0cnNbTEZBQ0VfT1ZFUkxJTkVfSU5ERVhdKQpAQCAtMjUyMCw3ICsy NTIyLDggQEAKIAkJewogCQkgIGlmIChFUSAodmFsdWUsIFF0KQogCQkgICAgICB8fCBOSUxQICh2 YWx1ZSkKLQkJICAgICAgfHwgU1RSSU5HUCAodmFsdWUpKQorCQkgICAgICB8fCBTVFJJTkdQICh2 YWx1ZSkKKwkJICAgICAgfHwgQ09OU1AgKHZhbHVlKSkKIAkJICAgIHRvW0xGQUNFX1VOREVSTElO RV9JTkRFWF0gPSB2YWx1ZTsKIAkJICBlbHNlCiAJCSAgICBlcnIgPSAxOwpAQCAtMjk0NCwxNSAr Mjk0Nyw1NCBAQAogICAgIH0KICAgZWxzZSBpZiAoRVEgKGF0dHIsIFFDdW5kZXJsaW5lKSkKICAg ICB7Ci0gICAgICBpZiAoIVVOU1BFQ0lGSUVEUCAodmFsdWUpICYmICFJR05PUkVfREVGRkFDRV9Q ICh2YWx1ZSkpCi0JaWYgKChTWU1CT0xQICh2YWx1ZSkKLQkgICAgICYmICFFUSAodmFsdWUsIFF0 KQotCSAgICAgJiYgIUVRICh2YWx1ZSwgUW5pbCkpCi0JICAgIC8qIFVuZGVybGluZSBjb2xvci4g ICovCi0JICAgIHx8IChTVFJJTkdQICh2YWx1ZSkKLQkJJiYgU0NIQVJTICh2YWx1ZSkgPT0gMCkp Ci0JICBzaWduYWxfZXJyb3IgKCJJbnZhbGlkIGZhY2UgdW5kZXJsaW5lIiwgdmFsdWUpOwotCisg ICAgICBpbnQgdmFsaWRfcCA9IDA7CisgICAgICAKKyAgICAgIGlmIChVTlNQRUNJRklFRFAgKHZh bHVlKSB8fCBJR05PUkVfREVGRkFDRV9QICh2YWx1ZSkpCisJdmFsaWRfcCA9IDE7CisgICAgICBl bHNlIGlmIChOSUxQICh2YWx1ZSkgfHwgRVEgKHZhbHVlLCBRdCkpCisgICAgICAgIHZhbGlkX3Ag PSAxOworICAgICAgZWxzZSBpZiAoU1RSSU5HUCAodmFsdWUpICYmIFNDSEFSUyAodmFsdWUpID4g MCkKKyAgICAgICAgdmFsaWRfcCA9IDE7CisgICAgICBlbHNlIGlmIChDT05TUCAodmFsdWUpKQor ICAgICAgICB7CisgICAgICAgICAgTGlzcF9PYmplY3Qga2V5LCB2YWwsIGxpc3Q7CisKKyAgICAg ICAgICBsaXN0ID0gdmFsdWU7CisgICAgICAgICAgdmFsaWRfcCA9IDE7CisKKyAgICAgICAgICB3 aGlsZSAoIU5JTFAgKENBUl9TQUZFKGxpc3QpKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAga2V5ID0gQ0FSX1NBRkUgKGxpc3QpOworICAgICAgICAgICAgICBsaXN0ID0gQ0RSX1NBRkUg KGxpc3QpOworICAgICAgICAgICAgICB2YWwgPSBDQVJfU0FGRSAobGlzdCk7CisgICAgICAgICAg ICAgIGxpc3QgPSBDRFJfU0FGRSAobGlzdCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgICAg aWYoTklMUCAoa2V5KSB8fCBOSUxQICh2YWwpKSAKKyAgICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICB2YWxpZF9wID0gMDsKKyAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg ICAgICAgICAgIH0KKworICAgICAgICAgICAgICBlbHNlIGlmIChFUSAoa2V5LCBRQ2NvbG9yKQor ICAgICAgICAgICAgICAgICAgICAgICAmJiAhKEVRICh2YWwsIFFmb3JlZ3JvdW5kX2NvbG9yKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChTVFJJTkdQICh2YWwpICYmIFNDSEFSUyAo dmFsKSA+IDApKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICB2YWxpZF9w ID0gMDsKKyAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgCisgICAgICAgICAgICAgIGVsc2UgaWYgKEVRIChrZXksIFFDc3R5bGUpIAorICAg ICAgICAgICAgICAgICAgICAgICAmJiAhKEVRICh2YWwsIFFsaW5lKSB8fCBFUSAodmFsLCBRd2F2 ZSkpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHZhbGlkX3AgPSAwOwor ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg fQorICAgICAgICB9CisgICAgICAKKyAgICAgIGlmICghdmFsaWRfcCkKKyAgICAgICAgc2lnbmFs X2Vycm9yICgiSW52YWxpZCBmYWNlIHVuZGVybGluZSIsIHZhbHVlKTsKKyAgICAgIAogICAgICAg b2xkX3ZhbHVlID0gTEZBQ0VfVU5ERVJMSU5FIChsZmFjZSk7CiAgICAgICBMRkFDRV9VTkRFUkxJ TkUgKGxmYWNlKSA9IHZhbHVlOwogICAgIH0KQEAgLTM3NjIsNiArMzgwNCw3IEBACiAKICAgQ0hF Q0tfU1lNQk9MIChhdHRyKTsKIAorICAvKiBYWFg6IG5vIGNoZWNrIGZvciBRQ2JveD8gKi8KICAg aWYgKEVRIChhdHRyLCBRQ3VuZGVybGluZSkpCiAgICAgcmVzdWx0ID0gRmNvbnMgKFF0LCBGY29u cyAoUW5pbCwgUW5pbCkpOwogICBlbHNlIGlmIChFUSAoYXR0ciwgUUNvdmVybGluZSkpCkBAIC01 NTYzLDcgKzU2MDYsNyBAQAogI2lmZGVmIEhBVkVfV0lORE9XX1NZU1RFTQogICBzdHJ1Y3QgZmFj ZSAqZGVmYXVsdF9mYWNlOwogICBzdHJ1Y3QgZnJhbWUgKmY7Ci0gIExpc3BfT2JqZWN0IHN0aXBw bGUsIG92ZXJsaW5lLCBzdHJpa2VfdGhyb3VnaCwgYm94OworICBMaXNwX09iamVjdCBzdGlwcGxl LCB1bmRlcmxpbmUsIG92ZXJsaW5lLCBzdHJpa2VfdGhyb3VnaCwgYm94OwogCiAgIHhhc3NlcnQg KEZSQU1FX1dJTkRPV19QIChjYWNoZS0+ZikpOwogCkBAIC01Njk2LDI5ICs1NzM5LDc2IEBACiAK ICAgLyogVGV4dCB1bmRlcmxpbmUsIG92ZXJsaW5lLCBzdHJpa2UtdGhyb3VnaC4gICovCiAKLSAg aWYgKEVRIChhdHRyc1tMRkFDRV9VTkRFUkxJTkVfSU5ERVhdLCBRdCkpCisgIHVuZGVybGluZSA9 IGF0dHJzW0xGQUNFX1VOREVSTElORV9JTkRFWF07CisgIGlmIChFUSAodW5kZXJsaW5lLCBRdCkp CiAgICAgewogICAgICAgLyogVXNlIGRlZmF1bHQgY29sb3IgKHNhbWUgYXMgZm9yZWdyb3VuZCBj b2xvcikuICAqLwogICAgICAgZmFjZS0+dW5kZXJsaW5lX3AgPSAxOworICAgICAgZmFjZS0+dW5k ZXJsaW5lX3R5cGUgPSBGQUNFX1VOREVSX0xJTkU7CiAgICAgICBmYWNlLT51bmRlcmxpbmVfZGVm YXVsdGVkX3AgPSAxOwogICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yID0gMDsKICAgICB9Ci0g IGVsc2UgaWYgKFNUUklOR1AgKGF0dHJzW0xGQUNFX1VOREVSTElORV9JTkRFWF0pKQorICBlbHNl IGlmIChTVFJJTkdQICh1bmRlcmxpbmUpKQogICAgIHsKICAgICAgIC8qIFVzZSBzcGVjaWZpZWQg Y29sb3IuICAqLwogICAgICAgZmFjZS0+dW5kZXJsaW5lX3AgPSAxOworICAgICAgZmFjZS0+dW5k ZXJsaW5lX3R5cGUgPSBGQUNFX1VOREVSX0xJTkU7CiAgICAgICBmYWNlLT51bmRlcmxpbmVfZGVm YXVsdGVkX3AgPSAwOwogICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yCi0JPSBsb2FkX2NvbG9y IChmLCBmYWNlLCBhdHRyc1tMRkFDRV9VTkRFUkxJTkVfSU5ERVhdLAorCT0gbG9hZF9jb2xvciAo ZiwgZmFjZSwgdW5kZXJsaW5lLAogCQkgICAgICBMRkFDRV9VTkRFUkxJTkVfSU5ERVgpOwogICAg IH0KLSAgZWxzZSBpZiAoTklMUCAoYXR0cnNbTEZBQ0VfVU5ERVJMSU5FX0lOREVYXSkpCisgIGVs c2UgaWYgKE5JTFAgKHVuZGVybGluZSkpCiAgICAgewogICAgICAgZmFjZS0+dW5kZXJsaW5lX3Ag PSAwOwogICAgICAgZmFjZS0+dW5kZXJsaW5lX2RlZmF1bHRlZF9wID0gMDsKICAgICAgIGZhY2Ut PnVuZGVybGluZV9jb2xvciA9IDA7CiAgICAgfQotCisgIGVsc2UgaWYgKENPTlNQICh1bmRlcmxp bmUpKQorICAgIHsKKyAgICAgIC8qIGAoOmNvbG9yIENPTE9SIDpzdHlsZSBTVFlMRSknLiAgCisg ICAgICAgICBTVFlMRSBiZWluZyBvbmUgb2YgYGxpbmUnIG9yIGB3YXZlJy4gKi8KKyAgICAgIGZh Y2UtPnVuZGVybGluZV9wID0gMTsKKyAgICAgIGZhY2UtPnVuZGVybGluZV9jb2xvciA9IDA7Cisg ICAgICBmYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3AgPSAxOworICAgICAgZmFjZS0+dW5kZXJs aW5lX3R5cGUgPSBGQUNFX1VOREVSX0xJTkU7CisKKyAgICAgIHdoaWxlIChDT05TUCAodW5kZXJs aW5lKSkKKyAgICAgICAgeworICAgICAgICAgIExpc3BfT2JqZWN0IGtleXdvcmQsIHZhbHVlOwor CisgICAgICAgICAga2V5d29yZCA9IFhDQVIgKHVuZGVybGluZSk7CisgICAgICAgICAgdW5kZXJs aW5lID0gWENEUiAodW5kZXJsaW5lKTsKKworICAgICAgICAgIGlmICghQ09OU1AgKHVuZGVybGlu ZSkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB2YWx1ZSA9IFhDQVIgKHVuZGVybGlu ZSk7CisgICAgICAgICAgdW5kZXJsaW5lID0gWENEUiAodW5kZXJsaW5lKTsKKworICAgICAgICAg IGlmIChFUSAoa2V5d29yZCwgUUNjb2xvcikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg IGlmIChFUSAodmFsdWUsIFFmb3JlZ3JvdW5kX2NvbG9yKSkKKyAgICAgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICAgICBmYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3AgPSAxOworICAgICAg ICAgICAgICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yID0gMDsKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgIGVsc2UgaWYgKFNUUklOR1AgKHZhbHVlKSkKKyAgICAgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgICBmYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVkX3AgPSAwOwor ICAgICAgICAgICAgICAgICAgZmFjZS0+dW5kZXJsaW5lX2NvbG9yID0gbG9hZF9jb2xvciAoZiwg ZmFjZSwgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMRkFDRV9VTkRFUkxJTkVfSU5ERVgpOworICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlIGlmIChFUSAoa2V5d29yZCwgUUNzdHlsZSkpCisg ICAgICAgICAgICB7CisgICAgICAgICAgICAgIGlmIChFUSAodmFsdWUsIFFsaW5lKSkKKyAgICAg ICAgICAgICAgICBmYWNlLT51bmRlcmxpbmVfdHlwZSA9IEZBQ0VfVU5ERVJfTElORTsKKyAgICAg ICAgICAgICAgZWxzZSBpZiAoRVEgKHZhbHVlLCBRd2F2ZSkpCisgICAgICAgICAgICAgICAgZmFj ZS0+dW5kZXJsaW5lX3R5cGUgPSBGQUNFX1VOREVSX1dBVkU7CisgICAgICAgICAgICB9CisgICAg ICAgIH0KKyAgICB9CisgIAogICBvdmVybGluZSA9IGF0dHJzW0xGQUNFX09WRVJMSU5FX0lOREVY XTsKICAgaWYgKFNUUklOR1AgKG92ZXJsaW5lKSkKICAgICB7CkBAIC02NDY1LDYgKzY1NTUsOCBA QAogICBERUZTWU0gKFFDY29sb3IsICI6Y29sb3IiKTsKICAgREVGU1lNIChRQ2xpbmVfd2lkdGgs ICI6bGluZS13aWR0aCIpOwogICBERUZTWU0gKFFDc3R5bGUsICI6c3R5bGUiKTsKKyAgREVGU1lN IChRbGluZSwgImxpbmUiKTsKKyAgREVGU1lNIChRd2F2ZSwgIndhdmUiKTsKICAgREVGU1lNIChR cmVsZWFzZWRfYnV0dG9uLCAicmVsZWFzZWQtYnV0dG9uIik7CiAgIERFRlNZTSAoUXByZXNzZWRf YnV0dG9uLCAicHJlc3NlZC1idXR0b24iKTsKICAgREVGU1lNIChRbm9ybWFsLCAibm9ybWFsIik7 Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3h0ZXJtLmMnCi0tLSBzcmMveHRlcm0uYwkyMDEyLTA0 LTA5IDEzOjA1OjQ4ICswMDAwCisrKyBzcmMveHRlcm0uYwkyMDEyLTA0LTEyIDIzOjU2OjM5ICsw MDAwCkBAIC0yNjY1LDYgKzI2NjUsNjUgQEAKICAgcy0+YmFja2dyb3VuZF9maWxsZWRfcCA9IDE7 CiB9CiAKKy8qCisgICBEcmF3IGEgd2F2eSBsaW5lIHVuZGVyIFMuIFRoZSB3YXZlIGZpbGxzIHdh dmVfaGVpZ2h0IHBpeGVscyBmcm9tIHkwLgorCisgICAgICAgICAgICAgICAgICAgIHgwICAgICAg ICAgd2F2ZV9sZW5ndGggPSAyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQor ICAgICAgICAgICAgICAgIHkwICAgKiAgICogICAqICAgKiAgICoKKyAgICAgICAgICAgICAgICAg ICAgIHwqICogKiAqICogKiAqICogKgorICAgIHdhdmVfaGVpZ2h0ID0gMyAgfCAqICAgKiAgICog ICAqCisKKyovCisKK3N0YXRpYyB2b2lkCit4X2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhf c3RyaW5nICpzKQoreworICBpbnQgd2F2ZV9oZWlnaHQgPSAyLCB3YXZlX2xlbmd0aCA9IDM7Cisg IGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCBvZGQsIHhtYXg7Cisg IFhSZWN0YW5nbGUgd2F2ZV9jbGlwLCBzdHJpbmdfY2xpcCwgZmluYWxfY2xpcDsKKworICBkeCA9 IHdhdmVfbGVuZ3RoOworICBkeSA9IHdhdmVfaGVpZ2h0IC0gMTsKKyAgeDAgPSBzLT54OworICB5 MCA9IHMtPnliYXNlICsgMTsKKyAgd2lkdGggPSBzLT53aWR0aDsKKyAgeG1heCA9IHgwICsgd2lk dGg7CisKKyAgLyogRmluZCBhbmQgc2V0IGNsaXBwaW5nIHJlY3RhbmdsZSAqLworCisgIHdhdmVf Y2xpcCA9IChYUmVjdGFuZ2xlKXsgeDAsIHkwLCB3aWR0aCwgd2F2ZV9oZWlnaHQgfTsKKyAgZ2V0 X2dseXBoX3N0cmluZ19jbGlwX3JlY3QgKHMsICZzdHJpbmdfY2xpcCk7CisKKyAgaWYgKCF4X2lu dGVyc2VjdF9yZWN0YW5nbGVzICgmd2F2ZV9jbGlwLCAmc3RyaW5nX2NsaXAsICZmaW5hbF9jbGlw KSkKKyAgICByZXR1cm47CisKKyAgWFNldENsaXBSZWN0YW5nbGVzIChzLT5kaXNwbGF5LCBzLT5n YywgMCwgMCwgJmZpbmFsX2NsaXAsIDEsIFVuc29ydGVkKTsKKworICAvKiBEcmF3IHRoZSB3YXZl cyAqLworCisgIHgxID0geDAgLSAoeDAgJSBkeCk7CisgIHgyID0geDEgKyBkeDsKKyAgb2RkID0g KHgxL2R4KSAlIDI7CisgIHkxID0geTIgPSB5MDsKKworICBpZiAob2RkKQorICAgIHkxICs9IGR5 OworICBlbHNlCisgICAgeTIgKz0gZHk7CisKKyAgd2hpbGUgKHgxIDw9IHhtYXgpCisgICAgewor ICAgICAgWERyYXdMaW5lIChzLT5kaXNwbGF5LCBzLT53aW5kb3csIHMtPmdjLCB4MSwgeTEsIHgy LCB5Mik7CisgICAgICB4MSAgPSB4MiwgeTEgPSB5MjsKKyAgICAgIHgyICs9IGR4LCB5MiA9IHkw ICsgb2RkKmR5OworICAgICAgb2RkID0gIW9kZDsKKyAgICB9CisKKyAgLyogUmVzdG9yZSBwcmV2 aW91cyBjbGlwcGluZyByZWN0YW5nbGUocykgKi8KKyAgWFNldENsaXBSZWN0YW5nbGVzIChzLT5k aXNwbGF5LCBzLT5nYywgMCwgMCwgcy0+Y2xpcCwgcy0+bnVtX2NsaXBzLCBVbnNvcnRlZCk7Cit9 CisKIAogLyogRHJhdyBnbHlwaCBzdHJpbmcgUy4gICovCiAKQEAgLTI3NjcsNjggKzI4MjYsODMg QEAKICAgICB7CiAgICAgICAvKiBEcmF3IHVuZGVybGluZS4gICovCiAgICAgICBpZiAocy0+ZmFj ZS0+dW5kZXJsaW5lX3ApCi0JewotCSAgdW5zaWduZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9u OwotCSAgaW50IHk7Ci0KLQkgIGlmIChzLT5wcmV2ICYmIHMtPnByZXYtPmZhY2UtPnVuZGVybGlu ZV9wKQotCSAgICB7Ci0JICAgICAgLyogV2UgdXNlIHRoZSBzYW1lIHVuZGVybGluZSBzdHlsZSBh cyB0aGUgcHJldmlvdXMgb25lLiAgKi8KLQkgICAgICB0aGlja25lc3MgPSBzLT5wcmV2LT51bmRl cmxpbmVfdGhpY2tuZXNzOwotCSAgICAgIHBvc2l0aW9uID0gcy0+cHJldi0+dW5kZXJsaW5lX3Bv c2l0aW9uOwotCSAgICB9Ci0JICBlbHNlCi0JICAgIHsKLQkgICAgICAvKiBHZXQgdGhlIHVuZGVy bGluZSB0aGlja25lc3MuICBEZWZhdWx0IGlzIDEgcGl4ZWwuICAqLwotCSAgICAgIGlmIChzLT5m b250ICYmIHMtPmZvbnQtPnVuZGVybGluZV90aGlja25lc3MgPiAwKQotCQl0aGlja25lc3MgPSBz LT5mb250LT51bmRlcmxpbmVfdGhpY2tuZXNzOwotCSAgICAgIGVsc2UKLQkJdGhpY2tuZXNzID0g MTsKLQkgICAgICBpZiAoeF91bmRlcmxpbmVfYXRfZGVzY2VudF9saW5lKQotCQlwb3NpdGlvbiA9 IChzLT5oZWlnaHQgLSB0aGlja25lc3MpIC0gKHMtPnliYXNlIC0gcy0+eSk7Ci0JICAgICAgZWxz ZQotCQl7Ci0JCSAgLyogR2V0IHRoZSB1bmRlcmxpbmUgcG9zaXRpb24uICBUaGlzIGlzIHRoZSBy ZWNvbW1lbmRlZAotCQkgICAgIHZlcnRpY2FsIG9mZnNldCBpbiBwaXhlbHMgZnJvbSB0aGUgYmFz ZWxpbmUgdG8gdGhlIHRvcCBvZgotCQkgICAgIHRoZSB1bmRlcmxpbmUuICBUaGlzIGlzIGEgc2ln bmVkIHZhbHVlIGFjY29yZGluZyB0byB0aGUKLQkJICAgICBzcGVjcywgYW5kIGl0cyBkZWZhdWx0 IGlzCi0KLQkJICAgICBST1VORCAoKG1heGltdW0gZGVzY2VudCkgLyAyKSwgd2l0aAotCQkgICAg IFJPVU5EKHgpID0gZmxvb3IgKHggKyAwLjUpICAqLwotCi0JCSAgaWYgKHhfdXNlX3VuZGVybGlu ZV9wb3NpdGlvbl9wcm9wZXJ0aWVzCi0JCSAgICAgICYmIHMtPmZvbnQgJiYgcy0+Zm9udC0+dW5k ZXJsaW5lX3Bvc2l0aW9uID49IDApCi0JCSAgICBwb3NpdGlvbiA9IHMtPmZvbnQtPnVuZGVybGlu ZV9wb3NpdGlvbjsKLQkJICBlbHNlIGlmIChzLT5mb250KQotCQkgICAgcG9zaXRpb24gPSAocy0+ Zm9udC0+ZGVzY2VudCArIDEpIC8gMjsKLQkJICBlbHNlCi0JCSAgICBwb3NpdGlvbiA9IHVuZGVy bGluZV9taW5pbXVtX29mZnNldDsKLQkJfQotCSAgICAgIHBvc2l0aW9uID0gbWF4IChwb3NpdGlv biwgdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0KTsKLQkgICAgfQotCSAgLyogQ2hlY2sgdGhlIHNh bml0eSBvZiB0aGlja25lc3MgYW5kIHBvc2l0aW9uLiAgV2Ugc2hvdWxkCi0JICAgICBhdm9pZCBk cmF3aW5nIHVuZGVybGluZSBvdXQgb2YgdGhlIGN1cnJlbnQgbGluZSBhcmVhLiAgKi8KLQkgIGlm IChzLT55ICsgcy0+aGVpZ2h0IDw9IHMtPnliYXNlICsgcG9zaXRpb24pCi0JICAgIHBvc2l0aW9u ID0gKHMtPmhlaWdodCAtIDEpIC0gKHMtPnliYXNlIC0gcy0+eSk7Ci0JICBpZiAocy0+eSArIHMt PmhlaWdodCA8IHMtPnliYXNlICsgcG9zaXRpb24gKyB0aGlja25lc3MpCi0JICAgIHRoaWNrbmVz cyA9IChzLT55ICsgcy0+aGVpZ2h0KSAtIChzLT55YmFzZSArIHBvc2l0aW9uKTsKLQkgIHMtPnVu ZGVybGluZV90aGlja25lc3MgPSB0aGlja25lc3M7Ci0JICBzLT51bmRlcmxpbmVfcG9zaXRpb24g PSBwb3NpdGlvbjsKLQkgIHkgPSBzLT55YmFzZSArIHBvc2l0aW9uOwotCSAgaWYgKHMtPmZhY2Ut PnVuZGVybGluZV9kZWZhdWx0ZWRfcCkKLQkgICAgWEZpbGxSZWN0YW5nbGUgKHMtPmRpc3BsYXks IHMtPndpbmRvdywgcy0+Z2MsCi0JCQkgICAgcy0+eCwgeSwgcy0+d2lkdGgsIHRoaWNrbmVzcyk7 Ci0JICBlbHNlCi0JICAgIHsKLQkgICAgICBYR0NWYWx1ZXMgeGdjdjsKLQkgICAgICBYR2V0R0NW YWx1ZXMgKHMtPmRpc3BsYXksIHMtPmdjLCBHQ0ZvcmVncm91bmQsICZ4Z2N2KTsKLQkgICAgICBY U2V0Rm9yZWdyb3VuZCAocy0+ZGlzcGxheSwgcy0+Z2MsIHMtPmZhY2UtPnVuZGVybGluZV9jb2xv cik7Ci0JICAgICAgWEZpbGxSZWN0YW5nbGUgKHMtPmRpc3BsYXksIHMtPndpbmRvdywgcy0+Z2Ms Ci0JCQkgICAgICBzLT54LCB5LCBzLT53aWR0aCwgdGhpY2tuZXNzKTsKLQkgICAgICBYU2V0Rm9y ZWdyb3VuZCAocy0+ZGlzcGxheSwgcy0+Z2MsIHhnY3YuZm9yZWdyb3VuZCk7Ci0JICAgIH0KLQl9 Ci0KKyAgICAgICAgeworICAgICAgICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfdHlwZSA9PSBG QUNFX1VOREVSX1dBVkUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGlmIChzLT5mYWNl LT51bmRlcmxpbmVfZGVmYXVsdGVkX3ApCisgICAgICAgICAgICAgICAgeF9kcmF3X3VuZGVyd2F2 ZSAocyk7CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgICBYR0NWYWx1ZXMgeGdjdjsKKyAgICAgICAgICAgICAgICAgIFhHZXRHQ1ZhbHVlcyAo cy0+ZGlzcGxheSwgcy0+Z2MsIEdDRm9yZWdyb3VuZCwgJnhnY3YpOworICAgICAgICAgICAgICAg ICAgWFNldEZvcmVncm91bmQgKHMtPmRpc3BsYXksIHMtPmdjLCBzLT5mYWNlLT51bmRlcmxpbmVf Y29sb3IpOworICAgICAgICAgICAgICAgICAgeF9kcmF3X3VuZGVyd2F2ZSAocyk7CisgICAgICAg ICAgICAgICAgICBYU2V0Rm9yZWdyb3VuZCAocy0+ZGlzcGxheSwgcy0+Z2MsIHhnY3YuZm9yZWdy b3VuZCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2Ug aWYgKHMtPmZhY2UtPnVuZGVybGluZV90eXBlID09IEZBQ0VfVU5ERVJfTElORSkKKyAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0aGlja25lc3MsIHBvc2l0aW9uOwor ICAgICAgICAgICAgICBpbnQgeTsKKworICAgICAgICAgICAgICBpZiAocy0+cHJldiAmJiBzLT5w cmV2LT5mYWNlLT51bmRlcmxpbmVfcCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICAvKiBXZSB1c2UgdGhlIHNhbWUgdW5kZXJsaW5lIHN0eWxlIGFzIHRoZSBwcmV2aW91cyBv bmUuICAqLworICAgICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gcy0+cHJldi0+dW5kZXJsaW5l X3RoaWNrbmVzczsKKyAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gcy0+cHJldi0+dW5kZXJs aW5lX3Bvc2l0aW9uOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZQorICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHRo aWNrbmVzcy4gIERlZmF1bHQgaXMgMSBwaXhlbC4gICovCisgICAgICAgICAgICAgICAgICBpZiAo cy0+Zm9udCAmJiBzLT5mb250LT51bmRlcmxpbmVfdGhpY2tuZXNzID4gMCkKKyAgICAgICAgICAg ICAgICAgICAgdGhpY2tuZXNzID0gcy0+Zm9udC0+dW5kZXJsaW5lX3RoaWNrbmVzczsKKyAgICAg ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gMTsKKyAg ICAgICAgICAgICAgICAgIGlmICh4X3VuZGVybGluZV9hdF9kZXNjZW50X2xpbmUpCisgICAgICAg ICAgICAgICAgICAgIHBvc2l0aW9uID0gKHMtPmhlaWdodCAtIHRoaWNrbmVzcykgLSAocy0+eWJh c2UgLSBzLT55KTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgdW5kZXJsaW5lIHBvc2l0aW9uLiAg VGhpcyBpcyB0aGUgcmVjb21tZW5kZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNh bCBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIGJhc2VsaW5lIHRvIHRoZSB0b3Agb2YKKyAgICAg ICAgICAgICAgICAgICAgICAgICB0aGUgdW5kZXJsaW5lLiAgVGhpcyBpcyBhIHNpZ25lZCB2YWx1 ZSBhY2NvcmRpbmcgdG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY3MsIGFuZCBp dHMgZGVmYXVsdCBpcworCisgICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkQgKChtYXhpbXVt IGRlc2NlbnQpIC8gMiksIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICBST1VORCh4KSA9 IGZsb29yICh4ICsgMC41KSAgKi8KKworICAgICAgICAgICAgICAgICAgICAgIGlmICh4X3VzZV91 bmRlcmxpbmVfcG9zaXRpb25fcHJvcGVydGllcworICAgICAgICAgICAgICAgICAgICAgICAgICAm JiBzLT5mb250ICYmIHMtPmZvbnQtPnVuZGVybGluZV9wb3NpdGlvbiA+PSAwKQorICAgICAgICAg ICAgICAgICAgICAgICAgcG9zaXRpb24gPSBzLT5mb250LT51bmRlcmxpbmVfcG9zaXRpb247Cisg ICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocy0+Zm9udCkKKyAgICAgICAgICAgICAgICAg ICAgICAgIHBvc2l0aW9uID0gKHMtPmZvbnQtPmRlc2NlbnQgKyAxKSAvIDI7CisgICAgICAgICAg ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSB1bmRl cmxpbmVfbWluaW11bV9vZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICAgIHBvc2l0aW9uID0gbWF4IChwb3NpdGlvbiwgdW5kZXJsaW5lX21pbmltdW1fb2Zmc2V0 KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIC8qIENoZWNrIHRoZSBzYW5pdHkg b2YgdGhpY2tuZXNzIGFuZCBwb3NpdGlvbi4gIFdlIHNob3VsZAorICAgICAgICAgICAgICAgICBh dm9pZCBkcmF3aW5nIHVuZGVybGluZSBvdXQgb2YgdGhlIGN1cnJlbnQgbGluZSBhcmVhLiAgKi8K KyAgICAgICAgICAgICAgaWYgKHMtPnkgKyBzLT5oZWlnaHQgPD0gcy0+eWJhc2UgKyBwb3NpdGlv bikKKyAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IChzLT5oZWlnaHQgLSAxKSAtIChzLT55YmFz ZSAtIHMtPnkpOworICAgICAgICAgICAgICBpZiAocy0+eSArIHMtPmhlaWdodCA8IHMtPnliYXNl ICsgcG9zaXRpb24gKyB0aGlja25lc3MpCisgICAgICAgICAgICAgICAgdGhpY2tuZXNzID0gKHMt PnkgKyBzLT5oZWlnaHQpIC0gKHMtPnliYXNlICsgcG9zaXRpb24pOworICAgICAgICAgICAgICBz LT51bmRlcmxpbmVfdGhpY2tuZXNzID0gdGhpY2tuZXNzOworICAgICAgICAgICAgICBzLT51bmRl cmxpbmVfcG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICAgICAgICAgICAgeSA9IHMtPnliYXNlICsg cG9zaXRpb247CisgICAgICAgICAgICAgIGlmIChzLT5mYWNlLT51bmRlcmxpbmVfZGVmYXVsdGVk X3ApCisgICAgICAgICAgICAgICAgWEZpbGxSZWN0YW5nbGUgKHMtPmRpc3BsYXksIHMtPndpbmRv dywgcy0+Z2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPngsIHksIHMtPndp ZHRoLCB0aGlja25lc3MpOworICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgWEdDVmFsdWVzIHhnY3Y7CisgICAgICAgICAgICAgICAgICBYR2V0 R0NWYWx1ZXMgKHMtPmRpc3BsYXksIHMtPmdjLCBHQ0ZvcmVncm91bmQsICZ4Z2N2KTsKKyAgICAg ICAgICAgICAgICAgIFhTZXRGb3JlZ3JvdW5kIChzLT5kaXNwbGF5LCBzLT5nYywgcy0+ZmFjZS0+ dW5kZXJsaW5lX2NvbG9yKTsKKyAgICAgICAgICAgICAgICAgIFhGaWxsUmVjdGFuZ2xlIChzLT5k aXNwbGF5LCBzLT53aW5kb3csIHMtPmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHMtPngsIHksIHMtPndpZHRoLCB0aGlja25lc3MpOworICAgICAgICAgICAgICAgICAgWFNl dEZvcmVncm91bmQgKHMtPmRpc3BsYXksIHMtPmdjLCB4Z2N2LmZvcmVncm91bmQpOworICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgLyogRHJhdyBvdmVy bGluZS4gICovCiAgICAgICBpZiAocy0+ZmFjZS0+b3ZlcmxpbmVfcCkKIAl7Cgo= --20cf302d4bbca88d0804bd84d7dd-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 13 06:06:52 2012 Received: (at 10736) by debbugs.gnu.org; 13 Apr 2012 10:06:53 +0000 Received: from localhost ([127.0.0.1]:55587 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIdP2-0002HP-CM for submit@debbugs.gnu.org; Fri, 13 Apr 2012 06:06:52 -0400 Received: from mail-ob0-f172.google.com ([209.85.214.172]:46939) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIdOz-0002HH-Fh for 10736@debbugs.gnu.org; Fri, 13 Apr 2012 06:06:50 -0400 Received: by obbtb4 with SMTP id tb4so3983875obb.3 for <10736@debbugs.gnu.org>; Fri, 13 Apr 2012 03:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=HH05PnGZGA5yI6V0z24L2/uR/YObsWnjxFMViTbe6jQ=; b=XTOoCXl/WqX49c5kcxYudm16XmpydSsV+GnKdpvQOrjG5Fel4Do42Hd/iLRskp6u8h yalln2Gy92eoZ0r+k7WRUOEz6NkBo3vQOsXLVbdKx0jds58h0LqDJReAwebEoq4fGQzz Oxn0jKAwwciHwksW9niQHJS93NRWRB9/dbMXO65hIFC7Ijy5lxNLg1uze6WrxCntOuYO w/6F7ngkH5DUxpBb/pW8tAEEkwl5d/jmCKFgi6M36bLSIVE9zQW7vN9f7KFMTziH5lwW 0CFD8aYs90kJBjPSgWZ4iQHtzLvoVkshMEp9OZwoberBYVS0s3IFifswogo6GD2BEZw0 e8zg== MIME-Version: 1.0 Received: by 10.60.14.4 with SMTP id l4mr1241211oec.39.1334311529201; Fri, 13 Apr 2012 03:05:29 -0700 (PDT) Received: by 10.182.179.42 with HTTP; Fri, 13 Apr 2012 03:05:29 -0700 (PDT) In-Reply-To: References: Date: Fri, 13 Apr 2012 12:05:29 +0200 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= To: Alp Aker Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, Lars Magne Ingebrigtsen , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Fri, Apr 13, 2012 at 2:49 AM, Alp Aker wrote: > Looking afresh at the small bit I contributed for ns_draw_underwave, > it seems to me that that function does some unnecessary work with > clipping rectangles, so I'd like to offer a slightly simpler version > (revised patch file attached). I agree. Most of this is necessary on X11 because the current clipping region cannot be retrieved. If I just override it for underwaving, non-visible text can be underwaved. My solution was to compute the current clipping region again via get_glyph_string_clip_rect() (which can be empty if the string is not visible) and intersect it with the wave clipping region. Then draw the wave and set the glyph string clipping region again. > (In explanation of this change: =C2=A0If I understand the NS port's drawi= ng > routine correctly, at the time this function is called the current > clipping path has already been restricted to the glyph string's clip > rects. =C2=A0Since NSRectClip can only further restrict the current > clipping path, there's no need explicitly to invoke the glyph string's This is correct. > clip rects at this point. =C2=A0Indeed, I suspect the NS version could ge= t > away without worrying about clipping at all here, but I'm not as > certain of this latter point.) The underwave is computed from the left margin (every wave starts at x=3D0) so that two consecutive underwaved strings appear to be underwaved by one wave. At first I did not use the clipping region and computed each time the next line to draw; but for very small lines (1-2 px) the X11 drawline primitive doesn't work well. Specifically, unneeded pixels were drawn at both ends of the wave therefore making the juncture between two waves visible. My solution was to clip the region and draw a wavelet before/after when nee= ded. Concerning the NS port, as I understand drawing primitives work on a non-discrete plane where integer coordinates falls "between" pixels resulting in two blurred pixels instead of a filled one. Since I can't experiment on this platform I was wondering if you could try shifting every coordinate by .5 to see if it looks better. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 13 13:50:51 2012 Received: (at 10736) by debbugs.gnu.org; 13 Apr 2012 17:50:51 +0000 Received: from localhost ([127.0.0.1]:57612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIke3-0006dS-8K for submit@debbugs.gnu.org; Fri, 13 Apr 2012 13:50:51 -0400 Received: from mailout.melmac.se ([62.20.26.67]:36104) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIke0-0006dJ-Jw for 10736@debbugs.gnu.org; Fri, 13 Apr 2012 13:50:49 -0400 Received: from mail01.melmac.se (mail01.melmac.se [62.20.26.80]) by mailout.melmac.se (Postfix) with ESMTP id A8A9498BB for <10736@debbugs.gnu.org>; Fri, 13 Apr 2012 19:49:26 +0200 (CEST) Received: (qmail 22771 invoked by uid 89); 13 Apr 2012 17:46:03 -0000 Received: from h-46-59-42-18.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.18) by mail01.melmac.se with ESMTPA; 13 Apr 2012 17:46:03 -0000 Received: from [172.20.199.13] (zeplin [172.20.199.13]) by coolsville.localdomain (Postfix) with ESMTPSA id 16C617FA06C; Fri, 13 Apr 2012 19:49:26 +0200 (CEST) Subject: Re: bug#10736: Add "underwave" face attribute Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: =?iso-8859-1?Q?Jan_Dj=E4rv?= In-Reply-To: Date: Fri, 13 Apr 2012 19:49:24 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <48375579-13AF-4C6E-AD93-F1662D2F771E@swipnet.se> References: To: Stefan Monnier X-Mailer: Apple Mail (2.1257) X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 10736 Cc: Lars Magne Ingebrigtsen , 10736@debbugs.gnu.org, =?iso-8859-1?Q?Aur=E9lien_Aptel?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) Hello. 12 apr 2012 kl. 23:57 skrev Stefan Monnier: >> Looking at the mailing list, it seems like it was agreed that this is >> useful, and that this interface is correct. Since we're in Emacs = 24.2 >> territory now, should this go in? >=20 > Assuming the code is OK, yes. I'd like to hear someone's opinion on > the code, tho (Jan, maybe?). >=20 Looks OK. In general I don't like the "Get GC values, change some GC = value, draw, restore changed GC value" technique. It is better to create = more GC:s. But the new code just mimics the old, so it is nothing = particular for this patch. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 13 19:36:54 2012 Received: (at 10736) by debbugs.gnu.org; 13 Apr 2012 23:36:54 +0000 Received: from localhost ([127.0.0.1]:57798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIq2u-0008QE-Oq for submit@debbugs.gnu.org; Fri, 13 Apr 2012 19:36:53 -0400 Received: from mail-ey0-f172.google.com ([209.85.215.172]:39497) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SIq2s-0008Q5-7E for 10736@debbugs.gnu.org; Fri, 13 Apr 2012 19:36:51 -0400 Received: by eaaq11 with SMTP id q11so953173eaa.3 for <10736@debbugs.gnu.org>; Fri, 13 Apr 2012 16:35:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=xdhB6YisbI/td6/FH5bOg2ziYt0WE50wqG52XVD2Dt0=; b=kpRYjLzLYTe6wLiCqcbSVpiWZ0b0qO5h+PGjVbPLE9BT4GOotEjhfDqF/Ebj94ucQr dELEzh5sIi6DHwECLlwzlAOHd6nN2Ip/Kgy4+IXGrE5RCvHxDsZbs6VJiFdvsKuvpWCQ +1GkwxFWSUOL6VhlPdChE0B3CcBpv5sgsRIwqs7Qac8O89ShfE/zdQfkbPpbtIcv4CZQ EOEAY74wOvpuDJTCY8wn5VnxTVjXpAl3j6JAlQ42fl5iXOR3bMUf7S/pDL15t2bypenN 32LczE5HM4MYh2f+2IdCV4TbXOi46KSjIQpdzGV9IwC5Ym/EsDkDiysf03TVAlSlkOlw QTEg== MIME-Version: 1.0 Received: by 10.213.3.129 with SMTP id 1mr265906ebn.119.1334360128236; Fri, 13 Apr 2012 16:35:28 -0700 (PDT) Received: by 10.213.7.195 with HTTP; Fri, 13 Apr 2012 16:35:28 -0700 (PDT) In-Reply-To: References: Date: Fri, 13 Apr 2012 19:35:28 -0400 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: Alp Aker To: =?ISO-8859-1?Q?Aur=E9lien_Aptel?= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, Lars Magne Ingebrigtsen , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Fri, Apr 13, 2012 at 6:05 AM, Aur=E9lien Aptel wrote: > Concerning the NS port, as I understand drawing primitives work on a > non-discrete plane where integer coordinates falls "between" pixels > resulting in two blurred pixels instead of a filled one. Since I can't > experiment on this platform I was wondering if you could try shifting > every coordinate by .5 to see if it looks better. It's not a matter of the coordinate system. The Cocoa line drawing functions draw each line so that it's centered on its path. If the width of the line is an odd number of pixels, anti-aliasing can then make it look wider than expected. In my (limited) experience, this effect is only noticeable when drawing straight vertical or horizontal line segments. In the present case, shifting by 0.5 pixels has no discernable affect on the appearance of the underwave. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 05 15:15:07 2012 Received: (at 10736) by debbugs.gnu.org; 5 Jun 2012 19:15:07 +0000 Received: from localhost ([127.0.0.1]:59124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SbzDe-0004Hd-Ll for submit@debbugs.gnu.org; Tue, 05 Jun 2012 15:15:06 -0400 Received: from mail-gg0-f172.google.com ([209.85.161.172]:44108) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SbzDc-0004Gu-3u for 10736@debbugs.gnu.org; Tue, 05 Jun 2012 15:15:04 -0400 Received: by ggnc4 with SMTP id c4so4446662ggn.3 for <10736@debbugs.gnu.org>; Tue, 05 Jun 2012 12:12:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=7R/7DjkaaXrGK6q9ZkGpV4ugVBCiIaxfMAh4TxlUBmw=; b=ihwUh9BMy93J4IkuFrKE9VdyOKRLHNO5QV1X8RWXoNThXqBCortMdf4AduvFimw2UV MusrhKlpdbDMNnsqe5s/e3KMznURIZY50ZFPlWZ1ovhWM/J01Ir1Mjc1VRW5KJ703ilw NQt4HRf8Y389D2Cz+jPOf5/wp00bgTcOfRq9KzeRSceF0SKiGMRMILKQdRswbZP9dncl 4DKTuOq9vGjp1vhVbaho0VNU7EWp5utaeAl9+mvy2tAKFv0/UIjJWDj5P0JZsWPNTlRk 9mvXX9sL7Mqs1odzpRPFM/hZeOVsb0m92ev9Tb4yglODjIQ4A72MbWHz0JaVdh9c0TO2 tutA== MIME-Version: 1.0 Received: by 10.60.13.134 with SMTP id h6mr17691572oec.11.1338923151132; Tue, 05 Jun 2012 12:05:51 -0700 (PDT) Received: by 10.182.125.41 with HTTP; Tue, 5 Jun 2012 12:05:50 -0700 (PDT) In-Reply-To: References: Date: Tue, 5 Jun 2012 21:05:50 +0200 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= To: Alp Aker Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, Lars Magne Ingebrigtsen , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Just getting some news. In case it wasn't clear, the last patch (underwave-clip-4.patch) sent by Alp Aker is correct and can be applied. Are you waiting for more people to judge the code or Is there something else I/we can do? From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 05 18:56:55 2012 Received: (at 10736) by debbugs.gnu.org; 5 Jun 2012 22:56:55 +0000 Received: from localhost ([127.0.0.1]:59315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sc2gI-0000xK-RB for submit@debbugs.gnu.org; Tue, 05 Jun 2012 18:56:55 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:38689) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sc2gH-0000x7-B6 for 10736@debbugs.gnu.org; Tue, 05 Jun 2012 18:56:53 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu09FpaHl/2dsb2JhbABEtBGBCIIVAQEEAVYjBQsLNBIUGA0kiBwFugmQRAOjM4FYgwU X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="189548738" Received: from 69-165-161-229.dsl.teksavvy.com (HELO pastel.home) ([69.165.161.229]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 05 Jun 2012 18:54:42 -0400 Received: by pastel.home (Postfix, from userid 20848) id 8B57C59319; Tue, 5 Jun 2012 18:54:42 -0400 (EDT) From: Stefan Monnier To: =?iso-8859-1?Q?Aur=E9lien?= Aptel Subject: Re: bug#10736: Add "underwave" face attribute Message-ID: References: Date: Tue, 05 Jun 2012 18:54:41 -0400 In-Reply-To: (=?iso-8859-1?Q?=22Aur=E9lien?= Aptel"'s message of "Tue, 5 Jun 2012 21:05:50 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 10736 Cc: Alp Aker , Lars Magne Ingebrigtsen , Jan =?iso-8859-1?Q?Dj=E4rv?= , 10736@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > In case it wasn't clear, the last patch (underwave-clip-4.patch) sent > by Alp Aker is correct and can be applied. Are you waiting for more > people to judge the code or Is there something else I/we can do? Alp, Jan, or someone, could you install that code? Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 06 08:32:19 2012 Received: (at 10736) by debbugs.gnu.org; 6 Jun 2012 12:32:19 +0000 Received: from localhost ([127.0.0.1]:60139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1ScFPN-0003O9-OP for submit@debbugs.gnu.org; Wed, 06 Jun 2012 08:32:18 -0400 Received: from mail-yx0-f172.google.com ([209.85.213.172]:45858) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1ScFPK-0003Nw-5u for 10736@debbugs.gnu.org; Wed, 06 Jun 2012 08:32:16 -0400 Received: by yenq13 with SMTP id q13so4978786yen.3 for <10736@debbugs.gnu.org>; Wed, 06 Jun 2012 05:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=FH3DvkY+72OWJoLHxfrShls8w9U/DhYZan8Jvy4yl0c=; b=jmZAWJjZQz37Zqw2cbT1jS+0Oxb4uttzFfl566ihSF0aVuJrt84I4p68IdgCKQZDLP XxosZCGZqqgjj4BZENjimAc6sVOfRN0BnMQ+BmtMkz3cAYY6xdTwBcXq/NclZ5cJ2ZyN H2o2wtkJxkJmJ52AjnNDpg9Q4tY2UhmAq7CmhEKRiCOusPgtPWnIHEBhBtXeE6/EExZl 8UtuKasnbgB7ajLDl0sjOSo2jYxFUz8YsWhD1Plmx/IhwDeiB0YEIII9S2slLJlsZBwl prHYmG95m87GSULHttunwcqeWFtrDO4DYiXbEljadAWLmknNtel2gi14NOq+MUzOCSoT aOyg== MIME-Version: 1.0 Received: by 10.50.100.137 with SMTP id ey9mr6227953igb.61.1338985800365; Wed, 06 Jun 2012 05:30:00 -0700 (PDT) Received: by 10.64.58.70 with HTTP; Wed, 6 Jun 2012 05:30:00 -0700 (PDT) In-Reply-To: References: Date: Wed, 6 Jun 2012 15:30:00 +0300 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: Alp Aker To: Stefan Monnier Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: Lars Magne Ingebrigtsen , =?ISO-8859-1?Q?Jan_Dj=E4rv?= , 10736@debbugs.gnu.org, =?ISO-8859-1?Q?Aur=E9lien_Aptel?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Wed, Jun 6, 2012 at 1:54 AM, Stefan Monnier wrote: > > Alp, Jan, or someone, could you install that code? I'll do so next week if it hasn't been done by then (I'm on the road at the moment). From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 16 20:44:07 2012 Received: (at 10736) by debbugs.gnu.org; 17 Jun 2012 00:44:07 +0000 Received: from localhost ([127.0.0.1]:45260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sg3b4-0002ca-Nc for submit@debbugs.gnu.org; Sat, 16 Jun 2012 20:44:07 -0400 Received: from mail-vc0-f172.google.com ([209.85.220.172]:58487) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sg3b2-0002cT-TE for 10736@debbugs.gnu.org; Sat, 16 Jun 2012 20:44:05 -0400 Received: by vcqp1 with SMTP id p1so2441170vcq.3 for <10736@debbugs.gnu.org>; Sat, 16 Jun 2012 17:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=9l8pad6r+CHWQ8aO58nPY17XE/xTIZrS3l18zPVe0C8=; b=vIxwNWsIiBJEjE3k8y02c5yb+2N7wz9TPuGpl0nnUGjXY6/af2apYAVSjmIr50zdJ2 Zyko5wkxSJyqTfkE9GoNyETQq9Y8rOss4lcqvfRZjux2D36laUF31kfirS6RXwNPoUX6 JVnnNUAvvn+AJXw/KjlYokPW+SQ84aNp8H8PysJIdSBxRrPIFvulZbBCuEEe+kZg8UjL vy6JhXpzTyx8xvL4AW0dJ6IfeHPuP/M1yFJusarJMZ+tFdKSnahjbNTJhh8IdUIrNwUZ I1sP5smlBifRIN3fK6aLSi0SgTmghUHPWLZj1dImLOVHp3WOGc0JjWTtDVC5wWJIcmoN aMPg== MIME-Version: 1.0 Received: by 10.52.22.38 with SMTP id a6mr4523737vdf.37.1339893657292; Sat, 16 Jun 2012 17:40:57 -0700 (PDT) Received: by 10.220.133.139 with HTTP; Sat, 16 Jun 2012 17:40:57 -0700 (PDT) In-Reply-To: References: Date: Sat, 16 Jun 2012 20:40:57 -0400 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: Alp Aker To: 10736@debbugs.gnu.org Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: =?ISO-8859-1?Q?Aur=E9lien_Aptel?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Wed, Jun 6, 2012 at 8:30 AM, Alp Aker wrote: > On Wed, Jun 6, 2012 at 1:54 AM, Stefan Monnier wrote: >> >> Alp, Jan, or someone, could you install that code? > > I'll do so next week if it hasn't been done by then (I'm on the road > at the moment). Patch applied as revno 108632. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 16 21:50:19 2012 Received: (at 10736) by debbugs.gnu.org; 17 Jun 2012 01:50:19 +0000 Received: from localhost ([127.0.0.1]:45287 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sg4d8-00042w-Fh for submit@debbugs.gnu.org; Sat, 16 Jun 2012 21:50:18 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:42656) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sg4d6-00042p-S9 for 10736@debbugs.gnu.org; Sat, 16 Jun 2012 21:50:17 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Sg4a2-0001qM-HS; Sat, 16 Jun 2012 21:47:06 -0400 From: Glenn Morris To: Alp Aker Subject: Re: bug#10736: Add "underwave" face attribute References: X-Spook: military counter terrorism George W. Bush UMTS Cocaine X-Ran: ^U[f&Rb@i?F81}vd:k%Y_.|-B X-Hue: black X-Debbugs-No-Ack: yes X-Attribution: GM Date: Sat, 16 Jun 2012 21:47:06 -0400 In-Reply-To: (Alp Aker's message of "Sat, 16 Jun 2012 20:40:57 -0400") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, =?utf-8?Q?Aur=C3=A9lien?= Aptel X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.7 (-----) I'm not seeing a copyright assignment for this. Unless one was completed very recently? From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 17 12:19:26 2012 Received: (at 10736) by debbugs.gnu.org; 17 Jun 2012 16:19:26 +0000 Received: from localhost ([127.0.0.1]:46001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SgICD-0004lb-QI for submit@debbugs.gnu.org; Sun, 17 Jun 2012 12:19:26 -0400 Received: from mail-gh0-f172.google.com ([209.85.160.172]:46694) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SgICB-0004lT-Um for 10736@debbugs.gnu.org; Sun, 17 Jun 2012 12:19:24 -0400 Received: by ghbg16 with SMTP id g16so3106949ghb.3 for <10736@debbugs.gnu.org>; Sun, 17 Jun 2012 09:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=G+iT2iMMzkgAx0ObdeMLu7f6sk68kvceye+xuaQ/KdM=; b=ZLoKI83D6Ajn9E9FCtMa8gpvmmFspyKpXC2aGKGBHt8JyHQq97/c39gekzpF+k7Opz WEEWiUP9qsn6Pv9hdCCFwKNW1EhsZ3xE7uZsjnrQ1iyTsiA+4Fm1igmXGpRC0s4dTi+V TasAUO62NEsXIkrFvInlwetMjdmALULkD1vNC3sEp6i3Gtsm+S8WYtQI2MEAQ2HGAOGw njfY/HINPn/0OXU68w2ilUSXSXorpJ5OSBZ0PlQJc1Iz4u+jXPJjvqavyQd15PYBkUJS 2XE2MunjGmFDevw4O8DcWvBDo8MZxjnv+4ilXmIc4o/8SpG0HheImiglxatGYKHK73Gl /5xQ== MIME-Version: 1.0 Received: by 10.50.154.233 with SMTP id vr9mr6514073igb.9.1339949771259; Sun, 17 Jun 2012 09:16:11 -0700 (PDT) Received: by 10.64.58.70 with HTTP; Sun, 17 Jun 2012 09:16:11 -0700 (PDT) In-Reply-To: References: Date: Sun, 17 Jun 2012 12:16:11 -0400 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: Alp Aker To: Glenn Morris Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: 10736@debbugs.gnu.org, =?ISO-8859-1?Q?Aur=E9lien_Aptel?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Sat, Jun 16, 2012 at 9:47 PM, Glenn Morris wrote: > > I'm not seeing a copyright assignment for this. Unless one was completed > very recently? I didn't check, to be honest. (Since the issue hadn't been raised in either of the relevant threads and Stefan gave the go ahead to install the code, I'd assumed the copyright was in order.) Aur=E9lien, have you completed an assignment of copyright to the FSF? From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 17 20:58:45 2012 Received: (at 10736) by debbugs.gnu.org; 18 Jun 2012 00:58:45 +0000 Received: from localhost ([127.0.0.1]:46286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SgQIm-0007to-EJ for submit@debbugs.gnu.org; Sun, 17 Jun 2012 20:58:45 -0400 Received: from mail-ob0-f172.google.com ([209.85.214.172]:41924) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SgQIk-0007tg-Ey for 10736@debbugs.gnu.org; Sun, 17 Jun 2012 20:58:43 -0400 Received: by obbwc20 with SMTP id wc20so7331021obb.3 for <10736@debbugs.gnu.org>; Sun, 17 Jun 2012 17:55:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=br3DYTuagO7/LvjKkaHbp52BnT/Ms3bhOHgOW9HX/Jk=; b=CffQOMVgjBe19YxYne5XEx3uB7sYxDyxUbmKJt7K9kelgtO9Na6PCXyHkGfeNDVpAd lt+2c2Lv5jIhtQd9RViV6lDWzt2CMWOGL0Uf/oGFq2KuNWZGXz7oIsTFgbIQOW+3w0iU 7u7AiWYqKaIATk+TOax/p7FkhnuYzcbPwKyh5IENkkN2hXIx3QrQzeblNJLJlksFw13D 1/A5uR6YNhDU+qvmdWp+gI3vPR1aoYhyW2lMk73FZTCSvdkjfxncW8yeWyvHM6G2N+3g lyWWQJ5o2sWUtwiDG3R72WAmVC8jJy1xZVRtgXiEsqUpKHxIzixCU50QOX8KqEP/whcJ e/Hg== MIME-Version: 1.0 Received: by 10.182.119.33 with SMTP id kr1mr13929419obb.60.1339980928641; Sun, 17 Jun 2012 17:55:28 -0700 (PDT) Received: by 10.182.241.7 with HTTP; Sun, 17 Jun 2012 17:55:28 -0700 (PDT) In-Reply-To: References: Date: Mon, 18 Jun 2012 02:55:28 +0200 Message-ID: Subject: Re: bug#10736: Add "underwave" face attribute From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= To: Alp Aker Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 10736 Cc: Glenn Morris , 10736@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Sun, Jun 17, 2012 at 6:16 PM, Alp Aker wrote: > Aur=C3=A9lien, have you completed an assignment of copyright to the FSF? I'm afraid I have not. Which template should I use from this list [1]? 1: http://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 18 14:34:14 2012 Received: (at 10736) by debbugs.gnu.org; 18 Jun 2012 18:34:14 +0000 Received: from localhost ([127.0.0.1]:46964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SggmD-00013u-SO for submit@debbugs.gnu.org; Mon, 18 Jun 2012 14:34:14 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:48258) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SggmB-00013m-6w for 10736@debbugs.gnu.org; Mon, 18 Jun 2012 14:34:12 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Sggiy-0001XG-50; Mon, 18 Jun 2012 14:30:52 -0400 From: Glenn Morris To: =?utf-8?Q?Aur=C3=A9lien?= Aptel Subject: Re: bug#10736: Add "underwave" face attribute References: X-Spook: Abu Ghraib Iran Putin PET Attorney General colonel X-Ran: c6es85K|sq&>n`@lZ@qj.9{Y]&],n8E5)@h&,OUvVuAam?}3)#^gFqA/g,'8f(+kl%t7$8 X-Hue: white X-Debbugs-No-Ack: yes X-Attribution: GM Date: Mon, 18 Jun 2012 14:30:51 -0400 In-Reply-To: (=?utf-8?Q?=22Aur=C3=A9lien?= Aptel"'s message of "Mon, 18 Jun 2012 02:55:28 +0200") Message-ID: <2rmx40pj50.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 10736 Cc: Alp Aker , 10736@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Aur=C3=A9lien Aptel wrote: > On Sun, Jun 17, 2012 at 6:16 PM, Alp Aker wrote: >> Aur=C3=A9lien, have you completed an assignment of copyright to the FSF? > > I'm afraid I have not. > Which template should I use from this list [1]? I will send you the correct form off-list. Thanks for the patch and for being willing to assign copyright. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 18 14:36:13 2012 Received: (at control) by debbugs.gnu.org; 18 Jun 2012 18:36:13 +0000 Received: from localhost ([127.0.0.1]:46969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sggo8-00016g-7z for submit@debbugs.gnu.org; Mon, 18 Jun 2012 14:36:12 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:48287) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sggo5-00016Y-FB for control@debbugs.gnu.org; Mon, 18 Jun 2012 14:36:10 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Sggku-0001c1-1z for control@debbugs.gnu.org; Mon, 18 Jun 2012 14:32:52 -0400 Date: Mon, 18 Jun 2012 14:32:52 -0400 Message-Id: Subject: control message for bug 10736 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) fixed 10736 24.2 From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 06 14:20:19 2012 Received: (at control) by debbugs.gnu.org; 6 Aug 2012 18:20:20 +0000 Received: from localhost ([127.0.0.1]:37919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SyRud-0003sg-N7 for submit@debbugs.gnu.org; Mon, 06 Aug 2012 14:20:19 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:56700) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SyRub-0003sZ-TP for control@debbugs.gnu.org; Mon, 06 Aug 2012 14:20:18 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1SyRmx-0007Vu-Kj for control@debbugs.gnu.org; Mon, 06 Aug 2012 14:12:23 -0400 Date: Mon, 06 Aug 2012 14:12:23 -0400 Message-Id: Subject: control message for bug 10736 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) close 10736 From unknown Tue Aug 19 09:59:48 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 04 Sep 2012 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator