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 1w61xf-003sTK-0Y for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 07:50:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w61xd-008G4x-29 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 07:50:30 +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 1w61xd-008G4b-00 for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 07:50:29 +0000 Received: from mail-oo1-xc36.google.com ([2607:f8b0:4864:20::c36]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w61xb-00000001HYY-1VPn for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 07:50:28 +0000 Received: by mail-oo1-xc36.google.com with SMTP id 006d021491bc7-67c2b70124cso1039287eaf.1 for ; Fri, 27 Mar 2026 00:50:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774597827; cv=none; d=google.com; s=arc-20240605; b=R/C8txfemAFViEQ8ysk7dF/Q07iNG4CFHAsTvJdDxcYpfUGS5GtAaNd8oDuREWhhII RPAzkdOscDKsIPRQT4r4Tpi4iDR4BAfz6kvnyjl9/c82kVn5vhdWoP8TLltrMCjXLR0D Puw1nXSvmk5qpLkMbG9rSVefWM/y7MHbd44ZUPwC/412QaVTk68UlIwSiAGqHfrD15Nj 1MRqKTVDcUB943hJtwc9sK8AXe/6mmlBbZaahnbIqTZ5xh9eBxYd7gKiTTzMB8qutXU1 95Ps47bpAz+/m4iG0QH6cxix+ydzUE2P9fYWHKAnFfhGQxG0T7GnuMGsj2pSeOOzrndf DhOQ== 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=h+UuoQYSil8dYoP0UNtgOJ2ihccTbC5NvSFK5eifdwk=; fh=79GiEq2oIrcupkiUgOssWShkd9mnf91PurA+HI6+gyg=; b=i3l56mFFGl62WB1K9m6S4qYSI1J1KRgYWxVM56ftvrhj2nQ8LHxm5Fcsra+HdoxHCR Q1xymbhGlj5FNS2Jf1Vh0g3mtuWxL2H0hkNK9fLpp20Ruk3wOMeEdd4vr4nHcJFxGal7 bBEYr+Y0ry7198eJZPdnuMIMI5KsnAkKfWc3rX5QeRF/8uETj00kFVQxzHpucsWzcMId Nwzt3ZSKLwPOFG2ovjEtc2SqTb5caShLpt9xxmSOk37Spf3SduqNHkrTnfzq29Um014l FnulffiBWZpBu3H/KNS5nFnnE6GoGQ/i3R4wIAB8b+dJ8+82YopQkeLS1YSNJDptkABj tZXw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774597827; x=1775202627; 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=h+UuoQYSil8dYoP0UNtgOJ2ihccTbC5NvSFK5eifdwk=; b=gBV2DkGBE3YR5u0YNRosDIhmyTkGmuchVYvTdJV9rNzYzVR6r039WjODlIuvNLhdZR JtwlRxNwHcbca/vRtSpMNIbgeEUuzL+2QbNTro9HGFqqi0uWvbaUOtFq2dx6UUnzelJH n6G6UBqhBxIh/tgEEmKW+82ueJ2d8vNACtBcwO9zsDV5HneoBYj/5W2GpRkk1lYmH/P0 Ewp6SnLyn/+etd+yIIamHG06lmjYWHacWJvvX8CPrOXPwLNe31k8eV+H/R2E7mRimo/A lZDYDCrthDHaIYXGvzZtA+wyHosO/mxu9cAV4iRWuBvxeZ46US+q4WV9nx5KHxz0MsMY hxzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774597827; x=1775202627; 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=h+UuoQYSil8dYoP0UNtgOJ2ihccTbC5NvSFK5eifdwk=; b=PK49kJ7VxK8SbTC0uB1grsM0kngeEIoswXV6NilFVyJ7hbgyToJS+BPozfgLK6Nx/+ c2cbZRkfjDQ+wF1SbaRKm5uhIahkE+0YuKauT8gZ1/xsokxFaJ0QH1+xK9q94Qf7ZdVb 3cpFQsgijXgfg6Zk+2aFGz1e8JwzNquWWht3pQXH1eGRal+iSIso5QtiMModptE7u4/3 103o4eTj6M91Au9uGU4ctHEP2Ym8F+Ruj3d01I9COnD5Ho+G0giXSdZNAHSN8hFSZgkj dLj9L0U3CcfoO35DBdelQ4lROC3HO2YeaWhBeMImhfhs1lBbL7YiQOCqvJr4XnRw2bA/ uqaQ== X-Forwarded-Encrypted: i=1; AJvYcCX73IzAU7KeoBsm38ChtNTFW9Y1SciQPpfoM0IzXjTPFtqg0rYFUo60ft33qXLgMuuImJFkx9ARnZ5psrVR@lists.postgresql.org X-Gm-Message-State: AOJu0YzqCFSZPk0b+Z0WdvKwa4XCIWoFWZw5VkOtYQN1t/sVpX3Vw5sL vMo3Asy3npceuPuLxJKS0Rz9hkU92Remy8r8tEor8DnbE9+Lf4hsQV1vinEL3yUUS2alOGBS8dB g3Wfvkm3WTpvYLJMHcmD/o6NHNeUX70s= X-Gm-Gg: ATEYQzw8K/faTdZe36vugy8iabblEeqGbcW52fommLRQZZcN0hDD5LMoujGqdHFU28B 8YDr2+/xTKss1GXymkm4YSLzquJ/HBvGAXBpH/d8Ui4MWGO5r0xH1NhLvmsCRDfsawTIEFyfxok 8kk8TmAT5k4bR1shWqpuyVhvcEG+SsOMiD5W3JtOyYXdw3gcegCqeJY3cZE0SNhMxa7Fwf06T3d fqt3AJ5ypSiCw7wbi79XnkDJWh4u/UxtmQDAlc1tbLD93BwN50Q7kLUeeG8SLcFIYFJWLcvrxTY tNwXL29GHQ== X-Received: by 2002:a05:6820:168e:b0:67c:250c:ac45 with SMTP id 006d021491bc7-67e1867a3e2mr726153eaf.32.1774597826687; Fri, 27 Mar 2026 00:50:26 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Shlok Kyal Date: Fri, 27 Mar 2026 13:20:14 +0530 X-Gm-Features: AQROBzAHKDOKqUy2_1NvwLgu3JBmUQwr2xrAL9ivxzClYBWAMUh5JrY1Dc3C_O0 Message-ID: Subject: Re: Skipping schema changes in publication To: Peter Smith Cc: vignesh C , Amit Kapila , Dilip Kumar , shveta malik , Masahiko Sawada , "Hayato Kuroda (Fujitsu)" , Nisha Moond , Ashutosh Sharma , "David G. Johnston" , "Zhijie Hou (Fujitsu)" , YeXiu <1518981153@qq.com>, Ian Lawrence Barwick , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000156666064dfcc143" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000156666064dfcc143 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 27 Mar 2026 at 07:06, Peter Smith wrote: > > On Fri, Mar 27, 2026 at 2:24=E2=80=AFAM vignesh C w= rote: > > > ... > > > By now multiple people (Dilip Kumar, Peter Smith, Sawada Masahiko) > > > have preferred the alternate syntax, to move TABLE inside () to make > > > specifying inclusion and exclusion list in a similar way. Unless we > > > have more feedback, I think we can change it now. > > > > Attached patch has the changes for the same. > > > > Hi Vignesh. > > Here are some review comments for the new syntax patch 0001. > > =3D=3D=3D=3D=3D=3D > doc/src/sgml/ref/create_publication.sgml > > 1. > - ALL TABLES [ EXCEPT TABLE ( class=3D"parameter">except_table_object [, ... ] ) ] > + ALL TABLES [ EXCEPT ( TABLE class=3D"parameter">except_table_object [, ... ] ) ] > > I don't think this is correct. To have the same flexibility as the > TABLE inclusion lists, the TABLE keyword needs to be inside the > , and there need to be more ellipses there too. > > e.g. Like this: > > and publication_all_object is one of: > ALL TABLES [ EXCEPT ( except_table_object [, ... ] ) ] > ALL SEQUENCES > > and except_table_object is: > TABLE { [ ONLY ] table_name [ * ] } [, ...] > > ~~~ > > 2. > The CREATE PUBLICATION page still refers to "EXCEPT TABLE" in multiple pl= aces. > > Perhaps now it should be called "EXCEPT (TABLE) clause" or just > "EXCEPT clause" or something else. > > =3D=3D=3D=3D=3D=3D > doc/src/sgml/ref/alter_publication.sgml > > 3. > - ALL TABLES [ EXCEPT TABLE ( class=3D"parameter">except_table_object [, ... ] ) ] > + ALL TABLES [ EXCEPT ( TABLE class=3D"parameter">except_table_object [, ... ] ) ] > > This ALTER PUBLICATION synopsis should have the same/similar changes > as in the above review comment above for the CREATE PUBLICATION > synopsis. > > e.g. > > and publication_all_object is one of: > ALL TABLES [ EXCEPT ( except_table_object [, ... ] ) ] > ALL SEQUENCES > > and except_table_object is: > TABLE { [ ONLY ] table_name [ * ] } [, ...] > > ~~~ > > 4. > Also, similar to the earlier review comment, this ALTER PUBLICATION > page still refers to "EXCEPT TABLE" in multiple places. > > Perhaps now it should be called "EXCEPT (TABLE) clause" or just "EXCEPT c= lause". > > =3D=3D=3D=3D=3D=3D > src/backend/parser/gram.y > > 5. > - EXCEPT TABLE '(' pub_except_obj_list ')' { $$ =3D $4; } > + EXCEPT '(' TABLE pub_except_obj_list ')' { $$ =3D $4; } > > Same review comment as my above synopsis comments. > > This patch implementation only supports EXCEPT (TABLE t1,t2,t3); > > Specifically, it doesn't have the same flexibility you get from a > table inclusion list. > > e.g. IMO cmd should also work for: > EXCEPT (TABLE t1, TABLE t2,t3); > etc. > > =3D=3D=3D=3D=3D=3D > src/bin/pg_dump/pg_dump.c > > 6. > Code comment still refers to "EXCEPT TABLE clause", but it doesn't > look like that anymore. > > =3D=3D=3D=3D=3D=3D > src/test/regress/sql/publication.sql > > 7. > Comments still refer to "EXCEPT TABLE" and "EXCEPT TABLE clause", but > it doesn't look like that anymore. > > ~~~ > > 8. > There needs to be additional tests to confirm that the syntax has the > same flexibility as TABLE inclusion lists do > > e.g. all these variations below are valid and equivalent: > ... EXCEPT (TABLE t1, t2, t3, t4); > ... EXCEPT (TABLE t1, t2, TABLE t3, t4); > ... EXCEPT (TABLE t1, t2, TABLE t3, t4); > ... EXCEPT (TABLE t1, TABLE t2, TABLE t3, TABLE t4); > I have not tested all the scenarios as per Amit's suggestion in [1]. I have just modified an existing test. > =3D=3D=3D=3D=3D=3D > src/test/subscription/t/037_except.pl > > 9. > Comments still refer to "EXCEPT TABLE", but it doesn't look like that any= more. > > =3D=3D=3D=3D=3D=3D > (more files) > > 10. > There are still more source files (not currently part of this patch) > that are still calling this the "EXCEPT TABLE" clause, even though the > syntax is different now. > > e.g. "src/backend/commands/publicationcmds.c" and others. > > Need to search the master source to find every affected comment. > Hi Peter, I have addressed the comments. Attached the updated patch. [1]: https://www.postgresql.org/message-id/CAA4eK1Jjm+w3hEGgsDu_r1Pysez=3D8= mmtGu6=3DXwPE4MuH+eYG8Q@mail.gmail.com Thanks, Shlok Kyal --000000000000156666064dfcc143 Content-Type: application/octet-stream; name="v2-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Disposition: attachment; filename="v2-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn8ljtak0 RnJvbSA5NmFkODVlNjk5MWMwZWVlM2QyZjI1OTk3NTBmNmE4NTM5YzliNTkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjYgTWFyIDIwMjYgMjA6MzA6MTQgKzA1MzAKU3ViamVjdDogW1BBVENIIHYyXSBDaGFu Z2Ugc3ludGF4IG9mIEVYQ0VQVCBUQUJMRSBjbGF1c2UgaW4gcHVibGljYXRpb24KIGNvbW1hbmRz CgpBZGp1c3QgdGhlIHN5bnRheCBvZiB0aGUgRVhDRVBUIGNsYXVzZSBpbiBDUkVBVEUvQUxURVIg UFVCTElDQVRJT04KdG8gbW92ZSB0aGUgVEFCTEUga2V5d29yZCBpbnNpZGUgdGhlIHJlbGF0aW9u IGxpc3QuCgpPbGQgc3ludGF4OgpDUkVBVEUgUFVCTElDQVRJT04gLi4uIEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodDEsIC4uLik7CkFMVEVSIFBVQkxJQ0FUSU9OICAuLi4gU0VUIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFICh0MSwgLi4uKTsKCk5ldyBzeW50YXg6CkNSRUFURSBQVUJMSUNB VElPTiAuLi4gRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0MSwgLi4uKTsKQUxURVIgUFVC TElDQVRJT04gIC4uLiBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHQxLCAuLi4pOwoKVGhp cyBjaGFuZ2UgaXMgcHVyZWx5IHN5bnRhY3RpYyBhbmQgZG9lcyBub3QgYWx0ZXIgYmVoYXZpb3Iu Ci0tLQogZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAgICAgICAgICAgfCAgMiArLQog ZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCAgICAgfCAgMiArLQogZG9jL3Ny Yy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgfCAyNCArKysrKy0tLS0tCiBkb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sICB8IDE2ICsrKy0tLS0KIHNyYy9i YWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgIHwgNTYgKysrKysrKysrKysrKysrKysrKysr LS0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgICAgICAgICAgICAgICAgIHwgMTQgKysrLS0t CiBzcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCAgICAgICAgICB8IDEyICsrLS0tCiBz cmMvYmluL3BzcWwvZGVzY3JpYmUuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmlu L3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAgICAgICAgICB8IDI0ICsrKysrLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0IHwgNTIgKysrKysrKysrKystLS0t LS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwgICAgICB8IDUxICsr KysrKysrKysrLS0tLS0tLS0tLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5w bCAgICAgfCA1MyArKysrKysrKysrKy0tLS0tLS0tLS0KIDEzIGZpbGVzIGNoYW5nZWQsIDE4MiBp bnNlcnRpb25zKCspLCAxMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbAppbmRleCA2MWZmZTgw NGVlOC4uOTJkMTc5YjVlZTAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21s CisrKyBiL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCkBAIC03MDk2LDcgKzcwOTYsNyBAQCBT Q1JBTS1TSEEtMjU2JDxyZXBsYWNlYWJsZT4mbHQ7aXRlcmF0aW9uIGNvdW50Jmd0OzwvcmVwbGFj ZWFibGU+OjxyZXBsYWNlYWJsZT4mbAogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAg ICAgVHJ1ZSBpZiB0aGUgdGFibGUgaXMgZXhjbHVkZWQgZnJvbSB0aGUgcHVibGljYXRpb24uIFNl ZQotICAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMtZm9y LWV4Y2VwdC10YWJsZSI+PGxpdGVyYWw+RVhDRVBUIFRBQkxFPC9saXRlcmFsPjwvbGluaz4uCisg ICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1mb3ItZXhj ZXB0LXRhYmxlIj48bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+PC9saW5rPi4KICAgICAgIDwvcGFy YT48L2VudHJ5PgogICAgICA8L3Jvdz4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2lj YWwtcmVwbGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNn bWwKaW5kZXggNzJjOGQzZDU5YmQuLjIzYjI2ODI3M2I5IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJl cGxpY2F0aW9uLnNnbWwKQEAgLTExOSw3ICsxMTksNyBAQAogICAgPHhyZWYgbGlua2VuZD0ibG9n aWNhbC1yZXBsaWNhdGlvbi1zZXF1ZW5jZXMiLz4uIFdoZW4gYSBwdWJsaWNhdGlvbiBpcwogICAg Y3JlYXRlZCB3aXRoIDxsaXRlcmFsPkZPUiBBTEwgVEFCTEVTPC9saXRlcmFsPiwgYSB0YWJsZSBv ciBzZXQgb2YgdGFibGVzIGNhbgogICAgYmUgZXhwbGljaXRseSBleGNsdWRlZCBmcm9tIHB1Ymxp Y2F0aW9uIHVzaW5nIHRoZQotICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9u LXBhcmFtcy1mb3ItZXhjZXB0LXRhYmxlIj48bGl0ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+ PC9saW5rPgorICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1m b3ItZXhjZXB0LXRhYmxlIj48bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+PC9saW5rPgogICAgY2xh dXNlLgogICA8L3BhcmE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVi bGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbApp bmRleCA3ZjBlNDYzODBjYy4uZWJhMTYyMGFiZGMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1 YmxpY2F0aW9uLnNnbWwKQEAgLTM1LDcgKzM1LDcgQEAgQUxURVIgUFVCTElDQVRJT04gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPHIK IAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9u X2FsbF9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpcyBvbmUgb2Y6PC9waHJhc2U+CiAKLSAgICBBTEwg VEFCTEVTIFsgRVhDRVBUIFRBQkxFICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4 Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KKyAgICBBTEwgVEFC TEVTIFsgRVhDRVBUICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJs ZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KICAgICBBTEwgU0VRVUVOQ0VTCiAK IDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9k cm9wX29iamVjdDwvcmVwbGFjZWFibGU+IGlzIG9uZSBvZjo8L3BocmFzZT4KQEAgLTQ5LDcgKzQ5 LDcgQEAgQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5h bWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPHIKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpczo8 L3BocmFzZT4KIAotICAgIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KKyAgICBUQUJMRSBbIE9OTFkgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCiA8 L3N5bm9wc2lzPgogIDwvcmVmc3lub3BzaXNkaXY+CiAKQEAgLTcxLDcgKzcxLDcgQEAgQUxURVIg UFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2Vh YmxlPiBSRU5BTUUgVE8gPHIKICAgIFRoZSB0aGlyZCB2YXJpYW50IGVpdGhlciBtb2RpZmllcyB0 aGUgaW5jbHVkZWQgdGFibGVzL3NjaGVtYXMKICAgIG9yIG1hcmtzIHRoZSBwdWJsaWNhdGlvbiBh cyA8bGl0ZXJhbD5GT1IgQUxMIFNFUVVFTkNFUzwvbGl0ZXJhbD4gb3IKICAgIDxsaXRlcmFsPkZP UiBBTEwgVEFCTEVTPC9saXRlcmFsPiwgb3B0aW9uYWxseSB1c2luZwotICAgPGxpdGVyYWw+RVhD RVBUIFRBQkxFPC9saXRlcmFsPiB0byBleGNsdWRlIHNwZWNpZmljIHRhYmxlcy4gVGhlCisgICA8 bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IHRvIGV4Y2x1ZGUgc3BlY2lmaWMgdGFibGVzLiBUaGUK ICAgIDxsaXRlcmFsPlNFVCBBTEwgVEFCTEVTPC9saXRlcmFsPiBjbGF1c2UgY2FuIHRyYW5zZm9y bSBhbiBlbXB0eSBwdWJsaWNhdGlvbiwKICAgIG9yIG9uZSBkZWZpbmVkIGZvciA8bGl0ZXJhbD5B TEwgU0VRVUVOQ0VTPC9saXRlcmFsPiAob3IgYm90aAogICAgPGxpdGVyYWw+QUxMIFRBQkxFUzwv bGl0ZXJhbD4gYW5kIDxsaXRlcmFsPkFMTCBTRVFVRU5DRVM8L2xpdGVyYWw+KSwgaW50bwpAQCAt ODAsMTMgKzgwLDEzIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgICBvbmUgZGVmaW5lZCBm b3IgPGxpdGVyYWw+QUxMIFRBQkxFUzwvbGl0ZXJhbD4gKG9yIGJvdGgKICAgIDxsaXRlcmFsPkFM TCBUQUJMRVM8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5BTEwgU0VRVUVOQ0VTPC9saXRlcmFsPiks IGludG8gYQogICAgcHVibGljYXRpb24gZGVmaW5lZCBmb3IgPGxpdGVyYWw+QUxMIFNFUVVFTkNF UzwvbGl0ZXJhbD4uIEluIGFkZGl0aW9uLAotICAgPGxpdGVyYWw+U0VUIEFMTCBUQUJMRVM8L2xp dGVyYWw+IGNhbiBiZSB1c2VkIHRvIHVwZGF0ZSB0aGUKLSAgIDxsaXRlcmFsPkVYQ0VQVCBUQUJM RTwvbGl0ZXJhbD4gbGlzdCBvZiBhIDxsaXRlcmFsPkZPUiBBTEwgVEFCTEVTPC9saXRlcmFsPgot ICAgcHVibGljYXRpb24uIElmIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4gaXMgc3Bl Y2lmaWVkIHdpdGggYSBsaXN0IG9mCi0gICB0YWJsZXMsIHRoZSBleGlzdGluZyBleGNsdXNpb24g bGlzdCBpcyByZXBsYWNlZCB3aXRoIHRoZSBzcGVjaWZpZWQgdGFibGVzLgotICAgSWYgPGxpdGVy YWw+RVhDRVBUIFRBQkxFPC9saXRlcmFsPiBpcyBvbWl0dGVkLCB0aGUgZXhpc3RpbmcgZXhjbHVz aW9uIGxpc3QKLSAgIGlzIGNsZWFyZWQuIFRoZSA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+IGNsYXVz ZSwgd2hlbiB1c2VkIHdpdGggYSBwdWJsaWNhdGlvbgotICAgZGVmaW5lZCB3aXRoIDxsaXRlcmFs PkZPUiBUQUJMRTwvbGl0ZXJhbD4gb3IKKyAgIDxsaXRlcmFsPlNFVCBBTEwgVEFCTEVTPC9saXRl cmFsPiBjYW4gYmUgdXNlZCB0byB1cGRhdGUgdGhlIHRhYmxlcyBzcGVjaWZpZWQKKyAgIGluIHRo ZSA8bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IGNsYXVzZSBvZiBhCisgICA8bGl0ZXJhbD5GT1Ig QUxMIFRBQkxFUzwvbGl0ZXJhbD4gcHVibGljYXRpb24uIElmIDxsaXRlcmFsPkVYQ0VQVDwvbGl0 ZXJhbD4KKyAgIGlzIHNwZWNpZmllZCB3aXRoIGEgbGlzdCBvZiB0YWJsZXMsIHRoZSBleGlzdGlu ZyBleGNsdXNpb24gbGlzdCBpcyByZXBsYWNlZAorICAgd2l0aCB0aGUgc3BlY2lmaWVkIHRhYmxl cy4gSWYgPGxpdGVyYWw+RVhDRVBUPC9saXRlcmFsPiBpcyBvbWl0dGVkLCB0aGUKKyAgIGV4aXN0 aW5nIGV4Y2x1c2lvbiBsaXN0IGlzIGNsZWFyZWQuIFRoZSA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+ IGNsYXVzZSwgd2hlbgorICAgdXNlZCB3aXRoIGEgcHVibGljYXRpb24gZGVmaW5lZCB3aXRoIDxs aXRlcmFsPkZPUiBUQUJMRTwvbGl0ZXJhbD4gb3IKICAgIDxsaXRlcmFsPkZPUiBUQUJMRVMgSU4g U0NIRU1BPC9saXRlcmFsPiwgcmVwbGFjZXMgdGhlIGxpc3Qgb2YgdGFibGVzL3NjaGVtYXMKICAg IGluIHRoZSBwdWJsaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgbGlzdDsgdGhlIGV4aXN0aW5n IHRhYmxlcyBvciBzY2hlbWFzCiAgICB0aGF0IHdlcmUgcHJlc2VudCBpbiB0aGUgcHVibGljYXRp b24gd2lsbCBiZSByZW1vdmVkLgpAQCAtMjYzLDkgKzI2Myw5IEBAIEFMVEVSIFBVQkxJQ0FUSU9O IG15cHVibGljYXRpb24gU0VUIFRBQkxFIHVzZXJzICh1c2VyX2lkLCBmaXJzdG5hbWUsIGxhc3Ru YW1lKSwKIDwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgogCiAgIDxwYXJhPgotICAgUmVwbGFjZSB0 aGUgcHVibGljYXRpb24ncyBFWENFUFQgVEFCTEUgbGlzdDoKKyAgIFJlcGxhY2UgdGhlIHRhYmxl IGxpc3QgaW4gdGhlIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIGNsYXVzZToKIDxwcm9ncmFtbGlzdGlu Zz4KLUFMVEVSIFBVQkxJQ0FUSU9OIG15cHVibGljYXRpb24gU0VUIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFICh1c2VycywgZGVwYXJ0bWVudHMpOworQUxURVIgUFVCTElDQVRJT04gbXlwdWJsaWNh dGlvbiBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHVzZXJzLCBkZXBhcnRtZW50cyk7CiA8 L3Byb2dyYW1saXN0aW5nPjwvcGFyYT4KIAogICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV9wdWJsaWNhdGlvbi5zZ21sCmluZGV4IDc3MDY2ZWY2ODBiLi42MDA0ZTE0MjFkNCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zMiw3ICszMiw3IEBAIENS RUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVw bGFjZWFibGU+CiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w dWJsaWNhdGlvbl9hbGxfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXMgb25lIG9mOjwvcGhyYXNlPgog Ci0gICAgQUxMIFRBQkxFUyBbIEVYQ0VQVCBUQUJMRSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5leGNlcHRfdGFibGVfb2JqZWN0PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdCisg ICAgQUxMIFRBQkxFUyBbIEVYQ0VQVCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5l eGNlcHRfdGFibGVfb2JqZWN0PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdCiAgICAgQUxMIFNF UVVFTkNFUwogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFi bGVfYW5kX2NvbHVtbnM8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KQEAgLTQxLDcgKzQxLDcg QEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1l PC9yZXBsYWNlYWJsZT4KIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAotICAg IFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBs YWNlYWJsZT4gWyAqIF0KKyAgICBUQUJMRSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCiA8L3N5bm9wc2lzPgogIDwv cmVmc3lub3BzaXNkaXY+CiAKQEAgLTE2OSw3ICsxNjksNyBAQCBDUkVBVEUgUFVCTElDQVRJT04g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgICA8 cGFyYT4KICAgICAgIE1hcmtzIHRoZSBwdWJsaWNhdGlvbiBhcyBvbmUgdGhhdCByZXBsaWNhdGVz IGNoYW5nZXMgZm9yIGFsbCB0YWJsZXMgaW4KICAgICAgIHRoZSBkYXRhYmFzZSwgaW5jbHVkaW5n IHRhYmxlcyBjcmVhdGVkIGluIHRoZSBmdXR1cmUuIFRhYmxlcyBsaXN0ZWQgaW4KLSAgICAgIEVY Q0VQVCBUQUJMRSBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgcHVibGljYXRpb24uCisgICAgICA8bGl0 ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IGNsYXVzZSBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgcHVibGlj YXRpb24uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+ CkBAIC0xOTAsNyArMTkwLDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KICAgIDwvdmFybGlzdGVudHJ5PgogCiAg ICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRlcHVibGljYXRpb24tcGFyYW1zLWZvci1leGNl cHQtdGFibGUiPgotICAgIDx0ZXJtPjxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD48L3Rl cm0+CisgICAgPHRlcm0+PGxpdGVyYWw+RVhDRVBUPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlz dGl0ZW0+CiAgICAgIDxwYXJhPgogICAgICAgVGhpcyBjbGF1c2Ugc3BlY2lmaWVzIGEgbGlzdCBv ZiB0YWJsZXMgdG8gYmUgZXhjbHVkZWQgZnJvbSB0aGUKQEAgLTIwNiw3ICsyMDYsNyBAQCBDUkVB VEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxh Y2VhYmxlPgogICAgICA8L3BhcmE+CiAgICAgIDxwYXJhPgogICAgICAgRm9yIHBhcnRpdGlvbmVk IHRhYmxlcywgb25seSB0aGUgcm9vdCBwYXJ0aXRpb25lZCB0YWJsZSBtYXkgYmUgc3BlY2lmaWVk Ci0gICAgICBpbiA8bGl0ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+LiBEb2luZyBzbyBleGNs dWRlcyB0aGUgcm9vdCB0YWJsZSBhbmQKKyAgICAgIGluIDxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJh bD4uIERvaW5nIHNvIGV4Y2x1ZGVzIHRoZSByb290IHRhYmxlIGFuZAogICAgICAgYWxsIG9mIGl0 cyBwYXJ0aXRpb25zIGZyb20gcmVwbGljYXRpb24uIFRoZSBvcHRpb25hbAogICAgICAgPGxpdGVy YWw+T05MWTwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPio8L2xpdGVyYWw+IGhhcyBubyBlZmZlY3Qg Zm9yCiAgICAgICBwYXJ0aXRpb25lZCB0YWJsZXMuCkBAIC0yMTQsNyArMjE0LDcgQEAgQ1JFQVRF IFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4KICAgICAgPHBhcmE+CiAgICAgICBUaGVyZSBjYW4gYmUgYSBjYXNlIHdoZXJlIGEgc3Vi c2NyaXB0aW9uIGluY2x1ZGVzIG11bHRpcGxlIHB1YmxpY2F0aW9ucy4KICAgICAgIEluIHN1Y2gg YSBjYXNlLCBhIHRhYmxlIG9yIHBhcnRpdGlvbiB0aGF0IGlzIGluY2x1ZGVkIGluIG9uZSBwdWJs aWNhdGlvbgotICAgICAgYW5kIGxpc3RlZCBpbiB0aGUgPGxpdGVyYWw+RVhDRVBUIFRBQkxFPC9s aXRlcmFsPiBjbGF1c2Ugb2YgYW5vdGhlciBpcworICAgICAgYW5kIGxpc3RlZCBpbiB0aGUgPGxp dGVyYWw+RVhDRVBUPC9saXRlcmFsPiBjbGF1c2Ugb2YgYW5vdGhlciBpcwogICAgICAgY29uc2lk ZXJlZCBpbmNsdWRlZCBmb3IgcmVwbGljYXRpb24uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3Rp dGVtPgpAQCAtNTMyLDcgKzUzMiw3IEBAIENSRUFURSBQVUJMSUNBVElPTiBhbGxfdGFibGVzX3Nl cXVlbmNlcyBGT1IgQUxMIFRBQkxFUywgQUxMIFNFUVVFTkNFUzsKICAgIENyZWF0ZSBhIHB1Ymxp Y2F0aW9uIHRoYXQgcHVibGlzaGVzIGFsbCBjaGFuZ2VzIGluIGFsbCB0YWJsZXMgZXhjZXB0CiAg ICA8c3RydWN0bmFtZT51c2Vyczwvc3RydWN0bmFtZT4gYW5kIDxzdHJ1Y3RuYW1lPmRlcGFydG1l bnRzPC9zdHJ1Y3RuYW1lPjoKIDxwcm9ncmFtbGlzdGluZz4KLUNSRUFURSBQVUJMSUNBVElPTiBh bGxfdGFibGVzX2V4Y2VwdCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHVzZXJzLCBkZXBh cnRtZW50cyk7CitDUkVBVEUgUFVCTElDQVRJT04gYWxsX3RhYmxlc19leGNlcHQgRk9SIEFMTCBU QUJMRVMgRVhDRVBUIChUQUJMRSB1c2VycywgZGVwYXJ0bWVudHMpOwogPC9wcm9ncmFtbGlzdGlu Zz4KICAgPC9wYXJhPgogCkBAIC01NDEsNyArNTQxLDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIGFs bF90YWJsZXNfZXhjZXB0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodXNlcnMsIGRlcGFy dG0KICAgIGFsbCBjaGFuZ2VzIGluIGFsbCB0YWJsZXMgZXhjZXB0IDxzdHJ1Y3RuYW1lPnVzZXJz PC9zdHJ1Y3RuYW1lPiBhbmQKICAgIDxzdHJ1Y3RuYW1lPmRlcGFydG1lbnRzPC9zdHJ1Y3RuYW1l PjoKIDxwcm9ncmFtbGlzdGluZz4KLUNSRUFURSBQVUJMSUNBVElPTiBhbGxfc2VxdWVuY2VzX3Rh Ymxlc19leGNlcHQgRk9SIEFMTCBTRVFVRU5DRVMsIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1 c2VycywgZGVwYXJ0bWVudHMpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF9zZXF1ZW5jZXNfdGFi bGVzX2V4Y2VwdCBGT1IgQUxMIFNFUVVFTkNFUywgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHVz ZXJzLCBkZXBhcnRtZW50cyk7CiA8L3Byb2dyYW1saXN0aW5nPgogICA8L3BhcmE+CiAgPC9yZWZz ZWN0MT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwppbmRleCBjOTJmZjNmNTFjMy4u OGQ2MmM1YmIyNTEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRp b24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKQEAgLTEwMDEs NyArMTAwMSw3IEBAIEdldEFsbFRhYmxlc1B1YmxpY2F0aW9ucyh2b2lkKQogICogcHVibGljYXRp b24uCiAgKgogICogRm9yIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24sIHRoZSByZXR1cm5l ZCBsaXN0IGV4Y2x1ZGVzIHRhYmxlcyBtZW50aW9uZWQKLSAqIGluIEVYQ0VQVCBUQUJMRSBjbGF1 c2UuCisgKiBpbiBFWENFUFQgY2xhdXNlLgogICovCiBMaXN0ICoKIEdldEFsbFB1YmxpY2F0aW9u UmVsYXRpb25zKE9pZCBwdWJpZCwgY2hhciByZWxraW5kLCBib29sIHB1YnZpYXJvb3QpCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueQppbmRleCAwZmVhNzI2Y2RkNS4uZWRkYTJhMWUxYzkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMjA5 LDYgKzIwOSw4IEBAIHN0YXRpYyB2b2lkIHByZXByb2Nlc3NfcHViX2FsbF9vYmp0eXBlX2xpc3Qo TGlzdCAqYWxsX29iamVjdHNfbGlzdCwKIAkJCQkJCQkJCQkJY29yZV95eXNjYW5fdCB5eXNjYW5u ZXIpOwogc3RhdGljIHZvaWQgcHJlcHJvY2Vzc19wdWJvYmpfbGlzdChMaXN0ICpwdWJvYmpzcGVj X2xpc3QsCiAJCQkJCQkJCSAgIGNvcmVfeXlzY2FuX3QgeXlzY2FubmVyKTsKK3N0YXRpYyB2b2lk IHByZXByb2Nlc3NfZXhjZXB0X3B1Ym9ial9saXN0KExpc3QgKnB1YmV4Y2VwdG9ianNwZWNfbGlz dCwKKwkJCQkJCQkJCQkgY29yZV95eXNjYW5fdCB5eXNjYW5uZXIpOwogc3RhdGljIE5vZGUgKm1h a2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUg KnF1ZXJ5KTsKIAogJX0KQEAgLTExMjU2LDcgKzExMjU4LDcgQEAgQWx0ZXJPd25lclN0bXQ6IEFM VEVSIEFHR1JFR0FURSBhZ2dyZWdhdGVfd2l0aF9hcmd0eXBlcyBPV05FUiBUTyBSb2xlU3BlYwog ICoKICAqIHB1Yl9hbGxfb2JqX3R5cGUgaXMgb25lIG9mOgogICoKLSAqCQlUQUJMRVMgW0VYQ0VQ VCBUQUJMRSAoIHRhYmxlIFssIC4uLl0gKV0KKyAqCQlUQUJMRVMgW0VYQ0VQVCAoVEFCTEUgdGFi bGUgWywgLi4uXSApXQogICoJCVNFUVVFTkNFUwogICoKICAqIENSRUFURSBQVUJMSUNBVElPTiBG T1IgcHViX29iaiBbLCAuLi5dIFtXSVRIIG9wdGlvbnNdCkBAIC0xMTM5OSw3ICsxMTQwMSw3IEBA IHB1Yl9vYmpfbGlzdDoJUHVibGljYXRpb25PYmpTcGVjCiAJOwogCiBvcHRfcHViX2V4Y2VwdF9j bGF1c2U6Ci0JCQlFWENFUFQgVEFCTEUgJygnIHB1Yl9leGNlcHRfb2JqX2xpc3QgJyknCXsgJCQg PSAkNDsgfQorCQkJRVhDRVBUICcoJyBwdWJfZXhjZXB0X29ial9saXN0ICcpJwkJCXsgJCQgPSAk MzsgfQogCQkJfCAvKkVNUFRZKi8JCQkJCQkJCQl7ICQkID0gTklMOyB9CiAJCTsKIApAQCAtMTE0 MDgsNiArMTE0MTAsNyBAQCBQdWJsaWNhdGlvbkFsbE9ialNwZWM6CiAJCQkJCXsKIAkJCQkJCSQk ID0gbWFrZU5vZGUoUHVibGljYXRpb25BbGxPYmpTcGVjKTsKIAkJCQkJCSQkLT5wdWJvYmp0eXBl ID0gUFVCTElDQVRJT05fQUxMX1RBQkxFUzsKKwkJCQkJCXByZXByb2Nlc3NfZXhjZXB0X3B1Ym9i al9saXN0KCQzLCB5eXNjYW5uZXIpOwogCQkJCQkJJCQtPmV4Y2VwdF90YWJsZXMgPSAkMzsKIAkJ CQkJCSQkLT5sb2NhdGlvbiA9IEAxOwogCQkJCQl9CkBAIC0xMTQyNiwxMiArMTE0MjksMjEgQEAg cHViX2FsbF9vYmpfdHlwZV9saXN0OglQdWJsaWNhdGlvbkFsbE9ialNwZWMKIAk7CiAKIFB1Ymxp Y2F0aW9uRXhjZXB0T2JqU3BlYzoKLQkJCSByZWxhdGlvbl9leHByCisJCQkgVEFCTEUgcmVsYXRp b25fZXhwcgogCQkJCXsKIAkJCQkJJCQgPSBtYWtlTm9kZShQdWJsaWNhdGlvbk9ialNwZWMpOwog CQkJCQkkJC0+cHVib2JqdHlwZSA9IFBVQkxJQ0FUSU9OT0JKX0VYQ0VQVF9UQUJMRTsKIAkJCQkJ JCQtPnB1YnRhYmxlID0gbWFrZU5vZGUoUHVibGljYXRpb25UYWJsZSk7CiAJCQkJCSQkLT5wdWJ0 YWJsZS0+ZXhjZXB0ID0gdHJ1ZTsKKwkJCQkJJCQtPnB1YnRhYmxlLT5yZWxhdGlvbiA9ICQyOwor CQkJCQkkJC0+bG9jYXRpb24gPSBAMjsKKwkJCQl9CisJCQkgfCByZWxhdGlvbl9leHByCisJCQkJ eworCQkJCQkkJCA9IG1ha2VOb2RlKFB1YmxpY2F0aW9uT2JqU3BlYyk7CisJCQkJCSQkLT5wdWJv Ymp0eXBlID0gUFVCTElDQVRJT05PQkpfQ09OVElOVUFUSU9OOworCQkJCQkkJC0+cHVidGFibGUg PSBtYWtlTm9kZShQdWJsaWNhdGlvblRhYmxlKTsKKwkJCQkJJCQtPnB1YnRhYmxlLT5leGNlcHQg PSB0cnVlOwogCQkJCQkkJC0+cHVidGFibGUtPnJlbGF0aW9uID0gJDE7CiAJCQkJCSQkLT5sb2Nh dGlvbiA9IEAxOwogCQkJCX0KQEAgLTExNDYyLDcgKzExNDc0LDcgQEAgcHViX2V4Y2VwdF9vYmpf bGlzdDogUHVibGljYXRpb25FeGNlcHRPYmpTcGVjCiAgKgogICogcHViX2FsbF9vYmpfdHlwZSBp cyBvbmUgb2Y6CiAgKgotICoJCUFMTCBUQUJMRVMgWyBFWENFUFQgVEFCTEUgKCB0YWJsZV9uYW1l IFssIC4uLl0gKSBdCisgKgkJQUxMIFRBQkxFUyBbIEVYQ0VQVCAoIFRBQkxFIHRhYmxlX25hbWUg WywgLi4uXSApIF0KICAqCQlBTEwgU0VRVUVOQ0VTCiAgKgogICoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LwpAQCAtMjA3NjQsNiArMjA3NzYsNDIgQEAgcHJlcHJvY2Vzc19wdWJvYmpfbGlzdChMaXN0ICpw dWJvYmpzcGVjX2xpc3QsIGNvcmVfeXlzY2FuX3QgeXlzY2FubmVyKQogCX0KIH0KIAorLyoKKyAq IFNpbWlsYXIgd2l0aCBwcmVwcm9jZXNzX3B1Ym9ial9saXN0KCksIGJ1dCB1c2VkIGZvciB0aGUg RVhDRVBUIGNsYXVzZS4KKyAqLworc3RhdGljIHZvaWQKK3ByZXByb2Nlc3NfZXhjZXB0X3B1Ym9i al9saXN0KExpc3QgKnB1YmV4Y2VwdG9ianNwZWNfbGlzdCwKKwkJCQkJCQkgIGNvcmVfeXlzY2Fu X3QgeXlzY2FubmVyKQoreworCUxpc3RDZWxsICAgKmNlbGw7CisJUHVibGljYXRpb25PYmpTcGVj ICpwdWJvYmo7CisJUHVibGljYXRpb25PYmpTcGVjVHlwZSBwcmV2b2JqdHlwZSA9IFBVQkxJQ0FU SU9OT0JKX0NPTlRJTlVBVElPTjsKKworCWlmICghcHViZXhjZXB0b2Jqc3BlY19saXN0KQorCQly ZXR1cm47CisKKwlwdWJvYmogPSAoUHVibGljYXRpb25PYmpTcGVjICopIGxpbml0aWFsKHB1YmV4 Y2VwdG9ianNwZWNfbGlzdCk7CisKKwlBc3NlcnQocHVib2JqLT5wdWJvYmp0eXBlID09IFBVQkxJ Q0FUSU9OT0JKX0VYQ0VQVF9UQUJMRSk7CisKKwlpZiAocHVib2JqLT5wdWJvYmp0eXBlID09IFBV QkxJQ0FUSU9OT0JKX0NPTlRJTlVBVElPTikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQllcnJjb2Rl KEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQllcnJtc2coImludmFsaWQgcHVibGljYXRpb24g b2JqZWN0IGxpc3QiKSwKKwkJCQllcnJkZXRhaWwoIlRBQkxFIG11c3QgYmUgc3BlY2lmaWVkIGJl Zm9yZSBhIHN0YW5kYWxvbmUgdGFibGUuIiksCisJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHB1Ym9i ai0+bG9jYXRpb24pKTsKKworCWZvcmVhY2goY2VsbCwgcHViZXhjZXB0b2Jqc3BlY19saXN0KQor CXsKKwkJcHVib2JqID0gKFB1YmxpY2F0aW9uT2JqU3BlYyAqKSBsZmlyc3QoY2VsbCk7CisKKwkJ aWYgKHB1Ym9iai0+cHVib2JqdHlwZSA9PSBQVUJMSUNBVElPTk9CSl9DT05USU5VQVRJT04pCisJ CQlwdWJvYmotPnB1Ym9ianR5cGUgPSBwcmV2b2JqdHlwZTsKKworCQlwcmV2b2JqdHlwZSA9IHB1 Ym9iai0+cHVib2JqdHlwZTsKKwl9Cit9CisKIC8qLS0tLS0tLS0tLQogICogUmVjdXJzaXZlIHZp ZXcgdHJhbnNmb3JtYXRpb24KICAqCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCA1ZDFmNzY4MmYxMS4uYzBlYWZh YjgxNmEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jp bi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtNDYyNSwxNCArNDYyNSwxNCBAQCBnZXRQdWJsaWNhdGlv bnMoQXJjaGl2ZSAqZm91dCkKIAkJICogR2V0IHRoZSBsaXN0IG9mIHRhYmxlcyBmb3IgcHVibGlj YXRpb25zIHNwZWNpZmllZCBpbiB0aGUgRVhDRVBUCiAJCSAqIFRBQkxFIGNsYXVzZS4KIAkJICoK LQkJICogQWx0aG91Z2ggaW5kaXZpZHVhbCBFWENFUFQgVEFCTEUgZW50cmllcyBjb3VsZCBiZSBz dG9yZWQgaW4KKwkJICogQWx0aG91Z2ggaW5kaXZpZHVhbCB0YWJsZSBlbnRyaWVzIGluIEVYQ0VQ VCBsaXN0IGNvdWxkIGJlIHN0b3JlZCBpbgogCQkgKiBQdWJsaWNhdGlvblJlbEluZm8sIGR1bXBQ dWJsaWNhdGlvblRhYmxlIGNhbm5vdCBiZSB1c2VkIHRvIGVtaXQKIAkJICogdGhlbSwgYmVjYXVz ZSB0aGVyZSBpcyBubyBBTFRFUiBQVUJMSUNBVElPTiAuLi4gQUREIGNvbW1hbmQgdG8gYWRkCi0J CSAqIGluZGl2aWR1YWwgdGFibGUgZW50cmllcyB0byB0aGUgRVhDRVBUIFRBQkxFIGxpc3QuCisJ CSAqIGluZGl2aWR1YWwgdGFibGUgZW50cmllcyB0byB0aGUgRVhDRVBUIGxpc3QuCiAJCSAqCi0J CSAqIFRoZXJlZm9yZSwgdGhlIGFwcHJvYWNoIGlzIHRvIGR1bXAgdGhlIGNvbXBsZXRlIEVYQ0VQ VCBUQUJMRSBsaXN0Ci0JCSAqIGluIGEgc2luZ2xlIENSRUFURSBQVUJMSUNBVElPTiBzdGF0ZW1l bnQuIFB1YmxpY2F0aW9uSW5mbyBpcyB1c2VkCi0JCSAqIHRvIGNvbGxlY3QgdGhpcyBpbmZvcm1h dGlvbiwgd2hpY2ggaXMgdGhlbiBlbWl0dGVkIGJ5CisJCSAqIFRoZXJlZm9yZSwgdGhlIGFwcHJv YWNoIGlzIHRvIGR1bXAgdGhlIGNvbXBsZXRlIEVYQ0VQVCBsaXN0IGluIGEKKwkJICogc2luZ2xl IENSRUFURSBQVUJMSUNBVElPTiBzdGF0ZW1lbnQuIFB1YmxpY2F0aW9uSW5mbyBpcyB1c2VkIHRv CisJCSAqIGNvbGxlY3QgdGhpcyBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgdGhlbiBlbWl0dGVkIGJ5 CiAJCSAqIGR1bXBQdWJsaWNhdGlvbigpLgogCQkgKi8KIAkJaWYgKGZvdXQtPnJlbW90ZVZlcnNp b24gPj0gMTkwMDAwKQpAQCAtNDcwOCwxMyArNDcwOCwxMyBAQCBkdW1wUHVibGljYXRpb24oQXJj aGl2ZSAqZm91dCwgY29uc3QgUHVibGljYXRpb25JbmZvICpwdWJpbmZvKQogCiAJCWFwcGVuZFBR RXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIEZPUiBBTEwgVEFCTEVTIik7CiAKLQkJLyogSW5jbHVkZSBF WENFUFQgVEFCTEUgY2xhdXNlIGlmIHRoZXJlIGFyZSBleGNlcHRfdGFibGVzLiAqLworCQkvKiBJ bmNsdWRlIEVYQ0VQVCAoVEFCTEUpIGNsYXVzZSBpZiB0aGVyZSBhcmUgZXhjZXB0X3RhYmxlcy4g Ki8KIAkJZm9yIChTaW1wbGVQdHJMaXN0Q2VsbCAqY2VsbCA9IHB1YmluZm8tPmV4Y2VwdF90YWJs ZXMuaGVhZDsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHQpCiAJCXsKIAkJCVRhYmxlSW5mbyAgKnRi aW5mbyA9IChUYWJsZUluZm8gKikgY2VsbC0+cHRyOwogCiAJCQlpZiAoKytuX2V4Y2VwdCA9PSAx KQotCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIEVYQ0VQVCBUQUJMRSAoIik7CisJ CQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgRVhDRVBUIChUQUJMRSAiKTsKIAkJCWVs c2UKIAkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgIik7CiAJCQlhcHBlbmRQUUV4 cEJ1ZmZlcihxdWVyeSwgIk9OTFkgJXMiLCBmbXRRdWFsaWZpZWREdW1wYWJsZSh0YmluZm8pKTsK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsIGIvc3JjL2Jpbi9w Z19kdW1wL3QvMDAyX3BnX2R1bXAucGwKaW5kZXggMDUxYTNkOGVhM2QuLmI0YjhlZmVkNTEzIDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAorKysgYi9zcmMvYmlu L3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbApAQCAtMzIxNSw5ICszMjE1LDkgQEAgbXkgJXRlc3Rz ID0gKAogCSdDUkVBVEUgUFVCTElDQVRJT04gcHViOCcgPT4gewogCQljcmVhdGVfb3JkZXIgPT4g NTAsCiAJCWNyZWF0ZV9zcWwgPT4KLQkJICAnQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFM TCBUQUJMRVMgRVhDRVBUIFRBQkxFIChkdW1wX3Rlc3QudGVzdF90YWJsZSk7JywKKwkJICAnQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBkdW1wX3Rl c3QudGVzdF90YWJsZSk7JywKIAkJcmVnZXhwID0+IHFyL14KLQkJCVxRQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChPTkxZIGR1bXBfdGVzdC50ZXN0 X3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRl Jyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBU IChUQUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2Vy dCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKIAkJCS94bSwKIAkJbGlrZSA9PiB7ICVm dWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEsIH0sCiAJfSwKQEAgLTMyMjUsOSArMzIy NSw5IEBAIG15ICV0ZXN0cyA9ICgKIAknQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjknID0+IHsKIAkJ Y3JlYXRlX29yZGVyID0+IDUwLAogCQljcmVhdGVfc3FsID0+Ci0JCSAgJ0NSRUFURSBQVUJMSUNB VElPTiBwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoZHVtcF90ZXN0LnRlc3RfdGFi bGUsIGR1bXBfdGVzdC50ZXN0X3NlY29uZF90YWJsZSk7JywKKwkJICAnQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBkdW1wX3Rlc3QudGVzdF90YWJs ZSwgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxlKTsnLAogCQlyZWdleHAgPT4gcXIvXgotCQkJ XFFDUkVBVEUgUFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9O TFkgZHVtcF90ZXN0LnRlc3RfdGFibGUsIE9OTFkgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxl KSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUK KwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJM RSBPTkxZIGR1bXBfdGVzdC50ZXN0X3RhYmxlLCBPTkxZIGR1bXBfdGVzdC50ZXN0X3NlY29uZF90 YWJsZSkgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScp O1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3Bvc3RfZGF0YSA9 PiAxLCB9LAogCX0sCkBAIC0zMjM1LDkgKzMyMzUsOSBAQCBteSAldGVzdHMgPSAoCiAJJ0NSRUFU RSBQVUJMSUNBVElPTiBwdWIxMCcgPT4gewogCQljcmVhdGVfb3JkZXIgPT4gOTIsCiAJCWNyZWF0 ZV9zcWwgPT4KLQkJICAnQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwIEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCBUQUJMRSAoZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfcGFyZW50KTsnLAorCQkgICdD UkVBVEUgUFVCTElDQVRJT04gcHViMTAgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBkdW1w X3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJlbnQpOycsCiAJCXJlZ2V4cCA9PiBxci9eCi0JCQlc UUNSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9O TFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfcGFyZW50LCBPTkxZIGR1bXBfdGVzdC50ZXN0 X2luaGVyaXRhbmNlX2NoaWxkKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxl dGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwIEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJl bnQsIE9OTFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfY2hpbGQpIFdJVEggKHB1Ymxpc2gg PSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQogCQkJL3htLAogCQlsaWtl ID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKIAl9LApkaWZmIC0t Z2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpp bmRleCA3ZDEyMzFjMDU1OC4uOTRmMjVlZjVkMDcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9k ZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0zMjA2LDcgKzMyMDYs NyBAQCBkZXNjcmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1lLAogCQkJ CXsKIAkJCQkJLyoKIAkJCQkJICogU2tpcCBlbnRyaWVzIHdoZXJlIHRoaXMgcmVsYXRpb24gYXBw ZWFycyBpbiB0aGUKLQkJCQkJICogcHVibGljYXRpb24ncyBFWENFUFQgVEFCTEUgbGlzdC4KKwkJ CQkJICogcHVibGljYXRpb24ncyBFWENFUFQgbGlzdC4KIAkJCQkJICovCiAJCQkJCWFwcGVuZFBR RXhwQnVmZmVyKCZidWYsCiAJCQkJCQkJCQkgICIgQU5EIE5PVCBwci5wcmV4Y2VwdFxuIgpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCmluZGV4IDUyM2QzZjM5ZmM1Li5jYmRkMDJjZDAxYiAxMDA2NDQKLS0t IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWIt Y29tcGxldGUuaW4uYwpAQCAtMjMzMywxMyArMjMzMywxMyBAQCBtYXRjaF9wcmV2aW91c193b3Jk cyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElP TiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIpKQogCQlDT01QTEVURV9XSVRIKCJTRVFVRU5DRVMi LCAiVEFCTEVTIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBN YXRjaEFueSwgIlNFVCIsICJBTEwiLCAiVEFCTEVTIikpCi0JCUNPTVBMRVRFX1dJVEgoIkVYQ0VQ VCBUQUJMRSAoIik7CisJCUNPTVBMRVRFX1dJVEgoIkVYQ0VQVCAoIFRBQkxFIik7CiAJZWxzZSBp ZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIlNFVCIsICJBTEwi LCAiVEFCTEVTIiwgIkVYQ0VQVCIpKQotCQlDT01QTEVURV9XSVRIKCJUQUJMRSAoIik7Ci0JZWxz ZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIlNFVCIsICJB TEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIpKQotCQlDT01QTEVURV9XSVRIKCIoIik7 CisJCUNPTVBMRVRFX1dJVEgoIiggVEFCTEUiKTsKKwllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIs ICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBU IiwgIigiKSkKKwkJQ09NUExFVEVfV0lUSCgiVEFCTEUiKTsKIAkvKiBDb21wbGV0ZSAiQUxURVIg UFVCTElDQVRJT04gPG5hbWU+IEZPUiBUQUJMRSIgd2l0aCAiPHRhYmxlPiwgLi4uIiAqLwotCWVs c2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAi QUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUiLCAiKCIpKQorCWVsc2UgaWYgKE1hdGNo ZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxF UyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIpKQogCQlDT01QTEVURV9XSVRIX1NDSEVNQV9RVUVS WShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwg IlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJBRER8RFJPUHxTRVQiLCAiVEFCTEVTIiwgIklOIiwg IlNDSEVNQSIpKQogCQlDT01QTEVURV9XSVRIX1FVRVJZX1BMVVMoUXVlcnlfZm9yX2xpc3Rfb2Zf c2NoZW1hcwpAQCAtMzczOCwxNiArMzczOCwxNiBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQg cGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBN YXRjaEFueSwgIkZPUiIsICJBTEwiKSkKIAkJQ09NUExFVEVfV0lUSCgiVEFCTEVTIiwgIlNFUVVF TkNFUyIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNo QW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiKSkKLQkJQ09NUExFVEVfV0lUSCgiRVhDRVBUIFRB QkxFICgiLCAiV0lUSCAoIik7CisJCUNPTVBMRVRFX1dJVEgoIkVYQ0VQVCAoIFRBQkxFIiwgIldJ VEggKCIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNo QW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIikpCi0JCUNPTVBMRVRFX1dJVEgo IlRBQkxFICgiKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBN YXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIpKQotCQlD T01QTEVURV9XSVRIKCIoIik7Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FU SU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUi LCAiKCIpKQorCQlDT01QTEVURV9XSVRIKCIoIFRBQkxFIik7CisJZWxzZSBpZiAoTWF0Y2hlcygi Q1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIs ICJFWENFUFQiLCAiKCIpKQorCQlDT01QTEVURV9XSVRIKCJUQUJMRSIpOworCWVsc2UgaWYgKE1h dGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJU QUJMRVMiLCAiRVhDRVBUIiwgIigiLCAiVEFCTEUiKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFf UVVFUlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVzKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVB VEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVY Q0VQVCIsICJUQUJMRSIsICIoIiwgTWF0Y2hBbnlOKSAmJiBlbmRzX3dpdGgocHJldl93ZCwgJywn KSkKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwg IkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIiwgTWF0Y2hBbnlO KSAmJiBlbmRzX3dpdGgocHJldl93ZCwgJywnKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVF UlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVzKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUi LCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQ VCIsICJUQUJMRSIsICIoIiwgTWF0Y2hBbnlOKSAmJiAhZW5kc193aXRoKHByZXZfd2QsICcsJykp CisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJG T1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIsIE1hdGNoQW55Tikg JiYgIWVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQogCQlDT01QTEVURV9XSVRIKCIpIik7CiAJZWxz ZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAi VEFCTEVTIikpCiAJCUNPTVBMRVRFX1dJVEgoIklOIFNDSEVNQSIpOwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAppbmRleCBhMjIwZjQ4YjI4NS4uZDE4YWQwOGI1ZmEg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CkBAIC0yMTQsMTEg KzIxNCwxMiBAQCBOb3QtbnVsbCBjb25zdHJhaW50czoKICgxIHJvdykKIAogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSBFWENFUFQgVEFCTEUgdGVzdHMg Zm9yIG5vcm1hbCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIG5vcm1hbCB0YWJs ZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogU0VUIGNs aWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwotLS0gU3BlY2lmeSB0YWJsZSBsaXN0IGluIHRo ZSBFWENFUFQgVEFCTEUgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KLUNS RUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1IgQUxM IFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyKTsKK0NSRUFU RSBUQUJMRSB0ZXN0cHViX3RibDMgKGlkIHNlcmlhbCBwcmltYXJ5IGtleSwgZGF0YSB0ZXh0KTsK Ky0tIFNwZWNpZnkgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBvZiBhIEZPUiBBTEwg VEFCTEVTIHB1YmxpY2F0aW9uCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJs ZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEs IHRlc3RwdWJfdGJsMiwgVEFCTEUgdGVzdHB1Yl90YmwzKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxs dGFibGVzX2V4Y2VwdHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUK ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1 bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTIyNyw5ICsyMjgsMTAgQEAgQ1JFQVRF IFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIEZPUiBBTEwgVEFC TEVTIEVYQ0VQVCBUQUJMRQogRXhjZXB0IHRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJs MSIKICAgICAicHVibGljLnRlc3RwdWJfdGJsMiIKKyAgICAicHVibGljLnRlc3RwdWJfdGJsMyIK IAotLS0gU3BlY2lmeSB0YWJsZSBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBB TEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0 YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90 YmwxKTsKKy0tIFNwZWNpZnkgdGFibGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2Ugb2YgYSBGT1IgQUxM IFRBQkxFUyBwdWJsaWNhdGlvbgorQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFi bGVzX2V4Y2VwdHRhYmxlMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJs MSk7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJf Zm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMQogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFs bCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwg VHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApA QCAtMjM5LDcgKzI0MSw3IEBAIEV4Y2VwdCB0YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3Ri bDEiCiAKIC0tIENoZWNrIHRoYXQgdGhlIHRhYmxlIGRlc2NyaXB0aW9uIHNob3dzIHRoZSBwdWJs aWNhdGlvbnMgd2hlcmUgaXQgaXMgbGlzdGVkCi0tLSBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVz ZQorLS0gaW4gdGhlIEVYQ0VQVCBjbGF1c2UKIFxkIHRlc3RwdWJfdGJsMQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVzdHB1Yl90YmwxIgogIENvbHVtbiB8ICBU eXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8ICAgICAgICAgICAgICAgICBEZWZhdWx0ICAg ICAgICAgICAgICAgICAgCkBAIC0yNTQsMTIgKzI1NiwxMyBAQCBFeGNlcHQgUHVibGljYXRpb25z OgogICAgICJ0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSIKICAgICAidGVzdHB1Yl9m b3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIgogCitEUk9QIFRBQkxFIHRlc3RwdWJfdGJsMzsKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLS0gU0VUIEFMTCBU QUJMRVMvU0VRVUVOQ0VTCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KLS0tIFJlcGxhY2UgdGhlIGV4aXN0aW5nIEVYQ0VQVCBUQUJMRSBsaXN0ICh0ZXN0cHVi X3RibDEpIHdpdGggYSBuZXcKLS0tIEVYQ0VQVCBUQUJMRSBsaXN0IGNvbnRhaW5pbmcgb25seSAo dGVzdHB1Yl90YmwyKS4KLUFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4 Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwyKTsKKy0t IFJlcGxhY2UgdGhlIGV4aXN0aW5nIHRhYmxlIGxpc3QgaW4gRVhDRVBUIGNsYXVzZSAodGVzdHB1 Yl90YmwxKSB3aXRoIGEgbmV3CistLSB0YWJsZSBsaXN0IGNvbnRhaW5pbmcgb25seSAodGVzdHB1 Yl90YmwyKS4KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRh YmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwyKTsKIFxkUnArIHRl c3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNf ZXhjZXB0dGFibGUKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxs IHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdl bmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTI2OCw3ICsyNzEs OCBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBT RVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKAogRXhjZXB0IHRhYmxlczoKICAgICAicHVibGlj LnRlc3RwdWJfdGJsMiIKIAotLS0gQ2xlYXIgdGhlIEVYQ0VQVCBUQUJMRSBsaXN0LCBtYWtpbmcg dGhlIHB1YmxpY2F0aW9uIGluY2x1ZGUgYWxsIHRhYmxlcy4KKy0tIENsZWFyIHRoZSB0YWJsZSBs aXN0IGluIEVYQ0VQVCBjbGF1c2UsIG1ha2luZyB0aGUgcHVibGljYXRpb24gaW5jbHVkZSBhbGwK Ky0tIHRhYmxlcy4KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2Vw dHRhYmxlIFNFVCBBTEwgVEFCTEVTOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0 dGFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ dWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQpAQCAtMzA5LDcgKzMx Myw3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsX3RibHNfc2VxcyBTRVQgQUxM IFNFUVVFTkNFUzsKICgxIHJvdykKIAogLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNF UyBpcyBub3QgYWxsb3dlZCBmb3IgYSAnRk9SIFRBQkxFJyBwdWJsaWNhdGlvbgotQUxURVIgUFVC TElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRl c3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwg VEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIEVSUk9SOiAgcHVibGljYXRpb24g InRlc3RwdWJfZm9ydGFibGUiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFRBQkxFUyBvcGVyYXRpb25z CiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVibGljYXRpb24gdG8gYmUg ZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb3IgdG8gYmUgZW1wdHkuCiBBTFRF UiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTOwpAQCAtMzE5LDcg KzMyMyw3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBTRVFV RU5DRVM7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnRhYmxlIiBkb2VzIG5vdCBz dXBwb3J0IEFMTCBTRVFVRU5DRVMgb3BlcmF0aW9ucwogREVUQUlMOiAgVGhpcyBvcGVyYXRpb24g cmVxdWlyZXMgdGhlIHB1YmxpY2F0aW9uIHRvIGJlIGRlZmluZWQgYXMgRk9SIEFMTCBUQUJMRVMv U0VRVUVOQ0VTIG9yIHRvIGJlIGVtcHR5LgogLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTL1NFUVVF TkNFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSBzY2hlbWEgcHVibGljYXRpb24KLUFMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAocHVi X3Rlc3QudGVzdHB1Yl9ub3BrKTsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1h IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgcHViX3Rlc3QudGVzdHB1Yl9ub3BrKTsKIEVS Uk9SOiAgcHVibGljYXRpb24gInRlc3RwdWJfZm9yc2NoZW1hIiBkb2VzIG5vdCBzdXBwb3J0IEFM TCBUQUJMRVMgb3BlcmF0aW9ucwogREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgdGhl IHB1YmxpY2F0aW9uIHRvIGJlIGRlZmluZWQgYXMgRk9SIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIG9y IHRvIGJlIGVtcHR5LgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFM TCBUQUJMRVM7CkBAIC0zMzQsNyArMzM4LDcgQEAgRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cmFsbHRhYmxlcywgdGVzdHB1Yl9mb3J0YWJsZSwgdGVzdHB1Yl9mb3JzY2hlbWEsIHRlc3QKIERS T1AgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGxfdGJsc19zZXFzLCB0ZXN0cHViX2ZvcmFsbHRh Ymxlc19leGNlcHR0YWJsZSwgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxOwogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAtLSBUZXN0cyBmb3Ig aW5oZXJpdGVkIHRhYmxlcywgYW5kCi0tLSBFWENFUFQgVEFCTEUgdGVzdHMgZm9yIGluaGVyaXRl ZCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIGluaGVyaXRlZCB0YWJsZXMKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogU0VUIGNsaWVudF9t aW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCAo YSBpbnQpOwpAQCAtMzU4LDggKzM2Miw4IEBAIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNCBG T1IgVEFCTEUgT05MWSB0ZXN0cHViX3RibF9wYXJlbnQ7CiBUYWJsZXM6CiAgICAgInB1YmxpYy50 ZXN0cHViX3RibF9wYXJlbnQiCiAKLS0tIExpc3QgdGhlIHBhcmVudCB0YWJsZSBpbiB0aGUgRVhD RVBUIFRBQkxFIGNsYXVzZSAod2l0aG91dCBPTkxZIG9yICcqJykKLUNSRUFURSBQVUJMSUNBVElP TiB0ZXN0cHViNSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsX3BhcmVu dCk7CistLSBMaXN0IHRoZSBwYXJlbnQgdGFibGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2UgKHdpdGhv dXQgT05MWSBvciAnKicpCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjUgRk9SIEFMTCBUQUJM RVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQpOwogXGRScCsgdGVzdHB1YjUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQdWJsaWNhdGlvbiB0ZXN0cHViNQogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAt MzY5LDggKzM3Myw4IEBAIEV4Y2VwdCB0YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibF9j aGlsZCIKICAgICAicHVibGljLnRlc3RwdWJfdGJsX3BhcmVudCIKIAotLS0gRVhDRVBUIHdpdGgg JyonOiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBU IFRBQkxFIGNsYXVzZQotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmxfcGFyZW50ICopOworLS0gRVhDRVBUIHdpdGggJyon OiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIGNs YXVzZQorQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50ICopOwogXGRScCsgdGVzdHB1YjYKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNh dGlvbiB0ZXN0cHViNgogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBB bGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg R2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMzgwLDggKzM4 NCw4IEBAIEV4Y2VwdCB0YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibF9jaGlsZCIKICAg ICAicHVibGljLnRlc3RwdWJfdGJsX3BhcmVudCIKIAotLS0gRVhDRVBUIHdpdGggT05MWTogbGlz dCB0aGUgdGFibGUgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UsIGJ1dCBub3QgaXRzIGRlc2Nl bmRhbnRzCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjcgRk9SIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFIChPTkxZIHRlc3RwdWJfdGJsX3BhcmVudCk7CistLSBFWENFUFQgd2l0aCBPTkxZOiBs aXN0IHRoZSB0YWJsZSBpbiB0aGUgRVhDRVBUIGNsYXVzZSwgYnV0IG5vdCBpdHMgZGVzY2VuZGFu dHMKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRB QkxFIE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50KTsKIFxkUnArIHRlc3RwdWI3CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1YjcKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg QWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTM5NCwxMiAr Mzk4LDEyIEBAIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBEUk9QIFRBQkxFIHRlc3RwdWJf dGJsX3BhcmVudCwgdGVzdHB1Yl90YmxfY2hpbGQ7CiBEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWIz LCB0ZXN0cHViNCwgdGVzdHB1YjUsIHRlc3RwdWI2LCB0ZXN0cHViNzsKIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZv ciBwYXJ0aXRpb25lZCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIHBhcnRpdGlv bmVkIHRhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgVEFCTEUgdGVzdHB1 Yl9yb290KGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiBDUkVBVEUgVEFCTEUgdGVzdHB1 Yl9wYXJ0MSBQQVJUSVRJT04gT0YgdGVzdHB1Yl9yb290IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8g KDEwMCk7Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFICh0ZXN0cHViX3Jvb3QpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI4IEZPUiBB TEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl9yb290KTsKIFxkUnArIHRlc3RwdWI4Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI4CiAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxs IHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBA IC00MjcsMTIgKzQzMSwxMiBAQCBFeGNlcHQgUHVibGljYXRpb25zOgogICAgICJ0ZXN0cHViOCIK IE51bWJlciBvZiBwYXJ0aXRpb25zOiAxIChVc2UgXGQrIHRvIGxpc3QgdGhlbS4pCiAKLUNSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3Rw dWJfcGFydDEpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI5IEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCAoVEFCTEUgdGVzdHB1Yl9wYXJ0MSk7CiBFUlJPUjogIGNhbm5vdCB1c2UgcHVibGljYXRp b24gRVhDRVBUIGNsYXVzZSBmb3IgcmVsYXRpb24gInRlc3RwdWJfcGFydDEiCiBERVRBSUw6ICBU aGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBpbmRpdmlkdWFsIHBhcnRpdGlvbnMu CiBDUkVBVEUgVEFCTEUgdGFiX21haW4gKGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiAt LSBBdHRhY2hpbmcgYSBwYXJ0aXRpb24gaXMgbm90IGFsbG93ZWQgaWYgdGhlIHBhcnRpdGlvbmVk IHRhYmxlIGFwcGVhcnMgaW4gYQotLS0gcHVibGljYXRpb24ncyBFWENFUFQgVEFCTEUgY2xhdXNl LgorLS0gcHVibGljYXRpb24ncyBFWENFUFQgY2xhdXNlLgogQUxURVIgVEFCTEUgdGFiX21haW4g QVRUQUNIIFBBUlRJVElPTiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMjAw KTsKIEVSUk9SOiAgY2Fubm90IGF0dGFjaCB0YWJsZSAidGVzdHB1Yl9yb290IiBhcyBwYXJ0aXRp b24gYmVjYXVzZSBpdCBpcyByZWZlcmVuY2VkIGluIHB1YmxpY2F0aW9uICJ0ZXN0cHViOCIgRVhD RVBUIGNsYXVzZQogREVUQUlMOiAgVGhlIHB1YmxpY2F0aW9uIEVYQ0VQVCBjbGF1c2UgY2Fubm90 IGNvbnRhaW4gdGFibGVzIHRoYXQgYXJlIHBhcnRpdGlvbnMuCkBAIC0xNjIzLDcgKzE2MjcsNyBA QCBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUg T1dORVIgVE8gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMzsKIFNFVCBST0xFIHJlZ3Jlc3NfcHVi bGljYXRpb25fdXNlcjM7CiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIG9uIGEg cHVibGljYXRpb24gcmVxdWlyZXMgc3VwZXJ1c2VyIHByaXZpbGVnZXMKLUFMVEVSIFBVQkxJQ0FU SU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsg LS0gZmFpbAorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBUQUJMRVMgRVhDRVBU IChUQUJMRSB0ZXN0cHViX3RibDEpOyAtLSBmYWlsCiBFUlJPUjogIG11c3QgYmUgc3VwZXJ1c2Vy IHRvIHNldCBBTEwgVEFCTEVTCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFRB QkxFUzsgLS0gZmFpbAogRVJST1I6ICBtdXN0IGJlIHN1cGVydXNlciB0byBzZXQgQUxMIFRBQkxF UwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsCmluZGV4IDIyZTBhMzBiNWM3Li41Y2Mz YWE2M2I5MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHVibGljYXRpb24uc3Fs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbApAQCAtMTA2LDI4ICsx MDYsMzEgQEAgU0VMRUNUIHB1Ym5hbWUsIHB1YmFsbHRhYmxlcyBGUk9NIHBnX3B1YmxpY2F0aW9u IFdIRVJFIHB1Ym5hbWUgPSAndGVzdHB1Yl9mb3JhbGwKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFi bGVzCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0g RVhDRVBUIFRBQkxFIHRlc3RzIGZvciBub3JtYWwgdGFibGVzCistLSBFWENFUFQgY2xhdXNlIHRl c3RzIGZvciBub3JtYWwgdGFibGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKLS0tIFNwZWNp ZnkgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFC TEVTIHB1YmxpY2F0aW9uCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNf ZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEsIHRl c3RwdWJfdGJsMik7CitDUkVBVEUgVEFCTEUgdGVzdHB1Yl90YmwzIChpZCBzZXJpYWwgcHJpbWFy eSBrZXksIGRhdGEgdGV4dCk7CistLSBTcGVjaWZ5IHRhYmxlIGxpc3QgaW4gdGhlIEVYQ0VQVCBj bGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbgorQ1JFQVRFIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgdGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIsIFRBQkxFIHRlc3RwdWJfdGJsMyk7CiBc ZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQotLS0gU3BlY2lmeSB0YWJsZSBp biB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9u Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKKy0tIFNwZWNpZnkgdGFi bGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbgor Q1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7CiBcZFJwKyB0ZXN0cHViX2Zv cmFsbHRhYmxlc19leGNlcHR0YWJsZTEKIC0tIENoZWNrIHRoYXQgdGhlIHRhYmxlIGRlc2NyaXB0 aW9uIHNob3dzIHRoZSBwdWJsaWNhdGlvbnMgd2hlcmUgaXQgaXMgbGlzdGVkCi0tLSBpbiB0aGUg RVhDRVBUIFRBQkxFIGNsYXVzZQorLS0gaW4gdGhlIEVYQ0VQVCBjbGF1c2UKIFxkIHRlc3RwdWJf dGJsMQorRFJPUCBUQUJMRSB0ZXN0cHViX3RibDM7CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLS0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tIFJlcGxhY2UgdGhl IGV4aXN0aW5nIEVYQ0VQVCBUQUJMRSBsaXN0ICh0ZXN0cHViX3RibDEpIHdpdGggYSBuZXcKLS0t IEVYQ0VQVCBUQUJMRSBsaXN0IGNvbnRhaW5pbmcgb25seSAodGVzdHB1Yl90YmwyKS4KLUFMVEVS IFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFC TEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwyKTsKKy0tIFJlcGxhY2UgdGhlIGV4aXN0aW5n IHRhYmxlIGxpc3QgaW4gRVhDRVBUIGNsYXVzZSAodGVzdHB1Yl90YmwxKSB3aXRoIGEgbmV3Cist LSB0YWJsZSBsaXN0IGNvbnRhaW5pbmcgb25seSAodGVzdHB1Yl90YmwyKS4KK0FMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVY Q0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwyKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4 Y2VwdHRhYmxlCiAKLS0tIENsZWFyIHRoZSBFWENFUFQgVEFCTEUgbGlzdCwgbWFraW5nIHRoZSBw dWJsaWNhdGlvbiBpbmNsdWRlIGFsbCB0YWJsZXMuCistLSBDbGVhciB0aGUgdGFibGUgbGlzdCBp biBFWENFUFQgY2xhdXNlLCBtYWtpbmcgdGhlIHB1YmxpY2F0aW9uIGluY2x1ZGUgYWxsCistLSB0 YWJsZXMuCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJs ZSBTRVQgQUxMIFRBQkxFUzsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxl CiAKQEAgLTE0OSwxMiArMTUyLDEyIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxs X3RibHNfc2VxcyBTRVQgQUxMIFNFUVVFTkNFUzsKIFxkUnArIHRlc3RwdWJfZm9yYWxsX3RibHNf c2VxcwogCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2Vk IGZvciBhICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0FM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSB0ZXN0cHViX3RibDEpOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBT RVQgQUxMIFRBQkxFUzsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFM TCBTRVFVRU5DRVM7CiAKIC0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgaXMgbm90 IGFsbG93ZWQgZm9yIGEgc2NoZW1hIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0 cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHB1Yl90ZXN0LnRlc3Rw dWJfbm9wayk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRB QkxFUyBFWENFUFQgKFRBQkxFIHB1Yl90ZXN0LnRlc3RwdWJfbm9wayk7CiBBTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUzsKIEFMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwgU0VRVUVOQ0VTOwogCkBAIC0xNjUsNyArMTY4LDcg QEAgRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMsIHRlc3RwdWJfZm9y YWxsdGFibGVzX2V4Y2VwdHRhYmxlLCB0ZXMKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAtLSBUZXN0cyBmb3IgaW5oZXJpdGVkIHRhYmxlcywgYW5kCi0t LSBFWENFUFQgVEFCTEUgdGVzdHMgZm9yIGluaGVyaXRlZCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1 c2UgdGVzdHMgZm9yIGluaGVyaXRlZCB0YWJsZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwog Q1JFQVRFIFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCAoYSBpbnQpOwpAQCAtMTc0LDE0ICsxNzcs MTQgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWIzIEZPUiBUQUJMRSB0ZXN0cHViX3RibF9w YXJlbnQ7CiBcZFJwKyB0ZXN0cHViMwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI0IEZPUiBU QUJMRSBPTkxZIHRlc3RwdWJfdGJsX3BhcmVudDsKIFxkUnArIHRlc3RwdWI0Ci0tLSBMaXN0IHRo ZSBwYXJlbnQgdGFibGUgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UgKHdpdGhvdXQgT05MWSBv ciAnKicpCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjUgRk9SIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFICh0ZXN0cHViX3RibF9wYXJlbnQpOworLS0gTGlzdCB0aGUgcGFyZW50IHRhYmxlIGlu IHRoZSBFWENFUFQgY2xhdXNlICh3aXRob3V0IE9OTFkgb3IgJyonKQorQ1JFQVRFIFBVQkxJQ0FU SU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmxfcGFy ZW50KTsKIFxkUnArIHRlc3RwdWI1Ci0tLSBFWENFUFQgd2l0aCAnKic6IGxpc3QgdGhlIHRhYmxl IGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlCi1DUkVB VEUgUFVCTElDQVRJT04gdGVzdHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0 cHViX3RibF9wYXJlbnQgKik7CistLSBFWENFUFQgd2l0aCAnKic6IGxpc3QgdGhlIHRhYmxlIGFu ZCBhbGwgaXRzIGRlc2NlbmRhbnRzIGluIHRoZSBFWENFUFQgY2xhdXNlCitDUkVBVEUgUFVCTElD QVRJT04gdGVzdHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibF9w YXJlbnQgKik7CiBcZFJwKyB0ZXN0cHViNgotLS0gRVhDRVBUIHdpdGggT05MWTogbGlzdCB0aGUg dGFibGUgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UsIGJ1dCBub3QgaXRzIGRlc2NlbmRhbnRz Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjcgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxF IChPTkxZIHRlc3RwdWJfdGJsX3BhcmVudCk7CistLSBFWENFUFQgd2l0aCBPTkxZOiBsaXN0IHRo ZSB0YWJsZSBpbiB0aGUgRVhDRVBUIGNsYXVzZSwgYnV0IG5vdCBpdHMgZGVzY2VuZGFudHMKK0NS RUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIE9O TFkgdGVzdHB1Yl90YmxfcGFyZW50KTsKIFxkUnArIHRlc3RwdWI3CiAKIFJFU0VUIGNsaWVudF9t aW5fbWVzc2FnZXM7CkBAIC0xODksMjAgKzE5MiwyMCBAQCBEUk9QIFRBQkxFIHRlc3RwdWJfdGJs X3BhcmVudCwgdGVzdHB1Yl90YmxfY2hpbGQ7CiBEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWIzLCB0 ZXN0cHViNCwgdGVzdHB1YjUsIHRlc3RwdWI2LCB0ZXN0cHViNzsKIAogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSBFWENFUFQgVEFCTEUgdGVzdHMgZm9y IHBhcnRpdGlvbmVkIHRhYmxlcworLS0gRVhDRVBUIGNsYXVzZSB0ZXN0cyBmb3IgcGFydGl0aW9u ZWQgdGFibGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBUQUJMRSB0ZXN0cHVi X3Jvb3QoYSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRShhKTsKIENSRUFURSBUQUJMRSB0ZXN0cHVi X3BhcnQxIFBBUlRJVElPTiBPRiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAo MTAwKTsKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUgKHRlc3RwdWJfcm9vdCk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFM TCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3Jvb3QpOwogXGRScCsgdGVzdHB1Yjg7CiBc ZCB0ZXN0cHViX3BhcnQxCiBcZCB0ZXN0cHViX3Jvb3QKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0 cHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfcGFydDEpOworQ1JFQVRF IFBVQkxJQ0FUSU9OIHRlc3RwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1 Yl9wYXJ0MSk7CiAKIENSRUFURSBUQUJMRSB0YWJfbWFpbiAoYSBpbnQpIFBBUlRJVElPTiBCWSBS QU5HRShhKTsKIC0tIEF0dGFjaGluZyBhIHBhcnRpdGlvbiBpcyBub3QgYWxsb3dlZCBpZiB0aGUg cGFydGl0aW9uZWQgdGFibGUgYXBwZWFycyBpbiBhCi0tLSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBU QUJMRSBjbGF1c2UuCistLSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBjbGF1c2UuCiBBTFRFUiBUQUJM RSB0YWJfbWFpbiBBVFRBQ0ggUEFSVElUSU9OIHRlc3RwdWJfcm9vdCBGT1IgVkFMVUVTIEZST00g KDApIFRPICgyMDApOwogCiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwpAQCAtMTAzNyw3ICsx MDQwLDcgQEAgUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRl c3RwdWI1IE9XTkVSIFRPIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjM7CiBTRVQgUk9MRSByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIzOwogLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNF UyBvbiBhIHB1YmxpY2F0aW9uIHJlcXVpcmVzIHN1cGVydXNlciBwcml2aWxlZ2VzCi1BTFRFUiBQ VUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJf dGJsMSk7IC0tIGZhaWwKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVT IEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsgLS0gZmFpbAogQUxURVIgUFVCTElDQVRJT04g dGVzdHB1YjUgU0VUIEFMTCBUQUJMRVM7IC0tIGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWI1IFNFVCBBTEwgU0VRVUVOQ0VTOyAtLSBmYWlsCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzN19leGNlcHQucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzdf ZXhjZXB0LnBsCmluZGV4IDEzYjk5ZWRhMjU4Li45ZTI1MzNiNDNlZSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbAorKysgYi9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMzdfZXhjZXB0LnBsCkBAIC0xLDcgKzEsNyBAQAogCiAjIENvcHlyaWdodCAoYykg MjAyNiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKIAotIyBMb2dpY2FsIHJl cGxpY2F0aW9uIHRlc3RzIGZvciBFWENFUFQgVEFCTEUgcHVibGljYXRpb25zCisjIExvZ2ljYWwg cmVwbGljYXRpb24gdGVzdHMgZm9yIHB1YmxpY2F0aW9ucyB3aXRoIEVYQ0VQVCBjbGF1c2UKIHVz ZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7CiB1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsK QEAgLTI2LDEyICsyNiwxMiBAQCBzdWIgdGVzdF9leGNlcHRfcm9vdF9wYXJ0aXRpb24KIHsKIAlt eSAoJHB1YnZpYXJvb3QpID0gQF87CiAKLQkjIElmIHRoZSByb290IHBhcnRpdGlvbmVkIHRhYmxl IGlzIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLCBhbGwgaXRzCisJIyBJZiB0aGUgcm9vdCBw YXJ0aXRpb25lZCB0YWJsZSBpcyBpbiB0aGUgRVhDRVBUIGNsYXVzZSwgYWxsIGl0cwogCSMgcGFy dGl0aW9ucyBhcmUgZXhjbHVkZWQgZnJvbSBwdWJsaWNhdGlvbiwgcmVnYXJkbGVzcyBvZiB0aGUK IAkjIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290IHNldHRpbmcuCiAJJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoCiAJCSdwb3N0Z3JlcycsIHFxKAotCQlDUkVBVEUgUFVCTElDQVRJT04gdGFw X3B1Yl9wYXJ0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAocm9vdDEpIFdJVEggKHB1Ymxp c2hfdmlhX3BhcnRpdGlvbl9yb290ID0gJHB1YnZpYXJvb3QpOworCQlDUkVBVEUgUFVCTElDQVRJ T04gdGFwX3B1Yl9wYXJ0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgcm9vdDEpIFdJVEgg KHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gJHB1YnZpYXJvb3QpOwogCQlJTlNFUlQgSU5U TyByb290MSBWQUxVRVMgKDEpLCAoMTAxKTsKIAkpKTsKIAkkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKQEAgLTQ4LDcgKzQ4LDcgQEAgc3ViIHRlc3RfZXhjZXB0X3Jvb3Rf cGFydGl0aW9uCiAJCSJJTlNFUlQgSU5UTyByb290MSBWQUxVRVMgKDIpLCAoMTAyKSIpOwogCiAJ IyBWZXJpZnkgdGhhdCBkYXRhIGluc2VydGVkIGludG8gdGhlIHBhcnRpdGlvbmVkIHRhYmxlIGlz IG5vdCBwdWJsaXNoZWQgd2hlbgotCSMgaXQgaXMgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Uu CisJIyBpdCBpcyBpbiB0aGUgRVhDRVBUIGNsYXVzZS4KIAkkcmVzdWx0ID0gJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkJIlNFTEVDVCBjb3VudCgqKSA9IDAgRlJPTSBw Z19sb2dpY2FsX3Nsb3RfZ2V0X2JpbmFyeV9jaGFuZ2VzKCd0ZXN0X3Nsb3QnLCBOVUxMLCBOVUxM LCAncHJvdG9fdmVyc2lvbicsICcxJywgJ3B1YmxpY2F0aW9uX25hbWVzJywgJ3RhcF9wdWJfcGFy dCcpIgogCSk7CkBAIC02Nyw3ICs2Nyw3IEBAIHN1YiB0ZXN0X2V4Y2VwdF9yb290X3BhcnRpdGlv bgogfQogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0j IEVYQ0VQVCBUQUJMRSB0ZXN0IGNhc2VzIGZvciBub24tcGFydGl0aW9uZWQgdGFibGVzIGFuZCBp bmhlcml0ZWQgdGFibGVzLgorIyBFWENFUFQgY2xhdXNlIHRlc3QgY2FzZXMgZm9yIG5vbi1wYXJ0 aXRpb25lZCB0YWJsZXMgYW5kIGluaGVyaXRlZCB0YWJsZXMuCiAjID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICMgQ3JlYXRlIHNjaGVtYXMgYW5kIHRhYmxl cyBvbiBwdWJsaXNoZXIKQEAgLTkyLDkgKzkyLDkgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKAogCiAjIEV4Y2x1ZGUgdGFiMSAobm9uLWluaGVyaXRhbmNlIGNhc2UpLCBhbmQgYWxzbyBl eGNsdWRlIHBhcmVudCBhbmQgT05MWSBwYXJlbnQxCiAjIHRvIHZlcmlmeSBleGNsdXNpb24gYmVo YXZpb3IgZm9yIGluaGVyaXRlZCB0YWJsZXMsIGluY2x1ZGluZyB0aGUgZWZmZWN0IG9mCi0jIE9O TFkgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UuCisjIE9OTFkgaW4gdGhlIEVYQ0VQVCBjbGF1 c2UuCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgUFVC TElDQVRJT04gdGFiX3B1YiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRhYjEsIHBhcmVu dCwgb25seSBwYXJlbnQxKSIKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhYl9wdWIgRk9SIEFMTCBU QUJMRVMgRVhDRVBUIChUQUJMRSB0YWIxLCBwYXJlbnQsIG9ubHkgcGFyZW50MSkiCiApOwogCiAj IENyZWF0ZSBhIGxvZ2ljYWwgcmVwbGljYXRpb24gc2xvdCB0byBoZWxwIHdpdGggbGF0ZXIgdGVz dHMuCkBAIC0xMDgsMzggKzEwOCwzNyBAQCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKICMgV2FpdCBmb3IgaW5pdGlhbCB0YWJsZSBzeW5jIHRvIGZpbmlzaAogJG5vZGVf c3Vic2NyaWJlci0+d2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAn dGFiX3N1YicpOwogCi0jIENoZWNrIHRoZSB0YWJsZSBkYXRhIGRvZXMgbm90IHN5bmMgZm9yIHRo ZSB0YWJsZXMgc3BlY2lmaWVkIGluIEVYQ0VQVCBUQUJMRQotIyBjbGF1c2UuCisjIENoZWNrIHRo ZSB0YWJsZSBkYXRhIGRvZXMgbm90IHN5bmMgZm9yIHRoZSB0YWJsZXMgc3BlY2lmaWVkIGluIEVY Q0VQVCBjbGF1c2UuCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWIxIik7CiBpcygkcmVzdWx0LCBxcSgw KSwKLQknY2hlY2sgdGhlcmUgaXMgbm8gaW5pdGlhbCBkYXRhIGNvcGllZCBmb3IgdGhlIHRhYmxl cyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UnCisJJ2NoZWNrIHRoZXJlIGlz IG5vIGluaXRpYWwgZGF0YSBjb3BpZWQgZm9yIHRoZSB0YWJsZXMgc3BlY2lmaWVkIGluIHRoZSBF WENFUFQgY2xhdXNlJwogKTsKIAotIyBJbnNlcnQgc29tZSBkYXRhIGludG8gdGhlIHRhYmxlIGxp c3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQorIyBJbnNlcnQgc29tZSBkYXRhIGludG8g dGhlIHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIGNsYXVzZQogJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCiAJSU5TRVJUIElOVE8gdGFiMSBWQUxVRVMoZ2Vu ZXJhdGVfc2VyaWVzKDExLDIwKSk7CiAJSU5TRVJUIElOVE8gY2hpbGQgVkFMVUVTKGdlbmVyYXRl X3NlcmllcygxMSwyMCksIGdlbmVyYXRlX3NlcmllcygxMSwyMCkpOwogKSk7CiAKLSMgVmVyaWZ5 IHRoYXQgZGF0YSBpbnNlcnRlZCBpbnRvIGEgdGFibGUgbGlzdGVkIGluIHRoZSBFWENFUFQgVEFC TEUgY2xhdXNlIGlzCisjIFZlcmlmeSB0aGF0IGRhdGEgaW5zZXJ0ZWQgaW50byBhIHRhYmxlIGxp c3RlZCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBpcwogIyBub3QgcHVibGlzaGVkLgogJHJlc3VsdCA9 ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCBjb3VudCgq KSA9IDAgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2JpbmFyeV9jaGFuZ2VzKCd0ZXN0X3Nsb3Qn LCBOVUxMLCBOVUxMLCAncHJvdG9fdmVyc2lvbicsICcxJywgJ3B1YmxpY2F0aW9uX25hbWVzJywg J3RhYl9wdWInKSIKICk7CiBpcygkcmVzdWx0LCBxcSh0KSwKLQkndmVyaWZ5IG5vIGNoYW5nZXMg Zm9yIHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBhcmUgcHJlc2VudCBp biB0aGUgcmVwbGljYXRpb24gc2xvdCcKKwkndmVyaWZ5IG5vIGNoYW5nZXMgZm9yIHRhYmxlIGxp c3RlZCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBhcmUgcHJlc2VudCBpbiB0aGUgcmVwbGljYXRpb24g c2xvdCcKICk7CiAKICMgVGhpcyBzaG91bGQgYmUgcHVibGlzaGVkIGJlY2F1c2UgT05MWSBwYXJl bnQxIHdhcyBzcGVjaWZpZWQgaW4gdGhlCi0jIEVYQ0VQVCBUQUJMRSBjbGF1c2UsIHNvIHRoZSBl eGNsdXNpb24gYXBwbGllcyBvbmx5IHRvIHRoZSBwYXJlbnQgdGFibGUgYW5kIG5vdAorIyBFWENF UFQgY2xhdXNlLCBzbyB0aGUgZXhjbHVzaW9uIGFwcGxpZXMgb25seSB0byB0aGUgcGFyZW50IHRh YmxlIGFuZCBub3QKICMgdG8gaXRzIGNoaWxkLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKIAkiSU5TRVJUIElOVE8gY2hpbGQxIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMo MTEsMjApLCBnZW5lcmF0ZV9zZXJpZXMoMTEsMjApKSIKICk7CiAKLSMgVmVyaWZ5IHRoYXQgZGF0 YSBpbnNlcnRlZCBpbnRvIGEgdGFibGUgbGlzdGVkIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNl IGlzCisjIFZlcmlmeSB0aGF0IGRhdGEgaW5zZXJ0ZWQgaW50byBhIHRhYmxlIGxpc3RlZCBpbiB0 aGUgRVhDRVBUIGNsYXVzZSBpcwogIyBub3QgcmVwbGljYXRlZC4KICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgndGFiX3N1YicpOwogJHJlc3VsdCA9CkBAIC0xNTYsOSArMTU1LDkg QEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFRBQkxF IHRhYjIgQVMgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDEwKSBBUyBhIik7CiAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0YWIyIChhIGludCki KTsKIAotIyBSZXBsYWNlIHRoZSBFWENFUFQgVEFCTEUgbGlzdCBzbyB0aGF0IG9ubHkgdGFiMiBp cyBleGNsdWRlZC4KKyMgUmVwbGFjZSB0aGUgdGFibGUgbGlzdCBpbiBFWENFUFQgY2xhdXNlIHNv IHRoYXQgb25seSB0YWIyIGlzIGV4Y2x1ZGVkLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKLQkiQUxURVIgUFVCTElDQVRJT04gdGFiX3B1YiBTRVQgQUxMIFRBQkxFUyBF WENFUFQgVEFCTEUgKHRhYjIpIik7CisJIkFMVEVSIFBVQkxJQ0FUSU9OIHRhYl9wdWIgU0VUIEFM TCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0YWIyKSIpOwogCiAjIFJlZnJlc2ggdGhlIHN1YnNjcmlw dGlvbiBzbyB0aGUgc3Vic2NyaWJlciBwaWNrcyB1cCB0aGUgdXBkYXRlZAogIyBwdWJsaWNhdGlv biBkZWZpbml0aW9uIGFuZCBpbml0aWF0ZXMgdGFibGUgc3luY2hyb25pemF0aW9uLgpAQCAtMTY5 LDE5ICsxNjgsMTkgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAk bm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3luYygkbm9kZV9wdWJsaXNo ZXIsICd0YWJfc3ViJyk7CiAKICMgVmVyaWZ5IHRoYXQgaW5pdGlhbCB0YWJsZSBzeW5jaHJvbml6 YXRpb24gZG9lcyBub3Qgb2NjdXIgZm9yIHRhYmxlcwotIyBsaXN0ZWQgaW4gdGhlIEVYQ0VQVCBU QUJMRSBjbGF1c2UuCisjIGxpc3RlZCBpbiB0aGUgRVhDRVBUIGNsYXVzZS4KICRyZXN1bHQgPQog ICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgq KSBGUk9NIHRhYjIiKTsKIGlzKCRyZXN1bHQsIHFxKDApLAotCSdjaGVjayB0aGVyZSBpcyBubyBp bml0aWFsIGRhdGEgY29waWVkIGZvciB0aGUgdGFibGVzIHNwZWNpZmllZCBpbiB0aGUgRVhDRVBU IFRBQkxFIGNsYXVzZScKKwknY2hlY2sgdGhlcmUgaXMgbm8gaW5pdGlhbCBkYXRhIGNvcGllZCBm b3IgdGhlIHRhYmxlcyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQVCBjbGF1c2UnCiApOwogCiAjIFZl cmlmeSB0aGF0IHRhYmxlIHN5bmNocm9uaXphdGlvbiBub3cgaGFwcGVucyBmb3IgdGFiMS4gVGFi bGUgdGFiMSBpcwotIyBpbmNsdWRlZCBub3cgc2luY2UgdGhlIEVYQ0VQVCBUQUJMRSBsaXN0IGlz IG9ubHkgKHRhYjIpLgorIyBpbmNsdWRlZCBub3cgc2luY2UgdGhlIHRhYmxlIGxpc3Qgb2YgRVhD RVBUIGNsYXVzZSBpcyBvbmx5ICh0YWIyKS4KICRyZXN1bHQgPQogICAkbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHRhYjEiKTsKIGlz KCRyZXN1bHQsIHFxKDIwKSwKLQknY2hlY2sgdGhhdCB0aGUgZGF0YSBpcyBjb3BpZWQgYXMgdGhl IHRhYjEgaXMgcmVtb3ZlZCBmcm9tIEVYQ0VQVCBUQUJMRSBjbGF1c2UnCisJJ2NoZWNrIHRoYXQg dGhlIGRhdGEgaXMgY29waWVkIGFzIHRoZSB0YWIxIGlzIHJlbW92ZWQgZnJvbSBFWENFUFQgY2xh dXNlJwogKTsKIAogIyBjbGVhbnVwCkBAIC0xOTksNyArMTk4LDcgQEAgJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoCiApKTsKIAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotIyBFWENFUFQgVEFCTEUgdGVzdCBjYXNlcyBmb3IgcGFydGl0aW9uZWQgdGFi bGVzCisjIEVYQ0VQVCBjbGF1c2UgdGVzdCBjYXNlcyBmb3IgcGFydGl0aW9uZWQgdGFibGVzCiAj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAjIFNldHVwIHBh cnRpdGlvbmVkIHRhYmxlIGFuZCBwYXJ0aXRpb25zIG9uIHRoZSBwdWJsaXNoZXIgdGhhdCBtYXAg dG8gbm9ybWFsCiAjIHRhYmxlcyBvbiB0aGUgc3Vic2NyaWJlci4KQEAgLTIyNywxMSArMjI2LDEx IEBAIHRlc3RfZXhjZXB0X3Jvb3RfcGFydGl0aW9uKCd0cnVlJyk7CiAjIFRlc3Qgd2hlbiBhIHN1 YnNjcmlwdGlvbiBpcyBzdWJzY3JpYmluZyB0byBtdWx0aXBsZSBwdWJsaWNhdGlvbnMKICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotIyBPSyB3aGVuIGEg dGFibGUgaXMgZXhjbHVkZWQgYnkgcHViMSBFWENFUFQgVEFCTEUsIGJ1dCBpdCBpcyBpbmNsdWRl ZCBieSBwdWIyCisjIE9LIHdoZW4gYSB0YWJsZSBpcyBleGNsdWRlZCBieSBwdWIxIEVYQ0VQVCBj bGF1c2UsIGJ1dCBpdCBpcyBpbmNsdWRlZCBieSBwdWIyCiAjIEZPUiBUQUJMRS4KICRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKAotCUNSRUFURSBQVUJMSUNBVElP TiB0YXBfcHViMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRhYjEpOworCUNSRUFURSBQ VUJMSUNBVElPTiB0YXBfcHViMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRhYjEpOwog CUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViMiBGT1IgVEFCTEUgdGFiMTsKIAlJTlNFUlQgSU5U TyB0YWIxIFZBTFVFUygxKTsKICkpOwpAQCAtMjQ3LDcgKzI0Niw3IEBAICRyZXN1bHQgPQogICAk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUICogRlJPTSB0YWIx IE9SREVSIEJZIGEiKTsKIGlzKCAkcmVzdWx0LCBxcSgxCiAyKSwKLQkiY2hlY2sgcmVwbGljYXRp b24gb2YgYSB0YWJsZSBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBvbmUgcHVibGljYXRp b24gYnV0IGluY2x1ZGVkIGJ5IGFub3RoZXIiCisJImNoZWNrIHJlcGxpY2F0aW9uIG9mIGEgdGFi bGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2Ugb2Ygb25lIHB1YmxpY2F0aW9uIGJ1dCBpbmNsdWRlZCBi eSBhbm90aGVyIgogKTsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3Jlcycs IHFxKApAQCAtMjU2LDcgKzI1NSw3IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogKSk7 CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXEoVFJVTkNBVEUgdGFi MSkpOwogCi0jIE9LIHdoZW4gYSB0YWJsZSBpcyBleGNsdWRlZCBieSBwdWIxIEVYQ0VQVCBUQUJM RSwgYnV0IGl0IGlzIGluY2x1ZGVkIGJ5IHB1YjIKKyMgT0sgd2hlbiBhIHRhYmxlIGlzIGV4Y2x1 ZGVkIGJ5IHB1YjEgRVhDRVBUIGNsYXVzZSwgYnV0IGl0IGlzIGluY2x1ZGVkIGJ5IHB1YjIKICMg Rk9SIEFMTCBUQUJMRVMuCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMn LCBxcSgKQEAgLTI3NSw3ICsyNzQsNyBAQCAkcmVzdWx0ID0KICAgJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGFiMSBPUkRFUiBCWSBhIik7CiBp cyggJHJlc3VsdCwgcXEoMQogMiksCi0JImNoZWNrIHJlcGxpY2F0aW9uIG9mIGEgdGFibGUgaW4g dGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2Ygb25lIHB1YmxpY2F0aW9uIGJ1dCBpbmNsdWRlZCBi eSBhbm90aGVyIgorCSJjaGVjayByZXBsaWNhdGlvbiBvZiBhIHRhYmxlIGluIHRoZSBFWENFUFQg Y2xhdXNlIG9mIG9uZSBwdWJsaWNhdGlvbiBidXQgaW5jbHVkZWQgYnkgYW5vdGhlciIKICk7CiAK ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAnRFJPUCBTVUJTQ1JJUFRJ T04gdGFwX3N1YicpOwotLSAKMi4zNC4xCgo= --000000000000156666064dfcc143--