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 1w1kXY-000ZZK-1b for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 12:25:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1kXX-004Qfe-1A for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 12:25:52 +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 1w1kXW-004QfV-2B for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 12:25:51 +0000 Received: from mail-yw1-x112f.google.com ([2607:f8b0:4864:20::112f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1kXU-00000000F5z-3ABh for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 12:25:50 +0000 Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-7986d231b3cso64623127b3.1 for ; Sun, 15 Mar 2026 05:25:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773577547; cv=none; d=google.com; s=arc-20240605; b=JrGRFDFe9NyeZcXHr8iSvfVdrI0j6LBs4tp3loQFAGw1vtyY5f8iTZ9vFeVfQPBy2e xTTR3tQKfrQ05/35RvYfTgPWZ0UTNOqhC3O01NZ4/fvzcthRMN4f0io4cn9xiz4B94Jq Wo+ecgApEuI/mhhsFHR5xlJuWhNViBNERuSm5WZQ3/Gj9rFv8uFpm2+dd99t2REXcAyJ Dp2VrOW5Ay6OwxW4C2OsYtyyI5+bV3K7Qn8ynqVinNNoQCMsJByf0Dn+GpZdEote1Z5i OJc0UVyoXVtBvV53OjYO8Csyvr7EmhpRRPXV+e0lXsqcnWh/8mjUb9mxnSe2f11VrvzC mv/A== 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=1iFYtcvLAPh4yIwWmSIl7zc4HMHueYo/pIybcNWhjrc=; fh=5TdJAdxlo3n19fycffNh2enZdJfOlpH/AiFMHPwsaM8=; b=Vu1EId6w6StciilLcaPi0L/kGjIjF8/bBQDP5crYZJEYVWMCRmPDES9iUFQV1PmyNq 6nZEKqP0hrrjYmTOjn0kwoWGi1NBLiUi8P8F3kmtygnarsrkNeiQwb0bNMps6G1DEYEJ 4rMS6mU+Itl4Twahy+tjPlVrKeZKa/qSsCdVgty6HTvd3WyC48mPnUXDPyliZwLC8ewg msZm2DBoxyJbmO7nl9Qw5RuNNFEitidneFrkcjc+tgyDrCnMYci/+AtYyXB0uZ6/s97k vRQjLLqIrbxGz3dP7EkvZsD6cRrhlLCzWN+uiKVQUshiyvCwUwqSz3B3ROh/BeBTR09O Hknw==; 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=20230601; t=1773577547; x=1774182347; 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=1iFYtcvLAPh4yIwWmSIl7zc4HMHueYo/pIybcNWhjrc=; b=dFo1eJVmNkn41RAICl3vWFKE2n+yLgDytwCUrLElhz3vyFxMirLJbjLmG8UdcOdB0L dVDUF7xtFiCS/vcd0vpPzHdP4ifVDynyI+etTGJxyYwWfWeVaht5JXLVGqhZhkRDav8Z Tzl+xUwDTXlnNejNQ1cY64cuB0NHYlrCk17hxveE0uoNU1k7uzIYca0UgChB6SVwS9W0 00N0AvDCpUWYJnX4lZqbonOS0M5509n7gNSnvE021I5A+ng1F8kOtyWvRd0gdF1AH2T1 lQD5WPfo1GgDxdW5IgZNqfols34X5kpFRwvTG0EumUkedsblTUV5lpsBlQplTd1s96Qu CHbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773577547; x=1774182347; 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=1iFYtcvLAPh4yIwWmSIl7zc4HMHueYo/pIybcNWhjrc=; b=ILDJwDGyk/IyqXFtw1ceOzCT2mFMWzWeypkHi01EY0vBrTqqT3PA9iQnYq1L0y1BF5 i+LbLEAnyy4CoJVzkLKtS2JxhgK/TwIOu9QWJUB3E7GuXbltWL/urAp8a3F8TvfpK3DS KFtrIO7XwDd5sEXyRzIpissb9KH5sZCry0Z8ErTwl/4/pZjOP++qMFgcN7ma/fFCUMzU GqnIIyEPvnsaKUKfhya8f+i/h0K+QKniyLUDtXhUIqLFKwaQL+74DMZCKugNkMgCGiF9 8K633nw309UtQn/1OqSj7iJ3OCdruJrWps4kRPXli2V9KvREwH0VCJmczC8qOuTBUERm sylg== X-Forwarded-Encrypted: i=1; AJvYcCWZbXiv6ukDa4Bxk1XMkFYsMg2aDyQPLej9r4jp9HYbwQ6y+/Q5lAV0QNp9VO3aXoW+or6lQx83vWpVaEsh@lists.postgresql.org X-Gm-Message-State: AOJu0Yy29lKoJ8B9d3iDDonxbEagq68iKAIuUfCHRpZFnNvOpRAsUTq+ pBJi/RgL7LcLAuTanEsDCEW5i/QTNaqppdtavEfGNJ05tW4BFt/X+jIfHFhufyCYDJT4X1V74K+ wM2w+1a+0esAtQhUcvh+EU/ei2k8oANA= X-Gm-Gg: ATEYQzysdrkQYeXiPYbgXP9fTix3DmUrpLm09ApSG0vm46TNL0kQLenDVpguPXOzWLp 2WT03jIFdypgfDJXC0zNTDjtuM6Q9pRZHRBteqWrtQZUnkBS+3kqkjQx4ky5sNSk6RYlpFKF8gI 8PXa13DHZ2feftLk4OClfUMOdBk+gtc5doy9Rb/2J0j4KeYveseQibynEs7izM7jvn41JqMHCin QPADTPMERZERykM2OBRPnTWQnmumOyaJS6ObibvMSd8RypSJHIotC/z4sUMKWySmpKH2etVhrZT mQkfsCW+R0yyWwZrLS1lSozWJdGgz1W16idEIxnJNw== X-Received: by 2002:a05:690c:d8d:b0:799:1a4d:82c0 with SMTP id 00721157ae682-79a1bc04251mr93409867b3.12.1773577547401; Sun, 15 Mar 2026 05:25:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Sun, 15 Mar 2026 17:55:34 +0530 X-Gm-Features: AaiRm539MyWkmALYf7pCAQMseO8kIGY6B6wP39g390B8XgMPrEhT2FPWp1H1XKg Message-ID: Subject: Re: Skipping schema changes in publication To: Amit Kapila Cc: Masahiko Sawada , Peter Smith , "Hayato Kuroda (Fujitsu)" , shveta malik , Shlok Kyal , Nisha Moond , Ashutosh Sharma , "David G. Johnston" , Dilip Kumar , "Zhijie Hou (Fujitsu)" , YeXiu <1518981153@qq.com>, Ian Lawrence Barwick , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000b2267f064d0f333a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000b2267f064d0f333a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 14 Mar 2026 at 15:05, Amit Kapila wrote: > > On Fri, Mar 13, 2026 at 11:51=E2=80=AFPM Masahiko Sawada wrote: > > > > On Fri, Mar 13, 2026 at 2:51=E2=80=AFAM Amit Kapila wrote: > > > > > > On Fri, Mar 13, 2026 at 8:55=E2=80=AFAM Peter Smith wrote: > > > > > > > > Hou-San (off-list) gave an interesting example of how it might look > > > > when the example is combined with the hypothetical future ability t= o > > > > exclude all schema tables from a "FOR ALL TABLES" > > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE t1, t2, TABLES = IN > > > > SCHEMA s1); > > > > > > > > > > So, if we follow this, in future, the syntax would look like: > > > Create publication pub1 FOR ALL TABLES EXCEPT (TABLE t1, t2, TABLES I= N > > > SCHEMA s1, s2), ALL SEQUENCES EXCEPT (SEQUENCE s1); > > > > > > I think if we use the above syntax then one can also argue that why > > > not use FOR ALL (TABLES, SEQUENCES) instead of ALL TABLES, ALL > > > SEQUENCES. > > > > The same is true for the syntaxes of TABLE(t1, t2) and SCHEMA(s1, s2), > > no? If we allow grouping the tables and the schemas by TABLE and > > SCHEMA keywords respectively in exclusion lists, one could argue why > > we don't allow it for the inclusion list. > > > > > > > > Instead the current command would like: > > > Create publication pub1 FOR ALL TABLES EXCEPT TABLE (t1, t2), EXCEPT > > > TABLES IN SCHEMA (s1, s2), ALL SEQUENCES EXCEPT SEQUENCE (seq1, seq2)= ; > > > > > > Though it is slightly lengthy it makes the syntax local such that the > > > meaning of a clause is determined by what is inside it, not by > > > something that appears ten words later. > > > > While it helps the syntax locality, I'm concerned that it could make > > the context of the EXCEPT clause ambiguous. For example, IIUC the > > above syntax rule would allow us to write: > > > > CREATE PUBLICATION pub1 FOR ALL TABLES EXCEPT TABLES IN SCHEMA (s1), > > EXCEPT TABLE (t1); > > > > Regarding the second EXCEPT clause, while one might think it excludes > > t1 from ALL TABLES, one might think it excludes t1 from the first > > EXCLUDE clause (i.e., the publication actually includes t1 in the > > publication). > > > > According to me, the comma between EXCEPT clauses breaks such a chain > of thought but others may think differently. The docs can clarify such > a confusion if any but if multiple people interpret it the way you > think, I am fine to go with the direction you are proposing. I am > slightly worried that both syntaxes have some pros and cons, so even > if we change to what you are suggesting, one can argue to go back to > previous syntax as that also has some merits. So, I feel we can > complete the pending patch [1] and try to get the opinion of some > other people unless changing the code to support another alternative > is difficult. +1 to proceed with completing the pending work. I implemented the suggested new syntax, and it only requires a few lines of code changes. I evaluated the change to ensure there is no additional complexity, and it appears straightforward. We can switch to the new syntax once we gather a few more opinions and finalize it. The attached 0002 patch includes the corresponding changes. Regards, Vignesh --000000000000b2267f064d0f333a Content-Type: application/octet-stream; name="v63-0001-Add-support-for-EXCEPT-TABLE-in-ALTER-PUBLICATIO.patch" Content-Disposition: attachment; filename="v63-0001-Add-support-for-EXCEPT-TABLE-in-ALTER-PUBLICATIO.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrq3wo10 RnJvbSA1NmUzZmMyMGYxMTYzODNmNjk5OGY4MTZkYmU3MTNiZjFjZDdjODUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgNCBNYXIgMjAyNiAxNjoyODozMiArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjYzIDEvMl0g QWRkIHN1cHBvcnQgZm9yIEVYQ0VQVCBUQUJMRSBpbiBBTFRFUiBQVUJMSUNBVElPTi4KCkZvbGxv d2luZyBjb21taXQgZmQzNjYwNjVlMCwgd2hpY2ggYWRkZWQgRVhDRVBUIFRBQkxFIHN1cHBvcnQg dG8KQ1JFQVRFIFBVQkxJQ0FUSU9OLCB0aGlzIGNvbW1pdCBleHRlbmRzIEFMVEVSIFBVQkxJQ0FU SU9OIHRvIGFsbG93Cm1vZGlmeWluZyB0aGUgZXhjbHVzaW9uIGxpc3QuCgpOZXcgU3ludGF4OgpB TFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGFibGVf bGlzdCkKQUxURVIgUFVCTElDQVRJT04gbmFtZSBTRVQgQUxMIFRBQkxFUwoKVGhlIGZpcnN0IGZv cm0gcmVwbGFjZXMgdGhlIGN1cnJlbnQgRVhDRVBUIFRBQkxFIGxpc3Qgd2l0aCB0aGUgc3BlY2lm aWVkCnRhYmxlcy4gVGhlIHNlY29uZCBmb3JtIGNsZWFycyB0aGUgZXhpc3RpbmcgZXhjZXB0IHRh YmxlIGxpc3QuICBMaWtlIHRoZQpjcmVhdGlvbiBzeW50YXgsIG9ubHkgcm9vdCBwYXJ0aXRpb25l ZCB0YWJsZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUKZXhjbHVzaW9uIGxpc3QuCgpBdXRob3I6 IHZpZ25lc2ggQyA8dmlnbmVzaDIxQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IHNodmV0YSBtYWxp ayA8c2h2ZXRhLm1hbGlrQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFtaXQgS2FwaWxhIDxhbWl0 LmthcGlsYTE2QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IE5pc2hhIE1vb25kIDxuaXNoYS5tb29u ZDQxMkBnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FMRGFObTM9 SnJ1Y2poaWl3c1lRdzUtUEd0QkhGT05hNkY3aGhXQ1hNc0d2aD10YW1BQG1haWwuZ21haWwuY29t Ci0tLQogZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgfCA0NSArKysr KysrKysrKysrKysrKy0tLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMg ICAgICB8IDEwICsrKy0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYyAg ICB8IDQyICsrKysrKysrKysrKysrKy0tLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYyAgICAgICAgICB8ICAzICstCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAg ICAgICAgICB8IDE2ICsrKysrKysrCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAg ICAgICAgICB8IDEwICsrKystCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgg ICAgICB8ICAzICstCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICB8 ICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0IHwgNDcgKysr KysrKysrKysrKysrKysrKysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNx bCAgICAgIHwgMjggKysrKysrKysrKysrKy0KIHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzN19l eGNlcHQucGwgICAgIHwgMzYgKysrKysrKysrKysrKysrKy0KIDExIGZpbGVzIGNoYW5nZWQsIDIx MiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1 YmxpY2F0aW9uLnNnbWwKaW5kZXggMDI4NzcwZjIxNDkuLmM1ZTNkZDNiZTc3IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sCkBAIC0yMiw2ICsyMiw3IEBAIFBvc3RncmVT UUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KIEFMVEVSIFBV QkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT4gQUREIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9vYmplY3Q8 L3JlcGxhY2VhYmxlPiBbLCAuLi5dCitBTFRFUiBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFNFVCBBTEwgVEFCTEVTIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9leGNlcHRfdGFibGVzPC9yZXBsYWNl YWJsZT4KIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4gU0VUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJs aWNhdGlvbl9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi5dCiBBTFRFUiBQVUJMSUNBVElPTiA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IERST1AgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX2Ryb3Bfb2JqZWN0PC9yZXBs YWNlYWJsZT4gWywgLi4uXQogQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBTRVQgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cHVibGljYXRpb25fcGFyYW1ldGVyPC9yZXBsYWNlYWJsZT4gWz0gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4uLiBdICkKQEAg LTMzLDYgKzM0LDEwIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgICAgVEFCTEUgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX2FuZF9jb2x1bW5zPC9yZXBsYWNlYWJsZT4g WywgLi4uIF0KICAgICBUQUJMRVMgSU4gU0NIRU1BIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnNjaGVtYV9uYW1lPC9yZXBsYWNlYWJsZT4gfCBDVVJSRU5UX1NDSEVNQSB9IFssIC4u LiBdCiAKKzxwaHJhc2U+d2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1Ymxp Y2F0aW9uX2V4Y2VwdF90YWJsZXM8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KKworICAgIFsg RVhDRVBUIFRBQkxFICggWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRh YmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KKwogPHBocmFzZT5hbmQgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX2Ryb3Bfb2JqZWN0PC9yZXBsYWNl YWJsZT4gaXMgb25lIG9mOjwvcGhyYXNlPgogCiAgICAgVEFCTEUgWyBPTkxZIF0gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbLCAu Li4gXQpAQCAtNTMsMTQgKzU4LDIyIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgIDwvcGFy YT4KIAogICA8cGFyYT4KLSAgIFRoZSBmaXJzdCB0aHJlZSB2YXJpYW50cyBjaGFuZ2Ugd2hpY2gg dGFibGVzL3NjaGVtYXMgYXJlIHBhcnQgb2YgdGhlCi0gICBwdWJsaWNhdGlvbi4gIFRoZSA8bGl0 ZXJhbD5TRVQ8L2xpdGVyYWw+IGNsYXVzZSB3aWxsIHJlcGxhY2UgdGhlIGxpc3Qgb2YKLSAgIHRh Ymxlcy9zY2hlbWFzIGluIHRoZSBwdWJsaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgbGlzdDsg dGhlIGV4aXN0aW5nCi0gICB0YWJsZXMvc2NoZW1hcyB0aGF0IHdlcmUgcHJlc2VudCBpbiB0aGUg cHVibGljYXRpb24gd2lsbCBiZSByZW1vdmVkLiAgVGhlCisgICBUaGUgZmlyc3QgZm91ciB2YXJp YW50cyBtb2RpZnkgd2hpY2ggdGFibGVzL3NjaGVtYXMgYXJlIGluY2x1ZGVkIGluIHRoZQorICAg cHVibGljYXRpb24sIG9yIHdoaWNoIHRhYmxlcyBhcmUgZXhjbHVkZWQgZnJvbSBpdC4gIFRoZQor ICAgPGxpdGVyYWw+U0VUIEFMTCBUQUJMRVM8L2xpdGVyYWw+IGNsYXVzZSBpcyB1c2VkIHRvIHVw ZGF0ZSB0aGUKKyAgIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4gbGlzdCBvZiBhIDxs aXRlcmFsPkZPUiBBTEwgVEFCTEVTPC9saXRlcmFsPgorICAgcHVibGljYXRpb24uICBJZiA8bGl0 ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+IGlzIHNwZWNpZmllZCB3aXRoIGEgbGlzdCBvZgor ICAgdGFibGVzLCB0aGUgZXhpc3RpbmcgZXhjZXB0IHRhYmxlIGxpc3QgaXMgcmVwbGFjZWQgd2l0 aCB0aGUgc3BlY2lmaWVkIHRhYmxlcy4KKyAgIElmIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0 ZXJhbD4gaXMgb21pdHRlZCwgdGhlIGV4aXN0aW5nIGV4Y2VwdCB0YWJsZQorICAgbGlzdCBpcyBj bGVhcmVkLiBUaGUgPGxpdGVyYWw+U0VUPC9saXRlcmFsPiBjbGF1c2UsIHdoZW4gdXNlZCB3aXRo IGEKKyAgIHB1YmxpY2F0aW9uIGRlZmluZWQgd2l0aCA8bGl0ZXJhbD5GT1IgVEFCTEU8L2xpdGVy YWw+IG9yCisgICA8bGl0ZXJhbD5GT1IgVEFCTEVTIElOIFNDSEVNQTwvbGl0ZXJhbD4sIHJlcGxh Y2VzIHRoZSBsaXN0IG9mIHRhYmxlcy9zY2hlbWFzCisgICBpbiB0aGUgcHVibGljYXRpb24gd2l0 aCB0aGUgc3BlY2lmaWVkIGxpc3Q7IHRoZSBleGlzdGluZyB0YWJsZXMgb3Igc2NoZW1hcworICAg dGhhdCB3ZXJlIHByZXNlbnQgaW4gdGhlIHB1YmxpY2F0aW9uIHdpbGwgYmUgcmVtb3ZlZC4gIFRo ZQogICAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+RFJPUDwvbGl0ZXJhbD4g Y2xhdXNlcyB3aWxsIGFkZCBhbmQKICAgIHJlbW92ZSBvbmUgb3IgbW9yZSB0YWJsZXMvc2NoZW1h cyBmcm9tIHRoZSBwdWJsaWNhdGlvbi4gIE5vdGUgdGhhdCBhZGRpbmcKLSAgIHRhYmxlcy9zY2hl bWFzIHRvIGEgcHVibGljYXRpb24gdGhhdCBpcyBhbHJlYWR5IHN1YnNjcmliZWQgdG8gd2lsbCBy ZXF1aXJlIGFuCi0gICA8bGluayBsaW5rZW5kPSJzcWwtYWx0ZXJzdWJzY3JpcHRpb24tcGFyYW1z LXJlZnJlc2gtcHVibGljYXRpb24iPgorICAgdGFibGVzL2V4Y2VwdCB0YWJsZXMvc2NoZW1hcyB0 byBhIHB1YmxpY2F0aW9uIHRoYXQgaXMgYWxyZWFkeSBzdWJzY3JpYmVkIHRvCisgICB3aWxsIHJl cXVpcmUgYW4gPGxpbmsgbGlua2VuZD0ic3FsLWFsdGVyc3Vic2NyaXB0aW9uLXBhcmFtcy1yZWZy ZXNoLXB1YmxpY2F0aW9uIj4KICAgIDxsaXRlcmFsPkFMVEVSIFNVQlNDUklQVElPTiAuLi4gUkVG UkVTSCBQVUJMSUNBVElPTjwvbGl0ZXJhbD48L2xpbms+IGFjdGlvbiBvbiB0aGUKICAgIHN1YnNj cmliaW5nIHNpZGUgaW4gb3JkZXIgdG8gYmVjb21lIGVmZmVjdGl2ZS4gTm90ZSBhbHNvIHRoYXQK ICAgIDxsaXRlcmFsPkRST1AgVEFCTEVTIElOIFNDSEVNQTwvbGl0ZXJhbD4gd2lsbCBub3QgZHJv cCBhbnkgc2NoZW1hIHRhYmxlcwpAQCAtNzAsNyArODMsNyBAQCBBTFRFUiBQVUJMSUNBVElPTiA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBU TyA8cgogICA8L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBUaGUgZm91cnRoIHZhcmlhbnQgb2YgdGhp cyBjb21tYW5kIGxpc3RlZCBpbiB0aGUgc3lub3BzaXMgY2FuIGNoYW5nZQorICAgVGhlIGZpZnRo IHZhcmlhbnQgb2YgdGhpcyBjb21tYW5kIGxpc3RlZCBpbiB0aGUgc3lub3BzaXMgY2FuIGNoYW5n ZQogICAgYWxsIG9mIHRoZSBwdWJsaWNhdGlvbiBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbgogICAg PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uIi8+LiAgUHJvcGVydGllcyBub3Qg bWVudGlvbmVkIGluIHRoZQogICAgY29tbWFuZCByZXRhaW4gdGhlaXIgcHJldmlvdXMgc2V0dGlu Z3MuCkBAIC04Myw4ICs5Niw5IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgIDxwYXJhPgog ICAgWW91IG11c3Qgb3duIHRoZSBwdWJsaWNhdGlvbiB0byB1c2UgPGNvbW1hbmQ+QUxURVIgUFVC TElDQVRJT048L2NvbW1hbmQ+LgogICAgQWRkaW5nIGEgdGFibGUgdG8gYSBwdWJsaWNhdGlvbiBh ZGRpdGlvbmFsbHkgcmVxdWlyZXMgb3duaW5nIHRoYXQgdGFibGUuCi0gICBUaGUgPGxpdGVyYWw+ QUREIFRBQkxFUyBJTiBTQ0hFTUE8L2xpdGVyYWw+IGFuZAotICAgPGxpdGVyYWw+U0VUIFRBQkxF UyBJTiBTQ0hFTUE8L2xpdGVyYWw+IHRvIGEgcHVibGljYXRpb24gcmVxdWlyZXMgdGhlCisgICBU aGUgPGxpdGVyYWw+QUREIFRBQkxFUyBJTiBTQ0hFTUE8L2xpdGVyYWw+LAorICAgPGxpdGVyYWw+ U0VUIFRBQkxFUyBJTiBTQ0hFTUE8L2xpdGVyYWw+LCBhbmQKKyAgIDxsaXRlcmFsPlNFVCBBTEwg VEFCTEVTPC9saXRlcmFsPiB0byBhIHB1YmxpY2F0aW9uIHJlcXVpcmVzIHRoZQogICAgaW52b2tp bmcgdXNlciB0byBiZSBhIHN1cGVydXNlci4KICAgIFRvIGFsdGVyIHRoZSBvd25lciwgeW91IG11 c3QgYmUgYWJsZSB0byA8bGl0ZXJhbD5TRVQgUk9MRTwvbGl0ZXJhbD4gdG8gdGhlCiAgICBuZXcg b3duaW5nIHJvbGUsIGFuZCB0aGF0IHJvbGUgbXVzdCBoYXZlIDxsaXRlcmFsPkNSRUFURTwvbGl0 ZXJhbD4KQEAgLTIyMiw2ICsyMzYsMTkgQEAgQUxURVIgUFVCTElDQVRJT04gbXlwdWJsaWNhdGlv biBBREQgVEFCTEUgdXNlcnMgKHVzZXJfaWQsIGZpcnN0bmFtZSksIGRlcGFydG1lbnQKICAgIENo YW5nZSB0aGUgc2V0IG9mIGNvbHVtbnMgcHVibGlzaGVkIGZvciBhIHRhYmxlOgogPHByb2dyYW1s aXN0aW5nPgogQUxURVIgUFVCTElDQVRJT04gbXlwdWJsaWNhdGlvbiBTRVQgVEFCTEUgdXNlcnMg KHVzZXJfaWQsIGZpcnN0bmFtZSwgbGFzdG5hbWUpLCBUQUJMRSBkZXBhcnRtZW50czsKKzwvcHJv Z3JhbWxpc3Rpbmc+PC9wYXJhPgorCisgIDxwYXJhPgorICAgUmVwbGFjZSB0aGUgcHVibGljYXRp b24ncyBFWENFUFQgdGFibGUgbGlzdDoKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVSIFBVQkxJQ0FU SU9OIG15cHVibGljYXRpb24gU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1c2VycywgZGVw YXJ0bWVudHMpOworPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CisKKyAgPHBhcmE+CisgICBDaGFu Z2UgdGhlIHB1YmxpY2F0aW9uIHRvIGluY2x1ZGUgYWxsIHRhYmxlcyBieSByZW1vdmluZyBhbnkg ZXhpc3RpbmcKKyAgIEVYQ0VQVCB0YWJsZSBsaXN0OgorPHByb2dyYW1saXN0aW5nPgorQUxURVIg UFVCTElDQVRJT04gbXlwdWJsaWNhdGlvbiBTRVQgQUxMIFRBQkxFUzsKIDwvcHJvZ3JhbWxpc3Rp bmc+PC9wYXJhPgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wdWJsaWNhdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCmlu ZGV4IGFhZGM3YzIwMmM2Li5mYWNjY2JlNzRlYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9wZ19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGlj YXRpb24uYwpAQCAtNDQwLDcgKzQ0MCw3IEBAIGF0dG51bXN0b2ludDJ2ZWN0b3IoQml0bWFwc2V0 ICphdHRycykKICAqLwogT2JqZWN0QWRkcmVzcwogcHVibGljYXRpb25fYWRkX3JlbGF0aW9uKE9p ZCBwdWJpZCwgUHVibGljYXRpb25SZWxJbmZvICpwcmksCi0JCQkJCQkgYm9vbCBpZl9ub3RfZXhp c3RzKQorCQkJCQkJIGJvb2wgaWZfbm90X2V4aXN0cywgYm9vbCBpc19hbHRlcikKIHsKIAlSZWxh dGlvbglyZWw7CiAJSGVhcFR1cGxlCXR1cDsKQEAgLTU0NCwxMCArNTQ0LDEyIEBAIHB1YmxpY2F0 aW9uX2FkZF9yZWxhdGlvbihPaWQgcHViaWQsIFB1YmxpY2F0aW9uUmVsSW5mbyAqcHJpLAogCiAJ LyoKIAkgKiBSZWxhdGlvbnMgZXhjbHVkZWQgdmlhIHRoZSBFWENFUFQgY2xhdXNlIGRvIG5vdCBu ZWVkIGV4cGxpY2l0Ci0JICogaW52YWxpZGF0aW9uIGFzIENyZWF0ZVB1YmxpY2F0aW9uKCkgZnVu Y3Rpb24gaW52YWxpZGF0ZXMgYWxsIHJlbGF0aW9ucwotCSAqIGFzIHBhcnQgb2YgZGVmaW5pbmcg YSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbi4KKwkgKiBpbnZhbGlkYXRpb24gZHVyaW5nIENS RUFURSBQVUJMSUNBVElPTiwgYXMgQ3JlYXRlUHVibGljYXRpb24oKSBmdW5jdGlvbgorCSAqIGlu dmFsaWRhdGVzIGFsbCByZWxhdGlvbnMgYXMgcGFydCBvZiBkZWZpbmluZyBhIEZPUiBBTEwgVEFC TEVTCisJICogcHVibGljYXRpb24uIEZvciBBTFRFUiBQVUJMSUNBVElPTiwgZXhwbGljaXQgaW52 YWxpZGF0aW9uIGlzIHN0aWxsCisJICogcmVxdWlyZWQuCiAJICovCi0JaWYgKCFwcmktPmV4Y2Vw dCkKKwlpZiAoIXByaS0+ZXhjZXB0IHx8IGlzX2FsdGVyKQogCXsKIAkJLyoKIAkJICogSW52YWxp ZGF0ZSByZWxjYWNoZSBzbyB0aGF0IHB1YmxpY2F0aW9uIGluZm8gaXMgcmVidWlsdC4KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3B1YmxpY2F0aW9uY21kcy5jIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMKaW5kZXggNmEzY2E0NzUxZmEuLjc5NDRjOTU3 MDMzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYwor KysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYwpAQCAtMTI3MiwxNSAr MTI3MiwyNCBAQCBBbHRlclB1YmxpY2F0aW9uVGFibGVzKEFsdGVyUHVibGljYXRpb25TdG10ICpz dG10LCBIZWFwVHVwbGUgdHVwLAogCQlQdWJsaWNhdGlvbkRyb3BUYWJsZXMocHViaWQsIHJlbHMs IGZhbHNlKTsKIAllbHNlCQkJCQkJLyogQVBfU2V0T2JqZWN0cyAqLwogCXsKLQkJTGlzdAkgICAq b2xkcmVsaWRzID0gR2V0SW5jbHVkZWRQdWJsaWNhdGlvblJlbGF0aW9ucyhwdWJpZCwKLQkJCQkJ CQkJCQkJCQkJCQlQVUJMSUNBVElPTl9QQVJUX1JPT1QpOworCQlib29sCQlpc2V4Y2VwdCA9IHB1 YmZvcm0tPnB1YmFsbHRhYmxlczsKKwkJTGlzdAkgICAqb2xkcmVsaWRzOwogCQlMaXN0CSAgICpk ZWxyZWxzID0gTklMOwogCQlMaXN0Q2VsbCAgICpvbGRsYzsKIAotCQlUcmFuc2Zvcm1QdWJXaGVy ZUNsYXVzZXMocmVscywgcXVlcnlTdHJpbmcsIHB1YmZvcm0tPnB1YnZpYXJvb3QpOworCQlpZiAo aXNleGNlcHQpCisJCQlvbGRyZWxpZHMgPSBHZXRFeGNsdWRlZFB1YmxpY2F0aW9uVGFibGVzKHB1 YmlkLAorCQkJCQkJCQkJCQkJCSBQVUJMSUNBVElPTl9QQVJUX1JPT1QpOworCQllbHNlCisJCXsK KwkJCW9sZHJlbGlkcyA9IEdldEluY2x1ZGVkUHVibGljYXRpb25SZWxhdGlvbnMocHViaWQsCisJ CQkJCQkJCQkJCQkJCVBVQkxJQ0FUSU9OX1BBUlRfUk9PVCk7CiAKLQkJQ2hlY2tQdWJSZWxhdGlv bkNvbHVtbkxpc3Qoc3RtdC0+cHVibmFtZSwgcmVscywgcHVibGlzaF9zY2hlbWEsCi0JCQkJCQkJ CSAgIHB1YmZvcm0tPnB1YnZpYXJvb3QpOworCQkJVHJhbnNmb3JtUHViV2hlcmVDbGF1c2VzKHJl bHMsIHF1ZXJ5U3RyaW5nLCBwdWJmb3JtLT5wdWJ2aWFyb290KTsKKworCQkJQ2hlY2tQdWJSZWxh dGlvbkNvbHVtbkxpc3Qoc3RtdC0+cHVibmFtZSwgcmVscywgcHVibGlzaF9zY2hlbWEsCisJCQkJ CQkJCQkgICBwdWJmb3JtLT5wdWJ2aWFyb290KTsKKwkJfQogCiAJCS8qCiAJCSAqIFRvIHJlY3Jl YXRlIHRoZSByZWxhdGlvbiBsaXN0IGZvciB0aGUgcHVibGljYXRpb24sIGxvb2sgZm9yCkBAIC0x NDk4LDYgKzE1MDcsMTEgQEAgQ2hlY2tBbHRlclB1YmxpY2F0aW9uKEFsdGVyUHVibGljYXRpb25T dG10ICpzdG10LCBIZWFwVHVwbGUgdHVwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJ RU5UX1BSSVZJTEVHRSksCiAJCQkJIGVycm1zZygibXVzdCBiZSBzdXBlcnVzZXIgdG8gYWRkIG9y IHNldCBzY2hlbWFzIikpKTsKIAorCWlmIChzdG10LT5mb3JfYWxsX3RhYmxlcyAmJiAhc3VwZXJ1 c2VyKCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVO VF9QUklWSUxFR0UpLAorCQkJCWVycm1zZygibXVzdCBiZSBzdXBlcnVzZXIgdG8gYWx0ZXIgRk9S IEFMTCBUQUJMRVMgcHVibGljYXRpb24iKSk7CisKIAkvKgogCSAqIENoZWNrIHRoYXQgdXNlciBp cyBhbGxvd2VkIHRvIG1hbmlwdWxhdGUgdGhlIHB1YmxpY2F0aW9uIHRhYmxlcyBpbgogCSAqIHNj aGVtYQpAQCAtMTU0Niw2ICsxNTYwLDE3IEBAIENoZWNrQWx0ZXJQdWJsaWNhdGlvbihBbHRlclB1 YmxpY2F0aW9uU3RtdCAqc3RtdCwgSGVhcFR1cGxlIHR1cCwKIAkJCQkJCSAgIE5hbWVTdHIocHVi Zm9ybS0+cHVibmFtZSkpLAogCQkJCQllcnJkZXRhaWwoIlRhYmxlcyBvciBzZXF1ZW5jZXMgY2Fu bm90IGJlIGFkZGVkIHRvIG9yIGRyb3BwZWQgZnJvbSBGT1IgQUxMIFNFUVVFTkNFUyBwdWJsaWNh dGlvbnMuIikpOwogCX0KKworCS8qCisJICogU0VUIEFMTCBUQUJMRVMgaXMgYWxsb3dlZCBvbmx5 IGZvciBwdWJsaWNhdGlvbnMgZGVmaW5lZCBhcyBGT1IgQUxMCisJICogVEFCTEVTLgorCSAqLwor CWlmIChzdG10LT5mb3JfYWxsX3RhYmxlcyAmJiAhcHViZm9ybS0+cHViYWxsdGFibGVzKQorCQll cmVwb3J0KEVSUk9SLAorCQkJCWVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJ U0lURV9TVEFURSksCisJCQkJZXJybXNnKCJwdWJsaWNhdGlvbiBcIiVzXCIgZG9lcyBub3Qgc3Vw cG9ydCBBTEwgVEFCTEVTIG9wZXJhdGlvbnMiLAorCQkJCQkgICBOYW1lU3RyKHB1YmZvcm0tPnB1 Ym5hbWUpKSwKKwkJCQllcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJs aWNhdGlvbiB0byBoYXZlIGJlZW4gZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy4iKSk7CiB9CiAK IC8qCkBAIC0xNTkxLDkgKzE2MTYsNiBAQCBBbHRlclB1YmxpY2F0aW9uKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQWx0ZXJQdWJsaWNhdGlvblN0bXQgKnN0bXQpCiAJCU9iamVjdHNJblB1YmxpY2F0aW9u VG9PaWRzKHN0bXQtPnB1Ym9iamVjdHMsIHBzdGF0ZSwgJnJlbGF0aW9ucywKIAkJCQkJCQkJICAg JmV4Y2VwdHJlbGF0aW9ucywgJnNjaGVtYWlkbGlzdCk7CiAKLQkJLyogRVhDRVBUIGNsYXVzZSBp cyBub3Qgc3VwcG9ydGVkIHdpdGggQUxURVIgUFVCTElDQVRJT04gKi8KLQkJQXNzZXJ0KGV4Y2Vw dHJlbGF0aW9ucyA9PSBOSUwpOwotCiAJCUNoZWNrQWx0ZXJQdWJsaWNhdGlvbihzdG10LCB0dXAs IHJlbGF0aW9ucywgc2NoZW1haWRsaXN0KTsKIAogCQloZWFwX2ZyZWV0dXBsZSh0dXApOwpAQCAt MTYxNSw2ICsxNjM3LDcgQEAgQWx0ZXJQdWJsaWNhdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFs dGVyUHVibGljYXRpb25TdG10ICpzdG10KQogCQkJCQllcnJtc2coInB1YmxpY2F0aW9uIFwiJXNc IiBkb2VzIG5vdCBleGlzdCIsCiAJCQkJCQkgICBzdG10LT5wdWJuYW1lKSk7CiAKKwkJcmVsYXRp b25zID0gbGlzdF9jb25jYXQocmVsYXRpb25zLCBleGNlcHRyZWxhdGlvbnMpOwogCQlBbHRlclB1 YmxpY2F0aW9uVGFibGVzKHN0bXQsIHR1cCwgcmVsYXRpb25zLCBwc3RhdGUtPnBfc291cmNldGV4 dCwKIAkJCQkJCQkgICBzY2hlbWFpZGxpc3QgIT0gTklMKTsKIAkJQWx0ZXJQdWJsaWNhdGlvblNj aGVtYXMoc3RtdCwgdHVwLCBzY2hlbWFpZGxpc3QpOwpAQCAtMTk1Myw3ICsxOTc2LDggQEAgUHVi bGljYXRpb25BZGRUYWJsZXMoT2lkIHB1YmlkLCBMaXN0ICpyZWxzLCBib29sIGlmX25vdF9leGlz dHMsCiAJCQlhY2xjaGVja19lcnJvcihBQ0xDSEVDS19OT1RfT1dORVIsIGdldF9yZWxraW5kX29i anR5cGUocmVsLT5yZF9yZWwtPnJlbGtpbmQpLAogCQkJCQkJICAgUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUocmVsKSk7CiAKLQkJb2JqID0gcHVibGljYXRpb25fYWRkX3JlbGF0aW9uKHB1YmlkLCBw dWJfcmVsLCBpZl9ub3RfZXhpc3RzKTsKKwkJb2JqID0gcHVibGljYXRpb25fYWRkX3JlbGF0aW9u KHB1YmlkLCBwdWJfcmVsLCBpZl9ub3RfZXhpc3RzLAorCQkJCQkJCQkJICAgKHN0bXQgIT0gTlVM TCkpOwogCQlpZiAoc3RtdCkKIAkJewogCQkJRXZlbnRUcmlnZ2VyQ29sbGVjdFNpbXBsZUNvbW1h bmQob2JqLCBJbnZhbGlkT2JqZWN0QWRkcmVzcywKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5k ZXggY2Q2ZDcyMDM4NmYuLmUyNTAxMGI1MjY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpA QCAtMjA2MDAsNyArMjA2MDAsOCBAQCBBVEV4ZWNBdHRhY2hQYXJ0aXRpb24oTGlzdCAqKndxdWV1 ZSwgUmVsYXRpb24gcmVsLCBQYXJ0aXRpb25DbWQgKmNtZCwKIAkJCQkJCQkgIGxpc3RfbGVuZ3Ro KGV4Y2VwdHB1Ym9pZHMpLAogCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoYXR0YWNo cmVsKSwKIAkJCQkJCQkgIHB1Ym5hbWVzLmRhdGEpLAotCQkJCWVycmRldGFpbCgiVGhlIHB1Ymxp Y2F0aW9uIEVYQ0VQVCBjbGF1c2UgY2Fubm90IGNvbnRhaW4gdGFibGVzIHRoYXQgYXJlIHBhcnRp dGlvbnMuIikpOworCQkJCWVycmRldGFpbCgiVGhlIHB1YmxpY2F0aW9uIEVYQ0VQVCBjbGF1c2Ug Y2Fubm90IGNvbnRhaW4gdGFibGVzIHRoYXQgYXJlIHBhcnRpdGlvbnMuIiksCisJCQkJZXJyaGlu dCgiTW9kaWZ5IHRoZSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBjbGF1c2UgdXNpbmcgQUxURVIgUFVC TElDQVRJT04gLi4uIFNFVCBBTEwgVEFCTEVTLiIpKTsKIAl9CiAKIAlsaXN0X2ZyZWUoZXhjZXB0 cHVib2lkcyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCBmMDFmNTczNGZlOS4uNjNiNjJjODliMTMgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueQpAQCAtMTA5OTksNiArMTA5OTksOCBAQCBwdWJfZXhjZXB0X29ial9saXN0OiBQdWJs aWNhdGlvbkV4Y2VwdE9ialNwZWMKICAqCiAgKiBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBw dWJfb2JqIFssIC4uLl0KICAqCisgKiBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBBTEwgVEFC TEVTIFsgRVhDRVBUIFRBQkxFICggdGFibGVfbmFtZSBbLCAuLi5dICkgXQorICoKICAqIHB1Yl9v YmogaXMgb25lIG9mOgogICoKICAqCQlUQUJMRSB0YWJsZV9uYW1lIFssIC4uLl0KQEAgLTExMDEz LDYgKzExMDE1LDcgQEAgQWx0ZXJQdWJsaWNhdGlvblN0bXQ6CiAKIAkJCQkJbi0+cHVibmFtZSA9 ICQzOwogCQkJCQluLT5vcHRpb25zID0gJDU7CisJCQkJCW4tPmZvcl9hbGxfdGFibGVzID0gZmFs c2U7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CiAJCQl8IEFMVEVSIFBVQkxJQ0FUSU9O IG5hbWUgQUREX1AgcHViX29ial9saXN0CkBAIC0xMTAyMyw2ICsxMTAyNiw3IEBAIEFsdGVyUHVi bGljYXRpb25TdG10OgogCQkJCQluLT5wdWJvYmplY3RzID0gJDU7CiAJCQkJCXByZXByb2Nlc3Nf cHVib2JqX2xpc3Qobi0+cHVib2JqZWN0cywgeXlzY2FubmVyKTsKIAkJCQkJbi0+YWN0aW9uID0g QVBfQWRkT2JqZWN0czsKKwkJCQkJbi0+Zm9yX2FsbF90YWJsZXMgPSBmYWxzZTsKIAkJCQkJJCQg PSAoTm9kZSAqKSBuOwogCQkJCX0KIAkJCXwgQUxURVIgUFVCTElDQVRJT04gbmFtZSBTRVQgcHVi X29ial9saXN0CkBAIC0xMTAzMyw2ICsxMTAzNywxNyBAQCBBbHRlclB1YmxpY2F0aW9uU3RtdDoK IAkJCQkJbi0+cHVib2JqZWN0cyA9ICQ1OwogCQkJCQlwcmVwcm9jZXNzX3B1Ym9ial9saXN0KG4t PnB1Ym9iamVjdHMsIHl5c2Nhbm5lcik7CiAJCQkJCW4tPmFjdGlvbiA9IEFQX1NldE9iamVjdHM7 CisJCQkJCW4tPmZvcl9hbGxfdGFibGVzID0gZmFsc2U7CisJCQkJCSQkID0gKE5vZGUgKikgbjsK KwkJCQl9CisJCQl8IEFMVEVSIFBVQkxJQ0FUSU9OIG5hbWUgU0VUIEFMTCBUQUJMRVMgb3B0X3B1 Yl9leGNlcHRfY2xhdXNlCisJCQkJeworCQkJCQlBbHRlclB1YmxpY2F0aW9uU3RtdCAqbiA9IG1h a2VOb2RlKEFsdGVyUHVibGljYXRpb25TdG10KTsKKworCQkJCQluLT5wdWJuYW1lID0gJDM7CisJ CQkJCW4tPnB1Ym9iamVjdHMgPSAkNzsKKwkJCQkJbi0+YWN0aW9uID0gQVBfU2V0T2JqZWN0czsK KwkJCQkJbi0+Zm9yX2FsbF90YWJsZXMgPSB0cnVlOwogCQkJCQkkJCA9IChOb2RlICopIG47CiAJ CQkJfQogCQkJfCBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIERST1AgcHViX29ial9saXN0CkBAIC0x MTA0Myw2ICsxMTA1OCw3IEBAIEFsdGVyUHVibGljYXRpb25TdG10OgogCQkJCQluLT5wdWJvYmpl Y3RzID0gJDU7CiAJCQkJCXByZXByb2Nlc3NfcHVib2JqX2xpc3Qobi0+cHVib2JqZWN0cywgeXlz Y2FubmVyKTsKIAkJCQkJbi0+YWN0aW9uID0gQVBfRHJvcE9iamVjdHM7CisJCQkJCW4tPmZvcl9h bGxfdGFibGVzID0gZmFsc2U7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CiAJCTsKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuaW4uYwppbmRleCAxOTlmYzY0ZGRmNS4uMTBhNmI4ZjQyODQgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFi LWNvbXBsZXRlLmluLmMKQEAgLTIzMjAsNyArMjMyMCwxNSBAQCBtYXRjaF9wcmV2aW91c193b3Jk cyhpbnQgcGF0dGVybl9pZCwKIAkJQ09NUExFVEVfV0lUSCgiVEFCTEVTIElOIFNDSEVNQSIsICJU QUJMRSIpOwogCS8qIEFMVEVSIFBVQkxJQ0FUSU9OIDxuYW1lPiBTRVQgKi8KIAllbHNlIGlmIChN YXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIikpCi0JCUNPTVBM RVRFX1dJVEgoIigiLCAiVEFCTEVTIElOIFNDSEVNQSIsICJUQUJMRSIpOworCQlDT01QTEVURV9X SVRIKCIoIiwgIkFMTCBUQUJMRVMiLCAiVEFCTEVTIElOIFNDSEVNQSIsICJUQUJMRSIpOworCWVs c2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAi QUxMIikpCisJCUNPTVBMRVRFX1dJVEgoIlRBQkxFUyIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkFM VEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIpKQor CQlDT01QTEVURV9XSVRIKCJFWENFUFQgVEFCTEUgKCIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkFM VEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJF WENFUFQiKSkKKwkJQ09NUExFVEVfV0lUSCgiVEFCTEUgKCIpOworCWVsc2UgaWYgKE1hdGNoZXMo IkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIs ICJFWENFUFQiLCAiVEFCTEUiKSkKKwkJQ09NUExFVEVfV0lUSCgiKCIpOwogCWVsc2UgaWYgKE1h dGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJBRER8RFJPUHxTRVQiLCAi VEFCTEVTIiwgIklOIiwgIlNDSEVNQSIpKQogCQlDT01QTEVURV9XSVRIX1FVRVJZX1BMVVMoUXVl cnlfZm9yX2xpc3Rfb2Zfc2NoZW1hcwogCQkJCQkJCQkgIiBBTkQgbnNwbmFtZSBOT1QgTElLRSBF J3BnXFxcXF8lJSciLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNh dGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oCmluZGV4IGUyNTIy ODcxM2U3Li5mNDBjMGZlMmY5NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w dWJsaWNhdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaApA QCAtMTk4LDcgKzE5OCw4IEBAIGV4dGVybiBib29sIGlzX3NjaGVtYV9wdWJsaWNhdGlvbihPaWQg cHViaWQpOwogZXh0ZXJuIGJvb2wgY2hlY2tfYW5kX2ZldGNoX2NvbHVtbl9saXN0KFB1YmxpY2F0 aW9uICpwdWIsIE9pZCByZWxpZCwKIAkJCQkJCQkJCQlNZW1vcnlDb250ZXh0IG1jeHQsIEJpdG1h cHNldCAqKmNvbHMpOwogZXh0ZXJuIE9iamVjdEFkZHJlc3MgcHVibGljYXRpb25fYWRkX3JlbGF0 aW9uKE9pZCBwdWJpZCwgUHVibGljYXRpb25SZWxJbmZvICpwcmksCi0JCQkJCQkJCQkJCSAgYm9v bCBpZl9ub3RfZXhpc3RzKTsKKwkJCQkJCQkJCQkJICBib29sIGlmX25vdF9leGlzdHMsCisJCQkJ CQkJCQkJCSAgYm9vbCBpc19hbHRlcik7CiBleHRlcm4gQml0bWFwc2V0ICpwdWJfY29sbGlzdF92 YWxpZGF0ZShSZWxhdGlvbiB0YXJnZXRyZWwsIExpc3QgKmNvbHVtbnMpOwogZXh0ZXJuIE9iamVj dEFkZHJlc3MgcHVibGljYXRpb25fYWRkX3NjaGVtYShPaWQgcHViaWQsIE9pZCBzY2hlbWFpZCwK IAkJCQkJCQkJCQkJYm9vbCBpZl9ub3RfZXhpc3RzKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRl eCBmM2QzMmVmMDE4OC4uYjBmNWM2MDNiZDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVz L3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTQz ODYsNiArNDM4Niw3IEBAIHR5cGVkZWYgc3RydWN0IEFsdGVyUHVibGljYXRpb25TdG10CiAJTGlz dAkgICAqcHVib2JqZWN0czsJCS8qIE9wdGlvbmFsIGxpc3Qgb2YgcHVibGljYXRpb24gb2JqZWN0 cyAqLwogCUFsdGVyUHVibGljYXRpb25BY3Rpb24gYWN0aW9uOwkvKiBXaGF0IGFjdGlvbiB0byBw ZXJmb3JtIHdpdGggdGhlIGdpdmVuCiAJCQkJCQkJCQkgKiBvYmplY3RzICovCisJYm9vbAkJZm9y X2FsbF90YWJsZXM7IC8qIFRydWUgaWYgU0VUIEFMTCBUQUJMRVMgaXMgc3BlY2lmaWVkICovCiB9 IEFsdGVyUHVibGljYXRpb25TdG10OwogCiB0eXBlZGVmIHN0cnVjdCBDcmVhdGVTdWJzY3JpcHRp b25TdG10CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9u Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CmluZGV4IDY4 MWQyNTY0ZWQ1Li45N2E1Mjg4YTcyOCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wdWJsaWNhdGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJs aWNhdGlvbi5vdXQKQEAgLTEyNiw2ICsxMjYsMTMgQEAgQUxURVIgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3J0YWJsZSBTRVQgVEFCTEVTIElOIFNDSEVNQSBwdWJfdGVzdDsKIFRhYmxlcyBmcm9tIHNj aGVtYXM6CiAgICAgInB1Yl90ZXN0IgogCistLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMgaXMgbm90 IGFsbG93ZWQgZm9yIGEgJ0ZPUiBUQUJMRScgcHVibGljYXRpb24KK0FMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3Ri bDEpOworRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9mb3J0YWJsZSIgZG9lcyBub3Qgc3Vw cG9ydCBBTEwgVEFCTEVTIG9wZXJhdGlvbnMKK0RFVEFJTDogIFRoaXMgb3BlcmF0aW9uIHJlcXVp cmVzIHRoZSBwdWJsaWNhdGlvbiB0byBoYXZlIGJlZW4gZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxF Uy4KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CitF UlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnRhYmxlIiBkb2VzIG5vdCBzdXBwb3J0IEFM TCBUQUJMRVMgb3BlcmF0aW9ucworREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgdGhl IHB1YmxpY2F0aW9uIHRvIGhhdmUgYmVlbiBkZWZpbmVkIGFzIEZPUiBBTEwgVEFCTEVTLgogU0VU IGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfZm9yc2NoZW1hIEZPUiBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0OwogLS0gc2hvdWxkIGJl IGFibGUgdG8gY3JlYXRlIHB1YmxpY2F0aW9uIHdpdGggc2NoZW1hIGFuZCB0YWJsZSBvZiB0aGUg c2FtZQpAQCAtMjEzLDYgKzIyMCwxMyBAQCBOb3QtbnVsbCBjb25zdHJhaW50czoKICByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgICB8IG5vbmUgICAgICAgICAgICAgIHwgZiAg ICAgICAgfCAKICgxIHJvdykKIAorLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTIGlzIG5vdCBhbGxv d2VkIGZvciBhIHNjaGVtYSBwdWJsaWNhdGlvbgorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChwdWJfdGVzdC50ZXN0cHViX25v cGspOworRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9mb3JzY2hlbWEiIGRvZXMgbm90IHN1 cHBvcnQgQUxMIFRBQkxFUyBvcGVyYXRpb25zCitERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1 aXJlcyB0aGUgcHVibGljYXRpb24gdG8gaGF2ZSBiZWVuIGRlZmluZWQgYXMgRk9SIEFMTCBUQUJM RVMuCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUzsK K0VSUk9SOiAgcHVibGljYXRpb24gInRlc3RwdWJfZm9yc2NoZW1hIiBkb2VzIG5vdCBzdXBwb3J0 IEFMTCBUQUJMRVMgb3BlcmF0aW9ucworREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMg dGhlIHB1YmxpY2F0aW9uIHRvIGhhdmUgYmVlbiBkZWZpbmVkIGFzIEZPUiBBTEwgVEFCTEVTLgog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAtLSBFWENFUFQg VEFCTEUgdGVzdHMgZm9yIG5vcm1hbCB0YWJsZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjU0LDYgKzI2OCwyNSBAQCBFeGNlcHQgUHVibGljYXRp b25zOgogICAgICJ0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSIKICAgICAidGVzdHB1 Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIgogCistLSBSZW1vdmUgYWxsIHRoZSBFWENFUFQg dGFibGVzLgorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFi bGUgU0VUIEFMTCBUQUJMRVM7CitcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJs ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1Ymxp Y2F0aW9uIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCisgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwg RGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJs aWNhdGlvbl91c2VyIHwgdCAgICAgICAgICB8IGYgICAgICAgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBub25lICAgICAgICAgICAgICB8IGYgICAgICAg IHwgCisoMSByb3cpCisKKy0tIFJlcGxhY2UgdGhlIHB1YmxpY2F0aW9uIEVYQ0VQVCB0YWJsZSBs aXN0IHdpdGggYSBzcGVjaWZpYyBFWENFUFQgdGFibGUuCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0 cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHRlc3RwdWJfdGJsMSk7CitcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0 aW9uIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCisgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVz Y3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNh dGlvbl91c2VyIHwgdCAgICAgICAgICB8IGYgICAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBub25lICAgICAgICAgICAgICB8IGYgICAgICAgIHwg CitFeGNlcHQgdGFibGVzOgorICAgICJwdWJsaWMudGVzdHB1Yl90YmwxIgorCiBSRVNFVCBjbGll bnRfbWluX21lc3NhZ2VzOwogRFJPUCBUQUJMRSB0ZXN0cHViX3RibDI7CiBEUk9QIFBVQkxJQ0FU SU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzLCB0ZXN0cHViX2ZvcnRhYmxlLCB0ZXN0cHViX2ZvcnNj aGVtYSwgdGVzdHB1Yl9mb3JfdGJsX3NjaGVtYSwgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0 dGFibGUsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMTsKQEAgLTM2MSw2ICszOTQs NyBAQCBDUkVBVEUgVEFCTEUgdGFiX21haW4gKGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7 CiBBTFRFUiBUQUJMRSB0YWJfbWFpbiBBVFRBQ0ggUEFSVElUSU9OIHRlc3RwdWJfcm9vdCBGT1Ig VkFMVUVTIEZST00gKDApIFRPICgyMDApOwogRVJST1I6ICBjYW5ub3QgYXR0YWNoIHRhYmxlICJ0 ZXN0cHViX3Jvb3QiIGFzIHBhcnRpdGlvbiBiZWNhdXNlIGl0IGlzIHJlZmVyZW5jZWQgaW4gcHVi bGljYXRpb24gInRlc3RwdWI4IiBFWENFUFQgY2xhdXNlCiBERVRBSUw6ICBUaGUgcHVibGljYXRp b24gRVhDRVBUIGNsYXVzZSBjYW5ub3QgY29udGFpbiB0YWJsZXMgdGhhdCBhcmUgcGFydGl0aW9u cy4KK0hJTlQ6ICBNb2RpZnkgdGhlIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIGNsYXVzZSB1c2luZyBB TFRFUiBQVUJMSUNBVElPTiAuLi4gU0VUIEFMTCBUQUJMRVMuCiBSRVNFVCBjbGllbnRfbWluX21l c3NhZ2VzOwogRFJPUCBUQUJMRSB0ZXN0cHViX3Jvb3QsIHRlc3RwdWJfcGFydDEsIHRhYl9tYWlu OwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViODsKQEAgLTE1NDEsNyArMTU3NSwxOCBAQCBFUlJP UjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNoYW5nZSBvd25lciBvZiBwdWJsaWNhdGlvbiAidGVz dHB1YjQiCiBISU5UOiAgVGhlIG93bmVyIG9mIGEgRk9SIEFMTCBUQUJMRVMgb3IgQUxMIFNFUVVF TkNFUyBvciBUQUJMRVMgSU4gU0NIRU1BIHB1YmxpY2F0aW9uIG11c3QgYmUgYSBzdXBlcnVzZXIu CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNCBvd25lciB0byByZWdyZXNzX3B1YmxpY2F0aW9u X3VzZXI7IC0tIG9rCiBTRVQgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXI7Ci1EUk9QIFBV QkxJQ0FUSU9OIHRlc3RwdWI0OworU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwor Q1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTOworUkVTRVQgY2xpZW50 X21pbl9tZXNzYWdlczsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IE9XTkVSIFRPIHJlZ3Jl c3NfcHVibGljYXRpb25fdXNlcjM7CitTRVQgUk9MRSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIz OworLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTIG9uIGEgcHVibGljYXRpb24gcmVxdWlyZXMgc3Vw ZXJ1c2VyIHByaXZpbGVnZXMKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFC TEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsgLS0gZmFpbAorRVJST1I6ICBtdXN0IGJl IHN1cGVydXNlciB0byBhbHRlciBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbgorQUxURVIgUFVC TElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBUQUJMRVM7IC0tIGZhaWwKK0VSUk9SOiAgbXVzdCBi ZSBzdXBlcnVzZXIgdG8gYWx0ZXIgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KK1NFVCBST0xF IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjsKK0RST1AgUFVCTElDQVRJT04gdGVzdHB1YjQsIHRl c3RwdWI1OwogRFJPUCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjM7CiBSRVZPS0UgQ1JF QVRFIE9OIERBVEFCQVNFIHJlZ3Jlc3Npb24gRlJPTSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIy OwogRFJPUCBUQUJMRSB0ZXN0cHViX3BhcnRlZDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3B1YmxpY2F0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9u LnNxbAppbmRleCA0MDU1NzlkYWQ1Mi4uNTZlNGJmYmE5NzQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9w dWJsaWNhdGlvbi5zcWwKQEAgLTc0LDYgKzc0LDEwIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfZm9ydGFibGUgRFJPUCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0OwogQUxURVIgUFVCTElD QVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgVEFCTEVTIElOIFNDSEVNQSBwdWJfdGVzdDsKIFxk UnArIHRlc3RwdWJfZm9ydGFibGUKIAorLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTIGlzIG5vdCBh bGxvd2VkIGZvciBhICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCitBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90Ymwx KTsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CisK IFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcnNjaGVtYSBGT1IgVEFCTEVTIElOIFNDSEVNQSBwdWJfdGVzdDsKIC0tIHNob3Vs ZCBiZSBhYmxlIHRvIGNyZWF0ZSBwdWJsaWNhdGlvbiB3aXRoIHNjaGVtYSBhbmQgdGFibGUgb2Yg dGhlIHNhbWUKQEAgLTEwNSw2ICsxMDksMTAgQEAgU0VMRUNUIHB1Ym5hbWUsIHB1YmFsbHRhYmxl cyBGUk9NIHBnX3B1YmxpY2F0aW9uIFdIRVJFIHB1Ym5hbWUgPSAndGVzdHB1Yl9mb3JhbGwKIFxk KyB0ZXN0cHViX3RibDIKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzCiAKKy0tIGZhaWwgLSBT RVQgQUxMIFRBQkxFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSBzY2hlbWEgcHVibGljYXRpb24KK0FM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBU QUJMRSAocHViX3Rlc3QudGVzdHB1Yl9ub3BrKTsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTOworCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIC0tIEVYQ0VQVCBUQUJMRSB0ZXN0cyBmb3Igbm9ybWFsIHRhYmxl cwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMTks NiArMTI3LDE0IEBAIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNl cHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFCiAtLSBpbiB0aGUgRVhDRVBUIFRB QkxFIGNsYXVzZQogXGQgdGVzdHB1Yl90YmwxCiAKKy0tIFJlbW92ZSBhbGwgdGhlIEVYQ0VQVCB0 YWJsZXMuCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJs ZSBTRVQgQUxMIFRBQkxFUzsKK1xkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxl CisKKy0tIFJlcGxhY2UgdGhlIHB1YmxpY2F0aW9uIEVYQ0VQVCB0YWJsZSBsaXN0IHdpdGggYSBz cGVjaWZpYyBFWENFUFQgdGFibGUuCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRh Ymxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJs MSk7CitcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQorCiBSRVNFVCBjbGll bnRfbWluX21lc3NhZ2VzOwogRFJPUCBUQUJMRSB0ZXN0cHViX3RibDI7CiBEUk9QIFBVQkxJQ0FU SU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzLCB0ZXN0cHViX2ZvcnRhYmxlLCB0ZXN0cHViX2ZvcnNj aGVtYSwgdGVzdHB1Yl9mb3JfdGJsX3NjaGVtYSwgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0 dGFibGUsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMTsKQEAgLTk5MSw3ICsxMDA3 LDE3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI0IG93bmVyIHRvIHJlZ3Jlc3NfcHVibGlj YXRpb25fdXNlcjI7IC0tIGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI0IG93bmVyIHRv IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjsgLS0gb2sKIAogU0VUIFJPTEUgcmVncmVzc19wdWJs aWNhdGlvbl91c2VyOwotRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViNDsKK1NFVCBjbGllbnRfbWlu X21lc3NhZ2VzID0gJ0VSUk9SJzsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxM IFRBQkxFUzsKK1JFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CitBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViNSBPV05FUiBUTyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIzOworU0VUIFJPTEUgcmVn cmVzc19wdWJsaWNhdGlvbl91c2VyMzsKKy0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUyBvbiBhIHB1 YmxpY2F0aW9uIHJlcXVpcmVzIHN1cGVydXNlciBwcml2aWxlZ2VzCitBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7IC0t IGZhaWwKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWls CisKK1NFVCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjsKK0RST1AgUFVCTElDQVRJT04g dGVzdHB1YjQsIHRlc3RwdWI1OwogRFJPUCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjM7 CiAKIFJFVk9LRSBDUkVBVEUgT04gREFUQUJBU0UgcmVncmVzc2lvbiBGUk9NIHJlZ3Jlc3NfcHVi bGljYXRpb25fdXNlcjI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzdf ZXhjZXB0LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbAppbmRleCAy NzI5ZGY0ZDVjMC4uY2JmZTQyMDExZWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzN19leGNlcHQucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2Vw dC5wbApAQCAtMTUyLDE4ICsxNTIsNTAgQEAgJHJlc3VsdCA9CiAgICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gY2hpbGQxIik7CiBp cygkcmVzdWx0LCBxcSgxMCksICdjaGVjayByZXBsaWNhdGVkIGluc2VydHMgb24gc3Vic2NyaWJl cicpOwogCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUg VEFCTEUgdGFiMiBBUyBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsMTApIEFTIGEiKTsKKyRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHRhYjIgKGEg aW50KSIpOworCisjIFJlcGxhY2UgdGhlIEVYQ0VQVCBUQUJMRSBsaXN0IHNvIHRoYXQgb25seSB0 YWIyIGlzIGV4Y2x1ZGVkLgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KwkiQUxURVIgUFVCTElDQVRJT04gdGFiX3B1YiBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHRhYjIpIik7CisKKyMgUmVmcmVzaCB0aGUgc3Vic2NyaXB0aW9uIHNvIHRoZSBzdWJzY3JpYmVy IHBpY2tzIHVwIHRoZSB1cGRhdGVkCisjIHB1YmxpY2F0aW9uIGRlZmluaXRpb24gYW5kIGluaXRp YXRlcyB0YWJsZSBzeW5jaHJvbml6YXRpb24uCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKwkiQUxURVIgU1VCU0NSSVBUSU9OIHRhYl9zdWIgUkVGUkVTSCBQVUJMSUNB VElPTiIpOworCisjIFdhaXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0byBmaW5pc2gKKyRub2Rl X3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3B1Ymxpc2hlciwg J3RhYl9zdWInKTsKKworIyBWZXJpZnkgdGhhdCBpbml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlv biBkb2VzIG5vdCBvY2N1ciBmb3IgdGFibGVzCisjIGxpc3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxF IGNsYXVzZS4KKyRyZXN1bHQgPQorICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHRhYjIiKTsKK2lzKCRyZXN1bHQsIHFxKDApLAor CSdjaGVjayB0aGVyZSBpcyBubyBpbml0aWFsIGRhdGEgY29waWVkIGZvciB0aGUgdGFibGVzIHNw ZWNpZmllZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZScKKyk7CisKKyMgVmVyaWZ5IHRoYXQg dGFibGUgc3luY2hyb25pemF0aW9uIG9jY3VycyBvbmNlIHRhYjEgaXMgcmVtb3ZlZCBmcm9tIHRo ZQorIyBFWENFUFQgVEFCTEUgY2xhdXNlIHZpYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUu CiskcmVzdWx0ID0KKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJT RUxFQ1QgY291bnQoKikgRlJPTSB0YWIxIik7CitpcygkcmVzdWx0LCBxcSgyMCksCisJJ2NoZWNr IHRoYXQgdGhlIGRhdGEgaXMgY29waWVkIGFzIHRoZSB0YWIxIGlzIHJlbW92ZWQgZnJvbSBFWENF UFQgVEFCTEUgY2xhdXNlJworKTsKKwogIyBjbGVhbnVwCiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCiAJRFJPUCBTVUJTQ1JJUFRJT04gdGFiX3N1YjsKIAlU UlVOQ0FURSBUQUJMRSB0YWIxOwotCURST1AgVEFCTEUgcGFyZW50LCBwYXJlbnQxLCBjaGlsZCwg Y2hpbGQxOworCURST1AgVEFCTEUgcGFyZW50LCBwYXJlbnQxLCBjaGlsZCwgY2hpbGQxLCB0YWIy OwogKSk7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKIAlE Uk9QIFBVQkxJQ0FUSU9OIHRhYl9wdWI7CiAJVFJVTkNBVEUgVEFCTEUgdGFiMTsKLSAgICBEUk9Q IFRBQkxFIHBhcmVudCwgcGFyZW50MSwgY2hpbGQsIGNoaWxkMTsKKyAgICBEUk9QIFRBQkxFIHBh cmVudCwgcGFyZW50MSwgY2hpbGQsIGNoaWxkMSwgdGFiMjsKICkpOwogCiAjID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tIAoyLjQzLjAKCg== --000000000000b2267f064d0f333a Content-Type: application/octet-stream; name="v63-0002-Change-syntax-of-CREATE-PUBLICATION-.-FOR-ALL-TA.patch" Content-Disposition: attachment; filename="v63-0002-Change-syntax-of-CREATE-PUBLICATION-.-FOR-ALL-TA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrq3woh1 RnJvbSA4NjE2NGJmMWJiZmExMmI4MzE2ZWM5Zjc3ZGFlZDJmMDcwM2E2YmMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTUgTWFyIDIwMjYgMTY6NDc6MTMgKzA1MzAKU3ViamVjdDogW1BBVENIIHY2MyAyLzJd IENoYW5nZSBzeW50YXggb2YgQ1JFQVRFIFBVQkxJQ0FUSU9OIC4uLiBGT1IgQUxMCiBUQUJMRVMg RVhDRVBUIGNsYXVzZQoKQ2hhbmdlIHRoZSBzeW50YXggb2YgQ1JFQVRFIFBVQkxJQ0FUSU9OIC4u LiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgdG8gbW92ZQp0aGUgVEFCTEUga2V5d29yZCBpbnNpZGUg dGhlIHJlbGF0aW9uIGxpc3QuCgpPbGQgc3ludGF4OgpDUkVBVEUgUFVCTElDQVRJT04gLi4uIEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodDEgLi4uKTsKCk5ldyBzeW50YXg6CkNSRUFURSBQ VUJMSUNBVElPTiAuLi4gRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0MSAuLi4pOwotLS0K IGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbCAgIHwgIDQgKystLQogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgfCAgNiArKystLS0KIHNyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBzcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmluL3BnX2R1 bXAvdC8wMDJfcGdfZHVtcC5wbCAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogc3JjL2Jpbi9w c3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0t LS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dCB8IDIyICsrKysr KysrKysrLS0tLS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbCAg ICAgIHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3Qv MDM3X2V4Y2VwdC5wbCAgICAgfCAgOCArKysrLS0tLQogOSBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNl cnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0 aW9uLnNnbWwKaW5kZXggYzVlM2RkM2JlNzcuLjllMmE0ZmRiNmU0IDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zNiw3ICszNiw3IEBAIEFMVEVSIFBVQkxJQ0FU SU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVO QU1FIFRPIDxyCiAKIDxwaHJhc2U+d2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnB1YmxpY2F0aW9uX2V4Y2VwdF90YWJsZXM8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAot ICAgIFsgRVhDRVBUIFRBQkxFICggWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KKyAgICBbIEVYQ0VQVCAo VEFCTEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8 L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX2Ryb3Bfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXMg b25lIG9mOjwvcGhyYXNlPgogCkBAIC0yNDEsNyArMjQxLDcgQEAgQUxURVIgUFVCTElDQVRJT04g bXlwdWJsaWNhdGlvbiBTRVQgVEFCTEUgdXNlcnMgKHVzZXJfaWQsIGZpcnN0bmFtZSwgbGFzdG5h bWUpLAogICA8cGFyYT4KICAgIFJlcGxhY2UgdGhlIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIHRhYmxl IGxpc3Q6CiA8cHJvZ3JhbWxpc3Rpbmc+Ci1BTFRFUiBQVUJMSUNBVElPTiBteXB1YmxpY2F0aW9u IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodXNlcnMsIGRlcGFydG1lbnRzKTsKK0FMVEVS IFBVQkxJQ0FUSU9OIG15cHVibGljYXRpb24gU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB1 c2VycywgZGVwYXJ0bWVudHMpOwogPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CiAKICAgPHBhcmE+ CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAppbmRleCA3NzA2NmVmNjgw Yi4uOTdjMThlNWNmMmYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1Ymxp Y2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dt bApAQCAtMzIsNyArMzIsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fYWxsX29iamVjdDwvcmVwbGFjZWFibGU+ IGlzIG9uZSBvZjo8L3BocmFzZT4KIAotICAgIEFMTCBUQUJMRVMgWyBFWENFUFQgVEFCTEUgKCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFj ZWFibGU+IFssIC4uLiBdICkgXQorICAgIEFMTCBUQUJMRVMgWyBFWENFUFQgKFRBQkxFIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNlcHRfdGFibGVfb2JqZWN0PC9yZXBsYWNlYWJs ZT4gWywgLi4uIF0gKSBdCiAgICAgQUxMIFNFUVVFTkNFUwogCiA8cGhyYXNlPmFuZCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfYW5kX2NvbHVtbnM8L3JlcGxhY2VhYmxlPiBp czo8L3BocmFzZT4KQEAgLTUzMiw3ICs1MzIsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gYWxsX3Rh Ymxlc19zZXF1ZW5jZXMgRk9SIEFMTCBUQUJMRVMsIEFMTCBTRVFVRU5DRVM7CiAgICBDcmVhdGUg YSBwdWJsaWNhdGlvbiB0aGF0IHB1Ymxpc2hlcyBhbGwgY2hhbmdlcyBpbiBhbGwgdGFibGVzIGV4 Y2VwdAogICAgPHN0cnVjdG5hbWU+dXNlcnM8L3N0cnVjdG5hbWU+IGFuZCA8c3RydWN0bmFtZT5k ZXBhcnRtZW50czwvc3RydWN0bmFtZT46CiA8cHJvZ3JhbWxpc3Rpbmc+Ci1DUkVBVEUgUFVCTElD QVRJT04gYWxsX3RhYmxlc19leGNlcHQgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1c2Vy cywgZGVwYXJ0bWVudHMpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF90YWJsZXNfZXhjZXB0IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdXNlcnMsIGRlcGFydG1lbnRzKTsKIDwvcHJvZ3Jh bWxpc3Rpbmc+CiAgIDwvcGFyYT4KIApAQCAtNTQxLDcgKzU0MSw3IEBAIENSRUFURSBQVUJMSUNB VElPTiBhbGxfdGFibGVzX2V4Y2VwdCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHVzZXJz LCBkZXBhcnRtCiAgICBhbGwgY2hhbmdlcyBpbiBhbGwgdGFibGVzIGV4Y2VwdCA8c3RydWN0bmFt ZT51c2Vyczwvc3RydWN0bmFtZT4gYW5kCiAgICA8c3RydWN0bmFtZT5kZXBhcnRtZW50czwvc3Ry dWN0bmFtZT46CiA8cHJvZ3JhbWxpc3Rpbmc+Ci1DUkVBVEUgUFVCTElDQVRJT04gYWxsX3NlcXVl bmNlc190YWJsZXNfZXhjZXB0IEZPUiBBTEwgU0VRVUVOQ0VTLCBBTEwgVEFCTEVTIEVYQ0VQVCBU QUJMRSAodXNlcnMsIGRlcGFydG1lbnRzKTsKK0NSRUFURSBQVUJMSUNBVElPTiBhbGxfc2VxdWVu Y2VzX3RhYmxlc19leGNlcHQgRk9SIEFMTCBTRVFVRU5DRVMsIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSB1c2VycywgZGVwYXJ0bWVudHMpOwogPC9wcm9ncmFtbGlzdGluZz4KICAgPC9wYXJhPgog IDwvcmVmc2VjdDE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCA2M2I2MmM4OWIxMy4uODViMDcwMWRlOWUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueQpAQCAtMTA4MDIsNyArMTA4MDIsNyBAQCBBbHRlck93bmVyU3RtdDogQUxURVIg QUdHUkVHQVRFIGFnZ3JlZ2F0ZV93aXRoX2FyZ3R5cGVzIE9XTkVSIFRPIFJvbGVTcGVjCiAgKgog ICogcHViX2FsbF9vYmpfdHlwZSBpcyBvbmUgb2Y6CiAgKgotICoJCVRBQkxFUyBbRVhDRVBUIFRB QkxFICggdGFibGUgWywgLi4uXSApXQorICoJCVRBQkxFUyBbRVhDRVBUIChUQUJMRSB0YWJsZSBb LCAuLi5dICldCiAgKgkJU0VRVUVOQ0VTCiAgKgogICogQ1JFQVRFIFBVQkxJQ0FUSU9OIEZPUiBw dWJfb2JqIFssIC4uLl0gW1dJVEggb3B0aW9uc10KQEAgLTEwOTQ1LDcgKzEwOTQ1LDcgQEAgcHVi X29ial9saXN0OglQdWJsaWNhdGlvbk9ialNwZWMKIAk7CiAKIG9wdF9wdWJfZXhjZXB0X2NsYXVz ZToKLQkJCUVYQ0VQVCBUQUJMRSAnKCcgcHViX2V4Y2VwdF9vYmpfbGlzdCAnKScJeyAkJCA9ICQ0 OyB9CisJCQlFWENFUFQgJygnIFRBQkxFIHB1Yl9leGNlcHRfb2JqX2xpc3QgJyknCXsgJCQgPSAk NDsgfQogCQkJfCAvKkVNUFRZKi8JCQkJCQkJCQl7ICQkID0gTklMOyB9CiAJCTsKIApAQCAtMTA5 OTksNyArMTA5OTksNyBAQCBwdWJfZXhjZXB0X29ial9saXN0OiBQdWJsaWNhdGlvbkV4Y2VwdE9i alNwZWMKICAqCiAgKiBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBwdWJfb2JqIFssIC4uLl0K ICAqCi0gKiBBTFRFUiBQVUJMSUNBVElPTiBuYW1lIFNFVCBBTEwgVEFCTEVTIFsgRVhDRVBUIFRB QkxFICggdGFibGVfbmFtZSBbLCAuLi5dICkgXQorICogQUxURVIgUFVCTElDQVRJT04gbmFtZSBT RVQgQUxMIFRBQkxFUyBbIEVYQ0VQVCAoIFRBQkxFIHRhYmxlX25hbWUgWywgLi4uXSApIF0KICAq CiAgKiBwdWJfb2JqIGlzIG9uZSBvZjoKICAqCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCAxMzcxNjFhYTVlMC4u NzZmZjU0YWRhOTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIv c3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtNDcxMSw3ICs0NzExLDcgQEAgZHVtcFB1Ymxp Y2F0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFB1YmxpY2F0aW9uSW5mbyAqcHViaW5mbykKIAkJ CVRhYmxlSW5mbyAgKnRiaW5mbyA9IChUYWJsZUluZm8gKikgY2VsbC0+cHRyOwogCiAJCQlpZiAo KytuX2V4Y2VwdCA9PSAxKQotCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIEVYQ0VQ VCBUQUJMRSAoIik7CisJCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgRVhDRVBUIChU QUJMRSAiKTsKIAkJCWVsc2UKIAkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgIik7 CiAJCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIk9OTFkgJXMiLCBmbXRRdWFsaWZpZWREdW1w YWJsZSh0YmluZm8pKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKaW5kZXggNmQxZDM4MTI4ZmMu LjY1NmY0NGViNTE5IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5w bAorKysgYi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbApAQCAtMzIwMyw5ICszMjAz LDkgQEAgbXkgJXRlc3RzID0gKAogCSdDUkVBVEUgUFVCTElDQVRJT04gcHViOCcgPT4gewogCQlj cmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgPT4KLQkJICAnQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChkdW1wX3Rlc3QudGVzdF90YWJs ZSk7JywKKwkJICAnQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBU IChUQUJMRSBkdW1wX3Rlc3QudGVzdF90YWJsZSk7JywKIAkJcmVnZXhwID0+IHFyL14KLQkJCVxR Q1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChPTkxZ IGR1bXBfdGVzdC50ZXN0X3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBk ZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFM TCBUQUJMRVMgRVhDRVBUIChUQUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X3RhYmxlKSBXSVRIIChw dWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKIAkJCS94bSwK IAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEsIH0sCiAJfSwK QEAgLTMyMTMsOSArMzIxMyw5IEBAIG15ICV0ZXN0cyA9ICgKIAknQ1JFQVRFIFBVQkxJQ0FUSU9O IHB1YjknID0+IHsKIAkJY3JlYXRlX29yZGVyID0+IDUwLAogCQljcmVhdGVfc3FsID0+Ci0JCSAg J0NSRUFURSBQVUJMSUNBVElPTiBwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoZHVt cF90ZXN0LnRlc3RfdGFibGUsIGR1bXBfdGVzdC50ZXN0X3NlY29uZF90YWJsZSk7JywKKwkJICAn Q1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBkdW1w X3Rlc3QudGVzdF90YWJsZSwgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxlKTsnLAogCQlyZWdl eHAgPT4gcXIvXgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRBQkxFUyBF WENFUFQgVEFCTEUgKE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUsIE9OTFkgZHVtcF90ZXN0LnRl c3Rfc2Vjb25kX3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUs IHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJM RVMgRVhDRVBUIChUQUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X3RhYmxlLCBPTkxZIGR1bXBfdGVz dC50ZXN0X3NlY29uZF90YWJsZSkgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVs ZXRlLCB0cnVuY2F0ZScpO1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0 aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCX0sCkBAIC0zMjIzLDkgKzMyMjMsOSBAQCBteSAldGVz dHMgPSAoCiAJJ0NSRUFURSBQVUJMSUNBVElPTiBwdWIxMCcgPT4gewogCQljcmVhdGVfb3JkZXIg PT4gOTIsCiAJCWNyZWF0ZV9zcWwgPT4KLQkJICAnQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwIEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfcGFy ZW50KTsnLAorCQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHViMTAgRk9SIEFMTCBUQUJMRVMgRVhD RVBUIChUQUJMRSBkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJlbnQpOycsCiAJCXJlZ2V4 cCA9PiBxci9eCi0JCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRBQkxFUyBF WENFUFQgVEFCTEUgKE9OTFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfcGFyZW50LCBPTkxZ IGR1bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX2NoaWxkKSBXSVRIIChwdWJsaXNoID0gJ2luc2Vy dCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9O IHB1YjEwIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05MWSBkdW1wX3Rlc3QudGVzdF9p bmhlcml0YW5jZV9wYXJlbnQsIE9OTFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfY2hpbGQp IFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQog CQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwg fSwKIAl9LApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3Jj L2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmluZGV4IDEwYTZiOGY0Mjg0Li44OWI5NzgxYjMw YyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAtMjMyNCwxMSArMjMyNCwxMSBAQCBtYXRjaF9w cmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIs ICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIpKQogCQlDT01QTEVURV9XSVRI KCJUQUJMRVMiKTsKIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1h dGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJMRVMiKSkKLQkJQ09NUExFVEVfV0lUSCgiRVhDRVBU IFRBQkxFICgiKTsKKwkJQ09NUExFVEVfV0lUSCgiRVhDRVBUICggVEFCTEUiKTsKIAllbHNlIGlm IChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIs ICJUQUJMRVMiLCAiRVhDRVBUIikpCi0JCUNPTVBMRVRFX1dJVEgoIlRBQkxFICgiKTsKLQllbHNl IGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFM TCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIikpCi0JCUNPTVBMRVRFX1dJVEgoIigiKTsK KwkJQ09NUExFVEVfV0lUSCgiKCBUQUJMRSIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwg IlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQi LCAiKCIpKQorCQlDT01QTEVURV9XSVRIKCJUQUJMRSIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkFM VEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJBRER8RFJPUHxTRVQiLCAiVEFCTEVTIiwg IklOIiwgIlNDSEVNQSIpKQogCQlDT01QTEVURV9XSVRIX1FVRVJZX1BMVVMoUXVlcnlfZm9yX2xp c3Rfb2Zfc2NoZW1hcwogCQkJCQkJCQkgIiBBTkQgbnNwbmFtZSBOT1QgTElLRSBFJ3BnXFxcXF8l JSciLApAQCAtMzY4OSwxNiArMzY4OSwxNiBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0 dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRj aEFueSwgIkZPUiIsICJBTEwiKSkKIAkJQ09NUExFVEVfV0lUSCgiVEFCTEVTIiwgIlNFUVVFTkNF UyIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55 LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiKSkKLQkJQ09NUExFVEVfV0lUSCgiRVhDRVBUIFRBQkxF ICgiLCAiV0lUSCAoIik7CisJCUNPTVBMRVRFX1dJVEgoIkVYQ0VQVCAoIFRBQkxFIiwgIldJVEgg KCIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55 LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIikpCi0JCUNPTVBMRVRFX1dJVEgoIlRB QkxFICgiKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRj aEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIpKQotCQlDT01Q TEVURV9XSVRIKCIoIik7Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9O IiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUiLCAi KCIpKQorCQlDT01QTEVURV9XSVRIKCIoIFRBQkxFIik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JF QVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJF WENFUFQiLCAiKCIpKQorCQlDT01QTEVURV9XSVRIKCJUQUJMRSIpOworCWVsc2UgaWYgKE1hdGNo ZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJM RVMiLCAiRVhDRVBUIiwgIigiLCAiVEFCTEUiKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVF UlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVzKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUi LCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQ VCIsICJUQUJMRSIsICIoIiwgTWF0Y2hBbnlOKSAmJiBlbmRzX3dpdGgocHJldl93ZCwgJywnKSkK KwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZP UiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIiwgTWF0Y2hBbnlOKSAm JiBlbmRzX3dpdGgocHJldl93ZCwgJywnKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUlko UXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVzKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAi UFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIs ICJUQUJMRSIsICIoIiwgTWF0Y2hBbnlOKSAmJiAhZW5kc193aXRoKHByZXZfd2QsICcsJykpCisJ ZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1Ii LCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIsIE1hdGNoQW55TikgJiYg IWVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQogCQlDT01QTEVURV9XSVRIKCIpIik7CiAJZWxzZSBp ZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiVEFC TEVTIikpCiAJCUNPTVBMRVRFX1dJVEgoIklOIFNDSEVNQSIpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3B1YmxpY2F0aW9uLm91dAppbmRleCA5N2E1Mjg4YTcyOC4uZGVjMzM4ZGQ3NzQgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CkBAIC0xMjcsNyArMTI3 LDcgQEAgVGFibGVzIGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QiCiAKIC0tIGZhaWwgLSBT RVQgQUxMIFRBQkxFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSAnRk9SIFRBQkxFJyBwdWJsaWNhdGlv bgotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENF UFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRh YmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIEVSUk9SOiAg cHVibGljYXRpb24gInRlc3RwdWJfZm9ydGFibGUiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFRBQkxF UyBvcGVyYXRpb25zCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVibGlj YXRpb24gdG8gaGF2ZSBiZWVuIGRlZmluZWQgYXMgRk9SIEFMTCBUQUJMRVMuCiBBTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTOwpAQCAtMjIxLDcgKzIyMSw3 IEBAIE5vdC1udWxsIGNvbnN0cmFpbnRzOgogKDEgcm93KQogCiAtLSBmYWlsIC0gU0VUIEFMTCBU QUJMRVMgaXMgbm90IGFsbG93ZWQgZm9yIGEgc2NoZW1hIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHB1 Yl90ZXN0LnRlc3RwdWJfbm9wayk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVt YSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHB1Yl90ZXN0LnRlc3RwdWJfbm9wayk7CiBF UlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnNjaGVtYSIgZG9lcyBub3Qgc3VwcG9ydCBB TEwgVEFCTEVTIG9wZXJhdGlvbnMKIERFVEFJTDogIFRoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHRo ZSBwdWJsaWNhdGlvbiB0byBoYXZlIGJlZW4gZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy4KIEFM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTOwpAQCAtMjMy LDcgKzIzMiw3IEBAIERFVEFJTDogIFRoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJsaWNh dGlvbiB0byBoYXZlIGJlZW4gZGVmaW5lZCBhcyBGT1IgQUxMCiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VS Uk9SJzsKIC0tIFNwZWNpZnkgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBv ZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0 ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMik7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0 cHViX3RibDEsIHRlc3RwdWJfdGJsMik7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNl cHR0YWJsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCiAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwg VXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSBy b290IHwgRGVzY3JpcHRpb24gCkBAIC0yNDMsNyArMjQzLDcgQEAgRXhjZXB0IHRhYmxlczoKICAg ICAicHVibGljLnRlc3RwdWJfdGJsMiIKIAogLS0gU3BlY2lmeSB0YWJsZSBpbiB0aGUgRVhDRVBU IFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1DUkVBVEUgUFVC TElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0 ZXN0cHViX3RibDEpOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlv biB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEKICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwg RGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNj cmlwdGlvbiAKQEAgLTI3OCw3ICsyNzgsNyBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUzsKICgxIHJvdykKIAogLS0gUmVw bGFjZSB0aGUgcHVibGljYXRpb24gRVhDRVBUIHRhYmxlIGxpc3Qgd2l0aCBhIHNwZWNpZmljIEVY Q0VQVCB0YWJsZS4KLUFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2Vw dHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0FMVEVS IFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFC TEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFi bGVzX2V4Y2VwdHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5z IHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTMxNyw3ICszMTcsNyBAQCBUYWJsZXM6CiAg ICAgInB1YmxpYy50ZXN0cHViX3RibF9wYXJlbnQiCiAKIC0tIExpc3QgdGhlIHBhcmVudCB0YWJs ZSBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSAod2l0aG91dCBPTkxZIG9yICcqJykKLUNSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3Rw dWJfdGJsX3BhcmVudCk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjUgRk9SIEFMTCBUQUJM RVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQpOwogXGRScCsgdGVzdHB1YjUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQdWJsaWNhdGlvbiB0ZXN0cHViNQogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAt MzI4LDcgKzMyOCw3IEBAIEV4Y2VwdCB0YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibF9w YXJlbnQiCiAKIC0tIEVYQ0VQVCB3aXRoICcqJzogbGlzdCB0aGUgdGFibGUgYW5kIGFsbCBpdHMg ZGVzY2VuZGFudHMgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UKLUNSRUFURSBQVUJMSUNBVElP TiB0ZXN0cHViNiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsX3BhcmVu dCAqKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNiBGT1IgQUxMIFRBQkxFUyBFWENFUFQg KFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCAqKTsKIFxkUnArIHRlc3RwdWI2CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1YjYKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg QWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTMzOSw3ICsz MzksNyBAQCBFeGNlcHQgdGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmxfcGFyZW50Igog CiAtLSBFWENFUFQgd2l0aCBPTkxZOiBsaXN0IHRoZSB0YWJsZSBpbiB0aGUgRVhDRVBUIFRBQkxF IGNsYXVzZSwgYnV0IG5vdCBpdHMgZGVzY2VuZGFudHMKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0 cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50 KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRB QkxFIE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50KTsKIFxkUnArIHRlc3RwdWI3CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1YjcKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg QWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTM1Nyw3ICsz NTcsNyBAQCBEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWIzLCB0ZXN0cHViNCwgdGVzdHB1YjUsIHRl c3RwdWI2LCB0ZXN0cHViNzsKIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENS RUFURSBUQUJMRSB0ZXN0cHViX3Jvb3QoYSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRShhKTsKIENS RUFURSBUQUJMRSB0ZXN0cHViX3BhcnQxIFBBUlRJVElPTiBPRiB0ZXN0cHViX3Jvb3QgRk9SIFZB TFVFUyBGUk9NICgwKSBUTyAoMTAwKTsKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOCBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfcm9vdCk7CitDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3Jvb3QpOwog XGRScCsgdGVzdHB1Yjg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjgKICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRh dGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3Qg fCBEZXNjcmlwdGlvbiAKQEAgLTM4NSw3ICszODUsNyBAQCBFeGNlcHQgUHVibGljYXRpb25zOgog ICAgICJ0ZXN0cHViOCIKIE51bWJlciBvZiBwYXJ0aXRpb25zOiAxIChVc2UgXGQrIHRvIGxpc3Qg dGhlbS4pCiAKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOSBGT1IgQUxMIFRBQkxFUyBFWENF UFQgVEFCTEUgKHRlc3RwdWJfcGFydDEpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI5IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl9wYXJ0MSk7CiBFUlJPUjogIGNhbm5v dCB1c2UgcHVibGljYXRpb24gRVhDRVBUIGNsYXVzZSBmb3IgcmVsYXRpb24gInRlc3RwdWJfcGFy dDEiCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBpbmRpdmlk dWFsIHBhcnRpdGlvbnMuCiBDUkVBVEUgVEFCTEUgdGFiX21haW4gKGEgaW50KSBQQVJUSVRJT04g QlkgUkFOR0UoYSk7CkBAIC0xNTgxLDcgKzE1ODEsNyBAQCBSRVNFVCBjbGllbnRfbWluX21lc3Nh Z2VzOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgT1dORVIgVE8gcmVncmVzc19wdWJsaWNh dGlvbl91c2VyMzsKIFNFVCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjM7CiAtLSBmYWls IC0gU0VUIEFMTCBUQUJMRVMgb24gYSBwdWJsaWNhdGlvbiByZXF1aXJlcyBzdXBlcnVzZXIgcHJp dmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWlsCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi NSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7IC0tIGZhaWwKIEVS Uk9SOiAgbXVzdCBiZSBzdXBlcnVzZXIgdG8gYWx0ZXIgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRp b24KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWlsCiBF UlJPUjogIG11c3QgYmUgc3VwZXJ1c2VyIHRvIGFsdGVyIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0 aW9uCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKaW5kZXggNTZlNGJmYmE5NzQuLjE1 NGI1NTJlZmFmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsCkBAIC03NSw3ICs3 NSw3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIFRBQkxFUyBJTiBT Q0hFTUEgcHViX3Rlc3Q7CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCiAKIC0tIGZhaWwgLSBTRVQg QUxMIFRBQkxFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSAnRk9SIFRBQkxFJyBwdWJsaWNhdGlvbgot QUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUgKHRlc3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxl IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIEFMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CiAKIFNFVCBjbGllbnRfbWlu X21lc3NhZ2VzID0gJ0VSUk9SJzsKQEAgLTExMCw3ICsxMTAsNyBAQCBTRUxFQ1QgcHVibmFtZSwg cHViYWxsdGFibGVzIEZST00gcGdfcHVibGljYXRpb24gV0hFUkUgcHVibmFtZSA9ICd0ZXN0cHVi X2ZvcmFsbAogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXMKIAogLS0gZmFpbCAtIFNFVCBBTEwg VEFCTEVTIGlzIG5vdCBhbGxvd2VkIGZvciBhIHNjaGVtYSBwdWJsaWNhdGlvbgotQUxURVIgUFVC TElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChw dWJfdGVzdC50ZXN0cHViX25vcGspOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hl bWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBwdWJfdGVzdC50ZXN0cHViX25vcGspOwog QUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVM7CiAKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTE4LDEwICsx MTgsMTAgQEAgQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJM RVM7CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBj bGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIC0tIFNwZWNpZnkgdGFibGUgbGlzdCBpbiB0 aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1D UkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFM TCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMik7CitDUkVB VEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBU QUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMik7CiBcZFJwKyB0 ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogLS0gU3BlY2lmeSB0YWJsZSBpbiB0aGUg RVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1DUkVB VEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSB0ZXN0cHViX3RibDEpOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFi bGUxCiAtLSBDaGVjayB0aGF0IHRoZSB0YWJsZSBkZXNjcmlwdGlvbiBzaG93cyB0aGUgcHVibGlj YXRpb25zIHdoZXJlIGl0IGlzIGxpc3RlZAogLS0gaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UK QEAgLTEzMiw3ICsxMzIsNyBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxl c19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUzsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVz X2V4Y2VwdHRhYmxlCiAKIC0tIFJlcGxhY2UgdGhlIHB1YmxpY2F0aW9uIEVYQ0VQVCB0YWJsZSBs aXN0IHdpdGggYSBzcGVjaWZpYyBFWENFUFQgdGFibGUuCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0 cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHRlc3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19l eGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7CiBc ZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogCiBSRVNFVCBjbGllbnRfbWlu X21lc3NhZ2VzOwpAQCAtMTUxLDEzICsxNTEsMTMgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3Rw dWIzIEZPUiBUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQ7CiBDUkVBVEUgUFVCTElDQVRJT04gdGVz dHB1YjQgRk9SIFRBQkxFIE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50OwogXGRScCsgdGVzdHB1YjQK IC0tIExpc3QgdGhlIHBhcmVudCB0YWJsZSBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSAod2l0 aG91dCBPTkxZIG9yICcqJykKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxMIFRB QkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsX3BhcmVudCk7CitDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1YjUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibF9wYXJl bnQpOwogXGRScCsgdGVzdHB1YjUKIC0tIEVYQ0VQVCB3aXRoICcqJzogbGlzdCB0aGUgdGFibGUg YW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UKLUNSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViNiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3Rw dWJfdGJsX3BhcmVudCAqKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNiBGT1IgQUxMIFRB QkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCAqKTsKIFxkUnArIHRlc3RwdWI2 CiAtLSBFWENFUFQgd2l0aCBPTkxZOiBsaXN0IHRoZSB0YWJsZSBpbiB0aGUgRVhDRVBUIFRBQkxF IGNsYXVzZSwgYnV0IG5vdCBpdHMgZGVzY2VuZGFudHMKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0 cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50 KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRB QkxFIE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50KTsKIFxkUnArIHRlc3RwdWI3CiAKIFJFU0VUIGNs aWVudF9taW5fbWVzc2FnZXM7CkBAIC0xNzAsMTEgKzE3MCwxMSBAQCBEUk9QIFBVQkxJQ0FUSU9O IHRlc3RwdWIzLCB0ZXN0cHViNCwgdGVzdHB1YjUsIHRlc3RwdWI2LCB0ZXN0cHViNzsKIFNFVCBj bGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBUQUJMRSB0ZXN0cHViX3Jvb3Qo YSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRShhKTsKIENSRUFURSBUQUJMRSB0ZXN0cHViX3BhcnQx IFBBUlRJVElPTiBPRiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMTAwKTsK LUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHRlc3RwdWJfcm9vdCk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFMTCBUQUJM RVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3Jvb3QpOwogXGRScCsgdGVzdHB1Yjg7CiBcZCB0ZXN0 cHViX3BhcnQxCiBcZCB0ZXN0cHViX3Jvb3QKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfcGFydDEpOworQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl9wYXJ0 MSk7CiAKIENSRUFURSBUQUJMRSB0YWJfbWFpbiAoYSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRShh KTsKIC0tIEF0dGFjaGluZyBhIHBhcnRpdGlvbiBpcyBub3QgYWxsb3dlZCBpZiB0aGUgcGFydGl0 aW9uZWQgdGFibGUgYXBwZWFycyBpbiBhCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBSRVNFVCBjbGll bnRfbWluX21lc3NhZ2VzOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgT1dORVIgVE8gcmVn cmVzc19wdWJsaWNhdGlvbl91c2VyMzsKIFNFVCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNl cjM7CiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMgb24gYSBwdWJsaWNhdGlvbiByZXF1aXJlcyBz dXBlcnVzZXIgcHJpdmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWlsCitBTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7 IC0tIGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBm YWlsCiAKIFNFVCBST0xFIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzN19leGNlcHQucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzdfZXhjZXB0LnBsCmluZGV4IGNiZmU0MjAxMWVmLi4xM2JmYTk3ODM1NiAxMDA2NDQK LS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbAorKysgYi9zcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMzdfZXhjZXB0LnBsCkBAIC0zMSw3ICszMSw3IEBAIHN1YiB0ZXN0 X2V4Y2VwdF9yb290X3BhcnRpdGlvbgogCSMgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Qgc2V0 dGluZy4KIAkkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAkJJ3Bvc3RncmVzJywgcXEoCi0J CUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViX3BhcnQgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRB QkxFIChyb290MSkgV0lUSCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSAkcHVidmlhcm9v dCk7CisJCUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViX3BhcnQgRk9SIEFMTCBUQUJMRVMgRVhD RVBUIChUQUJMRSByb290MSkgV0lUSCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSAkcHVi dmlhcm9vdCk7CiAJCUlOU0VSVCBJTlRPIHJvb3QxIFZBTFVFUyAoMSksICgxMDEpOwogCSkpOwog CSRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLApAQCAtOTQsNyArOTQsNyBA QCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoCiAjIHRvIHZlcmlmeSBleGNsdXNpb24gYmVo YXZpb3IgZm9yIGluaGVyaXRlZCB0YWJsZXMsIGluY2x1ZGluZyB0aGUgZWZmZWN0IG9mCiAjIE9O TFkgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UuCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAotCSJDUkVBVEUgUFVCTElDQVRJT04gdGFiX3B1YiBGT1IgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHRhYjEsIHBhcmVudCwgb25seSBwYXJlbnQxKSIKKwkiQ1JFQVRFIFBV QkxJQ0FUSU9OIHRhYl9wdWIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0YWIxLCBwYXJl bnQsIG9ubHkgcGFyZW50MSkiCiApOwogCiAjIENyZWF0ZSBhIGxvZ2ljYWwgcmVwbGljYXRpb24g c2xvdCB0byBoZWxwIHdpdGggbGF0ZXIgdGVzdHMuCkBAIC0xNTgsNyArMTU4LDcgQEAgJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiMiAoYSBp bnQpIik7CiAKICMgUmVwbGFjZSB0aGUgRVhDRVBUIFRBQkxFIGxpc3Qgc28gdGhhdCBvbmx5IHRh YjIgaXMgZXhjbHVkZWQuCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAot CSJBTFRFUiBQVUJMSUNBVElPTiB0YWJfcHViIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAo dGFiMikiKTsKKwkiQUxURVIgUFVCTElDQVRJT04gdGFiX3B1YiBTRVQgQUxMIFRBQkxFUyBFWENF UFQgKFRBQkxFIHRhYjIpIik7CiAKICMgUmVmcmVzaCB0aGUgc3Vic2NyaXB0aW9uIHNvIHRoZSBz dWJzY3JpYmVyIHBpY2tzIHVwIHRoZSB1cGRhdGVkCiAjIHB1YmxpY2F0aW9uIGRlZmluaXRpb24g YW5kIGluaXRpYXRlcyB0YWJsZSBzeW5jaHJvbml6YXRpb24uCkBAIC0yMzEsNyArMjMxLDcgQEAg dGVzdF9leGNlcHRfcm9vdF9wYXJ0aXRpb24oJ3RydWUnKTsKICMgRk9SIFRBQkxFLgogJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCi0JQ1JFQVRFIFBVQkxJQ0FU SU9OIHRhcF9wdWIxIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGFiMSk7CisJQ1JFQVRF IFBVQkxJQ0FUSU9OIHRhcF9wdWIxIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGFiMSk7 CiAJQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9wdWIyIEZPUiBUQUJMRSB0YWIxOwogCUlOU0VSVCBJ TlRPIHRhYjEgVkFMVUVTKDEpOwogKSk7Ci0tIAoyLjQzLjAKCg== --000000000000b2267f064d0f333a--