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 1jvC7d-0007Vh-0M for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Jul 2020 04:00:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jvC7Y-0004sx-6p for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Jul 2020 04:00:44 +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 1jvC7X-0004so-N6 for pgsql-hackers@lists.postgresql.org; Tue, 14 Jul 2020 04:00:43 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jvC7U-0001r3-Ab for pgsql-hackers@postgresql.org; Tue, 14 Jul 2020 04:00:42 +0000 Received: from hnk.local (p2604028-ipngn12401funabasi.chiba.ocn.ne.jp [180.1.110.28]) by oss.nttdata.com (Postfix) with ESMTPSA id 35EC2601C1; Tue, 14 Jul 2020 13:00:36 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.102.3 at oss.nttdata.com Subject: Re: max_slot_wal_keep_size and wal_keep_segments To: Kyotaro Horiguchi Cc: david@pgmasters.net, alvherre@2ndquadrant.com, pgsql-hackers@postgresql.org References: <6e4f9605-97f3-7eba-f989-4ae41d637d2f@oss.nttdata.com> <20200709.134743.1136524996274963021.horikyota.ntt@gmail.com> <866c681c-3082-7010-cc9e-bf3b9483c991@oss.nttdata.com> <20200713.160111.1304073320526166244.horikyota.ntt@gmail.com> From: Fujii Masao Message-ID: Date: Tue, 14 Jul 2020 13:00:35 +0900 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200713.160111.1304073320526166244.horikyota.ntt@gmail.com> Content-Type: multipart/mixed; boundary="------------DA4FF973229C5142EE79A7BD" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------DA4FF973229C5142EE79A7BD Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 2020/07/13 16:01, Kyotaro Horiguchi wrote: > At Mon, 13 Jul 2020 14:14:30 +0900, Fujii Masao wrote in >> >> >> On 2020/07/09 13:47, Kyotaro Horiguchi wrote: >>> At Thu, 9 Jul 2020 00:37:57 +0900, Fujii Masao >>> wrote in >>>> >>>> >>>> On 2020/07/02 2:18, David Steele wrote: >>>>> On 7/1/20 10:54 AM, Alvaro Herrera wrote: >>>>>> On 2020-Jul-01, Fujii Masao wrote: >>>>>> >>>>>>> On 2020/07/01 12:26, Alvaro Herrera wrote: >>>>>>>> On 2020-Jun-30, Fujii Masao wrote: >>>>>>>> >>>>>>>>> When I talked about max_slot_wal_keep_size as new feature in v13 >>>>>>>>> at the conference, I received the question like "Why are the units of >>>>>>>>> setting values in max_slot_wal_keep_size and wal_keep_segments >>>>>>>>> different?" >>>>>>>>> from audience. That difference looks confusing for users and >>>>>>>>> IMO it's better to use the same unit for them. Thought? >>>>>>>> >>>>>>>> Do we still need wal_keep_segments for anything? >>>>>>> >>>>>>> Yeah, personally I like wal_keep_segments because its setting is very >>>>>>> simple and no extra operations on replication slots are necessary. >>>>>> >>>>>> Okay.  In that case I +1 the idea of renaming to wal_keep_size. >>>>> +1 for renaming to wal_keep_size. >>>> >>>> I attached the patch that renames wal_keep_segments to wal_keep_size. >>> It fails on 019_replslot_limit.pl for uncertain reason to me.. >> >> I could not reproduce this... > > Sorry for the ambiguity. The patch didn't applied on the file, and I > noticed that the reason is the wording change from master to > primary. So no problem in the latest patch. > >>> @@ -11323,7 +11329,7 @@ do_pg_stop_backup(char *labelfile, bool >>> waitforarchive, TimeLineID *stoptli_p) >>> * If archiving is enabled, wait for all the required WAL files to be >>> * archived before returning. If archiving isn't enabled, the required >>> * WAL >>> * needs to be transported via streaming replication (hopefully with >>> - * wal_keep_segments set high enough), or some more exotic mechanism like >>> + * wal_keep_size set high enough), or some more exotic mechanism like >>> * polling and copying files from pg_wal with script. We have no >>> * knowledge >>> Isn't this time a good chance to mention replication slots? >> >> +1 to do that. But I found there are other places where replication >> slots >> need to be mentioned. So I think it's better to do this as separate >> patch. > > Agreed. > >>> - "ALTER SYSTEM SET wal_keep_segments to 8; SELECT pg_reload_conf();"); >>> + "ALTER SYSTEM SET wal_keep_size to '128MB'; SELECT >>> pg_reload_conf();"); >>> wal_segment_size to 1MB here so, that conversion is not correct. >>> (However, that test works as long as it is more than >>> max_slot_wal_keep_size so it's practically no problem.) >> >> So I changed 128MB to 8MB. Is this OK? >> I attached the updated version of the patch upthread. > > That change looks find by me. Thanks for the review! The patch was no longer applied cleanly because of recent commit. So I updated the patch. Attached. Barring any objection, I will commit this patch. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------DA4FF973229C5142EE79A7BD Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="wal_keep_size_v3.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="wal_keep_size_v3.patch" ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21s L2NhdGFsb2dzLnNnbWwKaW5kZXggZTljZGZmNDg2NC4uM2Q5NzNhNWM4ZSAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NhdGFs b2dzLnNnbWwKQEAgLTExMjQ5LDcgKzExMjQ5LDcgQEAgU0VMRUNUICogRlJPTSBwZ19sb2Nr cyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAgICA8cGFyYT48 bGl0ZXJhbD5leHRlbmRlZDwvbGl0ZXJhbD4gbWVhbnMKICAgICAgICAgICB0aGF0IDx2YXJu YW1lPm1heF93YWxfc2l6ZTwvdmFybmFtZT4gaXMgZXhjZWVkZWQgYnV0IHRoZSBmaWxlcyBh cmUKICAgICAgICAgICBzdGlsbCByZXRhaW5lZCwgZWl0aGVyIGJ5IHRoZSByZXBsaWNhdGlv biBzbG90IG9yCi0gICAgICAgICAgYnkgPHZhcm5hbWU+d2FsX2tlZXBfc2VnbWVudHM8L3Zh cm5hbWU+LgorICAgICAgICAgIGJ5IDx2YXJuYW1lPndhbF9rZWVwX3NpemU8L3Zhcm5hbWU+ LgogICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgICA8bGlz dGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwKaW5kZXggYjM1M2M2MTY4My4uMzM4NGE1MTk3ZCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jb25m aWcuc2dtbApAQCAtMzEyNCw3ICszMTI0LDcgQEAgaW5jbHVkZV9kaXIgJ2NvbmYuZCcKICAg ICAgICAgY2hlY2twb2ludHMuIFRoaXMgaXMgYSBzb2Z0IGxpbWl0OyBXQUwgc2l6ZSBjYW4g ZXhjZWVkCiAgICAgICAgIDx2YXJuYW1lPm1heF93YWxfc2l6ZTwvdmFybmFtZT4gdW5kZXIg c3BlY2lhbCBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzCiAgICAgICAgIGhlYXZ5IGxvYWQsIGEg ZmFpbGluZyA8dmFybmFtZT5hcmNoaXZlX2NvbW1hbmQ8L3Zhcm5hbWU+LCBvciBhIGhpZ2gK LSAgICAgICAgPHZhcm5hbWU+d2FsX2tlZXBfc2VnbWVudHM8L3Zhcm5hbWU+IHNldHRpbmcu CisgICAgICAgIDx2YXJuYW1lPndhbF9rZWVwX3NpemU8L3Zhcm5hbWU+IHNldHRpbmcuCiAg ICAgICAgIElmIHRoaXMgdmFsdWUgaXMgc3BlY2lmaWVkIHdpdGhvdXQgdW5pdHMsIGl0IGlz IHRha2VuIGFzIG1lZ2FieXRlcy4KICAgICAgICAgVGhlIGRlZmF1bHQgaXMgMSBHQi4KICAg ICAgICAgSW5jcmVhc2luZyB0aGlzIHBhcmFtZXRlciBjYW4gaW5jcmVhc2UgdGhlIGFtb3Vu dCBvZiB0aW1lIG5lZWRlZCBmb3IKQEAgLTM3NTEsMjEgKzM3NTEsMjEgQEAgcmVzdG9yZV9j b21tYW5kID0gJ2NvcHkgIkM6XFxzZXJ2ZXJcXGFyY2hpdmVkaXJcXCVmIiAiJXAiJyAgIyBX aW5kb3dzCiAgICAgICAgPC9saXN0aXRlbT4KICAgICAgIDwvdmFybGlzdGVudHJ5PgogCi0g ICAgICA8dmFybGlzdGVudHJ5IGlkPSJndWMtd2FsLWtlZXAtc2VnbWVudHMiIHhyZWZsYWJl bD0id2FsX2tlZXBfc2VnbWVudHMiPgotICAgICAgIDx0ZXJtPjx2YXJuYW1lPndhbF9rZWVw X3NlZ21lbnRzPC92YXJuYW1lPiAoPHR5cGU+aW50ZWdlcjwvdHlwZT4pCisgICAgICA8dmFy bGlzdGVudHJ5IGlkPSJndWMtd2FsLWtlZXAtc2l6ZSIgeHJlZmxhYmVsPSJ3YWxfa2VlcF9z aXplIj4KKyAgICAgICA8dGVybT48dmFybmFtZT53YWxfa2VlcF9zaXplPC92YXJuYW1lPiAo PHR5cGU+aW50ZWdlcjwvdHlwZT4pCiAgICAgICAgPGluZGV4dGVybT4KLSAgICAgICAgPHBy aW1hcnk+PHZhcm5hbWU+d2FsX2tlZXBfc2VnbWVudHM8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRp b24gcGFyYW1ldGVyPC9wcmltYXJ5PgorICAgICAgICA8cHJpbWFyeT48dmFybmFtZT53YWxf a2VlcF9zaXplPC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjwvcHJpbWFyeT4K ICAgICAgICA8L2luZGV4dGVybT4KICAgICAgICA8L3Rlcm0+CiAgICAgICAgPGxpc3RpdGVt PgogICAgICAgIDxwYXJhPgotICAgICAgICBTcGVjaWZpZXMgdGhlIG1pbmltdW0gbnVtYmVy IG9mIHBhc3QgbG9nIGZpbGUgc2VnbWVudHMga2VwdCBpbiB0aGUKKyAgICAgICAgU3BlY2lm aWVzIHRoZSBtaW5pbXVtIHNpemUgb2YgcGFzdCBsb2cgZmlsZSBzZWdtZW50cyBrZXB0IGlu IHRoZQogICAgICAgICA8ZmlsZW5hbWU+cGdfd2FsPC9maWxlbmFtZT4KICAgICAgICAgZGly ZWN0b3J5LCBpbiBjYXNlIGEgc3RhbmRieSBzZXJ2ZXIgbmVlZHMgdG8gZmV0Y2ggdGhlbSBm b3Igc3RyZWFtaW5nCi0gICAgICAgIHJlcGxpY2F0aW9uLiBFYWNoIHNlZ21lbnQgaXMgbm9y bWFsbHkgMTYgbWVnYWJ5dGVzLiBJZiBhIHN0YW5kYnkKKyAgICAgICAgcmVwbGljYXRpb24u IElmIGEgc3RhbmRieQogICAgICAgICBzZXJ2ZXIgY29ubmVjdGVkIHRvIHRoZSBzZW5kaW5n IHNlcnZlciBmYWxscyBiZWhpbmQgYnkgbW9yZSB0aGFuCi0gICAgICAgIDx2YXJuYW1lPndh bF9rZWVwX3NlZ21lbnRzPC92YXJuYW1lPiBzZWdtZW50cywgdGhlIHNlbmRpbmcgc2VydmVy IG1pZ2h0IHJlbW92ZQotICAgICAgICBhIFdBTCBzZWdtZW50IHN0aWxsIG5lZWRlZCBieSB0 aGUgc3RhbmRieSwgaW4gd2hpY2ggY2FzZSB0aGUKKyAgICAgICAgPHZhcm5hbWU+d2FsX2tl ZXBfc2l6ZTwvdmFybmFtZT4gbWVnYWJ5dGVzLCB0aGUgc2VuZGluZyBzZXJ2ZXIgbWlnaHQK KyAgICAgICAgcmVtb3ZlIGEgV0FMIHNlZ21lbnQgc3RpbGwgbmVlZGVkIGJ5IHRoZSBzdGFu ZGJ5LCBpbiB3aGljaCBjYXNlIHRoZQogICAgICAgICByZXBsaWNhdGlvbiBjb25uZWN0aW9u IHdpbGwgYmUgdGVybWluYXRlZC4gIERvd25zdHJlYW0gY29ubmVjdGlvbnMKICAgICAgICAg d2lsbCBhbHNvIGV2ZW50dWFsbHkgZmFpbCBhcyBhIHJlc3VsdC4gIChIb3dldmVyLCB0aGUg c3RhbmRieQogICAgICAgICBzZXJ2ZXIgY2FuIHJlY292ZXIgYnkgZmV0Y2hpbmcgdGhlIHNl Z21lbnQgZnJvbSBhcmNoaXZlLCBpZiBXQUwKQEAgLTM3NzMsMTQgKzM3NzMsMTUgQEAgcmVz dG9yZV9jb21tYW5kID0gJ2NvcHkgIkM6XFxzZXJ2ZXJcXGFyY2hpdmVkaXJcXCVmIiAiJXAi JyAgIyBXaW5kb3dzCiAgICAgICAgPC9wYXJhPgogCiAgICAgICAgPHBhcmE+Ci0gICAgICAg IFRoaXMgc2V0cyBvbmx5IHRoZSBtaW5pbXVtIG51bWJlciBvZiBzZWdtZW50cyByZXRhaW5l ZCBpbgorICAgICAgICBUaGlzIHNldHMgb25seSB0aGUgbWluaW11bSBzaXplIG9mIHNlZ21l bnRzIHJldGFpbmVkIGluCiAgICAgICAgIDxmaWxlbmFtZT5wZ193YWw8L2ZpbGVuYW1lPjsg dGhlIHN5c3RlbSBtaWdodCBuZWVkIHRvIHJldGFpbiBtb3JlIHNlZ21lbnRzCiAgICAgICAg IGZvciBXQUwgYXJjaGl2YWwgb3IgdG8gcmVjb3ZlciBmcm9tIGEgY2hlY2twb2ludC4gSWYK LSAgICAgICAgPHZhcm5hbWU+d2FsX2tlZXBfc2VnbWVudHM8L3Zhcm5hbWU+IGlzIHplcm8g KHRoZSBkZWZhdWx0KSwgdGhlIHN5c3RlbQorICAgICAgICA8dmFybmFtZT53YWxfa2VlcF9z aXplPC92YXJuYW1lPiBpcyB6ZXJvICh0aGUgZGVmYXVsdCksIHRoZSBzeXN0ZW0KICAgICAg ICAgZG9lc24ndCBrZWVwIGFueSBleHRyYSBzZWdtZW50cyBmb3Igc3RhbmRieSBwdXJwb3Nl cywgc28gdGhlIG51bWJlcgogICAgICAgICBvZiBvbGQgV0FMIHNlZ21lbnRzIGF2YWlsYWJs ZSB0byBzdGFuZGJ5IHNlcnZlcnMgaXMgYSBmdW5jdGlvbiBvZgogICAgICAgICB0aGUgbG9j YXRpb24gb2YgdGhlIHByZXZpb3VzIGNoZWNrcG9pbnQgYW5kIHN0YXR1cyBvZiBXQUwKICAg ICAgICAgYXJjaGl2aW5nLgorICAgICAgICBJZiB0aGlzIHZhbHVlIGlzIHNwZWNpZmllZCB3 aXRob3V0IHVuaXRzLCBpdCBpcyB0YWtlbiBhcyBtZWdhYnl0ZXMuCiAgICAgICAgIFRoaXMg cGFyYW1ldGVyIGNhbiBvbmx5IGJlIHNldCBpbiB0aGUKICAgICAgICAgPGZpbGVuYW1lPnBv c3RncmVzcWwuY29uZjwvZmlsZW5hbWU+IGZpbGUgb3Igb24gdGhlIHNlcnZlciBjb21tYW5k IGxpbmUuCiAgICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2hpZ2gt YXZhaWxhYmlsaXR5LnNnbWwgYi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dt bAppbmRleCA2YTkxODRmMzE0Li44OWY2ZDZlZGE2IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFp bGFiaWxpdHkuc2dtbApAQCAtNzg1LDcgKzc4NSw3IEBAIGFyY2hpdmVfY2xlYW51cF9jb21t YW5kID0gJ3BnX2FyY2hpdmVjbGVhbnVwIC9wYXRoL3RvL2FyY2hpdmUgJXInCiAgICAgYXJj aGl2aW5nLCB0aGUgc2VydmVyIG1pZ2h0IHJlY3ljbGUgb2xkIFdBTCBzZWdtZW50cyBiZWZv cmUgdGhlIHN0YW5kYnkKICAgICBoYXMgcmVjZWl2ZWQgdGhlbS4gIElmIHRoaXMgb2NjdXJz LCB0aGUgc3RhbmRieSB3aWxsIG5lZWQgdG8gYmUKICAgICByZWluaXRpYWxpemVkIGZyb20g YSBuZXcgYmFzZSBiYWNrdXAuICBZb3UgY2FuIGF2b2lkIHRoaXMgYnkgc2V0dGluZwotICAg IDx2YXJuYW1lPndhbF9rZWVwX3NlZ21lbnRzPC92YXJuYW1lPiB0byBhIHZhbHVlIGxhcmdl IGVub3VnaCB0byBlbnN1cmUgdGhhdAorICAgIDx2YXJuYW1lPndhbF9rZWVwX3NpemU8L3Zh cm5hbWU+IHRvIGEgdmFsdWUgbGFyZ2UgZW5vdWdoIHRvIGVuc3VyZSB0aGF0CiAgICAgV0FM IHNlZ21lbnRzIGFyZSBub3QgcmVjeWNsZWQgdG9vIGVhcmx5LCBvciBieSBjb25maWd1cmlu ZyBhIHJlcGxpY2F0aW9uCiAgICAgc2xvdCBmb3IgdGhlIHN0YW5kYnkuICBJZiB5b3Ugc2V0 IHVwIGEgV0FMIGFyY2hpdmUgdGhhdCdzIGFjY2Vzc2libGUgZnJvbQogICAgIHRoZSBzdGFu ZGJ5LCB0aGVzZSBzb2x1dGlvbnMgYXJlIG5vdCByZXF1aXJlZCwgc2luY2UgdGhlIHN0YW5k YnkgY2FuCkBAIC05MjksNyArOTI5LDcgQEAgcHJpbWFyeV9jb25uaW5mbyA9ICdob3N0PTE5 Mi4xNjguMS41MCBwb3J0PTU0MzIgdXNlcj1mb28gcGFzc3dvcmQ9Zm9vcGFzcycKICAgIDwv cGFyYT4KICAgIDxwYXJhPgogICAgIEluIGxpZXUgb2YgdXNpbmcgcmVwbGljYXRpb24gc2xv dHMsIGl0IGlzIHBvc3NpYmxlIHRvIHByZXZlbnQgdGhlIHJlbW92YWwKLSAgICBvZiBvbGQg V0FMIHNlZ21lbnRzIHVzaW5nIDx4cmVmIGxpbmtlbmQ9Imd1Yy13YWwta2VlcC1zZWdtZW50 cyIvPiwgb3IgYnkKKyAgICBvZiBvbGQgV0FMIHNlZ21lbnRzIHVzaW5nIDx4cmVmIGxpbmtl bmQ9Imd1Yy13YWwta2VlcC1zaXplIi8+LCBvciBieQogICAgIHN0b3JpbmcgdGhlIHNlZ21l bnRzIGluIGFuIGFyY2hpdmUgdXNpbmcKICAgICA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2 ZS1jb21tYW5kIi8+LgogICAgIEhvd2V2ZXIsIHRoZXNlIG1ldGhvZHMgb2Z0ZW4gcmVzdWx0 IGluIHJldGFpbmluZyBtb3JlIFdBTCBzZWdtZW50cyB0aGFuCmRpZmYgLS1naXQgYS9kb2Mv c3JjL3NnbWwvcmVmL3BnX2Jhc2ViYWNrdXAuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcGdf YmFzZWJhY2t1cC5zZ21sCmluZGV4IGFhNDFmYjQ0NGYuLmUyNDZlZmJkYjUgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfYmFzZWJhY2t1cC5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvcGdfYmFzZWJhY2t1cC5zZ21sCkBAIC0zMDUsNyArMzA1LDcgQEAgUG9zdGdy ZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhl IHdyaXRlLWFoZWFkIGxvZyBmaWxlcyBhcmUgY29sbGVjdGVkIGF0IHRoZSBlbmQgb2YgdGhl IGJhY2t1cC4KICAgICAgICAgICAgIFRoZXJlZm9yZSwgaXQgaXMgbmVjZXNzYXJ5IGZvciB0 aGUKLSAgICAgICAgICAgIDx4cmVmIGxpbmtlbmQ9Imd1Yy13YWwta2VlcC1zZWdtZW50cyIv PiBwYXJhbWV0ZXIgdG8gYmUgc2V0IGhpZ2gKKyAgICAgICAgICAgIDx4cmVmIGxpbmtlbmQ9 Imd1Yy13YWwta2VlcC1zaXplIi8+IHBhcmFtZXRlciB0byBiZSBzZXQgaGlnaAogICAgICAg ICAgICAgIGVub3VnaCB0aGF0IHRoZSBsb2cgaXMgbm90IHJlbW92ZWQgYmVmb3JlIHRoZSBl bmQgb2YgdGhlIGJhY2t1cC4KICAgICAgICAgICAgICBJZiB0aGUgbG9nIGhhcyBiZWVuIHJv dGF0ZWQgd2hlbiBpdCdzIHRpbWUgdG8gdHJhbnNmZXIgaXQsIHRoZQogICAgICAgICAgICAg IGJhY2t1cCB3aWxsIGZhaWwgYW5kIGJlIHVudXNhYmxlLgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3dhbC5zZ21sIGIvZG9jL3NyYy9zZ21sL3dhbC5zZ21sCmluZGV4IDE5MDJmMzYy OTEuLmZmMzYyNWY4NTUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC93YWwuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvd2FsLnNnbWwKQEAgLTU3OCw3ICs1NzgsOCBAQAogCiAgIDxwYXJh PgogICAgSW5kZXBlbmRlbnRseSBvZiA8dmFybmFtZT5tYXhfd2FsX3NpemU8L3Zhcm5hbWU+ LAotICAgPHhyZWYgbGlua2VuZD0iZ3VjLXdhbC1rZWVwLXNlZ21lbnRzIi8+ICsgMSBtb3N0 IHJlY2VudCBXQUwgZmlsZXMgYXJlCisgICB0aGUgPHhyZWYgbGlua2VuZD0iZ3VjLXdhbC1r ZWVwLXNpemUiLz4gbW9zdCByZWNlbnQgbWVnYWJ5dGVzCisgICBXQUwgZmlsZXMgcGx1cyBv bmUgV0FMIGZpbGUgYXJlCiAgICBrZXB0IGF0IGFsbCB0aW1lcy4gQWxzbywgaWYgV0FMIGFy Y2hpdmluZyBpcyB1c2VkLCBvbGQgc2VnbWVudHMgY2FuIG5vdCBiZQogICAgcmVtb3ZlZCBv ciByZWN5Y2xlZCB1bnRpbCB0aGV5IGFyZSBhcmNoaXZlZC4gSWYgV0FMIGFyY2hpdmluZyBj YW5ub3Qga2VlcCB1cAogICAgd2l0aCB0aGUgcGFjZSB0aGF0IFdBTCBpcyBnZW5lcmF0ZWQs IG9yIGlmIDx2YXJuYW1lPmFyY2hpdmVfY29tbWFuZDwvdmFybmFtZT4KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL3hsb2cuYwppbmRleCAwYTk3YjFkMzdmLi4xODRjNjY3MmYzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCkBAIC04OCw3ICs4OCw3IEBAIGV4dGVybiB1aW50 MzIgYm9vdHN0cmFwX2RhdGFfY2hlY2tzdW1fdmVyc2lvbjsKIC8qIFVzZXItc2V0dGFibGUg cGFyYW1ldGVycyAqLwogaW50CQkJbWF4X3dhbF9zaXplX21iID0gMTAyNDsgLyogMSBHQiAq LwogaW50CQkJbWluX3dhbF9zaXplX21iID0gODA7CS8qIDgwIE1CICovCi1pbnQJCQl3YWxf a2VlcF9zZWdtZW50cyA9IDA7CitpbnQJCQl3YWxfa2VlcF9zaXplX21iID0gMDsKIGludAkJ CVhMT0didWZmZXJzID0gLTE7CiBpbnQJCQlYTG9nQXJjaGl2ZVRpbWVvdXQgPSAwOwogaW50 CQkJWExvZ0FyY2hpdmVNb2RlID0gQVJDSElWRV9NT0RFX09GRjsKQEAgLTk1MjUsNyArOTUy NSw3IEBAIEdldFdBTEF2YWlsYWJpbGl0eShYTG9nUmVjUHRyIHRhcmdldExTTikKIAogCS8q CiAJICogQ2FsY3VsYXRlIHRoZSBvbGRlc3Qgc2VnbWVudCBjdXJyZW50bHkgcmVzZXJ2ZWQg YnkgYWxsIHNsb3RzLAotCSAqIGNvbnNpZGVyaW5nIHdhbF9rZWVwX3NlZ21lbnRzIGFuZCBt YXhfc2xvdF93YWxfa2VlcF9zaXplLiAgSW5pdGlhbGl6ZQorCSAqIGNvbnNpZGVyaW5nIHdh bF9rZWVwX3NpemUgYW5kIG1heF9zbG90X3dhbF9rZWVwX3NpemUuICBJbml0aWFsaXplCiAJ ICogb2xkZXN0U2xvdFNlZyB0byB0aGUgY3VycmVudCBzZWdtZW50LgogCSAqLwogCWN1cnJw b3MgPSBHZXRYTG9nV3JpdGVSZWNQdHIoKTsKQEAgLTk1NzYsOSArOTU3Niw5IEBAIEdldFdB TEF2YWlsYWJpbGl0eShYTG9nUmVjUHRyIHRhcmdldExTTikKIAogLyoKICAqIFJldHJlYXQg KmxvZ1NlZ05vIHRvIHRoZSBsYXN0IHNlZ21lbnQgdGhhdCB3ZSBuZWVkIHRvIHJldGFpbiBi ZWNhdXNlIG9mCi0gKiBlaXRoZXIgd2FsX2tlZXBfc2VnbWVudHMgb3IgcmVwbGljYXRpb24g c2xvdHMuCisgKiBlaXRoZXIgd2FsX2tlZXBfc2l6ZSBvciByZXBsaWNhdGlvbiBzbG90cy4K ICAqCi0gKiBUaGlzIGlzIGNhbGN1bGF0ZWQgYnkgc3VidHJhY3Rpbmcgd2FsX2tlZXBfc2Vn bWVudHMgZnJvbSB0aGUgZ2l2ZW4geGxvZworICogVGhpcyBpcyBjYWxjdWxhdGVkIGJ5IHN1 YnRyYWN0aW5nIHdhbF9rZWVwX3NpemUgZnJvbSB0aGUgZ2l2ZW4geGxvZwogICogbG9jYXRp b24sIHJlY3B0ciBhbmQgYnkgbWFraW5nIHN1cmUgdGhhdCB0aGF0IHJlc3VsdCBpcyBiZWxv dyB0aGUKICAqIHJlcXVpcmVtZW50IG9mIHJlcGxpY2F0aW9uIHNsb3RzLiAgRm9yIHRoZSBs YXR0ZXIgY3JpdGVyaW9uIHdlIGRvIGNvbnNpZGVyCiAgKiB0aGUgZWZmZWN0cyBvZiBtYXhf c2xvdF93YWxfa2VlcF9zaXplOiByZXNlcnZlIGF0IG1vc3QgdGhhdCBtdWNoIHNwYWNlIGJh Y2sKQEAgLTk2MTYsMTQgKzk2MTYsMjAgQEAgS2VlcExvZ1NlZyhYTG9nUmVjUHRyIHJlY3B0 ciwgWExvZ1NlZ05vICpsb2dTZWdObykKIAkJfQogCX0KIAotCS8qIGJ1dCwga2VlcCBhdCBs ZWFzdCB3YWxfa2VlcF9zZWdtZW50cyBpZiB0aGF0J3Mgc2V0ICovCi0JaWYgKHdhbF9rZWVw X3NlZ21lbnRzID4gMCAmJiBjdXJyU2VnTm8gLSBzZWdubyA8IHdhbF9rZWVwX3NlZ21lbnRz KQorCS8qIGJ1dCwga2VlcCBhdCBsZWFzdCB3YWxfa2VlcF9zaXplIGlmIHRoYXQncyBzZXQg Ki8KKwlpZiAod2FsX2tlZXBfc2l6ZV9tYiA+IDApCiAJewotCQkvKiBhdm9pZCB1bmRlcmZs b3csIGRvbid0IGdvIGJlbG93IDEgKi8KLQkJaWYgKGN1cnJTZWdObyA8PSB3YWxfa2VlcF9z ZWdtZW50cykKLQkJCXNlZ25vID0gMTsKLQkJZWxzZQotCQkJc2Vnbm8gPSBjdXJyU2VnTm8g LSB3YWxfa2VlcF9zZWdtZW50czsKKwkJdWludDY0CQlrZWVwX3NlZ3M7CisKKwkJa2VlcF9z ZWdzID0gQ29udmVydFRvWFNlZ3Mod2FsX2tlZXBfc2l6ZV9tYiwgd2FsX3NlZ21lbnRfc2l6 ZSk7CisJCWlmIChjdXJyU2VnTm8gLSBzZWdubyA8IGtlZXBfc2VncykKKwkJeworCQkJLyog YXZvaWQgdW5kZXJmbG93LCBkb24ndCBnbyBiZWxvdyAxICovCisJCQlpZiAoY3VyclNlZ05v IDw9IGtlZXBfc2VncykKKwkJCQlzZWdubyA9IDE7CisJCQllbHNlCisJCQkJc2Vnbm8gPSBj dXJyU2VnTm8gLSBrZWVwX3NlZ3M7CisJCX0KIAl9CiAKIAkvKiBkb24ndCBkZWxldGUgV0FM IHNlZ21lbnRzIG5ld2VyIHRoYW4gdGhlIGNhbGN1bGF0ZWQgc2VnbWVudCAqLwpAQCAtMTEz MjgsNyArMTEzMzQsNyBAQCBkb19wZ19zdG9wX2JhY2t1cChjaGFyICpsYWJlbGZpbGUsIGJv b2wgd2FpdGZvcmFyY2hpdmUsIFRpbWVMaW5lSUQgKnN0b3B0bGlfcCkKIAkgKiBJZiBhcmNo aXZpbmcgaXMgZW5hYmxlZCwgd2FpdCBmb3IgYWxsIHRoZSByZXF1aXJlZCBXQUwgZmlsZXMg dG8gYmUKIAkgKiBhcmNoaXZlZCBiZWZvcmUgcmV0dXJuaW5nLiBJZiBhcmNoaXZpbmcgaXNu J3QgZW5hYmxlZCwgdGhlIHJlcXVpcmVkIFdBTAogCSAqIG5lZWRzIHRvIGJlIHRyYW5zcG9y dGVkIHZpYSBzdHJlYW1pbmcgcmVwbGljYXRpb24gKGhvcGVmdWxseSB3aXRoCi0JICogd2Fs X2tlZXBfc2VnbWVudHMgc2V0IGhpZ2ggZW5vdWdoKSwgb3Igc29tZSBtb3JlIGV4b3RpYyBt ZWNoYW5pc20gbGlrZQorCSAqIHdhbF9rZWVwX3NpemUgc2V0IGhpZ2ggZW5vdWdoKSwgb3Ig c29tZSBtb3JlIGV4b3RpYyBtZWNoYW5pc20gbGlrZQogCSAqIHBvbGxpbmcgYW5kIGNvcHlp bmcgZmlsZXMgZnJvbSBwZ193YWwgd2l0aCBzY3JpcHQuIFdlIGhhdmUgbm8ga25vd2xlZGdl CiAJICogb2YgdGhvc2UgbWVjaGFuaXNtcywgc28gaXQncyB1cCB0byB0aGUgdXNlciB0byBl bnN1cmUgdGhhdCBoZSBnZXRzIGFsbAogCSAqIHRoZSByZXF1aXJlZCBXQUwuCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL3Nsb3RmdW5jcy5jCmluZGV4IDlmZTE0N2JmNDQuLmY4ODY5NDY3MmYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3RmdW5jcy5jCisrKyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3RmdW5jcy5jCkBAIC00MTMsMTkgKzQxMywy MCBAQCBwZ19nZXRfcmVwbGljYXRpb25fc2xvdHMoUEdfRlVOQ1RJT05fQVJHUykKIAkJZWxz ZQogCQl7CiAJCQlYTG9nU2VnTm8gICB0YXJnZXRTZWc7Ci0JCQlYTG9nU2VnTm8gICBrZWVw U2VnczsKKwkJCXVpbnQ2NCAgIHNsb3RLZWVwU2VnczsKKwkJCXVpbnQ2NCAgIGtlZXBTZWdz OwogCQkJWExvZ1NlZ05vICAgZmFpbFNlZzsKIAkJCVhMb2dSZWNQdHIgIGZhaWxMU047CiAK IAkJCVhMQnl0ZVRvU2VnKHNsb3RfY29udGVudHMuZGF0YS5yZXN0YXJ0X2xzbiwgdGFyZ2V0 U2VnLCB3YWxfc2VnbWVudF9zaXplKTsKIAotCQkJLyogZGV0ZXJtaW5lIGhvdyBtYW55IHNl Z21lbnRzIHNsb3RzIGNhbiBiZSBrZXB0IGJ5IHNsb3RzIC4uLiAqLwotCQkJa2VlcFNlZ3Mg PSBYTG9nTUJWYXJUb1NlZ3MobWF4X3Nsb3Rfd2FsX2tlZXBfc2l6ZV9tYiwgd2FsX3NlZ21l bnRfc2l6ZSk7Ci0JCQkvKiAuLi4gYW5kIG92ZXJyaWRlIGJ5IHdhbF9rZWVwX3NlZ21lbnRz IGFzIG5lZWRlZCAqLwotCQkJa2VlcFNlZ3MgPSBNYXgoa2VlcFNlZ3MsIHdhbF9rZWVwX3Nl Z21lbnRzKTsKKwkJCS8qIGRldGVybWluZSBob3cgbWFueSBzZWdtZW50cyBzbG90cyBjYW4g YmUga2VwdCBieSBzbG90cyAqLworCQkJc2xvdEtlZXBTZWdzID0gWExvZ01CVmFyVG9TZWdz KG1heF9zbG90X3dhbF9rZWVwX3NpemVfbWIsIHdhbF9zZWdtZW50X3NpemUpOworCQkJLyog ZGl0dG8gZm9yIHdhbF9rZWVwX3NpemUgKi8KKwkJCWtlZXBTZWdzID0gWExvZ01CVmFyVG9T ZWdzKHdhbF9rZWVwX3NpemVfbWIsIHdhbF9zZWdtZW50X3NpemUpOwogCiAJCQkvKiBpZiBj dXJycG9zIHJlYWNoZXMgZmFpbExTTiwgd2UgbG9zZSBvdXIgc2VnbWVudCAqLwotCQkJZmFp bFNlZyA9IHRhcmdldFNlZyArIGtlZXBTZWdzICsgMTsKKwkJCWZhaWxTZWcgPSB0YXJnZXRT ZWcgKyBNYXgoc2xvdEtlZXBTZWdzLCBrZWVwU2VncykgKyAxOwogCQkJWExvZ1NlZ05vT2Zm c2V0VG9SZWNQdHIoZmFpbFNlZywgMCwgd2FsX3NlZ21lbnRfc2l6ZSwgZmFpbExTTik7CiAK IAkJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShmYWlsTFNOIC0gY3Vycmxzbik7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWMuYwppbmRleCAwMzFjYTAzMjdmLi44YjcxZDE2ZjkyIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21pc2MvZ3VjLmMKQEAgLTI2MzEsMTIgKzI2MzEsMTMgQEAgc3RhdGljIHN0cnVjdCBj b25maWdfaW50IENvbmZpZ3VyZU5hbWVzSW50W10gPQogCX0sCiAKIAl7Ci0JCXsid2FsX2tl ZXBfc2VnbWVudHMiLCBQR0NfU0lHSFVQLCBSRVBMSUNBVElPTl9TRU5ESU5HLAotCQkJZ2V0 dGV4dF9ub29wKCJTZXRzIHRoZSBudW1iZXIgb2YgV0FMIGZpbGVzIGhlbGQgZm9yIHN0YW5k Ynkgc2VydmVycy4iKSwKLQkJCU5VTEwKKwkJeyJ3YWxfa2VlcF9zaXplIiwgUEdDX1NJR0hV UCwgUkVQTElDQVRJT05fU0VORElORywKKwkJCWdldHRleHRfbm9vcCgiU2V0cyB0aGUgc2l6 ZSBvZiBXQUwgZmlsZXMgaGVsZCBmb3Igc3RhbmRieSBzZXJ2ZXJzLiIpLAorCQkJTlVMTCwK KwkJCUdVQ19VTklUX01CCiAJCX0sCi0JCSZ3YWxfa2VlcF9zZWdtZW50cywKLQkJMCwgMCwg SU5UX01BWCwKKwkJJndhbF9rZWVwX3NpemVfbWIsCisJCTAsIDAsIE1BWF9LSUxPQllURVMs CiAJCU5VTEwsIE5VTEwsIE5VTEwKIAl9LAogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgYi9zcmMvYmFja2VuZC91dGlscy9t aXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXggZTQzMGUzM2M3Yi4uOTBiZWI4NzA2 MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYu c2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNh bXBsZQpAQCAtMjg4LDcgKzI4OCw3IEBACiAKICNtYXhfd2FsX3NlbmRlcnMgPSAxMAkJIyBt YXggbnVtYmVyIG9mIHdhbHNlbmRlciBwcm9jZXNzZXMKIAkJCQkjIChjaGFuZ2UgcmVxdWly ZXMgcmVzdGFydCkKLSN3YWxfa2VlcF9zZWdtZW50cyA9IDAJCSMgaW4gbG9nZmlsZSBzZWdt ZW50czsgMCBkaXNhYmxlcworI3dhbF9rZWVwX3NpemUgPSAwCQkjIGluIG1lZ2FieXRlczsg MCBkaXNhYmxlcwogI21heF9zbG90X3dhbF9rZWVwX3NpemUgPSAtMQkjIGluIG1lZ2FieXRl czsgLTEgZGlzYWJsZXMKICN3YWxfc2VuZGVyX3RpbWVvdXQgPSA2MHMJIyBpbiBtaWxsaXNl Y29uZHM7IDAgZGlzYWJsZXMKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19yZXdpbmQvdC9S ZXdpbmRUZXN0LnBtIGIvc3JjL2Jpbi9wZ19yZXdpbmQvdC9SZXdpbmRUZXN0LnBtCmluZGV4 IDc1MTZhZjdhMDEuLjQxZWQ3ZDRiM2IgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfcmV3aW5k L3QvUmV3aW5kVGVzdC5wbQorKysgYi9zcmMvYmluL3BnX3Jld2luZC90L1Jld2luZFRlc3Qu cG0KQEAgLTEzNSwxMSArMTM1LDExIEBAIHN1YiBzZXR1cF9jbHVzdGVyCiAJCWV4dHJhICAg ICAgICAgICAgPT4gJGV4dHJhLAogCQlhdXRoX2V4dHJhICAgICAgID0+IFsgJy0tY3JlYXRl LXJvbGUnLCAncmV3aW5kX3VzZXInIF0pOwogCi0JIyBTZXQgd2FsX2tlZXBfc2VnbWVudHMg dG8gcHJldmVudCBXQUwgc2VnbWVudCByZWN5Y2xpbmcgYWZ0ZXIgZW5mb3JjZWQKKwkjIFNl dCB3YWxfa2VlcF9zaXplIHRvIHByZXZlbnQgV0FMIHNlZ21lbnQgcmVjeWNsaW5nIGFmdGVy IGVuZm9yY2VkCiAJIyBjaGVja3BvaW50cyBpbiB0aGUgdGVzdHMuCiAJJG5vZGVfcHJpbWFy eS0+YXBwZW5kX2NvbmYoCiAJCSdwb3N0Z3Jlc3FsLmNvbmYnLCBxcSgKLXdhbF9rZWVwX3Nl Z21lbnRzID0gMjAKK3dhbF9rZWVwX3NpemUgPSAzMjBNQgogKSk7CiAJcmV0dXJuOwogfQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaCBiL3NyYy9pbmNsdWRlL2Fj Y2Vzcy94bG9nLmgKaW5kZXggNWIxNDMzNDg4Ny4uNDU2ZjBkMTMyMSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxv Zy5oCkBAIC0xMDcsNyArMTA3LDcgQEAgZXh0ZXJuIGJvb2wgcmVhY2hlZENvbnNpc3RlbmN5 OwogZXh0ZXJuIGludAl3YWxfc2VnbWVudF9zaXplOwogZXh0ZXJuIGludAltaW5fd2FsX3Np emVfbWI7CiBleHRlcm4gaW50CW1heF93YWxfc2l6ZV9tYjsKLWV4dGVybiBpbnQJd2FsX2tl ZXBfc2VnbWVudHM7CitleHRlcm4gaW50CXdhbF9rZWVwX3NpemVfbWI7CiBleHRlcm4gaW50 CW1heF9zbG90X3dhbF9rZWVwX3NpemVfbWI7CiBleHRlcm4gaW50CVhMT0didWZmZXJzOwog ZXh0ZXJuIGludAlYTG9nQXJjaGl2ZVRpbWVvdXQ7CkBAIC0yNzIsNyArMjcyLDcgQEAgdHlw ZWRlZiBlbnVtIFdBTEF2YWlsYWJpbGl0eQogCVdBTEFWQUlMX0lOVkFMSURfTFNOLAkJLyog cGFyYW1ldGVyIGVycm9yICovCiAJV0FMQVZBSUxfUkVTRVJWRUQsCQkJLyogV0FMIHNlZ21l bnQgaXMgd2l0aGluIG1heF93YWxfc2l6ZSAqLwogCVdBTEFWQUlMX0VYVEVOREVELAkJCS8q IFdBTCBzZWdtZW50IGlzIHJlc2VydmVkIGJ5IGEgc2xvdCBvcgotCQkJCQkJCQkgKiB3YWxf a2VlcF9zZWdtZW50cyAqLworCQkJCQkJCQkgKiB3YWxfa2VlcF9zaXplICovCiAJV0FMQVZB SUxfVU5SRVNFUlZFRCwJCS8qIG5vIGxvbmdlciByZXNlcnZlZCwgYnV0IG5vdCByZW1vdmVk IHlldCAqLwogCVdBTEFWQUlMX1JFTU9WRUQJCQkvKiBXQUwgc2VnbWVudCBoYXMgYmVlbiBy ZW1vdmVkICovCiB9IFdBTEF2YWlsYWJpbGl0eTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Y292ZXJ5L3QvMDE5X3JlcGxzbG90X2xpbWl0LnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8w MTlfcmVwbHNsb3RfbGltaXQucGwKaW5kZXggMWZjZWQxMmZjYS4uMjBmNGExYmJjMyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwKKysr IGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwKQEAgLTExNiwx OSArMTE2LDE5IEBAICRzdGFydF9sc24gPSAkbm9kZV9wcmltYXJ5LT5sc24oJ3dyaXRlJyk7 CiAkbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBs YXknLCAkc3RhcnRfbHNuKTsKICRub2RlX3N0YW5kYnktPnN0b3A7CiAKLSMgd2FsX2tlZXBf c2VnbWVudHMgb3ZlcnJpZGVzIG1heF9zbG90X3dhbF9rZWVwX3NpemUKKyMgd2FsX2tlZXBf c2l6ZSBvdmVycmlkZXMgbWF4X3Nsb3Rfd2FsX2tlZXBfc2l6ZQogJHJlc3VsdCA9ICRub2Rl X3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJBTFRFUiBTWVNURU0gU0VUIHdh bF9rZWVwX3NlZ21lbnRzIHRvIDg7IFNFTEVDVCBwZ19yZWxvYWRfY29uZigpOyIpOworCSJB TFRFUiBTWVNURU0gU0VUIHdhbF9rZWVwX3NpemUgdG8gJzhNQic7IFNFTEVDVCBwZ19yZWxv YWRfY29uZigpOyIpOwogIyBBZHZhbmNlIFdBTCBhZ2FpbiB0aGVuIGNoZWNrcG9pbnQsIHJl ZHVjaW5nIHJlbWFpbiBieSA2IE1CLgogYWR2YW5jZV93YWwoJG5vZGVfcHJpbWFyeSwgNik7 CiAkcmVzdWx0ID0gJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNF TEVDVCB3YWxfc3RhdHVzIGFzIHJlbWFpbiBGUk9NIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIFdI RVJFIHNsb3RfbmFtZSA9ICdyZXAxJyIKICk7CiBpcygkcmVzdWx0LCAiZXh0ZW5kZWQiLAot CSdjaGVjayB0aGF0IHdhbF9rZWVwX3NlZ21lbnRzIG92ZXJyaWRlcyBtYXhfc2xvdF93YWxf a2VlcF9zaXplJyk7Ci0jIHJlc3RvcmUgd2FsX2tlZXBfc2VnbWVudHMKKwknY2hlY2sgdGhh dCB3YWxfa2VlcF9zaXplIG92ZXJyaWRlcyBtYXhfc2xvdF93YWxfa2VlcF9zaXplJyk7Cisj IHJlc3RvcmUgd2FsX2tlZXBfc2l6ZQogJHJlc3VsdCA9ICRub2RlX3ByaW1hcnktPnNhZmVf cHNxbCgncG9zdGdyZXMnLAotCSJBTFRFUiBTWVNURU0gU0VUIHdhbF9rZWVwX3NlZ21lbnRz IHRvIDA7IFNFTEVDVCBwZ19yZWxvYWRfY29uZigpOyIpOworCSJBTFRFUiBTWVNURU0gU0VU IHdhbF9rZWVwX3NpemUgdG8gMDsgU0VMRUNUIHBnX3JlbG9hZF9jb25mKCk7Iik7CiAKICMg VGhlIHN0YW5kYnkgY2FuIHJlY29ubmVjdCB0byBwcmltYXJ5CiAkbm9kZV9zdGFuZGJ5LT5z dGFydDsK --------------DA4FF973229C5142EE79A7BD--