Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kc03r-0005vH-06 for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Nov 2020 05:49:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kc03o-0003Nl-Rn for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Nov 2020 05:49:48 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kc03o-0003Ne-Ax for pgsql-hackers@lists.postgresql.org; Mon, 09 Nov 2020 05:49:48 +0000 Received: from smtp-fw-9102.amazon.com ([207.171.184.29]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kc03g-0000xa-O6 for pgsql-hackers@postgresql.org; Mon, 09 Nov 2020 05:49:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1604900981; x=1636436981; h=to:cc:references:from:message-id:date:mime-version: in-reply-to:subject; bh=GvMK9ciJXOea8skNnQKrtBIqGyeiqMtGYUid5VLvbMw=; b=gM5WSe8ppIrFlkD0oqyIM1/jajlQukh1S/TZgH8PtHTDteB3qUCCJF98 MxbPpXDlEsiEqTNQf4f1K+OZk/5QGGkQjuicuEiQOwpfXLX39gZ++K9oe qcQ0S73H1Tva+PL/XitlLO3BID+mV93Swsu/+e6hZg/GOtzw6wxgs0UVc 4=; X-Amazon-filename: v8-0003-Log-the-standby-recovery-conflict-waits.patch X-IronPort-AV: E=Sophos;i="5.77,462,1596499200"; d="scan'208";a="93117846" Subject: Re: Add Information during standby recovery conflicts Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-2c-456ef9c9.us-west-2.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-9102.sea19.amazon.com with ESMTP; 09 Nov 2020 05:49:40 +0000 Received: from EX13D03EUC003.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2c-456ef9c9.us-west-2.amazon.com (Postfix) with ESMTPS id 52C64A8894; Mon, 9 Nov 2020 05:45:18 +0000 (UTC) Received: from 38f9d36c4abb.ant.amazon.com (10.43.162.231) by EX13D03EUC003.ant.amazon.com (10.43.164.192) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 9 Nov 2020 05:45:14 +0000 To: Masahiko Sawada CC: Fujii Masao , Masahiko Sawada , Kyotaro Horiguchi , Alvaro Herrera , PostgreSQL-development References: <20201015.121338.832998229451118046.horikyota.ntt@gmail.com> <20201015.145210.622238854316424234.horikyota.ntt@gmail.com> <9493cda6-ac77-6aff-28ea-4ff7774ba78c@oss.nttdata.com> <6416172a-8c7d-84da-2600-f5f41c61db18@amazon.com> From: "Drouvot, Bertrand" Message-ID: Date: Mon, 9 Nov 2020 06:45:10 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------3F6BF8FE7FC727A51F559B41" Content-Language: en-US X-Originating-IP: [10.43.162.231] X-ClientProxiedBy: EX13D45UWA003.ant.amazon.com (10.43.160.92) To EX13D03EUC003.ant.amazon.com (10.43.164.192) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --------------3F6BF8FE7FC727A51F559B41 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Hi, On 11/6/20 3:21 AM, Masahiko Sawada wrote: > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > On Fri, Oct 30, 2020 at 6:02 PM Drouvot, Bertrand wrote: >> Hi, >> >> On 10/30/20 4:25 AM, Fujii Masao wrote: >>> CAUTION: This email originated from outside of the organization. Do >>> not click links or open attachments unless you can confirm the sender >>> and know the content is safe. >>> >>> >>> >>> On 2020/10/30 10:29, Masahiko Sawada wrote: >>>> , >>>> >>>> On Thu, 29 Oct 2020 at 00:16, Fujii Masao >>>> wrote: >>>>> I read v8 patch. Here are review comments. >>>> Thank you for your review. >>>> > Thank you for updating the patch! > > Looking at the latest version patch > (v8-0002-Log-the-standby-recovery-conflict-waits.patch), I think it > doesn't address some comments from Fujii-san. > >>>>> When recovery conflict with buffer pin happens, log message is output >>>>> every deadlock_timeout. Is this intentional behavior? If yes, IMO >>>>> that's >>>>> not good because lots of messages can be output. >>>> Agreed. > I think the latest patch doesn't fix the above comment. Log message > for recovery conflict on buffer pin is logged every deadlock_timeout. > >>>> if we were to log the recovery conflict only once in bufferpin >>>> conflict case, we would log it multiple times only in lock conflict >>>> case. So I guess it's better to do that in all conflict cases. >>> Yes, I agree that this behavior basically should be consistent between >>> all cases. > The latest patch seems not to address this comment as well. Oh, I missed those ones, thanks for the feedback. New version attached, so that recovery conflict will be logged only once also for buffer pin and lock cases. Bertrand --------------3F6BF8FE7FC727A51F559B41 Content-Type: text/plain; charset="UTF-8"; x-mac-type=0; x-mac-creator=0; name="v8-0003-Log-the-standby-recovery-conflict-waits.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v8-0003-Log-the-standby-recovery-conflict-waits.patch" IGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAgICAgICAgICAgICAgICAgICB8ICAyMiAr KysrCiBkb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbCAgICAgICAgICAgfCAg IDcgKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jICAgICAgICAgICB8 ICAxNCArKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyAgICAgICAgICAg ICB8IDE2NCArKysrKysrKysrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvc3RvcmFn ZS9sbWdyL3Byb2MuYyAgICAgICAgICAgICAgIHwgIDI2ICsrKysKIHNyYy9iYWNrZW5kL3V0 aWxzL21pc2MvZ3VjLmMgICAgICAgICAgICAgICAgICB8ICAxMCArLQogc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIHwgICAyICsKIHNyYy9pbmNsdWRl L3N0b3JhZ2Uvc3RhbmRieS5oICAgICAgICAgICAgICAgICB8ICAgMyArCiA4IGZpbGVzIGNo YW5nZWQsIDIyNyBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbCBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbApp bmRleCBlZTkxNDc0MGNjLi45ZDdkNDA5OTUxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv Y29uZmlnLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBAIC02ODM5LDYg KzY4MzksMjggQEAgbG9nX2xpbmVfcHJlZml4ID0gJyVtIFslcF0gJXEldUAlZC8lYSAnCiAg ICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlz dGVudHJ5IGlkPSJndWMtbG9nLXJlY292ZXJ5LWNvbmZsaWN0LXdhaXRzIiB4cmVmbGFiZWw9 ImxvZ19yZWNvdmVyeV9jb25mbGljdF93YWl0cyI+CisgICAgICA8dGVybT48dmFybmFtZT5s b2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2FpdHM8L3Zhcm5hbWU+ICg8dHlwZT5ib29sZWFuPC90 eXBlPikKKyAgICAgIDxpbmRleHRlcm0+CisgICAgICAgPHByaW1hcnk+PHZhcm5hbWU+bG9n X3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzPC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFt ZXRlcjwvcHJpbWFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgPC90ZXJtPgorICAg ICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBDb250cm9scyB3aGV0aGVy IGEgbG9nIG1lc3NhZ2UgaXMgcHJvZHVjZWQgd2hlbiB0aGUgc3RhcnR1cCBwcm9jZXNzCisg ICAgICAgIGlzIHdhaXRpbmcgbG9uZ2VyIHRoYW4gPHZhcm5hbWU+ZGVhZGxvY2tfdGltZW91 dDwvdmFybmFtZT4KKyAgICAgICAgZm9yIHJlY292ZXJ5IGNvbmZsaWN0cy4gIFRoaXMgaXMg dXNlZnVsIGluIGRldGVybWluaW5nIGlmIHJlY292ZXJ5CisgICAgICAgIGNvbmZsaWN0cyBw cmV2ZW50cyB0aGUgcmVjb3ZlcnkgZnJvbSBhcHBseWluZyBXQUwuCisgICAgICAgPC9wYXJh PgorCisgICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBkZWZhdWx0IGlzIDxsaXRlcmFsPm9m ZjwvbGl0ZXJhbD4uICBUaGlzIHBhcmFtZXRlciBjYW4gb25seSBiZSBzZXQKKyAgICAgICAg aW4gdGhlIDxmaWxlbmFtZT5wb3N0Z3Jlc3FsLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIG9yIG9u IHRoZSBzZXJ2ZXIKKyAgICAgICAgY29tbWFuZCBsaW5lLgorICAgICAgIDwvcGFyYT4KKyAg ICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgIDx2YXJsaXN0 ZW50cnkgaWQ9Imd1Yy1sb2ctcGFyYW1ldGVyLW1heC1sZW5ndGgiIHhyZWZsYWJlbD0ibG9n X3BhcmFtZXRlcl9tYXhfbGVuZ3RoIj4KICAgICAgIDx0ZXJtPjx2YXJuYW1lPmxvZ19wYXJh bWV0ZXJfbWF4X2xlbmd0aDwvdmFybmFtZT4gKDx0eXBlPmludGVnZXI8L3R5cGU+KQogICAg ICAgPGluZGV4dGVybT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9oaWdoLWF2YWlsYWJp bGl0eS5zZ21sIGIvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwKaW5kZXgg ODZkYTg0ZmNlNy4uZDdiMWM5ODU0ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2hpZ2gt YXZhaWxhYmlsaXR5LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5 LnNnbWwKQEAgLTE5NzIsNiArMTk3MiwxMyBAQCBpZiAoIXRyaWdnZXJlZCkKICAgICBxdWVy aWVzIHRoYXQgY29uZmxpY3Qgd2l0aCB0by1iZS1hcHBsaWVkIFdBTCByZWNvcmRzLgogICAg PC9wYXJhPgogCisgICA8cGFyYT4KKyAgICBZb3UgY2FuIGNvbnRyb2wgd2hldGhlciBhIGxv ZyBtZXNzYWdlIGlzIHByb2R1Y2VkIHdoZW4gdGhlIHN0YXJ0dXAgcHJvY2VzcworICAgIGlz IHdhaXRpbmcgbG9uZ2VyIHRoYW4gPHZhcm5hbWU+ZGVhZGxvY2tfdGltZW91dDwvdmFybmFt ZT4gZm9yIHJlY292ZXJ5CisgICAgY29uZmxpY3RzLiBUaGlzIGlzIGNvbnRyb2xlZCBieSB0 aGUgPHhyZWYgbGlua2VuZD0iZ3VjLWxvZy1yZWNvdmVyeS1jb25mbGljdC13YWl0cyIvPgor ICAgIHBhcmFtZXRlci4gCisgICA8L3BhcmE+CisKICAgIDxwYXJhPgogICAgIEFuIGV4YW1w bGUgb2YgdGhlIHByb2JsZW0gc2l0dWF0aW9uIGlzIGFuIGFkbWluaXN0cmF0b3Igb24gdGhl IHByaW1hcnkKICAgICBzZXJ2ZXIgcnVubmluZyA8Y29tbWFuZD5EUk9QIFRBQkxFPC9jb21t YW5kPiBvbiBhIHRhYmxlIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNrZW5kL3N0b3Jh Z2UvYnVmZmVyL2J1Zm1nci5jCmluZGV4IGU1NDlmYTFkMzAuLmNjOGU4ZDg0OGEgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCisrKyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCkBAIC0zODA4LDYgKzM4MDgsOCBAQCBM b2NrQnVmZmVyRm9yQ2xlYW51cChCdWZmZXIgYnVmZmVyKQogewogCUJ1ZmZlckRlc2MgKmJ1 ZkhkcjsKIAljaGFyCSAgICpuZXdfc3RhdHVzID0gTlVMTDsKKwlUaW1lc3RhbXBUeiB3YWl0 U3RhcnQgPSAwOworCWJvb2wgICAgICAgIGxvZ2dlZF9yZWNvdmVyeV9jb25mbGljdCA9IGZh bHNlOwogCiAJQXNzZXJ0KEJ1ZmZlcklzUGlubmVkKGJ1ZmZlcikpOwogCUFzc2VydChQaW5D b3VudFdhaXRCdWYgPT0gTlVMTCk7CkBAIC0zODI5LDYgKzM4MzEsOSBAQCBMb2NrQnVmZmVy Rm9yQ2xlYW51cChCdWZmZXIgYnVmZmVyKQogCiAJYnVmSGRyID0gR2V0QnVmZmVyRGVzY3Jp cHRvcihidWZmZXIgLSAxKTsKIAorCWlmIChsb2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2FpdHMp CisJCXdhaXRTdGFydCA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwogCWZvciAoOzspCiAJ ewogCQl1aW50MzIJCWJ1Zl9zdGF0ZTsKQEAgLTM4ODEsNiArMzg4NiwxNSBAQCBMb2NrQnVm ZmVyRm9yQ2xlYW51cChCdWZmZXIgYnVmZmVyKQogCQkJCW5ld19zdGF0dXNbbGVuXSA9ICdc MCc7IC8qIHRydW5jYXRlIG9mZiAiIHdhaXRpbmciICovCiAJCQl9CiAKKwkJCWlmICghbG9n Z2VkX3JlY292ZXJ5X2NvbmZsaWN0ICYmIHdhaXRTdGFydCA+IDAgJiYKKwkJCQlUaW1lc3Rh bXBEaWZmZXJlbmNlRXhjZWVkcyh3YWl0U3RhcnQsIEdldEN1cnJlbnRUaW1lc3RhbXAoKSwK KwkJCQkJCQkJCQkgICBEZWFkbG9ja1RpbWVvdXQpKQorCQkJeworCQkJCUxvZ1JlY292ZXJ5 Q29uZmxpY3QoUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9CVUZGRVJQSU4sCisJCQkJCQkJ CQl3YWl0U3RhcnQsIE5VTEwpOworCQkJCWxvZ2dlZF9yZWNvdmVyeV9jb25mbGljdCA9IHRy dWU7CisJCQl9CisKIAkJCS8qIFB1Ymxpc2ggdGhlIGJ1ZmlkIHRoYXQgU3RhcnR1cCBwcm9j ZXNzIHdhaXRzIG9uICovCiAJCQlTZXRTdGFydHVwQnVmZmVyUGluV2FpdEJ1ZklkKGJ1ZmZl ciAtIDEpOwogCQkJLyogU2V0IGFsYXJtIGFuZCB0aGVuIHdhaXQgdG8gYmUgc2lnbmFsZWQg YnkgVW5waW5CdWZmZXIoKSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9p cGMvc3RhbmRieS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCmluZGV4 IDUyYjI4MDlkYWMuLjU3ZjE4Yzc5ZTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3Jh Z2UvaXBjL3N0YW5kYnkuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5 LmMKQEAgLTM5LDYgKzM5LDcgQEAKIGludAkJCXZhY3V1bV9kZWZlcl9jbGVhbnVwX2FnZTsK IGludAkJCW1heF9zdGFuZGJ5X2FyY2hpdmVfZGVsYXkgPSAzMCAqIDEwMDA7CiBpbnQJCQlt YXhfc3RhbmRieV9zdHJlYW1pbmdfZGVsYXkgPSAzMCAqIDEwMDA7Citib29sCQlsb2dfcmVj b3ZlcnlfY29uZmxpY3Rfd2FpdHMgPSBmYWxzZTsKIAogc3RhdGljIEhUQUIgKlJlY292ZXJ5 TG9ja0xpc3RzOwogCkBAIC00OSw2ICs1MCw3IEBAIHN0YXRpYyB2b2lkIFJlc29sdmVSZWNv dmVyeUNvbmZsaWN0V2l0aFZpcnR1YWxYSURzKFZpcnR1YWxUcmFuc2FjdGlvbklkICp3YWl0 bGlzCiBzdGF0aWMgdm9pZCBTZW5kUmVjb3ZlcnlDb25mbGljdFdpdGhCdWZmZXJQaW4oUHJv Y1NpZ25hbFJlYXNvbiByZWFzb24pOwogc3RhdGljIFhMb2dSZWNQdHIgTG9nQ3VycmVudFJ1 bm5pbmdYYWN0cyhSdW5uaW5nVHJhbnNhY3Rpb25zIEN1cnJSdW5uaW5nWGFjdHMpOwogc3Rh dGljIHZvaWQgTG9nQWNjZXNzRXhjbHVzaXZlTG9ja3MoaW50IG5sb2NrcywgeGxfc3RhbmRi eV9sb2NrICpsb2Nrcyk7CitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3JlY292ZXJ5X2NvbmZs aWN0X2Rlc2MoUHJvY1NpZ25hbFJlYXNvbiByZWFzb24pOwogCiAvKgogICogS2VlcCB0cmFj ayBvZiBhbGwgdGhlIGxvY2tzIG93bmVkIGJ5IGEgZ2l2ZW4gdHJhbnNhY3Rpb24uCkBAIC0y MTUsMTUgKzIxNyw3MSBAQCBXYWl0RXhjZWVkc01heFN0YW5kYnlEZWxheSh1aW50MzIgd2Fp dF9ldmVudF9pbmZvKQogCXJldHVybiBmYWxzZTsKIH0KIAorLyoKKyAqIExvZyB0aGUgcmVj b3ZlcnkgY29uZmxpY3QuCisgKgorICogd2FpdFN0YXJ0IGlzIHRoZSB0aW1lc3RhbXAgd2hl biB0aGUgY2FsbGVyIHN0YXJ0ZWQgdG8gd2FpdC4gVGhpcyBmdW5jdGlvbiBhbHNvCisgKiBy ZXBvcnRzIHRoZSBkZXRhaWxzIGFib3V0IHRoZSBjb25mbGljdGluZyBwcm9jZXNzIGlkcyBp ZiAqd2FpdGxpc3QgaXMgbm90IE5VTEwuCisgKi8KK3ZvaWQKK0xvZ1JlY292ZXJ5Q29uZmxp Y3QoUHJvY1NpZ25hbFJlYXNvbiByZWFzb24sIFRpbWVzdGFtcFR6IHdhaXRTdGFydCwKKwkJ CQkJVmlydHVhbFRyYW5zYWN0aW9uSWQgKndhaXRsaXN0KQoreworCWxvbmcJCXNlY3M7CisJ aW50CQkJdXNlY3M7CisJbG9uZwkJbXNlY3M7CisKKwlUaW1lc3RhbXBEaWZmZXJlbmNlKHdh aXRTdGFydCwgR2V0Q3VycmVudFRpbWVzdGFtcCgpLCAmc2VjcywgJnVzZWNzKTsKKwltc2Vj cyA9IHNlY3MgKiAxMDAwICsgdXNlY3MgLyAxMDAwOworCXVzZWNzID0gdXNlY3MgJSAxMDAw OworCisJaWYgKHdhaXRsaXN0KQorCXsKKwkJVmlydHVhbFRyYW5zYWN0aW9uSWQgKnZ4aWRz OworCQlTdHJpbmdJbmZvRGF0YSBidWY7CisJCWludAlucHJvY3MgPSAwOworCisJCWluaXRT dHJpbmdJbmZvKCZidWYpOworCisJCS8qIGNvbnN0cnVjdCBhIHN0cmluZyBvZiBsaXN0IG9m IHRoZSBjb25mbGljdGVkIHByb2Nlc3NlcyAqLworCQl2eGlkcyA9IHdhaXRsaXN0OworCQl3 aGlsZSAoVmlydHVhbFRyYW5zYWN0aW9uSWRJc1ZhbGlkKCp2eGlkcykpCisJCXsKKwkJCVBH UFJPQyAqcHJvYyA9IEJhY2tlbmRJZEdldFByb2ModnhpZHMtPmJhY2tlbmRJZCk7CisKKwkJ CWlmIChucHJvY3MgPT0gMCkKKwkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWYsICIlZCIsIHBy b2MtPnBpZCk7CisJCQllbHNlCisJCQkJYXBwZW5kU3RyaW5nSW5mbygmYnVmLCAiLCAlZCIs IHByb2MtPnBpZCk7CisKKwkJCW5wcm9jcysrOworCQkJdnhpZHMrKzsKKwkJfQorCisJCWVy ZXBvcnQoTE9HLAorCQkJCShlcnJtc2coIiVzIGFmdGVyICVsZC4lMDNkIG1zIiwKKwkJCQkJ CWdldF9yZWNvdmVyeV9jb25mbGljdF9kZXNjKHJlYXNvbiksIG1zZWNzLCB1c2VjcyksCisJ CQkJIChlcnJkZXRhaWxfbG9nX3BsdXJhbCgiQ29uZmxpY3RpbmcgcHJvY2VzczogJXMuIiwK KwkJCQkJCQkJCSAgICJDb25mbGljdGluZyBwcm9jZXNzZXM6ICVzLiIsCisJCQkJCQkJCQkg ICBucHJvY3MsIGJ1Zi5kYXRhKSkpKTsKKwkJcGZyZWUoYnVmLmRhdGEpOworCX0KKwllbHNl CisJCWVyZXBvcnQoTE9HLAorCQkJCShlcnJtc2coIiVzIGFmdGVyICVsZC4lMDNkIG1zIiwK KwkJCQkJCWdldF9yZWNvdmVyeV9jb25mbGljdF9kZXNjKHJlYXNvbiksIG1zZWNzLCB1c2Vj cykpKTsKK30KKwogLyoKICAqIFRoaXMgaXMgdGhlIG1haW4gZXhlY3V0aW9uZXIgZm9yIGFu eSBxdWVyeSBiYWNrZW5kIHRoYXQgY29uZmxpY3RzIHdpdGgKICAqIHJlY292ZXJ5IHByb2Nl c3NpbmcuIEp1ZGdlbWVudCBoYXMgYWxyZWFkeSBiZWVuIHBhc3NlZCBvbiBpdCB3aXRoaW4K ICAqIGEgc3BlY2lmaWMgcm1nci4gSGVyZSB3ZSBqdXN0IGlzc3VlIHRoZSBvcmRlcnMgdG8g dGhlIHByb2NzLiBUaGUgcHJvY3MKICAqIHRoZW4gdGhyb3cgdGhlIHJlcXVpcmVkIGVycm9y IGFzIGluc3RydWN0ZWQuCiAgKgotICogSWYgcmVwb3J0X3dhaXRpbmcgaXMgdHJ1ZSwgIndh aXRpbmciIGlzIHJlcG9ydGVkIGluIFBTIGRpc3BsYXkgaWYgbmVjZXNzYXJ5LgotICogSWYg dGhlIGNhbGxlciBoYXMgYWxyZWFkeSByZXBvcnRlZCB0aGF0LCByZXBvcnRfd2FpdGluZyBz aG91bGQgYmUgZmFsc2UuCi0gKiBPdGhlcndpc2UsICJ3YWl0aW5nIiBpcyByZXBvcnRlZCB0 d2ljZSB1bmV4cGVjdGVkbHkuCisgKiBJZiByZXBvcnRfd2FpdGluZyBpcyB0cnVlLCAid2Fp dGluZyIgaXMgcmVwb3J0ZWQgaW4gUFMgZGlzcGxheSBhbmQgbG9nCisgKiB0aGUgd2FpdHMg Zm9yIHRoZSByZWNvdmVyeSBjb25mbGljdCBpZiBuZWNlc3NhcnkuICBJZiB0aGUgY2FsbGVy IGhhcyBhbHJlYWR5CisgKiByZXBvcnRlZCB0aGF0LCByZXBvcnRfd2FpdGluZyBzaG91bGQg YmUgZmFsc2UuICBPdGhlcndpc2UsIGJvdGggYXJlIHJlcG9ydGVkCisgKiB0d2ljZSB1bmV4 cGVjdGVkbHkuCiAgKi8KIHN0YXRpYyB2b2lkCiBSZXNvbHZlUmVjb3ZlcnlDb25mbGljdFdp dGhWaXJ0dWFsWElEcyhWaXJ0dWFsVHJhbnNhY3Rpb25JZCAqd2FpdGxpc3QsCkBAIC0yMzIs NiArMjkwLDcgQEAgUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoVmlydHVhbFhJRHMoVmly dHVhbFRyYW5zYWN0aW9uSWQgKndhaXRsaXN0LAogewogCVRpbWVzdGFtcFR6IHdhaXRTdGFy dCA9IDA7CiAJY2hhcgkgICAqbmV3X3N0YXR1czsKKwlib29sCQlsb2dnZWRfcmVjb3Zlcnlf Y29uZmxpY3QgPSBmYWxzZTsKIAogCS8qIEZhc3QgZXhpdCwgdG8gYXZvaWQgYSBrZXJuZWwg Y2FsbCBpZiB0aGVyZSdzIG5vIHdvcmsgdG8gYmUgZG9uZS4gKi8KIAlpZiAoIVZpcnR1YWxU cmFuc2FjdGlvbklkSXNWYWxpZCgqd2FpdGxpc3QpKQpAQCAtMjQ5LDEzICszMDgsMjggQEAg UmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoVmlydHVhbFhJRHMoVmlydHVhbFRyYW5zYWN0 aW9uSWQgKndhaXRsaXN0LAogCQkvKiB3YWl0IHVudGlsIHRoZSB2aXJ0dWFsIHhpZCBpcyBn b25lICovCiAJCXdoaWxlICghVmlydHVhbFhhY3RMb2NrKCp3YWl0bGlzdCwgZmFsc2UpKQog CQl7CisJCQlUaW1lc3RhbXBUeiB0cyA9IDA7CisKKwkJCWlmIChyZXBvcnRfd2FpdGluZyAm JiAoIWxvZ2dlZF9yZWNvdmVyeV9jb25mbGljdCB8fCBuZXdfc3RhdHVzID09IE5VTEwpKQor CQkJCXRzID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCisJCQkvKgorCQkJICogTG9nIHRo ZSByZWNvdmVyeSBjb25mbGljdC4gIFRvIHByZXZlbnQgdG8gbG9nIHRoZSBzYW1lIHJlcG9y dAorCQkJICogbXVsdGlwbGUgdGltZXMsIHdlIGxvZyB0aGUgcmVjb3ZlcnkgY29uZmxpY3Qg b25seSBvbmNlLgorCQkJICovCisJCQlpZiAobG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRz ICYmCisJCQkJVGltZXN0YW1wRGlmZmVyZW5jZUV4Y2VlZHMod2FpdFN0YXJ0LCB0cywgRGVh ZGxvY2tUaW1lb3V0KSkKKwkJCXsKKwkJCQlMb2dSZWNvdmVyeUNvbmZsaWN0KHJlYXNvbiwg d2FpdFN0YXJ0LCB3YWl0bGlzdCk7CisJCQkJbG9nZ2VkX3JlY292ZXJ5X2NvbmZsaWN0ID0g dHJ1ZTsKKwkJCX0KKwogCQkJLyoKIAkJCSAqIFJlcG9ydCB2aWEgcHMgaWYgd2UgaGF2ZSBi ZWVuIHdhaXRpbmcgZm9yIG1vcmUgdGhhbiA1MDAgbXNlYwogCQkJICogKHNob3VsZCB0aGF0 IGJlIGNvbmZpZ3VyYWJsZT8pCiAJCQkgKi8KIAkJCWlmICh1cGRhdGVfcHJvY2Vzc190aXRs ZSAmJiBuZXdfc3RhdHVzID09IE5VTEwgJiYgcmVwb3J0X3dhaXRpbmcgJiYKLQkJCQlUaW1l c3RhbXBEaWZmZXJlbmNlRXhjZWVkcyh3YWl0U3RhcnQsIEdldEN1cnJlbnRUaW1lc3RhbXAo KSwKLQkJCQkJCQkJCQkgICA1MDApKQorCQkJCVRpbWVzdGFtcERpZmZlcmVuY2VFeGNlZWRz KHdhaXRTdGFydCwgdHMsIDUwMCkpCiAJCQl7CiAJCQkJY29uc3QgY2hhciAqb2xkX3N0YXR1 czsKIAkJCQlpbnQJCQlsZW47CkBAIC00MDgsNyArNDgyLDM1IEBAIFJlc29sdmVSZWNvdmVy eUNvbmZsaWN0V2l0aExvY2soTE9DS1RBRyBsb2NrdGFnKQogCiAJbHRpbWUgPSBHZXRTdGFu ZGJ5TGltaXRUaW1lKCk7CiAKLQlpZiAoR2V0Q3VycmVudFRpbWVzdGFtcCgpID49IGx0aW1l KQorCWlmIChsdGltZSA9PSAwIHx8IEdldEN1cnJlbnRUaW1lc3RhbXAoKSA8IGx0aW1lKQor CXsKKwkJRW5hYmxlVGltZW91dFBhcmFtcyB0aW1lb3V0c1syXTsKKwkJaW50IGNudCA9IDA7 CisKKwkJLyoKKwkJICogV2FpdCAob3Igd2FpdCBhZ2FpbikgdW50aWwgbHRpbWUKKwkJICov CisJCWlmIChsdGltZSAhPSAwKQorCQl7CisJCQl0aW1lb3V0c1tjbnRdLmlkID0gU1RBTkRC WV9MT0NLX1RJTUVPVVQ7CisJCQl0aW1lb3V0c1tjbnRdLnR5cGUgPSBUTVBBUkFNX0FUOwor CQkJdGltZW91dHNbY250XS5maW5fdGltZSA9IGx0aW1lOworCQkJY250Kys7CisJCX0KKwor CQkvKiBBbHNvLCBzZXQgZGVhZGxvY2sgdGltZW91dCBmb3IgbG9nZ2luZyBwdXJwb3NlIGlm IG5lY2Vzc2FyeSAqLworCQlpZiAobG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzKQorCQl7 CisJCQl0aW1lb3V0c1tjbnRdLmlkID0gU1RBTkRCWV9USU1FT1VUOworCQkJdGltZW91dHNb Y250XS50eXBlID0gVE1QQVJBTV9BRlRFUjsKKwkJCXRpbWVvdXRzW2NudF0uZGVsYXlfbXMg PSBEZWFkbG9ja1RpbWVvdXQ7CisJCQljbnQrKzsKKwkJfQorCisJCWlmIChjbnQgPiAwKQor CQkJZW5hYmxlX3RpbWVvdXRzKHRpbWVvdXRzLCBjbnQpOworCX0KKwllbHNlCiAJewogCQkv KgogCQkgKiBXZSdyZSBhbHJlYWR5IGJlaGluZCwgc28gY2xlYXIgYSBwYXRoIGFzIHF1aWNr bHkgYXMgcG9zc2libGUuCkBAIC00MTksMjYgKzUyMSwxNSBAQCBSZXNvbHZlUmVjb3ZlcnlD b25mbGljdFdpdGhMb2NrKExPQ0tUQUcgbG9ja3RhZykKIAogCQkvKgogCQkgKiBQcmV2ZW50 IFJlc29sdmVSZWNvdmVyeUNvbmZsaWN0V2l0aFZpcnR1YWxYSURzKCkgZnJvbSByZXBvcnRp bmcKLQkJICogIndhaXRpbmciIGluIFBTIGRpc3BsYXkgYnkgZGlzYWJsaW5nIGl0cyBhcmd1 bWVudCByZXBvcnRfd2FpdGluZwotCQkgKiBiZWNhdXNlIHRoZSBjYWxsZXIsIFdhaXRPbkxv Y2soKSwgaGFzIGFscmVhZHkgcmVwb3J0ZWQgdGhhdC4KKwkJICogIndhaXRpbmciIGluIFBT IGRpc3BsYXkgYW5kIGxvZ2dpbmcgcmVjb3ZlcnkgY29uZmxpY3QgYnkgZGlzYWJsaW5nCisJ CSAqIGl0cyBhcmd1bWVudCByZXBvcnRfd2FpdGluZyBiZWNhdXNlIHRoZSBjYWxsZXJzIGhh dmUgYWxyZWFkeSByZXBvcnRlZAorCQkgKiB0aGF0LgogCQkgKi8KIAkJUmVzb2x2ZVJlY292 ZXJ5Q29uZmxpY3RXaXRoVmlydHVhbFhJRHMoYmFja2VuZHMsCiAJCQkJCQkJCQkJCSAgIFBS T0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfTE9DSywKIAkJCQkJCQkJCQkJICAgUEdfV0FJVF9M T0NLIHwgbG9ja3RhZy5sb2NrdGFnX3R5cGUsCiAJCQkJCQkJCQkJCSAgIGZhbHNlKTsKIAl9 Ci0JZWxzZQotCXsKLQkJLyoKLQkJICogV2FpdCAob3Igd2FpdCBhZ2FpbikgdW50aWwgbHRp bWUKLQkJICovCi0JCUVuYWJsZVRpbWVvdXRQYXJhbXMgdGltZW91dHNbMV07Ci0KLQkJdGlt ZW91dHNbMF0uaWQgPSBTVEFOREJZX0xPQ0tfVElNRU9VVDsKLQkJdGltZW91dHNbMF0udHlw ZSA9IFRNUEFSQU1fQVQ7Ci0JCXRpbWVvdXRzWzBdLmZpbl90aW1lID0gbHRpbWU7Ci0JCWVu YWJsZV90aW1lb3V0cyh0aW1lb3V0cywgMSk7Ci0JfQogCiAJLyogV2FpdCB0byBiZSBzaWdu YWxlZCBieSB0aGUgcmVsZWFzZSBvZiB0aGUgUmVsYXRpb24gTG9jayAqLwogCVByb2NXYWl0 Rm9yU2lnbmFsKFBHX1dBSVRfTE9DSyB8IGxvY2t0YWcubG9ja3RhZ190eXBlKTsKQEAgLTEx MTYsMyArMTIwNywzNiBAQCBMb2dTdGFuZGJ5SW52YWxpZGF0aW9ucyhpbnQgbm1zZ3MsIFNo YXJlZEludmFsaWRhdGlvbk1lc3NhZ2UgKm1zZ3MsCiAJCQkJCSBubXNncyAqIHNpemVvZihT aGFyZWRJbnZhbGlkYXRpb25NZXNzYWdlKSk7CiAJWExvZ0luc2VydChSTV9TVEFOREJZX0lE LCBYTE9HX0lOVkFMSURBVElPTlMpOwogfQorCisvKiBSZXR1cm4gdGhlIGRlc2NyaXB0aW9u IG9mIHJlY292ZXJ5IGNvbmZsaWN0ICovCitzdGF0aWMgY29uc3QgY2hhciAqCitnZXRfcmVj b3ZlcnlfY29uZmxpY3RfZGVzYyhQcm9jU2lnbmFsUmVhc29uIHJlYXNvbikKK3sKKwljb25z dCBjaGFyICpyZWFzb25EZXNjID0gZ2V0dGV4dF9ub29wKCJ1bmtub3duIHJlYXNvbiIpOwor CisJc3dpdGNoIChyZWFzb24pCisJeworCQljYXNlIFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJ Q1RfQlVGRkVSUElOOgorCQkJcmVhc29uRGVzYyA9IGdldHRleHRfbm9vcCgicmVjb3Zlcnkg aXMgc3RpbGwgd2FpdGluZyByZWNvdmVyeSBjb25mbGljdCBvbiBidWZmZXIgcGluIik7CisJ CQlicmVhazsKKwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0xPQ0s6CisJCQly ZWFzb25EZXNjID0gZ2V0dGV4dF9ub29wKCJyZWNvdmVyeSBpcyBzdGlsbCB3YWl0aW5nIHJl Y292ZXJ5IGNvbmZsaWN0IG9uIGxvY2siKTsKKwkJCWJyZWFrOworCQljYXNlIFBST0NTSUdf UkVDT1ZFUllfQ09ORkxJQ1RfVEFCTEVTUEFDRToKKwkJCXJlYXNvbkRlc2MgPSBnZXR0ZXh0 X25vb3AoInJlY292ZXJ5IGlzIHN0aWxsIHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24g dGFibGVzcGFjZSIpOworCQkJYnJlYWs7CisJCWNhc2UgUFJPQ1NJR19SRUNPVkVSWV9DT05G TElDVF9TTkFQU0hPVDoKKwkJCXJlYXNvbkRlc2MgPSBnZXR0ZXh0X25vb3AoInJlY292ZXJ5 IGlzIHN0aWxsIHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gc25hcHNob3QiKTsKKwkJ CWJyZWFrOworCQljYXNlIFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfU1RBUlRVUF9ERUFE TE9DSzoKKwkJCXJlYXNvbkRlc2MgPSBnZXR0ZXh0X25vb3AoInJlY292ZXJ5IGlzIHN0aWxs IHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gYnVmZmVyIGRlYWRsb2NrIik7CisJCQli cmVhazsKKwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0RBVEFCQVNFOgorCQkJ cmVhc29uRGVzYyA9IGdldHRleHRfbm9vcCgicmVjb3ZlcnkgaXMgc3RpbGwgd2FpdGluZyBy ZWNvdmVyeSBjb25mbGljdCBvbiBkYXRhYmFzZSIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6 CisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmVhc29uRGVzYzsKK30KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdl L2xtZ3IvcHJvYy5jCmluZGV4IDg4NTY2YmQ5ZmEuLjdkNjg0YTkxYjQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQvc3Rv cmFnZS9sbWdyL3Byb2MuYwpAQCAtMTA2OCw3ICsxMDY4LDkgQEAgUHJvY1NsZWVwKExPQ0FM TE9DSyAqbG9jYWxsb2NrLCBMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSkKIAlQcm9jV2Fp dFN0YXR1cyBteVdhaXRTdGF0dXM7CiAJUEdQUk9DCSAgICpwcm9jOwogCVBHUFJPQwkgICAq bGVhZGVyID0gTXlQcm9jLT5sb2NrR3JvdXBMZWFkZXI7CisJVGltZXN0YW1wVHogc3RhbmRi eVdhaXRTdGFydCA9IDA7CiAJaW50CQkJaTsKKwlib29sICAgICAgICBsb2dnZWRfcmVjb3Zl cnlfY29uZmxpY3QgPSBmYWxzZTsKIAogCS8qCiAJICogSWYgZ3JvdXAgbG9ja2luZyBpcyBp biB1c2UsIGxvY2tzIGhlbGQgYnkgbWVtYmVycyBvZiBteSBsb2NraW5nIGdyb3VwCkBAIC0x MjYwLDYgKzEyNjIsOCBAQCBQcm9jU2xlZXAoTE9DQUxMT0NLICpsb2NhbGxvY2ssIExvY2tN ZXRob2QgbG9ja01ldGhvZFRhYmxlKQogCQllbHNlCiAJCQllbmFibGVfdGltZW91dF9hZnRl cihERUFETE9DS19USU1FT1VULCBEZWFkbG9ja1RpbWVvdXQpOwogCX0KKwllbHNlCisJCXN0 YW5kYnlXYWl0U3RhcnQgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CiAKIAkvKgogCSAqIElm IHNvbWVib2R5IHdha2VzIHVzIGJldHdlZW4gTFdMb2NrUmVsZWFzZSBhbmQgV2FpdExhdGNo LCB0aGUgbGF0Y2gKQEAgLTEyODEsNiArMTI4NSwyOCBAQCBQcm9jU2xlZXAoTE9DQUxMT0NL ICpsb2NhbGxvY2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlKQogCQl7CiAJCQkvKiBT ZXQgYSB0aW1lciBhbmQgd2FpdCBmb3IgdGhhdCBvciBmb3IgdGhlIExvY2sgdG8gYmUgZ3Jh bnRlZCAqLwogCQkJUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoTG9jayhsb2NhbGxvY2st PnRhZy5sb2NrKTsKKworCQkJaWYgKGxvZ19yZWNvdmVyeV9jb25mbGljdF93YWl0cyAmJiAh bG9nZ2VkX3JlY292ZXJ5X2NvbmZsaWN0ICYmCisJCQkJVGltZXN0YW1wRGlmZmVyZW5jZUV4 Y2VlZHMoc3RhbmRieVdhaXRTdGFydCwgR2V0Q3VycmVudFRpbWVzdGFtcCgpLAorCQkJCQkJ CQkJCSAgIERlYWRsb2NrVGltZW91dCkpCisJCQl7CisJCQkJVmlydHVhbFRyYW5zYWN0aW9u SWQgKnZ4aWRzOworCQkJCWludAljbnQ7CisKKwkJCQl2eGlkcyA9CUdldExvY2tDb25mbGlj dHMoJmxvY2FsbG9jay0+dGFnLmxvY2ssCisJCQkJCQkJCQkJIEFjY2Vzc0V4Y2x1c2l2ZUxv Y2ssICZjbnQpOworCisJCQkJLyoKKwkJCQkgKiBMb2cgdGhlIHJlY292ZXJ5IGNvbmZsaWN0 IGlmIHRoZXJlIGlzIHN0aWxsIHZpcnR1YWwgdHJhbnNhY3Rpb24KKwkJCQkgKiBjb25mbGlj dGluZyB3aXRoIHRoZSBsb2NrLgorCQkJCSAqLworCQkJCWlmIChjbnQgPiAwKQorCQkJCXsK KwkJCQkJTG9nUmVjb3ZlcnlDb25mbGljdChQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0xP Q0ssCisJCQkJCQkJCQkJc3RhbmRieVdhaXRTdGFydCwgdnhpZHMpOworCQkJCQlsb2dnZWRf cmVjb3ZlcnlfY29uZmxpY3QgPSB0cnVlOworCQkJCX0KKwkJCX0KIAkJfQogCQllbHNlCiAJ CXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMgYi9zcmMvYmFj a2VuZC91dGlscy9taXNjL2d1Yy5jCmluZGV4IDU5NmJjYjdiODQuLmU1NWEyOGIxY2QgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvbWlzYy9ndWMuYwpAQCAtMTU3MCw3ICsxNTcwLDE1IEBAIHN0YXRpYyBzdHJ1 Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQlmYWxzZSwKIAkJTlVM TCwgTlVMTCwgTlVMTAogCX0sCi0KKwl7CisJCXsibG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dh aXRzIiwgUEdDX1NJR0hVUCwgTE9HR0lOR19XSEFULAorCQkJZ2V0dGV4dF9ub29wKCJMb2dz IHN0YW5kYnkgcmVjb3ZlcnkgY29uZmxpY3Qgd2FpdHMuIiksCisJCQlOVUxMCisJCX0sCisJ CSZsb2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2FpdHMsCisJCWZhbHNlLAorCQlOVUxMLCBOVUxM LCBOVUxMCisJfSwKIAl7CiAJCXsibG9nX2hvc3RuYW1lIiwgUEdDX1NJR0hVUCwgTE9HR0lO R19XSEFULAogCQkJZ2V0dGV4dF9ub29wKCJMb2dzIHRoZSBob3N0IG5hbWUgaW4gdGhlIGNv bm5lY3Rpb24gbG9ncy4iKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv cG9zdGdyZXNxbC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdy ZXNxbC5jb25mLnNhbXBsZQppbmRleCA5Y2I1NzFmN2NjLi41NjI1NjgxZThhIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC01 NTMsNiArNTUzLDggQEAKIAkJCQkJIyAgICUlID0gJyUnCiAJCQkJCSMgZS5nLiAnPCV1JSUl ZD4gJwogI2xvZ19sb2NrX3dhaXRzID0gb2ZmCQkJIyBsb2cgbG9jayB3YWl0cyA+PSBkZWFk bG9ja190aW1lb3V0CisjbG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzID0gb2ZmCSMgbG9n IHN0YW5kYnkgcmVjb3ZlcnkgY29uZmxpY3Qgd2FpdHMKKwkJCQkJIyA+PSBkZWFkbG9ja190 aW1lb3V0CiAjbG9nX3BhcmFtZXRlcl9tYXhfbGVuZ3RoID0gLTEJCSMgd2hlbiBsb2dnaW5n IHN0YXRlbWVudHMsIGxpbWl0IGxvZ2dlZAogCQkJCQkjIGJpbmQtcGFyYW1ldGVyIHZhbHVl cyB0byBOIGJ5dGVzOwogCQkJCQkjIC0xIG1lYW5zIHByaW50IGluIGZ1bGwsIDAgZGlzYWJs ZXMKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc3RhbmRieS5oIGIvc3JjL2lu Y2x1ZGUvc3RvcmFnZS9zdGFuZGJ5LmgKaW5kZXggZmFhZjFkMzgxNy4uN2RmMDA3N2E4ZSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zdGFuZGJ5LmgKKysrIGIvc3JjL2lu Y2x1ZGUvc3RvcmFnZS9zdGFuZGJ5LmgKQEAgLTIzLDYgKzIzLDcgQEAKIGV4dGVybiBpbnQJ dmFjdXVtX2RlZmVyX2NsZWFudXBfYWdlOwogZXh0ZXJuIGludAltYXhfc3RhbmRieV9hcmNo aXZlX2RlbGF5OwogZXh0ZXJuIGludAltYXhfc3RhbmRieV9zdHJlYW1pbmdfZGVsYXk7Citl eHRlcm4gYm9vbAlsb2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2FpdHM7CiAKIGV4dGVybiB2b2lk IEluaXRSZWNvdmVyeVRyYW5zYWN0aW9uRW52aXJvbm1lbnQodm9pZCk7CiBleHRlcm4gdm9p ZCBTaHV0ZG93blJlY292ZXJ5VHJhbnNhY3Rpb25FbnZpcm9ubWVudCh2b2lkKTsKQEAgLTM4 LDYgKzM5LDggQEAgZXh0ZXJuIHZvaWQgQ2hlY2tSZWNvdmVyeUNvbmZsaWN0RGVhZGxvY2so dm9pZCk7CiBleHRlcm4gdm9pZCBTdGFuZGJ5RGVhZExvY2tIYW5kbGVyKHZvaWQpOwogZXh0 ZXJuIHZvaWQgU3RhbmRieVRpbWVvdXRIYW5kbGVyKHZvaWQpOwogZXh0ZXJuIHZvaWQgU3Rh bmRieUxvY2tUaW1lb3V0SGFuZGxlcih2b2lkKTsKK2V4dGVybiB2b2lkIExvZ1JlY292ZXJ5 Q29uZmxpY3QoUHJvY1NpZ25hbFJlYXNvbiByZWFzb24sIFRpbWVzdGFtcFR6IHdhaXRTdGFy dCwKKwkJCQkJCQkJVmlydHVhbFRyYW5zYWN0aW9uSWQgKndhaXRsaXN0KTsKIAogLyoKICAq IFN0YW5kYnkgUm1nciAoUk1fU1RBTkRCWV9JRCkK --------------3F6BF8FE7FC727A51F559B41--