From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jarek Czekalski Newsgroups: gmane.emacs.bugs Subject: bug#15801: 24.3.50; bar scrolling freezes gtk emacs Date: Wed, 04 Dec 2013 21:28:38 +0100 Message-ID: <529F9076.5040309@poczta.onet.pl> References: <5277EA95.4070001@poczta.onet.pl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070002020605070104070406" X-Trace: ger.gmane.org 1386188954 25250 80.91.229.3 (4 Dec 2013 20:29:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Dec 2013 20:29:14 +0000 (UTC) To: 15801@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 04 21:29:17 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VoJ4P-0004u9-3p for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Dec 2013 21:29:17 +0100 Original-Received: from localhost ([::1]:50228 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoJ4O-0000tY-Lv for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Dec 2013 15:29:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoJ4G-0000sg-4K for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 15:29:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoJ4B-0000w3-1e for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 15:29:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44405) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoJ4A-0000vo-NO for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 15:29:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VoJ4A-0000Cj-DB for bug-gnu-emacs@gnu.org; Wed, 04 Dec 2013 15:29:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <5277EA95.4070001@poczta.onet.pl> Resent-From: Jarek Czekalski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Dec 2013 20:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15801 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15801-submit@debbugs.gnu.org id=B15801.1386188924758 (code B ref 15801); Wed, 04 Dec 2013 20:29:02 +0000 Original-Received: (at 15801) by debbugs.gnu.org; 4 Dec 2013 20:28:44 +0000 Original-Received: from localhost ([127.0.0.1]:58424 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoJ3r-0000C9-9B for submit@debbugs.gnu.org; Wed, 04 Dec 2013 15:28:44 -0500 Original-Received: from smtpo56.poczta.onet.pl ([213.180.142.187]:54073) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VoJ3n-0000Bx-3a for 15801@debbugs.gnu.org; Wed, 04 Dec 2013 15:28:41 -0500 Original-Received: from [192.168.17.9] (cj.e-siemianowice.pl [95.215.234.30]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jarekczek@poczta.onet.pl) by smtp.poczta.onet.pl (Onet) with ESMTPSA id 3dZWq93xYNzYkjPT for <15801@debbugs.gnu.org>; Wed, 4 Dec 2013 21:28:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poczta.onet.pl; s=2011; t=1386188917; bh=8xMHic5eufwfOFVp4l7tgVcwi6+5KV/304FNWJ6sipE=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type; b=GmNwvpKPIRZq5YUintgQRKl+exP3Vtgi2dO03KGluiwNTvcZKIWl7LLa8/hFEful9 VOKdxNgfbZAgVJ59so1CLXE4KE+z5SiNraqeQH4bJkTiFonCp7Dn2S31p0WS2cVpYR e+XUubZSccrjx6D2vOHTr/W/0wMmnT7OBPk6PT24= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81399 Archived-At: This is a multi-part message in MIME format. --------------070002020605070104070406 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I have bad news. It's time to think about the call to g_main_context_query, because it seems to destroy the fragile workflow of gtk. There are timeout triggered events "pause-events" and "resume-events". Every mouse movement triggers one pause and one resume. In my case finally pause is called twice while resume - once. There goes the freeze. I attach gdb backtraces for you to see what is the code flow to reach those pause and resume methods. Breakpoints were set in _gdk_display_pause_events _gdk_display_unpause_events Source codes used are: gtk 3.8.6 glib 2.36.4 emacs r115317 Now I know why the commit r112892 causes troubles. Because it enables the code path in which the code unbalancing gtk is run. Why this code may be run safely when events are pending? Maybe because in this case polling doesn't change anything, events are pending anyway. But this is a guess. What is sure is that you can't take just one gtk method and use it out of the context for which it was designed. It causes big troubles, for a guy who wants to debug the problem. You never know when it strikes. Let's make it safe. The first thing I would do now is finding the real bugs that were being fixed by r112892. Maybe there is another way of fixing them, without calling g_main_context_query. Jarek --------------070002020605070104070406 Content-Type: text/plain; charset=windows-1250; name="backtrace.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="backtrace.txt" U2NyaXB0IHN0YXJ0ZWQgb24gV2VkIDA0IERlYyAyMDEzIDA5OjIyOjQyIFBNIENFVApqY2Rl YjovaG9tZSMgZ2RiIC0tYXJncyBlbWFjcyAtUQ0KR05VIGdkYiAoR0RCKSA3LjYuMSAoRGVi aWFuIDcuNi4xLTEpDQpDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuDQpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIg PGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPg0KVGhpcyBpcyBmcmVlIHNvZnR3 YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuDQpUaGVy ZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LiAgVHlw ZSAic2hvdyBjb3B5aW5nIg0KYW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4NClRo aXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJpNDg2LWxpbnV4LWdudSIuDQpGb3IgYnVnIHJl cG9ydGluZyBpbnN0cnVjdGlvbnMsIHBsZWFzZSBzZWU6DQo8aHR0cDovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2dkYi9idWdzLz4uLi4NClJlYWRpbmcgc3ltYm9scyBmcm9tIC91c3IvbG9j YWwvYmluL2VtYWNzLTI0LjMuNTAuLi5kb25lLg0KKGdkYikgc3RhcnQNClRlbXBvcmFyeSBi cmVha3BvaW50IDEgYXQgMHg4MDU4MzUwOiBmaWxlIGVtYWNzLmMsIGxpbmUgNjg4Lg0KU3Rh cnRpbmcgcHJvZ3JhbTogL3Vzci9sb2NhbC9iaW4vZW1hY3MgLVENCndhcm5pbmc6IENvdWxk IG5vdCBsb2FkIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHMgZm9yIGxpbnV4LWdhdGUuc28uMS4N CkRvIHlvdSBuZWVkICJzZXQgc29saWItc2VhcmNoLXBhdGgiIG9yICJzZXQgc3lzcm9vdCI/ DQpbVGhyZWFkIGRlYnVnZ2luZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0NClVzaW5n IGhvc3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi9saWIvaTM4Ni1saW51eC1nbnUvaTY4Ni9j bW92L2xpYnRocmVhZF9kYi5zby4xIi4NCg0KVGVtcG9yYXJ5IGJyZWFrcG9pbnQgMSwgbWFp biAoYXJnYz0yLCBhcmd2PTB4YmZmZmY1NDQpIGF0IGVtYWNzLmM6Njg4DQo2ODgJew0KKGdk YikgYnJlYWsgX2dka19kaXNwbGF5X3BhdXNlX2V2ZW50cw0KQnJlYWtwb2ludCAyIGF0IDB4 Yjc4ZjJmNDA6IGZpbGUgZ2RrZGlzcGxheS5jLCBsaW5lIDIwMTIuDQooZ2RiKSBicmVhayBf Z2RrX2Rpc3BsYXlfcGF1c2VfZXZlbnRzCAgICAgICAgICAgIG1sxQHUbWzFAbg0KQnJlYWtw b2ludCAzIGF0IDB4Yjc4ZjJmNTA6IGZpbGUgZ2RrZGlzcGxheS5jLCBsaW5lIDIwMTguDQoo Z2RiKSBjb250DQpDb250aW51aW5nLg0KW05ldyBUaHJlYWQgMHhiNWYwN2I0MCAoTFdQIDI5 MjM1KV0NCltOZXcgVGhyZWFkIDB4YjU1MmZiNDAgKExXUCAyOTIzNyldDQpbTmV3IFRocmVh ZCAweGI0YmZmYjQwIChMV1AgMjkyMzkpXQ0KDQpCcmVha3BvaW50IDIsIF9nZGtfZGlzcGxh eV9wYXVzZV9ldmVudHMgKGRpc3BsYXk9ZGlzcGxheUBlbnRyeT0weDg4NTg4NDApDQogICAg YXQgZ2RrZGlzcGxheS5jOjIwMTINCjIwMTIJew0KKGdkYikgYmFja3RyYWNlDQojMCAgX2dk a19kaXNwbGF5X3BhdXNlX2V2ZW50cyAoZGlzcGxheT1kaXNwbGF5QGVudHJ5PTB4ODg1ODg0 MCkNCiAgICBhdCBnZGtkaXNwbGF5LmM6MjAxMg0KIzEgIDB4Yjc4ZmZhMmUgaW4gZ2RrX3dp bmRvd19mbHVzaF9ldmVudHMgKGNsb2NrPTB4ODg2MTE1MCwgZGF0YT0weDg4NWY5ODApDQog ICAgYXQgZ2Rrd2luZG93LmM6MTE2MTENCiMyICAweGI3NTUxMzM5IGluIGdfY2Nsb3N1cmVf bWFyc2hhbF9WT0lEX19WT0lEdiAoY2xvc3VyZT0weDg1Yzk1NzAsIA0KICAgIHJldHVybl92 YWx1ZT0weDAsIGluc3RhbmNlPTB4ODg2MTE1MCwgYXJncz0weGJmZmZlOTc4ICIiLCANCiAg ICBtYXJzaGFsX2RhdGE9MHgwLCBuX3BhcmFtcz0wLCBwYXJhbV90eXBlcz0weDApDQogICAg YXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ29iamVjdC9nbWFy c2hhbC5jOjExNQ0KIzMgIDB4Yjc1NGY4ZGUgaW4gX2dfY2xvc3VyZV9pbnZva2VfdmEgKGNs b3N1cmU9Y2xvc3VyZUBlbnRyeT0weDg1Yzk1NzAsIA0KICAgIHJldHVybl92YWx1ZT1yZXR1 cm5fdmFsdWVAZW50cnk9MHgwLCBpbnN0YW5jZT1pbnN0YW5jZUBlbnRyeT0weDg4NjExNTAs IA0KICAgIGFyZ3M9YXJnc0BlbnRyeT0weGJmZmZlOTc4ICIiLCBuX3BhcmFtcz0wLCBwYXJh bV90eXBlcz0weDApDQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4z Ni40Ly4vZ29iamVjdC9nY2xvc3VyZS5jOjg0MA0KIzQgIDB4Yjc1NjgyMzcgaW4gZ19zaWdu YWxfZW1pdF92YWxpc3QgKGluc3RhbmNlPWluc3RhbmNlQGVudHJ5PTB4ODg2MTE1MCwgDQog ICAgc2lnbmFsX2lkPXNpZ25hbF9pZEBlbnRyeT0xMzYsIGRldGFpbD1kZXRhaWxAZW50cnk9 MCwgDQogICAgdmFyX2FyZ3M9dmFyX2FyZ3NAZW50cnk9MHhiZmZmZTk3OCAiIikNCiAgICBh dCAvYnVpbGQvZ2xpYjIuMC1PdDhiYkMvZ2xpYjIuMC0yLjM2LjQvLi9nb2JqZWN0L2dzaWdu YWwuYzozMjM0DQojNSAgMHhiNzU2OTI5MSBpbiBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKGlu c3RhbmNlPWluc3RhbmNlQGVudHJ5PTB4ODg2MTE1MCwgDQogICAgZGV0YWlsZWRfc2lnbmFs PWRldGFpbGVkX3NpZ25hbEBlbnRyeT0weGI3OTM4OTczICJmbHVzaC1ldmVudHMiKQ0KICAg IGF0IC9idWlsZC9nbGliMi4wLU90OGJiQy9nbGliMi4wLTIuMzYuNC8uL2dvYmplY3QvZ3Np Z25hbC5jOjM0MjQNCiM2ICAweGI3OGY5MzZkIGluIGdka19mcmFtZV9jbG9ja19mbHVzaF9p ZGxlIChkYXRhPTB4ODg2MTE1MCkNCiAgICBhdCBnZGtmcmFtZWNsb2NraWRsZS5jOjMxMg0K IzcgIDB4Yjc4ZWFmYzUgaW4gZ2RrX3RocmVhZHNfZGlzcGF0Y2ggKGRhdGE9ZGF0YUBlbnRy eT0weDhhMGRmYjApIGF0IGdkay5jOjc4OA0KIzggIDB4Yjc0ODUwYjEgaW4gZ190aW1lb3V0 X2Rpc3BhdGNoIChzb3VyY2U9c291cmNlQGVudHJ5PTB4ODllZTZhOCwgDQotLS1UeXBlIDxy ZXR1cm4+IHRvIGNvbnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0NCiAgICBjYWxs YmFjaz0weGI3OGVhZjkwIDxnZGtfdGhyZWFkc19kaXNwYXRjaD4sIHVzZXJfZGF0YT0weDhh MGRmYjApDQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4v Z2xpYi9nbWFpbi5jOjQ0MTMNCiM5ICAweGI3NDg0NDJlIGluIGdfbWFpbl9kaXNwYXRjaCAo Y29udGV4dD0weDg4NGExZTgsIGNvbnRleHRAZW50cnk9MHg4ODNhMjIwKQ0KICAgIGF0IC9i dWlsZC9nbGliMi4wLU90OGJiQy9nbGliMi4wLTIuMzYuNC8uL2dsaWIvZ21haW4uYzozMDU0 DQojMTAgZ19tYWluX2NvbnRleHRfZGlzcGF0Y2ggKGNvbnRleHQ9Y29udGV4dEBlbnRyeT0w eDg4NGExZTgpDQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40 Ly4vZ2xpYi9nbWFpbi5jOjM2MzANCiMxMSAweGI3NDg0N2Q4IGluIGdfbWFpbl9jb250ZXh0 X2l0ZXJhdGUgKGNvbnRleHQ9Y29udGV4dEBlbnRyeT0weDg4NGExZTgsIA0KICAgIGJsb2Nr PWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGlt aXplZCBvdXQ+KQ0KICAgIGF0IC9idWlsZC9nbGliMi4wLU90OGJiQy9nbGliMi4wLTIuMzYu NC8uL2dsaWIvZ21haW4uYzozNzAxDQojMTIgMHhiNzQ4NDg5OCBpbiBnX21haW5fY29udGV4 dF9pdGVyYXRpb24gKGNvbnRleHQ9MHg4ODRhMWU4LCANCiAgICBjb250ZXh0QGVudHJ5PTB4 MCwgbWF5X2Jsb2NrPW1heV9ibG9ja0BlbnRyeT0xKQ0KICAgIGF0IC9idWlsZC9nbGliMi4w LU90OGJiQy9nbGliMi4wLTIuMzYuNC8uL2dsaWIvZ21haW4uYzozNzYyDQojMTMgMHhiN2Fm MGJkOCBpbiBndGtfbWFpbl9pdGVyYXRpb24gKCkgYXQgZ3RrbWFpbi5jOjEyNjANCiMxNCAw eDA4MGYwMDkxIGluIFhUcmVhZF9zb2NrZXQgKHRlcm1pbmFsPTB4ODczNzgxOCwgaG9sZF9x dWl0PTB4YmZmZmViMGMpDQogICAgYXQgeHRlcm0uYzo3MDc3DQojMTUgMHgwODEyMzUxOSBp biBnb2JibGVfaW5wdXQgKCkgYXQga2V5Ym9hcmQuYzo2ODQxDQojMTYgMHgwODEyMmY5NSBp biBoYW5kbGVfYXN5bmNfaW5wdXQgKCkgYXQga2V5Ym9hcmQuYzo3MDgxDQojMTcgcHJvY2Vz c19wZW5kaW5nX3NpZ25hbHMgKCkgYXQga2V5Ym9hcmQuYzo3MDk1DQojMTggMHgwODE3MTkz OSBpbiBGbWFrZV9saXN0IChsZW5ndGg9bGVuZ3RoQGVudHJ5PTQsIGluaXQ9MTM4ODU3NDEw KQ0KICAgIGF0IGFsbG9jLmM6MjU5Nw0KIzE5IDB4MDgxOTAxODggaW4gY29uY2F0IChuYXJn cz1uYXJnc0BlbnRyeT0xLCBhcmdzPWFyZ3NAZW50cnk9MHhiZmZmZWMzMCwgDQogICAgdGFy Z2V0X3R5cGU9TGlzcF9Db25zLCBsYXN0X3NwZWNpYWw9bGFzdF9zcGVjaWFsQGVudHJ5PWZh bHNlKSBhdCBmbnMuYzo1NzgNCiMyMCAweDA4MTkwNzBlIGluIEZjb3B5X3NlcXVlbmNlIChh cmc9MTQxMjQyMDIyKSBhdCBmbnMuYzo0NDYNCi0tLVR5cGUgPHJldHVybj4gdG8gY29udGlu dWUsIG9yIHEgPHJldHVybj4gdG8gcXVpdC0tLQ0KIzIxIDB4MDgxMjFlMDYgaW4gdGltZXJf Y2hlY2sgKCkgYXQga2V5Ym9hcmQuYzo0NTU5DQojMjIgMHgwODEyMjMzYiBpbiByZWFkYWJs ZV9ldmVudHMgKGZsYWdzPWZsYWdzQGVudHJ5PTEpIGF0IGtleWJvYXJkLmM6MzQzOQ0KIzIz IDB4MDgxMjM2MWYgaW4gZ2V0X2lucHV0X3BlbmRpbmcgKGZsYWdzPWZsYWdzQGVudHJ5PTEp IGF0IGtleWJvYXJkLmM6Njc1Ng0KIzI0IDB4MDgxMjY2OTIgaW4gZGV0ZWN0X2lucHV0X3Bl bmRpbmdfcnVuX3RpbWVycyAoDQogICAgZG9fZGlzcGxheT1kb19kaXNwbGF5QGVudHJ5PXRy dWUpIGF0IGtleWJvYXJkLmM6OTg3OQ0KIzI1IDB4MDgxYzY3OGYgaW4gd2FpdF9yZWFkaW5n X3Byb2Nlc3Nfb3V0cHV0ICh0aW1lX2xpbWl0PTxvcHRpbWl6ZWQgb3V0PiwgDQogICAgbnNl Y3M9bnNlY3NAZW50cnk9MCwgcmVhZF9rYmQ9cmVhZF9rYmRAZW50cnk9LTEsIA0KICAgIGRv X2Rpc3BsYXk9ZG9fZGlzcGxheUBlbnRyeT10cnVlLCB3YWl0X2Zvcl9jZWxsPTEzODg1NzQx MCwgDQogICAgd2FpdF9wcm9jPXdhaXRfcHJvY0BlbnRyeT0weDAsIGp1c3Rfd2FpdF9wcm9j PWp1c3Rfd2FpdF9wcm9jQGVudHJ5PTApDQogICAgYXQgcHJvY2Vzcy5jOjQ2ODANCiMyNiAw eDA4MDYyNDMxIGluIHNpdF9mb3IgKHRpbWVvdXQ9MTIwLCByZWFkaW5nPXJlYWRpbmdAZW50 cnk9dHJ1ZSwgDQogICAgZGlzcGxheV9vcHRpb249ZGlzcGxheV9vcHRpb25AZW50cnk9MSkg YXQgZGlzcG5ldy5jOjU4MDANCiMyNyAweDA4MTI3MzgzIGluIHJlYWRfY2hhciAoY29tbWFu ZGZsYWc9MSwgbWFwPW1hcEBlbnRyeT0xNDEwNTQ0NzAsIA0KICAgIHByZXZfZXZlbnQ9MTM4 ODU3NDEwLCB1c2VkX21vdXNlX21lbnU9dXNlZF9tb3VzZV9tZW51QGVudHJ5PTB4YmZmZmYy NWIsIA0KICAgIGVuZF90aW1lPWVuZF90aW1lQGVudHJ5PTB4MCkgYXQga2V5Ym9hcmQuYzoy ODA1DQojMjggMHgwODEyODY1ZSBpbiByZWFkX2tleV9zZXF1ZW5jZSAoa2V5YnVmPWtleWJ1 ZkBlbnRyeT0weGJmZmZmMmY4LCANCiAgICBwcm9tcHQ9MTM4ODU3NDEwLCBkb250X2Rvd25j YXNlX2xhc3Q9ZG9udF9kb3duY2FzZV9sYXN0QGVudHJ5PWZhbHNlLCANCiAgICBjYW5fcmV0 dXJuX3N3aXRjaF9mcmFtZT1jYW5fcmV0dXJuX3N3aXRjaF9mcmFtZUBlbnRyeT10cnVlLCAN CiAgICBmaXhfY3VycmVudF9idWZmZXI9Zml4X2N1cnJlbnRfYnVmZmVyQGVudHJ5PXRydWUs IA0KICAgIHByZXZlbnRfcmVkaXNwbGF5PXByZXZlbnRfcmVkaXNwbGF5QGVudHJ5PWZhbHNl LCBidWZzaXplPTMwKQ0KICAgIGF0IGtleWJvYXJkLmM6OTA3NA0KIzI5IDB4MDgxMmEwMTYg aW4gY29tbWFuZF9sb29wXzEgKCkgYXQga2V5Ym9hcmQuYzoxNDQ1DQojMzAgMHgwODE4OTE2 MyBpbiBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSAoDQotLS1UeXBlIDxyZXR1cm4+IHRvIGNv bnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0NCiAgICBiZnVuPWJmdW5AZW50cnk9 MHg4MTI5ZTYwIDxjb21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPTEzODg5MDUwNiwgDQogICAg aGZ1bj1oZnVuQGVudHJ5PTB4ODEyMTc1MCA8Y21kX2Vycm9yPikgYXQgZXZhbC5jOjEzNDQN CiMzMSAweDA4MTFkMjM1IGluIGNvbW1hbmRfbG9vcF8yIChpZ25vcmU9MTM4ODU3NDEwKSBh dCBrZXlib2FyZC5jOjExNzANCiMzMiAweDA4MTg5MDkzIGluIGludGVybmFsX2NhdGNoICh0 YWc9MTM4ODg4NTU0LCANCiAgICBmdW5jPWZ1bmNAZW50cnk9MHg4MTFkMjEwIDxjb21tYW5k X2xvb3BfMj4sIGFyZz0xMzg4NTc0MTApIGF0IGV2YWwuYzoxMTA4DQojMzMgMHgwODEyMTNh MiBpbiBjb21tYW5kX2xvb3AgKCkgYXQga2V5Ym9hcmQuYzoxMTQ5DQojMzQgcmVjdXJzaXZl X2VkaXRfMSAoKSBhdCBrZXlib2FyZC5jOjc3Nw0KIzM1IDB4MDgxMjE2NjMgaW4gRnJlY3Vy c2l2ZV9lZGl0ICgpIGF0IGtleWJvYXJkLmM6ODQxDQojMzYgMHgwODA1OGU4OCBpbiBtYWlu IChhcmdjPTxvcHRpbWl6ZWQgb3V0PiwgYXJndj0weGJmZmZmNTQ0KSBhdCBlbWFjcy5jOjE1 OTgNCihnZGIpIGNvbnQNCkNvbnRpbnVpbmcuDQoNCkJyZWFrcG9pbnQgMywgX2dka19kaXNw bGF5X3VucGF1c2VfZXZlbnRzIChkaXNwbGF5PTB4ODg1ODg0MCkNCiAgICBhdCBnZGtkaXNw bGF5LmM6MjAxOA0KMjAxOAl7DQooZ2RiKSBiYWNrdHJhY2UNCiMwICBfZ2RrX2Rpc3BsYXlf dW5wYXVzZV9ldmVudHMgKGRpc3BsYXk9MHg4ODU4ODQwKSBhdCBnZGtkaXNwbGF5LmM6MjAx OA0KIzEgIDB4Yjc4ZmY5ZjMgaW4gZ2RrX3dpbmRvd19yZXN1bWVfZXZlbnRzIChjbG9jaz0w eDg4NjExNTAsIGRhdGE9MHg4ODVmOTgwKQ0KICAgIGF0IGdka3dpbmRvdy5jOjExNjM5DQoj MiAgMHhiNzU1MTMzOSBpbiBnX2NjbG9zdXJlX21hcnNoYWxfVk9JRF9fVk9JRHYgKGNsb3N1 cmU9MHg4NWM5NjEwLCANCiAgICByZXR1cm5fdmFsdWU9MHgwLCBpbnN0YW5jZT0weDg4NjEx NTAsIGFyZ3M9MHhiZmZmZTk0OCAiP1wwMjIiLCANCiAgICBtYXJzaGFsX2RhdGE9MHgwLCBu X3BhcmFtcz0wLCBwYXJhbV90eXBlcz0weDApDQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4 YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ29iamVjdC9nbWFyc2hhbC5jOjExNQ0KIzMgIDB4Yjc1 NGY4ZGUgaW4gX2dfY2xvc3VyZV9pbnZva2VfdmEgKGNsb3N1cmU9Y2xvc3VyZUBlbnRyeT0w eDg1Yzk2MTAsIA0KICAgIHJldHVybl92YWx1ZT1yZXR1cm5fdmFsdWVAZW50cnk9MHgwLCBp bnN0YW5jZT1pbnN0YW5jZUBlbnRyeT0weDg4NjExNTAsIA0KICAgIGFyZ3M9YXJnc0BlbnRy eT0weGJmZmZlOTQ4ICI/XDAyMiIsIG5fcGFyYW1zPTAsIHBhcmFtX3R5cGVzPTB4MCkNCiAg ICBhdCAvYnVpbGQvZ2xpYjIuMC1PdDhiYkMvZ2xpYjIuMC0yLjM2LjQvLi9nb2JqZWN0L2dj bG9zdXJlLmM6ODQwDQojNCAgMHhiNzU2ODIzNyBpbiBnX3NpZ25hbF9lbWl0X3ZhbGlzdCAo aW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg4ODYxMTUwLCANCiAgICBzaWduYWxfaWQ9c2ln bmFsX2lkQGVudHJ5PTE0MiwgZGV0YWlsPWRldGFpbEBlbnRyeT0wLCANCiAgICB2YXJfYXJn cz12YXJfYXJnc0BlbnRyeT0weGJmZmZlOTQ4ICI/XDAyMiIpDQogICAgYXQgL2J1aWxkL2ds aWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ29iamVjdC9nc2lnbmFsLmM6MzIzNA0K IzUgIDB4Yjc1NjkyOTEgaW4gZ19zaWduYWxfZW1pdF9ieV9uYW1lIChpbnN0YW5jZT1pbnN0 YW5jZUBlbnRyeT0weDg4NjExNTAsIA0KICAgIGRldGFpbGVkX3NpZ25hbD1kZXRhaWxlZF9z aWduYWxAZW50cnk9MHhiNzkzODlhMCAicmVzdW1lLWV2ZW50cyIpDQogICAgYXQgL2J1aWxk L2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ29iamVjdC9nc2lnbmFsLmM6MzQy NA0KIzYgIDB4Yjc4Zjk4ZDQgaW4gZ2RrX2ZyYW1lX2Nsb2NrX3BhaW50X2lkbGUgKGRhdGE9 MHg4ODYxMTUwKQ0KICAgIGF0IGdka2ZyYW1lY2xvY2tpZGxlLmM6NDU3DQojNyAgMHhiNzhl YWZjNSBpbiBnZGtfdGhyZWFkc19kaXNwYXRjaCAoZGF0YT1kYXRhQGVudHJ5PTB4OGEwZGY4 MCkgYXQgZ2RrLmM6Nzg4DQojOCAgMHhiNzQ4NTBiMSBpbiBnX3RpbWVvdXRfZGlzcGF0Y2gg KHNvdXJjZT1zb3VyY2VAZW50cnk9MHg4OGU5YzgwLCANCiAgICBjYWxsYmFjaz0weGI3OGVh ZjkwIDxnZGtfdGhyZWFkc19kaXNwYXRjaD4sIHVzZXJfZGF0YT0weDhhMGRmODApDQotLS1U eXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0NCiAg ICBhdCAvYnVpbGQvZ2xpYjIuMC1PdDhiYkMvZ2xpYjIuMC0yLjM2LjQvLi9nbGliL2dtYWlu LmM6NDQxMw0KIzkgIDB4Yjc0ODQ0MmUgaW4gZ19tYWluX2Rpc3BhdGNoIChjb250ZXh0PTB4 ODg0YTFlOCwgY29udGV4dEBlbnRyeT0weDg4M2EyMjApDQogICAgYXQgL2J1aWxkL2dsaWIy LjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ2xpYi9nbWFpbi5jOjMwNTQNCiMxMCBnX21h aW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4ODg0YTFlOCkN CiAgICBhdCAvYnVpbGQvZ2xpYjIuMC1PdDhiYkMvZ2xpYjIuMC0yLjM2LjQvLi9nbGliL2dt YWluLmM6MzYzMA0KIzExIDB4Yjc0ODQ3ZDggaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAo Y29udGV4dD1jb250ZXh0QGVudHJ5PTB4ODg0YTFlOCwgDQogICAgYmxvY2s9YmxvY2tAZW50 cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4p DQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2dsaWIyLjAtMi4zNi40Ly4vZ2xpYi9n bWFpbi5jOjM3MDENCiMxMiAweGI3NDg0ODk4IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlv biAoY29udGV4dD0weDg4NGExZTgsIA0KICAgIGNvbnRleHRAZW50cnk9MHgwLCBtYXlfYmxv Y2s9bWF5X2Jsb2NrQGVudHJ5PTEpDQogICAgYXQgL2J1aWxkL2dsaWIyLjAtT3Q4YmJDL2ds aWIyLjAtMi4zNi40Ly4vZ2xpYi9nbWFpbi5jOjM3NjINCiMxMyAweGI3YWYwYmQ4IGluIGd0 a19tYWluX2l0ZXJhdGlvbiAoKSBhdCBndGttYWluLmM6MTI2MA0KIzE0IDB4MDgwZjAwOTEg aW4gWFRyZWFkX3NvY2tldCAodGVybWluYWw9MHg4NzM3ODE4LCBob2xkX3F1aXQ9MHhiZmZm ZWIwYykNCiAgICBhdCB4dGVybS5jOjcwNzcNCiMxNSAweDA4MTIzNTE5IGluIGdvYmJsZV9p bnB1dCAoKSBhdCBrZXlib2FyZC5jOjY4NDENCiMxNiAweDA4MTIyZjk1IGluIGhhbmRsZV9h c3luY19pbnB1dCAoKSBhdCBrZXlib2FyZC5jOjcwODENCiMxNyBwcm9jZXNzX3BlbmRpbmdf c2lnbmFscyAoKSBhdCBrZXlib2FyZC5jOjcwOTUNCiMxOCAweDA4MTcxOTM5IGluIEZtYWtl X2xpc3QgKGxlbmd0aD1sZW5ndGhAZW50cnk9NCwgaW5pdD0xMzg4NTc0MTApDQogICAgYXQg YWxsb2MuYzoyNTk3DQojMTkgMHgwODE5MDE4OCBpbiBjb25jYXQgKG5hcmdzPW5hcmdzQGVu dHJ5PTEsIGFyZ3M9YXJnc0BlbnRyeT0weGJmZmZlYzMwLCANCiAgICB0YXJnZXRfdHlwZT1M aXNwX0NvbnMsIGxhc3Rfc3BlY2lhbD1sYXN0X3NwZWNpYWxAZW50cnk9ZmFsc2UpIGF0IGZu cy5jOjU3OA0KIzIwIDB4MDgxOTA3MGUgaW4gRmNvcHlfc2VxdWVuY2UgKGFyZz0xNDEyNDIw MjIpIGF0IGZucy5jOjQ0Ng0KIzIxIDB4MDgxMjFlMDYgaW4gdGltZXJfY2hlY2sgKCkgYXQg a2V5Ym9hcmQuYzo0NTU5DQotLS1UeXBlIDxyZXR1cm4+IHRvIGNvbnRpbnVlLCBvciBxIDxy ZXR1cm4+IHRvIHF1aXQtLS0NCiMyMiAweDA4MTIyMzNiIGluIHJlYWRhYmxlX2V2ZW50cyAo ZmxhZ3M9ZmxhZ3NAZW50cnk9MSkgYXQga2V5Ym9hcmQuYzozNDM5DQojMjMgMHgwODEyMzYx ZiBpbiBnZXRfaW5wdXRfcGVuZGluZyAoZmxhZ3M9ZmxhZ3NAZW50cnk9MSkgYXQga2V5Ym9h cmQuYzo2NzU2DQojMjQgMHgwODEyNjY5MiBpbiBkZXRlY3RfaW5wdXRfcGVuZGluZ19ydW5f dGltZXJzICgNCiAgICBkb19kaXNwbGF5PWRvX2Rpc3BsYXlAZW50cnk9dHJ1ZSkgYXQga2V5 Ym9hcmQuYzo5ODc5DQojMjUgMHgwODFjNjc4ZiBpbiB3YWl0X3JlYWRpbmdfcHJvY2Vzc19v dXRwdXQgKHRpbWVfbGltaXQ9PG9wdGltaXplZCBvdXQ+LCANCiAgICBuc2Vjcz1uc2Vjc0Bl bnRyeT0wLCByZWFkX2tiZD1yZWFkX2tiZEBlbnRyeT0tMSwgDQogICAgZG9fZGlzcGxheT1k b19kaXNwbGF5QGVudHJ5PXRydWUsIHdhaXRfZm9yX2NlbGw9MTM4ODU3NDEwLCANCiAgICB3 YWl0X3Byb2M9d2FpdF9wcm9jQGVudHJ5PTB4MCwganVzdF93YWl0X3Byb2M9anVzdF93YWl0 X3Byb2NAZW50cnk9MCkNCiAgICBhdCBwcm9jZXNzLmM6NDY4MA0KIzI2IDB4MDgwNjI0MzEg aW4gc2l0X2ZvciAodGltZW91dD0xMjAsIHJlYWRpbmc9cmVhZGluZ0BlbnRyeT10cnVlLCAN CiAgICBkaXNwbGF5X29wdGlvbj1kaXNwbGF5X29wdGlvbkBlbnRyeT0xKSBhdCBkaXNwbmV3 LmM6NTgwMA0KIzI3IDB4MDgxMjczODMgaW4gcmVhZF9jaGFyIChjb21tYW5kZmxhZz0xLCBt YXA9bWFwQGVudHJ5PTE0MTA1NDQ3MCwgDQogICAgcHJldl9ldmVudD0xMzg4NTc0MTAsIHVz ZWRfbW91c2VfbWVudT11c2VkX21vdXNlX21lbnVAZW50cnk9MHhiZmZmZjI1YiwgDQogICAg ZW5kX3RpbWU9ZW5kX3RpbWVAZW50cnk9MHgwKSBhdCBrZXlib2FyZC5jOjI4MDUNCiMyOCAw eDA4MTI4NjVlIGluIHJlYWRfa2V5X3NlcXVlbmNlIChrZXlidWY9a2V5YnVmQGVudHJ5PTB4 YmZmZmYyZjgsIA0KICAgIHByb21wdD0xMzg4NTc0MTAsIGRvbnRfZG93bmNhc2VfbGFzdD1k b250X2Rvd25jYXNlX2xhc3RAZW50cnk9ZmFsc2UsIA0KICAgIGNhbl9yZXR1cm5fc3dpdGNo X2ZyYW1lPWNhbl9yZXR1cm5fc3dpdGNoX2ZyYW1lQGVudHJ5PXRydWUsIA0KICAgIGZpeF9j dXJyZW50X2J1ZmZlcj1maXhfY3VycmVudF9idWZmZXJAZW50cnk9dHJ1ZSwgDQogICAgcHJl dmVudF9yZWRpc3BsYXk9cHJldmVudF9yZWRpc3BsYXlAZW50cnk9ZmFsc2UsIGJ1ZnNpemU9 MzApDQogICAgYXQga2V5Ym9hcmQuYzo5MDc0DQojMjkgMHgwODEyYTAxNiBpbiBjb21tYW5k X2xvb3BfMSAoKSBhdCBrZXlib2FyZC5jOjE0NDUNCiMzMCAweDA4MTg5MTYzIGluIGludGVy bmFsX2NvbmRpdGlvbl9jYXNlICgNCiAgICBiZnVuPWJmdW5AZW50cnk9MHg4MTI5ZTYwIDxj b21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPTEzODg5MDUwNiwgDQotLS1UeXBlIDxyZXR1cm4+ IHRvIGNvbnRpbnVlLCBvciBxIDxyZXR1cm4+IHRvIHF1aXQtLS0NCiAgICBoZnVuPWhmdW5A ZW50cnk9MHg4MTIxNzUwIDxjbWRfZXJyb3I+KSBhdCBldmFsLmM6MTM0NA0KIzMxIDB4MDgx MWQyMzUgaW4gY29tbWFuZF9sb29wXzIgKGlnbm9yZT0xMzg4NTc0MTApIGF0IGtleWJvYXJk LmM6MTE3MA0KIzMyIDB4MDgxODkwOTMgaW4gaW50ZXJuYWxfY2F0Y2ggKHRhZz0xMzg4ODg1 NTQsIA0KICAgIGZ1bmM9ZnVuY0BlbnRyeT0weDgxMWQyMTAgPGNvbW1hbmRfbG9vcF8yPiwg YXJnPTEzODg1NzQxMCkgYXQgZXZhbC5jOjExMDgNCiMzMyAweDA4MTIxM2EyIGluIGNvbW1h bmRfbG9vcCAoKSBhdCBrZXlib2FyZC5jOjExNDkNCiMzNCByZWN1cnNpdmVfZWRpdF8xICgp IGF0IGtleWJvYXJkLmM6Nzc3DQojMzUgMHgwODEyMTY2MyBpbiBGcmVjdXJzaXZlX2VkaXQg KCkgYXQga2V5Ym9hcmQuYzo4NDENCiMzNiAweDA4MDU4ZTg4IGluIG1haW4gKGFyZ2M9PG9w dGltaXplZCBvdXQ+LCBhcmd2PTB4YmZmZmY1NDQpIGF0IGVtYWNzLmM6MTU5OA0KKGdkYikg ZGVsZXRlDQpEZWxldGUgYWxsIGJyZWFrcG9pbnRzPyAoeSBvciBuKSB5DQooZ2RiKSBjb250 DQpDb250aW51aW5nLg0KW1RocmVhZCAweGI0YmZmYjQwIChMV1AgMjkyMzkpIGV4aXRlZF0N CltUaHJlYWQgMHhiNTUyZmI0MCAoTFdQIDI5MjM3KSBleGl0ZWRdDQpbVGhyZWFkIDB4YjVm MDdiNDAgKExXUCAyOTIzNSkgZXhpdGVkXQ0KW0luZmVyaW9yIDEgKHByb2Nlc3MgMjkxOTcp IGV4aXRlZCBub3JtYWxseV0NCihnZGIpIHF1aXQNCmpjZGViOi9ob21lIyBleGl0DQpleGl0 DQoKU2NyaXB0IGRvbmUgb24gV2VkIDA0IERlYyAyMDEzIDA5OjIzOjQ0IFBNIENFVAo= --------------070002020605070104070406--