From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was not before) Date: Sun, 8 Jan 2023 18:42:18 +0100 Message-ID: References: <86mt6wk45n.fsf@protected.rcdrun.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Iq5Rxvn0SB81NbLb004D88MV" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11045"; mail-complaints-to="usenet@ciao.gmane.io" To: Jean Louis , 60585@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jan 08 18:44:31 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pEZif-0002dU-G2 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 08 Jan 2023 18:44:29 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pEZiY-0003tw-6g; Sun, 08 Jan 2023 12:44:22 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEZiG-0003qb-1s for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 12:44:11 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pEZiE-00055B-6O for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 12:44:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pEZiE-0006xQ-2A for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 12:44:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Jan 2023 17:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60585 X-GNU-PR-Package: emacs Original-Received: via spool by 60585-submit@debbugs.gnu.org id=B60585.167319978726675 (code B ref 60585); Sun, 08 Jan 2023 17:44:02 +0000 Original-Received: (at 60585) by debbugs.gnu.org; 8 Jan 2023 17:43:07 +0000 Original-Received: from localhost ([127.0.0.1]:34547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEZhK-0006w7-JI for submit@debbugs.gnu.org; Sun, 08 Jan 2023 12:43:07 -0500 Original-Received: from mout.gmx.net ([212.227.15.15]:52707) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEZhH-0006vU-6p for 60585@debbugs.gnu.org; Sun, 08 Jan 2023 12:43:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1673199746; bh=YK4uQ6n9QwxwHjh5RgQPBuNF2iLKeVgrk7mBKpBi9Gk=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=j6EOUz0Pgm9c69NpTE6axKJ7hdvhBXWPA7/o/N8HxohHDRlchpnxfgHUUNtWT1zIi NiR+LXwpBy0UyCKfej1pFYcklf7zj2A0uWjDP7qwgw2zEfCiJ7o8qafH3F4QcNM5ox uQaJyotFvB+Ct2L5JhRBwCFbNo/Xu6Uyoi5e0Aqqdh/npsD/+6qumhCOZPDfb04ouQ hMkgtb7qanrh5vlxvoT7b6l5yEkmT1apMcrC6W1VnJDQPik5bMwapFle9EhWfgUdbC qzcp5X6j60ftXyDNjNGj9X51F/lib+kRwUFhC9nRVDu9zyw7QWHFlCOY5pDVsEGhq4 zGLSglPayVJqw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.1.100] ([213.142.96.13]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MtfJd-1ovGzG3AmV-00v4Lo; Sun, 08 Jan 2023 18:42:26 +0100 Content-Language: en-US In-Reply-To: <86mt6wk45n.fsf@protected.rcdrun.com> X-Provags-ID: V03:K1:GtZvjE8q+SGNl9voO6munIF6w6+/2dup82kYjEFCzb36rKP8t1e 6kSCDZr6caI5WlOXU31qc6YHreWOAr5ZO012ku08V8a3XyjpjiOZZn2VDSd5k7hykr1gqnA EMpTj8HVJ7lflzmVmY2w4MzVSn/k3bwiPg4Mby+f85LRbRoaxidVXEYt5c+qJPBzzl0k+mQ NDyUzp+2WVpXt8NPlXJiA== UI-OutboundReport: notjunk:1;M01:P0:zLu/f8cJfFU=;myue2Yu7ROxOTb3BK/K6XnyIpoI nq+/nULhZKxcZw0qv/kWn3vU8WfETlBuGSwbnrS77fNo4EoRYsy+r7CiXD2gdxLK3MXRgSmzt VK1P0uH5i5I6WXrXLCImi74Jc8GcfHMRZTXqZGI9nhatt1Qzfae5nPUj5AphAaMVJWCEvS30d 6qFtckgB1EWVonrmlqyNxMj7ac4WjEWdJcf/rsP4GQJ9rkdAl0ytJSFxmvSarbpS5KjBXFGIA kepqzRW3W76L+ImGj4KJDhplogB21dATIkmXUPI5YdPgkv6/BWtqCPpeRRVIBNZizWZiNVHVd CsbeQO3gIEahZDlsCaChmDNilxrsI4/AgpGN/aLIFWUfdaDRXhZPcogTu5LsZulXvdy7vD2N/ 3iFD+ycGdmyy0ffrZ8XPmEKBRlkwaHMAsplHk5SduTNmeGxTlUxougOVAIC8DJbWAaOKIXO2s ggeXw6H65gU6vp0ay59S0MP1FrHdUctv1ZXUZzV1VTcMmV3OQzn3e6UyYqEdb/Vvk6GvLys9F OnHZbRfHiud3evb82Y6fDmVo9v6AkWXcMVKXmanJhiW6yTNdBLfdfHbpKH7yo4a7JG5fVhPSK GEirkzArhi81v/hxuXeiOyEH9q18ypNhk0+ruGLdpIhdk8aXMaXiqjDxISzSsXkHMAFdz43pS KyJo0AH7ZGO/UEmEcRKoxFWJpZpGeQw7aHs5o3HpP+aL9zS5HyhRahklKtYGDbcSjuedKZdG1 GehQo2FlShdpvIztN7IVewnkoPXoDvlZ7V+2Twdtd8bD4Ct8yawsuu9xatDxyryKjhkhVf6e X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:252940 Archived-At: This is a multi-part message in MIME format. --------------Iq5Rxvn0SB81NbLb004D88MV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > I have just pulled latest Emacs and used with -Q option: > `global-text-scale-adjust' which I have used last days upon first > startup. > > Before I have not observed that windows shrink by using `+' or `-' > within that command. I asked in another thread before and repeat the question here: Per se, 'global-text-scale-adjust' should never resize frames. You have to customize 'global-text-scale-adjust-resizes-frames' to achieve that effect. Please tell me what precisely you did. If you did not customize that option, something must be wrong within face-remap.el of which I'm not aware. > Configured using: > 'configure --with-x-toolkit=lucid --with-mailutils' I faintly recall that setting size hints with lucid here was completely broken a couple of years ago. In the attached patch I tried to excise some of the changes I made to fix that then. I also added some tracing information that should be dumped to a buffer called *foo*. So please try the patch and if it does not work (or things even get worse) post the contents of *foo* here. Thanks, martin --------------Iq5Rxvn0SB81NbLb004D88MV Content-Type: text/x-patch; charset=UTF-8; name="x_scale_font.diff" Content-Disposition: attachment; filename="x_scale_font.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYTEx MjkzZDM3Mi4uNzA2Yzk4OGIyZSAxMDA2NDQKLS0tIGEvbGlzcC93aW5kb3cuZWwKKysrIGIv bGlzcC93aW5kb3cuZWwKQEAgLTEwNTk2LDYgKzEwNTk2LDIxIEBAIHdpbmRvdy1wcmVmaXgt bWFwCiAgICIwIiAjJ2RlbGV0ZS13aW5kb3dzLW9uKQogKGRlZmluZS1rZXkgY3RsLXgtbWFw ICJ3IiB3aW5kb3ctcHJlZml4LW1hcCkKIAorKGRlZnVuIGZvby1pdCAoJnJlc3QgcmVzdCkK KyAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXItY3JlYXRlICIqZm9vKiIpCisg ICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKKyAgICAod2hlbiByZXN0CisgICAgICAoaWYg KGNvbnNwIChjYXIgcmVzdCkpCisgICAgICAgICAgKGluc2VydCAoZm9ybWF0ICIlc3glcyIg KGNhYXIgcmVzdCkgKGNkYXIgcmVzdCkpKQorICAgICAgICAoaW5zZXJ0IChmb3JtYXQgIiVz IiAoY2FyIHJlc3QpKSkpCisgICAgICAoc2V0cSByZXN0IChjZHIgcmVzdCkpCisgICAgICAo d2hpbGUgcmVzdAorICAgICAgICAoaWYgKGNvbnNwIChjYXIgcmVzdCkpCisgICAgICAgICAg ICAoaW5zZXJ0IChmb3JtYXQgIiAlc3glcyIgKGNhYXIgcmVzdCkgKGNkYXIgcmVzdCkpKQor CSAgKGluc2VydCAoZm9ybWF0ICIgJXMiIChjYXIgcmVzdCkpKSkKKwkoc2V0cSByZXN0IChj ZHIgcmVzdCkpKQorICAgICAgKGluc2VydCAiXG4iKSkpKQorCiAocHJvdmlkZSAnd2luZG93 KQogCiA7Ozsgd2luZG93LmVsIGVuZHMgaGVyZQpkaWZmIC0tZ2l0IGEvc3JjL2ZyYW1lLmMg Yi9zcmMvZnJhbWUuYwppbmRleCBiNTdiMjk2YmU1Li5kN2QwNjlkOTA4IDEwMDY0NAotLS0g YS9zcmMvZnJhbWUuYworKysgYi9zcmMvZnJhbWUuYwpAQCAtOTA2LDYgKzkwNiwzMiBAQCBh ZGp1c3RfZnJhbWVfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgbmV3X3RleHRfd2lkdGgs IGludCBuZXdfdGV4dF9oZWlnaHQsCiAKICAgdW5ibG9ja19pbnB1dCAoKTsKIAorICBpZiAo b2xkX25hdGl2ZV93aWR0aCAhPSBuZXdfbmF0aXZlX3dpZHRoCisgICAgICB8fCBvbGRfbmF0 aXZlX2hlaWdodCAhPSBuZXdfbmF0aXZlX2hlaWdodAorICAgICAgfHwgb2xkX3RleHRfd2lk dGggIT0gbmV3X3RleHRfd2lkdGgKKyAgICAgIHx8IG9sZF90ZXh0X2hlaWdodCAhPSBuZXdf dGV4dF9oZWlnaHQKKyAgICAgIHx8IG9sZF90ZXh0X2NvbHMgIT0gbmV3X3RleHRfY29scwor ICAgICAgfHwgb2xkX3RleHRfbGluZXMgIT0gbmV3X3RleHRfbGluZXMpCisgICAgQ0FMTE4g KEZmdW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCJhZGp1c3RfZnJhbWVfc2l6ZSIpLAorCSAg IGludGVybiAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVt IChvbGRfbmF0aXZlX3dpZHRoKSwKKwkJICBtYWtlX2ZpeG51bSAob2xkX25hdGl2ZV9oZWln aHQpKSwKKwkgICBpbnRlcm4gKCJuZXcgbmF0aXZlIHBpeGVscyIpLAorCSAgIEZjb25zICht YWtlX2ZpeG51bSAobmV3X25hdGl2ZV93aWR0aCksCisJCSAgbWFrZV9maXhudW0gKG5ld19u YXRpdmVfaGVpZ2h0KSksCisJICAgaW50ZXJuICgib2xkIHRleHQgcGl4ZWxzIiksCisJICAg RmNvbnMgKG1ha2VfZml4bnVtIChvbGRfdGV4dF93aWR0aCksCisJCSAgbWFrZV9maXhudW0g KG9sZF90ZXh0X2hlaWdodCkpLAorCSAgIGludGVybiAoIm5ldyB0ZXh0IHBpeGVscyIpLAor CSAgIEZjb25zIChtYWtlX2ZpeG51bSAobmV3X3RleHRfd2lkdGgpLAorCQkgIG1ha2VfZml4 bnVtIChuZXdfdGV4dF9oZWlnaHQpKSwKKwkgICBpbnRlcm4gKCJvbGQgdGV4dCBjaGFycyIp LAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAob2xkX3RleHRfY29scyksCisJCSAgbWFrZV9m aXhudW0gKG9sZF90ZXh0X2xpbmVzKSksCisJICAgaW50ZXJuICgibmV3IHRleHQgY2hhcnMi KSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKG5ld190ZXh0X2NvbHMpLAorCQkgIG1ha2Vf Zml4bnVtIChuZXdfdGV4dF9saW5lcykpKTsKKwogI2lmZGVmIEhBVkVfV0lORE9XX1NZU1RF TQogICB7CiAgICAgLyogQWRqdXN0IHNpemUgb2YgRidzIGNoaWxkIGZyYW1lcy4gICovCmRp ZmYgLS1naXQgYS9zcmMvZ3RrdXRpbC5jIGIvc3JjL2d0a3V0aWwuYwppbmRleCBhNmJiYTA5 NmE0Li4xNjczMjljY2I4IDEwMDY0NAotLS0gYS9zcmMvZ3RrdXRpbC5jCisrKyBiL3NyYy9n dGt1dGlsLmMKQEAgLTExNDksNiArMTE0OSwxNCBAQCB4Z19mcmFtZV9yZXNpemVkIChzdHJ1 Y3QgZnJhbWUgKmYsIGludCB3aWR0aCwgaW50IGhlaWdodCkKIAkgICBmLT5uZXdfc2l6ZV9w ID8gZi0+bmV3X2hlaWdodCA6IC0xKTsKIAogICAgICAgRlJBTUVfUklGIChmKS0+Y2xlYXJf dW5kZXJfaW50ZXJuYWxfYm9yZGVyIChmKTsKKworICAgICAgQ0FMTE4gKEZmdW5jYWxsLCBR Zm9vX2l0LCBpbnRlcm4gKCJ4Z19mcmFtZV9yZXNpemVkIiksCisJICAgICBpbnRlcm4gKCJv bGQgbmF0aXZlIHBpeGVscyIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9Q SVhFTF9XSURUSCAoZikpLAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX0hFSUdI VCAoZikpKSwKKwkgICAgIGludGVybiAoIm5ldyBuYXRpdmUgcGl4ZWxzIiksCisJICAgICBG Y29ucyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpKTsKKwog ICAgICAgY2hhbmdlX2ZyYW1lX3NpemUgKGYsIHdpZHRoLCBoZWlnaHQsIGZhbHNlLCB0cnVl LCBmYWxzZSk7CiAgICAgICBTRVRfRlJBTUVfR0FSQkFHRUQgKGYpOwogICAgICAgY2FuY2Vs X21vdXNlX2ZhY2UgKGYpOwpAQCAtMTE3NCw2ICsxMTgyLDggQEAgeGdfZnJhbWVfc2V0X2No YXJfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgIGlu dCBvdXRlcl93aWR0aCA9IHdpZHRoICsgRlJBTUVfVE9PTEJBUl9XSURUSCAoZik7CiAgIGJv b2wgd2FzX3Zpc2libGUgPSBmYWxzZTsKICAgYm9vbCBoaWRlX2NoaWxkX2ZyYW1lOworICBp bnQgc2NhbGUgPSB4Z19nZXRfc2NhbGUgKGYpOworICBHZGtHZW9tZXRyeSBzaXplX2hpbnRz ID0gZi0+b3V0cHV0X2RhdGEueHAtPnNpemVfaGludHM7CiAKICNpZm5kZWYgSEFWRV9QR1RL CiAgIGd0a193aW5kb3dfZ2V0X3NpemUgKEdUS19XSU5ET1cgKEZSQU1FX0dUS19PVVRFUl9X SURHRVQgKGYpKSwKQEAgLTExOTYsOCArMTIwNiw0MiBAQCB4Z19mcmFtZV9zZXRfY2hhcl9z aXplIChzdHJ1Y3QgZnJhbWUgKmYsIGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgLyogRG8g dGhpcyBiZWZvcmUgcmVzaXplLCBhcyB3ZSBkb24ndCBrbm93IHlldCBpZiB3ZSB3aWxsIGJl IHJlc2l6ZWQuICAqLwogICBGUkFNRV9SSUYgKGYpLT5jbGVhcl91bmRlcl9pbnRlcm5hbF9i b3JkZXIgKGYpOwogCi0gIG91dGVyX2hlaWdodCAvPSB4Z19nZXRfc2NhbGUgKGYpOwotICBv dXRlcl93aWR0aCAvPSB4Z19nZXRfc2NhbGUgKGYpOworICBvdXRlcl9oZWlnaHQgLz0gc2Nh bGU7CisgIG91dGVyX3dpZHRoIC89IHNjYWxlOworCisgIGlmIChzY2FsZSAhPSAxICYmICFm cmFtZV9yZXNpemVfcGl4ZWx3aXNlKQorICAgIHsKKyAgICAgIGludCBiYXNlX3dpZHRoX3Vu c2NhbGVkID0gKEZSQU1FX1RFWFRfQ09MU19UT19QSVhFTF9XSURUSCAoZiwgMSkKKwkJCQkg KyBGUkFNRV9UT09MQkFSX1dJRFRIIChmKSk7CisgICAgICBpbnQgYmFzZV93aWR0aF9zY2Fs ZWQgPSBiYXNlX3dpZHRoX3Vuc2NhbGVkIC8gc2NhbGU7CisgICAgICBpbnQgYmFzZV9oZWln aHRfdW5zY2FsZWQgPSAoRlJBTUVfVEVYVF9MSU5FU19UT19QSVhFTF9IRUlHSFQgKGYsIDEp CisJCQkJICArIEZSQU1FX01FTlVCQVJfSEVJR0hUIChmKQorCQkJCSAgKyBGUkFNRV9UT09M QkFSX0hFSUdIVCAoZikpOworICAgICAgaW50IGJhc2VfaGVpZ2h0X3NjYWxlZCA9IGJhc2Vf aGVpZ2h0X3Vuc2NhbGVkIC8gc2NhbGU7CisgICAgICBpbnQgd2lkdGhfaW5jID0gRlJBTUVf Q09MVU1OX1dJRFRIIChmKSAvIHNjYWxlOworICAgICAgaW50IGhlaWdodF9pbmMgPSBGUkFN RV9MSU5FX0hFSUdIVCAoZikgLyBzY2FsZTsKKyAgICAgIGludCB3aWR0aF9yZXN0LCBoZWln aHRfcmVzdDsKKworICAgICAgaWYgKHdpZHRoX2luYyA8IDEpCisJd2lkdGhfaW5jID0gMTsK KworICAgICAgaWYgKGhlaWdodF9pbmMgPCAxKQorCWhlaWdodF9pbmMgPSAxOworCisgICAg ICBpZiAob3V0ZXJfd2lkdGggPCBiYXNlX3dpZHRoX3NjYWxlZCkKKwlvdXRlcl93aWR0aCA9 IGJhc2Vfd2lkdGhfc2NhbGVkOworCisgICAgICBpZiAob3V0ZXJfaGVpZ2h0IDwgYmFzZV9o ZWlnaHRfc2NhbGVkKQorCW91dGVyX2hlaWdodCA9IGJhc2VfaGVpZ2h0X3NjYWxlZDsKKwor ICAgICAgd2lkdGhfcmVzdCA9IChvdXRlcl93aWR0aCAtIGJhc2Vfd2lkdGhfc2NhbGVkKSAl IHdpZHRoX2luYzsKKyAgICAgIGhlaWdodF9yZXN0ID0gKG91dGVyX2hlaWdodCAtIGJhc2Vf aGVpZ2h0X3NjYWxlZCkgJSBoZWlnaHRfaW5jOworCisgICAgICBpZiAod2lkdGhfcmVzdCA+ IDAgfHwgKGJhc2Vfd2lkdGhfdW5zY2FsZWQgJSBzY2FsZSkgPiAwKQorCW91dGVyX3dpZHRo ID0gb3V0ZXJfd2lkdGggKyB3aWR0aF9pbmMgLSB3aWR0aF9yZXN0OworICAgICAgaWYgKGhl aWdodF9yZXN0ID4gMCB8fCAoYmFzZV9oZWlnaHRfdW5zY2FsZWQgJSBzY2FsZSkgPiAwKQor CW91dGVyX2hlaWdodCA9IG91dGVyX2hlaWdodCArIGhlaWdodF9pbmMgLSBoZWlnaHRfcmVz dDsKKyAgICB9CiAKICAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCk7CiAKQEAgLTEz MTcsNiArMTM2MSwzMCBAQCB4Z19mcmFtZV9zZXRfY2hhcl9zaXplIChzdHJ1Y3QgZnJhbWUg KmYsIGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgU0VUX0ZSQU1FX0dBUkJBR0VEIChmKTsK ICAgY2FuY2VsX21vdXNlX2ZhY2UgKGYpOwogCisgIHNpemVfaGludHMgPSBmLT5vdXRwdXRf ZGF0YS54cC0+c2l6ZV9oaW50czsKKyAgaWYgKG91dGVyX3dpZHRoID4gMCAmJiBzaXplX2hp bnRzLmJhc2Vfd2lkdGggPiAwICYmIHNpemVfaGludHMud2lkdGhfaW5jID4gMAorICAgICAg JiYgb3V0ZXJfaGVpZ2h0ID4gMCAmJiBzaXplX2hpbnRzLmJhc2VfaGVpZ2h0ID4gMCAmJiBz aXplX2hpbnRzLmhlaWdodF9pbmMgPiAwKQorICAgIENBTExOIChGZnVuY2FsbCwgUWZvb19p dCwgaW50ZXJuICgieGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSIpLAorCSAgIGludGVybiAoIm9s ZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhF TF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQgKGYp KSksCisJICAgaW50ZXJuICgibmV3IG5hdGl2ZSBwaXhlbHMiKSwKKwkgICBGY29ucyAobWFr ZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpLAorCSAgIGludGVybiAo Im91dGVyIHBpeGVscyIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAob3V0ZXJfd2lkdGgp LCBtYWtlX2ZpeG51bSAob3V0ZXJfaGVpZ2h0KSksCisJICAgaW50ZXJuICgib3V0ZXIgcmVz dCIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAoKG91dGVyX3dpZHRoIC0gc2l6ZV9oaW50 cy5iYXNlX3dpZHRoKSAlIHNpemVfaGludHMud2lkdGhfaW5jKSwKKwkJICBtYWtlX2ZpeG51 bSAoKG91dGVyX2hlaWdodCAtIHNpemVfaGludHMuYmFzZV9oZWlnaHQpICUgc2l6ZV9oaW50 cy5oZWlnaHRfaW5jKSkpOworICBlbHNlCisgICAgQ0FMTE4gKEZmdW5jYWxsLCBRZm9vX2l0 LCBpbnRlcm4gKCJ4Z19mcmFtZV9zZXRfY2hhcl9zaXplIiksCisJICAgaW50ZXJuICgib2xk IG5hdGl2ZSBwaXhlbHMiKSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1BJWEVM X1dJRFRIIChmKSksCisJCSAgbWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX0hFSUdIVCAoZikp KSwKKwkgICBpbnRlcm4gKCJuZXcgbmF0aXZlIHBpeGVscyIpLAorCSAgIEZjb25zIChtYWtl X2ZpeG51bSAod2lkdGgpLCBtYWtlX2ZpeG51bSAoaGVpZ2h0KSksCisJICAgaW50ZXJuICgi b3V0ZXIgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVtIChvdXRlcl93aWR0aCks IG1ha2VfZml4bnVtIChvdXRlcl9oZWlnaHQpKSk7CisKICAgLyogV2UgY2FuIG5vdCBjYWxs IGNoYW5nZV9mcmFtZV9zaXplIGZvciBhIG1hcHBlZCBmcmFtZSwKICAgICAgd2UgY2FuIG5v dCBzZXQgcGl4ZWwgd2lkdGgvaGVpZ2h0IGVpdGhlci4gIFRoZSB3aW5kb3cgbWFuYWdlciBt YXkKICAgICAgb3ZlcnJpZGUgb3VyIHJlc2l6ZSByZXF1ZXN0LCBYTW9uYWQgZG9lcyB0aGlz IGFsbCB0aGUgdGltZS4KQEAgLTIwMjgsNiArMjA5NiwyNCBAQCB4Z193bV9zZXRfc2l6ZV9o aW50IChzdHJ1Y3QgZnJhbWUgKmYsIGxvbmcgaW50IGZsYWdzLCBib29sIHVzZXJfcG9zaXRp b24pCiAJCSAmZi0+b3V0cHV0X2RhdGEueHAtPnNpemVfaGludHMsCiAJCSBzaXplb2YgKHNp emVfaGludHMpKSAhPSAwKQogICAgIHsKKyAgICAgIENBTExOIChGZnVuY2FsbCwgUWZvb19p dCwgaW50ZXJuICgieGdfd21fc2V0X3NpemVfaGludCIpLAorCSAgICAgaW50ZXJuICgic2Nh bGUiKSwgbWFrZV9maXhudW0gKHNjYWxlKSwKKwkgICAgIGludGVybiAoImNoYXIgd2lkdGgi KSwgbWFrZV9maXhudW0gKEZSQU1FX0NPTFVNTl9XSURUSCAoZikpLAorCSAgICAgaW50ZXJu ICgidG9vbGJhciIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfVE9PTEJBUl9XSURUSCAoZikpLAor CSAgICAgaW50ZXJuICgidnNjcm9sbCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfU0NST0xMX0JB Ul9BUkVBX1dJRFRIIChmKSksCisJICAgICBpbnRlcm4gKCJmcmluZ2VzIiksIG1ha2VfZml4 bnVtIChGUkFNRV9UT1RBTF9GUklOR0VfV0lEVEggKGYpKSwKKwkgICAgIGludGVybiAoImJv cmRlcnMiKSwgbWFrZV9maXhudW0gKDIgKiBGUkFNRV9JTlRFUk5BTF9CT1JERVJfV0lEVEgg KGYpKSwKKwkgICAgIGludGVybiAoImJhc2Ugd2lkdGgiKSwgbWFrZV9maXhudW0gKHNpemVf aGludHMuYmFzZV93aWR0aCksCisJICAgICBpbnRlcm4gKCJ3aWR0aCBpbmMiKSwgbWFrZV9m aXhudW0gKHNpemVfaGludHMud2lkdGhfaW5jKSk7CisgICAgICBDQUxMTiAoRmZ1bmNhbGws IFFmb29faXQsIGludGVybiAoIiAgICIpLAorCSAgICAgaW50ZXJuICgiY2hhciBoZWlnaHQi KSwgbWFrZV9maXhudW0gKEZSQU1FX0xJTkVfSEVJR0hUIChmKSksCisJICAgICBpbnRlcm4g KCJtZW51YmFyIiksIG1ha2VfZml4bnVtIChGUkFNRV9NRU5VQkFSX0hFSUdIVCAoZikpLAor CSAgICAgaW50ZXJuICgidG9vbGJhciIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfVE9PTEJBUl9I RUlHSFQgKGYpKSwKKwkgICAgIGludGVybiAoImhzY3JvbGwiKSwgbWFrZV9maXhudW0gKEZS QU1FX1NDUk9MTF9CQVJfQVJFQV9IRUlHSFQgKGYpKSwKKwkgICAgIGludGVybiAoImJvcmRl cnMiKSwgbWFrZV9maXhudW0gKDIgKiBGUkFNRV9JTlRFUk5BTF9CT1JERVJfV0lEVEggKGYp KSwKKwkgICAgIGludGVybiAoImJhc2UgaGVpZ2h0IiksIG1ha2VfZml4bnVtIChzaXplX2hp bnRzLmJhc2VfaGVpZ2h0KSwKKwkgICAgIGludGVybiAoImhlaWdodCBpbmMiKSwgbWFrZV9m aXhudW0gKHNpemVfaGludHMuaGVpZ2h0X2luYykpOworCiAgICAgICBibG9ja19pbnB1dCAo KTsKICAgICAgIGd0a193aW5kb3dfc2V0X2dlb21ldHJ5X2hpbnRzIChHVEtfV0lORE9XIChG UkFNRV9HVEtfT1VURVJfV0lER0VUIChmKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgJnNpemVfaGludHMsIGhpbnRfZmxhZ3MpOwpkaWZmIC0tZ2l0 IGEvc3JjL3dpZGdldC5jIGIvc3JjL3dpZGdldC5jCmluZGV4IGFhYWIzM2I2ZDguLjgzZWM3 ZWYxNWUgMTAwNjQ0Ci0tLSBhL3NyYy93aWRnZXQuYworKysgYi9zcmMvd2lkZ2V0LmMKQEAg LTE1NCwxNSArMTU0LDYgQEAgZW1hY3NGcmFtZUNsYXNzICh2b2lkKQogICByZXR1cm4gKFdp ZGdldENsYXNzKSAmZW1hY3NGcmFtZUNsYXNzUmVjOwogfQogCi1zdGF0aWMgdm9pZAotZ2V0 X2RlZmF1bHRfY2hhcl9waXhlbF9zaXplIChFbWFjc0ZyYW1lIGV3LCBpbnQgKnBpeGVsX3dp ZHRoLCBpbnQgKnBpeGVsX2hlaWdodCkKLXsKLSAgc3RydWN0IGZyYW1lICpmID0gZXctPmVt YWNzX2ZyYW1lLmZyYW1lOwotCi0gICpwaXhlbF93aWR0aCA9IEZSQU1FX0NPTFVNTl9XSURU SCAoZik7Ci0gICpwaXhlbF9oZWlnaHQgPSBGUkFNRV9MSU5FX0hFSUdIVCAoZik7Ci19Ci0K IHN0YXRpYyB2b2lkCiBwaXhlbF90b19jaGFyX3NpemUgKEVtYWNzRnJhbWUgZXcsIERpbWVu c2lvbiBwaXhlbF93aWR0aCwKIAkJICAgIERpbWVuc2lvbiBwaXhlbF9oZWlnaHQsIGludCAq Y2hhcl93aWR0aCwgaW50ICpjaGFyX2hlaWdodCkKQEAgLTIwNywxMDQgKzE5OCw0MiBAQCBn ZXRfd21fc2hlbGwgKFdpZGdldCB3KQogICByZXR1cm4gKFdNU2hlbGxXaWRnZXQpIHdtc2hl bGw7CiB9CiAKLSNpZiAwIC8qIEN1cnJlbnRseSBub3QgdXNlZC4gICovCi0KLXN0YXRpYyB2 b2lkCi1tYXJrX3NoZWxsX3NpemVfdXNlcl9zcGVjaWZpZWQgKFdpZGdldCB3bXNoZWxsKQot ewotICBpZiAoISBYdElzV01TaGVsbCAod21zaGVsbCkpIGVtYWNzX2Fib3J0ICgpOwotICAv KiBUaGlzIGlzIGtpbmQgb2Ygc2xlYXp5LCBidXQgSSBjYW4ndCBzZWUgaG93IGVsc2UgdG8g dGVsbCBpdCB0byBtYWtlIGl0Ci0gICAgIG1hcmsgdGhlIFdNX1NJWkVfSElOVFMgc2l6ZSBh cyB1c2VyIHNwZWNpZmllZCB3aGVuIGFwcHJvcHJpYXRlLiAqLwotICAoKFdNU2hlbGxXaWRn ZXQpIHdtc2hlbGwpLT53bS5zaXplX2hpbnRzLmZsYWdzIHw9IFVTU2l6ZTsKLX0KLQotI2Vu ZGlmCi0KLQogc3RhdGljIHZvaWQKIHNldF9mcmFtZV9zaXplIChFbWFjc0ZyYW1lIGV3KQog ewotICAvKiBUaGUgd2lkZ2V0IGhpZXJhcmNoeSBpcwotCi0JYXJndlswXQkJCWVtYWNzU2hl bGwJcGFuZQlGcmFtZS1OQU1FCi0JQXBwbGljYXRpb25TaGVsbAlFbWFjc1NoZWxsCVBhbmVk CUVtYWNzRnJhbWUKLQotICAgICBXZSBhY2NlcHQgZ2VvbWV0cnkgc3BlY3MgaW4gdGhpcyBv cmRlcjoKLQotCSpGcmFtZS1OQU1FLmdlb21ldHJ5Ci0JKkVtYWNzRnJhbWUuZ2VvbWV0cnkK LQlFbWFjcy5nZW9tZXRyeQotCi0gICAgIE90aGVyIHBvc3NpYmlsaXRpZXMgZm9yIHdpZGdl dCBoaWVyYXJjaGllcyBtaWdodCBiZQotCi0JYXJndlswXQkJCWZyYW1lCQlwYW5lCUZyYW1l LU5BTUUKLQlBcHBsaWNhdGlvblNoZWxsCUVtYWNzU2hlbGwJUGFuZWQJRW1hY3NGcmFtZQot ICAgICBvcgotCWFyZ3ZbMF0JCQlGcmFtZS1OQU1FCXBhbmUJRnJhbWUtTkFNRQotCUFwcGxp Y2F0aW9uU2hlbGwJRW1hY3NTaGVsbAlQYW5lZAlFbWFjc0ZyYW1lCi0gICAgIG9yCi0JYXJn dlswXQkJCUZyYW1lLU5BTUUJcGFuZQllbWFjc1RleHRQYW5lCi0JQXBwbGljYXRpb25TaGVs bAlFbWFjc0ZyYW1lCVBhbmVkCUVtYWNzVGV4dFBhbmUKLQotICAgICBXaXRoIHRoZSBjdXJy ZW50IHNldHVwLCB0aGUgdGV4dC1kaXNwbGF5LWFyZWEgaXMgdGhlIHBhcnQgd2hpY2ggaXMK LSAgICAgYW4gZW1hY3MgImZyYW1lIiwgc2luY2UgdGhhdCdzIHRoZSBvbmx5IHBhcnQgbWFu YWdlZCBieSBlbWFjcyBwcm9wZXIKLSAgICAgKHRoZSBtZW51YmFyIGFuZCB0aGUgcGFyZW50 IG9mIHRoZSBtZW51YmFyIGFuZCBhbGwgdGhhdCBzb3J0IG9mIHRoaW5nCi0gICAgIGFyZSBt YW5hZ2VkIGJ5IGx3bGliLikKLQotICAgICBUaGUgRW1hY3NTaGVsbCB3aWRnZXQgaXMgc2lt cGx5IGEgcmVwbGFjZW1lbnQgZm9yIHRoZSBTaGVsbCB3aWRnZXQKLSAgICAgd2hpY2ggaXMg YWJsZSB0byBkZWFsIHdpdGggdXNpbmcgYW4gZXh0ZXJuYWxseS1zdXBwbGllZCB3aW5kb3cg aW5zdGVhZAotICAgICBvZiBhbHdheXMgY3JlYXRpbmcgaXRzIG93bi4gIEl0IGlzIG5vdCBh Y3R1YWxseSBlbWFjcyBzcGVjaWZpYywgYW5kCi0gICAgIHNob3VsZCBwb3NzaWJseSBoYXZl IGNsYXNzICJTaGVsbCIgaW5zdGVhZCBvZiAiRW1hY3NTaGVsbCIgdG8gc2ltcGxpZnkKLSAg ICAgdGhlIHJlc291cmNlcy4KLQotICAgKi8KLQogICBzdHJ1Y3QgZnJhbWUgKmYgPSBldy0+ ZW1hY3NfZnJhbWUuZnJhbWU7CiAKICAgZXctPmNvcmUud2lkdGggPSBGUkFNRV9QSVhFTF9X SURUSCAoZik7CiAgIGV3LT5jb3JlLmhlaWdodCA9IEZSQU1FX1BJWEVMX0hFSUdIVCAoZik7 CiAKLSAgaWYgKENPTlNQIChmcmFtZV9zaXplX2hpc3RvcnkpKQotICAgIGZyYW1lX3NpemVf aGlzdG9yeV9wbGFpbgotICAgICAgKGYsIGJ1aWxkX3N0cmluZyAoInNldF9mcmFtZV9zaXpl IikpOworICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29faXQsIGJ1aWxkX3N0cmluZyAoInNldF9m cmFtZV9zaXplIiksCisJIGJ1aWxkX3N0cmluZyAoIm5hdGl2ZSBwaXhlbHMiKSwKKwkgRmNv bnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURUSCAoZikpLAorCQltYWtlX2ZpeG51 bSAoRlJBTUVfUElYRUxfSEVJR0hUIChmKSkpKTsKIH0KIAogc3RhdGljIGJvb2wKIHVwZGF0 ZV93bV9oaW50cyAoV01TaGVsbFdpZGdldCB3bXNoZWxsLCBFbWFjc0ZyYW1lIGV3KQogewot ICBpbnQgY3c7Ci0gIGludCBjaDsKLSAgRGltZW5zaW9uIHJvdW5kZWRfd2lkdGg7Ci0gIERp bWVuc2lvbiByb3VuZGVkX2hlaWdodDsKLSAgaW50IGNoYXJfd2lkdGg7Ci0gIGludCBjaGFy X2hlaWdodDsKLSAgaW50IGJhc2Vfd2lkdGg7Ci0gIGludCBiYXNlX2hlaWdodDsKKyAgc3Ry dWN0IGZyYW1lICpmID0gZXctPmVtYWNzX2ZyYW1lLmZyYW1lOworICBpbnQgY2hhcl93aWR0 aCA9IGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogRlJBTUVfQ09MVU1OX1dJRFRIIChm KTsKKyAgaW50IGNoYXJfaGVpZ2h0ID0gZnJhbWVfcmVzaXplX3BpeGVsd2lzZSA/IDEgOiBG UkFNRV9MSU5FX0hFSUdIVCAoZik7CisgIGludCBiYXNlX3dpZHRoID0gRlJBTUVfVEVYVF9D T0xTX1RPX1BJWEVMX1dJRFRIIChmLCAxKTsKKyAgaW50IGJhc2VfaGVpZ2h0ID0gKEZSQU1F X1RFWFRfTElORVNfVE9fUElYRUxfSEVJR0hUIChmLCAxKQorCQkgICAgICsgRlJBTUVfTUVO VUJBUl9IRUlHSFQgKGYpKTsKKyAgaW50IG1pbl93aWR0aCA9IGJhc2Vfd2lkdGg7CisgIGlu dCBtaW5faGVpZ2h0ID0gYmFzZV9oZWlnaHQ7CiAgIGNoYXIgYnVmZmVyW3NpemVvZiB3bXNo ZWxsLT53bS5zaXplX2hpbnRzXTsKICAgY2hhciAqaGludHNfcHRyOwotCi0gIC8qIENvcHkg dGhlIG9sZCBzaXplIGhpbnRzIHRvIHRoZSBidWZmZXIuICAqLwotICBtZW1jcHkgKGJ1ZmZl ciwgJndtc2hlbGwtPndtLnNpemVfaGludHMsCi0JICBzaXplb2Ygd21zaGVsbC0+d20uc2l6 ZV9oaW50cyk7Ci0KLSAgcGl4ZWxfdG9fY2hhcl9zaXplIChldywgZXctPmNvcmUud2lkdGgs IGV3LT5jb3JlLmhlaWdodCwKLQkJICAgICAgJmNoYXJfd2lkdGgsICZjaGFyX2hlaWdodCk7 Ci0gIGNoYXJfdG9fcGl4ZWxfc2l6ZSAoZXcsIGNoYXJfd2lkdGgsIGNoYXJfaGVpZ2h0LAot CQkgICAgICAmcm91bmRlZF93aWR0aCwgJnJvdW5kZWRfaGVpZ2h0KTsKLSAgZ2V0X2RlZmF1 bHRfY2hhcl9waXhlbF9zaXplIChldywgJmN3LCAmY2gpOwotCi0gIGJhc2Vfd2lkdGggPSAo d21zaGVsbC0+Y29yZS53aWR0aCAtIGV3LT5jb3JlLndpZHRoCi0JCSsgKHJvdW5kZWRfd2lk dGggLSAoY2hhcl93aWR0aCAqIGN3KSkpOwotICBiYXNlX2hlaWdodCA9ICh3bXNoZWxsLT5j b3JlLmhlaWdodCAtIGV3LT5jb3JlLmhlaWdodAotCQkgKyAocm91bmRlZF9oZWlnaHQgLSAo Y2hhcl9oZWlnaHQgKiBjaCkpKTsKKyAgaW50IHZhbHVlOwogCiAgIFh0VmFTZXRWYWx1ZXMg KChXaWRnZXQpIHdtc2hlbGwsCiAJCSBYdE5iYXNlV2lkdGgsIChYdEFyZ1ZhbCkgYmFzZV93 aWR0aCwKIAkJIFh0TmJhc2VIZWlnaHQsIChYdEFyZ1ZhbCkgYmFzZV9oZWlnaHQsCi0JCSBY dE53aWR0aEluYywgKFh0QXJnVmFsKSAoZnJhbWVfcmVzaXplX3BpeGVsd2lzZSA/IDEgOiBj dyksCi0JCSBYdE5oZWlnaHRJbmMsIChYdEFyZ1ZhbCkgKGZyYW1lX3Jlc2l6ZV9waXhlbHdp c2UgPyAxIDogY2gpLAotCQkgWHRObWluV2lkdGgsIChYdEFyZ1ZhbCkgYmFzZV93aWR0aCwK LQkJIFh0Tm1pbkhlaWdodCwgKFh0QXJnVmFsKSBiYXNlX2hlaWdodCwKKwkJIFh0TndpZHRo SW5jLCAoWHRBcmdWYWwpIGNoYXJfd2lkdGgsCisJCSBYdE5oZWlnaHRJbmMsIChYdEFyZ1Zh bCkgY2hhcl9oZWlnaHQsCisJCSBYdE5taW5XaWR0aCwgKFh0QXJnVmFsKSBtaW5fd2lkdGgs CisJCSBYdE5taW5IZWlnaHQsIChYdEFyZ1ZhbCkgbWluX2hlaWdodCwKIAkJIE5VTEwpOwog CiAgIC8qIFJldHVybiBpZiBzaXplIGhpbnRzIHJlYWxseSBjaGFuZ2VkLiAgSWYgdGhleSBk aWQgbm90LCB0aGVuIFh0CkBAIC0zMTMsOCArMjQyLDI4IEBAIHVwZGF0ZV93bV9oaW50cyAo V01TaGVsbFdpZGdldCB3bXNoZWxsLCBFbWFjc0ZyYW1lIGV3KQogICBoaW50c19wdHIgPSAo Y2hhciAqKSAmd21zaGVsbC0+d20uc2l6ZV9oaW50czsKIAogICAvKiBTa2lwIGZsYWdzLCB3 aGljaCBpcyB1bnNpZ25lZCBsb25nLiAgKi8KLSAgcmV0dXJuIG1lbWNtcCAoaGludHNfcHRy ICsgc2l6ZW9mIChsb25nKSwgYnVmZmVyICsgc2l6ZW9mIChsb25nKSwKLQkJIHNpemVvZiB3 bXNoZWxsLT53bS53bV9oaW50cyAtIHNpemVvZiAobG9uZykpOworICB2YWx1ZSA9IG1lbWNt cCAoaGludHNfcHRyICsgc2l6ZW9mIChsb25nKSwgYnVmZmVyICsgc2l6ZW9mIChsb25nKSwK KwkJICBzaXplb2Ygd21zaGVsbC0+d20ud21faGludHMgLSBzaXplb2YgKGxvbmcpKTsKKwor ICBpZiAodmFsdWUgIT0gMCkKKyAgICB7CisgICAgICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29f aXQsIGJ1aWxkX3N0cmluZyAoInVwZGF0ZV93bV9oaW50cyIpLAorCSAgICAgYnVpbGRfc3Ry aW5nICgiY2hhciB3aWR0aCIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfQ09MVU1OX1dJRFRIIChm KSksCisJICAgICBidWlsZF9zdHJpbmcgKCJ2c2Nyb2xsIiksIG1ha2VfZml4bnVtIChGUkFN RV9TQ1JPTExfQkFSX0FSRUFfV0lEVEggKGYpKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoImZy aW5nZXMiKSwgbWFrZV9maXhudW0gKEZSQU1FX1RPVEFMX0ZSSU5HRV9XSURUSCAoZikpLAor CSAgICAgYnVpbGRfc3RyaW5nICgiYm9yZGVycyIpLCBtYWtlX2ZpeG51bSAoMiAqIEZSQU1F X0lOVEVSTkFMX0JPUkRFUl9XSURUSCAoZikpLAorCSAgICAgYnVpbGRfc3RyaW5nICgiYmFz ZSB3aWR0aCIpLCBtYWtlX2ZpeG51bSAoYmFzZV93aWR0aCksCisJICAgICBidWlsZF9zdHJp bmcgKCJtaW4gd2lkdGgiKSwgbWFrZV9maXhudW0gKG1pbl93aWR0aCkpOworICAgICAgQ0FM TE4gKEZmdW5jYWxsLCBRZm9vX2l0LCBidWlsZF9zdHJpbmcgKCIgICAiKSwKKwkgICAgIGJ1 aWxkX3N0cmluZyAoImNoYXIgaGVpZ2h0IiksIG1ha2VfZml4bnVtIChGUkFNRV9MSU5FX0hF SUdIVCAoZikpLAorCSAgICAgYnVpbGRfc3RyaW5nICgibWVudWJhciIpLCBtYWtlX2ZpeG51 bSAoRlJBTUVfTUVOVUJBUl9IRUlHSFQgKGYpKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoImhz Y3JvbGwiKSwgbWFrZV9maXhudW0gKEZSQU1FX1NDUk9MTF9CQVJfQVJFQV9IRUlHSFQgKGYp KSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoImJvcmRlcnMiKSwgbWFrZV9maXhudW0gKDIgKiBG UkFNRV9JTlRFUk5BTF9CT1JERVJfV0lEVEggKGYpKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAo ImJhc2UgaGVpZ2h0IiksIG1ha2VfZml4bnVtIChiYXNlX2hlaWdodCksCisJICAgICBidWls ZF9zdHJpbmcgKCJtaW4gaGVpZ2h0IiksIG1ha2VfZml4bnVtIChtaW5faGVpZ2h0KSk7Cisg ICAgfQorCisgIHJldHVybiB2YWx1ZTsKIH0KIAogYm9vbApAQCAtMzM3LDcgKzI4Niw3IEBA IHVwZGF0ZV9mcm9tX3ZhcmlvdXNfZnJhbWVfc2xvdHMgKEVtYWNzRnJhbWUgZXcpCiAgIHN0 cnVjdCBmcmFtZSAqZiA9IGV3LT5lbWFjc19mcmFtZS5mcmFtZTsKICAgc3RydWN0IHhfb3V0 cHV0ICp4ID0gZi0+b3V0cHV0X2RhdGEueDsKIAotICBldy0+Y29yZS5oZWlnaHQgPSBGUkFN RV9QSVhFTF9IRUlHSFQgKGYpIC0geC0+bWVudWJhcl9oZWlnaHQ7CisgIGV3LT5jb3JlLmhl aWdodCA9IEZSQU1FX1BJWEVMX0hFSUdIVCAoZik7IC8vIC0geC0+bWVudWJhcl9oZWlnaHQ7 CiAgIGV3LT5jb3JlLndpZHRoID0gRlJBTUVfUElYRUxfV0lEVEggKGYpOwogICBldy0+Y29y ZS5iYWNrZ3JvdW5kX3BpeGVsID0gRlJBTUVfQkFDS0dST1VORF9QSVhFTCAoZik7CiAgIGV3 LT5lbWFjc19mcmFtZS5pbnRlcm5hbF9ib3JkZXJfd2lkdGggPSBmLT5pbnRlcm5hbF9ib3Jk ZXJfd2lkdGg7CkBAIC0zNDUsMTIgKzI5NCwxMSBAQCB1cGRhdGVfZnJvbV92YXJpb3VzX2Zy YW1lX3Nsb3RzIChFbWFjc0ZyYW1lIGV3KQogICBldy0+ZW1hY3NfZnJhbWUuY3Vyc29yX2Nv bG9yID0geC0+Y3Vyc29yX3BpeGVsOwogICBldy0+Y29yZS5ib3JkZXJfcGl4ZWwgPSB4LT5i b3JkZXJfcGl4ZWw7CiAKLSAgaWYgKENPTlNQIChmcmFtZV9zaXplX2hpc3RvcnkpKQotICAg IGZyYW1lX3NpemVfaGlzdG9yeV9leHRyYQotICAgICAgKGYsIGJ1aWxkX3N0cmluZyAoInVw ZGF0ZV9mcm9tX3ZhcmlvdXNfZnJhbWVfc2xvdHMiKSwKLSAgICAgICBGUkFNRV9QSVhFTF9X SURUSCAoZiksIEZSQU1FX1BJWEVMX0hFSUdIVCAoZiksCi0gICAgICAgZXctPmNvcmUud2lk dGgsIGV3LT5jb3JlLmhlaWdodCwKLSAgICAgICBmLT5uZXdfd2lkdGgsIGYtPm5ld19oZWln aHQpOworICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29faXQsCisJIGJ1aWxkX3N0cmluZyAoInVw ZGF0ZV9mcm9tX3ZhcmlvdXNfZnJhbWVfc2xvdHMiKSwKKwkgYnVpbGRfc3RyaW5nICgibmF0 aXZlIHBpeGVscyIpLAorCSAoRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURU SCAoZikpLAorCQkgbWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX0hFSUdIVCAoZikpKSkpOwog fQogCiBzdGF0aWMgdm9pZApAQCAtMzg0LDcgKzMzMiw2IEBAIEVtYWNzRnJhbWVSZWFsaXpl IChXaWRnZXQgd2lkZ2V0LCBYdFZhbHVlTWFzayAqbWFzaywKIAkJICAgWFNldFdpbmRvd0F0 dHJpYnV0ZXMgKmF0dHJzKQogewogICBFbWFjc0ZyYW1lIGV3ID0gKEVtYWNzRnJhbWUpIHdp ZGdldDsKLSAgc3RydWN0IGZyYW1lICpmID0gZXctPmVtYWNzX2ZyYW1lLmZyYW1lOwogCiAg IC8qIFRoaXMgdXNlZCB0byBjb250YWluIFN1YnN0cnVjdHVyZVJlZGlyZWN0TWFzaywgYnV0 IHRoaXMgdHVybnMgb3V0CiAgICAgIHRvIGJlIGEgcHJvYmxlbSB3aXRoIFhJTSBvbiBTb2xh cmlzLCBhbmQgZXZlbnRzIGZyb20gdGhhdCBtYXNrCkBAIC0zOTksMTAgKzM0Niw2IEBAIEVt YWNzRnJhbWVSZWFsaXplIChXaWRnZXQgd2lkZ2V0LCBYdFZhbHVlTWFzayAqbWFzaywKICAg ICAgbWFrZSBzdXJlIHdlIGdldCB0aGVtIGFsbC4gIFNlZW4gd2l0aCB4ZmN3bTQgZm9yIGV4 YW1wbGUuICAqLwogICBYdEFkZFJhd0V2ZW50SGFuZGxlciAod2lkZ2V0LCBTdHJ1Y3R1cmVO b3RpZnlNYXNrLCBGYWxzZSwgcmVzaXplX2NiLCBOVUxMKTsKIAotICBpZiAoQ09OU1AgKGZy YW1lX3NpemVfaGlzdG9yeSkpCi0gICAgZnJhbWVfc2l6ZV9oaXN0b3J5X3BsYWluCi0gICAg ICAoZiwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlYWxpemUiKSk7Ci0KICAgaWYgKGdl dF93bV9zaGVsbCAod2lkZ2V0KSkKICAgICB1cGRhdGVfd21faGludHMgKGdldF93bV9zaGVs bCAod2lkZ2V0KSwgZXcpOwogfQpAQCAtNDE5LDEyICszNjIsMTMgQEAgRW1hY3NGcmFtZVJl c2l6ZSAoV2lkZ2V0IHdpZGdldCkKICAgRW1hY3NGcmFtZSBldyA9IChFbWFjc0ZyYW1lKSB3 aWRnZXQ7CiAgIHN0cnVjdCBmcmFtZSAqZiA9IGV3LT5lbWFjc19mcmFtZS5mcmFtZTsKIAot ICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9yeSkpCi0gICAgZnJhbWVfc2l6ZV9oaXN0 b3J5X2V4dHJhCi0gICAgICAoZiwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlc2l6ZSIp LAotICAgICAgIEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgRlJBTUVfUElYRUxfSEVJR0hUIChm KSwKLSAgICAgICBldy0+Y29yZS53aWR0aCwgZXctPmNvcmUuaGVpZ2h0LAotICAgICAgIGYt Pm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7CisgIENBTExOIChGZnVuY2FsbCwgUWZvb19p dCwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlc2l6ZSIpLAorCSBidWlsZF9zdHJpbmcg KCJvbGQgbmF0aXZlIHBpeGVscyIpLAorCSBGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1BJ WEVMX1dJRFRIIChmKSksCisJCW1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQgKGYp KSksCisJIGJ1aWxkX3N0cmluZyAoIm5ldyBuYXRpdmUgcGl4ZWxzIiksCisJIEZjb25zICht YWtlX2ZpeG51bSAoZXctPmNvcmUud2lkdGgpLAorCQltYWtlX2ZpeG51bSAoZXctPmNvcmUu aGVpZ2h0KSkpOwogCiAgIGNoYW5nZV9mcmFtZV9zaXplIChmLCBldy0+Y29yZS53aWR0aCwg ZXctPmNvcmUuaGVpZ2h0LAogCQkgICAgIGZhbHNlLCB0cnVlLCBmYWxzZSk7CkBAIC00NzIs MTMgKzQxNiw2IEBAIEVtYWNzRnJhbWVTZXRDaGFyU2l6ZSAoV2lkZ2V0IHdpZGdldCwgaW50 IGNvbHVtbnMsIGludCByb3dzKQogICBFbWFjc0ZyYW1lIGV3ID0gKEVtYWNzRnJhbWUpIHdp ZGdldDsKICAgc3RydWN0IGZyYW1lICpmID0gZXctPmVtYWNzX2ZyYW1lLmZyYW1lOwogCi0g IGlmIChDT05TUCAoZnJhbWVfc2l6ZV9oaXN0b3J5KSkKLSAgICBmcmFtZV9zaXplX2hpc3Rv cnlfZXh0cmEKLSAgICAgIChmLCBidWlsZF9zdHJpbmcgKCJFbWFjc0ZyYW1lU2V0Q2hhclNp emUiKSwKLSAgICAgICBGUkFNRV9QSVhFTF9XSURUSCAoZiksIEZSQU1FX1BJWEVMX0hFSUdI VCAoZiksCi0gICAgICAgY29sdW1ucywgcm93cywKLSAgICAgICBmLT5uZXdfd2lkdGgsIGYt Pm5ld19oZWlnaHQpOwotCiAgIGlmICghZnJhbWVfaW5oaWJpdF9yZXNpemUgKGYsIDAsIFFm b250KQogICAgICAgJiYgIWZyYW1lX2luaGliaXRfcmVzaXplIChmLCAxLCBRZm9udCkpCiAg ICAgeF9zZXRfd2luZG93X3NpemUgKGYsIDAsIGNvbHVtbnMgKiBGUkFNRV9DT0xVTU5fV0lE VEggKGYpLApkaWZmIC0tZ2l0IGEvc3JjL3dpbmRvdy5jIGIvc3JjL3dpbmRvdy5jCmluZGV4 IGYxMTZiOWE5ZDcuLmMwOTBmMjk0NjEgMTAwNjQ0Ci0tLSBhL3NyYy93aW5kb3cuYworKysg Yi9zcmMvd2luZG93LmMKQEAgLTgzOTQsNiArODM5NCw3IEBAIHN5bXNfb2Zfd2luZG93ICh2 b2lkKQogICBERUZTWU0gKFFoZWFkZXJfbGluZV9mb3JtYXQsICJoZWFkZXItbGluZS1mb3Jt YXQiKTsKICAgREVGU1lNIChRdGFiX2xpbmVfZm9ybWF0LCAidGFiLWxpbmUtZm9ybWF0Iik7 CiAgIERFRlNZTSAoUW5vX290aGVyX3dpbmRvdywgIm5vLW90aGVyLXdpbmRvdyIpOworICBE RUZTWU0gKFFmb29faXQsICJmb28taXQiKTsKIAogICBERUZWQVJfTElTUCAoInRlbXAtYnVm ZmVyLXNob3ctZnVuY3Rpb24iLCBWdGVtcF9idWZmZXJfc2hvd19mdW5jdGlvbiwKIAkgICAg ICAgZG9jOiAvKiBOb24tbmlsIG1lYW5zIGNhbGwgYXMgZnVuY3Rpb24gdG8gZGlzcGxheSBh IGhlbHAgYnVmZmVyLgpkaWZmIC0tZ2l0IGEvc3JjL3h0ZXJtLmMgYi9zcmMveHRlcm0uYwpp bmRleCA3ZWFmNTlkNTRiLi5iMmU2ODlmZTg0IDEwMDY0NAotLS0gYS9zcmMveHRlcm0uYwor KysgYi9zcmMveHRlcm0uYwpAQCAtMjYxNjAsNiArMjYxNjAsOCBAQCB4X25ld19mb250IChz dHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGZvbnRfb2JqZWN0LCBpbnQgZm9udHNldCkK IHsKICAgc3RydWN0IGZvbnQgKmZvbnQgPSBYRk9OVF9PQkpFQ1QgKGZvbnRfb2JqZWN0KTsK ICAgaW50IHVuaXQsIGZvbnRfYXNjZW50LCBmb250X2Rlc2NlbnQ7CisgIGludCBvbGRfd2lk dGggPSBGUkFNRV9DT0xVTU5fV0lEVEggKGYpOworICBpbnQgb2xkX2hlaWdodCA9IEZSQU1F X0xJTkVfSEVJR0hUIChmKTsKIAogICBpZiAoZm9udHNldCA8IDApCiAgICAgZm9udHNldCA9 IGZvbnRzZXRfZnJvbV9mb250IChmb250X29iamVjdCk7CkBAIC0yNjE5Nyw5ICsyNjE5OSwy NyBAQCB4X25ld19mb250IChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IGZvbnRfb2Jq ZWN0LCBpbnQgZm9udHNldCkKICAgICAgYmVjYXVzZSBpdCdzIGRvbmUgaW4gRnhfc2hvd190 aXAsIGFuZCBpdCBsZWFkcyB0byBwcm9ibGVtcyBiZWNhdXNlCiAgICAgIHRoZSB0aXAgZnJh bWUgaGFzIG5vIHdpZGdldC4gICovCiAgIGlmIChGUkFNRV9YX1dJTkRPVyAoZikgIT0gMCAm JiAhRlJBTUVfVE9PTFRJUF9QIChmKSkKLSAgICBhZGp1c3RfZnJhbWVfc2l6ZQotICAgICAg KGYsIEZSQU1FX0NPTFMgKGYpICogRlJBTUVfQ09MVU1OX1dJRFRIIChmKSwKLSAgICAgICBG UkFNRV9MSU5FUyAoZikgKiBGUkFNRV9MSU5FX0hFSUdIVCAoZiksIDMsIGZhbHNlLCBRZm9u dCk7CisgICAgeworICAgICAgQ0FMTE4gKEZmdW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCJc bnhfbmV3X2ZvbnQiKSwKKwkgICAgIGludGVybiAoIm9sZCBjaGFyIHNpemUiKSwKKwkgICAg IEZjb25zIChtYWtlX2ZpeG51bSAob2xkX3dpZHRoKSwgbWFrZV9maXhudW0gKG9sZF9oZWln aHQpKSwKKwkgICAgIGludGVybiAoIm5ldyBjaGFyIHNpemUiKSwKKwkgICAgIEZjb25zICht YWtlX2ZpeG51bSAoRlJBTUVfQ09MVU1OX1dJRFRIIChmKSksCisJCSAgICBtYWtlX2ZpeG51 bSAoRlJBTUVfTElORV9IRUlHSFQgKGYpKSksCisJICAgICBpbnRlcm4gKCJ0ZXh0IGNoYXJz IiksCisJICAgICBGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX0NPTFMgKGYpKSwKKwkJICAg IG1ha2VfZml4bnVtIChGUkFNRV9MSU5FUyAoZikpKSwKKwkgICAgIGludGVybiAoIm9sZCB0 ZXh0IHBpeGVscyIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9URVhUX1dJ RFRIIChmKSksCisJCSAgICBtYWtlX2ZpeG51bSAoRlJBTUVfVEVYVF9IRUlHSFQgKGYpKSks CisJICAgICBpbnRlcm4gKCJuZXcgdGV4dCBwaXhlbHMiKSwKKwkgICAgIEZjb25zIChtYWtl X2ZpeG51bSAoRlJBTUVfQ09MUyAoZikgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpKSwKKwkJ ICAgIG1ha2VfZml4bnVtIChGUkFNRV9MSU5FUyAoZikgKiBGUkFNRV9MSU5FX0hFSUdIVCAo ZikpKSk7CisKKyAgICAgIGFkanVzdF9mcmFtZV9zaXplCisJKGYsIEZSQU1FX0NPTFMgKGYp ICogRlJBTUVfQ09MVU1OX1dJRFRIIChmKSwKKwkgRlJBTUVfTElORVMgKGYpICogRlJBTUVf TElORV9IRUlHSFQgKGYpLCAzLCBmYWxzZSwgUWZvbnQpOworICAgIH0KIAogI2lmZGVmIEhB VkVfWF9JMThOCiAgIGlmIChGUkFNRV9YSUMgKGYpCg== --------------Iq5Rxvn0SB81NbLb004D88MV--