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 1wVROG-001xm0-1z for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Jun 2026 10:03:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVROF-00BfRT-1p for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Jun 2026 10:02:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wVROF-00BfRJ-06 for pgsql-hackers@lists.postgresql.org; Fri, 05 Jun 2026 10:02:59 +0000 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wVROB-00000001Dbg-1DAy for pgsql-hackers@lists.postgresql.org; Fri, 05 Jun 2026 10:02:58 +0000 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-8422f395a4aso1068579b3a.0 for ; Fri, 05 Jun 2026 03:02:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780653774; cv=none; d=google.com; s=arc-20240605; b=IwOiwbkHhZ94Hhf8i98gQcCh9KLjSMF01p5TIih9P4tvGZdq9tJk4ARXAJ+fX4ovc6 hKmyLTfrOK96UbgOXvsnolW+Jrwwc6I4PKOU+sdzMZkYySEb3UrcIp+bc3N6MBUnzQWC PZnXQo+f1PnRqKFj2dC1G+RUhXI/cddk6LYd1BsyRvZaNzUczywQOBgWhvwv585jjSS1 alHLEsHk5Sheehw1zWaZjtD8QZdZ+q/K6WkIdeO1rTrRfkpnXD2GOxJ0eSPS7V0I5Fn5 M0+ZJ9HOBC1uuU4KNhWOCxb/ncwYKTifjl7GL7uUiv8c61GFHViZgbSD+aje5rVKs2bE 0euA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=J+gQdClFpfTSuomj5cho2BBvee/+z1zLGCutboedQGc=; fh=yP5tVA5D/Sj9cdPRyUToG0t9sD6hiyiVsyma9eEcTiQ=; b=XFNzUF8nlJetgb+o4gN0Es6NgB6jenx3hU7BIUs1032eEj5Y5/fkoCtvVlGwj73wXn YatIMZIUORU07Eq6VFxI+j8HiQiY0JXw/vjfQiBJN4YexTQM56YtfW/P3n1/8QwylpTp xpyyY06dLi5JAoHgZAV3hgDA8Z8Z2ZZaLiRWOEKLcC6UevJCwZOHBPhsN9sDnuDb/gc0 eviC4nIvLJknr0H3vJeOR/11vrxoEdkSey0M9PwKMpYlcw/r1CeJzzgHVYDgTXN44OQY e1JhjI8Aku87XbUoUocVsfCek/gqlm/oGETsKcTiips70B9zVzOPZOzUM26dkilgehnn L8zg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780653774; x=1781258574; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=J+gQdClFpfTSuomj5cho2BBvee/+z1zLGCutboedQGc=; b=rTTnlLSWksQgze8uypSxpWoBBMBqImBvR0My31tENkRmpscI3xhPvB31YjhL8U5pPT 2hc1fK40nC5kUcITE0ZRJ9QK9RFlst3izlMQRQWezWT/dv0ey+7065q8G3Y3OfimYESx bbclsJyq5nwMXWOe2mzja0Gb/pnF0Uz8PikiJUk0DC59x9YAF5mDM8FLgN7S6K9anJDg oI/qj4mILs47FSj75Kx8UErmGQXflGpNoQtllOZBGfepgZLNbltLeBrEWVsvqTJIIP/z WiSdCMvrMB4N4X+N4ttnecMx7xtl066U4DmO3r+rLzyR/fSPgU3V7TRdhdq2oBEO/X+1 l9+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780653774; x=1781258574; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=J+gQdClFpfTSuomj5cho2BBvee/+z1zLGCutboedQGc=; b=mFyWy91ymaXIVIs3zCLt/pd8z+PORaZqbZunORW2sAeGsQke5F03z7tPAX8Piy6L8/ Uzhga2wiSBuBeV43oc9VW+75I1haH8KIZbhZbmnn+WRGqjFZMqpW+Vo81LLpEiIvrhJ6 C+TQ4JXKINIUhThFtIZPEDWYhErhy1tnh/ZPJXDm6VpVUP3BkGyqqwT3uXiymwy7CrjK mTk/jv2UKP6cZMaLCZMEQsu8oCqjFe83XHpskcn4jDgweEQKe78og7yR8w4oik9vV/NW rg8KHt+resE6dEPZZQW6dnE0IGDvOboQdv5X+y+8SwOJ+4FfmYw2DQu8IiPRhYnNfH5R LTPQ== X-Forwarded-Encrypted: i=1; AFNElJ8PIwk+XsO1S9DeLOT4vBek+2KZNLb7CL3VQc25p+uKHmyrRkiK0nxU2P3Dt62f/HEvrCaeB/O+VV0TfwDO@lists.postgresql.org X-Gm-Message-State: AOJu0Yx/Re/TAYK9OuVIDh6oy1uI0U1AZzvFH+rPNcfD0fNyqRXuDqMl MIcYm24VUZV2l8U0oWb3iFyvCPXMmum2rKhFde2dHFd/UVhrmHY26VzBsWPb223rC0wbJ1kdkgZ HOVMkMMuvSOT2Cdxpo9D6Htn8zEL+93U= X-Gm-Gg: Acq92OH7tZTAaVXge6IXuw3zJKwRc7gk0TZqtHJa7nj2V5P6Gdv1cELLR0P7rMxxm2K KKcKp5G5bi9FjPi8H0xn8pWJRsu/fkGdL2aNPsxEtu0MdtKldBKM8/FvhJ86k748Sa0fSiZgiIo UklNK/h+32i5UHDDRRzr/AlWVrvUvSIlyx5rl74wMe/8cXNTV35Uot0RzKOt5Ot2YkrHpyY75l5 D4pDYFYcTIPNjCC9LeqjfrIqLeluCsPBmCJpsk7mEhVDHz6rwW4fE+GFq8BW8MHg4YLuPQrEeg7 G5dNXDNGNCwLWYI1sg9CVRF+RLo4UztSYCVlUIwmJv9rY42fFW0FAIe4w4fu4F/FrfXAw4SHkpV qQeJ79S5QvIIH2Rj2a8Gm X-Received: by 2002:a05:6a00:4518:b0:842:994:939e with SMTP id d2e1a72fcca58-842b6866d30mr1464081b3a.35.1780653774128; Fri, 05 Jun 2026 03:02:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: shveta malik Date: Fri, 5 Jun 2026 15:32:41 +0530 X-Gm-Features: AVHnY4JxmwxyCFicJHAzFm528j3VbxPSMzioI-8GZCanJ87hFOvjPDZfUWBF4gk Message-ID: Subject: Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication To: Ashutosh Sharma Cc: "Zhijie Hou (Fujitsu)" , Amit Kapila , Ajin Cherian , SATYANARAYANA NARLAPURAM , PostgreSQL-development , PostgreSQL Hackers , shveta malik Content-Type: multipart/mixed; boundary="000000000000acecc806537ec39c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000acecc806537ec39c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jun 4, 2026 at 2:57=E2=80=AFPM Ashutosh Sharma wrote: > > > So my preferred behavior would be: > > 1) duplicate names: normalize, do not error > 2) after normalization, if num_sync > unique_slots: error immediately > Thanks for tha pathces. I have attached a patch (txt file) with a few trivial changes, take it if you find the changes acceptable. thanks Shveta --000000000000acecc806537ec39c Content-Type: text/plain; charset="US-ASCII"; name="0001-top-up-changes.patch.txt" Content-Disposition: attachment; filename="0001-top-up-changes.patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq0r9gtf0 RnJvbSBiZjJkZDE1OWIzZGUyZjQ0Y2RiMjQ4YjY1OGY0YzUxOGVhZDk4NDc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaHZldGEgTWFsaWsgPHNodmV0YS5tYWxpa0BnbWFpbC5jb20+ CkRhdGU6IEZyaSwgNSBKdW4gMjAyNiAxNToyODo0NSArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIHRv cC11cCBjaGFuZ2VzCgotLS0KIGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAgICAgICAgICAg ICAgICAgICB8ICAzMiArKystLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAg ICAgICAgICAgICB8IDEwNiArKysrKysrKysrLS0tLS0tLS0KIC4uLi8wNTNfc3luY2hyb25pemVk X3N0YW5kYnlfc2xvdHNfcXVvcnVtLnBsICB8ICAxNiAtLS0KIDMgZmlsZXMgY2hhbmdlZCwgODAg aW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2NvbmZpZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDdkOGY0Yjc1NzE3 Li40NDI3NmZlMmJjMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbApAQCAtNTIyNSwxOSArNTIyNSw2IEBAIEFOWSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtX3N5bmM8L3JlcGxhY2VhYmxlPiAoIDxyZXBs YWNlYWJsZSBjbGFzcz0iCiAgICAgICAgICA8bGl0ZXJhbD4yIChzbG90MSwgc2xvdDIsIHNsb3Qz KTwvbGl0ZXJhbD4gYW5kCiAgICAgICAgICA8bGl0ZXJhbD5GSVJTVCAyIChzbG90MSwgc2xvdDIs IHNsb3QzKTwvbGl0ZXJhbD4gYXJlIGVxdWl2YWxlbnQuCiAgICAgICAgPC9wYXJhPgotICAgICAg ICA8cGFyYT4KLSAgICAgICAgIElmIHRoZSBzYW1lIHBoeXNpY2FsIHJlcGxpY2F0aW9uIHNsb3Qg bmFtZSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLAotICAgICAgICAgZHVwbGljYXRlIGVudHJpZXMg YXJlIGlnbm9yZWQgYW5kIG9ubHkgdGhlIGZpcnN0IG9jY3VycmVuY2UgaXMgdXNlZC4KLSAgICAg ICAgIFRoZSBzZW1hbnRpY3Mgb2YgPHZhcm5hbWU+c3luY2hyb25pemVkX3N0YW5kYnlfc2xvdHM8 L3Zhcm5hbWU+IGFyZQotICAgICAgICAgdGhlcmVmb3JlIGJhc2VkIG9uIHRoZSB1bmlxdWUgc2V0 IG9mIGxpc3RlZCBzbG90IG5hbWVzLCBwcmVzZXJ2aW5nIHRoZQotICAgICAgICAgb3JpZ2luYWwg b3JkZXIgb2YgZmlyc3Qgb2NjdXJyZW5jZS4gVGhpcyBtZWFucyB0aGF0LCBpbgotICAgICAgICAg cHJpb3JpdHktYmFzZWQgZm9ybXMsIGR1cGxpY2F0ZXMgZG8gbm90IGNyZWF0ZSBhZGRpdGlvbmFs IHByaW9yaXR5Ci0gICAgICAgICBwb3NpdGlvbnM6IGZvciBleGFtcGxlLAotICAgICAgICAgPGxp dGVyYWw+RklSU1QgMiAoc2xvdDEsIHNsb3QxLCBzbG90Miwgc2xvdDMpPC9saXRlcmFsPiBpcyB0 cmVhdGVkIHRoZQotICAgICAgICAgc2FtZSBhcyA8bGl0ZXJhbD5GSVJTVCAyIChzbG90MSwgc2xv dDIsIHNsb3QzKTwvbGl0ZXJhbD4uIEluIHBhcnRpY3VsYXIsCi0gICAgICAgICA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bnVtX3N5bmM8L3JlcGxhY2VhYmxlPiBtdXN0IG5vdCBleGNl ZWQKLSAgICAgICAgIHRoZSBudW1iZXIgb2YgdW5pcXVlIGxpc3RlZCBzbG90cy4KLSAgICAgICAg PC9wYXJhPgogICAgICAgIDxwYXJhPgogICAgICAgICBBIHBsYWluIGNvbW1hLXNlcGFyYXRlZCBs aXN0IHdpdGhvdXQgYSBrZXl3b3JkIHNwZWNpZmllcyB0aGF0CiAgICAgICAgIDxlbXBoYXNpcz5h bGw8L2VtcGhhc2lzPiBsaXN0ZWQgcGh5c2ljYWwgc2xvdHMgbXVzdCBjb25maXJtIFdBTApAQCAt NTI2OCw2ICs1MjU1LDI1IEBAIEFOWSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVt X3N5bmM8L3JlcGxhY2VhYmxlPiAoIDxyZXBsYWNlYWJsZSBjbGFzcz0iCiAgICAgICAgICg8bGl0 ZXJhbD5zeW5jaHJvbm91c19zdGFuZGJ5X25hbWVzID0gJ0FOWSAuLi4nPC9saXRlcmFsPiksIHNv IHRoYXQKICAgICAgICAgbG9naWNhbCBkZWNvZGluZyBhdmFpbGFiaWxpdHkgbWF0Y2hlcyB0aGUg Y29tbWl0IGR1cmFiaWxpdHkgZ3VhcmFudGVlLgogICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBh cmE+CisgICAgICAgICBJZiB0aGUgc2FtZSBwaHlzaWNhbCByZXBsaWNhdGlvbiBzbG90IG5hbWUg YXBwZWFycyBtb3JlIHRoYW4gb25jZSwKKyAgICAgICAgIGR1cGxpY2F0ZSBlbnRyaWVzIGFyZSBp Z25vcmVkIGFuZCBvbmx5IHRoZSBmaXJzdCBvY2N1cnJlbmNlIGlzIHVzZWQuCisgICAgICAgICBU aGUgc2VtYW50aWNzIG9mIDx2YXJuYW1lPnN5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3RzPC92YXJu YW1lPiBhcmUKKyAgICAgICAgIHRoZXJlZm9yZSBiYXNlZCBvbiB0aGUgdW5pcXVlIHNldCBvZiBs aXN0ZWQgc2xvdCBuYW1lcywgcHJlc2VydmluZyB0aGUKKyAgICAgICAgIG9yaWdpbmFsIG9yZGVy IG9mIGZpcnN0IG9jY3VycmVuY2UuIFRoaXMgbWVhbnMgdGhhdCwgaW4KKyAgICAgICAgIHByaW9y aXR5LWJhc2VkIGZvcm1zLCBkdXBsaWNhdGVzIGRvIG5vdCBjcmVhdGUgYWRkaXRpb25hbCBwcmlv cml0eQorICAgICAgICAgcG9zaXRpb25zOiBmb3IgZXhhbXBsZSwKKyAgICAgICAgIDxsaXRlcmFs PkZJUlNUIDIgKHNsb3QxLCBzbG90MSwgc2xvdDIsIHNsb3QzKTwvbGl0ZXJhbD4gaXMgdHJlYXRl ZCB0aGUKKyAgICAgICAgIHNhbWUgYXMgPGxpdGVyYWw+RklSU1QgMiAoc2xvdDEsIHNsb3QyLCBz bG90Myk8L2xpdGVyYWw+LgorICAgICAgICAgTGlrZXdpc2UsIDxsaXRlcmFsPkFOWSAyIChzbG90 MSwgc2xvdDEsIHNsb3QyLCBzbG90Myk8L2xpdGVyYWw+IGlzCisgICAgICAgICB0cmVhdGVkIHRo ZSBzYW1lIGFzIDxsaXRlcmFsPkFOWSAyIChzbG90MSwgc2xvdDIsIHNsb3QzKTwvbGl0ZXJhbD4s CisgICAgICAgICBhbmQgYSBwbGFpbiBsaXN0IHN1Y2ggYXMgPGxpdGVyYWw+KHNsb3QxLCBzbG90 MSwgc2xvdDIpPC9saXRlcmFsPgorICAgICAgICAgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcyA8bGl0 ZXJhbD4oc2xvdDEsIHNsb3QyKTwvbGl0ZXJhbD4uIEluIHBhcnRpY3VsYXIsCisgICAgICAgICA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtX3N5bmM8L3JlcGxhY2VhYmxlPiBtdXN0 IG5vdCBleGNlZWQKKyAgICAgICAgIHRoZSBudW1iZXIgb2YgdW5pcXVlIGxpc3RlZCBzbG90cy4g U3VjaCBhIGNvbmZpZ3VyYXRpb24gcmVzdWx0cyBpbiBhbgorICAgICAgICAgZXJyb3IgdG8gcHJl dmVudCBpbmRlZmluaXRlIHdhaXRzIGluIFdBTCBzZW5kZXIgcHJvY2Vzc2VzIGR1ZSB0byBhCisg ICAgICAgICBtaXNjb25maWd1cmVkIDx2YXJuYW1lPnN5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3Rz PC92YXJuYW1lPiBzZXR0aW5nLgorICAgICAgICA8L3BhcmE+CiAgICAgICAgIDxwYXJhPgogICAg ICAgICAgPGxpdGVyYWw+RklSU1Q8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5BTlk8L2xpdGVyYWw+ IGFyZSBjYXNlLWluc2Vuc2l0aXZlLgogICAgICAgICAgSWYgdGhlc2Uga2V5d29yZHMgYXJlIHVz ZWQgYXMgdGhlIG5hbWUgb2YgYSByZXBsaWNhdGlvbiBzbG90LApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5j CmluZGV4IGZiNDVhMWNkNTgxLi4xZTJlNjMxZDZhNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vc2xvdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwpA QCAtMTAzLDcgKzEwMyw3IEBAIHR5cGVkZWYgc3RydWN0CiAJaW50CQkJY29uZmlnX3NpemU7CS8q IHRvdGFsIHNpemUgb2YgdGhpcyBzdHJ1Y3QsIGluIGJ5dGVzICovCiAJaW50CQkJbnVtX3N5bmM7 CQkvKiBudW1iZXIgb2Ygc2xvdHMgdGhhdCBtdXN0IGNvbmZpcm0gV0FMCiAJCQkJCQkJCSAqIHJl Y2VpcHQgYmVmb3JlIGxvZ2ljYWwgZGVjb2RpbmcgcHJvY2VlZHMgKi8KLQl1aW50OAkJc3luY3Jl cF9tZXRob2Q7CS8qIFNZTkNfUkVQXyogbWV0aG9kICovCisJdWludDgJCXN5bmNyZXBfbWV0aG9k OyAvKiBTWU5DX1JFUF8qIG1ldGhvZCAqLwogCWludAkJCW5zbG90bmFtZXM7CQkvKiBudW1iZXIg b2Ygc2xvdCBuYW1lcyB0aGF0IGZvbGxvdyAqLwogCiAJLyoKQEAgLTExNywxMiArMTE3LDEyIEBA IHR5cGVkZWYgc3RydWN0CiAgKi8KIHR5cGVkZWYgZW51bQogewotCVNTX1NMT1RfTk9UX0ZPVU5E LAkJLyogc2xvdCBkb2VzIG5vdCBleGlzdCAqLwotCVNTX1NMT1RfTE9HSUNBTCwJCS8qIHNsb3Qg aXMgbG9naWNhbCwgbm90IHBoeXNpY2FsICovCi0JU1NfU0xPVF9JTlZBTElEQVRFRCwJLyogc2xv dCBoYXMgYmVlbiBpbnZhbGlkYXRlZCAqLworCVNTX1NMT1RfTk9UX0ZPVU5ELAkJCS8qIHNsb3Qg ZG9lcyBub3QgZXhpc3QgKi8KKwlTU19TTE9UX0xPR0lDQUwsCQkJLyogc2xvdCBpcyBsb2dpY2Fs LCBub3QgcGh5c2ljYWwgKi8KKwlTU19TTE9UX0lOVkFMSURBVEVELAkJLyogc2xvdCBoYXMgYmVl biBpbnZhbGlkYXRlZCAqLwogCVNTX1NMT1RfSU5BQ1RJVkVfTEFHR0lORywJLyogc2xvdCBpcyBp bmFjdGl2ZSBhbmQgYmVoaW5kIHdhaXRfZm9yX2xzbiAqLwotCVNTX1NMT1RfQUNUSVZFX0xBR0dJ TkcsCS8qIHNsb3QgaXMgYWN0aXZlIGFuZCBiZWhpbmQgd2FpdF9mb3JfbHNuICovCi19IFN5bmNT dGFuZGJ5U2xvdHNTdGF0ZTsKKwlTU19TTE9UX0FDVElWRV9MQUdHSU5HLAkJLyogc2xvdCBpcyBh Y3RpdmUgYW5kIGJlaGluZCB3YWl0X2Zvcl9sc24gKi8KK30JCQlTeW5jU3RhbmRieVNsb3RzU3Rh dGU7CiAKIC8qCiAgKiBJbmZvcm1hdGlvbiBhYm91dCBhIHN5bmNocm9uaXplZCBzdGFuZGJ5IHNs b3QncyBzdGF0ZS4KQEAgLTEzMSw4ICsxMzEsOSBAQCB0eXBlZGVmIHN0cnVjdAogewogCWNvbnN0 IGNoYXIgKnNsb3RfbmFtZTsJCS8qIG5hbWUgb2YgdGhlIHNsb3QgKi8KIAlTeW5jU3RhbmRieVNs b3RzU3RhdGUgc3RhdGU7CS8qIHN0YXRlIG9mIHRoZSBzbG90ICovCi0JWExvZ1JlY1B0cglyZXN0 YXJ0X2xzbjsJLyogY3VycmVudCByZXN0YXJ0X2xzbiAodmFsaWQgZm9yIGxhZ2dpbmcgc3RhdGVz KSAqLwotfSBTeW5jU3RhbmRieVNsb3RzU3RhdGVJbmZvOworCVhMb2dSZWNQdHIJcmVzdGFydF9s c247CS8qIGN1cnJlbnQgcmVzdGFydF9sc24gKHZhbGlkIGZvciBsYWdnaW5nCisJCQkJCQkJCSAq IHN0YXRlcykgKi8KK30JCQlTeW5jU3RhbmRieVNsb3RzU3RhdGVJbmZvOwogCiAvKgogICogTG9v a3VwIHRhYmxlIGZvciBzbG90IGludmFsaWRhdGlvbiBjYXVzZXMuCkBAIC0yOTk0LDE2ICsyOTk1 LDIwIEBAIEdldFNsb3RJbnZhbGlkYXRpb25DYXVzZU5hbWUoUmVwbGljYXRpb25TbG90SW52YWxp ZGF0aW9uQ2F1c2UgY2F1c2UpCiB9CiAKIC8qCi0gKiBSZW1vdmUgZHVwbGljYXRlIG1lbWJlciBu YW1lcyBmcm9tIGEgZmxhdCBTeW5jUmVwQ29uZmlnRGF0YSBpbiBwbGFjZS4KKyAqIFJlbW92ZSBk dXBsaWNhdGUgbWVtYmVyIG5hbWVzIGZyb20gYSBTeW5jUmVwQ29uZmlnRGF0YSBvYmplY3QuCiAg KgotICogVGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgZWFjaCBuYW1lIGlzIGtlcHQgYW5kIGlucHV0 IG9yZGVyIGlzIHByZXNlcnZlZC4KKyAqIFRoZSBtZW1iZXJfbmFtZXMgYXJyYXkgb2YgU3luY1Jl cENvbmZpZ0RhdGEgaXMgY29tcGFjdGVkIGluIHBsYWNlIHNvCisgKiB0aGF0IG9ubHkgdGhlIGZp cnN0IG9jY3VycmVuY2Ugb2YgZWFjaCBtZW1iZXIgbmFtZSBpcyByZXRhaW5lZC4gVGhlCisgKiBv cmlnaW5hbCBvcmRlcmluZyBvZiByZXRhaW5lZCBuYW1lcyBpcyBwcmVzZXJ2ZWQsIGFuZCBubWVt YmVycyBhbmQKKyAqIGNvbmZpZ19zaXplIGFyZSB1cGRhdGVkIHRvIGRlc2NyaWJlIG9ubHkgdGhl IGNvbXBhY3RlZCBwb3J0aW9uIG9mCisgKiB0aGUgYXJyYXkuCiAgKi8KIHN0YXRpYyB2b2lkCiBD b21wYWN0U3luY1JlcENvbmZpZ01lbWJlck5hbWVzKFN5bmNSZXBDb25maWdEYXRhICpjb25maWcp CiB7CiAJY2hhcgkgICAqc3JjX25hbWU7CiAJY2hhcgkgICAqZHN0X25hbWU7Ci0JaW50CQkJdW5p cXVlX21lbWJlcnMgPSAwOworCWludAkJCW51bmlxdWVfbWVtYmVycyA9IDA7CiAJU2l6ZQkJdW5p cXVlX3NpemUgPSBvZmZzZXRvZihTeW5jUmVwQ29uZmlnRGF0YSwgbWVtYmVyX25hbWVzKTsKIAog CXNyY19uYW1lID0gY29uZmlnLT5tZW1iZXJfbmFtZXM7CkBAIC0zMDExLDM4ICszMDE2LDQ3IEBA IENvbXBhY3RTeW5jUmVwQ29uZmlnTWVtYmVyTmFtZXMoU3luY1JlcENvbmZpZ0RhdGEgKmNvbmZp ZykKIAogCWZvciAoaW50IGkgPSAwOyBpIDwgY29uZmlnLT5ubWVtYmVyczsgaSsrKQogCXsKLQkJ Y2hhcgkgICAqZXhpc3RpbmdfbmFtZTsKKwkJY2hhcgkgICAqdW5pcXVlX25hbWU7CiAJCXNpemVf dAkJbmFtZV9zaXplOwogCQlib29sCQlkdXBsaWNhdGUgPSBmYWxzZTsKIAogCQluYW1lX3NpemUg PSBzdHJsZW4oc3JjX25hbWUpICsgMTsKLQkJZXhpc3RpbmdfbmFtZSA9IGNvbmZpZy0+bWVtYmVy X25hbWVzOwogCi0JCWZvciAoaW50IGogPSAwOyBqIDwgdW5pcXVlX21lbWJlcnM7IGorKykKKwkJ LyoKKwkJICogQ2hlY2sgd2hldGhlciBzcmNfbmFtZSBtYXRjaGVzIGFueSBwcmV2aW91c2x5IHJl dGFpbmVkIHVuaXF1ZSBuYW1lLgorCQkgKiBPbmx5IHRoZSBmaXJzdCBudW5pcXVlX21lbWJlcnMg ZW50cmllcyBpbiBtZW1iZXJfbmFtZXMgbmVlZCB0byBiZQorCQkgKiBleGFtaW5lZCBmb3IgdGhp cy4KKwkJICovCisJCXVuaXF1ZV9uYW1lID0gY29uZmlnLT5tZW1iZXJfbmFtZXM7CisJCWZvciAo aW50IGogPSAwOyBqIDwgbnVuaXF1ZV9tZW1iZXJzOyBqKyspCiAJCXsKLQkJCWlmIChzdHJjbXAo ZXhpc3RpbmdfbmFtZSwgc3JjX25hbWUpID09IDApCisJCQlpZiAoc3RyY21wKHVuaXF1ZV9uYW1l LCBzcmNfbmFtZSkgPT0gMCkKIAkJCXsKIAkJCQlkdXBsaWNhdGUgPSB0cnVlOwogCQkJCWJyZWFr OwogCQkJfQogCi0JCQlleGlzdGluZ19uYW1lICs9IHN0cmxlbihleGlzdGluZ19uYW1lKSArIDE7 CisJCQl1bmlxdWVfbmFtZSArPSBzdHJsZW4odW5pcXVlX25hbWUpICsgMTsKIAkJfQogCiAJCWlm ICghZHVwbGljYXRlKQogCQl7CisJCQkvKgorCQkJICogVGhpcyBzcmNfbmFtZSBpcyBhIG5ldyB1 bmlxdWUgbmFtZS4gQ29weSBpdCBpbW1lZGlhdGVseSBhZnRlciB0aGUKKwkJCSAqIHVuaXF1ZSBu YW1lcyByZXRhaW5lZCBzbyBmYXIuCisJCQkgKi8KIAkJCWlmIChkc3RfbmFtZSAhPSBzcmNfbmFt ZSkKIAkJCQltZW1tb3ZlKGRzdF9uYW1lLCBzcmNfbmFtZSwgbmFtZV9zaXplKTsKIAogCQkJZHN0 X25hbWUgKz0gbmFtZV9zaXplOwotCQkJdW5pcXVlX21lbWJlcnMrKzsKKwkJCW51bmlxdWVfbWVt YmVycysrOwogCQkJdW5pcXVlX3NpemUgKz0gbmFtZV9zaXplOwogCQl9CiAKIAkJc3JjX25hbWUg Kz0gbmFtZV9zaXplOwogCX0KIAotCWNvbmZpZy0+bm1lbWJlcnMgPSB1bmlxdWVfbWVtYmVyczsK Kwljb25maWctPm5tZW1iZXJzID0gbnVuaXF1ZV9tZW1iZXJzOwogCWNvbmZpZy0+Y29uZmlnX3Np emUgPSAoaW50KSB1bmlxdWVfc2l6ZTsKIH0KIApAQCAtMzEyNSwxNCArMzEzOSwxNCBAQCBjaGVj a19zeW5jaHJvbml6ZWRfc3RhbmRieV9zbG90cyhjaGFyICoqbmV3dmFsLCB2b2lkICoqZXh0cmEs IEd1Y1NvdXJjZSBzb3VyY2UpCiAJCQltbmFtZSArPSBzdHJsZW4obW5hbWUpICsgMTsKIAkJfQog Ci0JCS8qIE9taXQgZHVwbGljYXRlIHNsb3QgbmFtZXMgc28gb25lIHNsb3QgaXMgY29uc2lkZXJl ZCBvbmx5IG9uY2UuICovCisJCS8qIE9taXQgZHVwbGljYXRlIHNsb3QgbmFtZXMgdG8gZW5zdXJl IGVhY2ggc2xvdCBpcyBjb25zaWRlcmVkIG9ubHkgb25jZS4gKi8KIAkJQ29tcGFjdFN5bmNSZXBD b25maWdNZW1iZXJOYW1lcyhzeW5jcmVwX3BhcnNlX3Jlc3VsdCk7CiAKIAkJLyoKIAkJICogRm9y IHN5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3RzLCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG1lYW5z IGFsbAogCQkgKiBsaXN0ZWQgc2xvdHMgYXJlIHJlcXVpcmVkLiBUaGUgc3luY3JlcCBwYXJzZXIg cHJlc2VydmVzIHRoaXMgc2hhcGUKLQkJICogYXMgU1lOQ19SRVBfREVGQVVMVCwgc28gbWFwIG51 bV9zeW5jIHRvIG5tZW1iZXJzIHRvIGVuZm9yY2UgYWxsLW1vZGUKLQkJICogc2VtYW50aWNzIGFm dGVyIHJlbW92aW5nIGR1cGxpY2F0ZSBuYW1lcy4KKwkJICogYXMgU1lOQ19SRVBfREVGQVVMVCwg c28gbWFwIG51bV9zeW5jIHRvIG5tZW1iZXJzIHRvIGVuZm9yY2UKKwkJICogYWxsLW1vZGUgc2Vt YW50aWNzIGFmdGVyIHJlbW92aW5nIGR1cGxpY2F0ZSBuYW1lcy4KIAkJICovCiAJCWlmIChzeW5j cmVwX3BhcnNlX3Jlc3VsdC0+c3luY3JlcF9tZXRob2QgPT0gU1lOQ19SRVBfREVGQVVMVCkKIAkJ CXN5bmNyZXBfcGFyc2VfcmVzdWx0LT5udW1fc3luYyA9IHN5bmNyZXBfcGFyc2VfcmVzdWx0LT5u bWVtYmVyczsKQEAgLTMyMjQsNyArMzIzOCw3IEBAIFNsb3RFeGlzdHNJblN5bmNTdGFuZGJ5U2xv dHMoY29uc3QgY2hhciAqc2xvdF9uYW1lKQogICogY2F0Y2gtdXAgcmVxdWlyZW1lbnQgZnJvbSBi ZWluZyBtZXQuCiAgKi8KIHN0YXRpYyB2b2lkCi1SZXBvcnRVbmF2YWlsYWJsZVN5bmNTdGFuZGJ5 U2xvdHMoU3luY1N0YW5kYnlTbG90c1N0YXRlSW5mbyAqc2xvdF9zdGF0ZXMsCitSZXBvcnRVbmF2 YWlsYWJsZVN5bmNTdGFuZGJ5U2xvdHMoU3luY1N0YW5kYnlTbG90c1N0YXRlSW5mbyAqIHNsb3Rf c3RhdGVzLAogCQkJCQkJCQkgIGludCBudW1fc2xvdF9zdGF0ZXMsIGludCBlbGV2ZWwsCiAJCQkJ CQkJCSAgWExvZ1JlY1B0ciB3YWl0X2Zvcl9sc24pCiB7CkBAIC0zMjg1LDE1ICszMjk5LDE1IEBA IFJlcG9ydFVuYXZhaWxhYmxlU3luY1N0YW5kYnlTbG90cyhTeW5jU3RhbmRieVNsb3RzU3RhdGVJ bmZvICpzbG90X3N0YXRlcywKIAkJCQkJCQllcnJtc2coInJlcGxpY2F0aW9uIHNsb3QgXCIlc1wi IHNwZWNpZmllZCBpbiBwYXJhbWV0ZXIgXCIlc1wiIGhhcyBub3QgY2F1Z2h0IHVwIiwKIAkJCQkJ CQkJICAgc2xvdF9uYW1lLCAic3luY2hyb25pemVkX3N0YW5kYnlfc2xvdHMiKSwKIAkJCQkJCQll cnJkZXRhaWwoIlRoZSBzbG90J3MgcmVzdGFydF9sc24gaXMgbm90IHlldCBzZXQ7IHJlcXVpcmVk IExTTiBpcyAlWC8lWC4iLAotCQkJCQkJCQkgIExTTl9GT1JNQVRfQVJHUyh3YWl0X2Zvcl9sc24p KSk7CisJCQkJCQkJCQkgIExTTl9GT1JNQVRfQVJHUyh3YWl0X2Zvcl9sc24pKSk7CiAJCQkJZWxz ZQogCQkJCQllcmVwb3J0KERFQlVHMSwKIAkJCQkJCQllcnJjb2RlKEVSUkNPREVfT0JKRUNUX05P VF9JTl9QUkVSRVFVSVNJVEVfU1RBVEUpLAogCQkJCQkJCWVycm1zZygicmVwbGljYXRpb24gc2xv dCBcIiVzXCIgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBcIiVzXCIgaGFzIG5vdCBjYXVnaHQgdXAi LAogCQkJCQkJCQkgICBzbG90X25hbWUsICJzeW5jaHJvbml6ZWRfc3RhbmRieV9zbG90cyIpLAog CQkJCQkJCWVycmRldGFpbCgiVGhlIHNsb3QncyByZXN0YXJ0X2xzbiAlWC8lWCBpcyBiZWhpbmQg dGhlIHJlcXVpcmVkICVYLyVYLiIsCi0JCQkJCQkJCSAgTFNOX0ZPUk1BVF9BUkdTKHNsb3Rfc3Rh dGVzW2ldLnJlc3RhcnRfbHNuKSwKLQkJCQkJCQkJICBMU05fRk9STUFUX0FSR1Mod2FpdF9mb3Jf bHNuKSkpOworCQkJCQkJCQkJICBMU05fRk9STUFUX0FSR1Moc2xvdF9zdGF0ZXNbaV0ucmVzdGFy dF9sc24pLAorCQkJCQkJCQkJICBMU05fRk9STUFUX0FSR1Mod2FpdF9mb3JfbHNuKSkpOwogCQkJ CWJyZWFrOwogCiAJCQlkZWZhdWx0OgpAQCAtMzM2NCwxNCArMzM3OCwxNCBAQCBTdGFuZGJ5U2xv dHNIYXZlQ2F1Z2h0dXAoWExvZ1JlY1B0ciB3YWl0X2Zvcl9sc24sIGludCBlbGV2ZWwpCiAJICog RGV0ZXJtaW5lIGhvdyBtYW55IHNsb3RzIGFyZSByZXF1aXJlZCBhbmQgd2hldGhlciB3ZSdyZSBp biAid2FpdCBmb3IKIAkgKiBBTEwiIG1vZGUgdmVyc3VzICJ3YWl0IGZvciBOLW9mLU0iIG1vZGUu CiAJICoKLQkgKiB3YWl0X2Zvcl9hbGwgPSB0cnVlIG1lYW5zIHdlIG5lZWQgQUxMIHNsb3RzIHRv IGJlIHJlYWR5IChzaW1wbGUKLQkgKiBsaXN0IHN5bnRheCBsaWtlICJzbG90MSwgc2xvdDIiKS4g SW4gdGhpcyBtb2RlLCB3ZSBzdG9wIGNoZWNraW5nCi0JICogb24gdGhlIGZpcnN0IHNsb3QgdGhh dCBpcyBtaXNzaW5nL2ludmFsaWQvbG9naWNhbCwgb3IgdGhlIGZpcnN0IHNsb3QKLQkgKiB0aGF0 IGlzIGxhZ2dpbmcgKGluYWN0aXZlIG9yIGFjdGl2ZSkuCisJICogd2FpdF9mb3JfYWxsID0gdHJ1 ZSBtZWFucyB3ZSBuZWVkIEFMTCBzbG90cyB0byBiZSByZWFkeSAoc2ltcGxlIGxpc3QKKwkgKiBz eW50YXggbGlrZSAic2xvdDEsIHNsb3QyIikuIEluIHRoaXMgbW9kZSwgd2Ugc3RvcCBjaGVja2lu ZyBvbiB0aGUKKwkgKiBmaXJzdCBzbG90IHRoYXQgaXMgbWlzc2luZy9pbnZhbGlkL2xvZ2ljYWws IG9yIHRoZSBmaXJzdCBzbG90IHRoYXQgaXMKKwkgKiBsYWdnaW5nIChpbmFjdGl2ZSBvciBhY3Rp dmUpLgogCSAqCiAJICogd2FpdF9mb3JfYWxsID0gZmFsc2UgbWVhbnMgd2Ugc2VsZWN0IE4gZnJv bSBNIGNhbmRpZGF0ZXMgKEZJUlNUIE4gb3IKLQkgKiBBTlkgTiBzeW50YXgpLiBJbiB0aGlzIG1v ZGUsIHNsb3RzIGFscmVhZHkgY2F1Z2h0IHVwIGFyZSBjb3VudGVkIGV2ZW4gaWYKLQkgKiBpbmFj dGl2ZS4gSW4gRklSU1QgTiBtb2RlLCB3ZSBza2lwIG1pc3NpbmcvaW52YWxpZC9sb2dpY2FsIHNs b3RzIGFuZAorCSAqIEFOWSBOIHN5bnRheCkuIEluIHRoaXMgbW9kZSwgc2xvdHMgYWxyZWFkeSBj YXVnaHQgdXAgYXJlIGNvdW50ZWQgZXZlbgorCSAqIGlmIGluYWN0aXZlLiBJbiBGSVJTVCBOIG1v ZGUsIHdlIHNraXAgbWlzc2luZy9pbnZhbGlkL2xvZ2ljYWwgc2xvdHMgYW5kCiAJICogbGFnZ2lu ZyBpbmFjdGl2ZSBzbG90cywgYnV0IHdhaXQgZm9yIGFuIGFjdGl2ZSBsYWdnaW5nIHNsb3Qgd2l0 aCBoaWdoZXIKIAkgKiBwcmlvcml0eS4gSW4gQU5ZIE4gbW9kZSwgd2Ugc2tpcCBsYWdnaW5nIHNs b3RzIChpbmFjdGl2ZSBvciBhY3RpdmUpIHRvCiAJICogZmluZCBhbnkgTiB0aGF0IGhhdmUgY2F1 Z2h0IHVwLiBEdXBsaWNhdGUgY29uZmlndXJlZCBzbG90IG5hbWVzIGRvIG5vdApAQCAtMzM4Nyw3 ICszNDAxLDcgQEAgU3RhbmRieVNsb3RzSGF2ZUNhdWdodHVwKFhMb2dSZWNQdHIgd2FpdF9mb3Jf bHNuLCBpbnQgZWxldmVsKQogCSAqIGNvbmZpZ3VyZWQgc2xvdHMgc2luY2UgaW4gdGhlIHdvcnN0 IGNhc2UgYWxsIGNvdWxkIGhhdmUgcHJvYmxlbSBzdGF0ZXMuCiAJICovCiAJc2xvdF9zdGF0ZXMg PSBwYWxsb2NfYXJyYXkoU3luY1N0YW5kYnlTbG90c1N0YXRlSW5mbywKLQkJCQkJCSAgc3luY2hy b25pemVkX3N0YW5kYnlfc2xvdHNfY29uZmlnLT5uc2xvdG5hbWVzKTsKKwkJCQkJCQkgICBzeW5j aHJvbml6ZWRfc3RhbmRieV9zbG90c19jb25maWctPm5zbG90bmFtZXMpOwogCiAJLyoKIAkgKiBU byBwcmV2ZW50IGNvbmN1cnJlbnQgc2xvdCBkcm9wcGluZyBhbmQgY3JlYXRpb24gd2hpbGUgZmls dGVyaW5nIHRoZQpAQCAtMzM5Niw4ICszNDEwLDggQEAgU3RhbmRieVNsb3RzSGF2ZUNhdWdodHVw KFhMb2dSZWNQdHIgd2FpdF9mb3JfbHNuLCBpbnQgZWxldmVsKQogCUxXTG9ja0FjcXVpcmUoUmVw bGljYXRpb25TbG90Q29udHJvbExvY2ssIExXX1NIQVJFRCk7CiAKIAkvKgotCSAqIEl0ZXJhdGUg dGhyb3VnaCBjb25maWd1cmVkIHNsb3RzLCBjaGVja2luZyB0aGVpciBzdGF0ZSBhbmQgdHJhY2tp bmcKLQkgKiBob3cgbWFueSBoYXZlIGNhdWdodCB1cC4gUHJvYmxlbSBzdGF0ZXMgYXJlIHJlY29y ZGVkIGZvciBkZWZlcnJlZAorCSAqIEl0ZXJhdGUgdGhyb3VnaCBjb25maWd1cmVkIHNsb3RzLCBj aGVja2luZyB0aGVpciBzdGF0ZSBhbmQgdHJhY2tpbmcgaG93CisJICogbWFueSBoYXZlIGNhdWdo dCB1cC4gUHJvYmxlbSBzdGF0ZXMgYXJlIHJlY29yZGVkIGZvciBkZWZlcnJlZAogCSAqIHJlcG9y dGluZzogbWlzc2luZy9sb2dpY2FsL2ludmFsaWRhdGVkIHNsb3RzLCBhbmQgbGFnZ2luZyBzbG90 cwogCSAqIChpbmFjdGl2ZSBvciBhY3RpdmUpLiBNZXNzYWdlcyBhcmUgb25seSBlbWl0dGVkIGlm IHRoZSBjYXRjaC11cAogCSAqIHJlcXVpcmVtZW50IGlzbid0IG1ldC4KQEAgLTM0NTcsMTMgKzM0 NzEsMTIgQEAgU3RhbmRieVNsb3RzSGF2ZUNhdWdodHVwKFhMb2dSZWNQdHIgd2FpdF9mb3JfbHNu LCBpbnQgZWxldmVsKQogCQlpZiAoIVhMb2dSZWNQdHJJc1ZhbGlkKHJlc3RhcnRfbHNuKSB8fCBy ZXN0YXJ0X2xzbiA8IHdhaXRfZm9yX2xzbikKIAkJewogCQkJLyoKLQkJCSAqIElmIGEgc2xvdCBp cyBpbmFjdGl2ZSBhbmQgbGFnZ2luZywgcmVwb3J0IGl0IGFzIGluYWN0aXZlLgotCQkJICogSWYg aXQgaXMgYWN0aXZlIGFuZCBsYWdnaW5nLCByZXBvcnQgaXQgYXMgbGFnZ2luZy4KKwkJCSAqIElm IGEgc2xvdCBpcyBpbmFjdGl2ZSBhbmQgbGFnZ2luZywgcmVwb3J0IGl0IGFzIGluYWN0aXZlLiBJ ZiBpdAorCQkJICogaXMgYWN0aXZlIGFuZCBsYWdnaW5nLCByZXBvcnQgaXQgYXMgbGFnZ2luZy4K IAkJCSAqCi0JCQkgKiBJbiBBTEwgbW9kZTogbXVzdCB3YWl0IGZvciBpdC4KLQkJCSAqIEluIEZJ UlNUIE4gKHByaW9yaXR5KSBtb2RlOiBsYWdnaW5nIGFjdGl2ZSBzbG90cyBibG9jaywgd2hpbGUK LQkJCSAqIGluYWN0aXZlIHNsb3RzIGNhbiBiZSBza2lwcGVkLgotCQkJICogSW4gQU5ZIE4gKHF1 b3J1bSkgbW9kZTogc2tpcCBhbmQgdXNlIGFub3RoZXIgc2xvdC4KKwkJCSAqIEluIEFMTCBtb2Rl OiBtdXN0IHdhaXQgZm9yIGl0LiBJbiBGSVJTVCBOIChwcmlvcml0eSkgbW9kZToKKwkJCSAqIGxh Z2dpbmcgYWN0aXZlIHNsb3RzIGJsb2NrLCB3aGlsZSBpbmFjdGl2ZSBzbG90cyBjYW4gYmUKKwkJ CSAqIHNraXBwZWQuIEluIEFOWSBOIChxdW9ydW0pIG1vZGU6IHNraXAgYW5kIHVzZSBhbm90aGVy IHNsb3QuCiAJCQkgKi8KIAkJCXNsb3Rfc3RhdGVzW251bV9zbG90X3N0YXRlc10uc2xvdF9uYW1l ID0gbmFtZTsKIAkJCXNsb3Rfc3RhdGVzW251bV9zbG90X3N0YXRlc10uc3RhdGUgPQpAQCAtMzQ5 NywxMiArMzUxMCwxMiBAQCBuZXh0X3Nsb3Q6CiAJTFdMb2NrUmVsZWFzZShSZXBsaWNhdGlvblNs b3RDb250cm9sTG9jayk7CiAKIAkvKgotCSAqIElmIHRoZSByZXF1aXJlZCBudW1iZXIgb2Ygc2xv dHMgaGF2ZSBub3QgY2F1Z2h0IHVwLCByZXBvcnQgYW55Ci0JICogcmVjb3JkZWQgcHJvYmxlbSBz dGF0ZXMgYW5kIHJldHVybiBmYWxzZS4KKwkgKiBJZiB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIHNs b3RzIGhhdmUgbm90IGNhdWdodCB1cCwgcmVwb3J0IGFueSByZWNvcmRlZAorCSAqIHByb2JsZW0g c3RhdGVzIGFuZCByZXR1cm4gZmFsc2UuCiAJICoKIAkgKiBXZSBvbmx5IGVtaXQgbWVzc2FnZXMg d2hlbiB0aGUgcmVxdWlyZW1lbnQgaXMgbm90IG1ldCB0byBhdm9pZAotCSAqIG1pc2xlYWRpbmcg bWVzc2FnZXMgaW4gcXVvcnVtL3ByaW9yaXR5IG1vZGUgd2hlcmUgb3RoZXIgc2xvdHMgbWF5Ci0J ICogaGF2ZSBzYXRpc2ZpZWQgdGhlIGNvbmRpdGlvbiBkZXNwaXRlIHNvbWUgc2xvdHMgaGF2aW5n IGlzc3Vlcy4KKwkgKiBtaXNsZWFkaW5nIG1lc3NhZ2VzIGluIHF1b3J1bS9wcmlvcml0eSBtb2Rl IHdoZXJlIG90aGVyIHNsb3RzIG1heSBoYXZlCisJICogc2F0aXNmaWVkIHRoZSBjb25kaXRpb24g ZGVzcGl0ZSBzb21lIHNsb3RzIGhhdmluZyBpc3N1ZXMuCiAJICovCiAJaWYgKGNhdWdodF91cF9z bG90X251bSA8IHJlcXVpcmVkKQogCXsKQEAgLTM1NTAsNyArMzU2MywxMCBAQCBXYWl0Rm9yU3Rh bmRieUNvbmZpcm1hdGlvbihYTG9nUmVjUHRyIHdhaXRfZm9yX2xzbikKIAkJCVByb2Nlc3NDb25m aWdGaWxlKFBHQ19TSUdIVVApOwogCQl9CiAKLQkJLyogRXhpdCBvbmNlIHRoZSBjb25maWd1cmVk IHN5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3RzIHJlcXVpcmVtZW50IGlzIG1ldC4gKi8KKwkJLyoK KwkJICogRXhpdCBvbmNlIHRoZSBjb25maWd1cmVkIHN5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3Rz IHJlcXVpcmVtZW50IGlzCisJCSAqIG1ldC4KKwkJICovCiAJCWlmIChTdGFuZGJ5U2xvdHNIYXZl Q2F1Z2h0dXAod2FpdF9mb3JfbHNuLCBXQVJOSU5HKSkKIAkJCWJyZWFrOwogCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWNvdmVyeS90LzA1M19zeW5jaHJvbml6ZWRfc3RhbmRieV9zbG90c19xdW9y dW0ucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzA1M19zeW5jaHJvbml6ZWRfc3RhbmRieV9zbG90 c19xdW9ydW0ucGwKaW5kZXggNjdhNWIxZDk2NTcuLmJlNTRiNzg4ODA3IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWNvdmVyeS90LzA1M19zeW5jaHJvbml6ZWRfc3RhbmRieV9zbG90c19xdW9ydW0u cGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTNfc3luY2hyb25pemVkX3N0YW5kYnlfc2xv dHNfcXVvcnVtLnBsCkBAIC0xNSwyMiArMTUsNiBAQAogIwogIyAgIHN5bmNocm9ub3VzX3N0YW5k YnlfbmFtZXMgPSAnQU5ZIDEgKHN0YW5kYnkxLCBzdGFuZGJ5MiknCiAjCi0jIFRlc3Qgc2NlbmFy aW9zOgotIwotIyBBKSBQbGFpbiBsaXN0ICdzYjFfc2xvdCwgc2IyX3Nsb3QnIChBTEwgbW9kZSkK LSMgICAgLSBXb3JrcyB3aGVuIGFsbCBzbG90cyBhcmUgYXZhaWxhYmxlCi0jICAgIC0gQmxvY2tz IGltbWVkaWF0ZWx5IGlmIEFOWSBzbG90IGlzIHVuYXZhaWxhYmxlCi0jCi0jIEIpIEFOWSBOIChz YjFfc2xvdCwgc2IyX3Nsb3QsIC4uLikgKHF1b3J1bSBtb2RlKQotIyAgICAtIFByb2NlZWRzIHdo ZW4gYXQgbGVhc3QgTiBzbG90cyBoYXZlIGNhdWdodCB1cAotIyAgICAtIFNraXBzIG1pc3Npbmcv aW52YWxpZC9sb2dpY2FsIHNsb3RzIGFuZCBsYWdnaW5nIHNsb3RzIChpbmFjdGl2ZSBvciBhY3Rp dmUpCi0jICAgICAgdG8gZmluZCBOIGNhdWdodC11cCBzbG90cwotIwotIyBDKSBGSVJTVCBOIChz YjFfc2xvdCwgc2IyX3Nsb3QpIChwcmlvcml0eSBtb2RlKQotIyAgICAtIFNlbGVjdHMgZmlyc3Qg TiBzbG90cyBpbiBwcmlvcml0eSBvcmRlciAobGlzdCBvcmRlcikKLSMgICAgLSBTa2lwcyBtaXNz aW5nL2ludmFsaWQvbG9naWNhbCBzbG90cyBhbmQgaW5hY3RpdmUgbGFnZ2luZyBzbG90cywKLSMg ICAgICBidXQgd2FpdHMgZm9yIGFjdGl2ZSBsYWdnaW5nIHNsb3RzCi0jICAgIC0gRklSU1QgMSB3 b3JrcyB3aXRoIG9uZSBzbG90IGRvd24gKHVubGlrZSBwbGFpbiBsaXN0KQogCiB1c2Ugc3RyaWN0 OwogdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwotLSAKMi4zNC4xCgo= --000000000000acecc806537ec39c--