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.94.2) (envelope-from ) id 1v5Pa8-006OMZ-04 for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Oct 2025 14:19:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v5Pa5-002iVO-7D for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Oct 2025 14:19:22 +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.94.2) (envelope-from ) id 1v5Pa4-002iVF-FG for pgsql-hackers@lists.postgresql.org; Sun, 05 Oct 2025 14:19:21 +0000 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v5Pa2-000WBZ-0D for pgsql-hackers@lists.postgresql.org; Sun, 05 Oct 2025 14:19:21 +0000 Received: from phl-compute-07.internal (phl-compute-07.internal [10.202.2.47]) by mailfhigh.stl.internal (Postfix) with ESMTP id D2E807A003C; Sun, 5 Oct 2025 10:19:14 -0400 (EDT) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-07.internal (MEProxy); Sun, 05 Oct 2025 10:19:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1759673954; x=1759760354; bh=HkSnFdQ8GB SYCAjaddL/6+mX4vV4EakxAWwbxjMMf08=; b=S+QqwWky1m1jHF6LxgTQ3Smkuj PkLibaO1RVoND8alcLkkrqW4l+Gb4BSuBnW6MlYr6/MBBhEwnS/U9eG87gWoAofr DULXT2QpizctTRYMaTG2Wnx3G2t44DooFC0MjXEQ+k2v5py0TfxaKVs9U+fBTIVa X/J6H8XNOvI2l7f4aDqTIsCpAJJP5afbTqwKWPtRJMAjy0W6WmktMNn7Bgi7vdrN 3jrleQtLL+dRlN61BS74FTmaYV8iN4Rzhq/cAN/aQ/XjYnAI8FtSJ9sNWGY8jq0F su7lnX3haVal6zOZ4zr3/tXV8ep75HuKncADf/fpzLZ/SuXsqhdaqRrNC2+Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1759673954; x=1759760354; bh=HkSnFdQ8GBSYCAjaddL/6+mX4vV4EakxAWw bxjMMf08=; b=QR3Bq73oUlJh0ydYeYnem11BkRuXrDgdupxtk2okDizGLOenZCt ajuEO8yAyFU3yUkfLYJ5WG2B2TRmBHdbAfoL4efJuM7ezq3mjnRtnZ4f310WxyKI YV1Yzua+/yyP0wpzqMhTQgy+toFIDZp7lrICKBaww6mBTZSmh93pj8LLyAqB3VC3 zdQFRYzwnS3TP/vfcpF4x8Av4L+8Z5p5gdFO/UaSwYfnV8eEXQTckSXIFAeZamzT LTmy9s/N51RaKp8JKbIPdZLhFExS+nwddD5SC29a/hvZyEGalBOTad0S8fMNa79L j+WJ3JCI5HAI7rhJ3rRrh5arHLZl5Gdtm4A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdelgeekkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefoggffhffvvefkjghfufgtsehmtderreertddtnecuhfhrohhmpedfgfhulhgvrhcu vfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecuggftrfgrth htvghrnhepfeefgeekhfelvdelffekhfdtieehieeivdeuieehgffhieegkeejhfevgfel feehnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvuhhlvghrsegvuhhlvghr thhordgtohhmpdhnsggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgpdhrtghpthhtohep rghnughrvghssegrnhgrrhgriigvlhdruggvpdhrtghpthhtohepjhgrphhinhhliheshh hothhmrghilhdrtghomhdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhs thhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 02D09182007A; Sun, 5 Oct 2025 10:19:13 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AGl55nTq-Okk Date: Sun, 05 Oct 2025 11:18:53 -0300 From: "Euler Taveira" To: japin , "Alvaro Herrera" Cc: "Andres Freund" , pgsql-hackers@lists.postgresql.org Message-Id: <24b9bfd6-7fba-4946-9b73-244934b89464@app.fastmail.com> In-Reply-To: References: <202507311651.ahhz57cfk6lo@alvherre.pgsql> Subject: Re: log_min_messages per backend type Content-Type: multipart/mixed; boundary=08e248f0f40d4af880341e26ab120749 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --08e248f0f40d4af880341e26ab120749 Content-Type: text/plain Content-Transfer-Encoding: 7bit On Thu, Jul 31, 2025, at 8:34 PM, Japin Li wrote: > On Thu, 31 Jul 2025 at 18:51, Alvaro Herrera wrote: >> On 2025-Aug-01, Japin Li wrote: >> >>> If we set the log level for all backend types, I don't think a generic log >>> level is necessary. >> >> I don't understand what you mean by this. Can you elaborate? >> > For example: > > ALTER SYSTEM SET log_min_messages TO > 'archiver:info, autovacuum:info, backend:info, bgworker:info, > bgwriter:info, checkpointer:info, ioworker:info, logger:info, > slotsyncworker:info, startup:info, walreceiver:info, walsender:info, > walsummarizer:info, walwriter:info'; > > Given that we've set a log level for every backend type and > assigned[BACKEND_NUM_TYPES] is true, a generic level seems redundant. > The main reason I didn't consider this idea was that this GUC assignment will fail as soon as a new backend type is added. Restore a dump should work across major versions. > I think we can avoid memory allocation by using pg_strncasecmp(). > loglevel does not required a memory allocation but I didn't include the btype part because it complicates the error message that uses btype a few lines above. This new patch contains the following changes: - patch was rebased - use commit dbf8cfb4f02 - use some GUC memory allocation functions - avoid one memory allocation (suggested by Japin Li) - rename backend type: logger -> syslogger - adjust tests to increase test coverage - improve documentation and comments to reflect the current state -- Euler Taveira EDB https://www.enterprisedb.com/ --08e248f0f40d4af880341e26ab120749 Content-Disposition: attachment; filename*0="v4-0001-log_min_messages-per-backend-type.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v4-0001-log=5Fmin=5Fmessages-per-backend-type.patch?=" Content-Transfer-Encoding: base64 RnJvbSAzN2E5OTA1OWM4ZWFlZDViZWNlNWQ1NjUzMDg5MmVkZjM0OGQyZTY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogVHVlLCAzMCBTZXAgMjAyNSAxMDo1OToyNSAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggdjRdIGxvZ19taW5fbWVzc2FnZXMgcGVyIGJhY2tlbmQgdHlwZQoKQ2hhbmdlIGxvZ19t aW5fbWVzc2FnZXMgZnJvbSBhIHNpbmdsZSBlbGVtZW50IHRvIGEgY29tbWEtc2VwYXJhdGVk IGxpc3QKb2YgZWxlbWVudHMuIEVhY2ggZWxlbWVudCBpcyBiYWNrZW5kdHlwZTpsb2dsZXZl bC4gVGhlIGJhY2tlbmR0eXBlIGFyZQphcmNoaXZlciwgYXV0b3ZhY3V1bSAoaW5jbHVkZXMg bGF1bmNoZXIgYW5kIHdvcmtlcnMpLCBiYWNrZW5kLCBiZ3dvcmtlciwKYmd3cml0ZXIsIGNo ZWNrcG9pbnRlciwgaW93b3JrZXIsIHN5c2xvZ2dlciwgc2xvdHN5bmN3b3JrZXIsIHN0YXJ0 dXAsCndhbHJlY2VpdmVyLCB3YWxzZW5kZXIsIHdhbHN1bW1hcml6ZXIgYW5kIHdhbHdyaXRl ci4gQSBzaW5nbGUgbG9nIGxldmVsCnNob3VsZCBiZSBwYXJ0IG9mIHRoaXMgbGlzdCBhbmQg aXQgaXMgYXBwbGllZCBhcyBhIGZpbmFsIHN0ZXAgdG8gdGhlCmJhY2tlbmQgdHlwZXMgdGhh dCB3ZXJlIG5vdCBpbmZvcm1lZC4KClRoZSBvbGQgc3ludGF4IChhIHNpbmdsZSBsb2cgbGV2 ZWwpIGlzIHN0aWxsIGFjY2VwdGVkIGZvciBiYWNrd2FyZApjb21wYXRpYmlsaXR5LiBJbiB0 aGlzIGNhc2UsIGl0IG1lYW5zIHRoZSBpbmZvcm1lZCBsb2cgbGV2ZWwgaXMgYXBwbGllZApm b3IgYWxsIGJhY2tlbmQgdHlwZXMuIFRoZSBkZWZhdWx0IGxvZyBsZXZlbCBpcyB0aGUgc2Ft ZSAoV0FSTklORykgZm9yCmFsbCBiYWNrZW5kIHR5cGVzLgotLS0KIGRvYy9zcmMvc2dtbC9j b25maWcuc2dtbCAgICAgICAgICAgICAgICAgICAgICB8ICAzMSArKy0KIHNyYy9iYWNrZW5k L2NvbW1hbmRzL2V4dGVuc2lvbi5jICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvdmFyaWFibGUuYyAgICAgICAgICAgICAgIHwgMjA1ICsrKysrKysrKysr KysrKysrKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9sYXVuY2hfYmFja2VuZC5jICAgICAg IHwgICAyICstCiBzcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYyAgICAgICAg ICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5k YXQgICAgIHwgIDE4ICstCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAg ICAgICAgICAgfCAgMjUgKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwu Y29uZi5zYW1wbGUgfCAgIDIgKwogc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wcm9jdHlwZWxp c3QuaCAgICAgICAgIHwgIDM4ICsrLS0KIHNyYy9pbmNsdWRlL3V0aWxzL2d1Yy5oICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tz LmggICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9pbmNsdWRlL3V0aWxzL2d1Y190YWJs ZXMuaCAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2d1Yy5vdXQgICAgICAgICAgICAgfCAgNTQgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2d1Yy5zcWwgICAgICAgICAgICAgICAgICB8ICAxOCArKwogMTUgZmlsZXMgY2hhbmdlZCwg MzY0IGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9jb25maWcuc2dtbCBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAppbmRleCBl OWI0MjBmM2RkYi4uYjMxZDU4NzU4MzggMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jb25m aWcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKQEAgLTcwMjIsNyArNzAy Miw3IEBAIGxvY2FsMC4qICAgIC92YXIvbG9nL3Bvc3RncmVzcWwKICAgICAgPHZhcmlhYmxl bGlzdD4KIAogICAgICA8dmFybGlzdGVudHJ5IGlkPSJndWMtbG9nLW1pbi1tZXNzYWdlcyIg eHJlZmxhYmVsPSJsb2dfbWluX21lc3NhZ2VzIj4KLSAgICAgIDx0ZXJtPjx2YXJuYW1lPmxv Z19taW5fbWVzc2FnZXM8L3Zhcm5hbWU+ICg8dHlwZT5lbnVtPC90eXBlPikKKyAgICAgIDx0 ZXJtPjx2YXJuYW1lPmxvZ19taW5fbWVzc2FnZXM8L3Zhcm5hbWU+ICg8dHlwZT5zdHJpbmc8 L3R5cGU+KQogICAgICAgPGluZGV4dGVybT4KICAgICAgICA8cHJpbWFyeT48dmFybmFtZT5s b2dfbWluX21lc3NhZ2VzPC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjwvcHJp bWFyeT4KICAgICAgIDwvaW5kZXh0ZXJtPgpAQCAtNzAzMSwxNCArNzAzMSwyNyBAQCBsb2Nh bDAuKiAgICAvdmFyL2xvZy9wb3N0Z3Jlc3FsCiAgICAgICAgPHBhcmE+CiAgICAgICAgIENv bnRyb2xzIHdoaWNoIDxsaW5rIGxpbmtlbmQ9InJ1bnRpbWUtY29uZmlnLXNldmVyaXR5LWxl dmVscyI+bWVzc2FnZQogICAgICAgICBsZXZlbHM8L2xpbms+IGFyZSB3cml0dGVuIHRvIHRo ZSBzZXJ2ZXIgbG9nLgotICAgICAgICBWYWxpZCB2YWx1ZXMgYXJlIDxsaXRlcmFsPkRFQlVH NTwvbGl0ZXJhbD4sIDxsaXRlcmFsPkRFQlVHNDwvbGl0ZXJhbD4sCi0gICAgICAgIDxsaXRl cmFsPkRFQlVHMzwvbGl0ZXJhbD4sIDxsaXRlcmFsPkRFQlVHMjwvbGl0ZXJhbD4sIDxsaXRl cmFsPkRFQlVHMTwvbGl0ZXJhbD4sCi0gICAgICAgIDxsaXRlcmFsPklORk88L2xpdGVyYWw+ LCA8bGl0ZXJhbD5OT1RJQ0U8L2xpdGVyYWw+LCA8bGl0ZXJhbD5XQVJOSU5HPC9saXRlcmFs PiwKLSAgICAgICAgPGxpdGVyYWw+RVJST1I8L2xpdGVyYWw+LCA8bGl0ZXJhbD5MT0c8L2xp dGVyYWw+LCA8bGl0ZXJhbD5GQVRBTDwvbGl0ZXJhbD4sIGFuZAotICAgICAgICA8bGl0ZXJh bD5QQU5JQzwvbGl0ZXJhbD4uICBFYWNoIGxldmVsIGluY2x1ZGVzIGFsbCB0aGUgbGV2ZWxz IHRoYXQKLSAgICAgICAgZm9sbG93IGl0LiAgVGhlIGxhdGVyIHRoZSBsZXZlbCwgdGhlIGZl d2VyIG1lc3NhZ2VzIGFyZSBzZW50Ci0gICAgICAgIHRvIHRoZSBsb2cuICBUaGUgZGVmYXVs dCBpcyA8bGl0ZXJhbD5XQVJOSU5HPC9saXRlcmFsPi4gIE5vdGUgdGhhdAotICAgICAgICA8 bGl0ZXJhbD5MT0c8L2xpdGVyYWw+IGhhcyBhIGRpZmZlcmVudCByYW5rIGhlcmUgdGhhbiBp bgorICAgICAgICBWYWxpZCB2YWx1ZXMgYXJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Yg PGxpdGVyYWw+YmFja2VuZHR5cGU6bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGFuZCBhIHNp bmdsZSA8bGl0ZXJhbD5sZXZlbDwvbGl0ZXJhbD4uIFRoZSBsaXN0IGFsbG93cyBpdCB0byB1 c2UKKyAgICAgICAgZGlmZmVyZW50IGxldmVscyBwZXIgYmFja2VuZCB0eXBlLiBPbmx5IHRo ZSBzaW5nbGUgPGxpdGVyYWw+bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGlzIG1hbmRhdG9y eSAob3JkZXIgZG9lcyBub3QgbWF0dGVyKSBhbmQgaXQgaXMgYXNzaWduZWQgdG8gdGhlIGJh Y2tlbmQKKyAgICAgICAgdHlwZXMgdGhhdCBhcmUgbm90IHNwZWNpZmllZCBpbiB0aGUgbGlz dC4KKyAgICAgICAgVmFsaWQgPGxpdGVyYWw+YmFja2VuZHR5cGU8L2xpdGVyYWw+IHZhbHVl cyBhcmUgPGxpdGVyYWw+YXJjaGl2ZXI8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5h dXRvdmFjdXVtPC9saXRlcmFsPiwgPGxpdGVyYWw+YmFja2VuZDwvbGl0ZXJhbD4sCisgICAg ICAgIDxsaXRlcmFsPmJnd29ya2VyPC9saXRlcmFsPiwgPGxpdGVyYWw+Ymd3cml0ZXI8L2xp dGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5jaGVja3BvaW50ZXI8L2xpdGVyYWw+LCA8bGl0 ZXJhbD5pb3dvcmtlcjwvbGl0ZXJhbD4sCisgICAgICAgIDxsaXRlcmFsPnN5c2xvZ2dlcjwv bGl0ZXJhbD4sIDxsaXRlcmFsPnNsb3RzeW5jd29ya2VyPC9saXRlcmFsPiwKKyAgICAgICAg PGxpdGVyYWw+c3RhcnR1cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPndhbHJlY2VpdmVyPC9saXRl cmFsPiwKKyAgICAgICAgPGxpdGVyYWw+d2Fsc2VuZGVyPC9saXRlcmFsPiwgPGxpdGVyYWw+ d2Fsc3VtbWFyaXplcjwvbGl0ZXJhbD4sIGFuZAorICAgICAgICA8bGl0ZXJhbD53YWx3cml0 ZXI8L2xpdGVyYWw+LgorICAgICAgICBWYWxpZCA8bGl0ZXJhbD5sZXZlbDwvbGl0ZXJhbD4g dmFsdWVzIGFyZSA8bGl0ZXJhbD5ERUJVRzU8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJh bD5ERUJVRzQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJVRzM8L2xpdGVyYWw+LCA8bGl0ZXJh bD5ERUJVRzI8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5ERUJVRzE8L2xpdGVyYWw+ LCA8bGl0ZXJhbD5JTkZPPC9saXRlcmFsPiwgPGxpdGVyYWw+Tk9USUNFPC9saXRlcmFsPiwK KyAgICAgICAgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJhbD4sIDxsaXRlcmFsPkVSUk9SPC9s aXRlcmFsPiwgPGxpdGVyYWw+TE9HPC9saXRlcmFsPiwKKyAgICAgICAgPGxpdGVyYWw+RkFU QUw8L2xpdGVyYWw+LCBhbmQgPGxpdGVyYWw+UEFOSUM8L2xpdGVyYWw+LiAgRWFjaCBsZXZl bCBpbmNsdWRlcworICAgICAgICBhbGwgdGhlIGxldmVscyB0aGF0IGZvbGxvdyBpdC4gIFRo ZSBsYXRlciB0aGUgbGV2ZWwsIHRoZSBmZXdlciBtZXNzYWdlcyBhcmUgc2VudAorICAgICAg ICB0byB0aGUgbG9nLiAgVGhlIGRlZmF1bHQgaXMgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJh bD4gZm9yIGFsbCBiYWNrZW5kIHR5cGVzLgorICAgICAgICBOb3RlIHRoYXQgPGxpdGVyYWw+ TE9HPC9saXRlcmFsPiBoYXMgYSBkaWZmZXJlbnQgcmFuayBoZXJlIHRoYW4gaW4KICAgICAg ICAgPHhyZWYgbGlua2VuZD0iZ3VjLWNsaWVudC1taW4tbWVzc2FnZXMiLz4uCiAgICAgICAg IE9ubHkgc3VwZXJ1c2VycyBhbmQgdXNlcnMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgPGxpdGVy YWw+U0VUPC9saXRlcmFsPgogICAgICAgICBwcml2aWxlZ2UgY2FuIGNoYW5nZSB0aGlzIHNl dHRpbmcuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9leHRlbnNpb24uYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4dGVuc2lvbi5jCmluZGV4IDkzZWYxYWQxMDZmLi44 MWY3YmM1ZTU2NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXh0ZW5zaW9u LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXh0ZW5zaW9uLmMKQEAgLTExNDMsNyAr MTE0Myw3IEBAIGV4ZWN1dGVfZXh0ZW5zaW9uX3NjcmlwdChPaWQgZXh0ZW5zaW9uT2lkLCBF eHRlbnNpb25Db250cm9sRmlsZSAqY29udHJvbCwKIAkJKHZvaWQpIHNldF9jb25maWdfb3B0 aW9uKCJjbGllbnRfbWluX21lc3NhZ2VzIiwgIndhcm5pbmciLAogCQkJCQkJCQkgUEdDX1VT RVJTRVQsIFBHQ19TX1NFU1NJT04sCiAJCQkJCQkJCSBHVUNfQUNUSU9OX1NBVkUsIHRydWUs IDAsIGZhbHNlKTsKLQlpZiAobG9nX21pbl9tZXNzYWdlcyA8IFdBUk5JTkcpCisJaWYgKGxv Z19taW5fbWVzc2FnZXNbTXlCYWNrZW5kVHlwZV0gPCBXQVJOSU5HKQogCQkodm9pZCkgc2V0 X2NvbmZpZ19vcHRpb25fZXh0KCJsb2dfbWluX21lc3NhZ2VzIiwgIndhcm5pbmciLAogCQkJ CQkJCQkJIFBHQ19TVVNFVCwgUEdDX1NfU0VTU0lPTiwKIAkJCQkJCQkJCSBCT09UU1RSQVBf U1VQRVJVU0VSSUQsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YXJpYWJs ZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwppbmRleCA2MDhmMTBkOTQx Mi4uOTMzMzZmZWUzM2IgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Zhcmlh YmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwpAQCAtMzUsNiAr MzUsNyBAQAogI2luY2x1ZGUgInV0aWxzL2RhdGV0aW1lLmgiCiAjaW5jbHVkZSAidXRpbHMv Zm1ncnByb3Rvcy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Y19ob29rcy5oIgorI2luY2x1ZGUg InV0aWxzL2d1Y190YWJsZXMuaCIKICNpbmNsdWRlICJ1dGlscy9zbmFwbWdyLmgiCiAjaW5j bHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy90aW1lc3RhbXAuaCIK QEAgLTEyNTcsMyArMTI1OCwyMDcgQEAgY2hlY2tfc3NsKGJvb2wgKm5ld3ZhbCwgdm9pZCAq KmV4dHJhLCBHdWNTb3VyY2Ugc291cmNlKQogI2VuZGlmCiAJcmV0dXJuIHRydWU7CiB9CisK Ky8qCisgKiBHVUMgY2hlY2tfaG9vayBmb3IgbG9nX21pbl9tZXNzYWdlcworICoKKyAqIFRo ZSBwYXJzaW5nIGNvbnNpc3RzIG9mIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgQkFDS0VO RFRZUEVOQU1FOkxFVkVMCisgKiBlbGVtZW50cy4gQkFDS0VORFRZUEVOQU1FIGlzIGxvZ19t aW5fbWVzc2FnZXNfYmFja2VuZF90eXBlcy4gIExFVkVMIGlzCisgKiBzZXJ2ZXJfbWVzc2Fn ZV9sZXZlbF9vcHRpb25zLiBBIHNpbmdsZSBMRVZFTCBlbGVtZW50IHNob3VsZCBiZSBwYXJ0 IG9mIHRoaXMKKyAqIGxpc3QgYW5kIGl0IGlzIGFwcGxpZWQgYXMgYSBmaW5hbCBzdGVwIHRv IHRoZSBiYWNrZW5kIHR5cGVzIHRoYXQgYXJlIG5vdAorICogc3BlY2lmaWVkLiBGb3IgYmFj a3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIG9sZCBzeW50YXggaXMgc3RpbGwgYWNjZXB0ZWQg YW5kCisgKiBpdCBtZWFucyB0byBhcHBseSB0aGUgTEVWRUwgZm9yIGFsbCBiYWNrZW5kIHR5 cGVzLgorICovCitib29sCitjaGVja19sb2dfbWluX21lc3NhZ2VzKGNoYXIgKipuZXd2YWws IHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSkKK3sKKwljaGFyCSAgICpyYXdzdHJp bmc7CisJTGlzdAkgICAqZWxlbWxpc3Q7CisJTGlzdENlbGwgICAqbDsKKwlpbnQJCQluZXds ZXZlbFtCQUNLRU5EX05VTV9UWVBFU107CisJYm9vbAkJYXNzaWduZWRbQkFDS0VORF9OVU1f VFlQRVNdOworCWludAkJCWdlbmVyaWNsZXZlbCA9IC0xOwkvKiAtMSBtZWFucyBub3QgYXNz aWduZWQgKi8KKworCS8qIEluaXRpYWxpemUgdGhlIGFycmF5LiAqLworCW1lbXNldChuZXds ZXZlbCwgV0FSTklORywgQkFDS0VORF9OVU1fVFlQRVMgKiBzaXplb2YoaW50KSk7CisJbWVt c2V0KGFzc2lnbmVkLCBmYWxzZSwgQkFDS0VORF9OVU1fVFlQRVMgKiBzaXplb2YoYm9vbCkp OworCisJLyogTmVlZCBhIG1vZGlmaWFibGUgY29weSBvZiBzdHJpbmcuICovCisJcmF3c3Ry aW5nID0gZ3VjX3N0cmR1cChMT0csICpuZXd2YWwpOworCisJLyogUGFyc2Ugc3RyaW5nIGlu dG8gbGlzdCBvZiBpZGVudGlmaWVycy4gKi8KKwlpZiAoIVNwbGl0R1VDTGlzdChyYXdzdHJp bmcsICcsJywgJmVsZW1saXN0KSkKKwl7CisJCS8qIHN5bnRheCBlcnJvciBpbiBsaXN0ICov CisJCUdVQ19jaGVja19lcnJkZXRhaWwoIkxpc3Qgc3ludGF4IGlzIGludmFsaWQuIik7CisJ CWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCWxpc3RfZnJlZShlbGVtbGlzdCk7CisJCXJldHVy biBmYWxzZTsKKwl9CisKKwkvKiBWYWxpZGF0ZSBhbmQgYXNzaWduIGxvZyBsZXZlbCBhbmQg YmFja2VuZCB0eXBlLiAqLworCWZvcmVhY2gobCwgZWxlbWxpc3QpCisJeworCQljaGFyCSAg ICp0b2sgPSAoY2hhciAqKSBsZmlyc3QobCk7CisJCWNoYXIJICAgKnNlcDsKKwkJY29uc3Qg c3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5ICplbnRyeTsKKworCQkvKgorCQkgKiBDaGVjayB3 aGV0aGVyIHRoZXJlIGlzIGEgYmFja2VuZCB0eXBlIGZvbGxvd2luZyB0aGUgbG9nIGxldmVs LiBJZgorCQkgKiB0aGVyZSBpcyBubyBzZXBhcmF0b3IsIGl0IG1lYW5zIHRoaXMgaXMgdGhl IGdlbmVyaWMgbG9nIGxldmVsLiBUaGUKKwkJICogZ2VuZXJpYyBsb2cgbGV2ZWwgd2lsbCBi ZSBhc3NpZ25lZCB0byB0aGUgYmFja2VuZCB0eXBlcyB0aGF0IHdlcmUKKwkJICogbm90IGlu Zm9ybWVkLgorCQkgKi8KKwkJc2VwID0gc3RyY2hyKHRvaywgJzonKTsKKwkJaWYgKHNlcCA9 PSBOVUxMKQorCQl7CisJCQlib29sCQlmb3VuZCA9IGZhbHNlOworCisJCQkvKiBSZWplY3Qg ZHVwbGljYXRlcyBmb3IgZ2VuZXJpYyBsb2cgbGV2ZWwuICovCisJCQlpZiAoZ2VuZXJpY2xl dmVsICE9IC0xKQorCQkJeworCQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIkdlbmVyaWMgbG9n IGxldmVsIHdhcyBhbHJlYWR5IGFzc2lnbmVkLiIpOworCQkJCWd1Y19mcmVlKHJhd3N0cmlu Zyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9 CisKKwkJCS8qIElzIHRoZSBsb2cgbGV2ZWwgdmFsaWQ/ICovCisJCQlmb3IgKGVudHJ5ID0g c2VydmVyX21lc3NhZ2VfbGV2ZWxfb3B0aW9uczsgZW50cnkgJiYgZW50cnktPm5hbWU7IGVu dHJ5KyspCisJCQl7CisJCQkJaWYgKHBnX3N0cmNhc2VjbXAoZW50cnktPm5hbWUsIHRvaykg PT0gMCkKKwkJCQl7CisJCQkJCWdlbmVyaWNsZXZlbCA9IGVudHJ5LT52YWw7CisJCQkJCWZv dW5kID0gdHJ1ZTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCisJCQlpZiAoIWZvdW5k KQorCQkJeworCQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIlVucmVjb2duaXplZCBsb2cgbGV2 ZWw6IFwiJXNcIi4iLCB0b2spOworCQkJCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCQkJbGlz dF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9CisJCX0KKwkJZWxz ZQorCQl7CisJCQljaGFyCSAgICpsb2dsZXZlbDsKKwkJCWNoYXIJICAgKmJ0eXBlOworCQkJ Ym9vbAkJZm91bmQgPSBmYWxzZTsKKworCQkJYnR5cGUgPSBndWNfbWFsbG9jKExPRywgKHNl cCAtIHRvaykgKyAxKTsKKwkJCWlmICghYnR5cGUpCisJCQl7CisJCQkJZ3VjX2ZyZWUocmF3 c3RyaW5nKTsKKwkJCQlsaXN0X2ZyZWUoZWxlbWxpc3QpOworCQkJCXJldHVybiBmYWxzZTsK KwkJCX0KKwkJCW1lbWNweShidHlwZSwgdG9rLCBzZXAgLSB0b2spOworCQkJYnR5cGVbc2Vw IC0gdG9rXSA9ICdcMCc7CisJCQlsb2dsZXZlbCA9IHNlcCArIDE7CisKKwkJCS8qIElzIHRo ZSBsb2cgbGV2ZWwgdmFsaWQ/ICovCisJCQlmb3IgKGVudHJ5ID0gc2VydmVyX21lc3NhZ2Vf bGV2ZWxfb3B0aW9uczsgZW50cnkgJiYgZW50cnktPm5hbWU7IGVudHJ5KyspCisJCQl7CisJ CQkJaWYgKHBnX3N0cmNhc2VjbXAoZW50cnktPm5hbWUsIGxvZ2xldmVsKSA9PSAwKQorCQkJ CXsKKwkJCQkJZm91bmQgPSB0cnVlOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisKKwkJ CWlmICghZm91bmQpCisJCQl7CisJCQkJR1VDX2NoZWNrX2VycmRldGFpbCgiVW5yZWNvZ25p emVkIGxvZyBsZXZlbDogXCIlc1wiLiIsIGxvZ2xldmVsKTsKKwkJCQlndWNfZnJlZShidHlw ZSk7CisJCQkJZ3VjX2ZyZWUocmF3c3RyaW5nKTsKKwkJCQlsaXN0X2ZyZWUoZWxlbWxpc3Qp OworCQkJCXJldHVybiBmYWxzZTsKKwkJCX0KKworCQkJLyoKKwkJCSAqIElzIHRoZSBiYWNr ZW5kIHR5cGUgbmFtZSB2YWxpZD8gVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgZW50cmllcwor CQkJICogcGVyIGJhY2tlbmQgdHlwZSwgZG9uJ3QgYmFpbCBvdXQgYmVjYXVzZSBpdCBjYW4g YXNzaWduIHRoZQorCQkJICogdmFsdWUgZm9yIG11bHRpcGxlIGVudHJpZXMuCisJCQkgKi8K KwkJCWZvdW5kID0gZmFsc2U7CisJCQlmb3IgKGludCBpID0gMDsgaSA8IEJBQ0tFTkRfTlVN X1RZUEVTOyBpKyspCisJCQl7CisJCQkJaWYgKHBnX3N0cmNhc2VjbXAobG9nX21pbl9tZXNz YWdlc19iYWNrZW5kX3R5cGVzW2ldLCBidHlwZSkgPT0gMCkKKwkJCQl7CisJCQkJCS8qIFJl amVjdCBkdXBsaWNhdGVzIGZvciBhIGJhY2tlbmQgdHlwZS4gKi8KKwkJCQkJaWYgKGFzc2ln bmVkW2ldKQorCQkJCQl7CisJCQkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJCYWNrZW5kIHR5 cGUgXCIlc1wiIHdhcyBhbHJlYWR5IGFzc2lnbmVkLiIsIGJ0eXBlKTsKKwkJCQkJCWd1Y19m cmVlKGJ0eXBlKTsKKwkJCQkJCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCQkJCQlsaXN0X2Zy ZWUoZWxlbWxpc3QpOworCQkJCQkJcmV0dXJuIGZhbHNlOworCQkJCQl9CisKKwkJCQkJbmV3 bGV2ZWxbaV0gPSBlbnRyeS0+dmFsOworCQkJCQlhc3NpZ25lZFtpXSA9IHRydWU7CisJCQkJ CWZvdW5kID0gdHJ1ZTsKKwkJCQl9CisJCQl9CisKKwkJCWlmICghZm91bmQpCisJCQl7CisJ CQkJR1VDX2NoZWNrX2VycmRldGFpbCgiVW5yZWNvZ25pemVkIGJhY2tlbmQgdHlwZTogXCIl c1wiLiIsIGJ0eXBlKTsKKwkJCQlndWNfZnJlZShidHlwZSk7CisJCQkJZ3VjX2ZyZWUocmF3 c3RyaW5nKTsKKwkJCQlsaXN0X2ZyZWUoZWxlbWxpc3QpOworCQkJCXJldHVybiBmYWxzZTsK KwkJCX0KKworCQkJZ3VjX2ZyZWUoYnR5cGUpOworCQl9CisJfQorCisJLyoKKwkgKiBUaGUg Z2VuZXJpYyBsb2cgbGV2ZWwgbXVzdCBiZSBzcGVjaWZpZWQuIEl0IGlzIHRoZSBmYWxsYmFj ayB2YWx1ZS4KKwkgKi8KKwlpZiAoZ2VuZXJpY2xldmVsID09IC0xKQorCXsKKwkJR1VDX2No ZWNrX2VycmRldGFpbCgiR2VuZXJpYyBsb2cgbGV2ZWwgd2FzIG5vdCBkZWZpbmVkLiIpOwor CQlndWNfZnJlZShyYXdzdHJpbmcpOworCQlsaXN0X2ZyZWUoZWxlbWxpc3QpOworCQlyZXR1 cm4gZmFsc2U7CisJfQorCisJLyoKKwkgKiBBcHBseSB0aGUgZ2VuZXJpYyBsb2cgbGV2ZWwg YWZ0ZXIgYWxsIG9mIHRoZSBzcGVjaWZpYyBiYWNrZW5kIHR5cGUgaGF2ZQorCSAqIGJlZW4g YXNzaWduZWQuIEhlbmNlLCBpdCBkb2Vzbid0IG1hdHRlciB0aGUgb3JkZXIgeW91IHNwZWNp ZnkgdGhlCisJICogZ2VuZXJpYyBsb2cgbGV2ZWwsIHRoZSBmaW5hbCByZXN1bHQgd2lsbCBi ZSB0aGUgc2FtZS4KKwkgKi8KKwlmb3IgKGludCBpID0gMDsgaSA8IEJBQ0tFTkRfTlVNX1RZ UEVTOyBpKyspCisJeworCQlpZiAoIWFzc2lnbmVkW2ldKQorCQkJbmV3bGV2ZWxbaV0gPSBn ZW5lcmljbGV2ZWw7CisJfQorCisJZ3VjX2ZyZWUocmF3c3RyaW5nKTsKKwlsaXN0X2ZyZWUo ZWxlbWxpc3QpOworCisJLyoKKwkgKiBQYXNzIGJhY2sgZGF0YSBmb3IgYXNzaWduX2xvZ19t aW5fbWVzc2FnZXMgdG8gdXNlLgorCSAqLworCSpleHRyYSA9IGd1Y19tYWxsb2MoTE9HLCBC QUNLRU5EX05VTV9UWVBFUyAqIHNpemVvZihpbnQpKTsKKwlpZiAoISpleHRyYSkKKwkJcmV0 dXJuIGZhbHNlOworCW1lbWNweSgqZXh0cmEsIG5ld2xldmVsLCBCQUNLRU5EX05VTV9UWVBF UyAqIHNpemVvZihpbnQpKTsKKworCXJldHVybiB0cnVlOworfQorCisvKgorICogR1VDIGFz c2lnbl9ob29rIGZvciBsb2dfbWluX21lc3NhZ2VzCisgKi8KK3ZvaWQKK2Fzc2lnbl9sb2df bWluX21lc3NhZ2VzKGNvbnN0IGNoYXIgKm5ld3ZhbCwgdm9pZCAqZXh0cmEpCit7CisJZm9y IChpbnQgaSA9IDA7IGkgPCBCQUNLRU5EX05VTV9UWVBFUzsgaSsrKQorCQlsb2dfbWluX21l c3NhZ2VzW2ldID0gKChpbnQgKikgZXh0cmEpW2ldOworfQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcG9zdG1hc3Rlci9sYXVuY2hfYmFja2VuZC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9sYXVuY2hfYmFja2VuZC5jCmluZGV4IDk3NjYzOGE1OGFjLi5jMmEwNDQzMjFkMSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9sYXVuY2hfYmFja2VuZC5jCisr KyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvbGF1bmNoX2JhY2tlbmQuYwpAQCAtMTc5LDcg KzE3OSw3IEBAIHR5cGVkZWYgc3RydWN0CiB9IGNoaWxkX3Byb2Nlc3Nfa2luZDsKIAogc3Rh dGljIGNoaWxkX3Byb2Nlc3Nfa2luZCBjaGlsZF9wcm9jZXNzX2tpbmRzW10gPSB7Ci0jZGVm aW5lIFBHX1BST0NUWVBFKGJrdHlwZSwgZGVzY3JpcHRpb24sIG1haW5fZnVuYywgc2htZW1f YXR0YWNoKSBcCisjZGVmaW5lIFBHX1BST0NUWVBFKGJrdHlwZSwgYmtjYXRlZ29yeSwgZGVz Y3JpcHRpb24sIG1haW5fZnVuYywgc2htZW1fYXR0YWNoLCBsb2dfbWluX21lc3NhZ2VzKSBc CiAJW2JrdHlwZV0gPSB7ZGVzY3JpcHRpb24sIG1haW5fZnVuYywgc2htZW1fYXR0YWNofSwK ICNpbmNsdWRlICJwb3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oIgogI3VuZGVmIFBHX1BST0NU WVBFCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMv YmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXggYjdiOTY5MmY4YzguLjYxNmRkMGI2 M2Q3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0yMzUsNyArMjM1LDcgQEAgaXNf bG9nX2xldmVsX291dHB1dChpbnQgZWxldmVsLCBpbnQgbG9nX21pbl9sZXZlbCkKIHN0YXRp YyBpbmxpbmUgYm9vbAogc2hvdWxkX291dHB1dF90b19zZXJ2ZXIoaW50IGVsZXZlbCkKIHsK LQlyZXR1cm4gaXNfbG9nX2xldmVsX291dHB1dChlbGV2ZWwsIGxvZ19taW5fbWVzc2FnZXMp OworCXJldHVybiBpc19sb2dfbGV2ZWxfb3V0cHV0KGVsZXZlbCwgbG9nX21pbl9tZXNzYWdl c1tNeUJhY2tlbmRUeXBlXSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9pbml0L21pc2Npbml0LmMgYi9zcmMvYmFja2VuZC91dGlscy9pbml0L21pc2Npbml0 LmMKaW5kZXggZmVjNzk5OTJjOGQuLjJjMzkyNmNiYWRmIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC91dGlscy9pbml0L21pc2Npbml0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5p dC9taXNjaW5pdC5jCkBAIC0yNjYsNyArMjY2LDcgQEAgR2V0QmFja2VuZFR5cGVEZXNjKEJh Y2tlbmRUeXBlIGJhY2tlbmRUeXBlKQogCiAJc3dpdGNoIChiYWNrZW5kVHlwZSkKIAl7Ci0j ZGVmaW5lIFBHX1BST0NUWVBFKGJrdHlwZSwgZGVzY3JpcHRpb24sIG1haW5fZnVuYywgc2ht ZW1fYXR0YWNoKQlcCisjZGVmaW5lIFBHX1BST0NUWVBFKGJrdHlwZSwgYmtjYXRlZ29yeSwg ZGVzY3JpcHRpb24sIG1haW5fZnVuYywgc2htZW1fYXR0YWNoLCBsb2dfbWluX21lc3NhZ2Vz KQlcCiAJCWNhc2UgYmt0eXBlOiBiYWNrZW5kRGVzYyA9IGRlc2NyaXB0aW9uOyBicmVhazsK ICNpbmNsdWRlICJwb3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oIgogI3VuZGVmIFBHX1BST0NU WVBFCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJz LmRhdCBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0CmluZGV4 IDZiYzZiZTEzZDJhLi5lN2ViOGFiMmJhZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfcGFyYW1ldGVycy5kYXQKQEAgLTI2ODMsNiArMjY4MywxNiBAQAogICBib290X3Zh bCA9PiAnIiVtIFslcF0gIicsCiB9LAogCit7IG5hbWUgPT4gJ2xvZ19taW5fbWVzc2FnZXMn LCB0eXBlID0+ICdzdHJpbmcnLCBjb250ZXh0ID0+ICdQR0NfU1VTRVQnLCBncm91cCA9PiAn TE9HR0lOR19XSEVOJywKKyAgc2hvcnRfZGVzYyA9PiAnU2V0cyB0aGUgbWVzc2FnZSBsZXZl bHMgdGhhdCBhcmUgbG9nZ2VkLicsCisgIGxvbmdfZGVzYyA9PiAnRWFjaCBsZXZlbCBpbmNs dWRlcyBhbGwgdGhlIGxldmVscyB0aGF0IGZvbGxvdyBpdC4gVGhlIGxhdGVyIHRoZSBsZXZl bCwgdGhlIGZld2VyIG1lc3NhZ2VzIGFyZSBzZW50LicsCisgIGZsYWdzID0+ICdHVUNfTElT VF9JTlBVVCcsCisgIHZhcmlhYmxlID0+ICdsb2dfbWluX21lc3NhZ2VzX3N0cmluZycsCisg IGJvb3RfdmFsID0+ICciV0FSTklORyInLAorICBjaGVja19ob29rID0+ICdjaGVja19sb2df bWluX21lc3NhZ2VzJywKKyAgYXNzaWduX2hvb2sgPT4gJ2Fzc2lnbl9sb2dfbWluX21lc3Nh Z2VzJywKK30sCisKIHsgbmFtZSA9PiAnbG9nX3RpbWV6b25lJywgdHlwZSA9PiAnc3RyaW5n JywgY29udGV4dCA9PiAnUEdDX1NJR0hVUCcsIGdyb3VwID0+ICdMT0dHSU5HX1dIQVQnLAog ICBzaG9ydF9kZXNjID0+ICdTZXRzIHRoZSB0aW1lIHpvbmUgdG8gdXNlIGluIGxvZyBtZXNz YWdlcy4nLAogICB2YXJpYWJsZSA9PiAnbG9nX3RpbWV6b25lX3N0cmluZycsCkBAIC0zMjUy LDE0ICszMjYyLDYgQEAKICAgb3B0aW9ucyA9PiAnbG9nX2Vycm9yX3ZlcmJvc2l0eV9vcHRp b25zJywKIH0sCiAKLXsgbmFtZSA9PiAnbG9nX21pbl9tZXNzYWdlcycsIHR5cGUgPT4gJ2Vu dW0nLCBjb250ZXh0ID0+ICdQR0NfU1VTRVQnLCBncm91cCA9PiAnTE9HR0lOR19XSEVOJywK LSAgc2hvcnRfZGVzYyA9PiAnU2V0cyB0aGUgbWVzc2FnZSBsZXZlbHMgdGhhdCBhcmUgbG9n Z2VkLicsCi0gIGxvbmdfZGVzYyA9PiAnRWFjaCBsZXZlbCBpbmNsdWRlcyBhbGwgdGhlIGxl dmVscyB0aGF0IGZvbGxvdyBpdC4gVGhlIGxhdGVyIHRoZSBsZXZlbCwgdGhlIGZld2VyIG1l c3NhZ2VzIGFyZSBzZW50LicsCi0gIHZhcmlhYmxlID0+ICdsb2dfbWluX21lc3NhZ2VzJywK LSAgYm9vdF92YWwgPT4gJ1dBUk5JTkcnLAotICBvcHRpb25zID0+ICdzZXJ2ZXJfbWVzc2Fn ZV9sZXZlbF9vcHRpb25zJywKLX0sCi0KIHsgbmFtZSA9PiAnbG9nX21pbl9lcnJvcl9zdGF0 ZW1lbnQnLCB0eXBlID0+ICdlbnVtJywgY29udGV4dCA9PiAnUEdDX1NVU0VUJywgZ3JvdXAg PT4gJ0xPR0dJTkdfV0hFTicsCiAgIHNob3J0X2Rlc2MgPT4gJ0NhdXNlcyBhbGwgc3RhdGVt ZW50cyBnZW5lcmF0aW5nIGVycm9yIGF0IG9yIGFib3ZlIHRoaXMgbGV2ZWwgdG8gYmUgbG9n Z2VkLicsCiAgIGxvbmdfZGVzYyA9PiAnRWFjaCBsZXZlbCBpbmNsdWRlcyBhbGwgdGhlIGxl dmVscyB0aGF0IGZvbGxvdyBpdC4gVGhlIGxhdGVyIHRoZSBsZXZlbCwgdGhlIGZld2VyIG1l c3NhZ2VzIGFyZSBzZW50LicsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNj L2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmlu ZGV4IDAwYzgzNzZjZjRkLi41MmIzYTkwMmU2MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWNfdGFibGVzLmMKQEAgLTE0Niw3ICsxNDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNv bmZpZ19lbnVtX2VudHJ5IGNsaWVudF9tZXNzYWdlX2xldmVsX29wdGlvbnNbXSA9IHsKIAl7 TlVMTCwgMCwgZmFsc2V9CiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVt X2VudHJ5IHNlcnZlcl9tZXNzYWdlX2xldmVsX29wdGlvbnNbXSA9IHsKK2NvbnN0IHN0cnVj dCBjb25maWdfZW51bV9lbnRyeSBzZXJ2ZXJfbWVzc2FnZV9sZXZlbF9vcHRpb25zW10gPSB7 CiAJeyJkZWJ1ZzUiLCBERUJVRzUsIGZhbHNlfSwKIAl7ImRlYnVnNCIsIERFQlVHNCwgZmFs c2V9LAogCXsiZGVidWczIiwgREVCVUczLCBmYWxzZX0sCkBAIC01MzcsNyArNTM3LDYgQEAg c3RhdGljIGJvb2wgZGVmYXVsdF93aXRoX29pZHMgPSBmYWxzZTsKIGJvb2wJCWN1cnJlbnRf cm9sZV9pc19zdXBlcnVzZXI7CiAKIGludAkJCWxvZ19taW5fZXJyb3Jfc3RhdGVtZW50ID0g RVJST1I7Ci1pbnQJCQlsb2dfbWluX21lc3NhZ2VzID0gV0FSTklORzsKIGludAkJCWNsaWVu dF9taW5fbWVzc2FnZXMgPSBOT1RJQ0U7CiBpbnQJCQlsb2dfbWluX2R1cmF0aW9uX3NhbXBs ZSA9IC0xOwogaW50CQkJbG9nX21pbl9kdXJhdGlvbl9zdGF0ZW1lbnQgPSAtMTsKQEAgLTU5 NSw2ICs1OTQsNyBAQCBzdGF0aWMgY2hhciAqc2VydmVyX3ZlcnNpb25fc3RyaW5nOwogc3Rh dGljIGludAlzZXJ2ZXJfdmVyc2lvbl9udW07CiBzdGF0aWMgY2hhciAqZGVidWdfaW9fZGly ZWN0X3N0cmluZzsKIHN0YXRpYyBjaGFyICpyZXN0cmljdF9ub25zeXN0ZW1fcmVsYXRpb25f a2luZF9zdHJpbmc7CitzdGF0aWMgY2hhciAqbG9nX21pbl9tZXNzYWdlc19zdHJpbmc7CiAK ICNpZmRlZiBIQVZFX1NZU0xPRwogI2RlZmluZQlERUZBVUxUX1NZU0xPR19GQUNJTElUWSBM T0dfTE9DQUwwCkBAIC02MzksNiArNjM5LDI3IEBAIGNoYXIJICAgKnJvbGVfc3RyaW5nOwog Lyogc2hvdWxkIGJlIHN0YXRpYywgYnV0IGd1Yy5jIG5lZWRzIHRvIGdldCBhdCB0aGlzICov CiBib29sCQlpbl9ob3Rfc3RhbmRieV9ndWM7CiAKKy8qCisgKiBJdCBzaG91bGQgYmUgc3Rh dGljLCBidXQgY29tbWFuZHMvdmFyaWFibGUuYyBuZWVkcyB0byBnZXQgYXQgdGhpcy4KKyAq LworaW50CQkJbG9nX21pbl9tZXNzYWdlc1tdID0geworI2RlZmluZSBQR19QUk9DVFlQRShi a3R5cGUsIGJrY2F0ZWdvcnksIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFj aCwgbG9nX21pbl9tZXNzYWdlcykgXAorCVtia3R5cGVdID0gbG9nX21pbl9tZXNzYWdlcywK KyNpbmNsdWRlICJwb3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oIgorI3VuZGVmIFBHX1BST0NU WVBFCit9OworCisvKgorICogSXQgbWlnaHQgYmUgaW4gY29tbWFuZHMvdmFyaWFibGUuYyBi dXQgZm9yIGNvbnZlbmllbmNlIGl0IGlzIG5lYXIKKyAqIGxvZ19taW5fbWVzc2FnZXMuCisg Ki8KK2NvbnN0IGNoYXIgKmNvbnN0IGxvZ19taW5fbWVzc2FnZXNfYmFja2VuZF90eXBlc1td ID0geworI2RlZmluZSBQR19QUk9DVFlQRShia3R5cGUsIGJrY2F0ZWdvcnksIGRlc2NyaXB0 aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9nX21pbl9tZXNzYWdlcykgXAorCVti a3R5cGVdID0gYmtjYXRlZ29yeSwKKyNpbmNsdWRlICJwb3N0bWFzdGVyL3Byb2N0eXBlbGlz dC5oIgorI3VuZGVmIFBHX1BST0NUWVBFCit9OworCiAKIC8qCiAgKiBEaXNwbGF5YWJsZSBu YW1lcyBmb3IgY29udGV4dCB0eXBlcyAoZW51bSBHdWNDb250ZXh0KQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmluZGV4IGMzNmZjYjlh YjYxLi41M2VlMzkwOThiOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9w b3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9z dGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNTM5LDYgKzUzOSw4IEBACiAJCQkJCSMgICBsb2cK IAkJCQkJIyAgIGZhdGFsCiAJCQkJCSMgICBwYW5pYworCQkJCQkjICAgYW5kIGFuIG9wdGlv bmFsIGNvbW1hLXNlcGFyYXRlZCBsaXN0CisJCQkJCSMgICBvZiBiYWNrZW5kdHlwZTpsZXZl bAogCiAjbG9nX21pbl9lcnJvcl9zdGF0ZW1lbnQgPSBlcnJvcgkjIHZhbHVlcyBpbiBvcmRl ciBvZiBkZWNyZWFzaW5nIGRldGFpbDoKIAkJCQkJIyAgIGRlYnVnNQpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaCBiL3NyYy9pbmNsdWRlL3Bv c3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgKaW5kZXggMjQyODYyNDUxZDguLmYxOGUzMzQyMjg1 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oCisr KyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgKQEAgLTMwLDIyICsz MCwyMiBAQAogICovCiAKIAotLyogYmt0eXBlLCBkZXNjcmlwdGlvbiwgbWFpbl9mdW5jLCBz aG1lbV9hdHRhY2ggKi8KLVBHX1BST0NUWVBFKEJfQVJDSElWRVIsIGdldHRleHRfbm9vcCgi YXJjaGl2ZXIiKSwgUGdBcmNoaXZlck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX0FVVE9W QUNfTEFVTkNIRVIsIGdldHRleHRfbm9vcCgiYXV0b3ZhY3V1bSBsYXVuY2hlciIpLCBBdXRv VmFjTGF1bmNoZXJNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9BVVRPVkFDX1dPUktFUiwg Z2V0dGV4dF9ub29wKCJhdXRvdmFjdXVtIHdvcmtlciIpLCBBdXRvVmFjV29ya2VyTWFpbiwg dHJ1ZSkKLVBHX1BST0NUWVBFKEJfQkFDS0VORCwgZ2V0dGV4dF9ub29wKCJjbGllbnQgYmFj a2VuZCIpLCBCYWNrZW5kTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfQkdfV09SS0VSLCBn ZXR0ZXh0X25vb3AoImJhY2tncm91bmQgd29ya2VyIiksIEJhY2tncm91bmRXb3JrZXJNYWlu LCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9CR19XUklURVIsIGdldHRleHRfbm9vcCgiYmFja2dy b3VuZCB3cml0ZXIiKSwgQmFja2dyb3VuZFdyaXRlck1haW4sIHRydWUpCi1QR19QUk9DVFlQ RShCX0NIRUNLUE9JTlRFUiwgZ2V0dGV4dF9ub29wKCJjaGVja3BvaW50ZXIiKSwgQ2hlY2tw b2ludGVyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfREVBRF9FTkRfQkFDS0VORCwgZ2V0 dGV4dF9ub29wKCJkZWFkLWVuZCBjbGllbnQgYmFja2VuZCIpLCBCYWNrZW5kTWFpbiwgdHJ1 ZSkKLVBHX1BST0NUWVBFKEJfSU5WQUxJRCwgZ2V0dGV4dF9ub29wKCJ1bnJlY29nbml6ZWQi KSwgTlVMTCwgZmFsc2UpCi1QR19QUk9DVFlQRShCX0lPX1dPUktFUiwgZ2V0dGV4dF9ub29w KCJpbyB3b3JrZXIiKSwgSW9Xb3JrZXJNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9MT0dH RVIsIGdldHRleHRfbm9vcCgic3lzbG9nZ2VyIiksIFN5c0xvZ2dlck1haW4sIGZhbHNlKQot UEdfUFJPQ1RZUEUoQl9TTE9UU1lOQ19XT1JLRVIsIGdldHRleHRfbm9vcCgic2xvdHN5bmMg d29ya2VyIiksIFJlcGxTbG90U3luY1dvcmtlck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShC X1NUQU5EQUxPTkVfQkFDS0VORCwgZ2V0dGV4dF9ub29wKCJzdGFuZGFsb25lIGJhY2tlbmQi KSwgTlVMTCwgZmFsc2UpCi1QR19QUk9DVFlQRShCX1NUQVJUVVAsIGdldHRleHRfbm9vcCgi c3RhcnR1cCIpLCBTdGFydHVwUHJvY2Vzc01haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX1dB TF9SRUNFSVZFUiwgZ2V0dGV4dF9ub29wKCJ3YWxyZWNlaXZlciIpLCBXYWxSZWNlaXZlck1h aW4sIHRydWUpCi1QR19QUk9DVFlQRShCX1dBTF9TRU5ERVIsIGdldHRleHRfbm9vcCgid2Fs c2VuZGVyIiksIE5VTEwsIHRydWUpCi1QR19QUk9DVFlQRShCX1dBTF9TVU1NQVJJWkVSLCBn ZXR0ZXh0X25vb3AoIndhbHN1bW1hcml6ZXIiKSwgV2FsU3VtbWFyaXplck1haW4sIHRydWUp Ci1QR19QUk9DVFlQRShCX1dBTF9XUklURVIsIGdldHRleHRfbm9vcCgid2Fsd3JpdGVyIiks IFdhbFdyaXRlck1haW4sIHRydWUpCisvKiBia3R5cGUsIGJrY2F0ZWdvcnksIGRlc2NyaXB0 aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9nX21pbl9tZXNzYWdlcyAqLworUEdf UFJPQ1RZUEUoQl9BUkNISVZFUiwgImFyY2hpdmVyIiwgZ2V0dGV4dF9ub29wKCJhcmNoaXZl ciIpLCBQZ0FyY2hpdmVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfQVVU T1ZBQ19MQVVOQ0hFUiwgImF1dG92YWN1dW0iLCBnZXR0ZXh0X25vb3AoImF1dG92YWN1dW0g bGF1bmNoZXIiKSwgQXV0b1ZhY0xhdW5jaGVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BS T0NUWVBFKEJfQVVUT1ZBQ19XT1JLRVIsICJhdXRvdmFjdXVtIiwgZ2V0dGV4dF9ub29wKCJh dXRvdmFjdXVtIHdvcmtlciIpLCBBdXRvVmFjV29ya2VyTWFpbiwgdHJ1ZSwgV0FSTklORykK K1BHX1BST0NUWVBFKEJfQkFDS0VORCwgImJhY2tlbmQiLCBnZXR0ZXh0X25vb3AoImNsaWVu dCBiYWNrZW5kIiksIEJhY2tlbmRNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUo Ql9CR19XT1JLRVIsICJiZ3dvcmtlciIsIGdldHRleHRfbm9vcCgiYmFja2dyb3VuZCB3b3Jr ZXIiKSwgQmFja2dyb3VuZFdvcmtlck1haW4sIHRydWUsIFdBUk5JTkcpCitQR19QUk9DVFlQ RShCX0JHX1dSSVRFUiwgImJnd3JpdGVyIiwgZ2V0dGV4dF9ub29wKCJiYWNrZ3JvdW5kIHdy aXRlciIpLCBCYWNrZ3JvdW5kV3JpdGVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NU WVBFKEJfQ0hFQ0tQT0lOVEVSLCAiY2hlY2twb2ludGVyIiwgZ2V0dGV4dF9ub29wKCJjaGVj a3BvaW50ZXIiKSwgQ2hlY2twb2ludGVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NU WVBFKEJfREVBRF9FTkRfQkFDS0VORCwgImJhY2tlbmQiLCBnZXR0ZXh0X25vb3AoImRlYWQt ZW5kIGNsaWVudCBiYWNrZW5kIiksIEJhY2tlbmRNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdf UFJPQ1RZUEUoQl9JTlZBTElELCAiYmFja2VuZCIsIGdldHRleHRfbm9vcCgidW5yZWNvZ25p emVkIiksIE5VTEwsIGZhbHNlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9JT19XT1JLRVIs ICJpb3dvcmtlciIsIGdldHRleHRfbm9vcCgiaW8gd29ya2VyIiksIElvV29ya2VyTWFpbiwg dHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfTE9HR0VSLCAic3lzbG9nZ2VyIiwgZ2V0 dGV4dF9ub29wKCJzeXNsb2dnZXIiKSwgU3lzTG9nZ2VyTWFpbiwgZmFsc2UsIFdBUk5JTkcp CitQR19QUk9DVFlQRShCX1NMT1RTWU5DX1dPUktFUiwgInNsb3RzeW5jd29ya2VyIiwgZ2V0 dGV4dF9ub29wKCJzbG90c3luYyB3b3JrZXIiKSwgUmVwbFNsb3RTeW5jV29ya2VyTWFpbiwg dHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfU1RBTkRBTE9ORV9CQUNLRU5ELCAiYmFj a2VuZCIsIGdldHRleHRfbm9vcCgic3RhbmRhbG9uZSBiYWNrZW5kIiksIE5VTEwsIGZhbHNl LCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9TVEFSVFVQLCAic3RhcnR1cCIsIGdldHRleHRf bm9vcCgic3RhcnR1cCIpLCBTdGFydHVwUHJvY2Vzc01haW4sIHRydWUsIFdBUk5JTkcpCitQ R19QUk9DVFlQRShCX1dBTF9SRUNFSVZFUiwgIndhbHJlY2VpdmVyIiwgZ2V0dGV4dF9ub29w KCJ3YWxyZWNlaXZlciIpLCBXYWxSZWNlaXZlck1haW4sIHRydWUsIFdBUk5JTkcpCitQR19Q Uk9DVFlQRShCX1dBTF9TRU5ERVIsICJ3YWxzZW5kZXIiLCBnZXR0ZXh0X25vb3AoIndhbHNl bmRlciIpLCBOVUxMLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9XQUxfU1VNTUFS SVpFUiwgIndhbHN1bW1hcml6ZXIiLCBnZXR0ZXh0X25vb3AoIndhbHN1bW1hcml6ZXIiKSwg V2FsU3VtbWFyaXplck1haW4sIHRydWUsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1dBTF9X UklURVIsICJ3YWx3cml0ZXIiLCBnZXR0ZXh0X25vb3AoIndhbHdyaXRlciIpLCBXYWxXcml0 ZXJNYWluLCB0cnVlLCBXQVJOSU5HKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMv Z3VjLmggYi9zcmMvaW5jbHVkZS91dGlscy9ndWMuaAppbmRleCBmMjFlYzM3ZGE4OS4uZDY4 ZGQzNTA5MzYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2d1Yy5oCisrKyBiL3Ny Yy9pbmNsdWRlL3V0aWxzL2d1Yy5oCkBAIC0yOTUsNyArMjk1LDcgQEAgZXh0ZXJuIFBHRExM SU1QT1JUIGJvb2wgbG9nX2R1cmF0aW9uOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBsb2df cGFyYW1ldGVyX21heF9sZW5ndGg7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19wYXJh bWV0ZXJfbWF4X2xlbmd0aF9vbl9lcnJvcjsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgbG9n X21pbl9lcnJvcl9zdGF0ZW1lbnQ7Ci1leHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19taW5f bWVzc2FnZXM7CitleHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19taW5fbWVzc2FnZXNbXTsK IGV4dGVybiBQR0RMTElNUE9SVCBpbnQgY2xpZW50X21pbl9tZXNzYWdlczsKIGV4dGVybiBQ R0RMTElNUE9SVCBpbnQgbG9nX21pbl9kdXJhdGlvbl9zYW1wbGU7CiBleHRlcm4gUEdETExJ TVBPUlQgaW50IGxvZ19taW5fZHVyYXRpb25fc3RhdGVtZW50OwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmggYi9zcmMvaW5jbHVkZS91dGlscy9ndWNfaG9v a3MuaAppbmRleCA4MmFjODY0NmE4ZC4uZTZmZmM5NjQ2OGYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3V0aWxzL2d1Y19ob29rcy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2d1Y19o b29rcy5oCkBAIC0xNzQsNSArMTc0LDcgQEAgZXh0ZXJuIHZvaWQgYXNzaWduX3dhbF9zeW5j X21ldGhvZChpbnQgbmV3X3dhbF9zeW5jX21ldGhvZCwgdm9pZCAqZXh0cmEpOwogZXh0ZXJu IGJvb2wgY2hlY2tfc3luY2hyb25pemVkX3N0YW5kYnlfc2xvdHMoY2hhciAqKm5ld3ZhbCwg dm9pZCAqKmV4dHJhLAogCQkJCQkJCQkJCQkgR3VjU291cmNlIHNvdXJjZSk7CiBleHRlcm4g dm9pZCBhc3NpZ25fc3luY2hyb25pemVkX3N0YW5kYnlfc2xvdHMoY29uc3QgY2hhciAqbmV3 dmFsLCB2b2lkICpleHRyYSk7CitleHRlcm4gYm9vbCBjaGVja19sb2dfbWluX21lc3NhZ2Vz KGNoYXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSk7CitleHRl cm4gdm9pZCBhc3NpZ25fbG9nX21pbl9tZXNzYWdlcyhjb25zdCBjaGFyICpuZXd2YWwsIHZv aWQgKmV4dHJhKTsKIAogI2VuZGlmCQkJCQkJCS8qIEdVQ19IT09LU19IICovCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS91dGlscy9ndWNfdGFibGVzLmggYi9zcmMvaW5jbHVkZS91dGls cy9ndWNfdGFibGVzLmgKaW5kZXggZjcyY2U5NDRkN2YuLjJhZWZjNjUzZjIwIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS91dGlscy9ndWNfdGFibGVzLmgKKysrIGIvc3JjL2luY2x1ZGUv dXRpbHMvZ3VjX3RhYmxlcy5oCkBAIC0yOTgsNiArMjk4LDEwIEBAIHN0cnVjdCBjb25maWdf ZW51bQogCXZvaWQJICAgKnJlc2V0X2V4dHJhOwogfTsKIAorLyogbG9nX21pbl9tZXNzYWdl cyAqLworZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0IGxvZ19taW5fbWVz c2FnZXNfYmFja2VuZF90eXBlc1tdOworZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IHN0cnVj dCBjb25maWdfZW51bV9lbnRyeSBzZXJ2ZXJfbWVzc2FnZV9sZXZlbF9vcHRpb25zW107CisK IC8qIGNvbnN0YW50IHRhYmxlcyBjb3JyZXNwb25kaW5nIHRvIGVudW1zIGFib3ZlIGFuZCBp biBndWMuaCAqLwogZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0IGNvbmZp Z19ncm91cF9uYW1lc1tdOwogZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0 IGNvbmZpZ190eXBlX25hbWVzW107CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2d1Yy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1Yy5vdXQKaW5k ZXggN2Y5ZTI5Yzc2NWMuLmJlMjVlODExNDBhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2d1Yy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9n dWMub3V0CkBAIC05MTMsMyArOTEzLDU3IEBAIFNFTEVDVCBuYW1lIEZST00gdGFiX3NldHRp bmdzX2ZsYWdzCiAoMCByb3dzKQogCiBEUk9QIFRBQkxFIHRhYl9zZXR0aW5nc19mbGFnczsK Ky0tIFRlc3QgbG9nX21pbl9tZXNzYWdlcworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gZm9v OyAgLS0gZmFpbAorRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgImxvZ19t aW5fbWVzc2FnZXMiOiAiZm9vIgorREVUQUlMOiAgVW5yZWNvZ25pemVkIGxvZyBsZXZlbDog ImZvbyIuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyBmYXRhbDsKK1NIT1cgbG9nX21pbl9t ZXNzYWdlczsKKyBsb2dfbWluX21lc3NhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tCisgZmF0 YWwKKygxIHJvdykKKworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2ZhdGFsJzsKK1NIT1cg bG9nX21pbl9tZXNzYWdlczsKKyBsb2dfbWluX21lc3NhZ2VzIAorLS0tLS0tLS0tLS0tLS0t LS0tCisgZmF0YWwKKygxIHJvdykKKworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2NoZWNr cG9pbnRlcjpkZWJ1ZzIsIGF1dG92YWN1dW06ZGVidWcxJzsgIC0tZmFpbAorRVJST1I6ICBp bnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgImxvZ19taW5fbWVzc2FnZXMiOiAiY2hlY2tw b2ludGVyOmRlYnVnMiwgYXV0b3ZhY3V1bTpkZWJ1ZzEiCitERVRBSUw6ICBHZW5lcmljIGxv ZyBsZXZlbCB3YXMgbm90IGRlZmluZWQuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnZGVi dWcxLCBiYWNrZW5kOmVycm9yLCBmYXRhbCc7ICAtLSBmYWlsCitFUlJPUjogIGludmFsaWQg dmFsdWUgZm9yIHBhcmFtZXRlciAibG9nX21pbl9tZXNzYWdlcyI6ICJkZWJ1ZzEsIGJhY2tl bmQ6ZXJyb3IsIGZhdGFsIgorREVUQUlMOiAgR2VuZXJpYyBsb2cgbGV2ZWwgd2FzIGFscmVh ZHkgYXNzaWduZWQuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFja2VuZDplcnJvciwg ZGVidWcxLCBiYWNrZW5kOndhcm5pbmcnOyAgLS0gZmFpbAorRVJST1I6ICBpbnZhbGlkIHZh bHVlIGZvciBwYXJhbWV0ZXIgImxvZ19taW5fbWVzc2FnZXMiOiAiYmFja2VuZDplcnJvciwg ZGVidWcxLCBiYWNrZW5kOndhcm5pbmciCitERVRBSUw6ICBCYWNrZW5kIHR5cGUgImJhY2tl bmQiIHdhcyBhbHJlYWR5IGFzc2lnbmVkLgorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2Jh Y2tlbmQ6ZXJyb3IsIGZvbzpmYXRhbCwgYXJjaGl2ZXI6ZGVidWcxJzsgIC0tIGZhaWwKK0VS Uk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJsb2dfbWluX21lc3NhZ2VzIjog ImJhY2tlbmQ6ZXJyb3IsIGZvbzpmYXRhbCwgYXJjaGl2ZXI6ZGVidWcxIgorREVUQUlMOiAg VW5yZWNvZ25pemVkIGJhY2tlbmQgdHlwZTogImZvbyIuCitTRVQgbG9nX21pbl9tZXNzYWdl cyBUTyAnYmFja2VuZDplcnJvciwgY2hlY2twb2ludGVyOmJhciwgYXJjaGl2ZXI6ZGVidWcx JzsgIC0tIGZhaWwKK0VSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJsb2df bWluX21lc3NhZ2VzIjogImJhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpiYXIsIGFyY2hp dmVyOmRlYnVnMSIKK0RFVEFJTDogIFVucmVjb2duaXplZCBsb2cgbGV2ZWw6ICJiYXIiLgor U0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpk ZWJ1ZzMsIGZhdGFsLCBhcmNoaXZlcjpkZWJ1ZzIsIGF1dG92YWN1dW06ZGVidWcxLCB3YWxz ZW5kZXI6ZGVidWczJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfbWluX21lc3NhZ2VzICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBiYWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6ZGVi dWczLCBmYXRhbCwgYXJjaGl2ZXI6ZGVidWcyLCBhdXRvdmFjdXVtOmRlYnVnMSwgd2Fsc2Vu ZGVyOmRlYnVnMworKDEgcm93KQorCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnd2Fybmlu ZywgYXV0b3ZhY3V1bTpkZWJ1ZzEnOworU0hPVyBsb2dfbWluX21lc3NhZ2VzOworICAgICAg bG9nX21pbl9tZXNzYWdlcyAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IHdhcm5pbmcsIGF1dG92YWN1dW06ZGVidWcxCisoMSByb3cpCisKK1NFVCBsb2dfbWluX21l c3NhZ2VzIFRPICdhdXRvdmFjdXVtOmRlYnVnMSwgd2FybmluZyc7CitTSE9XIGxvZ19taW5f bWVzc2FnZXM7CisgICAgICBsb2dfbWluX21lc3NhZ2VzICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgYXV0b3ZhY3V1bTpkZWJ1ZzEsIHdhcm5pbmcKKygxIHJvdykK KwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZ3VjLnNxbCBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2d1Yy5zcWwKaW5kZXggZjY1Zjg0YTI2MzIuLmY0NGM3MmM1MzJlIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ndWMuc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2d1Yy5zcWwKQEAgLTM2OCwzICszNjgsMjEgQEAgU0VMRUNUIG5hbWUg RlJPTSB0YWJfc2V0dGluZ3NfZmxhZ3MKICAgV0hFUkUgbm9fcmVzZXQgQU5EIE5PVCBub19y ZXNldF9hbGwKICAgT1JERVIgQlkgMTsKIERST1AgVEFCTEUgdGFiX3NldHRpbmdzX2ZsYWdz OworCistLSBUZXN0IGxvZ19taW5fbWVzc2FnZXMKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRP IGZvbzsgIC0tIGZhaWwKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPIGZhdGFsOworU0hPVyBs b2dfbWluX21lc3NhZ2VzOworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2ZhdGFsJzsKK1NI T1cgbG9nX21pbl9tZXNzYWdlczsKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdjaGVja3Bv aW50ZXI6ZGVidWcyLCBhdXRvdmFjdXVtOmRlYnVnMSc7ICAtLWZhaWwKK1NFVCBsb2dfbWlu X21lc3NhZ2VzIFRPICdkZWJ1ZzEsIGJhY2tlbmQ6ZXJyb3IsIGZhdGFsJzsgIC0tIGZhaWwK K1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdiYWNrZW5kOmVycm9yLCBkZWJ1ZzEsIGJhY2tl bmQ6d2FybmluZyc7ICAtLSBmYWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFja2Vu ZDplcnJvciwgZm9vOmZhdGFsLCBhcmNoaXZlcjpkZWJ1ZzEnOyAgLS0gZmFpbAorU0VUIGxv Z19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpiYXIsIGFy Y2hpdmVyOmRlYnVnMSc7ICAtLSBmYWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFj a2VuZDplcnJvciwgY2hlY2twb2ludGVyOmRlYnVnMywgZmF0YWwsIGFyY2hpdmVyOmRlYnVn MiwgYXV0b3ZhY3V1bTpkZWJ1ZzEsIHdhbHNlbmRlcjpkZWJ1ZzMnOworU0hPVyBsb2dfbWlu X21lc3NhZ2VzOworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ3dhcm5pbmcsIGF1dG92YWN1 dW06ZGVidWcxJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsKK1NFVCBsb2dfbWluX21lc3Nh Z2VzIFRPICdhdXRvdmFjdXVtOmRlYnVnMSwgd2FybmluZyc7CitTSE9XIGxvZ19taW5fbWVz c2FnZXM7Ci0tIAoyLjM5LjUKCg== --08e248f0f40d4af880341e26ab120749--