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: Mon, 9 Jan 2023 19:00:27 +0100 Message-ID: <9568b7f6-9c6a-5b01-1e60-3f297c2fe96b@gmx.at> References: <86mt6wk45n.fsf@protected.rcdrun.com> <3f4b5c597227e1c31900@heytings.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ox4MZ0igiJnfg9ZmpXxLP3qg" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23765"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 60585@debbugs.gnu.org, Jean Louis To: Gregory Heytings Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 09 19:02:22 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 1pEwTW-0005yp-Cg for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 09 Jan 2023 19:02:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pEwTE-0001go-P6; Mon, 09 Jan 2023 13:02:04 -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 1pEwTD-0001fX-4n for bug-gnu-emacs@gnu.org; Mon, 09 Jan 2023 13:02:03 -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 1pEwTC-0000lL-SK for bug-gnu-emacs@gnu.org; Mon, 09 Jan 2023 13:02:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pEwTC-0004w1-LN for bug-gnu-emacs@gnu.org; Mon, 09 Jan 2023 13:02: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: Mon, 09 Jan 2023 18:02: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.167328727118883 (code B ref 60585); Mon, 09 Jan 2023 18:02:02 +0000 Original-Received: (at 60585) by debbugs.gnu.org; 9 Jan 2023 18:01:11 +0000 Original-Received: from localhost ([127.0.0.1]:38115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEwSL-0004uT-U5 for submit@debbugs.gnu.org; Mon, 09 Jan 2023 13:01:11 -0500 Original-Received: from mout.gmx.net ([212.227.15.18]:40251) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEwSH-0004to-Rv for 60585@debbugs.gnu.org; Mon, 09 Jan 2023 13:01:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1673287228; bh=KYSIaJE2qJ0yfdcZo0mpDQtNrhVAx0TzyteqftRXyr8=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References:In-Reply-To; b=h2pZ+vb0p3A2EfhEBHLW1bnTZr78lEMkFNcizkTyS5ABeMf6EzvRfz8gdhxutqVG/ 26SdwpJk57GnKQlOpFAmq3oe6iSuXC8+SxNjYTJnQVOehj91QvRA8+sQ44tYyejd3m 9qNUNPUOYznGeTWEsgu0qQFep6zZbSnNIBrNt4qzuVjSSRmOGRSmAy2dn1pfVz93Fj uP7HYBB3qJia73P9zZmYKXYUI4yxViQRhrc2CkmW8eHwQ0jveK1LKMu2Qw+5DtJfXg a9yUPEjkuHlZ9BB5s1sL3WCfjmt4rQWWBTRK4jswTz+7tUYmpqm5a8yqc4ONPDOG3g 2FTvSC3C1dDyA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.1.100] ([213.142.96.179]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MSc1L-1pLn8v2TOr-00Sw2Z; Mon, 09 Jan 2023 19:00:28 +0100 Content-Language: en-US In-Reply-To: X-Provags-ID: V03:K1:vOi4beWUYeADD/ebcymqRqHiulZI/GShqkThz2i1+063OAQ6GFy MDFS0MZn90zd8iCGOzfA0HMtKW6dVb2poejfFluS/kbYEPpe9TQIyjgZeoiXBBtR6Orll4E F9piR43vOtprVnaS6zJCaI4Z+U9ey4HFrem+rnV9JpM9vcpv0KN0z/S9GGUufUD8b6b3yyL /Cw+RZajSkLaxjDclI8Gw== UI-OutboundReport: notjunk:1;M01:P0:lCO4TEu6P94=;5Y4twQ2uAGqweqW0wQQJtkSN2Dm q+aeVmvc9YTQQwe6C/ACPb5OQ3pG8q+7HJUEQeY1aAA8dklkO4e+OT9MTX03rf8RGle7N+Hmo RbExpe/JBUiu1jxiNZkAYpgqOj0CbzFrVdyWm5RkjOXNG23+KvM3GBeFhQUPZUEdtviuYkUsu 6CiTSZLBjVCFQ3AYwoe/sbmhHVbLaQOr4fZfXdPSsTSpPGqzFWrUGWWltmXTpLNcRMhhDtZsT 62o5iR4LC0KqQOCnandiKmT5DZ6AOpxQiWm2csC1iZuLREoQdUEq74QnSA/jS1dGyDpNkAGFr +swM7Q4jmK6qHy99M/1m9h8fUxRwGJ+8zISsiCK2AZat9PalmNeVeNIMvFgDcoTEhLvavMwUV tObIr2jeotLObiwD64gdXf8RhZtj8o/h5pnqEED8EZklo+RcFDGaNkgL2P44SM0ucaO+eko1c rujuXUlezumIP2z2SMb4QgzLLUoiLVdtvNDyAXjWGqgV/gd06o3VkuKD67j+A4KDCvdnv+PTo KbjdryZzRvzTu5BOqCONNjwtItZimuaoyqmpZZpYfeVbZJMfFuVTgTW52gnbcF6paekplJ0jT q3SD5lnezMksRWuenYRU99yrQXYEroJ3/kAR+WhnRvJIx6ZMbSVHkUUU0Cz2m70Yf1vdKl2nE UrWuT8vdQS2GHGF1/4vxuAhM2FWXs3sDOYaEKCFNdE0sgTi29BfMC9eAzEWQ0JzRSnRc4vWS3 VAN+SSEdB8gnqOIIhpIylfcF6yYuy9CXMTV/s5bU4dVbZrhAczLSOqS9i2n9ZkbUxOohh9Pt 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:253038 Archived-At: This is a multi-part message in MIME format. --------------ox4MZ0igiJnfg9ZmpXxLP3qg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > But ultimately this is a dilemma for which I have no solution. There might be one way out. We could palm off the residues of the text by character size divisions on the base sizes (which are of no use to us anyway). Very preliminary patch attached. martin --------------ox4MZ0igiJnfg9ZmpXxLP3qg Content-Type: text/x-patch; charset=UTF-8; name="x_rest.diff" Content-Disposition: attachment; filename="x_rest.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 NmE0Li5jNmU0YzhlN2JmIDEwMDY0NAotLS0gYS9zcmMvZ3RrdXRpbC5jCisrKyBiL3NyYy9n dGt1dGlsLmMKQEAgLTExNDksNiArMTE0OSwxNCBAQCB4Z19mcmFtZV9yZXNpemVkIChzdHJ1 Y3QgZnJhbWUgKmYsIGludCB3aWR0aCwgaW50IGhlaWdodCkKIAkgICBmLT5uZXdfc2l6ZV9w ID8gZi0+bmV3X2hlaWdodCA6IC0xKTsKIAogICAgICAgRlJBTUVfUklGIChmKS0+Y2xlYXJf dW5kZXJfaW50ZXJuYWxfYm9yZGVyIChmKTsKKworICAgICAgQ0FMTE4gKEZmdW5jYWxsLCBR Zm9vX2l0LCBpbnRlcm4gKCJ4Z19mcmFtZV9yZXNpemVkIiksCisJICAgICBpbnRlcm4gKCJv bGQgbmF0aXZlIHBpeGVscyIpLAorCSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9Q SVhFTF9XSURUSCAoZikpLAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX0hFSUdI VCAoZikpKSwKKwkgICAgIGludGVybiAoIm5ldyBuYXRpdmUgcGl4ZWxzIiksCisJICAgICBG Y29ucyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpKTsKKwog ICAgICAgY2hhbmdlX2ZyYW1lX3NpemUgKGYsIHdpZHRoLCBoZWlnaHQsIGZhbHNlLCB0cnVl LCBmYWxzZSk7CiAgICAgICBTRVRfRlJBTUVfR0FSQkFHRUQgKGYpOwogICAgICAgY2FuY2Vs X21vdXNlX2ZhY2UgKGYpOwpAQCAtMTE3NCw2ICsxMTgyLDggQEAgeGdfZnJhbWVfc2V0X2No YXJfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgIGlu dCBvdXRlcl93aWR0aCA9IHdpZHRoICsgRlJBTUVfVE9PTEJBUl9XSURUSCAoZik7CiAgIGJv b2wgd2FzX3Zpc2libGUgPSBmYWxzZTsKICAgYm9vbCBoaWRlX2NoaWxkX2ZyYW1lOworICBp bnQgc2NhbGUgPSB4Z19nZXRfc2NhbGUgKGYpOworICBHZGtHZW9tZXRyeSBzaXplX2hpbnRz ID0gZi0+b3V0cHV0X2RhdGEueHAtPnNpemVfaGludHM7CiAKICNpZm5kZWYgSEFWRV9QR1RL CiAgIGd0a193aW5kb3dfZ2V0X3NpemUgKEdUS19XSU5ET1cgKEZSQU1FX0dUS19PVVRFUl9X SURHRVQgKGYpKSwKQEAgLTExOTYsMTAgKzEyMDYsMTEgQEAgeGdfZnJhbWVfc2V0X2NoYXJf c2l6ZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgIC8qIERv IHRoaXMgYmVmb3JlIHJlc2l6ZSwgYXMgd2UgZG9uJ3Qga25vdyB5ZXQgaWYgd2Ugd2lsbCBi ZSByZXNpemVkLiAgKi8KICAgRlJBTUVfUklGIChmKS0+Y2xlYXJfdW5kZXJfaW50ZXJuYWxf Ym9yZGVyIChmKTsKIAotICBvdXRlcl9oZWlnaHQgLz0geGdfZ2V0X3NjYWxlIChmKTsKLSAg b3V0ZXJfd2lkdGggLz0geGdfZ2V0X3NjYWxlIChmKTsKKyAgb3V0ZXJfaGVpZ2h0IC89IHNj YWxlOworICBvdXRlcl93aWR0aCAvPSBzY2FsZTsKIAotICB4Z193bV9zZXRfc2l6ZV9oaW50 IChmLCAwLCAwKTsKKyAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCwgRlJBTUVfUElY RUxfVE9fVEVYVF9XSURUSCAoZiwgd2lkdGgpLAorCQkgICAgICAgRlJBTUVfUElYRUxfVE9f VEVYVF9IRUlHSFQgKGYsIGhlaWdodCkpOwogCiAgIC8qIFJlc2l6ZSB0aGUgdG9wIGxldmVs IHdpZGdldCBzbyByb3dzIGFuZCBjb2x1bW5zIHJlbWFpbiBjb25zdGFudC4KIApAQCAtMTMx Nyw2ICsxMzI4LDMzIEBAIHhnX2ZyYW1lX3NldF9jaGFyX3NpemUgKHN0cnVjdCBmcmFtZSAq ZiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICBTRVRfRlJBTUVfR0FSQkFHRUQgKGYpOwog ICBjYW5jZWxfbW91c2VfZmFjZSAoZik7CiAKKyAgc2l6ZV9oaW50cyA9IGYtPm91dHB1dF9k YXRhLnhwLT5zaXplX2hpbnRzOworICBpZiAob3V0ZXJfd2lkdGggPiAwICYmIHNpemVfaGlu dHMuYmFzZV93aWR0aCA+IDAKKyAgICAgICYmIHNpemVfaGludHMud2lkdGhfaW5jID4gMCAm JiBvdXRlcl9oZWlnaHQgPiAwCisgICAgICAmJiBzaXplX2hpbnRzLmJhc2VfaGVpZ2h0ID4g MCAmJiBzaXplX2hpbnRzLmhlaWdodF9pbmMgPiAwKQorICAgIENBTExOIChGZnVuY2FsbCwg UWZvb19pdCwgaW50ZXJuICgieGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSIpLAorCSAgIGludGVy biAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFN RV9QSVhFTF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlH SFQgKGYpKSksCisJICAgaW50ZXJuICgibmV3IG5hdGl2ZSBwaXhlbHMiKSwKKwkgICBGY29u cyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhudW0gKGhlaWdodCkpLAorCSAgIGlu dGVybiAoIm91dGVyIHBpeGVscyIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAob3V0ZXJf d2lkdGgpLCBtYWtlX2ZpeG51bSAob3V0ZXJfaGVpZ2h0KSksCisJICAgaW50ZXJuICgib3V0 ZXIgcmVzdCIpLAorCSAgIEZjb25zIChtYWtlX2ZpeG51bSAoKG91dGVyX3dpZHRoIC0gc2l6 ZV9oaW50cy5iYXNlX3dpZHRoKQorCQkJICAgICAgICUgc2l6ZV9oaW50cy53aWR0aF9pbmMp LAorCQkgIG1ha2VfZml4bnVtICgob3V0ZXJfaGVpZ2h0IC0gc2l6ZV9oaW50cy5iYXNlX2hl aWdodCkKKwkJCSAgICAgICAlIHNpemVfaGludHMuaGVpZ2h0X2luYykpKTsKKyAgZWxzZQor ICAgIENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwgaW50ZXJuICgieGdfZnJhbWVfc2V0X2No YXJfc2l6ZSIpLAorCSAgIGludGVybiAoIm9sZCBuYXRpdmUgcGl4ZWxzIiksCisJICAgRmNv bnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURUSCAoZikpLAorCQkgIG1ha2VfZml4 bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQgKGYpKSksCisJICAgaW50ZXJuICgibmV3IG5hdGl2 ZSBwaXhlbHMiKSwKKwkgICBGY29ucyAobWFrZV9maXhudW0gKHdpZHRoKSwgbWFrZV9maXhu dW0gKGhlaWdodCkpLAorCSAgIGludGVybiAoIm91dGVyIHBpeGVscyIpLAorCSAgIEZjb25z IChtYWtlX2ZpeG51bSAob3V0ZXJfd2lkdGgpLCBtYWtlX2ZpeG51bSAob3V0ZXJfaGVpZ2h0 KSkpOworCiAgIC8qIFdlIGNhbiBub3QgY2FsbCBjaGFuZ2VfZnJhbWVfc2l6ZSBmb3IgYSBt YXBwZWQgZnJhbWUsCiAgICAgIHdlIGNhbiBub3Qgc2V0IHBpeGVsIHdpZHRoL2hlaWdodCBl aXRoZXIuICBUaGUgd2luZG93IG1hbmFnZXIgbWF5CiAgICAgIG92ZXJyaWRlIG91ciByZXNp emUgcmVxdWVzdCwgWE1vbmFkIGRvZXMgdGhpcyBhbGwgdGhlIHRpbWUuCkBAIC0xMzYwLDIx ICsxMzk4LDYgQEAgeGdfZnJhbWVfc2V0X2NoYXJfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBp bnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgfQogfQogCi0vKiBIYW5kbGUgaGVpZ2h0L3dp ZHRoIGNoYW5nZXMgKGkuZS4gYWRkL3JlbW92ZS9tb3ZlIG1lbnUvdG9vbGJhcikuCi0gICBU aGUgcG9saWN5IGlzIHRvIGtlZXAgdGhlIG51bWJlciBvZiBlZGl0YWJsZSBsaW5lcy4gICov Ci0KLSNpZiAwCi1zdGF0aWMgdm9pZAoteGdfaGVpZ2h0X29yX3dpZHRoX2NoYW5nZWQgKHN0 cnVjdCBmcmFtZSAqZikKLXsKLSAgZ3RrX3dpbmRvd19yZXNpemUgKEdUS19XSU5ET1cgKEZS QU1FX0dUS19PVVRFUl9XSURHRVQgKGYpKSwKLSAgICAgICAgICAgICAgICAgICAgIEZSQU1F X1RPVEFMX1BJWEVMX1dJRFRIIChmKSwKLSAgICAgICAgICAgICAgICAgICAgIEZSQU1FX1RP VEFMX1BJWEVMX0hFSUdIVCAoZikpOwotICBmLT5vdXRwdXRfZGF0YS54cC0+aGludF9mbGFn cyA9IDA7Ci0gIHhfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCk7Ci19Ci0jZW5kaWYKLQog I2lmbmRlZiBIQVZFX1BHVEsKIC8qIENvbnZlcnQgYW4gWCBXaW5kb3cgV1NFU0Mgb24gZGlz cGxheSBEUFkgdG8gaXRzIGNvcnJlc3BvbmRpbmcgR3RrV2lkZ2V0LgogICAgTXVzdCBiZSBk b25lIGxpa2UgdGhpcywgYmVjYXVzZSBHdGtXaWRnZXQ6cyBjYW4gaGF2ZSAiaGlkZGVuIgpA QCAtMTkxNyw3ICsxOTQwLDggQEAgeGdfZnJlZV9mcmFtZV93aWRnZXRzIChzdHJ1Y3QgZnJh bWUgKmYpCiAgICBmbGFnICh0aGlzIGlzIHVzZWZ1bCB3aGVuIEZMQUdTIGlzIDApLiAgKi8K IAogdm9pZAoteGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGlu dCBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uKQoreGdfd21fc2V0X3NpemVfaGludCAoc3Ry dWN0IGZyYW1lICpmLCBsb25nIGludCBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uLAorCQkg ICAgIGludCB0ZXh0X3dpZHRoLCBpbnQgdGV4dF9oZWlnaHQpCiB7CiAgIC8qIE11c3QgdXNl IEdUSyByb3V0aW5lcyBoZXJlLCBvdGhlcndpc2UgR1RLIHJlc2V0cyB0aGUgc2l6ZSBoaW50 cwogICAgICB0byBpdHMgb3duIGRlZmF1bHRzLiAgKi8KQEAgLTE5NjQsMjEgKzE5ODgsMzEg QEAgeGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGludCBmbGFn cywgYm9vbCB1c2VyX3Bvc2l0aW9uKQogICBoaW50X2ZsYWdzID0gZi0+b3V0cHV0X2RhdGEu eHAtPmhpbnRfZmxhZ3M7CiAKICAgaGludF9mbGFncyB8PSBHREtfSElOVF9SRVNJWkVfSU5D IHwgR0RLX0hJTlRfTUlOX1NJWkU7Ci0gIHNpemVfaGludHMud2lkdGhfaW5jID0gZnJhbWVf cmVzaXplX3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpOwotICBzaXpl X2hpbnRzLmhlaWdodF9pbmMgPSBmcmFtZV9yZXNpemVfcGl4ZWx3aXNlID8gMSA6IEZSQU1F X0xJTkVfSEVJR0hUIChmKTsKKyAgc2l6ZV9oaW50cy53aWR0aF9pbmMKKyAgICA9IGZyYW1l X3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogKEZSQU1FX0NPTFVNTl9XSURUSCAoZikgLyBzY2Fs ZSk7CisgIHNpemVfaGludHMuaGVpZ2h0X2luYworICAgID0gZnJhbWVfcmVzaXplX3BpeGVs d2lzZSA/IDEgOiAoRlJBTUVfTElORV9IRUlHSFQgKGYpIC8gc2NhbGUpOwogCiAgIGhpbnRf ZmxhZ3MgfD0gR0RLX0hJTlRfQkFTRV9TSVpFOwogICAvKiBVc2Ugb25lIHJvdy9jb2wgaGVy ZSBzbyBiYXNlX2hlaWdodC93aWR0aCBkb2VzIG5vdCBiZWNvbWUgemVyby4KICAgICAgR3Rr KyBhbmQvb3IgVW5pdHkgb24gVWJ1bnR1IDEyLjA0IGNhbid0IGhhbmRsZSBpdC4KICAgICAg T2J2aW91c2x5IHRoaXMgbWFrZXMgdGhlIHJvdy9jb2wgdmFsdWUgZGlzcGxheWVkIG9mZiBi eSAxLiAgKi8KLSAgYmFzZV93aWR0aCA9IEZSQU1FX1RFWFRfQ09MU19UT19QSVhFTF9XSURU SCAoZiwgMSkgKyBGUkFNRV9UT09MQkFSX1dJRFRIIChmKTsKLSAgYmFzZV9oZWlnaHQgPSBG UkFNRV9URVhUX0xJTkVTX1RPX1BJWEVMX0hFSUdIVCAoZiwgMSkKLSAgICArIEZSQU1FX01F TlVCQVJfSEVJR0hUIChmKSArIEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKTsKKyAgYmFzZV93 aWR0aCA9ICgoRlJBTUVfVEVYVF9DT0xTX1RPX1BJWEVMX1dJRFRIIChmLCAxKQorCQkgKyBG UkFNRV9UT09MQkFSX1dJRFRIIChmKSkgLyBzY2FsZSk7CisgIGJhc2VfaGVpZ2h0ID0gKChG UkFNRV9URVhUX0xJTkVTX1RPX1BJWEVMX0hFSUdIVCAoZiwgMSkKKwkJICArIEZSQU1FX01F TlVCQVJfSEVJR0hUIChmKSArIEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKSkKKwkJIC8gc2Nh bGUpOwogCi0gIHNpemVfaGludHMuYmFzZV93aWR0aCA9IGJhc2Vfd2lkdGg7Ci0gIHNpemVf aGludHMuYmFzZV9oZWlnaHQgPSBiYXNlX2hlaWdodDsKLSAgc2l6ZV9oaW50cy5taW5fd2lk dGggID0gYmFzZV93aWR0aDsKLSAgc2l6ZV9oaW50cy5taW5faGVpZ2h0ID0gYmFzZV9oZWln aHQ7CisgIGlmICh0ZXh0X3dpZHRoIDwgMCkKKyAgICB0ZXh0X3dpZHRoID0gRlJBTUVfVEVY VF9XSURUSCAoZik7CisKKyAgaWYgKHRleHRfaGVpZ2h0IDwgMCkKKyAgICB0ZXh0X2hlaWdo dCA9IEZSQU1FX1RFWFRfSEVJR0hUIChmKTsKKworICBzaXplX2hpbnRzLmJhc2Vfd2lkdGgg PSBiYXNlX3dpZHRoICsgKHRleHRfd2lkdGggJSBzaXplX2hpbnRzLndpZHRoX2luYyk7Cisg IHNpemVfaGludHMuYmFzZV9oZWlnaHQgPSBiYXNlX2hlaWdodCArICh0ZXh0X2hlaWdodCAl IHNpemVfaGludHMuaGVpZ2h0X2luYyk7CisgIHNpemVfaGludHMubWluX3dpZHRoID0gc2l6 ZV9oaW50cy5iYXNlX3dpZHRoOworICBzaXplX2hpbnRzLm1pbl9oZWlnaHQgPSBzaXplX2hp bnRzLmJhc2VfaGVpZ2h0OwogCiAgIC8qIFRoZXNlIGN1cnJlbnRseSBoYXZlIGEgb25lIHRv IG9uZSBtYXBwaW5nIHdpdGggdGhlIFggdmFsdWVzLCBidXQgSQogICAgICBkb24ndCB0aGlu ayB3ZSBzaG91bGQgcmVseSBvbiB0aGF0LiAgKi8KQEAgLTIwMTgsMTYgKzIwNTIsMjkgQEAg eGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25nIGludCBmbGFncywg Ym9vbCB1c2VyX3Bvc2l0aW9uKQogICAgICAgaGludF9mbGFncyB8PSBHREtfSElOVF9VU0VS X1BPUzsKICAgICB9CiAKLSAgc2l6ZV9oaW50cy5iYXNlX3dpZHRoIC89IHNjYWxlOwotICBz aXplX2hpbnRzLmJhc2VfaGVpZ2h0IC89IHNjYWxlOwotICBzaXplX2hpbnRzLndpZHRoX2lu YyAvPSBzY2FsZTsKLSAgc2l6ZV9oaW50cy5oZWlnaHRfaW5jIC89IHNjYWxlOwotCiAgIGlm IChoaW50X2ZsYWdzICE9IGYtPm91dHB1dF9kYXRhLnhwLT5oaW50X2ZsYWdzCiAgICAgICB8 fCBtZW1jbXAgKCZzaXplX2hpbnRzLAogCQkgJmYtPm91dHB1dF9kYXRhLnhwLT5zaXplX2hp bnRzLAogCQkgc2l6ZW9mIChzaXplX2hpbnRzKSkgIT0gMCkKICAgICB7CisgICAgICBDQUxM TiAoRmZ1bmNhbGwsIFFmb29faXQsIGludGVybiAoInhnX3dtX3NldF9zaXplX2hpbnQiKSwK KwkgICAgIGludGVybiAoInNjYWxlIiksIG1ha2VfZml4bnVtIChzY2FsZSksCisJICAgICBp bnRlcm4gKCJjaGFyIHdpZHRoIiksIG1ha2VfZml4bnVtIChGUkFNRV9DT0xVTU5fV0lEVEgg KGYpKSwKKwkgICAgIGludGVybiAoInRvb2xiYXIiKSwgbWFrZV9maXhudW0gKEZSQU1FX1RP T0xCQVJfV0lEVEggKGYpKSwKKwkgICAgIGludGVybiAoInZzY3JvbGwiKSwgbWFrZV9maXhu dW0gKEZSQU1FX1NDUk9MTF9CQVJfQVJFQV9XSURUSCAoZikpLAorCSAgICAgaW50ZXJuICgi ZnJpbmdlcyIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfVE9UQUxfRlJJTkdFX1dJRFRIIChmKSks CisJICAgICBpbnRlcm4gKCJib3JkZXJzIiksIG1ha2VfZml4bnVtICgyICogRlJBTUVfSU5U RVJOQUxfQk9SREVSX1dJRFRIIChmKSksCisJICAgICBpbnRlcm4gKCJiYXNlIHdpZHRoIiks IG1ha2VfZml4bnVtIChzaXplX2hpbnRzLmJhc2Vfd2lkdGgpLAorCSAgICAgaW50ZXJuICgi d2lkdGggaW5jIiksIG1ha2VfZml4bnVtIChzaXplX2hpbnRzLndpZHRoX2luYykpOworICAg ICAgQ0FMTE4gKEZmdW5jYWxsLCBRZm9vX2l0LCBpbnRlcm4gKCIgICAiKSwKKwkgICAgIGlu dGVybiAoImNoYXIgaGVpZ2h0IiksIG1ha2VfZml4bnVtIChGUkFNRV9MSU5FX0hFSUdIVCAo ZikpLAorCSAgICAgaW50ZXJuICgibWVudWJhciIpLCBtYWtlX2ZpeG51bSAoRlJBTUVfTUVO VUJBUl9IRUlHSFQgKGYpKSwKKwkgICAgIGludGVybiAoInRvb2xiYXIiKSwgbWFrZV9maXhu dW0gKEZSQU1FX1RPT0xCQVJfSEVJR0hUIChmKSksCisJICAgICBpbnRlcm4gKCJoc2Nyb2xs IiksIG1ha2VfZml4bnVtIChGUkFNRV9TQ1JPTExfQkFSX0FSRUFfSEVJR0hUIChmKSksCisJ ICAgICBpbnRlcm4gKCJib3JkZXJzIiksIG1ha2VfZml4bnVtICgyICogRlJBTUVfSU5URVJO QUxfQk9SREVSX1dJRFRIIChmKSksCisJICAgICBpbnRlcm4gKCJiYXNlIGhlaWdodCIpLCBt YWtlX2ZpeG51bSAoc2l6ZV9oaW50cy5iYXNlX2hlaWdodCksCisJICAgICBpbnRlcm4gKCJo ZWlnaHQgaW5jIiksIG1ha2VfZml4bnVtIChzaXplX2hpbnRzLmhlaWdodF9pbmMpKTsKKwog ICAgICAgYmxvY2tfaW5wdXQgKCk7CiAgICAgICBndGtfd2luZG93X3NldF9nZW9tZXRyeV9o aW50cyAoR1RLX1dJTkRPVyAoRlJBTUVfR1RLX09VVEVSX1dJREdFVCAoZikpLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICZzaXplX2hpbnRzLCBoaW50 X2ZsYWdzKTsKZGlmZiAtLWdpdCBhL3NyYy9ndGt1dGlsLmggYi9zcmMvZ3RrdXRpbC5oCmlu ZGV4IDE5MGQ2NjI4MzEuLjIxMjQ1ZGRlNWYgMTAwNjQ0Ci0tLSBhL3NyYy9ndGt1dGlsLmgK KysrIGIvc3JjL2d0a3V0aWwuaApAQCAtMTUzLDcgKzE1Myw3IEBAICNkZWZpbmUgWEdfSVRF TV9EQVRBICJlbWFjc19tZW51aXRlbSIKIGV4dGVybiBpbnQgeGdfZ2V0X2RlZmF1bHRfc2Ny b2xsYmFyX3dpZHRoIChzdHJ1Y3QgZnJhbWUgKmYpOwogZXh0ZXJuIGludCB4Z19nZXRfZGVm YXVsdF9zY3JvbGxiYXJfaGVpZ2h0IChzdHJ1Y3QgZnJhbWUgKmYpOwogCi1leHRlcm4gdm9p ZCB4Z193bV9zZXRfc2l6ZV9oaW50IChzdHJ1Y3QgZnJhbWUgKiwgbG9uZyBpbnQsIGJvb2wp OworZXh0ZXJuIHZvaWQgeGdfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICosIGxv bmcgaW50LCBib29sLCBpbnQsIGludCk7CiAKIGV4dGVybiB2b2lkIHVwZGF0ZV9mcmFtZV90 b29sX2JhciAoc3RydWN0IGZyYW1lICpmKTsKIGV4dGVybiB2b2lkIGZyZWVfZnJhbWVfdG9v bF9iYXIgKHN0cnVjdCBmcmFtZSAqZik7CmRpZmYgLS1naXQgYS9zcmMvcGd0a2Zucy5jIGIv c3JjL3BndGtmbnMuYwppbmRleCBhMzIwNjdhZjgxLi5hMzkxNTQxZTEwIDEwMDY0NAotLS0g YS9zcmMvcGd0a2Zucy5jCisrKyBiL3NyYy9wZ3RrZm5zLmMKQEAgLTE2NjIsNyArMTY2Miw4 IEBAICNkZWZpbmUgSU5TVEFMTF9DVVJTT1IoRklFTEQsIE5BTUUpIFwKICAgICAgYmFkbHkg d2Ugd2FudCB0aGVtLiAgVGhpcyBzaG91bGQgYmUgZG9uZSBhZnRlciB3ZSBoYXZlIHRoZSBt ZW51CiAgICAgIGJhciBzbyB0aGF0IGl0cyBzaXplIGNhbiBiZSB0YWtlbiBpbnRvIGFjY291 bnQuICAqLwogICBibG9ja19pbnB1dCAoKTsKLSAgeGdfd21fc2V0X3NpemVfaGludCAoZiwg d2luZG93X3Byb21wdGluZywgZmFsc2UpOworICB4Z193bV9zZXRfc2l6ZV9oaW50IChmLCB3 aW5kb3dfcHJvbXB0aW5nLCBmYWxzZSwKKwkJICAgICAgIEZSQU1FX1RFWFRfV0lEVEggKGYp LCBGUkFNRV9URVhUX0hFSUdIVCAoZikpOwogICB1bmJsb2NrX2lucHV0ICgpOwogCiAgIGFk anVzdF9mcmFtZV9zaXplIChmLCBGUkFNRV9URVhUX1dJRFRIIChmKSwgRlJBTUVfVEVYVF9I RUlHSFQgKGYpLApkaWZmIC0tZ2l0IGEvc3JjL3BndGt0ZXJtLmMgYi9zcmMvcGd0a3Rlcm0u YwppbmRleCAxM2Y2YzZjM2M0Li44YjA3N2JlMTc4IDEwMDY0NAotLS0gYS9zcmMvcGd0a3Rl cm0uYworKysgYi9zcmMvcGd0a3Rlcm0uYwpAQCAtNjU4LDcgKzY1OCw3IEBAIHBndGtfc2V0 X29mZnNldCAoc3RydWN0IGZyYW1lICpmLCBpbnQgeG9mZiwgaW50IHlvZmYsIGludCBjaGFu Z2VfZ3Jhdml0eSkKICAgcGd0a19jYWxjX2Fic29sdXRlX3Bvc2l0aW9uIChmKTsKIAogICBi bG9ja19pbnB1dCAoKTsKLSAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFsc2UpOwor ICB4Z193bV9zZXRfc2l6ZV9oaW50IChmLCAwLCBmYWxzZSwgLTEsIC0xKTsKIAogICBpZiAo Y2hhbmdlX2dyYXZpdHkgIT0gMCkKICAgICB7CkBAIC03MDUsNyArNzA1LDggQEAgcGd0a19z ZXRfd2luZG93X3NpemUgKHN0cnVjdCBmcmFtZSAqZiwgYm9vbCBjaGFuZ2VfZ3Jhdml0eSwK IAogICBmLT5vdXRwdXRfZGF0YS5wZ3RrLT5wcmVmZXJyZWRfd2lkdGggPSBwaXhlbHdpZHRo OwogICBmLT5vdXRwdXRfZGF0YS5wZ3RrLT5wcmVmZXJyZWRfaGVpZ2h0ID0gcGl4ZWxoZWln aHQ7Ci0gIHhnX3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIDApOworICB4Z193bV9zZXRfc2l6 ZV9oaW50IChmLCAwLCAwLCBGUkFNRV9QSVhFTF9UT19URVhUX1dJRFRIIChwaXhlbHdpZHRo KSwKKwkJICAgICAgIEZSQU1FX1BJWEVMX1RPX1RFWFRfSEVJR0hUIChwaXhlbGhlaWdodCkp OwogICB4Z19mcmFtZV9zZXRfY2hhcl9zaXplIChmLCBwaXhlbHdpZHRoLCBwaXhlbGhlaWdo dCk7CiAgIGd0a193aWRnZXRfcXVldWVfcmVzaXplIChGUkFNRV9XSURHRVQgKGYpKTsKIApA QCAtOTkzLDcgKzk5NCwxMCBAQCBwZ3RrX3NldF9wYXJlbnRfZnJhbWUgKHN0cnVjdCBmcmFt ZSAqZiwgTGlzcF9PYmplY3QgbmV3X3ZhbHVlLAogCQkJICAgICAgZml4ZWQsIFRSVUUsIFRS VUUsIDApOwogCSAgZi0+b3V0cHV0X2RhdGEucGd0ay0+cHJlZmVycmVkX3dpZHRoID0gYWxs b2Mud2lkdGg7CiAJICBmLT5vdXRwdXRfZGF0YS5wZ3RrLT5wcmVmZXJyZWRfaGVpZ2h0ID0g YWxsb2MuaGVpZ2h0OwotCSAgeGdfd21fc2V0X3NpemVfaGludCAoZiwgMCwgMCk7CisJICB4 Z193bV9zZXRfc2l6ZV9oaW50IChmLCAwLCAwLCBGUkFNRV9QSVhFTF9UT19URVhUX1dJRFRI IChhbGxvYy53aWR0aCksCisJCQkgICAgICAgRlJBTUVfUElYRUxfVE9fVEVYVF9IRUlHSFQg KGFsbG9jLmhlaWdodCkpOworCSAgLyogV2h5IGNvbnZlcnQgaGVyZT8gIHhnX2ZyYW1lX3Nl dF9jaGFyX3NpemUgd2FudHMgbmF0aXZlCisJICAgICBwaXhlbHMuICAqLwogCSAgeGdfZnJh bWVfc2V0X2NoYXJfc2l6ZSAoZiwgRlJBTUVfUElYRUxfVE9fVEVYVF9XSURUSCAoZiwgYWxs b2Mud2lkdGgpLAogCQkJCSAgRlJBTUVfUElYRUxfVE9fVEVYVF9IRUlHSFQgKGYsIGFsbG9j LmhlaWdodCkpOwogCSAgZ3RrX3dpZGdldF9xdWV1ZV9yZXNpemUgKEZSQU1FX1dJREdFVCAo ZikpOwpkaWZmIC0tZ2l0IGEvc3JjL3dpZGdldC5jIGIvc3JjL3dpZGdldC5jCmluZGV4IGFh YWIzM2I2ZDguLjE0MDk2ZmZiYmIgMTAwNjQ0Ci0tLSBhL3NyYy93aWRnZXQuYworKysgYi9z cmMvd2lkZ2V0LmMKQEAgLTE1NCwxNSArMTU0LDYgQEAgZW1hY3NGcmFtZUNsYXNzICh2b2lk KQogICByZXR1cm4gKFdpZGdldENsYXNzKSAmZW1hY3NGcmFtZUNsYXNzUmVjOwogfQogCi1z dGF0aWMgdm9pZAotZ2V0X2RlZmF1bHRfY2hhcl9waXhlbF9zaXplIChFbWFjc0ZyYW1lIGV3 LCBpbnQgKnBpeGVsX3dpZHRoLCBpbnQgKnBpeGVsX2hlaWdodCkKLXsKLSAgc3RydWN0IGZy YW1lICpmID0gZXctPmVtYWNzX2ZyYW1lLmZyYW1lOwotCi0gICpwaXhlbF93aWR0aCA9IEZS QU1FX0NPTFVNTl9XSURUSCAoZik7Ci0gICpwaXhlbF9oZWlnaHQgPSBGUkFNRV9MSU5FX0hF SUdIVCAoZik7Ci19Ci0KIHN0YXRpYyB2b2lkCiBwaXhlbF90b19jaGFyX3NpemUgKEVtYWNz RnJhbWUgZXcsIERpbWVuc2lvbiBwaXhlbF93aWR0aCwKIAkJICAgIERpbWVuc2lvbiBwaXhl bF9oZWlnaHQsIGludCAqY2hhcl93aWR0aCwgaW50ICpjaGFyX2hlaWdodCkKQEAgLTIwNywx MDQgKzE5OCw0NiBAQCBnZXRfd21fc2hlbGwgKFdpZGdldCB3KQogICByZXR1cm4gKFdNU2hl bGxXaWRnZXQpIHdtc2hlbGw7CiB9CiAKLSNpZiAwIC8qIEN1cnJlbnRseSBub3QgdXNlZC4g ICovCi0KLXN0YXRpYyB2b2lkCi1tYXJrX3NoZWxsX3NpemVfdXNlcl9zcGVjaWZpZWQgKFdp ZGdldCB3bXNoZWxsKQotewotICBpZiAoISBYdElzV01TaGVsbCAod21zaGVsbCkpIGVtYWNz X2Fib3J0ICgpOwotICAvKiBUaGlzIGlzIGtpbmQgb2Ygc2xlYXp5LCBidXQgSSBjYW4ndCBz ZWUgaG93IGVsc2UgdG8gdGVsbCBpdCB0byBtYWtlIGl0Ci0gICAgIG1hcmsgdGhlIFdNX1NJ WkVfSElOVFMgc2l6ZSBhcyB1c2VyIHNwZWNpZmllZCB3aGVuIGFwcHJvcHJpYXRlLiAqLwot ICAoKFdNU2hlbGxXaWRnZXQpIHdtc2hlbGwpLT53bS5zaXplX2hpbnRzLmZsYWdzIHw9IFVT U2l6ZTsKLX0KLQotI2VuZGlmCi0KLQogc3RhdGljIHZvaWQKIHNldF9mcmFtZV9zaXplIChF bWFjc0ZyYW1lIGV3KQogewotICAvKiBUaGUgd2lkZ2V0IGhpZXJhcmNoeSBpcwotCi0JYXJn dlswXQkJCWVtYWNzU2hlbGwJcGFuZQlGcmFtZS1OQU1FCi0JQXBwbGljYXRpb25TaGVsbAlF bWFjc1NoZWxsCVBhbmVkCUVtYWNzRnJhbWUKLQotICAgICBXZSBhY2NlcHQgZ2VvbWV0cnkg c3BlY3MgaW4gdGhpcyBvcmRlcjoKLQotCSpGcmFtZS1OQU1FLmdlb21ldHJ5Ci0JKkVtYWNz RnJhbWUuZ2VvbWV0cnkKLQlFbWFjcy5nZW9tZXRyeQotCi0gICAgIE90aGVyIHBvc3NpYmls aXRpZXMgZm9yIHdpZGdldCBoaWVyYXJjaGllcyBtaWdodCBiZQotCi0JYXJndlswXQkJCWZy YW1lCQlwYW5lCUZyYW1lLU5BTUUKLQlBcHBsaWNhdGlvblNoZWxsCUVtYWNzU2hlbGwJUGFu ZWQJRW1hY3NGcmFtZQotICAgICBvcgotCWFyZ3ZbMF0JCQlGcmFtZS1OQU1FCXBhbmUJRnJh bWUtTkFNRQotCUFwcGxpY2F0aW9uU2hlbGwJRW1hY3NTaGVsbAlQYW5lZAlFbWFjc0ZyYW1l Ci0gICAgIG9yCi0JYXJndlswXQkJCUZyYW1lLU5BTUUJcGFuZQllbWFjc1RleHRQYW5lCi0J QXBwbGljYXRpb25TaGVsbAlFbWFjc0ZyYW1lCVBhbmVkCUVtYWNzVGV4dFBhbmUKLQotICAg ICBXaXRoIHRoZSBjdXJyZW50IHNldHVwLCB0aGUgdGV4dC1kaXNwbGF5LWFyZWEgaXMgdGhl IHBhcnQgd2hpY2ggaXMKLSAgICAgYW4gZW1hY3MgImZyYW1lIiwgc2luY2UgdGhhdCdzIHRo ZSBvbmx5IHBhcnQgbWFuYWdlZCBieSBlbWFjcyBwcm9wZXIKLSAgICAgKHRoZSBtZW51YmFy IGFuZCB0aGUgcGFyZW50IG9mIHRoZSBtZW51YmFyIGFuZCBhbGwgdGhhdCBzb3J0IG9mIHRo aW5nCi0gICAgIGFyZSBtYW5hZ2VkIGJ5IGx3bGliLikKLQotICAgICBUaGUgRW1hY3NTaGVs bCB3aWRnZXQgaXMgc2ltcGx5IGEgcmVwbGFjZW1lbnQgZm9yIHRoZSBTaGVsbCB3aWRnZXQK LSAgICAgd2hpY2ggaXMgYWJsZSB0byBkZWFsIHdpdGggdXNpbmcgYW4gZXh0ZXJuYWxseS1z dXBwbGllZCB3aW5kb3cgaW5zdGVhZAotICAgICBvZiBhbHdheXMgY3JlYXRpbmcgaXRzIG93 bi4gIEl0IGlzIG5vdCBhY3R1YWxseSBlbWFjcyBzcGVjaWZpYywgYW5kCi0gICAgIHNob3Vs ZCBwb3NzaWJseSBoYXZlIGNsYXNzICJTaGVsbCIgaW5zdGVhZCBvZiAiRW1hY3NTaGVsbCIg dG8gc2ltcGxpZnkKLSAgICAgdGhlIHJlc291cmNlcy4KLQotICAgKi8KLQogICBzdHJ1Y3Qg ZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJhbWUuZnJhbWU7CiAKICAgZXctPmNvcmUud2lkdGgg PSBGUkFNRV9QSVhFTF9XSURUSCAoZik7CiAgIGV3LT5jb3JlLmhlaWdodCA9IEZSQU1FX1BJ WEVMX0hFSUdIVCAoZik7CiAKLSAgaWYgKENPTlNQIChmcmFtZV9zaXplX2hpc3RvcnkpKQot ICAgIGZyYW1lX3NpemVfaGlzdG9yeV9wbGFpbgotICAgICAgKGYsIGJ1aWxkX3N0cmluZyAo InNldF9mcmFtZV9zaXplIikpOworICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29faXQsIGJ1aWxk X3N0cmluZyAoInNldF9mcmFtZV9zaXplIiksCisJIGJ1aWxkX3N0cmluZyAoIm5hdGl2ZSBw aXhlbHMiKSwKKwkgRmNvbnMgKG1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9XSURUSCAoZikp LAorCQltYWtlX2ZpeG51bSAoRlJBTUVfUElYRUxfSEVJR0hUIChmKSkpKTsKIH0KIAogc3Rh dGljIGJvb2wKLXVwZGF0ZV93bV9oaW50cyAoV01TaGVsbFdpZGdldCB3bXNoZWxsLCBFbWFj c0ZyYW1lIGV3KQordXBkYXRlX3dtX2hpbnRzIChXTVNoZWxsV2lkZ2V0IHdtc2hlbGwsIEVt YWNzRnJhbWUgZXcsIGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKLSAgaW50IGN3OwotICBp bnQgY2g7Ci0gIERpbWVuc2lvbiByb3VuZGVkX3dpZHRoOwotICBEaW1lbnNpb24gcm91bmRl ZF9oZWlnaHQ7Ci0gIGludCBjaGFyX3dpZHRoOwotICBpbnQgY2hhcl9oZWlnaHQ7Ci0gIGlu dCBiYXNlX3dpZHRoOwotICBpbnQgYmFzZV9oZWlnaHQ7CisgIHN0cnVjdCBmcmFtZSAqZiA9 IGV3LT5lbWFjc19mcmFtZS5mcmFtZTsKKyAgaW50IGNoYXJfd2lkdGggPSBmcmFtZV9yZXNp emVfcGl4ZWx3aXNlID8gMSA6IEZSQU1FX0NPTFVNTl9XSURUSCAoZik7CisgIGludCBjaGFy X2hlaWdodCA9IGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogRlJBTUVfTElORV9IRUlH SFQgKGYpOworICBpbnQgYmFzZV93aWR0aAorICAgID0gKEZSQU1FX1RFWFRfQ09MU19UT19Q SVhFTF9XSURUSCAoZiwgMSkKKyAgICAgICArICgoKHdpZHRoIDwgMCkgPyBGUkFNRV9URVhU X1dJRFRIIChmKSA6IHdpZHRoKSAlIGNoYXJfd2lkdGgpKTsKKyAgaW50IGJhc2VfaGVpZ2h0 CisgICAgPSAoRlJBTUVfVEVYVF9MSU5FU19UT19QSVhFTF9IRUlHSFQgKGYsIDEpCisgICAg ICAgKyBGUkFNRV9NRU5VQkFSX0hFSUdIVCAoZikKKyAgICAgICArICgoKGhlaWdodCA8IDAp ID8gRlJBTUVfVEVYVF9IRUlHSFQgKGYpIDogaGVpZ2h0KSAlIGNoYXJfaGVpZ2h0KSk7Cisg IGludCBtaW5fd2lkdGggPSBiYXNlX3dpZHRoOworICBpbnQgbWluX2hlaWdodCA9IGJhc2Vf aGVpZ2h0OwogICBjaGFyIGJ1ZmZlcltzaXplb2Ygd21zaGVsbC0+d20uc2l6ZV9oaW50c107 CiAgIGNoYXIgKmhpbnRzX3B0cjsKLQotICAvKiBDb3B5IHRoZSBvbGQgc2l6ZSBoaW50cyB0 byB0aGUgYnVmZmVyLiAgKi8KLSAgbWVtY3B5IChidWZmZXIsICZ3bXNoZWxsLT53bS5zaXpl X2hpbnRzLAotCSAgc2l6ZW9mIHdtc2hlbGwtPndtLnNpemVfaGludHMpOwotCi0gIHBpeGVs X3RvX2NoYXJfc2l6ZSAoZXcsIGV3LT5jb3JlLndpZHRoLCBldy0+Y29yZS5oZWlnaHQsCi0J CSAgICAgICZjaGFyX3dpZHRoLCAmY2hhcl9oZWlnaHQpOwotICBjaGFyX3RvX3BpeGVsX3Np emUgKGV3LCBjaGFyX3dpZHRoLCBjaGFyX2hlaWdodCwKLQkJICAgICAgJnJvdW5kZWRfd2lk dGgsICZyb3VuZGVkX2hlaWdodCk7Ci0gIGdldF9kZWZhdWx0X2NoYXJfcGl4ZWxfc2l6ZSAo ZXcsICZjdywgJmNoKTsKLQotICBiYXNlX3dpZHRoID0gKHdtc2hlbGwtPmNvcmUud2lkdGgg LSBldy0+Y29yZS53aWR0aAotCQkrIChyb3VuZGVkX3dpZHRoIC0gKGNoYXJfd2lkdGggKiBj dykpKTsKLSAgYmFzZV9oZWlnaHQgPSAod21zaGVsbC0+Y29yZS5oZWlnaHQgLSBldy0+Y29y ZS5oZWlnaHQKLQkJICsgKHJvdW5kZWRfaGVpZ2h0IC0gKGNoYXJfaGVpZ2h0ICogY2gpKSk7 CisgIGludCB2YWx1ZTsKIAogICBYdFZhU2V0VmFsdWVzICgoV2lkZ2V0KSB3bXNoZWxsLAog CQkgWHROYmFzZVdpZHRoLCAoWHRBcmdWYWwpIGJhc2Vfd2lkdGgsCiAJCSBYdE5iYXNlSGVp Z2h0LCAoWHRBcmdWYWwpIGJhc2VfaGVpZ2h0LAotCQkgWHROd2lkdGhJbmMsIChYdEFyZ1Zh bCkgKGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogY3cpLAotCQkgWHROaGVpZ2h0SW5j LCAoWHRBcmdWYWwpIChmcmFtZV9yZXNpemVfcGl4ZWx3aXNlID8gMSA6IGNoKSwKLQkJIFh0 Tm1pbldpZHRoLCAoWHRBcmdWYWwpIGJhc2Vfd2lkdGgsCi0JCSBYdE5taW5IZWlnaHQsIChY dEFyZ1ZhbCkgYmFzZV9oZWlnaHQsCisJCSBYdE53aWR0aEluYywgKFh0QXJnVmFsKSBjaGFy X3dpZHRoLAorCQkgWHROaGVpZ2h0SW5jLCAoWHRBcmdWYWwpIGNoYXJfaGVpZ2h0LAorCQkg WHRObWluV2lkdGgsIChYdEFyZ1ZhbCkgbWluX3dpZHRoLAorCQkgWHRObWluSGVpZ2h0LCAo WHRBcmdWYWwpIG1pbl9oZWlnaHQsCiAJCSBOVUxMKTsKIAogICAvKiBSZXR1cm4gaWYgc2l6 ZSBoaW50cyByZWFsbHkgY2hhbmdlZC4gIElmIHRoZXkgZGlkIG5vdCwgdGhlbiBYdApAQCAt MzEzLDE0ICsyNDYsMzUgQEAgdXBkYXRlX3dtX2hpbnRzIChXTVNoZWxsV2lkZ2V0IHdtc2hl bGwsIEVtYWNzRnJhbWUgZXcpCiAgIGhpbnRzX3B0ciA9IChjaGFyICopICZ3bXNoZWxsLT53 bS5zaXplX2hpbnRzOwogCiAgIC8qIFNraXAgZmxhZ3MsIHdoaWNoIGlzIHVuc2lnbmVkIGxv bmcuICAqLwotICByZXR1cm4gbWVtY21wIChoaW50c19wdHIgKyBzaXplb2YgKGxvbmcpLCBi dWZmZXIgKyBzaXplb2YgKGxvbmcpLAotCQkgc2l6ZW9mIHdtc2hlbGwtPndtLndtX2hpbnRz IC0gc2l6ZW9mIChsb25nKSk7CisgIHZhbHVlID0gbWVtY21wIChoaW50c19wdHIgKyBzaXpl b2YgKGxvbmcpLCBidWZmZXIgKyBzaXplb2YgKGxvbmcpLAorCQkgIHNpemVvZiB3bXNoZWxs LT53bS53bV9oaW50cyAtIHNpemVvZiAobG9uZykpOworCisgIGlmICh2YWx1ZSAhPSAwKQor ICAgIHsKKyAgICAgIENBTExOIChGZnVuY2FsbCwgUWZvb19pdCwgYnVpbGRfc3RyaW5nICgi dXBkYXRlX3dtX2hpbnRzIiksCisJICAgICBidWlsZF9zdHJpbmcgKCJjaGFyIHdpZHRoIiks IG1ha2VfZml4bnVtIChGUkFNRV9DT0xVTU5fV0lEVEggKGYpKSwKKwkgICAgIGJ1aWxkX3N0 cmluZyAoInZzY3JvbGwiKSwgbWFrZV9maXhudW0gKEZSQU1FX1NDUk9MTF9CQVJfQVJFQV9X SURUSCAoZikpLAorCSAgICAgYnVpbGRfc3RyaW5nICgiZnJpbmdlcyIpLCBtYWtlX2ZpeG51 bSAoRlJBTUVfVE9UQUxfRlJJTkdFX1dJRFRIIChmKSksCisJICAgICBidWlsZF9zdHJpbmcg KCJib3JkZXJzIiksIG1ha2VfZml4bnVtICgyICogRlJBTUVfSU5URVJOQUxfQk9SREVSX1dJ RFRIIChmKSksCisJICAgICBidWlsZF9zdHJpbmcgKCJiYXNlIHdpZHRoIiksIG1ha2VfZml4 bnVtIChiYXNlX3dpZHRoKSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoIm1pbiB3aWR0aCIpLCBt YWtlX2ZpeG51bSAobWluX3dpZHRoKSk7CisgICAgICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29f aXQsIGJ1aWxkX3N0cmluZyAoIiAgICIpLAorCSAgICAgYnVpbGRfc3RyaW5nICgiY2hhciBo ZWlnaHQiKSwgbWFrZV9maXhudW0gKEZSQU1FX0xJTkVfSEVJR0hUIChmKSksCisJICAgICBi dWlsZF9zdHJpbmcgKCJtZW51YmFyIiksIG1ha2VfZml4bnVtIChGUkFNRV9NRU5VQkFSX0hF SUdIVCAoZikpLAorCSAgICAgYnVpbGRfc3RyaW5nICgiaHNjcm9sbCIpLCBtYWtlX2ZpeG51 bSAoRlJBTUVfU0NST0xMX0JBUl9BUkVBX0hFSUdIVCAoZikpLAorCSAgICAgYnVpbGRfc3Ry aW5nICgiYm9yZGVycyIpLCBtYWtlX2ZpeG51bSAoMiAqIEZSQU1FX0lOVEVSTkFMX0JPUkRF Ul9XSURUSCAoZikpLAorCSAgICAgYnVpbGRfc3RyaW5nICgiYmFzZSBoZWlnaHQiKSwgbWFr ZV9maXhudW0gKGJhc2VfaGVpZ2h0KSwKKwkgICAgIGJ1aWxkX3N0cmluZyAoIm1pbiBoZWln aHQiKSwgbWFrZV9maXhudW0gKG1pbl9oZWlnaHQpKTsKKyAgICB9CisKKyAgcmV0dXJuIHZh bHVlOwogfQogCiBib29sCi13aWRnZXRfdXBkYXRlX3dtX3NpemVfaGludHMgKFdpZGdldCB3 aWRnZXQsIFdpZGdldCBmcmFtZSkKK3dpZGdldF91cGRhdGVfd21fc2l6ZV9oaW50cyAoV2lk Z2V0IHdpZGdldCwgV2lkZ2V0IGZyYW1lLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7Ci0g IHJldHVybiB1cGRhdGVfd21faGludHMgKChXTVNoZWxsV2lkZ2V0KSB3aWRnZXQsIChFbWFj c0ZyYW1lKSBmcmFtZSk7CisgIHJldHVybiB1cGRhdGVfd21faGludHMgKChXTVNoZWxsV2lk Z2V0KSB3aWRnZXQsIChFbWFjc0ZyYW1lKSBmcmFtZSwKKwkJCSAgd2lkdGgsIGhlaWdodCk7 CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0zMzcsNyArMjkxLDcgQEAgdXBkYXRlX2Zyb21fdmFy aW91c19mcmFtZV9zbG90cyAoRW1hY3NGcmFtZSBldykKICAgc3RydWN0IGZyYW1lICpmID0g ZXctPmVtYWNzX2ZyYW1lLmZyYW1lOwogICBzdHJ1Y3QgeF9vdXRwdXQgKnggPSBmLT5vdXRw dXRfZGF0YS54OwogCi0gIGV3LT5jb3JlLmhlaWdodCA9IEZSQU1FX1BJWEVMX0hFSUdIVCAo ZikgLSB4LT5tZW51YmFyX2hlaWdodDsKKyAgZXctPmNvcmUuaGVpZ2h0ID0gRlJBTUVfUElY RUxfSEVJR0hUIChmKTsgLy8gLSB4LT5tZW51YmFyX2hlaWdodDsKICAgZXctPmNvcmUud2lk dGggPSBGUkFNRV9QSVhFTF9XSURUSCAoZik7CiAgIGV3LT5jb3JlLmJhY2tncm91bmRfcGl4 ZWwgPSBGUkFNRV9CQUNLR1JPVU5EX1BJWEVMIChmKTsKICAgZXctPmVtYWNzX2ZyYW1lLmlu dGVybmFsX2JvcmRlcl93aWR0aCA9IGYtPmludGVybmFsX2JvcmRlcl93aWR0aDsKQEAgLTM0 NSwxMiArMjk5LDExIEBAIHVwZGF0ZV9mcm9tX3ZhcmlvdXNfZnJhbWVfc2xvdHMgKEVtYWNz RnJhbWUgZXcpCiAgIGV3LT5lbWFjc19mcmFtZS5jdXJzb3JfY29sb3IgPSB4LT5jdXJzb3Jf cGl4ZWw7CiAgIGV3LT5jb3JlLmJvcmRlcl9waXhlbCA9IHgtPmJvcmRlcl9waXhlbDsKIAot ICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9yeSkpCi0gICAgZnJhbWVfc2l6ZV9oaXN0 b3J5X2V4dHJhCi0gICAgICAoZiwgYnVpbGRfc3RyaW5nICgidXBkYXRlX2Zyb21fdmFyaW91 c19mcmFtZV9zbG90cyIpLAotICAgICAgIEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgRlJBTUVf UElYRUxfSEVJR0hUIChmKSwKLSAgICAgICBldy0+Y29yZS53aWR0aCwgZXctPmNvcmUuaGVp Z2h0LAotICAgICAgIGYtPm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7CisgIENBTExOIChG ZnVuY2FsbCwgUWZvb19pdCwKKwkgYnVpbGRfc3RyaW5nICgidXBkYXRlX2Zyb21fdmFyaW91 c19mcmFtZV9zbG90cyIpLAorCSBidWlsZF9zdHJpbmcgKCJuYXRpdmUgcGl4ZWxzIiksCisJ IChGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1BJWEVMX1dJRFRIIChmKSksCisJCSBtYWtl X2ZpeG51bSAoRlJBTUVfUElYRUxfSEVJR0hUIChmKSkpKSk7CiB9CiAKIHN0YXRpYyB2b2lk CkBAIC0zODQsNyArMzM3LDYgQEAgRW1hY3NGcmFtZVJlYWxpemUgKFdpZGdldCB3aWRnZXQs IFh0VmFsdWVNYXNrICptYXNrLAogCQkgICBYU2V0V2luZG93QXR0cmlidXRlcyAqYXR0cnMp CiB7CiAgIEVtYWNzRnJhbWUgZXcgPSAoRW1hY3NGcmFtZSkgd2lkZ2V0OwotICBzdHJ1Y3Qg ZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJhbWUuZnJhbWU7CiAKICAgLyogVGhpcyB1c2VkIHRv IGNvbnRhaW4gU3Vic3RydWN0dXJlUmVkaXJlY3RNYXNrLCBidXQgdGhpcyB0dXJucyBvdXQK ICAgICAgdG8gYmUgYSBwcm9ibGVtIHdpdGggWElNIG9uIFNvbGFyaXMsIGFuZCBldmVudHMg ZnJvbSB0aGF0IG1hc2sKQEAgLTM5OSwxMiArMzUxLDggQEAgRW1hY3NGcmFtZVJlYWxpemUg KFdpZGdldCB3aWRnZXQsIFh0VmFsdWVNYXNrICptYXNrLAogICAgICBtYWtlIHN1cmUgd2Ug Z2V0IHRoZW0gYWxsLiAgU2VlbiB3aXRoIHhmY3dtNCBmb3IgZXhhbXBsZS4gICovCiAgIFh0 QWRkUmF3RXZlbnRIYW5kbGVyICh3aWRnZXQsIFN0cnVjdHVyZU5vdGlmeU1hc2ssIEZhbHNl LCByZXNpemVfY2IsIE5VTEwpOwogCi0gIGlmIChDT05TUCAoZnJhbWVfc2l6ZV9oaXN0b3J5 KSkKLSAgICBmcmFtZV9zaXplX2hpc3RvcnlfcGxhaW4KLSAgICAgIChmLCBidWlsZF9zdHJp bmcgKCJFbWFjc0ZyYW1lUmVhbGl6ZSIpKTsKLQogICBpZiAoZ2V0X3dtX3NoZWxsICh3aWRn ZXQpKQotICAgIHVwZGF0ZV93bV9oaW50cyAoZ2V0X3dtX3NoZWxsICh3aWRnZXQpLCBldyk7 CisgICAgdXBkYXRlX3dtX2hpbnRzIChnZXRfd21fc2hlbGwgKHdpZGdldCksIGV3LCAtMSwg LTEpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtNDE5LDE4ICszNjcsMjEgQEAgRW1hY3NGcmFt ZVJlc2l6ZSAoV2lkZ2V0IHdpZGdldCkKICAgRW1hY3NGcmFtZSBldyA9IChFbWFjc0ZyYW1l KSB3aWRnZXQ7CiAgIHN0cnVjdCBmcmFtZSAqZiA9IGV3LT5lbWFjc19mcmFtZS5mcmFtZTsK IAotICBpZiAoQ09OU1AgKGZyYW1lX3NpemVfaGlzdG9yeSkpCi0gICAgZnJhbWVfc2l6ZV9o aXN0b3J5X2V4dHJhCi0gICAgICAoZiwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlc2l6 ZSIpLAotICAgICAgIEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgRlJBTUVfUElYRUxfSEVJR0hU IChmKSwKLSAgICAgICBldy0+Y29yZS53aWR0aCwgZXctPmNvcmUuaGVpZ2h0LAotICAgICAg IGYtPm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7CisgIENBTExOIChGZnVuY2FsbCwgUWZv b19pdCwgYnVpbGRfc3RyaW5nICgiRW1hY3NGcmFtZVJlc2l6ZSIpLAorCSBidWlsZF9zdHJp bmcgKCJvbGQgbmF0aXZlIHBpeGVscyIpLAorCSBGY29ucyAobWFrZV9maXhudW0gKEZSQU1F X1BJWEVMX1dJRFRIIChmKSksCisJCW1ha2VfZml4bnVtIChGUkFNRV9QSVhFTF9IRUlHSFQg KGYpKSksCisJIGJ1aWxkX3N0cmluZyAoIm5ldyBuYXRpdmUgcGl4ZWxzIiksCisJIEZjb25z IChtYWtlX2ZpeG51bSAoZXctPmNvcmUud2lkdGgpLAorCQltYWtlX2ZpeG51bSAoZXctPmNv cmUuaGVpZ2h0KSkpOwogCiAgIGNoYW5nZV9mcmFtZV9zaXplIChmLCBldy0+Y29yZS53aWR0 aCwgZXctPmNvcmUuaGVpZ2h0LAogCQkgICAgIGZhbHNlLCB0cnVlLCBmYWxzZSk7CiAKICAg aWYgKGdldF93bV9zaGVsbCAod2lkZ2V0KSkKLSAgICB1cGRhdGVfd21faGludHMgKGdldF93 bV9zaGVsbCAod2lkZ2V0KSwgZXcpOworICAgIHVwZGF0ZV93bV9oaW50cyAoZ2V0X3dtX3No ZWxsICh3aWRnZXQpLCBldywKKwkJICAgICBGUkFNRV9QSVhFTF9UT19URVhUX1dJRFRIIChm LCBldy0+Y29yZS53aWR0aCksCisJCSAgICAgRlJBTUVfUElYRUxfVE9fVEVYVF9IRUlHSFQg KGYsIGV3LT5jb3JlLmhlaWdodCkpOwogICB1cGRhdGVfdmFyaW91c19mcmFtZV9zbG90cyAo ZXcpOwogCiAgIGNhbmNlbF9tb3VzZV9mYWNlIChmKTsKQEAgLTQ3MiwxMyArNDIzLDYgQEAg RW1hY3NGcmFtZVNldENoYXJTaXplIChXaWRnZXQgd2lkZ2V0LCBpbnQgY29sdW1ucywgaW50 IHJvd3MpCiAgIEVtYWNzRnJhbWUgZXcgPSAoRW1hY3NGcmFtZSkgd2lkZ2V0OwogICBzdHJ1 Y3QgZnJhbWUgKmYgPSBldy0+ZW1hY3NfZnJhbWUuZnJhbWU7CiAKLSAgaWYgKENPTlNQIChm cmFtZV9zaXplX2hpc3RvcnkpKQotICAgIGZyYW1lX3NpemVfaGlzdG9yeV9leHRyYQotICAg ICAgKGYsIGJ1aWxkX3N0cmluZyAoIkVtYWNzRnJhbWVTZXRDaGFyU2l6ZSIpLAotICAgICAg IEZSQU1FX1BJWEVMX1dJRFRIIChmKSwgRlJBTUVfUElYRUxfSEVJR0hUIChmKSwKLSAgICAg ICBjb2x1bW5zLCByb3dzLAotICAgICAgIGYtPm5ld193aWR0aCwgZi0+bmV3X2hlaWdodCk7 Ci0KICAgaWYgKCFmcmFtZV9pbmhpYml0X3Jlc2l6ZSAoZiwgMCwgUWZvbnQpCiAgICAgICAm JiAhZnJhbWVfaW5oaWJpdF9yZXNpemUgKGYsIDEsIFFmb250KSkKICAgICB4X3NldF93aW5k b3dfc2l6ZSAoZiwgMCwgY29sdW1ucyAqIEZSQU1FX0NPTFVNTl9XSURUSCAoZiksCmRpZmYg LS1naXQgYS9zcmMvd2lkZ2V0LmggYi9zcmMvd2lkZ2V0LmgKaW5kZXggY2Y4M2NiMTA3OC4u MDNiYzgwOWM0MSAxMDA2NDQKLS0tIGEvc3JjL3dpZGdldC5oCisrKyBiL3NyYy93aWRnZXQu aApAQCAtOTcsNiArOTcsNiBAQCAjZGVmaW5lIFh0Q0luaXRpYWxHZW9tZXRyeSAiSW5pdGlh bEdlb21ldHJ5IgogLyogU3BlY2lhbCBlbnRyeSBwb2ludHMgKi8KIHZvaWQgRW1hY3NGcmFt ZVNldENoYXJTaXplIChXaWRnZXQsIGludCwgaW50KTsKIHZvaWQgd2lkZ2V0X3N0b3JlX2lu dGVybmFsX2JvcmRlciAoV2lkZ2V0IHdpZGdldCk7Ci1ib29sIHdpZGdldF91cGRhdGVfd21f c2l6ZV9oaW50cyAoV2lkZ2V0IHdpZGdldCwgV2lkZ2V0IGZyYW1lKTsKK2Jvb2wgd2lkZ2V0 X3VwZGF0ZV93bV9zaXplX2hpbnRzIChXaWRnZXQgd2lkZ2V0LCBXaWRnZXQgZnJhbWUsIGlu dCB3aWR0aCwgaW50IGhlaWdodCk7CiAKICNlbmRpZiAvKiBfRW1hY3NGcmFtZV9oICovCmRp ZmYgLS1naXQgYS9zcmMvd2luZG93LmMgYi9zcmMvd2luZG93LmMKaW5kZXggZjExNmI5YTlk Ny4uYzA5MGYyOTQ2MSAxMDA2NDQKLS0tIGEvc3JjL3dpbmRvdy5jCisrKyBiL3NyYy93aW5k b3cuYwpAQCAtODM5NCw2ICs4Mzk0LDcgQEAgc3ltc19vZl93aW5kb3cgKHZvaWQpCiAgIERF RlNZTSAoUWhlYWRlcl9saW5lX2Zvcm1hdCwgImhlYWRlci1saW5lLWZvcm1hdCIpOwogICBE RUZTWU0gKFF0YWJfbGluZV9mb3JtYXQsICJ0YWItbGluZS1mb3JtYXQiKTsKICAgREVGU1lN IChRbm9fb3RoZXJfd2luZG93LCAibm8tb3RoZXItd2luZG93Iik7CisgIERFRlNZTSAoUWZv b19pdCwgImZvby1pdCIpOwogCiAgIERFRlZBUl9MSVNQICgidGVtcC1idWZmZXItc2hvdy1m dW5jdGlvbiIsIFZ0ZW1wX2J1ZmZlcl9zaG93X2Z1bmN0aW9uLAogCSAgICAgICBkb2M6IC8q IE5vbi1uaWwgbWVhbnMgY2FsbCBhcyBmdW5jdGlvbiB0byBkaXNwbGF5IGEgaGVscCBidWZm ZXIuCmRpZmYgLS1naXQgYS9zcmMveGZucy5jIGIvc3JjL3hmbnMuYwppbmRleCAzNmI1MWEz MDExLi4yNWUxYWYyNzlkIDEwMDY0NAotLS0gYS9zcmMveGZucy5jCisrKyBiL3NyYy94Zm5z LmMKQEAgLTQ1NzUsNyArNDU3NSw3IEBAIERFRlVOICgieC13bS1zZXQtc2l6ZS1oaW50Iiwg Rnhfd21fc2V0X3NpemVfaGludCwgU3hfd21fc2V0X3NpemVfaGludCwKICAgc3RydWN0IGZy YW1lICpmID0gZGVjb2RlX3dpbmRvd19zeXN0ZW1fZnJhbWUgKGZyYW1lKTsKIAogICBibG9j a19pbnB1dCAoKTsKLSAgeF93bV9zZXRfc2l6ZV9oaW50IChmLCAwLCBmYWxzZSk7CisgIHhf d21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFsc2UsIC0xLCAtMSk7CiAgIHVuYmxvY2tfaW5w dXQgKCk7CiAgIHJldHVybiBRbmlsOwogfQpAQCAtNTA5Nyw3ICs1MDk3LDggQEAgREVGVU4g KCJ4LWNyZWF0ZS1mcmFtZSIsIEZ4X2NyZWF0ZV9mcmFtZSwgU3hfY3JlYXRlX2ZyYW1lLAog ICAgICBiYWRseSB3ZSB3YW50IHRoZW0uICBUaGlzIHNob3VsZCBiZSBkb25lIGFmdGVyIHdl IGhhdmUgdGhlIG1lbnUKICAgICAgYmFyIHNvIHRoYXQgaXRzIHNpemUgY2FuIGJlIHRha2Vu IGludG8gYWNjb3VudC4gICovCiAgIGJsb2NrX2lucHV0ICgpOwotICB4X3dtX3NldF9zaXpl X2hpbnQgKGYsIHdpbmRvd19wcm9tcHRpbmcsIGZhbHNlKTsKKyAgeF93bV9zZXRfc2l6ZV9o aW50IChmLCB3aW5kb3dfcHJvbXB0aW5nLCBmYWxzZSwKKwkJICAgICAgRlJBTUVfVEVYVF9X SURUSCAoZiksIEZSQU1FX1RFWFRfSEVJR0hUIChmKSk7CiAgIHVuYmxvY2tfaW5wdXQgKCk7 CiAKICAgYWRqdXN0X2ZyYW1lX3NpemUgKGYsIEZSQU1FX1RFWFRfV0lEVEggKGYpLCBGUkFN RV9URVhUX0hFSUdIVCAoZiksCmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVy bS5jCmluZGV4IDdlYWY1OWQ1NGIuLmIxZDY1Y2U1OWQgMTAwNjQ0Ci0tLSBhL3NyYy94dGVy bS5jCisrKyBiL3NyYy94dGVybS5jCkBAIC0yNjE2MCw2ICsyNjE2MCw4IEBAIHhfbmV3X2Zv bnQgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgZm9udF9vYmplY3QsIGludCBmb250 c2V0KQogewogICBzdHJ1Y3QgZm9udCAqZm9udCA9IFhGT05UX09CSkVDVCAoZm9udF9vYmpl Y3QpOwogICBpbnQgdW5pdCwgZm9udF9hc2NlbnQsIGZvbnRfZGVzY2VudDsKKyAgaW50IG9s ZF93aWR0aCA9IEZSQU1FX0NPTFVNTl9XSURUSCAoZik7CisgIGludCBvbGRfaGVpZ2h0ID0g RlJBTUVfTElORV9IRUlHSFQgKGYpOwogCiAgIGlmIChmb250c2V0IDwgMCkKICAgICBmb250 c2V0ID0gZm9udHNldF9mcm9tX2ZvbnQgKGZvbnRfb2JqZWN0KTsKQEAgLTI2MTk3LDkgKzI2 MTk5LDI3IEBAIHhfbmV3X2ZvbnQgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgZm9u dF9vYmplY3QsIGludCBmb250c2V0KQogICAgICBiZWNhdXNlIGl0J3MgZG9uZSBpbiBGeF9z aG93X3RpcCwgYW5kIGl0IGxlYWRzIHRvIHByb2JsZW1zIGJlY2F1c2UKICAgICAgdGhlIHRp cCBmcmFtZSBoYXMgbm8gd2lkZ2V0LiAgKi8KICAgaWYgKEZSQU1FX1hfV0lORE9XIChmKSAh PSAwICYmICFGUkFNRV9UT09MVElQX1AgKGYpKQotICAgIGFkanVzdF9mcmFtZV9zaXplCi0g ICAgICAoZiwgRlJBTUVfQ09MUyAoZikgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpLAotICAg ICAgIEZSQU1FX0xJTkVTIChmKSAqIEZSQU1FX0xJTkVfSEVJR0hUIChmKSwgMywgZmFsc2Us IFFmb250KTsKKyAgICB7CisgICAgICBDQUxMTiAoRmZ1bmNhbGwsIFFmb29faXQsIGludGVy biAoIlxueF9uZXdfZm9udCIpLAorCSAgICAgaW50ZXJuICgib2xkIGNoYXIgc2l6ZSIpLAor CSAgICAgRmNvbnMgKG1ha2VfZml4bnVtIChvbGRfd2lkdGgpLCBtYWtlX2ZpeG51bSAob2xk X2hlaWdodCkpLAorCSAgICAgaW50ZXJuICgibmV3IGNoYXIgc2l6ZSIpLAorCSAgICAgRmNv bnMgKG1ha2VfZml4bnVtIChGUkFNRV9DT0xVTU5fV0lEVEggKGYpKSwKKwkJICAgIG1ha2Vf Zml4bnVtIChGUkFNRV9MSU5FX0hFSUdIVCAoZikpKSwKKwkgICAgIGludGVybiAoInRleHQg Y2hhcnMiKSwKKwkgICAgIEZjb25zIChtYWtlX2ZpeG51bSAoRlJBTUVfQ09MUyAoZikpLAor CQkgICAgbWFrZV9maXhudW0gKEZSQU1FX0xJTkVTIChmKSkpLAorCSAgICAgaW50ZXJuICgi b2xkIHRleHQgcGl4ZWxzIiksCisJICAgICBGY29ucyAobWFrZV9maXhudW0gKEZSQU1FX1RF WFRfV0lEVEggKGYpKSwKKwkJICAgIG1ha2VfZml4bnVtIChGUkFNRV9URVhUX0hFSUdIVCAo ZikpKSwKKwkgICAgIGludGVybiAoIm5ldyB0ZXh0IHBpeGVscyIpLAorCSAgICAgRmNvbnMg KG1ha2VfZml4bnVtIChGUkFNRV9DT0xTIChmKSAqIEZSQU1FX0NPTFVNTl9XSURUSCAoZikp LAorCQkgICAgbWFrZV9maXhudW0gKEZSQU1FX0xJTkVTIChmKSAqIEZSQU1FX0xJTkVfSEVJ R0hUIChmKSkpKTsKKworICAgICAgYWRqdXN0X2ZyYW1lX3NpemUKKwkoZiwgRlJBTUVfQ09M UyAoZikgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpLAorCSBGUkFNRV9MSU5FUyAoZikgKiBG UkFNRV9MSU5FX0hFSUdIVCAoZiksIDMsIGZhbHNlLCBRZm9udCk7CisgICAgfQogCiAjaWZk ZWYgSEFWRV9YX0kxOE4KICAgaWYgKEZSQU1FX1hJQyAoZikKQEAgLTI2NTg5LDcgKzI2NjA5 LDcgQEAgeF9zZXRfb2Zmc2V0IChzdHJ1Y3QgZnJhbWUgKmYsIGludCB4b2ZmLCBpbnQgeW9m ZiwgaW50IGNoYW5nZV9ncmF2aXR5KQogICB4X2NhbGNfYWJzb2x1dGVfcG9zaXRpb24gKGYp OwogCiAgIGJsb2NrX2lucHV0ICgpOwotICB4X3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIGZh bHNlKTsKKyAgeF93bV9zZXRfc2l6ZV9oaW50IChmLCAwLCBmYWxzZSwgLTEsIC0xKTsKIAog I2lmZGVmIFVTRV9HVEsKICAgaWYgKHhfZ3RrX3VzZV93aW5kb3dfbW92ZSkKQEAgLTI3Mjc5 LDcgKzI3Mjk5LDcgQEAgeF9jaGVja19mdWxsc2NyZWVuIChzdHJ1Y3QgZnJhbWUgKmYpCiAJ ICBlbWFjc19hYm9ydCAoKTsKICAgICAgICAgfQogCi0gICAgICB4X3dtX3NldF9zaXplX2hp bnQgKGYsIDAsIGZhbHNlKTsKKyAgICAgIHhfd21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFs c2UsIC0xLCAtMSk7CiAKICAgICAgIFhSZXNpemVXaW5kb3cgKEZSQU1FX1hfRElTUExBWSAo ZiksIEZSQU1FX09VVEVSX1dJTkRPVyAoZiksCiAJCSAgICAgd2lkdGgsIGhlaWdodCk7CkBA IC0yNzQ1Myw3ICsyNzQ3Myw4IEBAIHhfc2V0X3dpbmRvd19zaXplXzEgKHN0cnVjdCBmcmFt ZSAqZiwgYm9vbCBjaGFuZ2VfZ3Jhdml0eSwKIHsKICAgaWYgKGNoYW5nZV9ncmF2aXR5KQog ICAgIGYtPndpbl9ncmF2aXR5ID0gTm9ydGhXZXN0R3Jhdml0eTsKLSAgeF93bV9zZXRfc2l6 ZV9oaW50IChmLCAwLCBmYWxzZSk7CisgIHhfd21fc2V0X3NpemVfaGludCAoZiwgMCwgZmFs c2UsIEZSQU1FX1BJWEVMX1RPX1RFWFRfV0lEVEggKGYsIHdpZHRoKSwKKwkJICAgICAgRlJB TUVfUElYRUxfVE9fVEVYVF9IRUlHSFQgKGYsIGhlaWdodCkpOwogCiAgIFhSZXNpemVXaW5k b3cgKEZSQU1FX1hfRElTUExBWSAoZiksIEZSQU1FX09VVEVSX1dJTkRPVyAoZiksCiAJCSB3 aWR0aCwgaGVpZ2h0ICsgRlJBTUVfTUVOVUJBUl9IRUlHSFQgKGYpKTsKQEAgLTI4MjQzLDcg KzI4MjY0LDcgQEAgeF9tYWtlX2ZyYW1lX2ludmlzaWJsZSAoc3RydWN0IGZyYW1lICpmKQog ICAgICBwcm9ncmFtLXNwZWNpZmllZCwgc28gdGhhdCB3aGVuIHRoZSB3aW5kb3cgaXMgbWFw cGVkIGFnYWluLCBpdCB3aWxsIGJlCiAgICAgIHBsYWNlZCBhdCB0aGUgc2FtZSBsb2NhdGlv biwgd2l0aG91dCBmb3JjaW5nIHRoZSB1c2VyIHRvIHBvc2l0aW9uIGl0CiAgICAgIGJ5IGhh bmQgYWdhaW4gKHRoZXkgaGF2ZSBhbHJlYWR5IGRvbmUgdGhhdCBvbmNlIGZvciB0aGlzIHdp bmRvdy4pICAqLwotICB4X3dtX3NldF9zaXplX2hpbnQgKGYsIDAsIHRydWUpOworICB4X3dt X3NldF9zaXplX2hpbnQgKGYsIDAsIHRydWUsIC0xLCAtMSk7CiAKICNpZmRlZiBVU0VfR1RL CiAgIGlmIChGUkFNRV9HVEtfT1VURVJfV0lER0VUIChmKSkKQEAgLTI4ODk2LDcgKzI4OTE3 LDggQEAgeF9lbWJlZF9mcmFtZSAoc3RydWN0IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBz dHJ1Y3QgZnJhbWUgKmYpCiAgICBUaGUgR1RLIHZlcnNpb24gaXMgaW4gZ3RrdXRpbHMuYy4g ICovCiAKIHZvaWQKLXhfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1lICpmLCBsb25n IGZsYWdzLCBib29sIHVzZXJfcG9zaXRpb24pCit4X3dtX3NldF9zaXplX2hpbnQgKHN0cnVj dCBmcmFtZSAqZiwgbG9uZyBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uLAorCQkgICAgaW50 IHdpZHRoLCBpbnQgaGVpZ2h0KQogewogI2lmbmRlZiBVU0VfR1RLCiAgIFhTaXplSGludHMg c2l6ZV9oaW50czsKQEAgLTI4OTM1LDEwICsyODk1NywxMiBAQCB4X3dtX3NldF9zaXplX2hp bnQgKHN0cnVjdCBmcmFtZSAqZiwgbG9uZyBmbGFncywgYm9vbCB1c2VyX3Bvc2l0aW9uKQog I2lmbmRlZiBVU0VfTU9USUYKICAgICAgIGhpbnRzX2NoYW5nZWQKIAk9IHdpZGdldF91cGRh dGVfd21fc2l6ZV9oaW50cyAoZi0+b3V0cHV0X2RhdGEueC0+d2lkZ2V0LAotCQkJCSAgICAg ICBmLT5vdXRwdXRfZGF0YS54LT5lZGl0X3dpZGdldCk7CisJCQkJICAgICAgIGYtPm91dHB1 dF9kYXRhLngtPmVkaXRfd2lkZ2V0LAorCQkJCSAgICAgICB3aWR0aCwgaGVpZ2h0KTsKICNl bHNlCiAgICAgICB3aWRnZXRfdXBkYXRlX3dtX3NpemVfaGludHMgKGYtPm91dHB1dF9kYXRh LngtPndpZGdldCwKLQkJCQkgICBmLT5vdXRwdXRfZGF0YS54LT5lZGl0X3dpZGdldCk7CisJ CQkJICAgZi0+b3V0cHV0X2RhdGEueC0+ZWRpdF93aWRnZXQsCisJCQkJICAgd2lkdGgsIGhl aWdodCk7CiAKICAgICAgIC8qIERvIHRoaXMgYWxsIG92ZXIgYWdhaW4gZm9yIHRoZSBiZW5l Zml0IG9mIE1vdGlmLCB3aGljaCBhbHdheXMKIAkga25vd3MgYmV0dGVyIHRoYW4gdGhlIHBy b2dyYW1tZXIuICAqLwpAQCAtMjkwMTIsOCArMjkwMzYsMTYgQEAgeF93bV9zZXRfc2l6ZV9o aW50IChzdHJ1Y3QgZnJhbWUgKmYsIGxvbmcgZmxhZ3MsIGJvb2wgdXNlcl9wb3NpdGlvbikK ICAgewogICAgIGludCBiYXNlX3dpZHRoLCBiYXNlX2hlaWdodDsKIAotICAgIGJhc2Vfd2lk dGggPSBGUkFNRV9URVhUX0NPTFNfVE9fUElYRUxfV0lEVEggKGYsIDApOwotICAgIGJhc2Vf aGVpZ2h0ID0gRlJBTUVfVEVYVF9MSU5FU19UT19QSVhFTF9IRUlHSFQgKGYsIDApOworICAg IGlmICh3aWR0aCA9PSAtMSkKKyAgICAgIHdpZHRoID0gRlJBTUVfVEVYVF9XSURUSCAoZik7 CisKKyAgICBpZiAoaGVpZ2h0ID09IC0xKQorICAgICAgaGVpZ2h0ID0gRlJBTUVfVEVYVF9I RUlHSFQgKGYpOworCisgICAgYmFzZV93aWR0aCA9IChGUkFNRV9URVhUX0NPTFNfVE9fUElY RUxfV0lEVEggKGYsIDApCisJCSAgKyB3aWR0aCAlIEZSQU1FX0NPTFVNTl9XSURUSCAoZikp OworICAgIGJhc2VfaGVpZ2h0ID0gKEZSQU1FX1RFWFRfTElORVNfVE9fUElYRUxfSEVJR0hU IChmLCAwKQorCQkgICArIGhlaWdodCAlIEZSQU1FX0xJTkVfSEVJR0hUIChmKSk7CiAKICAg ICAvKiBUaGUgd2luZG93IG1hbmFnZXIgdXNlcyB0aGUgYmFzZSB3aWR0aCBoaW50cyB0byBj YWxjdWxhdGUgdGhlCiAgICAgICAgY3VycmVudCBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1u cyBpbiB0aGUgZnJhbWUgd2hpbGUKQEAgLTI5MDc1LDcgKzI5MTA3LDcgQEAgeF93bV9zZXRf c2l6ZV9oaW50IChzdHJ1Y3QgZnJhbWUgKmYsIGxvbmcgZmxhZ3MsIGJvb2wgdXNlcl9wb3Np dGlvbikKIAogICBYU2V0V01Ob3JtYWxIaW50cyAoRlJBTUVfWF9ESVNQTEFZIChmKSwgd2lu ZG93LCAmc2l6ZV9oaW50cyk7CiAjZWxzZQotICB4Z193bV9zZXRfc2l6ZV9oaW50IChmLCBm bGFncywgdXNlcl9wb3NpdGlvbik7CisgIHhnX3dtX3NldF9zaXplX2hpbnQgKGYsIGZsYWdz LCB1c2VyX3Bvc2l0aW9uLCB3aWR0aCwgaGVpZ2h0KTsKICNlbmRpZiAvKiBVU0VfR1RLICov CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy94dGVybS5oIGIvc3JjL3h0ZXJtLmgKaW5kZXggZWU0 MjllOWM2OC4uNjE1MTJmMTExNyAxMDA2NDQKLS0tIGEvc3JjL3h0ZXJtLmgKKysrIGIvc3Jj L3h0ZXJtLmgKQEAgLTE2NTMsNyArMTY1Myw3IEBAICNkZWZpbmUgU0VMRUNUSU9OX0VWRU5U X1RJTUUoZXZlbnRwKQlcCiBleHRlcm4gdm9pZCB4X21ha2VfZnJhbWVfaW52aXNpYmxlIChz dHJ1Y3QgZnJhbWUgKik7CiBleHRlcm4gdm9pZCB4X2ljb25pZnlfZnJhbWUgKHN0cnVjdCBm cmFtZSAqKTsKIGV4dGVybiB2b2lkIHhfZnJlZV9mcmFtZV9yZXNvdXJjZXMgKHN0cnVjdCBm cmFtZSAqKTsKLWV4dGVybiB2b2lkIHhfd21fc2V0X3NpemVfaGludCAoc3RydWN0IGZyYW1l ICosIGxvbmcsIGJvb2wpOworZXh0ZXJuIHZvaWQgeF93bV9zZXRfc2l6ZV9oaW50IChzdHJ1 Y3QgZnJhbWUgKiwgbG9uZywgYm9vbCwgaW50LCBpbnQpOwogI2lmIGRlZmluZWQgSEFWRV9Y U1lOQ1RSSUdHRVJGRU5DRSAmJiAhZGVmaW5lZCBVU0VfR1RLIFwKICAgJiYgZGVmaW5lZCBI QVZFX0NMT0NLX0dFVFRJTUUKIGV4dGVybiB2b2lkIHhfc3luY19pbml0X2ZlbmNlcyAoc3Ry dWN0IGZyYW1lICopOwo= --------------ox4MZ0igiJnfg9ZmpXxLP3qg--