RE: My review of: draft-ietf-hubmib-efm-cu-mib-06.txt
"Edward Beili" <[email protected]> Wed, 21 Feb 2007 23:54:13 +0200
| Newsgroups | gmane.ietf.hubmib |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Bert, - RFC3410 is moved to Informative References - RFCs 2863, 2864, 3635, G.991.2 and G.992.1 are moved to Normative = References - I left ANFP as an Informative Reference, since it's purpose in the MIB is to serve an example. The latest version of the draft is attached together with the extracted = MIB files. I'm sending it to the internet-drafts, so it'll be published in a day or = two. Thanks for your thorough reviews, -E. > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:[email protected]]=20 > Sent: Wednesday, February 21, 2007 16:51 > To: Edward Beili > Cc: Dan Romascanu (E-mail); Hub Mib > Subject: RE: [Hubmib] My review of:=20 > draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > Looks good now. One thing (I should have seen yesterday too)=20 > is that you need to move a few informative refrences to the=20 > normative references and vice versa >=20 > - I think RFC3410 is informative (it is also an informational > RFC). >=20 > - RFC2863 and RFC2864 are normative, because we IMPORT from those. >=20 > - Since we use them in REFERENCE clauses or we use profiles > from (as listed in DESCRIPTION clauses), I think that also > ANFP< but certainly 991.2 and 992.1 are normative, no? >=20 > - Since we state: > 3.4. Relation to Ethernet-Like and MAU MIB modules >=20 > The implementation of EtherLike-MIB [RFC3635] and MAU-MIB > [I-D.ietf-hubmib-rfc3636bis] is REQUIRED for the EFMCu interfaces. >=20 > We probably also better make RFC3635 a normative ref. >=20 > With that I think we would be ready. >=20 > Further, I would like to react to a few of Ed's rebuttals: >=20 > > > - But I do want you to fix SMICng reported error: > > >=20 > > > E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be > IMPORTed > > > =20 > > > since you do list that as a mandatory group. > >=20 > > [EB] ifStackGroup2 is already imported, I've fixed that in=20 > the version=20 > > I sent before. > >=20 >=20 > My appology, the error is in RFC2864, not in the EFM-CU-MIB. >=20 > > > > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > > > > and ifInvCapStackTable? In any event, pls re-check the > > > > > feedback we've got on that. I do not think that what we > > > > > currently have in the MIB module is acceptable. > > > >=20 > > > > [EB] Replaced with TruthValue. > > >=20 > > > This is much better. > > > I wonder if it would now be better to rename the object from=20 > > > ifCapStackStatus to ifCapStackCapability to better represent its=20 > > > purpose. Same for possibly renaming ifInvCapStackStatus into=20 > > > ifInvCapStackCapability. > > >=20 > > > I am not hung up on it though. > >=20 > > [EB] ifCapStack already stands for "Interface Capability Stack" -=20 > > appending "Capability" would make it "Interface Capability Stack=20 > > Capability". How about: ifCapStackAbility ? > > Or we can leave it ifCapStackStatus, to emphasize its=20 > similarity with=20 > > IfStackTable > >=20 >=20 > Your argument for consistency with ifCapStackStatus makes sense. > And as I said, I am not hung up on it. > So I am OK now. >=20 >=20 > > [EB] I've found only one table without the persistency definition > > (efmCuPme10PStatusTable) and corrected it - now all tables=20 > contain the=20 > > persistency behavior definition in the DESCRIPTION clause for the=20 > > table. > > Basically only the Status tables are non-persistent. > > Would that be satisfactory? > >=20 >=20 > Yep. >=20 > I think we made good progress. >=20 > Pls correct the references (as stated at the top of this=20 > email) and then you can submit to internet-drafts as far as I=20 > am concenrned. >=20 > Next step is then (another) W Last Call to givbe anyone a=20 > chance to look at the latest changes. >=20 > Bert >=20 ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-07.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9ImRlc2Ny aXB0aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzIE1JQiI+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iTmV0d29y ayBNYW5hZ2VtZW50LCBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sLCBTTk1QLCBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UsIE1JQiwgVGV4dHVhbCBDb252ZW50aW9ucyI+DQo8 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzIgKGh0dHA6Ly94bWwu cmVzb3VyY2Uub3JnLykiPg0KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tDQogICAgICAgIGJv ZHkgew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNt YWxsOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCiAgICAgICAgICAgICAg ICBtYXJnaW46IDJlbTsNCiAgICAgICAgfQ0KICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2 IHsNCiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBT YW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWln aHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgfQ0KICAgICAgICBoMSB7IGNv bG9yOiAjOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgdGV4dC1hbGlnbjogcmln aHQ7IH0NCiAgICAgICAgaDMgeyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0NCg0KICAgICAgICB0ZC5SRkNidWcgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6 ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgICAgIHdpZHRo OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7DQogICAgICAgICAgICAgICAg dGV4dC1hbGlnbjoganVzdGlmeTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICAgICAgICAg ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlJGQ2J1 ZyBzcGFuLlJGQyB7DQogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNv YWwsIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNjY2Ow0KICAg ICAgICB9DQogICAgICAgIHRkLlJGQ2J1ZyBzcGFuLmhvdFRleHQgew0KICAgICAgICAgICAgICAg IGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwg aGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgICAgIGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7DQogICAgICAgIH0N Cg0KICAgICAgICB0YWJsZS5UT0NidWcgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OyB9DQog ICAgICAgIHRkLlRPQ2J1ZyB7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB3 aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyBi YWNrZ3JvdW5kLWNvbG9yOiAjOTAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlRPQ2J1ZyBhIHsN CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAi TVMgU2FucyBTZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBm b250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiB4LXNtYWxsOyB0ZXh0LWRlY29yYXRpb246IG5v bmU7DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgdGQuaGVhZGVyIHsNCiAgICAgICAgICAgICAg ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiB4 LXNtYWxsOw0KICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAzMyU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7DQog ICAgICAgIH0NCiAgICAgICAgdGQuYXV0aG9yIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6 ZTogeC1zbWFsbDsgbWFyZ2luLWxlZnQ6IDRlbTsgfQ0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7 IGZvbnQtc2l6ZTogeC1zbWFsbDsgfQ0KDQogICAgICAgIC8qIGluZm8gY29kZSBmcm9tIFNhbnRh S2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20vdG9vbHRpcDIuaHRtbCAqLw0K ICAgICAgICBhLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIGtleS4gKi8N CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICAgICAgei1p bmRleDogMjQ7DQogICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg ICB9DQogICAgICAgIGEuaW5mbzpob3ZlciB7DQogICAgICAgICAgICAgICAgei1pbmRleDogMjU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7DQog ICAgICAgIH0NCiAgICAgICAgYS5pbmZvIHNwYW4geyBkaXNwbGF5OiBub25lOyB9DQogICAgICAg IGEuaW5mbzpob3ZlciBzcGFuLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdp bGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZS4gKi8NCiAgICAgICAgICAgICAgICBkaXNw bGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAg ICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyOw0KICAgICAgICAgICAgICAgIHRvcDogMmVtOyBs ZWZ0OiAtNWVtOyB3aWR0aDogMTVlbTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IGJv cmRlcjogMXB4IHNvbGlkICMzMzM7DQogICAgICAgICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tn cm91bmQtY29sb3I6ICNFRUU7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAg ICAgICAgfQ0KDQogICAgICAgIGEgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICBhOmxp bmsgICAgeyBjb2xvcjogIzkwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAg ICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyB9DQogICAgICAgIGE6YWN0aXZlICB7IGNvbG9yOiAjNjMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgfQ0KDQogICAgICAgIHAgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4t cmlnaHQ6IDJlbTsgfQ0KICAgICAgICBwLmNvcHlyaWdodCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQ0KICAgICAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyBt YXJnaW4tbGVmdDogM2VtOyB9DQogICAgICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAwIDAgM2Vt OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfQ0KICAg ICAgICB0ZC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250LXdlaWdodDogYm9sZDsgdmVydGlj YWwtYWxpZ246IHRleHQtdG9wOyB9DQoNCiAgICAgICAgb2wudGV4dCB7IG1hcmdpbi1sZWZ0OiAy ZW07IG1hcmdpbi1yaWdodDogMmVtOyB9DQogICAgICAgIHVsLnRleHQgeyBtYXJnaW4tbGVmdDog MmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQ0KICAgICAgICBsaSAgICAgIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgfQ0KDQogICAgICAgIC8qIFJGQy0yNjI5IDxzcGFueD5zIGFuZCA8YXJ0d29yaz5zLiAq Lw0KICAgICAgICBlbSAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0NCiAgICAgICAgc3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgZGZuICAgIHsgZm9udC13ZWlnaHQ6IGJv bGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQ0KICAgICAgICBjaXRlICAgeyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0NCiAgICAgICAgdHQgICAgIHsgY29sb3I6ICMw MzY7IH0NCiAgICAgICAgdHQsIHByZSwgcHJlIGRmbiwgcHJlIGVtLCBwcmUgY2l0ZSwgcHJlIHNw YW4gew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAgIH0NCiAgICAgICAgcHJlIHsN CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA0cHg7DQogICAgICAg ICAgICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7DQogICAgICAgIH0N CiAgICAgICAgcHJlIGRmbiAgeyBjb2xvcjogIzkwMDsgfQ0KICAgICAgICBwcmUgZW0gICB7IGNv bG9yOiAjNjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9 DQogICAgICAgIHByZSAua2V5IHsgY29sb3I6ICMzM0M7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQog ICAgICAgIHByZSAuaWQgIHsgY29sb3I6ICM5MDA7IH0NCiAgICAgICAgcHJlIC5zdHIgeyBjb2xv cjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQ0KICAgICAgICBwcmUgLnZhbCB7IGNv bG9yOiAjMDY2OyB9DQogICAgICAgIHByZSAucmVwIHsgY29sb3I6ICM5MDk7IH0NCiAgICAgICAg cHJlIC5vdGggeyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQ0KICAgICAg ICBwcmUgLmVyciB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M7IH0NCg0KICAgICAgICAvKiBSRkMt MjYyOSA8dGV4dHRhYmxlPnMuICovDQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCwgdGFi bGUuaGVhZGVycywgdGFibGUubm9uZSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFs bDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItd2lkdGg6IDJweDsNCiAgICAgICAgICAgICAg ICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAg ICB9DQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCB7IGJvcmRlci1zdHlsZTogc29saWQ7 IGJvcmRlci1jb2xvcjogYmxhY2s7IH0NCiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9u ZSB7IGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAgICAgICB0aCB7DQogICAgICAgICAgICAgICAg Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlci1jb2xvcjogYmxhY2s7DQogICAgICAgICAgICAgICAg Ym9yZGVyLXdpZHRoOiAycHggMnB4IDNweCAycHg7DQogICAgICAgIH0NCiAgICAgICAgdGFibGUu YWxsIHRoLCB0YWJsZS5mdWxsIHRoIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfQ0KICAgICAgICB0 YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQ0K ICAgICAgICB0YWJsZS5ub25lIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAgICAgIHRh YmxlLmFsbCB0ZCB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVy LWNvbG9yOiAjMzMzOw0KICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweDsNCiAg ICAgICAgfQ0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5u b25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQoNCiAgICAgICAgaHIgeyBoZWlnaHQ6IDFw eDsgfQ0KICAgICAgICBoci5pbnNlcnQgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7IGJv cmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOw0KICAgICAgICAgICAgICAgIGNvbG9y OiAjQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KICAgICAgICB9DQotLT48L3N0eWxlPg0K PC9oZWFkPg0KPGJvZHk+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iNjYlIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9 IjEiPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3RkPjx0 ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl ciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BY3RlbGlzIE5ldHdvcmtz PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlbmRlZCBzdGF0dXM6IFN0YW5k YXJkcyBUcmFjazwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5IDIxLCAyMDA3PC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgMjUsIDIwMDc8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGgxPjxiciAvPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50 eHQ8L2gxPg0KDQo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+DQo8cD4NCkJ5IHN1Ym1pdHRp bmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwNCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkg YXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaA0KaGUgb3Igc2hl IGlzIGF3YXJlIGhhdmUgYmVlbiBvciB3aWxsIGJlIGRpc2Nsb3NlZCwNCmFuZCBhbnkgb2Ygd2hp Y2ggaGUgb3Igc2hlIGJlY29tZXMgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsDQppbiBhY2NvcmRh bmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPg0KPHA+DQpJbnRlcm5l dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu Zw0KVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4N Ck5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3Vt ZW50cyBhcw0KSW50ZXJuZXQtRHJhZnRzLjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBk cmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQphbmQgbWF5 IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0 IGFueSB0aW1lLg0KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFz IHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlDQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVv O3dvcmsgaW4gcHJvZ3Jlc3MuJnJkcXVvOzwvcD4NCjxwPg0KVGhlIGxpc3Qgb2YgY3VycmVudCBJ bnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8vd3d3Lmll dGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8x aWQtYWJzdHJhY3RzLnR4dDwvYT4uPC9wPg0KPHA+DQpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFm dCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8v d3d3LmlldGYub3JnL3NoYWRvdy5odG1sJz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s PC9hPi48L3A+DQo8cD4NClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0 IDI1LCAyMDA3LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmln aHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+ DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24g QmFzZSAoTUlCKSBtb2R1bGVzIGZvcg0KICAgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHBy b3RvY29scyBpbiBUQ1AvSVAgYmFzZWQgaW50ZXJuZXRzLg0KICAgVGhpcyBkb2N1bWVudCBkZXNj cmliZXMgZXh0ZW5zaW9ucyB0byB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzDQogICBNSUIg YW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9iamVjdHMgZm9yIG1hbmFnaW5nDQog ICBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBpbnRlcmZhY2VzDQog ICAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLCBkZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAw NC4NCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMgZGVmaW5lZCwgZGVzY3JpYmlu ZyBjcm9zcy1jb25uZWN0DQogICBjYXBhYmlsaXR5IG9mIGEgbWFuYWdlZCBkZXZpY2Ugd2l0aCBt dWx0aS1sYXllciAoc3RhY2tlZCkgaW50ZXJmYWNlcywNCiAgIGV4dGVuZGluZyB0aGUgc3RhY2sg bWFuYWdlbWVudCBvYmplY3RzIGluIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQg0KICAgYW5kIHRo ZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gDQogIA0KPC9wPjxhIG5hbWU9InRv YyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNz PSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEuPC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJy IC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+Jm5ic3A7DQpUaGUgSW50ZXJuZXQtU3RhbmRh cmQgTWFuYWdlbWVudCBGcmFtZXdvcms8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4m bmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzPGJyIC8+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNCI+My4xLjwvYT4mbmJzcDsNClJlbGF0aW9uIHRv IEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjUiPjMuMS4xLjwvYT4m bmJzcDsNCkxheWVyaW5nIE1vZGVsPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOw0K UE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+My4xLjMuPC9h PiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjMuMS40LjwvYT4m bmJzcDsNCkVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUu PC9hPiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI2FuY2hvcjEwIj4zLjIuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wg TUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjExIj4zLjMuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPGJyIC8+DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7 DQpSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8YnIgLz4NCjxh IGhyZWY9IiNhbmNob3IxMyI+NC48L2E+Jm5ic3A7DQpNSUIgU3RydWN0dXJlPGJyIC8+DQombmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQiPjQuMS48L2E+Jm5ic3A7DQpF Rk0gQ29wcGVyIE1JQiBPdmVydmlldzxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEg aHJlZj0iI2FuY2hvcjE1Ij40LjIuPC9hPiZuYnNwOw0KSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxp dHkgTUlCIE92ZXJ2aWV3PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj YW5jaG9yMTYiPjQuMy48L2E+Jm5ic3A7DQpQTUUgUHJvZmlsZXM8YnIgLz4NCiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NC40LjwvYT4mbmJzcDsNCk1hcHBpbmcg b2YgSUVFRSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE4 Ij41LjwvYT4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmlsaXR5IE1JQiBEZWZpbml0aW9u czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE5Ij42LjwvYT4mbmJzcDsNCkVGTSBDb3BwZXIgTUlC IERlZmluaXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjAiPjcuPC9hPiZuYnNwOw0KU2Vj dXJpdHkgQ29uc2lkZXJhdGlvbnM8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5i c3A7DQpJQU5BIENvbnNpZGVyYXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjIiPjkuPC9h PiZuYnNwOw0KQWNrbm93bGVkZ21lbnRzPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjMiPjEwLjwv YT4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8YnIgLz4NCjxhIGhyZWY9IiNyZmMucmVmZXJl bmNlczEiPjExLjwvYT4mbmJzcDsNClJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjExLjEuPC9hPiZuYnNwOw0KTm9ybWF0 aXZlIFJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNy ZmMucmVmZXJlbmNlczIiPjExLjIuPC9hPiZuYnNwOw0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlczxi ciAvPg0KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7DQpBdXRob3IncyBB ZGRyZXNzPGJyIC8+DQo8YSBocmVmPSIjcmZjLmNvcHlyaWdodCI+JiMxNjc7PC9hPiZuYnNwOw0K SW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxiciAvPg0KPC9w Pg0KPGJyIGNsZWFyPSJhbGwiIC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsNCkludHJvZHVjdGlvbjwvaDM+DQoN CjxwPg0KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVmaW5lZCBp biB0aGUNCiAgIEluc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljcyBFbmdpbmVl cnMgKElFRUUpIFN0YW5kYXJkDQogICA4MDIuM2FoLTIwMDQgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SUVF RSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAg ICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBz eXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAg ICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNl bnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAg ICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJl ciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bh bj4pPC9zcGFuPjwvYT4sDQogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVG TSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlDQogICBiYXNlIElFRUUgU3RhbmRhcmQgODAy LjMtMjAwNSA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zJz5bODAyLjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZv cm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9y bWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAg ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uDQogICBJbiBwYXJ0aWN1bGFyIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAoUEhZcyksDQogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlDQogICBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcgYW5k IHNob3J0IHJlYWNoIHJlc3BlY3RpdmVseS4NCiAgIFRoZXNlIGludGVyZmFjZXMsIGNvbGxlY3Rp dmVseSBjYWxsZWQgRUZNIENvcHBlciAoRUZNQ3UpLCBhcmUgYmFzZWQgb24NCiAgIFNpbmdsZS1w YWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKQ0KICAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNHLjk5MS4yJz5bRy45OTEuMl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+SVRVLVQsICZsZHF1bztTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdp dGFsIFN1YnNjcmliZXINCiAgIExpbmUgKFZEU0wpIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjRy45 OTMuMSc+W0cuOTkzLjFdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklUVS1ULCAm bGRxdW87VmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVy cywmcmRxdW87IEp1bmUmbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGVjaG5v bG9neSwgc3VwcG9ydGluZyANCiAgIG9wdGlvbmFsIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkgKFBN RSkgYWdncmVnYXRpb24NCiAgIChhLmsuYS4gbXVsdGktcGFpciBib25kaW5nKSB3aXRoIHZhcmlh YmxlIHJhdGVzLg0KICANCjwvcD4NCjxwPg0KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUgb2Yg cHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzDQogICBvdmVyIDI3MDAgbSBsb25nIHNpbmdsZSBjb3Bw ZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKQ0KICAgb2YgMTBeLTcgKHVz aW5nIDVkQiB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIDEwUEFTUy1U UyBQSFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXINCiAgIDc1 MCBtIGxvbmcgc2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNp bmcgNmRCDQogICB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIFRoaXMg bWVtbyBkZWZpbmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBm b3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gdGhlIEludGVy bmV0IA0KICAgY29tbXVuaXR5IHRvIG1hbmFnZSBFRk1DdSBpbnRlcmZhY2VzLg0KICAgSW4gYWRk aXRpb24gYSBNSUIgbW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UuDQogIA0KPC9wPg0KPHA+DQogICBO b3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24sIEFkbWluaXN0cmF0aW9uIGFu ZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwg TmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAyLjNhaCBhcmUgZGVmaW5lZCBp biBFRk0tQ09NTU9OLU1JQg0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJt aWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7 bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87 RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3IgT0FNIEZ1bmN0aW9ucyAgICAgICAg ICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgRUZNLUVQT04tTUlCDQogICA8YSBjbGFz cz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWInPltJJiM4MjA5O0Qu aWV0ZiYjODIwOTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O2Vwb24mIzgyMDk7bWliXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5LaGVybW9zaCwgTC4sICZsZHF1bztNYW5hZ2VkIE9i amVjdHMgb2YgRVBPTiwmcmRxdW87IE5vdmVtYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+IHJlc3BlY3RpdmVseS4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyIj48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7DQpUaGUgSW50ZXJu ZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcms8L2gzPg0KDQo8cD4NCiAgIEZvciBhIGRl dGFpbGVkIG92ZXJ2aWV3IG9mIHRoZSBkb2N1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgY3VycmVu dA0KICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZl ciB0bw0KICAgc2VjdGlvbiA3IG9mIFJGQyAzNDEwIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD MzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yaywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTWFuYWdlZCBvYmplY3RzIGFyZSBh Y2Nlc3NlZCB2aWEgYSB2aXJ0dWFsIGluZm9ybWF0aW9uIHN0b3JlLA0KICAgdGVybWVkIHRoZSBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlDQogICBn ZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQ cm90b2NvbA0KICAgKFNOTVApLiAgT2JqZWN0cyBpbiB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5n IHRoZSBtZWNoYW5pc21zDQogICBkZWZpbmVkIGluIHRoZSBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVu dCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMNCiAgIG1lbW8gc3BlY2lmaWVzIE1JQiBtb2R1bGVz IHRoYXQgYXJlIGNvbXBsaWFudCB0byB0aGUgU01JdjIsIHdoaWNoDQogICBpcyBkZXNjcmliZWQg aW4gU1REIDU4LCBSRkMgMjU3OCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzI1NzgnPltSRkMy NTc4XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5NY0Nsb2docmllLCBLLiwgUGVy a2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJv c2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50 IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwv c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sDQogICBTVEQgNTgsIFJGQyAyNTc5IDxhIGNsYXNzPSdp bmZvJyBocmVmPScjUkZDMjU3OSc+W1JGQzI1NzldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 J2luZm8nPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENh c2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRx dW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTku PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBSRkMNCiAgIDI1ODAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNSRkMyNTgwJz5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2Fl bGRlciwgJmxkcXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXBy aWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQog ICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwg IlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAi TUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVy cHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOQ0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJh ZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJl cXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNoJm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+Lg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBt b2R1bGVzPC9oMz4NCg0KPHA+DQogIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25z aGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogIHRoaXMgZG9jdW1lbnQgd2l0aCBv dGhlciBNSUIgbW9kdWxlcw0KICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuIFNwZWNp ZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUINCiAgKElGLU1JQiksIEV0aGVybmV0LUxpa2Ug KEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTA0KICAoSERTTDItU0hEU0wtTElO RS1NSUIpIGFuZCBWRFNMIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuDQog DQo8L3A+DQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEiPjwvYT48aDM+My4xLiZuYnNwOw0KUmVsYXRpb24gdG8gSW50ZXJmYWNlcyBHcm91cCBNSUIg bW9kdWxlPC9oMz4NCg0KPHA+DQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBIWSdzIHNwZWNp ZmllZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJlIHN0YWNrZWQNCiAgIChhLmsuYS4gYWdn cmVnYXRlZCBvciBib25kZWQpIEV0aGVybmV0IGludGVyZmFjZXMgYW5kIGFzIHN1Y2ggYXJlIG1h bmFnZWQNCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQ0KICAgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JG QzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsg SnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBpLmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBz dWItbGF5ZXJzIHRvDQogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhl IGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiANCiAgIHRoZSBJRi1NSUIgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJm YWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bh bj48L2E+IGFuZCBpdHMgaW52ZXJzZQ0KICAgaWZJbnZTdGFja1RhYmxlLCBhcyBkZWZpbmVkIGlu IHRoZSBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD Mjg2NCc+W1JGQzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hy aWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0 ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAw Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQogICBUaGUgbmV3IHRh YmxlcyBpZkNhcFN0YWNrVGFibGUgYW5kIGl0cyBpbnZlcnNlDQogICBpZkludkNhcFN0YWNrVGFi bGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUNCiAgIGJlbG93LCBleHRl bmQgdGhlIHN0YWNrIG1hbmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlDQogICBw b3NzaWJsZSBjb25uZWN0aW9ucyBvciBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBm bGV4aWJsZQ0KICAgY3Jvc3MtY29ubmVjdCBtYXRyaXggaXMgcHJlc2VudCBiZXR3ZWVuIHRoZSBp bnRlcmZhY2UgbGF5ZXJzLg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjMuMS4xIj48L2E+PGgzPjMuMS4xLiZuYnNwOw0KTGF5ZXJpbmcg TW9kZWw8L2gzPg0KDQo8cD4NCiAgICAgQW4gRUZNQ3UgaW50ZXJmYWNlIGNhbiBhZ2dyZWdhdGUg dXAgdG8gMzIgUGh5c2ljYWwgTWVkaXVtDQogICAgIEVudGl0eSAoUE1FKSBzdWItbGF5ZXIgZGV2 aWNlcyAobW9kZW1zKSwgdXNpbmcgc28NCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBBIGdlbmVyaWMgRUZNQ3UgZGV2aWNl IGNhbiBoYXZlIGEgbnVtYmVyIG9mIFBoeXNpY2FsIENvZGluZw0KICAgICBTdWJsYXllciAoUENT KSBwb3J0cywgZWFjaCBjb25uZWN0ZWQgdG8gYSBNQUMgdmlhIE1lZGl1bSBJbmRlcGVuZGVudA0K ICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVj dGVkIHRvIGENCiAgICAgbnVtYmVyIG9mIHVuZGVybHlpbmcgUE1Fcywgd2l0aCBhIHNpbmdsZSBQ Q1MgcGVyIFBNRSByZWxhdGlvbnNoaXAsDQogICAgIHNlZSBjbGF1c2UgNjEuMSBvZiA8YSBjbGFz cz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNo YW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJl YSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0 IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlv biAgICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVj aWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJh bWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIw MDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgbW9yZSBkZXRhaWxzLg0KICAgIA0KPC9w Pg0KPHA+DQogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVw cmVzZW50ZWQgaW4gdGhlDQogICAgIEludGVyZmFjZSB0YWJsZSAoaWZUYWJsZSkgYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2Ugd2l0aCBpZlR5cGUgb2YNCiAgICAgc2hkc2woMTY5KSBmb3IgMkJBU0Ut VEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gVGhlIGlmVHlwZQ0KICAgICB2YWx1ZXMgYXJl IGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJQU5BaWZUeXBlLU1JQic+W0lBTkFp ZlR5cGUmIzgyMDk7TUlCXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JbnRlcm5l dCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bztJQU5BaWZUeXBlIFRl eHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uLCZyZHF1bzsgLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4uDQogICAgDQo8L3A+DQo8cD4NCiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwg cmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlDQogICAgIG9mIHRoZSBhY3RpdmUgUE1FIChl LmcuIGZvciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZg0KICAgICA2NEticHMpLiBa ZXJvIHZhbHVlIFNIQUxMIGJlIHJldHVybmVkIHdoZW4gUE1FIGlzIGluaXRpYWxpemluZyBvciBk b3duLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQ0KICAgICByYXRlcyBvZiBhbGwgUE1F cyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgICBlbmNh cHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0 aGUNCiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4NCiAgICA8YnIgLz48aHIgY2xhc3M9Imlu c2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAxIj48L2E+DQoNCjxwPldoZW4gdXNpbmcgdGhlIHN0 YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZQ0KICAgICAgICAgICAgICAgIFBDUywg dGhlcmUgd291bGQgYmUgbm8gZnJhbWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRp b24NCiAgICAgICAgICAgICAgICAodGhlIHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5l cmF0ZSAxMDAlIG9mIGJhY2sNCiAgICAgICAgICAgICAgICB0byBiYWNrIHRyYWZmaWMsIGkuZS4g bWluaW1hbCBJRkcsIGF0IDEwIG9yIDEwME1icHMsDQogICAgICAgICAgICAgICAgd2l0aCBtaW4g YW5kIG1heCBmcmFtZSBzaXplczsNCiAgICAgICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMg YXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUgdGhlIHNob3duIHNwZWVkKToNCiAgICAgIA0KPC9w PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IGF1dG87 IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0tLiAgICAgICAgICAgLi0tLiAgICAg ICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KfHRlc3RzZXR8LS0xMEJhc2VULS18Q098 LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQonLS0tLS0tLScgICAgICAgICAg ICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0tLScNCiAgaWZTcGVlZD0gIDEw TWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJwcw0KDQouLS0tLS0tLS4gICAgICAgICAg ICAuLS0uICAgICAgICAgICAgLi0tLS4gICAgICAgICAgICAuLS0tLS0tLS4NCnx0ZXN0c2V0fC0t MTAwQmFzZVQtLXxDT3wtLTEwUGFzc1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KJy0t LS0tLS0nICAgICAgICAgICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0t LS0nDQogIGlmU3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMN CjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJt b25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzE6IEV4 YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MmbmJzcDs8L2I+PC9mb250Pjxi ciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQogICAgDQo8YnIg Lz48aHIgY2xhc3M9Imluc2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAyIj48L2E+DQoNCjxwPlRo ZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSBJRUVFIDgwMi4zIGxheWVyaW5nIGRpYWdyYW0g YW5kDQogICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZN YXVUYWJsZToNCiAgICAgIA0KPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDog MDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLiAgLQ0KfCAgICAgICAgTExDICAgICAgICAgICAgICB8ICBeDQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5DQp8ICAgICAgICBNQUMgICAg ICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgKSAgIGlmTWF1RW50cnkNCnwgICAgICAgIFJlY29uc2lsaWF0aW9u ICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3INCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3QzTWF1VHlwZTEwUGFzc1RTDQp8 ICAgICAgICBQQ1MgICAgICAgICAgICAgIHwgIHYNCistLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0t KyAgLQ0KfCBUQyBcICAgICAgICB8ICAgfCAgICAgICB8ICBeDQorLS0tLS1cICAgICAgIHwgICB8 ICAgICAgIHwgIHwNCnwgUE1BICApUE1FIDEgfC4uLnwgUE1FIE4gfCAgKSBOIGlmRW50cnkgIChO PTEuLjMyKQ0KKy0tLS0tLyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNs KDE2OSkgb3IgdmRzbCg5NykNCnwgUE1ELyAgICAgICAgfCAgIHwgICAgICAgfCAgdg0KJy0tLS0t LS0tLS0tLS0rLS0tKy0tLS0tLS0nICAtDQoNCiBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAg ICAgICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KIE1BQyAtIE1lZGlhIEFjY2Vz cyBDb250cm9sICAgICAgIFBNRCAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiBQQ1MgLSBQ aHlzaWNhbCBDb2RpbmcgU3ViLWxheWVyICBQTUUgLSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQog VEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQo8L3ByZT48L2Rpdj48dGFibGUgYm9yZGVy PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48 dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXpl PSIxIj48Yj4mbmJzcDtGaWd1cmUmbmJzcDsyOiBVc2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJs ZSBmb3IgRUZNQ3UgcG9ydHMmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxl PjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQo8cD4NCiAgICAgVGhlIGlmU3RhY2tUYWJsZSBpcyBp bmRleGVkIGJ5IHRoZSBpZkluZGV4IHZhbHVlcyBvZiB0aGUgYWdncmVnYXRlZA0KICAgICBFRk1D dSBwb3J0IChQQ1MpIGFuZCB0aGUgUE1FcyBjb25uZWN0ZWQgdG8gaXQuIGlmU3RhY2tUYWJsZSBh bGxvd3MgYQ0KICAgICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGljYXRpb24gdG8gZGV0ZXJtaW5l IHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgICB0byBhIHBhcnRpY3VsYXIgUENTIGFuZCBj aGFuZ2UgY29ubmVjdGlvbnMgKGlmIHN1cHBvcnRlZCBieSB0aGUgDQogICAgIGFwcGxpY2F0aW9u KS4gVGhlIGlmSW52U3RhY2tUYWJsZSwgYmVpbmcgYW4gaW52ZXJ0ZWQgdmVyc2lvbiBvZg0KICAg ICB0aGUgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yaw0KICAgICBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmU3RhY2tUYWJsZSBhbmQNCiAgICAgdGhlcmVieSBkZXRlcm1pbmUgd2hpY2ggUENTIHJ1bnMg b24gdG9wIG9mIGEgcGFydGljdWxhciBQTUUuDQogICAgDQo8L3A+DQo8cD4NCiAgICAgQSBuZXcg dGFibGUgaWZDYXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUINCiAg ICAgbW9kdWxlLCBzcGVjaWZpZXMgZm9yIGVhY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZSAoZS5n LiBQQ1MgcG9ydCkNCiAgICAgYSBsaXN0IG9mIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4g UE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseQ0KICAgICBiZSBjcm9zcy1jb25uZWN0ZWQgdG8gdGhh dCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlLA0KICAgICBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy1j b25uZWN0DQogICAgIGNhcGFiaWxpdHkgb2YgdGhlIGRldmljZS4gVGhpcyB0YWJsZSwgbW9kZWxl ZCBhZnRlciBpZlN0YWNrVGFibGUsIGlzDQogICAgIHJlYWQgb25seSwgcmVmbGVjdGluZyBjdXJy ZW50IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhDQogICAgIHN0YWNrZWQgaW50ZXJmYWNl LCB3aGljaA0KICAgICBjYW4gYmUgZHluYW1pYyBpbiBzb21lIGltcGxlbWVudGF0aW9ucyAoZS5n LiBpZiBQTUVzIGFyZSBsb2NhdGVkDQogICAgIG9uIGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQgdGhl IG1vZHVsZSBpcyBwdWxsZWQgb3V0KS4NCiAgICAgTm90ZSB0aGF0IFBNRSBhdmFpbGFiaWxpdHkg cGVyIFBDUywgZGVzY3JpYmVkIGJ5DQogICAgIGlmQ2FwU3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0 cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICAgIGZvciBleGFtcGxlIGJ5IGFnZ3JlZ2F0 aW9uIGNhcGFjaXR5IG9mIGEgUENTIG9yIGJ5IHRoZSBQTUUgaW4NCiAgICAgcXVlc3Rpb24gYmVp bmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBQQ1MuIFNvLCBpbg0KICAgICBvcmRlciB0 byBlbnN1cmUgdGhhdCBhIHBhcnRpY3VsYXIgUE1FIGNhbiBiZSBjb25uZWN0ZWQgdG8gdGhlIFBD UywNCiAgICAgYWxsIHJlc3BlY3RpdmUgcGFyYW1ldGVycyAoZS5nLiBpZkNhcFN0YWNrVGFibGUs DQogICAgIGlmU3RhY2tUYWJsZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSkgU0hBTEwgYmUgaW5zcGVj dGVkLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28g ZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICAgIGRlc2NyaWJlcyB3 aGljaCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlcyAoZS5nLiBQQ1MgcG9ydHMpIGNhbiBwb3NzaWJs eQ0KICAgICBiZSBjb25uZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFj ZSAoZS5nLiBQTUUpLA0KICAgICBwcm92aWRpbmcgaW52ZXJ0ZWQgbWFwcGluZyBvZiBpZkNhcFN0 YWNrVGFibGUuDQogICAgIFdoaWxlIGl0IGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRp b24gYmV5b25kIHRoYXQgYWxyZWFkeQ0KICAgICBjb250YWluZWQgaW4gdGhlIGlmQ2FwU3RhY2tU YWJsZSwgdGhlIGlmSW52Q2FwU3RhY2tUYWJsZSBoYXMgdGhlDQogICAgIGlmSW5kZXggdmFsdWVz IGluIGl0cyBJTkRFWCBjbGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZQ0KICAg ICBsb3dlci1sYXllciBpbnRlcmZhY2UgZmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVy ZmFjZQ0KICAgICBzZWNvbmQsIHByb3ZpZGluZyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yayBNYW5hZ2VtZW50DQogICAgIGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmQ2FwU3RhY2tUYWJsZSBhbmQgdGhlcmVieQ0KICAgICBkZXRlcm1pbmUgd2hpY2ggaW50ZXJm YWNlcyBjYW4gYmUgY29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgYQ0KICAgICBwYXJ0aWN1bGFy IGludGVyZmFjZS4NCiAgICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjYiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjMuMS4yIj48L2E+PGgzPjMuMS4yLiZuYnNwOw0KUE1FIEFnZ3JlZ2F0 aW9uIEZ1bmN0aW9uIChQQUYpPC9oMz4NCg0KPHA+DQogICAgIFRoZSBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikgYWxsb3dzIGEgbnVtYmVyIG9mIFBNRXMgdG8gYmUNCiAgICAgYWdncmVn YXRlZCBvbnRvIGEgUENTIHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMs DQogICAgIHRyYW5zbWl0dGluZyB0aGUgZnJhZ21lbnRzIG92ZXIgbXVsdGlwbGUgUE1FcyBhbmQg YXNzZW1ibGluZyB0aGUNCiAgICAgb3JpZ2luYWwgZnJhbWVzIGF0IHRoZSByZW1vdGUgcG9ydC4g UEFGIGlzIE9QVElPTkFMLCBtZWFuaW5nIHRoYXQgYQ0KICAgICBkZXZpY2Ugd2l0aCBhIHNpbmds ZSBQTUUgTUFZIHBlcmZvcm0gZnJhZ21lbnRhdGlvbiBhbmQNCiAgICAgcmUtYXNzZW1ibHkgaWYg dGhpcyBmdW5jdGlvbiBpcyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS4NCiAgICAgTm90ZSBob3dl dmVyIHRoYXQgdGhlIGFnZW50IGlzIFJFUVVJUkVEIHRvIHJlcG9ydCBvbiB0aGUNCiAgICAgUEFG IGNhcGFiaWxpdHkgZm9yIGFsbCBFRk1DdSBwb3J0cyAoMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyku DQogICAgDQo8L3A+DQo8cD4NCiAgICAgVGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFsbG93cyBhIE5l dHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBxdWVyeQ0KICAgICBQQUYgY2FwYWJpbGl0 eSBhbmQgZW5hYmxlL2Rpc2FibGUgaXQgaWYgc3VwcG9ydGVkLiBOb3RlIHRoYXQNCiAgICAgZW5h YmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24gYW5kIHJlLWFzc2Vt Ymx5LA0KICAgICBldmVuIG9uIGEgc2luZ2xlLVBNRSBwb3J0Lg0KICAgIA0KPC9wPg0KPGEgbmFt ZT0iYW5jaG9yNyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4xLjMiPjwvYT48aDM+ My4xLjMuJm5ic3A7DQpEaXNjb3ZlcnkgT3BlcmF0aW9uPC9oMz4NCg0KPHA+DQogICAgIFRoZSBF Rk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxseSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sDQog ICAgIHdoZXJlYnkgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBleGNoYW5nZSBpbmZvcm1h dGlvbiBhYm91dA0KICAgICB0aGVpciByZXNwZWN0aXZlIGFnZ3JlZ2F0aW9uIGdyb3VwcyAoUENT KS4gVGhpcyBpbmZvcm1hdGlvbiBjYW4NCiAgICAgdGhlbiBiZSB1c2VkIHRvIGRldGVjdCBjb3Bw ZXIgbWlzY29ubmVjdGlvbnMgb3IgZm9yIGFuIGF1dG9tYXRpYw0KICAgICBhc3NpZ25tZW50IG9m IHRoZSBsb2NhbCBQTUVzIGludG8gYWdncmVnYXRpb24gZ3JvdXBzIGluc3RlYWQgb2YNCiAgICAg YSBmaXhlZCBwcmUtY29uZmlndXJhdGlvbi4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUaGUgTUlC IG1vZHVsZXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50IGFsbG93IGEgTmV0d29yaw0KICAgICBN YW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNoYW5pc20g YW5kIHF1ZXJ5DQogICAgIGl0cyByZXN1bHRzLiBOb3RlIHRoYXQgdGhlIERpc2NvdmVyeSBtZWNo YW5pc20gY2FuIHdvcmsgb25seSBpZg0KICAgICBQQUYgaXMgc3VwcG9ydGVkIGFuZCBlbmFibGVk Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBE aXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICAgIGlmQ2FwU3RhY2tUYWJs ZS4gVGhlIGZvbGxvd2luZyBwc2V1ZG8tY29kZSBnaXZlcw0KICAgICBhbiBleGFtcGxlIG9mIHRo ZSBEaXNjb3ZlcnkgYW5kIGF1dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljDQog ICAgIFBBRiBlbmFibGVkIG11bHRpLVBDUyBFRk1DdSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJh bCBPZmZpY2UNCiAgICAgKENPKSwgdXNpbmcgb2JqZWN0cyBkZWZpbmVkIGluIHRoZXNlIE1JQiBt b2R1bGVzIGFuZCBpbiBJRi1NSUINCiAgICAgW05vdGUgdGhhdCBhdXRvbWF0aWMgUE1FIGFzc2ln bm1lbnQgaXMgb25seSBzaG93biBoZXJlIGZvcg0KICAgICB0aGUgcHVycG9zZXMgb2YgdGhlIGV4 YW1wbGUuIEZpeGVkIFBNRSBwcmUtYXNzaWdubWVudCwgbWFudWFsDQogICAgIGFzc2lnbm1lbnQg b3IgYXV0by1hc3NpZ25tZW50IHVzaW5nIGFuIGFsdGVybmF0aXZlIGludGVybmFsDQogICAgIGFs Z29yaXRobSBtYXkgYmUgY2hvc2VuIGJ5IGEgcGFydGljdWxhciBpbXBsZW1lbnRhdGlvbl06DQog ICAgDQo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVm dDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+DQovLyBHbyBvdmVyIGFsbCBQQ1MgcG9y dHMgaW4gdGhlIENPIGRldmljZQ0KRk9SRUFDSCBwY3NbaV0gSU4gQ09fZGV2aWNlDQp7IC8vIFBl cmZvcm0gZGlzY292ZXJ5IGFuZCBhdXRvLWFzc2lnbm1lbnQgb25seSBvbiBQQUYgZW5hYmxlZCBw b3J0cw0KICAvLyB3aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICBJRiAoIHBjc1tpXS5QQUZTdXBw b3J0ZWQgQU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQog ICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFDW2ldOyAvLyB1bmlxdWUgNi1vY3Rl dHMgcGVyIFBDUw0KICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29ubmVjdGVkIFBNRXMsIHdoaWNo IGNhbg0KICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAg IEZPUkVBQ0ggcG1lW2pdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIEFORA0KICAgICAgICAg ICAgICAgICAgICAgTk9UIGlmSW52U3RhY2tUYWJsZVtwbWVbal1dICAvLyBub3QgY29ubmVjdGVk DQogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRp bmcgdGhlIHZhbHVlDQogICAgICAgICAgLy8gb2YgdGhlIGxvY2FsIDYtb2N0ZXQgZGlzY292ZXJ5 IGNvZGUgdG8gdGhlIHJlbW90ZQ0KICAgICAgICAgIC8vIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVy ICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuDQogICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24g aXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAvLyB3b3Vs ZCBzdWNjZWVkIG9ubHkgaWYgdGhlIHJlbW90ZSBkaXNjb3ZlcnkgcmVnaXN0ZXIgd2FzDQogICAg ICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIHZp YSBHZXQNCiAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0 dGFjaGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgLy8gaXMgaW5kZWVkIG1hcmtlZCBhcyBiZWlu ZyB0aGUgQ09fZGV2aWNlIHBlZXIuDQogICAgICAgICAgcG1lW2pdLlJlbW90ZURpc2NvdmVyeUNv ZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcg0KICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICBJRiAoIHIgPT0gZGMg QU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAg ICAgIHsgLy8gUmVtb3RlIFJUX2RldmljZSBjb25uZWN0ZWQgdmlhIFBNRVtqXSBpcy93YXMgYSBw ZWVyDQogICAgICAgICAgICAgIC8vIGZvciBQQ1NbaV0gYW5kIHRoZXJlIGlzIHJvb20gZm9yIGFu b3RoZXIgUE1FIGluIHRoZQ0KICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAvLyByZWFjaGVkIHll dCkuDQogICAgICAgICAgICAgIC8vIENvbm5lY3QgdGhpcyBQTUUgdG8gdGhlIFBDUyAodmlhIGlm U3RhY2tUYWJsZSwNCiAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGludmVy c2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgIC8vIHVwZGF0ZWQgYXV0b21hdGlj YWxseSkNCiAgICAgICAgICAgICAgQUREIHBtZVtqXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ldXTsN CiAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0YWNrVGFi bGVbcG1lW2pdXQ0KICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBjc1tpXS5OdW1QTUVz ICsgMTsNCiAgICAgICAgICAgICAgLy8gRGlzY292ZXIgYWxsIG90aGVyIGRpc2Nvbm5lY3RlZCBQ TUVzLA0KICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9kZXZpY2UgYW5k IGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAvLyB0aGUgUENTIHByb3ZpZGVkIHRoZXJl IGlzIGVub3VnaCByb29tIGZvciBtb3JlIFBNRXMuDQogICAgICAgICAgICAgIEZPUkVBQ0ggcG1l W2tdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIGFuZA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAgICAgICAgICB7IHIg PSBwbWVba10uUmVtb3RlRGlzY292ZXJ5Q29kZTsgLy8gR2V0DQogICAgICAgICAgICAgICAgICBJ RiAoIHIgPT0gZGMgQU5EDQogICAgICAgICAgICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzICZh bXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAgICAgICAgICAgeyBBREQgcG1l W2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAgICAgICAgICAgLy8g cGNzW2ldIGlzIGFkZGVkIFRPIGlmSW52U3RhY2tUYWJsZVtwbWVba11dDQogICAgICAgICAgICAg ICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0uTnVtUE1FcyArIDE7DQogICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg Ly8gQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGRpc2NvdmVyZWQgYWxsIGxvY2FsIFBNRXMgd2hpY2gN CiAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgcmVtb3Rl IFJUX2RldmljZQ0KICAgICAgICAgIC8vIGFuZCBjb25uZWN0ZWQgdGhlbSB0byBQQ1NbaV0uIEdv IHRvIHRoZSBuZXh0IFBDUy4NCiAgICAgICAgICBCUkVBSzsNCiAgICAgICAgfQ0KICAgIH0NCn0N CjwvcHJlPjwvZGl2Pg0KPHA+DQogICAgIEFuIFNOTVAgQWdlbnQgZm9yIGEgRUZNQ3UgZGV2aWNl IGJ1aWxkcyBpZkNhcFN0YWNrVGFibGUNCiAgICAgYW5kIGl0cyBpbnZlcnNlIGlmSW52Q2FwU3Rh Y2tUYWJsZSBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uDQogICAgIGNvbnRhaW5lZCBpbiB0 aGUgQ2xhdXNlIDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZQ0KICAgICA8YSBjbGFzcz0n aW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5v bG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5n ZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBu ZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAg ICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZp Y2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0 ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZv ciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiA2MS4xLjUuMyBhbmQgNDUuMi4zLjIwKS4NCiAgICAN CjwvcD4NCjxwPg0KICAgICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cgZm9y IGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgICBhY3R1YWwgY29ubmVjdGlvbiBvZiB0aGUg UE1FIHRvIHRoZSBQQ1MsIHdoaWNoIGNhbiBiZSBkb25lIGJ5IG1vZGlmeWluZw0KICAgICBDbGF1 c2UgNDUgUE1FX0FnZ3JlZ2F0ZV9yZWdpc3RlciAoc2VlIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj ODAyLjNhaCc+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUs ICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAg ICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lz dGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAg ICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5z ZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEv Q0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25zIC0gICAg ICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2Fs ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzIE5ldHdvcmtzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+ KTwvc3Bhbj48L2E+DQogICAgIDYxLjEuNS4zIGFuZCA0NS4yLjMuMjEpLg0KICAgIA0KPC9wPg0K PHA+DQogICAgIE5vdGUgdGhhdCBQQ1MgcG9ydCBkb2VzIG5vdCBoYXZlIHRvIGJlIG9wZXJhdGlv bmFsbHkgJ2Rvd24nIGZvcg0KICAgICB0aGUgY29ubmVjdGlvbiB0byBzdWNjZWVkLiBJbiBmYWN0 LCBhIGR5bmFtaWMgUE1FDQogICAgIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkgTUFZIGJlIGltcGxl bWVudGVkIHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZw0KICAgICBpbml0aWFsaXplZCBmaXJz dCAoYnkgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbg0KICAgICBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHBvcnQsIGJ5IG1vZGlmeWluZyBhIHJl c3BlY3RpdmUNCiAgICAgaWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZSBpZkludlN0YWNrVGFi bGUpIGVudHJ5Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQg YSByZW1vdmFsIG9mIHRoZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgICAgZnJvbSBh biBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHdvdWxkIGJlIHJlamVjdGVkIGJ5IHRoZQ0KICAgICBp bXBsZW1lbnRhdGlvbiwgYXMgdGhpcyBhY3Rpb24gd291bGQgY29tcGxldGVseSBkcm9wIHRoZSBs aW5rLg0KICAgIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPg0KPHRh YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZj LnNlY3Rpb24uMy4xLjQiPjwvYT48aDM+My4xLjQuJm5ic3A7DQpFRk1DdSBwb3J0cyBpbml0aWFs aXphdGlvbjwvaDM+DQoNCjxwPg0KICAgIEVGTUN1IHBvcnRzIGJlaW5nIGJ1aWx0IG9uIHRvcCBv ZiB4RFNMIHRlY2hub2xvZ3ksIHJlcXVpcmUgYQ0KICAgIGxlbmd0aHkgaW5pdGlhbGl6YXRpb24g b3IgJ3RyYWluaW5nJyBwcm9jZXNzLCBiZWZvcmUgYW55IGRhdGEgY2FuDQogICAgcGFzcy4gRHVy aW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdvcmsN CiAgICBjb29wZXJhdGl2ZWx5IHRvIGFjaGlldmUgcmVxdWlyZWQgZGF0YSByYXRlIG9uIGEgcGFy dGljdWxhciBjb3BwZXINCiAgICBwYWlyLiBTb21ldGltZXMsIHdoZW4gdGhlIGNvcHBlciBsaW5l IGlzIHRvbyBsb25nIG9yIHRoZSBub2lzZQ0KICAgIG9uIHRoZSBsaW5lIGlzIHRvbyBoaWdoLCB0 aGF0ICd0cmFpbmluZycgcHJvY2VzcyBtYXkgZmFpbA0KICAgIHRvIGFjaGlldmUgYSBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCiAgIA0KPC9wPg0K PHA+DQogICAgVGhlIGlmQWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJv bHMNCiAgICB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBhIFBDUyB3aXRoIGFsbCB0aGUgUE1FcyBjb25u ZWN0ZWQgdG8gaXQgb3Igb2YNCiAgICBhbiBpbmRpdmlkdWFsIFBNRSBwb3J0LiBTZXR0aW5nIHRo aXMgb2JqZWN0IHRvICd1cCcNCiAgICBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUg dG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2VzcywNCiAgICB3aGljaCBtYXkgdGFrZSB0ZW5z IG9mIHNlY29uZHMgZm9yIEVGTUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcw0KICAgIGlu dm9sdmVkLiBUaGUgaWZPcGVyU3RhdHVzIG9iamVjdCBzaG93cyB0aGUgb3BlcmF0aW9uYWwgc3Rh dGUgb2YgYW4NCiAgICBpbnRlcmZhY2UgKGV4dGVuZGVkIGJ5IGlmTWF1TWVkaWFBdmFpbGFibGUg b2JqZWN0IGZyb20gTUFVLU1JQiBmb3INCiAgICBQQ1MgYW5kIGVmbUN1UG1lT3BlclN0YXR1cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICAgbW9kdWxlIGZvciBQTUUgaW50ZXJmYWNlcyku DQogICANCjwvcD4NCjxwPg0KICAgIEEgZGlzY29ubmVjdGVkIFBNRSBtYXkgYmUgaW5pdGlhbGl6 ZWQgYnkgY2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZQ0KICAgIGZyb20gJ2Rvd24nIHRvICd1cCcu IENoYW5naW5nIHRoZSBpZkFkbWluU3RhdGUgdG8gJ3VwJyBvbiB0aGUNCiAgICBQQ1MgaW5pdGlh bGl6ZXMgYWxsIFBNRXMgY29ubmVjdGVkIHRvIHRoYXQgcGFydGljdWxhciBQQ1MuDQogICAgTm90 ZSB0aGF0IGluIGNhc2Ugb2YgUEFGIHNvbWUgaW50ZXJmYWNlcyBtYXkgZmFpbCB0byBpbml0aWFs aXplDQogICAgd2hpbGUgb3RoZXJzIHN1Y2NlZWQuIFRoZSBQQ1MgaXMgY29uc2lkZXJlZCBvcGVy YXRpb25hbGx5ICd1cCcgaWYgYXQNCiAgICBsZWFzdCBvbmUgUE1FIGFnZ3JlZ2F0ZWQgYnkgaXRz IFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuIFdoZW4gYWxsDQogICAgUE1FcyBjb25uZWN0ZWQg dG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJlZA0KICAgIG9w ZXJhdGlvbmFsbHkgJ2xvd2VyTGF5ZXJEb3duJy4gVGhlIFBDUyBTSEFMTCBiZSBjb25zaWRlcmVk DQogICAgb3BlcmF0aW9uYWxseSAnbm90UHJlc2VudCcgaWYgaXQgaXMgbm90IGNvbm5lY3RlZCB0 byBhbnkgUE1FLg0KICAgIFRoZSBQQ1MvUE1FIGludGVyZmFjZSBTSEFMTCByZW1haW4gb3BlcmF0 aW9uYWxseSAnZG93bicgZHVyaW5nDQogICAgaW5pdGlhbGl6YXRpb24uDQogICANCjwvcD4NCjxw Pg0KICAgIFRoZSBlZm1DdVBtZU9wZXJTdGF0dXMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUNCiAgICBleHBhbmRzIFBNRSdzIGlmT3BlclN0YXR1cw0KICAgIHZhbHVlIG9mICdkb3du JyB0byAnZG93blJlYWR5JywgJ2Rvd25Ob3RSZWFkeScgYW5kICdpbml0JyB2YWx1ZXMsDQogICAg aW5kaWNhdGluZyB2YXJpb3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQogICANCjwvcD4N CjxhIG5hbWU9ImFuY2hvcjkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249 InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZu YnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuMS41Ij48 L2E+PGgzPjMuMS41LiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTwvaDM+DQoNCjxwPg0KICAgIEJv dGggUE1FIGFuZCBQQ1MgaW50ZXJmYWNlcyBvZiB0aGUgRUZNQ3UgUEhZIGFyZSBtYW5hZ2VkIHVz aW5nDQogICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZpbmVkIGlu IHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhbmQNCiAgICBnZW5lcmljIGludGVyZmFjZSBvYmplY3Rz IGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoIGFsbA0KICAgIG1hbmFnZW1lbnQgdGFi bGUgZW50cmllcyByZWZlcmVuY2VkIGJ5IHRoZSBpbnRlcmZhY2UgaW5kZXggaWZJbmRleC4NCiAg IA0KPC9wPg0KPHA+DQogICAgVGhlIGZvbGxvd2luZyB0YWJsZSBzdW1tYXJpemVzIEVGTUN1IHNw ZWNpZmljIGludGVycHJldGF0aW9ucyBmb3INCiAgICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVj dHMgc3BlY2lmaWVkIGluIHRoZSBtYW5kYXRvcnkNCiAgICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdy b3VwOg0KICAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJpbnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJs ZTEiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFs aWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQiPklGLU1JQiBvYmplY3Q8L3RoPjx0aCBh bGlnbj0ibGVmdCI+RUZNQ3UgaW50ZXJwcmV0YXRpb248L3RoPjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmlmSW5kZXg8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5JbnRlcmZhY2UgaW5kZXgu IE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQgZWFjaCBQQ1MNCiAgICAgICAgICAgICAgICAgICAgIGlu IHRoZSBFRk1DdSBQSFkgTVVTVCBoYXZlIGEgdW5pcXVlIGluZGV4LCBhcw0KICAgICAgICAgICAg ICAgICAgICAgdGhlcmUgYXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcw0K ICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJsZSBvbmx5IG9uIHRoZSBQQ1Mgb3IgUE1FIGxl dmVsLjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZlR5cGU8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5ldGhlcm5ldENzbWFjZCg2KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvcg0K ICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMg UE1FPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmU3BlZWQ8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5PcGVyYXRpbmcgZGF0YSByYXRlIGZvciB0aGUgUE1FLiBGb3IgdGhlIFBD UyBpdA0KICAgICBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVz IG9mIGFsbCBQTUVzIGluIHRoZQ0KICAgICBhZ2dyZWdhdGlvbiBncm91cCwgd2l0aG91dCB0aGUg NjQvNjVCIGVuY2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kDQogICAgIFBBRiBvdmVyaGVhZCwgYnV0 IGFjY291bnRpbmcgZm9yIHRoZSBJbnRlci1GcmFtZSBHYXBzIChJRkcpPC90ZD4NCjwvdHI+DQo8 dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmQWRtaW5TdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5TZXR0aW5nIHRoaXMgb2JqZWN0IHRvICd1cCcgaW5zdHJ1Y3RzIGENCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcnRpY3VsYXIgUENTICh3aXRoIGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQpIG9yIFBNRSB0byBzdGFydCBpbml0aWFsaXph dGlvbiBwcm9jZXNzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmT3BlclN0 YXR1czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lT3BlclN0YXR1cyBzdXBwbGVtZW50 cyB0aGUgJ2Rvd24nIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGlmT3BlclN0 YXR1cyBmb3IgUE1Fcy48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFibGUgYm9yZGVyPSIwIiBj ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYWxp Z249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXplPSIxIj48 Yj4mbmJzcDtUYWJsZSAxOiBFRk1DdSBpbnRlcnByZXRhdGlvbiBvZiBJRi1NSUIgb2JqZWN0cyZu YnNwOzwvYj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIGNsYXNzPSJpbnNlcnQi IC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEwIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjIiPjwvYT48aDM+My4yLiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wgTUlCIG1vZHVsZTwvaDM+ DQoNCjxwPg0KICAgIEcuU0hEU0wuYmlzIG1vZGVtcywgc2ltaWxhciB0byBQTUUocykgY29tcHJp c2luZyBhIDJCQVNFLVRMIHBvcnQsIGFyZQ0KICAgIGRlc2NyaWJlZCBpbiBIRFNMMi1TSERTTC1M SU5FLU1JQg0KICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDNDMxOSc+W1JGQzQzMTldPHNw YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIu IEFiYmksICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0 LVJhdGUgRFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1T cGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzLCZyZHF1bzsgRGVjZW1i ZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogICAgTm90ZSB0aGF0IG5v dCBhbGwgYXR0cmlidXRlcyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4NCiAgICBIRFNM Mi1TSERTTC1MSU5FLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3kgKGUuZy4gcHJlZml4aW5nIHRoZSAyQkFTRS1UTCBQTUUg cmVsYXRlZCBvYmplY3RzDQogICAgd2l0aCAnZWZtQ3VQbWUyQicgaW5zdGVhZCBvZiAnaGRzbDJz aGRzbCcpLCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNlDQogICAgSERTTDItU0hEU0wt TElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9iamVjdHMNCiAg ICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4NCjxwPg0KICAgIEhvd2V2ZXIs IGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBieSB0aGUgUE1FLCBlLmcuIHBl cmZvcm1hbmNlIG1vbml0b3JpbmcsDQogICAgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIg Z3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQgYXBwbGllZA0KICAgIGZvciBQTUVzIG9mIDJCQVNF LVRMIHN1YnR5cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjExIj48L2E+PGJyIC8+PGhy IC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9 IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48 YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu YW1lPSJyZmMuc2VjdGlvbi4zLjMiPjwvYT48aDM+My4zLiZuYnNwOw0KUmVsYXRpb24gdG8gVkRT TCBNSUIgbW9kdWxlPC9oMz4NCg0KPHA+DQogICAgVkRTTCBtb2RlbXMsIHNpbWlsYXIgdG8gdGhl IFBNRShzKSBjb21wcmlzaW5nIGEgMTBQQVNTLVRTIHBvcnQsDQogICAgYXJlIGRlc2NyaWJlZCBp biBWRFNMLUxJTkUtRVhULU1DTS1NSUINCiAgICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzQw NzAnPltSRkM0MDcwXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5Eb2RnZSwgTS4g YW5kIEIuIFJheSwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0IEV4dGVuc2lv bnMgZm9yIFZlcnkgSGlnaCBTcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZXMgKFZEU0wpIFVz aW5nIE11bHRpcGxlIENhcnJpZXIgTW9kdWxhdGlvbiAoTUNNKSBMaW5lIENvZGluZywmcmRxdW87 IE1heSZuYnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgICBOb3RlIHRoYXQg bm90IGFsbCBhdHRyaWJ1dGVzIG9mIFZEU0wgbW9kZW1zIHJlZmxlY3RlZCBpbg0KICAgIFZEU0wt TElORS1FWFQtTUNNLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3ksIGl0IHdhcyBkZWNpZGVkIG5vdCB0byByZWZlcmVuY2UN CiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJl bGV2YW50IG9iamVjdHMNCiAgICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4N CjxwPg0KICAgIEhvd2V2ZXIsIGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBi eSB0aGUgUE1FLA0KICAgIHJlbGV2YW50IFZEU0wtTElORS1FWFQtTUNNLU1JQiBncm91cHMgTUFZ IGJlIGluY2x1ZGVkIGFuZCBhcHBsaWVkDQogICAgZm9yIFBNRXMgb2YgMTBQQVNTLVRTIHN1YnR5 cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFi bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz PSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIj dG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMu c2VjdGlvbi4zLjQiPjwvYT48aDM+My40LiZuYnNwOw0KUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlr ZSBhbmQgTUFVIE1JQiBtb2R1bGVzPC9oMz4NCg0KPHA+DQogICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMzNjM1Jz5bUkZDMzYz NV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+RmxpY2ssIEouLCAmbGRxdW87RGVm aW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZh Y2UgVHlwZXMsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4NCiAgICBhbmQgTUFVLU1JQiA8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1 Ym1pYi1yZmMzNjM2YmlzJz5bSSYjODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2 MzZiaXNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVv O0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAg ICAgICAgICAgIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpcw0KICAgIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3Ug aW50ZXJmYWNlcy4NCiAgIA0KPC9wPg0KPHA+DQogICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVU eXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3QzTWF1VHlwZSkNCiAgICBhbmQgY29ycmVzcG9u ZGluZyBiaXQgZGVmaW5pdGlvbnMgb2YgaWZNYXVUeXBlTGlzdEJpdHMNCiAgICAoSUFOQWlmTWF1 VHlwZUxpc3RCaXRzKSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgSUFOQS1NQVUtTUlCDQogICAg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4gZm9yIHRoZSBFRk1DdSBNQVVzOg0KDQogICAgIDwvcD4NCjx1bCBjbGFzcz0idGV4dCI+DQo8 bGk+ZG90M01hdVR5cGUyQmFzZVRMIGFuZCBiMkJhc2VUTCAtIGZvciAyQkFTRS1UTCBNQVUNCjwv bGk+DQo8bGk+ZG90M01hdVR5cGUxMFBhc3NUUyBhbmQgYjEwUGFzc1RTIC0gZm9yIDEwUEFTUy1U UyBNQVUNCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAgICBBZGRpdGlvbmFsbHkg SUFOQS1NQVUtTUlCIGRlZmluZXMgdHdvIG5ldyB2YWx1ZXMgb2YNCiAgICBpZk1hdU1lZGlhQXZh aWxhYmxlLCBhcyBhIHRleHR1YWwgY29udmVudGlvbg0KICAgIElBTkFpZk1hdU1lZGlhQXZhaWxh YmxlIC0gYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHksDQogICAgc3BlY2lmaWNhbGx5IGZvciB0 aGUgRUZNQ3UgcG9ydHMuDQogICAgRHVlIHRvIHRoZSBQTUUgYWdncmVnYXRpb24sIHRoZSBFRk1D dSBpbnRlcnByZXRhdGlvbiBvZiBzb21lDQogICAgcG9zc2libGUgaWZNYXVNZWRpYUF2YWlsYWJs ZSB2YWx1ZXMgZGlmZmVycyBmcm9tIG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgICA8L3A+ DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPnVua25vd24gLSB0aGUgRUZNQ3UgaW50ZXJmYWNlIChQ Q1Mgd2l0aCBjb25uZWN0ZWQgUE1FcykgaXMgaW5pdGlhbGl6aW5nDQo8L2xpPg0KPGxpPnJlYWR5 IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGluIHRoZQ0KICAgICAg ICAgYWdncmVnYXRpb24gZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0KICAgICAgICAgdGhl IFBDUykgaXMgcmVhZHkgZm9yIGhhbmRzaGFrZQ0KPC9saT4NCjxsaT5hdmFpbGFibGUgLSB0aGUg aW50ZXJmYWNlIGlzIHVwLCBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24NCiAgICAgICAgIGdy b3VwIGFyZSB1cA0KPC9saT4NCjxsaT5ub3RBdmFpbGFibGUgLSB0aGUgaW50ZXJmYWNlIGlzIGRv d24sIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgICAgZ3JvdXAgYXJlIGRvd24s IG5vIGhhbmRzaGFrZSB0b25lcyBhcmUgZGV0ZWN0ZWQgYnkgYW55IFBNRQ0KPC9saT4NCjxsaT5h dmFpbGFibGVSZWR1Y2VkIC0gdGhlIGludGVyZmFjZSBpcyB1cCwgYSBsaW5rIGZhdWx0IGlzDQog ICAgICAgICBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJlY3Rpb24gYnkgb25lIG9yIG1vcmUg UE1FcyBpbiB0aGUNCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCBidXQgYXQgbGVhc3Qgb25l IFBNRSBpcyB1cA0KPC9saT4NCjxsaT5wbWRMaW5rRmF1bHQgLSBhIGxpbmsgZmF1bHQgaXMgZGV0 ZWN0ZWQgYXQgdGhlIHJlY2VpdmUNCiAgICAgICAgIGRpcmVjdGlvbiBieSBhbGwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAg ICBBcyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkN CiAgICByZXByZXNlbnRpbmcgYSBjb25zb2xpZGF0aW9uIG9mIExMQywgTUFDIGFuZCBQQ1MgKHN1 YilsYXllcnMpDQogICAgU0hBTEwgcmV0dXJuIGFuIGlmVHlwZSBvZiBldGhlcm5ldENzbWFjZCg2 KS4NCiAgICBXaGlsZSBtb3N0IG9mIHRoZSBNQVUgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3QgYXBw bGljYWJsZSB0byB0aGUgRUZNQ3UNCiAgICBwb3J0cyAobm8gYXV0by1uZWdvdGlhdGlvbiwgZmFs c2UgY2FycmllcnMgb3IgamFiYmVyKSwNCiAgICB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3By aWF0ZSBpZk1hdVR5cGUgKGRvdDNNYXVUeXBlMkJhc2VUTCBvcg0KICAgIGRvdDNtYXVUeXBlMTBQ YXNzVFMpIGluIG9yZGVyIHRvIGRpcmVjdCB0aGUgbWFuYWdlbWVudCBzb2Z0d2FyZQ0KICAgIHRv IGxvb2sgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGZvciB0aGUgZGVzaXJlZCBpbmZvcm1hdGlv bi4gRm9yIGV4YW1wbGUNCiAgICB0aGUgaW5mb3JtYXRpb24gb24gdGhlIHBhcnRpY3VsYXIgRUZN Q3UgZmxhdm9yIHRoYXQgYW4gRUZNQ3UgcG9ydA0KICAgIGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxl IGZyb20gZWZtQ3VPcGVyU3ViVHlwZSwgZGVmaW5lZCBpbiB0aGUNCiAgICBFRk0tQ1UtTUlCIG1v ZHVsZS4NCiAgIA0KPC9wPg0KPHA+DQogICAgU2luY2UgRUZNQ3UgUE1FcyBhcmUgbm90IEV0aGVy TGlrZSBpbnRlcmZhY2VzLCB0aGV5IGNhbm5vdCBiZQ0KICAgIGluc3RhbnRpYXRlZCBhcyBNQVUg aW50ZXJmYWNlIG9iamVjdHMuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEzIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi40Ij48L2E+PGgzPjQuJm5ic3A7DQpNSUIgU3RydWN0dXJl PC9oMz4NCg0KPGEgbmFtZT0iYW5jaG9yMTQiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1t YXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1 ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZu YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9u LjQuMSI+PC9hPjxoMz40LjEuJm5ic3A7DQpFRk0gQ29wcGVyIE1JQiBPdmVydmlldzwvaDM+DQoN CjxwPg0KICAgVGhlIG1haW4gbWFuYWdlbWVudCBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1D VS1NSUIgbW9kdWxlIGFyZSBzcGxpdCBpbnRvIDINCiAgIGdyb3VwczoNCiAgIDwvcD4NCjx1bCBj bGFzcz0idGV4dCI+DQo8bGk+ZWZtQ3VQb3J0IC0gY29udGFpbmluZyBvYmplY3RzIGZvciBjb25m aWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFuZCBub3RpZmljYXRpb25zLCBj b21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQo8L2xpPg0KPGxpPmVmbUN1UG1lIC0gY29udGFpbmlu ZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFu ZCBub3RpZmljYXRpb25zIG9mIEVGTUN1IFBNRXMuDQo8L2xpPg0KPC91bD48cD4NCiAgDQo8L3A+ DQo8cD4NCiAgIFRoZSBlZm1DdVBtZSBncm91cCBpbiB0dXJuIGNvbnRhaW5zIGVmbUN1UG1lMkIg YW5kIGVmbUN1UG1lMTBQDQogICBncm91cHMsIHdoaWNoIGRlZmluZSBQTUUgUHJvZmlsZXMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgYW5kDQogICAxMFBBU1MtVFMgUE1FcyByZXNwZWN0aXZlbHksIGFz IHdlbGwgYXMgUE1FIHNwZWNpZmljIHN0YXR1cyBpbmZvcm1hdGlvbi4NCiAgDQo8L3A+DQo8YSBu YW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7 PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC4yIj48L2E+PGgz PjQuMi4mbmJzcDsNCkludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVydmlldzwvaDM+ DQoNCjxwPg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIgdGFibGVz Og0KICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5pZkNhcFN0YWNrVGFibGUgLSBjb250 YWluaW5nIG9iamVjdHMgdGhhdCBkZWZpbmUgcG9zc2libGUNCiAgICAgICByZWxhdGlvbnNoaXBz IGFtb25nIHRoZSBzdWItbGF5ZXJzIG9mIGFuIGludGVyZmFjZSB3aXRoDQogICAgICAgZmxleGli bGUgY3Jvc3MtY29ubmVjdCAoY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5KS4NCjwvbGk+DQo8bGk+ aWZJbnZDYXBTdGFja1RhYmxlIC0gYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBzdGFja1RhYmxlLg0K PC9saT4NCjwvdWw+PHA+DQogIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTYiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjQuMyI+PC9hPjxoMz40LjMuJm5ic3A7DQpQTUUgUHJvZmlsZXM8 L2gzPg0KDQo8cD4NCiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVt YmVyIG9mIEVGTUN1IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2 ZXJ5IEVGTUN1IFBIWSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiBNb3Jlb3ZlciwgbW9zdCBQ TUVzIGFyZSBwcm92aXNpb25lZCBpZGVudGljYWxseQ0KICAgd2l0aCB0aGUgc2FtZSBzZXQgb2Yg cGFyYW1ldGVycy4gIFRvIHNpbXBsaWZ5IHRoZSBwcm92aXNpb25pbmcNCiAgIHByb2Nlc3MsIHRo ZSBFRk0tQ1UtTUlCIG1vZHVsZSBtYWtlcyB1c2Ugb2YgY29uZmlndXJhdGlvbiBwcm9maWxlcywg c2ltaWxhcg0KICAgdG8gSERTTDItU0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNN LU1JQi4gQSBwcm9maWxlIGlzIGENCiAgIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBm b3IgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbg0KICAgb2YgYSBQTUUuIFRoZSBzYW1l IHByb2ZpbGUgY2FuIGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsDQogICB1c2luZyB0 aGUgc2FtZSBjb25maWd1cmF0aW9uLg0KICANCjwvcD4NCjxwPg0KICAgVGhlIFBNRSBwcm9maWxl cyBhcmUgZGVmaW5lZCBpbg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBhbmQgZWZtQ3VQbWUx MFBQcm9maWxlVGFibGUgZm9yDQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMgcmVzcGVj dGl2ZWx5LiBUaGVyZSBhcmUgMTIgcHJlZGVmaW5lZA0KICAgc3RhbmRhcmQgcHJvZmlsZXMgZm9y IDJCQVNFLVRMIGFuZCAyMiBzdGFuZGFyZCBwcm9maWxlcyBmb3INCiAgIDEwUEFTUy1UUywgZGVm aW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yIHJhcGlkIHByb3Zpc2lvbmluZw0KICAg b2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gSW4gYWRkaXRpb24gdGhlIEVGTS1DVS1N SUIgZGVmaW5lcyB0d28NCiAgIGFkZGl0aW9uYWwgcHJlZGVmaW5lZCBwcm9maWxlcyBmb3IgImJl c3QtZWZmb3J0IiBwcm92aXNpb25pbmcgb2YNCiAgIDJCQVNFLVRMIFBNRXMuDQogICBBbiBhYmls aXR5IHRvIGRlZmluZSBuZXcgY29uZmlndXJhdGlvbiBwcm9maWxlcyBpcyBhbHNvIHByb3ZpZGVk IHRvIA0KICAgYWxsb3cgZm9yIEVGTUN1IGRlcGxveW1lbnQgdGFpbG9yZWQgdG8gc3BlY2lmaWMg Y29wcGVyIGVudmlyb25tZW50IGFuZCANCiAgIHNwZWN0cmFsIHJlZ3VsYXRpb25zLg0KICANCjwv cD4NCjxwPg0KICAgQSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9yIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUgaXMgYXNzaWduZWQgdG8gYQ0KICAgc3BlY2lmaWMgUE1FIHZpYSBlZm1DdVBtZUFkbWlu UHJvZmlsZSBvYmplY3QuIElmIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQogICBpcyB6ZXJvLCB0aGVu IGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUgUENTIHBvcnQsIGNvbm5lY3RlZCB0byB0 aGUNCiAgIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlIChvciBhIGxp c3Qgb2YgcG9zc2libGUNCiAgIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuIFRoaXMgbWVjaGFuaXNt IGFsbG93cyB0byBzcGVjaWZ5IGEgY29tbW9uDQogICBwcm9maWxlKHMpIGZvciBhbGwgUE1FcyBj b25uZWN0ZWQgdG8gdGhlIFBDUyBwb3J0LCB3aXRoIGFuIGFiaWxpdHkNCiAgIHRvIGNoYW5nZSBp bmRpdmlkdWFsIFBNRSBwcm9maWxlcyBieSBzZXR0aW5nIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQog ICBvYmplY3QsIHdoaWNoIG92ZXJ3cml0ZXMgdGhlIHByb2ZpbGUgc2V0IGJ5IGVmbUN1QWRtaW5Q cm9maWxlLg0KICANCjwvcD4NCjxwPg0KICAgQSBjdXJyZW50IG9wZXJhdGluZyBQTUUgcHJvZmls ZSBpcyBwb2ludGVkIHRvIGJ5IGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0Lg0KICAgTm90ZSB0 aGF0IHRoaXMgcHJvZmlsZSBlbnRyeSwgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwgdG8g cmVmbGVjdA0KICAgYWNoaWV2ZWQgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBp bml0aWFsaXphdGlvbi4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxNyI+PC9hPjxiciAvPjxo ciAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+ PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg bmFtZT0icmZjLnNlY3Rpb24uNC40Ij48L2E+PGgzPjQuNC4mbmJzcDsNCk1hcHBpbmcgb2YgSUVF RSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czwvaDM+DQoNCjxwPg0KICAgVGhpcyBzZWN0aW9uIGNv bnRhaW5zIHRoZSBtYXBwaW5nIGJldHdlZW4gcmVsZXZhbnQgbWFuYWdlZCBvYmplY3RzDQogICAo YXR0cmlidXRlcykgZGVmaW5lZCBpbiA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4 MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVF RSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAg ICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lm aWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUg QWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01BL0NEKSBBY2Nlc3Mg TWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRt ZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExh eWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3 b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9h PiBDbGF1c2UgMzAsIGFuZCBtYW5hZ2VkDQogICBvYmplY3RzIGRlZmluZWQgaW4gdGhpcyBkb2N1 bWVudCBhbmQgaW4gYXNzb2NpYXRlZCBNSUIgbW9kdWxlcywNCiAgIGkuZS4sIHRoZSBJRi1NSUIg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48 c3BhbiBjbGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1 bztUaGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+ PHNwYW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTm90ZSB0aGF0IG1ham9yaXR5 IG9mIHRoZSBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlDQogICBkbyBu b3QgaGF2ZSBkaXJlY3QgY291bnRlcnBhcnRzIGluIENsYXVzZSAzMCBhbmQgaW5zdGVhZCByZWZl ciB0byBDbGF1c2UgNDUNCiAgIHJlZ2lzdGVycy4NCiAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJp bnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJsZTIiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGln bj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8 Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQi PklFRUUgODAyLjMgTWFuYWdlZCBPYmplY3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+Q29ycmVzcG9u ZGluZyBTTk1QIE9iamVjdDwvdGg+PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b01BVSAt IEJhc2ljIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU1BVVR5cGU8L3RkPg0KPHRkIGFs aWduPSJsZWZ0Ij5pZk1hdVR5cGUgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmFNQVVUeXBlTGlzdDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmTWF1VHlwZUxp c3RCaXRzIChNQVUtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hTWVk aWFBdmFpbGFibGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZk1lZGlhQXZhaWxhYmxlIChNQVUt TUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5vUEFGIC0gQmFzaWMgUGFj a2FnZSAoTWFuZGF0b3J5KTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3Ry Pg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGSUQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5p ZkluZGV4IChJRi1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQaHlF bmQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBoeVNpZGU8L3RkPg0KPC90cj4NCjx0cj4N Cjx0ZCBhbGlnbj0ibGVmdCI+YVBIWUN1cnJlbnRTdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVN0YXR1czwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGU3Vw cG9ydGVkPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQQUZTdXBwb3J0ZWQ8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdl IChPcHRpb25hbCk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0 cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBBRkFkbWluU3RhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVBBRkFkbWluU3RhdGU8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+ YUxvY2FsUEFGQ2FwYWNpdHk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBBRkNhcGFjaXR5 PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFMb2NhbFBNRUF2YWlsYWJsZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmQ2FwU3RhY2tUYWJsZTwvdGQ+DQo8L3RyPg0KPHRyPg0K PHRkIGFsaWduPSJsZWZ0Ij5hTG9jYWxQTUVBZ2dyZWdhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5pZlN0YWNrVGFibGUgKElGLU1JQik8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVm dCI+YVJlbW90ZVBBRlN1cHBvcnRlZDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3Rl UEFGU3VwcG9ydGVkPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFSZW1vdGVQ QUZDYXBhY2l0eTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3RlUEFGQ2FwYWNpdHk8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVJlbW90ZVBNRUFnZ3JlZ2F0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWdu PSJsZWZ0Ij5vUE1FIC0gMTBQLzJCIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUlE PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZJbmRleCAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRy Pg0KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FQWRtaW5TdGF0ZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQi PmlmQWRtaW5TdGF0ZSAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0 Ij5hUE1FU3RhdHVzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVTdGF0dXM8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRVNOUk1nbjwvdGQ+DQo8dGQgYWxpZ249 ImxlZnQiPmVmbUN1UG1lU25yTWduPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQi PmFUQ0NvZGluZ1Zpb2xhdGlvbnM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZVRDQ29k aW5nRXJyb3JzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFUQ0NSQ0Vycm9y czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lVENDcmNFcnJvcnM8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVByb2ZpbGVTZWxlY3Q8L3RkPg0KPHRkIGFsaWduPSJs ZWZ0Ij5lZm1DdUFkbWluUHJvZmlsZSwgZWZtQ3VQbWVBZG1pblByb2ZpbGU8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU9wZXJhdGluZ1Byb2ZpbGU8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij5lZm1DdVBtZU9wZXJQcm9maWxlPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249 ImxlZnQiPmFQTUVGRUNDb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1D dVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrczwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJs ZWZ0Ij5hUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrczwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVm bUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFi bGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50 ZXIiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNl cmlmIiBzaXplPSIxIj48Yj4mbmJzcDtUYWJsZSAyOiBNYXBwaW5nIG9mIElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3RzJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIg Y2xhc3M9Imluc2VydCIgLz4NCg0KPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjUiPjwvYT48aDM+NS4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmls aXR5IE1JQiBEZWZpbml0aW9uczwvaDM+DQo8ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCklGLUNB UC1TVEFDSy1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVM RS1JREVOVElUWSwgT0JKRUNULVRZUEUsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAg ICAgICAtLSBSRkMgMjU3OA0KICAgIFRydXRoVmFsdWUNCiAgICAgIEZST00gU05NUHYyLVRDICAg ICAgICAgIC0tIFJGQyAyNTc5DQogICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUA0K ICAgICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODANCiAgICBpZlN0YWNrR3Jv dXAyLCBpZlN0YWNrSGlnaGVyTGF5ZXIsIGlmU3RhY2tMb3dlckxheWVyDQogICAgICBGUk9NIElG LU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2Mw0KICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAg RlJPTSBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQNCiAgICA7DQoNCiAgaWZDYXBT dGFja01JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAwMFoi ICAtLSBGZWJydWFyeSAyMSwgMjAwNw0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJ bnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1JTkZPDQog ICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0 ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAgICAgICAg R2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vic2NyaWJl OiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91 cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBXaWpuZW4NCiAgICAgIFBvc3Rh bDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdlbiAzMw0KICAgICAgICAgICAg ICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMNCiAgICAgICAg IFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNl bnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6IEFjdGVs aXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3 Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAgSXNyYWVs DQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6IGVkd2Fy ZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhlIG9iamVj dHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBjcm9zcy1j b25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2VzLA0KICAg ICAgY29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVk IGluDQogICAgICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0aXZlbHku DQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJz aW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0 aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgREVTQ1JJ UFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAgICAg LS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIgJmFtcDsN CiAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0KICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAg ICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAg ICAgIC0tIGFsbG9jYXRlZCAmYW1wOyByZW1vdmUgdGhpcyBub3RlLg0KDQogICAtLSBTZWN0aW9u cyBvZiB0aGUgbW9kdWxlDQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0 MTgxLCBzZWUNCiAgIC0tIEFwcGVuZGl4IEQ6IFN1Z2dlc3RlZCBPSUQgTGF5b3V0DQoNCiAgIGlm Q2FwU3RhY2tPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlC IDEgfQ0KDQogICBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg aWZDYXBTdGFja01JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0N CiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50 cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVy IGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwNCiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBv biB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicNCiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4g dGhlIG11bHRpcGxlIHN1Yi1sYXllcnMgb2YgbmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFz IG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZT dGFja1RhYmxlKS4gSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAg ICAgICB3aGljaCBzdWItbGF5ZXJzIE1BWSBwb3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2gg b3RoZXINCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiB0aGUNCiAgICAgICBkZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNv cnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCByb3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9y IGV4YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4 IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAg ICAgICBpZkluZGV4IHZhbHVlIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAgaWZDYXBTdGFja1N0YXR1cy54 Lnkgcm93IGRvZXMgbm90IGV4aXN0IGlmIGl0IGlzIGltcG9zc2libGUNCiAgICAgICB0byBjb25u ZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4NCg0KICAgICAgIE5vdGUgdGhhdCBm b3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUuZy4gMkJBU0UtVEwpDQogICAgICAgdGhlcmUn cyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4gUENTDQog ICAgICAgcG9ydCkgZm9yIGVhY2ggbG93ZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBNRSkgYW5k IGF0DQogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVsIGludGVyZmFjZSBmb3IgZWFjaCBoaWdo ZXItbGV2ZWwNCiAgICAgICBpbnRlcmZhY2UsIHRoYXQgaXMsIHRoZXJlIGlzIGF0IGxlYXN0IGEg c2luZ2xlIHJvdyB3aXRoIGENCiAgICAgICAndHJ1ZScgc3RhdHVzIGZvciBhbnkgZXhpc3Rpbmcg dmFsdWUgb2YgeCBvciB5Lg0KDQogICAgICAgVGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQg ZGVzY3JpYmVzIGRldmljZSBjYXBhYmlsaXR5Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiSUYt TUlCLCBpZlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQ0KDQog ICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElmQ2FwU3Rh Y2tFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFy dGljdWxhciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28NCiAgICAgICBzdWItbGF5ZXJzLCBzcGVj aWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuDQogICAgICAgb24gJ3Rv cCcgb2YgdGhlIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMNCiAg ICAgICB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlIChpbnRlcmZhY2UgaW5kZXgg Zm9yDQogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4iDQogICAg IElOREVYIHsNCiAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgaWZTdGFja0xvd2Vy TGF5ZXINCiAgICAgfQ0KICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgIElmQ2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICBpZkNhcFN0YWNrU3RhdHVzICAgICAg IFRydXRoVmFsdWUNCiAgICAgIH0NCg0KICAgaWZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUg c3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAg ICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUg cmV0dXJuZWQ6DQogICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUg c3ViLWxheWVyIGludGVyZmFjZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZp ZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmUgY29ubmVjdGVkIHRvIHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgIGZhbHNl KDIpICAgICAgICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUu Zy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxl IG1vZHVsZS4NCg0KICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2UgYXZhaWxh YmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgIG90aGVyIHBhcmFtZXRlcnMs IGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0KICAgICAgIGEgaGln aGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGluDQog ICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXIt bGF5ZXINCiAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IGEgcGFydGlj dWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgYmUgY29ubmVjdGVkIHRvIGFub3RoZXIgc3ViLWxh eWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxl LCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkgZm9yDQogICAgICAgZm9yIEVGTUN1 IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3BlY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMsIGFzIGl0DQogICAgICAgZGVzY3JpYmVz IGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5 IDEgfQ0KDQogICBpZkludkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgICAgU0VRVUVOQ0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXllcnMg b2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIg aWZJbnZTdGFja1RhYmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBN SUIgbW9kdWxlLg0KICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5m b3JtYXRpb24gb24gd2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgn IHdoaWNoIG90aGVyIHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3Ig ZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0K ICAgICAgIGNvbm5lY3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJ bmRleCB2YWx1ZQ0KICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMueC55PXRydWUNCg0KICAgICAgIFRoaXMgdGFibGUgY29u dGFpbnMgZXhhY3RseSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGUNCiAgICAgICBpZkNh cFN0YWNrVGFibGUsIGJ1dCB0aGUgcm93cyBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgb3JkZXIuDQoN CiAgICAgICBUaGlzIHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgYSBjcm9zcy1j b25uZWN0DQogICAgICAgY2FwYWJpbGl0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiSUYt SU5WRVJURUQtU1RBQ0stTUlCLCBpZkludlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3Rh Y2tPYmplY3RzIDIgfQ0KDQogICBpZkludkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgICAgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdl ZW4gdHdvIHN1Yi0NCiAgICAgICAgbGF5ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXll ciBNQVkgcnVuIHVuZGVybmVhdGggdGhlDQogICAgICAgIG90aGVyIHN1Yi1sYXllci4gRWFjaCBz dWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAgICAgIHJvdyBpbiB0aGUg aWZUYWJsZS4iDQogICAgIElOREVYIHsgaWZTdGFja0xvd2VyTGF5ZXIsIGlmU3RhY2tIaWdoZXJM YXllciB9DQogICAgIDo6PSB7IGlmSW52Q2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgIElmSW52Q2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgICAg ICBUcnV0aFZhbHVlDQogICAgfQ0KDQogICBpZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgICAgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSBwb3NzaWJsZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmls aXR5Jw0KICAgICAgICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4NCg0KICAg ICAgICBBbiBpbnN0YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ug b2YgdGhlDQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2JqZWN0LCBhbmQgdmljZSB2ZXJzYS4g Rm9yIGV4YW1wbGUsIGlmIHRoZQ0KICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3RhdHVzLkgu TCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlDQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5I IG11c3QgYWxzbyBleGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbg0KICAgICAgICBhZGRpdGlvbiwg dGhlIHR3byB2YXJpYWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNhbWUgdmFsdWUuDQoNCiAgICAgICAg VGhlIGlmSW52U3RhY2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVz DQogICAgICAgIGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgICJpZkNhcFN0YWNrU3RhdHVzIg0KICAgICA6Oj0geyBpZkludkNhcFN0YWNrRW50cnkg MSB9DQoNCiAgLS0NCiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBpZkNh cFN0YWNrR3JvdXBzICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBT dGFja0NvbmZvcm1hbmNlIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgT0JKRUNUIElE RU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQ0KDQogICAt LSBVbml0cyBvZiBDb25mb3JtYW5jZQ0KDQogICBpZkNhcFN0YWNrR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsDQogICAgICAgaWZJbnZD YXBTdGFja1N0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRp b24gb24gdGhlDQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVy IChzdGFja2VkKSBuZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcy4iDQogICAgIDo6PSB7IGlmQ2Fw U3RhY2tHcm91cHMgMSB9DQoNCg0KICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgaWZD YXBTdGFja0NvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQg Zm9yIFNOTVAgZW50aXRpZXMsIHdoaWNoIHByb3ZpZGUNCiAgICAgICBpbmZvcm1hdGlvbiBvbiB0 aGUgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyDQogICAgICAgKHN0YWNr ZWQpIG5ldHdvcmsgaW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0DQogICAg ICAgYmV0d2VlbiB0aGUgc3ViLWxheWVycy4iDQoNCg0KICAgICBNT0RVTEUgIC0tIHRoaXMgbW9k dWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkNhcFN0YWNrR3JvdXAN CiAgICAgICB9DQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9y DQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNl cy4iDQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZ TlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQog ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAg ICAgIGlmU3RhY2tHcm91cDINCiAgICAgICB9DQoNCiAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1T VEFDSy1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGlmSW52U3RhY2tH cm91cA0KICAgICAgIH0NCg0KICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQpF TkQNCjwvcHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9yMTkiPjwvYT48YnIgLz48aHIgLz4NCjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9 IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm Yy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDsNCkVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25z PC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6 IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6 Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwg Tk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICBVbnNpZ25lZDMyLCBDb3VudGVyMzIs IG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OA0KICAgIFRF WFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlzQWRkcmVzcw0KICAg ICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICBNT0RVTEUtQ09NUExJ QU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVANCiAgICAgIEZST00gU05NUHYy LUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgU25tcEFkbWluU3RyaW5nDQogICAgICBGUk9N IFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQ0KICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAg ICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJGQyAyODYzDQogICAgOw0KDQogIGVmbUN1 TUlCIE1PRFVMRS1JREVOVElUWQ0KICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IEludGVy ZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICBDT05UQUNULUlORk8NCiAgICAg ICJXRyBjaGFydGVyOg0KICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRlcnMv aHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICBNYWlsaW5nIExpc3RzOg0KICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAgICBUbyBTdWJzY3JpYmU6IGh1 Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2Vt YWlsX2FkZHJlc3MNCg0KICAgICAgQ2hhaXI6ICBCZXJ0IFdpam5lbg0KICAgICAgUG9zdGFsOiBB bGNhdGVsLUx1Y2VudA0KICAgICAgICAgICAgICBTY2hhZ2VuIDMzDQogICAgICAgICAgICAgIDM0 NjEgR0wgTGluc2Nob3Rlbg0KICAgICAgICAgICAgICBOZXRoZXJsYW5kcw0KICAgICAgICAgVGVs OiArMzEtMzQ4LTQwNy03NzUNCiAgICAgIEUtbWFpbDogYndpam5lbkBhbGNhdGVsLWx1Y2VudC5j b20NCg0KICAgICAgRWRpdG9yOiBFZHdhcmQgQmVpbGkNCiAgICAgIFBvc3RhbDogQWN0ZWxpcyBO ZXR3b3JrcyBJbmMuDQogICAgICAgICAgICAgIDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczDQog ICAgICAgICAgICAgIFBldGFjaC1UaWt2YSAxMDE3Mw0KICAgICAgICAgICAgICBJc3JhZWwNCiAg ICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0OTENCiAgICAgIEUtbWFpbDogZWR3YXJkLmJl aWxpQGFjdGVsaXMuY29tIg0KDQogICAgREVTQ1JJUFRJT04NCiAgICAgICJUaGUgb2JqZWN0cyBp biB0aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gbWFuYWdlDQogICAgICB0aGUgRXRoZXJuZXQg aW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChFRk1DdSkgSW50ZXJmYWNlcw0KICAgICAg MkJBU0UtVEwgYW5kIDEwUEFTUy1UUywgZGVmaW5lZCBpbiBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0 LA0KICAgICAgd2hpY2ggaXMgbm93IGEgcGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4NCg0K ICAgICAgVGhlIGZvbGxvd2luZyByZWZlcmVuY2VzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBN SUIgbW9kdWxlOg0KDQogICAgICBbODAyLjNhaF0gcmVmZXJzIHRvOg0KICAgICAgICBJRUVFIFN0 ZCA4MDIuM2FoLTIwMDQ6ICdJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbg0KICAgICAgICB0 ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQ0K ICAgICAgICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0 d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQ0KICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uDQogICAgICAgIERl dGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXINCiAgICAg ICAgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250 cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vzcw0KICAgICAgICBOZXR3b3JrcycsIDA3IFNl cHRlbWJlciAyMDA0Lg0KDQogICAgICBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IGFyZSBDbGF1c2Ug NjEsICdQaHlzaWNhbCBDb2RpbmcNCiAgICAgIFN1YmxheWVyIChQQ1MpIGFuZCBjb21tb24gc3Bl Y2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZA0KICAgICAgdHlwZSAyQkFTRS1UTCcsIENs YXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsDQogICAgICAnTWFuYWdlbWVudCBEYXRh IElucHV0L091dHB1dCAoTURJTykgSW50ZXJmYWNlJywgQW5uZXggNjJBLA0KICAgICAgJ1BNRCBw cm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXggNjNBLCAnUE1EIHByb2ZpbGVzIGZvcg0K ICAgICAgMkJBU0UtVEwnLg0KDQogICAgICBbRy45OTEuMl0gcmVmZXJzIHRvOg0KICAgICAgICBJ VFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdp dGFsDQogICAgICAgIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIHRyYW5zY2VpdmVycycsIERlY2Vt YmVyIDIwMDMuDQoNCiAgICAgIFtBTkZQXSByZWZlcnMgdG86DQogICAgICAgIE5JQ0MgRG9jdW1l bnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZpY2F0aW9uIG9mIHRoZSBBY2Nlc3MNCiAgICAgICAg TmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24N CiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3VzdCAy MDA1Lg0KDQogICAgICBOYW1pbmcgQ29udmVudGlvbnM6DQogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24NCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9mZmljZQ0KICAgICAgICBDUEUgICAtIEN1 c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudA0KICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRo ZSBGaXJzdCBNaWxlDQogICAgICAgIEVGTUN1IC0gRUZNIENvcHBlcg0KICAgICAgICBNRElPICAt IE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQNCiAgICAgICAgTWduICAgLSBNYXJnaW4NCiAg ICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24NCiAgICAgICAgUEJPICAgLSBQ b3dlciBCYWNrLU9mZg0KICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcg0K ICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiAgICAgICAgUE1FICAg LSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwg RGVuc2l0eQ0KICAgICAgICBTTlIgICAtIFNpZ25hbCB0byBOb2lzZSBSYXRpbw0KICAgICAgICBU Q1BBTSAtIFRyZWxsaXMgQ29kZWQgUHVsc2UgQW1wbGl0dWRlIE1vZHVsYXRpb24NCg0KICAgICAg Q29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuICBUaGlzIHZlcnNpb24NCiAgICAg IG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMNCiAg ICAgIGl0c2VsZiBmb3IgZnVsbCBsZWdhbCBub3RpY2VzLiINCg0KICAgIFJFVklTSU9OICAgICIy MDA3MDIyMTAwMDBaIiAgLS0gRmVicnVhcnkgMjEsIDIwMDcNCiAgICBERVNDUklQVElPTiAiSW5p dGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhYWFguIg0KDQogICAgICAtLSBFZE5vdGU6 IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmYW1wOw0KICAgICAgLS0g cmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgOjo9IHsgbWliLTIgWVlZIH0NCg0KICAgICAgLS0gRWRO b3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcw0KICAgICAgLS0gYWxs b2NhdGVkICZhbXA7IHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNlY3Rpb25zIG9mIHRoZSBt b2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1D dU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VQb3J0 ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMSB9DQoNCiAgIGVm bUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmplY3RzIDIgfQ0K DQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIEVmbVByb2ZpbGVJbmRleCA6Oj0gVEVY VFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAgICAgU1RBVFVTICAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlxdWUgdmFsdWUsIGdyZWF0 ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdA0KICAgICAg IHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5nIGZyb20gMS4gVGhlIHZh bHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBjb25zdGFudCBhdCBsZWFz dCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3 b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQgcmUtaW5pdGlhbGl6YXRp b24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1KQ0KDQogICBFZm1Qcm9m aWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBESVNQTEFZLUhJTlQg ImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiBFZm1Qcm9maWxlSW5k ZXgNCiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4g emVybyB2YWx1ZSB1c2VkDQogICAgICAgdG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZSBpbiB0aGUg bWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzDQogICAgICAgZXh0ZW5zaW9uIHBlcm1pdHMgdGhlIGFk ZGl0aW9uYWwgdmFsdWUgb2YgemVyby4gVGhlIHZhbHVlIG9mDQogICAgICAgemVybyBpcyBvYmpl Y3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydA0KICAgICAg IG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdoaWNoIHVzZXMgdGhpcyBzeW50YXgu DQogICAgICAgRXhhbXBsZXMgb2YgdGhlIHVzYWdlIG9mIHplcm8gdmFsdWUgbWlnaHQgaW5jbHVk ZSBzaXR1YXRpb25zDQogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlz IHVua25vd24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMC4uMjU1KQ0KDQogICBF Zm1Qcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgRElTUExBWS1I SU5UICIxZDoiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIHJlcHJlc2VudHMgYSBsaXN0IG9mIHVwIHRv IDYNCiAgICAgICBFZm1Qcm9maWxlSW5kZXgncywgYW55IG9mIHdoaWNoIGNhbiBiZSBjaG9zZW4g Zm9yDQogICAgICAgY29uZmlndXJhdGlvbiBvZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBv cnQuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5l cyBhIGdyZWF0ZXIgdGhhbg0KICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVudGlmeSBhIFBN RSBwcm9maWxlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGNvbmNhdGVu YXRpb24gb2Ygb25lIG9yDQogICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNo IG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgRWZtUHJvZmlsZUluZGV4IHZhbHVlLg0K ICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9iamVjdC1zcGVjaWZpYyBhbmQg TVVTVA0KICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICB3aGljaCB1c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxl cyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRl IHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVzaW5nIHRoaXMNCiAgICAgICB0ZXh0dWFsIGNv bnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAg dHlwZS4iDQogICAgIFNZTlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAg IEVmbVRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBTVEFU VVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRleHR1YWwg Y29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICBjb252 ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICBw b3NzaWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3aGVu IGFuIGV4YWN0DQogICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0IGNhbm5v dCBiZSBkZXRlcm1pbmVkLiINCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtub3duKDAp LCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgLS0gUG9ydCBOb3RpZmljYXRpb25zIEdyb3VwDQoN CiAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQ b3J0IDAgfQ0KDQogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAg ICBPQkpFQ1RTIHsNCiAgICAgICAtLSBpZkluZGV4IGlzIG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3 ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAgaWZTcGVlZCwNCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1D dSBwb3J0JyBkYXRhIHJhdGUNCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4 Y2VlZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1 VGhyZXNoTG93UmF0ZS4NCg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZv ciB0aGUgLU8gc3VidHlwZSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hp bGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgdGhyZXNo b2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZA0K ICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90IGFwcGxp Y2FibGUgdG8NCiAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBi ZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0K ICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5r RG93biBhbmQNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHRvIGJl IHNlbnQuDQoNCiAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9s b2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgIGFkYXB0IGl0c2VsZiB0byB0aGUgY2hhbmdl cyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAgYW4gaW1wdWxzZSBub2lz ZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0aW9uIG1heQ0KICAgICAgIHRl bXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAs DQogICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZN Q3UgbGluay4NCiAgICAgICBUaGUgZHJvcHBlZCBQTUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWlu aXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBh ZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQ0KICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIg bWFyZ2luLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250 cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4i DQogICAgIDo6PSB7IGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIC0tIFBDUyBQb3J0 IGdyb3VwDQoNCiAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1Mt VFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFp bnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1 UG9ydCAxIH0NCg0KICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFu IGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFj aCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4N CiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5n bGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhl ZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICBTRVFV RU5DRSB7DQogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywNCiAg ICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhMaXN0 LA0KICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQog ICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZhbHVlLA0KICAgICAgIGVm bUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VM b3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1 UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQog ICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICBkaXNhYmxlZCgyKQ0KICAgICB9DQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBv ZiB0aGUgRUZNQ3UgcG9ydA0KICAgICAgIChQQ1MpLg0KICAgICAgIFdoZW4gJ2Rpc2FibGVkJywg UE1FIEFnZ3JlZ2F0aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICBQQ1Mu IE5vIG1vcmUgdGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGlu DQogICAgICAgdGhpcyBjYXNlLg0KICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBw ZXJmb3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgUENT IHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBv Zg0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hB TEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0aCBtdWx0aXBs ZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRv ICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAgICAgdW50aWwgYXQg bW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICBDaGFuZ2luZyBQQUZBZG1p blN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlvbiBhbmQNCiAgICAgICBhcyBz dWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0bw0KICAg ICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSByZWplY3RlZCBpZiB0aGUgbGluayBpcyBV cCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBBRkFkbWluU3RhdGUuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBD UyBjb250cm9sDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 Q29uZkVudHJ5IDEgfQ0KDQogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQgKFBDUykuDQogICAg ICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0 aW9uLA0KICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAgICAgICBQQ1MgcG9ydHMgaW5j YXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHplcm8NCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4NCiAg ICAgICBhdHRlbXB0IHRvIHdyaXRlIHRvIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGZv ciBzdWNoDQogICAgICAgcG9ydHMuDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50 aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUNCiAgICAgICB3cml0aW5nIG9wZXJh dGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZQ0KICAgICAgIChTZXRfaWZf Q2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1Fcw0KICAgICAgIGFz c29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAgICAgIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoaXMg b2JqZWN0IGZvciAtUiBzdWJ0eXBlIHBvcnRzIGFmdGVyDQogICAgICAgcmVzZXQgaXMgYWxsIHpl cm9lcy4gRm9yIC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlzDQogICAgICAgb2Jq ZWN0IGNhbm5vdCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2Vk DQogICAgICAgYXMgYSByZXN1bHQgb2Ygd3JpdGluZyBvcGVyYXRpb24gb24gdGhlDQogICAgICAg ZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUgUE1FIG9mIC1PDQog ICAgICAgc3VidHlwZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lh dGVkIHdpdGgNCiAgICAgICB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAgICAgIFNOTVAgd2l0 aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAg ICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUgbWFwcyB0 byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUg dGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0KICAgICAgIENsYXVzZSA0NSBy ZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywg NjEuMi4yLjguNCwgNDUuMi42LjYuMSwgNDUuMi42LjgsDQogICAgICAgNjFBLjIiDQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VBZG1pblByb2ZpbGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleExpc3QNCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlvbiBQcm9maWxlKHMpLCBjb21tb24gZm9y IGFsbCBQTUVzIGluIHRoZQ0KICAgICAgIEVGTUN1IHBvcnQuIFRoaXMgb2JqZWN0IGlzIGEgbGlz dCBvZiBwb2ludGVycyB0byBlbnRyaWVzIGluDQogICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9u IHRoZSBjdXJyZW50DQogICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIEVGTUN1IHBvcnQg YXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQb3J0U2lkZS4NCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5kaWNlcyBvZg0KICAgICAgIFBy b2ZpbGVzLiBJZiB0aGlzIGxpc3QgY29uc2lzdHMgb2YgYSBzaW5nbGUgUHJvZmlsZSBpbmRleCwN CiAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFMTCBi ZSBjb25maWd1cmVkDQogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9maWxlIHJlZmVyZW5jZWQg YnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0DQogICAgICAgaXMgb3ZlcndyaXR0ZW4gYnkgY29ycmVz cG9uZGluZyBub24temVybyBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICB3aGljaCB0YWtl cyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuDQogICAgICAgVGhlIGxpc3QsIGNv bnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2ggUE1FDQogICAgICAg aW4gdGhlIHBvcnQgdG8gYmUgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gYW55IFByb2ZpbGUNCiAg ICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuDQogICAgICAgQnkgZGVmYXVsdCB0aGlzIG9iamVj dCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QNCiAgICAgICBlbnRyeSBpbiBl Zm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLg0KDQogICAg ICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8gc3VidHlw ZQ0KICAgICAgICgyQmFzZVRMLU8gb3IgMTBQYXNzVFMtTykgRUZNQ3UgcG9ydHMuIEl0IGlzIGly cmVsZXZhbnQgZm9yDQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNz VFMtUikgcG9ydHMgLSBhIHplcm8NCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxMIGJl IHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZA0KICAgICAgIHRoaXMgb2JqZWN0IGFuZCBh biBhdHRlbXB0IHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgcmVqZWN0ZWQg aW4gdGhpcyBjYXNlLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgUHJv ZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBv YmplY3QuDQoNCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0 aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkLCBpZiB0aGUNCiAgICAgICBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSBs aXN0IHdpdGggYSBtZW1iZXINCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9m IHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5DQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRp bmcgcHJvZmlsZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgJzAxJ0gg fQ0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1VGFyZ2V0RGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAw fDk5OTk5OSkNCiAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJEZXNpcmVkIEVGTUN1IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRl IGluDQogICAgICAgS2JwcywgdG8gYmUgYWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1 bmRlciBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0aW9ucyBwbGFjZWQgb24gZWFjaCBQTUUgdmlh IGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGgg dGhlIGRlc2lyZWQgU05SIE1hcmdpbiBzcGVjaWZpZWQgYnkNCiAgICAgICBlZm1DdVRhcmdldFNu ck1nbi4NCiAgICAgICBJbiBjYXNlIG9mIFBBRiwgdGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHN1 bSBvZiBpbmRpdmlkdWFsIFBNRQ0KICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBl bnNhdGUgZm9yIGZyYWdtZW50YXRpb24gYW5kDQogICAgICAgNjQvNjVCIGZyYW1pbmcgb3Zlcmhl YWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAxME1icHMNCiAgICAgICBTSEFMTCBhbGxvdyBs b3NzbGVzcyB0cmFuc21pc3Npb24gb2YgZnVsbC1kdXBsZXggMTBNYnBzDQogICAgICAgRXRoZXJu ZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLg0KDQogICAgICAg VGhlIHZhbHVlIGlzIGxpbWl0ZWQgYWJvdmUgYnkgMTAwTWJwcyBhcyB0aGlzIGlzIHRoZSBtYXgN CiAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLg0KDQogICAgICAg VGhlIHZhbHVlIGJldHdlZW4gMSBhbmQgMTAwMDAwIGluZGljYXRlcyB0aGF0IHRoZSB0b3RhbCBk YXRhDQogICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0ZXIgaW5pdGlh bGl6YXRpb24gU0hBTEwNCiAgICAgICBiZSBlcXVhbCB0byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBv ciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZl ZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMgc3BlY2lmaWVkDQogICAgICAgYnkgZWZtQ3VB ZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAg ICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNo aWV2ZQ0KICAgICAgIGhpZ2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBi eSB0aGUgdGFyZ2V0LCB0aGUNCiAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRo ZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SDQogICAgICAgbWFyZ2luIG9yIHJlY2xhaW1l ZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICBieSBl Zm1DdUFkYXB0aXZlU3BlY3RyYS4NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMg dGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICBmaXhlZCBhbmQgU0hBTEwg YmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICBpbml0 aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNU IGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBvZiBT Tk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAgbGlu ayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRh IFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVk IG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA0IH0NCg0KICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMC4uMjEpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVk IG9uIGFsbCBQTUVzDQogICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFs aXppYXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRo YXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAg ICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0 cyBpbiBvcmRlcg0KICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBv ZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBU aGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0K ICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAt UiBzdWJ0eXBlcy4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgU05SIE1hcmdpbiBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMg dG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBv ZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAg bGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBT TlIgTWFyZ2luIG9mIHRoZSBQTUVzIGNvbXByaXNpbmcgdGhlIEVGTUN1DQogICAgICAgcG9ydCBp cyByZXByZXNlbnRlZCBieSBlZm1DdVBtZVNuck1nbi4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA2MS4xLjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA1IH0NCg0KICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyBob3cg dG8gdXRpbGl6ZSBleGNlc3MgY2FwYWNpdHkgd2hlbiB0aGUgY29wcGVyDQogICAgICAgZW52aXJv bm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQN CiAgICAgICBzcGVjaWZpZWQgYnkgdGhlIGVmbUN1VGFyZ2V0RGF0YVJhdGUuDQoNCiAgICAgICBW YWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFM TCBiZQ0KICAgICAgIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyLCBlLmcu IHVzaW5nIGhpZ2hlcg0KICAgICAgIGNvbnN0ZWxsYXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwg aW4gb3JkZXIgdG8gcmVkdWNlDQogICAgICAgaW50ZXJmZXJlbmNlIHRvIG90aGVyIGNvcHBlciBw YWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUNCiAgICAgICBhZHZlcnNlIGltcGFjdCB0byBsaW5r L3N5c3RlbSBwZXJmb3JtYW5jZS4NCg0KICAgICAgIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRl cyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTA0KICAgICAgIGJlIGNvbnZlcnRlZCB0 byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5kIHNwcmVhZCBldmVubHkgYWNyb3NzDQogICAgICAg YWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRoZSAoUENTKSBwb3J0LCB0byBpbmNyZWFzZSBs aW5rDQogICAgICAgcm9idXN0bmVzcy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3Jp dGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgKDJCYXNlVEwtTy8xMFBh c3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBp cw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJl amVjdGVkIChpbiBjYXNlDQogICAgICAgb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3Rl bnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwDQogICAgICAgb3IgSW5pdGlhbGl6aW5nLg0KDQog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNiB9DQoNCiAgIGVmbUN1VGhyZXNo TG93UmF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAw MDApDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBvYmplY3QgY29uZmlndXJlcyB0aGUgRUZNQ3UgcG9ydCBsb3cgcmF0ZSBjcm9zc2luZyBhbGFy bQ0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZv ciB0aGlzIHBvcnQNCiAgICAgICByZWFjaGVzL2Ryb3BzIGJlbG93IG9yIGV4Y2VlZHMgdGhpcyB0 aHJlc2hvbGQsIGFuDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9uIE1B WSBiZSBnZW5lcmF0ZWQgaWYgZW5hYmxlZA0KICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1 YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3Qg YXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNU IGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMg c2hvdWxkDQogICAgICAgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAg IFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBw ZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4IH0NCg0K DQogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBB U1MtVFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUg bWFpbnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVm bUN1UG9ydCAyIH0NCg0KICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0 aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0 b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJl IGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQg ICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQg ICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNp dHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNp dHkgICAgICAgICAgICAgVW5zaWduZWQzMg0KICAgICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVk ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRo ZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQogICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVn YXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQ QUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQog ICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0 aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtu b3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykgbGluayBwYXJ0bmVy Lg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVt b3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxh YmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgUG9ydHMg d2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0KICAgICAg IHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQ QUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBS ZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4gdGhlDQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkg cmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAu MTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50 cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJOdW1iZXIgb2Yg UE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRoZSBsb2NhbCBQQUYuDQogICAgICAgVGhl IG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3NpZ25lZCB0byBhIHBhcnRpY3VsYXINCiAgICAg ICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbg0KICAgICAg IGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1 c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxvY2FsUEFGQ2FwYWNpdHkuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0NCg0KICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDB8MS4uMzIpDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkg dGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAgIFBoeSAoUENTIHBvcnQpLg0KICAgICAgIFZhbHVl IG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVyIFBBRiBDYXBhY2l0eSBpcyB1bmtub3duDQogICAg ICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0eS4iDQog ICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuMTAiDQog ICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0NCg0KDQogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1D dVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUg cHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFT RS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzDQog ICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFi bGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRpdGlvbmFsIHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91 dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVz VGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBl cXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6 Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAg ICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9m IGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0g eyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9 DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdUZsdFN0YXR1cyAgICAgICAgICAgICAgICAg ICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNpZGUgICAgICAgICAgICAgICAgICAgIElOVEVHRVIs DQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAg ICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAg ZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1 UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRklu QmFkRnJhZ21lbnRzICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RG cmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRz ICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluTG9zdEVuZHMgICAgICAg ICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cyAgICAgICAgICAg ICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIG5vUGVlcigwKSwNCiAgICAgICBwZWVyUG93 ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwNCiAgICAgICBsb3dSYXRl KDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICBjb25kaXRpb25z LiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToNCiAgICAgICAgIG5vUGVlciAgICAgICAg ICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3duDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBp bg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLg0KICAg ICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5k aW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBs b3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWlu ZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUg bm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAg bG93UmF0ZSAgICAgICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9w cGVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dS YXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3Bl clN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUg aW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhl IGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgUEFGIGlzIGRpc2FibGVk KS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1J QiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAg IDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICBlZm1DdVBvcnRTaWRlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBzdWJzY3JpYmVyKDEp LA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAgICB1bmtub3duKDMpDQogICAgIH0NCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAg ICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2ln bmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMg cG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICctUicpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0 aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICBkZXNpZ25hdGVk IGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAg ICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgVGhlIHZhbHVlIG9mICd1bmtub3duJyBpbmRp Y2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICBQTUVzIHlldCBvciB0 aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUgc2lkZQ0KICAgICAgIChz dWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICBhUGh5RW5kIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiINCiAgICAgOjo9IHsgZWZt Q3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg Ik51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3VycmVudGx5IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2Fs IFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNrVGFi bGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNh cGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVs ZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0IHVzaW5nDQogICAgICAgaWZTdGFja1RhYmxlLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Ig0K ICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAzIH0NCg0KICAgZWZtQ3VQQUZJbkVycm9y cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFj cm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQg ZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5v dCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlu cyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAvMkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDQgfQ0KDQogICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVy IG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWluRnJhZ21lbnRTaXplDQogICAgICAgKDY0IEJ5 dGVzKSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBp bnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVk LiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBzbWFsbCBmcmFnbWVudHMNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAg IERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBh dA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5k IGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNv dW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIyIg0KICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSA1IH0NCg0KICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFk LW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIG51bWJlciBvZiBmcmFnbWVudHMgbGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplDQogICAg ICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1h DQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgVGhpcyByZWFkLW9ubHkg Y291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1bnN1cHBvcnRlZCBv ciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8g SW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIu DQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBj YW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBz eXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFs dWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1N SUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVu dHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhl IHNlcXVlbmNlDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9u LCB0aGF0IGhhdmUgYmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJm YWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRv IHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRp c2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFp bnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2Yg aWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBzZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNo IGhhdmUNCiAgICAgICBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0 aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFt ZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMNCiAgICAgICBleHBlY3RlZCBieSB0aGUg ZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgVGhp cyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1 bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50 ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAg IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1h bmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQg YnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmlu ZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMu MjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBBRklu TG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBTdGFydE9mUGFja2V0IGluZGlj YXRvcnMgZXhwZWN0ZWQgYnkgdGhlDQogICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uDQog ICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMN CiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl bg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBv ZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGlu IHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAg ICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlU aW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkg fQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg Q291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgRW5k T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdo ZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBB RiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVy RGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yOCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBBRkluT3ZlcmZsb3dzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJl ciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlDQogICAg ICAgYW5kIGRpc2NhcmRlZCwgd2hpY2ggd291bGQgaGF2ZSBjYXVzZWQgdGhlIGZyYW1lIGFzc2Vt Ymx5DQogICAgICAgYnVmZmVyIHRvIG92ZXJmbG93Lg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNv dW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3Ig ZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0 YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBt YXBzIHRvIHRoZSAxMFAvMkIgUEFGIG92ZXJmbG93IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAg ICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3Ro ZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjQiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0 YXR1c0VudHJ5IDExIH0NCg0KICAtLSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cA0KDQogICBlZm1D dVBtZU5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgMCB9DQoN CiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVD VFMgew0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVB dG4NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBsb29wIGF0dGVudWF0 aW9uDQogICAgICAgdGhyZXNob2xkIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0K ICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2VlZGVkIGZvciB0aGUgMkJBU0UtVEwv MTBQQVNTLVRTDQogICAgICAgUE1FLiBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2VuZCBvbiB0 aGUgY3Jvc3NpbmcgZXZlbnQgaW4NCiAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFs IHRvIGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkDQogICAgICAgdG8gbm9ybWFsLg0KDQogICAg ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIu NSBzZWMsDQogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5k IG5vdGlmaWNhdGlvbiwNCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlDQogICAgICAgc2VudC4NCg0KICAgICAgIEdlbmVyYXRp b24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1D dVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5v dGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9O LVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRo ZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbg0KICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAy QkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBz ZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJv bSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwu DQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJp b2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRp dGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQg aW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICBzZW50Lg0KDQogICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0IE5PVElGSUNB VElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzDQogICAg IH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJU aGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJl ZW4NCiAgICAgICBkZXRlY3RlZCBieSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEg c2VsZi10ZXN0Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBj b250cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0 LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBQ TUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgZmFpbGVkLCBkdWUgdG8gaW5hYmlsaXR5IG9m IHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAgIGNvbmZpZ3VyYXRpb24g cHJvZmlsZS4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29u dHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVj dC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQ cm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAg fQ0KICAgICBTVEFUVVMgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAg aW5jb21wYXRpYmxlIHByb3RvY29sIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAg ICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDUgfQ0KDQogICAtLSBUaGUgUE1FIGdyb3VwDQoNCiAgIGVmbUN1 UG1lQ29uZlRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENv bmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwv MTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFz cGVjdHMgc3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAg ICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29u ZlRhYmxlDQogICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRh YmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0K ICAgICA6Oj0geyBlZm1DdVBtZSAxIH0NCg0KICAgZWZtQ3VQbWVDb25mRW50cnkgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENvbmZpZ3VyYXRpb24gdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNv bmZFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBl ICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAg ICBFZm1Qcm9maWxlSW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlD b2RlICAgIFBoeXNBZGRyZXNzLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgICAgICAg ICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gICAgICAgICAgIEludGVn ZXIzMiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVBy b3RvY29sSW5pdEZhaWxFbmFibGUgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UG1lQWRt aW5TdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAg ICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGllZWUx MFBhc3NUU08oMyksDQogICAgICAgaWVlZTEwUGFzc1RTUig0KSwNCiAgICAgICBpZWVlMkJhc2VU TG9yMTBQYXNzVFNSKDUpLA0KICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksDQogICAg ICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyg3KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAt IFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAgICAgaWVlZTJCYXNlVExSICAg ICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEw UGFzc1RTTyAgICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8NCiAgICAg ICAgIGllZWUxMFBhc3NUU1IgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NU Uy1SDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMkJhc2VUTC1SIG9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXQgYnkgLU8gbGluayBwYXJ0bmVyIGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLg0KICAgICAgICAgaWVlZTJC YXNlVExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVmZXJyZWQpIG9yIDEwUGFzc1RTLU8uIEFj dHVhbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0 IGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9u IGRlcGVuZGluZyBvbiAtUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsg cGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVmZXJyZWQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkKS4NCiAgICAgICAgIGllZWUxMFBhc3NUU29y MkJhc2VUTE8gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJpbmcN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRp bmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIg Y2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTBQYXNzVFMgbW9kZSwgMkJhc2VUTCB3aWxsIGJlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlZCkuDQoNCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWlu U3ViVHlwZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMg c3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsNCiAg ICAgICBpcyBVcCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRo aXMgb2JqZWN0IHRvIGFuIHVuc3VwcG9ydGVkIHN1YnR5cGUNCiAgICAgICAoc2VlIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhlIGN1cnJl bnQgb3BlcmF0aW9uYWwgc3ViIHR5cGUgaXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBj b21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMNCiAgICAgICBh bmQgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQN CiAgICAgICBjb250cm9sIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4z YWhdIDYxLjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBw b2ludGVyDQogICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBj dXJyZW50IG9wZXJhdGluZw0KICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9m IHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZg0KICAgICAgIHRoZSByZWZlcmVuY2VkIHByb2Zp bGUuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IHRo ZSBQTUUgaXMNCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qg Zm9yIHRoZSBQQ1MgcG9ydCwNCiAgICAgICB0byB3aGljaCB0aGlzIFBNRSBpcyBhc3NpZ25lZC4g VGhhdCBpcywgdGhlIHByb2ZpbGUgcmVmZXJlbmNlZA0KICAgICAgIGJ5IGVmbUN1UG1lQWRtaW5Q cm9maWxlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgcHJvZmlsZShzKQ0KICAgICAgIHJlZmVy ZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0 YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VU TC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BFDQogICAgICAg c3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVlIFNIQUxMIGJl DQogICAgICAgcmV0dXJuZWQgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMgb2JqZWN0IGFuZCBh bnkgYXR0ZW1wdA0KICAgICAgIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVk IGluIHRoaXMgY2FzZS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFBy b2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUg b2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEg dmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBh Y3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0KICAgICAgIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4x MS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5 IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUgcG9ydCBhdCBDTy4NCiAg ICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVj dGVkIHZpYQ0KICAgICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlzIG9iamVjdCByZXN1 bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24uDQogICAgICAgU2V0dGluZyB0aGlzIG9i amVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkNCiAgICAgICBDbGVhcl9p Zl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAg ICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVy eUNvZGUgb2YNCiAgICAgICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZv ciB0aGUgb3BlcmF0aW9uIHRvDQogICAgICAgc3VjY2VlZCkuDQogICAgICAgV3JpdGluZyBhIG5v bi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgIERpc2NvdmVy eSBTZXRfaWZfQ2xlYXIgb3BlcmF0aW9uLg0KICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3Ry aW5nIFNIQUxMIGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICByZWFkIHRoaXMg b2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlz DQogICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0byB0 aGlzIG9iamVjdCBTSEFMTA0KICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgRGlzY292ZXJ5 IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAg ICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBp cyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlz IG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAg ICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGlu IDEwUC8yQg0KICAgICAgIGFnZ3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVy IGFuZA0KICAgICAgIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00 NS4yLjYuOCINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4u MTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNp cmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAg ICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBsaW5lIGF0dGVudWF0aW9uIGFsYXJtIHRocmVz aG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIExpbmUgQXR0ZW51YXRpb24g cmVhY2hlcyBvcg0KICAgICAgIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gTUFZIGJlIGdlbmVyYXRlZCwgaWYgZW5h YmxlZCBieQ0KICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLg0KDQogICAgICAg VGhpcyBvYmplY3QgaXMgd3JpdGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMgKC1PKS4NCiAg ICAgICBJdCBpcyByZWFkLW9ubHkgZm9yIHRoZSBDUEUgc3VidHlwZSAoLVIpLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9y bWVkDQogICAgICAgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgTVVTVCBiZQ0KICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0 aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExvb3AgYXR0ZW51YXRpb24gdGhyZXNob2xkIGJpdHMgaW4NCiAgICAgICB0aGUgMkIgUE1EIGxp bmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNCB9DQoN CiAgIGVmbUN1UG1lVGhyZXNoU25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ bnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJEZXNpcmVkIFNOUiBNYXJnaW4gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBN RS4NCiAgICAgICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRo cmVzaG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVh Y2hlcyBvciBleGNlZWRzIHRoaXMNCiAgICAgICB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZyBub3RpZmljYXRpb24gTUFZIGJlDQogICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVk IGJ5IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtUikuIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtUi8xMFBhc3NUUy1SKS4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2lu IFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuDQogICAgICAgdGhlIGxpbmsgaXMgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUNCiAgICAgICByZWplY3Rl ZCAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwNCiAg ICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZCBiaXRzIGluIHRo ZSAyQiBQTUQNCiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciINCiAgICAg UkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiDQogICAgIDo6PSB7IGVmbUN1 UG1lQ29uZkVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQog ICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBp bmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAg ICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu Z0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu ZyBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRl cmZhY2UuDQoNCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2Fi bGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lRGV2 aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lRGV2aWNl RmF1bHQgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZURldmljZUZhdWx0DQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9m IGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDggfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZh bHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVk IGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBl bmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5IH0N Cg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAg IHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUg b2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWVDb25mRW50cnkgMTAgfQ0KDQoNCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0 eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRp b24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFzcGVjdHMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgIHJlcHJl c2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlDQog ICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0KICAgICA6Oj0g eyBlZm1DdVBtZSAyIH0NCg0KICAgZWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkNCiAgICAgTUFYLUFDQ0VT UyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIDEgfQ0KDQogICBFZm1D dVBtZUNhcGFiaWxpdHlFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMNCiAgICAgfQ0KDQogICBlZm1DdVBtZVN1YlR5cGVz U3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBCSVRTIHsNCiAgICAgICBp ZWVlMkJhc2VUTE8oMCksDQogICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAgICAgIGllZWUxMFBh c3NUU08oMiksDQogICAgICAgaWVlZTEwUGFzc1RTUigzKQ0KICAgICB9DQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBzdXBwb3J0ZWQgc3ViLXR5cGVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBv c3NpYmxlDQogICAgICAgc3ViLXR5cGVzLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToN CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBh cyAyQmFzZVRMLU8NCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVINCiAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNz VFNSICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQYXNzVFMtUg0KDQogICAg ICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5DQogICAgICAg ZWZtQ3VQbWVBZG1pblN1YlR5cGUsIHdoaWxlIGVmbUN1UG1lT3BlclN1YlR5cGUgcmVmbGVjdHMg dGhlDQogICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAg ICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJBU0UtVEwgY2Fw YWJsZQ0KICAgICAgIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EIHNwZWVkIGFiaWxpdHkgcmVn aXN0ZXIgYW5kIHRoZQ0KICAgICAgIENPIHN1cHBvcnRlZCBhbmQgQ1BFIHN1cHBvcnRlZCBiaXRz IGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIHN0YXR1cyByZWdpc3RlciINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuNC4xLCA0NS4yLjEuNC4yLCA0 NS4yLjEuMTIuMiwNCiAgICAgICA0NS4yLjEuMTIuMyINCiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBh YmlsaXR5RW50cnkgMSB9DQoNCg0KICAgZWZtQ3VQbWVTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZVN0YXR1c0VudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGlu Zm9ybWF0aW9uIG9mIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cy4g U3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljDQogICAgICAgdG8gMTBQQVNTLVRTIFBNRSBpcyBy ZXByZXNlbnRlZCBpbiBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlLg0KDQogICAgICAgVGhpcyB0YWJs ZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAg IGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUgMyB9DQoNCiAgIGVm bUN1UG1lU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVT dGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBF Rk1DdSBQTUUgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21t b24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUNCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAg ICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxl ZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1Rh YmxlIDEgfQ0KDQogICBFZm1DdVBtZVN0YXR1c0VudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQog ICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1D dVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5 cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSAgICAgICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgIGVmbUN1UG1lU25yTWduICAgICAgICAg ICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuICAgICAgICAgICAgICAgSW50ZWdlcjMy LA0KICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAgICAgICAgIEludGVnZXIzMiwNCiAgICAg ICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1 UG1lVENDb2RpbmdFcnJvcnMgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZVRDQ3Jj RXJyb3JzICAgICAgICAgICBDb3VudGVyMzINCiAgICAgfQ0KDQogICBlZm1DdVBtZU9wZXJTdGF0 dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHVwKDEp LA0KICAgICAgIGRvd25Ob3RSZWFkeSgyKSwNCiAgICAgICBkb3duUmVhZHkoMyksDQogICAgICAg aW5pdCg0KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkN1cnJlbnQgUE1FIGxpbmsg T3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgdXAoMSkg ICAgICAgICAgIC0gbGluayBpcyBVcCBhbmQgcmVhZHkgdG8gcGFzcyA2NC82NUINCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuY29kZWQgZnJhbWVzIG9yIGZyYWdtZW50cy4NCiAgICAgICAg IGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2VzIG5vdCBkZXRl Y3QNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRzaGFrZSB0b25lcyBmcm9tIGl0cyBw ZWVyLiBUaGlzIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgaW5kaWNhdGUg YSBwb3NzaWJsZSBwcm9ibGVtIHdpdGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBw ZWVyIFBNRS4NCiAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9uZXMg ZnJvbSBpdHMgcGVlci4NCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5pdGlh bGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZBZG1p blN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQg dG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgaWZPcGVyU3RhdHVzLg0KDQogICAg ICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUN CiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlh bGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgIFBN QS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSAzMC4xMS4yLjEuMywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgIGRldmljZUZhdWx0KDMpLA0K ICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUo NSkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsg RmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mDQogICAgICAgcG9zc2libGUgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCiAgICAgICAgIGxvc3NPZkZy YW1pbmcgICAgICAgLSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvc3Mgb2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICBz bnJNZ25EZWZlY3QgICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hv bGQNCiAgICAgICAgIGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2Vl ZHMgdGhlIFRocmVzaG9sZA0KICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRl cyBhIHZlbmRvci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFn bm9zdGljIG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhhcyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24u DQogICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIC0gUHJvdG9jb2wgaW5pdGlhbGl6YXRpb24g ZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5jb21wYXRp YmxlIHByb3RvY29sIHVzZWQgYnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUg UGVlciBQTUUgZHVyaW5nIGluaXQgKHRoYXQgY291bGQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoYXBwZW4gaWYgYSBwZWVyIFBNRCBpcyBhIHJlZ3VsYXINCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHLlNESFNML1ZEU0wgbW9kZW0gaW5zdGVhZCBvZiBhDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuDQoNCiAgICAg ICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJ Ri1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUg bGFzdCBmYXVsdC4NCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyBpcyBjbGVhcmVkIGJ5IHRoZSBk ZXZpY2UgcmVzdGFydC4NCiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJ bml0RmFpbHVyZSBhbmQNCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVkIGJ5 IFBNRSBpbml0Lg0KICAgICAgIGRldmljZUZhdWx0IGlzIGNsZWFyZWQgYnkgc3VjY2Vzc2Z1bCBk aWFnbm9zdGljcy90ZXN0Lg0KICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBh cmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luDQogICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24gcmVz cGVjdGl2ZWx5IHJldHVybmluZyB0byBub3JtIGFuZCBieQ0KICAgICAgIFBNRSBpbml0Lg0KDQog ICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1 dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29u c29saWRhdGVzIGluZm9ybWF0aW9uIGZyb20gdmFyaW91cyBQTUEvUE1EDQogICAgICAgcmVnaXN0 ZXJzLCBuYW1lbHk6IEZhdWx0IGJpdCBpbiBQTUEvUE1EIHN0YXR1cyAxIHJlZ2lzdGVyLA0KICAg ICAgIDEwUC8yQiBQTUEvUE1EIGxpbmsgbG9zcyByZWdpc3RlciwNCiAgICAgICAxMFAgb3V0Z29p bmcgaW5kaWNhdG9yIGJpdHMgc3RhdHVzIHJlZ2lzdGVyLA0KICAgICAgIDEwUCBpbmNvbWluZyBp bmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgMkIgc3RhdGUgZGVmZWN0cyBy ZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjMs IDQ1LjIuMS4yLjEsIDQ1LjIuMS4zOCwNCiAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCINCiAg ICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJC YXNlVExPKDEpLA0KICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNP KDMpLA0KICAgICAgIGllZWUxMFBhc3NUU1IoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9z c2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg b3BlcmF0ZXMgYXMgMkJhc2VUTC1PDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0g UE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNzVFNSICAg ICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLVINCg0KICAgICAgIFRoZSBvcGVyYXRp b25hbCBzdWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBjb25maWd1cmVkIHZpYQ0KICAgICAgIGVm bUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMg b2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QNCiAgICAg ICBiaXRzLCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkINCiAg ICAgICBQTUEvUE1EIGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHRoZSBQTUEvUE1EIGxpbmsgc3RhdHVz IGJpdHMgaW4NCiAgICAgICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAg ICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4x LjExLjcsIDQ1LjIuMS4xMi40Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQ0K DQogICBlZm1DdVBtZU9wZXJQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBF Zm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIGN1cnJlbnQg b3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bw0KICAgICAgIGFu IGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudA0KICAgICAgIG9wZXJh dGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZS4NCiAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5LCB0byB3aGljaCBl Zm1DdVBtZU9wZXJQcm9maWxlIGlzDQogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQNCiAgICAgICBwYXJhbWV0ZXJzIGlu IGFkYXB0aXZlIChub3QgZml4ZWQpIGluaXRpYWxpemF0aW9uLA0KICAgICAgIGkuZS4gdmFsdWVz IG9mIGVmbUN1UG1lT3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVy byBpbmRpY2F0ZXMgdGhhdCBQTUUgaXMgZG93biBvciBpbml0aWFsaXppbmcuDQoNCiAgICAgICBU aGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgYU9wZXJhdGluZ1Byb2ZpbGUNCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIu M2FoXSAzMC4xMS4yLjEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0NCg0K ICAgZWZtQ3VQbWVTbnJNZ24gT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMy KC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGUgY3VycmVudCBTaWduYWwtdG8tTm9pc2UgUmF0aW8gKFNOUikgbWFyZ2luIHdp dGggcmVzcGVjdA0KICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5 IHRoZSBsb2NhbCBQTUUuDQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdo ZW4gUE1FIGlzIGRvd24gb3INCiAgICAgICBpbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4gcmVnaXN0ZXIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS40LCA0NS4yLjEu MTYiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lUGVl clNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4 fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo ZSBjdXJyZW50IFNOUiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0K ICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikg UE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBk b3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgb2YgNjU1 MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAgICAgIHJlZ2lz dGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciDQogICAg IDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAg IFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGlu ZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgUE1F Lg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3du IG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJ bnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNDUuMi4xLjE4Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDcgfQ0KDQog ICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIHJlbW90ZQ0KICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAgICBUaGUg dmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAgIGlu aXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRoZSAt UiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQ0KICAgICAgIG9mIDY1NTM1IFNIQUxMIGJlIHJldHVy bmVkIGluIHRoaXMgY2FzZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIg bGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24NCiAgICAgICByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5Mnw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVzdGltYXRlIG9mIHRoZSBl cXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4NCiAgICAgICBtZXRlcnMsIGFzIHBl cmNlaXZlZCBieSB0aGUgUE1FIGFmdGVyIHRoZSBsaW5rIGlzIGVzdGFibGlzaGVkLg0KICAgICAg IEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Ag d2l0aCBhDQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkNCiAgICAgICBicmlkZ2VkIHRhcHMuDQogICAgICAgVGhlIHZhbHVl IG9mIDY1NTM1IGlzIHJldHVybmVkIGlmIHRoZSBsaW5rIGlzIERvd24gb3INCiAgICAgICBJbml0 aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQN CiAgICAgICBMZW5ndGguDQoNCiAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0 ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3Jz IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIG51bWJlciBvZiA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzDQogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5j YXBzdWxhdGlvbiBlcnJvciBkZXRlY3RlZA0KICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNl aXZlIGZ1bmN0aW9uLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9s YXRpb25zIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0KICAg ICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVy DQogICAgICAgKHNlZSA0NS4yLjYuMTIpLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRo ZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6 YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAg ICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1l LA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4zLjMuMSwgMzAuMTEuMi4xLjUsIDQ1LjIuNi4xMiINCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSAxMCB9DQoNCiAgIGVmbUN1UG1lVENDcmNFcnJvcnMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg bnVtYmVyIG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1lbnRlZCBmb3IN CiAgICAgICBlYWNoIFRDLUNSQyBlcnJvciBkZXRlY3RlZCBieSB0aGUgNjQvNjUtb2N0ZXQgcmVj ZWl2ZSBmdW5jdGlvbg0KICAgICAgIChzZWUgNjEuMy4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuDQoN CiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFUQ0NSQ0Vycm9ycyBhdHRyaWJ1dGUgaW4NCiAg ICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENNRSBUQyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgVEMgQ1JDIGVycm9yIHJlZ2lzdGVyDQogICAgICAgKHNlZSA0NS4yLjYuMTEpLg0KDQog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9m IGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4zLjMuMywgMzAuMTEuMi4xLjEw LCA0NS4yLjYuMTEiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTEgfQ0KDQogIC0t IDJCQVNFLVRMIHNwZWNpZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBtZTJCICAgICAgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9y dHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgb3BlcmF0aW5nIFBy b2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhp cyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4 MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0r LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRl IFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBz KSAgKGRCbSkNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAx My41ICAgIDEgICAzMi1UQ1BBTQ0KICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41 ICAgIDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAg IDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQ0KICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAx Ni1UQ1BBTQ0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1U Q1BBTQ0KICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BB TQ0KICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAg ICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAg ICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAg MTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQp DQogICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMiAgIDAgICAgICAgIChi ZXN0IGVmZm9ydCkNCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVh dGVkIGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBk ZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUg ZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3Rv bSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0 b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIEFubmV4IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1l MkIgIDIgfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBwcm9m aWxlLg0KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1 c2VkIGVpdGhlciBmb3INCiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9m IGEgMkJBU0UtVEwgUE1FLg0KICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMg cmVmZXJlbmNlZCB2aWENCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVm bUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyks IGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAgICAgIHBhcmFtZXRlcnMgdGhlIDJCYXNlVEwt TyBQTUUgaW5pdGlhbGl6YXRpb24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQg dmlhIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3Vy cmVudCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0aGUNCiAgICAgICBvcGVyYXRpb25hbCBQTUUu DQoNCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cg Y3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmls ZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhl IGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxsIHJlZmVyZW5jZXMg YXJlIHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQu Ig0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDo6PQ0K ICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAg RWZtUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgICAgICAgICAg IFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAgIEVmbVBy b2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAgICAgICAg ICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRFR0VSLA0K ICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICB9 DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwg UE1FIFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRl eCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0 YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBlZm1D dVBtZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRl eHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQog ICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBk YXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1 bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0KDQog ICBlZm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFz IHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45 OTEuMl0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBE ZW5zaXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVzIGFu ZCBwbGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUs IHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KDQogICAgICAgUG9zc2libGUgdmFsdWVzIGZvciB0 aGlzIG9iamVjdCBhcmU6DQogICAgICAgICByZWdpb24xICAgICAgLSBBbm5leGVzIEEgYW5kIEYg KGUuZy4gTm9ydGggQW1lcmljYSkNCiAgICAgICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBh bmQgRyAoZS5nLiBFdXJvcGUpDQoNCiAgICAgICBBbm5leCBBL0Igc3BlY2lmeSByZWdpb25hbCBz ZXR0aW5ncyBmb3IgZGF0YSByYXRlcyAxOTItMjMwNA0KICAgICAgIEticHMgdXNpbmcgMTYtVENQ QU0gZW5jb2RpbmcuDQogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3Mg Zm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzDQogICAgICAgdXNpbmcgMTYtVENQQU0gZW5jb2Rpbmcg YW5kIDc2OC01Njk2IEticHMgdXNpbmcgMzItVENQQU0NCiAgICAgICBlbmNvZGluZy4NCg0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwg dGhlbiB0aGlzDQogICAgICAgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBSZWdpb24gYml0 cyBpbiB0aGUgMkIgZ2VuZXJhbA0KICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQyOyBbRy45OTEuMl0gQW5uZXhlcyBB LCBCLCBGIGFuZCBHIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDMgfQ0KDQog ICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgY3VzdG9tIFNw ZWN0cmFsIE1vZGUgZm9yIDJCQVNFLVRMIFBNRS4gVGhpcyBvYmplY3QNCiAgICAgICBpcyBhIHBv aW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgYW5kIGEgYmxvY2sNCiAg ICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hpY2ggdG9nZXRo ZXIgZGVmaW5lDQogICAgICAgKGNvdW50cnktc3BlY2lmaWMpIHJlYWNoIGRlcGVuZGVudCByYXRl IGxpbWl0YXRpb25zIGluDQogICAgICAgYWRkaXRpb24gdG8gdGhvc2UgZGVmaW5lZCBieSBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBp bmRleCBvZiB0aGUgcmVmZXJlbmNlZA0KICAgICAgIHNwZWN0cmFsIG1vZGUuDQogICAgICAgVGhl IHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNpZmljDQogICAg ICAgc3BlY3RyYWwgbW9kZSBpcyBhcHBsaWNhYmxlLg0KDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0 IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2Yg dGhlIGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgc3BlY3Ry YWwNCiAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUi DQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQ0KDQogICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg VW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0K ICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBj b25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBl cXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgSWYgZWZtQ3VQbWUy Qk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgaW4NCiAgICAg ICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBpcyBjb25zaWRlcmVk DQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRh aW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgbGltaXRhdGlvbnMgcGxhY2VkIGJ5IHRoZSBlZm1D dVBtZTJCUmVnaW9uIGFuZA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIE5vdGUg dGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAg cmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmplY3Qgb2YgSUYtTUlCLg0KDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIg UE1EDQogICAgICAgcGFyYW1ldGVycyByZWdpc3Rlci4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFT RS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQp S2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgVGhlIGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0Ut VEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVuDQogICAgICAgdGhlIHZhbHVlIG9mIHRo aXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZS4NCiAgICAgICBJ ZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZSBpbg0KICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlLCB0aGUgZGF0YSByYXRlIGlz IGNvbnNpZGVyZWQNCiAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBt YXhpbXVtIGF0dGFpbmFibGUgcmF0ZQ0KICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1h eERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwNCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQg YnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlLg0KDQog ICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUg aXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNYXggRGF0YSBSYXRlMSBiaXRz IGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLg0KDQogICAgICAgVGhp cyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyINCiAgICAgOjo9IHsgZWZt Q3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWUyQlBvd2VyICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTAuLjQyKQ0KICAgICBVTklUUyAgICAg ICAiMC41IGRCbSINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJTaWduYWwgVHJhbnNtaXQgUG93 ZXIuIE11bHRpcGxlIG9mIDAuNWRCbS4NCiAgICAgICBUaGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRt aW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0IHRoZQ0KICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bw0KICAgICAgIG1heGltaXpl IHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCBsaW1pdGF0aW9ucw0KICAg ICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLg0K DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVz ZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4g dGhlIDJCIFBNRCBwYXJhbWV0ZXJzDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNw YW0xNigxKSwNCiAgICAgICB0Y3BhbTMyKDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUQ1BBTSBDb25zdGVsbGF0aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhl IHBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAx Ni0gb3IgMzItVENQQU0NCiAgICAgICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAg ICAgIHRjcGFtMzIoMikgICAgIC0gMzItVENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFw dGl2ZSgwKSBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQg dGhlIGNvbnN0ZWxsYXRpb24gaXMgbm90IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAg ICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRh dGlvbnMNCiAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0 ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0 ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxl Um93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmlj YXRpb24gb3IgZGVsZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIHBlciB0aGUNCiAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVz Lg0KDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VB ZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1V U1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbA0KICAgICAgIHJlZmVyZW5jZXMgYXJlIHJlbW92 ZWQuDQoNCiAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFr ZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90 SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICBhZ2Fpbi4iDQog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9DQoNCg0KICAgZWZtQ3VQbWUyQnNN b2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQ bWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCB0 b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwgc3VwcG9ydHMNCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3INCiAgICAg ICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFsIGxpbWl0YXRpb25zIGluIGFkZGl0 aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAg ICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBs aW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0 ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1p dGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg cmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgTVVTVCBOT1QgYmUgZGVs ZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgIHJlbW92ZWQu DQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBk ZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgIHdoaWNoIGlzIHVzZWQgdG8gcmVmZXJl bmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICBlZm1DdTJCUmVhY2hSYXRl VGFibGUuDQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhl IHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMkJz TW9kZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUyQnNNb2RlRW50 cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAg ICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAg ICAgICAgICAgU25tcEFkbWluU3RyaW5nLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1 cyAgICAgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg IFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3Bl Y3RyYWwNCiAgICAgICBtb2RlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVm ZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgb2JqZWN0LiINCiAgICAgOjo9IHsg ZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZURlc2NyIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAy QkFTRS1UTCBQTUUNCiAgICAgICBzcGVjdHJhbCBtb2RlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRl IGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgY29ycmVzcG9uZGluZyAoY291bnRyeS1zcGVjaWZp Yykgc3BlY3RyYWwgcmVndWxhdGlvbnMNCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iDQogICAgIDo6PSB7IGVmbUN1UG1l MkJzTW9kZUVudHJ5IDIgfQ0KDQogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBv Zg0KICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBl ciB0aGUgc2VtYW50aWNzDQogICAgICAgb2YgUm93U3RhdHVzLg0KDQogICAgICAgSWYgYW4gJ2Fj dGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUNCiAgICAg ICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVt b3ZlZC4NCg0KICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4g SW4gb3JkZXIgdG8gbW9kaWZ5IGFuDQogICAgICAgZXhpc3RpbmcgZW50cnkgaXQgTVVTVCBiZSB0 YWtlbiBvdXQgb2Ygc2VydmljZSAoYnkgc2V0dGluZw0KICAgICAgIHRoaXMgb2JqZWN0IHRvICdu b3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJw0KICAgICAgIGFnYWluLiIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMyB9DQoNCg0KICAgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lMkJSZWFjaFJhdGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg dGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20NCiAgICAg ICBzcGVjdHJhbCBtb2RlcyBmb3IgMkJBU0UtVEwgUE1FcywgcHJvdmlkaW5nIHNwZWN0cmFsDQog ICAgICAgbGltaXRhdGlvbnMgaW4gYWRkaXRpb24gdG8gdGhvc2Ugc3BlY2lmaWVkIGJ5DQogICAg ICAgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgIFRoZSBzcGVjdHJhbCByZWd1bGF0aW9ucyBp biBzb21lIGNvdW50cmllcyAoZS5nLiBVSyBBTkZQKQ0KICAgICAgIGxpbWl0IHRoZSBsZW5ndGgg b2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuDQogICAgICAgVGhpcyB0YWJsZSBh bGxvd3MgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZQ0KICAgICAgIHNw ZWNpZmllZC4NCg0KICAgICAgIEJlbG93IGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB0YWJsZSBmb3Ig W0FORlBdOg0KICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgIEVxdWl2 YWxlbnQgTWF4UmF0ZSBNYXhSYXRlDQogICAgICAgICBMZW5ndGggICAgUEFNMTYgICBQQU0zMg0K ICAgICAgICAgICAobSkgICAgIChLYnBzKSAgKEticHMpDQogICAgICAgLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tLS0rDQogICAgICAgICAgIDk3NSAgICAgIDIzMDQgICAgNTY5Ng0KICAgICAgICAg IDExMjUgICAgICAyMzA0ICAgIDU1MDQNCiAgICAgICAgICAxMjc1ICAgICAgMjMwNCAgICA1MTIw DQogICAgICAgICAgMTM1MCAgICAgIDIzMDQgICAgNDg2NA0KICAgICAgICAgIDE0MjUgICAgICAy MzA0ICAgIDQ1NDQNCiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0Mjg4DQogICAgICAgICAg MTU3NSAgICAgIDIzMDQgICAgMzk2OA0KICAgICAgICAgIDE2NTAgICAgICAyMzA0ICAgIDM3NzYN CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwDQogICAgICAgICAgMTgwMCAgICAgIDIz MDQgICAgMzI2NA0KICAgICAgICAgIDE4NzUgICAgICAyMzA0ICAgIDMwNzINCiAgICAgICAgICAx OTUwICAgICAgMjA0OCAgICAyNjg4DQogICAgICAgICAgMjEwMCAgICAgIDE3OTIgICAgMjM2OA0K ICAgICAgICAgIDIyNTAgICAgICAxNTM2ICAgICAgIDANCiAgICAgICAgICAyNDAwICAgICAgMTQw OCAgICAgICAwDQogICAgICAgICAgMjU1MCAgICAgIDEyODAgICAgICAgMA0KICAgICAgICAgIDI3 NzUgICAgICAxMTUyICAgICAgIDANCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAwDQog ICAgICAgICAgMzE1MCAgICAgIDEwODggICAgICAgMA0KICAgICAgICAgIDMzNzUgICAgICAxMDI0 ICAgICAgIDANCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsNCg0KICAgICAgIEVu dHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRoZSBlZm1DdVBtZTJCc01vZGUNCiAg ICAgICBNVVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMg YXJlDQogICAgICAgcmVtb3ZlZC4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiW0FO RlBdIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJSZWFjaFJhdGVF bnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1h eGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0ZXMNCiAgICAgICBhbGxvd2VkIGZvciBhIGNlcnRh aW4gZXF1aXZhbGVudCBsb29wIGxlbmd0aCwgd2hlbiB1c2luZw0KICAgICAgIDE2LVRDUEFNIG9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlh bGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAgICAgICBleGNlZWQgb25lIG9mIHRoZSBm b2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1h eERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1l MkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJCUG93ZXINCiAgICAgICAtIG1heGltdW0g ZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICAg IGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxv b3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRoZSBQTUUuDQoNCiAgICAgICBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCB2YWx1ZXMN CiAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZy b20gdGhlDQogICAgICAgbWluaW11bSB2YWx1ZS4NCg0KICAgICAgIEVudHJpZXMgbWF5IGJlIGNy ZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUyUmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgSU5ERVggeyBl Zm1DdVBtZTJCc01vZGVJbmRleCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgOjo9 IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5k ZXggICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRM ZW5ndGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICAg ICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyAgICAg Um93U3RhdHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVjdHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUg aW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVk IHdpdGggZWFjaCBlbnJ5LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEg fQ0KDQogICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5 c2ljYWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdHICgw LjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVudWF0aW9u IGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgIGJyaWRnZWQgdGFwcy4iDQogICAg IDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUyQk1heERh dGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwx OTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIk1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0K ICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0xNiBlbmNvZGluZy4N CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTE2IGVuY29kaW5nIHNo b3VsZCBub3QgYmUNCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICA6Oj0geyBl Zm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBh bTMyICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2 KQ0KICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhp bXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBF cXVpdmFsZW50IGxvb3AncyBMZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2RpbmcuDQogICAgICAg VGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0zMiBlbmNvZGluZyBzaG91bGQgbm90 IGJlDQogICAgICAgdXNlZCBhdCB0aGlzIGRpc3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVs ZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hS YXRlVGFibGUgcGVyIHRoZQ0KICAgICAgIHNlbWFudGljcyBvZiBSb3dTdGF0dXMuDQoNCiAgICAg ICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUs IHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVu Y2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICBleGlzdGluZyBlbnRyeSBp dCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgdGhpcyBv YmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAg ICAgYWdhaW4uIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9DQoNCg0K ICAtLSAxMFBBU1MtVFMgc3BlY2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMTBQICAgICAg T0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9DQoNCiAgIGVmbUN1UG1lMTBQUHJv ZmlsZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25maWd1cmF0aW9uIHByb2ZpbGVzIGZvcg0KICAg ICAgIDEwUEFTUy1UUyBQTUVzLg0KICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhpcyB0YWJs ZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4MDIuM2Fo IEFubmV4IDYyQi4zKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0t LS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90Y2gg RFJhdGUgVVJhdGUNCiAgICAgICAgSW5kZXggIFBTRE1hc2sjICBwIyAgICBwIyAgICAgICAgcCMg ICAgcCMNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0t LS0tLS0tLQ0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAgMjAgICAg MjAoZGVmYXVsdCkNCiAgICAgICAgICAyICAgICAxMyAgICAgIDUgICAgMCAgICAgICAgICAgIDIw ICAgIDIwDQogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAgICAgICAgICAgICAyMCAgICAy MA0KICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAgICAxMDANCiAg ICAgICAgICA1ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgIDcwICAgIDUwDQogICAgICAg ICAgNiAgICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAgICAxMA0KICAgICAgICAgIDcg ICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzANCiAgICAgICAgICA4ICAgICAg OCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAgICAgICAgOSAgICAgIDQgICAg ICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAgMTAgICAgICA0ICAgICAgMCAg ICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgIDExICAgICAyMyAgICAgIDAgICAgMCAg ICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAxMiAgICAgMjMgICAgICAwICAgIDAgICAgICAg ICAgICAgNSAgICAgNQ0KICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAx MDAgICAxMDANCiAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAgMiw1LDksMTEgICAgIDcwICAg IDUwDQogICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIsNiwxMCwxMSAgICA1MCAgICAxMA0K ICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzANCiAgICAg ICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEwLDExICAgIDMwICAgICA1DQogICAgICAgICAx OCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAyNSAgICAyNQ0KICAgICAgICAgMTkgICAg ICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUNCiAgICAgICAgIDIwICAgICAyMyAg ICAgIDAgICAgMiw1LDksMTEgICAgIDEwICAgIDEwDQogICAgICAgICAyMSAgICAgMjMgICAgICAw ICAgIDIsNSw5LDExICAgICAgNSAgICAgNQ0KICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAw ICAgICAgICAgICAyMDAgICAgNTANCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFM TCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBN VVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0 IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBw cm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9m aWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFi bGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAzMC4xMS4yLjEuNiINCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQ0KICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUg MTBQQVNTLVRTIFBNRQ0KICAgICAgIHByb2ZpbGUuDQogICAgICAgRWFjaCBwcm9maWxlIGNvbnRh aW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcg0KICAgICAgIGNvbmZpZ3Vy YXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAxMFBBU1MtVFMgUE1FLg0KICAgICAgIEluIGNh c2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICBlZm1DdVBt ZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAg ICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0aW9uLg0KICAgICAg IElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVj dCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2Yg dGhlIFBNRS4NCg0KICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcg dGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1l MTBQUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScNCiAgICAgICB1bnRpbCBhbGwg cmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICBEZWZhdWx0IGVudHJpZXMgTVVTVCBOT1Qg YmUgcmVtb3ZlZC4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVJ bmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmls ZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5k cGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJl bmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxl cyAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElO VEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICAgIElOVEVHRVIs DQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAg ICB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFT Uy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVl IGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQogICAgICAgRW50cmllcyBpbiB0 aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAg IGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgdGV4 dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAxMFBBU1MtVFMgUE1FDQog ICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBk YXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1 bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAyIH0NCg0K ICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgSU5URUdFUiB7DQogICAgICAgcHJvZmlsZTEoMSksDQogICAgICAgcHJvZmlsZTIoMiks DQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQoNCksDQogICAgICAgcHJvZmls ZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJvZmlsZTcoNyksDQogICAgICAg cHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAgICAgcHJvZmlsZTEwKDEwKSwN CiAgICAgICBwcm9maWxlMTEoMTEpLA0KICAgICAgIHByb2ZpbGUxMigxMiksDQogICAgICAgcHJv ZmlsZTEzKDEzKSwNCiAgICAgICBwcm9maWxlMTQoMTQpLA0KICAgICAgIHByb2ZpbGUxNSgxNSks DQogICAgICAgcHJvZmlsZTE2KDE2KSwNCiAgICAgICBwcm9maWxlMTcoMTcpLA0KICAgICAgIHBy b2ZpbGUxOCgxOCksDQogICAgICAgcHJvZmlsZTE5KDE5KSwNCiAgICAgICBwcm9maWxlMjAoMjAp LA0KICAgICAgIHByb2ZpbGUyMSgyMSksDQogICAgICAgcHJvZmlsZTIyKDIyKSwNCiAgICAgICBw cm9maWxlMjMoMjMpLA0KICAgICAgIHByb2ZpbGUyNCgyNCksDQogICAgICAgcHJvZmlsZTI1KDI1 KSwNCiAgICAgICBwcm9maWxlMjYoMjYpLA0KICAgICAgIHByb2ZpbGUyNygyNyksDQogICAgICAg cHJvZmlsZTI4KDI4KSwNCiAgICAgICBwcm9maWxlMjkoMjkpDQogICAgIH0NCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEJhbmRwbGFuIGFuZCBQU0QgTWFzayBwcm9maWxl LA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFs dWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBOYW1lICAgIFBTRCBNYXNrICAg ICAgICAgICAgICAgICAgQmFuZHMgICAgIEJhbmRwbGFuDQogICAgICAgLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLQ0KICAgICAgIHBy b2ZpbGUxKDEpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgeC9EL1UvRC9VICBBDQogICAg ICAgcHJvZmlsZTIoMikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxl MygzKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlNCg0KSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU1KDUpICAgLSBUMS40MjQvVC1V IFAxIEZUVENhYi5NMSAgRC9EL1UvRC9VDQogICAgICAgcHJvZmlsZTYoNikgICAtIFQxLjQyNC9U LVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRD YWIuTTINCiAgICAgICBwcm9maWxlOCg4KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAg ICAgIHByb2ZpbGU5KDkpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgVS9EL1UvRC94DQog ICAgICAgcHJvZmlsZTEwKDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9m aWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlMTIoMTIp IC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGUxMygxMykgLSBUUzEgMTAx IDI3MC0xIFBjYWIuTTEuQSAgeC9EL1UvRC9VICBCDQogICAgICAgcHJvZmlsZTE0KDE0KSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTE1KDE1KSAtIFRTMSAxMDEgMjcw LTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTE2KDE2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAy Lk0xDQogICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMg0KICAgICAg IHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMg0KICAgICAgIHByb2ZpbGUx OSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAgIHByb2ZpbGUyMCgyMCkgLSBU UzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgVS9EL1UvRC94DQogICAgICAgcHJvZmlsZTIxKDIxKSAt IFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAxMDEg MjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTIzKDIzKSAtIFRTMSAxMDEgMjcwLTEgUGV4 LlAyLk0xDQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMg0KICAg ICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMg0KICAgICAgIHByb2Zp bGUyNigyNikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAgIHByb2ZpbGUyNygyNykg LSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9VICBGDQogICAgICAgcHJvZmls ZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNETikNCiAgICAgICBwcm9maWxl MjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9uKQ0KDQogICAgICAgVGhpcyBv YmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2ZpbGUgYXR0cmlidXRlDQogICAg ICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5l eCA2MkEsIDMwLjUuMS4xLjIyIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAz IH0NCg0KICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICBwcm9maWxl MigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICBw cm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KQ0KICAgICB9DQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNrLU9mZiAoVVBC TykgUmVmZXJlbmNlIFBTRA0KICAgICAgIFByb2ZpbGUsIGFzIHNwZWNpZmllZCBpbiA4MDIuM2Fo IEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzDQogICAgICAgYXJlOg0KICAgICAgICAgcHJvZmls ZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xDQogICAgICAgICBwcm9maWxl MigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTINCiAgICAgICAgIHByb2ZpbGUz KDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0KICAgICAgICAgcHJvZmlsZTQo NCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQogICAgICAgICBwcm9maWxlNSg1 KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmYW1wO0INCiAgICAgICAgIHByb2ZpbGU2 KDYpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQw0KICAgICAgICAgcHJvZmlsZTcoNykg ICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBEDQogICAgICAgICBwcm9maWxlOCg4KSAgIC0g RVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEUNCiAgICAgICAgIHByb2ZpbGU5KDkpICAgLSBFVFNJ IFRTIDEwMSAyNzAtMSAgTm9pc2UgRg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUg YVVQQk9SZWZlcmVuY2VQcm9maWxlIGF0dHJpYnV0ZQ0KICAgICAgIGluIENsYXVzZSAzMC4iDQog ICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNCwgMzAuNS4xLjEu MjMiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIEJJVFMgew0K ICAgICAgIHByb2ZpbGUwKDApLA0KICAgICAgIHByb2ZpbGUxKDEpLA0KICAgICAgIHByb2ZpbGUy KDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHByb2ZpbGU0KDQpLA0KICAgICAgIHBy b2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAgICAgIHByb2ZpbGU3KDcpLA0KICAg ICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkpLA0KICAgICAgIHByb2ZpbGUxMCgx MCksDQogICAgICAgcHJvZmlsZTExKDExKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt Y3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiMTBQQVNTLVRTIFBNRSBFZ3Jlc3MgQ29udHJvbCBCYW5kIE5vdGNoIFByb2ZpbGUgYml0bWFw LA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFs dWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0rLS0tLS0NCiAgICAgICBQcm9maWxlIE5hbWUgICAgRy45OTEuMyAgVDEu NDI0L1QtVSBUUzEwMSAyNzAtMSBTdGFydEYgRW5kRg0KICAgICAgICAgICAgICAgICAgICAgICBU YWJsZSAgICBUYWJsZSAgICAgIFRhYmxlICAgICAgIChNSHopICAoTUh6KQ0KICAgICAgIC0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQ0K ICAgICAgIHByb2ZpbGUwKDApICAgLSBubyBwcm9maWxlDQogICAgICAgcHJvZmlsZTEoMSkgICAt IEYtNSAjMDEgIC0gICAgICAgICAgLSAgICAgICAgICAgMS44MTAgIDEuODI1DQogICAgICAgcHJv ZmlsZTIoMikgICAtIDYtMiAgICAgIDE1LTEgICAgICAgMTcgICAgICAgICAgMS44MTAgIDIuMDAw DQogICAgICAgcHJvZmlsZTMoMykgICAtIEYtNSAjMDIgIC0gICAgICAgICAgLSAgICAgICAgICAg MS45MDcgIDEuOTEyDQogICAgICAgcHJvZmlsZTQoNCkgICAtIEYtNSAjMDMgIC0gICAgICAgICAg LSAgICAgICAgICAgMy41MDAgIDMuNTc1DQogICAgICAgcHJvZmlsZTUoNSkgICAtIDYtMiAgICAg IC0gICAgICAgICAgMTcgICAgICAgICAgMy41MDAgIDMuODAwDQogICAgICAgcHJvZmlsZTYoNikg ICAtIC0gICAgICAgIDE1LTEgICAgICAgLSAgICAgICAgICAgMy41MDAgIDQuMDAwDQogICAgICAg cHJvZmlsZTcoNykgICAtIEYtNSAjMDQgIC0gICAgICAgICAgLSAgICAgICAgICAgMy43NDcgIDMu NzU0DQogICAgICAgcHJvZmlsZTgoOCkgICAtIEYtNSAjMDUgIC0gICAgICAgICAgLSAgICAgICAg ICAgMy43OTEgIDMuODA1DQogICAgICAgcHJvZmlsZTkoOSkgICAtIDYtMiAgICAgIC0gICAgICAg ICAgMTcgICAgICAgICAgNy4wMDAgIDcuMTAwDQogICAgICAgcHJvZmlsZTEwKDEwKSAtIEYtNSAj MDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAgIDcuMzAwDQogICAgICAgcHJvZmlsZTEx KDExKSAtIDYtMiAgICAgIDE1LTEgICAgICAgMSAgICAgICAgICAgMTAuMTAwIDEwLjE1MA0KDQog ICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1Jp bmcNCiAgICAgICBpbmRpdmlkdWFsIHByb2ZpbGVzLCBmb3IgZXhhbXBsZSB2YWx1ZSBvZiAweDA2 MjIgc2VsZWN0cw0KICAgICAgIHByb2ZpbGVzIDIsNiwxMCBhbmQgMTEuDQoNCiAgICAgICBUaGlz IG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjUsIDMwLjUuMS4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA1 IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9m aWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJv ZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAw KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVh bSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBB bm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAg ICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9maWxlMTAoMTApICAgICAtIDUgTWJwcw0KICAgICAg ICAgcHJvZmlsZTE1KDE1KSAgICAgLSA3LjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAg ICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9maWxlMjUoMjUpICAgICAtIDEyLjUgTWJwcw0KICAg ICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAxNSBNYnBzDQogICAgICAgICBwcm9maWxlNTAoNTAp ICAgICAtIDI1IE1icHMNCiAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgIC0gMzUgTWJwcw0KICAg ICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1MCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJl cHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0cmVhbSBQYXlsb2FkDQogICAgICAg Qml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YgdGhlDQog ICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxv b3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGlu aXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwgZmFpbC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVVcHN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjYsIDMwLjUuMS4xLjIwIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2 IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9m aWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJv ZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAw KSwNCiAgICAgICBwcm9maWxlMTQwKDE0MCksDQogICAgICAgcHJvZmlsZTIwMCgyMDApDQogICAg IH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5 bG9hZCBSYXRlIFByb2ZpbGUsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXgg NjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIu NSBNYnBzDQogICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTUoMTUpICAgIC0gNy41IE1icHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBN YnBzDQogICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMzAoMzApICAgIC0gMTUgTWJwcw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1i cHMNCiAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICBwcm9maWxl MTAwKDEwMCkgIC0gNTAgTWJwcw0KICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAtIDcwIE1icHMN CiAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcw0KDQogICAgICAgRWFjaCB2YWx1 ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgRG93bnN0cmVhbQ0KICAgICAgIFBh eWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YN CiAgICAgICB0aGUgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24g dGhlIGxvb3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUg UE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwgZmFpbC4NCg0KICAgICAgIFRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgYXR0 cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g QW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjEiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmls ZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0K ICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIHBl ciB0aGUNCiAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVzLg0KDQogICAgICAgSWYgYW4gYWN0 aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRp bA0KICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgQW4gJ2FjdGl2 ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAg ICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBz ZXR0aW5nDQogICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBh bmQgc2V0ICdhY3RpdmUnDQogICAgICAgYWdhaW4uIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeSA4IH0NCg0KDQogICBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAg ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIHN0YXR1cyBpbmZv cm1hdGlvbiBvZiBFRk1DdSAxMFBBU1MtVFMNCiAgICAgICBQTUVzIChtb2RlbXMpLg0KDQogICAg ICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBz dWNoLA0KICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUx MFAgMiB9DQoNCiAgIGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNj ZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSAxMFBBU1MtVFMgUE1FIFN0YXR1cyB0YWJsZS4iDQog ICAgIEFVR01FTlRTIHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSB9DQogICAgIDo6PSB7IGVmbUN1UG1l MTBQU3RhdHVzVGFibGUgMSB9DQoNCiAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkgOjo9DQogICAg IFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgQ291 bnRlcjMyLA0KICAgICAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVy MzINCiAgICAgfQ0KDQogICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg Y291bnQgb2YgcmVjZWl2ZWQgYW5kIGNvcnJlY3RlZCBGRUMgY29kZXdvcmRzIGluIDEwUEFTUy1U Uw0KICAgICAgIFBNRS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ0NvcnJl Y3RlZEJsb2NrcyBhdHRyaWJ1dGUgaW4NCiAgICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBh IENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LA0KICAg ICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyBjb3JyZWN0YWJsZSBlcnJv cnMNCiAgICAgICByZWdpc3Rlcg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBp bmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSA0NS4yLjEuMjIsIDMwLjExLjIuMS44Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0Vu dHJ5IDEgfQ0KDQogICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBj b3VudCBvZiByZWNlaXZlZCBGRUMgY29kZXdvcmRzIGluIDEwUEFTUy1UUyBQTUUsIHdoaWNoIGFy ZQ0KICAgICAgIHVuY29ycmVjdGFibGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQ TUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4N Cg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlz IHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRkVDIHVu Y29ycmVjdGFibGUgZXJyb3JzDQogICAgICAgcmVnaXN0ZXINCg0KICAgICAgIERpc2NvbnRpbnVp dGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJl LWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRp bWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIzLCAzMC4xMS4yLjEuOSINCiAgICAgOjo9IHsgZWZt Q3VQbWUxMFBTdGF0dXNFbnRyeSAyIH0NCg0KICAtLQ0KICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1l bnRzDQogIC0tDQoNCiAgIGVmbUN1R3JvdXBzICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VDb25mb3JtYW5jZSAxIH0NCg0KICAgZWZtQ3VDb21wbGlhbmNlcyBPQkpFQ1QgSURFTlRJ RklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDIgfQ0KDQogICAtLSBPYmplY3QgR3JvdXBzDQoN CiAgIGVmbUN1QmFzaWNHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAg ZWZtQ3VQQUZTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VBZG1pblByb2ZpbGUsDQogICAgICAgZWZt Q3VUYXJnZXREYXRhUmF0ZSwNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiwNCiAgICAgICBlZm1D dUFkYXB0aXZlU3BlY3RyYSwNCiAgICAgICBlZm1DdVBvcnRTaWRlLA0KICAgICAgIGVmbUN1Rmx0 U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgbWFuYWdlbWVu dCBpbmZvcm1hdGlvbg0KICAgICAgIGNvbW1vbiBmb3IgYWxsIHR5cGVzIG9mIEVGTUN1IHBvcnRz LiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMSB9DQoNCiAgIGVmbUN1UEFGR3JvdXAgT0JKRUNU LUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCwNCiAg ICAgICBlZm1DdVBBRkNhcGFjaXR5LA0KICAgICAgIGVmbUN1UGVlclBBRkNhcGFjaXR5LA0KICAg ICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSwNCiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUsDQog ICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1TnVtUE1Fcw0K ICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBPUFRJT05BTCBQTUUNCiAgICAg ICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBhbmQgUEFGIGRpc2NvdmVyeSBpbiBFRk1DdSBw b3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDIgfQ0KDQogICBlZm1DdVBBRkVycm9yc0dy b3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBBRkluRXJyb3Jz LA0KICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluTGFy Z2VGcmFnbWVudHMsDQogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cywNCiAgICAgICBlZm1D dVBBRkluTG9zdEZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cywNCiAgICAg ICBlZm1DdVBBRkluTG9zdEVuZHMsDQogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cw0KICAgICB9 DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBj b2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBPUFRJT05BTCBlcnJvciBjb3VudGVycw0K ICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDMg fQ0KDQogICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsDQogICAg ICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZCwN CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBl LA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSwNCiAgICAgICBlZm1DdVBtZU9w ZXJQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lU25yTWduLA0KICAgICAgIGVmbUN1UG1lUGVlclNu ck1nbiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0 biwNCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgsDQogICAgICAgZWZtQ3VQbWVUQ0Nv ZGluZ0Vycm9ycywNCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzLA0KICAgICAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbg0KICAgICB9DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgYSAyQkFT RS1UTC8xMFBBU1MtVFMgUE1FLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9DQoNCiAgIGVm bUN1QWxhcm1Db25mR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVm bUN1VGhyZXNoTG93UmF0ZSwNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZSwNCiAg ICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmdFbmFibGUsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVT bnJNZ25Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlLA0K ICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUsDQogICAgICAgZWZtQ3VQbWVQcm90 b2NvbEluaXRGYWlsRW5hYmxlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5n IGNvbmZpZ3VyYXRpb24gb2YgYWxhcm0NCiAgICAgICB0aHJlc2hvbGRzIGFuZCBub3RpZmljYXRp b25zIGluIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNSB9DQoNCiAgIGVm bUN1Tm90aWZpY2F0aW9uR3JvdXAgTk9USUZJQ0FUSU9OLUdST1VQDQogICAgIE5PVElGSUNBVElP TlMgew0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQ bWVEZXZpY2VGYXVsdCwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlLA0KICAgICAg IGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KLS0gICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dCwNCi0tICAgICAgIGVmbUN1UG1lTG9jYWxQb3dlckxvc3MNCiAgICAgfQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9y dHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZpY2FudCBjb25kaXRpb25zDQogICAgICAgYXNzb2Np YXRlZCB3aXRoIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNiB9DQoNCiAg IGVmbUN1UG1lMkJQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwNCiAg ICAgICBlZm1DdVBtZTJCc01vZGUsDQogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLA0KICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwNCiAgICAgICBlZm1DdVBtZTJCUG93ZXIsDQogICAg ICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24sDQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dT dGF0dXMsDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUyQnNN b2RlUm93U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoLA0KICAgICAg IGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2LA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZVBhbTMyLA0KICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMNCiAgICAgfQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVj dGlvbiBvZiBvYmplY3RzIHRoYXQgY29uc3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICBw cm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRzLiINCiAgICAgOjo9IHsg ZWZtQ3VHcm91cHMgN30NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyLA0KICAgICAg IGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQVVBC T1JlZmVyZW5jZVByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcywN CiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUx MFBQYXlsb2FkRFJhdGVQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1 cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0aW9u DQogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlvbiBvZiAxMFBBU1MtVFMgcG9ydHMuIg0K ICAgICA6Oj0geyBlZm1DdUdyb3VwcyA4IH0NCg0KICAgZWZtQ3VQbWUxMFBTdGF0dXNHcm91cCBP QkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0 ZWRCbG9ja3MsDQogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2Nrcw0KICAgICB9 DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxl Y3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgc3RhdHVzIGluZm9ybWF0aW9uDQogICAgICAgc3Bl Y2lmaWMgdG8gMTBQQVNTLVRTIFBNRXMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA5IH0NCg0K ICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgZWZtQ3VDb21wbGlhbmNlIE1PRFVMRS1D T01QTElBTkNFDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVtZW50IGZvciAyQkFTRS1UTC8xMFBBU1MtVFMgaW50 ZXJmYWNlcy4NCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBj b21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBSRVFVSVJFRDoNCg0KICAgICAgIE1JQiBN b2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0t ICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAg ICAgICAgICBpZkNvbXBsaWFuY2UzDQogICAgICAgRXRoZXJMaWtlLU1JQiAgICAgICAgICBkb3Qz Q29tcGxpYW5jZTINCiAgICAgICBNQVUtTUlCICAgICAgICAgICAgICAgIG1hdU1vZElmQ29tcGwz DQoNCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlh bmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zIHN1 cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uDQogICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4 aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4gdGhlIFBDUw0KICAgICAgIGFuZCBQTUUgcG9ydHM6 DQoNCiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQog ICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAg IElGLUlOVkVSVEVELVNUQUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlDQogICAgICAgSUYtQ0FQLVNU QUNLLU1JQiAgICAgICBpZkNhcFN0YWNrQ29tcGxpYW5jZSINCg0KICAgICBNT0RVTEUgIC0tIHRo aXMgbW9kdWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBlZm1DdUJhc2lj R3JvdXAsDQogICAgICAgICBlZm1DdVBtZUdyb3VwLA0KICAgICAgICAgZWZtQ3VBbGFybUNvbmZH cm91cCwNCiAgICAgICAgIGVmbUN1Tm90aWZpY2F0aW9uR3JvdXANCiAgICAgICB9DQoNCiAgICAg ICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGlt cGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIg0KDQogICAg ICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXANCiAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3Ig aW1wbGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIDEwUEFTUy1UUyBQaHkuIg0KDQog ICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZHcm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcg0KICAgICAg ICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQ QUYpLiINCg0KICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXANCiAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwg Zm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikuIg0KDQogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBTdGF0dXNH cm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91 cCBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIDEw UEFTUy1UUyBQaHkuIg0KDQogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBv cnRlZA0KICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgICAgaWVlZTJCYXNlVExPKDAp LA0KICAgICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAgICAgICAgaWVlZTEwUGFzc1RTTygyKSwN CiAgICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAgICAgICB9DQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3VidHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dl dmVyIGF0IGxlYXN0DQogICAgICAgICBvbmUgdmFsdWUgU0hBTEwgYmUgc3VwcG9ydGVkIg0KDQog ICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUNCiAgICAgICBNSU4tQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBp cyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQTUVzDQogICAgICAgICBzdXBwb3J0aW5n IG1vcmUgdGhhbiBhIHNpbmdsZSBzdWJ0eXBlLCBlLmcuDQogICAgICAgICBpZWVlMkJhc2VUTE8g YW5kIGllZWUyQmFzZVRMUiBvciBpZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgaWVlZTEwUGFz c1RTUikiDQoNCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdVRhcmdldFNuck1nbg0KICAgICAgIE1J Ti1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiV3JpdGUg YWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAgICAg ICAgdGhlIHRhcmdldCBTTlIgbWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVkQiBmb3IgMkJBU0Ut VEwNCiAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iDQoNCiAgICAgICBPQkpFQ1QgICAg ICBlZm1DdUFkYXB0aXZlU3BlY3RyYQ0KICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3Ig UEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hP VUxEIGJlIGZhbHNlLiINCg0KICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KRU5EDQo8 L3ByZT48L2Rpdj4NCjxhIG5hbWU9ImFuY2hvcjIwIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUg c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJU T0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9j Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2Vj dGlvbi43Ij48L2E+PGgzPjcuJm5ic3A7DQpTZWN1cml0eSBDb25zaWRlcmF0aW9uczwvaDM+DQoN CjxwPg0KICBUaGVyZSBpcyBhIG51bWJlciBvZiBtYW5hZ2VkIG9iamVjdHMgZGVmaW5lZCBpbiB0 aGUgRUZNLUNVLU1JQiBtb2R1bGUNCiAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBjbGF1c2Ugb2Yg cmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4NCiAgTW9zdCBvYmplY3RzIGFyZSB3cml0ZWFibGUg b25seSB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogIFdyaXRpbmcgdG8gdGhlc2Ugb2JqZWN0cyBj YW4gaGF2ZSBwb3RlbnRpYWxseQ0KICBkaXNydXB0aXZlIGVmZmVjdHMgb24gbmV0d29yayBvcGVy YXRpb24sIGZvciBleGFtcGxlOg0KIA0KPC9wPg0KPHA+DQogIDwvcD4NCjx1bCBjbGFzcz0idGV4 dCI+DQo8bGk+Q2hhbmdpbmcgb2YgZWZtQ3VQbWVBZG1pblN1YlR5cGUgbWF5IGxlYWQgdG8gYSBw b3RlbnRpYWwgbG9ja2luZw0KICAgICAgb2YgdGhlIGxpbmssIGFzIHBlZXIgUE1FcyBvZiB0aGUg c2FtZSBzdWItdHlwZSBjYW5ub3QgZXhjaGFuZ2UNCiAgICAgIGhhbmRzaGFrZSBtZXNzYWdlcy4N CjwvbGk+DQo8bGk+Q2hhbmdpbmcgb2YgZWZtQ3VQQUZBZG1pblN0YXRlIHRvIGVuYWJsZWQgbWF5 IGxlYWQgdG8gYQ0KICAgICAgcG90ZW50aWFsIGxvY2tpbmcgb2YgdGhlIGxpbmssIGlmIHRoZSBw ZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBBRi4NCjwvbGk+DQo8bGk+Q2hhbmdpbmcgb2YgZWZt Q3VQQUZEaXNjb3ZlcnlDb2RlLCBiZWZvcmUgdGhlIGRpc2NvdmVyeSBvcGVyYXRpb24sDQogICAg ICBtYXkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2NvdmVyeSwgZm9yIGV4YW1wbGUgd2hlbiB0d28g LU8gcG9ydHMNCiAgICAgIGFyZSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgbXVsdGktUE1FIC1SIHBv cnQgYW5kIGJvdGggLU8gcG9ydHMNCiAgICAgIGhhdmUgdGhlIHNhbWUgRGlzY292ZXJ5IHJlZ2lz dGVyIHZhbHVlLg0KPC9saT4NCjxsaT5DaGFuZ2luZyBQQ1Mgb3IgUE1FIGNvbmZpZ3VyYXRpb24g cGFyYW1ldGVycyAoZS5nLiBwcm9maWxlIG9mIGENCiAgICAgIFBDUyBvciBQTUUgdmlhIGVmbUN1 QWRtaW5Qcm9maWxlIG9yIGVmbUN1UG1lQWRtaW5Qcm9maWxlKQ0KICAgICAgbWF5IGxlYWQgdG8g YW55dGhpbmcgZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJhdGUgZGVncmFkYXRpb24NCiAgICAgIHRv IGEgY29tcGxldGUgbGluayBpbml0aWFsaXphdGlvbiBmYWlsdXJlLCBhcyBhYmlsaXR5IG9mIGFu DQogICAgICBFRk1DdSBwb3J0IHRvIHN1cHBvcnQgYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24g ZGVwZW5kcyBvbiB0aGUgY29wcGVyDQogICAgICBlbnZpcm9ubWVudC4NCjwvbGk+DQo8bGk+QWN0 aXZhdGlvbiBvZiBhIFBNRSBjYW4gY2F1c2UgYSBzZXZlcmUgZGVncmFkYXRpb24gb2YNCiAgICAg IHNlcnZpY2UgZm9yIGFub3RoZXIgRUZNQ3UgUGh5LCB3aG9zZSBQTUUocykgbWF5IGJlIGFmZmVj dGVkIGJ5DQogICAgICB0aGUgY3Jvc3MtdGFsayBmcm9tIHRoZSBuZXdseSBhY3RpdmF0ZWQgUE1F Lg0KPC9saT4NCjxsaT5SZW1vdmFsIG9mIGEgUE1FIGZyb20gYW4gb3BlcmF0aW9uYWxseSAndXAn IEVGTUN1IHBvcnQsDQogICAgICBhZ2dyZWdhdGluZyBzZXZlcmFsIFBNRXMsIG1heSBjYXVzZSBw b3J0J3MgcmF0ZSBkZWdyYWRhdGlvbg0KPC9saT4NCjwvdWw+PHA+DQogDQo8L3A+DQo8cD4NCiAg VGhlIHVzZXIgb2YgdGhlIEVGTS1DVS1NSUIgbW9kdWxlIG11c3QgdGhlcmVmb3JlIGJlIGF3YXJl IHRoYXQgc3VwcG9ydCBmb3INCiAgU0VUIG9wZXJhdGlvbnMgaW4gYSBub24tc2VjdXJlIGVudmly b25tZW50IHdpdGhvdXQgcHJvcGVyIHByb3RlY3Rpb24NCiAgY2FuIGhhdmUgYSBuZWdhdGl2ZSBl ZmZlY3Qgb24gbmV0d29yayBvcGVyYXRpb25zLg0KIA0KPC9wPg0KPHA+DQogIFRoZSByZWFkYWJs ZSBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSAoaS5lLiwgdGhvc2Ugd2l0aCBNQVgt QUNDRVNTDQogIG90aGVyIHRoYW4gbm90LWFjY2Vzc2libGUpIG1heSBiZSBjb25zaWRlcmVkIHNl bnNpdGl2ZSBpbiBzb21lDQogIGVudmlyb25tZW50cyBzaW5jZSwgY29sbGVjdGl2ZWx5LCB0aGV5 IHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlDQogIHBlcmZvcm1hbmNlIG9mIG5ldHdvcmsg aW50ZXJmYWNlcyBhbmQgY2FuIHJldmVhbCBzb21lIGFzcGVjdHMgb2YNCiAgdGhlaXIgY29uZmln dXJhdGlvbi4gIEluIHBhcnRpY3VsYXIsIHNpbmNlIEVGTUN1IGNhbiBiZSBjYXJyaWVkIG92ZXIN CiAgVW5zaGllbGRlZCBUd2lzdGVkIFBhaXIgKFVUUCkgdm9pY2UgZ3JhZGUgY29wcGVyIGluIGEg YnVuZGxlIHdpdGgNCiAgb3RoZXIgcGFpcnMgYmVsb25naW5nIHRvIGFub3RoZXIgb3BlcmF0b3Iv Y3VzdG9tZXIsIGl0IGlzDQogIHRoZW9yZXRpY2FsbHkgcG9zc2libGUgdG8gZXZhc2Ryb3AgdG8g YW4gRUZNQ3UgdHJhbnNtaXNzaW9uIHNpbXBseSBieQ0KICAibGlzdGVuaW5nIiB0byBhIGNyb3Nz LXRhbGsgZnJvbSB0aGUgRUZNQ3UgcGFpcnMsIGVzcGVjaWFsbHkgaWYgdGhlDQogIHBhcmFtZXRl cnMgb2YgdGhlIEVGTUN1IGxpbmsgaW4gcXVlc3Rpb24gYXJlIGtub3duLg0KIA0KPC9wPg0KPHA+ DQogIEluIHN1Y2ggZW52aXJvbm1lbnRzIGl0IGlzIGltcG9ydGFudCB0byBjb250cm9sIGFsc28N CiAgR0VUIGFuZCBOT1RJRlkgYWNjZXNzIHRvIHRoZXNlIG9iamVjdHMgYW5kIHBvc3NpYmx5IGV2 ZW4gdG8NCiAgZW5jcnlwdCB0aGVpciB2YWx1ZXMgd2hlbiBzZW5kaW5nIHRoZW0gb3ZlciB0aGUg bmV0d29yayB2aWEgU05NUC4NCiANCjwvcD4NCjxwPg0KICBTTk1QIHZlcnNpb25zIHByaW9yIHRv IFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2VjdXJpdHkuDQogIEV2ZW4gaWYgdGhl IG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9yIGV4YW1wbGUgYnkgdXNpbmcgSVBzZWMpLA0K ICBldmVuIHRoZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9uIHRoZSBzZWN1cmUg bmV0d29yayBpcw0KICBhbGxvd2VkIHRvIGFjY2VzcyBhbmQgR0VUL1NFVCAocmVhZC9jaGFuZ2Uv Y3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMNCiAgaW4gdGhlc2UgTUlCIG1vZHVsZXMuDQogDQo8 L3A+DQo8cD4NCiAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBpbXBsZW1lbnRlcnMgY29uc2lkZXIg dGhlIHNlY3VyaXR5IGZlYXR1cmVzIGFzDQogIHByb3ZpZGVkIGJ5IHRoZSBTTk1QdjMgZnJhbWV3 b3JrIChzZWUgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMzNDEwJz5bUkZDMzQxMF08c3Bhbj4g KDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+Q2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwg RC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87SW50cm9kdWN0aW9uIGFuZCBBcHBsaWNhYmlsaXR5 IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrLCZy ZHF1bzsgRGVjZW1iZXImbmJzcDsyMDAyLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIHNlY3Rp b24gOCksDQogIGluY2x1ZGluZyBmdWxsIHN1cHBvcnQgZm9yIHRoZSBTTk1QdjMgY3J5cHRvZ3Jh cGhpYyBtZWNoYW5pc21zIChmb3INCiAgYXV0aGVudGljYXRpb24gYW5kIHByaXZhY3kpLg0KIA0K PC9wPg0KPHA+DQogIEZ1cnRoZXIsIGRlcGxveW1lbnQgb2YgU05NUCB2ZXJzaW9ucyBwcmlvciB0 byBTTk1QdjMgaXMgTk9UDQogIFJFQ09NTUVOREVELiAgSW5zdGVhZCwgaXQgaXMgUkVDT01NRU5E RUQgdG8gZGVwbG95IFNOTVB2MyBhbmQgdG8NCiAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJp dHkuICBJdCBpcyB0aGVuIGEgY3VzdG9tZXIvb3BlcmF0b3INCiAgcmVzcG9uc2liaWxpdHkgdG8g ZW5zdXJlIHRoYXQgdGhlIFNOTVAgZW50aXR5IGdpdmluZyBhY2Nlc3MgdG8gYW4NCiAgaW5zdGFu Y2Ugb2YgdGhlc2UgTUlCIG1vZHVsZXMgaXMgcHJvcGVybHkgY29uZmlndXJlZCB0byBnaXZlIGFj Y2VzcyB0bw0KICB0aGUgb2JqZWN0cyBvbmx5IHRvIHRob3NlIHByaW5jaXBhbHMgKHVzZXJzKSB0 aGF0IGhhdmUgbGVnaXRpbWF0ZQ0KICByaWdodHMgdG8gaW5kZWVkIEdFVCBvciBTRVQgKGNoYW5n ZS9jcmVhdGUvZGVsZXRlKSB0aGVtLg0KIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjEiPjwvYT48 YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxs c3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJU T0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJs ZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjgiPjwvYT48aDM+OC4mbmJzcDsNCklBTkEgQ29uc2lk ZXJhdGlvbnM8L2gzPg0KDQo8cD4NCiAgVGhlIHR3byBuZXcgdmFsdWVzIG9mIGRvdDNNYXVUeXBl IChkb3QzTWF1VHlwZTJCYXNlVEwgYW5kDQogIGRvdDNNYXVUeXBlMTBQYXNzVFMpIGFuZCBjb3Jy ZXNwb25kaW5nIElBTkFpZk1hdVR5cGVMaXN0Qml0cyBiaXQNCiAgZGVmaW5pdGlvbnMgKGIyQmFz ZVRMIGFuZCBiMTBQYXNzVFMpLCBhcyB3ZWxsIGFzIHRoZSBuZXcgdmFsdWVzIGZvcg0KICBJQU5B aWZNYXVNZWRpYUF2YWlsYWJsZSAoYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHkpIFNIQUxMIGJl DQogIGRlZmluZWQgYnkgdGhlIElBTkEgaW4gdGhlIElBTkEtTUFVLU1JQiBtb2R1bGUgKHNlZQ0K ICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzJz5bSSYj ODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2MzZiaXNdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFn ZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAgICAgICAgICAgIEF0dGFjaG1lbnQg VW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+ PC9hPikgYmVmb3JlIHRoaXMgZG9jdW1lbnQgaXMNCiAgcHVibGlzaGVkIGFzIGFuIFJGQy4NCiAN CjwvcD4NCjxwPg0KICBBZGRpdGlvbmFsbHksIG9iamVjdCBpZGVudGlmaWVycyBmb3IgZWZtQ3VN SUIgTU9EVUxFLUlERU5USVRZIGFuZA0KICBpZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBT SEFMTCBiZSBhbGxvY2F0ZWQgYnkgSUFOQSBpbiB0aGUNCiAgTUlCLTIgc3ViLXRyZWUsIGJlZm9y ZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxpc2hlZC4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIy Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj bGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3Ry PjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi45Ij48L2E+PGgzPjkuJm5ic3A7DQpBY2tu b3dsZWRnbWVudHM8L2gzPg0KDQo8cD4NCiAgIFRoaXMgZG9jdW1lbnQgd2FzIHByb2R1Y2VkIGJ5 IHRoZQ0KICAgPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1p Yi1jaGFydGVyLmh0bWwnPklFVEYNCiAgIEV0aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIg V29ya2luZyBHcm91cDwvYT4sIHdob3NlIGVmZm9ydHMNCiAgIHdlcmUgZ3JlYXRseSBhZHZhbmNl ZCBieSB0aGUgY29udHJpYnV0aW9ucyBvZiB0aGUgZm9sbG93aW5nIHBlb3BsZQ0KICAgKGluIGFs cGhhYmV0aWNhbCBvcmRlcik6DQoNCiAgPC9wPg0KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPg0K PHA+QmVydCBXaWpuZW4gKEFsY2F0ZWwpDQo8L3A+DQo8cD5EYW4gUm9tYXNjYW51IChBdmF5YSkN CjwvcD4NCjxwPk1hcmluYSBQb3BpbG92IChBY3RlbGlzKQ0KPC9wPg0KPHA+TWF0aGlhcyBSaWVz cyAoSW5maW5lb24pDQo8L3A+DQo8cD5NYXR0IFNxdWlyZSAoSGF0dGVyYXMpDQo8L3A+DQo8cD5N aWtlIEhlYXJkDQo8L3A+DQo8cD5VZGkgQXNoa2VuYXppIChBY3RlbGlzKQ0KPC9wPg0KPC9ibG9j a3F1b3RlPjxwPg0KIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjEwIj48L2E+PGgzPjEwLiZuYnNwOw0KTm90ZXMgdG8gUkZDIEVkaXRvcjwv aDM+DQoNCjxwPg0KICAgVGhpcyBzZWN0aW9uIGNvbnRhaW5zIG5vdGVzIHRvIHRoZSBSRkMgRWRp dG9yIGFuZCBzaG91bGQgYmUgcmVtb3ZlZA0KcHJpb3IgdG8gcHVibGljYXRpb24uDQogPC9wPg0K PGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPg0KPHA+UGxlYXNlIHJlcGxhY2UgIDxhIGNsYXNzPSdp bmZvJyBocmVmPScjSS1ELmlldGYtaHVibWliLWVmbS1taWInPltJJiM4MjA5O0QuaWV0ZiYjODIw OTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O21pYl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+U3F1aXJlLCBNLiwgJmxkcXVvO0RlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMg Zm9yIE9BTSBGdW5jdGlvbnMgICAgICAgICAgICAgIG9uIEV0aGVybmV0IExpa2UgSW50ZXJmYWNl cywmcmRxdW87IE9jdG9iZXImbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5k DQo8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzJz5bSSYj ODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2MzZiaXNdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFn ZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAgICAgICAgICAgIEF0dGFjaG1lbnQg VW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+ PC9hPiB3aXRoIGFjdHVhbCBSRkMgbnVtYmVycyBpZg0KdGhvc2UgYXJlIGF2YWlsYWJsZSBhdCB0 aW1lIG9mIHB1YmxpY2F0aW9uLg0KPC9wPg0KPC9ibG9ja3F1b3RlPjxwPg0KIA0KPC9wPg0KPGEg bmFtZT0icmZjLnJlZmVyZW5jZXMiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJs YXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RP QyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjExIj48 L2E+PGgzPjExLiZuYnNwOw0KUmVmZXJlbmNlczwvaDM+DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVu Y2VzMSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48 dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+ PC90cj48L3RhYmxlPg0KPGgzPjExLjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPg0K PHRhYmxlIHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4 dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IjgwMi4zIj5bODAyLjNdPC9hPjwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3N0YW5kYXJkcy5p ZWVlLm9yZy9nZXRpZWVlODAyLzgwMi4zLmh0bWwiPklFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0 aW9uIHRlY2hub2xvZ3kgLQ0KICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0 aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtDQogICAgICAgIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtDQog ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uDQogICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNh bCBMYXllciBTcGVjaWZpY2F0aW9uczwvYT4sJnJkcXVvOyBJRUVFIFN0ZCZuYnNwOzgwMi4zLTIw MDUsIERlY2VtYmVyJm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It dGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IjgwMi4zYWgiPls4MDIuM2FoXTwvYT48L3RkPg0K PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SUVFRSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly9zdGFu ZGFyZHMuaWVlZS5vcmcvZ2V0aWVlZTgwMi9kb3dubG9hZC84MDIuM2FoLTIwMDQucGRmIj5JRUVF IFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0NCiAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLQ0KICAg ICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVj aWZpYyByZXF1aXJlbWVudHMgLQ0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlw bGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbg0KICAgICAgICAoQ1NNQS9DRCkgQWNj ZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBB bWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAg ICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vz cyBOZXR3b3JrczwvYT4sJnJkcXVvOyBJRUVFIFN0ZCZuYnNwOzgwMi4zYWgtMjAwNCwgU2VwdGVt YmVyJm5ic3A7MjAwNC48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs aWduPSJ0b3AiPjxhIG5hbWU9IkcuOTkxLjIiPltHLjk5MS4yXTwvYT48L3RkPg0KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+SVRVLVQsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lml0dS5pbnQv cmVjL3JlY29tbWVuZGF0aW9uLmFzcD90eXBlPWZvbGRlcnMmYW1wO2xhbmc9ZSZhbXA7cGFyZW50 PVQtUkVDLUcuOTkxLjIiPlNpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVy IExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnM8L2E+LCZyZHF1bzsgSVRVLVQgUmVjb21tZW5kYXRp b24mbmJzcDtHLjk5MS4yLCBEZWNlbWJlciZuYnNwOzIwMDMuPC90ZD48L3RyPg0KPHRyPjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJHLjk5My4xIj5bRy45OTMu MV08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklUVS1ULCAmbGRxdW87PGEgaHJl Zj0iaHR0cDovL3d3dy5pdHUuaW50L3JlYy9yZWNvbW1lbmRhdGlvbi5hc3A/dHlwZT1mb2xkZXJz JmFtcDtsYW5nPWUmYW1wO3BhcmVudD1ULVJFQy1HLjk5My4xIj5WZXJ5IEhpZ2ggc3BlZWQgRGln aXRhbCBTdWJzY3JpYmVyIExpbmUgdHJhbnNjZWl2ZXJzPC9hPiwmcmRxdW87IElUVS1UIFJlY29t bWVuZGF0aW9uJm5ic3A7Ry45OTMuMSwgSnVuZSZuYnNwOzIwMDQuPC90ZD48L3RyPg0KPHRyPjx0 ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJt aWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXTwvYT48L3RkPg0KPHRk IGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlz LmNvbSI+QmVpbGksIEUuPC9hPiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcv aW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaHVibWliLXJmYzM2MzZiaXMtMDUudHh0Ij5EZWZp bml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtDQogICAgICAg ICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFVcyk8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJt aWItcmZjMzYzNmJpcy0wNSAod29yayBpbiBwcm9ncmVzcyksIEp1bHkmbmJzcDsyMDA2LjwvdGQ+ PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0i UkZDMjExOSI+W1JGQzIxMTldPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBo cmVmPSJtYWlsdG86c29iQGhhcnZhcmQuZWR1Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBo cmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZv ciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsg QkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIxMTksIE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iaHR0 cDovL3htbC5yZXNvdXJjZS5vcmcvcHVibGljL3JmYy9odG1sL3JmYzIxMTkuaHRtbCI+SFRNTDwv YT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1YmxpYy9yZmMveG1sL3JmYzIx MTkueG1sIj5YTUw8L2E+KS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIg dmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzgiPltSRkMyNTc4XTwvYT48L3RkPg0KPHRkIGNs YXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hy aWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lu cywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9l bndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5k IFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rl cy9yZmMyNTc4LnR4dCI+U3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lv biAyIChTTUl2Mik8L2E+LCZyZHF1bzsgU1REJm5ic3A7NTgsIFJGQyZuYnNwOzI1NzgsIEFwcmls Jm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzkiPltSRkMyNTc5XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJh dXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsu PC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48 L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxk ZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdh bGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMy NTc5LnR4dCI+VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjI8L2E+LCZyZHF1bzsgU1REJm5i c3A7NTgsIFJGQyZuYnNwOzI1NzksIEFwcmlsJm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRk IGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1ODAiPltSRkMy NTgwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6 bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5z QHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9l bndAaWJyLmNzLnR1LWJzLmRlIj5KLiBTY2hvZW53YWVsZGVyPC9hPiwgJmxkcXVvOzxhIGhyZWY9 ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI1ODAudHh0Ij5Db25mb3JtYW5jZSBTdGF0 ZW1lbnRzIGZvciBTTUl2MjwvYT4sJnJkcXVvOyBTVEQmbmJzcDs1OCwgUkZDJm5ic3A7MjU4MCwg QXByaWwmbmJzcDsxOTk5LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2 YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjg2MyI+W1JGQzI4NjNdPC9hPjwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9seiwgJmxkcXVv OzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0Ij5UaGUgSW50 ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVuZSZuYnNwOzIw MDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48 YSBuYW1lPSJSRkMyODY0Ij5bUkZDMjg2NF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiPk1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9m dHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyODY0LnR4dCI+VGhlIEludmVydGVkIFN0YWNrIFRhYmxl IEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5i c3A7Mjg2NCwgSnVuZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08L2E+PC90ZD4N Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkZsaWNrLCBKLiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDov L2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzM2MzUudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIHRoZSBFdGhlcm5ldC1saWtlIEludGVyZmFjZSBUeXBlczwvYT4sJnJkcXVv OyBSRkMmbmJzcDszNjM1LCBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4NCjwvdGFibGU+ DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVuY2VzMiI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1 bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+ Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGgzPjExLjIuJm5ic3A7SW5m b3JtYXRpdmUgUmVmZXJlbmNlczwvaDM+DQo8dGFibGUgd2lkdGg9Ijk5JSIgYm9yZGVyPSIwIj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iQU5GUCI+ W0FORlBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5OZXR3b3JrIEludGVyb3Bl cmFiaWxpdHkgQ29uc3VsdGF0aXZlIENvbW1pdHRlZSAoTklDQyksICZsZHF1bzs8YSBocmVmPSJo dHRwOi8vd3d3Lm5pY2Mub3JnLnVrL25pY2MtcHVibGljL1B1YmxpYy9pbnRlcmNvbm5lY3RzdGFu ZGFyZHMvZHNsdGdfc3BlYy9uZDE2MDJfMjAwNV8wOC5wZGYiPlNwZWNpZmljYXRpb24gb2YgdGhl IEFjY2VzcyBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQKQ0KICAgICAgICBhcHBsaWNhYmxl IHRvIHRyYW5zbWlzc2lvbiBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2VzcyBOZXR3b3JrPC9h PiwmcmRxdW87IE5JQ0MgRG9jdW1lbnQmbmJzcDtORDE2MDI6MjAwNS8wOCwgQXVndXN0Jm5ic3A7 MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3Ai PjxhIG5hbWU9IkktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWIiPltJLUQuaWV0Zi1odWJtaWIt ZWZtLWVwb24tbWliXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0i bWFpbHRvOmxpb3Jfa2hlcm1vc2hAcG1jLXNpZXJyYS5jb20iPktoZXJtb3NoLCBMLjwvYT4sICZs ZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1p ZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDYudHh0Ij5NYW5hZ2VkIE9iamVjdHMgb2YgRVBPTjwv YT4sJnJkcXVvOyBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDYgKHdvcmsgaW4gcHJv Z3Jlc3MpLCBOb3ZlbWJlciZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0 aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItZWZtLW1pYiI+ W0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWliXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+PGEgaHJlZj0ibWFpbHRvOm1zcXVpcmVAaGF0dGVyYXNuZXR3b3Jrcy5jb20iPlNxdWlyZSwg TS48L2E+LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFm dHMvZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNS50eHQiPkRlZmluaXRpb25zIGFuZCBNYW5h Z2VkIE9iamVjdHMgZm9yIE9BTSBGdW5jdGlvbnMNCiAgICAgICAgICAgICBvbiBFdGhlcm5ldCBM aWtlIEludGVyZmFjZXM8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNSAo d29yayBpbiBwcm9ncmVzcyksIE9jdG9iZXImbmJzcDsyMDA2LjwvdGQ+PC90cj4NCjx0cj48dGQg Y2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSUFOQWlmVHlwZS1NSUIi PltJQU5BaWZUeXBlLU1JQl08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkludGVy bmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5IChJQU5BKSwgJmxkcXVvOzxhIGhyZWY9Imh0 dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaWFuYWlmdHlwZS1taWIiPklBTkFpZlR5cGUg VGV4dHVhbCBDb252ZW50aW9uIGRlZmluaXRpb248L2E+LCZyZHF1bzsgJm5ic3A7aHR0cDovL3d3 dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9pYW5haWZ0eXBlLW1pYi48L3RkPjwvdHI+DQo8dHI+PHRk IGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM0MTAiPltSRkMz NDEwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Q2FzZSwgSi4sIE11bmR5LCBS LiwgUGFydGFpbiwgRC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRw LmlzaS5lZHUvaW4tbm90ZXMvcmZjMzQxMC50eHQiPkludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJp bGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50IEZyYW1ld29y azwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNDEwLCBEZWNlbWJlciZuYnNwOzIwMDIuPC90ZD48L3Ry Pg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkM0 MDcwIj5bUkZDNDA3MF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkRvZGdlLCBN LiBhbmQgQi4gUmF5LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMv cmZjNDA3MC50eHQiPkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0IEV4dGVuc2lvbnMgZm9y IFZlcnkgSGlnaCBTcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZXMgKFZEU0wpIFVzaW5nIE11 bHRpcGxlIENhcnJpZXIgTW9kdWxhdGlvbiAoTUNNKSBMaW5lIENvZGluZzwvYT4sJnJkcXVvOyBS RkMmbmJzcDs0MDcwLCBNYXkmbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1 dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDNDMxOSI+W1JGQzQzMTldPC9hPjwv dGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5TaWtlcywgQy4sIFJheSwgQi4sIGFuZCBSLiBB YmJpLCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjNDMxOS50 eHQiPkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSGlnaCBCaXQtUmF0ZSBEU0wg LSAybmQgZ2VuZXJhdGlvbiAoSERTTDIpIGFuZCBTaW5nbGUtUGFpciBIaWdoLVNwZWVkIERpZ2l0 YWwgU3Vic2NyaWJlciBMaW5lIChTSERTTCkgTGluZXM8L2E+LCZyZHF1bzsgUkZDJm5ic3A7NDMx OSwgRGVjZW1iZXImbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJm Yy5hdXRob3JzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxs cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+ PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+ PC90ZD48L3RyPjwvdGFibGU+DQo8aDM+QXV0aG9yJ3MgQWRkcmVzczwvaDM+DQo8dGFibGUgd2lk dGg9Ijk5JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPg0KPHRy Pjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij5FZHdhcmQgQmVpbGk8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+ Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkFjdGVsaXMgTmV0d29ya3M8L3Rk PjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiPkJhemVsIDI1PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5QZXRhY2gtVGlrdmE8 L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiPklzcmFlbDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ciIgYWxpZ249InJpZ2h0Ij5QaG9uZTombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+Kzk3Mi0zLTkyNC0zNDkxPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGln bj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBo cmVmPSJtYWlsdG86ZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIj5lZHdhcmQuYmVpbGlAYWN0ZWxp cy5jb208L2E+PC90ZD48L3RyPg0KPC90YWJsZT4NCjxhIG5hbWU9InJmYy5jb3B5cmlnaHQiPjwv YT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNz PSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4NCjxoMz5GdWxsIENvcHlyaWdodCBTdGF0ZW1lbnQ8L2gzPg0KPHAgY2xhc3M9J2NvcHly aWdodCc+DQpDb3B5cmlnaHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQo8cCBj bGFzcz0nY29weXJpZ2h0Jz4NClRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmlnaHRz LA0KbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQJm5ic3A7NzgsDQph bmQgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLA0KdGhlIGF1dGhvcnMgcmV0YWluIGFsbCB0 aGVpciByaWdodHMuPC9wPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGlzIGRvY3VtZW50IGFu ZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQNCm9uIGFuICZs ZHF1bztBUyBJUyZyZHF1bzsgYmFzaXMgYW5kIFRIRSBDT05UUklCVVRPUiwNClRIRSBPUkdBTkla QVRJT04gSEUvU0hFIFJFUFJFU0VOVFMNCk9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhF IElOVEVSTkVUIFNPQ0lFVFksIFRIRSBJRVRGIFRSVVNUDQpBTkQgVEhFIElOVEVSTkVUIEVOR0lO RUVSSU5HIFRBU0sgRk9SQ0UgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMsDQpFWFBSRVNTIE9SIElN UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQNClRI RSBVU0UgT0YgVEhFIElORk9STUFUSU9OIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklH SFRTIE9SIEFOWQ0KSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVINClBVUlBPU0UuPC9wPg0KPGgzPkludGVsbGVjdHVhbCBQcm9w ZXJ0eTwvaDM+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoZSBJRVRGIHRha2VzIG5vIHBvc2l0 aW9uIHJlZ2FyZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2YgYW55DQpJbnRlbGxlY3R1YWwg UHJvcGVydHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJlIGNsYWltZWQNCnRv IHBlcnRhaW4gdG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neQ0K ZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVudCB0byB3aGljaCBhbnkgbGlj ZW5zZQ0KdW5kZXIgc3VjaCByaWdodHMgbWlnaHQgb3IgbWlnaHQgbm90IGJlIGF2YWlsYWJsZTsg bm9yIGRvZXMgaXQNCnJlcHJlc2VudCB0aGF0IGl0IGhhcyBtYWRlIGFueSBpbmRlcGVuZGVudCBl ZmZvcnQgdG8gaWRlbnRpZnkgYW55DQpzdWNoIHJpZ2h0cy4NCkluZm9ybWF0aW9uIG9uIHRoZSBw cm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0bw0KcmlnaHRzIGluIFJGQyBkb2N1bWVudHMgY2FuIGJl IGZvdW5kIGluIEJDUCZuYnNwOzc4IGFuZCBCQ1AmbmJzcDs3OS48L3A+DQo8cCBjbGFzcz0nY29w eXJpZ2h0Jz4NCkNvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0aGUgSUVURiBTZWNy ZXRhcmlhdCBhbmQgYW55DQphc3N1cmFuY2VzIG9mIGxpY2Vuc2VzIHRvIGJlIG1hZGUgYXZhaWxh YmxlLA0Kb3IgdGhlIHJlc3VsdCBvZiBhbiBhdHRlbXB0IG1hZGUgdG8gb2J0YWluIGEgZ2VuZXJh bCBsaWNlbnNlIG9yDQpwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mIHN1Y2ggcHJvcHJpZXRhcnkg cmlnaHRzIGJ5IGltcGxlbWVudGVycyBvcg0KdXNlcnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGNh biBiZSBvYnRhaW5lZCBmcm9tIHRoZSBJRVRGIG9uLWxpbmUgSVBSDQpyZXBvc2l0b3J5IGF0IDxh IGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaXByJz5odHRwOi8vd3d3LmlldGYub3JnL2lwcjwv YT4uPC9wPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGUgSUVURiBpbnZpdGVzIGFueSBpbnRl cmVzdGVkIHBhcnR5IHRvIGJyaW5nIHRvIGl0cyBhdHRlbnRpb24NCmFueSBjb3B5cmlnaHRzLA0K cGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLA0Kb3Igb3RoZXINCnByb3ByaWV0YXJ5IHJp Z2h0cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQgbWF5IGJlIHJlcXVpcmVkDQp0byBp bXBsZW1lbnQgdGhpcyBzdGFuZGFyZC4NClBsZWFzZSBhZGRyZXNzIHRoZSBpbmZvcm1hdGlvbiB0 byB0aGUgSUVURiBhdCA8YSBocmVmPSdtYWlsdG86aWV0Zi1pcHJAaWV0Zi5vcmcnPmlldGYtaXBy QGlldGYub3JnPC9hPi48L3A+DQo8aDM+QWNrbm93bGVkZ21lbnQ8L2gzPg0KPHAgY2xhc3M9J2Nv cHlyaWdodCc+DQpGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBmdW5jdGlvbiBpcyBwcm92aWRl ZCBieQ0KdGhlIElFVEYgQWRtaW5pc3RyYXRpdmUgU3VwcG9ydCBBY3Rpdml0eSAoSUFTQSkuPC9w Pg0KPC9ib2R5PjwvaHRtbD4NCg== ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; name="draft-ietf-hubmib-efm-cu-mib-07.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.txt" DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEUuIEJlaWxpDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFjdGVsaXMgTmV0d29ya3MNCkludGVuZGVkIHN0YXR1czog U3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMSwgMjAwNw0K RXhwaXJlczogQXVndXN0IDI1LCAyMDA3DQoNCg0KICAgICAgICBFdGhlcm5ldCBpbiB0aGUgRmly c3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzIE1JQg0KICAgICAgICAgICAgICAgICAg ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50eHQNCg0KU3RhdHVzIG9mIHRoaXMgTWVt bw0KDQogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0aG9yIHJl cHJlc2VudHMgdGhhdCBhbnkNCiAgIGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVyIElQUiBjbGFp bXMgb2Ygd2hpY2ggaGUgb3Igc2hlIGlzIGF3YXJlDQogICBoYXZlIGJlZW4gb3Igd2lsbCBiZSBk aXNjbG9zZWQsIGFuZCBhbnkgb2Ygd2hpY2ggaGUgb3Igc2hlIGJlY29tZXMNCiAgIGF3YXJlIHdp bGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJDUCA3OS4N Cg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJu ZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFuZCBpdHMg d29ya2luZyBncm91cHMuICBOb3RlIHRoYXQNCiAgIG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0 cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LQ0KICAgRHJhZnRzLg0KDQogICBJ bnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9m IHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRl ZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0 ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQ0KICAgbWF0ZXJpYWwgb3IgdG8g Y2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIg0KDQogICBUaGUgbGlz dCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6 Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0KICAgVGhlIGxpc3Qgb2Yg SW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdA0KICAg aHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhpcyBJbnRlcm5ldC1EcmFm dCB3aWxsIGV4cGlyZSBvbiBBdWd1c3QgMjUsIDIwMDcuDQoNCkNvcHlyaWdodCBOb3RpY2UNCg0K ICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuDQoNCkFic3RyYWN0DQoNCiAg IFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikg bW9kdWxlcyBmb3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4g VENQL0lQIGJhc2VkIGludGVybmV0cy4NCiAgIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIGV4dGVu c2lvbnMgdG8gdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlcw0KICAgTUlCIGFuZCBNQVUgTUlC IG1vZHVsZXMgd2l0aCBhIHNldCBvZiBvYmplY3RzIGZvciBtYW5hZ2luZyBFdGhlcm5ldA0KICAg aW4gdGhlIEZpcnN0IE1pbGUgQ29wcGVyIChFRk1DdSkgaW50ZXJmYWNlcyAxMFBBU1MtVFMgYW5k IDJCQVNFLVRMLA0KICAgZGVmaW5lZCBpbiBJRUVFIFN0ZCA4MDIuM2FoLTIwMDQuICBJbiBhZGRp dGlvbiBhIHNldCBvZiBvYmplY3RzIGlzDQogICBkZWZpbmVkLCBkZXNjcmliaW5nIGNyb3NzLWNv bm5lY3QgY2FwYWJpbGl0eSBvZiBhIG1hbmFnZWQgZGV2aWNlIHdpdGgNCiAgIG11bHRpLWxheWVy IChzdGFja2VkKSBpbnRlcmZhY2VzLCBleHRlbmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgb2JqZWN0cyBp biB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBN SUINCiAgIG1vZHVsZXMuDQoNCg0KVGFibGUgb2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVj dGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAz DQogICAyLiAgVGhlIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrIC4gLiAu IC4gLiAuIC4gLiAuIC4gIDMNCiAgIDMuICBSZWxhdGlvbiB0byBvdGhlciBNSUIgbW9kdWxlcyAg LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNA0KICAgICAzLjEuICBSZWxhdGlvbiB0 byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUgIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAg ICAgMy4xLjEuICBMYXllcmluZyBNb2RlbCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gIDQNCiAgICAgICAzLjEuMi4gIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNw0KICAgICAgIDMuMS4zLiAgRGlzY292ZXJ5IE9w ZXJhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA3DQogICAgICAgMy4x LjQuICBFRk1DdSBwb3J0cyBpbml0aWFsaXphdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gIDkNCiAgICAgICAzLjEuNS4gIFVzYWdlIG9mIGlmVGFibGUgLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgICAzLjIuICBSZWxhdGlvbiB0byBTSERTTCBNSUIg bW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDExDQogICAgIDMuMy4gIFJlbGF0 aW9uIHRvIFZEU0wgTUlCIG1vZHVsZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTEN CiAgICAgMy40LiAgUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlrZSBhbmQgTUFVIE1JQiBtb2R1bGVz ICAuIC4gLiAuIC4gLiAxMg0KICAgNC4gIE1JQiBTdHJ1Y3R1cmUgIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuMS4gIEVGTSBDb3BwZXIg TUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTMNCiAgICAg NC4yLiAgSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxpdHkgTUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4g LiAuIC4gLiAxMw0KICAgICA0LjMuICBQTUUgUHJvZmlsZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuNC4gIE1hcHBpbmcgb2YgSUVFRSA4 MDIuM2FoIE1hbmFnZWQgT2JqZWN0cyAgLiAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgIDUuICBJbnRl cmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4g LiAxNg0KICAgNi4gIEVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIDIyDQogICA3LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODQNCiAgIDguICBJQU5BIENvbnNp ZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Ng0K ICAgOS4gIEFja25vd2xlZGdtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIDg2DQogICAxMC4gTm90ZXMgdG8gUkZDIEVkaXRvciAgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODYNCiAgIDExLiBSZWZlcmVuY2VzIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Nw0KICAgICAx MS4xLiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDg3DQogICAgIDExLjIuIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODgNCiAgIEF1dGhvcidzIEFkZHJlc3MgLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4OQ0KICAgSW50ZWxsZWN0 dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAu IDkwDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDJdDQoM DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAg ICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIE5ldyBFdGhlcm5l dC1saWtlIGludGVyZmFjZXMgaGF2ZSBiZWVuIGRlZmluZWQgaW4gdGhlIEluc3RpdHV0ZSBvZg0K ICAgRWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pY3MgRW5naW5lZXJzIChJRUVFKSBTdGFuZGFyZCA4 MDIuM2FoLTIwMDQNCiAgIFs4MDIuM2FoXSwgYS5rLmEuICBFdGhlcm5ldCBpbiB0aGUgRmlyc3Qg TWlsZSAoRUZNKSwgd2hpY2ggaXMgbm93IGENCiAgIHBhcnQgb2YgdGhlIGJhc2UgSUVFRSBTdGFu ZGFyZCA4MDIuMy0yMDA1IFs4MDIuM10uICBJbiBwYXJ0aWN1bGFyDQogICAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIHBoeXNpY2FsIGludGVyZmFjZXMgKFBIWXMpLCBkZWZpbmVkIG92ZXINCiAgIHZv aWNlLWdyYWRlIGNvcHBlciBwYWlycywgaGF2ZSBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcg YW5kIHNob3J0DQogICByZWFjaCByZXNwZWN0aXZlbHkuICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xs ZWN0aXZlbHkgY2FsbGVkIEVGTSBDb3BwZXINCiAgIChFRk1DdSksIGFyZSBiYXNlZCBvbiBTaW5n bGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lDQogICAoU0hEU0wpIFtH Ljk5MS4yXSBhbmQgVmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIChWRFNM KQ0KICAgW0cuOTkzLjFdIHRlY2hub2xvZ3ksIHN1cHBvcnRpbmcgb3B0aW9uYWwgUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgKFBNRSkgYWdncmVnYXRpb24gKGEuay5hLiBtdWx0aS1wYWlyIGJv bmRpbmcpIHdpdGggdmFyaWFibGUgcmF0ZXMuDQoNCiAgIDJCQVNFLVRMIFBIWSBpcyBjYXBhYmxl IG9mIHByb3ZpZGluZyBhdCBsZWFzdCAyTWJwcyBvdmVyIDI3MDAgbSBsb25nDQogICBzaW5nbGUg Y29wcGVyIHBhaXIgd2l0aCBhIG1lYW4gQml0IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcgKHVz aW5nDQogICA1ZEIgdGFyZ2V0IG5vaXNlIG1hcmdpbikuDQoNCiAgIDEwUEFTUy1UUyBQSFkgaXMg Y2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXIgNzUwIG0gbG9uZw0KICAg c2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNpbmcgNmRCIHRh cmdldCBub2lzZQ0KICAgbWFyZ2luKS4NCg0KICAgVGhpcyBtZW1vIGRlZmluZXMgYSBNYW5hZ2Vt ZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikgbW9kdWxlIGZvciB1c2UNCiAgIHdpdGggbmV0d29y ayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgY29tbXVuaXR5IHRvIG1hbmFn ZQ0KICAgRUZNQ3UgaW50ZXJmYWNlcy4gIEluIGFkZGl0aW9uIGEgTUlCIG1vZHVsZSBpcyBkZWZp bmVkIGRlc2NyaWJpbmcNCiAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhIHN0YWNrZWQg aW50ZXJmYWNlLg0KDQogICBOb3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24s IEFkbWluaXN0cmF0aW9uIGFuZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3Zl ciBQYXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAy LjNhaCBhcmUgZGVmaW5lZCBpbiBFRk0tQ09NTU9OLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1l Zm0tbWliXSBhbmQgRUZNLUVQT04tTUlCDQogICBbSS1ELmlldGYtaHVibWliLWVmbS1lcG9uLW1p Yl0gcmVzcGVjdGl2ZWx5Lg0KDQoNCjIuICBUaGUgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVu dCBGcmFtZXdvcmsNCg0KICAgRm9yIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgdGhlIGRvY3VtZW50 cyB0aGF0IGRlc2NyaWJlIHRoZSBjdXJyZW50DQogICBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2Vt ZW50IEZyYW1ld29yaywgcGxlYXNlIHJlZmVyIHRvIHNlY3Rpb24gNyBvZg0KICAgUkZDIDM0MTAg W1JGQzM0MTBdLg0KDQogICBNYW5hZ2VkIG9iamVjdHMgYXJlIGFjY2Vzc2VkIHZpYSBhIHZpcnR1 YWwgaW5mb3JtYXRpb24gc3RvcmUsIHRlcm1lZA0KICAgdGhlIE1hbmFnZW1lbnQgSW5mb3JtYXRp b24gQmFzZSBvciBNSUIuICBNSUIgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5DQogICBhY2Nlc3NlZCB0 aHJvdWdoIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKS4NCiAg IE9iamVjdHMgaW4gdGhlIE1JQiBhcmUgZGVmaW5lZCB1c2luZyB0aGUgbWVjaGFuaXNtcyBkZWZp bmVkIGluIHRoZQ0KICAgU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gKFNNSSku ICBUaGlzIG1lbW8gc3BlY2lmaWVzIE1JQg0KICAgbW9kdWxlcyB0aGF0IGFyZSBjb21wbGlhbnQg dG8gdGhlIFNNSXYyLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU1REDQogICA1OCwgUkZDIDI1Nzgg W1JGQzI1NzhdLCBTVEQgNTgsIFJGQyAyNTc5IFtSRkMyNTc5XSBhbmQgU1REIDU4LCBSRkMNCiAg IDI1ODAgW1JGQzI1ODBdLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwg IlNIQUxMIiwgIlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01N RU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRv IGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOSBbUkZDMjExOV0uDQoNCg0K My4gIFJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzDQoNCiAgIFRoaXMgc2VjdGlvbiBvdXRs aW5lcyB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogICB0 aGlzIGRvY3VtZW50IHdpdGggb3RoZXIgTUlCIG1vZHVsZXMgZGVzY3JpYmVkIGluIHRoZSByZWxl dmFudCBSRkNzLg0KICAgU3BlY2lmaWNhbGx5LCBJbnRlcmZhY2VzIEdyb3VwIE1JQiAoSUYtTUlC KSwgRXRoZXJuZXQtTGlrZQ0KICAgKEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERT TCAoSERTTDItU0hEU0wtTElORS1NSUIpIGFuZCBWRFNMDQogICAoVkRTTC1MSU5FLUVYVC1NQ00t TUlCKSBhcmUgZGlzY3Vzc2VkLg0KDQozLjEuICBSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3Vw IE1JQiBtb2R1bGUNCg0KICAgMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQSFkncyBzcGVjaWZpZWQg aW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFyZQ0KICAgc3RhY2tlZCAoYS5rLmEuIGFnZ3JlZ2F0 ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBhcyBzdWNoDQogICBhcmUgbWFu YWdlZCB1c2luZyBnZW5lcmljIGludGVyZmFjZSBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10uDQoNCiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBp LmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBzdWItbGF5ZXJzIHRvIHRoZQ0KICAgdG9wIGxh eWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhlIGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10gYW5kIGl0cyBpbnZlcnNlIGlmSW52U3RhY2tUYWJs ZSwgYXMgZGVmaW5lZCBpbiB0aGUNCiAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiBbUkZDMjg2NF0u DQoNCiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzIGludmVyc2UgaWZJ bnZDYXBTdGFja1RhYmxlDQogICBkZWZpbmVkIGluIHRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVs ZSBiZWxvdywgZXh0ZW5kIHRoZSBzdGFjaw0KICAgbWFuYWdlbWVudCB3aXRoIGFuIGFiaWxpdHkg dG8gZGVzY3JpYmUgcG9zc2libGUgY29ubmVjdGlvbnMgb3IgY3Jvc3MtDQogICBjb25uZWN0IGNh cGFiaWxpdHksIHdoZW4gYSBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IG1hdHJpeCBpcyBwcmVzZW50 DQogICBiZXR3ZWVuIHRoZSBpbnRlcmZhY2UgbGF5ZXJzLg0KDQozLjEuMS4gIExheWVyaW5nIE1v ZGVsDQoNCiAgIEFuIEVGTUN1IGludGVyZmFjZSBjYW4gYWdncmVnYXRlIHVwIHRvIDMyIFBoeXNp Y2FsIE1lZGl1bSBFbnRpdHkNCiAgIChQTUUpIHN1Yi1sYXllciBkZXZpY2VzIChtb2RlbXMpLCB1 c2luZyBzbyBjYWxsZWQgUE1FIEFnZ3JlZ2F0aW9uDQogICBGdW5jdGlvbiAoUEFGKS4NCg0KICAg QSBnZW5lcmljIEVGTUN1IGRldmljZSBjYW4gaGF2ZSBhIG51bWJlciBvZiBQaHlzaWNhbCBDb2Rp bmcgU3VibGF5ZXINCiAgIChQQ1MpIHBvcnRzLCBlYWNoIGNvbm5lY3RlZCB0byBhIE1BQyB2aWEg TWVkaXVtIEluZGVwZW5kZW50IEludGVyZmFjZQ0KICAgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVy LCBhbmQgY3Jvc3MtY29ubmVjdGVkIHRvIGEgbnVtYmVyIG9mDQogICB1bmRlcmx5aW5nIFBNRXMs IHdpdGggYSBzaW5nbGUgUENTIHBlciBQTUUgcmVsYXRpb25zaGlwLCBzZWUgY2xhdXNlDQogICA2 MS4xIG9mIFs4MDIuM2FoXSBmb3IgbW9yZSBkZXRhaWxzLg0KDQogICBFYWNoIFBNRSBpbiB0aGUg YWdncmVnYXRlZCBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBJbnRlcmZhY2UNCiAg IHRhYmxlIChpZlRhYmxlKSBhcyBhIHNlcGFyYXRlIGludGVyZmFjZSB3aXRoIGlmVHlwZSBvZiBz aGRzbCgxNjkpIGZvcg0KICAgMkJBU0UtVEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gIFRo ZSBpZlR5cGUgdmFsdWVzIGFyZSBkZWZpbmVkIGluDQogICBbSUFOQWlmVHlwZS1NSUJdLg0KDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIGlmU3BlZWQg Zm9yIGVhY2ggUE1FIFNIQUxMIHJldHVybiB0aGUgYWN0dWFsIGRhdGEgYml0cmF0ZSBvZiB0aGUN CiAgIGFjdGl2ZSBQTUUgKGUuZy4gZm9yIDJCYXNlVEwgUE1FcyBpdCBpcyBhIG11bHRpcGxlIG9m IDY0S2JwcykuICBaZXJvDQogICB2YWx1ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBp bml0aWFsaXppbmcgb3IgZG93bi4NCg0KICAgVGhlIGlmU3BlZWQgb2YgdGhlIFBDUyBpcyB0aGUg c3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVzDQogICBvZiBhbGwgUE1FcyBp biB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgZW5jYXBzdWxh dGlvbiBvdmVyaGVhZCBhbmQgUEFGIG92ZXJoZWFkLCBidXQgYWNjb3VudGluZyBmb3IgdGhlDQog ICBJbnRlci1GcmFtZSBHYXBzIChJRkcpLg0KDQogICBXaGVuIHVzaW5nIHRoZSBzdGF0ZWQgZGVm aW5pdGlvbiBvZiBpZlNwZWVkIGZvciB0aGUgUENTLCB0aGVyZSB3b3VsZA0KICAgYmUgbm8gZnJh bWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gKHRoZSB0ZXN0LXNldHMgYXJl DQogICBjb25maWd1cmVkIHRvIGdlbmVyYXRlIDEwMCUgb2YgYmFjayB0byBiYWNrIHRyYWZmaWMs IGkuZS4gbWluaW1hbA0KICAgSUZHLCBhdCAxMCBvciAxMDBNYnBzLCB3aXRoIG1pbiBhbmQgbWF4 IGZyYW1lIHNpemVzOyB0aGUgRUZNDQogICBpbnRlcmZhY2VzIGFyZSBhZ2dyZWdhdGVkLCB0byBh Y2hpZXZlIHRoZSBzaG93biBzcGVlZCk6DQoNCiAgICAgIC4tLS0tLS0tLiAgICAgICAgICAgLi0t LiAgICAgICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KICAgICAgfHRlc3RzZXR8LS0x MEJhc2VULS18Q098LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQogICAgICAn LS0tLS0tLScgICAgICAgICAgICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0t LScNCiAgICAgICAgaWZTcGVlZD0gIDEwTWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJw cw0KDQogICAgICAuLS0tLS0tLS4gICAgICAgICAgICAuLS0uICAgICAgICAgICAgLi0tLS4gICAg ICAgICAgICAuLS0tLS0tLS4NCiAgICAgIHx0ZXN0c2V0fC0tMTAwQmFzZVQtLXxDT3wtLTEwUGFz c1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KICAgICAgJy0tLS0tLS0nICAgICAgICAg ICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0tLS0nDQogICAgICAgIGlm U3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMNCg0KICAgICAg ICAgICAgRmlndXJlIDE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MN Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg IFtQYWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICBUaGUgZm9sbG93aW5nIGZpZ3Vy ZSBzaG93cyB0aGUgSUVFRSA4MDIuMyBsYXllcmluZyBkaWFncmFtIGFuZA0KICAgY29ycmVzcG9u ZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJsZToNCg0KICAgIC4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLiAgLQ0KICAgIHwgICAgICAgIExMQyAgICAgICAgICAgICAgfCAgXg0KICAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAxIGlmRW50cnkNCiAgICB8ICAgICAgICBN QUMgICAgICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCiAgICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICkgICBpZk1hdUVudHJ5DQogICAgfCAgICAgICAg UmVjb25zaWxpYXRpb24gICB8ICB8ICAgICBpZk1hdVR5cGU6IGRvdDNNYXVUeXBlMkJhc2VUTCBv cg0KICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3Qz TWF1VHlwZTEwUGFzc1RTDQogICAgfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB2DQogICAg Ky0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0rICAtDQogICAgfCBUQyBcICAgICAgICB8ICAgfCAg ICAgICB8ICBeDQogICAgKy0tLS0tXCAgICAgICB8ICAgfCAgICAgICB8ICB8DQogICAgfCBQTUEg IClQTUUgMSB8Li4ufCBQTUUgTiB8ICApIE4gaWZFbnRyeSAgKE49MS4uMzIpDQogICAgKy0tLS0t LyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNsKDE2OSkgb3IgdmRzbCg5 NykNCiAgICB8IFBNRC8gICAgICAgIHwgICB8ICAgICAgIHwgIHYNCiAgICAnLS0tLS0tLS0tLS0t LSstLS0rLS0tLS0tLScgIC0NCg0KICAgICBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAgICAg ICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KICAgICBNQUMgLSBNZWRpYSBBY2Nl c3MgQ29udHJvbCAgICAgICBQTUQgLSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgIFBD UyAtIFBoeXNpY2FsIENvZGluZyBTdWItbGF5ZXIgIFBNRSAtIFBoeXNpY2FsIE1lZGl1bSBFbnRp dHkNCiAgICAgVEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQoNCiAgICAgICAgICBGaWd1 cmUgMjogVXNlIG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRzDQoNCiAg IFRoZSBpZlN0YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhl IGFnZ3JlZ2F0ZWQNCiAgIEVGTUN1IHBvcnQgKFBDUykgYW5kIHRoZSBQTUVzIGNvbm5lY3RlZCB0 byBpdC4gaWZTdGFja1RhYmxlIGFsbG93cyBhDQogICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGlj YXRpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgdG8gYSBwYXJ0 aWN1bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhlDQog ICBhcHBsaWNhdGlvbikuICBUaGUgaWZJbnZTdGFja1RhYmxlLCBiZWluZyBhbiBpbnZlcnRlZCB2 ZXJzaW9uIG9mIHRoZQ0KICAgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVh bnMgZm9yIGEgTmV0d29yayBNYW5hZ2VtZW50DQogICBhcHBsaWNhdGlvbiB0byByZWFkIGEgc3Vi c2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kIHRoZXJlYnkNCiAgIGRldGVybWluZSB3aGljaCBQ Q1MgcnVucyBvbiB0b3Agb2YgYSBwYXJ0aWN1bGFyIFBNRS4NCg0KICAgQSBuZXcgdGFibGUgaWZD YXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLA0KICAg c3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBpbnRlcmZhY2UgKGUuZy4gIFBDUyBwb3J0 KSBhIGxpc3Qgb2YNCiAgIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gIFBNRXMpLCB3aGlj aCBjYW4gcG9zc2libHkgYmUgY3Jvc3MtDQogICBjb25uZWN0ZWQgdG8gdGhhdCBoaWdoZXItbGF5 ZXIgaW50ZXJmYWNlLCBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy0NCiAgIGNvbm5lY3QgY2FwYWJp bGl0eSBvZiB0aGUgZGV2aWNlLiAgVGhpcyB0YWJsZSwgbW9kZWxlZCBhZnRlcg0KICAgaWZTdGFj a1RhYmxlLCBpcyByZWFkIG9ubHksIHJlZmxlY3RpbmcgY3VycmVudCBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UsIHdoaWNoIGNhbiBiZSBkeW5hbWlj IGluIHNvbWUNCiAgIGltcGxlbWVudGF0aW9ucyAoZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkIG9u IGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQNCiAgIHRoZSBtb2R1bGUgaXMgcHVsbGVkIG91dCkuICBO b3RlIHRoYXQgUE1FIGF2YWlsYWJpbGl0eSBwZXIgUENTLA0KICAgZGVzY3JpYmVkIGJ5IGlmQ2Fw U3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICBm b3IgZXhhbXBsZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZiBhIFBDUyBvciBieSB0aGUgUE1F IGluDQogICBxdWVzdGlvbiBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIFBDUy4g IFNvLCBpbiBvcmRlciB0bw0KICAgZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIFBNRSBjYW4gYmUg Y29ubmVjdGVkIHRvIHRoZSBQQ1MsIGFsbA0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRl cm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZl YnJ1YXJ5IDIwMDcNCg0KDQogICByZXNwZWN0aXZlIHBhcmFtZXRlcnMgKGUuZy4gaWZDYXBTdGFj a1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kDQogICBlZm1DdVBBRkNhcGFjaXR5KSBTSEFMTCBiZSBp bnNwZWN0ZWQuDQoNCiAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28gZGVmaW5lZCBpbiB0 aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxh eWVyIGludGVyZmFjZXMgKGUuZy4gIFBDUyBwb3J0cykgY2FuDQogICBwb3NzaWJseSBiZSBjb25u ZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFjZSAoZS5nLg0KICAgUE1F KSwgcHJvdmlkaW5nIGludmVydGVkIG1hcHBpbmcgb2YgaWZDYXBTdGFja1RhYmxlLiAgV2hpbGUg aXQNCiAgIGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYmV5b25kIHRoYXQgYWxy ZWFkeSBjb250YWluZWQgaW4NCiAgIHRoZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZkludkNhcFN0 YWNrVGFibGUgaGFzIHRoZSBpZkluZGV4IHZhbHVlcyBpbg0KICAgaXRzIElOREVYIGNsYXVzZSBp biB0aGUgcmV2ZXJzZSBvcmRlciwgaS5lLiwgdGhlIGxvd2VyLWxheWVyDQogICBpbnRlcmZhY2Ug Zmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVyZmFjZSBzZWNvbmQsIHByb3ZpZGluZyBh bg0KICAgZWZmaWNpZW50IG1lYW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlv biB0byByZWFkIGEgc3Vic2V0DQogICBvZiB0aGUgaWZDYXBTdGFja1RhYmxlIGFuZCB0aGVyZWJ5 IGRldGVybWluZSB3aGljaCBpbnRlcmZhY2VzIGNhbiBiZQ0KICAgY29ubmVjdGVkIHRvIHJ1biBv biB0b3Agb2YgYSBwYXJ0aWN1bGFyIGludGVyZmFjZS4NCg0KMy4xLjIuICBQTUUgQWdncmVnYXRp b24gRnVuY3Rpb24gKFBBRikNCg0KICAgVGhlIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBhbGxvd3MgYSBudW1iZXIgb2YgUE1FcyB0byBiZQ0KICAgYWdncmVnYXRlZCBvbnRvIGEgUENT IHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMsDQogICB0cmFuc21pdHRp bmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRpcGxlIFBNRXMgYW5kIGFzc2VtYmxpbmcgdGhlDQog ICBvcmlnaW5hbCBmcmFtZXMgYXQgdGhlIHJlbW90ZSBwb3J0LiAgUEFGIGlzIE9QVElPTkFMLCBt ZWFuaW5nIHRoYXQgYQ0KICAgZGV2aWNlIHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZy YWdtZW50YXRpb24gYW5kIHJlLWFzc2VtYmx5IGlmDQogICB0aGlzIGZ1bmN0aW9uIGlzIHN1cHBv cnRlZCBieSB0aGUgZGV2aWNlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlDQogICBhZ2VudCBpcyBS RVFVSVJFRCB0byByZXBvcnQgb24gdGhlIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9y dHMNCiAgICgyQkFTRS1UTCBhbmQgMTBQQVNTLVRTKS4NCg0KICAgVGhlIEVGTS1DVS1NSUIgbW9k dWxlIGFsbG93cyBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0bw0KICAgcXVlcnkg UEFGIGNhcGFiaWxpdHkgYW5kIGVuYWJsZS9kaXNhYmxlIGl0IGlmIHN1cHBvcnRlZC4gIE5vdGUg dGhhdA0KICAgZW5hYmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24g YW5kIHJlLWFzc2VtYmx5LCBldmVuDQogICBvbiBhIHNpbmdsZS1QTUUgcG9ydC4NCg0KMy4xLjMu ICBEaXNjb3ZlcnkgT3BlcmF0aW9uDQoNCiAgIFRoZSBFRk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxs eSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sIHdoZXJlYnkNCiAgIFBNRXMsIGR1cmluZyBp bml0aWFsaXphdGlvbiwgZXhjaGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQgdGhlaXINCiAgIHJlc3Bl Y3RpdmUgYWdncmVnYXRpb24gZ3JvdXBzIChQQ1MpLiAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gdGhl biBiZQ0KICAgdXNlZCB0byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBh dXRvbWF0aWMgYXNzaWdubWVudA0KICAgb2YgdGhlIGxvY2FsIFBNRXMgaW50byBhZ2dyZWdhdGlv biBncm91cHMgaW5zdGVhZCBvZiBhIGZpeGVkIHByZS0NCiAgIGNvbmZpZ3VyYXRpb24uDQoNCiAg IFRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgYWxsb3cgYSBOZXR3b3Jr IE1hbmFnZW1lbnQNCiAgIGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNo YW5pc20gYW5kIHF1ZXJ5IGl0cyByZXN1bHRzLg0KICAgTm90ZSB0aGF0IHRoZSBEaXNjb3Zlcnkg bWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYgUEFGIGlzIHN1cHBvcnRlZA0KICAgYW5kIGVuYWJs ZWQuDQoNCiAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBEaXNjb3ZlcnkgbWVjaGFu aXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICBpZkNhcFN0YWNrVGFibGUuICBUaGUgZm9sbG93aW5n IHBzZXVkby1jb2RlIGdpdmVzIGFuIGV4YW1wbGUgb2YgdGhlDQogICBEaXNjb3ZlcnkgYW5kIGF1 dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljIFBBRiBlbmFibGVkDQoNCg0KDQpC ZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAg ICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJm YWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIG11bHRpLVBDUyBFRk1D dSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJhbCBPZmZpY2UgKENPKSwgdXNpbmcgb2JqZWN0cw0K ICAgZGVmaW5lZCBpbiB0aGVzZSBNSUIgbW9kdWxlcyBhbmQgaW4gSUYtTUlCIFtOb3RlIHRoYXQg YXV0b21hdGljIFBNRQ0KICAgYXNzaWdubWVudCBpcyBvbmx5IHNob3duIGhlcmUgZm9yIHRoZSBw dXJwb3NlcyBvZiB0aGUgZXhhbXBsZS4gIEZpeGVkDQogICBQTUUgcHJlLWFzc2lnbm1lbnQsIG1h bnVhbCBhc3NpZ25tZW50IG9yIGF1dG8tYXNzaWdubWVudCB1c2luZyBhbg0KICAgYWx0ZXJuYXRp dmUgaW50ZXJuYWwgYWxnb3JpdGhtIG1heSBiZSBjaG9zZW4gYnkgYSBwYXJ0aWN1bGFyDQogICBp bXBsZW1lbnRhdGlvbl06DQoNCiAvLyBHbyBvdmVyIGFsbCBQQ1MgcG9ydHMgaW4gdGhlIENPIGRl dmljZQ0KIEZPUkVBQ0ggcGNzW2ldIElOIENPX2RldmljZQ0KIHsgLy8gUGVyZm9ybSBkaXNjb3Zl cnkgYW5kIGF1dG8tYXNzaWdubWVudCBvbmx5IG9uIFBBRiBlbmFibGVkIHBvcnRzDQogICAvLyB3 aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICAgSUYgKCBwY3NbaV0uUEFGU3VwcG9ydGVkIEFORCBw Y3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQogICAgIHsgZGMgPSBwY3Nb aV0uRGlzY292ZXJ5Q29kZSA9IE1BQ1tpXTsgLy8gdW5pcXVlIDYtb2N0ZXRzIHBlciBQQ1MNCiAg ICAgICAvLyBHbyBvdmVyIGFsbCBkaXNjb25uZWN0ZWQgUE1Fcywgd2hpY2ggY2FuDQogICAgICAg Ly8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAgICBGT1JFQUNIIHBt ZVtqXSBJTiBpZkNhcFN0YWNrVGFibGVbcGNzW2ldXSBBTkQNCiAgICAgICAgICAgICAgICAgICAg ICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtqXV0gIC8vIG5vdCBjb25uZWN0ZWQNCiAgICAgICAg IHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZh bHVlDQogICAgICAgICAgIC8vIG9mIHRoZSBsb2NhbCA2LW9jdGV0IGRpc2NvdmVyeSBjb2RlIHRv IHRoZSByZW1vdGUNCiAgICAgICAgICAgLy8gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgKHZpYSBo YW5kc2hha2UgbWVjaGFuaXNtKS4NCiAgICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gaXMgYXRv bWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAgLy8gd291bGQgc3Vj Y2VlZCBvbmx5IGlmIHRoZSByZW1vdGUgZGlzY292ZXJ5IHJlZ2lzdGVyIHdhcw0KICAgICAgICAg ICAvLyB6ZXJvLiBSZWFkIHRoZSByZW1vdGUgZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgdmlhIEdl dA0KICAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0dGFj aGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgIC8vIGlzIGluZGVlZCBtYXJrZWQgYXMgYmVpbmcg dGhlIENPX2RldmljZSBwZWVyLg0KICAgICAgICAgICBwbWVbal0uUmVtb3RlRGlzY292ZXJ5Q29k ZSA9IGRjOyAgICAgICAgLy8gU2V0LWlmLUNsZWFyDQogICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICAgSUYgKCByID09IGRj IEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAg ICB7IC8vIFJlbW90ZSBSVF9kZXZpY2UgY29ubmVjdGVkIHZpYSBQTUVbal0gaXMvd2FzIGEgcGVl cg0KICAgICAgICAgICAgICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBmb3IgYW5v dGhlciBQTUUgaW4gdGhlDQogICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAgLy8gcmVhY2hlZCB5 ZXQpLg0KICAgICAgICAgICAgICAgLy8gQ29ubmVjdCB0aGlzIFBNRSB0byB0aGUgUENTICh2aWEg aWZTdGFja1RhYmxlLA0KICAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGlu dmVyc2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgICAvLyB1cGRhdGVkIGF1dG9t YXRpY2FsbHkpDQogICAgICAgICAgICAgICBBREQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3Nb aV1dOw0KICAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0 YWNrVGFibGVbcG1lW2pdXQ0KICAgICAgICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0u TnVtUE1FcyArIDE7DQogICAgICAgICAgICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29u bmVjdGVkIFBNRXMsDQogICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9k ZXZpY2UgYW5kIGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAgLy8gdGhlIFBDUyBwcm92 aWRlZCB0aGVyZSBpcyBlbm91Z2ggcm9vbSBmb3IgbW9yZSBQTUVzLg0KICAgICAgICAgICAgICAg Rk9SRUFDSCBwbWVba10gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAg ICAgICAgICAgeyByID0gcG1lW2tdLlJlbW90ZURpc2NvdmVyeUNvZGU7IC8vIEdldA0KICAgICAg ICAgICAgICAgICAgIElGICggciA9PSBkYyBBTkQNCiAgICAgICAgICAgICAgICAgICAgICAgIHBj c1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5KQ0KICAgICAgICAgICAgICAgICAg ICAgeyBBREQgcG1lW2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIHBjc1tpXSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgIFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg ICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOw0KICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfQ0KICAg ICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZGlzY292ZXJlZCBhbGwgbG9jYWwgUE1F cyB3aGljaA0KICAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNh bWUgcmVtb3RlIFJUX2RldmljZQ0KICAgICAgICAgICAvLyBhbmQgY29ubmVjdGVkIHRoZW0gdG8g UENTW2ldLiBHbyB0byB0aGUgbmV4dCBQQ1MuDQogICAgICAgICAgIEJSRUFLOw0KICAgICAgICAg fQ0KICAgICB9DQogfQ0KDQogICBBbiBTTk1QIEFnZW50IGZvciBhIEVGTUN1IGRldmljZSBidWls ZHMgaWZDYXBTdGFja1RhYmxlIGFuZCBpdHMNCiAgIGludmVyc2UgaWZJbnZDYXBTdGFja1RhYmxl IGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluDQogICB0aGUgQ2xhdXNl IDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZSBbODAyLjNhaF0gNjEuMS41LjMgYW5kDQog ICA0NS4yLjMuMjApLg0KDQogICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cg Zm9yIGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhl IFBNRSB0byB0aGUgUENTLCB3aGljaCBjYW4gYmUgZG9uZSBieQ0KICAgbW9kaWZ5aW5nIENsYXVz ZSA0NSBQTUVfQWdncmVnYXRlX3JlZ2lzdGVyIChzZWUgWzgwMi4zYWhdIDYxLjEuNS4zDQogICBh bmQgNDUuMi4zLjIxKS4NCg0KICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8g YmUgb3BlcmF0aW9uYWxseSAnZG93bicgZm9yIHRoZQ0KICAgY29ubmVjdGlvbiB0byBzdWNjZWVk LiAgSW4gZmFjdCwgYSBkeW5hbWljIFBNRSBhZGRpdGlvbiAoYW5kIHJlbW92YWwpDQogICBNQVkg YmUgaW1wbGVtZW50ZWQgd2l0aCBhbiBhdmFpbGFibGUgUE1FIGJlaW5nIGluaXRpYWxpemVkIGZp cnN0IChieQ0KICAgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbiBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5DQogICAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcg YSByZXNwZWN0aXZlIGlmU3RhY2tUYWJsZSAoYW5kIHJlc3BlY3RpdmUNCiAgIGlmSW52U3RhY2tU YWJsZSkgZW50cnkuDQoNCiAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSByZW1vdmFsIG9mIHRo ZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgIGZyb20gYW4gb3BlcmF0aW9uYWxseSAn dXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUNCiAgIGltcGxlbWVudGF0aW9uLCBhcyB0 aGlzIGFjdGlvbiB3b3VsZCBjb21wbGV0ZWx5IGRyb3AgdGhlIGxpbmsuDQoNCjMuMS40LiAgRUZN Q3UgcG9ydHMgaW5pdGlhbGl6YXRpb24NCg0KICAgRUZNQ3UgcG9ydHMgYmVpbmcgYnVpbHQgb24g dG9wIG9mIHhEU0wgdGVjaG5vbG9neSwgcmVxdWlyZSBhIGxlbmd0aHkNCiAgIGluaXRpYWxpemF0 aW9uIG9yICd0cmFpbmluZycgcHJvY2VzcywgYmVmb3JlIGFueSBkYXRhIGNhbiBwYXNzLg0KICAg RHVyaW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdv cmsNCiAgIGNvb3BlcmF0aXZlbHkgdG8gYWNoaWV2ZSByZXF1aXJlZCBkYXRhIHJhdGUgb24gYSBw YXJ0aWN1bGFyIGNvcHBlcg0KICAgcGFpci4gIFNvbWV0aW1lcywgd2hlbiB0aGUgY29wcGVyIGxp bmUgaXMgdG9vIGxvbmcgb3IgdGhlIG5vaXNlIG9uDQogICB0aGUgbGluZSBpcyB0b28gaGlnaCwg dGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwgdG8gYWNoaWV2ZSBhDQogICBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCg0KICAgVGhlIGlm QWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMgdGhlIGRlc2lyZWQg c3RhdGUNCiAgIG9mIGEgUENTIHdpdGggYWxsIHRoZSBQTUVzIGNvbm5lY3RlZCB0byBpdCBvciBv ZiBhbiBpbmRpdmlkdWFsIFBNRQ0KICAgcG9ydC4gIFNldHRpbmcgdGhpcyBvYmplY3QgdG8gJ3Vw JyBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUNCiAgIHRvIHN0YXJ0IGluaXRpYWxp emF0aW9uIHByb2Nlc3MsIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3INCiAgIEVG TUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcyBpbnZvbHZlZC4gIFRoZSBpZk9wZXJTdGF0 dXMgb2JqZWN0DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICAgW1BhZ2UgOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgIHNob3dzIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiBhbiBpbnRlcmZhY2UgKGV4dGVuZGVk IGJ5DQogICBpZk1hdU1lZGlhQXZhaWxhYmxlIG9iamVjdCBmcm9tIE1BVS1NSUIgZm9yIFBDUyBh bmQNCiAgIGVmbUN1UG1lT3BlclN0YXR1cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVs ZSBmb3IgUE1FDQogICBpbnRlcmZhY2VzKS4NCg0KICAgQSBkaXNjb25uZWN0ZWQgUE1FIG1heSBi ZSBpbml0aWFsaXplZCBieSBjaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlDQogICBmcm9tICdkb3du JyB0byAndXAnLiAgQ2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZSB0byAndXAnIG9uIHRoZSBQQ1MN CiAgIGluaXRpYWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3VsYXIgUENT LiAgTm90ZSB0aGF0IGluDQogICBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5IGZhaWwg dG8gaW5pdGlhbGl6ZSB3aGlsZSBvdGhlcnMNCiAgIHN1Y2NlZWQuICBUaGUgUENTIGlzIGNvbnNp ZGVyZWQgb3BlcmF0aW9uYWxseSAndXAnIGlmIGF0IGxlYXN0IG9uZQ0KICAgUE1FIGFnZ3JlZ2F0 ZWQgYnkgaXRzIFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuICBXaGVuIGFsbCBQTUVzDQogICBj b25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJl ZA0KICAgb3BlcmF0aW9uYWxseSAnbG93ZXJMYXllckRvd24nLiAgVGhlIFBDUyBTSEFMTCBiZSBj b25zaWRlcmVkDQogICBvcGVyYXRpb25hbGx5ICdub3RQcmVzZW50JyBpZiBpdCBpcyBub3QgY29u bmVjdGVkIHRvIGFueSBQTUUuICBUaGUNCiAgIFBDUy9QTUUgaW50ZXJmYWNlIFNIQUxMIHJlbWFp biBvcGVyYXRpb25hbGx5ICdkb3duJyBkdXJpbmcNCiAgIGluaXRpYWxpemF0aW9uLg0KDQogICBU aGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGV4 cGFuZHMgUE1FJ3MNCiAgIGlmT3BlclN0YXR1cyB2YWx1ZSBvZiAnZG93bicgdG8gJ2Rvd25SZWFk eScsICdkb3duTm90UmVhZHknIGFuZA0KICAgJ2luaXQnIHZhbHVlcywgaW5kaWNhdGluZyB2YXJp b3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQoNCjMuMS41LiAgVXNhZ2Ugb2YgaWZUYWJs ZQ0KDQogICBCb3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUg bWFuYWdlZCB1c2luZw0KICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICBtb2R1bGUgYW5kIGdlbmVyaWMgaW50ZXJmYWNl IG9iamVjdHMgZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIsIHdpdGgNCiAgIGFsbCBtYW5hZ2Vt ZW50IHRhYmxlIGVudHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4DQogICBp ZkluZGV4Lg0KDQogICBUaGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgRUZNQ3Ugc3BlY2lm aWMgaW50ZXJwcmV0YXRpb25zIGZvcg0KICAgc29tZSBvZiB0aGUgaWZUYWJsZSBvYmplY3RzIHNw ZWNpZmllZCBpbiB0aGUgbWFuZGF0b3J5DQogICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdyb3VwOg0K DQogICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgSUYtTUlCIG9iamVjdCB8IEVGTUN1IGludGVycHJldGF0 aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8 IGlmSW5kZXggICAgICAgfCBJbnRlcmZhY2UgaW5kZXguIE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQg ZWFjaCBQQ1MgIHwNCiAgIHwgICAgICAgICAgICAgICB8IGluIHRoZSBFRk1DdSBQSFkgTVVTVCBo YXZlIGEgdW5pcXVlIGluZGV4LCBhcyAgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgdGhlcmUg YXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcyAgICB8DQogICB8ICAgICAg ICAgICAgICAgfCBhY2Nlc3NpYmxlIG9ubHkgb24gdGhlIFBDUyBvciBQTUUgbGV2ZWwuICAgICAg ICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlR5cGUgICAgICAgIHwgZXRoZXJuZXRDc21h Y2QoNikgZm9yIFBDUywgc2hkc2woMTY5KSBmb3IgICAgICAgICB8DQogICB8ICAgICAgICAgICAg ICAgfCAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMgUE1FICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KDQoNCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlNwZWVkICAgICAgIHwgT3Bl cmF0aW5nIGRhdGEgcmF0ZSBmb3IgdGhlIFBNRS4gRm9yIHRoZSBQQ1MgaXQgICB8DQogICB8ICAg ICAgICAgICAgICAgfCBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJh dGVzIG9mIHwNCiAgIHwgICAgICAgICAgICAgICB8IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlv biBncm91cCwgd2l0aG91dCB0aGUgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgNjQvNjVCIGVu Y2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kIFBBRiBvdmVyaGVhZCwgICB8DQogICB8ICAgICAgICAg ICAgICAgfCBidXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1lIEdhcHMgKElGRykgICAg IHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZkFkbWluU3RhdHVzIHwgU2V0dGluZyB0aGlzIG9i amVjdCB0byAndXAnIGluc3RydWN0cyBhICAgICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg fCBwYXJ0aWN1bGFyIFBDUyAod2l0aCBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gaXQpIG9yIHwNCiAg IHwgICAgICAgICAgICAgICB8IFBNRSB0byBzdGFydCBpbml0aWFsaXphdGlvbiBwcm9jZXNzICAg ICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGlmT3BlclN0YXR1cyAgfCBlZm1D dVBtZU9wZXJTdGF0dXMgc3VwcGxlbWVudHMgdGhlICdkb3duJyB2YWx1ZSAgIHwNCiAgIHwgICAg ICAgICAgICAgICB8IG9mIGlmT3BlclN0YXR1cyBmb3IgUE1Fcy4gICAgICAgICAgICAgICAgICAg ICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCiAgICAgICAgICAgICAgVGFibGUgMTogRUZNQ3Ug aW50ZXJwcmV0YXRpb24gb2YgSUYtTUlCIG9iamVjdHMNCg0KMy4yLiAgUmVsYXRpb24gdG8gU0hE U0wgTUlCIG1vZHVsZQ0KDQogICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWlsYXIgdG8gUE1FKHMp IGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBIRFNMMi1T SERTTC1MSU5FLU1JQiBbUkZDNDMxOV0uICBOb3RlIHRoYXQgbm90IGFsbA0KICAgYXR0cmlidXRl cyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4gSERTTDItU0hEU0wtTElORS1NSUIgaGF2 ZQ0KICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRlcyBh bmQgQ2xhdXNlIDQ1DQogICByZWdpc3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQoNCiAgIEJl Y2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxp Y2l0eSwNCiAgIHVuaWZpY2F0aW9uIG9mIGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0Ut VEwgYW5kIDEwUEFTUy1UUyBQTUVzDQogICBhbmQgbmFtZSBjb25zaXN0ZW5jeSAoZS5nLiBwcmVm aXhpbmcgdGhlIDJCQVNFLVRMIFBNRSByZWxhdGVkIG9iamVjdHMNCiAgIHdpdGggJ2VmbUN1UG1l MkInIGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvDQogICBy ZWZlcmVuY2UgSERTTDItU0hEU0wtTElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhl IHJlbGV2YW50DQogICBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZS4NCg0KICAgSG93 ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5LCBub3QgYXZhaWxhYmxlIGluIHRoZSBFRk0tQ1Ut TUlCDQogICBtb2R1bGUsIGlzIHJlcXVpcmVkIGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwgZS5n LiBwZXJmb3JtYW5jZQ0KICAgbW9uaXRvcmluZywgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1N SUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQNCiAgIGFwcGxpZWQgZm9yIFBNRXMgb2YgMkJB U0UtVEwgc3VidHlwZS4NCg0KMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlDQoNCiAg IFZEU0wgbW9kZW1zLCBzaW1pbGFyIHRvIHRoZSBQTUUocykgY29tcHJpc2luZyBhIDEwUEFTUy1U UyBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBWRFNMLUxJTkUtRVhULU1DTS1NSUIgW1JGQzQw NzBdLiAgTm90ZSB0aGF0IG5vdCBhbGwNCiAgIGF0dHJpYnV0ZXMgb2YgVkRTTCBtb2RlbXMgcmVm bGVjdGVkIGluIFZEU0wtTElORS1FWFQtTUNNLU1JQiBoYXZlDQogICBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMgKENsYXVzZSAzMCBhdHRyaWJ1dGVzIGFuZCBDbGF1c2UgNDUNCiAgIHJlZ2lz dGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4NCg0KICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJl bmNlcyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgdW5pZmljYXRpb24g b2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMN CiAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNl IFZEU0wtTElORS1FWFQtDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgIE1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9i amVjdHMgaW4gdGhlIEVGTS1DVS0NCiAgIE1JQiBtb2R1bGUuDQoNCiAgIEhvd2V2ZXIsIGlmIHNv bWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQg0KICAgbW9k dWxlLCBpcyByZXF1aXJlZCBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBQTUUsIHJlbGV2YW50IFZEU0wt TElORS1FWFQtDQogICBNQ00tTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQg Zm9yIFBNRXMgb2YgMTBQQVNTLVRTDQogICBzdWJ0eXBlLg0KDQozLjQuICBSZWxhdGlvbiB0byBF dGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXMNCg0KICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgW1JGQzM2MzVdIGFuZCBNQVUtTUlCDQogICBbSS1ELmlldGYtaHVi bWliLXJmYzM2MzZiaXNdIGlzIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3UgaW50ZXJmYWNlcy4NCg0K ICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVUeXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3Qz TWF1VHlwZSkgYW5kDQogICBjb3JyZXNwb25kaW5nIGJpdCBkZWZpbml0aW9ucyBvZiBpZk1hdVR5 cGVMaXN0Qml0cw0KICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBiZWVuIGRlZmluZWQg aW4gdGhlIElBTkEtTUFVLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSBmb3Ig dGhlIEVGTUN1IE1BVXM6DQoNCiAgIG8gIGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwg LSBmb3IgMkJBU0UtVEwgTUFVDQoNCiAgIG8gIGRvdDNNYXVUeXBlMTBQYXNzVFMgYW5kIGIxMFBh c3NUUyAtIGZvciAxMFBBU1MtVFMgTUFVDQoNCiAgIEFkZGl0aW9uYWxseSBJQU5BLU1BVS1NSUIg ZGVmaW5lcyB0d28gbmV3IHZhbHVlcyBvZg0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0 ZXh0dWFsIGNvbnZlbnRpb24gSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUNCiAgIC0gYXZhaWxhYmxl UmVkdWNlZCBhbmQgcmVhZHksIHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLiAgRHVl DQogICB0byB0aGUgUE1FIGFnZ3JlZ2F0aW9uLCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Yg c29tZSBwb3NzaWJsZQ0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSB2YWx1ZXMgZGlmZmVycyBmcm9t IG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgbyAgdW5rbm93biAtIHRoZSBFRk1DdSBpbnRl cmZhY2UgKFBDUyB3aXRoIGNvbm5lY3RlZCBQTUVzKSBpcw0KICAgICAgaW5pdGlhbGl6aW5nDQoN CiAgIG8gIHJlYWR5IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGlu IHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGUg UENTKSBpcyByZWFkeSBmb3IgaGFuZHNoYWtlDQoNCiAgIG8gIGF2YWlsYWJsZSAtIHRoZSBpbnRl cmZhY2UgaXMgdXAsIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KICAgICAgYXJl IHVwDQoNCiAgIG8gIG5vdEF2YWlsYWJsZSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYWxsIFBN RXMgaW4gdGhlIGFnZ3JlZ2F0aW9uDQogICAgICBncm91cCBhcmUgZG93biwgbm8gaGFuZHNoYWtl IHRvbmVzIGFyZSBkZXRlY3RlZCBieSBhbnkgUE1FDQoNCiAgIG8gIGF2YWlsYWJsZVJlZHVjZWQg LSB0aGUgaW50ZXJmYWNlIGlzIHVwLCBhIGxpbmsgZmF1bHQgaXMgZGV0ZWN0ZWQNCiAgICAgIGF0 IHRoZSByZWNlaXZlIGRpcmVjdGlvbiBieSBvbmUgb3IgbW9yZSBQTUVzIGluIHRoZSBhZ2dyZWdh dGlvbg0KICAgICAgZ3JvdXAsIGJ1dCBhdCBsZWFzdCBvbmUgUE1FIGlzIHVwDQoNCiAgIG8gIHBt ZExpbmtGYXVsdCAtIGEgbGluayBmYXVsdCBpcyBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJl Y3Rpb24NCiAgICAgIGJ5IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KDQogICBB cyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkgcmVw cmVzZW50aW5nIGENCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDEyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoN Cg0KICAgY29uc29saWRhdGlvbiBvZiBMTEMsIE1BQyBhbmQgUENTIChzdWIpbGF5ZXJzKSBTSEFM TCByZXR1cm4gYW4gaWZUeXBlDQogICBvZiBldGhlcm5ldENzbWFjZCg2KS4gIFdoaWxlIG1vc3Qg b2YgdGhlIE1BVSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdA0KICAgYXBwbGljYWJsZSB0byB0aGUg RUZNQ3UgcG9ydHMgKG5vIGF1dG8tbmVnb3RpYXRpb24sIGZhbHNlIGNhcnJpZXJzIG9yDQogICBq YWJiZXIpLCB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3ByaWF0ZSBpZk1hdVR5cGUNCiAgIChk b3QzTWF1VHlwZTJCYXNlVEwgb3IgZG90M21hdVR5cGUxMFBhc3NUUykgaW4gb3JkZXIgdG8gZGly ZWN0IHRoZQ0KICAgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBsb29rIGluIHRoZSBFRk0tQ1UtTUlC IG1vZHVsZSBmb3IgdGhlIGRlc2lyZWQNCiAgIGluZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUgdGhl IGluZm9ybWF0aW9uIG9uIHRoZSBwYXJ0aWN1bGFyIEVGTUN1DQogICBmbGF2b3IgdGhhdCBhbiBF Rk1DdSBwb3J0IGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZyb20NCiAgIGVmbUN1T3BlclN1YlR5 cGUsIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLg0KDQogICBTaW5jZSBFRk1DdSBQ TUVzIGFyZSBub3QgRXRoZXJMaWtlIGludGVyZmFjZXMsIHRoZXkgY2Fubm90IGJlDQogICBpbnN0 YW50aWF0ZWQgYXMgTUFVIGludGVyZmFjZSBvYmplY3RzLg0KDQoNCjQuICBNSUIgU3RydWN0dXJl DQoNCjQuMS4gIEVGTSBDb3BwZXIgTUlCIE92ZXJ2aWV3DQoNCiAgIFRoZSBtYWluIG1hbmFnZW1l bnQgb2JqZWN0cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUNCiAgIHNwbGl0 IGludG8gMiBncm91cHM6DQoNCiAgIG8gIGVmbUN1UG9ydCAtIGNvbnRhaW5pbmcgb2JqZWN0cyBm b3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLA0KICAgICAgc3RhdHVzIGFuZCBub3RpZmlj YXRpb25zLCBjb21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQoNCiAgIG8gIGVmbUN1UG1lIC0gY29u dGFpbmluZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgICBz dGF0dXMgYW5kIG5vdGlmaWNhdGlvbnMgb2YgRUZNQ3UgUE1Fcy4NCg0KICAgVGhlIGVmbUN1UG1l IGdyb3VwIGluIHR1cm4gY29udGFpbnMgZWZtQ3VQbWUyQiBhbmQgZWZtQ3VQbWUxMFANCiAgIGdy b3Vwcywgd2hpY2ggZGVmaW5lIFBNRSBQcm9maWxlcyBzcGVjaWZpYyB0byAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTDQogICBQTUVzIHJlc3BlY3RpdmVseSwgYXMgd2VsbCBhcyBQTUUgc3BlY2lmaWMg c3RhdHVzIGluZm9ybWF0aW9uLg0KDQo0LjIuICBJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBN SUIgT3ZlcnZpZXcNCg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIg dGFibGVzOg0KDQogICBvICBpZkNhcFN0YWNrVGFibGUgLSBjb250YWluaW5nIG9iamVjdHMgdGhh dCBkZWZpbmUgcG9zc2libGUNCiAgICAgIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIHN1Yi1sYXll cnMgb2YgYW4gaW50ZXJmYWNlIHdpdGggZmxleGlibGUNCiAgICAgIGNyb3NzLWNvbm5lY3QgKGNy b3NzLWNvbm5lY3QgY2FwYWJpbGl0eSkuDQoNCiAgIG8gIGlmSW52Q2FwU3RhY2tUYWJsZSAtIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2Fwc3RhY2tUYWJsZS4NCg0KNC4zLiAgUE1FIFByb2ZpbGVzDQoN CiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIEVGTUN1 IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2ZXJ5IEVGTUN1IFBI WSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiAgTW9yZW92ZXIsIG1vc3QgUE1FcyBhcmUgcHJv dmlzaW9uZWQgaWRlbnRpY2FsbHkgd2l0aCB0aGUNCiAgIHNhbWUgc2V0IG9mIHBhcmFtZXRlcnMu ICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9uaW5nIHByb2Nlc3MsIHRoZQ0KICAgRUZNLUNVLU1J QiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMsIHNpbWlsYXIgdG8N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgSERTTDIt U0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNNLU1JQi4gIEEgcHJvZmlsZSBpcyBh IHNldA0KICAgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3VyYXRpb24gb3Ig cmVwcmVzZW50YXRpb24gb2YgYQ0KICAgUE1FLiAgVGhlIHNhbWUgcHJvZmlsZSBjYW4gYmUgc2hh cmVkIGJ5IG11bHRpcGxlIFBNRSBwb3J0cywgdXNpbmcgdGhlDQogICBzYW1lIGNvbmZpZ3VyYXRp b24uDQoNCiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4gZWZtQ3VQbWUyQlByb2Zp bGVUYWJsZSBhbmQNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIGZvciAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIFBNRXMgcmVzcGVjdGl2ZWx5Lg0KICAgVGhlcmUgYXJlIDEyIHByZWRlZmluZWQg c3RhbmRhcmQgcHJvZmlsZXMgZm9yIDJCQVNFLVRMIGFuZCAyMg0KICAgc3RhbmRhcmQgcHJvZmls ZXMgZm9yIDEwUEFTUy1UUywgZGVmaW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yDQog ICByYXBpZCBwcm92aXNpb25pbmcgb2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gIElu IGFkZGl0aW9uIHRoZQ0KICAgRUZNLUNVLU1JQiBkZWZpbmVzIHR3byBhZGRpdGlvbmFsIHByZWRl ZmluZWQgcHJvZmlsZXMgZm9yICJiZXN0LQ0KICAgZWZmb3J0IiBwcm92aXNpb25pbmcgb2YgMkJB U0UtVEwgUE1Fcy4gIEFuIGFiaWxpdHkgdG8gZGVmaW5lIG5ldw0KICAgY29uZmlndXJhdGlvbiBw cm9maWxlcyBpcyBhbHNvIHByb3ZpZGVkIHRvIGFsbG93IGZvciBFRk1DdSBkZXBsb3ltZW50DQog ICB0YWlsb3JlZCB0byBzcGVjaWZpYyBjb3BwZXIgZW52aXJvbm1lbnQgYW5kIHNwZWN0cmFsIHJl Z3VsYXRpb25zLg0KDQogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3IgYWRtaW5pc3RyYXRp dmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhDQogICBzcGVjaWZpYyBQTUUgdmlhIGVmbUN1UG1l QWRtaW5Qcm9maWxlIG9iamVjdC4gIElmDQogICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJv LCB0aGVuIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUNCiAgIFBDUyBwb3J0LCBjb25u ZWN0ZWQgdG8gdGhlIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlDQog ICAob3IgYSBsaXN0IG9mIHBvc3NpYmxlIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuICBUaGlzIG1l Y2hhbmlzbSBhbGxvd3MNCiAgIHRvIHNwZWNpZnkgYSBjb21tb24gcHJvZmlsZShzKSBmb3IgYWxs IFBNRXMgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgIHBvcnQsIHdpdGggYW4gYWJpbGl0eSB0byBj aGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZw0KICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHRoZSBwcm9maWxlIHNldCBieQ0KICAg ZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgIEEgY3VycmVudCBvcGVyYXRpbmcgUE1FIHByb2ZpbGUg aXMgcG9pbnRlZCB0byBieSBlZm1DdVBtZU9wZXJQcm9maWxlDQogICBvYmplY3QuICBOb3RlIHRo YXQgdGhpcyBwcm9maWxlIGVudHJ5LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LA0KICAg dG8gcmVmbGVjdCBhY2hpZXZlZCBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQpDQog ICBpbml0aWFsaXphdGlvbi4NCg0KNC40LiAgTWFwcGluZyBvZiBJRUVFIDgwMi4zYWggTWFuYWdl ZCBPYmplY3RzDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVu IHJlbGV2YW50IG1hbmFnZWQgb2JqZWN0cw0KICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gWzgw Mi4zYWhdIENsYXVzZSAzMCwgYW5kIG1hbmFnZWQgb2JqZWN0cw0KICAgZGVmaW5lZCBpbiB0aGlz IGRvY3VtZW50IGFuZCBpbiBhc3NvY2lhdGVkIE1JQiBtb2R1bGVzLCBpLmUuLCB0aGUgSUYtDQog ICBNSUIgW1JGQzI4NjNdLg0KDQogICBOb3RlIHRoYXQgbWFqb3JpdHkgb2YgdGhlIG9iamVjdHMg ZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgZG8NCiAgIG5vdCBoYXZlIGRpcmVjdCBj b3VudGVycGFydHMgaW4gQ2xhdXNlIDMwIGFuZCBpbnN0ZWFkIHJlZmVyIHRvIENsYXVzZQ0KICAg NDUgcmVnaXN0ZXJzLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE0XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3QgICAgICAgfCBDb3JyZXNwb25kaW5nIFNOTVAgT2JqZWN0ICAgICAgIHwNCiAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KICAgfCBvTUFVIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KICAgfCBhTUFVVHlwZSAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZNYXVUeXBl IChNQVUtTUlCKSAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYU1BVVR5cGVM aXN0ICAgICAgICAgICAgICAgICAgICB8IGlmTWF1VHlwZUxpc3RCaXRzIChNQVUtTUlCKSAgICAg fA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFNZWRpYUF2YWlsYWJsZSAgICAgICAgICAgICAgICAg fCBpZk1lZGlhQXZhaWxhYmxlIChNQVUtTUlCKSAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAg fCBvUEFGIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFG SUQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZJbmRleCAoSUYtTUlCKSAgICAgICAgICAg ICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBoeUVuZCAgICAgICAgICAgICAgICAgICAg ICAgICB8IGVmbUN1UGh5U2lkZSAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r DQogICB8IGFQSFlDdXJyZW50U3RhdHVzICAgICAgICAgICAgICAgfCBlZm1DdVN0YXR1cyAgICAg ICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFGU3VwcG9ydGVkICAg ICAgICAgICAgICAgICAgIHwgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICB8DQogICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCiAgIHwgb1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdlICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgfCAoT3B0aW9uYWwpICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsNCiAgIHwgYVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICAgICB8IGVmbUN1UEFGQWRt aW5TdGF0ZSAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFMb2NhbFBBRkNh cGFjaXR5ICAgICAgICAgICAgICAgfCBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhTG9jYWxQTUVBdmFpbGFibGUgICAgICAgICAgICAgIHwg aWZDYXBTdGFja1RhYmxlICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwg YUxvY2FsUE1FQWdncmVnYXRlICAgICAgICAgICAgICB8IGlmU3RhY2tUYWJsZSAoSUYtTUlCKSAg ICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFSZW1vdGVQQUZTdXBwb3J0ZWQgICAg ICAgICAgICAgfCBlZm1DdVJlbW90ZVBBRlN1cHBvcnRlZCAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhUmVtb3RlUEFGQ2FwYWNpdHkgICAgICAgICAgICAgIHwgZWZtQ3VSZW1vdGVQ QUZDYXBhY2l0eSAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVJlbW90ZVBNRUFn Z3JlZ2F0ZSAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IG9QTUUgLSAxMFAvMkIgUGFja2FnZSAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgIHwgKE1hbmRhdG9yeSkgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFQTUVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpZkluZGV4 IChJRi1NSUIpICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FQWRt aW5TdGF0ZSAgICAgICAgICAgICAgICAgIHwgaWZBZG1pblN0YXRlIChJRi1NSUIpICAgICAgICAg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRVN0YXR1cyAgICAgICAgICAgICAgICAgICAg ICB8IGVmbUN1UG1lU3RhdHVzICAgICAgICAgICAgICAgICAgfA0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICB8IGFQTUVTTlJNZ24gICAgICAgICAgICAg ICAgICAgICAgfCBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhVENDb2RpbmdWaW9sYXRpb25zICAgICAgICAgICAgIHwgZWZtQ3VQbWVUQ0Nv ZGluZ0Vycm9ycyAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVRDQ1JDRXJyb3Jz ICAgICAgICAgICAgICAgICAgICB8IGVmbUN1UG1lVENDcmNFcnJvcnMgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IGFQcm9maWxlU2VsZWN0ICAgICAgICAgICAgICAgICAgfCBl Zm1DdUFkbWluUHJvZmlsZSwgICAgICAgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFPcGVyYXRpbmdQcm9maWxlICAgICAgICAgICAgICAgfCBlZm1DdVBt ZU9wZXJQcm9maWxlICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FRkVD Q29ycmVjdGVkQmxvY2tzICAgICAgICAgIHwgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3Mg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgICAg ICB8IGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgfA0KICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoN CiAgICAgICAgICAgICAgVGFibGUgMjogTWFwcGluZyBvZiBJRUVFIDgwMi4zIE1hbmFnZWQgT2Jq ZWN0cw0KDQoNCjUuICBJbnRlcmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMN Cg0KICAgSUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICAgICBJTVBP UlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTINCiAgICAgICAg IEZST00gU05NUHYyLVNNSSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgICAgVHJ1dGhWYWx1ZQ0K ICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICAgICBNT0RV TEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQDQogICAgICAgICBGUk9NIFNOTVB2Mi1DT05GICAg ICAgICAtLSBSRkMgMjU4MA0KICAgICAgIGlmU3RhY2tHcm91cDIsIGlmU3RhY2tIaWdoZXJMYXll ciwgaWZTdGFja0xvd2VyTGF5ZXINCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0t IFJGQyAyODYzDQogICAgICAgaWZJbnZTdGFja0dyb3VwDQogICAgICAgICBGUk9NIElGLUlOVkVS VEVELVNUQUNLLU1JQiAtLSBSRkMgMjg2NA0KICAgICAgIDsNCg0KICAgICBpZkNhcFN0YWNrTUlC IE1PRFVMRS1JREVOVElUWQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IElu dGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICAgICBDT05UQUNULUlORk8N CiAgICAgICAgICJXRyBjaGFydGVyOg0KICAgICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0 bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICAgICBNYWlsaW5nIExpc3Rz Og0KICAgICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAg ICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MNCg0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVu DQogICAgICAgICBQb3N0YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFn ZW4gMzMNCiAgICAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAg ICAgIE5ldGhlcmxhbmRzDQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAg ICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6 IEVkd2FyZCBCZWlsaQ0KICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAg ICAgICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAg ICAgUGV0YWNoLVRpa3ZhIDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAg ICAgICAgICBUZWw6ICs5NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVp bGlAYWN0ZWxpcy5jb20iDQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmpl Y3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNjcmliZQ0KICAgICAgICAgY3Jv c3MtY29ubmVjdCBjYXBhYmlsaXRpZXMgb2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywN CiAgICAgICAgIGNvbXBsZW1lbnRpbmcgaWZTdGFja1RhYmxlIGFuZCBpZkludlN0YWNrVGFibGUg ZGVmaW5lZCBpbg0KICAgICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgcmVz cGVjdGl2ZWx5Lg0KDQogICAgICAgICBDb3B5cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3 KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2Yg UkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgICAgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5v dGljZXMuIg0KDQogICAgICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFy eSAyMSwgMjAwNw0KICAgICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZlcnNpb24sIHB1Ymxpc2hl ZCBhcyBSRkMgWFhYWC4iDQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGgg dGhlIGFjdHVhbCBSRkMgbnVtYmVyICYNCiAgICAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0K ICAgICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBa Wlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAgICAgICAgIC0tIGFsbG9jYXRlZCAmIHJl bW92ZSB0aGlzIG5vdGUuDQoNCiAgICAgIC0tIFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUNCiAgICAg IC0tIFN0cnVjdHVyZWQgYXMgcmVjb21tZW5kZWQgYnkgUkZDIDQxODEsIHNlZQ0KICAgICAgLS0g QXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQNCg0KICAgICAgaWZDYXBTdGFja09iamVj dHMgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIgMSB9DQoNCiAgICAg IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNr TUlCIDIgfQ0KDQogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQ0KDQogICAgICAtLQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMTddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAtLSBpZkNh cFN0YWNrVGFibGUgZ3JvdXANCiAgICAgIC0tDQoNCiAgICAgIGlmQ2FwU3RhY2tUYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5 DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSwgbW9k ZWxlZCBhZnRlciBpZlN0YWNrVGFibGUgZnJvbSBJRi1NSUIsDQogICAgICAgICAgY29udGFpbnMg aW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlICdvbi10b3Atb2YnDQogICAgICAgICAgcmVsYXRp b25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsNCiAgICAg ICAgICBpbnRlcmZhY2VzIChhcyBvcHBvc2VkIHRvIGFjdHVhbCByZWxhdGlvbnNoaXBzIGRlc2Ny aWJlZCBpbg0KICAgICAgICAgIGlmU3RhY2tUYWJsZSkuIEluIHBhcnRpY3VsYXIsIGl0IGNvbnRh aW5zIGluZm9ybWF0aW9uIG9uDQogICAgICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyDQogICAgICAgICAgc3ViLWxheWVycywgYXMg ZGV0ZXJtaW5lZCBieSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgdGhlDQogICAgICAgICAg ZGV2aWNlLCB3aGVyZSBlYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwg cm93DQogICAgICAgICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWIt bGF5ZXIgd2l0aCBpZkluZGV4DQogICAgICAgICAgdmFsdWUgeCBjYW4gYmUgY29ubmVjdGVkIHRv IHJ1biBvbiB0b3Agb2YgdGhlIHN1Yi1sYXllciB3aXRoDQogICAgICAgICAgaWZJbmRleCB2YWx1 ZSB5LCB0aGVuIHRoaXMgdGFibGUgY29udGFpbnM6DQoNCiAgICAgICAgICAgIGlmQ2FwU3RhY2tT dGF0dXMueC55PXRydWUNCg0KICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2Vz IG5vdCBleGlzdCBpZiBpdCBpcyBpbXBvc3NpYmxlDQogICAgICAgICAgdG8gY29ubmVjdCBiZXR3 ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHkuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgZm9yIG1v c3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNFLVRMKQ0KICAgICAgICAgIHRoZXJlJ3Mg YWx3YXlzIGF0IGxlYXN0IG9uZSBoaWdoZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBDUw0KICAg ICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQTUUpIGFu ZCBhdA0KICAgICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZlbCBpbnRlcmZhY2UgZm9yIGVhY2gg aGlnaGVyLWxldmVsDQogICAgICAgICAgaW50ZXJmYWNlLCB0aGF0IGlzLCB0aGVyZSBpcyBhdCBs ZWFzdCBhIHNpbmdsZSByb3cgd2l0aCBhDQogICAgICAgICAgJ3RydWUnIHN0YXR1cyBmb3IgYW55 IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBkZXZpY2UgY2FwYWJpbGl0eSINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIg0KICAgICAgICA6Oj0geyBpZkNh cFN0YWNrT2JqZWN0cyAxIH0NCg0KICAgICAgaWZDYXBTdGFja0VudHJ5ICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJZkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25z aGlwIGJldHdlZW4gdHdvDQogICAgICAgICAgc3ViLWxheWVycywgc3BlY2lmeWluZyB0aGF0IG9u ZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bg0KICAgICAgICAgIG9uICd0b3AnIG9mIHRoZSBv dGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzDQogICAgICAgICAgdG8g YSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNlIGluZGV4IGZvcg0KICAg ICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3RpdmVseSkuIg0KICAgICAgICBJ TkRFWCB7DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAg ICAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgICAgaWZTdGFja0xvd2VyTGF5ZXIN CiAgICAgICAgfQ0KICAgICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgICAgIElm Q2FwU3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVz ICAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgIH0NCg0KICAgICAgaWZDYXBTdGFja1N0YXR1cyAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBj YXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAgICAgICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJz LiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQ6DQogICAgICAgICAgICB0cnVl KDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGludGVyZmFjZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dl ckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgY29ubmVjdGVkIHRv IHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgICAgIGZhbHNlKDIpICAgICAg ICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dh YmxlIG1vZHVsZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2Ug YXZhaWxhYmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgICAgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgICAgIG90aGVy IHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0K ICAgICAgICAgIGEgaGlnaGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIg aW50ZXJmYWNlIGluDQogICAgICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQg dG8gYW5vdGhlciBoaWdoZXItbGF5ZXINCiAgICAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRv IGVuc3VyZSB0aGF0IGEgcGFydGljdWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgICAgYmUgY29u bmVjdGVkIHRvIGFub3RoZXIgc3ViLWxheWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAg ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yDQogICAgICAgICAgZm9yIEVGTUN1IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3Bl Y3RlZC4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3Rh Y2tTdGF0dXMsIGFzIGl0DQogICAgICAgICAgZGVzY3JpYmVzIGEgY3Jvc3MtY29ubmVjdCBjYXBh YmlsaXR5LiINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5IDEgfQ0KDQogICAgICBpZklu dkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAgU0VRVUVO Q0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vz c2libGUNCiAgICAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXll cnMgb2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOV0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB0YWJsZSwgbW9kZWxlZCBhZnRlciBpZklu dlN0YWNrVGFibGUgZnJvbQ0KICAgICAgICAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiwgaXMgYW4g aW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlDQogICAgICAgICAgZGVmaW5lZCBpbiB0aGlz IE1JQiBtb2R1bGUuDQogICAgICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBjb250YWlu cyBpbmZvcm1hdGlvbiBvbiB3aGljaA0KICAgICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1biAndW5k ZXJuZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUNCiAgICAgICAgICBlYWNoIHN1 Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlLg0K ICAgICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZh bHVlIHggTUFZIGJlDQogICAgICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBz dWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlDQogICAgICAgICAgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOg0KDQogICAgICAgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0K DQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBv ZiByb3dzIGFzIHRoZQ0KICAgICAgICAgIGlmQ2FwU3RhY2tUYWJsZSwgYnV0IHRoZSByb3dzIGFw cGVhciBpbiBhIGRpZmZlcmVudCBvcmRlci4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QNCiAgICAgICAgICBjYXBhYmls aXR5LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1N SUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja09iamVjdHMgMiB9 DQoNCiAgICAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNj ZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxhdGlvbnNoaXAg YmV0d2VlbiB0d28gc3ViLQ0KICAgICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUg c3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgICAgb3RoZXIgc3ViLWxh eWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAgICAg ICAgcm93IGluIHRoZSBpZlRhYmxlLiINCiAgICAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXll ciwgaWZTdGFja0hpZ2hlckxheWVyIH0NCiAgICAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxl IDEgfQ0KDQogICAgICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICAg ICBpZkludkNhcFN0YWNrU3RhdHVzICAgICAgIFRydXRoVmFsdWUNCiAgICAgICB9DQoNCiAgICAg IGlmSW52Q2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAg IFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5DQogICAgICAgIFNU QVRVUyAgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgIlRo ZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknDQogICAg ICAgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLg0KDQogICAgICAgICAg IEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0 aGUNCiAgICAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFuZCB2aWNlIHZlcnNhLiBG b3IgZXhhbXBsZSwgaWYgdGhlDQogICAgICAgICAgIHZhcmlhYmxlIGlmQ2FwU3RhY2tTdGF0dXMu SC5MIGV4aXN0cywgdGhlbiB0aGUgdmFyaWFibGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIwXQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICBpZkludlN0YWNrU3RhdHVzLkwuSCBtdXN0 IGFsc28gZXhpc3QsIGFuZCB2aWNlIHZlcnNhLiAgSW4NCiAgICAgICAgICAgYWRkaXRpb24sIHRo ZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLg0KDQogICAgICAgICAg IFRoZSBpZkludlN0YWNrU3RhdHVzIG9iamVjdCBpcyByZWFkLW9ubHksIGFzIGl0IGRlc2NyaWJl cw0KICAgICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICAiaWZDYXBTdGFja1N0YXR1cyINCiAgICAgICAgOjo9IHsgaWZJbnZD YXBTdGFja0VudHJ5IDEgfQ0KDQogICAgIC0tDQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVu dHMNCiAgICAgLS0NCg0KICAgICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PQ0KICAgICAgICAgICB7IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAxIH0NCg0KICAgICAg aWZDYXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PQ0KICAgICAgICAgICB7 IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAyIH0NCg0KICAgICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFu Y2UNCg0KICAgICAgaWZDYXBTdGFja0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RT IHsNCiAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVzLA0KICAgICAgICAgIGlmSW52Q2FwU3RhY2tT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9y bWF0aW9uIG9uIHRoZQ0KICAgICAgICAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBtdWx0 aS1sYXllciAoc3RhY2tlZCkgbmV0d29yaw0KICAgICAgICAgIGludGVyZmFjZXMuIg0KICAgICAg ICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQ0KDQoNCiAgICAgLS0gQ29tcGxpYW5jZSBTdGF0 ZW1lbnRzDQoNCiAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIE1PRFVMRS1DT01QTElBTkNFDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVtZW50IGZvciBTTk1QIGVudGl0aWVzLCB3aGljaCBwcm92 aWRlDQogICAgICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0 eSBvZiBtdWx0aS1sYXllcg0KICAgICAgICAgIChzdGFja2VkKSBuZXR3b3JrIGludGVyZmFjZXMs IHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdA0KICAgICAgICAgIGJldHdlZW4gdGhlIHN1Yi1s YXllcnMuIg0KDQoNCiAgICAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQ0KICAgICAgICAgIE1B TkRBVE9SWS1HUk9VUFMgew0KICAgICAgICAgICAgaWZDYXBTdGFja0dyb3VwDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB9DQoNCiAgICAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAgICAgIFNZTlRBWCAgICAg ICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAg ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9O QUwgZm9yDQogICAgICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUg aW50ZXJmYWNlcy4iDQoNCiAgICAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICAgICBNQU5EQVRP UlktR1JPVVBTIHsNCiAgICAgICAgICAgIGlmU3RhY2tHcm91cDINCiAgICAgICAgICB9DQoNCiAg ICAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgICAgICAgICBNQU5EQVRPUlkt R1JPVVBTIHsNCiAgICAgICAgICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAgICAgIH0NCg0KICAg ICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQogICBFTkQNCg0KDQo2LiAgRUZN IENvcHBlciBNSUIgRGVmaW5pdGlvbnMNCg0KICAgRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0g QkVHSU4NCg0KICAgICBJTVBPUlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQ RSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICAgICBVbnNpZ25lZDMyLCBDb3Vu dGVyMzIsIG1pYi0yDQogICAgICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3 OA0KICAgICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlz QWRkcmVzcw0KICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAg ICAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAN CiAgICAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgICAgU25t cEFkbWluU3RyaW5nDQogICAgICAgICBGUk9NIFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQx MQ0KICAgICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAg ICAgIC0tIFJGQyAyODYzDQogICAgICAgOw0KDQogICAgIGVmbUN1TUlCIE1PRFVMRS1JREVOVElU WQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAy MDA3DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIw MDcgICAgICAgICAgICAgICBbUGFnZSAyMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg RUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAg ICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3Jr aW5nIEdyb3VwIg0KICAgICAgIENPTlRBQ1QtSU5GTw0KICAgICAgICAgIldHIGNoYXJ0ZXI6DQog ICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRl ci5odG1sDQoNCiAgICAgICAgIE1haWxpbmcgTGlzdHM6DQogICAgICAgICAgIEdlbmVyYWwgRGlz Y3Vzc2lvbjogaHVibWliQGlldGYub3JnDQogICAgICAgICAgIFRvIFN1YnNjcmliZTogaHVibWli LXJlcXVlc3RAaWV0Zi5vcmcNCiAgICAgICAgICAgSW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1h aWxfYWRkcmVzcw0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVuDQogICAgICAgICBQb3N0 YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFnZW4gMzMNCiAgICAgICAg ICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAgICAgIE5ldGhlcmxhbmRz DQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAgICAgRS1tYWlsOiBid2lq bmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQ0K ICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAgICAgICAgICAgICAgICAg MjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgICAgUGV0YWNoLVRpa3Zh IDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICAgICBUZWw6ICs5 NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20i DQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlC IG1vZHVsZSBhcmUgdXNlZCB0byBtYW5hZ2UNCiAgICAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUg Rmlyc3QgTWlsZSAoRUZNKSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzDQogICAgICAgICAyQkFT RS1UTCBhbmQgMTBQQVNTLVRTLCBkZWZpbmVkIGluIElFRUUgU3RkLiA4MDIuM2FoLTIwMDQsDQog ICAgICAgICB3aGljaCBpcyBub3cgYSBwYXJ0IG9mIElFRUUgU3RkLiA4MDIuMy0yMDA1Lg0KDQog ICAgICAgICBUaGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGlz IE1JQiBtb2R1bGU6DQoNCiAgICAgICAgIFs4MDIuM2FoXSByZWZlcnMgdG86DQogICAgICAgICAg IElFRUUgU3RkIDgwMi4zYWgtMjAwNDogJ0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uDQog ICAgICAgICAgIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9u IGV4Y2hhbmdlDQogICAgICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAt DQogICAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBD b2xsaXNpb24NCiAgICAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcg0KICAgICAgICAgICBTcGVjaWZpY2F0aW9ucyAtDQogICAgICAgICAg IEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwNCiAg ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzDQogICAgICAgICAgIE5ldHdvcmtzJywgMDcgU2VwdGVtYmVyIDIwMDQuDQoNCiAgICAg ICAgIE9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGlu Zw0KICAgICAgICAgU3VibGF5ZXIgKFBDUykgYW5kIGNvbW1vbiBzcGVjaWZpY2F0aW9ucywgdHlw ZSAxMFBBU1MtVFMgYW5kDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyM10NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50Jywg Q2xhdXNlIDQ1LA0KICAgICAgICAgJ01hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8p IEludGVyZmFjZScsIEFubmV4IDYyQSwNCiAgICAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFT Uy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBwcm9maWxlcyBmb3INCiAgICAgICAgIDJCQVNFLVRM Jy4NCg0KICAgICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoNCiAgICAgICAgICAgSVRVLVQgUmVj b21tZW5kYXRpb24gRy45OTEuMjogJ1NpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbA0KICAg ICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAy MDAzLg0KDQogICAgICAgICBbQU5GUF0gcmVmZXJzIHRvOg0KICAgICAgICAgICBOSUNDIERvY3Vt ZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlvbiBvZiB0aGUgQWNjZXNzDQogICAgICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uDQogICAgICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQgQWNjZXNzIE5ldHdvcmssJyBB dWd1c3QgMjAwNS4NCg0KICAgICAgICAgTmFtaW5nIENvbnZlbnRpb25zOg0KICAgICAgICAgICBB dG4gICAtIEF0dGVudWF0aW9uDQogICAgICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZpY2UNCiAg ICAgICAgICAgQ1BFICAgLSBDdXN0b21lciBQcmVtaXNlcyBFcXVpcG1lbnQNCiAgICAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQ0KICAgICAgICAgICBFRk1DdSAtIEVG TSBDb3BwZXINCiAgICAgICAgICAgTURJTyAgLSBNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0 DQogICAgICAgICAgIE1nbiAgIC0gTWFyZ2luDQogICAgICAgICAgIFBBRiAgIC0gUE1FIEFnZ3Jl Z2F0aW9uIEZ1bmN0aW9uDQogICAgICAgICAgIFBCTyAgIC0gUG93ZXIgQmFjay1PZmYNCiAgICAg ICAgICAgUENTICAgLSBQaHlzaWNhbCBDb2RpbmcgU3VibGF5ZXINCiAgICAgICAgICAgUE1EICAg LSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgICAgICAgICBQU0QgICAtIFBvd2VyIFNwZWN0cmFsIERlbnNpdHkN CiAgICAgICAgICAgU05SICAgLSBTaWduYWwgdG8gTm9pc2UgUmF0aW8NCiAgICAgICAgICAgVENQ QU0gLSBUcmVsbGlzIENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uDQoNCiAgICAgICAg IENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJzaW9uDQogICAg ICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZD DQogICAgICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgREVT Q1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAg ICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIg Jg0KICAgICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgICAgOjo9IHsgbWliLTIgWVlZ IH0NCg0KICAgICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25j ZSBpdCBpcw0KICAgICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAg ICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1vZHVsZQ0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNF0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgIGVmbUN1T2JqZWN0cyAgICAgT0JKRUNUIElERU5U SUZJRVIgOjo9IHsgZWZtQ3VNSUIgMSB9DQoNCiAgICAgIGVmbUN1Q29uZm9ybWFuY2UgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VNSUIgMiB9DQoNCiAgICAgIC0tIEdyb3VwcyBpbiB0aGUg bW9kdWxlDQoNCiAgICAgIGVmbUN1UG9ydCAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VPYmplY3RzIDEgfQ0KDQogICAgICBlZm1DdVBtZSAgICAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAyIH0NCg0KICAgICAgLS0gVGV4dHVhbCBDb252ZW50aW9u cw0KDQogICAgICBFZm1Qcm9maWxlSW5kZXggOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAg ICBESVNQTEFZLUhJTlQgImQiDQogICAgICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVhdGVyIHRoYW4gemVy bywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1IHBvcnQuIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQNCiAgICAgICAgICB2YWx1 ZXMgYXJlIGFzc2lnbmVkIGNvbnRpZ3VvdXNseSBzdGFydGluZyBmcm9tIDEuIFRoZSB2YWx1ZQ0K ICAgICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUNCiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgZW50aXR5J3MgbmV0 d29yayBtYW5hZ2VtZW50IHN5c3RlbQ0KICAgICAgICAgIHRvIHRoZSBuZXh0IHJlLWluaXRpYWxp emF0aW9uLiINCiAgICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkNCg0KICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvIDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgICAg RElTUExBWS1ISU5UICJkIg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiBpcyBhbiBleHRl bnNpb24gb2YgRWZtUHJvZmlsZUluZGV4DQogICAgICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRl ciBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZA0KICAgICAgICAgIHRvIGlk ZW50aWZ5IGEgUE1FIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gVGhpcw0KICAg ICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHplcm8uIFRo ZSB2YWx1ZSBvZg0KICAgICAgICAgIHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRo ZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQNCiAgICAgICAgICBvZiB0aGUgZGVzY3JpcHRpb24g b2YgYW55IG9iamVjdCB3aGljaCB1c2VzIHRoaXMgc3ludGF4Lg0KICAgICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucw0KICAg ICAgICAgIHdoZXJlIGN1cnJlbnQgb3BlcmF0aW9uYWwgcHJvZmlsZSBpcyB1bmtub3duLiINCiAg ICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDAuLjI1NSkNCg0KICAgICAgRWZtUHJvZmls ZUluZGV4TGlzdCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgICAgIERJU1BMQVktSElOVCAi MWQ6Ig0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiByZXByZXNlbnRzIGEgbGlzdCBvZiB1 cCB0byA2DQogICAgICAgICAgRWZtUHJvZmlsZUluZGV4J3MsIGFueSBvZiB3aGljaCBjYW4gYmUg Y2hvc2VuIGZvcg0KICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb2YgYW4gUE1FIGluIGEgbWFuYWdl ZCBFRk1DdSBwb3J0Lg0KICAgICAgICAgIFRoZSBFZm1Qcm9maWxlSW5kZXggdGV4dHVhbCBjb252 ZW50aW9uIGRlZmluZXMgYSBncmVhdGVyIHRoYW4NCiAgICAgICAgICB6ZXJvIHZhbHVlIHVzZWQg dG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZS4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcg0KDQoNCg0KQmVpbGkgICAgICAgICAg ICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjVd DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRz LCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgICAgRWZtUHJvZmls ZUluZGV4IHZhbHVlLg0KICAgICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9i amVjdC1zcGVjaWZpYyBhbmQgTVVTVA0KICAgICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFz IHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICAgICB3aGljaCB1 c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAg ICAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVz aW5nIHRoaXMNCiAgICAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3Ig YSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAgICAgdHlwZS4iDQogICAgICAgIFNZTlRBWCAg ICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAgICAgIEVmbVRydXRoVmFsdWVPclVu a25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlv biBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICAgICBjb252ZW50aW9u LiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICAgICBwb3Nz aWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3 aGVuIGFuIGV4YWN0DQogICAgICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0 IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiINCiAgICAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgICAgLS0gUG9ydCBOb3RpZmljYXRp b25zIEdyb3VwDQoNCiAgICAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJ RVIgOjo9IHsgZWZtQ3VQb3J0IDAgfQ0KDQogICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICAtLSBpZkluZGV4IGlz IG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAg ICAgaWZTcGVlZCwNCiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUNCiAgICAgICAgfQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1DdSBwb3J0JyBkYXRhIHJh dGUNCiAgICAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2VlZGVkIHRoZSBs b3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1VGhyZXNoTG93 UmF0ZS4NCg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hpbGUg dGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgICAgdGhy ZXNob2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFu ZA0KICAgICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90 IGFwcGxpY2FibGUgdG8NCiAgICAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBJ dCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNl YywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQg bm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0 YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQNCiAgICAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2lu ZyBub3RpZmljYXRpb25zIHRvIGJlIHNlbnQuDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNl0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBF Rk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgICAgIGFkYXB0IGl0c2Vs ZiB0byB0aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAg ICAgYW4gaW1wdWxzZSBub2lzZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0 aW9uIG1heQ0KICAgICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXAsDQogICAgICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRp b24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZNQ3UgbGluay4NCiAgICAgICAgICBUaGUgZHJvcHBlZCBQ TUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWluaXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAg ICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlk ZQ0KICAgICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIgbWFyZ2luLg0KDQogICAgICAgICAgR2Vu ZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVm bUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgICAgIC0tIFBDUyBQb3J0IGdyb3VwDQoNCiAg ICAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBT RVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8x MFBBU1MtVFMgKFBDUykNCiAgICAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhDQogICAgICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAg ICAgIDo6PSB7IGVmbUN1UG9ydCAxIH0NCg0KICAgICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0 IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFu IEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICAgICBOb3RlIHRoYXQg YW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBt dWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIN CiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZU YWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5D RSB7DQogICAgICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywN CiAgICAgICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5k ZXhMaXN0LA0KICAgICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2ln bmVkMzIsDQogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZh bHVlLA0KICAgICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1 ZQ0KICAgICAgICB9DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyN10NCgwNCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0K DQoNCiAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgSU5URUdFUiB7DQogICAgICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICAgICBkaXNhYmxl ZCgyKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBZG1p bmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBvZiB0aGUgRUZNQ3UgcG9ydA0K ICAgICAgICAgIChQQ1MpLg0KICAgICAgICAgIFdoZW4gJ2Rpc2FibGVkJywgUE1FIEFnZ3JlZ2F0 aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICAgICBQQ1MuIE5vIG1vcmUg dGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGluDQogICAgICAg ICAgdGhpcyBjYXNlLg0KICAgICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBwZXJm b3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgICAg UENTIHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1 ZSBvZg0KICAgICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9y dHMgU0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0 aCBtdWx0aXBsZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICAgICdkaXNhYmxlZCcu IEF0dGVtcHRzIHRvICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAg ICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICAg ICBDaGFuZ2luZyBQQUZBZG1pblN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlv biBhbmQNCiAgICAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBE b3duLiBBdHRlbXB0cyB0bw0KICAgICAgICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSBy ZWplY3RlZCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0K ICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBB RkFkbWluU3RhdGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBDUyBjb250cm9sDQogICAgICAgICAg cmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAy LjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDEgfQ0KDQogICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQg KFBDUykuDQogICAgICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUg RGlzY292ZXJ5IGZ1bmN0aW9uLA0KICAgICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAg ICAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVy biBhIHplcm8NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy NSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDI4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0K ICAgICAgICAgIGxlbmd0aCBvY3RldCBzdHJpbmcgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMg b2JqZWN0LiBBbg0KICAgICAgICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hB TEwgYmUgcmVqZWN0ZWQgZm9yIHN1Y2gNCiAgICAgICAgICBwb3J0cy4NCiAgICAgICAgICBUaGlz IG9iamVjdCBNVVNUIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIC1PIHN1YnR5cGUgUENTIGJlZm9y ZQ0KICAgICAgICAgIHdyaXRpbmcgb3BlcmF0aW9ucyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlDQogICAgICAgICAgKFNldF9pZl9DbGVhciBhbmQgQ2xlYXJfaWZfU2FtZSkgYXJl IHBlcmZvcm1lZCBieSBQTUVzDQogICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBQQ1MuDQog ICAgICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3QgZm9yIC1SIHN1YnR5cGUg cG9ydHMgYWZ0ZXINCiAgICAgICAgICByZXNldCBpcyBhbGwgemVyb2VzLiBGb3IgLVIgc3VidHlw ZSBwb3J0cywgdGhlIHZhbHVlIG9mIHRoaXMNCiAgICAgICAgICBvYmplY3QgY2Fubm90IGJlIGNo YW5nZWQgZGlyZWN0bHkuIFRoaXMgdmFsdWUgbWF5IGJlIGNoYW5nZWQNCiAgICAgICAgICBhcyBh IHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUNCiAgICAgICAgICBlZm1DdVBBRlJl bW90ZURpc2NvdmVyeUNvZGUgb2JqZWN0IG9mIHJlbW90ZSBQTUUgb2YgLU8NCiAgICAgICAgICBz dWJ0eXBlLCBjb25uZWN0ZWQgdG8gb25lIG9mIHRoZSBsb2NhbCBQTUVzIGFzc29jaWF0ZWQgd2l0 aA0KICAgICAgICAgIHRoZSBQQ1MuDQoNCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mDQogICAgICAgICAgU05N UCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwIG9y DQogICAgICAgICAgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhlIFBBRiBEaXNjb3Zlcnkg Y29kZSBtYXBzIHRvIHRoZSBsb2NhbCBEaXNjb3ZlcnkgY29kZQ0KICAgICAgICAgIHZhcmlhYmxl IGluIFBBRiAobm90ZSB0aGF0IGl0IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nDQogICAg ICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA2MS4yLjIuOC4zLCA2MS4yLjIuOC40LCA0NS4yLjYuNi4xLCA0NS4yLjYuOCwN CiAgICAgICAgICA2MUEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDIgfQ0K DQogICAgICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4TGlzdA0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiRGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMg aW4gdGhlDQogICAgICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBv aW50ZXJzIHRvIGVudHJpZXMgaW4NCiAgICAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVU YWJsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24g dGhlIGN1cnJlbnQNCiAgICAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9y dCBhcyBpbmRpY2F0ZWQgYnkNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQog ICAgICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9m aWxlIGluZGV4LA0KICAgICAgICAgIHRoZW4gYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1D dSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3VyZWQNCiAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFBy b2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQNCiAgICAgICAgICBpcyBv dmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxl LA0KICAgICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBlZm1DdUFkbWluUHJvZmls ZS4NCiAgICAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4 LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVk IGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgbGlz dC4NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDI5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAg ICAgIEJ5IGRlZmF1bHQgdGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgMHgwMSwgcmVmZXJlbmNp bmcgMXN0DQogICAgICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1D dVBtZTEwUFByb2ZpbGVUYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxl IGFuZCByZWFkYWJsZSBmb3IgdGhlIC1PIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1PIG9y IDEwUGFzc1RTLU8pIEVGTUN1IHBvcnRzLiBJdCBpcyBpcnJlbGV2YW50IGZvcg0KICAgICAgICAg IHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJv DQogICAgICAgICAgbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbiBh dHRlbXB0IHRvIHJlYWQNCiAgICAgICAgICB0aGlzIG9iamVjdCBhbmQgYW4gYXR0ZW1wdCB0byBj aGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIGluIHRoaXMgY2Fz ZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFs dWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 Lg0KDQogICAgICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9y bWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgICAgbGluayBpcyBV cCBvciBJbml0aWFsaXppbmcuDQogICAgICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0 IHRvIGEgbGlzdCB3aXRoIGEgbWVtYmVyDQogICAgICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRo ZSB2YWx1ZSBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQ0KICAgICAgICAgIGluIHRo ZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuDQoNCiAgICAg ICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5l ci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjYi DQogICAgICAgIERFRlZBTCB7ICcwMSdIIH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDMgfQ0KDQogICAgICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEuLjEwMDAwMHw5OTk5OTkpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiRGVzaXJl ZCBFRk1DdSBwb3J0ICduZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbg0KICAg ICAgICAgIEticHMsIHRvIGJlIGFjaGlldmVkIGR1cmluZyBpbml0aWFsaXphdGlvbiwgdW5kZXIg c3BlY3RyYWwNCiAgICAgICAgICByZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBl Zm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRo IHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3BlY2lmaWVkIGJ5DQogICAgICAgICAgZWZtQ3VUYXJn ZXRTbnJNZ24uDQogICAgICAgICAgSW4gY2FzZSBvZiBQQUYsIHRoaXMgb2JqZWN0IHJlcHJlc2Vu dHMgYSBzdW0gb2YgaW5kaXZpZHVhbCBQTUUNCiAgICAgICAgICBkYXRhIHJhdGVzLCBtb2RpZmll ZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZA0KICAgICAgICAgIDY0LzY1QiBm cmFtaW5nIG92ZXJoZWFkIChlLmcuIHRhcmdldCBkYXRhIHJhdGUgb2YgMTBNYnBzDQogICAgICAg ICAgU0hBTEwgYWxsb3cgbG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwtZHVwbGV4IDEwTWJw cw0KICAgICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50ZXItZnJh bWUgZ2FwKS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEwME1i cHMgYXMgdGhpcyBpcyB0aGUgbWF4DQogICAgICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZv ciBFRk1DdSBwb3J0cy4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAw MCBpbmRpY2F0ZXMgdGhhdCB0aGUgdG90YWwgZGF0YQ0KICAgICAgICAgIHJhdGUgKGlmU3BlZWQp IG9mIHRoZSBFRk1DdSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAzMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBiZSBlcXVhbCB0 byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAg ICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZlZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMg c3BlY2lmaWVkDQogICAgICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblBy b2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAgICAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhl IGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZQ0KICAgICAgICAgIGhpZ2hlciB0 b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBieSB0aGUgdGFyZ2V0LCB0aGUNCiAg ICAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFk ZGl0aW9uYWwgU05SDQogICAgICAgICAgbWFyZ2luIG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5n IHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICAgICBieSBlZm1DdUFkYXB0aXZl U3BlY3RyYS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMgdGhhdCB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICAgICBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0 IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICAgICBpbml0aWFs aXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMN CiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0 aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEg UmF0ZSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgRG93bi4g QXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAg ICAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYg dGhlDQogICAgICAgICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50 ZWQNCiAgICAgICAgICBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQog ICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZtQ3VUYXJnZXRT bnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uMjEp DQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFs bCBQTUVzDQogICAgICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXpp YXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICAgICBOb3Rl IHRoYXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4N CiAgICAgICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1U UyBwb3J0cyBpbiBvcmRlcg0KICAgICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0 ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgICAgc2VydmljZSBpbnRlcmZhY2Uu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlw ZSBFRk1DdSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBh dmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgICAgIENoYW5naW5nIG9mIHRo ZSBUYXJnZXQgU05SIE1hcmdpbiBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAg IGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVq ZWN0ZWQNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg ICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAg ICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUNCiAgICAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBNRXMgY29tcHJpc2luZyB0 aGUgRUZNQ3UNCiAgICAgICAgICBwb3J0IGlzIHJlcHJlc2VudGVkIGJ5IGVmbUN1UG1lU25yTWdu Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYx LjEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQ0KDQogICAgICBlZm1D dUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiSW5kaWNhdGVzIGhvdyB0 byB1dGlsaXplIGV4Y2VzcyBjYXBhY2l0eSB3aGVuIHRoZSBjb3BwZXINCiAgICAgICAgICBlbnZp cm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhh dA0KICAgICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJnZXREYXRhUmF0ZS4NCg0KICAg ICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmls aXR5IFNIQUxMIGJlDQogICAgICAgICAgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQg cG93ZXIsIGUuZy4gdXNpbmcgaGlnaGVyDQogICAgICAgICAgY29uc3RlbGxhdGlvbnMgYW5kIFBv d2VyIEJhY2stT2ZmLCBpbiBvcmRlciB0byByZWR1Y2UNCiAgICAgICAgICBpbnRlcmZlcmVuY2Ug dG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZQ0KICAgICAgICAgIGFk dmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLg0KDQogICAgICAgICAgVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxM DQogICAgICAgICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3By ZWFkIGV2ZW5seSBhY3Jvc3MNCiAgICAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICAgICByb2J1c3RuZXNzLg0K DQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUg RUZNQ3UgcG9ydHMNCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZh aWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGlz IG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzDQogICAgICAgICAgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNh c2UNCiAgICAgICAgICBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwg aWYgdGhlIGxpbmsgaXMgVXANCiAgICAgICAgICBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4i DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA2IH0NCg0KICAgICAgZWZtQ3VUaHJl c2hMb3dSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEu LjEwMDAwMCkNCiAgICAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jv c3NpbmcgYWxhcm0NCiAgICAgICAgICB0aHJlc2hvbGQuIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgaWZTcGVlZCBmb3IgdGhpcyBwb3J0DQogICAgICAgICAgcmVhY2hlcy9kcm9wcyBiZWxvdyBv ciBleGNlZWRzIHRoaXMgdGhyZXNob2xkLCBhbg0KICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3Nz aW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQNCiAgICAgICAgICBi eSBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgICAgKDJC YXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVz Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNyB9DQoNCiAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHNob3Vs ZA0KICAgICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQoNCiAgICAgICAg ICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5nDQog ICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGlj YXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4NCg0KICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJs ZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBv cnRDb25mRW50cnkgOCB9DQoNCg0KICAgICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eVRhYmxlIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENhcGFiaWxp dHlFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRhYmxlIGZv ciBDYXBhYmlsaXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNTLVRTIChQQ1MpDQogICAgICAg ICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQ0K ICAgICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnQgMiB9 DQoNCiAgICAgIGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDYXBhYmlsaXR5 IHRhYmxlLg0KICAgICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGlu ZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBv biB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hp Y2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRl eCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgICAg RWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAg ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICAg ICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3du LA0KICAgICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0K ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1D dSBwb3J0DQogICAgICAgICAgKFBDUykuDQogICAgICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICAgICBQTUUgYWdn cmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgICAgIFBvcnRzIGluY2FwYWJs ZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsDQogICAgICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZh aWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4i DQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNCwgNDUuMi4zLjE3LjEiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRy eSAxIH0NCg0KICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5 IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBD UyBjYW4NCiAgICAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxl IFBNRXMuDQogICAgICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgICAg UG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0K ICAgICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQog ICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMzRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgYVJl bW90ZVBBRlN1cHBvcnRlZC4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIFJlbW90ZSBQQUYgc3VwcG9ydGVkIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAv MkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuOSwgNDUuMi4zLjE3LjIiDQogICAgICAgIDo6PSB7 IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0NCg0KICAgICAgZWZtQ3VQQUZDYXBhY2l0eSAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJl IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRi4NCiAgICAgICAgICBUaGUgbnVtYmVyIG9mIFBN RXMgY3VycmVudGx5IGFzc2lnbmVkIHRvIGEgcGFydGljdWxhcg0KICAgICAgICAgIEVGTUN1IHBv cnQgKGVmbUN1TnVtUE1FcykgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuDQogICAgICAgICAgZWZtQ3VQ QUZDYXBhY2l0eS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAz MCBhdHRyaWJ1dGUNCiAgICAgICAgICBhTG9jYWxQQUZDYXBhY2l0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQ0KDQogICAgICBlZm1DdVBlZXJQQUZD YXBhY2l0eSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMHwx Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBjYW4gYmUgYWdncmVnYXRlZCBieSB0aGUgUEFGIG9mIHRoZSBwZWVyDQogICAgICAgICAg UGh5IChQQ1MgcG9ydCkuDQogICAgICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBl ZXIgUEFGIENhcGFjaXR5IGlzIHVua25vd24NCiAgICAgICAgICAocGVlciBjYW5ub3QgYmUgcmVh Y2hlZCkuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlDQogICAgICAgICAgYVJlbW90ZVBBRkNhcGFjaXR5LiINCiAgICAgICAgUkVGRVJFTkNF DQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCINCiAgICAgICAgOjo9 IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDQgfQ0KDQoNCiAgICAgIGVmbUN1UG9ydFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSBwcm92aWRlcyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg MkJBU0UtVEwvMTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1 cw0KICAgICAgICAgIGluZm9ybWF0aW9uIGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCIGFuZCBp Zk1hdVRhYmxlIG9mDQogICAgICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3Jt YXRpb24gYWJvdXQgY29ubmVjdGVkIFBNRXMNCiAgICAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBl Zm1DdVBtZVN0YXR1c1RhYmxlLg0KDQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZl IGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAgICAgIGl0IGlzIE5PVCBw ZXJzaXN0ZW50LiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0IDMgfQ0KDQogICAgICBlZm1DdVBv cnRTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBvcnRT dGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVu dHJ5IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5 IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lg0KICAgICAg ICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBhIHNpbmdsZQ0K ICAgICAgICAgIG9yIG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXguIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzVGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6 PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VGbHRTdGF0dXMgICAgICAgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlICAgICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgICAgIGVmbUN1TnVtUE1FcyAgICAgICAgICAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAgICAgICAgQ291 bnRlcjMyLA0KICAgICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwNCiAgICAgICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgICAgICAgICBDb3VudGVy MzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMy LA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwN CiAgICAgICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyAgICAgICAgICAgICBDb3VudGVyMzIsDQog ICAgICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLA0KICAg ICAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMg0KICAgICAg ICB9DQoNCiAgICAgIGVmbUN1Rmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICAgICBub1BlZXIoMCksDQogICAgICAgICAgcGVlclBvd2VyTG9z cygxKSwNCiAgICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2goMiksDQogICAgICAgICAgbG93UmF0 ZSgzKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkVGTUN1 IChQQ1MpIHBvcnQgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBvc3NpYmxlDQog ICAgICAgICAgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSAzNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIG5v UGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVz IGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBp bmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVm bUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIg UEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICAgICBwbWVT dWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10 eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGlu IHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgICAgbG93UmF0ZSAgICAg ICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAg ICAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1 cyBvYmplY3QNCiAgICAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4g TUFVLU1JQi4NCg0KICAgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4g dGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgICAgUEFGIGlzIGRp c2FibGVkKS4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJJRi1NSUIsIGlmT3BlclN0 YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgICAgZWZtQ3VQbWVG bHRTdGF0dXMiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICAg ICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgICAgIG9mZmljZSgyKSwNCiAgICAg ICAgICB1bmtub3duKDMpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQg YXMNCiAgICAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9y dCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICAgICctUicpLg0KICAgICAgICAgIFRoZSB2YWx1ZSBv ZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICAgICBkZXNp Z25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFy ZQ0KICAgICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgICAgVGhlIHZhbHVlIG9mICd1 bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICAg ICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUg c2lkZQ0KICAgICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAg ICBhUGh5RW5kIg0KICAgICAgICBSRUZFUkVOQ0UNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDM3XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDMwLjExLjEu MS4yIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0NCg0KICAgICAgZWZt Q3VOdW1QTUVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBpcyBjdXJyZW50bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGDQogICAgICAgICAg KGFzc2lnbmVkIHRvIHRoZSBFRk1DdSBwb3J0IHVzaW5nIGlmU3RhY2tUYWJsZSkuDQogICAgICAg ICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFGQ2FwYWNpdHkuDQoN CiAgICAgICAgICBUaGlzIG9iamVjdCBTSEFMTCBiZSBhdXRvbWF0aWNhbGx5IGluY3JlbWVudGVk IG9yIGRlY3JlbWVudGVkDQogICAgICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxldGVk IHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcNCiAgICAgICAgICBpZlN0YWNrVGFibGUuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4x LjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDMgfQ0KDQogICAgICBlZm1D dVBBRkluRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMg dGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZQ0KICAgICAgICAgIGdhbW1hIGludGVy ZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAgVGhpcyBy ZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVuIHRoZQ0K ICAgICAgICAgIFBBRiBpcyB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcg dGhlIFBBRiwgdGhlDQogICAgICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1 ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgUlggZXJyb3IgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0 aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0K ICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGlu dWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVO Q0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMSINCiAgICAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHNtYWxsZXIgdGhhbiBtaW5G cmFnbWVudFNpemUNCiAgICAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzhdDQoMDQpJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDcNCg0KDQogICAgICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAg ICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhl IGNvdW50ZXINCiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwg ZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRp ZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICBy ZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0 aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlz Y29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBS RUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNSB9DQoNCiAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50 cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFu IG1heEZyYWdtZW50U2l6ZQ0KICAgICAgICAgICg1MTIgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4g cmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KICAgICAgICAgIGludGVyZmFjZSBhbmQgZGlzY2Fy ZGVkLg0KICAgICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0 aGUgUEFGIGlzDQogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJs aW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMg dmFsdWUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAx MFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cw0KICAgICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVl IG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMi DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBB RkluQmFkRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVu dHMgd2hpY2ggZG8gbm90IGZpdCBpbnRvIHRoZSBzZXF1ZW5jZQ0KICAgICAgICAgIGV4cGVjdGVk IGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhhdCBoYXZlIGJlZW4NCg0KDQoNCkJl aWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAg ICAgIFtQYWdlIDM5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZh Y2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgICAg IGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4N CiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBB RiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl Lg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZD b3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0 RnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBz ZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNoIGhhdmUNCiAgICAgICAgICBiZWVuIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMNCiAgICAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rp b24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRl ciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICAgICB1bnN1cHBvcnRlZCBvciBk aXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAgICAgIHJl Z2lzdGVyLg0KDQogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhl IG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSA0NS4yLjMuMjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDgg fQ0KDQogICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDQwXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICJBIG51bWJlciBvZiBt aXNzaW5nIFN0YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICAg ICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9y IGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAg IHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQog ICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZh bHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0aWFsaXph dGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAg ICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRp bWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAg ICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3Rh dHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyBPQkpFQ1QtVFlQRQ0KICAg ICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVk IGJ5IHRoZQ0KICAgICAgICAgIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLg0KICAgICAgICAgIFRo aXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIGxvc3Qgc3Rh cnQgb2YgZnJhZ21lbnQNCiAgICAgICAgICByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRp bnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg ICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4Ig0KICAgICAgICA6 Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAxMCB9DQoNCiAgICAgIGVmbUN1UEFGSW5PdmVyZmxv d3MgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cywgcmVjZWl2ZWQg YWNyb3NzIHRoZSBnYW1tYSBpbnRlcmZhY2UNCiAgICAgICAgICBhbmQgZGlzY2FyZGVkLCB3aGlj aCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkNCg0KDQoNCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDQxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIGJ1ZmZlciB0byBvdmVyZmxv dy4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGlu ZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQ LzJCIFBBRiBvdmVyZmxvdyByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI0Ig0KICAgICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSAxMSB9DQoNCiAgICAgLS0gUE1FIE5vdGlmaWNhdGlvbnMgR3JvdXAN Cg0KICAgICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVm bUN1UG1lIDAgfQ0KDQogICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZyBOT1RJRklDQVRJT04t VFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAg ICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNh dGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbg0KICAgICAgICAgIHRocmVz aG9sZCAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaExpbmVBdG4NCiAgICAgICAgICB2YWx1ZSkg aGFzIGJlZW4gcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUw0KICAg ICAgICAgIFBNRS4gVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5n IGV2ZW50IGluDQogICAgICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNl ZWRlZCBhbmQgZnJvbSBleGNlZWRlZA0KICAgICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgICAg IEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUg c2VjLA0KICAgICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sDQogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRl cm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQ0KICAgICAgICAgIHNlbnQuDQoNCiAgICAgICAg ICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlDQog ICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQ0KDQogICAgICBlZm1DdVBtZVNuck1nbkNy b3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVm bUN1UG1lU25yTWduLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduDQogICAgICAgIH0N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDQyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMg bm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAg ICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0K ICAgICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1F Lg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2lu ZyBldmVudCBpbg0KICAgICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhj ZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICAg ICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41 IHNlYywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50 ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICAgICBzZW50Lg0KDQogICAgICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0K ICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICAgICBlZm1DdVBtZURldmljZUZh dWx0IE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMg dGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJlZW4NCiAgICAgICAgICBkZXRlY3RlZCBieSBh IHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0Lg0KDQogICAgICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzLA0KICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBQTUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgICAgZmFpbGVkLCBkdWUg dG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAg ICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4NCg0KICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhp cyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICAgICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lTm90aWZp Y2F0aW9ucyA0IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNB VElPTi1UWVBFDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAg ICAgZWZtQ3VQbWVPcGVyU3ViVHlwZQ0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBp bmRpY2F0ZXMgdGhhdCBwZWVyIFBNRSB3YXMgdXNpbmcNCiAgICAgICAgICBpbmNvbXBhdGlibGUg cHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KDQogICAgICAgICAgR2VuZXJhdGlvbiBv ZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAgICAgIGVmbUN1 UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSBvYmplY3QuIg0KICAgICAgICA6Oj0geyBlZm1DdVBt ZU5vdGlmaWNhdGlvbnMgNSB9DQoNCiAgICAgIC0tIFRoZSBQTUUgZ3JvdXANCg0KICAgICAgZWZt Q3VQbWVDb25mVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0Ug T0YgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UN CiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzIChtb2RlbXMpLiBDb25maWd1 cmF0aW9uIG9mDQogICAgICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBvciAxMFBB U1MtVFMgUE1FIHR5cGVzIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNv bmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUNCiAgICAgICAgICByZXNwZWN0aXZlbHku DQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEgcGVyc2lzdGVudA0KICAgICAgICAgIG1hbm5lci4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1l IDEgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBFZm1DdVBtZUNvbmZFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNz aWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4N CiAgICAgICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZN Q3UgUE1FIHBvcnQNCiAgICAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQg YW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlDQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmds ZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkg dG9nZXRoZXIgd2l0aCBvdGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAg ICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mVGFibGUgMSB9 DQoNCiAgICAgIEVmbUN1UG1lQ29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAg ICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybywNCiAg ICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsDQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA0NF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgICAgIGVmbUN1UG1l VGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dEVuYWJsZSAgICAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bEVuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWls RW5hYmxlIFRydXRoVmFsdWUNCiAgICAgICAgfQ0KDQogICAgICBlZm1DdVBtZUFkbWluU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAg aWVlZTJCYXNlVExPKDEpLA0KICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICAgICBp ZWVlMTBQYXNzVFNPKDMpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU1IoNCksDQogICAgICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAgICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNz VFNPKDYpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8oNykNCiAgICAgICAgfQ0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2ly ZWQpIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToN CiAgICAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgU0hB TEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVINCiAgICAgICAgICAgIGllZWUxMFBhc3NUU08gICAgICAg ICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUg0KICAgICAg ICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNl VEwtUiBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RTLVIu IEFjdHVhbCB2YWx1ZSB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2V0IGJ5IC1PIGxpbmsgcGFydG5lciBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4NCiAgICAgICAgICAgIGll ZWUyQmFzZVRMb3IxMFBhc3NUU08gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NU Uy1PLiBBY3R1YWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3 aWxsIGJlIHNldCBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC1SIGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVk DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMkJhc2VUTCBtb2RlLCAxMFBh c3NUUyB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCku DQogICAgICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMTBQYXNzVFMtTw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVm ZXJyZWQpIG9yIDJCYXNlVEwtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGkuZS4g aWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUg b2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw UGFzc1RTIG1vZGUsIDJCYXNlVEwgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZWQpLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNDVdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICAgICAgICAgQ2hhbmdpbmcgZWZtQ3VQbWVBZG1pblN1YlR5cGUgaXMgYSB0cmFm ZmljIGRpc3J1cHRpdmUNCiAgICAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBsaW5rDQogICAgICAgICAgaXMg VXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9i amVjdCB0byBhbiB1bnN1cHBvcnRlZCBzdWJ0eXBlDQogICAgICAgICAgKHNlZSBlZm1DdVBtZVN1 YlR5cGVzU3VwcG9ydGVkKSBTSEFMTCBiZSByZWplY3RlZC4NCg0KICAgICAgICAgIFRoZSBjdXJy ZW50IG9wZXJhdGlvbmFsIHN1YiB0eXBlIGlzIGluZGljYXRlZCBieQ0KICAgICAgICAgIGVmbUN1 UG1lT3BlclN1YlR5cGUgdmFyaWFibGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgY29tYmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdCBiaXRz DQogICAgICAgICAgYW5kIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEw UC8yQiBQTUEvUE1EDQogICAgICAgICAgY29udHJvbCByZWdpc3RlciINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4xLjExLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZUFk bWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUlu ZGV4T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIFBN RSBjb25maWd1cmF0aW9uIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlcg0KICAgICAg ICAgIHRvIGFuIGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAg ICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBv cGVyYXRpbmcNCiAgICAgICAgICBTdWJUeXBlIG9mIHRoZSBQTUUuIFRoZSB2YWx1ZSBvZiB0aGlz IG9iamVjdCBpcyB0aGUgaW5kZXggb2YNCiAgICAgICAgICB0aGUgcmVmZXJlbmNlZCBwcm9maWxl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCB0 aGUgUE1FIGlzDQogICAgICAgICAgY29uZmlndXJlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb2Jq ZWN0IGZvciB0aGUgUENTIHBvcnQsDQogICAgICAgICAgdG8gd2hpY2ggdGhpcyBQTUUgaXMgYXNz aWduZWQuIFRoYXQgaXMsIHRoZSBwcm9maWxlIHJlZmVyZW5jZWQNCiAgICAgICAgICBieSBlZm1D dVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykNCiAg ICAgICAgICByZWZlcmVuY2VkIGJ5IGVmbUN1QWRtaW5Qcm9maWxlLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVz DQogICAgICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKS4gSXQgaXMgaXJyZWxldmFudCBm b3IgdGhlIENQRQ0KICAgICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NUUy1SKSAt IGEgemVybyB2YWx1ZSBTSEFMTCBiZQ0KICAgICAgICAgIHJldHVybmVkIG9uIGFuIGF0dGVtcHQg dG8gcmVhZCB0aGlzIG9iamVjdCBhbmQgYW55IGF0dGVtcHQNCiAgICAgICAgICB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCBpbiB0aGlzIGNhc2UuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2 aWENCiAgICAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAgICAgICAgIE1v ZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5r IGlzDQogICAgICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1Qg YmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5n Lg0KICAgICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQg aXMgbm90IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVu dHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ2XQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiIN CiAgICAgICAgREVGVkFMIHsgMCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUg cG9ydCBhdCBDTy4NCiAgICAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0 aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAgICAgICAgIHRoZSBQTUUuDQogICAgICAgICAg UmVhZGluZyB0aGlzIG9iamVjdCByZXN1bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24u DQogICAgICAgICAgU2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4g YSBEaXNjb3ZlcnkNCiAgICAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVl IG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAgICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFM TCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAgICAgICB0aGUg bG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvDQog ICAgICAgICAgc3VjY2VlZCkuDQogICAgICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRv IHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xl YXIgb3BlcmF0aW9uLg0KICAgICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICAgICByZWFkIHRoaXMgb2JqZWN0 IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlzDQog ICAgICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0 byB0aGlzIG9iamVjdCBTSEFMTA0KICAgICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgICAg RGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAg ICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4g Y2FzZSBvZg0KICAgICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBh Z2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAgICAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zl cnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIGFnZ3JlZ2F0aW9u IGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZA0KICAgICAgICAgIDEwUC8yQiBhZ2dy ZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAg ICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4yLjYuOCINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0 biAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAg ICAgICBVTklUUyAgICAgICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDQ3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQg TGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLg0KICAgICAgICAg IFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxpbmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNo b2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgTGluZSBBdHRlbnVhdGlv biByZWFjaGVzIG9yDQogICAgICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYSBlZm1DdVBt ZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVk LCBpZiBlbmFibGVkIGJ5DQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUg UE1FcyAoLU8pLg0KICAgICAgICAgIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBl ICgtUikuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlvbiBUaHJl c2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQNCiAgICAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgICAgcmVqZWN0 ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksDQog ICAgICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVu IHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJl c2hvbGQgYml0cyBpbg0KICAgICAgICAgIHRoZSAyQiBQTUQgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjgpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIFNOUiBt YXJnaW4gYWxhcm0gdGhyZXNob2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgU05SIE1hcmdpbiByZWFjaGVzIG9yIGV4Y2VlZHMgdGhpcw0KICAgICAgICAgIHRocmVzaG9s ZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUNCiAgICAgICAg ICBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZS4N Cg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQ TUVzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZv ciB0aGUgQ1BFIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1SLzEwUGFzc1RTLVIpLg0KDQog ICAgICAgICAgQ2hhbmdpbmcgb2YgdGhlIFNOUiBNYXJnaW4gVGhyZXNob2xkIE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4NCiAgICAgICAgICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFu Z2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgICAgIGlmIHRoZSBs aW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBN RA0KICAgICAgICAgIGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KDQoNCg0KQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgNDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFj ZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIFJFRkVSRU5DRQ0K ICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSA1IH0NCg0KICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNiB9 DQoNCiAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0K DQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1n bkNyb3NzaW5nDQogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZh bHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDcgfQ0KDQogICAgICBlZm1D dVBtZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBU cnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91 bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9m IHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VGYXVsdA0KICAgICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0K ICAgICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSA4IH0NCg0KICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJs ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ5XQ0KDA0KSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 DQoNCg0KICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFi bGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5 IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUg bm90aWZpY2F0aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50 ZXJmYWNlLg0KDQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMTAg fQ0KDQoNCiAgICAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAg IFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24g b2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgICAg IHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRh YmxlDQogICAgICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgICAgRW50cmllcyBpbiB0aGlz IHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICAgICBtYW5u ZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZSAyIH0NCg0KICAgICAgZWZtQ3VQbWVDYXBhYmls aXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmls aXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRy eSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAg ICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNh biBiZQ0KICAgICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5k ZXhlZCBieSBpZkluZGV4LA0KICAgICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIg UE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9 DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lQ2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VQbWVTdWJU eXBlc1N1cHBvcnRlZCAgICAgQklUUw0KICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lU3ViVHlw ZXNTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAg ICAgICAgIGllZWUyQmFzZVRMTygwKSwNCiAgICAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAg ICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDMpDQogICAg ICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiUE1FIHN1cHBvcnRlZCBz dWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICAgICBzdWItdHlw ZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNl VExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgaWVlZTJCYXNlVExSICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJC YXNlVEwtUg0KICAgICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1FIGlzIGNhcGFibGUgb2Yg b3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IgICAtIFBN RSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBBbiBk ZXNpcmVkIG1vZGUgb2Ygb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUN CiAgICAgICAgICBjdXJyZW50IG9wZXJhdGluZyBtb2RlLg0KDQogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAg ICAgICAgICBvYmplY3QgY29tYmluZXMgdGhlIDEwUEFTUy1UUyBjYXBhYmxlIGFuZCAyQkFTRS1U TCBjYXBhYmxlDQogICAgICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlDQogICAgICAgICAgQ08gc3VwcG9ydGVkIGFuZCBDUEUgc3Vw cG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EDQogICAgICAgICAgc3RhdHVzIHJlZ2lz dGVyIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS40LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLA0KICAgICAgICAgIDQ1LjIuMS4xMi4zIg0K ICAgICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0NCg0KDQogICAgICBlZm1D dVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNF IE9GIEVmbUN1UG1lU3RhdHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIGNvbW1vbiBzdGF0dXMgaW5mb3JtYXRpb24gb2Yg RUZNQ3UNCiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5m b3JtYXRpb24gc3BlY2lmaWMNCiAgICAgICAgICB0byAxMFBBU1MtVFMgUE1FIGlzIHJlcHJlc2Vu dGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDUxXQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2 ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVudC4gQXMgc3VjaCwNCiAgICAgICAgICBpdCBpcyBOT1Qg cGVyc2lzdGVudC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lIDMgfQ0KDQogICAgICBlZm1DdVBt ZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3Rh dHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5IHJl cHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQNCiAgICAgICAgICBp bmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJl DQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUg cG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNUYWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQbWVTdGF0 dXNFbnRyeSA6Oj0NCiAgICAgICAgU0VRVUVOQ0Ugew0KICAgICAgICAgIGVmbUN1UG1lT3BlclN0 YXR1cyAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgICAgICAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybywNCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVQZWVyU25yTWduICAgICAgICAgICAgSW50ZWdl cjMyLA0KICAgICAgICAgIGVmbUN1UG1lTGluZUF0biAgICAgICAgICAgICAgIEludGVnZXIzMiwN CiAgICAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAg ICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAg ICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIsDQogICAgICAgICAgZWZt Q3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyDQogICAgICAgIH0NCg0KICAgICAg ZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICAgICB1cCgxKSwNCiAgICAgICAgICBkb3duTm90UmVhZHkoMiksDQogICAg ICAgICAgZG93blJlYWR5KDMpLA0KICAgICAgICAgIGluaXQoNCkNCiAgICAgICAgfQ0KICAgICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJDdXJyZW50IFBNRSBsaW5rIE9wZXJhdGlvbmFs IFN0YXR1cy4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgICAgIHVwKDEpICAgICAgICAg ICAtIGxpbmsgaXMgVXAgYW5kIHJlYWR5IHRvIHBhc3MgNjQvNjVCDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMuDQogICAgICAgICAgICBk b3duTm90UmVhZHkoMikgLSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZG9lcyBub3QgZGV0ZWN0 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kc2hha2UgdG9uZXMgZnJvbSBpdHMg cGVlci4gVGhpcyB2YWx1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGluZGlj YXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1Ml0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwZWVy IFBNRS4NCiAgICAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9u ZXMgZnJvbSBpdHMgcGVlci4NCiAgICAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMg aW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWZBZG1pblN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgICAg aWZPcGVyU3RhdHVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5r IHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywg NDUuMi4xLjEyLjQiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMSB9DQoNCiAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBC SVRTIHsNCiAgICAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgICAgIGRldmljZUZhdWx0 KDMpLA0KICAgICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUoNSkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFw IG9mDQogICAgICAgICAgcG9zc2libGUgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0 aW9ucyBhcmU6DQoNCiAgICAgICAgICAgIGxvc3NPZkZyYW1pbmcgICAgICAgLSBMb3NzIG9mIEZy YW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvc3Mg b2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICAgICBzbnJNZ25EZWZlY3QgICAg ICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hvbGQNCiAgICAgICAgICAg IGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2VlZHMgdGhlIFRocmVz aG9sZA0KICAgICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRv ci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zdGlj IG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh cyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlh bGl6YXRpb24uDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlv biBmYWlsdXJlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBpbmNv bXBhdGlibGUgcHJvdG9jb2wgdXNlZCBieQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSBQZWVyIFBNRSBkdXJpbmcgaW5pdCAodGhhdCBjb3VsZA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhcg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wvVkRTTCBtb2RlbSBpbnN0ZWFk IG9mIGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTC8xMFBBU1Mt VFMgUE1FKS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1l bnQgaWZPcGVyU3RhdHVzIGluIElGLU1JQi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGhvbGRz IGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lg0KICAgICAgICAgIGVmbUN1UG1lRmx0 U3RhdHVzIGlzIGNsZWFyZWQgYnkgdGhlIGRldmljZSByZXN0YXJ0Lg0KICAgICAgICAgIEluIGFk ZGl0aW9uIGxvc3NPZkZyYW1pbmcsIGNvbmZpZ0luaXRGYWlsdXJlIGFuZA0KICAgICAgICAgIHBy b3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuDQogICAgICAgICAgZGV2 aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNzZnVsIGRpYWdub3N0aWNzL3Rlc3QuDQogICAg ICAgICAgc25yTWduRGVmZWN0IGFuZCBsaW5lQXRuRGVmZWN0IGFyZSBjbGVhcmVkIGJ5IFNOUiBN YXJnaW4NCiAgICAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJu aW5nIHRvIG5vcm0gYW5kIGJ5DQogICAgICAgICAgUE1FIGluaXQuDQoNCiAgICAgICAgICBUaGlz IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAg ICAgIGFQTUVTdGF0dXMuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBjb25z b2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQNCiAgICAgICAgICByZWdp c3RlcnMsIG5hbWVseTogRmF1bHQgYml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsDQog ICAgICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVyLA0KICAgICAgICAgIDEw UCBvdXRnb2luZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgICAgMTBQ IGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAgICAyQiBz dGF0ZSBkZWZlY3RzIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LA0KICAgICAgICAgIDQ1 LjIuMS4zOSwgNDUuMi4xLjU0Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgICAg aWVlZTJCYXNlVExSKDIpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU08oMyksDQogICAgICAgICAg aWVlZTEwUGFzc1RTUig0KQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNPICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLU8NCg0KDQoNCkJlaWxp ICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAg IFtQYWdlIDU0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAgaWVlZTEwUGFz c1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBU aGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29uZmlndXJlZCB2aWEN CiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3Vi LXR5cGUgc2VsZWN0DQogICAgICAgICAgYml0cywgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24g Yml0cyBpbiB0aGUgMTBQLzJCDQogICAgICAgICAgUE1BL1BNRCBjb250cm9sIHJlZ2lzdGVyIGFu ZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluDQogICAgICAgICAgdGhlIDEwUC8yQiBQ TUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4yLjEuMTIuNCINCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWVPcGVy UHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4 T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlBNRSBjdXJyZW50IG9w ZXJhdGluZyBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXIgdG8NCiAgICAgICAgICBh biBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0KICAgICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQNCiAgICAgICAg ICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGluZGljYXRlZCBieQ0KICAgICAgICAg IGVmbUN1UG1lT3BlclN1YlR5cGUuDQogICAgICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRy eSwgdG8gd2hpY2ggZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcw0KICAgICAgICAgIHBvaW50aW5nIHRv LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGlldmVkDQogICAg ICAgICAgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXphdGlvbiwN CiAgICAgICAgICBpLmUuIHZhbHVlcyBvZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFk bWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG1heSBkaWZmZXIu DQogICAgICAgICAgVGhlIHZhbHVlIG9mIHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24g b3IgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAz MC4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1l U25yTWduIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4x Mjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1h cmdpbiB3aXRoIHJlc3BlY3QNCiAgICAgICAgICB0byB0aGUgcmVjZWl2ZWQgc2lnbmFsIGFzIHBl cmNlaXZlZCBieSB0aGUgbG9jYWwgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBp cyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0K DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1NV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2Ug MzAuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBt YXJnaW4gcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDMwLjExLjIuMS40LCA0NS4yLjEuMTYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lUGVlclNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICAgICBVTklUUyAgICAg ICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoZSBjdXJyZW50IFNO UiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0KICAgICAgICAgIHNp Z25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikgUE1FLg0KICAg ICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9y DQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgICAgb2Yg NjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAg ICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2Fo XSA0NS4yLjEuMTciDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAg ICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBp biBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgICAgUE1FLg0KICAgICAgICAg IFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAg ICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjE4Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5 IDcgfQ0KDQogICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQoNCg0KDQpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1 Nl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgVU5JVFMgICAgICAgImRCIg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0 aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlDQogICAgICAgICAgKGxpbmsgcGFy dG5lcikgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVu IFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVl DQogICAgICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQog ICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0 aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGlu ZSBBdHRlbnVhdGlvbg0KICAgICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQog ICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTkiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgOCB9DQoNCiAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZ UEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQ0KICAgICAg ICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQW4g ZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbg0KICAg ICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMg ZXN0YWJsaXNoZWQuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRp Y2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSBy b290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJy aWRnZWQgdGFwcy4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgaWYg dGhlIGxpbmsgaXMgRG93biBvcg0KICAgICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1FIGlz IHVuYWJsZSB0byBlc3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgICAgIExlbmd0aC4NCg0K ICAgICAgICAgIEZvciAxMEJBU0UtVEwgUE1FLCBpZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzDQogICAgICAgICAgcHJlc2VudCwgdGhlbiB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAgRWxlY3RyaWNhbCBMZW5ndGgNCiAgICAgICAgICByZWdpc3RlciINCiAgICAg ICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjEiDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJv cnMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIDY0LzY1LW9jdGV0IGVuY2Fwc3Vs YXRpb24gZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMNCiAgICAgICAgICBpbmNyZW1lbnRlZCBmb3Ig ZWFjaCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVkDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA1N10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBieSB0aGUgNjQv NjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gYVRDQ29kaW5nVmlvbGF0aW9ucyBhdHRyaWJ1dGUgaW4NCiAgICAgICAgICBjbGF1c2UgMzAu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIFRD IGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBj b2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAgICAgICAgIChzZWUgNDUuMi42LjEyKS4NCg0K ICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNh biBvY2N1ciBhdA0KICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50 IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVk IGluIElGLU1JQi4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEu My4zLjEsIDMwLjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgMTAgfQ0KDQogICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJBIG51bWJlciBvZiBUQy1DUkMgZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVt ZW50ZWQgZm9yDQogICAgICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0 LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24NCiAgICAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBG aWd1cmUgNjEtMTkpLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDUkNFcnJv cnMgYXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0K ICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcg0K ICAgICAgICAgIChzZWUgNDUuMi42LjExKS4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjMsIDMwLjExLjIuMS4xMCwgNDUuMi42 LjExIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDExIH0NCg0KICAgICAtLSAy QkFTRS1UTCBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUyQiAgICAgIE9CSkVD VCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDUgfQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmls ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDU4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMgdGFi bGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgICAg b3BlcmF0aW5nIFByb2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgICAgIEZpcnN0IDE0 IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAg ICAgIGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAg IFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAg ICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBzKSAgKGRCbSkNCiAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAg ICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0K ICAgICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAxMy41ICAgIDEgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAo YmVzdCBlZmZvcnQpDQogICAgICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAg MiAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCg0KICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50 cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2VudA0KICAgICAgICAgIGluaXRpYWxpemF0 aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgICAgRW50cmllcyBmb2xsb3dp bmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICAg ICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlv bikNCiAgICAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4N Cg0KICAgICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVu dCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4 IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkIgIDIgfQ0KDQogICAg ICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBw cm9maWxlLg0KICAgICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0 ZXJzLCB1c2VkIGVpdGhlciBmb3INCiAgICAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2Vu dGF0aW9uIG9mIGEgMkJBU0UtVEwgUE1FLg0KICAgICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFy IHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmls ZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgNTldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgcGFyYW1ldGVycyB0 aGUgMkJhc2VUTC1PIFBNRSBpbml0aWFsaXphdGlvbi4NCiAgICAgICAgICBJZiBhIHByb2ZpbGUg aXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsDQogICAgICAgICAg aXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJhbWV0ZXJzIG9mIHRoZQ0KICAgICAg ICAgIG9wZXJhdGlvbmFsIFBNRS4NCg0KICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVk L2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNo YW5pc20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICAgIGFj dGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScN CiAgICAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICAgICBE ZWZhdWx0IGVudHJpZXMgTVVTVCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgICAgIElOREVYIHsgZWZt Q3VQbWUyQlByb2ZpbGVJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkgOjo9DQogICAgICAgIFNFUVVF TkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9m aWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciAgICAgICAgICAgU25t cEFkbWluU3RyaW5nLA0KICAgICAgICAgIGVmbUN1UG1lMkJSZWdpb24gICAgICAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAgICAgICAgRWZt UHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlICAgICAg ICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAg ICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICAgICAg ICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgICAgICAg Um93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXgNCiAgICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICIyQkFTRS1UTCBQTUUgUHJvZmlsZSBpbmRleC4N CiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0 aCB0aGlzIHByb2ZpbGUuDQogICAgICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQ0KICAgICAgICAgIG9yIGVmbUN1UG1lQWRtaW5Q cm9maWxlIG9iamVjdHMuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDEg fQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFT RS1UTCBQTUUNCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRlIGluZm9y bWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQ cm9maWxlRW50cnkgMiB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWdpb24gIE9CSkVDVC1UWVBFDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSA2MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgU1lO VEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAgcmVnaW9uMSgxKSwNCiAgICAgICAgICByZWdp b24yKDIpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJS ZWdpb25hbCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlDQog ICAgICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkxLjJdLg0KICAgICAgICAg IFJlZ2lvbmFsIHNldHRpbmdzIHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0eSAoUFNEKSBt YXNrLA0KICAgICAgICAgIFBvd2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGlt aXRhdGlvbnMgb24gdGhlIG1heA0KICAgICAgICAgIGFsbG93ZWQgZGF0YSByYXRlLCBwb3dlciBh bmQgY29uc3RlbGxhdGlvbi4NCg0KICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBv YmplY3QgYXJlOg0KICAgICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChl LmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICAgICByZWdpb24yICAgICAgLSBBbm5leGVzIEIg YW5kIEcgKGUuZy4gRXVyb3BlKQ0KDQogICAgICAgICAgQW5uZXggQS9CIHNwZWNpZnkgcmVnaW9u YWwgc2V0dGluZ3MgZm9yIGRhdGEgcmF0ZXMgMTkyLTIzMDQNCiAgICAgICAgICBLYnBzIHVzaW5n IDE2LVRDUEFNIGVuY29kaW5nLg0KICAgICAgICAgIEFubmV4IEYvRyBzcGVjaWZ5IHJlZ2lvbmFs IHNldHRpbmdzIGZvciByYXRlcyAyMzIwLTM4NDAgS2Jwcw0KICAgICAgICAgIHVzaW5nIDE2LVRD UEFNIGVuY29kaW5nIGFuZCA3NjgtNTY5NiBLYnBzIHVzaW5nIDMyLVRDUEFNDQogICAgICAgICAg ZW5jb2RpbmcuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBwYXJ0aWFsbHkg bWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICAgICBwYXJh bWV0ZXIgcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQnNNb2RlICBP QkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAg ICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIGN1c3RvbSBTcGVjdHJh bCBNb2RlIGZvciAyQkFTRS1UTCBQTUUuIFRoaXMgb2JqZWN0DQogICAgICAgICAgaXMgYSBwb2lu dGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIGFuZCBhIGJsb2NrDQogICAg ICAgICAgb2YgZW50cmllcyBpbiBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUsIHdoaWNoIHRvZ2V0 aGVyIGRlZmluZQ0KICAgICAgICAgIChjb3VudHJ5LXNwZWNpZmljKSByZWFjaCBkZXBlbmRlbnQg cmF0ZSBsaW1pdGF0aW9ucyBpbg0KICAgICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRlZmluZWQg YnkgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBpcyB0aGUgaW5kZXggb2YgdGhlIHJlZmVyZW5jZWQNCiAgICAgICAgICBzcGVjdHJhbCBtb2Rl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCBu byBzcGVjaWZpYw0KICAgICAgICAgIHNwZWN0cmFsIG1vZGUgaXMgYXBwbGljYWJsZS4NCg0KICAg ICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQgaXMgbm90 IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5IGlu IHRoZSBjb3JyZXNwb25kaW5nIHNwZWN0cmFsDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2MV0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBl Zm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUiDQogICAgICAgIERFRlZBTCB7IDAgfQ0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQgfQ0KDQogICAgICBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYp DQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBp cyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9i amVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgICAgSWYg ZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUg aW4NCiAgICAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBp cyBjb25zaWRlcmVkDQogICAgICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0 aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1 UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgICAgbGltaXRhdGlv bnMgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEg cmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0 byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1EDQogICAgICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgICAgVU5JVFMgICAgICAgIkti cHMiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTWF4aW11bSBEYXRhIFJh dGUgZm9yIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2Ug dmFsdWVzIG9mIChuIHggNjQpS2JwcywNCiAgICAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1U Q1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgICAgVGhl IGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0UtVEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVu DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA2Ml0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1pbkRh dGFSYXRlLg0KICAgICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4g ZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgICAgdGhlIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICAgICdhZGFwdGl2ZScs IGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAg ICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJh bA0KICAgICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBh bmQNCiAgICAgICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgY3Vy cmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgICAgIHJlcHJl c2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQog ICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJC IFBNRA0KICAgICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9i amVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAg IFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxMC4uNDIpDQogICAg ICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAgICAg ICAgIFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRo YXQgdGhlDQogICAgICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQg U0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAgcGxhY2VkIGJ5IHRoZSBl Zm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBpbiB0aGUgMkIgUE1EIHBh cmFtZXRlcnMNCiAgICAgICAgICByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAg ICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxl RW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBhZGFwdGl2ZSgwKSwNCiAg ICAgICAgICB0Y3BhbTE2KDEpLA0KICAgICAgICAgIHRjcGFtMzIoMikNCiAgICAgICAgfQ0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2M10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBvZiB0aGUgMkJBU0Ut VEwgUE1FLg0KICAgICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAg YWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMyLVRDUEFNDQogICAgICAgICAgICB0Y3Bh bTE2KDEpICAgICAtIDE2LVRDUEFNDQogICAgICAgICAgICB0Y3BhbTMyKDIpICAgICAtIDMyLVRD UEFNDQoNCiAgICAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUoMCkgaW4gdGhlIGFkbWluaXN0 cmF0aXZlIHByb2ZpbGUgbWVhbnMNCiAgICAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0 dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAg cGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAg ICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNl bnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9u MSBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIN CiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAg ICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDggfQ0KDQogICAgICBlZm1DdVBtZTJC UHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBSb3dTdGF0 dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG9iamVjdCBjb250 cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQogICAgICAgICAgdGhl IGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlDQogICAg ICAgICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUn IGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRp bCBhbGwNCiAgICAgICAgICByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4g J2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkg YW4NCiAgICAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2 aWNlIChieSBzZXR0aW5nDQogICAgICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScp LCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQ0KDQoNCiAgICAgIGVmbUN1UG1lMkJzTW9k ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSwgdG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRz DQogICAgICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3RyYWwg bW9kZXMgZm9yDQogICAgICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBs aW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0bw0KICAgICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBl Zm1DdVBtZTJCUmVnaW9uLg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJl cyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2NF0NCgwNCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNw0KDQoNCiAgICAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAo ZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZv ciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgICAgdGhlc2Ug Y291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICAg ICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2Rl DQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZl cmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICAgICBUaGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9k ZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgICAgIHdoaWNoIGlzIHVzZWQgdG8g cmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICAgICBlZm1DdTJC UmVhY2hSYXRlVGFibGUuDQoNCiAgICAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0 ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20g dmlhIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cy4iDQogICAgICAgIElOREVYIHsgZWZtQ3VQbWUy QnNNb2RlSW5kZXggfQ0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0K ICAgICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAg ICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQog ICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5n LA0KICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyAgICAgICAgIFJvd1N0YXR1cw0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMg c3BlY3RyYWwNCiAgICAgICAgICBtb2RlLg0KICAgICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJs ZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgb2JqZWN0LiIN CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1l MkJzTW9kZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0 cmluZw0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgNjVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWlu aW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICAgICBj b3JyZXNwb25kaW5nIChjb3VudHJ5LXNwZWNpZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucw0KICAg ICAgICAgIGFuZCByYXRlL3JlYWNoIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBzcGVj dHJhbCBtb2RlLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9DQoNCiAg ICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBSb3dTdGF0dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlz IG9iamVjdCBjb250cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQog ICAgICAgICAgdGhlIGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgcGVy IHRoZSBzZW1hbnRpY3MNCiAgICAgICAgICBvZiBSb3dTdGF0dXMuDQoNCiAgICAgICAgICBJZiBh biAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQ0K ICAgICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2Vz IGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICAgICBleGlzdGluZyBlbnRy eSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgICAg dGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUn DQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAz IH0NCg0KDQogICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAg ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBk ZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwNCiAgICAgICAgICBsaW1p dGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVjaWZpZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgICAgVGhlIHNwZWN0cmFsIHJlZ3VsYXRpb25zIGluIHNv bWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApDQogICAgICAgICAgbGltaXQgdGhlIGxlbmd0aCBv ZiB0aGUgbG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4NCiAgICAgICAgICBUaGlzIHRhYmxl IGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRvIGJlDQogICAgICAg ICAgc3BlY2lmaWVkLg0KDQogICAgICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRh YmxlIGZvciBbQU5GUF06DQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rDQog ICAgICAgICAgRXF1aXZhbGVudCBNYXhSYXRlIE1heFJhdGUNCiAgICAgICAgICAgIExlbmd0aCAg ICBQQU0xNiAgIFBBTTMyDQogICAgICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDY2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIC0t LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICAgICA5NzUgICAgICAyMzA0ICAg IDU2OTYNCiAgICAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgICAg MTI3NSAgICAgIDIzMDQgICAgNTEyMA0KICAgICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4 NjQNCiAgICAgICAgICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgICAgMTUw MCAgICAgIDIzMDQgICAgNDI4OA0KICAgICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgN CiAgICAgICAgICAgICAxNjUwICAgICAgMjMwNCAgICAzNzc2DQogICAgICAgICAgICAgMTcyNSAg ICAgIDIzMDQgICAgMzUyMA0KICAgICAgICAgICAgIDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAg ICAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyDQogICAgICAgICAgICAgMTk1MCAgICAg IDIwNDggICAgMjY4OA0KICAgICAgICAgICAgIDIxMDAgICAgICAxNzkyICAgIDIzNjgNCiAgICAg ICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAgICAgICAgMjQwMCAgICAgIDE0 MDggICAgICAgMA0KICAgICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAgIDANCiAgICAgICAg ICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgICAgMjkyNSAgICAgIDExNTIg ICAgICAgMA0KICAgICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAgICAg ICAzMzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0rDQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0 aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBh bGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAg ICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIltBTkZQXSINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWUyQiAgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSBPQkpFQ1Qt VFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAg ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJFYWNoIGVudHJ5IHNwZWNpZmllcyBt YXhpbXVtIDJCQVNFLVRMIFBNRSBkYXRhIHJhdGVzDQogICAgICAgICAgYWxsb3dlZCBmb3IgYSBj ZXJ0YWluIGVxdWl2YWxlbnQgbG9vcCBsZW5ndGgsIHdoZW4gdXNpbmcNCiAgICAgICAgICAxNi1U Q1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4NCg0KICAgICAgICAgIFdoZW4gMkJBU0UtVEwgUE1F IGlzIGluaXRpYWxpemVkLCBpdHMgZGF0YSByYXRlIE1VU1QgTk9UDQogICAgICAgICAgZXhjZWVk IG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOg0KICAgICAgICAgIC0gdGhlIHZhbHVl IG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQ0KICAgICAgICAgIC0gbWF4aW11bSBkYXRhIHJhdGUg YWxsb3dlZCBieSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyDQogICAgICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBz cGVjaWZpZWQgaW4gdGhlDQogICAgICAgICAgICBlZm1DdVBtZTJCc01vZGVFbnRyeSwgY29ycmVz cG9uZGluZyB0byB0aGUgZXF1aXZhbGVudCBsb29wDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2N10NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRo ZSBQTUUuDQoNCiAgICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJC RXF1aXZhbGVudExlbmd0aCB2YWx1ZXMNCiAgICAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGlu Y3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlDQogICAgICAgICAgbWluaW11bSB2YWx1 ZS4NCg0KICAgICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUg cm93IGNyZWF0aW9uLw0KICAgICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUy UmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTJCc01vZGVJbmRl eCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIDEgfQ0KDQogICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgOjo9DQog ICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5kZXggICAg ICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5n dGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMy ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1 cyAgICAgUm93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUlu ZGV4IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAg ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVj dHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUgaW5kZXguDQogICAgICAgICAgVGhpcyBvYmplY3Qg aXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdpdGggZWFjaCBlbnJ5LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZTJCRXF1 aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQz MigwLi44MTkyKQ0KICAgICAgICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5c2lj YWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdH ICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVu dWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJyaWRnZWQgdGFw cy4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2OF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRM IFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3Ro IHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1l YW5zIHRoYXQgVEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgICAgIHVzZWQg YXQgdGhpcyBkaXN0YW5jZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRy eSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk1heGlt dW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0KICAgICAgICAg IEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4NCiAgICAg ICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNob3Vs ZCBub3QgYmUNCiAgICAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJh dGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQog ICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMg Y3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0KICAgICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlDQogICAgICAg ICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUnIGVu dHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZSwgdGhlDQogICAgICAgICAgZW50 cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQu DQoNCiAgICAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUg dGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICAgICB0aGlzIG9iamVjdCB0 byAnbm90SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICAgICBh Z2Fpbi4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA1IH0NCg0KDQog ICAgIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUxMFAg ICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA2IH0NCg0KICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVO Q0UgT0YgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3Vy YXRpb24gcHJvZmlsZXMgZm9yDQogICAgICAgICAgMTBQQVNTLVRTIFBNRXMuDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA2OV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBGaXJzdCAyMiBl bnRyaWVzIGluIHRoaXMgdGFibGUgU0hBTEwgYWx3YXlzIGJlIGRlZmluZWQgYXMNCiAgICAgICAg ICBmb2xsb3dzIChzZWUgODAyLjNhaCBBbm5leCA2MkIuMyk6DQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICBQcm9m aWxlIEJhbmRwbGFuIFVQQk8gQmFuZE5vdGNoIERSYXRlIFVSYXRlDQogICAgICAgICAgIEluZGV4 ICBQU0RNYXNrIyAgcCMgICAgcCMgICAgICAgIHAjICAgIHAjDQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICAgICAx ICAgICAgMSAgICAgIDMgICAgMiw2LDEwLDExICAgIDIwICAgIDIwKGRlZmF1bHQpDQogICAgICAg ICAgICAgMiAgICAgMTMgICAgICA1ICAgIDAgICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAg ICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAgICAgMjAgICAgMjANCiAgICAgICAgICAg ICA0ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgMTAwICAgMTAwDQogICAgICAgICAgICAg NSAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgICA3MCAgICA1MA0KICAgICAgICAgICAgIDYg ICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAgMTANCiAgICAgICAgICAgICA3ICAg ICAxNyAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgIDMwDQogICAgICAgICAgICAgOCAgICAg IDggICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAgNQ0KICAgICAgICAgICAgIDkgICAgICA0 ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUNCiAgICAgICAgICAgIDEwICAgICAgNCAg ICAgIDAgICAgMCAgICAgICAgICAgIDE1ICAgIDE1DQogICAgICAgICAgICAxMSAgICAgMjMgICAg ICAwICAgIDAgICAgICAgICAgICAxMCAgICAxMA0KICAgICAgICAgICAgMTIgICAgIDIzICAgICAg MCAgICAwICAgICAgICAgICAgIDUgICAgIDUNCiAgICAgICAgICAgIDEzICAgICAxNiAgICAgIDAg ICAgMiw1LDksMTEgICAgMTAwICAgMTAwDQogICAgICAgICAgICAxNCAgICAgMTYgICAgICAwICAg IDIsNSw5LDExICAgICA3MCAgICA1MA0KICAgICAgICAgICAgMTUgICAgICA2ICAgICAgMCAgICAy LDYsMTAsMTEgICAgNTAgICAgMTANCiAgICAgICAgICAgIDE2ICAgICAxNyAgICAgIDAgICAgMiw1 LDksMTEgICAgIDMwICAgIDMwDQogICAgICAgICAgICAxNyAgICAgIDggICAgICAwICAgIDIsNiwx MCwxMSAgICAzMCAgICAgNQ0KICAgICAgICAgICAgMTggICAgICA0ICAgICAgMCAgICAyLDYsMTAs MTEgICAgMjUgICAgMjUNCiAgICAgICAgICAgIDE5ICAgICAgNCAgICAgIDAgICAgMiw2LDEwLDEx ICAgIDE1ICAgIDE1DQogICAgICAgICAgICAyMCAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAg ICAxMCAgICAxMA0KICAgICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAg IDUgICAgIDUNCiAgICAgICAgICAgIDIyICAgICAzMCAgICAgIDAgICAgMCAgICAgICAgICAgMjAw ICAgIDUwDQoNCiAgICAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRl ZCBieSBkdXJpbmcgYWdlbnQNCiAgICAgICAgICBpbml0aWFsaXphdGlvbiBhbmQgTVVTVCBOT1Qg YmUgZGVsZXRlZC4NCg0KICAgICAgICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwg Y2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kDQogICAgICAgICAgZGVsZXRlZCwgdG8gcHJv dmlkZSBjdXN0b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRpb24pDQogICAgICAgICAgcHJv ZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJvZmlsZXMuDQoNCiAgICAgICAgICBUaGlz IHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAg ICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAuMTEuMi4x LjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQICAxIH0NCg0KICAgICAgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJFYWNo IGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDEwUEFTUy1UUyBQTUUNCiAgICAgICAgICBw cm9maWxlLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1 LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQog ICAgICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQg ZWl0aGVyIGZvcg0KICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2Yg YSAxMFBBU1MtVFMgUE1FLg0KICAgICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUg aXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3Qg KG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUg aXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAgICAgICAgIHBhcmFtZXRlcnMg dGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0aW9uLg0KICAgICAgICAgIElmIGEgcHJvZmls ZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICAg ICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIFBNRS4N Cg0KICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJv dyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMTBQ UHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAgICAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScNCiAgICAgICAgICB1bnRpbCBh bGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICAgICBEZWZhdWx0IGVudHJpZXMgTVVT VCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5k ZXggfQ0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0KICAgICAg RWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAg ICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAg ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcs DQogICAgICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQog ICAgICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAg ICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgICAgIEJJVFMsDQogICAgICAgICAg ZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgICAgZWZt Q3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICAgICB9DQoNCiAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAg IEVmbVByb2ZpbGVJbmRleA0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IjEwUEFTUy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB0 aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQogICAgICAgICAg RW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmls ZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgICAgOjo9IHsgZWZt Q3VQbWUxMFBQcm9maWxlRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2Ny IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmlu ZyBpbmZvcm1hdGlvbiBhYm91dCAxMFBBU1MtVFMgUE1FDQogICAgICAgICAgUHJvZmlsZS4gVGhl IHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUNCiAgICAgICAg ICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIg0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNzFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDIgfQ0KDQogICAgICBlZm1DdVBtZTEwUEJhbmRw bGFuUFNETXNrUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJTlRFR0VSIHsN CiAgICAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICAg ICBwcm9maWxlMygzKSwNCiAgICAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICAgICBwcm9maWxl NSg1KSwNCiAgICAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICAgICBwcm9maWxlOSg5KSwNCiAgICAgICAgICBw cm9maWxlMTAoMTApLA0KICAgICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgICAgcHJvZmls ZTEyKDEyKSwNCiAgICAgICAgICBwcm9maWxlMTMoMTMpLA0KICAgICAgICAgIHByb2ZpbGUxNCgx NCksDQogICAgICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICAgICBwcm9maWxlMTYoMTYpLA0K ICAgICAgICAgIHByb2ZpbGUxNygxNyksDQogICAgICAgICAgcHJvZmlsZTE4KDE4KSwNCiAgICAg ICAgICBwcm9maWxlMTkoMTkpLA0KICAgICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgICAg cHJvZmlsZTIxKDIxKSwNCiAgICAgICAgICBwcm9maWxlMjIoMjIpLA0KICAgICAgICAgIHByb2Zp bGUyMygyMyksDQogICAgICAgICAgcHJvZmlsZTI0KDI0KSwNCiAgICAgICAgICBwcm9maWxlMjUo MjUpLA0KICAgICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgICAgcHJvZmlsZTI3KDI3KSwN CiAgICAgICAgICBwcm9maWxlMjgoMjgpLA0KICAgICAgICAgIHByb2ZpbGUyOSgyOSkNCiAgICAg ICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUg QmFuZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUsDQogICAgICAgICAgYXMgc3BlY2lmaWVkIGlu IDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgIC0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0N CiAgICAgICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5k cyAgICAgQmFuZHBsYW4NCiAgICAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgICAgcHJvZmlsZTEoMSkgICAt IFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEENCiAgICAgICAgICBwcm9maWxl MigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgICAgIHByb2ZpbGUzKDMpICAg LSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgICAgIHByb2ZpbGU0KDQpICAgLSBUMS40 MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUg UDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICAgICBwcm9maWxlNig2KSAgIC0gVDEuNDI0 L1QtVSBQMSBGVFRFeC5NMQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzJdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICAgICAgICAgcHJvZmlsZTcoNykgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0y DQogICAgICAgICAgcHJvZmlsZTgoOCkgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTINCiAgICAg ICAgICBwcm9maWxlOSg5KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIFUvRC9VL0QveA0K ICAgICAgICAgIHByb2ZpbGUxMCgxMCkgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0xDQogICAgICAg ICAgcHJvZmlsZTExKDExKSAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0yDQogICAgICAgICAgcHJv ZmlsZTEyKDEyKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTINCiAgICAgICAgICBwcm9maWxlMTMo MTMpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEgIHgvRC9VL0QvVSAgQg0KICAgICAgICAgIHBy b2ZpbGUxNCgxNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQg0KICAgICAgICAgIHByb2ZpbGUx NSgxNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQ0KICAgICAgICAgIHByb2ZpbGUxNigxNikg LSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQ0KICAgICAgICAgIHByb2ZpbGUxNygxNykgLSBUUzEg MTAxIDI3MC0xIFBjYWIuTTINCiAgICAgICAgICBwcm9maWxlMTgoMTgpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDEuTTINCiAgICAgICAgICBwcm9maWxlMTkoMTkpIC0gVFMxIDEwMSAyNzAtMSBQZXgu UDIuTTINCiAgICAgICAgICBwcm9maWxlMjAoMjApIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEg IFUvRC9VL0QveA0KICAgICAgICAgIHByb2ZpbGUyMSgyMSkgLSBUUzEgMTAxIDI3MC0xIFBjYWIu TTEuQg0KICAgICAgICAgIHByb2ZpbGUyMigyMikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQ0K ICAgICAgICAgIHByb2ZpbGUyMygyMykgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQ0KICAgICAg ICAgIHByb2ZpbGUyNCgyNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTINCiAgICAgICAgICBwcm9m aWxlMjUoMjUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTINCiAgICAgICAgICBwcm9maWxlMjYo MjYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTINCiAgICAgICAgICBwcm9maWxlMjcoMjcpIC0g Ry45OTMuMSBGLjEuMi4xIChWRFNMb1BPVFMpIHgvRC9VL0QvVSAgRg0KICAgICAgICAgIHByb2Zp bGUyOCgyOCkgLSBHLjk5My4xIEYuMS4yLjIgKFZEU0xvVENNLUlTRE4pDQogICAgICAgICAgcHJv ZmlsZTI5KDI5KSAtIEcuOTkzLjEgRi4xLjIuMyAoUFNEIHJlZHVjdGlvbikNCg0KICAgICAgICAg IFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kcGxhblBTRE1hc2tQcm9maWxlIGF0dHJpYnV0 ZQ0KICAgICAgICAgIGluIENsYXVzZSAzMC4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAg ICJbODAyLjNhaF0gQW5uZXggNjJBLCAzMC41LjEuMS4yMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgMyB9DQoNCiAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVBy b2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgSU5URUdFUiB7DQogICAgICAgICAg cHJvZmlsZTEoMSksDQogICAgICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgICAgcHJvZmlsZTMo MyksDQogICAgICAgICAgcHJvZmlsZTQoNCksDQogICAgICAgICAgcHJvZmlsZTUoNSksDQogICAg ICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgICAgcHJvZmlsZTcoNyksDQogICAgICAgICAgcHJv ZmlsZTgoOCksDQogICAgICAgICAgcHJvZmlsZTkoOSkNCiAgICAgICAgfQ0KICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUG93ZXIgQmFj ay1PZmYgKFVQQk8pIFJlZmVyZW5jZSBQU0QNCiAgICAgICAgICBQcm9maWxlLCBhcyBzcGVjaWZp ZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcw0KICAgICAgICAgIGFyZToN Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDczXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAg ICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xDQogICAgICAg ICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTINCiAgICAg ICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0KICAg ICAgICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQog ICAgICAgICAgICBwcm9maWxlNSg1KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmQg0K ICAgICAgICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBDDQog ICAgICAgICAgICBwcm9maWxlNyg3KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQNCiAg ICAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRQ0KICAg ICAgICAgICAgcHJvZmlsZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGDQoNCiAg ICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhVVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0 cmlidXRlDQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAg ICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy40LCAzMC41LjEuMS4yMyINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1lMTBQQmFuZE5v dGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgQklUUyB7DQogICAgICAg ICAgcHJvZmlsZTAoMCksDQogICAgICAgICAgcHJvZmlsZTEoMSksDQogICAgICAgICAgcHJvZmls ZTIoMiksDQogICAgICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgICAgcHJvZmlsZTQoNCksDQog ICAgICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgICAg cHJvZmlsZTcoNyksDQogICAgICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgICAgcHJvZmlsZTko OSksDQogICAgICAgICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICAgICBwcm9maWxlMTEoMTEpDQog ICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICIxMFBBU1MtVFMg UE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2ggUHJvZmlsZSBiaXRtYXAsDQogICAgICAgICAg YXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0K ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLSstLS0tLQ0KICAgICAgICAgIFByb2ZpbGUgTmFtZSAgICBHLjk5MS4zICBUMS40MjQv VC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGDQogICAgICAgICAgICAgICAgICAgICAgICAgIFRh YmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHopDQogICAgICAgICAgLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0t DQogICAgICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUNCiAgICAgICAgICBwcm9maWxl MSgxKSAgIC0gRi01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44MjUNCiAg ICAgICAgICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAx LjgxMCAgMi4wMDANCiAgICAgICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAg ICAtICAgICAgICAgICAxLjkwNyAgMS45MTINCiAgICAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01 ICMwMyAgLSAgICAgICAgICAtICAgICAgICAgICAzLjUwMCAgMy41NzUNCiAgICAgICAgICBwcm9m aWxlNSg1KSAgIC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDAN CiAgICAgICAgICBwcm9maWxlNig2KSAgIC0gLSAgICAgICAgMTUtMSAgICAgICAtICAgICAgICAg ICAzLjUwMCAgNC4wMDANCiAgICAgICAgICBwcm9maWxlNyg3KSAgIC0gRi01ICMwNCAgLSAgICAg ICAgICAtICAgICAgICAgICAzLjc0NyAgMy43NTQNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDc0XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAt ICAgICAgICAgIC0gICAgICAgICAgIDMuNzkxICAzLjgwNQ0KICAgICAgICAgIHByb2ZpbGU5KDkp ICAgLSA2LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMA0KICAgICAg ICAgIHByb2ZpbGUxMCgxMCkgLSBGLTUgIzA2ICAxNS0xICAgICAgIC0gICAgICAgICAgIDcuMDAw ICA3LjMwMA0KICAgICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIgICAgICAxNS0xICAgICAgIDEg ICAgICAgICAgIDEwLjEwMCAxMC4xNTANCg0KICAgICAgICAgIEFueSBjb21iaW5hdGlvbiBvZiBw cm9maWxlcyBjYW4gYmUgc3BlY2lmaWVkIGJ5IE9SaW5nDQogICAgICAgICAgaW5kaXZpZHVhbCBw cm9maWxlcywgZm9yIGV4YW1wbGUgdmFsdWUgb2YgMHgwNjIyIHNlbGVjdHMNCiAgICAgICAgICBw cm9maWxlcyAyLDYsMTAgYW5kIDExLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgYUJhbmROb3RjaFByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiIN CiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy41LCAz MC41LjEuMS4xOSINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9DQoN CiAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAgcHJvZmlsZTUoNSksDQogICAgICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICAgICBwcm9maWxlMTUoMTUpLA0KICAgICAgICAgIHBy b2ZpbGUyMCgyMCksDQogICAgICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAgICAgICBwcm9maWxl MzAoMzApLA0KICAgICAgICAgIHByb2ZpbGU1MCg1MCksDQogICAgICAgICAgcHJvZmlsZTcwKDcw KSwNCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUGF5bG9hZCBSYXRl IFByb2ZpbGUsDQogICAgICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQ b3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUg TWJwcw0KICAgICAgICAgICAgcHJvZmlsZTEwKDEwKSAgICAgLSA1IE1icHMNCiAgICAgICAgICAg IHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMCgyMCkg ICAgIC0gMTAgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTI1KDI1KSAgICAgLSAxMi41IE1icHMN CiAgICAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJwcw0KICAgICAgICAgICAgcHJv ZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzDQogICAgICAgICAgICBwcm9maWxlNzAoNzApICAgICAt IDM1IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcw0KDQogICAg ICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgVXBzdHJl YW0gUGF5bG9hZA0KICAgICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUg cGF5bG9hZCByYXRlIG9mIHRoZQ0KICAgICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90IGJl IGFjaGlldmVkIGJhc2VkIG9uIHRoZSBsb29wDQogICAgICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbg0KICAgICAgICAgIFNIQUxM IGZhaWwuDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy NSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDc1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0K ICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVVcHN0 cmVhbQ0KICAgICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuIg0KICAgICAgICBSRUZFUkVO Q0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIwIg0KICAg ICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2IH0NCg0KICAgICAgZWZtQ3VQbWUx MFBQYXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICAgICBwcm9maWxlMTAoMTAp LA0KICAgICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgICAgcHJvZmlsZTIwKDIwKSwNCiAg ICAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAg ICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgICAgIHBy b2ZpbGUxMDAoMTAwKSwNCiAgICAgICAgICBwcm9maWxlMTQwKDE0MCksDQogICAgICAgICAgcHJv ZmlsZTIwMCgyMDApDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQogICAg ICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIuNSBNYnBzDQogICAgICAgICAg ICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICAgICBwcm9maWxlMTUoMTUpICAg IC0gNy41IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBNYnBzDQogICAg ICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICAgICBwcm9maWxl MzAoMzApICAgIC0gMTUgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1i cHMNCiAgICAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICAgICBw cm9maWxlMTAwKDEwMCkgIC0gNTAgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAt IDcwIE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcw0KDQogICAg ICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgRG93bnN0 cmVhbQ0KICAgICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRo ZSBwYXlsb2FkIHJhdGUgb2YNCiAgICAgICAgICB0aGUgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3Qg YmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICAgICBlbnZpcm9ubWVudCwgYmFu ZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgICAgU0hB TEwgZmFpbC4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0 ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQog ICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAu NS4xLjEuMjEiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgNzZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgUm93 U3RhdHVzDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyBvYmplY3Qg Y29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0KICAgICAgICAg IHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIHBlciB0aGUN CiAgICAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVzLg0KDQogICAgICAgICAgSWYgYW4gYWN0 aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1 bnRpbA0KICAgICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgICAg QW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2Rp ZnkgYW4NCiAgICAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBz ZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2Vydmlj ZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAgICAgICAgYWdhaW4uIg0KICAgICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0NCg0KDQogICAgICBlZm1DdVBtZTEw UFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9G IEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdSAx MFBBU1MtVFMNCiAgICAgICAgICBQTUVzIChtb2RlbXMpLg0KDQogICAgICAgICAgVGhpcyB0YWJs ZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAg ICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgMiB9 DQoNCiAgICAgIGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lO VEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSAxMFBBU1MtVFMgUE1FIFN0YXR1 cyB0YWJsZS4iDQogICAgICAgIEFVR01FTlRTIHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSB9DQogICAg ICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzVGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lMTBQ U3RhdHVzRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTEw UEZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgQ291bnRlcjMyLA0KICAgICAgICAgIGVmbUN1UG1lMTBQ RkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVyMzINCiAgICAgICAgfQ0KDQogICAgICBlZm1D dVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUNCg0KDQoNCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDc3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVy MzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb3VudCBvZiByZWNlaXZl ZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTDQogICAgICAgICAgUE1F Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tz IGF0dHJpYnV0ZSBpbg0KICAgICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsDQogICAgICAg ICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRkVDIGNvcnJlY3RhYmxlIGVycm9y cw0KICAgICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhl IHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0aWFs aXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAg ICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0 eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVOQ0UN CiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1lMTBQRkVDVW5j b3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVk IEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlDQogICAgICAgICAgdW5j b3JyZWN0YWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29y cmVjdGFibGVCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAg ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJl c2VudCwNCiAgICAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5j b3JyZWN0YWJsZSBlcnJvcnMNCiAgICAgICAgICByZWdpc3Rlcg0KDQogICAgICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAg ICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQg b3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291 bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAg ICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjExLjIu MS45Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQ0KDQogICAgIC0t DQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMNCiAgICAgLS0NCg0KDQoNCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDc4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgZWZtQ3VHcm91cHMgICAgICBP QkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQ0KDQogICAgICBlZm1D dUNvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9 DQoNCiAgICAgIC0tIE9iamVjdCBHcm91cHMNCg0KICAgICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVD VC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCwN CiAgICAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVRhcmdldERhdGFS YXRlLA0KICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLA0KICAgICAgICAgIGVmbUN1QWRhcHRp dmVTcGVjdHJhLA0KICAgICAgICAgIGVmbUN1UG9ydFNpZGUsDQogICAgICAgICAgZWZtQ3VGbHRT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcHJlc2VudGlu ZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9uDQogICAgICAgICAgY29tbW9uIGZvciBhbGwgdHlwZXMg b2YgRUZNQ3UgcG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0NCg0KICAgICAg ZWZtQ3VQQUZHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAg ZWZtQ3VQZWVyUEFGU3VwcG9ydGVkLA0KICAgICAgICAgIGVmbUN1UEFGQ2FwYWNpdHksDQogICAg ICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHksDQogICAgICAgICAgZWZtQ3VQQUZBZG1pblN0YXRl LA0KICAgICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwNCiAgICAgICAgICBlZm1DdVBBRlJl bW90ZURpc2NvdmVyeUNvZGUsDQogICAgICAgICAgZWZtQ3VOdW1QTUVzDQogICAgICAgIH0NCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIFBNRQ0KICAgICAg ICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFuZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1 IHBvcnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9DQoNCiAgICAgIGVmbUN1UEFG RXJyb3JzR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVm bUN1UEFGSW5FcnJvcnMsDQogICAgICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzLA0KICAg ICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywNCiAgICAgICAgICBlZm1DdVBBRkluQmFk RnJhZ21lbnRzLA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzLA0KICAgICAgICAg IGVmbUN1UEFGSW5Mb3N0U3RhcnRzLA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcywNCiAg ICAgICAgICBlZm1DdVBBRkluT3ZlcmZsb3dzDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA3OV0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3Rz IHN1cHBvcnRpbmcgT1BUSU9OQUwgZXJyb3IgY291bnRlcnMNCiAgICAgICAgICBvZiBQQUYgb24g RUZNQ3UgcG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAzIH0NCg0KICAgICAgZWZt Q3VQbWVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUsDQogICAgICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzLA0KICAgICAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0 ZWQsDQogICAgICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsDQogICAgICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSwNCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsDQogICAg ICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiwNCiAg ICAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24sDQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuLA0K ICAgICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4sDQogICAgICAgICAgZWZtQ3VQbWVFcXVpdmFs ZW50TGVuZ3RoLA0KICAgICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMsDQogICAgICAgICAg ZWZtQ3VQbWVUQ0NyY0Vycm9ycywNCiAgICAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQog ICAgICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlv biBvZiBvYmplY3RzIHByb3ZpZGluZyBpbmZvcm1hdGlvbiBhYm91dA0KICAgICAgICAgIGEgMkJB U0UtVEwvMTBQQVNTLVRTIFBNRS4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDQgfQ0KDQog ICAgICBlZm1DdUFsYXJtQ29uZkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsN CiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUsDQogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jv c3NpbmdFbmFibGUsDQogICAgICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAgICAgICAg IGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNo U25yTWduLA0KICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsDQogICAgICAg ICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSwNCiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsRW5hYmxlLA0KICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQ0K ICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBjb25maWd1 cmF0aW9uIG9mIGFsYXJtDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4MF0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgICB0aHJlc2hvbGRzIGFuZCBub3RpZmljYXRpb25zIGluIEVGTUN1IHBv cnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNSB9DQoNCiAgICAgIGVmbUN1Tm90aWZp Y2F0aW9uR3JvdXAgTk9USUZJQ0FUSU9OLUdST1VQDQogICAgICAgIE5PVElGSUNBVElPTlMgew0K ICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLA0KICAgICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nLA0KICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcsDQogICAgICAgICAg ZWZtQ3VQbWVEZXZpY2VGYXVsdCwNCiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJl LA0KICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KICAgLS0gICAgICAgZWZt Q3VQbWVEZXZpY2VGYXVsdCwNCiAgIC0tICAgICAgIGVmbUN1UG1lTG9jYWxQb3dlckxvc3MNCiAg ICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9ydHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZp Y2FudCBjb25kaXRpb25zDQogICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIEVGTUN1IHBvcnRzLiIN CiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNiB9DQoNCiAgICAgIGVmbUN1UG1lMkJQcm9maWxl R3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1UG1l MkJQcm9maWxlRGVzY3IsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwNCiAgICAgICAgICBl Zm1DdVBtZTJCc01vZGUsDQogICAgICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLA0KICAgICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwNCiAgICAgICAgICBlZm1DdVBtZTJCUG93ZXIsDQog ICAgICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24sDQogICAgICAgICAgZWZtQ3VQbWUyQlBy b2ZpbGVSb3dTdGF0dXMsDQogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IsDQogICAgICAg ICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLA0KICAgICAgICAgIGVmbUN1UG1lMkJFcXVpdmFs ZW50TGVuZ3RoLA0KICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2LA0KICAgICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJSZWFj aFJhdGVSb3dTdGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRo YXQgY29uc3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGZvciBjb25m aWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMg N30NCg0KICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAg IE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyLA0KICAgICAgICAg IGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlLA0KICAgICAgICAgIGVmbUN1UG1lMTBQ VVBCT1JlZmVyZW5jZVByb2ZpbGUsDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4MV0NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzLA0KICAg ICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBt ZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsDQogICAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93 U3RhdHVzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICBjdXJyZW50DQogICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRoYXQgY29uc3RpdHV0 ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9m IDEwUEFTUy1UUyBwb3J0cy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQ0KDQogICAg ICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsN CiAgICAgICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcywNCiAgICAgICAgICBlZm1D dVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICBj dXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBv YmplY3RzIHByb3ZpZGluZyBzdGF0dXMgaW5mb3JtYXRpb24NCiAgICAgICAgICBzcGVjaWZpYyB0 byAxMFBBU1MtVFMgUE1Fcy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQ0KDQogICAg IC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICAgICBlZm1DdUNvbXBsaWFuY2UgTU9EVUxF LUNPTVBMSUFOQ0UNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIDJCQVNFLVRMLzEw UEFTUy1UUyBpbnRlcmZhY2VzLg0KICAgICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93 aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgICAgIGlzIFJFUVVJUkVE Og0KDQogICAgICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVu dA0KICAgICAgICAgIC0tLS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0N CiAgICAgICAgICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMNCiAgICAgICAg ICBFdGhlckxpa2UtTUlCICAgICAgICAgIGRvdDNDb21wbGlhbmNlMg0KICAgICAgICAgIE1BVS1N SUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMNCg0KICAgICAgICAgIENvbXBsaWFuY2Ug d2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAg ICAgIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVn YXRpb24NCiAgICAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhpYmxlIGNyb3NzLWNvbm5l Y3QgYmV0d2VlbiB0aGUgUENTDQogICAgICAgICAgYW5kIFBNRSBwb3J0czoNCg0KICAgICAgICAg IE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAgICAt LS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgSUYt SU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UNCiAgICAgICAgICBJRi1DQVAtU1RB Q0stTUlCICAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIg0KDQogICAgICAgIE1PRFVMRSAgLS0g dGhpcyBtb2R1bGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDgyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoN Cg0KICAgICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgew0KICAgICAgICAgICAgZWZtQ3VCYXNpY0dy b3VwLA0KICAgICAgICAgICAgZWZtQ3VQbWVHcm91cCwNCiAgICAgICAgICAgIGVmbUN1QWxhcm1D b25mR3JvdXAsDQogICAgICAgICAgICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwDQogICAgICAgICAg fQ0KDQogICAgICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cA0KICAgICAg ICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBv bmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgICAgIHN1cHBvcnRpbmcg MkJBU0UtVEwgUGh5LiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmls ZUdyb3VwDQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0 aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAg ICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVm bUN1UEFGR3JvdXANCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIlN1cHBvcnQg Zm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3INCiAgICAgICAgICAgIGltcGxlbWVu dGF0aW9ucyBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKS4iDQoNCiAg ICAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkVycm9yc0dyb3VwDQogICAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZv ciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgICAgIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpLiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQU3Rh dHVzR3JvdXANCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIlN1cHBvcnQgZm9y IHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgICAg c3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCg0KICAgICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 UG1lU3ViVHlwZXNTdXBwb3J0ZWQNCiAgICAgICAgICBTWU5UQVggICAgICBCSVRTIHsNCiAgICAg ICAgICAgIGllZWUyQmFzZVRMTygwKSwNCiAgICAgICAgICAgIGllZWUyQmFzZVRMUigxKSwNCiAg ICAgICAgICAgIGllZWUxMFBhc3NUU08oMiksDQogICAgICAgICAgICBpZWVlMTBQYXNzVFNSKDMp DQogICAgICAgICAgfQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9y dCBmb3IgYWxsIHN1YnR5cGVzIGlzIG5vdCByZXF1aXJlZC4gSG93ZXZlciBhdCBsZWFzdA0KICAg ICAgICAgICAgb25lIHZhbHVlIFNIQUxMIGJlIHN1cHBvcnRlZCINCg0KICAgICAgICAgIE9CSkVD VCAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlDQogICAgICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1v bmx5DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMg bm90IHJlcXVpcmVkIChuZWVkZWQgb25seSBmb3IgUE1Fcw0KICAgICAgICAgICAgc3VwcG9ydGlu ZyBtb3JlIHRoYW4gYSBzaW5nbGUgc3VidHlwZSwgZS5nLg0KDQoNCg0KQmVpbGkgICAgICAgICAg ICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODNd DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgICBpZWVlMkJhc2VUTE8gYW5kIGll ZWUyQmFzZVRMUiBvciBpZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgICAgaWVlZTEwUGFzc1RT UikiDQoNCiAgICAgICAgICBPQkpFQ1QgICAgICBlZm1DdVRhcmdldFNuck1nbg0KICAgICAgICAg IE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg ICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vz cw0KICAgICAgICAgICAgdGhlIHRhcmdldCBTTlIgbWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVk QiBmb3IgMkJBU0UtVEwNCiAgICAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iDQoNCiAg ICAgICAgICBPQkpFQ1QgICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYQ0KICAgICAgICAgIE1JTi1B Q0NFU1MgIHJlYWQtb25seQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiV3Jp dGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAg ICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hPVUxEIGJlIGZhbHNlLiINCg0KICAgICAgICA6 Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KICAgRU5EDQoNCg0KNy4gIFNlY3VyaXR5IENvbnNp ZGVyYXRpb25zDQoNCiAgIFRoZXJlIGlzIGEgbnVtYmVyIG9mIG1hbmFnZWQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZQ0KICAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBj bGF1c2Ugb2YgcmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4gIE1vc3QNCiAgIG9iamVjdHMgYXJl IHdyaXRlYWJsZSBvbmx5IHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gIFdyaXRpbmcgdG8gdGhlc2UN CiAgIG9iamVjdHMgY2FuIGhhdmUgcG90ZW50aWFsbHkgZGlzcnVwdGl2ZSBlZmZlY3RzIG9uIG5l dHdvcmsgb3BlcmF0aW9uLA0KICAgZm9yIGV4YW1wbGU6DQoNCiAgIG8gIENoYW5naW5nIG9mIGVm bUN1UG1lQWRtaW5TdWJUeXBlIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsIGxvY2tpbmcNCiAgICAg IG9mIHRoZSBsaW5rLCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNhbWUgc3ViLXR5cGUgY2Fubm90IGV4 Y2hhbmdlDQogICAgICBoYW5kc2hha2UgbWVzc2FnZXMuDQoNCiAgIG8gIENoYW5naW5nIG9mIGVm bUN1UEFGQWRtaW5TdGF0ZSB0byBlbmFibGVkIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsDQogICAg ICBsb2NraW5nIG9mIHRoZSBsaW5rLCBpZiB0aGUgcGVlciBQaHkgZG9lcyBub3Qgc3VwcG9ydCBQ QUYuDQoNCiAgIG8gIENoYW5naW5nIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRo ZSBkaXNjb3Zlcnkgb3BlcmF0aW9uLA0KICAgICAgbWF5IGxlYWQgdG8gYSB3cm9uZ2Z1bCBkaXNj b3ZlcnksIGZvciBleGFtcGxlIHdoZW4gdHdvIC1PIHBvcnRzDQogICAgICBhcmUgY29ubmVjdGVk IHRvIHRoZSBzYW1lIG11bHRpLVBNRSAtUiBwb3J0IGFuZCBib3RoIC1PIHBvcnRzIGhhdmUNCiAg ICAgIHRoZSBzYW1lIERpc2NvdmVyeSByZWdpc3RlciB2YWx1ZS4NCg0KICAgbyAgQ2hhbmdpbmcg UENTIG9yIFBNRSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKGUuZy4gcHJvZmlsZSBvZiBhDQog ICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJv ZmlsZSkgbWF5IGxlYWQNCiAgICAgIHRvIGFueXRoaW5nIGZyb20gbGluayBxdWFsaXR5IGFuZCBy YXRlIGRlZ3JhZGF0aW9uIHRvIGEgY29tcGxldGUNCiAgICAgIGxpbmsgaW5pdGlhbGl6YXRpb24g ZmFpbHVyZSwgYXMgYWJpbGl0eSBvZiBhbiBFRk1DdSBwb3J0IHRvDQogICAgICBzdXBwb3J0IGEg cGFydGljdWxhciBjb25maWd1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNvcHBlcg0KICAgICAgZW52 aXJvbm1lbnQuDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn dXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODRdDQoMDQpJbnRlcm5ldC1EcmFmdCAg ICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcN Cg0KDQogICBvICBBY3RpdmF0aW9uIG9mIGEgUE1FIGNhbiBjYXVzZSBhIHNldmVyZSBkZWdyYWRh dGlvbiBvZiBzZXJ2aWNlIGZvcg0KICAgICAgYW5vdGhlciBFRk1DdSBQaHksIHdob3NlIFBNRShz KSBtYXkgYmUgYWZmZWN0ZWQgYnkgdGhlIGNyb3NzLXRhbGsNCiAgICAgIGZyb20gdGhlIG5ld2x5 IGFjdGl2YXRlZCBQTUUuDQoNCiAgIG8gIFJlbW92YWwgb2YgYSBQTUUgZnJvbSBhbiBvcGVyYXRp b25hbGx5ICd1cCcgRUZNQ3UgcG9ydCwNCiAgICAgIGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1Fcywg bWF5IGNhdXNlIHBvcnQncyByYXRlIGRlZ3JhZGF0aW9uDQoNCiAgIFRoZSB1c2VyIG9mIHRoZSBF Rk0tQ1UtTUlCIG1vZHVsZSBtdXN0IHRoZXJlZm9yZSBiZSBhd2FyZSB0aGF0DQogICBzdXBwb3J0 IGZvciBTRVQgb3BlcmF0aW9ucyBpbiBhIG5vbi1zZWN1cmUgZW52aXJvbm1lbnQgd2l0aG91dCBw cm9wZXINCiAgIHByb3RlY3Rpb24gY2FuIGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gbmV0d29y ayBvcGVyYXRpb25zLg0KDQogICBUaGUgcmVhZGFibGUgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1J QiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLQ0KICAgQUNDRVNTIG90aGVyIHRoYW4gbm90 LWFjY2Vzc2libGUpIG1heSBiZSBjb25zaWRlcmVkIHNlbnNpdGl2ZSBpbiBzb21lDQogICBlbnZp cm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBwcm92aWRlIGluZm9ybWF0aW9uIGFi b3V0IHRoZQ0KICAgcGVyZm9ybWFuY2Ugb2YgbmV0d29yayBpbnRlcmZhY2VzIGFuZCBjYW4gcmV2 ZWFsIHNvbWUgYXNwZWN0cyBvZg0KICAgdGhlaXIgY29uZmlndXJhdGlvbi4gIEluIHBhcnRpY3Vs YXIsIHNpbmNlIEVGTUN1IGNhbiBiZSBjYXJyaWVkIG92ZXINCiAgIFVuc2hpZWxkZWQgVHdpc3Rl ZCBQYWlyIChVVFApIHZvaWNlIGdyYWRlIGNvcHBlciBpbiBhIGJ1bmRsZSB3aXRoDQogICBvdGhl ciBwYWlycyBiZWxvbmdpbmcgdG8gYW5vdGhlciBvcGVyYXRvci9jdXN0b21lciwgaXQgaXMNCiAg IHRoZW9yZXRpY2FsbHkgcG9zc2libGUgdG8gZXZhc2Ryb3AgdG8gYW4gRUZNQ3UgdHJhbnNtaXNz aW9uIHNpbXBseSBieQ0KICAgImxpc3RlbmluZyIgdG8gYSBjcm9zcy10YWxrIGZyb20gdGhlIEVG TUN1IHBhaXJzLCBlc3BlY2lhbGx5IGlmIHRoZQ0KICAgcGFyYW1ldGVycyBvZiB0aGUgRUZNQ3Ug bGluayBpbiBxdWVzdGlvbiBhcmUga25vd24uDQoNCiAgIEluIHN1Y2ggZW52aXJvbm1lbnRzIGl0 IGlzIGltcG9ydGFudCB0byBjb250cm9sIGFsc28gR0VUIGFuZCBOT1RJRlkNCiAgIGFjY2VzcyB0 byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVuIHRvIGVuY3J5cHQgdGhlaXIgdmFsdWVz DQogICB3aGVuIHNlbmRpbmcgdGhlbSBvdmVyIHRoZSBuZXR3b3JrIHZpYSBTTk1QLg0KDQogICBT Tk1QIHZlcnNpb25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2Vj dXJpdHkuDQogICBFdmVuIGlmIHRoZSBuZXR3b3JrIGl0c2VsZiBpcyBzZWN1cmUgKGZvciBleGFt cGxlIGJ5IHVzaW5nIElQc2VjKSwNCiAgIGV2ZW4gdGhlbiwgdGhlcmUgaXMgbm8gY29udHJvbCBh cyB0byB3aG8gb24gdGhlIHNlY3VyZSBuZXR3b3JrIGlzDQogICBhbGxvd2VkIHRvIGFjY2VzcyBh bmQgR0VUL1NFVCAocmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMNCiAgIGlu IHRoZXNlIE1JQiBtb2R1bGVzLg0KDQogICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVu dGVycyBjb25zaWRlciB0aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMNCiAgIHByb3ZpZGVkIGJ5IHRo ZSBTTk1QdjMgZnJhbWV3b3JrIChzZWUgW1JGQzM0MTBdLCBzZWN0aW9uIDgpLA0KICAgaW5jbHVk aW5nIGZ1bGwgc3VwcG9ydCBmb3IgdGhlIFNOTVB2MyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMg KGZvcg0KICAgYXV0aGVudGljYXRpb24gYW5kIHByaXZhY3kpLg0KDQogICBGdXJ0aGVyLCBkZXBs b3ltZW50IG9mIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8gU05NUHYzIGlzIE5PVA0KICAgUkVDT01N RU5ERUQuICBJbnN0ZWFkLCBpdCBpcyBSRUNPTU1FTkRFRCB0byBkZXBsb3kgU05NUHYzIGFuZCB0 bw0KICAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJpdHkuICBJdCBpcyB0aGVuIGEgY3VzdG9t ZXIvb3BlcmF0b3INCiAgIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGF0IHRoZSBTTk1QIGVu dGl0eSBnaXZpbmcgYWNjZXNzIHRvIGFuDQogICBpbnN0YW5jZSBvZiB0aGVzZSBNSUIgbW9kdWxl cyBpcyBwcm9wZXJseSBjb25maWd1cmVkIHRvIGdpdmUgYWNjZXNzDQogICB0byB0aGUgb2JqZWN0 cyBvbmx5IHRvIHRob3NlIHByaW5jaXBhbHMgKHVzZXJzKSB0aGF0IGhhdmUgbGVnaXRpbWF0ZQ0K ICAgcmlnaHRzIHRvIGluZGVlZCBHRVQgb3IgU0VUIChjaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhl bS4NCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0K DQo4LiAgSUFOQSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGUgdHdvIG5ldyB2YWx1ZXMgb2YgZG90 M01hdVR5cGUgKGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQNCiAgIGRvdDNNYXVUeXBlMTBQYXNzVFMp IGFuZCBjb3JyZXNwb25kaW5nIElBTkFpZk1hdVR5cGVMaXN0Qml0cyBiaXQNCiAgIGRlZmluaXRp b25zIChiMkJhc2VUTCBhbmQgYjEwUGFzc1RTKSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBm b3INCiAgIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlIChhdmFpbGFibGVSZWR1Y2VkIGFuZCByZWFk eSkgU0hBTEwgYmUgZGVmaW5lZA0KICAgYnkgdGhlIElBTkEgaW4gdGhlIElBTkEtTUFVLU1JQiBt b2R1bGUgKHNlZQ0KICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSkgYmVmb3JlIHRoaXMg ZG9jdW1lbnQgaXMgcHVibGlzaGVkIGFzIGFuDQogICBSRkMuDQoNCiAgIEFkZGl0aW9uYWxseSwg b2JqZWN0IGlkZW50aWZpZXJzIGZvciBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkgYW5kDQogICBp ZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBTSEFMTCBiZSBhbGxvY2F0ZWQgYnkgSUFOQSBp biB0aGUgTUlCLTINCiAgIHN1Yi10cmVlLCBiZWZvcmUgdGhpcyBkb2N1bWVudCBpcyBwdWJsaXNo ZWQuDQoNCg0KOS4gIEFja25vd2xlZGdtZW50cw0KDQogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9k dWNlZCBieSB0aGUgSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWINCiAgIE1JQiBXb3Jr aW5nIEdyb3VwIFsxXSwgd2hvc2UgZWZmb3J0cyB3ZXJlIGdyZWF0bHkgYWR2YW5jZWQgYnkgdGhl DQogICBjb250cmlidXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgcGVvcGxlIChpbiBhbHBoYWJldGlj YWwgb3JkZXIpOg0KDQogICAgICBCZXJ0IFdpam5lbiAoQWxjYXRlbCkNCg0KICAgICAgRGFuIFJv bWFzY2FudSAoQXZheWEpDQoNCiAgICAgIE1hcmluYSBQb3BpbG92IChBY3RlbGlzKQ0KDQogICAg ICBNYXRoaWFzIFJpZXNzIChJbmZpbmVvbikNCg0KICAgICAgTWF0dCBTcXVpcmUgKEhhdHRlcmFz KQ0KDQogICAgICBNaWtlIEhlYXJkDQoNCiAgICAgIFVkaSBBc2hrZW5hemkgKEFjdGVsaXMpDQoN Cg0KMTAuICBOb3RlcyB0byBSRkMgRWRpdG9yDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBu b3RlcyB0byB0aGUgUkZDIEVkaXRvciBhbmQgc2hvdWxkIGJlIHJlbW92ZWQNCiAgIHByaW9yIHRv IHB1YmxpY2F0aW9uLg0KDQogICAgICBQbGVhc2UgcmVwbGFjZSBbSS1ELmlldGYtaHVibWliLWVm bS1taWJdIGFuZA0KICAgICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSB3aXRoIGFjdHVh bCBSRkMgbnVtYmVycyBpZiB0aG9zZSBhcmUNCiAgICAgIGF2YWlsYWJsZSBhdCB0aW1lIG9mIHB1 YmxpY2F0aW9uLg0KDQoNCjExLiAgUmVmZXJlbmNlcw0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAg ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4Nl0N CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAg ICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCjExLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQog ICBbODAyLjNdICAgIElFRUUsICJJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9s b2d5IC0NCiAgICAgICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBl eGNoYW5nZSBiZXR3ZWVuDQogICAgICAgICAgICAgIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9w b2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYw0KICAgICAgICAgICAgICByZXF1aXJlbWVu dHMgLSBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGgNCiAgICAgICAg ICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5 c2ljYWwNCiAgICAgICAgICAgICAgTGF5ZXIgU3BlY2lmaWNhdGlvbnMiLCBJRUVFIFN0ZCA4MDIu My0yMDA1LCBEZWNlbWJlciAyMDA1Lg0KDQogICBbODAyLjNhaF0gIElFRUUsICJJRUVFIFN0YW5k YXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0NCiAgICAgICAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuDQogICAgICAgICAgICAg IHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZp Yw0KICAgICAgICAgICAgICByZXF1aXJlbWVudHMgLSBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVs dGlwbGUgQWNjZXNzIHdpdGgNCiAgICAgICAgICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwNCiAgICAgICAgICAgICAgTGF5ZXIgU3Bl Y2lmaWNhdGlvbnMgLSBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sDQogICAgICAgICAg ICAgIFBhcmFtZXRlcnMsIFBoeXNpY2FsIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvcg0KICAgICAgICAgICAgICBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcyIsIElFRUUgU3Rk IDgwMi4zYWgtMjAwNCwNCiAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDQuDQoNCiAgIFtHLjk5 MS4yXSAgSVRVLVQsICJTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBM aW5lDQogICAgICAgICAgICAgIChTSERTTCkgdHJhbnNjZWl2ZXJzIiwgSVRVLVQgUmVjb21tZW5k YXRpb24gRy45OTEuMiwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwMy4NCg0KICAgW0cuOTkz LjFdICBJVFUtVCwgIlZlcnkgSGlnaCBzcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZQ0KICAg ICAgICAgICAgICB0cmFuc2NlaXZlcnMiLCBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5My4xLCBK dW5lIDIwMDQuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpc10NCiAgICAgICAgICAg ICAgQmVpbGksIEUuLCAiRGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBJRUVFIDgw Mi4zDQogICAgICAgICAgICAgIE1lZGl1bSBBdHRhY2htZW50IFVuaXRzIChNQVVzKSIsDQogICAg ICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLXJmYzM2MzZiaXMtMDUgKHdvcmsgaW4gcHJvZ3Jl c3MpLA0KICAgICAgICAgICAgICBKdWx5IDIwMDYuDQoNCiAgIFtSRkMyMTE5XSAgQnJhZG5lciwg Uy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlDQogICAgICAgICAgICAg IFJlcXVpcmVtZW50IExldmVscyIsIEJDUCAxNCwgUkZDIDIxMTksIE1hcmNoIDE5OTcuDQoNCiAg IFtSRkMyNTc4XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBTY2hvZW53YWVsZGVyLCBK LiwgQ2FzZSwgSi4sDQogICAgICAgICAgICAgIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5k IFMuIFdhbGRidXNzZXIsICJTdHJ1Y3R1cmUgb2YNCiAgICAgICAgICAgICAgTWFuYWdlbWVudCBJ bmZvcm1hdGlvbiBWZXJzaW9uIDIgKFNNSXYyKSIsIFNURCA1OCwNCiAgICAgICAgICAgICAgUkZD IDI1NzgsIEFwcmlsIDE5OTkuDQoNCiAgIFtSRkMyNTc5XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBTY2hvZW53YWVsZGVyLCBKLiwgQ2FzZSwgSi4sDQogICAgICAgICAgICAgIE1jQ2xv Z2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICJUZXh0dWFsDQogICAgICAg ICAgICAgIENvbnZlbnRpb25zIGZvciBTTUl2MiIsIFNURCA1OCwgUkZDIDI1NzksIEFwcmlsIDE5 OTkuDQoNCiAgIFtSRkMyNTgwXSAgTWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4g U2Nob2Vud2FlbGRlciwNCiAgICAgICAgICAgICAgIkNvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9y IFNNSXYyIiwgU1REIDU4LCBSRkMgMjU4MCwNCiAgICAgICAgICAgICAgQXByaWwgMTk5OS4NCg0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgODddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICBbUkZDMjg2 M10gIE1jQ2xvZ2hyaWUsIEsuIGFuZCBGLiBLYXN0ZW5ob2x6LCAiVGhlIEludGVyZmFjZXMgR3Jv dXANCiAgICAgICAgICAgICAgTUlCIiwgUkZDIDI4NjMsIEp1bmUgMjAwMC4NCg0KICAgW1JGQzI4 NjRdICBNY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAiVGhlIEludmVydGVkIFN0YWNrIFRh YmxlDQogICAgICAgICAgICAgIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIi LCBSRkMgMjg2NCwNCiAgICAgICAgICAgICAgSnVuZSAyMDAwLg0KDQogICBbUkZDMzYzNV0gIEZs aWNrLCBKLiwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlDQogICAgICAg ICAgICAgIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzIiwgUkZDIDM2MzUsIFNlcHRlbWJl ciAyMDAzLg0KDQoxMS4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQogICBbQU5GUF0gICAg IE5ldHdvcmsgSW50ZXJvcGVyYWJpbGl0eSBDb25zdWx0YXRpdmUgQ29tbWl0dGVlIChOSUNDKSwN CiAgICAgICAgICAgICAgIlNwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcyBOZXR3b3JrIEZyZXF1 ZW5jeSBQbGFuIChBTkZQKQ0KICAgICAgICAgICAgICBhcHBsaWNhYmxlIHRvIHRyYW5zbWlzc2lv biBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2Vzcw0KICAgICAgICAgICAgICBOZXR3b3JrIiwg TklDQyBEb2N1bWVudCBORDE2MDI6MjAwNS8wOCwgQXVndXN0IDIwMDUuDQoNCiAgIFtJLUQuaWV0 Zi1odWJtaWItZWZtLWVwb24tbWliXQ0KICAgICAgICAgICAgICBLaGVybW9zaCwgTC4sICJNYW5h Z2VkIE9iamVjdHMgb2YgRVBPTiIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLWVm bS1lcG9uLW1pYi0wNiAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIE5vdmVtYmVy IDIwMDYuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItZWZtLW1pYl0NCiAgICAgICAgICAgICAgU3F1 aXJlLCBNLiwgIkRlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMgZm9yIE9BTQ0KICAgICAg ICAgICAgICBGdW5jdGlvbnMgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzIiwNCiAgICAgICAg ICAgICAgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNSAod29yayBpbiBwcm9ncmVzcyksDQog ICAgICAgICAgICAgIE9jdG9iZXIgMjAwNi4NCg0KICAgW0lBTkFpZlR5cGUtTUlCXQ0KICAgICAg ICAgICAgICBJbnRlcm5ldCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICJJQU5B aWZUeXBlDQogICAgICAgICAgICAgIFRleHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uIiwNCiAg ICAgICAgICAgICAgIGh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaWFuYWlmdHlwZS1t aWIuDQoNCiAgIFtSRkMzNDEwXSAgQ2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFu ZCBCLiBTdGV3YXJ0LA0KICAgICAgICAgICAgICAiSW50cm9kdWN0aW9uIGFuZCBBcHBsaWNhYmls aXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LQ0KICAgICAgICAgICAgICBTdGFuZGFyZCBNYW5h Z2VtZW50IEZyYW1ld29yayIsIFJGQyAzNDEwLCBEZWNlbWJlciAyMDAyLg0KDQogICBbUkZDNDA3 MF0gIERvZGdlLCBNLiBhbmQgQi4gUmF5LCAiRGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3QN CiAgICAgICAgICAgICAgRXh0ZW5zaW9ucyBmb3IgVmVyeSBIaWdoIFNwZWVkIERpZ2l0YWwgU3Vi c2NyaWJlciBMaW5lcw0KICAgICAgICAgICAgICAoVkRTTCkgVXNpbmcgTXVsdGlwbGUgQ2Fycmll ciBNb2R1bGF0aW9uIChNQ00pIExpbmUNCiAgICAgICAgICAgICAgQ29kaW5nIiwgUkZDIDQwNzAs IE1heSAyMDA1Lg0KDQogICBbUkZDNDMxOV0gIFNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIuIEFi YmksICJEZWZpbml0aW9ucyBvZiBNYW5hZ2VkDQogICAgICAgICAgICAgIE9iamVjdHMgZm9yIEhp Z2ggQml0LVJhdGUgRFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQNCiAgICAgICAgICAg ICAgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wp DQogICAgICAgICAgICAgIExpbmVzIiwgUkZDIDQzMTksIERlY2VtYmVyIDIwMDUuDQoNClVSSXMN Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDg4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgWzFdICA8 aHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWw+DQoN Cg0KQXV0aG9yJ3MgQWRkcmVzcw0KDQogICBFZHdhcmQgQmVpbGkNCiAgIEFjdGVsaXMgTmV0d29y a3MNCiAgIEJhemVsIDI1DQogICBQZXRhY2gtVGlrdmENCiAgIElzcmFlbA0KDQogICBQaG9uZTog Kzk3Mi0zLTkyNC0zNDkxDQogICBFbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tDQoNCg0K DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1 LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQpG dWxsIENvcHlyaWdodCBTdGF0ZW1lbnQNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVz dCAoMjAwNykuDQoNCiAgIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmlnaHRzLCBs aWNlbnNlcyBhbmQgcmVzdHJpY3Rpb25zDQogICBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQgZXhj ZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycw0KICAgcmV0YWluIGFsbCB0aGVp ciByaWdodHMuDQoNCiAgIFRoaXMgZG9jdW1lbnQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWlu ZWQgaGVyZWluIGFyZSBwcm92aWRlZCBvbiBhbg0KICAgIkFTIElTIiBiYXNpcyBhbmQgVEhFIENP TlRSSUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTDQogICBPUiBJUyBT UE9OU09SRUQgQlkgKElGIEFOWSksIFRIRSBJTlRFUk5FVCBTT0NJRVRZLCBUSEUgSUVURiBUUlVT VCBBTkQNCiAgIFRIRSBJTlRFUk5FVCBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFM TCBXQVJSQU5USUVTLCBFWFBSRVNTDQogICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YNCiAgIFRIRSBJTkZPUk1BVElP TiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KICAg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuDQoNCg0KSW50ZWxsZWN0dWFsIFByb3BlcnR5DQoNCiAgIFRoZSBJRVRGIHRha2Vz IG5vIHBvc2l0aW9uIHJlZ2FyZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2YgYW55DQogICBJ bnRlbGxlY3R1YWwgUHJvcGVydHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJl IGNsYWltZWQgdG8NCiAgIHBlcnRhaW4gdG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0 aGUgdGVjaG5vbG9neSBkZXNjcmliZWQgaW4NCiAgIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVu dCB0byB3aGljaCBhbnkgbGljZW5zZSB1bmRlciBzdWNoIHJpZ2h0cw0KICAgbWlnaHQgb3IgbWln aHQgbm90IGJlIGF2YWlsYWJsZTsgbm9yIGRvZXMgaXQgcmVwcmVzZW50IHRoYXQgaXQgaGFzDQog ICBtYWRlIGFueSBpbmRlcGVuZGVudCBlZmZvcnQgdG8gaWRlbnRpZnkgYW55IHN1Y2ggcmlnaHRz LiAgSW5mb3JtYXRpb24NCiAgIG9uIHRoZSBwcm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0byByaWdo dHMgaW4gUkZDIGRvY3VtZW50cyBjYW4gYmUNCiAgIGZvdW5kIGluIEJDUCA3OCBhbmQgQkNQIDc5 Lg0KDQogICBDb3BpZXMgb2YgSVBSIGRpc2Nsb3N1cmVzIG1hZGUgdG8gdGhlIElFVEYgU2VjcmV0 YXJpYXQgYW5kIGFueQ0KICAgYXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWls YWJsZSwgb3IgdGhlIHJlc3VsdCBvZiBhbg0KICAgYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdl bmVyYWwgbGljZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mDQogICBzdWNoIHByb3By aWV0YXJ5IHJpZ2h0cyBieSBpbXBsZW1lbnRlcnMgb3IgdXNlcnMgb2YgdGhpcw0KICAgc3BlY2lm aWNhdGlvbiBjYW4gYmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUiByZXBvc2l0 b3J5IGF0DQogICBodHRwOi8vd3d3LmlldGYub3JnL2lwci4NCg0KICAgVGhlIElFVEYgaW52aXRl cyBhbnkgaW50ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uIGFueQ0KICAg Y29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhlciBwcm9w cmlldGFyeQ0KICAgcmlnaHRzIHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUg cmVxdWlyZWQgdG8gaW1wbGVtZW50DQogICB0aGlzIHN0YW5kYXJkLiAgUGxlYXNlIGFkZHJlc3Mg dGhlIGluZm9ybWF0aW9uIHRvIHRoZSBJRVRGIGF0DQogICBpZXRmLWlwckBpZXRmLm9yZy4NCg0K DQpBY2tub3dsZWRnbWVudA0KDQogICBGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBmdW5jdGlv biBpcyBwcm92aWRlZCBieSB0aGUgSUVURg0KICAgQWRtaW5pc3RyYXRpdmUgU3VwcG9ydCBBY3Rp dml0eSAoSUFTQSkuDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgOTBdDQoMDQo= ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: application/octet-stream; name="if-cap-stack-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: if-cap-stack-mib.mi2 Content-Disposition: attachment; filename="if-cap-stack-mib.mi2" SUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9E VUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAg ICAgICAgLS0gUkZDIDI1NzgKICAgIFRydXRoVmFsdWUKICAgICAgRlJPTSBTTk1QdjItVEMgICAg ICAgICAgLS0gUkZDIDI1NzkKICAgIE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVAKICAg ICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODAKICAgIGlmU3RhY2tHcm91cDIs IGlmU3RhY2tIaWdoZXJMYXllciwgaWZTdGFja0xvd2VyTGF5ZXIgCiAgICAgIEZST00gSUYtTUlC ICAgICAgICAgICAgIC0tIFJGQyAyODYzCiAgICBpZkludlN0YWNrR3JvdXAKICAgICAgRlJPTSBJ Ri1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQKICAgIDsKCiAgaWZDYXBTdGFja01JQiBN T0RVTEUtSURFTlRJVFkKICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1 YXJ5IDIxLCAyMDA3CiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBh bmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgQ09OVEFDVC1JTkZPCiAgICAgICJXRyBjaGFy dGVyOgogICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hh cnRlci5odG1sCgogICAgICBNYWlsaW5nIExpc3RzOgogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lv bjogaHVibWliQGlldGYub3JnCiAgICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBp ZXRmLm9yZwogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKCiAg ICAgIENoYWlyOiAgQmVydCBXaWpuZW4KICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudAogICAg ICAgICAgICAgIFNjaGFnZW4gMzMKICAgICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4KICAg ICAgICAgICAgICBOZXRoZXJsYW5kcwogICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQogICAg ICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNlbnQuY29tCgogICAgICBFZGl0b3I6IEVkd2Fy ZCBCZWlsaQogICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgogICAgICAgICAgICAg IDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEw MTczCiAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0 OTEKICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgogICAgREVTQ1JJUFRJ T04KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNj cmliZQogICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVk KSBpbnRlcmZhY2VzLAogICAgICBjb21wbGVtZW50aW5nIGlmU3RhY2tUYWJsZSBhbmQgaWZJbnZT dGFja1RhYmxlIGRlZmluZWQgaW4KICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1N SUIgcmVzcGVjdGl2ZWx5LgoKICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAw NykuICBUaGlzIHZlcnNpb24KICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZD IFhYWFg7ICBzZWUgdGhlIFJGQwogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4i CgogICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwog ICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiIK CiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGggdGhlIGFjdHVhbCBSRkMgbnVtYmVy ICYKICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQogCiAgICA6Oj0geyBtaWItMiBaWlogfQoKICAg ICAgLS0gRWROb3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAg ICAtLSBhbGxvY2F0ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgLS0gU2VjdGlvbnMgb2YgdGhl IG1vZHVsZQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUK ICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQKCiAgIGlmQ2FwU3RhY2tPYmpl Y3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoKICAgaWZD YXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIg MiB9CgogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgLS0KICAgLS0gaWZDYXBTdGFja1Rh YmxlIGdyb3VwCiAgIC0tCgogICBpZkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwK ICAgICAgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJwog ICAgICAgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5l dHdvcmsKICAgICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hp cHMgZGVzY3JpYmVkIGluCiAgICAgICBpZlN0YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBj b250YWlucyBpbmZvcm1hdGlvbiBvbgogICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRl cm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUKICAgICAgIGRldmljZSwg d2hlcmUgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdwogICAg ICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBp ZkluZGV4CiAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0 aGUgc3ViLWxheWVyIHdpdGgKICAgICAgIGlmSW5kZXggdmFsdWUgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOgogICAgICAgCiAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55PXRydWUKCiAg ICAgICBpZkNhcFN0YWNrU3RhdHVzLngueSByb3cgZG9lcyBub3QgZXhpc3QgaWYgaXQgaXMgaW1w b3NzaWJsZQogICAgICAgdG8gY29ubmVjdCBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHku CiAgICAgICAKICAgICAgIE5vdGUgdGhhdCBmb3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUu Zy4gMkJBU0UtVEwpCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBsZWFzdCBvbmUgaGlnaGVyLWxl dmVsIGludGVyZmFjZSAoZS5nLiBQQ1MKICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVs IGludGVyZmFjZSAoZS5nLiBQTUUpIGFuZCBhdAogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVs IGludGVyZmFjZSBmb3IgZWFjaCBoaWdoZXItbGV2ZWwKICAgICAgIGludGVyZmFjZSwgdGhhdCBp cywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgcm93IHdpdGggYQogICAgICAgJ3RydWUnIHN0 YXR1cyBmb3IgYW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4KCiAgICAgICBUaGlzIHRhYmxl IGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2aWNlIGNhcGFiaWxpdHkiCiAgICAgUkVG RVJFTkNFCiAgICAgICAiSUYtTUlCLCBpZlN0YWNrVGFibGUiCiAgICAgOjo9IHsgaWZDYXBTdGFj a09iamVjdHMgMSB9CgogICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJJbmZvcm1hdGlv biBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvCiAgICAgICBzdWItbGF5 ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuCiAgICAg ICBvbiAndG9wJyBvZiB0aGUgb3RoZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNw b25kcwogICAgICAgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNl IGluZGV4IGZvcgogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4i CiAgICAgSU5ERVggewogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLAogICAgICAgaWZTdGFja0xv d2VyTGF5ZXIKICAgICB9CiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEgfQoKICAgSWZDYXBT dGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7CiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyAgICAgICBU cnV0aFZhbHVlCiAgICAgIH0KCiAgIGlmQ2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBzdGF0dXMgb2Yg dGhlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknIHJlbGF0aW9uc2hpcAogICAgICAgYmV0d2Vl biB0d28gc3ViLWxheWVycy4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkOgog ICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGlu dGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllZCBieSB0aGUgaWZT dGFja0xvd2VyTGF5ZXIgTUFZCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGNvbm5lY3Rl ZCB0byBydW4gJ2JlbG93JyB0aGUgc3ViLWxheWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg aWZTdGFja0hpZ2hlckxheWVyIGluZGV4LgogICAgICAgICBmYWxzZSgyKSAgICAgICAgLSB0aGUg c3ViLWxheWVyIGludGVyZmFjZXMgY2Fubm90IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5hdmFpbGFiaWxpdHkgb2YgdGhlIGludGVyZmFjZShzKSwgZS5nLgogICAgICAgICAgICAgICAg ICAgICAgICAgICBvbmUgb2YgdGhlIGludGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhbgogICAgICAg ICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxlIG1vZHVsZS4KCiAgICAgICBOb3Rl IHRoYXQgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVy LAogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJh aW5lZCBieQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUgYnkgdGhlIGFnZ3Jl Z2F0aW9uIGNhcGFjaXR5IG9mCiAgICAgICBhIGhpZ2hlci1sYXllciBpbnRlcmZhY2Ugb3IgYnkg dGhlIGxvd2VyLWxheWVyIGludGVyZmFjZSBpbgogICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFk eSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXItbGF5ZXIKICAgICAgIGludGVyZmFjZS4gSW4g b3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1sYXllciBjYW4KICAgICAgIGJl IGNvbm5lY3RlZCB0byBhbm90aGVyIHN1Yi1sYXllciwgYWxsIHJlc3BlY3RpdmUgb2JqZWN0cwog ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNlcykgU0hBTEwgYmUgaW5zcGVjdGVk LgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMs IGFzIGl0CiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIgogICAg IDo6PSB7IGlmQ2FwU3RhY2tFbnRyeSAxIH0KCiAgIGlmSW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICAgIFNFUVVFTkNFIE9GIElmSW52Q2FwU3RhY2tFbnRyeQog ICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlv biBvbiB0aGUgcG9zc2libGUgcmVsYXRpb25zaGlwcwogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlw bGUgc3ViLWxheWVycyBvZiBuZXR3b3JrIGludGVyZmFjZXMuIFRoaXMgCiAgICAgICB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQogICAgICAgSUYtSU5WRVJURUQtU1RB Q0stTUlCLCBpcyBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcFN0YWNrVGFibGUKICAgICAgIGRlZmlu ZWQgaW4gdGhpcyBNSUIgbW9kdWxlLgogICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBj b250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaAogICAgICAgc3ViLWxheWVycyBNQVkgcnVuICd1 bmRlcm5lYXRoJyB3aGljaCBvdGhlciBzdWItbGF5ZXJzLCB3aGVyZQogICAgICAgZWFjaCBzdWIt bGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4KICAg ICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlIHgg TUFZIGJlCiAgICAgICBjb25uZWN0ZWQgdG8gcnVuIHVuZGVybmVhdGggdGhlIHN1Yi1sYXllciB3 aXRoIGlmSW5kZXggdmFsdWUKICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoKCiAg ICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzLngueT10cnVlCgogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZQogICAgICAgaWZD YXBTdGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBwZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoK ICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNv bm5lY3QKICAgICAgIGNhcGFiaWxpdHkuIgogICAgIFJFRkVSRU5DRQogICAgICAgICJJRi1JTlZF UlRFRC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSIKICAgICA6Oj0geyBpZkNhcFN0YWNrT2Jq ZWN0cyAyIH0KCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICAgIElmSW52Q2FwU3RhY2tFbnRyeQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2li bGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgICJJ bmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0K ICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5k ZXJuZWF0aCB0aGUKICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJl c3BvbmRzIHRvIGEgY29uY2VwdHVhbAogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAg SU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICA6Oj0g eyBpZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFV RU5DRSB7CiAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQogICAgfQoK ICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICAgICBU cnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBv c3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknCiAgICAgICAgcmVsYXRpb25zaGlwIGJl dHdlZW4gdHdvIHN1Yi1sYXllcnMuCgogICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0 IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0aGUKICAgICAgICBpZkNhcFN0YWNrU3RhdHVz IG9iamVjdCwgYW5kIHZpY2UgdmVyc2EuIEZvciBleGFtcGxlLCBpZiB0aGUKICAgICAgICB2YXJp YWJsZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlCiAgICAg ICAgaWZJbnZTdGFja1N0YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4g IEluCiAgICAgICAgYWRkaXRpb24sIHRoZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBz YW1lIHZhbHVlLgoKICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1v bmx5LCBhcyBpdCBkZXNjcmliZXMKICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4i CiAgICAgUkVGRVJFTkNFCiAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiCiAgICAgOjo9IHsgaWZJ bnZDYXBTdGFja0VudHJ5IDEgfQoKICAtLQogIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMKICAt LQoKICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAg IHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDEgfQoKICAgaWZDYXBTdGFja0NvbXBsaWFuY2VzIE9C SkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQoK ICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFuY2UKCiAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JP VVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsCiAgICAgICBpZkludkNh cFN0YWNrU3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9u IHRoZQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFj a2VkKSBuZXR3b3JrCiAgICAgICBpbnRlcmZhY2VzLiIKICAgICA6Oj0geyBpZkNhcFN0YWNrR3Jv dXBzIDEgfQoKCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICBpZkNhcFN0YWNrQ29tcGxp YW5jZSBNT0RVTEUtQ09NUExJQU5DRQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGll cywgd2hpY2ggcHJvdmlkZQogICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiBtdWx0aS1sYXllcgogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsgaW50ZXJm YWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0CiAgICAgICBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzLiIKCiAgICAgCiAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFU T1JZLUdST1VQUyB7CiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRy dXRoVmFsdWUgeyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0 IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVu dGF0aW9ucyBzdXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKCiAgICAgICBPQkpFQ1Qg ICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRydXRoVmFsdWUg eyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUg ZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVudGF0aW9ucyBz dXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKICAgICAgIAogICAgIE1PRFVMRSAgSUYt TUlCCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsKICAgICAgICAgaWZTdGFja0dyb3VwMgogICAg ICAgfQoKICAgICBNT0RVTEUgIElGLUlOVkVSVEVELVNUQUNLLU1JQgogICAgICAgTUFOREFUT1JZ LUdST1VQUyB7CiAgICAgICAgIGlmSW52U3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAgICAg Ojo9IHsgaWZDYXBTdGFja0NvbXBsaWFuY2VzIDEgfQpFTkQK ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: application/octet-stream; name="efm-cu-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: efm-cu-mib.mi2 Content-Disposition: attachment; filename="efm-cu-mib.mi2" RUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9EVUxFLUlE RU5USVRZLCBPQkpFQ1QtVFlQRSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwKICAgIFVu c2lnbmVkMzIsIENvdW50ZXIzMiwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAgICAgICAg LS0gUkZDIDI1NzgKICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVz LCBQaHlzQWRkcmVzcwogICAgICBGUk9NIFNOTVB2Mi1UQyAgICAgICAgICAtLSBSRkMgMjU3OQog ICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgTk9USUZJQ0FUSU9OLUdST1VQCiAg ICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwCiAgICBTbm1wQWRtaW5TdHJp bmcKICAgICAgRlJPTSBTTk1QLUZSQU1FV09SSy1NSUIgLS0gUkZDIDM0MTEKICAgIGlmSW5kZXgs IGlmU3BlZWQKICAgICAgRlJPTSBJRi1NSUIgICAgICAgICAgICAgLS0gUkZDIDI4NjMKICAgIDsK CiAgZWZtQ3VNSUIgTU9EVUxFLUlERU5USVRZCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAw MFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0 IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIKICAgIENPTlRBQ1QtSU5GTwog ICAgICAiV0cgY2hhcnRlcjoKICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRl cnMvaHVibWliLWNoYXJ0ZXIuaHRtbAoKICAgICAgTWFpbGluZyBMaXN0czoKICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZwogICAgICAgIFRvIFN1YnNjcmliZTogaHVi bWliLXJlcXVlc3RAaWV0Zi5vcmcKICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFp bF9hZGRyZXNzCgogICAgICBDaGFpcjogIEJlcnQgV2lqbmVuCiAgICAgIFBvc3RhbDogQWxjYXRl bC1MdWNlbnQKICAgICAgICAgICAgICBTY2hhZ2VuIDMzCiAgICAgICAgICAgICAgMzQ2MSBHTCBM aW5zY2hvdGVuCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMKICAgICAgICAgVGVsOiArMzEtMzQ4 LTQwNy03NzUKICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQoKICAgICAg RWRpdG9yOiBFZHdhcmQgQmVpbGkKICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4K ICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3MwogICAgICAgICAgICAgIFBl dGFjaC1UaWt2YSAxMDE3MwogICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAgIFRlbDog Kzk3Mi0zLTkyNC0zNDkxCiAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIgoK ICAgIERFU0NSSVBUSU9OCiAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgYXJl IHVzZWQgdG8gbWFuYWdlCiAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSAoRUZN KSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzCiAgICAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMs IGRlZmluZWQgaW4gSUVFRSBTdGQuIDgwMi4zYWgtMjAwNCwKICAgICAgd2hpY2ggaXMgbm93IGEg cGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4KCiAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJl bmNlcyBhcmUgdXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToKCiAgICAgIFs4MDIuM2Fo XSByZWZlcnMgdG86CiAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0OiAnSUVFRSBTdGFuZGFy ZCBmb3IgSW5mb3JtYXRpb24KICAgICAgICB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25z IGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQogICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2Fs IGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtCiAgICAgICAgU3BlY2lmaWMgcmVxdWly ZW1lbnRzIC0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdp dGggQ29sbGlzaW9uCiAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcgogICAgICAgIFNwZWNpZmljYXRpb25zIC0KICAgICAgICBBbWVuZG1l bnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsCiAgICAgICAgTGF5 ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIgQWNjZXNzCiAgICAg ICAgTmV0d29ya3MnLCAwNyBTZXB0ZW1iZXIgMjAwNC4KCiAgICAgIE9mIHBhcnRpY3VsYXIgaW50 ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGluZwogICAgICBTdWJsYXllciAoUENT KSBhbmQgY29tbW9uIHNwZWNpZmljYXRpb25zLCB0eXBlIDEwUEFTUy1UUyBhbmQKICAgICAgdHlw ZSAyQkFTRS1UTCcsIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsCiAgICAgICdN YW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0IChNRElPKSBJbnRlcmZhY2UnLCBBbm5leCA2MkEs CiAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFTUy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBw cm9maWxlcyBmb3IKICAgICAgMkJBU0UtVEwnLgoKICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoK ICAgICAgICBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1z cGVlZCBEaWdpdGFsCiAgICAgICAgU3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJz JywgRGVjZW1iZXIgMjAwMy4KCiAgICAgIFtBTkZQXSByZWZlcnMgdG86CiAgICAgICAgTklDQyBE b2N1bWVudCBORDE2MDI6MjAwNS8wODogJ1NwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcwogICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uCiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3Vz dCAyMDA1LgoKICAgICAgTmFtaW5nIENvbnZlbnRpb25zOgogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24KICAgICAgICBDTyAgICAtIENlbnRyYWwgT2ZmaWNlCiAgICAgICAgQ1BFICAgLSBDdXN0 b21lciBQcmVtaXNlcyBFcXVpcG1lbnQKICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRoZSBG aXJzdCBNaWxlCiAgICAgICAgRUZNQ3UgLSBFRk0gQ29wcGVyCiAgICAgICAgTURJTyAgLSBNYW5h Z2VtZW50IERhdGEgSW5wdXQvT3V0cHV0CiAgICAgICAgTWduICAgLSBNYXJnaW4KICAgICAgICBQ QUYgICAtIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbgogICAgICAgIFBCTyAgIC0gUG93ZXIgQmFj ay1PZmYKICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcgogICAgICAgIFBN RCAgIC0gUGh5c2ljYWwgTWVkaXVtIERlcGVuZGVudAogICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwgRGVuc2l0eQogICAg ICAgIFNOUiAgIC0gU2lnbmFsIHRvIE5vaXNlIFJhdGlvCiAgICAgICAgVENQQU0gLSBUcmVsbGlz IENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uCgogICAgICBDb3B5cmlnaHQgKEMpIFRo ZSBJRVRGIFRydXN0ICgyMDA3KS4gIFRoaXMgdmVyc2lvbgogICAgICBvZiB0aGlzIE1JQiBtb2R1 bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZDCiAgICAgIGl0c2VsZiBmb3IgZnVs bCBsZWdhbCBub3RpY2VzLiIKCiAgICBSRVZJU0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZl YnJ1YXJ5IDIxLCAyMDA3CiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNo ZWQgYXMgUkZDIFhYWFguIgoKICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUg YWN0dWFsIFJGQyBudW1iZXIgJgogICAgICAtLSByZW1vdmUgdGhpcyBub3RlCiAKICAgIDo6PSB7 IG1pYi0yIFlZWSB9CgogICAgICAtLSBFZE5vdGU6IFJlcGxhY2UgWVlZIHdpdGggYSByZWFsIE9J RCBvbmNlIGl0IGlzCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuCgogICAt LSBTZWN0aW9ucyBvZiB0aGUgbW9kdWxlCgogICBlZm1DdU9iamVjdHMgICAgIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1TUlCIDEgfQoKICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0KCiAgIC0tIEdyb3VwcyBpbiB0aGUgbW9kdWxlCgog ICBlZm1DdVBvcnQgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAx IH0KCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmpl Y3RzIDIgfQoKICAgLS0gVGV4dHVhbCBDb252ZW50aW9ucwoKICAgRWZtUHJvZmlsZUluZGV4IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgImQiCiAgICAgU1RBVFVTICAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVh dGVyIHRoYW4gemVybywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdAogICAgICAg dmFsdWVzIGFyZSBhc3NpZ25lZCBjb250aWd1b3VzbHkgc3RhcnRpbmcgZnJvbSAxLiBUaGUgdmFs dWUKICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3b3Jr IG1hbmFnZW1lbnQgc3lzdGVtCiAgICAgICB0byB0aGUgbmV4dCByZS1pbml0aWFsaXphdGlvbi4i CiAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkKCiAgIEVmbVByb2ZpbGVJbmRl eE9yWmVybyA6Oj0gVEVYVFVBTC1DT05WRU5USU9OCiAgICAgRElTUExBWS1ISU5UICJkIgogICAg IFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRleHR1 YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgRWZtUHJvZmlsZUluZGV4CiAgICAgICBj b252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1 c2VkCiAgICAgICB0byBpZGVudGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1 IHBvcnQuIFRoaXMKICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVl IG9mIHplcm8uIFRoZSB2YWx1ZSBvZgogICAgICAgemVybyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5k IE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydAogICAgICAgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3Qgd2hpY2ggdXNlcyB0aGlzIHN5bnRheC4KICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucwogICAg ICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlzIHVua25vd24uIgogICAgIFNZ TlRBWCAgICAgICBVbnNpZ25lZDMyICgwLi4yNTUpCgogICBFZm1Qcm9maWxlSW5kZXhMaXN0IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgIjFkOiIKICAgICBTVEFUVVMg ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZl bnRpb24gcmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNgogICAgICAgRWZtUHJvZmlsZUluZGV4 J3MsIGFueSBvZiB3aGljaCBjYW4gYmUgY2hvc2VuIGZvcgogICAgICAgY29uZmlndXJhdGlvbiBv ZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBvcnQuIAogICAgICAgVGhlIEVmbVByb2ZpbGVJ bmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5lcyBhIGdyZWF0ZXIgdGhhbgogICAgICAgemVy byB2YWx1ZSB1c2VkIHRvIGlkZW50aWZ5IGEgUE1FIHByb2ZpbGUuCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcgogICAgICAgbW9yZSAo dXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0CiAgICAg ICBFZm1Qcm9maWxlSW5kZXggdmFsdWUuCiAgICAgICBBIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmlu ZyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QKICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVk IGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QKICAgICAgIHdoaWNoIHVz ZXMgdGhpcyBzeW50YXguIEV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB6ZXJvIGxlbmd0aAogICAg ICAgdmFsdWUgbWlnaHQgaW5jbHVkZSBzaXR1YXRpb25zIHdoZXJlIGFuIG9iamVjdCB1c2luZyB0 aGlzCiAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZp YyBFRk1DdSBwb3J0CiAgICAgICB0eXBlLiIKICAgICBTWU5UQVggICAgICAgT0NURVQgU1RSSU5H IChTSVpFKDAuLjYpKQoKICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93biA6Oj0gVEVYVFVBTC1DT05W RU5USU9OCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUgVHJ1dGhWYWx1 ZQogICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEgYm9vbGVhbiB2YWx1ZSB3 aXRoIAogICAgICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlz CiAgICAgICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3du KDApLCB3aGljaAogICAgICAgY2FuIGJlIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIEdFVCBvcGVy YXRpb24sIHdoZW4gYW4gZXhhY3QKICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9i amVjdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC4iCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9CgogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBH cm91cAoKICAgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdVBvcnQgMCB9CiAgIAogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQ RQogICAgIE9CSkVDVFMgewogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUgc2lu Y2Ugd2UgYXJlIHVuZGVyIHNwZWNpZmljIFBDUwogICAgICAgaWZTcGVlZCwKICAgICAgIGVmbUN1 VGhyZXNoTG93UmF0ZQogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJ UFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRUZNQ3Ug cG9ydCcgZGF0YSByYXRlCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2Vl ZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsCiAgICAgICBzcGVjaWZpZWQgYnkgZWZtQ3VUaHJl c2hMb3dSYXRlLgoKICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSB3aGlsZSB0aGUg cG9ydCBpcyB1cCwgb24gdGhlIGNyb3NzaW5nCiAgICAgICBldmVudCBpbiBib3RoIGRpcmVjdGlv bnM6IGZyb20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQogICAgICAgdGhyZXNob2xkKSB0byBs b3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZAogICAgICAgZnJv bSBsb3cgdG8gbm9ybWFsLiBUaGlzIG5vdGlmaWNhdGlvbiBpcyBub3QgYXBwbGljYWJsZSB0bwog ICAgICAgdGhlIC1SIHN1YnR5cGVzLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBz bWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0 ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxl bWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQKICAgICAg IGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgdG8gYmUgc2VudC4KCiAgICAgICBU aGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9y dCB0bwogICAgICAgYWRhcHQgaXRzZWxmIHRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjb3BwZXIgZW52 aXJvbm1lbnQsIGUuZy4KICAgICAgIGFuIGltcHVsc2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBv ciBhIG1pY3JvLWludGVycnVwdGlvbiBtYXkKICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9y IG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsCiAgICAgICBjYXVzaW5nIGEgcmF0 ZSBkZWdyYWRhdGlvbiBvZiB0aGUgYWdncmVnYXRlZCBFRk1DdSBsaW5rLgogICAgICAgVGhlIGRy b3BwZWQgUE1FcyB3b3VsZCB0aGVuIHRyeSB0byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdAog ICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJv dmlkZQogICAgICAgcmVxdWlyZWQgdGFyZ2V0IFNOUiBtYXJnaW4uCgogICAgICAgR2VuZXJhdGlv biBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAKICAgICAgIGVmbUN1 TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Tm90aWZp Y2F0aW9ucyAxIH0KCiAgIC0tIFBDUyBQb3J0IGdyb3VwCgogICBlZm1DdVBvcnRDb25mVGFibGUg T0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIEVG TUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQogICAgICAgUG9ydHMuIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIi CiAgICAgOjo9IHsgZWZtQ3VQb3J0IDEgfQoKICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLgog ICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUg aWZJbmRleC4KICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBv ZiBhIHNpbmdsZQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsg ZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQoKICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQogICAgIFNF UVVFTkNFIHsKICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAgIElOVEVHRVIs CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywKICAg ICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleExpc3Qs CiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVm bUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAgICAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQogICAgIH0KCiAgIGVmbUN1UEFGQWRtaW5T dGF0ZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgIGVuYWJs ZWQoMSksCiAgICAgICBkaXNhYmxlZCgyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQWRt aW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9mIHRoZSBQQUYgb2YgdGhlIEVGTUN1IHBvcnQK ICAgICAgIChQQ1MpLgogICAgICAgV2hlbiAnZGlzYWJsZWQnLCBQTUUgQWdncmVnYXRpb24gd2ls bCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQogICAgICAgUENTLiBObyBtb3JlIHRoYW4gYSBzaW5n bGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0aGlzIFBDUyBpbgogICAgICAgdGhpcyBjYXNlLgog ICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3aWxsIGJlIHBlcmZvcm1lZCBieSB0aGUgUENTIHdo ZW4gdGhlIGxpbmsKICAgICAgIGlzIFVwLCBldmVuIG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwg aWYgUEFGIGlzIHN1cHBvcnRlZC4KCiAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBv cnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHZhbHVlIG9mCiAgICAgICAnZGlzYWJsZWQnLiBBdHRl bXB0cyB0byAnZW5hYmxlJyBzdWNoIHBvcnRzIFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFBB RiAnZW5hYmxlZCcgcG9ydCB3aXRoIG11bHRpcGxlIFBNRXMgYXNzaWduZWQgY2Fubm90IGJlCiAg ICAgICAnZGlzYWJsZWQnLiBBdHRlbXB0cyB0byAnZGlzYWJsZScgc3VjaCBwb3J0IFNIQUxMIGJl IHJlamVjdGVkLAogICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQu CgogICAgICAgQ2hhbmdpbmcgUEFGQWRtaW5TdGF0ZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZSBv cGVyYXRpb24gYW5kCiAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBp cyBEb3duLiBBdHRlbXB0cyB0bwogICAgICAgY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJl amVjdGVkIGlmIHRoZSBsaW5rIGlzIFVwIG9yCiAgICAgICBJbml0aWFsaXppbmcuCgogICAgICAg VGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0 ZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0 IGluIHRoZSAxMFAvMkIgUENTIGNvbnRyb2wKICAgICAgIHJlZ2lzdGVyLgoKICAgICAgIFRoaXMg b2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBS RUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyIKICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgMSB9CgogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgt QUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBFRk1DdSBwb3J0IChQQ1MpLgog ICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1 bmN0aW9uLAogICAgICAgd2hlbiBQQUYgaXMgc3VwcG9ydGVkLgogICAgICAgUENTIHBvcnRzIGlu Y2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB6ZXJvCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4KICAg ICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgZm9y IHN1Y2gKICAgICAgIHBvcnRzLgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50aWF0 ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUKICAgICAgIHdyaXRpbmcgb3BlcmF0aW9u cyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlCiAgICAgICAoU2V0X2lmX0NsZWFy IGFuZCBDbGVhcl9pZl9TYW1lKSBhcmUgcGVyZm9ybWVkIGJ5IFBNRXMKICAgICAgIGFzc29jaWF0 ZWQgd2l0aCB0aGUgUENTLgogICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3Qg Zm9yIC1SIHN1YnR5cGUgcG9ydHMgYWZ0ZXIKICAgICAgIHJlc2V0IGlzIGFsbCB6ZXJvZXMuIEZv ciAtUiBzdWJ0eXBlIHBvcnRzLCB0aGUgdmFsdWUgb2YgdGhpcwogICAgICAgb2JqZWN0IGNhbm5v dCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2VkCiAgICAgICBh cyBhIHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUKICAgICAgIGVmbUN1UEFGUmVt b3RlRGlzY292ZXJ5Q29kZSBvYmplY3Qgb2YgcmVtb3RlIFBNRSBvZiAtTwogICAgICAgc3VidHlw ZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lhdGVkIHdpdGgKICAg ICAgIHRoZSBQQ1MuCgogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhl IGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNU IGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29u c2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemluZy4K CiAgICAgICBUaGUgUEFGIERpc2NvdmVyeSBjb2RlIG1hcHMgdG8gdGhlIGxvY2FsIERpc2NvdmVy eSBjb2RlCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZl IGEgY29ycmVzcG9uZGluZwogICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSwg NDUuMi42LjgsCiAgICAgICA2MUEuMiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMiB9 CgogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXhMaXN0CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlv biBQcm9maWxlKHMpLCBjb21tb24gZm9yIGFsbCBQTUVzIGluIHRoZQogICAgICAgRUZNQ3UgcG9y dC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50ZXJzIHRvIGVudHJpZXMgaW4KICAgICAg IGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yCiAgICAgICBlZm1DdVBtZTEwUFByb2Zp bGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50CiAgICAgICBvcGVyYXRpbmcgU3ViVHlw ZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0ZWQgYnkKICAgICAgIGVmbUN1UG9ydFNpZGUu CiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5k aWNlcyBvZgogICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmds ZSBQcm9maWxlIGluZGV4LAogICAgICAgdGhlbiBhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIEVG TUN1IHBvcnQgU0hBTEwgYmUgY29uZmlndXJlZAogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9m aWxlIHJlZmVyZW5jZWQgYnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0CiAgICAgICBpcyBvdmVyd3Jp dHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLAogICAg ICAgd2hpY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGVmbUN1QWRtaW5Qcm9maWxlLgogICAgICAg VGhlIGxpc3QsIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2gg UE1FCiAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkg UHJvZmlsZQogICAgICAgc3BlY2lmaWVkIGluIHRoZSBsaXN0LgogICAgICAgQnkgZGVmYXVsdCB0 aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QKICAgICAgIGVu dHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUu CgogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8g c3VidHlwZQogICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQg aXMgaXJyZWxldmFudCBmb3IKICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEw UGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJvCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZAogICAgICAgdGhpcyBvYmplY3QgYW5k IGFuIGF0dGVtcHQgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgIHJlamVjdGVk IGluIHRoaXMgY2FzZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9m aWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2aWEKICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2Jq ZWN0LgoKICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1l ZCB3aGVuIHRoZSBsaW5rIGlzCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBv YmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlCiAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRp YWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0 aCBhIG1lbWJlcgogICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRoZSB2YWx1ZSBvZiB0aGUgaW5k ZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmls ZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1h aW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAi WzgwMi4zYWhdIDMwLjExLjIuMS42IgogICAgIERFRlZBTCB7ICcwMSdIIH0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMyB9CgogICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwfDk5OTk5OSkKICAgICBVTklU UyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRGVzaXJlZCBFRk1DdSBwb3J0ICdu ZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbgogICAgICAgS2JwcywgdG8gYmUg YWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1bmRlciBzcGVjdHJhbAogICAgICAgcmVz dHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAg ICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRoIHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3Bl Y2lmaWVkIGJ5CiAgICAgICBlZm1DdVRhcmdldFNuck1nbi4KICAgICAgIEluIGNhc2Ugb2YgUEFG LCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2aWR1YWwgUE1FCiAgICAgICBk YXRhIHJhdGVzLCBtb2RpZmllZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZAog ICAgICAgNjQvNjVCIGZyYW1pbmcgb3ZlcmhlYWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAx ME1icHMKICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRyYW5zbWlzc2lvbiBvZiBmdWxsLWR1 cGxleCAxME1icHMKICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50 ZXItZnJhbWUgZ2FwKS4KCiAgICAgICBUaGUgdmFsdWUgaXMgbGltaXRlZCBhYm92ZSBieSAxMDBN YnBzIGFzIHRoaXMgaXMgdGhlIG1heAogICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZvciBF Rk1DdSBwb3J0cy4KCiAgICAgICBUaGUgdmFsdWUgYmV0d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNh dGVzIHRoYXQgdGhlIHRvdGFsIGRhdGEKICAgICAgIHJhdGUgKGlmU3BlZWQpIG9mIHRoZSBFRk1D dSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMCiAgICAgICBiZSBlcXVhbCB0byB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGEKICAgICAgIHJhdGUg Y2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNwZWN0cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQK ICAgICAgIGJ5IGVmbUN1QWRtaW5Qcm9maWxlL2VmbUN1UG1lQWRtaW5Qcm9maWxlIGFuZCB3aXRo IGRlc2lyZWQgU05SCiAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVu dCBhbGxvd3MgdG8gYWNoaWV2ZQogICAgICAgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRo YXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJnZXQsIHRoZQogICAgICAgZXhjZXNzIGNhcGFiaWxpdHkg U0hBTEwgYmUgZWl0aGVyIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUgogICAgICAgbWFyZ2lu IG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQK ICAgICAgIGJ5IGVmbUN1QWRhcHRpdmVTcGVjdHJhLgoKICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5 OTkgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QKICAgICAgIGZpeGVkIGFu ZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZwogICAg ICAgaW5pdGlhbGl6YXRpb24gKEJlc3QgRWZmb3J0KSwgdW5kZXIgc3BlY2lmaWVkIHNwZWN0cmFs CiAgICAgICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLgoKICAgICAg IFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRz CiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUg LVIgc3VidHlwZXMuCiAgICAgICAKICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgRGF0YSBS YXRlIE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVt cHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkCiAgICAgICAoaW4gY2Fz ZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlCiAgICAg ICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBE YXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQKICAgICAgIGJ5IGlmU3Bl ZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDQgfQoKICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg VW5zaWduZWQzMigwLi4yMSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQ TUVzCiAgICAgICBhc3NpZ25lZCB0byB0aGUgcG9ydCwgZHVyaW5nIGluaXRpYWxpemlhdGlvbi4g KFRoZSBTTlIgbWFyZ2luCiAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNp cmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLgoKICAgICAgIE5vdGUgdGhhdCA4MDIuM2FoIHJl Y29tbWVuZHMgdXNpbmcgZGVmYXVsdCBUYXJnZXQgU05SIE1hcmdpbgogICAgICAgb2YgNWRCIGZv ciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3JkZXIKICAg ICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUg UE1BCiAgICAgICBzZXJ2aWNlIGludGVyZmFjZS4KCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFk LXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8x MFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLgogICAgICAg CiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4gTVVTVCBiZSBwZXJmb3Jt ZWQgd2hlbiB0aGUKICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMg b2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQKICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUg ZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUKICAgICAgIGxpbmsgaXMgVXAgb3IgSW5p dGlhbGl6aW5nLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBN RXMgY29tcHJpc2luZyB0aGUgRUZNQ3UKICAgICAgIHBvcnQgaXMgcmVwcmVzZW50ZWQgYnkgZWZt Q3VQbWVTbnJNZ24uCgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4x LjIiCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQoKICAgZWZtQ3VBZGFwdGl2ZVNw ZWN0cmEgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJJbmRpY2F0ZXMgaG93IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4g dGhlIGNvcHBlcgogICAgICAgZW52aXJvbm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRv dGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQKICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJn ZXREYXRhUmF0ZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRo YXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlCiAgICAgICByZWNsYWltZWQgYnkgbWlu aW1pemluZyB0cmFuc21pdCBwb3dlciwgZS5nLiB1c2luZyBoaWdoZXIKICAgICAgIGNvbnN0ZWxs YXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgICBpbnRl cmZlcmVuY2UgdG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZSAKICAg ICAgIGFkdmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLgogICAgICAgCiAg ICAgICBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXNzIGNhcGFiaWxp dHkgU0hBTEwKICAgICAgIGJlIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5k IHNwcmVhZCBldmVubHkgYWNyb3NzCiAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsKICAgICAgIHJvYnVzdG5lc3MuCgogICAg ICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9y dHMKICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRo ZSAtUiBzdWJ0eXBlcy4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVT VCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2UKICAgICAgIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcAog ICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNiB9CgogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJh dGUgY3Jvc3NpbmcgYWxhcm0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1 ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQKICAgICAgIHJlYWNoZXMvZHJvcHMgYmVsb3cgb3Ig ZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYW4KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5v dGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQKICAgICAgIGJ5IGVmbUN1TG93 UmF0ZUNyb3NzaW5nRW5hYmxlLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9y IHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgVGhpcyBvYmpl Y3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBP QkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9ucyBz aG91bGQKICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCiAgICAgICAgCiAg ICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5n CiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNh dGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuCgogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMKICAg ICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBz dWJ0eXBlcy4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDggfQoKCiAgIGVm bUN1UG9ydENhcGFiaWxpdHlUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi VGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykK ICAgICAgIFBvcnRzLiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEKICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIgogICAgIDo6PSB7IGVmbUN1UG9ydCAyIH0KCiAg IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkg aW4gdGhlIEVGTUN1IFBvcnQgQ2FwYWJpbGl0eSB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVw cmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3Rl IHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9y IG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgu IgogICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAg ICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICAgICAgICAgICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93 biwKICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgICAgICAgICAgICBVbnNpZ25lZDMyCiAgICAgfQoK ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBD YXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0CiAgICAgICAoUENTKS4KICAgICAgIFRoaXMgb2Jq ZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgUENTIGNhbiBwZXJmb3JtCiAgICAg ICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLgogICAgICAgUG9ydHMgaW5j YXBhYmxlIG9mIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBvZiBmYWxzZSgyKS4KCiAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu CgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVz ZW50LAogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJp dCBpbiB0aGUKICAgICAgIDEwUC8yQiBjYXBhYmlsaXR5IHJlZ2lzdGVyLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDEgfQoKICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVRydXRoVmFsdWVPclVua25v d24KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgQ2Fw YWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgKFBDUykgbGluayBwYXJ0bmVyLgogICAg ICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSByZW1vdGUgUENT IGNhbgogICAgICAgcGVyZm9ybSBQTUUgYWdncmVnYXRpb24gb24gaXRzIGF2YWlsYWJsZSBQTUVz LgogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJl dHVybiBhIHZhbHVlCiAgICAgICBvZiBmYWxzZSgyKS4KICAgICAgIFBvcnRzIHdob3NlIHBlZXJz IGNhbm5vdCBiZSByZWFjaGVkIGJlY2F1c2Ugb2YgdGhlIGxpbmsKICAgICAgIHN0YXRlLCBTSEFM TCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLgoKICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuCgog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRl ZCBiaXQgaW4gdGhlCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iCiAgICAgUkVG RVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4y IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0KCiAgIGVmbUN1UEFGQ2Fw YWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERF U0NSSVBUSU9OCiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBjYW4gYmUgYWdncmVnYXRlZCBi eSB0aGUgbG9jYWwgUEFGLgogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3Np Z25lZCB0byBhIHBhcnRpY3VsYXIKICAgICAgIEVGTUN1IHBvcnQgKGVmbUN1TnVtUE1FcykgaXMg bmV2ZXIgZ3JlYXRlciB0aGFuCiAgICAgICBlZm1DdVBBRkNhcGFjaXR5LgoKICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFMb2NhbFBBRkNh cGFjaXR5LiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNiIKICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMyB9CgogICBlZm1DdVBl ZXJQQUZDYXBhY2l0eSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw fDEuLjMyKQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFn Z3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcgogICAgICAgUGh5IChQQ1MgcG9ydCkuCiAg ICAgICBWYWx1ZSBvZiAwIGlzIHJldHVybmVkIHdoZW4gcGVlciBQQUYgQ2FwYWNpdHkgaXMgdW5r bm93bgogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLgoKICAgICAgIFRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0 eS4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjEw IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0KCgogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRhYmxlIHByb3Zp ZGVzIG92ZXJhbGwgc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8x MFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzCiAgICAgICBp bmZvcm1hdGlvbiBmcm9tIHRoZSBpZlRhYmxlIG9mIElGLU1JQiBhbmQgaWZNYXVUYWJsZSBvZgog ICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3JtYXRpb24gYWJvdXQgY29ubmVj dGVkIFBNRXMKICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuCgog ICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBB cyBzdWNoLAogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG9y dCAzIH0KCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVwcmVz ZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3RlIHRo YXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9yIG11 bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXguIgog ICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c1RhYmxlIDEg fQoKICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9CiAgICAgU0VRVUVOQ0UgewogICAgICAgZWZt Q3VGbHRTdGF0dXMgICAgICAgICAgICAgICAgICAgQklUUywKICAgICAgIGVmbUN1UG9ydFNpZGUg ICAgICAgICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgICBlZm1DdU51bVBNRXMgICAgICAgICAg ICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAg ICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAg Q291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzICAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMyLAog ICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLAogICAgICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQ QUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbk92 ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyCiAgICAgfQoKICAgZWZtQ3VGbHRTdGF0dXMg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQklUUyB7CiAgICAgICBub1BlZXIoMCksCiAg ICAgICBwZWVyUG93ZXJMb3NzKDEpLAogICAgICAgcG1lU3ViVHlwZU1pc21hdGNoKDIpLAogICAg ICAgbG93UmF0ZSgzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk1DdSAoUENTKSBwb3J0 IEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3NzaWJsZQogICAgICAgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6CiAgICAgICAgIG5vUGVlciAgICAg ICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbm8gUE1FcyBhdHRhY2hlZCwgYWxsIFBNRXMgYXJlIERvd24KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0Yy4pIE1vcmUgaW5mbyBpcyBhdmFpbGFibGUg aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLgogICAg ICAgICBwZWVyUG93ZXJMb3NzICAgICAgIC0gcGVlciBQSFkgaGFzIGluZGljYXRlZCBpbXBlbmRp bmcgdW5pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSBkdWUgdG8gbG9z cyBvZiBsb2NhbCBwb3dlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBH YXNwJykuCiAgICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCAgLSBsb2NhbCBQTUVzIGluIHRoZSBh Z2dyZWdhdGlvbiBncm91cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIG5vdCBv ZiB0aGUgc2FtZSBzdWItdHlwZSwgZS5nLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aGlsZSBvdGhlcnMgYXJlIC1SIHN1YnR5cGUuCiAgICAgICAgIGxvd1JhdGUg ICAgICAgICAgICAgLSBpZlNwZWVkIG9mIHRoZSBwb3J0IHJlYWNoZWQgb3IgZHJvcHBlZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlCgogICAg ICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgb2Jq ZWN0CiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4K CiAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSB2aWEgZWZtQ3VQbWVG bHRTdGF0dXMKICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdy b3VwIChzaW5nbGUgUE1FIGlmCiAgICAgICBQQUYgaXMgZGlzYWJsZWQpLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWls YWJsZTsKICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0 dXNFbnRyeSAxIH0KCiAgIGVmbUN1UG9ydFNpZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBzdWJzY3JpYmVyKDEpLAogICAgICAgb2ZmaWNlKDIpLAogICAg ICAgdW5rbm93bigzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk0gcG9ydCBtb2RlIG9m IG9wZXJhdGlvbiAoc3VidHlwZSkuCiAgICAgICBUaGUgdmFsdWUgb2YgJ3N1YnNjcmliZXInIGlu ZGljYXRlcyB0aGUgcG9ydCBpcyBkZXNpZ25hdGVkIGFzCiAgICAgICAnLVInIHN1YnR5cGUgKGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQogICAgICAgJy1SJyku CiAgICAgICBUaGUgdmFsdWUgb2YgdGhlICdvZmZpY2UnIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0 IGlzCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQg dG8gdGhpcyBwb3J0IGFyZQogICAgICAgb2Ygc3VidHlwZSAnLU8nKS4KICAgICAgIFRoZSB2YWx1 ZSBvZiAndW5rbm93bicgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaGFzIG5vIGFzc2lnbmVkCiAg ICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNh bWUgc2lkZQogICAgICAgKHN1YlR5cGVQTUVNaXNtYXRjaCkuCgogICAgICAgVGhpcyBvYmplY3Qg cGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQaHlFbmQi CiAgICAgUkVGRVJFTkNFCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiIKICAg ICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0KCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgwLi4zMikKICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGlzIGN1cnJlbnRseSBhZ2dyZWdhdGVkIGJ5IHRoZSBs b2NhbCBQQUYKICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNr VGFibGUpLgogICAgICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFG Q2FwYWNpdHkuCgogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZAogICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxl dGVkIHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcKICAgICAgIGlmU3RhY2tUYWJsZS4iCiAg ICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMyB9CgogICBlZm1DdVBBRkluRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUKICAg ICAgIGdhbW1hIGludGVyZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuCiAg ICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIChub3QgaW5jcmVtZW50ZWQp IHdoZW4gdGhlCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlz YWJsaW5nIHRoZSBQQUYsIHRoZQogICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2 YWx1ZS4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAv MkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUg dmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRp b24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFz IGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMy4yMSIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0KCiAgIGVmbUN1 UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIz MgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4g bWluRnJhZ21lbnRTaXplCiAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAg ICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KICAgICAgIAogICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVu CiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIHNtYWxsIGZyYWdtZW50 cwogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBv ZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0 aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4z LjIyIgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQQUZJbkxh cmdlRnJhZ21lbnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFuIG1heEZyYWdt ZW50U2l6ZQogICAgICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jv c3MgdGhlIGdhbW1hCiAgICAgICBpbnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4KICAgICAgIFRoaXMg cmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1 cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIK ICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzCiAgICAg ICByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5h Z2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBp biBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9CgogICBlZm1DdVBBRkluQmFkRnJhZ21l bnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgc2Vx dWVuY2UKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhh dCBoYXZlIGJlZW4KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFu ZCBkaXNjYXJkZWQgKHRoZQogICAgICAgZnJhbWUgYnVmZmVyIGlzIGZsdXNoZWQgdG8gdGhlIG5l eHQgdmFsaWQgZnJhbWUgc3RhcnQpLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBp bmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJl dmlvdXMgdmFsdWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzCiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgNyB9CgogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGdhcHMg aW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdtZW50cywgd2hpY2ggaGF2ZQogICAgICAgYmVlbiByZWNl aXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBpcwogICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiBp cy9hcmUgbm90IHJlY2VpdmVkKS4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5h Y3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBv biBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZp b3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI2IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDggfQoKICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0 YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUKICAgICAgIGZyYW1lIGFzc2Vt Ymx5IGZ1bmN0aW9uLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3 aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFs dWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ Q1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50CiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgOSB9CgogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIEVu ZE9mUGFja2V0IGluZGljYXRvcnMgZXhwZWN0ZWQgYnkgdGhlCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hl biB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxp bmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl LgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENT IGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDEwIH0KCiAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMs IHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlCiAgICAgICBhbmQgZGlzY2FyZGVk LCB3aGljaCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkKICAgICAgIGJ1ZmZl ciB0byBvdmVyZmxvdy4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUg d2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNh YmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgb3ZlcmZsb3cgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2 YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlv biBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjI0IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDExIH0KCiAgLS0gUE1F IE5vdGlmaWNhdGlvbnMgR3JvdXAKCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdVBtZSAwIH0KICAgCiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5n IE5PVElGSUNBVElPTi1UWVBFCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1DdVBtZUxpbmVBdG4s CiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4KICAgICB9CiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVz IHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24KICAgICAgIHRocmVzaG9sZCAoYXMgcGVyIHRoZSBl Zm1DdVBtZVRocmVzaExpbmVBdG4KICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2Vl ZGVkIGZvciB0aGUgMkJBU0UtVEwvMTBQQVNTLVRTCiAgICAgICBQTUUuIFRoaXMgbm90aWZpY2F0 aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbgogICAgICAgYm90aCBkaXJl Y3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBhbmQgZnJvbSBleGNlZWRlZAogICAgICAg dG8gbm9ybWFsLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5j aW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRo ZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHBy ZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUKICAgICAgIHNlbnQuCgogICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAK ICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQoKICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAg ICBlZm1DdVBtZVRocmVzaFNuck1nbgogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0 aGUgU05SIG1hcmdpbiB0aHJlc2hvbGQKICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbgogICAgICAgcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJC QVNFLVRMLzEwUEFTUy1UUyBQTUUuCiAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2Vu ZCBvbiB0aGUgY3Jvc3NpbmcgZXZlbnQgaW4KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBu b3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQKICAgICAgIHRvIG5vcm1hbC4KCiAg ICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2Yg Mi41IHNlYywKICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlCiAgICAgICBzZW50LgoKICAgICAgIEdlbmVyYXRpb24g b2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmlj YXRpb25zIDIgfQoKICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5k aWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoKICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVO b3RpZmljYXRpb25zIDMgfQoKICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBOT1RJRklDQVRJ T04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBl Zm1DdUFkbWluUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlCiAgICAgfQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgbm90aWZp Y2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMKICAgICAgIGZhaWxl ZCwgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8gYWNoaWV2ZSByZXF1ZXN0ZWQK ICAgICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4KCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMg bm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIAogICAgICAgZWZtQ3VQbWVDb25maWdJ bml0RmFpbEVuYWJsZSBvYmplY3QuIgogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0 IH0KCiAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZSBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBlZm1DdVBtZU9wZXJT dWJUeXBlCiAgICAgfQogICAgIFNUQVRVUyAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5n CiAgICAgICBpbmNvbXBhdGlibGUgcHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLgoKICAg ICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUg CiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0g eyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgNSB9CgogICAtLSBUaGUgUE1FIGdyb3VwCgogICBlZm1D dVBtZUNvbmZUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUYWJsZSBmb3IgQ29uZmln dXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgIDJCQVNFLVRMLzEwUEFT Uy1UUyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgcmVw cmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUK ICAgICAgIHJlc3BlY3RpdmVseS4KCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBi ZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgbWFubmVyLiIKICAgICA6Oj0geyBl Zm1DdVBtZSAxIH0KCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkg cmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydAogICAgICAgaW5k ZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQog ICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlm SW5kZXgsCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQ QUYgaXMgZW5hYmxlZC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQ bWVDb25mVGFibGUgMSB9CgogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8sCiAgICAg ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgZWZtQ3VQbWVUaHJl c2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBUcnV0aFZhbHVlLAogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJs ZSAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1 dGhWYWx1ZSwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgICBUcnV0aFZhbHVl LAogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlIFRydXRoVmFsdWUKICAgICB9 CgogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsKICAgICAgIGllZWUyQmFzZVRMTygxKSwKICAgICAgIGllZWUyQmFzZVRMUigyKSwK ICAgICAgIGllZWUxMFBhc3NUU08oMyksCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwKICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08o NiksCiAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgfQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAg ICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAg LSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8gCiAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PIAogICAg ICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNz VFMtUiAKICAgICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRl IGFzIDJCYXNlVEwtUiBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNldCBieSAtTyBsaW5rIHBhcnRuZXIgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4KICAgICAgICAgaWVlZTJCYXNl VExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJp bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVu ZGluZyBvbiAtUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVy IGNhcGFiaWxpdHkgKGkuZS4gaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVzZWQpLgogICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0g UE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5l LiBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9m IHRoZSBwcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RT IG1vZGUsIDJCYXNlVEwgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dXNlZCkuCiAgICAgICAKICAgICAgIENoYW5naW5nIGVmbUN1UG1lQWRtaW5TdWJUeXBlIGlzIGEg dHJhZmZpYyBkaXNydXB0aXZlCiAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsKICAgICAgIGlzIFVwIG9yIElu aXRpYWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCB0byBhbiB1 bnN1cHBvcnRlZCBzdWJ0eXBlCiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQp IFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIHN1YiB0 eXBlIGlzIGluZGljYXRlZCBieQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSB2YXJpYWJsZS4K CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBw cmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBv cnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMKICAgICAgIGFuZCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVj dGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRAogICAgICAgY29udHJvbCByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIu MS4xMS43IgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQoKICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3Ja ZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmls ZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyCiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIg ZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcgogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUs IGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBvcGVyYXRpbmcKICAgICAgIFN1YlR5cGUgb2YgdGhl IFBNRS4gVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZgogICAgICAgdGhl IHJlZmVyZW5jZWQgcHJvZmlsZS4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBp bmRpY2F0ZXMgdGhhdCB0aGUgUE1FIGlzCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvYmplY3QgZm9yIHRoZSBQQ1MgcG9ydCwKICAgICAgIHRvIHdoaWNoIHRoaXMgUE1F IGlzIGFzc2lnbmVkLiBUaGF0IGlzLCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkCiAgICAgICBieSBl Zm1DdVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykK ICAgICAgIHJlZmVyZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuCgogICAgICAgVGhpcyBvYmpl Y3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVzCiAgICAg ICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BF IAogICAgICAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVl IFNIQUxMIGJlCiAgICAgICByZXR1cm5lZCBvbiBhbiBhdHRlbXB0IHRvIHJlYWQgdGhpcyBvYmpl Y3QgYW5kIGFueSBhdHRlbXB0CiAgICAgICB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSBy ZWplY3RlZCBpbiB0aGlzIGNhc2UuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9u YWwgUHJvZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhCiAgICAgICBlZm1DdVBtZU9wZXJQcm9m aWxlIG9iamVjdC4KCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2 YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUKICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0 aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUKICAgICAgIHRhYmxlLCBNVVNU IGJlIHJlamVjdGVkLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4x LjYiCiAgICAgREVGVkFMIHsgMCB9CiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMiB9Cgog ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUEFGIFJlbW90 ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgUE1FIHBvcnQgYXQgQ08uIAogICAgICAgQSA2IG9jdGV0 IGxvbmcgRGlzY292ZXJ5IENvZGUgb2YgdGhlIHBlZXIgUENTIGNvbm5lY3RlZCB2aWEKICAgICAg IHRoZSBQTUUuCiAgICAgICBSZWFkaW5nIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3Zl cnkgR2V0IG9wZXJhdGlvbi4gCiAgICAgICBTZXR0aW5nIHRoaXMgb2JqZWN0IHRvIGFsbCB6ZXJv ZXMgcmVzdWx0cyBpbiBhIERpc2NvdmVyeQogICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24g KHRoZSB2YWx1ZSBvZiBlZm1DdVBBRkRpc2NvdmVyeUNvZGUKICAgICAgIGF0IHRoZSBwZWVyIFBD UyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YKICAgICAgIHRo ZSBsb2NhbCBQQ1MgYXNzb2NpYXRlZCB3aXRoIHRoZSBQTUUgZm9yIHRoZSBvcGVyYXRpb24gdG8K ICAgICAgIHN1Y2NlZWQpLgogICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMg b2JqZWN0IHJlc3VsdHMgaW4gYQogICAgICAgRGlzY292ZXJ5IFNldF9pZl9DbGVhciBvcGVyYXRp b24uCiAgICAgICBBIHplcm8tbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBv biBhbiBhdHRlbXB0IHRvCiAgICAgICByZWFkIHRoaXMgb2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0 aW9uIGlzIG5vdCBlbmFibGVkLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgaW4g Q1BFIHBvcnQgKC1SKSBzdWJ0eXBlczogaW4gdGhpcwogICAgICAgY2FzZSBhIHplcm8gbGVuZ3Ro IG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbgogICAgICAgYXR0ZW1wdCB0byBy ZWFkIHRoaXMgb2JqZWN0LCB3cml0aW5nIHRvIHRoaXMgb2JqZWN0IFNIQUxMCiAgICAgICBiZSBy ZWplY3RlZC4KICAgICAgIAogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBN VVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGlu Y29uc2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemlu Zy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN QS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgaXMgYSBmdW5jdGlvbiBv ZiAxMFAvMkIgYWdncmVnYXRpb24gZGlzY292ZXJ5CiAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBE aXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQgogICAgICAgYWdncmVnYXRp b24gYW5kIGRpc2NvdmVyeSBzdGF0dXMgcmVnaXN0ZXIgYW5kCiAgICAgICAxMFAvMkIgYWdncmVn YXRpb24gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgw Mi4zYWhdIDYxLjIuMi44LjQsIDQ1LjIuNi42LTQ1LjIuNi44IgogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDMgfQoKICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIkRlc2lyZWQgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgbGluZSBhdHRl bnVhdGlvbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9m IExpbmUgQXR0ZW51YXRpb24gcmVhY2hlcyBvcgogICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9s ZCwgYSBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZwogICAgICAgbm90aWZpY2F0aW9uIE1BWSBiZSBn ZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1 YnR5cGUgUE1FcyAoLU8pLgogICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUgKC1SKS4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24g VGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkCiAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlCiAgICAgICByZWplY3RlZCAo aW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwKICAgICAg IGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KICAgICAgICAKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0 cyBpbgogICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2IgogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDQgfQoKICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAi ZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9y IHRoZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgU05SIG1h cmdpbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNO UiBNYXJnaW4gcmVhY2hlcyBvciBleGNlZWRzIHRoaXMKICAgICAgIHRocmVzaG9sZCwgYSBlZm1D dVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUKICAgICAgIGdlbmVyYXRlZCwg aWYgZW5hYmxlZCBieSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlLgogICAgICAgCiAgICAg ICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1FcwogICAgICAg KDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUKICAgICAgICgyQmFzZVRMLVIvMTBQYXNzVFMtUikuCiAgICAgICAKICAgICAgIENoYW5naW5n IG9mIHRoZSBTTlIgTWFyZ2luIFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuCiAgICAg ICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBi ZQogICAgICAgcmVqZWN0ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNp c3RlbnRWYWx1ZSksCiAgICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCiAg ICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlz IHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4g dGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4zNiIK ICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA1IH0KCiAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcg bm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZh Y2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1 UG1lTGluZUF0bkNyb3NzaW5nCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUg b2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlz YWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDYgfQoKICAgZWZtQ3VQbWVTbnJN Z25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVl CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jv c3Npbmcgbm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBp bnRlcmZhY2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0 IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcKICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBW YWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBp cyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9CgogICBlZm1DdVBt ZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFs dWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVEZXZpY2VG YXVsdCBub3RpZmljYXRpb25zCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGlu dGVyZmFjZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVEZXZpY2VGYXVsdAogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVl IG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRp c2FibGVkLiIKICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA4IH0KCiAgIGVmbUN1UG1lQ29u ZmlnSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1 ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRo aXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMg dGhhdCBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5h YmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmlj YXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDkgfQoKICAg ZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZt Q3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1 ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUKICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAog ICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMTAgfQoKCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkKICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1vbiBhc3Bl Y3RzIGZvciBFRk1DdQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1z KS4gQ29uZmlndXJhdGlvbiBvZgogICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBv ciAxMFBBU1MtVFMgUE1FIHR5cGVzIGlzCiAgICAgICByZXByZXNlbnRlZCBpbiBlZm1DdVBtZTJC Q29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQogICAgICAgcmVzcGVjdGl2ZWx5LgoK ICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50CiAgICAgICBtYW5uZXIuIgogICAgIDo6PSB7IGVmbUN1UG1lIDIgfQoKICAgZWZtQ3VQ bWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZUNh cGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVG TUN1IFBNRSBDYXBhYmlsaXR5IHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNv bW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBp ZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAg IHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVk LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsK ICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMKICAgICB9CgogICBlZm1D dVBtZVN1YlR5cGVzU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEJJVFMg ewogICAgICAgaWVlZTJCYXNlVExPKDApLAogICAgICAgaWVlZTJCYXNlVExSKDEpLAogICAgICAg aWVlZTEwUGFzc1RTTygyKSwKICAgICAgIGllZWUxMFBhc3NUU1IoMykKICAgICB9CiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUE1FIHN1cHBvcnRlZCBzdWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2Yg cG9zc2libGUKICAgICAgIHN1Yi10eXBlcy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6 ICAgIAogICAgICAgICBpZWVlMkJhc2VUTE8gICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRp bmcgYXMgMkJhc2VUTC1PCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxl IG9mIG9wZXJhdGluZyBhcyAyQmFzZVRMLVIKICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1F IGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8KICAgICAgICAgaWVlZTEwUGFz c1RTUiAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLVIKICAgICAg IAogICAgICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5CiAg ICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZs ZWN0cyB0aGUKICAgICAgIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUuCiAgICAgICAgCiAgICAgICBJ ZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4g dGhpcwogICAgICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJB U0UtVEwgY2FwYWJsZQogICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlCiAgICAgICBDTyBzdXBwb3J0ZWQgYW5kIENQRSBzdXBwb3J0 ZWQgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQKICAgICAgIHN0YXR1cyByZWdpc3RlciIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjQuMSwgNDUuMi4xLjQu MiwgNDUuMi4xLjEyLjIsCiAgICAgICA0NS4yLjEuMTIuMyIKICAgICA6Oj0geyBlZm1DdVBtZUNh cGFiaWxpdHlFbnRyeSAxIH0KCgogICBlZm1DdVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVTdGF0dXNFbnRyeQogICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGluZm9ybWF0 aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMg aW5mb3JtYXRpb24gc3BlY2lmaWMKICAgICAgIHRvIDEwUEFTUy1UUyBQTUUgaXMgcmVwcmVzZW50 ZWQgaW4gZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZS4KICAgICAgIAogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLAogICAgICAgaXQg aXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG1lIDMgfQoKICAgZWZtQ3VQbWVT dGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3RhdHVzRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3Rh dHVzIHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9m IGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRo YXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xl IFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAgIHBvc3NpYmx5IHRvZ2V0 aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiIKICAgICBJTkRFWCAg eyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQoKICAgRWZtQ3VQ bWVTdGF0dXNFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZU9wZXJTdGF0 dXMgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAgICAgICAg ICAgQklUUywKICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsCiAg ICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8s CiAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBl Zm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUxp bmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRu ICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyCiAgICAg fQoKICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElO VEVHRVIgewogICAgICAgdXAoMSksCiAgICAgICBkb3duTm90UmVhZHkoMiksCiAgICAgICBkb3du UmVhZHkoMyksCiAgICAgICBpbml0KDQpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJl bnQgUE1FIGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAg ICAgICB1cCgxKSAgICAgICAgICAgLSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1 QgogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMu CiAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2Vz IG5vdCBkZXRlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRvbmVzIGZy b20gaXRzIHBlZXIuIFRoaXMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGlu ZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoZSBwZWVyIFBNRS4KICAgICAgICAgZG93blJlYWR5KDMpICAgIC0gbGluayBpcyBEb3duIGFu ZCB0aGUgUE1FIGRldGVjdHMgSGFuZHNoYWtlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv bmVzIGZyb20gaXRzIHBlZXIuCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5p dGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZkFk bWluU3RhdHVzIGJlaW5nIHNldCB0byAndXAnIGZvciBhCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRoZSBQTUUgaXMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRl bmRlZCB0byBzdXBwbGVtZW50IERvd24gc3RhdGUgb2YgCiAgICAgICBpZk9wZXJTdGF0dXMuCiAg ICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMw IGF0dHJpYnV0ZQogICAgICAgYVBNRVN0YXR1cy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAg IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4gMTBQ LzJCCiAgICAgICBQTUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAg ICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4yLjEuMTIuNCIKICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDEgfQoKICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgQklUUyB7CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLAogICAgICAgc25yTWdu RGVmZWN0KDEpLAogICAgICAgbGluZUF0bkRlZmVjdCgyKSwKICAgICAgIGRldmljZUZhdWx0KDMp LAogICAgICAgY29uZmlnSW5pdEZhaWx1cmUoNCksCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJl KDUpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGluayBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YKICAgICAgIHBvc3NpYmxlIGNvbmRpdGlvbnMu IFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgoKICAgICAgICAgbG9zc09mRnJhbWluZyAg ICAgICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb3NzIG9mIFN5bmMgd29yZCBmb3IgMkIgUE1EIG9yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nCiAgICAgICAgIHNuck1nbkRlZmVj dCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZAogICAgICAg ICBsaW5lQXRuRGVmZWN0ICAgICAgIC0gTGluZSBBdHRlbnVhdGlvbiBleGNlZWRzIHRoZSBUaHJl c2hvbGQKICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRvci1k ZXBlbmRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMgb3Igc2Vs Zi10ZXN0IGZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVlbiBkZXRl Y3RlZC4KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24gaW5pdGlh bGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBp bmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdXBwb3J0IGNvbmZpZ3VyYXRpb24gcHJvZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCiAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHVlIHRvIGluY29tcGF0aWJsZSBwcm90b2NvbCB1c2VkIGJ5 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVyaW5nIGluaXQg KHRoYXQgY291bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBl ZXIgUE1EIGlzIGEgcmVndWxhciAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RI U0wvVkRTTCBtb2RlbSBpbnN0ZWFkIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp bnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJRi1NSUIuCiAgICAgICAKICAg ICAgIFRoaXMgb2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lgog ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgaXMgY2xlYXJlZCBieSB0aGUgZGV2aWNlIHJlc3RhcnQu CiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJbml0RmFpbHVyZSBhbmQK ICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuCiAgICAg ICBkZXZpY2VGYXVsdCBpcyBjbGVhcmVkIGJ5IHN1Y2Nlc3NmdWwgZGlhZ25vc3RpY3MvdGVzdC4K ICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBhcmUgY2xlYXJlZCBieSBTTlIg TWFyZ2luCiAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJuaW5n IHRvIG5vcm0gYW5kIGJ5CiAgICAgICBQTUUgaW5pdC4KIAogICAgICAgVGhpcyBvYmplY3QgcGFy dGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQTUVTdGF0dXMu CiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgY29uc29saWRhdGVzIGluZm9ybWF0 aW9uIGZyb20gdmFyaW91cyBQTUEvUE1ECiAgICAgICByZWdpc3RlcnMsIG5hbWVseTogRmF1bHQg Yml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsCiAgICAgICAxMFAvMkIgUE1BL1BNRCBs aW5rIGxvc3MgcmVnaXN0ZXIsCiAgICAgICAxMFAgb3V0Z29pbmcgaW5kaWNhdG9yIGJpdHMgc3Rh dHVzIHJlZ2lzdGVyLAogICAgICAgMTBQIGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyBy ZWdpc3RlciwKICAgICAgIDJCIHN0YXRlIGRlZmVjdHMgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LAog ICAgICAgNDUuMi4xLjM5LCA0NS4yLjEuNTQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRy eSAyIH0KCiAgIGVmbUN1UG1lT3BlclN1YlR5cGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBpZWVlMkJhc2VUTE8oMSksCiAgICAgICBpZWVlMkJhc2VUTFIo MiksCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLAogICAgICAgaWVlZTEwUGFzc1RTUig0KQogICAg IH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRo ZSBQTUUuCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICBpZWVlMkJhc2VUTE8g ICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtTyAKICAgICAgICAgaWVlZTJCYXNl VExSICAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtTyAKICAgICAgICAg aWVlZTEwUGFzc1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SIAogICAg ICAgCiAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29u ZmlndXJlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLgoKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQs IHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWIt dHlwZSBzZWxlY3QKICAgICAgIGJpdHMsIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMg aW4gdGhlIDEwUC8yQiAKICAgICAgIFBNQS9QTUQgY29udHJvbCByZWdpc3RlciBhbmQgdGhlIFBN QS9QTUQgbGluayBzdGF0dXMgYml0cyBpbgogICAgICAgdGhlIDEwUC8yQiBQTUEvUE1EIHN0YXR1 cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS4xMS40LCA0NS4yLjEuMTEuNywgNDUuMi4xLjEyLjQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0 dXNFbnRyeSAzIH0KCiAgIGVmbUN1UG1lT3BlclByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUE1FIGN1 cnJlbnQgb3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bwogICAg ICAgYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IKICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQKICAgICAgIG9w ZXJhdGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5CiAgICAgICBlZm1DdVBt ZU9wZXJTdWJUeXBlLgogICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRyeSwgdG8gd2hpY2gg ZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcwogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQKICAgICAgIHBhcmFtZXRlcnMgaW4g YWRhcHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRpb24sCiAgICAgICBpLmUuIHZhbHVlcyBv ZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIGlu ZGljYXRlcyB0aGF0IFBNRSBpcyBkb3duIG9yIGluaXRpYWxpemluZy4KICAgICAgIAogICAgICAg VGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gMzAuMTEuMi4xLjciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0KCiAgIGVm bUN1UG1lU25yTWduIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcu LjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhl IGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1hcmdpbiB3aXRoIHJlc3BlY3QK ICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbCBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBtYXBz IHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuCiAgICAgICAKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAg ICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBSWCBTTlIgbWFyZ2luIHJlZ2lzdGVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjQsIDQ1LjIuMS4xNiIKICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQbWVQZWVyU25yTWduIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAg ICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhlIGN1cnJlbnQgU05SIG1h cmdpbiBpbiBkQiB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlY2VpdmVkCiAgICAgICBzaWduYWwsIGFz IHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlIChsaW5rIHBhcnRuZXIpIFBNRS4KICAgICAgIFRoZSB2 YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yCiAgICAgICBpbml0 aWFsaXppbmcuCiAgICAgICAKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRo ZSAtUiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQogICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0 dXJuZWQgaW4gdGhpcyBjYXNlLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBs aW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbgogICAgICAgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNF bnRyeSA2fQoKICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg SW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIGxvY2FsCiAgICAgICBQTUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMg cmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAg CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRo aXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIgog ICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSA3IH0KCiAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAgIFVOSVRTICAg ICAgICJkQiIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0aW9u IGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlCiAgICAgICAobGluayBwYXJ0bmVyKSBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp cnJlbGV2YW50IGZvciB0aGUgLVIgUE1FIHN1YnR5cGVzLiBUaGUgdmFsdWUKICAgICAgIG9mIDY1 NTM1IFNIQUxMIGJlIHJldHVybmVkIGluIHRoaXMgY2FzZS4KCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBz IHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgIHJlZ2lz dGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9CgogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQog ICAgIFVOSVRTICAgICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVzdGltYXRlIG9mIHRo ZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4KICAgICAgIG1ldGVycywgYXMg cGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJsaXNoZWQuCiAgICAg ICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29w IHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4KICAgICAgIFRoZSB2YWx1ZSBv ZiA2NTUzNSBpcyByZXR1cm5lZCBpZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICBJbml0aWFs aXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQKICAg ICAgIExlbmd0aC4KICAgICAgIAogICAgICAgRm9yIDEwQkFTRS1UTCBQTUUsIGlmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMKICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoCiAgICAgICByZWdpc3Rl ciIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIgogICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9CgogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBlcnJvcnMuIFRoaXMgY291bnRlciBp cwogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBl cnJvciBkZXRlY3RlZAogICAgICAgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24u CgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJpYnV0 ZSBpbgogICAgICAgY2xhdXNlIDMwLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVyCiAgICAgICAoc2Vl IDQ1LjIuNi4xMikuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5 IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQg aW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjEsIDMw LjExLjIuMS41LCA0NS4yLjYuMTIiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMCB9 CgogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291 bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgVEMtQ1JDIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzIGluY3JlbWVudGVkIGZvcgogICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0 ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24KICAgICAgIChzZWUgNjEu My4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVEND UkNFcnJvcnMgYXR0cmlidXRlIGluCiAgICAgICBjbGF1c2UgMzAuCiAgICAgICAKICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRo ZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcgog ICAgICAgKHNlZSA0NS4yLjYuMTEpLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYx LjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1 c0VudHJ5IDExIH0KCiAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwCgogICBlZm1DdVBt ZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9CgogICBlZm1DdVBt ZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0Yg RWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQKICAgICAgIG9wZXJh dGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4KICAgICAgIEZpcnN0IDE0IGVudHJpZXMg aW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgZm9sbG93cyAo c2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0t LS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhS YXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEti cHMpICAoZEJtKQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEz LjUgICAgMSAgIDMyLVRDUEFNCiAgICAgICAgICAzICAgICAyMDQ4ICAgIDIwNDggICAgMTMuNSAg ICAxICAgMTYtVENQQU0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2 LVRDUEFNCiAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAxICAgMTYtVENQ QU0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQog ICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNCiAgICAg ICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAg MTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQogICAgICAgICAxMSAg ICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNCiAgICAgICAgIDEyICAgICAg NTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAgMTMgICAgICAxOTIg ICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQpCiAgICAgICAgIDE0 ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQoK ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2Vu dAogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgogICAgICAg RW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRl ZCBhbmQKICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0aXZlIChj b25maWd1cmF0aW9uKQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJv ZmlsZXMuCgogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0 ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYzQSwg MzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9CgogICBlZm1DdVBtZTJCUHJv ZmlsZUVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUyQlByb2ZpbGVF bnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNwb25kcyB0byBh IHNpbmdsZSAyQkFTRS1UTCBQTUUgcHJvZmlsZS4KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlu cyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IKICAgICAgIGNvbmZpZ3VyYXRp b24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQTUUuICAKICAgICAgIEluIGNhc2Ug YSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRt aW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYKICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQKICAgICAgIHBh cmFtZXRlcnMgdGhlIDJCYXNlVEwtTyBQTUUgaW5pdGlhbGl6YXRpb24uCiAgICAgICBJZiBhIHBy b2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsCiAgICAg ICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIAogICAg ICAgb3BlcmF0aW9uYWwgUE1FLgogICAgICAgCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRl ZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vCiAgICAgICBkZWxldGlvbiBtZWNoYW5p c20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAgYWN0aXZlIGVu dHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJwogICAgICAg dW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCiAgICAgICBEZWZhdWx0IGVudHJpZXMg TVVTVCBOT1QgYmUgcmVtb3ZlZC4iCiAgICAgSU5ERVggeyBlZm1DdVBtZTJCUHJvZmlsZUluZGV4 IH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUlu ZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURl c2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAg ICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAg ICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLAogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRl ICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAgICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gICAgICAgICAgSU5U RUdFUiwKICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cwog ICAgIH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBFZm1Qcm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBN RSBQcm9maWxlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxl IGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQogICAgICAgb3IgZWZtQ3VQbWVB ZG1pblByb2ZpbGUgb2JqZWN0cy4iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAx IH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAg ICBTbm1wQWRtaW5TdHJpbmcKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcg Y29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIFByb2ZpbGUu IFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSByYXRlCiAgICAg ICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIgog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCUmVnaW9u ICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgcmVnaW9uMSgx KSwKICAgICAgIHJlZ2lvbjIoMikKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUK ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJSZWdpb25h bCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICBy ZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45OTEuMl0uCiAgICAgICBSZWdpb25hbCBzZXR0 aW5ncyBzcGVjaWZ5IFBvd2VyIFNwZWN0cmFsIERlbnNpdHkgKFBTRCkgbWFzaywKICAgICAgIFBv d2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGltaXRhdGlvbnMgb24gdGhlIG1h eAogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUsIHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLgogICAg ICAgCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgZm9yIHRoaXMgb2JqZWN0IGFyZToKICAgICAgICAg cmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpCiAgICAg ICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBhbmQgRyAoZS5nLiBFdXJvcGUpCiAgICAgICAK ICAgICAgIEFubmV4IEEvQiBzcGVjaWZ5IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVz IDE5Mi0yMzA0CiAgICAgICBLYnBzIHVzaW5nIDE2LVRDUEFNIGVuY29kaW5nLgogICAgICAgQW5u ZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBz CiAgICAgICB1c2luZyAxNi1UQ1BBTSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAz Mi1UQ1BBTQogICAgICAgZW5jb2RpbmcuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBwYXJ0 aWFsbHkgbWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgIHBh cmFtZXRlciByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu MS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyIKICAgICA6Oj0geyBlZm1DdVBt ZTJCUHJvZmlsZUVudHJ5IDMgfQoKICAgZWZtQ3VQbWUyQnNNb2RlICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybwogICAgIE1BWC1BQ0NFU1MgIHJlYWQt Y3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi RGVzaXJlZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVj dAogICAgICAgaXMgYSBwb2ludGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxl IGFuZCBhIGJsb2NrCiAgICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSwgd2hpY2ggdG9nZXRoZXIgZGVmaW5lCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2gg ZGVwZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4KICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRl ZmluZWQgYnkgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmpl Y3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkCiAgICAgICBzcGVjdHJhbCBtb2RlLgog ICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNp ZmljCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuCgogICAgICAgQXR0ZW1wdHMg dG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlCiAgICAg ICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9uZGluZyBz cGVjdHJhbAogICAgICAgbW9kZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iCiAgICAgUkVGRVJF TkNFCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSIKICAgICBERUZWQUwgeyAwIH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQoKICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5z aWduZWQzMigxOTIuLjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJNaW5pbXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRo aXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBu PTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgog ICAgICAgCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lk ZXJlZCAnZml4ZWQnIHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMg dGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAg J2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJh dGUKICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUg c3BlY3RyYWwgCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdp b24gYW5kCiAgICAgICBlZm1DdVBtZTJCc01vZGUuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQg b3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUgaXMKICAgICAgIHJlcHJlc2VudGVkIGJ5 IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIE1pbiBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQoKICAgZWZtQ3VQ bWUyQk1heERhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIu LjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhp bXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoaXMgb2JqZWN0IGNh biB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAx Ni1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgogICAgICAgCiAgICAg ICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQn IHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1D dVBtZTJCTWluRGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVz cyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFkbWluaXN0cmF0aXZl IHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAgJ2FkYXB0aXZlJywg YW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUKICAgICAgIG5v dCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwKICAg ICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQKICAgICAg IGVmbUN1UG1lMkJzTW9kZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBk YXRhIHJhdGUgb2YgdGhlIFBNRSBpcwogICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRo ZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWF4 IERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1ECiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVy LgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNiB9CgogICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwfDEwLi40MikKICAgICBVTklU UyAgICAgICAiMC41IGRCbSIKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlNpZ25hbCBUcmFuc21pdCBQ b3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLgogICAgICAgVGhlIHZhbHVlIG9mIDAgaW4gdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUgbWVhbnMgdGhhdCB0aGUKICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bwogICAgICAgbWF4aW1pemUg dGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zCiAgICAg ICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4KICAg ICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBw cmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBp biB0aGUgMkIgUE1EIHBhcmFtZXRlcnMKICAgICAgIHJlZ2lzdGVyIgogICAgIFJFRkVSRU5DRQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSA3IH0KCiAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIElOVEVHRVIgewogICAgICAgYWRhcHRpdmUoMCksCiAgICAgICB0Y3BhbTE2KDEp LAogICAgICAgdGNwYW0zMigyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRDUEFNIENv bnN0ZWxsYXRpb24gb2YgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1 ZXMgYXJlOgogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0K ICAgICAgICAgdGNwYW0xNigxKSAgICAgLSAxNi1UQ1BBTQogICAgICAgICB0Y3BhbTMyKDIpICAg ICAtIDMyLVRDUEFNCgogICAgICAgVGhlIHZhbHVlIG9mIGFkYXB0aXZlKDApIGluIHRoZSBhZG1p bmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zCiAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWlu YWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMKICAgICAgIHBsYWNlZCBi eSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgQ29uc3RlbGxhdGlvbjEgYml0cyBpbiB0aGUgMkIg Z2VuZXJhbAogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5 IDggfQoKICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRy b2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YKICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVBZG1pblByb2Zp bGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwKICAgICAgIHJlZmVy ZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0 IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcKICAgICAgIHRoaXMgb2Jq ZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJwogICAgICAg YWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9CgoKICAgZWZtQ3VQ bWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBF Zm1DdVBtZTJCc01vZGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSwg dG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRzCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3IKICAgICAg IDJCQVNFLVRMIFBNRXMsIGRlc2NyaWJpbmcgc3BlY3RyYWwgbGltaXRhdGlvbnMgaW4gYWRkaXRp b24gdG8KICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBlZm1DdVBtZTJCUmVnaW9uLgoKICAgICAg IFNvbWUgY291bnRyaWVzIHNwZWN0cmFsIHJlZ3VsYXRpb25zIChlLmcuIFVLIEFORlApIGxpbWl0 IHRoZQogICAgICAgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLiBU aGlzIHRhYmxlIGFsbG93cwogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9u cyB0byBiZSBzcGVjaWZpZWQuCgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5j ZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRp bCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBU aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJlZm1DdTJCUmVhY2hSYXRlVGFibGUiCiAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9CgogICBlZm1DdVBtZTJCc01vZGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJF YWNoIGVudHJ5IHNwZWNpZmllcyBzcGVjdHJhbCBtb2RlIGRlc2NyaXB0aW9uIGFuZCBpdHMgaW5k ZXgsCiAgICAgICB3aGljaCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBjb3JyZXNwb25kaW5nIGVudHJp ZXMgaW4gdGhlCiAgICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuCiAgICAgICAKICAgICAgIEVu dHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAg ICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIgogICAg IElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9k ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9CiAgICAgU0VRVUVOQ0Ugewog ICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzCiAgICAgfQoK ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJh bCBNb2RlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3Nv Y2lhdGVkIHdpdGggdGhpcyBzcGVjdHJhbAogICAgICAgbW9kZS4KICAgICAgIEVudHJpZXMgaW4g dGhpcyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICBvYmpl Y3QuIgogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQnNN b2RlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcKICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlv biBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIHNwZWN0cmFsIG1vZGUuIFRoZSBzdHJpbmcgbWF5 IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgIGNvcnJlc3BvbmRpbmcgKGNvdW50cnkt c3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1p dGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iCiAgICAgOjo9IHsgZWZt Q3VQbWUyQnNNb2RlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRo aXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YK ICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBlciB0 aGUgc2VtYW50aWNzCiAgICAgICBvZiBSb3dTdGF0dXMuCgogICAgICAgSWYgYW4gJ2FjdGl2ZScg ZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgIGVudHJ5 IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLgoK ICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4gSW4gb3JkZXIg dG8gbW9kaWZ5IGFuCiAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBv ZiBzZXJ2aWNlIChieSBzZXR0aW5nCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90SW5TZXJ2aWNl JyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScKICAgICAgIGFnYWluLiIKICAgICA6Oj0geyBl Zm1DdVBtZTJCc01vZGVFbnRyeSAzIH0KCgogICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JK RUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5p dGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20KICAgICAgIHNwZWN0cmFsIG1vZGVzIGZvciAy QkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwKICAgICAgIGxpbWl0YXRpb25zIGluIGFk ZGl0aW9uIHRvIHRob3NlIHNwZWNpZmllZCBieQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAg ICAgICBUaGUgc3BlY3RyYWwgcmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsg QU5GUCkKICAgICAgIGxpbWl0IHRoZSBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRh dGEgcmF0ZXMuCiAgICAgICBUaGlzIHRhYmxlIGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmlj IGxpbWl0YXRpb25zIHRvIGJlCiAgICAgICBzcGVjaWZpZWQuCgogICAgICAgQmVsb3cgaXMgYW4g ZXhhbXBsZSBvZiB0aGlzIHRhYmxlIGZvciBbQU5GUF06CiAgICAgICAtLS0tLS0tLS0tKy0tLS0t LS0rLS0tLS0tLSsKICAgICAgIEVxdWl2YWxlbnQgTWF4UmF0ZSBNYXhSYXRlCiAgICAgICAgIExl bmd0aCAgICBQQU0xNiAgIFBBTTMyCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQog ICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgOTc1ICAgICAgMjMw NCAgICA1Njk2CiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0CiAgICAgICAgICAxMjc1 ICAgICAgMjMwNCAgICA1MTIwCiAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0CiAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0CiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0 Mjg4CiAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4CiAgICAgICAgICAxNjUwICAgICAg MjMwNCAgICAzNzc2CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwCiAgICAgICAgICAx ODAwICAgICAgMjMwNCAgICAzMjY0CiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyCiAg ICAgICAgICAxOTUwICAgICAgMjA0OCAgICAyNjg4CiAgICAgICAgICAyMTAwICAgICAgMTc5MiAg ICAyMzY4CiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwCiAgICAgICAgICAyNDAwICAg ICAgMTQwOCAgICAgICAwCiAgICAgICAgICAyNTUwICAgICAgMTI4MCAgICAgICAwCiAgICAgICAg ICAyNzc1ICAgICAgMTE1MiAgICAgICAwCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAw CiAgICAgICAgICAzMTUwICAgICAgMTA4OCAgICAgICAwCiAgICAgICAgICAzMzc1ICAgICAgMTAy NCAgICAgICAwCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsgICAgICAgCgogICAg ICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9k ZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVu Y2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbQU5G UF0iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgNCB9CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50 cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkK ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJB U0UtVEwgUE1FIGRhdGEgcmF0ZXMKICAgICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFs ZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVzaW5nIAogICAgICAgMTYtVENQQU0gb3IgMzItVENQQU0g ZW5jb2RpbmcuCgogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBk YXRhIHJhdGUgTVVTVCBOT1QKICAgICAgIGV4Y2VlZCBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW1p dGF0aW9uczoKICAgICAgIC0gdGhlIHZhbHVlIG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQogICAg ICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kCiAg ICAgICAgIGVmbUN1UG1lMkJQb3dlcgogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBn aXZlbiBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVu dHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxvb3AKICAgICAgICAgbGVuZ3Ro LCBlc3RpbWF0ZWQgYnkgdGhlIFBNRS4KICAgICAgIAogICAgICAgSXQgaXMgUkVDT01NRU5ERUQg dGhhdCB0aGUgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzCiAgICAgICBhcmUgYXNz aWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlCiAgICAgICBt aW5pbXVtIHZhbHVlLgoKICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2lu ZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBt ZTJSZWFjaFJhdGVSb3dTdGF0dXMuIgogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgs IGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQogICAgIFNFUVVFTkNF IHsKICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCAgICAgICAgIEVmbVByb2ZpbGVJbmRl eCwKICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiAgICAgICBVbnNpZ25lZDMyLAogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1 UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cwogICAgIH0KCiAgIGVmbUN1UG1l MkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJ bmRleAogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiMkJBU0UtVEwgY3VzdG9tIHNwZWN0cmFsIG1v ZGUgUmVhY2gtUmF0ZSB0YWJsZSBpbmRleC4KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlx dWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQogICAgIFVOSVRTICAg ICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiTWF4aW11bSBhbGxvd2VkIEVxdWl2YWxlbnQg bG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMKICAgICAgIGZvciB0aGUgc3BlY2lmaWVk IGRhdGEgcmF0ZXMuCiAgICAgICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwg MjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRl bnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4i CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUyQk1h eERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigw fDE5Mi4uNTY5NikKICAgICBVTklUUyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg Ik1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZAogICAg ICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLgogICAg ICAgVGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQg bm90IGJlCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIgogICAgIDo6PSB7IGVmbUN1UG1l MkJSZWFjaFJhdGVFbnRyeSAzIH0KCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICBPQkpF Q1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpCiAgICAgVU5J VFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBm b3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQKICAgICAgIEVxdWl2YWxlbnQgbG9vcCdz IExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJv IG1lYW5zIHRoYXQgVEMtUEFNMzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgdXNlZCBh dCB0aGlzIGRpc3RhbmNlLiIKICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9 CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgUm93U3RhdHVzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9s cyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mCiAgICAgICB0aGUgYXNzb2Np YXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQogICAgICAgZW50cnkgTVVTVCByZW1haW4g J2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2Fj dGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4K ICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5 IHNldHRpbmcKICAgICAgIHRoaXMgb2JqZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQg YW5kIHNldCAnYWN0aXZlJwogICAgICAgYWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeSA1IH0KCgogIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXAKCiAgIGVm bUN1UG1lMTBQICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9CgogICBl Zm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJU aGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMg Zm9yCiAgICAgICAxMFBBU1MtVFMgUE1Fcy4KICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhp cyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgZm9sbG93cyAoc2VlIDgw Mi4zYWggQW5uZXggNjJCLjMpOgogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0t LSstLS0tLSstLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90 Y2ggRFJhdGUgVVJhdGUKICAgICAgICBJbmRleCAgUFNETWFzayMgIHAjICAgIHAjICAgICAgICBw IyAgICBwIwogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0t LS0tLS0tLS0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAgMjAgICAg MjAoZGVmYXVsdCkKICAgICAgICAgIDIgICAgIDEzICAgICAgNSAgICAwICAgICAgICAgICAgMjAg ICAgMjAKICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAgICAgMjAgICAgMjAK ICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAgICAxMDAKICAgICAg ICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAgICAgNTAKICAgICAgICAgIDYg ICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAgMTAKICAgICAgICAgIDcgICAgIDE3 ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAKICAgICAgICAgIDggICAgICA4ICAgICAg MCAgICAwICAgICAgICAgICAgMzAgICAgIDUKICAgICAgICAgIDkgICAgICA0ICAgICAgMCAgICAw ICAgICAgICAgICAgMjUgICAgMjUKICAgICAgICAgMTAgICAgICA0ICAgICAgMCAgICAwICAgICAg ICAgICAgMTUgICAgMTUKICAgICAgICAgMTEgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAg MTAgICAgMTAKICAgICAgICAgMTIgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgIDUgICAg IDUKICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDAKICAg ICAgICAgMTQgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAgNzAgICAgNTAKICAgICAgICAg MTUgICAgICA2ICAgICAgMCAgICAyLDYsMTAsMTEgICAgNTAgICAgMTAKICAgICAgICAgMTYgICAg IDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzAKICAgICAgICAgMTcgICAgICA4ICAg ICAgMCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUKICAgICAgICAgMTggICAgICA0ICAgICAgMCAg ICAyLDYsMTAsMTEgICAgMjUgICAgMjUKICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYs MTAsMTEgICAgMTUgICAgMTUKICAgICAgICAgMjAgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAg ICAgMTAgICAgMTAKICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAgIDUg ICAgIDUKICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAgICAgICAgICAyMDAgICAgNTAK CiAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRlZCBieSBkdXJpbmcg YWdlbnQKICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLgoKICAg ICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwgY2FuIGJlIGR5bmFtaWNhbGx5IGNy ZWF0ZWQgYW5kCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2 ZSAoY29uZmlndXJhdGlvbikKICAgICAgIHByb2ZpbGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0aW5n IHByb2ZpbGVzLgoKICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVy c2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2 MkIuMywgMzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQoKICAgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEw UFByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNw b25kcyB0byBhIHNpbmdsZSAxMFBBU1MtVFMgUE1FCiAgICAgICBwcm9maWxlLgogICAgICAgRWFj aCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgog ICAgICAgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDEwUEFTUy1UUyBQTUUu ICAKICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEK ICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUg aWYKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhl IGRlc2lyZWQKICAgICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0 aW9uLgogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclBy b2ZpbGUgb2JqZWN0LAogICAgICAgaXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJh bWV0ZXJzIG9mIHRoZSBQTUUuCgogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRl ZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBl Zm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMuIElmIGFuCiAgICAgICAnYWN0aXZlJyBlbnRyeSBp cyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScKICAgICAgIHVudGls IGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLgogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1Qg Tk9UIGJlIHJlbW92ZWQuIgogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggfQog ICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgOjo9CiAgICAgU0VRVUVOQ0UgewogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5k ZXggICAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwKICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURl c2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFu UFNETXNrUHJvZmlsZSAgSU5URUdFUiwKICAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVBy b2ZpbGUgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgICAg IEJJVFMsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwK ICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZERSYXRlUHJvZmlsZSAgICBJTlRFR0VSLAogICAgICAg ZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cwogICAgIH0KCiAgIGVm bUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtUHJv ZmlsZUluZGV4CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICIxMFBBU1MtVFMgUE1FIFByb2ZpbGUg SW5kZXguCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQg d2l0aCB0aGlzIHByb2ZpbGUuCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVy ZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmls ZS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgMSB9CgogICBlZm1DdVBtZTEw UFByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmlu ZwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9y bWF0aW9uIGFib3V0IDEwUEFTUy1UUyBQTUUKICAgICAgIFByb2ZpbGUuIFRoZSBzdHJpbmcgbWF5 IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSByYXRlCiAgICAgICBhbmQgc3BlY3RyYWwg bGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIgogICAgIDo6PSB7IGVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2Zp bGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAgIHByb2ZpbGUxKDEp LAogICAgICAgcHJvZmlsZTIoMiksCiAgICAgICBwcm9maWxlMygzKSwKICAgICAgIHByb2ZpbGU0 KDQpLAogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlNig2KSwKICAgICAgIHByb2Zp bGU3KDcpLAogICAgICAgcHJvZmlsZTgoOCksCiAgICAgICBwcm9maWxlOSg5KSwKICAgICAgIHBy b2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTEoMTEpLAogICAgICAgcHJvZmlsZTEyKDEyKSwK ICAgICAgIHByb2ZpbGUxMygxMyksCiAgICAgICBwcm9maWxlMTQoMTQpLAogICAgICAgcHJvZmls ZTE1KDE1KSwKICAgICAgIHByb2ZpbGUxNigxNiksCiAgICAgICBwcm9maWxlMTcoMTcpLAogICAg ICAgcHJvZmlsZTE4KDE4KSwKICAgICAgIHByb2ZpbGUxOSgxOSksCiAgICAgICBwcm9maWxlMjAo MjApLAogICAgICAgcHJvZmlsZTIxKDIxKSwKICAgICAgIHByb2ZpbGUyMigyMiksCiAgICAgICBw cm9maWxlMjMoMjMpLAogICAgICAgcHJvZmlsZTI0KDI0KSwKICAgICAgIHByb2ZpbGUyNSgyNSks CiAgICAgICBwcm9maWxlMjYoMjYpLAogICAgICAgcHJvZmlsZTI3KDI3KSwKICAgICAgIHByb2Zp bGUyOCgyOCksCiAgICAgICBwcm9maWxlMjkoMjkpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiMTBQQVNTLVRTIFBNRSBCYW5kcGxhbiBhbmQgUFNEIE1hc2sgcHJvZmlsZSwKICAgICAgIGFz IHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToKICAg ICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0KICAgICAgIFByb2ZpbGUgTmFtZSAgICBQU0QgTWFzayAgICAgICAgICAgICAgICAg IEJhbmRzICAgICBCYW5kcGxhbgogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLQogICAgICAgcHJvZmlsZTEoMSkgICAtIFQx LjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEEKICAgICAgIHByb2ZpbGUyKDIpICAg LSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0xCiAgICAgICBwcm9maWxlMygzKSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRDYWIuTTIKICAgICAgIHByb2ZpbGU0KDQpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4 Lk0yCiAgICAgICBwcm9maWxlNSg1KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIEQvRC9V L0QvVQogICAgICAgcHJvZmlsZTYoNikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAg IHByb2ZpbGU3KDcpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMgogICAgICAgcHJvZmlsZTgo OCkgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTIKICAgICAgIHByb2ZpbGU5KDkpICAgLSBUMS40 MjQvVC1VIFAxIEZUVENhYi5NMSAgVS9EL1UvRC94CiAgICAgICBwcm9maWxlMTAoMTApIC0gVDEu NDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAgcHJvZmlsZTExKDExKSAtIFQxLjQyNC9ULVUgUDEg RlRUQ2FiLk0yCiAgICAgICBwcm9maWxlMTIoMTIpIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMgog ICAgICAgcHJvZmlsZTEzKDEzKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1Ug IEIKICAgICAgIHByb2ZpbGUxNCgxNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQgogICAgICAg cHJvZmlsZTE1KDE1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xCiAgICAgICBwcm9maWxlMTYo MTYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTEKICAgICAgIHByb2ZpbGUxNygxNykgLSBUUzEg MTAxIDI3MC0xIFBjYWIuTTIKICAgICAgIHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBl eC5QMS5NMgogICAgICAgcHJvZmlsZTE5KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yCiAg ICAgICBwcm9maWxlMjAoMjApIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEgIFUvRC9VL0QveAog ICAgICAgcHJvZmlsZTIxKDIxKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CCiAgICAgICBwcm9m aWxlMjIoMjIpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTEKICAgICAgIHByb2ZpbGUyMygyMykg LSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEg MjcwLTEgUGNhYi5NMgogICAgICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAx Lk0yCiAgICAgICBwcm9maWxlMjYoMjYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTIKICAgICAg IHByb2ZpbGUyNygyNykgLSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9VICBG CiAgICAgICBwcm9maWxlMjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1JU0ROKQog ICAgICAgcHJvZmlsZTI5KDI5KSAtIEcuOTkzLjEgRi4xLjIuMyAoUFNEIHJlZHVjdGlvbikKCiAg ICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJvZmlsZSBhdHRy aWJ1dGUKICAgICAgIGluIENsYXVzZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4z YWhdIEFubmV4IDYyQSwgMzAuNS4xLjEuMjIiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxl RW50cnkgMyB9CgogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlMSgxKSwKICAgICAgIHByb2Zp bGUyKDIpLAogICAgICAgcHJvZmlsZTMoMyksCiAgICAgICBwcm9maWxlNCg0KSwKICAgICAgIHBy b2ZpbGU1KDUpLAogICAgICAgcHJvZmlsZTYoNiksCiAgICAgICBwcm9maWxlNyg3KSwKICAgICAg IHByb2ZpbGU4KDgpLAogICAgICAgcHJvZmlsZTkoOSkKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBvd2VyIEJhY2stT2ZmIChVUEJPKSBSZWZlcmVu Y2UgUFNECiAgICAgICBQcm9maWxlLCBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEu IFBvc3NpYmxlIHZhbHVlcwogICAgICAgYXJlOgogICAgICAgICBwcm9maWxlMSgxKSAgIC0gVDEu NDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTEKICAgICAgICAgcHJvZmlsZTIoMikgICAtIFQxLjQy NC9ULVUgICAgICAgICBOb2lzZSBBIE0yCiAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQv VC1VICAgICAgICAgTm9pc2UgRiBNMQogICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1Qt VSAgICAgICAgIE5vaXNlIEYgTTIKICAgICAgICAgcHJvZmlsZTUoNSkgICAtIEVUU0kgVFMgMTAx IDI3MC0xICBOb2lzZSBBJkIKICAgICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3 MC0xICBOb2lzZSBDCiAgICAgICAgIHByb2ZpbGU3KDcpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAg Tm9pc2UgRAogICAgICAgICBwcm9maWxlOCg4KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNl IEUKICAgICAgICAgcHJvZmlsZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGCgog ICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVVQQk9SZWZlcmVuY2VQcm9maWxlIGF0dHJp YnV0ZQogICAgICAgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gQW5uZXggNjJBLjMuNCwgMzAuNS4xLjEuMjMiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgNCB9CgogICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgQklUUyB7CiAgICAgICBwcm9maWxlMCgwKSwKICAgICAgIHByb2ZpbGUx KDEpLAogICAgICAgcHJvZmlsZTIoMiksCiAgICAgICBwcm9maWxlMygzKSwKICAgICAgIHByb2Zp bGU0KDQpLAogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlNig2KSwKICAgICAgIHBy b2ZpbGU3KDcpLAogICAgICAgcHJvZmlsZTgoOCksCiAgICAgICBwcm9maWxlOSg5KSwKICAgICAg IHByb2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTEoMTEpCiAgICAgfQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiMTBQQVNTLVRTIFBNRSBFZ3Jlc3MgQ29udHJvbCBCYW5kIE5vdGNoIFByb2ZpbGUg Yml0bWFwLAogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJs ZSB2YWx1ZXMgYXJlOgogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tCiAgICAgICBQcm9maWxlIE5hbWUgICAgRy45OTEuMyAg VDEuNDI0L1QtVSBUUzEwMSAyNzAtMSBTdGFydEYgRW5kRgogICAgICAgICAgICAgICAgICAgICAg IFRhYmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHopCiAgICAgICAtLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0K ICAgICAgIHByb2ZpbGUwKDApICAgLSBubyBwcm9maWxlCiAgICAgICBwcm9maWxlMSgxKSAgIC0g Ri01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44MjUKICAgICAgIHByb2Zp bGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAgICAgIDEuODEwICAyLjAwMAog ICAgICAgcHJvZmlsZTMoMykgICAtIEYtNSAjMDIgIC0gICAgICAgICAgLSAgICAgICAgICAgMS45 MDcgIDEuOTEyCiAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01ICMwMyAgLSAgICAgICAgICAtICAg ICAgICAgICAzLjUwMCAgMy41NzUKICAgICAgIHByb2ZpbGU1KDUpICAgLSA2LTIgICAgICAtICAg ICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMAogICAgICAgcHJvZmlsZTYoNikgICAtIC0g ICAgICAgIDE1LTEgICAgICAgLSAgICAgICAgICAgMy41MDAgIDQuMDAwCiAgICAgICBwcm9maWxl Nyg3KSAgIC0gRi01ICMwNCAgLSAgICAgICAgICAtICAgICAgICAgICAzLjc0NyAgMy43NTQKICAg ICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNzkx ICAzLjgwNQogICAgICAgcHJvZmlsZTkoOSkgICAtIDYtMiAgICAgIC0gICAgICAgICAgMTcgICAg ICAgICAgNy4wMDAgIDcuMTAwCiAgICAgICBwcm9maWxlMTAoMTApIC0gRi01ICMwNiAgMTUtMSAg ICAgICAtICAgICAgICAgICA3LjAwMCAgNy4zMDAKICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIg ICAgICAxNS0xICAgICAgIDEgICAgICAgICAgIDEwLjEwMCAxMC4xNTAKICAgICAgIAogICAgICAg QW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1JpbmcKICAg ICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVlIG9mIDB4MDYyMiBzZWxl Y3RzCiAgICAgICBwcm9maWxlcyAyLDYsMTAgYW5kIDExLgogICAgICAgCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRyaWJ1dGUKICAgICAgIGluIENs YXVzZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjUs IDMwLjUuMS4xLjE5IgogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDUgfQoKICAg ZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIElOVEVHRVIgewogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlMTAoMTApLAog ICAgICAgcHJvZmlsZTE1KDE1KSwKICAgICAgIHByb2ZpbGUyMCgyMCksCiAgICAgICBwcm9maWxl MjUoMjUpLAogICAgICAgcHJvZmlsZTMwKDMwKSwKICAgICAgIHByb2ZpbGU1MCg1MCksCiAgICAg ICBwcm9maWxlNzAoNzApLAogICAgICAgcHJvZmlsZTEwMCgxMDApCiAgICAgfQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwK ICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVz IGFyZToKICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUgTWJwcwogICAgICAgICBwcm9m aWxlMTAoMTApICAgICAtIDUgTWJwcwogICAgICAgICBwcm9maWxlMTUoMTUpICAgICAtIDcuNSBN YnBzCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgIC0gMTAgTWJwcwogICAgICAgICBwcm9maWxl MjUoMjUpICAgICAtIDEyLjUgTWJwcwogICAgICAgICBwcm9maWxlMzAoMzApICAgICAtIDE1IE1i cHMKICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzCiAgICAgICAgIHByb2ZpbGU3 MCg3MCkgICAgIC0gMzUgTWJwcwogICAgICAgICBwcm9maWxlMTAwKDEwMCkgICAtIDUwIE1icHMK CiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0 cmVhbSBQYXlsb2FkCiAgICAgICBCaXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBh eWxvYWQgcmF0ZSBvZiB0aGUKICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90IGJlIGFjaGll dmVkIGJhc2VkIG9uIHRoZSBsb29wCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBT RCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uCiAgICAgICBTSEFMTCBmYWlsLgogICAgICAg IAogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3Ry ZWFtCiAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiCiAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgNiB9CgogICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlNSg1 KSwKICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTUoMTUpLAogICAgICAgcHJv ZmlsZTIwKDIwKSwKICAgICAgIHByb2ZpbGUyNSgyNSksCiAgICAgICBwcm9maWxlMzAoMzApLAog ICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgIHByb2ZpbGU3MCg3MCksCiAgICAgICBwcm9maWxl MTAwKDEwMCksCiAgICAgICBwcm9maWxlMTQwKDE0MCksCiAgICAgICBwcm9maWxlMjAwKDIwMCkK ICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5 bG9hZCBSYXRlIFByb2ZpbGUsCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2 MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIHByb2ZpbGU1KDUpICAgICAgLSAyLjUg TWJwcwogICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzCiAgICAgICAgIHByb2ZpbGUx NSgxNSkgICAgLSA3LjUgTWJwcwogICAgICAgICBwcm9maWxlMjAoMjApICAgIC0gMTAgTWJwcwog ICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUzMCgz MCkgICAgLSAxNSBNYnBzCiAgICAgICAgIHByb2ZpbGU1MCg1MCkgICAgLSAyNSBNYnBzCiAgICAg ICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAg LSA1MCBNYnBzCiAgICAgICAgIHByb2ZpbGUxNDAoMTQwKSAgLSA3MCBNYnBzCiAgICAgICAgIHBy b2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcwoKICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBh IHRhcmdldCBmb3IgdGhlIFBNRSdzIERvd25zdHJlYW0KICAgICAgIFBheWxvYWQgQml0cmF0ZSBh cyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YKICAgICAgIHRoZSBzZWxl Y3RlZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcAogICAgICAg ZW52aXJvbm1lbnQsIGJhbmRwbGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlv bgogICAgICAgU0hBTEwgZmFpbC4KICAgICAgIAogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgYVBheWxvYWRSYXRlUHJvZmlsZURvd25zdHJlYW0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1 c2UgMzAuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy42LCAz MC41LjEuMS4yMSIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA3IH0KCiAgIGVm bUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFJv d1N0YXR1cwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRp b24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZgogICAgICAgdGhlIGFzc29jaWF0ZWQgZW50 cnkgaW4gZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRoZQogICAgICAgc2VtYW50aWNzIG9m IFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEg ZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB0aGUgZW50 cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwKICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSBy ZW1vdmVkLgoKICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4g SW4gb3JkZXIgdG8gbW9kaWZ5IGFuCiAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRh a2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90 SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScKICAgICAgIGFnYWluLiIKICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0KCgogICBlZm1DdVBtZTEwUFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUx MFBTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRl cyBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UgMTBQQVNTLVRTCiAgICAgICBQTUVzIChtb2Rl bXMpLgogICAgICAgCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRo ZSBlcXVpcG1lbnQuIEFzIHN1Y2gsCiAgICAgICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFAgMiB9CgogICBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1UUyBQTUUgU3RhdHVzIHRh YmxlLiIKICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVzRW50cnkgfQogICAgIDo6PSB7IGVm bUN1UG1lMTBQU3RhdHVzVGFibGUgMSB9CgogICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDo6PQog ICAgIFNFUVVFTkNFIHsKICAgICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICAgICBD b3VudGVyMzIsCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzICAgQ291bnRl cjMyCiAgICAgfQoKICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb3VudCBv ZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTCiAgICAg ICBQTUUuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tz IGF0dHJpYnV0ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsCiAgICAgICB0aGVuIHRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgY29ycmVjdGFibGUgZXJyb3JzCiAgICAgICByZWdp c3RlcgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVy IGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFs dWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICBkZWZpbmVkIGluIElGLU1J Qi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4x LjgiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSAxIH0KCiAgIGVmbUN1UG1lMTBQ RkVDVW5jb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb3VudCBvZiByZWNlaXZlZCBGRUMgY29kZXdvcmRz IGluIDEwUEFTUy1UUyBQTUUsIHdoaWNoIGFyZQogICAgICAgdW5jb3JyZWN0YWJsZS4KCiAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQTUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzIGF0dHJpYnV0 ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUCBGRUMgdW5jb3JyZWN0YWJsZSBlcnJvcnMKICAgICAgIHJlZ2lzdGVyCgog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBp ZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIzLCAzMC4xMS4yLjEuOSIKICAg ICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQoKICAtLQogIC0tIENvbmZvcm1hbmNl IFN0YXRlbWVudHMKICAtLQoKICAgZWZtQ3VHcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6 Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQoKICAgZWZtQ3VDb21wbGlhbmNlcyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDIgfQoKICAgLS0gT2JqZWN0IEdyb3VwcwoK ICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZt Q3VQQUZTdXBwb3J0ZWQsCiAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwKICAgICAgIGVmbUN1VGFy Z2V0RGF0YVJhdGUsCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiwKICAgICAgIGVmbUN1QWRhcHRp dmVTcGVjdHJhLAogICAgICAgZWZtQ3VQb3J0U2lkZSwKICAgICAgIGVmbUN1Rmx0U3RhdHVzCiAg ICAgfQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEg Y29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcHJlc2VudGluZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9u CiAgICAgICBjb21tb24gZm9yIGFsbCB0eXBlcyBvZiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsg ZWZtQ3VHcm91cHMgMSB9CgogICBlZm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVD VFMgewogICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkLAogICAgICAgZWZtQ3VQQUZDYXBhY2l0 eSwKICAgICAgIGVmbUN1UGVlclBBRkNhcGFjaXR5LAogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRl LAogICAgICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLAogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlLAogICAgICAgZWZtQ3VOdW1QTUVzCiAgICAgfQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1 cHBvcnRpbmcgT1BUSU9OQUwgUE1FCiAgICAgICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBh bmQgUEFGIGRpc2NvdmVyeSBpbiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMg MiB9CgogICBlZm1DdVBBRkVycm9yc0dyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewog ICAgICAgZWZtQ3VQQUZJbkVycm9ycywKICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywK ICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5CYWRGcmFn bWVudHMsCiAgICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5M b3N0U3RhcnRzLAogICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzLAogICAgICAgZWZtQ3VQQUZJbk92 ZXJmbG93cwogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIGVycm9y IGNvdW50ZXJzCiAgICAgICBvZiBQQUYgb24gRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1 R3JvdXBzIDMgfQoKICAgZWZtQ3VQbWVHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsK ICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLAogICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzLAog ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVk LAogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBl LAogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlLAogICAgICAgZWZtQ3VQbWVPcGVy UHJvZmlsZSwKICAgICAgIGVmbUN1UG1lU25yTWduLAogICAgICAgZWZtQ3VQbWVQZWVyU25yTWdu LAogICAgICAgZWZtQ3VQbWVMaW5lQXRuLAogICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0biwKICAg ICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCwKICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJv cnMsCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5l QXRuLAogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24KICAgICB9CiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMg cHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICBhIDJCQVNFLVRMLzEwUEFTUy1UUyBQ TUUuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDQgfQoKICAgZWZtQ3VBbGFybUNvbmZHcm91cCBP QkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSwKICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5l QXRuLAogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUsCiAgICAgICBlZm1DdVBt ZVRocmVzaFNuck1nbiwKICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlLAogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bEVuYWJsZSwKICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQogICAgIH0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rp b24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb2YgYWxhcm0KICAgICAgIHRo cmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlvbnMgaW4gRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVm bUN1R3JvdXBzIDUgfQoKICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cCBOT1RJRklDQVRJT04tR1JP VVAKICAgICBOT1RJRklDQVRJT05TIHsKICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLAogICAg ICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcsCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5n LAogICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZh aWx1cmUsCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUKLS0gICAgICAgZWZtQ3VQ bWVEZXZpY2VGYXVsdCwKLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9zcwogICAgIH0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIGdyb3Vw IHN1cHBvcnRzIG5vdGlmaWNhdGlvbnMgb2Ygc2lnbmlmaWNhbnQgY29uZGl0aW9ucwogICAgICAg YXNzb2NpYXRlZCB3aXRoIEVGTUN1IHBvcnRzLiIKICAgICA6Oj0geyBlZm1DdUdyb3VwcyA2IH0K CiAgIGVmbUN1UG1lMkJQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAg ICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyLAogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwKICAg ICAgIGVmbUN1UG1lMkJzTW9kZSwKICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSwKICAgICAg IGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwKICAgICAgIGVmbUN1UG1lMkJQb3dlciwKICAgICAgIGVm bUN1UG1lMkJDb25zdGVsbGF0aW9uLAogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMs CiAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNjciwKICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0 YXR1cywKICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoLAogICAgICAgZWZtQ3VQbWUy Qk1heERhdGFSYXRlUGFtMTYsCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiwKICAg ICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMg dGhhdCBjb25zdGl0dXRlIGEgY29uZmlndXJhdGlvbgogICAgICAgcHJvZmlsZSBmb3IgY29uZmln dXJhdGlvbiBvZiAyQkFTRS1UTCBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgN30KCiAg IGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IsCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNE TXNrUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVByb2ZpbGUsCiAgICAg ICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzLAogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlLAogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlLAogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBj b25zdGl0dXRlIGEgY29uZmlndXJhdGlvbgogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlv biBvZiAxMFBBU1MtVFMgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQoKICAgZWZt Q3VQbWUxMFBTdGF0dXNHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVm bUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzLAogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJl Y3RlZEJsb2NrcwogICAgIH0KICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgog ICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBzdGF0dXMgaW5mb3JtYXRp b24KICAgICAgIHNwZWNpZmljIHRvIDEwUEFTUy1UUyBQTUVzLiIKICAgICA6Oj0geyBlZm1DdUdy b3VwcyA5IH0KCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICBlZm1DdUNvbXBsaWFuY2Ug TU9EVUxFLUNPTVBMSUFOQ0UKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIDJCQVNFLVRMLzEwUEFTUy1U UyBpbnRlcmZhY2VzLgogICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZXJu YWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzCiAgICAgICBpcyBSRVFVSVJFRDoKICAgICAgIAogICAg ICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudAogICAgICAgLS0t LS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgSUYtTUlCICAg ICAgICAgICAgICAgICBpZkNvbXBsaWFuY2UzCiAgICAgICBFdGhlckxpa2UtTUlCICAgICAgICAg IGRvdDNDb21wbGlhbmNlMgogICAgICAgTUFVLU1JQiAgICAgICAgICAgICAgICBtYXVNb2RJZkNv bXBsMwoKICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBs aWFuY2Ugc3RhdGVtZW50cwogICAgICAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucyBz dXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbgogICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4 aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4gdGhlIFBDUwogICAgICAgYW5kIFBNRSBwb3J0czoK ICAgICAgIAogICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVu dAogICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAg ICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UKICAgICAgIElGLUNBUC1T VEFDSy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFuY2UiCiAgICAgCiAgICAgTU9EVUxFICAt LSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7CiAgICAgICAgIGVmbUN1QmFz aWNHcm91cCwKICAgICAgICAgZWZtQ3VQbWVHcm91cCwKICAgICAgICAgZWZtQ3VBbGFybUNvbmZH cm91cCwKICAgICAgICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cAogICAgICAgfQogICAgICAgCiAg ICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwCiAgICAgICBERVNDUklQVElP TgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBp bXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIgogICAgICAg CiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cAogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBm b3IgaW1wbGVtZW50YXRpb25zCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iCiAg ICAgICAKICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGR3JvdXAKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yCiAg ICAgICAgIGltcGxlbWVudGF0aW9ucyBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlv biAoUEFGKS4iCiAgICAgICAKICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAK ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9Q VElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVn YXRpb24gRnVuY3Rpb24gKFBBRikuIgogICAgICAgCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBt ZTEwUFN0YXR1c0dyb3VwCiAgICAgICBERVNDUklQVElPTgogICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zCiAgICAgICAgIHN1cHBv cnRpbmcgMTBQQVNTLVRTIFBoeS4iCiAgICAgICAKICAgICAgIE9CSkVDVCAgICAgIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQKICAgICAgIFNZTlRBWCAgICAgIEJJVFMgewogICAgICAgICBpZWVl MkJhc2VUTE8oMCksCiAgICAgICAgIGllZWUyQmFzZVRMUigxKSwKICAgICAgICAgaWVlZTEwUGFz c1RTTygyKSwKICAgICAgICAgaWVlZTEwUGFzc1RTUigzKQogICAgICAgfQogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgIlN1cHBvcnQgZm9yIGFsbCBzdWJ0eXBlcyBpcyBub3QgcmVxdWlyZWQu IEhvd2V2ZXIgYXQgbGVhc3QKICAgICAgICAgb25lIHZhbHVlIFNIQUxMIGJlIHN1cHBvcnRlZCIK ICAgICAgIAogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUKICAgICAgIE1J Ti1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgIldyaXRlIGFj Y2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQTUVzCiAgICAgICAgIHN1cHBv cnRpbmcgbW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUsIGUuZy4KICAgICAgICAgaWVlZTJCYXNl VExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVlZTEwUGFzc1RTTyBhbmQKICAgICAgICAgaWVlZTEw UGFzc1RTUikiCiAgICAgICAKICAgICAgIE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduCiAg ICAgICBNSU4tQUNDRVNTICByZWFkLW9ubHkKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJX cml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAg ICAgICAgIHRoZSB0YXJnZXQgU05SIG1hcmdpbiBTSEFMTCBiZSBmaXhlZCBhdCA1ZEIgZm9yIDJC QVNFLVRMCiAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iCiAgICAgICAKICAgICAgIE9C SkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhCiAgICAgICBNSU4tQUNDRVNTICByZWFkLW9u bHkKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwu IEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAgICAgICAgIHRoZSBkZWZhdWx0IHZhbHVl IFNIT1VMRCBiZSBmYWxzZS4iCiAgICAgICAKICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEg fQpFTkQK ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list [email protected] https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C75602.D2E66AD8--