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 1w6DG4-00442r-3B for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 19:54:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6DG3-00BpS5-0x for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 19:54:15 +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 1w6DG2-00BpRx-2R for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 19:54:15 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6DG1-00000001NWl-1ZzI for pgsql-hackers@postgresql.org; Fri, 27 Mar 2026 19:54:14 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2ad9a9be502so15615155ad.0 for ; Fri, 27 Mar 2026 12:54:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774641252; cv=none; d=google.com; s=arc-20240605; b=TgZaWyQLe94ILSXfR1MvGqHclxVzv/Brk14CZK23RdzQxp/vJSn4W5NIb9cmgUACF2 41KIdI1aPToA6Y5PEU3Ic9GvoksHH0jlDNhYSoYdi+3xQCRbqh5wiUGfQCF9GY7N/SKs jiRGLMv1YQIJfpfXhEGOZ4pIM4/qiEviQRPmanCWJkaImIShuW475P+ME++SqAFYWaYZ MwGwL/FQdR6KrZ9BlegWUcbuf7ICE66EM7NG1XU1047WkHceAEMPGbHEbqJ4QBndkOcn 68ddyDIHHgp/XAk6KBgGjLWKh4wQSTaFCAxFf5u3Dx1jZ97N3elsaccRwwgbaLX9kDGu WqoQ== 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=G4WHQx0sfW5+j7JvZDa5Cxgcsn4EWDWTSjcJB/8UGdU=; fh=cewa8aDJ+CxaogtjKCDBVysGsWglfXT9fydQeMFMDfk=; b=V/dtYVXIzL0EWjbvM/JZPJunkZ/q1NzAQCzpv3eFVr/J3uevNrt3iFlc2xOJ07YlT7 jSHQMI5pqczCPnmen/7frflYuBTIiW78q30fpNTwFE4hiwiRhIsSGAFoY8bUBF+qcOli YnEUEAhP/AbLcfIeEiwa4QnPt2RDNCbnVa85RlvCxNSrCzjSbAvNlwVsgC3WRhR9zrbV pNZqGXp7Tz5GauUN6bEaFUVM/eJzGTMmj/+MyWIBYvlTyyrOExGYcjVwTdRVBqgvR+4i 0XmhRKu8X0bDfCtnxSTk3LiGx/wWPprwkYHTjcLFRgxgzABG40jVjjuvB21T5tCYweVX Utvw==; darn=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=1774641252; x=1775246052; darn=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=G4WHQx0sfW5+j7JvZDa5Cxgcsn4EWDWTSjcJB/8UGdU=; b=bJfKzWJGddO3f/BdMnQf6YWinQXAmlC7Ysua4BJrmk8FU1a4N2nlFBWX9MG6FcvSy5 47Bp2vf1gISYcbqIcQCTH5Kpx7bQpvi/3kXZqq7CHsdxBKaPu4mNOs1Dy58VaSrj/285 4m9xg9nl3XBURahHULrp2/b4o/9hJeROvAp6Eb/NtDVruBYOfmV9Hr6go1Rl4/3F+R7A 2uSB1yBwzhdWG1Lvfcy78QX3wJP/b28rnGhswYAy9YO+NRYKl1gbRurrvsVvyvCBPSFq yoy+isqYAaKipBdhRFEuDl4TgtmG/xcmMKiOY3YmhqaBgt+OJPpDjRTPbXdzLmdT+JP/ Ruqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774641252; x=1775246052; 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=G4WHQx0sfW5+j7JvZDa5Cxgcsn4EWDWTSjcJB/8UGdU=; b=q2Rt/Y2tReRHPcAsw3XWFlK7I7PXd4U8lbCENdlRh5RPq44ey4R9ve4XZtEgIsu6/W 7qlDgoEiu1YRQuokfu3fTBwACLbDymPlWwfeUU5Aun7e1kj7w1oIYaxUfcxreciKGeQ8 Z+V5UtggBRhPNczOfAvu4jrvoPrWoQoxo8E3OuEKu7sesIaWXvQ7PFauJTiV0VmN0aw2 XKs4PaRv0ksd34S47mg4nrdBnX3xzgJOnZyBpbPZjWHdP9XVb3cII2GYi9+8LanvIjxd 17kQ7RZC6Kc0ezQ9uc6fi3Dz/re4hyq6m7f+cMz6sUjk5nGwXveHLNkLdFkYs9dnvTf9 2yMg== X-Forwarded-Encrypted: i=1; AJvYcCUjaW2dZpGsbwOUrjpbGB1lRvqAWGxFV1nlfnPvndl4W3wOQ8krrVwt7HvONmou/LF3liT5hpMuCU/kZdZ2@postgresql.org X-Gm-Message-State: AOJu0YwGZ8a/nBHonaLDaVQw7QIFgm3aTMD/6SFV+0igGGNn+xg7BEcw 67uU+FKGL1ziXTyLKuLhJ0x/SDMYN1YNaA54rJ6j5BSqk/9ifY6e6FMHri87eDqmdHKXBHwgl8l XreLNS0bMjdFHlwObwKKycNEKa9ZLkgk= X-Gm-Gg: ATEYQzwU1C4eVsS3MEaaCeHkoiVs7A2Q+x41AZjGg9NslHzsHySsrTf6/XnrY3QUQFX e2BCsCFe+HWLW88oPfu79qwjndSfoXq+htVr8GoopEooC+kSqHFxshEHrCRLylZpBdzKEJ2BOxB c6zCAnLQZojNwQ2ouiCBVNv6A30Qw2F4duK/AgExpk8Q+BWzzHOP3weta4lvYauNzvsptxKyQrV iQjefzMCfX2cVBC4szQaL/vBvGTXrN6FOwHMyg8u2GMz6Fios0ZO+C0ds/goHjLIHgQwr+Vrzt/ DlrqdGo/1uqxnDZdhrf3jeTqc6/sH1U8vt0ENRQI16730PZ74qL+VUv/9ET+YhDMrBugs7c= X-Received: by 2002:a17:902:ea05:b0:2b0:af2f:b26a with SMTP id d9443c01a7336-2b0cdd13422mr41500995ad.48.1774641252556; Fri, 27 Mar 2026 12:54:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Roberto Mello Date: Fri, 27 Mar 2026 13:53:45 -0600 X-Gm-Features: AQROBzB40_SGSpAIp9ZKkKk3b5xSrUjivfMvGwekZ-Vd9JB8xuzVupYe8ZiE0l4 Message-ID: Subject: Re: pg_publication_tables: return NULL attnames when no column list is specified To: Ajin Cherian Cc: Peter Smith , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000767b5c064e06dd24" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000767b5c064e06dd24 Content-Type: multipart/alternative; boundary="000000000000767b5b064e06dd22" --000000000000767b5b064e06dd22 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 27, 2026 at 11:27=E2=80=AFAM Roberto Mello wrote: > On Thu, Mar 26, 2026 at 10:07=E2=80=AFPM Ajin Cherian = wrote: > >> >> One observation from reviewing the patch: the test suite covers the >> partial column list and dropped column cases well, but is missing a >> test for the two-publication conflict scenario (one pub with no list + >> one pub with an explicit list of all columns on the same table). That >> is the breaking change called out in the original report and probably >> deserves its own regression test with a comment explaining the >> expected behavior change for users in that configuration. >> Patch LGTM otherwise. >> > > Good point. I know I worked on that, so I must have accidentally dropped > it from the patch. > > Will prepare a revision and submit. > Here's v3 of the patch with the missing test. Roberto Mello Snowflake --000000000000767b5b064e06dd22 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, Mar 27, 2026 at 11:27=E2=80=AFAM = Roberto Mello <roberto.mello@= gmail.com> wrote:
On Thu, Mar 26, 2026 at 10:07=E2=80=AFPM Ajin Cherian <itsajin@gmail.com>= ; wrote:

One observation from reviewing the patch: the test suite covers the
partial column list and dropped column cases well, but is missing a
test for the two-publication conflict scenario (one pub with no list +
one pub with an explicit list of all columns on the same table). That
is the breaking change called out in the original report and probably
deserves its own regression test with a comment explaining the
expected behavior change for users in that configuration.
Patch LGTM otherwise.

Good point. I kno= w I worked on that, so I must have accidentally dropped it from the patch.<= /div>

Will prepare a revision and submit.

Here's v3 of the patch with the= missing test.

Roberto Mello
Snowflake
--000000000000767b5b064e06dd22-- --000000000000767b5c064e06dd24 Content-Type: application/octet-stream; name="v3-0001-Fix-pg_publication_tables-to-return-NULL-attnames.patch" Content-Disposition: attachment; filename="v3-0001-Fix-pg_publication_tables-to-return-NULL-attnames.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn9bk1vh0 RnJvbSBlYjA5OWIyYjBjMzQxOTk1ZGE1MWZmNTg0YWEyMzk0Y2FkMzc5NzFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIE1lbGxvIDxyb2JlcnRvLm1lbGxvQGdtYWlsLmNv bT4KRGF0ZTogVHVlLCAyNCBNYXIgMjAyNiAxOToyMDoxMCAtMDYwMApTdWJqZWN0OiBbUEFUQ0gg djNdIEZpeCBwZ19wdWJsaWNhdGlvbl90YWJsZXMgdG8gcmV0dXJuIE5VTEwgYXR0bmFtZXMgZm9y CiBhbGwtY29sdW1uIHB1YmxpY2F0aW9ucwoKUHJldmlvdXNseSwgcGdfZ2V0X3B1YmxpY2F0aW9u X3RhYmxlcygpIHN5bnRoZXNpemVkIGEgY29sdW1uIGxpc3QgZXZlbgp3aGVuIG5vIGV4cGxpY2l0 IGNvbHVtbiBsaXN0IHdhcyBzcGVjaWZpZWQgaW4gdGhlIHB1YmxpY2F0aW9uLiAgVGhpcyBtYWRl Cml0IGltcG9zc2libGUgZm9yIGNvbnN1bWVycyBvZiBwZ19wdWJsaWNhdGlvbl90YWJsZXMgdG8g ZGlzdGluZ3Vpc2gKYmV0d2VlbiAiYWxsIGNvbHVtbnMgYXJlIHB1Ymxpc2hlZCIgKG5ldyBjb2x1 bW5zIHdpbGwgYXV0b21hdGljYWxseSBiZQpyZXBsaWNhdGVkKSBhbmQgYW4gZXhwbGljaXQgY29s dW1uIGxpc3QgKG9ubHkgbGlzdGVkIGNvbHVtbnMgYXJlCnJlcGxpY2F0ZWQpLgoKV29yc2UsIHRo ZSBzdWJzY3JpYmVyLXNpZGUgd29ya2Fyb3VuZCBpbiBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbygp CmNvbXBhcmVkIGFycmF5X2xlbmd0aChncHQuYXR0cnMsIDEpIGFnYWluc3QgcGdfY2xhc3MucmVs bmF0dHMgdG8gZGV0ZWN0CnRoZSAiYWxsIGNvbHVtbnMiIGNhc2UsIGJ1dCByZWxuYXR0cyBpbmNs dWRlcyBkcm9wcGVkIGNvbHVtbnMgd2hpbGUgdGhlCnN5bnRoZXNpemVkIGxpc3QgZXhjbHVkZWQg dGhlbSwgc28gdGFibGVzIHdpdGggZHJvcHBlZCBjb2x1bW5zIHdlcmUKbWlzaWRlbnRpZmllZCBh cyBoYXZpbmcgYW4gZXhwbGljaXQgY29sdW1uIGxpc3QuCgpGaXggYnkgc2ltcGx5IGxlYXZpbmcg YXR0cnMgYXMgTlVMTCB3aGVuIG5vIGNvbHVtbiBsaXN0IHdhcyBzcGVjaWZpZWQKKHByYXR0cnMg aXMgTlVMTCkgaW4gdGhlIHB1YmxpY2F0aW9uIGNhdGFsb2cuICBUaGlzIGlzIGNvbnNpc3RlbnQg d2l0aApob3cgcHJhdHRycyBpdHNlbGYgaXMgc3RvcmVkIGFuZCByZW1vdmVzIHRoZSBuZWVkIGZv ciB0aGUgcmVsbmF0dHMKaGV1cmlzdGljIGluIHRhYmxlc3luYy5jLgoKVGhlIHJlYWwgcmVwbGlj YXRpb24gY29sdW1uIGZpbHRlcmluZyAod2hpY2ggbXVzdCBhY2NvdW50IGZvciBkcm9wcGVkCmNv bHVtbnMsIGdlbmVyYXRlZCBjb2x1bW5zLCBhbmQgcHViLT5wdWJnZW5jb2xzX3R5cGUpIGlzIHBl cmZvcm1lZApkb3duc3RyZWFtIGluIHBnb3V0cHV0LmMgYnkgcHViX2Zvcm1fY29sc19tYXAoKSBh bmQKY2hlY2tfYW5kX2ZldGNoX2NvbHVtbl9saXN0KCksIGJvdGggb2Ygd2hpY2ggYXJlIHVuY2hh bmdlZCBieSB0aGlzCnBhdGNoLgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCAg ICAgICAgICAgICAgfCAgOSArKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24u YyAgICAgICAgfCA1MiArKystLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvdGFibGVzeW5jLmMgfCAgOSArLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGlj YXRpb24ub3V0ICAgfCA5MCArKysrKysrKysrKysrKysrKysrLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3B1YmxpY2F0aW9uLnNxbCAgICAgICAgfCA1OSArKysrKysrKysrKysrKwogNSBmaWxlcyBj aGFuZ2VkLCAxNjAgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3 cy5zZ21sCmluZGV4IDllZTFhMmJmYzZhLi42YzkyNjg2MGU0MSAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Mu c2dtbApAQCAtMjcxMiw5ICsyNzEyLDEyIEBAIFNFTEVDVCAqIEZST00gcGdfbG9ja3MgcGwgTEVG VCBKT0lOIHBnX3ByZXBhcmVkX3hhY3RzIHBweAogICAgICAgIChyZWZlcmVuY2VzIDxsaW5rIGxp bmtlbmQ9ImNhdGFsb2ctcGctYXR0cmlidXRlIj48c3RydWN0bmFtZT5wZ19hdHRyaWJ1dGU8L3N0 cnVjdG5hbWU+PC9saW5rPi48c3RydWN0ZmllbGQ+YXR0bmFtZTwvc3RydWN0ZmllbGQ+KQogICAg ICAgPC9wYXJhPgogICAgICAgPHBhcmE+Ci0gICAgICAgTmFtZXMgb2YgdGFibGUgY29sdW1ucyBp bmNsdWRlZCBpbiB0aGUgcHVibGljYXRpb24uIFRoaXMgY29udGFpbnMgYWxsCi0gICAgICAgdGhl IGNvbHVtbnMgb2YgdGhlIHRhYmxlIHdoZW4gdGhlIHVzZXIgZGlkbid0IHNwZWNpZnkgdGhlIGNv bHVtbiBsaXN0Ci0gICAgICAgZm9yIHRoZSB0YWJsZS4KKyAgICAgICBOYW1lcyBvZiB0aGUgdGFi bGUgY29sdW1ucyBpbmNsdWRlZCBpbiB0aGUgcHVibGljYXRpb24sIG9yIE5VTEwgaWYKKyAgICAg ICBubyBleHBsaWNpdCBjb2x1bW4gbGlzdCB3YXMgc3BlY2lmaWVkIGZvciB0aGUgdGFibGUuICBX aGVuIE5VTEwsIGFsbAorICAgICAgIGN1cnJlbnQgYW5kIGZ1dHVyZSBjb2x1bW5zIG9mIHRoZSB0 YWJsZSBhcmUgcHVibGlzaGVkOyBuZXcgY29sdW1ucworICAgICAgIGFkZGVkIHRvIHRoZSB0YWJs ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVwbGljYXRlZC4gIFdoZW4gbm9uLU5VTEwsCisgICAg ICAgb25seSB0aGUgbGlzdGVkIGNvbHVtbnMgYXJlIHJlcGxpY2F0ZWQsIGFuZCBuZXdseSBhZGRl ZCBjb2x1bW5zIHdpbGwKKyAgICAgICBub3QgYXBwZWFyIHVudGlsIHRoZSBwdWJsaWNhdGlvbiBp cyBleHBsaWNpdGx5IGFsdGVyZWQuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+ CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwppbmRleCBjOTJmZjNmNTFjMy4uYTJm YTQ5MDZmMDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24u YworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKQEAgLTE0MzksNDkg KzE0MzksMTUgQEAgcGdfZ2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQog CQkJbnVsbHNbM10gPSB0cnVlOwogCQl9CiAKLQkJLyogU2hvdyBhbGwgY29sdW1ucyB3aGVuIHRo ZSBjb2x1bW4gbGlzdCBpcyBub3Qgc3BlY2lmaWVkLiAqLwotCQlpZiAobnVsbHNbMl0pCi0JCXsK LQkJCVJlbGF0aW9uCXJlbCA9IHRhYmxlX29wZW4ocmVsaWQsIEFjY2Vzc1NoYXJlTG9jayk7Ci0J CQlpbnQJCQluYXR0bnVtcyA9IDA7Ci0JCQlpbnQxNgkgICAqYXR0bnVtczsKLQkJCVR1cGxlRGVz YwlkZXNjID0gUmVsYXRpb25HZXREZXNjcihyZWwpOwotCQkJaW50CQkJaTsKLQotCQkJYXR0bnVt cyA9IHBhbGxvY19hcnJheShpbnQxNiwgZGVzYy0+bmF0dHMpOwotCi0JCQlmb3IgKGkgPSAwOyBp IDwgZGVzYy0+bmF0dHM7IGkrKykKLQkJCXsKLQkJCQlGb3JtX3BnX2F0dHJpYnV0ZSBhdHQgPSBU dXBsZURlc2NBdHRyKGRlc2MsIGkpOwotCi0JCQkJaWYgKGF0dC0+YXR0aXNkcm9wcGVkKQotCQkJ CQljb250aW51ZTsKLQotCQkJCWlmIChhdHQtPmF0dGdlbmVyYXRlZCkKLQkJCQl7Ci0JCQkJCS8q IFdlIG9ubHkgc3VwcG9ydCByZXBsaWNhdGlvbiBvZiBTVE9SRUQgZ2VuZXJhdGVkIGNvbHMuICov Ci0JCQkJCWlmIChhdHQtPmF0dGdlbmVyYXRlZCAhPSBBVFRSSUJVVEVfR0VORVJBVEVEX1NUT1JF RCkKLQkJCQkJCWNvbnRpbnVlOwotCi0JCQkJCS8qCi0JCQkJCSAqIFVzZXIgaGFzbid0IHJlcXVl c3RlZCB0byByZXBsaWNhdGUgU1RPUkVEIGdlbmVyYXRlZAotCQkJCQkgKiBjb2xzLgotCQkJCQkg Ki8KLQkJCQkJaWYgKHB1Yi0+cHViZ2VuY29sc190eXBlICE9IFBVQkxJU0hfR0VOQ09MU19TVE9S RUQpCi0JCQkJCQljb250aW51ZTsKLQkJCQl9Ci0KLQkJCQlhdHRudW1zW25hdHRudW1zKytdID0g YXR0LT5hdHRudW07Ci0JCQl9Ci0KLQkJCWlmIChuYXR0bnVtcyA+IDApCi0JCQl7Ci0JCQkJdmFs dWVzWzJdID0gUG9pbnRlckdldERhdHVtKGJ1aWxkaW50MnZlY3RvcihhdHRudW1zLCBuYXR0bnVt cykpOwotCQkJCW51bGxzWzJdID0gZmFsc2U7Ci0JCQl9Ci0KLQkJCXRhYmxlX2Nsb3NlKHJlbCwg QWNjZXNzU2hhcmVMb2NrKTsKLQkJfQorCQkvKgorCQkgKiBXaGVuIG5vIGNvbHVtbiBsaXN0IGlz IHNwZWNpZmllZCAocHJhdHRycyBpcyBOVUxMKSwgd2UgbGVhdmUKKwkJICogYXR0cnMgYXMgTlVM TCByYXRoZXIgdGhhbiBzeW50aGVzaXppbmcgYSBsaXN0IG9mIGFsbCBjdXJyZW50CisJCSAqIGNv bHVtbnMuICBUaGlzIGFsbG93cyBjb25zdW1lcnMgb2YgcGdfcHVibGljYXRpb25fdGFibGVzIHRv CisJCSAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gImFsbCBjb2x1bW5zIGFyZSBwdWJsaXNoZWQiIChh dHRycyBJUworCQkgKiBOVUxMIC0tIG5ldyBjb2x1bW5zIHdpbGwgYXV0b21hdGljYWxseSBiZSBy ZXBsaWNhdGVkKSBhbmQgYW4KKwkJICogZXhwbGljaXQgY29sdW1uIGxpc3QgKGF0dHJzIElTIE5P VCBOVUxMIC0tIG9ubHkgbGlzdGVkIGNvbHVtbnMKKwkJICogYXJlIHJlcGxpY2F0ZWQpLgorCQkg Ki8KIAogCQlyZXR0dXBsZSA9IGhlYXBfZm9ybV90dXBsZShmdW5jY3R4LT50dXBsZV9kZXNjLCB2 YWx1ZXMsIG51bGxzKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVz eW5jLmMKaW5kZXggZjQ5YTQ4NTJlY2IuLjVmNmQ4OTJlNTk1IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKQEAgLTc5OSwxMyArNzk5LDEwIEBAIGZldGNo X3JlbW90ZV90YWJsZV9pbmZvKGNoYXIgKm5zcG5hbWUsIGNoYXIgKnJlbG5hbWUsIExvZ2ljYWxS ZXBSZWxhdGlvbiAqbHJlbCwKIAkJICovCiAJCXJlc2V0U3RyaW5nSW5mbygmY21kKTsKIAkJYXBw ZW5kU3RyaW5nSW5mbygmY21kLAotCQkJCQkJICJTRUxFQ1QgRElTVElOQ1QiCi0JCQkJCQkgIiAg KENBU0UgV0hFTiAoYXJyYXlfbGVuZ3RoKGdwdC5hdHRycywgMSkgPSBjLnJlbG5hdHRzKSIKLQkJ CQkJCSAiICAgVEhFTiBOVUxMIEVMU0UgZ3B0LmF0dHJzIEVORCkiCisJCQkJCQkgIlNFTEVDVCBE SVNUSU5DVCBncHQuYXR0cnMiCiAJCQkJCQkgIiAgRlJPTSBwZ19wdWJsaWNhdGlvbiBwLCIKLQkJ CQkJCSAiICBMQVRFUkFMIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMocC5wdWJuYW1lKSBncHQs IgotCQkJCQkJICIgIHBnX2NsYXNzIGMiCi0JCQkJCQkgIiBXSEVSRSBncHQucmVsaWQgPSAldSBB TkQgYy5vaWQgPSBncHQucmVsaWQiCisJCQkJCQkgIiAgTEFURVJBTCBwZ19nZXRfcHVibGljYXRp b25fdGFibGVzKHAucHVibmFtZSkgZ3B0IgorCQkJCQkJICIgV0hFUkUgZ3B0LnJlbGlkID0gJXUi CiAJCQkJCQkgIiAgIEFORCBwLnB1Ym5hbWUgSU4gKCAlcyApIiwKIAkJCQkJCSBscmVsLT5yZW1v dGVpZCwKIAkJCQkJCSBwdWJfbmFtZXMtPmRhdGEpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3B1YmxpY2F0aW9uLm91dAppbmRleCBhMjIwZjQ4YjI4NS4uNGEyNWU5NjU0ZjMgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CkBAIC0yMDcyLDcgKzIwNzIsNyBA QCBDUkVBVEUgUFVCTElDQVRJT04gcHViIEZPUiBUQUJMRVMgSU4gU0NIRU1BIHNjaDIgV0lUSCAo UFVCTElTSF9WSUFfUEFSVElUSU9OX1JPTwogU0VMRUNUICogRlJPTSBwZ19wdWJsaWNhdGlvbl90 YWJsZXM7CiAgcHVibmFtZSB8IHNjaGVtYW5hbWUgfCB0YWJsZW5hbWUgIHwgYXR0bmFtZXMgfCBy b3dmaWx0ZXIgCiAtLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCi0gcHViICAgICB8IHNjaDIgICAgICAgfCB0YmwxX3BhcnQxIHwge2F9ICAg ICAgfCAKKyBwdWIgICAgIHwgc2NoMiAgICAgICB8IHRibDFfcGFydDEgfCAgICAgICAgICB8IAog KDEgcm93KQogCiBEUk9QIFBVQkxJQ0FUSU9OIHB1YjsKQEAgLTIwODEsNyArMjA4MSw3IEBAIENS RUFURSBQVUJMSUNBVElPTiBwdWIgRk9SIFRBQkxFIHNjaDIudGJsMV9wYXJ0MSBXSVRIIChQVUJM SVNIX1ZJQV9QQVJUSVRJT05fUk9PCiBTRUxFQ1QgKiBGUk9NIHBnX3B1YmxpY2F0aW9uX3RhYmxl czsKICBwdWJuYW1lIHwgc2NoZW1hbmFtZSB8IHRhYmxlbmFtZSAgfCBhdHRuYW1lcyB8IHJvd2Zp bHRlciAKIC0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KLSBwdWIgICAgIHwgc2NoMiAgICAgICB8IHRibDFfcGFydDEgfCB7YX0gICAgICB8 IAorIHB1YiAgICAgfCBzY2gyICAgICAgIHwgdGJsMV9wYXJ0MSB8ICAgICAgICAgIHwgCiAoMSBy b3cpCiAKIC0tIFRhYmxlIHB1YmxpY2F0aW9uIHRoYXQgaW5jbHVkZXMgYm90aCB0aGUgcGFyZW50 IHRhYmxlIGFuZCB0aGUgY2hpbGQgdGFibGUKQEAgLTIwODksNyArMjA4OSw3IEBAIEFMVEVSIFBV QkxJQ0FUSU9OIHB1YiBBREQgVEFCTEUgc2NoMS50YmwxOwogU0VMRUNUICogRlJPTSBwZ19wdWJs aWNhdGlvbl90YWJsZXM7CiAgcHVibmFtZSB8IHNjaGVtYW5hbWUgfCB0YWJsZW5hbWUgfCBhdHRu YW1lcyB8IHJvd2ZpbHRlciAKIC0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLQotIHB1YiAgICAgfCBzY2gxICAgICAgIHwgdGJsMSAgICAgIHwg e2F9ICAgICAgfCAKKyBwdWIgICAgIHwgc2NoMSAgICAgICB8IHRibDEgICAgICB8ICAgICAgICAg IHwgCiAoMSByb3cpCiAKIERST1AgUFVCTElDQVRJT04gcHViOwpAQCAtMjA5OCw3ICsyMDk4LDcg QEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YiBGT1IgVEFCTEVTIElOIFNDSEVNQSBzY2gyIFdJVEgg KFBVQkxJU0hfVklBX1BBUlRJVElPTl9ST08KIFNFTEVDVCAqIEZST00gcGdfcHVibGljYXRpb25f dGFibGVzOwogIHB1Ym5hbWUgfCBzY2hlbWFuYW1lIHwgdGFibGVuYW1lICB8IGF0dG5hbWVzIHwg cm93ZmlsdGVyIAogLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLQotIHB1YiAgICAgfCBzY2gyICAgICAgIHwgdGJsMV9wYXJ0MSB8IHthfSAg ICAgIHwgCisgcHViICAgICB8IHNjaDIgICAgICAgfCB0YmwxX3BhcnQxIHwgICAgICAgICAgfCAK ICgxIHJvdykKIAogRFJPUCBQVUJMSUNBVElPTiBwdWI7CkBAIC0yMTA3LDcgKzIxMDcsNyBAQCBD UkVBVEUgUFVCTElDQVRJT04gcHViIEZPUiBUQUJMRSBzY2gyLnRibDFfcGFydDEgV0lUSCAoUFVC TElTSF9WSUFfUEFSVElUSU9OX1JPTwogU0VMRUNUICogRlJPTSBwZ19wdWJsaWNhdGlvbl90YWJs ZXM7CiAgcHVibmFtZSB8IHNjaGVtYW5hbWUgfCB0YWJsZW5hbWUgIHwgYXR0bmFtZXMgfCByb3dm aWx0ZXIgCiAtLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0tCi0gcHViICAgICB8IHNjaDIgICAgICAgfCB0YmwxX3BhcnQxIHwge2F9ICAgICAg fCAKKyBwdWIgICAgIHwgc2NoMiAgICAgICB8IHRibDFfcGFydDEgfCAgICAgICAgICB8IAogKDEg cm93KQogCiAtLSBUYWJsZSBwdWJsaWNhdGlvbiB0aGF0IGluY2x1ZGVzIGJvdGggdGhlIHBhcmVu dCB0YWJsZSBhbmQgdGhlIGNoaWxkIHRhYmxlCkBAIC0yMTE1LDcgKzIxMTUsNyBAQCBBTFRFUiBQ VUJMSUNBVElPTiBwdWIgQUREIFRBQkxFIHNjaDEudGJsMTsKIFNFTEVDVCAqIEZST00gcGdfcHVi bGljYXRpb25fdGFibGVzOwogIHB1Ym5hbWUgfCBzY2hlbWFuYW1lIHwgdGFibGVuYW1lICB8IGF0 dG5hbWVzIHwgcm93ZmlsdGVyIAogLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLQotIHB1YiAgICAgfCBzY2gyICAgICAgIHwgdGJsMV9wYXJ0 MSB8IHthfSAgICAgIHwgCisgcHViICAgICB8IHNjaDIgICAgICAgfCB0YmwxX3BhcnQxIHwgICAg ICAgICAgfCAKICgxIHJvdykKIAogRFJPUCBQVUJMSUNBVElPTiBwdWI7CkBAIC0yMTMwLDcgKzIx MzAsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gcHViIEZPUiBUQUJMRVMgSU4gU0NIRU1BIHNjaDEg V0lUSCAoUFVCTElTSF9WSUFfUEFSVElUSU9OX1JPTwogU0VMRUNUICogRlJPTSBwZ19wdWJsaWNh dGlvbl90YWJsZXM7CiAgcHVibmFtZSB8IHNjaGVtYW5hbWUgfCB0YWJsZW5hbWUgfCBhdHRuYW1l cyB8IHJvd2ZpbHRlciAKIC0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLQotIHB1YiAgICAgfCBzY2gxICAgICAgIHwgdGJsMSAgICAgIHwge2F9 ICAgICAgfCAKKyBwdWIgICAgIHwgc2NoMSAgICAgICB8IHRibDEgICAgICB8ICAgICAgICAgIHwg CiAoMSByb3cpCiAKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CkBAIC0yMTM5LDYgKzIxMzks ODIgQEAgRFJPUCBUQUJMRSBzY2gxLnRibDE7CiBEUk9QIFNDSEVNQSBzY2gxIGNhc2NhZGU7CiBE Uk9QIFNDSEVNQSBzY2gyIGNhc2NhZGU7CiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tIFRlc3QgdGhhdCBwZ19wdWJsaWNhdGlvbl90 YWJsZXMgZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIHRhYmxlcyB3aXRoCistLSBhbiBleHBsaWNpdCBj b2x1bW4gbGlzdCBhbmQgdGFibGVzIHdpdGhvdXQgb25lIChhdHRuYW1lcyBzaG91bGQgYmUKKy0t IE5VTEwgd2hlbiBubyBjb2x1bW4gbGlzdCB3YXMgc3BlY2lmaWVkKS4KK0NSRUFURSBUQUJMRSBw dWJfY29sX3Rlc3QgKGlkIGludCwgbmFtZSB0ZXh0LCBzdGF0dXMgdGV4dCk7CitDUkVBVEUgUFVC TElDQVRJT04gcHViX25vY29scyBGT1IgVEFCTEUgcHViX2NvbF90ZXN0OworQ1JFQVRFIFBVQkxJ Q0FUSU9OIHB1Yl9jb2xzIEZPUiBUQUJMRSBwdWJfY29sX3Rlc3QgKGlkLCBuYW1lKTsKKy0tIFdp dGhvdXQgY29sdW1uIGxpc3Q6IGF0dG5hbWVzIHNob3VsZCBiZSBOVUxMCitTRUxFQ1QgcHVibmFt ZSwgYXR0bmFtZXMgSVMgTlVMTCBBUyBhbGxfY29sdW1ucyBGUk9NIHBnX3B1YmxpY2F0aW9uX3Rh YmxlcworICBXSEVSRSB0YWJsZW5hbWUgPSAncHViX2NvbF90ZXN0JyBPUkRFUiBCWSBwdWJuYW1l OworICBwdWJuYW1lICAgfCBhbGxfY29sdW1ucyAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t CisgcHViX2NvbHMgICB8IGYKKyBwdWJfbm9jb2xzIHwgdAorKDIgcm93cykKKworLS0gV2l0aCBj b2x1bW4gbGlzdDogYXR0bmFtZXMgc2hvdWxkIGxpc3Qgc3BlY2lmaWMgY29sdW1ucworU0VMRUNU IHB1Ym5hbWUsIGF0dG5hbWVzIEZST00gcGdfcHVibGljYXRpb25fdGFibGVzCisgIFdIRVJFIHRh YmxlbmFtZSA9ICdwdWJfY29sX3Rlc3QnIEFORCBhdHRuYW1lcyBJUyBOT1QgTlVMTCBPUkRFUiBC WSBwdWJuYW1lOworIHB1Ym5hbWUgIHwgYXR0bmFtZXMgIAorLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIHB1Yl9jb2xzIHwge2lkLG5hbWV9CisoMSByb3cpCisKK0RST1AgUFVCTElDQVRJT04gcHVi X25vY29sczsKK0RST1AgUFVCTElDQVRJT04gcHViX2NvbHM7CitEUk9QIFRBQkxFIHB1Yl9jb2xf dGVzdDsKKy0tIFRlc3QgdGhhdCBhIHRhYmxlIHdpdGggYSBkcm9wcGVkIGNvbHVtbiBzdGlsbCBz aG93cyBhdHRuYW1lcyBhcyBOVUxMCistLSB3aGVuIG5vIGV4cGxpY2l0IGNvbHVtbiBsaXN0IHdh cyBzcGVjaWZpZWQuIFRoZSBvbGQgaW1wbGVtZW50YXRpb24KKy0tIGNvbXBhcmVkIHRoZSBzeW50 aGVzaXplZCBjb2x1bW4gY291bnQgYWdhaW5zdCByZWxuYXR0cywgYnV0IHJlbG5hdHRzCistLSBp bmNsdWRlcyBkcm9wcGVkIGNvbHVtbnMsIHNvIHRoZSBoZXVyaXN0aWMgd2FzIHdyb25nIGZvciB0 aGlzIGNhc2UuCitDUkVBVEUgVEFCTEUgcHViX2Ryb3BwZWRfdGVzdCAoaWQgaW50LCBkcm9wcGVk X2NvbCB0ZXh0LCBuYW1lIHRleHQpOworQUxURVIgVEFCTEUgcHViX2Ryb3BwZWRfdGVzdCBEUk9Q IENPTFVNTiBkcm9wcGVkX2NvbDsKK0NSRUFURSBQVUJMSUNBVElPTiBwdWJfZHJvcHBlZCBGT1Ig VEFCTEUgcHViX2Ryb3BwZWRfdGVzdDsKK1NFTEVDVCBwdWJuYW1lLCBhdHRuYW1lcyBJUyBOVUxM IEFTIGFsbF9jb2x1bW5zIEZST00gcGdfcHVibGljYXRpb25fdGFibGVzCisgIFdIRVJFIHRhYmxl bmFtZSA9ICdwdWJfZHJvcHBlZF90ZXN0JzsKKyAgIHB1Ym5hbWUgICB8IGFsbF9jb2x1bW5zIAor LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcHViX2Ryb3BwZWQgfCB0CisoMSByb3cpCisK K0RST1AgUFVCTElDQVRJT04gcHViX2Ryb3BwZWQ7CitEUk9QIFRBQkxFIHB1Yl9kcm9wcGVkX3Rl c3Q7CistLSBUZXN0IHRoYXQgdHdvIHB1YmxpY2F0aW9ucyBvbiB0aGUgc2FtZSB0YWJsZSwgb25l IHdpdGhvdXQgYSBjb2x1bW4gbGlzdAorLS0gYW5kIG9uZSB3aXRoIGFuIGV4cGxpY2l0IGxpc3Qg b2YgYWxsIGNvbHVtbnMsIHByb2R1Y2UgZGlzdGluZ3Vpc2hhYmxlCistLSByb3dzIGluIHBnX3B1 YmxpY2F0aW9uX3RhYmxlcy4gT24gdGhlIHN1YnNjcmliZXIgc2lkZSB0aGlzIGRpZmZlcmVuY2UK Ky0tIHdvdWxkIG5vdyBjb3JyZWN0bHkgdHJpZ2dlciAiY2Fubm90IHVzZSBkaWZmZXJlbnQgY29s dW1uIGxpc3RzIiBkdXJpbmcKKy0tIHRhYmxlc3luYy4KK0NSRUFURSBUQUJMRSBwdWJfY29uZmxp Y3RfdGVzdCAoaWQgaW50LCBuYW1lIHRleHQpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9hbGwg Rk9SIFRBQkxFIHB1Yl9jb25mbGljdF90ZXN0OworQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9leHBs aWNpdCBGT1IgVEFCTEUgcHViX2NvbmZsaWN0X3Rlc3QgKGlkLCBuYW1lKTsKKy0tIFRoZSB0d28g cHVibGljYXRpb25zIHNob3VsZCBwcm9kdWNlIGRpZmZlcmVudCBhdHRuYW1lcyB2YWx1ZXM6Cist LSBwdWJfYWxsIC0+IE5VTEwgKGFsbCBjdXJyZW50IGFuZCBmdXR1cmUgY29sdW1ucykKKy0tIHB1 Yl9leHBsaWNpdCAtPiB7aWQsbmFtZX0gKG9ubHkgdGhlc2UgY29sdW1ucykKK1NFTEVDVCBwdWJu YW1lLCBhdHRuYW1lcywgYXR0bmFtZXMgSVMgTlVMTCBBUyBpc19hbGxfY29sdW1ucworICBGUk9N IHBnX3B1YmxpY2F0aW9uX3RhYmxlcworICBXSEVSRSB0YWJsZW5hbWUgPSAncHViX2NvbmZsaWN0 X3Rlc3QnIE9SREVSIEJZIHB1Ym5hbWU7CisgICBwdWJuYW1lICAgIHwgYXR0bmFtZXMgIHwgaXNf YWxsX2NvbHVtbnMgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t CisgcHViX2FsbCAgICAgIHwgICAgICAgICAgIHwgdAorIHB1Yl9leHBsaWNpdCB8IHtpZCxuYW1l fSB8IGYKKygyIHJvd3MpCisKKy0tIENvbmZpcm0gdGhleSBhcmUgRElTVElOQ1QgKDIgcm93cywg bm90IDEpLCB3aGljaCBpcyB3aGF0IGNhdXNlcyB0aGUKKy0tIHN1YnNjcmliZXItc2lkZSBjb25m bGljdCBjaGVjayB0byBmaXJlLgorU0VMRUNUIENPVU5UKERJU1RJTkNUIGF0dG5hbWVzIElTIE5V TEwpIEFTIGRpc3RpbmN0X2F0dG5hbWVzX251bGxhYmlsaXR5CisgIEZST00gcGdfcHVibGljYXRp b25fdGFibGVzCisgIFdIRVJFIHRhYmxlbmFtZSA9ICdwdWJfY29uZmxpY3RfdGVzdCc7CisgZGlz dGluY3RfYXR0bmFtZXNfbnVsbGFiaWxpdHkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKygxIHJvdykKKworRFJPUCBQVUJM SUNBVElPTiBwdWJfYWxsOworRFJPUCBQVUJMSUNBVElPTiBwdWJfZXhwbGljaXQ7CitEUk9QIFRB QkxFIHB1Yl9jb25mbGljdF90ZXN0OworLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBUZXN0IHRoZSAncHVibGlzaF9nZW5lcmF0ZWRf Y29sdW1ucycgcGFyYW1ldGVyIHdpdGggdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAtLSAnc3RvcmVk JywgJ25vbmUnLgogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcHVibGljYXRpb24uc3FsCmluZGV4IDIyZTBhMzBiNWM3Li5iODljZDQxNmIxNyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbApAQCAtMTMyNyw2ICsxMzI3LDY1IEBAIERS T1AgU0NIRU1BIHNjaDEgY2FzY2FkZTsKIERST1AgU0NIRU1BIHNjaDIgY2FzY2FkZTsKIC0tID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCist LSBUZXN0IHRoYXQgcGdfcHVibGljYXRpb25fdGFibGVzIGRpc3Rpbmd1aXNoZXMgYmV0d2VlbiB0 YWJsZXMgd2l0aAorLS0gYW4gZXhwbGljaXQgY29sdW1uIGxpc3QgYW5kIHRhYmxlcyB3aXRob3V0 IG9uZSAoYXR0bmFtZXMgc2hvdWxkIGJlCistLSBOVUxMIHdoZW4gbm8gY29sdW1uIGxpc3Qgd2Fz IHNwZWNpZmllZCkuCitDUkVBVEUgVEFCTEUgcHViX2NvbF90ZXN0IChpZCBpbnQsIG5hbWUgdGV4 dCwgc3RhdHVzIHRleHQpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl9ub2NvbHMgRk9SIFRBQkxF IHB1Yl9jb2xfdGVzdDsKK0NSRUFURSBQVUJMSUNBVElPTiBwdWJfY29scyBGT1IgVEFCTEUgcHVi X2NvbF90ZXN0IChpZCwgbmFtZSk7CisKKy0tIFdpdGhvdXQgY29sdW1uIGxpc3Q6IGF0dG5hbWVz IHNob3VsZCBiZSBOVUxMCitTRUxFQ1QgcHVibmFtZSwgYXR0bmFtZXMgSVMgTlVMTCBBUyBhbGxf Y29sdW1ucyBGUk9NIHBnX3B1YmxpY2F0aW9uX3RhYmxlcworICBXSEVSRSB0YWJsZW5hbWUgPSAn cHViX2NvbF90ZXN0JyBPUkRFUiBCWSBwdWJuYW1lOworCistLSBXaXRoIGNvbHVtbiBsaXN0OiBh dHRuYW1lcyBzaG91bGQgbGlzdCBzcGVjaWZpYyBjb2x1bW5zCitTRUxFQ1QgcHVibmFtZSwgYXR0 bmFtZXMgRlJPTSBwZ19wdWJsaWNhdGlvbl90YWJsZXMKKyAgV0hFUkUgdGFibGVuYW1lID0gJ3B1 Yl9jb2xfdGVzdCcgQU5EIGF0dG5hbWVzIElTIE5PVCBOVUxMIE9SREVSIEJZIHB1Ym5hbWU7CisK K0RST1AgUFVCTElDQVRJT04gcHViX25vY29sczsKK0RST1AgUFVCTElDQVRJT04gcHViX2NvbHM7 CitEUk9QIFRBQkxFIHB1Yl9jb2xfdGVzdDsKKworLS0gVGVzdCB0aGF0IGEgdGFibGUgd2l0aCBh IGRyb3BwZWQgY29sdW1uIHN0aWxsIHNob3dzIGF0dG5hbWVzIGFzIE5VTEwKKy0tIHdoZW4gbm8g ZXhwbGljaXQgY29sdW1uIGxpc3Qgd2FzIHNwZWNpZmllZC4gIFRoZSBvbGQgaW1wbGVtZW50YXRp b24KKy0tIGNvbXBhcmVkIHRoZSBzeW50aGVzaXplZCBjb2x1bW4gY291bnQgYWdhaW5zdCByZWxu YXR0cywgYnV0IHJlbG5hdHRzCistLSBpbmNsdWRlcyBkcm9wcGVkIGNvbHVtbnMsIHNvIHRoZSBo ZXVyaXN0aWMgd2FzIHdyb25nIGZvciB0aGlzIGNhc2UuCitDUkVBVEUgVEFCTEUgcHViX2Ryb3Bw ZWRfdGVzdCAoaWQgaW50LCBkcm9wcGVkX2NvbCB0ZXh0LCBuYW1lIHRleHQpOworQUxURVIgVEFC TEUgcHViX2Ryb3BwZWRfdGVzdCBEUk9QIENPTFVNTiBkcm9wcGVkX2NvbDsKK0NSRUFURSBQVUJM SUNBVElPTiBwdWJfZHJvcHBlZCBGT1IgVEFCTEUgcHViX2Ryb3BwZWRfdGVzdDsKKworU0VMRUNU IHB1Ym5hbWUsIGF0dG5hbWVzIElTIE5VTEwgQVMgYWxsX2NvbHVtbnMgRlJPTSBwZ19wdWJsaWNh dGlvbl90YWJsZXMKKyAgV0hFUkUgdGFibGVuYW1lID0gJ3B1Yl9kcm9wcGVkX3Rlc3QnOworCitE Uk9QIFBVQkxJQ0FUSU9OIHB1Yl9kcm9wcGVkOworRFJPUCBUQUJMRSBwdWJfZHJvcHBlZF90ZXN0 OworCistLSBUZXN0IHRoYXQgdHdvIHB1YmxpY2F0aW9ucyBvbiB0aGUgc2FtZSB0YWJsZSwgb25l IHdpdGhvdXQgYSBjb2x1bW4gbGlzdAorLS0gYW5kIG9uZSB3aXRoIGFuIGV4cGxpY2l0IGxpc3Qg b2YgYWxsIGNvbHVtbnMsIHByb2R1Y2UgZGlzdGluZ3Vpc2hhYmxlCistLSByb3dzIGluIHBnX3B1 YmxpY2F0aW9uX3RhYmxlcy4gT24gdGhlIHN1YnNjcmliZXIgc2lkZSB0aGlzIGRpZmZlcmVuY2Ug d291bGQKKy0tIG5vdyBjb3JyZWN0bHkgdHJpZ2dlciAiY2Fubm90IHVzZSBkaWZmZXJlbnQgY29s dW1uIGxpc3RzIiBkdXJpbmcgdGFibGVzeW5jLgorQ1JFQVRFIFRBQkxFIHB1Yl9jb25mbGljdF90 ZXN0IChpZCBpbnQsIG5hbWUgdGV4dCk7CitDUkVBVEUgUFVCTElDQVRJT04gcHViX2FsbCBGT1Ig VEFCTEUgcHViX2NvbmZsaWN0X3Rlc3Q7CitDUkVBVEUgUFVCTElDQVRJT04gcHViX2V4cGxpY2l0 IEZPUiBUQUJMRSBwdWJfY29uZmxpY3RfdGVzdCAoaWQsIG5hbWUpOworCistLSBUaGUgdHdvIHB1 YmxpY2F0aW9ucyBzaG91bGQgcHJvZHVjZSBkaWZmZXJlbnQgYXR0bmFtZXMgdmFsdWVzOgorLS0g cHViX2FsbCAtPiBOVUxMIChhbGwgY3VycmVudCBhbmQgZnV0dXJlIGNvbHVtbnMpCistLSBwdWJf ZXhwbGljaXQgLT4ge2lkLG5hbWV9IChvbmx5IHRoZXNlIGNvbHVtbnMpCitTRUxFQ1QgcHVibmFt ZSwgYXR0bmFtZXMsIGF0dG5hbWVzIElTIE5VTEwgQVMgaXNfYWxsX2NvbHVtbnMKKyAgRlJPTSBw Z19wdWJsaWNhdGlvbl90YWJsZXMKKyAgV0hFUkUgdGFibGVuYW1lID0gJ3B1Yl9jb25mbGljdF90 ZXN0JyBPUkRFUiBCWSBwdWJuYW1lOworCistLSBDb25maXJtIHRoZXkgYXJlIERJU1RJTkNUICgy IHJvd3MsIG5vdCAxKSwgd2hpY2ggaXMgd2hhdCBjYXVzZXMgdGhlCistLSBzdWJzY3JpYmVyLXNp ZGUgY29uZmxpY3QgY2hlY2sgdG8gZmlyZS4KK1NFTEVDVCBDT1VOVChESVNUSU5DVCBhdHRuYW1l cyBJUyBOVUxMKSBBUyBkaXN0aW5jdF9hdHRuYW1lc19udWxsYWJpbGl0eQorICBGUk9NIHBnX3B1 YmxpY2F0aW9uX3RhYmxlcworICBXSEVSRSB0YWJsZW5hbWUgPSAncHViX2NvbmZsaWN0X3Rlc3Qn OworCitEUk9QIFBVQkxJQ0FUSU9OIHB1Yl9hbGw7CitEUk9QIFBVQkxJQ0FUSU9OIHB1Yl9leHBs aWNpdDsKK0RST1AgVEFCTEUgcHViX2NvbmZsaWN0X3Rlc3Q7CistLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwogLS0gVGVzdCB0aGUgJ3B1 Ymxpc2hfZ2VuZXJhdGVkX2NvbHVtbnMnIHBhcmFtZXRlciB3aXRoIHRoZSBmb2xsb3dpbmcgdmFs dWVzOgogLS0gJ3N0b3JlZCcsICdub25lJy4KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VS Uk9SJzsKLS0gCjIuNTAuMSAoQXBwbGUgR2l0LTE1NSkKCg== --000000000000767b5c064e06dd24--