Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wXgRo-003PoR-1J for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Jun 2026 14:31:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wXgRn-00GFFA-0O for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Jun 2026 14:31:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wXgRm-00GFF2-1i for pgsql-hackers@lists.postgresql.org; Thu, 11 Jun 2026 14:31:54 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wXgRh-00000002Ysc-3Ks2 for pgsql-hackers@postgresql.org; Thu, 11 Jun 2026 14:31:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1781188308; bh=CVczzIjvngkgqjueoJkyK8fDh+PL0BVH/qqmyLc/VXQ=; h=Message-ID:Date:User-Agent:From:Subject:To:Cc:References: In-Reply-To:From; b=ttpok08YCt1ANaWwADHoqoPBILJIxcSDpZUafkW7BmBjQie8eXggv46BSLth7gPfW EGvpDrkua1VVS+t0rXimU2SHPZorqoaDZdZgQfYQ4P//cSqCjjxRiQ0pIPVlXJK+vN B5GEIb+ixXzwxd+R4Ni/QD5Y25Az6Tgq8ili+7cg+o3MYSP0P7+Hz9k9A4yKJQQ5rz GdcKUE7R2mq0VQ+r4m9BuhPCDE9g0L5ydMknuGWB4KrHVeTnI/l8vprV9gMx5dNY9q L3lxkZ9h4LFXVDXUUSqQFe6xxS1IqrzrIMo7BAF2Vr1wPDfiSOKZjZDaM4dtHy65xl h3znUh4iiKZbQ== Received: from [172.30.49.238] (debian11-template.l.postgrespro.ru [192.168.2.254]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: m.melnikov@postgrespro.ru) by mail.postgrespro.ru (Postfix/465) with ESMTPSA id A614C6069B; Thu, 11 Jun 2026 17:31:47 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------6hULsAqgJancPvjIhr0PSIzA" Message-ID: <08e7c338-e175-4474-be53-6538bb67d4b6@postgrespro.ru> Date: Thu, 11 Jun 2026 17:31:47 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Maksim.Melnikov" Subject: Re: Init connection time grows quadratically To: Matthias van de Meent Cc: =?UTF-8?B?0J/QvtGC0LDQv9C+0LIg0JDQu9C10LrRgdCw0L3QtNGA?= , pgsql-hackers@postgresql.org References: <3bdba-68359800-d-249da480@139845401> <2ab4be-6847f380-11-1d048f40@125133490> <3b7e5e-684fdc80-f-48e15c80@193664207> <65d0e5b2-2a40-4b12-be04-0804912d2daf@postgrespro.ru> Content-Language: en-US In-Reply-To: X-KSMG-AntiPhishing: NotDetected, bases: 2026/06/11 13:53:00 X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 3.0.0.9059, bases: 2026/06/11 12:11:00 #28230308 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------6hULsAqgJancPvjIhr0PSIzA Content-Type: multipart/alternative; boundary="------------pFvPl4OalqwWyDcRtRhke0n2" --------------pFvPl4OalqwWyDcRtRhke0n2 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 6/3/26 16:35, Matthias van de Meent wrote: > On Wed, 3 Jun 2026 at 08:33, Maksim.Melnikov wrote: >> On 6/16/25 11:56, Потапов Александр wrote: >> >>> To be more precise I used constant number of threads (128 and 1024) to compare with previous results. The quadratic dependency exists everywhere, see new graph. >>> >>>> Q: Did you check that pgbench or the OS does not have >>>> O(n_active_connections) or O(n_active_threads) overhead per worker >>>> during thread creation or connection establishment, e.g. by varying >>>> the number of threads used to manage these N clients? I wouldn't be >>>> surprised if there are inefficiencies in e.g. the threading- or >>>> synchronization model that cause O(N) per-thread overhead, or O(N^2) >>>> overall when you have one thread per connection. >> Hi, all! >> >> I've investigated slightly different scenario then Alexander and I want share my thoughts in this thread too. >> >> I found that when we run pgbench scenarios sequantially, without postgres restart between iterations, initial time degrades from launch to launch and eventually it stabilizes at the worst values then first run(ICT_degradation.png attached). >> >> Scenario details: > [...] >> 4.Add to the postgresql.conf: >> huge_pages = off #for the sake of test stability and reproducibility > I think this is the main culprit of the extreme slowdown -- without > huge pages, you're effectively guaranteed to get many minor page > faults, and with it the relevant TLB miss rates. With huge pages > enabled, the proc array should fit on one (or just a few) memory > pages. > > We're not generally in the business for optimizing workloads that have > huge_pages=off. Yes, I agree, huge_pages=off is not  common setup now. My motivation was that even if some configuration isn't commonly used, it does not mean that it isn't interesting for someone else at all and, as a consequence, it can be optimized without degradation for basic scenarios . Moreover, huge_pages = try is the default value, so with huge_pages set to try, the server will try to request huge pages, but fall back to the huge_page=off if that fails. As I know on linux default value for  vm.nr_hugepages = 0, this means that by default, the os does not use HugeTLB pages. Of course, DBA should setup this, but on practice they can miss this. Anyway, if community isn't interested in such kinds of optimizations, it is ok. It was interesting and educational investigation for me, thanks for your help. > ..... > > >> as we can see, patched version fixes this. I made a series of measurements for all versions and attached comparison chart(ICT_degradation_with_patch.png attached). Also I add the table with results > Do you happen to have data with huge_pages enabled? > >> I hope it will be interesting and helpful. > Definitely interesting. I'm not so sure it's as effective on a > production configuration (with huge pages enabled), but I'm definitely > interested in seeing test results. I've made comparative measurements for configurations with huge_pages = on/off. Please, you can check results below. Clients number *Huge-pages-off-with-patch* Huge-pages-off-without-patch Huge-pages-on-with-patch Huge-pages-on-without-patch 512 ~480 +- 3.5% ms ~490 +- 3% ms ~420 +- 3.5% ms ~420+-3.5% ms 1024 ~910 +- 1.3% ms ~990 +- 2% ms ~790 +- 1.7% ms ~800+-1.8% ms 2048 ~1810 +- 1.4% ms ~2230 +- 0.9% ms ~1540 +- 0.7% ms ~1530 +- 1.4% ms 4096 ~3690 +- 1.9% ms ~6060 +- 0.8% ms ~3070 +- 0.6% ms ~3070 +- 0.9% ms 8192 ~9900 +- 0.6% ms ~18530 +- 0.4% ms ~6220 +- 0.7% ms ~6230 +- 0.7% ms Also comparison chart is attached. As we can see the measurements prove patch efficiency for configuration with huge_page=off(the same result as in previous message), but for huge_pages=on I've got the same results for both versions, no improvement and no degradation. > ---- > > Some comments on the patch: > Patch with fixes was attached. Thanks for review. Best regards, Maksim Melnikov --------------pFvPl4OalqwWyDcRtRhke0n2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 6/3/26 16:35, Matthias van de Meent wrote:
On Wed, 3 Jun 2026 at 08:33, Maksim.Melnikov <m.melnikov@postgrespro.ru> wrote:
On 6/16/25 11:56, Потапов Александр wrote:

To be more precise I used constant number of threads (128 and 1024) to compare with previous results. The quadratic dependency exists everywhere, see new graph.

Q: Did you check that pgbench or the OS does not have
O(n_active_connections) or O(n_active_threads) overhead per worker
during thread creation or connection establishment, e.g. by varying
the number of threads used to manage these N clients? I wouldn't be
surprised if there are inefficiencies in e.g. the threading- or
synchronization model that cause O(N) per-thread overhead, or O(N^2)
overall when you have one thread per connection.
Hi, all!

I've investigated slightly different scenario then Alexander and I want share my thoughts in this thread too.

I found that when we run pgbench scenarios sequantially, without postgres restart between iterations, initial time degrades from launch to launch and eventually it stabilizes at the worst values then first run(ICT_degradation.png attached).

Scenario details:
[...]
4.Add to the postgresql.conf:
    huge_pages = off #for the sake of test stability and reproducibility
I think this is the main culprit of the extreme slowdown -- without
huge pages, you're effectively guaranteed to get many minor page
faults, and with it the relevant TLB miss rates. With huge pages
enabled, the proc array should fit on one (or just a few) memory
pages.

We're not generally in the business for optimizing workloads that have
huge_pages=off.

Yes, I agree, huge_pages=off is not  common setup now. My motivation was that even if some configuration isn't commonly used, it does not mean that it isn't interesting for someone else at all and, as a consequence, it can be optimized without degradation for basic scenarios . Moreover, huge_pages = try is the default value, so with huge_pages set to try, the server will try to request huge pages, but fall back to the huge_page=off if that fails. As I know on linux default value for  vm.nr_hugepages = 0, this means that by default, the os does not use HugeTLB pages. Of course, DBA should setup this, but on practice they can miss this. Anyway, if community isn't interested in such kinds of optimizations, it is ok. It was interesting and educational investigation for me, thanks for your help.

.....


as we can see, patched version fixes this. I made a series of measurements for all versions and attached comparison chart(ICT_degradation_with_patch.png attached). Also I add the table with results
Do you happen to have data with huge_pages enabled?

I hope it will be interesting and helpful.
Definitely interesting. I'm not so sure it's as effective on a
production configuration (with huge pages enabled), but I'm definitely
interested in seeing test results.

I've made comparative measurements for configurations with huge_pages = on/off. Please, you can check results below.

Clients number Huge-pages-off-with-patch Huge-pages-off-without-patch Huge-pages-on-with-patch Huge-pages-on-without-patch
512 ~480 +- 3.5% ms ~490 +- 3% ms ~420 +- 3.5% ms ~420+-3.5% ms
1024 ~910 +- 1.3% ms ~990 +- 2% ms ~790 +- 1.7% ms ~800+-1.8% ms
2048 ~1810 +- 1.4% ms ~2230 +- 0.9% ms ~1540 +- 0.7% ms ~1530 +- 1.4% ms
4096 ~3690 +- 1.9% ms ~6060 +- 0.8% ms ~3070 +- 0.6% ms ~3070 +- 0.9% ms
8192 ~9900 +- 0.6% ms ~18530 +- 0.4% ms ~6220 +- 0.7% ms ~6230 +- 0.7% ms

Also comparison chart is attached.

As we can see the measurements prove patch efficiency for configuration with huge_page=off(the same result as in previous message), but for huge_pages=on I've got the same results for both versions, no improvement and no degradation.

----

Some comments on the patch:

Patch with fixes was attached. Thanks for review.

Best regards,

Maksim Melnikov


--------------pFvPl4OalqwWyDcRtRhke0n2-- --------------6hULsAqgJancPvjIhr0PSIzA Content-Type: image/png; name="huge_pages_comparison.png" Content-Disposition: attachment; filename="huge_pages_comparison.png" Content-Transfer-Encoding: base64 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 1wAAAABJRU5ErkJggg== --------------6hULsAqgJancPvjIhr0PSIzA Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-This-patch-reduce-connection-init-close-time.patch" Content-Disposition: attachment; filename*0="v2-0001-This-patch-reduce-connection-init-close-time.patch" Content-Transfer-Encoding: base64 RnJvbSA1ZThiODRmY2ZlNGVjY2NjMTg0N2VkOGQ3MGQ0MjhlMWZjNWJjNTlmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYWtzaW0gTWVsbmlrb3YgPG0ubWVsbmlrb3ZAcG9z dGdyZXNwcm8ucnU+CkRhdGU6IFR1ZSwgMTggTm92IDIwMjUgMTc6MjA6MDkgKzAzMDAKU3Vi amVjdDogW1BBVENIIHYyXSBUaGlzIHBhdGNoIHJlZHVjZSBjb25uZWN0aW9uIGluaXQvY2xv c2UgdGltZS4KClByb2NBcnJheVJlbW92ZS9Qcm9jQXJyYXlBZGQgYXJlIGV4cGVuc2l2ZSBp biB0ZXJtcyBvZiBhY2Nlc3NpbmcgcGd4YWN0b2ZmCmZpZWxkIGluIFBHUFJPQywgYmVjYXVz ZSBpdHMgYXJlIHBsYWNlZCBvbiBkaWZmZXJlbnQgcGFnZXMgYW5kIGl0IHRoZQpyZWFzb24g b2YgcGFnZV9mYXVsdHMgb2NjdXJlbmNlLiBOb3cgb25lIG9mIHRoZSB1c2UgY2FzZSB3aXRo IHBneGFjdG9mZgppcyBpdGVyYXRpb24gd2l0aCBnYXBzIG92ZXIgUEdQUk9DcyBhbmQgcmVh ZC93cml0ZSBwZ3hhY3RvZmYsIFBHUFJPQwphbGxvY2F0ZSB+MUtCIGFuZCBpdCBxdWl0ZSBl bm91Z2ggdG8gaGF2ZSBwYWdlX2ZhdWx0cyBpbiBjYXNlIG9mIHN1Y2gKYWNjZXNzaW5nLgoK U28gd2UgcGxhY2VkIGFsbCBwZ3hhY3RvZmYgaW4gdGhlIHNlcGFyYXRlIGFycmF5IHBneGFj dG9mZnMgdG8gaGF2ZSBhZGphY2VudApwYWdlcyBmb3IgdGhlbSBhbGwuIEluZGV4ZXMgaW4g YWxsUHJvY3MgYWxpZ25lZCB3aXRoIHBneGFjdG9mZnMgYXJyYXksIHNvCnRoZSBOdGggZWxl bWVudCBpbiBwZ3hhY3RvZmZzIHJlZmVyIHRvIE50aCBQR1BST0MuCgpFdmVudHVhbGx5IGl0 IGhlbHBzIHRvIGF2b2lkIGV4dHJhIHBhZ2VfZmF1bHRzIGFuZCByZWR1Y2UgY29ubmVjdGlv bgppbml0L2Nsb3NlIHRpbWUuCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdmFy c3VwLmMgICAgICAgfCAxMCArKystLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2luZGV4Y21k cy5jICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jICAg ICAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbG9n aWNhbC5jIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAgICAg ICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jICAgICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NhcnJheS5jICAgICAgIHwg NDAgKysrKysrKysrKysrKy0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9w cm9jLmMgICAgICAgICAgIHwgIDYgKysrLQogc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmgg ICAgICAgICAgICAgICAgfCAgNiArKy0tCiA5IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlv bnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL3ZhcnN1cC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdmFyc3Vw LmMKaW5kZXggZGM1ZTMyZDg2ZjMuLjFiYmMxYmNkNjY1IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3MvdHJhbnNhbS92YXJzdXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS92YXJzdXAuYwpAQCAtODUsNyArODUsNyBAQCBHZXROZXdUcmFuc2FjdGlvbklk KGJvb2wgaXNTdWJYYWN0KQogCXsKIAkJQXNzZXJ0KCFpc1N1YlhhY3QpOwogCQlNeVByb2Mt PnhpZCA9IEJvb3RzdHJhcFRyYW5zYWN0aW9uSWQ7Ci0JCVByb2NHbG9iYWwtPnhpZHNbTXlQ cm9jLT5wZ3hhY3RvZmZdID0gQm9vdHN0cmFwVHJhbnNhY3Rpb25JZDsKKwkJUHJvY0dsb2Jh bC0+eGlkc1tQcm9jR2V0TXlYYWN0T2ZmKCldID0gQm9vdHN0cmFwVHJhbnNhY3Rpb25JZDsK IAkJcmV0dXJuIEZ1bGxUcmFuc2FjdGlvbklkRnJvbUVwb2NoQW5kWGlkKDAsIEJvb3RzdHJh cFRyYW5zYWN0aW9uSWQpOwogCX0KIApAQCAtMjQ0LDE4ICsyNDQsMTggQEAgR2V0TmV3VHJh bnNhY3Rpb25JZChib29sIGlzU3ViWGFjdCkKIAkgKi8KIAlpZiAoIWlzU3ViWGFjdCkKIAl7 Ci0JCUFzc2VydChQcm9jR2xvYmFsLT5zdWJ4aWRTdGF0ZXNbTXlQcm9jLT5wZ3hhY3RvZmZd LmNvdW50ID09IDApOwotCQlBc3NlcnQoIVByb2NHbG9iYWwtPnN1YnhpZFN0YXRlc1tNeVBy b2MtPnBneGFjdG9mZl0ub3ZlcmZsb3dlZCk7CisJCUFzc2VydChQcm9jR2xvYmFsLT5zdWJ4 aWRTdGF0ZXNbUHJvY0dldE15WGFjdE9mZigpXS5jb3VudCA9PSAwKTsKKwkJQXNzZXJ0KCFQ cm9jR2xvYmFsLT5zdWJ4aWRTdGF0ZXNbUHJvY0dldE15WGFjdE9mZigpXS5vdmVyZmxvd2Vk KTsKIAkJQXNzZXJ0KE15UHJvYy0+c3VieGlkU3RhdHVzLmNvdW50ID09IDApOwogCQlBc3Nl cnQoIU15UHJvYy0+c3VieGlkU3RhdHVzLm92ZXJmbG93ZWQpOwogCiAJCS8qIExXTG9ja1Jl bGVhc2UgYWN0cyBhcyBiYXJyaWVyICovCiAJCU15UHJvYy0+eGlkID0geGlkOwotCQlQcm9j R2xvYmFsLT54aWRzW015UHJvYy0+cGd4YWN0b2ZmXSA9IHhpZDsKKwkJUHJvY0dsb2JhbC0+ eGlkc1tQcm9jR2V0TXlYYWN0T2ZmKCldID0geGlkOwogCX0KIAllbHNlCiAJewotCQlYaWRD YWNoZVN0YXR1cyAqc3Vic3RhdCA9ICZQcm9jR2xvYmFsLT5zdWJ4aWRTdGF0ZXNbTXlQcm9j LT5wZ3hhY3RvZmZdOworCQlYaWRDYWNoZVN0YXR1cyAqc3Vic3RhdCA9ICZQcm9jR2xvYmFs LT5zdWJ4aWRTdGF0ZXNbUHJvY0dldE15WGFjdE9mZigpXTsKIAkJaW50CQkJbnhpZHMgPSBN eVByb2MtPnN1YnhpZFN0YXR1cy5jb3VudDsKIAogCQlBc3NlcnQoc3Vic3RhdC0+Y291bnQg PT0gTXlQcm9jLT5zdWJ4aWRTdGF0dXMuY291bnQpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvaW5kZXhjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9pbmRleGNt ZHMuYwppbmRleCA5YWI3NGM4ZGYwYS4uZDllODNlMjZjNzggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2luZGV4Y21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L2luZGV4Y21kcy5jCkBAIC00NjU0LDYgKzQ2NTQsNiBAQCBzZXRfaW5kZXhzYWZlX3Byb2Nm bGFncyh2b2lkKQogCiAJTFdMb2NrQWNxdWlyZShQcm9jQXJyYXlMb2NrLCBMV19FWENMVVNJ VkUpOwogCU15UHJvYy0+c3RhdHVzRmxhZ3MgfD0gUFJPQ19JTl9TQUZFX0lDOwotCVByb2NH bG9iYWwtPnN0YXR1c0ZsYWdzW015UHJvYy0+cGd4YWN0b2ZmXSA9IE15UHJvYy0+c3RhdHVz RmxhZ3M7CisJUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbUHJvY0dldE15WGFjdE9mZigpXSA9 IE15UHJvYy0+c3RhdHVzRmxhZ3M7CiAJTFdMb2NrUmVsZWFzZShQcm9jQXJyYXlMb2NrKTsK IH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKaW5kZXggYTRhYmIyOWNmNjQuLjg4NGQxOGZhZDRl IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMjA1OSw3ICsyMDU5LDcgQEAgdmFjdXVt X3JlbChPaWQgcmVsaWQsIFJhbmdlVmFyICpyZWxhdGlvbiwgVmFjdXVtUGFyYW1zIHBhcmFt cywKIAkJTXlQcm9jLT5zdGF0dXNGbGFncyB8PSBQUk9DX0lOX1ZBQ1VVTTsKIAkJaWYgKHBh cmFtcy5pc193cmFwYXJvdW5kKQogCQkJTXlQcm9jLT5zdGF0dXNGbGFncyB8PSBQUk9DX1ZB Q1VVTV9GT1JfV1JBUEFST1VORDsKLQkJUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbTXlQcm9j LT5wZ3hhY3RvZmZdID0gTXlQcm9jLT5zdGF0dXNGbGFnczsKKwkJUHJvY0dsb2JhbC0+c3Rh dHVzRmxhZ3NbUHJvY0dldE15WGFjdE9mZigpXSA9IE15UHJvYy0+c3RhdHVzRmxhZ3M7CiAJ CUxXTG9ja1JlbGVhc2UoUHJvY0FycmF5TG9jayk7CiAJfQogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvbG9naWNhbC5jCmluZGV4IDM1NDFmYzc5M2U0Li5jMmM5NmE3 MGM5MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sb2dp Y2FsLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sb2dpY2FsLmMK QEAgLTE4OCw3ICsxODgsNyBAQCBTdGFydHVwRGVjb2RpbmdDb250ZXh0KExpc3QgKm91dHB1 dF9wbHVnaW5fb3B0aW9ucywKIAl7CiAJCUxXTG9ja0FjcXVpcmUoUHJvY0FycmF5TG9jaywg TFdfRVhDTFVTSVZFKTsKIAkJTXlQcm9jLT5zdGF0dXNGbGFncyB8PSBQUk9DX0lOX0xPR0lD QUxfREVDT0RJTkc7Ci0JCVByb2NHbG9iYWwtPnN0YXR1c0ZsYWdzW015UHJvYy0+cGd4YWN0 b2ZmXSA9IE15UHJvYy0+c3RhdHVzRmxhZ3M7CisJCVByb2NHbG9iYWwtPnN0YXR1c0ZsYWdz W1Byb2NHZXRNeVhhY3RPZmYoKV0gPSBNeVByb2MtPnN0YXR1c0ZsYWdzOwogCQlMV0xvY2tS ZWxlYXNlKFByb2NBcnJheUxvY2spOwogCX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vc2xvdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCmlu ZGV4IGQ3ZmI5ZjVhNjdmLi4xYmQzYjhmOTAyYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vc2xvdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3Qu YwpAQCAtODMyLDcgKzgzMiw3IEBAIFJlcGxpY2F0aW9uU2xvdFJlbGVhc2Uodm9pZCkKIAkv KiBtaWdodCBub3QgaGF2ZSBiZWVuIHNldCB3aGVuIHdlJ3ZlIGJlZW4gYSBwbGFpbiBzbG90 ICovCiAJTFdMb2NrQWNxdWlyZShQcm9jQXJyYXlMb2NrLCBMV19FWENMVVNJVkUpOwogCU15 UHJvYy0+c3RhdHVzRmxhZ3MgJj0gflBST0NfSU5fTE9HSUNBTF9ERUNPRElORzsKLQlQcm9j R2xvYmFsLT5zdGF0dXNGbGFnc1tNeVByb2MtPnBneGFjdG9mZl0gPSBNeVByb2MtPnN0YXR1 c0ZsYWdzOworCVByb2NHbG9iYWwtPnN0YXR1c0ZsYWdzW1Byb2NHZXRNeVhhY3RPZmYoKV0g PSBNeVByb2MtPnN0YXR1c0ZsYWdzOwogCUxXTG9ja1JlbGVhc2UoUHJvY0FycmF5TG9jayk7 CiAKIAlpZiAoYW1fd2Fsc2VuZGVyKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vd2Fsc2VuZGVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIu YwppbmRleCAwNGFhNzcwZDk4MS4uNzQ4YjQ3YTE1YmYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3dhbHNlbmRlci5jCkBAIC0zNTgsNyArMzU4LDcgQEAgSW5pdFdhbFNlbmRlcih2b2lk KQogCQlBc3NlcnQoTXlQcm9jLT54bWluID09IEludmFsaWRUcmFuc2FjdGlvbklkKTsKIAkJ TFdMb2NrQWNxdWlyZShQcm9jQXJyYXlMb2NrLCBMV19FWENMVVNJVkUpOwogCQlNeVByb2Mt PnN0YXR1c0ZsYWdzIHw9IFBST0NfQUZGRUNUU19BTExfSE9SSVpPTlM7Ci0JCVByb2NHbG9i YWwtPnN0YXR1c0ZsYWdzW015UHJvYy0+cGd4YWN0b2ZmXSA9IE15UHJvYy0+c3RhdHVzRmxh Z3M7CisJCVByb2NHbG9iYWwtPnN0YXR1c0ZsYWdzW1Byb2NHZXRNeVhhY3RPZmYoKV0gPSBN eVByb2MtPnN0YXR1c0ZsYWdzOwogCQlMV0xvY2tSZWxlYXNlKFByb2NBcnJheUxvY2spOwog CX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY2FycmF5LmMg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jYXJyYXkuYwppbmRleCBmNTQwYmI2YjIz Zi4uNTg1ZWQ2ZDM2NzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3By b2NhcnJheS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NhcnJheS5jCkBA IC0yODMsNiArMjgzLDcgQEAgdHlwZWRlZiBlbnVtIEtBWENvbXByZXNzUmVhc29uCiB9IEtB WENvbXByZXNzUmVhc29uOwogCiBzdGF0aWMgUEdQUk9DICphbGxQcm9jczsKK3N0YXRpYyBp bnQgKnBneGFjdG9mZnM7CiAKIC8qCiAgKiBDYWNoZSB0byByZWR1Y2Ugb3ZlcmhlYWQgb2Yg cmVwZWF0ZWQgY2FsbHMgdG8gVHJhbnNhY3Rpb25JZElzSW5Qcm9ncmVzcygpCkBAIC00NDks NiArNDUwLDcgQEAgUHJvY0FycmF5U2htZW1Jbml0KHZvaWQgKmFyZykKIAlUcmFuc2FtVmFy aWFibGVzLT54YWN0Q29tcGxldGlvbkNvdW50ID0gMTsKIAogCWFsbFByb2NzID0gUHJvY0ds b2JhbC0+YWxsUHJvY3M7CisJcGd4YWN0b2ZmcyA9IFByb2NHbG9iYWwtPnBneGFjdG9mZnM7 CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00OTgsNyArNTAwLDcgQEAgUHJvY0FycmF5QWRkKFBH UFJPQyAqcHJvYykKIAkJaW50CQkJdGhpc19wcm9jbm8gPSBhcnJheVAtPnBncHJvY25vc1tp bmRleF07CiAKIAkJQXNzZXJ0KHRoaXNfcHJvY25vID49IDAgJiYgdGhpc19wcm9jbm8gPCAo YXJyYXlQLT5tYXhQcm9jcyArIE5VTV9BVVhJTElBUllfUFJPQ1MpKTsKLQkJQXNzZXJ0KGFs bFByb2NzW3RoaXNfcHJvY25vXS5wZ3hhY3RvZmYgPT0gaW5kZXgpOworCQlBc3NlcnQocGd4 YWN0b2Zmc1t0aGlzX3Byb2Nub10gPT0gaW5kZXgpOwogCiAJCS8qIElmIHdlIGhhdmUgZm91 bmQgb3VyIHJpZ2h0IHBvc2l0aW9uIGluIHRoZSBhcnJheSwgYnJlYWsgKi8KIAkJaWYgKHRo aXNfcHJvY25vID4gcGdwcm9jbm8pCkBAIC01MjAsNyArNTIyLDcgQEAgUHJvY0FycmF5QWRk KFBHUFJPQyAqcHJvYykKIAkJCW1vdmVjb3VudCAqIHNpemVvZigqUHJvY0dsb2JhbC0+c3Rh dHVzRmxhZ3MpKTsKIAogCWFycmF5UC0+cGdwcm9jbm9zW2luZGV4XSA9IEdldE51bWJlckZy b21QR1Byb2MocHJvYyk7Ci0JcHJvYy0+cGd4YWN0b2ZmID0gaW5kZXg7CisJcGd4YWN0b2Zm c1thcnJheVAtPnBncHJvY25vc1tpbmRleF1dID0gaW5kZXg7CiAJUHJvY0dsb2JhbC0+eGlk c1tpbmRleF0gPSBwcm9jLT54aWQ7CiAJUHJvY0dsb2JhbC0+c3VieGlkU3RhdGVzW2luZGV4 XSA9IHByb2MtPnN1YnhpZFN0YXR1czsKIAlQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1tpbmRl eF0gPSBwcm9jLT5zdGF0dXNGbGFnczsKQEAgLTUzNCw5ICs1MzYsOSBAQCBQcm9jQXJyYXlB ZGQoUEdQUk9DICpwcm9jKQogCQlpbnQJCQlwcm9jbm8gPSBhcnJheVAtPnBncHJvY25vc1tp bmRleF07CiAKIAkJQXNzZXJ0KHByb2NubyA+PSAwICYmIHByb2NubyA8IChhcnJheVAtPm1h eFByb2NzICsgTlVNX0FVWElMSUFSWV9QUk9DUykpOwotCQlBc3NlcnQoYWxsUHJvY3NbcHJv Y25vXS5wZ3hhY3RvZmYgPT0gaW5kZXggLSAxKTsKKwkJQXNzZXJ0KHBneGFjdG9mZnNbcHJv Y25vXSA9PSBpbmRleCAtIDEpOwogCi0JCWFsbFByb2NzW3Byb2Nub10ucGd4YWN0b2ZmID0g aW5kZXg7CisJCXBneGFjdG9mZnNbcHJvY25vXSA9IGluZGV4OwogCX0KIAogCS8qCkBAIC01 NzQsMTAgKzU3NiwxMCBAQCBQcm9jQXJyYXlSZW1vdmUoUEdQUk9DICpwcm9jLCBUcmFuc2Fj dGlvbklkIGxhdGVzdFhpZCkKIAlMV0xvY2tBY3F1aXJlKFByb2NBcnJheUxvY2ssIExXX0VY Q0xVU0lWRSk7CiAJTFdMb2NrQWNxdWlyZShYaWRHZW5Mb2NrLCBMV19FWENMVVNJVkUpOwog Ci0JbXlvZmYgPSBwcm9jLT5wZ3hhY3RvZmY7CisJbXlvZmYgPSBQcm9jR2V0WGFjdE9mZihH ZXROdW1iZXJGcm9tUEdQcm9jKHByb2MpKTsKIAogCUFzc2VydChteW9mZiA+PSAwICYmIG15 b2ZmIDwgYXJyYXlQLT5udW1Qcm9jcyk7Ci0JQXNzZXJ0KFByb2NHbG9iYWwtPmFsbFByb2Nz W2FycmF5UC0+cGdwcm9jbm9zW215b2ZmXV0ucGd4YWN0b2ZmID09IG15b2ZmKTsKKwlBc3Nl cnQoUHJvY0dsb2JhbC0+cGd4YWN0b2Zmc1thcnJheVAtPnBncHJvY25vc1tteW9mZl1dID09 IG15b2ZmKTsKIAogCWlmIChUcmFuc2FjdGlvbklkSXNWYWxpZChsYXRlc3RYaWQpKQogCXsK QEAgLTYzMiw5ICs2MzQsOSBAQCBQcm9jQXJyYXlSZW1vdmUoUEdQUk9DICpwcm9jLCBUcmFu c2FjdGlvbklkIGxhdGVzdFhpZCkKIAkJaW50CQkJcHJvY25vID0gYXJyYXlQLT5wZ3Byb2Nu b3NbaW5kZXhdOwogCiAJCUFzc2VydChwcm9jbm8gPj0gMCAmJiBwcm9jbm8gPCAoYXJyYXlQ LT5tYXhQcm9jcyArIE5VTV9BVVhJTElBUllfUFJPQ1MpKTsKLQkJQXNzZXJ0KGFsbFByb2Nz W3Byb2Nub10ucGd4YWN0b2ZmIC0gMSA9PSBpbmRleCk7CisJCUFzc2VydChwZ3hhY3RvZmZz W3Byb2Nub10gLSAxID09IGluZGV4KTsKIAotCQlhbGxQcm9jc1twcm9jbm9dLnBneGFjdG9m ZiA9IGluZGV4OworCQlwZ3hhY3RvZmZzW3Byb2Nub10gPSBpbmRleDsKIAl9CiAKIAkvKgpA QCAtNzA2LDExICs3MDgsMTMgQEAgUHJvY0FycmF5RW5kVHJhbnNhY3Rpb24oUEdQUk9DICpw cm9jLCBUcmFuc2FjdGlvbklkIGxhdGVzdFhpZCkKIAkJLyogYXZvaWQgdW5uZWNlc3Nhcmls eSBkaXJ0eWluZyBzaGFyZWQgY2FjaGVsaW5lcyAqLwogCQlpZiAocHJvYy0+c3RhdHVzRmxh Z3MgJiBQUk9DX1ZBQ1VVTV9TVEFURV9NQVNLKQogCQl7CisJCQlpbnQgcGd4YWN0b2ZmID0g UHJvY0dldFhhY3RPZmYoR2V0TnVtYmVyRnJvbVBHUHJvYyhwcm9jKSk7CisKIAkJCUFzc2Vy dCghTFdMb2NrSGVsZEJ5TWUoUHJvY0FycmF5TG9jaykpOwogCQkJTFdMb2NrQWNxdWlyZShQ cm9jQXJyYXlMb2NrLCBMV19FWENMVVNJVkUpOwotCQkJQXNzZXJ0KHByb2MtPnN0YXR1c0Zs YWdzID09IFByb2NHbG9iYWwtPnN0YXR1c0ZsYWdzW3Byb2MtPnBneGFjdG9mZl0pOworCQkJ QXNzZXJ0KHByb2MtPnN0YXR1c0ZsYWdzID09IFByb2NHbG9iYWwtPnN0YXR1c0ZsYWdzW3Bn eGFjdG9mZl0pOwogCQkJcHJvYy0+c3RhdHVzRmxhZ3MgJj0gflBST0NfVkFDVVVNX1NUQVRF X01BU0s7Ci0JCQlQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1twcm9jLT5wZ3hhY3RvZmZdID0g cHJvYy0+c3RhdHVzRmxhZ3M7CisJCQlQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1twZ3hhY3Rv ZmZdID0gcHJvYy0+c3RhdHVzRmxhZ3M7CiAJCQlMV0xvY2tSZWxlYXNlKFByb2NBcnJheUxv Y2spOwogCQl9CiAJfQpAQCAtNzI0LDcgKzcyOCw3IEBAIFByb2NBcnJheUVuZFRyYW5zYWN0 aW9uKFBHUFJPQyAqcHJvYywgVHJhbnNhY3Rpb25JZCBsYXRlc3RYaWQpCiBzdGF0aWMgaW5s aW5lIHZvaWQKIFByb2NBcnJheUVuZFRyYW5zYWN0aW9uSW50ZXJuYWwoUEdQUk9DICpwcm9j LCBUcmFuc2FjdGlvbklkIGxhdGVzdFhpZCkKIHsKLQlpbnQJCQlwZ3hhY3RvZmYgPSBwcm9j LT5wZ3hhY3RvZmY7CisJaW50CQkJcGd4YWN0b2ZmID0gUHJvY0dldFhhY3RPZmYoR2V0TnVt YmVyRnJvbVBHUHJvYyhwcm9jKSk7CiAKIAkvKgogCSAqIE5vdGU6IHdlIG5lZWQgZXhjbHVz aXZlIGxvY2sgaGVyZSBiZWNhdXNlIHdlJ3JlIGdvaW5nIHRvIGNoYW5nZSBvdGhlcgpAQCAt NzQ3LDcgKzc1MSw3IEBAIFByb2NBcnJheUVuZFRyYW5zYWN0aW9uSW50ZXJuYWwoUEdQUk9D ICpwcm9jLCBUcmFuc2FjdGlvbklkIGxhdGVzdFhpZCkKIAlpZiAocHJvYy0+c3RhdHVzRmxh Z3MgJiBQUk9DX1ZBQ1VVTV9TVEFURV9NQVNLKQogCXsKIAkJcHJvYy0+c3RhdHVzRmxhZ3Mg Jj0gflBST0NfVkFDVVVNX1NUQVRFX01BU0s7Ci0JCVByb2NHbG9iYWwtPnN0YXR1c0ZsYWdz W3Byb2MtPnBneGFjdG9mZl0gPSBwcm9jLT5zdGF0dXNGbGFnczsKKwkJUHJvY0dsb2JhbC0+ c3RhdHVzRmxhZ3NbcGd4YWN0b2ZmXSA9IHByb2MtPnN0YXR1c0ZsYWdzOwogCX0KIAogCS8q IENsZWFyIHRoZSBzdWJ0cmFuc2FjdGlvbi1YSUQgY2FjaGUgdG9vIHdoaWxlIGhvbGRpbmcg dGhlIGxvY2sgKi8KQEAgLTkxNiw3ICs5MjAsNyBAQCBQcm9jQXJyYXlDbGVhclRyYW5zYWN0 aW9uKFBHUFJPQyAqcHJvYykKIAkgKi8KIAlMV0xvY2tBY3F1aXJlKFByb2NBcnJheUxvY2ss IExXX0VYQ0xVU0lWRSk7CiAKLQlwZ3hhY3RvZmYgPSBwcm9jLT5wZ3hhY3RvZmY7CisJcGd4 YWN0b2ZmID0gUHJvY0dldFhhY3RPZmYoR2V0TnVtYmVyRnJvbVBHUHJvYyhwcm9jKSk7CiAK IAlQcm9jR2xvYmFsLT54aWRzW3BneGFjdG9mZl0gPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsK IAlwcm9jLT54aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKQEAgLTE0NzUsNyArMTQ3OSw3 IEBAIFRyYW5zYWN0aW9uSWRJc0luUHJvZ3Jlc3MoVHJhbnNhY3Rpb25JZCB4aWQpCiAJfQog CiAJLyogTm8gc2hvcnRjdXRzLCBnb3R0YSBncm92ZWwgdGhyb3VnaCB0aGUgYXJyYXkgKi8K LQlteXBneGFjdG9mZiA9IE15UHJvYy0+cGd4YWN0b2ZmOworCW15cGd4YWN0b2ZmID0gUHJv Y0dldE15WGFjdE9mZigpOwogCW51bVByb2NzID0gYXJyYXlQLT5udW1Qcm9jczsKIAlmb3Ig KGludCBwZ3hhY3RvZmYgPSAwOyBwZ3hhY3RvZmYgPCBudW1Qcm9jczsgcGd4YWN0b2ZmKysp CiAJewpAQCAtMjE3Niw3ICsyMTgwLDcgQEAgR2V0U25hcHNob3REYXRhKFNuYXBzaG90IHNu YXBzaG90KQogCX0KIAogCWxhdGVzdF9jb21wbGV0ZWQgPSBUcmFuc2FtVmFyaWFibGVzLT5s YXRlc3RDb21wbGV0ZWRYaWQ7Ci0JbXlwZ3hhY3RvZmYgPSBNeVByb2MtPnBneGFjdG9mZjsK KwlteXBneGFjdG9mZiA9IFByb2NHZXRNeVhhY3RPZmYoKTsKIAlteXhpZCA9IG90aGVyX3hp ZHNbbXlwZ3hhY3RvZmZdOwogCUFzc2VydChteXhpZCA9PSBNeVByb2MtPnhpZCk7CiAKQEAg LTIyMTUsNyArMjIxOSw3IEBAIEdldFNuYXBzaG90RGF0YShTbmFwc2hvdCBzbmFwc2hvdCkK IAkJCVRyYW5zYWN0aW9uSWQgeGlkID0gVUlOVDMyX0FDQ0VTU19PTkNFKG90aGVyX3hpZHNb cGd4YWN0b2ZmXSk7CiAJCQl1aW50OAkJc3RhdHVzRmxhZ3M7CiAKLQkJCUFzc2VydChhbGxQ cm9jc1thcnJheVAtPnBncHJvY25vc1twZ3hhY3RvZmZdXS5wZ3hhY3RvZmYgPT0gcGd4YWN0 b2ZmKTsKKwkJCUFzc2VydChwZ3hhY3RvZmZzW2FycmF5UC0+cGdwcm9jbm9zW3BneGFjdG9m Zl1dID09IHBneGFjdG9mZik7CiAKIAkJCS8qCiAJCQkgKiBJZiB0aGUgdHJhbnNhY3Rpb24g aGFzIG5vIFhJRCBhc3NpZ25lZCwgd2UgY2FuIHNraXAgaXQ7IGl0CkBAIC0yNTgzLDcgKzI1 ODcsNyBAQCBQcm9jQXJyYXlJbnN0YWxsUmVzdG9yZWRYbWluKFRyYW5zYWN0aW9uSWQgeG1p biwgUEdQUk9DICpwcm9jKQogCQlNeVByb2MtPnhtaW4gPSBUcmFuc2FjdGlvblhtaW4gPSB4 bWluOwogCQlNeVByb2MtPnN0YXR1c0ZsYWdzID0gKE15UHJvYy0+c3RhdHVzRmxhZ3MgJiB+ UFJPQ19YTUlOX0ZMQUdTKSB8CiAJCQkocHJvYy0+c3RhdHVzRmxhZ3MgJiBQUk9DX1hNSU5f RkxBR1MpOwotCQlQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1tNeVByb2MtPnBneGFjdG9mZl0g PSBNeVByb2MtPnN0YXR1c0ZsYWdzOworCQlQcm9jR2xvYmFsLT5zdGF0dXNGbGFnc1tQcm9j R2V0TXlYYWN0T2ZmKCldID0gTXlQcm9jLT5zdGF0dXNGbGFnczsKIAogCQlyZXN1bHQgPSB0 cnVlOwogCX0KQEAgLTQwMTEsNyArNDAxNSw3IEBAIFhpZENhY2hlUmVtb3ZlUnVubmluZ1hp ZHMoVHJhbnNhY3Rpb25JZCB4aWQsCiAJICovCiAJTFdMb2NrQWNxdWlyZShQcm9jQXJyYXlM b2NrLCBMV19FWENMVVNJVkUpOwogCi0JbXlzdWJ4aWRzdGF0ID0gJlByb2NHbG9iYWwtPnN1 YnhpZFN0YXRlc1tNeVByb2MtPnBneGFjdG9mZl07CisJbXlzdWJ4aWRzdGF0ID0gJlByb2NH bG9iYWwtPnN1YnhpZFN0YXRlc1tQcm9jR2V0TXlYYWN0T2ZmKCldOwogCiAJLyoKIAkgKiBV bmRlciBub3JtYWwgY2lyY3Vtc3RhbmNlcyB4aWQgYW5kIHhpZHNbXSB3aWxsIGJlIGluIGlu Y3JlYXNpbmcgb3JkZXIsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3Iv cHJvYy5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYwppbmRleCA2ZmE5ZGUz M2UxYy4uMWE1MmJkYjhiODggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1n ci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYwpAQCAtMTY0 LDYgKzE2NCw3IEBAIFByb2NHbG9iYWxTaG1lbVJlcXVlc3Qodm9pZCAqYXJnKQogCXNpemUg PSBhZGRfc2l6ZShzaXplLCBtdWxfc2l6ZShUb3RhbFByb2NzLCBzaXplb2YoUEdQUk9DKSkp OwogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBtdWxfc2l6ZShUb3RhbFByb2NzLCBzaXplb2Yo KlByb2NHbG9iYWwtPnhpZHMpKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIG11bF9zaXpl KFRvdGFsUHJvY3MsIHNpemVvZigqUHJvY0dsb2JhbC0+c3VieGlkU3RhdGVzKSkpOworCXNp emUgPSBhZGRfc2l6ZShzaXplLCBtdWxfc2l6ZShUb3RhbFByb2NzLCBzaXplb2YoKlByb2NH bG9iYWwtPnBneGFjdG9mZnMpKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIG11bF9zaXpl KFRvdGFsUHJvY3MsIHNpemVvZigqUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3MpKSk7CiAJUHJv Y0dsb2JhbEFsbFByb2NzU2htZW1TaXplID0gc2l6ZTsKIAlTaG1lbVJlcXVlc3RTdHJ1Y3Qo Lm5hbWUgPSAiUEdQUk9DIHN0cnVjdHVyZXMiLApAQCAtMjcwLDYgKzI3MSw5IEBAIFByb2NH bG9iYWxTaG1lbUluaXQodm9pZCAqYXJnKQogCVByb2NHbG9iYWwtPnN1YnhpZFN0YXRlcyA9 IChYaWRDYWNoZVN0YXR1cyAqKSBwdHI7CiAJcHRyID0gcHRyICsgKFRvdGFsUHJvY3MgKiBz aXplb2YoKlByb2NHbG9iYWwtPnN1YnhpZFN0YXRlcykpOwogCisJUHJvY0dsb2JhbC0+cGd4 YWN0b2ZmcyA9IChpbnQgKikgcHRyOworCXB0ciA9IChjaGFyICopIHB0ciArIFRvdGFsUHJv Y3MgKiBzaXplb2YoKlByb2NHbG9iYWwtPnBneGFjdG9mZnMpOworCiAJUHJvY0dsb2JhbC0+ c3RhdHVzRmxhZ3MgPSAodWludDggKikgcHRyOwogCXB0ciA9IHB0ciArIChUb3RhbFByb2Nz ICogc2l6ZW9mKCpQcm9jR2xvYmFsLT5zdGF0dXNGbGFncykpOwogCkBAIC0xNTMxLDcgKzE1 MzUsNyBAQCBQcm9jU2xlZXAoTE9DQUxMT0NLICpsb2NhbGxvY2spCiAJCQkgKiB0aGUgbG9j ayBoZWxkLCB3aGljaCBpcyBtdWNoIG1vcmUgdW5kZXNpcmFibGUuCiAJCQkgKi8KIAkJCUxX TG9ja0FjcXVpcmUoUHJvY0FycmF5TG9jaywgTFdfRVhDTFVTSVZFKTsKLQkJCXN0YXR1c0Zs YWdzID0gUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbYXV0b3ZhYy0+cGd4YWN0b2ZmXTsKKwkJ CXN0YXR1c0ZsYWdzID0gUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbUHJvY0dldFhhY3RPZmYo R2V0TnVtYmVyRnJvbVBHUHJvYyhhdXRvdmFjKSldOwogCQkJbG9ja21ldGhvZF9jb3B5ID0g bG9jay0+dGFnLmxvY2t0YWdfbG9ja21ldGhvZGlkOwogCQkJbG9ja3RhZ19jb3B5ID0gbG9j ay0+dGFnOwogCQkJTFdMb2NrUmVsZWFzZShQcm9jQXJyYXlMb2NrKTsKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvYy5oIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9j LmgKaW5kZXggM2UxZDFmYWQ1ZjkuLjJjNGQyM2NiMTE2IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9zdG9yYWdlL3Byb2MuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaApA QCAtMjEwLDkgKzIxMCw2IEBAIHR5cGVkZWYgc3RydWN0IFBHUFJPQwogCU9pZAkJCXRlbXBO YW1lc3BhY2VJZDsJLyogT0lEIG9mIHRlbXAgc2NoZW1hIHRoaXMgYmFja2VuZCBpcwogCQkJ CQkJCQkJICogdXNpbmcgKi8KIAotCWludAkJCXBneGFjdG9mZjsJCS8qIG9mZnNldCBpbnRv IHZhcmlvdXMgUHJvY0dsb2JhbC0+YXJyYXlzIHdpdGgKLQkJCQkJCQkJICogZGF0YSBtaXJy b3JlZCBmcm9tIHRoaXMgUEdQUk9DICovCi0KIAl1aW50OAkJc3RhdHVzRmxhZ3M7CS8qIHRo aXMgYmFja2VuZCdzIHN0YXR1cyBmbGFncywgc2VlIFBST0NfKgogCQkJCQkJCQkgKiBhYm92 ZS4gbWlycm9yZWQgaW4KIAkJCQkJCQkJICogUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbcGd4 YWN0b2ZmXSAqLwpAQCAtNDQ1LDYgKzQ0Miw3IEBAIHR5cGVkZWYgc3RydWN0IFBST0NfSERS CiB7CiAJLyogQXJyYXkgb2YgUEdQUk9DIHN0cnVjdHVyZXMgKG5vdCBpbmNsdWRpbmcgZHVt bWllcyBmb3IgcHJlcGFyZWQgdHhucykgKi8KIAlQR1BST0MJICAgKmFsbFByb2NzOworCWlu dAkJICAgKnBneGFjdG9mZnM7CiAKIAkvKiBBcnJheSBtaXJyb3JpbmcgUEdQUk9DLnhpZCBm b3IgZWFjaCBQR1BST0MgY3VycmVudGx5IGluIHRoZSBwcm9jYXJyYXkgKi8KIAlUcmFuc2Fj dGlvbklkICp4aWRzOwpAQCAtNTA5LDYgKzUwNyw4IEBAIGV4dGVybiBQR0RMTElNUE9SVCBQ R1BST0MgKlByZXBhcmVkWGFjdFByb2NzOwogICovCiAjZGVmaW5lIEdldFBHUHJvY0J5TnVt YmVyKG4pICgmUHJvY0dsb2JhbC0+YWxsUHJvY3NbKG4pXSkKICNkZWZpbmUgR2V0TnVtYmVy RnJvbVBHUHJvYyhwcm9jKSAoKHByb2MpIC0gJlByb2NHbG9iYWwtPmFsbFByb2NzWzBdKQor I2RlZmluZSBQcm9jR2V0WGFjdE9mZihwcm9jbm8pIChQcm9jR2xvYmFsLT5wZ3hhY3RvZmZz Wyhwcm9jbm8pXSkKKyNkZWZpbmUgUHJvY0dldE15WGFjdE9mZigpIChQcm9jR2V0WGFjdE9m ZihHZXROdW1iZXJGcm9tUEdQcm9jKE15UHJvYykpKQogCiAvKgogICogV2Ugc2V0IGFzaWRl IHNvbWUgZXh0cmEgUEdQUk9DIHN0cnVjdHVyZXMgZm9yICJzcGVjaWFsIHdvcmtlciIgcHJv Y2Vzc2VzLAotLSAKMi40My4wCgo= --------------6hULsAqgJancPvjIhr0PSIzA--