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 1vPaVE-007Zvu-19 for pgsql-bugs@arkaria.postgresql.org; Sun, 30 Nov 2025 06:01:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vPaUB-00G0Rv-2p for pgsql-bugs@arkaria.postgresql.org; Sun, 30 Nov 2025 06:00:40 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vPaUB-00G0Rn-1M for pgsql-bugs@lists.postgresql.org; Sun, 30 Nov 2025 06:00:39 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vPaU9-002IIb-1f for pgsql-bugs@lists.postgresql.org; Sun, 30 Nov 2025 06:00:39 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-64180bd67b7so3987576a12.0 for ; Sat, 29 Nov 2025 22:00:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764482436; x=1765087236; 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=NOS0yU9llwBPw7qVjxjWKoZqvu2FmvC7s+P7BrovgcY=; b=epkhFPTN98yhnaXaU+RcN59bHTWWD1laz4+JAVJg7e3kaq83mSTLVYiqdvjvScAFE4 nD9PxfMzOSBFT928Fod3JMJ0AETv3zHKDF91FWdWYfWyT0pD65eX7hnrC4rVdooDXeMB qe7vuOIONO8OjPOL4B2KD8Q/F81eiXaHT26tWlV7vMSNQhPpvvm5AaLPk39XMwI5m48V l2Ym+14ZTquKLnBiOSbQj8iz0jzlM9WveXEh4v1nezHs1pi4jW2XOf/a/jdGSrpxRdWk EbLnIp+REvQ4Rc6u+bDBxFjmwUF6L5VXtZ70g9OfoVkGZrv+twSCE/xDkX9zHlyaMC05 KoCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764482436; x=1765087236; 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=NOS0yU9llwBPw7qVjxjWKoZqvu2FmvC7s+P7BrovgcY=; b=QiAV0ViuqiRkKp+4+Ch+zOKdCRArQtapxSuOhbxVkLlGHoF2aZ6WndZURV3DtLgE6Q w9HcUZtyy8tCo53UET/AVcdJPaEEJwfWYSZf+8Yqr78CLURjIYNRpJ3wdQsIjaOxcoGV repbZC/JCioswTVM4YvOQccS++qUKOK3kOsk+nV6jY5Qd28NhWRxgeqqc6nXIqFLqnut CCyt4XaVtCNhl8pkM9lq//07zoHjafkbghj9+LZH5o1+zSEuvde1J79cxHTVH36TT5/E aN2tQPgAeLz+gmHegUBt/wNset67asmsnN1kJHc5pimb/Y3PrmJl5Zg+Rx7qQAYurLhF o9Xw== X-Forwarded-Encrypted: i=1; AJvYcCXVEmDHO91HQxsLscAQWG0BC5TyyYNsYjaykEwLmvcang7Zg//T4wno1Sjw4J8fB9nubzx3LMfPvFtg@lists.postgresql.org X-Gm-Message-State: AOJu0YyzQNhCIN9bM7QtfBgHcb8din9TmI+9QshQ6nGLyOIbGUyUnAfj kRWoYtqFLXOwU1LJESTVqGJ4Ddxd8tr9tvnxSWkdOoLxxMuRLBOGHDQ8EgwZ27N2QcBNPiygGcZ LZ+4S+sr6YfWdD7S87T1uV7UyRBZcOHY= X-Gm-Gg: ASbGncsUJdjE56sgX6vclm1ZVZ6yghfblZQ8O24UpRxRoGTYmRR9qLg17N8kzEXFtSy CT7Vo6aTsdEj/W48tjxADAiFXLyF9SOuKkR9CQbJ7v+6DwmxKo1OJEWWoZdCuaHnYu6Fr7BnNFR YO+e64fZpM5Pa3ERsnm7XffBJvm/Zqvs6knma+eYr7oJR/QO5EZvz9TSqEJtW011bsidVSEMSM8 ST5qcs0WZiQCslFJoiDY8I8pjhlZjLvoQsrttufYtPmR4Z2DthIOC1D029UCQ/28/K2EOef X-Google-Smtp-Source: AGHT+IGJyQOmKBt6hRfUzv9NcRAX821M23Cp4J2wyQjUQ3PRj0fBUx7Z17cG+C6v/k3zb5uvKozNaOR9KebzyLUejwo= X-Received: by 2002:a17:907:2d23:b0:b72:6b88:5cdc with SMTP id a640c23a62f3a-b7671549d65mr4033994566b.7.1764482435451; Sat, 29 Nov 2025 22:00:35 -0800 (PST) MIME-Version: 1.0 References: <19099-e05dcfa022fe553d@postgresql.org> <2960545.1761800903@sss.pgh.pa.us> <3017911.1761832112@sss.pgh.pa.us> In-Reply-To: From: Tender Wang Date: Sun, 30 Nov 2025 13:59:59 +0800 X-Gm-Features: AWmQ_bmLoQcHmKjoJf_hyY0Lhc6IOusFNK0zM8nKiVNXO3_rLwK_wEAXLG4Ocvg Message-ID: Subject: Re: BUG #19099: Conditional DELETE from partitioned table with non-updatable partition raises internal error To: Amit Langote Cc: David Rowley , Tom Lane , Kirill Reshke , jian he , exclusion@gmail.com, pgsql-bugs@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000c743620644c9944c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c743620644c9944c Content-Type: multipart/alternative; boundary="000000000000c743600644c9944a" --000000000000c743600644c9944a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Amit Langote =E4=BA=8E2025=E5=B9=B411=E6=9C=8826= =E6=97=A5=E5=91=A8=E4=B8=89 19:27=E5=86=99=E9=81=93=EF=BC=9A > On Thu, Nov 6, 2025 at 7:00=E2=80=AFPM Amit Langote > wrote: > > Among those options, I considered the following block, which adds a > > ctid for the partitioned root table when it=E2=80=99s the only target i= n the > > query after partition pruning removes all child tables due to the > > WHERE false condition in the problematic case: > > > > /* > > * Ordinarily, we expect that leaf result relation(s) will have > added some > > * ROWID_VAR Vars to the query. However, it's possible that > constraint > > * exclusion suppressed every leaf relation. The executor will get > upset > > * if the plan has no row identity columns at all, even though it > will > > * certainly process no rows. Handle this edge case by re-opening > the top > > * result relation and adding the row identity columns it would hav= e > used, > > * as preprocess_targetlist() would have done if it weren't marked > "inh". > > * Then re-run build_base_rel_tlists() to ensure that the added > columns > > * get propagated to the relation's reltarget. (This is a bit ugly= , > but > > * it seems better to confine the ugliness and extra cycles to this > > * unusual corner case.) > > */ > > if (root->row_identity_vars =3D=3D NIL) > > { > > Relation target_relation; > > > > target_relation =3D table_open(target_rte->relid, NoLock); > > add_row_identity_columns(root, result_relation, > > target_rte, target_relation); > > table_close(target_relation, NoLock); > > build_base_rel_tlists(root, root->processed_tlist); > > /* There are no ROWID_VAR Vars in this case, so we're done. */ > > return; > > } > > > > If enable_partition_pruning is off, root->row_identity_vars already > > contains a RowIdentityVarInfo entry for the tableoid Var that was > > added while processing the foreign-table child partition. Because of > > that, the if (root->row_identity_vars =3D=3D NIL) block doesn=E2=80=99t= run in > > this case, so it won=E2=80=99t add any row identity columns such as cti= d for > > the partitioned root table. > > > > In theory, we could prevent the planner from adding tableoid in the > > first place when the child table doesn=E2=80=99t support any row identi= ty > > column -- or worse, doesn=E2=80=99t support the UPDATE/DELETE/MERGE com= mand at > > all -- but doing so would require changing the order in which tableoid > > appears in root->processed_tlist. That would be too invasive for a > > back-patch. > > I=E2=80=99ve implemented this alternative as well -- the version that pre= vents > adding tableoid when no other row-identity columns are added for the > child. That allows to keep root->row_identity_vars empty so the > dummy-root path can add ctid as intended by the above code block of > distribute_row_identity_vars(). > > This provides an alternative approach to compare against the other patch. > > -- > Thanks, Amit Langote > I apply the patch, and I find it forgets to update the diff for postgres_fdw. So I add it in the v2 patch. With this patch, the targetlists are identical whether or not enable_partition_pruning is on. In my first email on this thread, to avoid adding "tableoid", I tried to add the following codes: "(childrte->relkind !=3D RELKIND_PARTITIONED_TABLE && childrte->relkind !=3D RELKIND_FOREIGN_TABLE)" in expand_single_inheritance_child(). But this didn't work for all test cases. It would trigger an assert failure in fix_scan_expr_walker(): Assert(!(IsA(node, Var) && ((Var *) node)->varno =3D=3D ROWID_VAR)); Your patch is much better than mine. -- Thanks, Tender Wang --000000000000c743600644c9944a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Amit Langote &l= t;amitlangote09@gmail.com>= ; =E4=BA=8E2025=E5=B9=B411=E6=9C=8826=E6=97=A5=E5=91=A8=E4=B8=89 19:27=E5= =86=99=E9=81=93=EF=BC=9A
On Thu, Nov 6, 2025 at 7:00=E2=80=AFPM Amit Langote <amitlangote09@gmail.c= om> wrote:
> Among those options, I considered the following block, which adds a > ctid for the partitioned root table when it=E2=80=99s the only target = in the
> query after partition pruning removes all child tables due to the
> WHERE false condition in the problematic case:
>
>=C2=A0 =C2=A0 =C2=A0/*
>=C2=A0 =C2=A0 =C2=A0 * Ordinarily, we expect that leaf result relation(= s) will have added some
>=C2=A0 =C2=A0 =C2=A0 * ROWID_VAR Vars to the query.=C2=A0 However, it&#= 39;s possible that constraint
>=C2=A0 =C2=A0 =C2=A0 * exclusion suppressed every leaf relation.=C2=A0 = The executor will get upset
>=C2=A0 =C2=A0 =C2=A0 * if the plan has no row identity columns at all, = even though it will
>=C2=A0 =C2=A0 =C2=A0 * certainly process no rows.=C2=A0 Handle this edg= e case by re-opening the top
>=C2=A0 =C2=A0 =C2=A0 * result relation and adding the row identity colu= mns it would have used,
>=C2=A0 =C2=A0 =C2=A0 * as preprocess_targetlist() would have done if it= weren't marked "inh".
>=C2=A0 =C2=A0 =C2=A0 * Then re-run build_base_rel_tlists() to ensure th= at the added columns
>=C2=A0 =C2=A0 =C2=A0 * get propagated to the relation's reltarget.= =C2=A0 (This is a bit ugly, but
>=C2=A0 =C2=A0 =C2=A0 * it seems better to confine the ugliness and extr= a cycles to this
>=C2=A0 =C2=A0 =C2=A0 * unusual corner case.)
>=C2=A0 =C2=A0 =C2=A0 */
>=C2=A0 =C2=A0 =C2=A0if (root->row_identity_vars =3D=3D NIL)
>=C2=A0 =C2=A0 =C2=A0{
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Relation=C2=A0 =C2=A0 target_relation= ;
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0target_relation =3D table_open(target= _rte->relid, NoLock);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0add_row_identity_columns(root, result= _relation,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 target_rte, target_relatio= n);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0table_close(target_relation, NoLock);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0build_base_rel_tlists(root, root->= processed_tlist);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* There are no ROWID_VAR Vars in thi= s case, so we're done. */
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return;
>=C2=A0 =C2=A0 =C2=A0}
>
> If enable_partition_pruning is off, root->row_identity_vars already=
> contains a RowIdentityVarInfo entry for the tableoid Var that was
> added while processing the foreign-table child partition. Because of > that, the if (root->row_identity_vars =3D=3D NIL) block doesn=E2=80= =99t run in
> this case, so it won=E2=80=99t add any row identity columns such as ct= id for
> the partitioned root table.
>
> In theory, we could prevent the planner from adding tableoid in the > first place when the child table doesn=E2=80=99t support any row ident= ity
> column -- or worse, doesn=E2=80=99t support the UPDATE/DELETE/MERGE co= mmand at
> all -- but doing so would require changing the order in which tableoid=
> appears in root->processed_tlist. That would be too invasive for a<= br> > back-patch.

I=E2=80=99ve implemented this alternative as well -- the version that preve= nts
adding tableoid when no other row-identity columns are added for the
child. That allows to keep root->row_identity_vars empty so the
dummy-root path can add ctid as intended by the above code block of
distribute_row_identity_vars().

This provides an alternative approach to compare against the other patch.
--
Thanks, Amit Langote

I apply the patch, and= I find it forgets to update the diff for postgres_fdw.
So I add = it in the v2 patch.
With this patch, the targetlists are identica= l whether or not enable_partition_pruning is on.

I= n my first email on this thread, to avoid adding "tableoid", I tr= ied to add the following codes:
=C2=A0"(childrte->relkind= !=3D RELKIND_PARTITIONED_TABLE &&=C2=A0childrte->relkind !=3D= =C2=A0RELKIND_FOREIGN_TABLE)"
in=C2=A0expand_single_inherita= nce_child().

But this didn't work for all test= cases. It would trigger an assert failure in=C2=A0fix_scan_expr_walker():<= /div>
Assert(!(IsA(node, Var) && ((Var *) node)->varno =3D= =3D ROWID_VAR));

Your patch is much better than mi= ne.

=C2=A0--
Th= anks,
Tender Wang
--000000000000c743600644c9944a-- --000000000000c743620644c9944c Content-Type: text/plain; charset="UTF-8"; name="v2-0001-Fix-row-identity-handling-for-dummy-partitioned-r.patch" Content-Disposition: attachment; filename="v2-0001-Fix-row-identity-handling-for-dummy-partitioned-r.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milaxr1x0 RnJvbSAxMDMzZTIwN2IxMGIzZDNkYmIzOGMzZWZmNDkyNjFlY2JkZmZkMTZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUZW5kZXIgV2FuZyA8dG5kcndhbmdAZ21haWwuY29tPgpEYXRl OiBTdW4sIDMwIE5vdiAyMDI1IDEzOjQ3OjIzICswODAwClN1YmplY3Q6IFtQQVRDSCB2Ml0gRml4 IHJvdy1pZGVudGl0eSBoYW5kbGluZyBmb3IgZHVtbXkgcGFydGl0aW9uZWQKIHJlc3VsdHJlbHMu Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpTdG9wIGFkZGluZyB0YWJsZW9pZCBm b3IgY2hpbGQgcmVsYXRpb25zIHRoYXQgZG8gbm90IGhhdmUgYW55CnJvdy1pZGVudGl0eSBjb2x1 bW5zLiAgSW4gY2FzZXMgd2hlcmUgYWxsIHBhcnRpdGlvbnMgYXJlIGV4Y2x1ZGVkCmJ5IHBydW5p bmcgb3IgY29uc3RyYWludCBleGNsdXNpb24sIHRoaXMgYWxsb3dzCmRpc3RyaWJ1dGVfcm93X2lk ZW50aXR5X3ZhcnMoKSB0byBkZXRlY3QgdGhlIGVtcHR5IHN0YXRlCihyb290LT5yb3dfaWRlbnRp dHlfdmFycyA9PSBOSUwpIGFuZCBhZGQgdGhlIGFwcHJvcHJpYXRlIGN0aWQKY29sdW1uIGZvciB0 aGUgZHVtbXkgcGFydGl0aW9uZWQgcmVzdWx0IHJlbGF0aW9uLCBzYXRpc2Z5aW5nIHRoZQpleGVj dXRvcuKAmXMgcmVxdWlyZW1lbnQgdGhhdCBhIHJlc3VsdHJlbCBhbHdheXMgaGF2ZSBhIHJvdyBp ZGVudGl0eS4KCkFzIHBhcnQgb2YgdGhpcywgbWFrZSBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMo KSByZXR1cm4gYSBib29sZWFuCnRvIHJlcG9ydCB3aGV0aGVyIGFueSByb3ctaWRlbnRpdHkgY29s dW1ucyB3ZXJlIGFkZGVkLCBhbmQgc2tpcCBGRFcKY2hpbGRyZW4gdGhhdCBjYW5ub3Qgc3VwcG9y dCB0aGUgY3VycmVudCBjb21tYW5kLiAgQWRqdXN0IGV4cGVjdGVkCkVYUExBSU4gb3V0cHV0IGFj Y29yZGluZ2x5IGFuZCBleHRlbmQgZmlsZV9mZHcgdGVzdHMgdG8gY292ZXIKZHVtbXktcm9vdCBw bGFucyB3aXRoIGFuZCB3aXRob3V0IHBydW5pbmcuCi0tLQogY29udHJpYi9maWxlX2Zkdy9leHBl Y3RlZC9maWxlX2Zkdy5vdXQgICAgICAgIHwgNzUgKysrKysrKysrKysrKysrKwogY29udHJpYi9m aWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsICAgICAgICAgICAgIHwgMzQgKysrKysrKysKIC4uLi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCAgICB8IDg2ICsrKysrKysrKy0t LS0tLS0tLS0KIHNyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXB0bGlzdC5jICAgICAgICB8 ICA0ICstCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9hcHBlbmRpbmZvLmMgICAgICAgfCAx OCArKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9pbmhlcml0LmMgICAgICAgICAgfCAg NiArLQogc3JjL2luY2x1ZGUvb3B0aW1pemVyL2FwcGVuZGluZm8uaCAgICAgICAgICAgIHwgIDIg Ky0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaW5oZXJpdC5vdXQgICAgICAgICB8IDE0ICst LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tZXJnZS5vdXQgICAgICAgICAgIHwgIDYgKy0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91dCB8ICA0ICstCiBz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmluZy5vdXQgICAgICAgfCAyNCArKystLS0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dCB8IDIwICsrLS0t CiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGgub3V0ICAgICAgICAgICAgfCAxNCArLS0K IDEzIGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCA5MyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9jb250cmliL2ZpbGVfZmR3L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dCBiL2NvbnRy aWIvZmlsZV9mZHcvZXhwZWN0ZWQvZmlsZV9mZHcub3V0CmluZGV4IDUxMjFlMjdkY2U1Li5lNjAx NzdhZjhjOCAxMDA2NDQKLS0tIGEvY29udHJpYi9maWxlX2Zkdy9leHBlY3RlZC9maWxlX2Zkdy5v dXQKKysrIGIvY29udHJpYi9maWxlX2Zkdy9leHBlY3RlZC9maWxlX2Zkdy5vdXQKQEAgLTQ1Nyw2 ICs0NTcsODEgQEAgU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHAyOwogIHAyICAg ICAgIHwgMiB8IHh5enp5CiAoMyByb3dzKQogCistLSBWZXJpZnkgdGhhdCBhIGR1bW15IHJvb3Qg cGFydGl0aW9uZWQtdGFibGUgcmVzdWx0IHJlbGF0aW9uIHdvcmtzIHdpdGhvdXQKKy0tIGVycm9y IHdoZW4gYWxsIGNoaWxkIHBhcnRpdGlvbnMgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIHBsYW4gKGZv ciBleGFtcGxlLAorLS0gYnkgY29uc3RyYWludCBleGNsdXNpb24gb3IgcHJ1bmluZykuICBJbiB0 aGlzIGNhc2UsIHRoZSBleGVjdXRvciBhY2NlcHRzCistLSBhIG1pc3NpbmcgY3RpZCBmb3IgdGhl IHJvb3QgcmVzdWx0IHJlbGF0aW9uIHNpbmNlIG5vIHJvd3MgY2FuIGJlIHByb2R1Y2VkLgorLS0g V2hlbiBhIGZvcmVpZ24tdGFibGUgY2hpbGQgaXMgcHJvY2Vzc2VkIGJlZm9yZSBleGNsdXNpb24s IGEgdGFibGVvaWQganVuaworLS0gY29sdW1uIG1heSBzdGlsbCBhcHBlYXIgaW4gdGhlIHRhcmdl dGxpc3QgYW5kIGFsc28gd2hvbGVyb3cgZm9yIHVwZGF0ZS4KKy0tIER1bW15LXJvb3QgY2FzZXMg d2hlcmUgYWxsIGNoaWxkcmVuIGFyZSBleGNsdWRlZC4KKy0tIFdpdGggcHJ1bmluZyBvZmYsIHRo ZSBmb3JlaWduIGNoaWxkIGlzIHByb2Nlc3NlZCBmaXJzdCwgdGhlbiBleGNsdWRlZAorLS0gYnkg Y29uc3RyYWludCBleGNsdXNpb24uIEVYUExBSU4gc2hvd3MgdGFibGVvaWQgKHJld3JpdHRlbiB0 byBOVUxMKSwKKy0tIGFuZCBmb3IgVVBEQVRFIGFsc28gd2hvbGVyb3cgYXMgTlVMTDo6cmVjb3Jk LiBObyBjdGlkLgorRFJPUCBUQUJMRSBwMjsKK1NFVCBlbmFibGVfcGFydGl0aW9uX3BydW5pbmcg VE8gb2ZmOworRVhQTEFJTiAoQ09TVFMgT0ZGLCBWRVJCT1NFKSBERUxFVEUgRlJPTSBwdCBXSEVS RSBmYWxzZTsKKyAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIERlbGV0ZSBvbiBwdWJsaWMucHQKKyAgIC0+ICBSZXN1bHQK KyAgICAgICAgIE91dHB1dDogcHQuY3RpZAorICAgICAgICAgUmVwbGFjZXM6IFNjYW4gb24gcHQK KyAgICAgICAgIE9uZS1UaW1lIEZpbHRlcjogZmFsc2UKKyg1IHJvd3MpCisKKy0tIGFsc28gY292 ZXIgd2hvbGVyb3cgZm9yIFVQREFURTsgZXhwZWN0IE5VTEw6Om9pZCBhbmQgTlVMTDo6cmVjb3Jk CitFWFBMQUlOIChDT1NUUyBPRkYsIFZFUkJPU0UpIFVQREFURSBwdCBTRVQgYiA9ICd4JyBXSEVS RSBmYWxzZTsKKyAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgVXBkYXRlIG9uIHB1YmxpYy5wdAorICAgLT4g IFJlc3VsdAorICAgICAgICAgT3V0cHV0OiAneCc6OnRleHQsIHB0LmN0aWQKKyAgICAgICAgIFJl cGxhY2VzOiBTY2FuIG9uIHB0CisgICAgICAgICBPbmUtVGltZSBGaWx0ZXI6IGZhbHNlCisoNSBy b3dzKQorCistLSBNRVJHRSBiZWhhdmVzIHRoZSBzYW1lIGhlcmU7IGV4cGVjdCBOVUxMOjpvaWQK K0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkgTUVSR0UgSU5UTyBwdCB0IFVTSU5HIChWQUxV RVMgKDEsICd4Jzo6dGV4dCkpIEFTIHMoYSwgYikKKyAgT04gZmFsc2UgV0hFTiBNQVRDSEVEIFRI RU4gVVBEQVRFIFNFVCBiID0gcy5iOworICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgTWVyZ2Ugb24gcHVibGljLnB0IHQK KyAgIC0+ICBSZXN1bHQKKyAgICAgICAgIE91dHB1dDogdC5jdGlkCisgICAgICAgICBSZXBsYWNl czogU2NhbiBvbiB0CisgICAgICAgICBPbmUtVGltZSBGaWx0ZXI6IGZhbHNlCisoNSByb3dzKQor CistLSBXaXRoIHBydW5pbmcgb24sIHRoZSBmb3JlaWduIGNoaWxkIGlzIHBydW5lZCBlbnRpcmVs eS4gVGhlIHBsYW4gaGFzIG9ubHkKKy0tIHRoZSBkdW1teSByb290LCBhbmQgRVhQTEFJTiBzaG93 cyBjdGlkIChhbmQgZm9yIFVQREFURSwgY3RpZCBwbHVzIHRhcmdldCkuCitTRVQgZW5hYmxlX3Bh cnRpdGlvbl9wcnVuaW5nIFRPIG9uOworRVhQTEFJTiAoQ09TVFMgT0ZGLCBWRVJCT1NFKSBERUxF VEUgRlJPTSBwdCBXSEVSRSBmYWxzZTsKKyAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIERlbGV0ZSBvbiBwdWJsaWMucHQK KyAgIC0+ICBSZXN1bHQKKyAgICAgICAgIE91dHB1dDogY3RpZAorICAgICAgICAgUmVwbGFjZXM6 IFNjYW4gb24gcHQKKyAgICAgICAgIE9uZS1UaW1lIEZpbHRlcjogZmFsc2UKKyg1IHJvd3MpCisK K0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkgVVBEQVRFIHB0IFNFVCBiID0gJ3gnIFdIRVJF IGZhbHNlOworICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBVcGRhdGUgb24gcHVibGljLnB0CisgICAtPiAgUmVzdWx0 CisgICAgICAgICBPdXRwdXQ6ICd4Jzo6dGV4dCwgY3RpZAorICAgICAgICAgUmVwbGFjZXM6IFNj YW4gb24gcHQKKyAgICAgICAgIE9uZS1UaW1lIEZpbHRlcjogZmFsc2UKKyg1IHJvd3MpCisKKy0t IEZvcmVpZ24gY2hpbGQgbm90IHBydW5lZCBhbmQgaXQgZG9lcyBub3Qgc3VwcG9ydCBERUxFVEU6 IGVycm9yLgorRVhQTEFJTiAoQ09TVFMgT0ZGLCBWRVJCT1NFKSBERUxFVEUgRlJPTSBwdCBXSEVS RSBhID0gMTsKK0VSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIGZvcmVpZ24gdGFibGUgInAxIgor LS0gUnVudGltZSBwcnVuaW5nIGluY2x1ZGVzIHRoZSBmb3JlaWduIGNoaWxkIGluIHRoZSBwbGFu OyBleGVjdXRvciBlcnJvcnMKKy0tIHNpbmNlIHRoZSBmb3JlaWduIGNoaWxkIGRvZXMgbm90IHN1 cHBvcnQgdGhlIGNvbW1hbmQuCitFWFBMQUlOIChDT1NUUyBPRkYsIFZFUkJPU0UpIERFTEVURSBG Uk9NIHB0IFdIRVJFIChTRUxFQ1QgZmFsc2UpOworRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20g Zm9yZWlnbiB0YWJsZSAicDEiCiBEUk9QIFRBQkxFIHB0OwogLS0gZ2VuZXJhdGVkIGNvbHVtbiB0 ZXN0cwogXHNldCBmaWxlbmFtZSA6YWJzX3NyY2RpciAnL2RhdGEvbGlzdDEuY3N2JwpkaWZmIC0t Z2l0IGEvY29udHJpYi9maWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsIGIvY29udHJpYi9maWxlX2Zk dy9zcWwvZmlsZV9mZHcuc3FsCmluZGV4IDFhMzk3YWQ0YmQxLi4yNTY1OGIxZjJkYyAxMDA2NDQK LS0tIGEvY29udHJpYi9maWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsCisrKyBiL2NvbnRyaWIvZmls ZV9mZHcvc3FsL2ZpbGVfZmR3LnNxbApAQCAtMjQyLDYgKzI0Miw0MCBAQCBVUERBVEUgcHQgc2V0 IGEgPSAxIHdoZXJlIGEgPSAyOyAtLSBFUlJPUgogU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywg KiBGUk9NIHB0OwogU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHAxOwogU0VMRUNU IHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHAyOworCistLSBWZXJpZnkgdGhhdCBhIGR1bW15 IHJvb3QgcGFydGl0aW9uZWQtdGFibGUgcmVzdWx0IHJlbGF0aW9uIHdvcmtzIHdpdGhvdXQKKy0t IGVycm9yIHdoZW4gYWxsIGNoaWxkIHBhcnRpdGlvbnMgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIHBs YW4gKGZvciBleGFtcGxlLAorLS0gYnkgY29uc3RyYWludCBleGNsdXNpb24gb3IgcHJ1bmluZyku ICBJbiB0aGlzIGNhc2UsIHRoZSBleGVjdXRvciBhY2NlcHRzCistLSBhIG1pc3NpbmcgY3RpZCBm b3IgdGhlIHJvb3QgcmVzdWx0IHJlbGF0aW9uIHNpbmNlIG5vIHJvd3MgY2FuIGJlIHByb2R1Y2Vk LgorLS0gV2hlbiBhIGZvcmVpZ24tdGFibGUgY2hpbGQgaXMgcHJvY2Vzc2VkIGJlZm9yZSBleGNs dXNpb24sIGEgdGFibGVvaWQganVuaworLS0gY29sdW1uIG1heSBzdGlsbCBhcHBlYXIgaW4gdGhl IHRhcmdldGxpc3QgYW5kIGFsc28gd2hvbGVyb3cgZm9yIHVwZGF0ZS4KKworLS0gRHVtbXktcm9v dCBjYXNlcyB3aGVyZSBhbGwgY2hpbGRyZW4gYXJlIGV4Y2x1ZGVkLgorLS0gV2l0aCBwcnVuaW5n IG9mZiwgdGhlIGZvcmVpZ24gY2hpbGQgaXMgcHJvY2Vzc2VkIGZpcnN0LCB0aGVuIGV4Y2x1ZGVk CistLSBieSBjb25zdHJhaW50IGV4Y2x1c2lvbi4gRVhQTEFJTiBzaG93cyB0YWJsZW9pZCAocmV3 cml0dGVuIHRvIE5VTEwpLAorLS0gYW5kIGZvciBVUERBVEUgYWxzbyB3aG9sZXJvdyBhcyBOVUxM OjpyZWNvcmQuIE5vIGN0aWQuCitEUk9QIFRBQkxFIHAyOworU0VUIGVuYWJsZV9wYXJ0aXRpb25f cHJ1bmluZyBUTyBvZmY7CitFWFBMQUlOIChDT1NUUyBPRkYsIFZFUkJPU0UpIERFTEVURSBGUk9N IHB0IFdIRVJFIGZhbHNlOworLS0gYWxzbyBjb3ZlciB3aG9sZXJvdyBmb3IgVVBEQVRFOyBleHBl Y3QgTlVMTDo6b2lkIGFuZCBOVUxMOjpyZWNvcmQKK0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9T RSkgVVBEQVRFIHB0IFNFVCBiID0gJ3gnIFdIRVJFIGZhbHNlOworLS0gTUVSR0UgYmVoYXZlcyB0 aGUgc2FtZSBoZXJlOyBleHBlY3QgTlVMTDo6b2lkCitFWFBMQUlOIChDT1NUUyBPRkYsIFZFUkJP U0UpIE1FUkdFIElOVE8gcHQgdCBVU0lORyAoVkFMVUVTICgxLCAneCc6OnRleHQpKSBBUyBzKGEs IGIpCisgIE9OIGZhbHNlIFdIRU4gTUFUQ0hFRCBUSEVOIFVQREFURSBTRVQgYiA9IHMuYjsKKwor LS0gV2l0aCBwcnVuaW5nIG9uLCB0aGUgZm9yZWlnbiBjaGlsZCBpcyBwcnVuZWQgZW50aXJlbHku IFRoZSBwbGFuIGhhcyBvbmx5CistLSB0aGUgZHVtbXkgcm9vdCwgYW5kIEVYUExBSU4gc2hvd3Mg Y3RpZCAoYW5kIGZvciBVUERBVEUsIGN0aWQgcGx1cyB0YXJnZXQpLgorU0VUIGVuYWJsZV9wYXJ0 aXRpb25fcHJ1bmluZyBUTyBvbjsKK0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkgREVMRVRF IEZST00gcHQgV0hFUkUgZmFsc2U7CitFWFBMQUlOIChDT1NUUyBPRkYsIFZFUkJPU0UpIFVQREFU RSBwdCBTRVQgYiA9ICd4JyBXSEVSRSBmYWxzZTsKKworLS0gRm9yZWlnbiBjaGlsZCBub3QgcHJ1 bmVkIGFuZCBpdCBkb2VzIG5vdCBzdXBwb3J0IERFTEVURTogZXJyb3IuCitFWFBMQUlOIChDT1NU UyBPRkYsIFZFUkJPU0UpIERFTEVURSBGUk9NIHB0IFdIRVJFIGEgPSAxOworCistLSBSdW50aW1l IHBydW5pbmcgaW5jbHVkZXMgdGhlIGZvcmVpZ24gY2hpbGQgaW4gdGhlIHBsYW47IGV4ZWN1dG9y IGVycm9ycworLS0gc2luY2UgdGhlIGZvcmVpZ24gY2hpbGQgZG9lcyBub3Qgc3VwcG9ydCB0aGUg Y29tbWFuZC4KK0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkgREVMRVRFIEZST00gcHQgV0hF UkUgKFNFTEVDVCBmYWxzZSk7CisKIERST1AgVEFCTEUgcHQ7CiAKIC0tIGdlbmVyYXRlZCBjb2x1 bW4gdGVzdHMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3Rn cmVzX2Zkdy5vdXQgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcu b3V0CmluZGV4IDQ4ZTMxODViMjI3Li43YTIwZWUwNjAyNyAxMDA2NDQKLS0tIGEvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAorKysgYi9jb250cmliL3Bvc3Rn cmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CkBAIC03Mzk5LDcgKzczOTksNyBAQCBV UERBVEUgcndfdmlldyBTRVQgYiA9IGIgKyA1OwogICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGlj LmZvcmVpZ25fdGJsIHBhcmVudF90YmxfMQogICAgICBSZW1vdGUgU1FMOiBVUERBVEUgcHVibGlj LmNoaWxkX3RibCBTRVQgYiA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgogICAg LT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCi0gICAg ICAgICBPdXRwdXQ6IChwYXJlbnRfdGJsXzEuYiArIDUpLCBwYXJlbnRfdGJsXzEudGFibGVvaWQs IHBhcmVudF90YmxfMS5jdGlkLCBwYXJlbnRfdGJsXzEuKgorICAgICAgICAgT3V0cHV0OiAocGFy ZW50X3RibF8xLmIgKyA1KSwgcGFyZW50X3RibF8xLmN0aWQsIHBhcmVudF90YmxfMS4qLCBwYXJl bnRfdGJsXzEudGFibGVvaWQKICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiLCBjdGlk IEZST00gcHVibGljLmNoaWxkX3RibCBXSEVSRSAoKGEgPCBiKSkgRk9SIFVQREFURQogKDYgcm93 cykKIApAQCAtNzQxNCw3ICs3NDE0LDcgQEAgVVBEQVRFIHJ3X3ZpZXcgU0VUIGIgPSBiICsgMTU7 CiAgICBGb3JlaWduIFVwZGF0ZSBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAg ICAgIFJlbW90ZSBTUUw6IFVQREFURSBwdWJsaWMuY2hpbGRfdGJsIFNFVCBiID0gJDIgV0hFUkUg Y3RpZCA9ICQxIFJFVFVSTklORyBhLCBiCiAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1YmxpYy5m b3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91dHB1dDogKHBhcmVudF90YmxfMS5i ICsgMTUpLCBwYXJlbnRfdGJsXzEudGFibGVvaWQsIHBhcmVudF90YmxfMS5jdGlkLCBwYXJlbnRf dGJsXzEuKgorICAgICAgICAgT3V0cHV0OiAocGFyZW50X3RibF8xLmIgKyAxNSksIHBhcmVudF90 YmxfMS5jdGlkLCBwYXJlbnRfdGJsXzEuKiwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAg ICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiwgY3RpZCBGUk9NIHB1YmxpYy5jaGlsZF90YmwgV0hF UkUgKChhIDwgYikpIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTc0NzAsNyArNzQ3MCw3IEBA IFVQREFURSByd192aWV3IFNFVCBiID0gJ3RleHQnLCBjID0gMTIzLjQ1NjsKICAgIEZvcmVpZ24g VXBkYXRlIG9uIHB1YmxpYy5jaGlsZF9mb3JlaWduIHBhcmVudF90YmxfMQogICAgICBSZW1vdGUg U1FMOiBVUERBVEUgcHVibGljLmNoaWxkX2xvY2FsIFNFVCBiID0gJDIsIGMgPSAkMyBXSEVSRSBj dGlkID0gJDEgUkVUVVJOSU5HIGEKICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmNoaWxk X2ZvcmVpZ24gcGFyZW50X3RibF8xCi0gICAgICAgICBPdXRwdXQ6ICd0ZXh0Jzo6dGV4dCwgMTIz LjQ1NiwgcGFyZW50X3RibF8xLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZCwgcGFyZW50X3Ri bF8xLioKKyAgICAgICAgIE91dHB1dDogJ3RleHQnOjp0ZXh0LCAxMjMuNDU2LCBwYXJlbnRfdGJs XzEuY3RpZCwgcGFyZW50X3RibF8xLiosIHBhcmVudF90YmxfMS50YWJsZW9pZAogICAgICAgICAg UmVtb3RlIFNRTDogU0VMRUNUIGIsIGMsIGEsIGN0aWQgRlJPTSBwdWJsaWMuY2hpbGRfbG9jYWwg V0hFUkUgKChhIDwgNSkpIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTgyNjgsNyArODI2OCw3 IEBAIFVQREFURSBwYXJlbnRfdGJsIFNFVCBiID0gYiArIDE7CiAgICBGb3JlaWduIFVwZGF0ZSBv biBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAgICAgIFJlbW90ZSBTUUw6IFVQREFU RSBwdWJsaWMubG9jYWxfdGJsIFNFVCBiID0gJDIgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAgRm9y ZWlnbiBTY2FuIG9uIHB1YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91 dHB1dDogKHBhcmVudF90YmxfMS5iICsgMSksIHBhcmVudF90YmxfMS50YWJsZW9pZCwgcGFyZW50 X3RibF8xLmN0aWQsIHBhcmVudF90YmxfMS4qCisgICAgICAgICBPdXRwdXQ6IChwYXJlbnRfdGJs XzEuYiArIDEpLCBwYXJlbnRfdGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLiosIHBhcmVudF90Ymxf MS50YWJsZW9pZAogICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGN0aWQgRlJPTSBw dWJsaWMubG9jYWxfdGJsIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTgyODIsNyArODI4Miw3 IEBAIERFTEVURSBGUk9NIHBhcmVudF90Ymw7CiAgICBGb3JlaWduIERlbGV0ZSBvbiBwdWJsaWMu Zm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAgICAgIFJlbW90ZSBTUUw6IERFTEVURSBGUk9NIHB1 YmxpYy5sb2NhbF90YmwgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1 YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91dHB1dDogcGFyZW50X3Ri bF8xLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiBwYXJlbnRf dGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAgICBSZW1vdGUgU1FMOiBT RUxFQ1QgY3RpZCBGUk9NIHB1YmxpYy5sb2NhbF90YmwgRk9SIFVQREFURQogKDYgcm93cykKIApA QCAtODMwOCwxMiArODMwOCwxMiBAQCBVUERBVEUgcGFyZW50X3RibCBTRVQgYiA9IGIgKyAxOwog ICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGljLmZvcmVpZ25fdGJsIHBhcmVudF90YmxfMgogICAg ICBSZW1vdGUgU1FMOiBVUERBVEUgcHVibGljLmxvY2FsX3RibCBTRVQgYiA9ICQyIFdIRVJFIGN0 aWQgPSAkMQogICAgLT4gIFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAocGFyZW50X3RibC5iICsg MSksIHBhcmVudF90YmwudGFibGVvaWQsIHBhcmVudF90YmwuY3RpZCwgKE5VTEw6OnJlY29yZCkK KyAgICAgICAgIE91dHB1dDogKHBhcmVudF90YmwuYiArIDEpLCBwYXJlbnRfdGJsLmN0aWQsIHBh cmVudF90YmwudGFibGVvaWQsIChOVUxMOjpyZWNvcmQpCiAgICAgICAgICAtPiAgQXBwZW5kCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnBhcmVudF90YmwgcGFyZW50X3Ri bF8xCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF90YmxfMS5iLCBwYXJlbnRf dGJsXzEudGFibGVvaWQsIHBhcmVudF90YmxfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogcGFyZW50X3RibF8xLmIsIHBhcmVudF90YmxfMS5jdGlkLCBw YXJlbnRfdGJsXzEudGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgICAgICAgLT4gIEZv cmVpZ24gU2NhbiBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8yCi0gICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF90YmxfMi5iLCBwYXJlbnRfdGJsXzIudGFibGVvaWQs IHBhcmVudF90YmxfMi5jdGlkLCBwYXJlbnRfdGJsXzIuKgorICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiBwYXJlbnRfdGJsXzIuYiwgcGFyZW50X3RibF8yLmN0aWQsIHBhcmVudF90YmxfMi50 YWJsZW9pZCwgcGFyZW50X3RibF8yLioKICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6 IFNFTEVDVCBhLCBiLCBjdGlkIEZST00gcHVibGljLmxvY2FsX3RibCBGT1IgVVBEQVRFCiAoMTIg cm93cykKIApAQCAtODMyOSw5ICs4MzI5LDkgQEAgREVMRVRFIEZST00gcGFyZW50X3RibDsKICAg ICAgUmVtb3RlIFNRTDogREVMRVRFIEZST00gcHVibGljLmxvY2FsX3RibCBXSEVSRSBjdGlkID0g JDEKICAgIC0+ICBBcHBlbmQKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMucGFyZW50 X3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50X3RibF8xLnRh Ymxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZAorICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJlbnRf dGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAgICAtPiAgRm9yZWlnbiBT Y2FuIG9uIHB1YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzIKLSAgICAgICAgICAgICAgIE91 dHB1dDogcGFyZW50X3RibF8yLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzIuY3RpZAorICAgICAgICAg ICAgICAgT3V0cHV0OiBwYXJlbnRfdGJsXzIuY3RpZCwgcGFyZW50X3RibF8yLnRhYmxlb2lkCiAg ICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgY3RpZCBGUk9NIHB1YmxpYy5sb2NhbF90 YmwgRk9SIFVQREFURQogKDEwIHJvd3MpCiAKQEAgLTg2ODIsMTQgKzg2ODIsMTQgQEAgdXBkYXRl IGJhciBzZXQgZjIgPSBmMiArIDEwMCB3aGVyZSBmMSBpbiAoc2VsZWN0IGYxIGZyb20gZm9vKTsK ICAgIEZvcmVpZ24gVXBkYXRlIG9uIHB1YmxpYy5iYXIyIGJhcl8yCiAgICAgIFJlbW90ZSBTUUw6 IFVQREFURSBwdWJsaWMubG9jdDIgU0VUIGYyID0gJDIgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAg SGFzaCBKb2luCi0gICAgICAgICBPdXRwdXQ6IChiYXIuZjIgKyAxMDApLCBmb28uY3RpZCwgYmFy LnRhYmxlb2lkLCBiYXIuY3RpZCwgKE5VTEw6OnJlY29yZCksIGZvby4qLCBmb28udGFibGVvaWQK KyAgICAgICAgIE91dHB1dDogKGJhci5mMiArIDEwMCksIGZvby5jdGlkLCBiYXIuY3RpZCwgYmFy LnRhYmxlb2lkLCAoTlVMTDo6cmVjb3JkKSwgZm9vLiosIGZvby50YWJsZW9pZAogICAgICAgICAg SW5uZXIgVW5pcXVlOiB0cnVlCiAgICAgICAgICBIYXNoIENvbmQ6IChiYXIuZjEgPSBmb28uZjEp CiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmJhciBiYXJfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiYXJfMS5mMiwgYmFy XzEuZjEsIGJhcl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmYxLCBiYXJfMS5jdGlkLCBiYXJf MS50YWJsZW9pZCwgTlVMTDo6cmVjb3JkCiAgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2Fu IG9uIHB1YmxpYy5iYXIyIGJhcl8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8y LmYyLCBiYXJfMi5mMSwgYmFyXzIudGFibGVvaWQsIGJhcl8yLmN0aWQsIGJhcl8yLioKKyAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzIuZjIsIGJhcl8yLmYxLCBiYXJfMi5jdGlkLCBi YXJfMi50YWJsZW9pZCwgYmFyXzIuKgogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDog U0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBwdWJsaWMubG9jdDIgRk9SIFVQREFURQogICAg ICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogZm9vLmN0aWQsIGZvby5mMSwg Zm9vLiosIGZvby50YWJsZW9pZApAQCAtODcyOSwxNiArODcyOSwxNiBAQCB3aGVyZSBiYXIuZjEg PSBzcy5mMTsKICAgIEZvcmVpZ24gVXBkYXRlIG9uIHB1YmxpYy5iYXIyIGJhcl8yCiAgICAgIFJl bW90ZSBTUUw6IFVQREFURSBwdWJsaWMubG9jdDIgU0VUIGYyID0gJDIgV0hFUkUgY3RpZCA9ICQx CiAgICAtPiAgTWVyZ2UgSm9pbgotICAgICAgICAgT3V0cHV0OiAoYmFyLmYyICsgMTAwKSwgKFJP Vyhmb28uZjEpKSwgYmFyLnRhYmxlb2lkLCBiYXIuY3RpZCwgKE5VTEw6OnJlY29yZCkKKyAgICAg ICAgIE91dHB1dDogKGJhci5mMiArIDEwMCksIChST1coZm9vLmYxKSksIGJhci5jdGlkLCBiYXIu dGFibGVvaWQsIChOVUxMOjpyZWNvcmQpCiAgICAgICAgICBNZXJnZSBDb25kOiAoYmFyLmYxID0g Zm9vLmYxKQogICAgICAgICAgLT4gIFNvcnQKLSAgICAgICAgICAgICAgIE91dHB1dDogYmFyLmYy LCBiYXIuZjEsIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAgICAg ICAgICAgICBPdXRwdXQ6IGJhci5mMiwgYmFyLmYxLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAo TlVMTDo6cmVjb3JkKQogICAgICAgICAgICAgICAgU29ydCBLZXk6IGJhci5mMQogICAgICAgICAg ICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzEu ZjIsIGJhcl8xLmYxLCBiYXJfMS50YWJsZW9pZCwgYmFyXzEuY3RpZCwgTlVMTDo6cmVjb3JkCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8xLmYyLCBiYXJfMS5mMSwgYmFy XzEuY3RpZCwgYmFyXzEudGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgICAgICAgICAg ICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuYmFyMiBiYXJfMgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiBiYXJfMi5mMiwgYmFyXzIuZjEsIGJhcl8yLnRhYmxlb2lkLCBi YXJfMi5jdGlkLCBiYXJfMi4qCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJh cl8yLmYyLCBiYXJfMi5mMSwgYmFyXzIuY3RpZCwgYmFyXzIudGFibGVvaWQsIGJhcl8yLioKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBmMSwgZjIsIGYzLCBj dGlkIEZST00gcHVibGljLmxvY3QyIEZPUiBVUERBVEUKICAgICAgICAgIC0+ICBTb3J0CiAgICAg ICAgICAgICAgICBPdXRwdXQ6IChST1coZm9vLmYxKSksIGZvby5mMQpAQCAtODg4OCw3ICs4ODg4 LDcgQEAgZGVsZXRlIGZyb20gZm9vIHdoZXJlIGYxIDwgNSByZXR1cm5pbmcgKjsKICAgIEZvcmVp Z24gRGVsZXRlIG9uIHB1YmxpYy5mb28yIGZvb18yCiAgICAtPiAgQXBwZW5kCiAgICAgICAgICAt PiAgSW5kZXggU2NhbiB1c2luZyBpX2Zvb19mMSBvbiBwdWJsaWMuZm9vIGZvb18xCi0gICAgICAg ICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAg ICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICAgICAgICBJbmRl eCBDb25kOiAoZm9vXzEuZjEgPCA1KQogICAgICAgICAgLT4gIEZvcmVpZ24gRGVsZXRlIG9uIHB1 YmxpYy5mb28yIGZvb18yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBERUxFVEUgRlJPTSBw dWJsaWMubG9jdDEgV0hFUkUgKChmMSA8IDUpKSBSRVRVUk5JTkcgZjEsIGYyCkBAIC04OTEzLDEw ICs4OTEzLDEwIEBAIHVwZGF0ZSBiYXIgc2V0IGYyID0gZjIgKyAxMDAgcmV0dXJuaW5nICo7CiAg ICBVcGRhdGUgb24gcHVibGljLmJhciBiYXJfMQogICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGlj LmJhcjIgYmFyXzIKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1dDogKGJhci5mMiArIDEw MCksIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAgICAgICBPdXRw dXQ6IChiYXIuZjIgKyAxMDApLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAoTlVMTDo6cmVjb3Jk KQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJh cl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxlb2lkLCBOVUxMOjpy ZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFVwZGF0ZSBvbiBwdWJsaWMuYmFyMiBi YXJfMgogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1YmxpYy5sb2N0 MiBTRVQgZjIgPSAoZjIgKyAxMDApIFJFVFVSTklORyBmMSwgZjIKICgxMSByb3dzKQpAQCAtODk0 OCwxMiArODk0OCwxMiBAQCB1cGRhdGUgYmFyIHNldCBmMiA9IGYyICsgMTAwOwogICAgRm9yZWln biBVcGRhdGUgb24gcHVibGljLmJhcjIgYmFyXzIKICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1 YmxpYy5sb2N0MiBTRVQgZjEgPSAkMiwgZjIgPSAkMywgZjMgPSAkNCBXSEVSRSBjdGlkID0gJDEg UkVUVVJOSU5HIGYxLCBmMiwgZjMKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1dDogKGJh ci5mMiArIDEwMCksIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAg ICAgICBPdXRwdXQ6IChiYXIuZjIgKyAxMDApLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAoTlVM TDo6cmVjb3JkKQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFy XzEuZjIsIGJhcl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxlb2lk LCBOVUxMOjpyZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGlj LmJhcjIgYmFyXzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzIuZjIsIGJhcl8y LnRhYmxlb2lkLCBiYXJfMi5jdGlkLCBiYXJfMi4qCisgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IGJhcl8yLmYyLCBiYXJfMi5jdGlkLCBiYXJfMi50YWJsZW9pZCwgYmFyXzIuKgogICAgICAg ICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBw dWJsaWMubG9jdDIgRk9SIFVQREFURQogKDEyIHJvd3MpCiAKQEAgLTg5ODAsMTAgKzg5ODAsMTAg QEAgZGVsZXRlIGZyb20gYmFyIHdoZXJlIGYyIDwgNDAwOwogICAgICBSZW1vdGUgU1FMOiBERUxF VEUgRlJPTSBwdWJsaWMubG9jdDIgV0hFUkUgY3RpZCA9ICQxIFJFVFVSTklORyBmMSwgZjIsIGYz CiAgICAtPiAgQXBwZW5kCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmJhciBiYXJf MQotICAgICAgICAgICAgICAgT3V0cHV0OiBiYXJfMS50YWJsZW9pZCwgYmFyXzEuY3RpZCwgTlVM TDo6cmVjb3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxl b2lkLCBOVUxMOjpyZWNvcmQKICAgICAgICAgICAgICAgIEZpbHRlcjogKGJhcl8xLmYyIDwgNDAw KQogICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuYmFyMiBiYXJfMgotICAgICAg ICAgICAgICAgT3V0cHV0OiBiYXJfMi50YWJsZW9pZCwgYmFyXzIuY3RpZCwgYmFyXzIuKgorICAg ICAgICAgICAgICAgT3V0cHV0OiBiYXJfMi5jdGlkLCBiYXJfMi50YWJsZW9pZCwgYmFyXzIuKgog ICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBw dWJsaWMubG9jdDIgV0hFUkUgKChmMiA8IDQwMCkpIEZPUiBVUERBVEUKICgxMSByb3dzKQogCkBA IC05MDI0LDEzICs5MDI0LDEzIEBAIHVwZGF0ZSBwYXJlbnQgc2V0IGIgPSBwYXJlbnQuYiB8fCBy ZW10Mi5iIGZyb20gcmVtdDIgd2hlcmUgcGFyZW50LmEgPSByZW10Mi5hIHJlCiAgICBGb3JlaWdu IFVwZGF0ZSBvbiBwdWJsaWMucmVtdDEgcGFyZW50XzIKICAgICAgUmVtb3RlIFNRTDogVVBEQVRF IHB1YmxpYy5sb2N0MSBTRVQgYiA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgog ICAgLT4gIE5lc3RlZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IChwYXJlbnQuYiB8fCByZW10Mi5i KSwgcmVtdDIuKiwgcmVtdDIuYSwgcmVtdDIuYiwgcGFyZW50LnRhYmxlb2lkLCBwYXJlbnQuY3Rp ZCwgKE5VTEw6OnJlY29yZCkKKyAgICAgICAgIE91dHB1dDogKHBhcmVudC5iIHx8IHJlbXQyLmIp LCByZW10Mi4qLCByZW10Mi5hLCByZW10Mi5iLCBwYXJlbnQuY3RpZCwgcGFyZW50LnRhYmxlb2lk LCAoTlVMTDo6cmVjb3JkKQogICAgICAgICAgSm9pbiBGaWx0ZXI6IChwYXJlbnQuYSA9IHJlbXQy LmEpCiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLnBhcmVudCBwYXJlbnRfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJl bnRfMS5iLCBwYXJlbnRfMS5hLCBwYXJlbnRfMS50YWJsZW9pZCwgcGFyZW50XzEuY3RpZCwgTlVM TDo6cmVjb3JkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF8xLmIsIHBhcmVu dF8xLmEsIHBhcmVudF8xLmN0aWQsIHBhcmVudF8xLnRhYmxlb2lkLCBOVUxMOjpyZWNvcmQKICAg ICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLnJlbXQxIHBhcmVudF8yCi0g ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF8yLmIsIHBhcmVudF8yLmEsIHBhcmVu dF8yLnRhYmxlb2lkLCBwYXJlbnRfMi5jdGlkLCBwYXJlbnRfMi4qCisgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHBhcmVudF8yLmIsIHBhcmVudF8yLmEsIHBhcmVudF8yLmN0aWQsIHBhcmVu dF8yLnRhYmxlb2lkLCBwYXJlbnRfMi4qCiAgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FM OiBTRUxFQ1QgYSwgYiwgY3RpZCBGUk9NIHB1YmxpYy5sb2N0MSBGT1IgVVBEQVRFCiAgICAgICAg ICAtPiAgTWF0ZXJpYWxpemUKICAgICAgICAgICAgICAgIE91dHB1dDogcmVtdDIuYiwgcmVtdDIu KiwgcmVtdDIuYQpAQCAtOTA1NiwxMyArOTA1NiwxMyBAQCBkZWxldGUgZnJvbSBwYXJlbnQgdXNp bmcgcmVtdDIgd2hlcmUgcGFyZW50LmEgPSByZW10Mi5hIHJldHVybmluZyBwYXJlbnQ7CiAgICBG b3JlaWduIERlbGV0ZSBvbiBwdWJsaWMucmVtdDEgcGFyZW50XzIKICAgICAgUmVtb3RlIFNRTDog REVMRVRFIEZST00gcHVibGljLmxvY3QxIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgog ICAgLT4gIE5lc3RlZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IHJlbXQyLiosIHBhcmVudC50YWJs ZW9pZCwgcGFyZW50LmN0aWQKKyAgICAgICAgIE91dHB1dDogcmVtdDIuKiwgcGFyZW50LmN0aWQs IHBhcmVudC50YWJsZW9pZAogICAgICAgICAgSm9pbiBGaWx0ZXI6IChwYXJlbnQuYSA9IHJlbXQy LmEpCiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLnBhcmVudCBwYXJlbnRfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJl bnRfMS5hLCBwYXJlbnRfMS50YWJsZW9pZCwgcGFyZW50XzEuY3RpZAorICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBwYXJlbnRfMS5hLCBwYXJlbnRfMS5jdGlkLCBwYXJlbnRfMS50YWJsZW9p ZAogICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMucmVtdDEgcGFyZW50 XzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50XzIuYSwgcGFyZW50XzIudGFi bGVvaWQsIHBhcmVudF8yLmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50 XzIuYSwgcGFyZW50XzIuY3RpZCwgcGFyZW50XzIudGFibGVvaWQKICAgICAgICAgICAgICAgICAg ICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBjdGlkIEZST00gcHVibGljLmxvY3QxIEZPUiBVUERB VEUKICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgT3V0cHV0OiByZW10 Mi4qLCByZW10Mi5hCkBAIC05MjkzLDcgKzkyOTMsNyBAQCB1cGRhdGUgdXRydGVzdCBzZXQgYSA9 IDEgd2hlcmUgYSA9IDEgb3IgYSA9IDIgcmV0dXJuaW5nICo7CiAgICAgICAgICAtPiAgRm9yZWln biBVcGRhdGUgb24gcHVibGljLnJlbXAgdXRydGVzdF8xCiAgICAgICAgICAgICAgICBSZW1vdGUg U1FMOiBVUERBVEUgcHVibGljLmxvY3QgU0VUIGEgPSAxIFdIRVJFICgoKGEgPSAxKSBPUiAoYSA9 IDIpKSkgUkVUVVJOSU5HIGEsIGIKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMubG9j cCB1dHJ0ZXN0XzIKLSAgICAgICAgICAgICAgIE91dHB1dDogMSwgdXRydGVzdF8yLnRhYmxlb2lk LCB1dHJ0ZXN0XzIuY3RpZCwgTlVMTDo6cmVjb3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IDEs IHV0cnRlc3RfMi5jdGlkLCBOVUxMOjpyZWNvcmQsIHV0cnRlc3RfMi50YWJsZW9pZAogICAgICAg ICAgICAgICAgRmlsdGVyOiAoKHV0cnRlc3RfMi5hID0gMSkgT1IgKHV0cnRlc3RfMi5hID0gMikp CiAoMTAgcm93cykKIApAQCAtOTMxMSw3ICs5MzExLDcgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEg PSAxIHdoZXJlIGEgPSAyIHJldHVybmluZyAqOwogICAgT3V0cHV0OiB1dHJ0ZXN0XzEuYSwgdXRy dGVzdF8xLmIKICAgIFVwZGF0ZSBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKLSAgICAgICAgIE91dHB1dDogMSwgdXRydGVz dF8xLnRhYmxlb2lkLCB1dHJ0ZXN0XzEuY3RpZAorICAgICAgICAgT3V0cHV0OiAxLCB1dHJ0ZXN0 XzEuY3RpZCwgdXRydGVzdF8xLnRhYmxlb2lkCiAgICAgICAgICBGaWx0ZXI6ICh1dHJ0ZXN0XzEu YSA9IDIpCiAoNiByb3dzKQogCkBAIC05MzQyLDcgKzkzNDIsNyBAQCB1cGRhdGUgdXRydGVzdCBz ZXQgYSA9IDEgcmV0dXJuaW5nICo7CiAgICAgICAgICAtPiAgRm9yZWlnbiBVcGRhdGUgb24gcHVi bGljLnJlbXAgdXRydGVzdF8xCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBVUERBVEUgcHVi bGljLmxvY3QgU0VUIGEgPSAxIFJFVFVSTklORyBhLCBiCiAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmxvY3AgdXRydGVzdF8yCi0gICAgICAgICAgICAgICBPdXRwdXQ6IDEsIHV0cnRl c3RfMi50YWJsZW9pZCwgdXRydGVzdF8yLmN0aWQsIE5VTEw6OnJlY29yZAorICAgICAgICAgICAg ICAgT3V0cHV0OiAxLCB1dHJ0ZXN0XzIuY3RpZCwgTlVMTDo6cmVjb3JkLCB1dHJ0ZXN0XzIudGFi bGVvaWQKICg5IHJvd3MpCiAKIHVwZGF0ZSB1dHJ0ZXN0IHNldCBhID0gMSByZXR1cm5pbmcgKjsK QEAgLTkzNjEsMTQgKzkzNjEsMTQgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEgPSAxIGZyb20gKHZh bHVlcyAoMSksICgyKSkgcyh4KSB3aGVyZSBhID0gcy54IHJldHVybmluZyAqOwogICAgICBSZW1v dGUgU1FMOiBVUERBVEUgcHVibGljLmxvY3QgU0VUIGEgPSAkMiBXSEVSRSBjdGlkID0gJDEgUkVU VVJOSU5HIGEsIGIKICAgIFVwZGF0ZSBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzIKICAgIC0+ICBI YXNoIEpvaW4KLSAgICAgICAgIE91dHB1dDogMSwgIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNv bHVtbjEsIHV0cnRlc3QudGFibGVvaWQsIHV0cnRlc3QuY3RpZCwgdXRydGVzdC4qCisgICAgICAg ICBPdXRwdXQ6IDEsICIqVkFMVUVTKiIuKiwgIipWQUxVRVMqIi5jb2x1bW4xLCB1dHJ0ZXN0LmN0 aWQsIHV0cnRlc3QuKiwgdXRydGVzdC50YWJsZW9pZAogICAgICAgICAgSGFzaCBDb25kOiAodXRy dGVzdC5hID0gIipWQUxVRVMqIi5jb2x1bW4xKQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAg ICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMucmVtcCB1dHJ0ZXN0XzEKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdXRydGVzdF8xLmEsIHV0cnRlc3RfMS50YWJsZW9pZCwg dXRydGVzdF8xLmN0aWQsIHV0cnRlc3RfMS4qCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHV0cnRlc3RfMS5hLCB1dHJ0ZXN0XzEuY3RpZCwgdXRydGVzdF8xLiosIHV0cnRlc3RfMS50YWJs ZW9pZAogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGN0aWQg RlJPTSBwdWJsaWMubG9jdCBGT1IgVVBEQVRFCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmxvY3AgdXRydGVzdF8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHV0 cnRlc3RfMi5hLCB1dHJ0ZXN0XzIudGFibGVvaWQsIHV0cnRlc3RfMi5jdGlkLCBOVUxMOjpyZWNv cmQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdXRydGVzdF8yLmEsIHV0cnRlc3RfMi5j dGlkLCBOVUxMOjpyZWNvcmQsIHV0cnRlc3RfMi50YWJsZW9pZAogICAgICAgICAgLT4gIEhhc2gK ICAgICAgICAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNvbHVtbjEK ICAgICAgICAgICAgICAgIC0+ICBWYWx1ZXMgU2NhbiBvbiAiKlZBTFVFUyoiCkBAIC05NDAwLDcg Kzk0MDAsNyBAQCB1cGRhdGUgdXRydGVzdCBzZXQgYSA9IDMgcmV0dXJuaW5nICo7CiAgICBGb3Jl aWduIFVwZGF0ZSBvbiBwdWJsaWMucmVtcCB1dHJ0ZXN0XzIKICAgIC0+ICBBcHBlbmQKICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKLSAgICAgICAgICAgICAg IE91dHB1dDogMywgdXRydGVzdF8xLnRhYmxlb2lkLCB1dHJ0ZXN0XzEuY3RpZCwgTlVMTDo6cmVj b3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IDMsIHV0cnRlc3RfMS5jdGlkLCB1dHJ0ZXN0XzEu dGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgLT4gIEZvcmVpZ24gVXBkYXRlIG9uIHB1 YmxpYy5yZW1wIHV0cnRlc3RfMgogICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1 YmxpYy5sb2N0IFNFVCBhID0gMyBSRVRVUk5JTkcgYSwgYgogKDkgcm93cykKQEAgLTk0MTgsMTMg Kzk0MTgsMTMgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEgPSAzIGZyb20gKHZhbHVlcyAoMiksICgz KSkgcyh4KSB3aGVyZSBhID0gcy54IHJldHVybmluZyAqOwogICAgRm9yZWlnbiBVcGRhdGUgb24g cHVibGljLnJlbXAgdXRydGVzdF8yCiAgICAgIFJlbW90ZSBTUUw6IFVQREFURSBwdWJsaWMubG9j dCBTRVQgYSA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgogICAgLT4gIEhhc2gg Sm9pbgotICAgICAgICAgT3V0cHV0OiAzLCAiKlZBTFVFUyoiLiosICIqVkFMVUVTKiIuY29sdW1u MSwgdXRydGVzdC50YWJsZW9pZCwgdXRydGVzdC5jdGlkLCAoTlVMTDo6cmVjb3JkKQorICAgICAg ICAgT3V0cHV0OiAzLCAiKlZBTFVFUyoiLiosICIqVkFMVUVTKiIuY29sdW1uMSwgdXRydGVzdC5j dGlkLCB1dHJ0ZXN0LnRhYmxlb2lkLCAoTlVMTDo6cmVjb3JkKQogICAgICAgICAgSGFzaCBDb25k OiAodXRydGVzdC5hID0gIipWQUxVRVMqIi5jb2x1bW4xKQogICAgICAgICAgLT4gIEFwcGVuZAog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5sb2NwIHV0cnRlc3RfMQotICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB1dHJ0ZXN0XzEuYSwgdXRydGVzdF8xLnRhYmxlb2lk LCB1dHJ0ZXN0XzEuY3RpZCwgTlVMTDo6cmVjb3JkCisgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHV0cnRlc3RfMS5hLCB1dHJ0ZXN0XzEuY3RpZCwgdXRydGVzdF8xLnRhYmxlb2lkLCBOVUxM OjpyZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLnJlbXAg dXRydGVzdF8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHV0cnRlc3RfMi5hLCB1dHJ0 ZXN0XzIudGFibGVvaWQsIHV0cnRlc3RfMi5jdGlkLCB1dHJ0ZXN0XzIuKgorICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB1dHJ0ZXN0XzIuYSwgdXRydGVzdF8yLmN0aWQsIHV0cnRlc3RfMi50 YWJsZW9pZCwgdXRydGVzdF8yLioKICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNF TEVDVCBhLCBiLCBjdGlkIEZST00gcHVibGljLmxvY3QgRk9SIFVQREFURQogICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNv bHVtbjEKQEAgLTEyMzI1LDcgKzEyMzI1LDcgQEAgVVBEQVRFIGFzeW5jX3B0IFNFVCBjID0gYyB8 fCBjIFdIRVJFIGIgPSAwIFJFVFVSTklORyAqOwogICAgICAgICAgLT4gIEZvcmVpZ24gVXBkYXRl IG9uIHB1YmxpYy5hc3luY19wMiBhc3luY19wdF8yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FM OiBVUERBVEUgcHVibGljLmJhc2VfdGJsMiBTRVQgYyA9IChjIHx8IGMpIFdIRVJFICgoYiA9IDAp KSBSRVRVUk5JTkcgYSwgYiwgYwogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hc3lu Y19wMyBhc3luY19wdF8zCi0gICAgICAgICAgICAgICBPdXRwdXQ6IChhc3luY19wdF8zLmMgfHwg YXN5bmNfcHRfMy5jKSwgYXN5bmNfcHRfMy50YWJsZW9pZCwgYXN5bmNfcHRfMy5jdGlkLCBOVUxM OjpyZWNvcmQKKyAgICAgICAgICAgICAgIE91dHB1dDogKGFzeW5jX3B0XzMuYyB8fCBhc3luY19w dF8zLmMpLCBhc3luY19wdF8zLmN0aWQsIE5VTEw6OnJlY29yZCwgYXN5bmNfcHRfMy50YWJsZW9p ZAogICAgICAgICAgICAgICAgRmlsdGVyOiAoYXN5bmNfcHRfMy5iID0gMCkKICgxMyByb3dzKQog CkBAIC0xMjM1Miw3ICsxMjM1Miw3IEBAIERFTEVURSBGUk9NIGFzeW5jX3B0IFdIRVJFIGIgPSAw IFJFVFVSTklORyAqOwogICAgICAgICAgLT4gIEZvcmVpZ24gRGVsZXRlIG9uIHB1YmxpYy5hc3lu Y19wMiBhc3luY19wdF8yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBERUxFVEUgRlJPTSBw dWJsaWMuYmFzZV90YmwyIFdIRVJFICgoYiA9IDApKSBSRVRVUk5JTkcgYSwgYiwgYwogICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hc3luY19wMyBhc3luY19wdF8zCi0gICAgICAgICAg ICAgICBPdXRwdXQ6IGFzeW5jX3B0XzMudGFibGVvaWQsIGFzeW5jX3B0XzMuY3RpZAorICAgICAg ICAgICAgICAgT3V0cHV0OiBhc3luY19wdF8zLmN0aWQsIGFzeW5jX3B0XzMudGFibGVvaWQKICAg ICAgICAgICAgICAgIEZpbHRlcjogKGFzeW5jX3B0XzMuYiA9IDApCiAoMTMgcm93cykKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3ByZXAvcHJlcHRsaXN0LmMgYi9zcmMvYmFj a2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwdGxpc3QuYwppbmRleCBmZmM5ZDZjM2YzMC4uMjYwOTBk NzFkZmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXB0bGlzdC5j CisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXB0bGlzdC5jCkBAIC0xMjIsOCAr MTIyLDggQEAgcHJlcHJvY2Vzc190YXJnZXRsaXN0KFBsYW5uZXJJbmZvICpyb290KQogCXsKIAkJ Lyogcm93LWlkZW50aXR5IGxvZ2ljIGV4cGVjdHMgdG8gYWRkIHN0dWZmIHRvIHByb2Nlc3NlZF90 bGlzdCAqLwogCQlyb290LT5wcm9jZXNzZWRfdGxpc3QgPSB0bGlzdDsKLQkJYWRkX3Jvd19pZGVu dGl0eV9jb2x1bW5zKHJvb3QsIHJlc3VsdF9yZWxhdGlvbiwKLQkJCQkJCQkJIHRhcmdldF9ydGUs IHRhcmdldF9yZWxhdGlvbik7CisJCSh2b2lkKSBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMocm9v dCwgcmVzdWx0X3JlbGF0aW9uLAorCQkJCQkJCQkJCXRhcmdldF9ydGUsIHRhcmdldF9yZWxhdGlv bik7CiAJCXRsaXN0ID0gcm9vdC0+cHJvY2Vzc2VkX3RsaXN0OwogCX0KIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jCmluZGV4IDY5YjhiMGMyYWUwLi5mOTc3ZGZkYTIwOCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2FwcGVuZGluZm8uYwpAQCAtOTUxLDcgKzk1MSw3 IEBAIGFkZF9yb3dfaWRlbnRpdHlfdmFyKFBsYW5uZXJJbmZvICpyb290LCBWYXIgKm9yaWdfdmFy LAogICogRkRXcyBtaWdodCBjYWxsIGFkZF9yb3dfaWRlbnRpdHlfdmFyKCkgZm9yIHRoZW1zZWx2 ZXMgdG8gYWRkIG5vbnN0YW5kYXJkCiAgKiBjb2x1bW5zLiAgKER1cGxpY2F0ZSByZXF1ZXN0cyBh cmUgZmluZS4pCiAgKi8KLXZvaWQKK2Jvb2wKIGFkZF9yb3dfaWRlbnRpdHlfY29sdW1ucyhQbGFu bmVySW5mbyAqcm9vdCwgSW5kZXggcnRpbmRleCwKIAkJCQkJCSBSYW5nZVRibEVudHJ5ICp0YXJn ZXRfcnRlLAogCQkJCQkJIFJlbGF0aW9uIHRhcmdldF9yZWxhdGlvbikKQEAgLTk3Nyw2ICs5Nzcs NyBAQCBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIEluZGV4IHJ0 aW5kZXgsCiAJCQkJCSAgSW52YWxpZE9pZCwKIAkJCQkJICAwKTsKIAkJYWRkX3Jvd19pZGVudGl0 eV92YXIocm9vdCwgdmFyLCBydGluZGV4LCAiY3RpZCIpOworCQlyZXR1cm4gdHJ1ZTsKIAl9CiAJ ZWxzZSBpZiAocmVsa2luZCA9PSBSRUxLSU5EX0ZPUkVJR05fVEFCTEUpCiAJewpAQCAtOTg3LDYg Kzk4OCwxMyBAQCBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIElu ZGV4IHJ0aW5kZXgsCiAKIAkJZmR3cm91dGluZSA9IEdldEZkd1JvdXRpbmVGb3JSZWxhdGlvbih0 YXJnZXRfcmVsYXRpb24sIGZhbHNlKTsKIAorCQlpZiAoY29tbWFuZFR5cGUgPT0gQ01EX01FUkdF IHx8CisJCQkoY29tbWFuZFR5cGUgPT0gQ01EX1VQREFURSAmJgorCQkJIGZkd3JvdXRpbmUtPkV4 ZWNGb3JlaWduVXBkYXRlID09IE5VTEwpIHx8CisJCQkoY29tbWFuZFR5cGUgPT0gQ01EX0RFTEVU RSAmJgorCQkJIGZkd3JvdXRpbmUtPkV4ZWNGb3JlaWduRGVsZXRlID09IE5VTEwpKQorCQkJcmV0 dXJuIGZhbHNlOworCiAJCWlmIChmZHdyb3V0aW5lLT5BZGRGb3JlaWduVXBkYXRlVGFyZ2V0cyAh PSBOVUxMKQogCQkJZmR3cm91dGluZS0+QWRkRm9yZWlnblVwZGF0ZVRhcmdldHMocm9vdCwgcnRp bmRleCwKIAkJCQkJCQkJCQkJCXRhcmdldF9ydGUsIHRhcmdldF9yZWxhdGlvbik7CkBAIC0xMDE3 LDcgKzEwMjUsMTEgQEAgYWRkX3Jvd19pZGVudGl0eV9jb2x1bW5zKFBsYW5uZXJJbmZvICpyb290 LCBJbmRleCBydGluZGV4LAogCQkJCQkJICAwKTsKIAkJCWFkZF9yb3dfaWRlbnRpdHlfdmFyKHJv b3QsIHZhciwgcnRpbmRleCwgIndob2xlcm93Iik7CiAJCX0KKworCQlyZXR1cm4gdHJ1ZTsKIAl9 CisKKwlyZXR1cm4gZmFsc2U7CiB9CiAKIC8qCkBAIC0xMDc1LDggKzEwODcsOCBAQCBkaXN0cmli dXRlX3Jvd19pZGVudGl0eV92YXJzKFBsYW5uZXJJbmZvICpyb290KQogCQlSZWxhdGlvbgl0YXJn ZXRfcmVsYXRpb247CiAKIAkJdGFyZ2V0X3JlbGF0aW9uID0gdGFibGVfb3Blbih0YXJnZXRfcnRl LT5yZWxpZCwgTm9Mb2NrKTsKLQkJYWRkX3Jvd19pZGVudGl0eV9jb2x1bW5zKHJvb3QsIHJlc3Vs dF9yZWxhdGlvbiwKLQkJCQkJCQkJIHRhcmdldF9ydGUsIHRhcmdldF9yZWxhdGlvbik7CisJCSh2 b2lkKSBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMocm9vdCwgcmVzdWx0X3JlbGF0aW9uLAorCQkJ CQkJCQkJCXRhcmdldF9ydGUsIHRhcmdldF9yZWxhdGlvbik7CiAJCXRhYmxlX2Nsb3NlKHRhcmdl dF9yZWxhdGlvbiwgTm9Mb2NrKTsKIAkJYnVpbGRfYmFzZV9yZWxfdGxpc3RzKHJvb3QsIHJvb3Qt PnByb2Nlc3NlZF90bGlzdCk7CiAJCS8qIFRoZXJlIGFyZSBubyBST1dJRF9WQVIgVmFycyBpbiB0 aGlzIGNhc2UsIHNvIHdlJ3JlIGRvbmUuICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRp bWl6ZXIvdXRpbC9pbmhlcml0LmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9pbmhlcml0 LmMKaW5kZXggNmQ1MjI1MDc5ZjguLjk2YzI0YThhNTUyIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvdXRpbC9pbmhlcml0LmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0 aWwvaW5oZXJpdC5jCkBAIC02MzQsMTEgKzYzNCwxMSBAQCBleHBhbmRfc2luZ2xlX2luaGVyaXRh bmNlX2NoaWxkKFBsYW5uZXJJbmZvICpyb290LCBSYW5nZVRibEVudHJ5ICpwYXJlbnRydGUsCiAJ CQkJCQkJLTEsCiAJCQkJCQkJSW52YWxpZE9pZCwKIAkJCQkJCQkwKTsKLQkJCWFkZF9yb3dfaWRl bnRpdHlfdmFyKHJvb3QsIHJydmFyLCBjaGlsZFJUaW5kZXgsICJ0YWJsZW9pZCIpOwogCiAJCQkv KiBSZWdpc3RlciBhbnkgcm93LWlkZW50aXR5IGNvbHVtbnMgbmVlZGVkIGJ5IHRoaXMgY2hpbGQu ICovCi0JCQlhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMocm9vdCwgY2hpbGRSVGluZGV4LAotCQkJ CQkJCQkJIGNoaWxkcnRlLCBjaGlsZHJlbCk7CisJCQlpZiAoYWRkX3Jvd19pZGVudGl0eV9jb2x1 bW5zKHJvb3QsIGNoaWxkUlRpbmRleCwKKwkJCQkJCQkJCQkgY2hpbGRydGUsIGNoaWxkcmVsKSkK KwkJCQlhZGRfcm93X2lkZW50aXR5X3Zhcihyb290LCBycnZhciwgY2hpbGRSVGluZGV4LCAidGFi bGVvaWQiKTsKIAkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL29wdGltaXplci9h cHBlbmRpbmZvLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvYXBwZW5kaW5mby5oCmluZGV4IGQw NmY5M2I3MjY2Li41ZjMxNjhkNjEyZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvb3B0aW1pemVy L2FwcGVuZGluZm8uaAorKysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvYXBwZW5kaW5mby5oCkBA IC00Miw3ICs0Miw3IEBAIGV4dGVybiBBcHBlbmRSZWxJbmZvICoqZmluZF9hcHBpbmZvc19ieV9y ZWxpZHMoUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJCQkJCSAgIFJlbGlkcyByZWxpZHMsIGlu dCAqbmFwcGluZm9zKTsKIGV4dGVybiB2b2lkIGFkZF9yb3dfaWRlbnRpdHlfdmFyKFBsYW5uZXJJ bmZvICpyb290LCBWYXIgKm9yaWdfdmFyLAogCQkJCQkJCQkgSW5kZXggcnRpbmRleCwgY29uc3Qg Y2hhciAqcm93aWRfbmFtZSk7Ci1leHRlcm4gdm9pZCBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMo UGxhbm5lckluZm8gKnJvb3QsIEluZGV4IHJ0aW5kZXgsCitleHRlcm4gYm9vbCBhZGRfcm93X2lk ZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIEluZGV4IHJ0aW5kZXgsCiAJCQkJCQkJ CQkgUmFuZ2VUYmxFbnRyeSAqdGFyZ2V0X3J0ZSwKIAkJCQkJCQkJCSBSZWxhdGlvbiB0YXJnZXRf cmVsYXRpb24pOwogZXh0ZXJuIHZvaWQgZGlzdHJpYnV0ZV9yb3dfaWRlbnRpdHlfdmFycyhQbGFu bmVySW5mbyAqcm9vdCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2lu aGVyaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbmhlcml0Lm91dAppbmRleCAw NDkwYTc0NjU1NS4uZThmY2FlNjUxNGYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvaW5oZXJpdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbmhlcml0 Lm91dApAQCAtNTc5LDcgKzU3OSw3IEBAIHVwZGF0ZSBzb21lX3RhYiBzZXQgYSA9IGEgKyAxIHdo ZXJlIGZhbHNlOwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICBVcGRhdGUgb24gcHVibGljLnNvbWVfdGFiCiAgICAtPiAgUmVzdWx0Ci0g ICAgICAgICBPdXRwdXQ6IChzb21lX3RhYi5hICsgMSksIE5VTEw6Om9pZCwgTlVMTDo6dGlkCisg ICAgICAgICBPdXRwdXQ6IChzb21lX3RhYi5hICsgMSksIE5VTEw6OnRpZCwgTlVMTDo6b2lkCiAg ICAgICAgICBSZXBsYWNlczogU2NhbiBvbiBzb21lX3RhYgogICAgICAgICAgT25lLVRpbWUgRmls dGVyOiBmYWxzZQogKDUgcm93cykKQEAgLTU5Miw3ICs1OTIsNyBAQCB1cGRhdGUgc29tZV90YWIg c2V0IGEgPSBhICsgMSB3aGVyZSBmYWxzZSByZXR1cm5pbmcgYiwgYTsKICBVcGRhdGUgb24gcHVi bGljLnNvbWVfdGFiCiAgICBPdXRwdXQ6IHNvbWVfdGFiLmIsIHNvbWVfdGFiLmEKICAgIC0+ICBS ZXN1bHQKLSAgICAgICAgIE91dHB1dDogKHNvbWVfdGFiLmEgKyAxKSwgTlVMTDo6b2lkLCBOVUxM Ojp0aWQKKyAgICAgICAgIE91dHB1dDogKHNvbWVfdGFiLmEgKyAxKSwgTlVMTDo6dGlkLCBOVUxM OjpvaWQKICAgICAgICAgIFJlcGxhY2VzOiBTY2FuIG9uIHNvbWVfdGFiCiAgICAgICAgICBPbmUt VGltZSBGaWx0ZXI6IGZhbHNlCiAoNiByb3dzKQpAQCAtMjA1NCwxMiArMjA1NCwxMiBAQCB1cGRh dGUgaW5ocGFyIGkgc2V0IChmMSwgZjIpID0gKHNlbGVjdCBpLmYxLCBpLmYyIHx8ICctJyBmcm9t IGludDRfdGJsIGxpbWl0IDEpOwogICAgVXBkYXRlIG9uIHB1YmxpYy5pbmhwYXIgaV8xCiAgICBV cGRhdGUgb24gcHVibGljLmluaGNsZCBpXzIKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1 dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChTdWJQbGFuIG11bHRpZXhwcl8xKS5jb2wy LCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBpLnRhYmxlb2lkLCBpLmN0aWQKKyAgICAg ICAgIE91dHB1dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChTdWJQbGFuIG11bHRpZXhw cl8xKS5jb2wyLCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBpLmN0aWQsIGkudGFibGVv aWQKICAgICAgICAgIC0+ICBBcHBlbmQKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuaW5ocGFyIGlfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpXzEuZjEsIGlf MS5mMiwgaV8xLnRhYmxlb2lkLCBpXzEuY3RpZAorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiBpXzEuZjEsIGlfMS5mMiwgaV8xLmN0aWQsIGlfMS50YWJsZW9pZAogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbmhjbGQgaV8yCi0gICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IGlfMi5mMSwgaV8yLmYyLCBpXzIudGFibGVvaWQsIGlfMi5jdGlkCisgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IGlfMi5mMSwgaV8yLmYyLCBpXzIuY3RpZCwgaV8yLnRhYmxlb2lk CiAgICAgICAgICBTdWJQbGFuIG11bHRpZXhwcl8xCiAgICAgICAgICAgIC0+ICBMaW1pdAogICAg ICAgICAgICAgICAgICBPdXRwdXQ6IChpLmYxKSwgKCgoaS5mMik6OnRleHQgfHwgJy0nOjp0ZXh0 KSkKQEAgLTIxMDMsMTQgKzIxMDMsMTQgQEAgdXBkYXRlIGluaHBhciBpIHNldCAoZjEsIGYyKSA9 IChzZWxlY3QgaS5mMSwgaS5mMiB8fCAnLScgZnJvbSBpbnQ0X3RibCBsaW1pdCAxKTsKICAgIFVw ZGF0ZSBvbiBwdWJsaWMuaW5oY2xkMiBpXzIKICAgIC0+ICBBcHBlbmQKICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMuaW5oY2xkMSBpXzEKLSAgICAgICAgICAgICAgIE91dHB1dDogKFN1 YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChTdWJQbGFuIG11bHRpZXhwcl8xKS5jb2wyLCAocmVz Y2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBpXzEudGFibGVvaWQsIGlfMS5jdGlkCisgICAgICAg ICAgICAgICBPdXRwdXQ6IChTdWJQbGFuIG11bHRpZXhwcl8xKS5jb2wxLCAoU3ViUGxhbiBtdWx0 aWV4cHJfMSkuY29sMiwgKHJlc2NhbiBTdWJQbGFuIG11bHRpZXhwcl8xKSwgaV8xLmN0aWQsIGlf MS50YWJsZW9pZAogICAgICAgICAgICAgICAgU3ViUGxhbiBtdWx0aWV4cHJfMQogICAgICAgICAg ICAgICAgICAtPiAgTGltaXQKICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiAoaV8xLmYx KSwgKCgoaV8xLmYyKTo6dGV4dCB8fCAnLSc6OnRleHQpKQogICAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogaV8xLmYxLCAoKGlfMS5mMik6OnRleHQgfHwgJy0nOjp0ZXh0KQogICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbmhjbGQyIGlfMgotICAgICAgICAgICAgICAg T3V0cHV0OiAoU3ViUGxhbiBtdWx0aWV4cHJfMSkuY29sMSwgKFN1YlBsYW4gbXVsdGlleHByXzEp LmNvbDIsIChyZXNjYW4gU3ViUGxhbiBtdWx0aWV4cHJfMSksIGlfMi50YWJsZW9pZCwgaV8yLmN0 aWQKKyAgICAgICAgICAgICAgIE91dHB1dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChT dWJQbGFuIG11bHRpZXhwcl8xKS5jb2wyLCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBp XzIuY3RpZCwgaV8yLnRhYmxlb2lkCiAoMTMgcm93cykKIAogdXBkYXRlIGluaHBhciBpIHNldCAo ZjEsIGYyKSA9IChzZWxlY3QgaS5mMSwgaS5mMiB8fCAnLScgZnJvbSBpbnQ0X3RibCBsaW1pdCAx KTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWVyZ2Uub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tZXJnZS5vdXQKaW5kZXggOWNiMWQ4NzA2NmEuLjEwYjI3 YjAxNTMyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dApAQCAtMjM4NywxNSArMjM4 NywxNSBAQCBNRVJHRSBJTlRPIHBhX3RhcmdldCB0IFVTSU5HIHBhX3NvdXJjZSBzIE9OIHQudGlk ID0gcy5zaWQKICBNZXJnZSBvbiBwdWJsaWMucGFfdGFyZ2V0IHQKICAgIE1lcmdlIG9uIHB1Ymxp Yy5wYV90YXJnZXRwIHRfMQogICAgLT4gIEhhc2ggTGVmdCBKb2luCi0gICAgICAgICBPdXRwdXQ6 IHMuc2lkLCBzLmN0aWQsIHRfMS50YWJsZW9pZCwgdF8xLmN0aWQKKyAgICAgICAgIE91dHB1dDog cy5zaWQsIHMuY3RpZCwgdF8xLmN0aWQsIHRfMS50YWJsZW9pZAogICAgICAgICAgSW5uZXIgVW5p cXVlOiB0cnVlCiAgICAgICAgICBIYXNoIENvbmQ6IChzLnNpZCA9IHRfMS50aWQpCiAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnBhX3NvdXJjZSBzCiAgICAgICAgICAgICAgICBPdXRw dXQ6IHMuc2lkLCBzLmN0aWQKICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICBPdXRw dXQ6IHRfMS50aWQsIHRfMS50YWJsZW9pZCwgdF8xLmN0aWQKKyAgICAgICAgICAgICAgIE91dHB1 dDogdF8xLnRpZCwgdF8xLmN0aWQsIHRfMS50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5wYV90YXJnZXRwIHRfMQotICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0XzEudGlkLCB0XzEudGFibGVvaWQsIHRfMS5jdGlkCisgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHRfMS50aWQsIHRfMS5jdGlkLCB0XzEudGFibGVvaWQKICgxMiByb3dzKQogCiBN RVJHRSBJTlRPIHBhX3RhcmdldCB0IFVTSU5HIHBhX3NvdXJjZSBzIE9OIHQudGlkID0gcy5zaWQK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91dAppbmRleCBk ZWFjZGQ3NTgwNy4uMjRjNmFjNDA4ZjMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3BhcnRpdGlvbl9wcnVuZS5vdXQKQEAgLTQ1ODUsNyArNDU4NSw3IEBAIGV4cGxhaW4gKHZlcmJv c2UsIGNvc3RzIG9mZikgZXhlY3V0ZSB1cGRhdGVfcGFydF9hYmNfdmlldyAoMSwgJ2QnKTsKICAg IC0+ICBBcHBlbmQKICAgICAgICAgIFN1YnBsYW5zIFJlbW92ZWQ6IDEKICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMucGFydF9hYmNfMQotICAgICAgICAgICAgICAgT3V0cHV0OiAkMiwg cGFydF9hYmNfMS50YWJsZW9pZCwgcGFydF9hYmNfMS5jdGlkCisgICAgICAgICAgICAgICBPdXRw dXQ6ICQyLCBwYXJ0X2FiY18xLmN0aWQsIHBhcnRfYWJjXzEudGFibGVvaWQKICAgICAgICAgICAg ICAgIEZpbHRlcjogKChwYXJ0X2FiY18xLmIgPD4gJ2EnOjp0ZXh0KSBBTkQgKHBhcnRfYWJjXzEu YSA9ICQxKSkKICg4IHJvd3MpCiAKQEAgLTQ2MDQsNyArNDYwNCw3IEBAIGV4cGxhaW4gKHZlcmJv c2UsIGNvc3RzIG9mZikgZXhlY3V0ZSB1cGRhdGVfcGFydF9hYmNfdmlldyAoMiwgJ2EnKTsKICAg IC0+ICBBcHBlbmQKICAgICAgICAgIFN1YnBsYW5zIFJlbW92ZWQ6IDEKICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMucGFydF9hYmNfMgotICAgICAgICAgICAgICAgT3V0cHV0OiAkMiwg cGFydF9hYmNfMi50YWJsZW9pZCwgcGFydF9hYmNfMi5jdGlkCisgICAgICAgICAgICAgICBPdXRw dXQ6ICQyLCBwYXJ0X2FiY18yLmN0aWQsIHBhcnRfYWJjXzIudGFibGVvaWQKICAgICAgICAgICAg ICAgIEZpbHRlcjogKChwYXJ0X2FiY18yLmIgPD4gJ2EnOjp0ZXh0KSBBTkQgKHBhcnRfYWJjXzIu YSA9ICQxKSkKICg4IHJvd3MpCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcmV0dXJuaW5nLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmV0dXJuaW5nLm91 dAppbmRleCBjZmFhZjAxNWJiMy4uMmIyMTYxZjI0NWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcmV0dXJuaW5nLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3JldHVybmluZy5vdXQKQEAgLTUwNCw5ICs1MDQsOSBAQCBVUERBVEUgZm9vIFNFVCBmNCA9 IDEwMCBXSEVSRSBmMSA9IDUKICAgIE91dHB1dDogKG9sZC50YWJsZW9pZCk6OnJlZ2NsYXNzLCBv bGQuY3RpZCwgb2xkLmYxLCBvbGQuZjIsIG9sZC5mMywgb2xkLmY0LCBvbGQuKiwgKG5ldy50YWJs ZW9pZCk6OnJlZ2NsYXNzLCBuZXcuY3RpZCwgbmV3LmYxLCBuZXcuZjIsIG5ldy5mMywgbmV3LmY0 LCBuZXcuKiwgKCgob2xkLmY0KTo6dGV4dCB8fCAnLT4nOjp0ZXh0KSB8fCAobmV3LmY0KTo6dGV4 dCkKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMQogICAgLT4gIFJlc3VsdAotICAgICAg ICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3RpZAorICAg ICAgICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZAog ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18xCi0gICAgICAgICAgICAg ICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAgICBPdXRw dXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICAgICAgICBGaWx0ZXI6IChm b29fMS5mMSA9IDUpCiAoOCByb3dzKQogCkBAIC01MzAsNyArNTMwLDcgQEAgREVMRVRFIEZST00g Zm9vIFdIRVJFIGYxID0gNQogICAgT3V0cHV0OiAob2xkLnRhYmxlb2lkKTo6cmVnY2xhc3MsIG9s ZC5jdGlkLCBvbGQuZjEsIG9sZC5mMiwgb2xkLmYzLCBvbGQuZjQsIChuZXcudGFibGVvaWQpOjpy ZWdjbGFzcywgbmV3LmN0aWQsIG5ldy5mMSwgbmV3LmYyLCBuZXcuZjMsIG5ldy5mNCwgZm9vXzEu ZjEsIGZvb18xLmYyLCBmb29fMS5mMywgZm9vXzEuZjQKICAgIERlbGV0ZSBvbiBwZ190ZW1wLmZv byBmb29fMQogICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18xCi0gICAgICAgICBP dXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAgICAgICBPdXRwdXQ6IGZvb18x LmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICBGaWx0ZXI6IChmb29fMS5mMSA9IDUpCiAo NiByb3dzKQogCkBAIC01ODYsOSArNTg2LDkgQEAgVVBEQVRFIGZvbyBTRVQgZjQgPSAxMDAgV0hF UkUgZjEgPSA1CiAgICBPdXRwdXQ6IChTdWJQbGFuIGV4cHJfMSksIChTdWJQbGFuIGV4cHJfMiks IChTdWJQbGFuIGV4cHJfMykKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMQogICAgLT4g IFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS50YWJsZW9pZCwg Zm9vXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS5jdGlkLCBm b29fMS50YWJsZW9pZAogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18x Ci0gICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAg ICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICAg ICAgICBGaWx0ZXI6IChmb29fMS5mMSA9IDUpCiAgICBTdWJQbGFuIGV4cHJfMQogICAgICAtPiAg UmVzdWx0CkBAIC02MjYsNyArNjI2LDcgQEAgREVMRVRFIEZST00gZm9vIFdIRVJFIGYxID0gNQog ICAgT3V0cHV0OiAoU3ViUGxhbiBleHByXzEpLCAoU3ViUGxhbiBleHByXzIpCiAgICBEZWxldGUg b24gcGdfdGVtcC5mb28gZm9vXzEKICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29f MQotICAgICAgICAgT3V0cHV0OiBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3RpZAorICAgICAgICAg T3V0cHV0OiBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZAogICAgICAgICAgRmlsdGVyOiAoZm9v XzEuZjEgPSA1KQogICAgU3ViUGxhbiBleHByXzEKICAgICAgLT4gIEFnZ3JlZ2F0ZQpAQCAtNjYy LDkgKzY2Miw5IEBAIERFTEVURSBGUk9NIGZvbyBXSEVSRSBmMSA9IDQgUkVUVVJOSU5HIG9sZC4q LG5ldy4qLCAqOwogICAgT3V0cHV0OiBvbGQuZjEsIG9sZC5mMiwgb2xkLmYzLCBvbGQuZjQsIG5l dy5mMSwgbmV3LmYyLCBuZXcuZjMsIG5ldy5mNCwgZm9vXzIuZjEsIGZvb18yLmYyLCBmb29fMi5m MywgZm9vXzIuZjQKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMgogICAgLT4gIE5lc3Rl ZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IChmb29fMi5mMiB8fCAnIChkZWxldGVkKSc6OnRleHQp LCAnLTEnOjppbnRlZ2VyLCAnLTEnOjpiaWdpbnQsIGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lk LCBmb29fMi50YWJsZW9pZCwgZm9vXzIuY3RpZAorICAgICAgICAgT3V0cHV0OiAoZm9vXzIuZjIg fHwgJyAoZGVsZXRlZCknOjp0ZXh0KSwgJy0xJzo6aW50ZWdlciwgJy0xJzo6YmlnaW50LCBmb29f MS5jdGlkLCBmb29fMS50YWJsZW9pZCwgZm9vXzIuY3RpZCwgZm9vXzIudGFibGVvaWQKICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29fMgotICAgICAgICAgICAgICAgT3V0 cHV0OiBmb29fMi5mMiwgZm9vXzIuZjEsIGZvb18yLnRhYmxlb2lkLCBmb29fMi5jdGlkCisgICAg ICAgICAgICAgICBPdXRwdXQ6IGZvb18yLmYyLCBmb29fMi5mMSwgZm9vXzIuY3RpZCwgZm9vXzIu dGFibGVvaWQKICAgICAgICAgICAgICAgIEZpbHRlcjogKGZvb18yLmYxID0gNCkKICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29fMQogICAgICAgICAgICAgICAgT3V0cHV0 OiBmb29fMS5jdGlkLCBmb29fMS5mMSwgZm9vXzEudGFibGVvaWQKQEAgLTY4NywxNyArNjg3LDE3 IEBAIFVQREFURSBqb2ludmlldyBTRVQgZjMgPSBmMyArIDEgV0hFUkUgZjMgPSA1NwogICAgT3V0 cHV0OiBvbGQuZjEsIG9sZC5mMiwgb2xkLmYzLCBvbGQuZjQsIGpvaW5tZS5vdGhlciwgbmV3LmYx LCBuZXcuZjIsIG5ldy5mMywgbmV3LmY0LCBqb2lubWUub3RoZXIsIGZvb18xLmYxLCBmb29fMS5m MiwgZm9vXzEuZjMsIGZvb18xLmY0LCBqb2lubWUub3RoZXIsIChuZXcuZjMgLSBvbGQuZjMpCiAg ICBVcGRhdGUgb24gcGdfdGVtcC5mb28gZm9vXzEKICAgIC0+ICBIYXNoIEpvaW4KLSAgICAgICAg IE91dHB1dDogZm9vXzIuZjEsIChmb29fMi5mMyArIDEpLCBqb2lubWUuY3RpZCwgZm9vXzIuY3Rp ZCwgam9pbm1lXzEuY3RpZCwgam9pbm1lLm90aGVyLCBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3Rp ZCwgZm9vXzIudGFibGVvaWQKKyAgICAgICAgIE91dHB1dDogZm9vXzIuZjEsIChmb29fMi5mMyAr IDEpLCBqb2lubWUuY3RpZCwgZm9vXzIuY3RpZCwgam9pbm1lXzEuY3RpZCwgam9pbm1lLm90aGVy LCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZCwgZm9vXzIudGFibGVvaWQKICAgICAgICAgIEhh c2ggQ29uZDogKGZvb18xLmYyID0gam9pbm1lLmYyaikKICAgICAgICAgIC0+ICBIYXNoIEpvaW4K LSAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29fMS5j dGlkLCBqb2lubWVfMS5jdGlkLCBqb2lubWVfMS5mMmoKKyAgICAgICAgICAgICAgIE91dHB1dDog Zm9vXzEuZjIsIGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkLCBqb2lubWVfMS5jdGlkLCBqb2lu bWVfMS5mMmoKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKGpvaW5tZV8xLmYyaiA9IGZvb18x LmYyKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuam9pbm1lIGpvaW5t ZV8xCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGpvaW5tZV8xLmN0aWQsIGpvaW5tZV8x LmYyagogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZAogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18xCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29fMS50YWJsZW9pZCwgZm9v XzEuY3RpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMS5mMiwgZm9v XzEuY3RpZCwgZm9vXzEudGFibGVvaWQKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAg ICBPdXRwdXQ6IGpvaW5tZS5jdGlkLCBqb2lubWUub3RoZXIsIGpvaW5tZS5mMmosIGZvb18yLmYx LCBmb29fMi5mMywgZm9vXzIuY3RpZCwgZm9vXzIuZjIsIGZvb18yLnRhYmxlb2lkCiAgICAgICAg ICAgICAgICAtPiAgSGFzaCBKb2luCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3VwZGF0YWJsZV92aWV3cy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0 YWJsZV92aWV3cy5vdXQKaW5kZXggMDNkZjdlNzViN2IuLmQwNTllNzBlMGM1IDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0CkBAIC0zMjQ4LDEwICsz MjQ4LDEwIEBAIFVQREFURSB2MSBTRVQgYT0xMDAgV0hFUkUgc25vb3AoYSkgQU5EIGxlYWtwcm9v ZihhKSBBTkQgYSA8IDcgQU5EIGEgIT0gNjsKICAgIFVwZGF0ZSBvbiBwdWJsaWMudDEyIHQxXzMK ICAgIFVwZGF0ZSBvbiBwdWJsaWMudDExMSB0MV80CiAgICAtPiAgUmVzdWx0Ci0gICAgICAgICBP dXRwdXQ6IDEwMCwgdDEudGFibGVvaWQsIHQxLmN0aWQKKyAgICAgICAgIE91dHB1dDogMTAwLCB0 MS5jdGlkLCB0MS50YWJsZW9pZAogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAg LT4gIEluZGV4IFNjYW4gdXNpbmcgdDFfYV9pZHggb24gcHVibGljLnQxIHQxXzEKLSAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDFfMS50YWJsZW9pZCwgdDFfMS5jdGlkCisgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQxXzEuY3RpZCwgdDFfMS50YWJsZW9pZAogICAgICAgICAgICAg ICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8xLmEgPiA1KSBBTkQgKHQxXzEuYSA8IDcpKQogICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKHQxXzEuYSA8PiA2KSBBTkQgRVhJU1RTKFN1YlBs YW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8xLmEpIEFORCBsZWFrcHJvb2YodDFfMS5hKSkKICAg ICAgICAgICAgICAgICAgICAgIFN1YlBsYW4gZXhpc3RzXzEKQEAgLTMyNjEsMTUgKzMyNjEsMTUg QEAgVVBEQVRFIHYxIFNFVCBhPTEwMCBXSEVSRSBzbm9vcChhKSBBTkQgbGVha3Byb29mKGEpIEFO RCBhIDwgNyBBTkQgYSAhPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHVibGljLnQxMTEgdDEyXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAodDEyXzIuYSA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBJbmRl eCBTY2FuIHVzaW5nIHQxMV9hX2lkeCBvbiBwdWJsaWMudDExIHQxXzIKLSAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDFfMi50YWJsZW9pZCwgdDFfMi5jdGlkCisgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxXzIuY3RpZCwgdDFfMi50YWJsZW9pZAogICAgICAgICAgICAgICAgICAg ICAgSW5kZXggQ29uZDogKCh0MV8yLmEgPiA1KSBBTkQgKHQxXzIuYSA8IDcpKQogICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoKHQxXzIuYSA8PiA2KSBBTkQgRVhJU1RTKFN1YlBsYW4gZXhp c3RzXzEpIEFORCBzbm9vcCh0MV8yLmEpIEFORCBsZWFrcHJvb2YodDFfMi5hKSkKICAgICAgICAg ICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIHQxMl9hX2lkeCBvbiBwdWJsaWMudDEyIHQxXzMK LSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy50YWJsZW9pZCwgdDFfMy5jdGlkCisg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzMuY3RpZCwgdDFfMy50YWJsZW9pZAogICAg ICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8zLmEgPiA1KSBBTkQgKHQxXzMuYSA8 IDcpKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKHQxXzMuYSA8PiA2KSBBTkQgRVhJ U1RTKFN1YlBsYW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8zLmEpIEFORCBsZWFrcHJvb2YodDFf My5hKSkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIHQxMTFfYV9pZHggb24g cHVibGljLnQxMTEgdDFfNAotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV80LnRhYmxl b2lkLCB0MV80LmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC5jdGlkLCB0 MV80LnRhYmxlb2lkCiAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKHQxXzQuYSA+ IDUpIEFORCAodDFfNC5hIDwgNykpCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgodDFf NC5hIDw+IDYpIEFORCBFWElTVFMoU3ViUGxhbiBleGlzdHNfMSkgQU5EIHNub29wKHQxXzQuYSkg QU5EIGxlYWtwcm9vZih0MV80LmEpKQogKDMwIHJvd3MpCkBAIC0zMjk1LDEwICszMjk1LDEwIEBA IFVQREFURSB2MSBTRVQgYT1hKzEgV0hFUkUgc25vb3AoYSkgQU5EIGxlYWtwcm9vZihhKSBBTkQg YSA9IDg7CiAgICBVcGRhdGUgb24gcHVibGljLnQxMiB0MV8zCiAgICBVcGRhdGUgb24gcHVibGlj LnQxMTEgdDFfNAogICAgLT4gIFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAodDEuYSArIDEpLCB0 MS50YWJsZW9pZCwgdDEuY3RpZAorICAgICAgICAgT3V0cHV0OiAodDEuYSArIDEpLCB0MS5jdGlk LCB0MS50YWJsZW9pZAogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgdDFfYV9pZHggb24gcHVibGljLnQxIHQxXzEKLSAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDFfMS5hLCB0MV8xLnRhYmxlb2lkLCB0MV8xLmN0aWQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDFfMS5hLCB0MV8xLmN0aWQsIHQxXzEudGFibGVvaWQKICAg ICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgodDFfMS5hID4gNSkgQU5EICh0MV8xLmEg PSA4KSkKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKEVYSVNUUyhTdWJQbGFuIGV4aXN0 c18xKSBBTkQgc25vb3AodDFfMS5hKSBBTkQgbGVha3Byb29mKHQxXzEuYSkpCiAgICAgICAgICAg ICAgICAgICAgICBTdWJQbGFuIGV4aXN0c18xCkBAIC0zMzA4LDE1ICszMzA4LDE1IEBAIFVQREFU RSB2MSBTRVQgYT1hKzEgV0hFUkUgc25vb3AoYSkgQU5EIGxlYWtwcm9vZihhKSBBTkQgYSA9IDg7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMudDEx MSB0MTJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh0MTJf Mi5hID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgdDExX2Ff aWR4IG9uIHB1YmxpYy50MTEgdDFfMgotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8y LmEsIHQxXzIudGFibGVvaWQsIHQxXzIuY3RpZAorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0MV8yLmEsIHQxXzIuY3RpZCwgdDFfMi50YWJsZW9pZAogICAgICAgICAgICAgICAgICAgICAg SW5kZXggQ29uZDogKCh0MV8yLmEgPiA1KSBBTkQgKHQxXzIuYSA9IDgpKQogICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8y LmEpIEFORCBsZWFrcHJvb2YodDFfMi5hKSkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2Fu IHVzaW5nIHQxMl9hX2lkeCBvbiBwdWJsaWMudDEyIHQxXzMKLSAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfMy5hLCB0MV8zLnRhYmxlb2lkLCB0MV8zLmN0aWQKKyAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDFfMy5hLCB0MV8zLmN0aWQsIHQxXzMudGFibGVvaWQKICAgICAgICAg ICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgodDFfMy5hID4gNSkgQU5EICh0MV8zLmEgPSA4KSkK ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKEVYSVNUUyhTdWJQbGFuIGV4aXN0c18xKSBB TkQgc25vb3AodDFfMy5hKSBBTkQgbGVha3Byb29mKHQxXzMuYSkpCiAgICAgICAgICAgICAgICAt PiAgSW5kZXggU2NhbiB1c2luZyB0MTExX2FfaWR4IG9uIHB1YmxpYy50MTExIHQxXzQKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC5hLCB0MV80LnRhYmxlb2lkLCB0MV80LmN0aWQK KyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC5hLCB0MV80LmN0aWQsIHQxXzQudGFi bGVvaWQKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgodDFfNC5hID4gNSkgQU5E ICh0MV80LmEgPSA4KSkKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKEVYSVNUUyhTdWJQ bGFuIGV4aXN0c18xKSBBTkQgc25vb3AodDFfNC5hKSBBTkQgbGVha3Byb29mKHQxXzQuYSkpCiAo MzAgcm93cykKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGgub3V0CmluZGV4IGY0Y2FlZGYyNzJmLi5i OTQ5Yzk1YWU1OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRoLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGgub3V0CkBAIC0zNTk3LDIxICsz NTk3LDIxIEBAIERFTEVURSBGUk9NIGFfc3RhciBVU0lORyB3Y3RlIFdIRVJFIGFhID0gcTI7CiAg ICAgICAgICAgIC0+ICBSZXN1bHQKICAgICAgICAgICAgICAgICAgT3V0cHV0OiAnNDInOjpiaWdp bnQsICc0Nyc6OmJpZ2ludAogICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAgT3V0cHV0OiB3Y3Rl LiosIGFfc3Rhci50YWJsZW9pZCwgYV9zdGFyLmN0aWQKKyAgICAgICAgIE91dHB1dDogd2N0ZS4q LCBhX3N0YXIuY3RpZCwgYV9zdGFyLnRhYmxlb2lkCiAgICAgICAgICBIYXNoIENvbmQ6IChhX3N0 YXIuYWEgPSB3Y3RlLnEyKQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5hX3N0YXIgYV9zdGFyXzEKLSAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogYV9zdGFyXzEuYWEsIGFfc3Rhcl8xLnRhYmxlb2lkLCBhX3N0YXJfMS5jdGlkCisg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl8xLmFhLCBhX3N0YXJfMS5jdGlkLCBh X3N0YXJfMS50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5i X3N0YXIgYV9zdGFyXzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzIuYWEs IGFfc3Rhcl8yLnRhYmxlb2lkLCBhX3N0YXJfMi5jdGlkCisgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IGFfc3Rhcl8yLmFhLCBhX3N0YXJfMi5jdGlkLCBhX3N0YXJfMi50YWJsZW9pZAogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5jX3N0YXIgYV9zdGFyXzMKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzMuYWEsIGFfc3Rhcl8zLnRhYmxlb2lkLCBh X3N0YXJfMy5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl8zLmFhLCBh X3N0YXJfMy5jdGlkLCBhX3N0YXJfMy50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5kX3N0YXIgYV9zdGFyXzQKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogYV9zdGFyXzQuYWEsIGFfc3Rhcl80LnRhYmxlb2lkLCBhX3N0YXJfNC5jdGlkCisgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl80LmFhLCBhX3N0YXJfNC5jdGlkLCBhX3N0YXJf NC50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lX3N0YXIg YV9zdGFyXzUKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzUuYWEsIGFfc3Rh cl81LnRhYmxlb2lkLCBhX3N0YXJfNS5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IGFfc3Rhcl81LmFhLCBhX3N0YXJfNS5jdGlkLCBhX3N0YXJfNS50YWJsZW9pZAogICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5mX3N0YXIgYV9zdGFyXzYKLSAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogYV9zdGFyXzYuYWEsIGFfc3Rhcl82LnRhYmxlb2lkLCBhX3N0YXJf Ni5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl82LmFhLCBhX3N0YXJf Ni5jdGlkLCBhX3N0YXJfNi50YWJsZW9pZAogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAg ICAgIE91dHB1dDogd2N0ZS4qLCB3Y3RlLnEyCiAgICAgICAgICAgICAgICAtPiAgQ1RFIFNjYW4g b24gd2N0ZQotLSAKMi4zNC4xCgo= --000000000000c743620644c9944c--