Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1d2p-000Sv0-2x for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 04:25:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1d2p-003XfU-04 for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 04:25:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1d2o-003XfL-1c for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 04:25:39 +0000 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1d2l-00000000DYh-3hab for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 04:25:38 +0000 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-59e4a04f059so3618870e87.2 for ; Sat, 14 Mar 2026 21:25:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773548734; cv=none; d=google.com; s=arc-20240605; b=DbjyF+WEsSCyvwcis2/PKVSh73mw286q4sh9AB8uj7wJ5Eu8EJsii0tfpLhKZbBI8t 4LG1Q2k8Fml5LgzGp3rfJlrRiUup1icLh3JKqpRgWV2qwQX39Vf1SbH6m/wyxgtn3A71 kM6kAlEPZuUrTce3h1GYub7iRFSmfZoFE+gO3OSa3gI7WjmHNlTz6xCKososB/bnnAVX bRGFu4SqN4882e//m4/7HGTX3GhM6yAGzfTUV6yOT8ECOYmucPfkjO3CQHKc3m5kyz60 Tg+7soGvwpUUPXApEJTx8Xu3a+TIV0YtzHUYLvHw9U59Hz/oScSE7YHDh5bOCppflaQe nhGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=gYRsafe/IYAvTaK2KsmZZExuAT8+wz5adXoHXB7CkPQ=; fh=T5fMEegd1LHWWHaOUvPwonxAYx3qm07uIKjKdy+FjqE=; b=h6ObOzCHAWhN2H/vv6/VIyKMhgT1rWTbRfxCpvnxXxlRJxt55F4mhhxsCZI8zVsN68 P5Y2sxjMBCfrVZnqyXmb0AXnptJax9RvBETPgi+8mzkovRRjcaSKhNva5KmSiPbYzA8M 4AhZySbHzU55dW+VKX4L7tzY8U6hosC55u5KSwSmW+5j60gjdP3Xq3r/lduZS2MjUufC 2eHM7O3QpW/i3ZbDLNL7HaXtZPcE2+JQdsrVAhKEUi0RYWsSYQGx+gPkKDPp2RaGO8TL d2SVjj1ybK3zxO5OCC3RSFSc7wbhu2YvP83Ed6d3bUNTqCWXXPXAKtFLGbWXoTHqX3Cz dNdg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773548734; x=1774153534; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gYRsafe/IYAvTaK2KsmZZExuAT8+wz5adXoHXB7CkPQ=; b=lUgVHVt7DhWhlLblOtboEkJlkZIE58m83UB1oc2oWlphmZBUKZ55rONxKG0BjSXsnu LdSwhULEtjXFJEdBocmoGhhh4J3zHSdMZGH8Bq/ph8ljiJmnlF7Y5FSv2gbodMIx3wHG LG3A0YSeOCB1sKulQCpFtSUg3uzxRT0vWNHuo+xmfunkAizTzXVl5JTlFfhiZC6ZiIhW Celc796uCTRkA/pk0FY1lJjvItb+MgIa+8RHOpEaMe8OI38ot10MS407mUEIuJIGvTOe sqVudIv0nqj61Mw6UAvw+o9fRMCZZcnlXCP9ntqPePjKU/Rtu+h2SCb79r8BB3IOP17S sAEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773548734; x=1774153534; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gYRsafe/IYAvTaK2KsmZZExuAT8+wz5adXoHXB7CkPQ=; b=feDggFhtXET8IH3i+HU3Rw74RgpbT22IBNwxGzhK2+97BZ3Yvg2Kxnh9+9KaosWazm YHt5wXdbY6dyiPPACIjyMOdxuqEWieMtN4vqUwZpIG8UY54wp5MEnApMHphx4Vb7ZwOd 2WyaqiROjuyL6tHcJiYFw2RYLl9CIE00aOcp+QV/ZqDLS+Hm5RwMPXnqresP141rR9OC VBD17vIi3Q68CaWbOCBZ92Imjxo5qFxMvskWgmjBJyM5J6y15iM2I+2dVK1stKaiRgEX 0CM2NOTM5GjpiLOQ+Hbvf8TXn6zQFxDg+yf4rEkWcU3wTkI8BlNqbRqr+ZILu2RTOruV pghA== X-Forwarded-Encrypted: i=1; AJvYcCWtLBQQ70xTELYIEi709PZzFdN19HBhW5G3+Hkt+UUvlz0X/mCrvalg4W2fNcf2yPaqhNkOGkx26Dy8N+oj@lists.postgresql.org X-Gm-Message-State: AOJu0YyYvaenko3vyEY7FjiQtedtuoZKkHcRVu99Jzx/pwzdoe90GxPM kmxSc2wDjBPpe2CQOxFCMBgQA8CRBM+nIbzUL5Q/ML4S048MCYPK7bmtgaF6X48amin2nJ09WzF tRTY/WzU3MI9gt37ALMXiHoergbn6roQ= X-Gm-Gg: ATEYQzyeNWIeTEp7yyEcU3Qb83Mcg19kSDA0kLJcqdRYe4Qxwny12OEA4pgSF5om5/Q HHyHWPvmC3BW1ftBMPBWbiYu7VT1RKMWcEymJwR60zrGl/KeMMwtIaqs5ftTq3+7h3m+kpKrxg+ hyzmZ26o4suhISCroYDxpjrGjA3Q10p+GT61YjFiVrqQjDuTjTSbS6y9S/LCejsiVZt9tIIvqoh bogethg6exNnKIX+Oa7p5mvrOq4OCps6lloaTXIMIUcVkFQMC1x9z87uG6JFoXmv/JGkQuVHtSb dtLVqh37YotIClyyfMhH5j+qZjCKtV2QV+YKfAOT X-Received: by 2002:a05:6512:31d6:b0:5a1:3e11:2963 with SMTP id 2adb3069b0e04-5a162b13fe6mr2645273e87.39.1773548733657; Sat, 14 Mar 2026 21:25:33 -0700 (PDT) MIME-Version: 1.0 References: <2898f090-d9cf-475c-940c-a99da4a308f1@uni-muenster.de> <08052569-9384-41b5-bcb7-33929fcc6c71@uni-muenster.de> <2ba05acc-6392-42a4-b59e-61df086b2d4d@uni-muenster.de> <1d49e214-93bc-4928-945c-27e60251a6ad@uni-muenster.de> <9228b6dc-cfae-4a11-927a-209680f5507e@uni-muenster.de> In-Reply-To: <9228b6dc-cfae-4a11-927a-209680f5507e@uni-muenster.de> From: Marcos Magueta Date: Sun, 15 Mar 2026 01:25:22 -0300 X-Gm-Features: AaiRm52B7-A0L21co7iFLtgjbqBXUt6PsjBSIU8QOCYPBKVLNIp5qIHxBhJkq74 Message-ID: Subject: Re: WIP - xmlvalidate implementation from TODO list To: Jim Jones Cc: Andrey Borodin , Kirill Reshke , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000430bbd064d087ea0" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000430bbd064d087ea0 Content-Type: multipart/alternative; boundary="000000000000430bbc064d087e9e" --000000000000430bbc064d087e9e Content-Type: text/plain; charset="UTF-8" Hey again Jim, Sorry for the long pause on this. I was thinking about the idea of managing the catalogs for read and write, and I'm coming around to the idea of predefined roles after all. Relying on conventional namespace-level ACLs for this turns out to be impractical. With the normal ACL, a schema is object agnostic, so there's no clean way to selectively restrict XML schema creation without also affecting other objects in the sam enamespace. A simple scenario like limiting who can write already gets messy. I did consider RLS on the catalog, but that would be unprecedented for a pg_* table and would break assumptions throughout the system, like pg_dump, dependency tracking, syscache lookups... blah! That said, I'd like to hear from more people on this before committing to an approach, assuming there's still legitimate interest in moving this work forward. On the potential CPU burn from validation: I think in practice it's comparable to what you'd get from a complex index, heavy check constraint, or trigger function. However, the nature of the input (and I mean the XML schema definitions as plain text here), likely coming from the application layer, sets a warrant for extra caution I guess. Limiting the depth and size of both the schema and the document being validated would reduce compatibility, but goes a long way in preventing resource exhaustion, so it's a fairly trivial option to implement. I tested the changes on my own instance with Cirrus, so it might be the case of the version mismatch indeed. I simply reattached both as v6 once again (no changes, still working on master). Regards, Marcos. --000000000000430bbc064d087e9e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hey again Jim,

Sorry for the long pause on this.

I was thinking about the i= dea of managing the catalogs for read and write, and I'm coming around = to the idea of predefined roles after all. Relying on conventional namespac= e-level ACLs for this turns out to be impractical. With the normal ACL, a s= chema is object agnostic, so there's no clean way to selectively restri= ct XML schema creation without also affecting other objects in the sam=C2= =A0enamespace. A simple scenario like limiting who can write already gets m= essy. I did consider RLS on the catalog, but that would be unprecedented fo= r a pg_* table and would break assumptions throughout the system, like pg_d= ump, dependency tracking, syscache lookups... blah!

That said, I'= ;d like to hear from more people on this before committing to an approach, = assuming there's still legitimate interest in moving this work forward.=

On the potential CPU burn from validation: I think in practice it&#= 39;s comparable to what you'd get from a complex index, heavy check con= straint, or trigger function. However, the nature of the input (and I mean = the XML schema definitions as plain text here), likely coming from the appl= ication layer, sets a warrant for extra caution I guess. Limiting the depth= and size of both the schema and the document being validated would reduce = compatibility, but goes a long way in preventing resource exhaustion, so it= 's a fairly trivial option to implement.

I tested the= changes on my own instance with Cirrus, so it might be the case of the ver= sion mismatch indeed. I simply reattached both as v6 once again (no changes= , still working on master).

Regards, Marcos.
--000000000000430bbc064d087e9e-- --000000000000430bbd064d087ea0 Content-Type: application/x-patch; name="v6-0002-Add-XMLVALIDATE.patch" Content-Disposition: attachment; filename="v6-0002-Add-XMLVALIDATE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmqwrz8v0 RnJvbSBlMDMwZmMxNmU5MDgxYmM1NjllNmUyYjhjYmQzYjUyMmU0ZjY0MTYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0ZXIuZGU+ CkRhdGU6IFRodSwgNSBGZWIgMjAyNiAwOTowMDowMCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggdjUg Mi8yXSBBZGQgWE1MVkFMSURBVEUKCi0tLQogZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwgICAg ICAgICAgICB8ICAgNyArLQogZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy14bWwuc2dtbCAgICAgICB8 IDEwNSArKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAg fCAgMjggKysrKwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYyB8ICAyNyAr KysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgfCAgMTkgKystCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jICAgICAgIHwgIDQzICsrKysrCiBzcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgICAgIHwgICAzICsKIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9ydWxldXRpbHMuYyAgICAgfCAgMTcgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyAg ICAgICAgICAgfCAxNDQgKysrKysrKysrKysrKysrLQogc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5v ZGVzLmggICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAgICAg ICAgIHwgICAyICsKIHNyYy9pbmNsdWRlL3V0aWxzL3htbC5oICAgICAgICAgICAgICAgfCAgIDEg Kwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0ICAgICB8IDIzMyArKysrKysrKysr KysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQgICB8 IDIwOCArKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94 bWxfMi5vdXQgICB8IDIzMyArKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9zcWwveG1sLnNxbCAgICAgICAgICB8IDIwOSArKysrKysrKysrKysrKysrKysrKysrKwog MTYgZmlsZXMgY2hhbmdlZCwgMTI3MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kYXRhdHlwZS5zZ21sIGIvZG9jL3NyYy9zZ21sL2RhdGF0 eXBlLnNnbWwKaW5kZXggZjJhZGU1N2ZlNy4uZGRhZjdjNGQzZCAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL2RhdGF0eXBlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKQEAg LTQ1MTAsOCArNDUxMCwxMSBAQCB4bWwgJzxmb28+YmFyPC9mb28+JwogICAgIGFnYWluc3QgYSBk b2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uCiAgICAgKERURCksPGluZGV4dGVybT48cHJpbWFyeT5E VEQ8L3ByaW1hcnk+PC9pbmRleHRlcm0+CiAgICAgZXZlbiB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBz cGVjaWZpZXMgYSBEVEQuCi0gICAgVGhlcmUgaXMgYWxzbyBjdXJyZW50bHkgbm8gYnVpbHQtaW4g c3VwcG9ydCBmb3IgdmFsaWRhdGluZyBhZ2FpbnN0Ci0gICAgb3RoZXIgWE1MIHNjaGVtYSBsYW5n dWFnZXMgc3VjaCBhcyBYTUwgU2NoZW1hLgorICAgIEhvd2V2ZXIsIDxwcm9kdWN0bmFtZT5Qb3N0 Z3JlU1FMPC9wcm9kdWN0bmFtZT4gcHJvdmlkZXMgdGhlCisgICAgPGZ1bmN0aW9uPlhNTFZBTElE QVRFPC9mdW5jdGlvbj4gZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgWE1MIGRvY3VtZW50cworICAg IGFnYWluc3QgWE1MIFNjaGVtYSAoWFNEKSBkb2N1bWVudHMuIFNlZQorICAgIDx4cmVmIGxpbmtl bmQ9ImZ1bmN0aW9ucy14bWwtcHJvY2Vzc2luZy14bWx2YWxpZGF0ZSIvPiBhbmQKKyAgICA8eHJl ZiBsaW5rZW5kPSJzcWwtY3JlYXRleG1sc2NoZW1hIi8+IGZvciBtb3JlIGluZm9ybWF0aW9uLgog ICAgPC9wYXJhPgogCiAgICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1 bmMteG1sLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZnVuYy9mdW5jLXhtbC5zZ21sCmluZGV4IDUxMWJj OTA4NTIuLmM0YTZlODlkMGUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMteG1s LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy14bWwuc2dtbApAQCAtMTAwNyw2ICsx MDA3LDExMSBAQCBTRUxFQ1QgeG1sdGFibGUuKgogICAgMyB8ICAgNAogICAgNCB8ICAgNQogKDMg cm93cykKK11dPjwvc2NyZWVuPgorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDM+CisKKyAgIDxzZWN0 MyBpZD0iZnVuY3Rpb25zLXhtbC1wcm9jZXNzaW5nLXhtbHZhbGlkYXRlIj4KKyAgICA8dGl0bGU+ PGxpdGVyYWw+eG1sdmFsaWRhdGU8L2xpdGVyYWw+PC90aXRsZT4KKworICAgIDxpbmRleHRlcm0+ CisgICAgIDxwcmltYXJ5PnhtbHZhbGlkYXRlPC9wcmltYXJ5PgorICAgIDwvaW5kZXh0ZXJtPgor Cis8c3lub3BzaXM+Cis8ZnVuY3Rpb24+WE1MVkFMSURBVEU8L2Z1bmN0aW9uPiAoIDxsaXRlcmFs PkRPQ1VNRU5UPC9saXRlcmFsPiA8cmVwbGFjZWFibGU+eG1sX3ZhbHVlPC9yZXBsYWNlYWJsZT4g PGxpdGVyYWw+QUNDT1JESU5HIFRPIFhNTFNDSEVNQTwvbGl0ZXJhbD4gPHJlcGxhY2VhYmxlPnNj aGVtYV9uYW1lPC9yZXBsYWNlYWJsZT4gKSA8cmV0dXJudmFsdWU+eG1sPC9yZXR1cm52YWx1ZT4K Kzwvc3lub3BzaXM+CisKKyAgICA8cGFyYT4KKyAgICAgVGhlIDxmdW5jdGlvbj54bWx2YWxpZGF0 ZTwvZnVuY3Rpb24+IGZ1bmN0aW9uIHZhbGlkYXRlcyBhbiBYTUwgZG9jdW1lbnQKKyAgICAgYWdh aW5zdCBhbiBYTUwgU2NoZW1hLiBUaGUgc2NoZW1hIG11c3QgaGF2ZSBiZWVuIHByZXZpb3VzbHkg Y3JlYXRlZCB1c2luZworICAgICA8Y29tbWFuZD5DUkVBVEUgWE1MU0NIRU1BPC9jb21tYW5kPi4g SWYgdGhlIFhNTCBpcyB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlCisgICAgIHNjaGVtYSwgdGhlIGZ1 bmN0aW9uIHJldHVybnMgdGhlIFhNTCB2YWx1ZSB1bmNoYW5nZWQuIElmIHZhbGlkYXRpb24gZmFp bHMsCisgICAgIGFuIGVycm9yIGlzIHJhaXNlZC4gSWYgPHJlcGxhY2VhYmxlPnhtbF92YWx1ZTwv cmVwbGFjZWFibGU+IGlzCisgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+LCB0aGUgZnVuY3Rp b24gcmV0dXJucyA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPi4KKyAgICA8L3BhcmE+CisKKyAgICA8 cGFyYT4KKyAgICAgVGhlIDxyZXBsYWNlYWJsZT5zY2hlbWFfbmFtZTwvcmVwbGFjZWFibGU+IGFy Z3VtZW50IHNwZWNpZmllcyB0aGUgbmFtZQorICAgICBvZiBhbiBYTUwgc2NoZW1hIHN0b3JlZCBp biB0aGUgZGF0YWJhc2UuIEl0IGNhbiBiZSBzY2hlbWEtcXVhbGlmaWVkCisgICAgIChlLmcuLCA8 bGl0ZXJhbD5teXNjaGVtYS5wZXJzb25fc2NoZW1hPC9saXRlcmFsPikgb3IgdW5xdWFsaWZpZWQs IGluCisgICAgIHdoaWNoIGNhc2UgaXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IgaW4gdGhlIGN1cnJl bnQgc2NoZW1hIHNlYXJjaCBwYXRoLgorICAgICBUaGUgdXNlciBtdXN0IGhhdmUgPGxpdGVyYWw+ VVNBR0U8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0aGUgc2NoZW1hLgorICAgIDwvcGFyYT4KKwor ICAgIDxwYXJhPgorICAgICBFeGFtcGxlczoKKzxzY3JlZW4+PCFbQ0RBVEFbCitDUkVBVEUgWE1M U0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVt YSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxl bWVudCBuYW1lPSJwZXJzb24iPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1 ZW5jZT4KKyAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4K KyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAg ICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4K KzwveHM6c2NoZW1hPic7CisKK1NFTEVDVCB4bWx2YWxpZGF0ZShET0NVTUVOVCAnPHBlcnNvbj48 bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBY TUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisKKyAgICAgICAgICAgICAgICAgeG1sdmFsaWRhdGUK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwZXJzb24+ PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+PC9wZXJzb24+CisoMSByb3cpCitdXT48L3Nj cmVlbj4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgVGhpcyBleGFtcGxlIHNob3dz IGEgdmFsaWRhdGlvbiBmYWlsdXJlIGR1ZSB0byBhIG1pc3NpbmcgcmVxdWlyZWQgZWxlbWVudDoK KzxzY3JlZW4+PCFbQ0RBVEFbCitTRUxFQ1QgeG1sdmFsaWRhdGUoRE9DVU1FTlQgJzxwZXJzb24+ PG5hbWU+Sm9objwvbmFtZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVy c29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorXV0+PC9zY3JlZW4+ CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIFNjaGVtYS1xdWFsaWZpZWQgbmFtZXMg YXJlIHN1cHBvcnRlZDoKKzxzY3JlZW4+PCFbQ0RBVEFbCitDUkVBVEUgU0NIRU1BIHRlc3Rfc2No ZW1hOworQ1JFQVRFIFhNTFNDSEVNQSB0ZXN0X3NjaGVtYS5wcm9kdWN0X3NjaGVtYSBBUyAnPD94 bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9y Zy8yMDAxL1hNTFNjaGVtYSI+CisgPHhzOmVsZW1lbnQgbmFtZT0icHJvZHVjdCI+CisgICAgPHhz OmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i cHJpY2UiIHR5cGU9InhzOmRlY2ltYWwiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8 eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4K KyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOwor CitTRUxFQ1QgeG1sdmFsaWRhdGUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1lPldp ZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSB0ZXN0X3NjaGVtYS5wcm9kdWN0X3NjaGVtYSk7CisKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgeG1sdmFsaWRhdGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwcm9kdWN0IGlkPSIxMjMiPjxuYW1l PldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PgorKDEgcm93KQorXV0+ PC9zY3JlZW4+CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIFNpbmNlIDxmdW5jdGlv bj54bWx2YWxpZGF0ZTwvZnVuY3Rpb24+IHJldHVybnMgPHR5cGU+eG1sPC90eXBlPiwgaXQgY2Fu CisgICAgIGJlIGNvbXBvc2VkIHdpdGggb3RoZXIgWE1MIGZ1bmN0aW9uczoKKzxzY3JlZW4+PCFb Q0RBVEFbCitTRUxFQ1QgeG1sc2VyaWFsaXplKERPQ1VNRU5UCisgIHhtbHZhbGlkYXRlKERPQ1VN RU5UICc8cGVyc29uPjxuYW1lPkFsaWNlPC9uYW1lPjxhZ2U+MjU8L2FnZT48L3BlcnNvbj4nCisg ICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0ZXh0KTsKKworICAg ICAgICAgICAgICB4bWxzZXJpYWxpemUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIDxwZXJzb24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVy c29uPgorKDEgcm93KQogXV0+PC9zY3JlZW4+CiAgICAgPC9wYXJhPgogICAgPC9zZWN0Mz4KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9kZXBlbmRlbmN5LmMKaW5kZXggMGI4ZDhlMzE1Mi4uNTBjZTM4NzFlNyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTI0MTksNiArMjQxOSwzNCBAQCBmaW5kX2V4cHJfcmVm ZXJlbmNlc193YWxrZXIoTm9kZSAqbm9kZSwKIAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKIAkJ LyogZmFsbCB0aHJvdWdoIHRvIGV4YW1pbmUgYXJndW1lbnRzICovCiAJfQorCWVsc2UgaWYgKElz QShub2RlLCBYbWxFeHByKSkKKwl7CisJCVhtbEV4cHIgICAgKnhtbGV4cHIgPSAoWG1sRXhwciAq KSBub2RlOworCisJCS8qCisJCSAqIFhNTFZBTElEQVRFJ3Mgc2Vjb25kIGFyZ3VtZW50IGlzIGEg Q29uc3QgY29udGFpbmluZyB0aGUgc2NoZW1hIE9JRC4KKwkJICogUmVjb3JkIGEgZGVwZW5kZW5j eSBvbiBpdC4KKwkJICovCisJCWlmICh4bWxleHByLT5vcCA9PSBJU19YTUxWQUxJREFURSAmJiBs aXN0X2xlbmd0aCh4bWxleHByLT5hcmdzKSA9PSAyKQorCQl7CisJCQlOb2RlCSAgICpzY2hlbWFf YXJnID0gKE5vZGUgKikgbHNlY29uZCh4bWxleHByLT5hcmdzKTsKKworCQkJaWYgKElzQShzY2hl bWFfYXJnLCBDb25zdCkpCisJCQl7CisJCQkJQ29uc3QJICAgKnNjaGVtYV9jb25zdCA9IChDb25z dCAqKSBzY2hlbWFfYXJnOworCQkJCU9pZAkJCXNjaGVtYV9vaWQ7CisKKwkJCQlpZiAoIXNjaGVt YV9jb25zdC0+Y29uc3Rpc251bGwgJiYKKwkJCQkJc2NoZW1hX2NvbnN0LT5jb25zdHR5cGUgPT0g T0lET0lEKQorCQkJCXsKKwkJCQkJc2NoZW1hX29pZCA9IERhdHVtR2V0T2JqZWN0SWQoc2NoZW1h X2NvbnN0LT5jb25zdHZhbHVlKTsKKwkJCQkJYWRkX29iamVjdF9hZGRyZXNzKFhtbFNjaGVtYVJl bGF0aW9uSWQsIHNjaGVtYV9vaWQsIDAsCisJCQkJCQkJCQkgICBjb250ZXh0LT5hZGRycyk7CisJ CQkJfQorCQkJfQorCQl9CisJCS8qIGZhbGwgdGhyb3VnaCB0byBleGFtaW5lIGFyZ3VtZW50cyAq LworCX0KIAogCXJldHVybiBleHByZXNzaW9uX3RyZWVfd2Fsa2VyKG5vZGUsIGZpbmRfZXhwcl9y ZWZlcmVuY2VzX3dhbGtlciwKIAkJCQkJCQkJICBjb250ZXh0KTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9l eGVjRXhwckludGVycC5jCmluZGV4IDYxZmY1ZGRjNzQuLjdhYjQ0MmQ2YmYgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMKKysrIGIvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYwpAQCAtNDYzMCw2ICs0NjMwLDMzIEBAIEV4ZWNFdmFs WG1sRXhwcihFeHByU3RhdGUgKnN0YXRlLCBFeHByRXZhbFN0ZXAgKm9wKQogCQkJfQogCQkJYnJl YWs7CiAKKwkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCXsKKwkJCQlEYXR1bQkgICAqYXJndmFs dWUgPSBvcC0+ZC54bWxleHByLmFyZ3ZhbHVlOworCQkJCWJvb2wJICAgKmFyZ251bGwgPSBvcC0+ ZC54bWxleHByLmFyZ251bGw7CisJCQkJeG1sdHlwZSAgICAqZGF0YTsKKwkJCQlPaWQJCQlzY2hl bWFfb2lkOworCQkJCXhtbHR5cGUgICAgKnJlc3VsdDsKKworCQkJCS8qIFR3byBhcmd1bWVudHM6 IFhNTCBkYXRhIGFuZCBzY2hlbWEgT0lEICovCisJCQkJQXNzZXJ0KGxpc3RfbGVuZ3RoKHhleHBy LT5hcmdzKSA9PSAyKTsKKworCQkJCWlmIChhcmdudWxsWzBdIHx8IGFyZ251bGxbMV0pCisJCQkJ eworCQkJCQkqb3AtPnJlc251bGwgPSB0cnVlOworCQkJCQlyZXR1cm47CisJCQkJfQorCisJCQkJ ZGF0YSA9IERhdHVtR2V0WG1sUChhcmd2YWx1ZVswXSk7CisJCQkJc2NoZW1hX29pZCA9IERhdHVt R2V0T2JqZWN0SWQoYXJndmFsdWVbMV0pOworCisJCQkJcmVzdWx0ID0geG1sdmFsaWRhdGVfc2No ZW1hKGRhdGEsIHNjaGVtYV9vaWQpOworCisJCQkJKm9wLT5yZXN2YWx1ZSA9IFBvaW50ZXJHZXRE YXR1bShyZXN1bHQpOworCQkJCSpvcC0+cmVzbnVsbCA9IGZhbHNlOworCQkJfQorCQkJYnJlYWs7 CisKIAkJY2FzZSBJU19ET0NVTUVOVDoKIAkJCXsKIAkJCQlEYXR1bQkgICAqYXJndmFsdWUgPSBv cC0+ZC54bWxleHByLmFyZ3ZhbHVlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggOTg4NjI1MGMyNS4uOWVmYzFl OTdkMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFj a2VuZC9wYXJzZXIvZ3JhbS55CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VS ZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1 ZXJ5KTsKICAqLwogCiAvKiBvcmRpbmFyeSBrZXkgd29yZHMgaW4gYWxwaGFiZXRpY2FsIG9yZGVy ICovCi0ldG9rZW4gPGtleXdvcmQ+IEFCT1JUX1AgQUJTRU5UIEFCU09MVVRFX1AgQUNDRVNTIEFD VElPTiBBRERfUCBBRE1JTiBBRlRFUgorJXRva2VuIDxrZXl3b3JkPiBBQk9SVF9QIEFCU0VOVCBB QlNPTFVURV9QIEFDQ0VTUyBBQ0NPUkRJTkcgQUNUSU9OIEFERF9QIEFETUlOIEFGVEVSCiAJQUdH UkVHQVRFIEFMTCBBTFNPIEFMVEVSIEFMV0FZUyBBTkFMWVNFIEFOQUxZWkUgQU5EIEFOWSBBUlJB WSBBUyBBU0MKIAlBU0VOU0lUSVZFIEFTU0VSVElPTiBBU1NJR05NRU5UIEFTWU1NRVRSSUMgQVRP TUlDIEFUIEFUVEFDSCBBVFRSSUJVVEUgQVVUSE9SSVpBVElPTgogCkBAIC03OTgsNyArNzk4LDcg QEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExp c3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAlXQUlUIFdIRU4gV0hFUkUgV0hJVEVTUEFDRV9Q IFdJTkRPVyBXSVRIIFdJVEhJTiBXSVRIT1VUIFdPUksgV1JBUFBFUiBXUklURQogCiAJWE1MX1Ag WE1MQVRUUklCVVRFUyBYTUxDT05DQVQgWE1MRUxFTUVOVCBYTUxFWElTVFMgWE1MRk9SRVNUIFhN TE5BTUVTUEFDRVMKLQlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNDSEVNQSBYTUxTRVJJQUxJ WkUgWE1MVEFCTEUKKwlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNDSEVNQSBYTUxTRVJJQUxJ WkUgWE1MVEFCTEUgWE1MVkFMSURBVEUKIAogCVlFQVJfUCBZRVNfUAogCkBAIC0xNjM0OCw2ICsx NjM0OCwxNyBAQCBmdW5jX2V4cHJfY29tbW9uX3N1YmV4cHI6CiAJCQkJCW4tPmxvY2F0aW9uID0g QDE7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IFhNTFZBTElEQVRFICcoJyBE T0NVTUVOVF9QIGFfZXhwciBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGFueV9uYW1lICcpJworCQkJ CXsKKwkJCQkJWG1sRXhwciAqeCA9IChYbWxFeHByICopCisJCQkJCQltYWtlWG1sRXhwcihJU19Y TUxWQUxJREFURSwgTlVMTCwgJDgsCisJCQkJCQkJCQlsaXN0X21ha2UxKCQ0KSwKKwkJCQkJCQkJ CUAxKTsKKworCQkJCQl4LT54bWxvcHRpb24gPSBYTUxPUFRJT05fRE9DVU1FTlQ7CisJCQkJCXgt PmxvY2F0aW9uID0gQDE7CisJCQkJCSQkID0gKE5vZGUgKikgeDsKKwkJCQl9CiAJCQl8IEpTT05f T0JKRUNUICcoJyBmdW5jX2FyZ19saXN0ICcpJwogCQkJCXsKIAkJCQkJLyogU3VwcG9ydCBmb3Ig bGVnYWN5IChub24tc3RhbmRhcmQpIGpzb25fb2JqZWN0KCkgKi8KQEAgLTE3OTU4LDYgKzE3OTY5 LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBBQlNFTlQKIAkJCXwgQUJTT0xVVEVfUAog CQkJfCBBQ0NFU1MKKwkJCXwgQUNDT1JESU5HCiAJCQl8IEFDVElPTgogCQkJfCBBRERfUAogCQkJ fCBBRE1JTgpAQCAtMTgzNjcsNiArMTgzNzksNyBAQCBjb2xfbmFtZV9rZXl3b3JkOgogCQkJfCBY TUxST09UCiAJCQl8IFhNTFNFUklBTElaRQogCQkJfCBYTUxUQUJMRQorCQkJfCBYTUxWQUxJREFU RQogCQk7CiAKIC8qIFR5cGUvZnVuY3Rpb24gaWRlbnRpZmllciAtLS0ga2V5d29yZHMgdGhhdCBj YW4gYmUgdHlwZSBvciBmdW5jdGlvbiBuYW1lcy4KQEAgLTE4NTA2LDYgKzE4NTE5LDcgQEAgYmFy ZV9sYWJlbF9rZXl3b3JkOgogCQkJfCBBQlNFTlQKIAkJCXwgQUJTT0xVVEVfUAogCQkJfCBBQ0NF U1MKKwkJCXwgQUNDT1JESU5HCiAJCQl8IEFDVElPTgogCQkJfCBBRERfUAogCQkJfCBBRE1JTgpA QCAtMTg5NjAsNiArMTg5NzQsNyBAQCBiYXJlX2xhYmVsX2tleXdvcmQ6CiAJCQl8IFhNTFNDSEVN QQogCQkJfCBYTUxTRVJJQUxJWkUKIAkJCXwgWE1MVEFCTEUKKwkJCXwgWE1MVkFMSURBVEUKIAkJ CXwgWUVTX1AKIAkJCXwgWk9ORQogCQk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfZXhwci5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwppbmRleCBkY2Zl MWFjYzRjLi4wOThmMTNmNjY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vf ZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKQEAgLTE2LDYgKzE2 LDcgQEAKICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCiAjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0 YWlscy5oIgorI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19hZ2dyZWdhdGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRl ICJtaXNjYWRtaW4uaCIKQEAgLTIzNzAsNiArMjM3MSw3IEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFy c2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4KQogCVhtbEV4cHIgICAgKm5ld3g7CiAJTGlzdENl bGwgICAqbGM7CiAJaW50CQkJaTsKKwlPaWQJCQl4bWx2YWxpZGF0ZV9zY2hlbWFfb2lkID0gSW52 YWxpZE9pZDsKIAogCW5ld3ggPSBtYWtlTm9kZShYbWxFeHByKTsKIAluZXd4LT5vcCA9IHgtPm9w OwpAQCAtMjM4Miw2ICsyMzg0LDIyIEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBYbWxFeHByICp4KQogCW5ld3gtPnR5cG1vZCA9IC0xOwogCW5ld3gtPmxvY2F0aW9uID0g eC0+bG9jYXRpb247CiAKKwkvKgorCSAqIFhNTFZBTElEQVRFIHN0b3JlcyB0aGUgc2NoZW1hIG5h bWUgbGlzdCBpbiBuYW1lZF9hcmdzLCBub3QgUmVzVGFyZ2V0cy4KKwkgKiBFeHRyYWN0IGl0IGJl Zm9yZSBwcm9jZXNzaW5nIG5hbWVkIGFyZ3VtZW50cy4KKwkgKi8KKwlpZiAoeC0+b3AgPT0gSVNf WE1MVkFMSURBVEUgJiYgeC0+bmFtZWRfYXJncyAhPSBOSUwpCisJeworCQlMaXN0CSAgICpzY2hl bWFfbmFtZV9saXN0OworCisJCXNjaGVtYV9uYW1lX2xpc3QgPSB4LT5uYW1lZF9hcmdzOworCQl4 bWx2YWxpZGF0ZV9zY2hlbWFfb2lkID0gZ2V0X3htbHNjaGVtYV9vaWQoc2NoZW1hX25hbWVfbGlz dCwgZmFsc2UpOworCQkvKiBQcmVzZXJ2ZSBzY2hlbWEgbmFtZSBmb3IgZGVwYXJzaW5nICovCisJ CW5ld3gtPm5hbWUgPSBOYW1lTGlzdFRvU3RyaW5nKHNjaGVtYV9uYW1lX2xpc3QpOworCQkvKiBD bGVhciB0byBhdm9pZCBwcm9jZXNzaW5nIGFzIFJlc1RhcmdldHMgKi8KKwkJeC0+bmFtZWRfYXJn cyA9IE5JTDsKKwl9CisKIAkvKgogCSAqIGdyYW0ueSBidWlsdCB0aGUgbmFtZWQgYXJncyBhcyBh IGxpc3Qgb2YgUmVzVGFyZ2V0LiAgVHJhbnNmb3JtIGVhY2gsCiAJICogYW5kIGJyZWFrIHRoZSBu YW1lcyBvdXQgYXMgYSBzZXBhcmF0ZSBsaXN0LgpAQCAtMjQ4MSw2ICsyNDk5LDExIEBAIHRyYW5z Zm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4KQogCQkJCS8qIG5vdCBo YW5kbGVkIGhlcmUgKi8KIAkJCQlBc3NlcnQoZmFsc2UpOwogCQkJCWJyZWFrOworCQkJY2FzZSBJ U19YTUxWQUxJREFURToKKwkJCQkvKiBGaXJzdCBhcmd1bWVudCBpcyB0aGUgWE1MIGRhdGEgKi8K KwkJCQluZXdlID0gY29lcmNlX3RvX3NwZWNpZmljX3R5cGUocHN0YXRlLCBuZXdlLCBYTUxPSUQs CisJCQkJCQkJCQkJCSAgICJYTUxWQUxJREFURSIpOworCQkJCWJyZWFrOwogCQkJY2FzZSBJU19E T0NVTUVOVDoKIAkJCQluZXdlID0gY29lcmNlX3RvX3NwZWNpZmljX3R5cGUocHN0YXRlLCBuZXdl LCBYTUxPSUQsCiAJCQkJCQkJCQkJCSAgICJJUyBET0NVTUVOVCIpOwpAQCAtMjQ5MCw2ICsyNTEz LDI2IEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4KQog CQlpKys7CiAJfQogCisJLyogRm9yIFhNTFZBTElEQVRFLCBhZGQgdGhlIHNjaGVtYSBPSUQgYXMg c2Vjb25kIGFyZ3VtZW50ICovCisJaWYgKHgtPm9wID09IElTX1hNTFZBTElEQVRFKQorCXsKKwkJ Q29uc3QJICAgKnNjaGVtYV9vaWRfY29uc3Q7CisKKwkJQXNzZXJ0KE9pZElzVmFsaWQoeG1sdmFs aWRhdGVfc2NoZW1hX29pZCkpOworCisJCXNjaGVtYV9vaWRfY29uc3QgPSBtYWtlQ29uc3QoT0lE T0lELAorCQkJCQkJCQkJIC0xLAorCQkJCQkJCQkJIEludmFsaWRPaWQsCisJCQkJCQkJCQkgc2l6 ZW9mKE9pZCksCisJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bSh4bWx2YWxpZGF0ZV9zY2hlbWFf b2lkKSwKKwkJCQkJCQkJCSBmYWxzZSwKKwkJCQkJCQkJCSB0cnVlKTsKKwkJbmV3eC0+YXJncyA9 IGxhcHBlbmQobmV3eC0+YXJncywgc2NoZW1hX29pZF9jb25zdCk7CisKKwkJLyogUmV0dXJuIHR5 cGUgaXMgWE1MICovCisJCW5ld3gtPnR5cGUgPSBYTUxPSUQ7CisJfQorCiAJcmV0dXJuIChOb2Rl ICopIG5ld3g7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJn ZXQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYwppbmRleCBiNWEyZjkxNWI2 Li5iMzgwYmIzOWViIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0 LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3RhcmdldC5jCkBAIC0xOTc2LDYgKzE5 NzYsOSBAQCBGaWd1cmVDb2xuYW1lSW50ZXJuYWwoTm9kZSAqbm9kZSwgY2hhciAqKm5hbWUpCiAJ CQkJY2FzZSBJU19YTUxTRVJJQUxJWkU6CiAJCQkJCSpuYW1lID0gInhtbHNlcmlhbGl6ZSI7CiAJ CQkJCXJldHVybiAyOworCQkJCWNhc2UgSVNfWE1MVkFMSURBVEU6CisJCQkJCSpuYW1lID0gInht bHZhbGlkYXRlIjsKKwkJCQkJcmV0dXJuIDI7CiAJCQkJY2FzZSBJU19ET0NVTUVOVDoKIAkJCQkJ Lyogbm90aGluZyAqLwogCQkJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9ydWxldXRpbHMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRl eCBiNWE3YWQ5MDY2Li5jZDhhOTE2OWE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcnVsZXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jCkBA IC0xMDExOSwxNyArMTAxMTksMjAgQEAgZ2V0X3J1bGVfZXhwcihOb2RlICpub2RlLCBkZXBhcnNl X2NvbnRleHQgKmNvbnRleHQsCiAJCQkJCWNhc2UgSVNfWE1MU0VSSUFMSVpFOgogCQkJCQkJYXBw ZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICJYTUxTRVJJQUxJWkUoIik7CiAJCQkJCQlicmVhazsK KwkJCQkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmco YnVmLCAiWE1MVkFMSURBVEUoIik7CisJCQkJCQlicmVhazsKIAkJCQkJY2FzZSBJU19ET0NVTUVO VDoKIAkJCQkJCWJyZWFrOwogCQkJCX0KLQkJCQlpZiAoeGV4cHItPm9wID09IElTX1hNTFBBUlNF IHx8IHhleHByLT5vcCA9PSBJU19YTUxTRVJJQUxJWkUpCisJCQkJaWYgKHhleHByLT5vcCA9PSBJ U19YTUxQQVJTRSB8fCB4ZXhwci0+b3AgPT0gSVNfWE1MU0VSSUFMSVpFIHx8IHhleHByLT5vcCA9 PSBJU19YTUxWQUxJREFURSkKIAkJCQl7CiAJCQkJCWlmICh4ZXhwci0+eG1sb3B0aW9uID09IFhN TE9QVElPTl9ET0NVTUVOVCkKIAkJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiRE9D VU1FTlQgIik7CiAJCQkJCWVsc2UKIAkJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAi Q09OVEVOVCAiKTsKIAkJCQl9Ci0JCQkJaWYgKHhleHByLT5uYW1lKQorCQkJCWlmICh4ZXhwci0+ bmFtZSAmJiB4ZXhwci0+b3AgIT0gSVNfWE1MVkFMSURBVEUpCiAJCQkJewogCQkJCQlhcHBlbmRT dHJpbmdJbmZvKGJ1ZiwgIk5BTUUgJXMiLAogCQkJCQkJCQkJIHF1b3RlX2lkZW50aWZpZXIobWFw X3htbF9uYW1lX3RvX3NxbF9pZGVudGlmaWVyKHhleHByLT5uYW1lKSkpOwpAQCAtMTAxNzMsNiAr MTAxNzYsOSBAQCBnZXRfcnVsZV9leHByKE5vZGUgKm5vZGUsIGRlcGFyc2VfY29udGV4dCAqY29u dGV4dCwKIAkJCQkJCQkvKiBubyBleHRyYSBkZWNvcmF0aW9uIG5lZWRlZCAqLwogCQkJCQkJCWdl dF9ydWxlX2V4cHIoKE5vZGUgKikgeGV4cHItPmFyZ3MsIGNvbnRleHQsIHRydWUpOwogCQkJCQkJ CWJyZWFrOworCQkJCQkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCQkJCQlnZXRfcnVsZV9leHBy KChOb2RlICopIGxpbml0aWFsKHhleHByLT5hcmdzKSwgY29udGV4dCwgdHJ1ZSk7CisJCQkJCQkJ YnJlYWs7CiAJCQkJCQljYXNlIElTX1hNTFBBUlNFOgogCQkJCQkJCUFzc2VydChsaXN0X2xlbmd0 aCh4ZXhwci0+YXJncykgPT0gMik7CiAKQEAgLTEwMjQyLDYgKzEwMjQ4LDEzIEBAIGdldF9ydWxl X2V4cHIoTm9kZSAqbm9kZSwgZGVwYXJzZV9jb250ZXh0ICpjb250ZXh0LAogCQkJCQkJYXBwZW5k U3RyaW5nSW5mb1N0cmluZyhidWYsICIgTk8gSU5ERU5UIik7CiAJCQkJfQogCisJCQkJaWYgKHhl eHByLT5vcCA9PSBJU19YTUxWQUxJREFURSkKKwkJCQl7CisJCQkJCS8qIE91dHB1dCB0aGUgc2No ZW1hIG5hbWUgc3RvcmVkIGR1cmluZyBwYXJzZSBhbmFseXNpcyAqLworCQkJCQlhcHBlbmRTdHJp bmdJbmZvKGJ1ZiwgIiBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BICVzIiwKKwkJCQkJCQkJCSBxdW90 ZV9pZGVudGlmaWVyKHhleHByLT5uYW1lKSk7CisJCQkJfQorCiAJCQkJaWYgKHhleHByLT5vcCA9 PSBJU19ET0NVTUVOVCkKIAkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICIgSVMgRE9D VU1FTlQiKTsKIAkJCQllbHNlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQveG1s LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMKaW5kZXggZjY5ZGM2ODI4Ni4uZDU3YzNj MDdmOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC94bWwuYwpAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgPGxpYnht bC94bWx3cml0ZXIuaD4KICNpbmNsdWRlIDxsaWJ4bWwveHBhdGguaD4KICNpbmNsdWRlIDxsaWJ4 bWwveHBhdGhJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hcy5oPgogCiAv KgogICogV2UgdXNlZCB0byBjaGVjayBmb3IgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCB2aWEg YSBjb25maWd1cmUgdGVzdDsgYnV0CkBAIC04NCw2ICs4NSw3IEBACiAjaW5jbHVkZSAiY2F0YWxv Zy9uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NsYXNzLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWEuaCIKICNp bmNsdWRlICJleGVjdXRvci9zcGkuaCIKICNpbmNsdWRlICJleGVjdXRvci90YWJsZWZ1bmMuaCIK ICNpbmNsdWRlICJmbWdyLmgiCkBAIC05NCw2ICs5Niw3IEBACiAjaW5jbHVkZSAibm9kZXMvZXhl Y25vZGVzLmgiCiAjaW5jbHVkZSAibm9kZXMvbWlzY25vZGVzLmgiCiAjaW5jbHVkZSAibm9kZXMv bm9kZUZ1bmNzLmgiCisjaW5jbHVkZSAidXRpbHMvYWNsLmgiCiAjaW5jbHVkZSAidXRpbHMvYXJy YXkuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2RhdGUu aCIKQEAgLTExNTgsMTAgKzExNjEsMTQ3IEBAIHhtbHZhbGlkYXRlKFBHX0ZVTkNUSU9OX0FSR1Mp CiB7CiAJZXJlcG9ydChFUlJPUiwKIAkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQ UE9SVEVEKSwKLQkJCSBlcnJtc2coInhtbHZhbGlkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCIpKSk7 CisJCQkgZXJybXNnKCJ4bWx2YWxpZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQgYWdhaW5zdCBnZW5l cmFsaXplZCBzY2hlbWEgZGVmaW5pdGlvbnMiKSkpOwogCXJldHVybiAwOwogfQogCisvKgorICog eG1sdmFsaWRhdGVfc2NoZW1hIC0gdmFsaWRhdGUgWE1MIGRvY3VtZW50IGFnYWluc3QgYSByZWdp c3RlcmVkIFhNTCBTY2hlbWEKKyAqCisgKiBWYWxpZGF0ZXMgdGhlIGdpdmVuIFhNTCBkb2N1bWVu dCBhZ2FpbnN0IHRoZSBzY2hlbWEgaWRlbnRpZmllZCBieSBhIHNjaGVtYV9vaWQuCisgKiBSZXR1 cm5zIHRoZSB2YWxpZGF0ZWQgWE1MIHZhbHVlLCBvciByYWlzZXMgYW4gZXJyb3IgaWYgdGhlIHZh bGlkYXRpb24gZmFpbHMuCisgKi8KK3htbHR5cGUgKgoreG1sdmFsaWRhdGVfc2NoZW1hKHhtbHR5 cGUgKmRhdGEsIE9pZCBzY2hlbWFfb2lkKQoreworI2lmZGVmIFVTRV9MSUJYTUwKKwlIZWFwVHVw bGUJdHVwbGU7CisJRGF0dW0JCXNjaGVtYV9kYXR1bTsKKwlib29sCQlpc251bGw7CisJeG1sdHlw ZSAgICAqc2NoZW1hX3htbDsKKwljaGFyCSAgICpzY2hlbWFzdHI7CisJdm9sYXRpbGUgeG1sRG9j UHRyIGRvYyA9IE5VTEw7CisJdm9sYXRpbGUJeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBzY2hlbWFf cGFyc2VyX2N0eHQgPSBOVUxMOworCXZvbGF0aWxlCXhtbFNjaGVtYVB0ciBzY2hlbWFfcHRyID0g TlVMTDsKKwl2b2xhdGlsZQl4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmFsaWRfY3R4dCA9IE5VTEw7 CisJaW50CQkJcmVzdWx0OworCVBnWG1sRXJyb3JDb250ZXh0ICp4bWxlcnJjeHQ7CisJQWNsUmVz dWx0CWFjbHJlc3VsdDsKKworCS8qIENoZWNrIHVzYWdlIHBlcm1pc3Npb24gZmlyc3QgKi8KKwlh Y2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2soWG1sU2NoZW1hUmVsYXRpb25JZCwgc2NoZW1hX29p ZCwKKwkJCQkJCQkJR2V0VXNlcklkKCksIEFDTF9VU0FHRSk7CisJaWYgKGFjbHJlc3VsdCAhPSBB Q0xDSEVDS19PSykKKwl7CisJCS8qIEZldGNoIHR1cGxlIG9ubHkgdG8gZ2V0IG5hbWUgZm9yIHRo ZSBlcnJvciBtZXNzYWdlICovCisJCUZvcm1fcGdfeG1sc2NoZW1hIHNjaGVtYV9mb3JtOworCisJ CXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFhNTFNDSEVNQU9JRCwgT2JqZWN0SWRHZXREYXR1bShz Y2hlbWFfb2lkKSk7CisJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCQllbG9nKEVS Uk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgWE1MIHNjaGVtYSAldSIsIHNjaGVtYV9vaWQp OworCisJCXNjaGVtYV9mb3JtID0gKEZvcm1fcGdfeG1sc2NoZW1hKSBHRVRTVFJVQ1QodHVwbGUp OworCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUpOworCisJCWFjbGNoZWNrX2Vycm9yKGFjbHJlc3Vs dCwgT0JKRUNUX1hNTFNDSEVNQSwKKwkJCQkJICAgTmFtZVN0cihzY2hlbWFfZm9ybS0+c2NoZW1h bmFtZSkpOworCX0KKworCXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFhNTFNDSEVNQU9JRCwgT2Jq ZWN0SWRHZXREYXR1bShzY2hlbWFfb2lkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxl KSkKKwkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIFhNTCBzY2hlbWEgJXUi LCBzY2hlbWFfb2lkKTsKKworCXNjaGVtYV9kYXR1bSA9IFN5c0NhY2hlR2V0QXR0cihYTUxTQ0hF TUFPSUQsIHR1cGxlLAorCQkJCQkJCQkgICBBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFkYXRhLCAm aXNudWxsKTsKKwlpZiAoaXNudWxsKQorCQllbG9nKEVSUk9SLCAibnVsbCBzY2hlbWFkYXRhIGZv ciBYTUwgc2NoZW1hICV1Iiwgc2NoZW1hX29pZCk7CisKKwlzY2hlbWFfeG1sID0gRGF0dW1HZXRY bWxQKHNjaGVtYV9kYXR1bSk7CisJc2NoZW1hc3RyID0gdGV4dF90b19jc3RyaW5nKHNjaGVtYV94 bWwpOworCVJlbGVhc2VTeXNDYWNoZSh0dXBsZSk7CisKKwl4bWxlcnJjeHQgPSBwZ194bWxfaW5p dChQR19YTUxfU1RSSUNUTkVTU19XRUxMRk9STUVEKTsKKworCVBHX1RSWSgpOworCXsKKwkJRXJy b3JTYXZlQ29udGV4dCBlc2NvbnRleHQgPSB7VF9FcnJvclNhdmVDb250ZXh0fTsKKworCQlkb2Mg PSB4bWxfcGFyc2UoKHRleHQgKikgZGF0YSwgWE1MT1BUSU9OX0RPQ1VNRU5ULCB0cnVlLAorCQkJ CQkJR2V0RGF0YWJhc2VFbmNvZGluZygpLCBOVUxMLCBOVUxMLCAoTm9kZSAqKSAmZXNjb250ZXh0 KTsKKworCQlpZiAoZXNjb250ZXh0LmVycm9yX29jY3VycmVkIHx8IGRvYyA9PSBOVUxMKQorCQl7 CisJCQlpZiAoZXNjb250ZXh0LmVycm9yX29jY3VycmVkICYmIGVzY29udGV4dC5lcnJvcl9kYXRh KQorCQkJeworCQkJCUVycm9yRGF0YSAgKmVkYXRhID0gZXNjb250ZXh0LmVycm9yX2RhdGE7CisK KwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1hNTF9E T0NVTUVOVCksCisJCQkJCQkgZXJybXNnKCJpbnZhbGlkIFhNTCBkb2N1bWVudCIpLAorCQkJCQkJ IGVycmRldGFpbF9pbnRlcm5hbCgiJXMiLCBlZGF0YS0+bWVzc2FnZSA/IGVkYXRhLT5tZXNzYWdl IDogInVua25vd24gZXJyb3IiKSkpOworCQkJfQorCQkJeG1sX2VyZXBvcnQoeG1sZXJyY3h0LCBF UlJPUiwgRVJSQ09ERV9JTlZBTElEX1hNTF9ET0NVTUVOVCwKKwkJCQkJCSJpbnZhbGlkIFhNTCBk b2N1bWVudCIpOworCQl9CisKKwkJc2NoZW1hX3BhcnNlcl9jdHh0ID0geG1sU2NoZW1hTmV3TWVt UGFyc2VyQ3R4dChzY2hlbWFzdHIsIHN0cmxlbihzY2hlbWFzdHIpKTsKKwkJaWYgKHNjaGVtYV9w YXJzZXJfY3R4dCA9PSBOVUxMKQorCQkJeG1sX2VyZXBvcnQoeG1sZXJyY3h0LCBFUlJPUiwgRVJS Q09ERV9JTlRFUk5BTF9FUlJPUiwKKwkJCQkJCSJmYWlsZWQgdG8gY3JlYXRlIHNjaGVtYSBwYXJz ZXIgY29udGV4dCIpOworCisJCXNjaGVtYV9wdHIgPSB4bWxTY2hlbWFQYXJzZShzY2hlbWFfcGFy c2VyX2N0eHQpOworCQlpZiAoc2NoZW1hX3B0ciA9PSBOVUxMKQorCQkJeG1sX2VyZXBvcnQoeG1s ZXJyY3h0LCBFUlJPUiwgRVJSQ09ERV9JTlZBTElEX1hNTF9ET0NVTUVOVCwKKwkJCQkJCSJmYWls ZWQgdG8gcGFyc2UgWE1MIHNjaGVtYSIpOworCisJCXZhbGlkX2N0eHQgPSB4bWxTY2hlbWFOZXdW YWxpZEN0eHQoc2NoZW1hX3B0cik7CisJCWlmICh2YWxpZF9jdHh0ID09IE5VTEwpCisJCQl4bWxf ZXJlcG9ydCh4bWxlcnJjeHQsIEVSUk9SLCBFUlJDT0RFX09VVF9PRl9NRU1PUlksCisJCQkJCQki ZmFpbGVkIHRvIGNyZWF0ZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Iik7CisKKwkJeG1sU2No ZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHZhbGlkX2N0eHQsIHhtbF9lcnJvckhhbmRsZXIs IHhtbGVycmN4dCk7CisKKwkJcmVzdWx0ID0geG1sU2NoZW1hVmFsaWRhdGVEb2ModmFsaWRfY3R4 dCwgZG9jKTsKKwkJaWYgKHJlc3VsdCA8IDApCisJCQl4bWxfZXJlcG9ydCh4bWxlcnJjeHQsIEVS Uk9SLCBFUlJDT0RFX0lOVEVSTkFMX0VSUk9SLAorCQkJCQkJImludGVybmFsIGVycm9yIGR1cmlu ZyBzY2hlbWEgdmFsaWRhdGlvbiIpOworCQlpZiAocmVzdWx0ID4gMCkKKwkJCXhtbF9lcmVwb3J0 KHhtbGVycmN4dCwgRVJST1IsIEVSUkNPREVfSU5WQUxJRF9YTUxfRE9DVU1FTlQsCisJCQkJCQki WE1MIHZhbGlkYXRpb24gZmFpbGVkIik7CisJfQorCVBHX0NBVENIKCk7CisJeworCQlpZiAodmFs aWRfY3R4dCkKKwkJCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQodmFsaWRfY3R4dCk7CisJCWlmIChz Y2hlbWFfcHRyKQorCQkJeG1sU2NoZW1hRnJlZShzY2hlbWFfcHRyKTsKKwkJaWYgKHNjaGVtYV9w YXJzZXJfY3R4dCkKKwkJCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0KHNjaGVtYV9wYXJzZXJfY3R4 dCk7CisJCWlmIChkb2MpCisJCQl4bWxGcmVlRG9jKGRvYyk7CisJCXBnX3htbF9kb25lKHhtbGVy cmN4dCwgdHJ1ZSk7CisJCXBmcmVlKHNjaGVtYXN0cik7CisJCVBHX1JFX1RIUk9XKCk7CisJfQor CVBHX0VORF9UUlkoKTsKKworCWlmICh2YWxpZF9jdHh0KQorCQl4bWxTY2hlbWFGcmVlVmFsaWRD dHh0KHZhbGlkX2N0eHQpOworCWlmIChzY2hlbWFfcHRyKQorCQl4bWxTY2hlbWFGcmVlKHNjaGVt YV9wdHIpOworCWlmIChzY2hlbWFfcGFyc2VyX2N0eHQpCisJCXhtbFNjaGVtYUZyZWVQYXJzZXJD dHh0KHNjaGVtYV9wYXJzZXJfY3R4dCk7CisJaWYgKGRvYykKKwkJeG1sRnJlZURvYyhkb2MpOwor CisJcGdfeG1sX2RvbmUoeG1sZXJyY3h0LCBmYWxzZSk7CisJcGZyZWUoc2NoZW1hc3RyKTsKKwly ZXR1cm4gZGF0YTsKKyNlbHNlCisJTk9fWE1MX1NVUFBPUlQoKTsKKwlyZXR1cm4gTlVMTDsKKyNl bmRpZgorfQogCiBib29sCiB4bWxfaXNfZG9jdW1lbnQoeG1sdHlwZSAqYXJnKQpAQCAtMTE4MSw3 ICsxMzIxLDcgQEAgeG1sX2lzX2RvY3VtZW50KHhtbHR5cGUgKmFyZykKIAlyZXR1cm4gIWVzY29u dGV4dC5lcnJvcl9vY2N1cnJlZDsKICNlbHNlCQkJCQkJCS8qIG5vdCBVU0VfTElCWE1MICovCiAJ Tk9fWE1MX1NVUFBPUlQoKTsKLQlyZXR1cm4gZmFsc2U7CisJcmV0dXJuIE5VTEw7CiAjZW5kaWYJ CQkJCQkJLyogbm90IFVTRV9MSUJYTUwgKi8KIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv bm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAppbmRleCA1 MjExY2FkYzI1Li5jNDBjYmM4OTgxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmlt bm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMTYxMCw2ICsx NjEwLDcgQEAgdHlwZWRlZiBlbnVtIFhtbEV4cHJPcAogCUlTX1hNTFJPT1QsCQkJCQkvKiBYTUxS T09UKHhtbCwgdmVyc2lvbiwgc3RhbmRhbG9uZSkgKi8KIAlJU19YTUxTRVJJQUxJWkUsCQkJLyog WE1MU0VSSUFMSVpFKGlzX2RvY3VtZW50LCB4bWx2YWwsIGluZGVudCkgKi8KIAlJU19ET0NVTUVO VCwJCQkJLyogeG1sdmFsIElTIERPQ1VNRU5UICovCisJSVNfWE1MVkFMSURBVEUsCQkJCS8qIFhN TFZBTElEQVRFKHhtbHZhbCwgc2NoZW1hKSAqLwogfSBYbWxFeHByT3A7CiAKIHR5cGVkZWYgZW51 bSBYbWxPcHRpb25UeXBlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0Lmgg Yi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggYTAxOGMyYjllMC4uNGU4YjVlMWQ3 ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBiL3NyYy9pbmNs dWRlL3BhcnNlci9rd2xpc3QuaApAQCAtMjksNiArMjksNyBAQCBQR19LRVlXT1JEKCJhYm9ydCIs IEFCT1JUX1AsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImFi c2VudCIsIEFCU0VOVCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09S RCgiYWJzb2x1dGUiLCBBQlNPTFVURV9QLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwp CiBQR19LRVlXT1JEKCJhY2Nlc3MiLCBBQ0NFU1MsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9M QUJFTCkKK1BHX0tFWVdPUkQoImFjY29yZGluZyIsIEFDQ09SRElORywgVU5SRVNFUlZFRF9LRVlX T1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiYWN0aW9uIiwgQUNUSU9OLCBVTlJFU0VSVkVE X0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJhZGQiLCBBRERfUCwgVU5SRVNFUlZF RF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiYWRtaW4iLCBBRE1JTiwgVU5SRVNF UlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQpAQCAtNTIzLDYgKzUyNCw3IEBAIFBHX0tFWVdPUkQo InhtbHJvb3QiLCBYTUxST09ULCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZ V09SRCgieG1sc2NoZW1hIiwgWE1MU0NIRU1BLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJ4bWxzZXJpYWxpemUiLCBYTUxTRVJJQUxJWkUsIENPTF9OQU1FX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ4bWx0YWJsZSIsIFhNTFRBQkxFLCBDT0xf TkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgieG1sdmFsaWRhdGUiLCBYTUxW QUxJREFURSwgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInllYXIi LCBZRUFSX1AsIFVOUkVTRVJWRURfS0VZV09SRCwgQVNfTEFCRUwpCiBQR19LRVlXT1JEKCJ5ZXMi LCBZRVNfUCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiem9u ZSIsIFpPTkUsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3V0aWxzL3htbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKaW5kZXggMDNh Y2IyNTU0NC4uZGM2YTRkMzc4NCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgK KysrIGIvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKQEAgLTc2LDYgKzc2LDcgQEAgZXh0ZXJuIHht bHR5cGUgKnhtbGVsZW1lbnQoWG1sRXhwciAqeGV4cHIsCiBleHRlcm4geG1sdHlwZSAqeG1scGFy c2UodGV4dCAqZGF0YSwgWG1sT3B0aW9uVHlwZSB4bWxvcHRpb25fYXJnLCBib29sIHByZXNlcnZl X3doaXRlc3BhY2UpOwogZXh0ZXJuIHhtbHR5cGUgKnhtbHBpKGNvbnN0IGNoYXIgKnRhcmdldCwg dGV4dCAqYXJnLCBib29sIGFyZ19pc19udWxsLCBib29sICpyZXN1bHRfaXNfbnVsbCk7CiBleHRl cm4geG1sdHlwZSAqeG1scm9vdCh4bWx0eXBlICpkYXRhLCB0ZXh0ICp2ZXJzaW9uLCBpbnQgc3Rh bmRhbG9uZSk7CitleHRlcm4geG1sdHlwZSAqeG1sdmFsaWRhdGVfc2NoZW1hKHhtbHR5cGUgKmRh dGEsIE9pZCBzY2hlbWFfb2lkKTsKIGV4dGVybiBib29sIHhtbF9pc19kb2N1bWVudCh4bWx0eXBl ICphcmcpOwogZXh0ZXJuIHRleHQgKnhtbHRvdGV4dF93aXRoX29wdGlvbnMoeG1sdHlwZSAqZGF0 YSwgWG1sT3B0aW9uVHlwZSB4bWxvcHRpb25fYXJnLAogCQkJCQkJCQkJYm9vbCBpbmRlbnQpOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC94bWwub3V0CmluZGV4IDRlMjQ2NTdkMmQuLjEyMWQ4NmQ4NWQgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3htbC5vdXQKQEAgLTE5NDUsMyArMTk0NSwyMzYgQEAgQ1JFQVRF IFhNTFNDSEVNQSBib29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+CiAgICAgPC94 czpjb21wbGV4VHlwZT4KICAgPC94czplbGVtZW50PgogPC94czpzY2hlbWE+JzsKK1NFTEVDVCBY TUxWQUxJREFURShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2Fn ZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7Cisg ICAgICAgICAgICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPHBlcnNvbj48bmFt ZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNvbj4KKygxIHJvdykKKworU0VMRUNUIFhN TFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdCBpZD0iUDEyMyI+PG5hbWU+V2lkZ2V0PC9uYW1l PjxwcmljZT45Ljk5PC9wcmljZT48L3Byb2R1Y3Q+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgPHByb2R1Y3QgaWQ9IlAxMjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45 OTwvcHJpY2U+PC9wcm9kdWN0PgorKDEgcm93KQorCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1F TlQKKyAgJzxib29rIGlzYm49Ijk3OC0wLTEyMzQ1Ni03OC05Ij4KKyAgICA8dGl0bGU+UG9zdGdy ZVNRTCBJbnRlcm5hbHM8L3RpdGxlPgorICAgIDxhdXRob3I+PGZpcnN0bmFtZT5Kb2huPC9maXJz dG5hbWU+PGxhc3RuYW1lPlRpdG9yPC9sYXN0bmFtZT48L2F1dGhvcj4KKyAgICA8YXV0aG9yPjxm aXJzdG5hbWU+SmFuZTwvZmlyc3RuYW1lPjwvYXV0aG9yPgorICAgIDx5ZWFyPjIwMjQ8L3llYXI+ CisgIDwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgYm9va19zY2hlbWEpOworRVJS T1I6ICBYTUwgdmFsaWRhdGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxTRVJJQUxJWkUoRE9DVU1FTlQK KyAgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4y NTwvYWdlPjwvcGVyc29uPicKKyAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hl bWEpIEFTIHRleHQpOworICAgICAgICAgICAgICAgICAgIHhtbHNlcmlhbGl6ZSAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgPHBlcnNvbj48bmFtZT5BbGljZTwvbmFtZT48YWdlPjI1PC9hZ2U+PC9wZXJzb24+Ciso MSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxMIEFDQ09SRElORyBUTyBY TUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisgeG1sdmFsaWRhdGUgCistLS0tLS0tLS0tLS0tCisg CisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxMIEFDQ09SRElORyBU TyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSkgSVMgTlVMTCBBUyBpc19udWxsOworIGlzX251bGwg CistLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFND SEVNQSBwZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitTRUxF Q1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPm5v dC1hLW51bWJlcjwvYWdlPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJz b25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1QgWE1MVkFM SURBVEUoRE9DVU1FTlQgJzxwcm9kdWN0PjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwv cHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVt YV9ucy5wcm9kdWN0X3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFnZT4z MDwvYWdlPjxleHRyYT5kYXRhPC9leHRyYT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxT Q0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFn ZT4zMDwvYWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25f c2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1QgWE1MVkFMSURB VEUoRE9DVU1FTlQgJzx0ZXN0PnZhbHVlPC90ZXN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVN QSBub25leGlzdGVudF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJub25leGlzdGVudF9z Y2hlbWEiIGRvZXMgbm90IGV4aXN0CitDUkVBVEUgVklFVyB2YWxpZGF0ZWRfcGVvcGxlIEFTCisg IFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBkYXRhIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEg cGVyc29uX3NjaGVtYSkgQVMgdmFsaWRhdGVkX3htbAorICBGUk9NIHhtbHRlc3QgV0hFUkUgaWQg PSAxOworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0ZWRfcGVvcGxlJzo6cmVnY2xhc3Ms IHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19nZXRfdmll d2RlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UIGRhdGEg QUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB2YWxpZGF0ZWRfeG1sKwor ICAgIEZST00geG1sdGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICBXSEVSRSBpZCA9IDE7CisoMSBy b3cpCisKK0RST1AgVklFVyB2YWxpZGF0ZWRfcGVvcGxlOworQ1JFQVRFIFZJRVcgdmFsaWRhdGVk X3Byb2R1Y3RzIEFTCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9 IjEyMyI+PG5hbWU+VGVzdDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAg ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1h KSBBUyB2YWxpZGF0ZWRfeG1sOworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0ZWRfcHJv ZHVjdHMnOjpyZWdjbGFzcywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdfZ2V0 X3ZpZXdkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgU0VMRUNUIFhN TFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdCBpZD0iMTIzIj48bmFtZT5UZXN0PC9uYW1lPjxw cmljZT4xLjk5PC9wcmljZT48L3Byb2R1Y3Q+Jzo6eG1sIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEg InRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hIikgQVMgdmFsaWRhdGVkX3htbDsKKygx IHJvdykKKworRFJPUCBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0czsKK0FMVEVSIFhNTFNDSEVNQSBi b29rX3NjaGVtYSBSRU5BTUUgVE8gbGlicmFyeV9ib29rX3NjaGVtYTsKK1NFTEVDVCBYTUxWQUxJ REFURShET0NVTUVOVCAnPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhv cj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+ PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+JworIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgYm9va19z Y2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJib29rX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QK K1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVz dDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFz dG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIGxpYnJhcnlfYm9va19zY2hlbWEpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1l PkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwv eWVhcj48L2Jvb2s+CisoMSByb3cpCisKK0FMVEVSIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2No ZW1hIFNFVCBTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnM7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9D VU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0 bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIw MjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tf c2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAibGlicmFyeV9ib29rX3NjaGVtYSIgZG9lcyBu b3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPGJvb2sgaXNibj0iMTIzIj48 dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5h bWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+JworICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEp OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVz dDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFz dG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+CisoMSByb3cpCisKK0NSRUFU RSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0FMVEVSIFhNTFNDSEVNQSB0ZXN0 X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hIE9XTkVSIFRPIHJlZ3Jlc3NfeG1sc2No ZW1hX3Rlc3Rfcm9sZTsKK1NFTEVDVCBzY2hlbWFuYW1lLCBzY2hlbWFuYW1lc3BhY2U6OnJlZ25h bWVzcGFjZSwgc2NoZW1hb3duZXI6OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1hCitXSEVSRSBz Y2hlbWFuYW1lID0gJ2xpYnJhcnlfYm9va19zY2hlbWEnOworICAgICBzY2hlbWFuYW1lICAgICAg fCAgc2NoZW1hbmFtZXNwYWNlICB8ICAgICAgICAgc2NoZW1hb3duZXIgICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgbGlicmFyeV9ib29rX3NjaGVtYSB8IHRlc3RfeG1sc2NoZW1hX25zIHwgcmVn cmVzc194bWxzY2hlbWFfdGVzdF9yb2xlCisoMSByb3cpCisKK0NSRUFURSBWSUVXIGJvb2tfdmll dyBBUworICBTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjQ1NiI+PHRp dGxlPkRlcCBUZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+WDwvZmlyc3RuYW1lPjxsYXN0 bmFtZT5ZPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI1PC95ZWFyPjwvYm9vaz4nCisgICAg QUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2No ZW1hKSBBUyB2YWxpZGF0ZWRfYm9vazsKK0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25z LmxpYnJhcnlfYm9va19zY2hlbWE7CitFUlJPUjogIGNhbm5vdCBkcm9wIFhNTCBzY2hlbWEgdGVz dF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSBiZWNhdXNlIG90aGVyIG9iamVjdHMg ZGVwZW5kIG9uIGl0CitERVRBSUw6ICB2aWV3IGJvb2tfdmlldyBkZXBlbmRzIG9uIFhNTCBzY2hl bWEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYQorSElOVDogIFVzZSBEUk9Q IC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KK0RST1AgWE1M U0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEgQ0FTQ0FERTsKK05P VElDRTogIGRyb3AgY2FzY2FkZXMgdG8gdmlldyBib29rX3ZpZXcKK1NFTEVDVCAqIEZST00gYm9v a192aWV3OworRVJST1I6ICByZWxhdGlvbiAiYm9va192aWV3IiBkb2VzIG5vdCBleGlzdAorTElO RSAxOiBTRUxFQ1QgKiBGUk9NIGJvb2tfdmlldzsKKyAgICAgICAgICAgICAgICAgICAgICBeCitE Uk9QIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hOworRFJPUCBYTUxTQ0hFTUEgSUYgRVhJU1RTIHBl cnNvbl9zY2hlbWE7CitOT1RJQ0U6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBkb2VzIG5v dCBleGlzdCwgc2tpcHBpbmcKK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CitFUlJPUjog IFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1s c2NoZW1hX3Rlc3Rfcm9sZTsKK0NSRUFURSBYTUxTQ0hFTUEgcHVibGljLnNob3VsZF9mYWlsX3Nj aGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRw Oi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3Qi IHR5cGU9InhzOnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKK1JFU0VUIFJPTEU7CitHUkFOVCBD UkVBVEUgT04gU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zIFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rl c3Rfcm9sZTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0NSRUFURSBY TUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucm9sZV9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249 IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT Y2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwv eHM6c2NoZW1hPic7CitSRVNFVCBST0xFOworRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFf bnMucm9sZV9zY2hlbWE7CitEUk9QIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOwor RVJST1I6ICByb2xlICJyZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGUiIGNhbm5vdCBiZSBkcm9w cGVkIGJlY2F1c2Ugc29tZSBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgcHJpdmlsZWdl cyBmb3Igc2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zCitvd25lciBvZiBYTUwgc2NoZW1hIHB1Ymxp Yy5zaG91bGRfZmFpbF9zY2hlbWEKK0RST1AgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zIENBU0NB REU7CitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0NSRUFURSBST0xFIHJl Z3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworQ1JFQVRFIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rf c2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0 dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVz dCIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNjaGVtYT4nOworU0VUIFJPTEUgcmVncmVzc194 bWxzY2hlbWFfdXNlcjE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8 L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlz c2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBYTUwgc2No ZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEKK1JFU0VUIFJPTEU7CitHUkFOVCBVU0FHRSBPTiBY TUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2Vy MTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJ TkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworICAgIHhtbHZhbGlkYXRl ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIDx0ZXN0PmRhdGE8L3Rlc3Q+CisoMSByb3cpCisK K1JFU0VUIFJPTEU7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK1NFTEVDVCBY TUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAgICAgICAg ICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hKTsKK0VSUk9S OiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIFhNTCBzY2hlbWEgcGVybWlzc2lvbl90ZXN0X3NjaGVt YQorUkVTRVQgUk9MRTsKK0dSQU5UIFVTQUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rf c2NoZW1hIFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VUIFJPTEUgcmVncmVzc194bWxz Y2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rl c3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlzc2lv bl90ZXN0X3NjaGVtYSk7CisgICAgeG1sdmFsaWRhdGUgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t CisgPHRlc3Q+ZGF0YTwvdGVzdD4KKygxIHJvdykKKworUkVTRVQgUk9MRTsKK1JFVk9LRSBVU0FH RSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBGUk9NIHJlZ3Jlc3NfeG1sc2No ZW1hX3VzZXIxOworU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAg IEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjog IHBlcm1pc3Npb24gZGVuaWVkIGZvciBYTUwgc2NoZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEK K1JFU0VUIFJPTEU7CitEUk9QIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hOworRFJP UCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2No ZW1hX3VzZXIyOworQ1JFQVRFIFRBQkxFIHZhbGlkYXRlZF94bWxfZGF0YSAoCisgIGlkIHNlcmlh bCBQUklNQVJZIEtFWSwKKyAgZGF0YSB4bWwKKyk7CitDUkVBVEUgWE1MU0NIRU1BIGRhdGFfc2No ZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6 Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZGF0YSI+ CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHM6aW50ZWdlciIvPgorICAgICAgPC94czpzZXF1 ZW5jZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVt YT4nOworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQorVkFMVUVTIChYTUxW QUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPjQyPC92YWx1ZT48L2RhdGE+JworICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIGRhdGFfc2NoZW1hKSk7CitJTlNFUlQgSU5UTyB2YWxpZGF0ZWRf eG1sX2RhdGEgKGRhdGEpCitWQUxVRVMgKFhNTFZBTElEQVRFKERPQ1VNRU5UICc8ZGF0YT48dmFs dWU+MTAwPC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRhdGFfc2No ZW1hKSk7CitTRUxFQ1QgaWQsIGRhdGEgRlJPTSB2YWxpZGF0ZWRfeG1sX2RhdGEgT1JERVIgQlkg aWQ7CisgaWQgfCAgICAgICAgICAgICAgZGF0YSAgICAgICAgICAgICAgIAorLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgMSB8IDxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+ PC9kYXRhPgorICAyIHwgPGRhdGE+PHZhbHVlPjEwMDwvdmFsdWU+PC9kYXRhPgorKDIgcm93cykK KworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQorVkFMVUVTIChYTUxWQUxJ REFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPm5vdC1hbi1pbnQ8L3ZhbHVlPjwvZGF0YT4nCisg IEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgZGF0YV9zY2hlbWEpKTsKK0VSUk9SOiAgWE1MIHZhbGlk YXRpb24gZmFpbGVkCitEUk9QIFRBQkxFIHZhbGlkYXRlZF94bWxfZGF0YTsKK0RST1AgWE1MU0NI RU1BIGRhdGFfc2NoZW1hOworRFJPUCBYTUxTQ0hFTUEgc2hvdWxkX2ZhaWxfc2NoZW1hOworRFJP UCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94 bWxfMS5vdXQKaW5kZXggYWRlZDU3Yzc4Yi4uN2IwODgzODBjNCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC94bWxfMS5vdXQKQEAgLTE1NTcsMyArMTU1NywyMTEgQEAgQ1JFQVRFIFhNTFNDSEVNQSBi b29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+CiAgIDwveHM6ZWxlbWVudD4KIDwv eHM6c2NoZW1hPic7CiBFUlJPUjogIHhtbHNjaGVtYSBzdXBwb3J0IHJlcXVpcmVzIGxpYnhtbAor U0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFn ZT4zMDwvYWdlPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2No ZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QK K1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9IlAxMjMiPjxuYW1lPldp ZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSk7CitFUlJPUjogIFhN TCBzY2hlbWEgInRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlz dAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UCisgICc8Ym9vayBpc2JuPSI5NzgtMC0xMjM0 NTYtNzgtOSI+CisgICAgPHRpdGxlPlBvc3RncmVTUUwgSW50ZXJuYWxzPC90aXRsZT4KKyAgICA8 YXV0aG9yPjxmaXJzdG5hbWU+Sm9objwvZmlyc3RuYW1lPjxsYXN0bmFtZT5UaXRvcjwvbGFzdG5h bWU+PC9hdXRob3I+CisgICAgPGF1dGhvcj48Zmlyc3RuYW1lPkphbmU8L2ZpcnN0bmFtZT48L2F1 dGhvcj4KKyAgICA8eWVhcj4yMDI0PC95ZWFyPgorICA8L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiYm9va19zY2hlbWEi IGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MU0VSSUFMSVpFKERPQ1VNRU5UCisgIFhNTFZBTElE QVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkFsaWNlPC9uYW1lPjxhZ2U+MjU8L2FnZT48L3Bl cnNvbj4nCisgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0ZXh0 KTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NF TEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxMIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVy c29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRvZXMgbm90 IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1M U0NIRU1BIHBlcnNvbl9zY2hlbWEpIElTIE5VTEwgQVMgaXNfbnVsbDsKK0VSUk9SOiAgWE1MIHNj aGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShE T0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjwvcGVyc29uPicKKyAgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29u X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBl cnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+bm90LWEtbnVtYmVyPC9hZ2U+PC9wZXJzb24+Jwor ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworRVJST1I6ICBYTUwgc2No ZW1hICJwZXJzb25fc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERP Q1VNRU5UICc8cHJvZHVjdD48bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwv cHJvZHVjdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJv ZHVjdF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9k dWN0X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48ZXh0cmE+ZGF0YTwvZXh0cmE+ PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworRVJS T1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhN TFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFnZT4zMDwv YWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1h KTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NF TEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+dmFsdWU8L3Rlc3Q+JworICBBQ0NPUkRJ TkcgVE8gWE1MU0NIRU1BIG5vbmV4aXN0ZW50X3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEg Im5vbmV4aXN0ZW50X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0NSRUFURSBWSUVXIHZhbGlkYXRl ZF9wZW9wbGUgQVMKKyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UIGRhdGEgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB2YWxpZGF0ZWRfeG1sCisgIEZST00geG1s dGVzdCBXSEVSRSBpZCA9IDE7CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRv ZXMgbm90IGV4aXN0CitTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wZW9wbGUnOjpy ZWdjbGFzcywgdHJ1ZSk7CitFUlJPUjogIHJlbGF0aW9uICJ2YWxpZGF0ZWRfcGVvcGxlIiBkb2Vz IG5vdCBleGlzdAorTElORSAxOiBTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wZW9w bGUnOjpyZWdjbGFzcywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitE Uk9QIFZJRVcgdmFsaWRhdGVkX3Blb3BsZTsKK0VSUk9SOiAgdmlldyAidmFsaWRhdGVkX3Blb3Bs ZSIgZG9lcyBub3QgZXhpc3QKK0NSRUFURSBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0cyBBUworICBT RUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1lPlRlc3Q8 L25hbWU+PHByaWNlPjEuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgICAgQUNDT1JESU5HIFRPIFhN TFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSkgQVMgdmFsaWRhdGVkX3ht bDsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEi IGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wcm9kdWN0 cyc6OnJlZ2NsYXNzLCB0cnVlKTsKK0VSUk9SOiAgcmVsYXRpb24gInZhbGlkYXRlZF9wcm9kdWN0 cyIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMTogU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0 ZWRfcHJvZHVjdHMnOjpyZWdjbGFzcywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCitEUk9QIFZJRVcgdmFsaWRhdGVkX3Byb2R1Y3RzOworRVJST1I6ICB2aWV3ICJ2YWxp ZGF0ZWRfcHJvZHVjdHMiIGRvZXMgbm90IGV4aXN0CitBTFRFUiBYTUxTQ0hFTUEgYm9va19zY2hl bWEgUkVOQU1FIFRPIGxpYnJhcnlfYm9va19zY2hlbWE7CitFUlJPUjogIFhNTCBzY2hlbWEgImJv b2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8 Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwv Zmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFy PjwvYm9vaz4nCisgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBib29rX3NjaGVtYSk7CitFUlJPUjog IFhNTCBzY2hlbWEgImJvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElE QVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9y PjxmaXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48 eWVhcj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbGlicmFy eV9ib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgImxpYnJhcnlfYm9va19zY2hlbWEi IGRvZXMgbm90IGV4aXN0CitBTFRFUiBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVtYSBTRVQg U0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworRVJST1I6ICBYTUwgc2NoZW1hICJsaWJyYXJ5X2Jv b2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8 Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwv Zmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFy PjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVtYSk7 CitFUlJPUjogIFhNTCBzY2hlbWEgImxpYnJhcnlfYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0 CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRl c3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xh c3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hKTsKK0VSUk9S OiAgWE1MIHNjaGVtYSAidGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSIgZG9l cyBub3QgZXhpc3QKK0NSRUFURSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0FM VEVSIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hIE9XTkVS IFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVz dF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVD VCBzY2hlbWFuYW1lLCBzY2hlbWFuYW1lc3BhY2U6OnJlZ25hbWVzcGFjZSwgc2NoZW1hb3duZXI6 OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1hCitXSEVSRSBzY2hlbWFuYW1lID0gJ2xpYnJhcnlf Ym9va19zY2hlbWEnOworIHNjaGVtYW5hbWUgfCBzY2hlbWFuYW1lc3BhY2UgfCBzY2hlbWFvd25l ciAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisoMCByb3dz KQorCitDUkVBVEUgVklFVyBib29rX3ZpZXcgQVMKKyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VN RU5UICc8Ym9vayBpc2JuPSI0NTYiPjx0aXRsZT5EZXAgVGVzdDwvdGl0bGU+PGF1dGhvcj48Zmly c3RuYW1lPlg8L2ZpcnN0bmFtZT48bGFzdG5hbWU+WTwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+ MjAyNTwveWVhcj48L2Jvb2s+JworICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxz Y2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSkgQVMgdmFsaWRhdGVkX2Jvb2s7CitFUlJPUjog IFhNTCBzY2hlbWEgInRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEiIGRvZXMg bm90IGV4aXN0CitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tf c2NoZW1hOworRVJST1I6ICBYTUwgc2NoZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jv b2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFf bnMubGlicmFyeV9ib29rX3NjaGVtYSBDQVNDQURFOworRVJST1I6ICBYTUwgc2NoZW1hICJ0ZXN0 X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNU ICogRlJPTSBib29rX3ZpZXc7CitFUlJPUjogIHJlbGF0aW9uICJib29rX3ZpZXciIGRvZXMgbm90 IGV4aXN0CitMSU5FIDE6IFNFTEVDVCAqIEZST00gYm9va192aWV3OworICAgICAgICAgICAgICAg ICAgICAgIF4KK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CitFUlJPUjogIFhNTCBzY2hl bWEgInBlcnNvbl9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVNQSBJRiBFWElT VFMgcGVyc29uX3NjaGVtYTsKK05PVElDRTogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRv ZXMgbm90IGV4aXN0LCBza2lwcGluZworRFJPUCBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYTsKK0VS Uk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0RST1AgWE1M U0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hOworRVJST1I6ICBYTUwgc2No ZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NF VCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0NSRUFURSBYTUxTQ0hFTUEgcHVi bGljLnNob3VsZF9mYWlsX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2No ZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpl bGVtZW50IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKK0VS Uk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMgbGlieG1sCitSRVNFVCBST0xFOworR1JB TlQgQ1JFQVRFIE9OIFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucyBUTyByZWdyZXNzX3htbHNjaGVt YV90ZXN0X3JvbGU7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitDUkVB VEUgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hIEFTICc8P3htbCB2ZXJz aW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEv WE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdCIgdHlwZT0ieHM6c3RyaW5nIi8+ Cis8L3hzOnNjaGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4 bWwKK1JFU0VUIFJPTEU7CitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5yb2xlX3Nj aGVtYTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVzdF94bWxzY2hlbWFfbnMucm9sZV9zY2hlbWEi IGRvZXMgbm90IGV4aXN0CitEUk9QIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOwor RVJST1I6ICByb2xlICJyZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGUiIGNhbm5vdCBiZSBkcm9w cGVkIGJlY2F1c2Ugc29tZSBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgcHJpdmlsZWdl cyBmb3Igc2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zCitEUk9QIFNDSEVNQSB0ZXN0X3htbHNjaGVt YV9ucyBDQVNDQURFOworQ1JFQVRFIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitDUkVB VEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK0NSRUFURSBYTUxTQ0hFTUEgcGVybWlz c2lvbl90ZXN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHht bG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50 IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKK0VSUk9SOiAg eG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMgbGlieG1sCitTRVQgUk9MRSByZWdyZXNzX3htbHNj aGVtYV91c2VyMTsKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVz dD4nCisgICAgICAgICAgICAgICAgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9u X3Rlc3Rfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVybWlzc2lvbl90ZXN0X3NjaGVt YSIgZG9lcyBub3QgZXhpc3QKK1JFU0VUIFJPTEU7CitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEg cGVybWlzc2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0VSUk9S OiAgWE1MIHNjaGVtYSAicGVybWlzc2lvbl90ZXN0X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NF VCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VN RU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJw ZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorUkVTRVQgUk9MRTsKK1NFVCBS T0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5U ICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1M U0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJt aXNzaW9uX3Rlc3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorUkVTRVQgUk9MRTsKK0dSQU5UIFVT QUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIFRPIHJlZ3Jlc3NfeG1sc2No ZW1hX3VzZXIyOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIiBk b2VzIG5vdCBleGlzdAorU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdXNlcjI7CitTRUxFQ1Qg WE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAg ICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CitFUlJP UjogIFhNTCBzY2hlbWEgInBlcm1pc3Npb25fdGVzdF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitS RVNFVCBST0xFOworUkVWT0tFIFVTQUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2No ZW1hIEZST00gcmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitFUlJPUjogIFhNTCBzY2hlbWEgInBl cm1pc3Npb25fdGVzdF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRVQgUk9MRSByZWdyZXNzX3ht bHNjaGVtYV91c2VyMTsKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwv dGVzdD4nCisgICAgICAgICAgICAgICAgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNz aW9uX3Rlc3Rfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVybWlzc2lvbl90ZXN0X3Nj aGVtYSIgZG9lcyBub3QgZXhpc3QKK1JFU0VUIFJPTEU7CitEUk9QIFhNTFNDSEVNQSBwZXJtaXNz aW9uX3Rlc3Rfc2NoZW1hOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJtaXNzaW9uX3Rlc3Rfc2No ZW1hIiBkb2VzIG5vdCBleGlzdAorRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOwor RFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworQ1JFQVRFIFRBQkxFIHZhbGlkYXRl ZF94bWxfZGF0YSAoCisgIGlkIHNlcmlhbCBQUklNQVJZIEtFWSwKKyAgZGF0YSB4bWwKKyk7CitD UkVBVEUgWE1MU0NIRU1BIGRhdGFfc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4 czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAg PHhzOmVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhz OnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHM6aW50 ZWdlciIvPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8 L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCBy ZXF1aXJlcyBsaWJ4bWwKK0lOU0VSVCBJTlRPIHZhbGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZB TFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRh PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkpOworRVJST1I6ICBYTUwg c2NoZW1hICJkYXRhX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0lOU0VSVCBJTlRPIHZhbGlkYXRl ZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2 YWx1ZT4xMDA8L3ZhbHVlPjwvZGF0YT4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgZGF0YV9z Y2hlbWEpKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiZGF0YV9zY2hlbWEiIGRvZXMgbm90IGV4aXN0 CitTRUxFQ1QgaWQsIGRhdGEgRlJPTSB2YWxpZGF0ZWRfeG1sX2RhdGEgT1JERVIgQlkgaWQ7Cisg aWQgfCBkYXRhIAorLS0tLSstLS0tLS0KKygwIHJvd3MpCisKK0lOU0VSVCBJTlRPIHZhbGlkYXRl ZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2 YWx1ZT5ub3QtYW4taW50PC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IGRhdGFfc2NoZW1hKSk7CitFUlJPUjogIFhNTCBzY2hlbWEgImRhdGFfc2NoZW1hIiBkb2VzIG5v dCBleGlzdAorRFJPUCBUQUJMRSB2YWxpZGF0ZWRfeG1sX2RhdGE7CitEUk9QIFhNTFNDSEVNQSBk YXRhX3NjaGVtYTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiZGF0YV9zY2hlbWEiIGRvZXMgbm90IGV4 aXN0CitEUk9QIFhNTFNDSEVNQSBzaG91bGRfZmFpbF9zY2hlbWE7CitFUlJPUjogIFhNTCBzY2hl bWEgInNob3VsZF9mYWlsX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0RST1AgUk9MRSByZWdyZXNz X3htbHNjaGVtYV90ZXN0X3JvbGU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3htbF8yLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0CmluZGV4 IDRlMjQ2NTdkMmQuLjEyMWQ4NmQ4NWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQveG1sXzIub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0 CkBAIC0xOTQ1LDMgKzE5NDUsMjM2IEBAIENSRUFURSBYTUxTQ0hFTUEgYm9va19zY2hlbWEgQVMg Jzw/eG1sIHZlcnNpb249IjEuMCI/PgogICAgIDwveHM6Y29tcGxleFR5cGU+CiAgIDwveHM6ZWxl bWVudD4KIDwveHM6c2NoZW1hPic7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJz b24+PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+PC9wZXJzb24+JworICBBQ0NPUkRJTkcg VE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworICAgICAgICAgICAgICAgICAgIHhtbHZhbGlk YXRlICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIDxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+ PC9wZXJzb24+CisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1 Y3QgaWQ9IlAxMjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9k dWN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0 X3NjaGVtYSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHZhbGlkYXRlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwcm9kdWN0IGlkPSJQMTIz Ij48bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJvZHVjdD4KKygxIHJv dykKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UCisgICc8Ym9vayBpc2JuPSI5NzgtMC0x MjM0NTYtNzgtOSI+CisgICAgPHRpdGxlPlBvc3RncmVTUUwgSW50ZXJuYWxzPC90aXRsZT4KKyAg ICA8YXV0aG9yPjxmaXJzdG5hbWU+Sm9objwvZmlyc3RuYW1lPjxsYXN0bmFtZT5UaXRvcjwvbGFz dG5hbWU+PC9hdXRob3I+CisgICAgPGF1dGhvcj48Zmlyc3RuYW1lPkphbmU8L2ZpcnN0bmFtZT48 L2F1dGhvcj4KKyAgICA8eWVhcj4yMDI0PC95ZWFyPgorICA8L2Jvb2s+JworICBBQ0NPUkRJTkcg VE8gWE1MU0NIRU1BIGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVk CitTRUxFQ1QgWE1MU0VSSUFMSVpFKERPQ1VNRU5UCisgIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8 cGVyc29uPjxuYW1lPkFsaWNlPC9uYW1lPjxhZ2U+MjU8L2FnZT48L3BlcnNvbj4nCisgICAgQUND T1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0ZXh0KTsKKyAgICAgICAgICAg ICAgICAgICB4bWxzZXJpYWxpemUgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwZXJzb24+PG5hbWU+QWxpY2U8 L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVyc29uPgorKDEgcm93KQorCitTRUxFQ1QgWE1MVkFMSURB VEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOwor IHhtbHZhbGlkYXRlIAorLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgWE1MVkFM SURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEp IElTIE5VTEwgQVMgaXNfbnVsbDsKKyBpc19udWxsIAorLS0tLS0tLS0tCisgdAorKDEgcm93KQor CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48 L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJP UjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8 cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFnZT5ub3QtYS1udW1iZXI8L2FnZT48L3BlcnNvbj4n CisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2 YWxpZGF0aW9uIGZhaWxlZAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdD48 bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgIEFDQ09S RElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEpOworRVJS T1I6ICBYTUwgdmFsaWRhdGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48ZXh0cmE+ZGF0YTwvZXh0cmE+ PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworRVJS T1I6ICBYTUwgdmFsaWRhdGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PG5vdHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L25vdHBlcnNvbj4nCisg IEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxp ZGF0aW9uIGZhaWxlZAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD52YWx1ZTwv dGVzdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbm9uZXhpc3RlbnRfc2NoZW1hKTsKK0VS Uk9SOiAgWE1MIHNjaGVtYSAibm9uZXhpc3RlbnRfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorQ1JF QVRFIFZJRVcgdmFsaWRhdGVkX3Blb3BsZSBBUworICBTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1F TlQgZGF0YSBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIEFTIHZhbGlkYXRl ZF94bWwKKyAgRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gMTsKK1NFTEVDVCBwZ19nZXRfdmlld2Rl ZigndmFsaWRhdGVkX3Blb3BsZSc6OnJlZ2NsYXNzLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGdfZ2V0X3ZpZXdkZWYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFNF TEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBkYXRhIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVy c29uX3NjaGVtYSkgQVMgdmFsaWRhdGVkX3htbCsKKyAgICBGUk9NIHhtbHRlc3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKworICAgV0hFUkUgaWQgPSAxOworKDEgcm93KQorCitEUk9QIFZJRVcgdmFsaWRhdGVk X3Blb3BsZTsKK0NSRUFURSBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0cyBBUworICBTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1lPlRlc3Q8L25hbWU+PHBy aWNlPjEuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0 ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSkgQVMgdmFsaWRhdGVkX3htbDsKK1NFTEVD VCBwZ19nZXRfdmlld2RlZigndmFsaWRhdGVkX3Byb2R1Y3RzJzo6cmVnY2xhc3MsIHRydWUpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF92aWV3ZGVmICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1 Y3QgaWQ9IjEyMyI+PG5hbWU+VGVzdDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+PC9wcm9kdWN0 Pic6OnhtbCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0 X3NjaGVtYSIpIEFTIHZhbGlkYXRlZF94bWw7CisoMSByb3cpCisKK0RST1AgVklFVyB2YWxpZGF0 ZWRfcHJvZHVjdHM7CitBTFRFUiBYTUxTQ0hFTUEgYm9va19zY2hlbWEgUkVOQU1FIFRPIGxpYnJh cnlfYm9va19zY2hlbWE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49 IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+ PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicK KyBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVt YSAiYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1F TlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFt ZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8 L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2No ZW1hKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHhtbHZhbGlkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxib29rIGlzYm49IjEyMyI+PHRpdGxl PlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8 L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPgorKDEgcm93KQorCitB TFRFUiBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVtYSBTRVQgU0NIRU1BIHRlc3RfeG1sc2No ZW1hX25zOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0 aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFt ZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09S RElORyBUTyBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hl bWEgImxpYnJhcnlfYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURB VEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+ PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5 ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3ht bHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHZhbGlkYXRlICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIDxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFt ZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8 L3llYXI+PC9ib29rPgorKDEgcm93KQorCitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90 ZXN0X3JvbGU7CitBTFRFUiBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29r X3NjaGVtYSBPV05FUiBUTyByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitTRUxFQ1Qgc2No ZW1hbmFtZSwgc2NoZW1hbmFtZXNwYWNlOjpyZWduYW1lc3BhY2UsIHNjaGVtYW93bmVyOjpyZWdy b2xlCitGUk9NIHBnX3htbHNjaGVtYQorV0hFUkUgc2NoZW1hbmFtZSA9ICdsaWJyYXJ5X2Jvb2tf c2NoZW1hJzsKKyAgICAgc2NoZW1hbmFtZSAgICAgIHwgIHNjaGVtYW5hbWVzcGFjZSAgfCAgICAg ICAgIHNjaGVtYW93bmVyICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxpYnJhcnlfYm9va19z Y2hlbWEgfCB0ZXN0X3htbHNjaGVtYV9ucyB8IHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZQor KDEgcm93KQorCitDUkVBVEUgVklFVyBib29rX3ZpZXcgQVMKKyAgU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8Ym9vayBpc2JuPSI0NTYiPjx0aXRsZT5EZXAgVGVzdDwvdGl0bGU+PGF1dGhv cj48Zmlyc3RuYW1lPlg8L2ZpcnN0bmFtZT48bGFzdG5hbWU+WTwvbGFzdG5hbWU+PC9hdXRob3I+ PHllYXI+MjAyNTwveWVhcj48L2Jvb2s+JworICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVz dF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSkgQVMgdmFsaWRhdGVkX2Jvb2s7CitE Uk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hOworRVJS T1I6ICBjYW5ub3QgZHJvcCBYTUwgc2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9v a19zY2hlbWEgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgdmll dyBib29rX3ZpZXcgZGVwZW5kcyBvbiBYTUwgc2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJh cnlfYm9va19zY2hlbWEKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBk ZXBlbmRlbnQgb2JqZWN0cyB0b28uCitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5s aWJyYXJ5X2Jvb2tfc2NoZW1hIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHZp ZXcgYm9va192aWV3CitTRUxFQ1QgKiBGUk9NIGJvb2tfdmlldzsKK0VSUk9SOiAgcmVsYXRpb24g ImJvb2tfdmlldyIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMTogU0VMRUNUICogRlJPTSBib29rX3Zp ZXc7CisgICAgICAgICAgICAgICAgICAgICAgXgorRFJPUCBYTUxTQ0hFTUEgcGVyc29uX3NjaGVt YTsKK0RST1AgWE1MU0NIRU1BIElGIEVYSVNUUyBwZXJzb25fc2NoZW1hOworTk9USUNFOiAgWE1M IHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nCitEUk9QIFhN TFNDSEVNQSBwZXJzb25fc2NoZW1hOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1h IiBkb2VzIG5vdCBleGlzdAorRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVj dF9zY2hlbWE7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitDUkVBVEUg WE1MU0NIRU1BIHB1YmxpYy5zaG91bGRfZmFpbF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEu MCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6 c2NoZW1hPic7CitSRVNFVCBST0xFOworR1JBTlQgQ1JFQVRFIE9OIFNDSEVNQSB0ZXN0X3htbHNj aGVtYV9ucyBUTyByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitTRVQgUk9MRSByZWdyZXNz X3htbHNjaGVtYV90ZXN0X3JvbGU7CitDUkVBVEUgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25z LnJvbGVfc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6 eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFt ZT0idGVzdCIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNjaGVtYT4nOworUkVTRVQgUk9MRTsK K0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hOworRFJPUCBST0xF IHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0VSUk9SOiAgcm9sZSAicmVncmVzc194bWxz Y2hlbWFfdGVzdF9yb2xlIiBjYW5ub3QgYmUgZHJvcHBlZCBiZWNhdXNlIHNvbWUgb2JqZWN0cyBk ZXBlbmQgb24gaXQKK0RFVEFJTDogIHByaXZpbGVnZXMgZm9yIHNjaGVtYSB0ZXN0X3htbHNjaGVt YV9ucworb3duZXIgb2YgWE1MIHNjaGVtYSBwdWJsaWMuc2hvdWxkX2ZhaWxfc2NoZW1hCitEUk9Q IFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucyBDQVNDQURFOworQ1JFQVRFIFJPTEUgcmVncmVzc194 bWxzY2hlbWFfdXNlcjE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK0NS RUFURSBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0i MS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj aGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0cmluZyIvPgorPC94 czpzY2hlbWE+JzsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhN TFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAg ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6 ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgWE1MIHNjaGVtYSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1h CitSRVNFVCBST0xFOworR1JBTlQgVVNBR0UgT04gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9z Y2hlbWEgVE8gcmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitTRVQgUk9MRSByZWdyZXNzX3htbHNj aGVtYV91c2VyMTsKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVz dD4nCisgICAgICAgICAgICAgICAgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9u X3Rlc3Rfc2NoZW1hKTsKKyAgICB4bWx2YWxpZGF0ZSAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0K KyA8dGVzdD5kYXRhPC90ZXN0PgorKDEgcm93KQorCitSRVNFVCBST0xFOworU0VUIFJPTEUgcmVn cmVzc194bWxzY2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0 PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEg cGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBY TUwgc2NoZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEKK1JFU0VUIFJPTEU7CitHUkFOVCBVU0FH RSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVt YV91c2VyMjsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VMRUNUIFhNTFZB TElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBB Q0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworICAgIHhtbHZh bGlkYXRlICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIDx0ZXN0PmRhdGE8L3Rlc3Q+CisoMSBy b3cpCisKK1JFU0VUIFJPTEU7CitSRVZPS0UgVVNBR0UgT04gWE1MU0NIRU1BIHBlcm1pc3Npb25f dGVzdF9zY2hlbWEgRlJPTSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFVCBST0xFIHJlZ3Jl c3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5k YXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBl cm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgWE1M IHNjaGVtYSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hCitSRVNFVCBST0xFOworRFJPUCBYTUxTQ0hF TUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91 c2VyMTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK0NSRUFURSBUQUJMRSB2 YWxpZGF0ZWRfeG1sX2RhdGEgKAorICBpZCBzZXJpYWwgUFJJTUFSWSBLRVksCisgIGRhdGEgeG1s CispOworQ1JFQVRFIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4w Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt YSI+CisgIDx4czplbGVtZW50IG5hbWU9ImRhdGEiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAg ICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9 InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgPC94czpjb21wbGV4VHlw ZT4KKyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+JzsKK0lOU0VSVCBJTlRPIHZhbGlkYXRl ZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2 YWx1ZT40MjwvdmFsdWU+PC9kYXRhPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBkYXRhX3Nj aGVtYSkpOworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQorVkFMVUVTIChY TUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPjEwMDwvdmFsdWU+PC9kYXRhPicKKyAg QUNDT1JESU5HIFRPIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkpOworU0VMRUNUIGlkLCBkYXRhIEZS T00gdmFsaWRhdGVkX3htbF9kYXRhIE9SREVSIEJZIGlkOworIGlkIHwgICAgICAgICAgICAgIGRh dGEgICAgICAgICAgICAgICAKKy0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgIDEgfCA8ZGF0YT48dmFsdWU+NDI8L3ZhbHVlPjwvZGF0YT4KKyAgMiB8IDxkYXRhPjx2YWx1 ZT4xMDA8L3ZhbHVlPjwvZGF0YT4KKygyIHJvd3MpCisKK0lOU0VSVCBJTlRPIHZhbGlkYXRlZF94 bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2YWx1 ZT5ub3QtYW4taW50PC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRh dGFfc2NoZW1hKSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorRFJPUCBUQUJMRSB2 YWxpZGF0ZWRfeG1sX2RhdGE7CitEUk9QIFhNTFNDSEVNQSBkYXRhX3NjaGVtYTsKK0RST1AgWE1M U0NIRU1BIHNob3VsZF9mYWlsX3NjaGVtYTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90 ZXN0X3JvbGU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwveG1sLnNxbAppbmRleCA2Njc5NzM0MjBmLi5jMTY1MGVhZDk0IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3htbC5zcWwKQEAgLTc0MiwzICs3NDIsMjEyIEBAIENSRUFURSBYTUxTQ0hFTUEg Ym9va19zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgogICAgIDwveHM6Y29tcGxleFR5 cGU+CiAgIDwveHM6ZWxlbWVudD4KIDwveHM6c2NoZW1hPic7CisKK1NFTEVDVCBYTUxWQUxJREFU RShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNv bj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisKK1NFTEVDVCBY TUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9IlAxMjMiPjxuYW1lPldpZGdldDwvbmFt ZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSk7CisKK1NFTEVDVCBYTUxWQUxJREFU RShET0NVTUVOVAorICAnPGJvb2sgaXNibj0iOTc4LTAtMTIzNDU2LTc4LTkiPgorICAgIDx0aXRs ZT5Qb3N0Z3JlU1FMIEludGVybmFsczwvdGl0bGU+CisgICAgPGF1dGhvcj48Zmlyc3RuYW1lPkpv aG48L2ZpcnN0bmFtZT48bGFzdG5hbWU+VGl0b3I8L2xhc3RuYW1lPjwvYXV0aG9yPgorICAgIDxh dXRob3I+PGZpcnN0bmFtZT5KYW5lPC9maXJzdG5hbWU+PC9hdXRob3I+CisgICAgPHllYXI+MjAy NDwveWVhcj4KKyAgPC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBib29rX3NjaGVt YSk7CisKK1NFTEVDVCBYTUxTRVJJQUxJWkUoRE9DVU1FTlQKKyAgWE1MVkFMSURBVEUoRE9DVU1F TlQgJzxwZXJzb24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVyc29uPicKKyAg ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIEFTIHRleHQpOworCitTRUxF Q1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNv bl9zY2hlbWEpOworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcg VE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIElTIE5VTEwgQVMgaXNfbnVsbDsKKworU0VMRUNU IFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PC9wZXJzb24+ JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworCitTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPm5vdC1hLW51 bWJlcjwvYWdlPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2No ZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdD48bmFtZT5XaWRn ZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgIEFDQ09SRElORyBUTyBY TUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEpOworCitTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+ PGV4dHJhPmRhdGE8L2V4dHJhPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBw ZXJzb25fc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29u PjxuYW1lPkpvaG48L25hbWU+PGFnZT4zMDwvYWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VN RU5UICc8dGVzdD52YWx1ZTwvdGVzdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbm9uZXhp c3RlbnRfc2NoZW1hKTsKKworQ1JFQVRFIFZJRVcgdmFsaWRhdGVkX3Blb3BsZSBBUworICBTRUxF Q1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgZGF0YSBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNv bl9zY2hlbWEpIEFTIHZhbGlkYXRlZF94bWwKKyAgRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gMTsK KworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0ZWRfcGVvcGxlJzo6cmVnY2xhc3MsIHRy dWUpOworCitEUk9QIFZJRVcgdmFsaWRhdGVkX3Blb3BsZTsKKworQ1JFQVRFIFZJRVcgdmFsaWRh dGVkX3Byb2R1Y3RzIEFTCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3Qg aWQ9IjEyMyI+PG5hbWU+VGVzdDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+PC9wcm9kdWN0PicK KyAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2No ZW1hKSBBUyB2YWxpZGF0ZWRfeG1sOworCitTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRl ZF9wcm9kdWN0cyc6OnJlZ2NsYXNzLCB0cnVlKTsKKworRFJPUCBWSUVXIHZhbGlkYXRlZF9wcm9k dWN0czsKKworQUxURVIgWE1MU0NIRU1BIGJvb2tfc2NoZW1hIFJFTkFNRSBUTyBsaWJyYXJ5X2Jv b2tfc2NoZW1hOworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEy MyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxh c3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyBB Q0NPUkRJTkcgVE8gWE1MU0NIRU1BIGJvb2tfc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxm aXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVh cj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbGlicmFyeV9i b29rX3NjaGVtYSk7CisKK0FMVEVSIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2NoZW1hIFNFVCBT Q0hFTUEgdGVzdF94bWxzY2hlbWFfbnM7CisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8 L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVh cj48L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGxpYnJhcnlfYm9va19zY2hlbWEp OworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxl PlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8 L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hKTsKKwor Q1JFQVRFIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworCitBTFRFUiBYTUxTQ0hF TUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSBPV05FUiBUTyByZWdyZXNz X3htbHNjaGVtYV90ZXN0X3JvbGU7CisKK1NFTEVDVCBzY2hlbWFuYW1lLCBzY2hlbWFuYW1lc3Bh Y2U6OnJlZ25hbWVzcGFjZSwgc2NoZW1hb3duZXI6OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1h CitXSEVSRSBzY2hlbWFuYW1lID0gJ2xpYnJhcnlfYm9va19zY2hlbWEnOworCitDUkVBVEUgVklF VyBib29rX3ZpZXcgQVMKKyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2Ju PSI0NTYiPjx0aXRsZT5EZXAgVGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPlg8L2ZpcnN0 bmFtZT48bGFzdG5hbWU+WTwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNTwveWVhcj48L2Jv b2s+JworICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFy eV9ib29rX3NjaGVtYSkgQVMgdmFsaWRhdGVkX2Jvb2s7CisKK0RST1AgWE1MU0NIRU1BIHRlc3Rf eG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWE7CisKK0RST1AgWE1MU0NIRU1BIHRlc3Rf eG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEgQ0FTQ0FERTsKKworU0VMRUNUICogRlJP TSBib29rX3ZpZXc7CisKK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CisKK0RST1AgWE1M U0NIRU1BIElGIEVYSVNUUyBwZXJzb25fc2NoZW1hOworCitEUk9QIFhNTFNDSEVNQSBwZXJzb25f c2NoZW1hOworCitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVt YTsKKworU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworCitDUkVBVEUgWE1M U0NIRU1BIHB1YmxpYy5zaG91bGRfZmFpbF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi PgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2No ZW1hPic7CisKK1JFU0VUIFJPTEU7CisKK0dSQU5UIENSRUFURSBPTiBTQ0hFTUEgdGVzdF94bWxz Y2hlbWFfbnMgVE8gcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworCitTRVQgUk9MRSByZWdy ZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CisKK0NSRUFURSBYTUxTQ0hFTUEgdGVzdF94bWxzY2hl bWFfbnMucm9sZV9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4 bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVu dCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CisKK1JFU0VU IFJPTEU7CisKK0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hOwor CitEUk9QIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworCitEUk9QIFNDSEVNQSB0 ZXN0X3htbHNjaGVtYV9ucyBDQVNDQURFOworCitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVt YV91c2VyMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworCitDUkVBVEUg WE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi PgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2No ZW1hPic7CisKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZB TElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBB Q0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworCitSRVNFVCBS T0xFOworCitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBU TyByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKKworU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFf dXNlcjE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rlc3Q+Jwor ICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0 X3NjaGVtYSk7CisKK1JFU0VUIFJPTEU7CisKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Vz ZXIyOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAg ICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9z Y2hlbWEpOworCitSRVNFVCBST0xFOworCitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlz c2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKKworU0VUIFJPTEUg cmVncmVzc194bWxzY2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0 ZXN0PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hF TUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CisKK1JFU0VUIFJPTEU7CisKK1JFVk9LRSBVU0FH RSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBGUk9NIHJlZ3Jlc3NfeG1sc2No ZW1hX3VzZXIxOworCitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFTEVDVCBY TUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAgICAgICAg ICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hKTsKKworUkVT RVQgUk9MRTsKKworRFJPUCBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYTsKK0RST1Ag Uk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVt YV91c2VyMjsKKworQ1JFQVRFIFRBQkxFIHZhbGlkYXRlZF94bWxfZGF0YSAoCisgIGlkIHNlcmlh bCBQUklNQVJZIEtFWSwKKyAgZGF0YSB4bWwKKyk7CisKK0NSRUFURSBYTUxTQ0hFTUEgZGF0YV9z Y2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0 cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJkYXRh Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4 czplbGVtZW50IG5hbWU9InZhbHVlIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hzOnNl cXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2No ZW1hPic7CisKK0lOU0VSVCBJTlRPIHZhbGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAo WE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRhPicKKyAg QUNDT1JESU5HIFRPIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkpOworCitJTlNFUlQgSU5UTyB2YWxp ZGF0ZWRfeG1sX2RhdGEgKGRhdGEpCitWQUxVRVMgKFhNTFZBTElEQVRFKERPQ1VNRU5UICc8ZGF0 YT48dmFsdWU+MTAwPC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRh dGFfc2NoZW1hKSk7CisKK1NFTEVDVCBpZCwgZGF0YSBGUk9NIHZhbGlkYXRlZF94bWxfZGF0YSBP UkRFUiBCWSBpZDsKKworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQorVkFM VUVTIChYTUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPm5vdC1hbi1pbnQ8L3ZhbHVl PjwvZGF0YT4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgZGF0YV9zY2hlbWEpKTsKKworRFJP UCBUQUJMRSB2YWxpZGF0ZWRfeG1sX2RhdGE7CitEUk9QIFhNTFNDSEVNQSBkYXRhX3NjaGVtYTsK K0RST1AgWE1MU0NIRU1BIHNob3VsZF9mYWlsX3NjaGVtYTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nf eG1sc2NoZW1hX3Rlc3Rfcm9sZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjQz LjAKCg== --000000000000430bbd064d087ea0 Content-Type: application/x-patch; name="v6-0001-Add-CREATE-XMLSCHEMA.patch" Content-Disposition: attachment; filename="v6-0001-Add-CREATE-XMLSCHEMA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmqwrz981 RnJvbSAzMTgwNDkzMjg1OWFhNzVlMDUwMzQzZDU5NjI4ZWE0NDZlNTczM2VhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjb3MgTWFndWV0YSA8bWFndWV0YW1hcmNvc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTggRmViIDIwMjYgMTY6MTM6MDYgLTAzMDAKU3ViamVjdDogW1BBVENI XSBbUEFUQ0ggdjYgMS8yXSBBZGQgQ1JFQVRFIFhNTFNDSEVNQQoKLS0tCiBkb2Mvc3JjL3NnbWwv ZGF0YXR5cGUuc2dtbCAgICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvZGRsLnNnbWwg ICAgICAgICAgICAgICAgICB8ICAxMyArLQogZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21s ICAgICAgICAgfCAgIDMgKwogZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl94bWxzY2hlbWEuc2dtbCAg fCAxNDUgKysrKysrKysrKysrKysrKysrCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV94bWxzY2hl bWEuc2dtbCB8IDE4MiArKysrKysrKysrKysrKysrKysrKysrKwogZG9jL3NyYy9zZ21sL3JlZi9k cm9wX3htbHNjaGVtYS5zZ21sICAgfCAxMjAgKysrKysrKysrKysrKysrCiBkb2Mvc3JjL3NnbWwv cmVmL2dyYW50LnNnbWwgICAgICAgICAgICB8ICAgNyArLQogZG9jL3NyYy9zZ21sL3JlZi9yZXZv a2Uuc2dtbCAgICAgICAgICAgfCAgIDcgKwogZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sICAg ICAgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAg fCAgIDEgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYyAgICAgICAgICAgfCAgMTcgKysr CiBzcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3kuYyAgICAgICB8ICAgMyArCiBzcmMvYmFj a2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jYXRh bG9nL25hbWVzcGFjZS5jICAgICAgICB8ICA1NiArKysrKysrCiBzcmMvYmFja2VuZC9jYXRhbG9n L29iamVjdGFkZHJlc3MuYyAgICB8ICA4NCArKysrKysrKysrKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9wZ194bWxzY2hlbWEuYyAgICAgfCAxOTQgKysrKysrKysrKysrKysrKysrKysrKysrKwogc3Jj L2JhY2tlbmQvY29tbWFuZHMvTWFrZWZpbGUgICAgICAgICAgfCAgIDMgKy0KIHNyYy9iYWNrZW5k L2NvbW1hbmRzL2FsdGVyLmMgICAgICAgICAgIHwgICA4ICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRz L2Ryb3BjbWRzLmMgICAgICAgIHwgICA3ICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2V2ZW50X3Ry aWdnZXIuYyAgIHwgICAyICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkICAgICAg IHwgICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3NlY2xhYmVsLmMgICAgICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3htbHNjaGVtYWNtZHMuYyAgIHwgIDk1ICsrKysrKysrKysr Kwogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgfCAgNjQgKysrKysrKy0K IHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgIHwgIDE3ICsrKwogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L2FjbC5jICAgICAgICAgICAgfCAgIDQgKwogc3JjL2Jpbi9wZ19kdW1w L2NvbW1vbi5jICAgICAgICAgICAgICAgfCAgIDMgKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1 cF9hcmNoaXZlci5jICAgfCAgIDEgKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAg ICAgICAgfCAxMjggKysrKysrKysrKysrKysrKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCAg ICAgICAgICAgICAgfCAgIDggKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jICAgICAg ICAgfCAgIDUgKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgfCAgMjIg KysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlICAgICAgICAgICB8ICAgMSArCiBzcmMv aW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1aWxkICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9j YXRhbG9nL25hbWVzcGFjZS5oICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3htbHNjaGVtYS5oICAgICB8ICA0OCArKysrKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3htbHNj aGVtYWNtZHMuaCAgIHwgICA5ICsrCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAg ICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAgICAgICAgICB8ICAg MSArCiBzcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaCAgICAgICAgICB8ICAgMyArCiBzcmMv aW5jbHVkZS91dGlscy9hY2wuaCAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dCB8ICAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3htbC5vdXQgICAgICB8ICA2NCArKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC94bWxfMS5vdXQgICAgfCAgNjEgKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv eG1sXzIub3V0ICAgIHwgIDc4ICsrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3htbC5z cWwgICAgICAgICAgIHwgIDYzICsrKysrKysrCiA0NiBmaWxlcyBjaGFuZ2VkLCAxNTM2IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21s L3JlZi9hbHRlcl94bWxzY2hlbWEuc2dtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3htbHNjaGVtYS5zZ21sCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9z Z21sL3JlZi9kcm9wX3htbHNjaGVtYS5zZ21sCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ194bWxzY2hlbWEuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5k L2NvbW1hbmRzL3htbHNjaGVtYWNtZHMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfeG1sc2NoZW1hLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9j b21tYW5kcy94bWxzY2hlbWFjbWRzLmgKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGF0YXR5 cGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9kYXRhdHlwZS5zZ21sCmluZGV4IDMwMTdjNjc0MDQwLi5m MmFkZTU3ZmU3ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKQEAgLTQ2NDksNiArNDY0OSw3IEBAIFNFVCB4bWxv cHRpb24gVE8geyBET0NVTUVOVCB8IENPTlRFTlQgfTsKICAgICBkaXN0cmlidXRpb24uCiAgICA8 L3BhcmE+CiAgICA8L3NlY3QyPgorCiAgIDwvc2VjdDE+CiAKICAgJmpzb247CmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKaW5kZXggOTA3 MGFhYTVhN2MuLjVhMmJjOWVjZWUzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC0yNDg2LDYgKzI0ODYsOSBAQCBSRVZPS0Ug QUxMIE9OIGFjY291bnRzIEZST00gUFVCTElDOwogICAgICAgIGRlcGVuZGVuY2llcyBvbiBhIHR5 cGUsIHdoaWNoIGNvdWxkIHByZXZlbnQgdGhlIG93bmVyIGZyb20gY2hhbmdpbmcKICAgICAgICB0 aGUgdHlwZSBsYXRlci4pCiAgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBGb3Ig WE1MIHNjaGVtYXMsIGFsbG93cyB1c2Ugb2YgdGhlIFhNTCBzY2hlbWEgZm9yIFhNTCB2YWxpZGF0 aW9uLgorICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAgICAgRm9yIGZvcmVpZ24tZGF0 YSB3cmFwcGVycywgYWxsb3dzIGNyZWF0aW9uIG9mIG5ldyBzZXJ2ZXJzIHVzaW5nIHRoZQogICAg ICAgIGZvcmVpZ24tZGF0YSB3cmFwcGVyLgpAQCAtMjU0OCw2ICsyNTUxLDcgQEAgUkVWT0tFIEFM TCBPTiBhY2NvdW50cyBGUk9NIFBVQkxJQzsKICAgIGZvcmVpZ24gZGF0YSB3cmFwcGVycywKICAg IGZvcmVpZ24gc2VydmVycywKICAgIGxhcmdlIG9iamVjdHMsCisgICBYTUwgc2NoZW1hcywKICAg IHNjaGVtYXMsCiAgICB0YWJsZXNwYWNlcywKICAgIG9yIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVy cy4KQEAgLTI2NjksNyArMjY3Myw4IEBAIFJFVk9LRSBBTEwgT04gYWNjb3VudHMgRlJPTSBQVUJM SUM7CiAgICAgICAgPGxpdGVyYWw+TEFOR1VBR0U8L2xpdGVyYWw+LAogICAgICAgIDxsaXRlcmFs PlNDSEVNQTwvbGl0ZXJhbD4sCiAgICAgICAgPGxpdGVyYWw+U0VRVUVOQ0U8L2xpdGVyYWw+LAot ICAgICAgIDxsaXRlcmFsPlRZUEU8L2xpdGVyYWw+CisgICAgICAgPGxpdGVyYWw+VFlQRTwvbGl0 ZXJhbD4sCisgICAgICAgPGxpdGVyYWw+WE1MU0NIRU1BPC9saXRlcmFsPgogICAgICAgPC9lbnRy eT4KICAgICAgPC9yb3c+CiAgICAgIDxyb3c+CkBAIC0yNzk5LDYgKzI4MDQsMTIgQEAgUkVWT0tF IEFMTCBPTiBhY2NvdW50cyBGUk9NIFBVQkxJQzsKICAgICAgIDxlbnRyeT48bGl0ZXJhbD5VPC9s aXRlcmFsPjwvZW50cnk+CiAgICAgICA8ZW50cnk+PGxpdGVyYWw+XGRUKzwvbGl0ZXJhbD48L2Vu dHJ5PgogICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5YTUxT Q0hFTUE8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD5VPC9saXRlcmFs PjwvZW50cnk+CisgICAgICA8ZW50cnk+bm9uZTwvZW50cnk+CisgICAgICA8ZW50cnk+bm9uZTwv ZW50cnk+CisgICAgIDwvcm93PgogICAgIDwvdGJvZHk+CiAgICA8L3Rncm91cD4KICAgPC90YWJs ZT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWYvYWxsZmlsZXMuc2dtbAppbmRleCBlMTY3NDA2Yzc0NC4uODdhOGU2MDY2ZTQgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2FsbGZpbGVzLnNnbWwKQEAgLTQ4LDYgKzQ4LDcgQEAgQ29tcGxldGUgbGlzdCBvZiB1 c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVOVElUWSBhbHRl clVzZXIgICAgICAgICAgU1lTVEVNICJhbHRlcl91c2VyLnNnbWwiPgogPCFFTlRJVFkgYWx0ZXJV c2VyTWFwcGluZyAgIFNZU1RFTSAiYWx0ZXJfdXNlcl9tYXBwaW5nLnNnbWwiPgogPCFFTlRJVFkg YWx0ZXJWaWV3ICAgICAgICAgIFNZU1RFTSAiYWx0ZXJfdmlldy5zZ21sIj4KKzwhRU5USVRZIGFs dGVyWG1sU2NoZW1hICAgICBTWVNURU0gImFsdGVyX3htbHNjaGVtYS5zZ21sIj4KIDwhRU5USVRZ IGFuYWx5emUgICAgICAgICAgICBTWVNURU0gImFuYWx5emUuc2dtbCI+CiA8IUVOVElUWSBiZWdp biAgICAgICAgICAgICAgU1lTVEVNICJiZWdpbi5zZ21sIj4KIDwhRU5USVRZIGNhbGwgICAgICAg ICAgICAgICBTWVNURU0gImNhbGwuc2dtbCI+CkBAIC0xMDAsNiArMTAxLDcgQEAgQ29tcGxldGUg bGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVO VElUWSBjcmVhdGVVc2VyICAgICAgICAgU1lTVEVNICJjcmVhdGVfdXNlci5zZ21sIj4KIDwhRU5U SVRZIGNyZWF0ZVVzZXJNYXBwaW5nICBTWVNURU0gImNyZWF0ZV91c2VyX21hcHBpbmcuc2dtbCI+ CiA8IUVOVElUWSBjcmVhdGVWaWV3ICAgICAgICAgU1lTVEVNICJjcmVhdGVfdmlldy5zZ21sIj4K KzwhRU5USVRZIGNyZWF0ZVhtbFNjaGVtYSAgICBTWVNURU0gImNyZWF0ZV94bWxzY2hlbWEuc2dt bCI+CiA8IUVOVElUWSBkZWFsbG9jYXRlICAgICAgICAgU1lTVEVNICJkZWFsbG9jYXRlLnNnbWwi PgogPCFFTlRJVFkgZGVjbGFyZSAgICAgICAgICAgIFNZU1RFTSAiZGVjbGFyZS5zZ21sIj4KIDwh RU5USVRZIGRlbGV0ZSAgICAgICAgICAgICBTWVNURU0gImRlbGV0ZS5zZ21sIj4KQEAgLTE0OCw2 ICsxNTAsNyBAQCBDb21wbGV0ZSBsaXN0IG9mIHVzYWJsZSBzZ21sIHNvdXJjZSBmaWxlcyBpbiB0 aGlzIGRpcmVjdG9yeS4KIDwhRU5USVRZIGRyb3BVc2VyICAgICAgICAgICBTWVNURU0gImRyb3Bf dXNlci5zZ21sIj4KIDwhRU5USVRZIGRyb3BVc2VyTWFwcGluZyAgICBTWVNURU0gImRyb3BfdXNl cl9tYXBwaW5nLnNnbWwiPgogPCFFTlRJVFkgZHJvcFZpZXcgICAgICAgICAgIFNZU1RFTSAiZHJv cF92aWV3LnNnbWwiPgorPCFFTlRJVFkgZHJvcFhtbFNjaGVtYSAgICAgIFNZU1RFTSAiZHJvcF94 bWxzY2hlbWEuc2dtbCI+CiA8IUVOVElUWSBlbmQgICAgICAgICAgICAgICAgU1lTVEVNICJlbmQu c2dtbCI+CiA8IUVOVElUWSBleGVjdXRlICAgICAgICAgICAgU1lTVEVNICJleGVjdXRlLnNnbWwi PgogPCFFTlRJVFkgZXhwbGFpbiAgICAgICAgICAgIFNZU1RFTSAiZXhwbGFpbi5zZ21sIj4KZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfeG1sc2NoZW1hLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvcmVmL2FsdGVyX3htbHNjaGVtYS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi42YTI4NmFkMDBmZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dt bC9yZWYvYWx0ZXJfeG1sc2NoZW1hLnNnbWwKQEAgLTAsMCArMSwxNDUgQEAKKzwhLS0KK2RvYy9z cmMvc2dtbC9yZWYvYWx0ZXJfeG1sc2NoZW1hLnNnbWwKK1Bvc3RncmVTUUwgZG9jdW1lbnRhdGlv bgorLS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWFsdGVyeG1sc2NoZW1hIj4KKyA8aW5kZXh0ZXJt IHpvbmU9InNxbC1hbHRlcnhtbHNjaGVtYSI+CisgIDxwcmltYXJ5PkFMVEVSIFhNTFNDSEVNQTwv cHJpbWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRsZT5B TFRFUiBYTUxTQ0hFTUE8L3JlZmVudHJ5dGl0bGU+CisgIDxtYW52b2xudW0+NzwvbWFudm9sbnVt PgorICA8cmVmbWlzY2luZm8+U1FMIC0gTGFuZ3VhZ2UgU3RhdGVtZW50czwvcmVmbWlzY2luZm8+ CisgPC9yZWZtZXRhPgorCisgPHJlZm5hbWVkaXY+CisgIDxyZWZuYW1lPkFMVEVSIFhNTFNDSEVN QTwvcmVmbmFtZT4KKyAgPHJlZnB1cnBvc2U+Y2hhbmdlIHRoZSBkZWZpbml0aW9uIG9mIGFuIFhN TCBzY2hlbWE8L3JlZnB1cnBvc2U+CisgPC9yZWZuYW1lZGl2PgorCisgPHJlZnN5bm9wc2lzZGl2 PgorPHN5bm9wc2lzPgorQUxURVIgWE1MU0NIRU1BIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBPV05FUiBUTyB7IDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uZXdfb3duZXI8L3JlcGxhY2VhYmxlPiB8IENVUlJFTlRf Uk9MRSB8IENVUlJFTlRfVVNFUiB8IFNFU1NJT05fVVNFUiB9CitBTFRFUiBYTUxTQ0hFTUEgWyBJ RiBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IFJFTkFNRSBUTyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmV3X25hbWU8L3Jl cGxhY2VhYmxlPgorQUxURVIgWE1MU0NIRU1BIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBTRVQgU0NIRU1BIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5uZXdfc2NoZW1hPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+ CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9u PC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkFMVEVSIFhNTFNDSEVNQTwvY29tbWFu ZD4gY2hhbmdlcyB0aGUgZGVmaW5pdGlvbiBvZiBhbiBYTUwgc2NoZW1hLgorICA8L3BhcmE+CisK KyAgPHBhcmE+CisgICBZb3UgbXVzdCBvd24gdGhlIFhNTCBzY2hlbWEgdG8gdXNlIDxjb21tYW5k PkFMVEVSIFhNTFNDSEVNQTwvY29tbWFuZD4uCisgICBUbyBjaGFuZ2UgYW4gWE1MIHNjaGVtYSdz IHNjaGVtYSwgeW91IG11c3QgYWxzbyBoYXZlIDxsaXRlcmFsPkNSRUFURTwvbGl0ZXJhbD4KKyAg IHByaXZpbGVnZSBvbiB0aGUgbmV3IHNjaGVtYS4KKyAgIFRvIGFsdGVyIHRoZSBvd25lciwgeW91 IG11c3QgYmUgYWJsZSB0byA8bGl0ZXJhbD5TRVQgUk9MRTwvbGl0ZXJhbD4gdG8gdGhlCisgICBu ZXcgb3duaW5nIHJvbGUsIGFuZCB0aGF0IHJvbGUgbXVzdCBoYXZlIDxsaXRlcmFsPkNSRUFURTwv bGl0ZXJhbD4KKyAgIHByaXZpbGVnZSBvbiB0aGUgWE1MIHNjaGVtYSdzIHNjaGVtYS4KKyAgIChU aGVzZSByZXN0cmljdGlvbnMgZW5mb3JjZSB0aGF0IGFsdGVyaW5nIHRoZSBvd25lcgorICAgZG9l c24ndCBkbyBhbnl0aGluZyB5b3UgY291bGRuJ3QgZG8gYnkgZHJvcHBpbmcgYW5kIHJlY3JlYXRp bmcgdGhlIFhNTCBzY2hlbWEuCisgICBIb3dldmVyLCBhIHN1cGVydXNlciBjYW4gYWx0ZXIgb3du ZXJzaGlwIG9mIGFueSBYTUwgc2NoZW1hIGFueXdheS4pCisgIDwvcGFyYT4KKyA8L3JlZnNlY3Qx PgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlh YmxlbGlzdD4KKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+Cisg ICAgIDxwYXJhPgorICAgICAgVGhlIG5hbWUgKG9wdGlvbmFsbHkgc2NoZW1hLXF1YWxpZmllZCkg b2YgYW4gWE1MIHNjaGVtYSB0byBiZSBhbHRlcmVkLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0 aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJt PjxsaXRlcmFsPklGIEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAg ICA8cGFyYT4KKyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgWE1MIHNjaGVtYSBk b2VzIG5vdCBleGlzdC4gQSBub3RpY2UgaXMgaXNzdWVkCisgICAgICBpbiB0aGlzIGNhc2UuCisg ICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2 YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5l d19vd25lcjwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+ CisgICAgICBUaGUgdXNlciBuYW1lIG9mIHRoZSBuZXcgb3duZXIgb2YgdGhlIFhNTCBzY2hlbWEu CisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAg IDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5ld19uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIFRoZSBuZXcgbmFtZSBvZiB0aGUgWE1MIHNjaGVtYS4KKyAgICAgPC9wYXJhPgor ICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4K KyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmV3X3NjaGVtYTwvcmVw bGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUg bmV3IHNjaGVtYSBmb3IgdGhlIFhNTCBzY2hlbWEuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+ CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5FeGFtcGxlczwvdGl0bGU+CisKKyAgPHBhcmE+Cisg ICBUbyByZW5hbWUgYW4gWE1MIHNjaGVtYToKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVSIFhNTFND SEVNQSBwZXJzb25fc2NoZW1hIFJFTkFNRSBUTyBwZW9wbGVfc2NoZW1hOworPC9wcm9ncmFtbGlz dGluZz4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgVG8gY2hhbmdlIHRoZSBvd25lciBvZiBh biBYTUwgc2NoZW1hOgorPHByb2dyYW1saXN0aW5nPgorQUxURVIgWE1MU0NIRU1BIHBlb3BsZV9z Y2hlbWEgT1dORVIgVE8gam9lOworPC9wcm9ncmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCisgIDxw YXJhPgorICAgVG8gbW92ZSBhbiBYTUwgc2NoZW1hIHRvIGFub3RoZXIgc2NoZW1hOgorPHByb2dy YW1saXN0aW5nPgorQUxURVIgWE1MU0NIRU1BIHBlb3BsZV9zY2hlbWEgU0VUIFNDSEVNQSBteXNj aGVtYTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJl ZnNlY3QxPgorICA8dGl0bGU+Q29tcGF0aWJpbGl0eTwvdGl0bGU+CisKKyAgPHBhcmE+CisgICA8 Y29tbWFuZD5BTFRFUiBYTUxTQ0hFTUE8L2NvbW1hbmQ+IGlzIGEKKyAgIDxwcm9kdWN0bmFtZT5Q b3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8L3BhcmE+CisgPC9yZWZzZWN0 MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNlZSBBbHNvPC90aXRsZT4KKworICA8c2ltcGxl bGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRl eG1sc2NoZW1hIi8+PC9tZW1iZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9w eG1sc2NoZW1hIi8+PC9tZW1iZXI+CisgIDwvc2ltcGxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCis8 L3JlZmVudHJ5PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfeG1sc2NoZW1h LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV94bWxzY2hlbWEuc2dtbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTczYjliNzIxMTEKLS0tIC9kZXYvbnVsbAor KysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV94bWxzY2hlbWEuc2dtbApAQCAtMCwwICsxLDE4 MiBAQAorPCEtLQorZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfeG1sc2NoZW1hLnNnbWwKK1Bvc3Rn cmVTUUwgZG9jdW1lbnRhdGlvbgorLS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWNyZWF0ZXhtbHNj aGVtYSI+CisgPGluZGV4dGVybSB6b25lPSJzcWwtY3JlYXRleG1sc2NoZW1hIj4KKyAgPHByaW1h cnk+Q1JFQVRFIFhNTFNDSEVNQTwvcHJpbWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRh PgorICA8cmVmZW50cnl0aXRsZT5DUkVBVEUgWE1MU0NIRU1BPC9yZWZlbnRyeXRpdGxlPgorICA8 bWFudm9sbnVtPjc8L21hbnZvbG51bT4KKyAgPHJlZm1pc2NpbmZvPlNRTCAtIExhbmd1YWdlIFN0 YXRlbWVudHM8L3JlZm1pc2NpbmZvPgorIDwvcmVmbWV0YT4KKworIDxyZWZuYW1lZGl2PgorICA8 cmVmbmFtZT5DUkVBVEUgWE1MU0NIRU1BPC9yZWZuYW1lPgorICA8cmVmcHVycG9zZT5kZWZpbmUg YSBuZXcgWE1MIHNjaGVtYTwvcmVmcHVycG9zZT4KKyA8L3JlZm5hbWVkaXY+CisKKyA8cmVmc3lu b3BzaXNkaXY+Cis8c3lub3BzaXM+CitDUkVBVEUgWE1MU0NIRU1BIFsgSUYgTk9UIEVYSVNUUyBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gQVMgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNjaGVtYV9kZWZpbml0aW9uPC9yZXBsYWNlYWJs ZT4KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRp dGxlPkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkNSRUFURSBY TUxTQ0hFTUE8L2NvbW1hbmQ+IGRlZmluZXMgYSBuZXcgWE1MIHNjaGVtYSBpbiB0aGUKKyAgIGN1 cnJlbnQgZGF0YWJhc2UuIFRoZSBzY2hlbWEgZGVmaW5pdGlvbiBpcyBhbiBYTUwgU2NoZW1hIERl ZmluaXRpb24gKFhTRCkKKyAgIGRvY3VtZW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUg WE1MIGRvY3VtZW50cyB1c2luZyB0aGUKKyAgIDxmdW5jdGlvbj5YTUxWQUxJREFURTwvZnVuY3Rp b24+IGZ1bmN0aW9uLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBJZiBhIHNjaGVtYSBuYW1l IGlzIGdpdmVuIHRoZW4gdGhlIFhNTCBzY2hlbWEgaXMgY3JlYXRlZCBpbiB0aGUKKyAgIHNwZWNp ZmllZCBzY2hlbWEuIE90aGVyd2lzZSBpdCBpcyBjcmVhdGVkIGluIHRoZSBjdXJyZW50IHNjaGVt YS4KKyAgIFRoZSBYTUwgc2NoZW1hIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBzY2hl bWEuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIEFmdGVyIGFuIFhNTCBzY2hlbWEgaXMgY3Jl YXRlZCwgeW91IHVzZSB0aGUKKyAgIDxmdW5jdGlvbj5YTUxWQUxJREFURTwvZnVuY3Rpb24+IGZ1 bmN0aW9uIHRvIHZhbGlkYXRlIFhNTCBkb2N1bWVudHMKKyAgIGFnYWluc3QgaXQuCisgIDwvcGFy YT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0 bGU+CisKKyAgPHZhcmlhYmxlbGlzdD4KKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGxp dGVyYWw+SUYgTk9UIEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAg ICA8cGFyYT4KKyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBpZiBhbiBYTUwgc2NoZW1hIHdp dGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cy4KKyAgICAgIEEgbm90aWNlIGlzIGlzc3Vl ZCBpbiB0aGlzIGNhc2UuIE5vdGUgdGhhdCB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdAorICAg ICAgdGhlIGV4aXN0aW5nIFhNTCBzY2hlbWEgaXMgc2ltaWxhciB0byB0aGUgb25lIHRoYXQgd291 bGQgaGF2ZSBiZWVuIGNyZWF0ZWQuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAg PC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlz dGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIG5hbWUgKG9wdGlvbmFsbHkgc2NoZW1hLXF1 YWxpZmllZCkgb2YgdGhlIFhNTCBzY2hlbWEgdG8gYmUgY3JlYXRlZC4KKyAgICAgPC9wYXJhPgor ICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4K KyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c2NoZW1hX2RlZmluaXRp b248L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAg ICAgQW4gWE1MIFNjaGVtYSBEZWZpbml0aW9uIChYU0QpIGRvY3VtZW50IHByb3ZpZGVkIGFzIGEg c3RyaW5nIGxpdGVyYWwuCisgICAgICBUaGUgc2NoZW1hIGRlZmluaXRpb24gbXVzdCBiZSBhIHZh bGlkIFhTRCBkb2N1bWVudCBjb25mb3JtaW5nIHRvIHRoZQorICAgICAgVzNDIFhNTCBTY2hlbWEg c3RhbmRhcmQuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0 aXRsZT5Ob3RlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUbyBjcmVhdGUgYW4gWE1MIHNjaGVt YSwgeW91IG11c3QgaGF2ZSA8bGl0ZXJhbD5DUkVBVEU8L2xpdGVyYWw+IHByaXZpbGVnZQorICAg b24gdGhlIGN1cnJlbnQgc2NoZW1hLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBVc2UgPGxp bmsgbGlua2VuZD0ic3FsLWRyb3B4bWxzY2hlbWEiPjxjb21tYW5kPkRST1AgWE1MU0NIRU1BPC9j b21tYW5kPjwvbGluaz4gdG8gcmVtb3ZlIGFuIFhNTCBzY2hlbWEuCisgIDwvcGFyYT4KKworICA8 cGFyYT4KKyAgIFNlZSBhbHNvIDxsaW5rIGxpbmtlbmQ9InNxbC1hbHRlcnhtbHNjaGVtYSI+PGNv bW1hbmQ+QUxURVIgWE1MU0NIRU1BPC9jb21tYW5kPjwvbGluaz4KKyAgIHRvIHJlbmFtZSBhbiBY TUwgc2NoZW1hIG9yIGNoYW5nZSBpdHMgb3duZXIuCisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+RXhhbXBsZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAg Q3JlYXRlIGFuIFhNTCBzY2hlbWEgZm9yIHZhbGlkYXRpbmcgcGVyc29uIGRvY3VtZW50czoKKzxw cm9ncmFtbGlzdGluZz4KK0NSRUFURSBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnJmx0Oz94 bWwgdmVyc2lvbj0iMS4wIj8mZ3Q7CismbHQ7eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3 LnczLm9yZy8yMDAxL1hNTFNjaGVtYSImZ3Q7CisgICZsdDt4czplbGVtZW50IG5hbWU9InBlcnNv biImZ3Q7CisgICAgJmx0O3hzOmNvbXBsZXhUeXBlJmd0OworICAgICAgJmx0O3hzOnNlcXVlbmNl Jmd0OworICAgICAgICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmci LyZndDsKKyAgICAgICAgJmx0O3hzOmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2Vy Ii8mZ3Q7CisgICAgICAmbHQ7L3hzOnNlcXVlbmNlJmd0OworICAgICZsdDsveHM6Y29tcGxleFR5 cGUmZ3Q7CisgICZsdDsveHM6ZWxlbWVudCZndDsKKyZsdDsveHM6c2NoZW1hJmd0Oyc7Cis8L3By b2dyYW1saXN0aW5nPgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBDcmVhdGUgYW4gWE1MIHNj aGVtYSB3aXRoIGEgc2NoZW1hLXF1YWxpZmllZCBuYW1lOgorPHByb2dyYW1saXN0aW5nPgorQ1JF QVRFIFNDSEVNQSBteXNjaGVtYTsKK0NSRUFURSBYTUxTQ0hFTUEgbXlzY2hlbWEucHJvZHVjdF9z Y2hlbWEgQVMgJyZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0O3hzOnNjaGVtYSB4bWxu czp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiJmd0OworICAmbHQ7eHM6ZWxl bWVudCBuYW1lPSJwcm9kdWN0IiZndDsKKyAgICAmbHQ7eHM6Y29tcGxleFR5cGUmZ3Q7CisgICAg ICAmbHQ7eHM6c2VxdWVuY2UmZ3Q7CisgICAgICAgICZsdDt4czplbGVtZW50IG5hbWU9Im5hbWUi IHR5cGU9InhzOnN0cmluZyIvJmd0OworICAgICAgICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJwcmlj ZSIgdHlwZT0ieHM6ZGVjaW1hbCIvJmd0OworICAgICAgJmx0Oy94czpzZXF1ZW5jZSZndDsKKyAg ICAgICZsdDt4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1 aXJlZCIvJmd0OworICAgICZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7CisgICZsdDsveHM6ZWxlbWVu dCZndDsKKyZsdDsveHM6c2NoZW1hJmd0Oyc7Cis8L3Byb2dyYW1saXN0aW5nPgorICA8L3BhcmE+ CisKKyAgPHBhcmE+CisgICBDcmVhdGUgYW4gWE1MIHNjaGVtYSBvbmx5IGlmIGl0IGRvZXNuJ3Qg YWxyZWFkeSBleGlzdDoKKzxwcm9ncmFtbGlzdGluZz4KK0NSRUFURSBYTUxTQ0hFTUEgSUYgTk9U IEVYSVNUUyBwZXJzb25fc2NoZW1hIEFTICcuLi4nOworPC9wcm9ncmFtbGlzdGluZz4KKyAgPC9w YXJhPgorCisgIDxwYXJhPgorICAgVmFsaWRhdGUgYW4gWE1MIGRvY3VtZW50IGFnYWluc3QgdGhl IHNjaGVtYToKKzxwcm9ncmFtbGlzdGluZz4KK1NFTEVDVCBYTUxWQUxJREFURSgKKyAgRE9DVU1F TlQgJyZsdDtwZXJzb24mZ3Q7Jmx0O25hbWUmZ3Q7Sm9obiZsdDsvbmFtZSZndDsmbHQ7YWdlJmd0 OzMwJmx0Oy9hZ2UmZ3Q7Jmx0Oy9wZXJzb24mZ3Q7JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IHBlcnNvbl9zY2hlbWEKKyk7Cis8L3Byb2dyYW1saXN0aW5nPgorICA8L3BhcmE+CisgPC9yZWZz ZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkNvbXBhdGliaWxpdHk8L3RpdGxlPgorCisg IDxwYXJhPgorICAgPGNvbW1hbmQ+Q1JFQVRFIFhNTFNDSEVNQTwvY29tbWFuZD4gaXMgYQorICAg PHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNpb24uIFRoZXJlIGlz IG5vCisgICA8Y29tbWFuZD5DUkVBVEUgWE1MU0NIRU1BPC9jb21tYW5kPiBzdGF0ZW1lbnQgaW4g dGhlIFNRTCBzdGFuZGFyZC4KKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+ CisgIDx0aXRsZT5TZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5l Ij4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWFsdGVyeG1sc2NoZW1hIi8+PC9tZW1i ZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9weG1sc2NoZW1hIi8+PC9tZW1i ZXI+CisgIDwvc2ltcGxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCis8L3JlZmVudHJ5PgpkaWZmIC0t Z2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3htbHNjaGVtYS5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9kcm9wX3htbHNjaGVtYS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi40MjA0ZjliYzQxMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYv ZHJvcF94bWxzY2hlbWEuc2dtbApAQCAtMCwwICsxLDEyMCBAQAorPCEtLQorZG9jL3NyYy9zZ21s L3JlZi9kcm9wX3htbHNjaGVtYS5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KKy0tPgor Cis8cmVmZW50cnkgaWQ9InNxbC1kcm9weG1sc2NoZW1hIj4KKyA8aW5kZXh0ZXJtIHpvbmU9InNx bC1kcm9weG1sc2NoZW1hIj4KKyAgPHByaW1hcnk+RFJPUCBYTUxTQ0hFTUE8L3ByaW1hcnk+Cisg PC9pbmRleHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+RFJPUCBYTUxTQ0hF TUE8L3JlZmVudHJ5dGl0bGU+CisgIDxtYW52b2xudW0+NzwvbWFudm9sbnVtPgorICA8cmVmbWlz Y2luZm8+U1FMIC0gTGFuZ3VhZ2UgU3RhdGVtZW50czwvcmVmbWlzY2luZm8+CisgPC9yZWZtZXRh PgorCisgPHJlZm5hbWVkaXY+CisgIDxyZWZuYW1lPkRST1AgWE1MU0NIRU1BPC9yZWZuYW1lPgor ICA8cmVmcHVycG9zZT5yZW1vdmUgYW4gWE1MIHNjaGVtYTwvcmVmcHVycG9zZT4KKyA8L3JlZm5h bWVkaXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8c3lub3BzaXM+CitEUk9QIFhNTFNDSEVNQSBb IElGIEVYSVNUUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4gWywgLi4uXSBbIENBU0NBREUgfCBSRVNUUklDVCBdCis8L3N5bm9wc2lzPgorIDwvcmVm c3lub3BzaXNkaXY+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5EZXNjcmlwdGlvbjwvdGl0bGU+ CisKKyAgPHBhcmE+CisgICA8Y29tbWFuZD5EUk9QIFhNTFNDSEVNQTwvY29tbWFuZD4gcmVtb3Zl cyBYTUwgc2NoZW1hcyBmcm9tIHRoZSBkYXRhYmFzZS4KKyAgIEFuIFhNTCBzY2hlbWEgY2FuIG9u bHkgYmUgZHJvcHBlZCBieSBpdHMgb3duZXIgb3IgYSBzdXBlcnVzZXIuCisgIDwvcGFyYT4KKyA8 L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisK KyAgPHZhcmlhYmxlbGlzdD4KKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGxpdGVyYWw+ SUYgRVhJU1RTPC9saXRlcmFsPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgor ICAgICAgRG8gbm90IHRocm93IGFuIGVycm9yIGlmIHRoZSBYTUwgc2NoZW1hIGRvZXMgbm90IGV4 aXN0LiBBIG5vdGljZSBpcyBpc3N1ZWQKKyAgICAgIGluIHRoaXMgY2FzZS4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbmFt ZSAob3B0aW9uYWxseSBzY2hlbWEtcXVhbGlmaWVkKSBvZiBhbiBYTUwgc2NoZW1hLgorICAgICA8 L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlz dGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPkNBU0NBREU8L2xpdGVyYWw+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBdXRvbWF0aWNhbGx5IGRyb3Agb2JqZWN0 cyB0aGF0IGRlcGVuZCBvbiB0aGUgWE1MIHNjaGVtYSwKKyAgICAgIGFuZCBpbiB0dXJuIGFsbCBv YmplY3RzIHRoYXQgZGVwZW5kIG9uIHRob3NlIG9iamVjdHMKKyAgICAgIChzZWUgPHhyZWYgbGlu a2VuZD0iZGRsLWRlcGVuZCIvPikuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAg PC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGxpdGVyYWw+ UkVTVFJJQ1Q8L2xpdGVyYWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+Cisg ICAgICBSZWZ1c2UgdG8gZHJvcCB0aGUgWE1MIHNjaGVtYSBpZiBhbnkgb2JqZWN0cyBkZXBlbmQg b24gaXQuICBUaGlzCisgICAgICBpcyB0aGUgZGVmYXVsdC4KKyAgICAgPC9wYXJhPgorICAgIDwv bGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKyAgPC92YXJpYWJsZWxpc3Q+CisgPC9yZWZz ZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFy YT4KKyAgIFRvIHJlbW92ZSB0aGUgWE1MIHNjaGVtYSA8bGl0ZXJhbD5wZXJzb25fc2NoZW1hPC9s aXRlcmFsPjoKKzxwcm9ncmFtbGlzdGluZz4KK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7 Cis8L3Byb2dyYW1saXN0aW5nPgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUbyByZW1vdmUg YW4gWE1MIHNjaGVtYSBhbmQgYWxsIGRlcGVuZGVudCBvYmplY3RzOgorPHByb2dyYW1saXN0aW5n PgorRFJPUCBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBDQVNDQURFOworPC9wcm9ncmFtbGlzdGlu Zz4KKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21w YXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkRST1AgWE1MU0NIRU1B PC9jb21tYW5kPiBpcyBhCisgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+ IGV4dGVuc2lvbi4gVGhlcmUgaXMgbm8KKyAgIDxjb21tYW5kPkRST1AgWE1MU0NIRU1BPC9jb21t YW5kPiBzdGF0ZW1lbnQgaW4gdGhlIFNRTCBzdGFuZGFyZC4KKyAgPC9wYXJhPgorIDwvcmVmc2Vj dDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5TZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBs ZWxpc3QgdHlwZT0iaW5saW5lIj4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0 ZXhtbHNjaGVtYSIvPjwvbWVtYmVyPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtYWx0 ZXJ4bWxzY2hlbWEiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+CisK KzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2dyYW50LnNnbWwgYi9k b2Mvc3JjL3NnbWwvcmVmL2dyYW50LnNnbWwKaW5kZXggMDQzZjVkNWE0MGEuLjI4MzQ1YmMyMjE1 IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2dyYW50LnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9ncmFudC5zZ21sCkBAIC05Nyw2ICs5NywxMSBAQCBHUkFOVCB7IFVTQUdFIHwgQUxM IFsgUFJJVklMRUdFUyBdIH0KICAgICBUTyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cm9sZV9zcGVjaWZpY2F0aW9uPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEggR1JBTlQgT1BU SU9OIF0KICAgICBbIEdSQU5URUQgQlkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJv bGVfc3BlY2lmaWNhdGlvbjwvcmVwbGFjZWFibGU+IF0KIAorR1JBTlQgeyBVU0FHRSB8IEFMTCBb IFBSSVZJTEVHRVMgXSB9CisgICAgT04gWE1MU0NIRU1BIDxyZXBsYWNlYWJsZT54bWxzY2hlbWFf bmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0KKyAgICBUTyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cm9sZV9zcGVjaWZpY2F0aW9uPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEgg R1JBTlQgT1BUSU9OIF0KKyAgICBbIEdSQU5URUQgQlkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnJvbGVfc3BlY2lmaWNhdGlvbjwvcmVwbGFjZWFibGU+IF0KKwogR1JBTlQgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0g VE8gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfc3BlY2lmaWNhdGlvbjwvcmVw bGFjZWFibGU+IFssIC4uLl0KICAgICBbIFdJVEggeyBBRE1JTiB8IElOSEVSSVQgfCBTRVQgfSB7 IE9QVElPTiB8IFRSVUUgfCBGQUxTRSB9IF0KICAgICBbIEdSQU5URUQgQlkgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfc3BlY2lmaWNhdGlvbjwvcmVwbGFjZWFibGU+IF0KQEAg LTExOSw3ICsxMjQsNyBAQCBHUkFOVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cm9s ZV9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBUTyA8cmVwbGFjZQogICAgdGhhdCBncmFudHMg cHJpdmlsZWdlcyBvbiBhIGRhdGFiYXNlIG9iamVjdCAodGFibGUsIGNvbHVtbiwgdmlldywKICAg IGZvcmVpZ24gdGFibGUsIHNlcXVlbmNlLCBkYXRhYmFzZSwgZm9yZWlnbi1kYXRhIHdyYXBwZXIs IGZvcmVpZ24gc2VydmVyLAogICAgZnVuY3Rpb24sIHByb2NlZHVyZSwgcHJvY2VkdXJhbCBsYW5n dWFnZSwgbGFyZ2Ugb2JqZWN0LCBjb25maWd1cmF0aW9uCi0gICBwYXJhbWV0ZXIsIHNjaGVtYSwg dGFibGVzcGFjZSwgb3IgdHlwZSksIGFuZCBvbmUgdGhhdCBncmFudHMKKyAgIHBhcmFtZXRlciwg c2NoZW1hLCB0YWJsZXNwYWNlLCB0eXBlLCBvciBYTUwgc2NoZW1hKSwgYW5kIG9uZSB0aGF0IGdy YW50cwogICAgbWVtYmVyc2hpcCBpbiBhIHJvbGUuICBUaGVzZSB2YXJpYW50cyBhcmUgc2ltaWxh ciBpbiBtYW55IHdheXMsIGJ1dAogICAgdGhleSBhcmUgZGlmZmVyZW50IGVub3VnaCB0byBiZSBk ZXNjcmliZWQgc2VwYXJhdGVseS4KICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3JlZi9yZXZva2Uuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcmV2b2tlLnNnbWwKaW5kZXggOGRm NDkyMjgxYTEuLjNjOGY4MTYzOWQwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3Jldm9r ZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvcmV2b2tlLnNnbWwKQEAgLTEyNSw2ICsxMjUs MTMgQEAgUkVWT0tFIFsgR1JBTlQgT1BUSU9OIEZPUiBdCiAgICAgWyBHUkFOVEVEIEJZIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yb2xlX3NwZWNpZmljYXRpb248L3JlcGxhY2VhYmxl PiBdCiAgICAgWyBDQVNDQURFIHwgUkVTVFJJQ1QgXQogCitSRVZPS0UgWyBHUkFOVCBPUFRJT04g Rk9SIF0KKyAgICB7IFVTQUdFIHwgQUxMIFsgUFJJVklMRUdFUyBdIH0KKyAgICBPTiBYTUxTQ0hF TUEgPHJlcGxhY2VhYmxlPnhtbHNjaGVtYV9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXQorICAg IEZST00gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfc3BlY2lmaWNhdGlvbjwv cmVwbGFjZWFibGU+IFssIC4uLl0KKyAgICBbIEdSQU5URUQgQlkgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnJvbGVfc3BlY2lmaWNhdGlvbjwvcmVwbGFjZWFibGU+IF0KKyAgICBbIENB U0NBREUgfCBSRVNUUklDVCBdCisKIFJFVk9LRSBbIHsgQURNSU4gfCBJTkhFUklUIHwgU0VUIH0g T1BUSU9OIEZPUiBdCiAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfbmFt ZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gRlJPTSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cm9sZV9zcGVjaWZpY2F0aW9uPC9yZXBsYWNlYWJsZT4gWywgLi4uXQogICAgIFsgR1JBTlRF RCBCWSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cm9sZV9zcGVjaWZpY2F0aW9uPC9y ZXBsYWNlYWJsZT4gXQpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCmluZGV4IDJjZjAyYzM3YjE3Li45ODJiYmVhM2Ey NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9yZWZlcmVuY2Uuc2dtbApAQCAtNzYsNiArNzYsNyBAQAogICAgJmFsdGVyVXNlcjsKICAg ICZhbHRlclVzZXJNYXBwaW5nOwogICAgJmFsdGVyVmlldzsKKyAgICZhbHRlclhtbFNjaGVtYTsK ICAgICZhbmFseXplOwogICAgJmJlZ2luOwogICAgJmNhbGw7CkBAIC0xMjgsNiArMTI5LDcgQEAK ICAgICZjcmVhdGVVc2VyOwogICAgJmNyZWF0ZVVzZXJNYXBwaW5nOwogICAgJmNyZWF0ZVZpZXc7 CisgICAmY3JlYXRlWG1sU2NoZW1hOwogICAgJmRlYWxsb2NhdGU7CiAgICAmZGVjbGFyZTsKICAg ICZkZWxldGU7CkBAIC0xNzYsNiArMTc4LDcgQEAKICAgICZkcm9wVXNlcjsKICAgICZkcm9wVXNl ck1hcHBpbmc7CiAgICAmZHJvcFZpZXc7CisgICAmZHJvcFhtbFNjaGVtYTsKICAgICZlbmQ7CiAg ICAmZXhlY3V0ZTsKICAgICZleHBsYWluOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKaW5kZXggMjZmYTBjOWIx OGMuLmVkOTQxNGJhNjM4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxl CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKQEAgLTQ2LDYgKzQ2LDcgQEAgT0JK UyA9IFwKIAlwZ19zdWJzY3JpcHRpb24ubyBcCiAJcGdfdGFibGVzcGFjZS5vIFwKIAlwZ190eXBl Lm8gXAorCXBnX3htbHNjaGVtYS5vIFwKIAlzdG9yYWdlLm8gXAogCXRvYXN0aW5nLm8KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvYWNsY2hrLmMKaW5kZXggYWVmODU1YWJjY2MuLmZiYzk2MTc2ZGY1IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNs Y2hrLmMKQEAgLTY0LDYgKzY0LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3RhYmxlc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5 cGUuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3htbHNjaGVtYS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2V2ZW50X3RyaWdnZXIuaCIKICNpbmNs dWRlICJjb21tYW5kcy9leHRlbnNpb24uaCIKQEAgLTI5MCw2ICsyOTEsOSBAQCByZXN0cmljdF9h bmRfY2hlY2tfZ3JhbnQoYm9vbCBpc19ncmFudCwgQWNsTW9kZSBhdmFpbF9nb3B0aW9ucywgYm9v bCBhbGxfcHJpdnMsCiAJCWNhc2UgT0JKRUNUX1BBUkFNRVRFUl9BQ0w6CiAJCQl3aG9sZV9tYXNr ID0gQUNMX0FMTF9SSUdIVFNfUEFSQU1FVEVSX0FDTDsKIAkJCWJyZWFrOworCQljYXNlIE9CSkVD VF9YTUxTQ0hFTUE6CisJCQl3aG9sZV9tYXNrID0gQUNMX0FMTF9SSUdIVFNfWE1MU0NIRU1BOwor CQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIG9iamVj dCB0eXBlOiAlZCIsIG9ianR5cGUpOwogCQkJLyogbm90IHJlYWNoZWQsIGJ1dCBrZWVwIGNvbXBp bGVyIHF1aWV0ICovCkBAIC01MzQsNiArNTM4LDEwIEBAIEV4ZWN1dGVHcmFudFN0bXQoR3JhbnRT dG10ICpzdG10KQogCQkJYWxsX3ByaXZpbGVnZXMgPSBBQ0xfQUxMX1JJR0hUU19QQVJBTUVURVJf QUNMOwogCQkJZXJyb3Jtc2cgPSBnZXR0ZXh0X25vb3AoImludmFsaWQgcHJpdmlsZWdlIHR5cGUg JXMgZm9yIHBhcmFtZXRlciIpOwogCQkJYnJlYWs7CisJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToK KwkJCWFsbF9wcml2aWxlZ2VzID0gQUNMX0FMTF9SSUdIVFNfWE1MU0NIRU1BOworCQkJZXJyb3Jt c2cgPSBnZXR0ZXh0X25vb3AoImludmFsaWQgcHJpdmlsZWdlIHR5cGUgJXMgZm9yIFhNTCBzY2hl bWEiKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXpl ZCBHcmFudFN0bXQub2JqdHlwZTogJWQiLAogCQkJCSAoaW50KSBzdG10LT5vYmp0eXBlKTsKQEAg LTYzOSw2ICs2NDcsOSBAQCBFeGVjR3JhbnRTdG10X29pZHMoSW50ZXJuYWxHcmFudCAqaXN0bXQp CiAJCWNhc2UgT0JKRUNUX1BBUkFNRVRFUl9BQ0w6CiAJCQlFeGVjR3JhbnRfUGFyYW1ldGVyKGlz dG10KTsKIAkJCWJyZWFrOworCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQlFeGVjR3JhbnRf Y29tbW9uKGlzdG10LCBYbWxTY2hlbWFSZWxhdGlvbklkLCBBQ0xfQUxMX1JJR0hUU19YTUxTQ0hF TUEsIE5VTEwpOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNv Z25pemVkIEdyYW50U3RtdC5vYmp0eXBlOiAlZCIsCiAJCQkJIChpbnQpIGlzdG10LT5vYmp0eXBl KTsKQEAgLTI2NzcsNiArMjY4OCw5IEBAIGFjbGNoZWNrX2Vycm9yKEFjbFJlc3VsdCBhY2xlcnIs IE9iamVjdFR5cGUgb2JqdHlwZSwKIAkJCQkJY2FzZSBPQkpFQ1RfQ09OVkVSU0lPTjoKIAkJCQkJ CW1zZyA9IGdldHRleHRfbm9vcCgicGVybWlzc2lvbiBkZW5pZWQgZm9yIGNvbnZlcnNpb24gJXMi KTsKIAkJCQkJCWJyZWFrOworCQkJCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQkJCQltc2cg PSBnZXR0ZXh0X25vb3AoInBlcm1pc3Npb24gZGVuaWVkIGZvciBYTUwgc2NoZW1hICVzIik7CisJ CQkJCQlicmVhazsKIAkJCQkJY2FzZSBPQkpFQ1RfREFUQUJBU0U6CiAJCQkJCQltc2cgPSBnZXR0 ZXh0X25vb3AoInBlcm1pc3Npb24gZGVuaWVkIGZvciBkYXRhYmFzZSAlcyIpOwogCQkJCQkJYnJl YWs7CkBAIC0yODA5LDYgKzI4MjMsOSBAQCBhY2xjaGVja19lcnJvcihBY2xSZXN1bHQgYWNsZXJy LCBPYmplY3RUeXBlIG9ianR5cGUsCiAJCQkJCWNhc2UgT0JKRUNUX0NPTlZFUlNJT046CiAJCQkJ CQltc2cgPSBnZXR0ZXh0X25vb3AoIm11c3QgYmUgb3duZXIgb2YgY29udmVyc2lvbiAlcyIpOwog CQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKKwkJCQkJCW1zZyA9IGdl dHRleHRfbm9vcCgibXVzdCBiZSBvd25lciBvZiBYTUwgc2NoZW1hICVzIik7CisJCQkJCQlicmVh azsKIAkJCQkJY2FzZSBPQkpFQ1RfREFUQUJBU0U6CiAJCQkJCQltc2cgPSBnZXR0ZXh0X25vb3Ao Im11c3QgYmUgb3duZXIgb2YgZGF0YWJhc2UgJXMiKTsKIAkJCQkJCWJyZWFrOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9n L2RlcGVuZGVuY3kuYwppbmRleCA3NTY0OTY1ZmExOC4uZGRiNjA1MjNkNTIgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvZGVwZW5kZW5jeS5jCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190 c190ZW1wbGF0ZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfdXNlcl9tYXBwaW5nLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWEu aCIKICNpbmNsdWRlICJjb21tYW5kcy9jb21tZW50LmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGVm cmVtLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5oIgpAQCAtNzksNiArODAs NyBAQAogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNs dWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKKyNpbmNsdWRlICJub2Rlcy9wcmltbm9kZXMuaCIKICNp bmNsdWRlICJwYXJzZXIvcGFyc2V0cmVlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlUmVt b3ZlLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCkBAIC0xNTE0LDYgKzE1MTYsNyBAQCBk b0RlbGV0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgaW50IGZsYWdzKQogCQljYXNl IEV2ZW50VHJpZ2dlclJlbGF0aW9uSWQ6CiAJCWNhc2UgVHJhbnNmb3JtUmVsYXRpb25JZDoKIAkJ Y2FzZSBBdXRoTWVtUmVsYXRpb25JZDoKKwkJY2FzZSBYbWxTY2hlbWFSZWxhdGlvbklkOgogCQkJ RHJvcE9iamVjdEJ5SWQob2JqZWN0KTsKIAkJCWJyZWFrOwogCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWls ZAppbmRleCAxMWQyMWM1YWQ2Yi4uOWJhMTVlNzFiNzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvbWVzb24uYnVpbGQKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWls ZApAQCAtMzMsNiArMzMsNyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMoCiAgICdwZ19zdWJz Y3JpcHRpb24uYycsCiAgICdwZ190YWJsZXNwYWNlLmMnLAogICAncGdfdHlwZS5jJywKKyAgJ3Bn X3htbHNjaGVtYS5jJywKICAgJ3N0b3JhZ2UuYycsCiAgICd0b2FzdGluZy5jJywKICkKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMgYi9zcmMvYmFja2VuZC9jYXRh bG9nL25hbWVzcGFjZS5jCmluZGV4IDRiMGY0YmExMTVkLi4wMGVlMTI0Y2ZkOSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9uYW1lc3BhY2UuYworKysgYi9zcmMvYmFja2VuZC9jYXRh bG9nL25hbWVzcGFjZS5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19j b2xsYXRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NvbnZlcnNpb24uaCIKICNpbmNsdWRl ICJjYXRhbG9nL3BnX2RhdGFiYXNlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWEu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfb3BjbGFzcy5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKQEAgLTQxNDQs NiArNDE0NSw2MSBAQCBnZXRfY29udmVyc2lvbl9vaWQoTGlzdCAqY29ubmFtZSwgYm9vbCBtaXNz aW5nX29rKQogCXJldHVybiBjb25vaWQ7CiB9CiAKKy8qCisgKiBnZXRfeG1sc2NoZW1hX29pZCAt IGZpbmQgYW4gWE1MIHNjaGVtYSBieSBwb3NzaWJseSBxdWFsaWZpZWQgbmFtZQorICovCitPaWQK K2dldF94bWxzY2hlbWFfb2lkKExpc3QgKnNjaGVtYW5hbWUsIGJvb2wgbWlzc2luZ19vaykKK3sK KwljaGFyCSAgICpuc3BuYW1lOworCWNoYXIJICAgKnNjaGVtYV9uYW1lOworCU9pZAkJCW5hbWVz cGFjZUlkOworCU9pZAkJCXNjaGVtYV9vaWQgPSBJbnZhbGlkT2lkOworCUxpc3RDZWxsICAgKmw7 CisKKwkvKiBkZWNvbnN0cnVjdCB0aGUgbmFtZSBsaXN0ICovCisJRGVjb25zdHJ1Y3RRdWFsaWZp ZWROYW1lKHNjaGVtYW5hbWUsICZuc3BuYW1lLCAmc2NoZW1hX25hbWUpOworCisJaWYgKG5zcG5h bWUpCisJeworCQkvKiB1c2UgZXhhY3Qgc2NoZW1hIGdpdmVuICovCisJCW5hbWVzcGFjZUlkID0g TG9va3VwRXhwbGljaXROYW1lc3BhY2UobnNwbmFtZSwgbWlzc2luZ19vayk7CisJCWlmIChtaXNz aW5nX29rICYmICFPaWRJc1ZhbGlkKG5hbWVzcGFjZUlkKSkKKwkJCXNjaGVtYV9vaWQgPSBJbnZh bGlkT2lkOworCQllbHNlCisJCQlzY2hlbWFfb2lkID0gR2V0U3lzQ2FjaGVPaWQyKFhNTFNDSEVN QU5BTUVOU1AsIEFudW1fcGdfeG1sc2NoZW1hX29pZCwKKwkJCQkJCQkJCQkgUG9pbnRlckdldERh dHVtKHNjaGVtYV9uYW1lKSwKKwkJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShuYW1lc3BhY2VJ ZCkpOworCX0KKwllbHNlCisJeworCQkvKiBzZWFyY2ggZm9yIGl0IGluIHNlYXJjaCBwYXRoICov CisJCXJlY29tcHV0ZU5hbWVzcGFjZVBhdGgoKTsKKworCQlmb3JlYWNoKGwsIGFjdGl2ZVNlYXJj aFBhdGgpCisJCXsKKwkJCW5hbWVzcGFjZUlkID0gbGZpcnN0X29pZChsKTsKKworCQkJaWYgKG5h bWVzcGFjZUlkID09IG15VGVtcE5hbWVzcGFjZSkKKwkJCQljb250aW51ZTsJCS8qIGRvIG5vdCBs b29rIGluIHRlbXAgbmFtZXNwYWNlICovCisKKwkJCXNjaGVtYV9vaWQgPSBHZXRTeXNDYWNoZU9p ZDIoWE1MU0NIRU1BTkFNRU5TUCwgQW51bV9wZ194bWxzY2hlbWFfb2lkLAorCQkJCQkJCQkJCSBQ b2ludGVyR2V0RGF0dW0oc2NoZW1hX25hbWUpLAorCQkJCQkJCQkJCSBPYmplY3RJZEdldERhdHVt KG5hbWVzcGFjZUlkKSk7CisJCQlpZiAoT2lkSXNWYWxpZChzY2hlbWFfb2lkKSkKKwkJCQlyZXR1 cm4gc2NoZW1hX29pZDsKKwkJfQorCX0KKworCS8qIE5vdCBmb3VuZCBpbiBwYXRoICovCisJaWYg KCFPaWRJc1ZhbGlkKHNjaGVtYV9vaWQpICYmICFtaXNzaW5nX29rKQorCQllcmVwb3J0KEVSUk9S LAorCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJIGVycm1zZygi WE1MIHNjaGVtYSBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJTmFtZUxpc3RUb1N0cmlu ZyhzY2hlbWFuYW1lKSkpKTsKKwlyZXR1cm4gc2NoZW1hX29pZDsKK30KKwogLyoKICAqIEZpbmRE ZWZhdWx0Q29udmVyc2lvblByb2MgLSBmaW5kIGRlZmF1bHQgZW5jb2RpbmcgY29udmVyc2lvbiBw cm9jCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKaW5kZXggMTNkNzNmODkwOWMu LjNmNGMxNTVlOTNiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJl c3MuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYwpAQCAtNjIsNiAr NjIsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHNfdGVtcGxhdGUuaCIKICNpbmNsdWRlICJj YXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3VzZXJfbWFwcGluZy5oIgor I2luY2x1ZGUgImNhdGFsb2cvcGdfeG1sc2NoZW1hLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGVm cmVtLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5oIgogI2luY2x1ZGUgImNv bW1hbmRzL2V4dGVuc2lvbi5oIgpAQCAtMTg4LDYgKzE4OSwyMCBAQCBzdGF0aWMgY29uc3QgT2Jq ZWN0UHJvcGVydHlUeXBlIE9iamVjdFByb3BlcnR5W10gPQogCQlPQkpFQ1RfQ09MTEFUSU9OLAog CQl0cnVlCiAJfSwKKwl7CisJCSJ4bWxzY2hlbWEiLAorCQlYbWxTY2hlbWFSZWxhdGlvbklkLAor CQlYbWxTY2hlbWFPaWRJbmRleElkLAorCQlYTUxTQ0hFTUFPSUQsCisJCVhNTFNDSEVNQU5BTUVO U1AsCisJCUFudW1fcGdfeG1sc2NoZW1hX29pZCwKKwkJQW51bV9wZ194bWxzY2hlbWFfc2NoZW1h bmFtZSwKKwkJQW51bV9wZ194bWxzY2hlbWFfc2NoZW1hbmFtZXNwYWNlLAorCQlBbnVtX3BnX3ht bHNjaGVtYV9zY2hlbWFvd25lciwKKwkJQW51bV9wZ194bWxzY2hlbWFfc2NoZW1hYWNsLAorCQlP QkpFQ1RfWE1MU0NIRU1BLAorCQl0cnVlCisJfSwKIAl7CiAJCSJjb25zdHJhaW50IiwKIAkJQ29u c3RyYWludFJlbGF0aW9uSWQsCkBAIC03MjEsNiArNzM2LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBvYmplY3RfdHlwZV9tYXAKIAl7CiAJCSJjb2xsYXRpb24iLCBPQkpFQ1RfQ09MTEFUSU9OCiAJ fSwKKwl7CisJCSJ4bWxzY2hlbWEiLCBPQkpFQ1RfWE1MU0NIRU1BCisJfSwKIAl7CiAJCSJ0YWJs ZSBjb25zdHJhaW50IiwgT0JKRUNUX1RBQkNPTlNUUkFJTlQKIAl9LApAQCAtMTAzMCw2ICsxMDQ4 LDExIEBAIGdldF9vYmplY3RfYWRkcmVzcyhPYmplY3RUeXBlIG9ianR5cGUsIE5vZGUgKm9iamVj dCwKIAkJCQlhZGRyZXNzLm9iamVjdElkID0gZ2V0X2NvbGxhdGlvbl9vaWQoY2FzdE5vZGUoTGlz dCwgb2JqZWN0KSwgbWlzc2luZ19vayk7CiAJCQkJYWRkcmVzcy5vYmplY3RTdWJJZCA9IDA7CiAJ CQkJYnJlYWs7CisJCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQkJYWRkcmVzcy5jbGFzc0lk ID0gWG1sU2NoZW1hUmVsYXRpb25JZDsKKwkJCQlhZGRyZXNzLm9iamVjdElkID0gZ2V0X3htbHNj aGVtYV9vaWQoY2FzdE5vZGUoTGlzdCwgb2JqZWN0KSwgbWlzc2luZ19vayk7CisJCQkJYWRkcmVz cy5vYmplY3RTdWJJZCA9IDA7CisJCQkJYnJlYWs7CiAJCQljYXNlIE9CSkVDVF9DT05WRVJTSU9O OgogCQkJCWFkZHJlc3MuY2xhc3NJZCA9IENvbnZlcnNpb25SZWxhdGlvbklkOwogCQkJCWFkZHJl c3Mub2JqZWN0SWQgPSBnZXRfY29udmVyc2lvbl9vaWQoY2FzdE5vZGUoTGlzdCwgb2JqZWN0KSwg bWlzc2luZ19vayk7CkBAIC0yMjgzLDYgKzIzMDYsNyBAQCBwZ19nZXRfb2JqZWN0X2FkZHJlc3Mo UEdfRlVOQ1RJT05fQVJHUykKIAkJY2FzZSBPQkpFQ1RfQ09MVU1OOgogCQljYXNlIE9CSkVDVF9B VFRSSUJVVEU6CiAJCWNhc2UgT0JKRUNUX0NPTExBVElPTjoKKwkJY2FzZSBPQkpFQ1RfWE1MU0NI RU1BOgogCQljYXNlIE9CSkVDVF9DT05WRVJTSU9OOgogCQljYXNlIE9CSkVDVF9TVEFUSVNUSUNf RVhUOgogCQljYXNlIE9CSkVDVF9UU1BBUlNFUjoKQEAgLTI0NjEsNiArMjQ4NSw3IEBAIGNoZWNr X29iamVjdF9vd25lcnNoaXAoT2lkIHJvbGVpZCwgT2JqZWN0VHlwZSBvYmp0eXBlLCBPYmplY3RB ZGRyZXNzIGFkZHJlc3MsCiAJCQkJCQkJICAgc3RyVmFsKG9iamVjdCkpOwogCQkJYnJlYWs7CiAJ CWNhc2UgT0JKRUNUX0NPTExBVElPTjoKKwkJY2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgogCQljYXNl IE9CSkVDVF9DT05WRVJTSU9OOgogCQljYXNlIE9CSkVDVF9PUENMQVNTOgogCQljYXNlIE9CSkVD VF9PUEZBTUlMWToKQEAgLTQwNjgsNiArNDA5MywzNCBAQCBnZXRPYmplY3REZXNjcmlwdGlvbihj b25zdCBPYmplY3RBZGRyZXNzICpvYmplY3QsIGJvb2wgbWlzc2luZ19vaykKIAkJCQlicmVhazsK IAkJCX0KIAorCQljYXNlIFhtbFNjaGVtYVJlbGF0aW9uSWQ6CisJCQl7CisJCQkJSGVhcFR1cGxl CXNjaGVtYVR1cDsKKwkJCQlGb3JtX3BnX3htbHNjaGVtYSBzY2hlbWE7CisJCQkJY2hhcgkgICAq bnNwbmFtZTsKKworCQkJCXNjaGVtYVR1cCA9IFNlYXJjaFN5c0NhY2hlMShYTUxTQ0hFTUFPSUQs CisJCQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJCWlm ICghSGVhcFR1cGxlSXNWYWxpZChzY2hlbWFUdXApKQorCQkJCXsKKwkJCQkJaWYgKCFtaXNzaW5n X29rKQorCQkJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIFhNTCBzY2hl bWEgJXUiLAorCQkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsKKwkJCQkJYnJlYWs7CisJCQkJfQor CisJCQkJc2NoZW1hID0gKEZvcm1fcGdfeG1sc2NoZW1hKSBHRVRTVFJVQ1Qoc2NoZW1hVHVwKTsK KworCQkJCS8qIFF1YWxpZnkgdGhlIG5hbWUgaWYgbm90IHZpc2libGUgaW4gc2VhcmNoIHBhdGgg Ki8KKwkJCQluc3BuYW1lID0gZ2V0X25hbWVzcGFjZV9uYW1lKHNjaGVtYS0+c2NoZW1hbmFtZXNw YWNlKTsKKworCQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwgXygiWE1MIHNjaGVtYSAlcyIp LAorCQkJCQkJCQkgcXVvdGVfcXVhbGlmaWVkX2lkZW50aWZpZXIobnNwbmFtZSwKKwkJCQkJCQkJ CQkJCQkJCU5hbWVTdHIoc2NoZW1hLT5zY2hlbWFuYW1lKSkpOworCQkJCVJlbGVhc2VTeXNDYWNo ZShzY2hlbWFUdXApOworCQkJCWJyZWFrOworCQkJfQorCiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVS Uk9SLCAidW5zdXBwb3J0ZWQgb2JqZWN0IGNsYXNzOiAldSIsIG9iamVjdC0+Y2xhc3NJZCk7CiAJ fQpAQCAtNDY3MCw2ICs0NzIzLDEwIEBAIGdldE9iamVjdFR5cGVEZXNjcmlwdGlvbihjb25zdCBP YmplY3RBZGRyZXNzICpvYmplY3QsIGJvb2wgbWlzc2luZ19vaykKIAkJCWFwcGVuZFN0cmluZ0lu Zm9TdHJpbmcoJmJ1ZmZlciwgInRyYW5zZm9ybSIpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBYbWxT Y2hlbWFSZWxhdGlvbklkOgorCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmYnVmZmVyLCAiWE1M IHNjaGVtYSIpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnN1 cHBvcnRlZCBvYmplY3QgY2xhc3M6ICV1Iiwgb2JqZWN0LT5jbGFzc0lkKTsKIAl9CkBAIC02MDIw LDYgKzYwNzcsMzMgQEAgZ2V0T2JqZWN0SWRlbnRpdHlQYXJ0cyhjb25zdCBPYmplY3RBZGRyZXNz ICpvYmplY3QsCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNlIFhtbFNjaGVtYVJlbGF0aW9uSWQ6 CisJCQl7CisJCQkJSGVhcFR1cGxlCXNjaGVtYVR1cDsKKwkJCQlGb3JtX3BnX3htbHNjaGVtYSBz Y2hlbWE7CisJCQkJY2hhcgkgICAqbnNwbmFtZTsKKworCQkJCXNjaGVtYVR1cCA9IFNlYXJjaFN5 c0NhY2hlMShYTUxTQ0hFTUFPSUQsCisJCQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0ob2JqZWN0 LT5vYmplY3RJZCkpOworCQkJCWlmICghSGVhcFR1cGxlSXNWYWxpZChzY2hlbWFUdXApKQorCQkJ CXsKKwkJCQkJaWYgKCFtaXNzaW5nX29rKQorCQkJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1 cCBmYWlsZWQgZm9yIFhNTCBzY2hlbWEgJXUiLAorCQkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsK KwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCXNjaGVtYSA9IChGb3JtX3BnX3htbHNjaGVtYSkgR0VU U1RSVUNUKHNjaGVtYVR1cCk7CisJCQkJbnNwbmFtZSA9IGdldF9uYW1lc3BhY2VfbmFtZV9vcl90 ZW1wKHNjaGVtYS0+c2NoZW1hbmFtZXNwYWNlKTsKKwkJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5n KCZidWZmZXIsCisJCQkJCQkJCQkgICBxdW90ZV9xdWFsaWZpZWRfaWRlbnRpZmllcihuc3BuYW1l LAorCQkJCQkJCQkJCQkJCQkJCSAgTmFtZVN0cihzY2hlbWEtPnNjaGVtYW5hbWUpKSk7CisJCQkJ aWYgKG9iam5hbWUpCisJCQkJCSpvYmpuYW1lID0gbGlzdF9tYWtlMihuc3BuYW1lLAorCQkJCQkJ CQkJCSAgcHN0cmR1cChOYW1lU3RyKHNjaGVtYS0+c2NoZW1hbmFtZSkpKTsKKwkJCQlSZWxlYXNl U3lzQ2FjaGUoc2NoZW1hVHVwKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQlkZWZhdWx0OgogCQkJ ZWxvZyhFUlJPUiwgInVuc3VwcG9ydGVkIG9iamVjdCBjbGFzczogJXUiLCBvYmplY3QtPmNsYXNz SWQpOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfeG1sc2NoZW1hLmMg Yi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3htbHNjaGVtYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi4xMTZiYmZhNzFjNwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvcGdfeG1sc2NoZW1hLmMKQEAgLTAsMCArMSwxOTQgQEAKKyNpbmNsdWRl ICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgorI2luY2x1 ZGUgImFjY2Vzcy90YWJsZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgorI2luY2x1 ZGUgImNhdGFsb2cvZGVwZW5kZW5jeS5oIgorI2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIK KyNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFjY2Vzcy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdf eG1sc2NoZW1hLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKKyNpbmNsdWRl ICJ1dGlscy9hY2wuaCIKKyNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgInV0 aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisjaW5jbHVkZSAidXRpbHMv eG1sLmgiCisKKyNpZmRlZiBVU0VfTElCWE1MCisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMu aD4KKyNlbmRpZgorCisvKgorICogWG1sU2NoZW1hQ3JlYXRlCisgKgorICogQWRkIGEgbmV3IHR1 cGxlIHRvIHBnX3htbHNjaGVtYS4KKyAqCisgKiBpZl9ub3RfZXhpc3RzOiBpZiB0cnVlLCBkb24n dCBmYWlsIG9uIGR1cGxpY2F0ZSBuYW1lLCBqdXN0IHByaW50IGEgbm90aWNlCisgKiBhbmQgcmV0 dXJuIEludmFsaWRPaWQuCisgKiBxdWlldDogaWYgdHJ1ZSwgZG9uJ3QgZmFpbCBvbiBkdXBsaWNh dGUgbmFtZSwganVzdCBzaWxlbnRseSByZXR1cm4KKyAqIEludmFsaWRPaWQgKHdoaWNoIG92ZXJp ZGVzIGlmX25vdF9leGlzdHMpLgorICovCitPaWQKK1htbFNjaGVtYUNyZWF0ZShjb25zdCBjaGFy ICpzY2hlbWFuYW1lLAorCQkJCU9pZCBzY2hlbWFuYW1lc3BhY2UsCisJCQkJT2lkIHNjaGVtYW93 bmVyLAorCQkJCXhtbHR5cGUgKnNjaGVtYWRhdGEsCisJCQkJYm9vbCBpZl9ub3RfZXhpc3RzLAor CQkJCWJvb2wgcXVpZXQpCit7CisJUmVsYXRpb24JcmVsOworCVR1cGxlRGVzYwl0dXBEZXNjOwor CUhlYXBUdXBsZQl0dXA7CisJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ194bWxzY2hlbWFdOworCWJv b2wJCW51bGxzW05hdHRzX3BnX3htbHNjaGVtYV07CisJTmFtZURhdGEJbmFtZV9uYW1lOworCU9p ZAkJCW9pZDsKKwlPYmplY3RBZGRyZXNzIG15c2VsZiwKKwkJCQlyZWZlcmVuY2VkOworCisJQXNz ZXJ0KHNjaGVtYW5hbWUpOworCUFzc2VydChzY2hlbWFuYW1lc3BhY2UpOworCUFzc2VydChzY2hl bWFvd25lcik7CisJQXNzZXJ0KHNjaGVtYWRhdGEpOworCisjaWZkZWYgVVNFX0xJQlhNTAorCS8q IFZhbGlkYXRlIHRoZSBYTUwgU2NoZW1hIGJlZm9yZSBzdG9yaW5nIGl0ICovCisJeworCQl4bWxT Y2hlbWFQYXJzZXJDdHh0UHRyIHBhcnNlcl9jdHh0OworCQl4bWxTY2hlbWFQdHIgc2NoZW1hX3B0 cjsKKwkJUGdYbWxFcnJvckNvbnRleHQgKnhtbGVycmN4dDsKKwkJY2hhcgkgICAqc2NoZW1hc3Ry OworCisJCXNjaGVtYXN0ciA9IHRleHRfdG9fY3N0cmluZyhzY2hlbWFkYXRhKTsKKwkJeG1sZXJy Y3h0ID0gcGdfeG1sX2luaXQoUEdfWE1MX1NUUklDVE5FU1NfV0VMTEZPUk1FRCk7CisKKwkJUEdf VFJZKCk7CisJCXsKKwkJCXBhcnNlcl9jdHh0ID0geG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dChz Y2hlbWFzdHIsIHN0cmxlbihzY2hlbWFzdHIpKTsKKwkJCWlmIChwYXJzZXJfY3R4dCA9PSBOVUxM KQorCQkJCXhtbF9lcmVwb3J0KHhtbGVycmN4dCwgRVJST1IsIEVSUkNPREVfSU5WQUxJRF9YTUxf RE9DVU1FTlQsCisJCQkJCQkJImZhaWxlZCB0byBjcmVhdGUgc2NoZW1hIHBhcnNlciBjb250ZXh0 Iik7CisKKwkJCXNjaGVtYV9wdHIgPSB4bWxTY2hlbWFQYXJzZShwYXJzZXJfY3R4dCk7CisJCQlp ZiAoc2NoZW1hX3B0ciA9PSBOVUxMKQorCQkJCXhtbF9lcmVwb3J0KHhtbGVycmN4dCwgRVJST1Is IEVSUkNPREVfSU5WQUxJRF9YTUxfRE9DVU1FTlQsCisJCQkJCQkJImludmFsaWQgWE1MIHNjaGVt YSBkZWZpbml0aW9uIik7CisKKwkJCXhtbFNjaGVtYUZyZWUoc2NoZW1hX3B0cik7CisJCQl4bWxT Y2hlbWFGcmVlUGFyc2VyQ3R4dChwYXJzZXJfY3R4dCk7CisJCX0KKwkJUEdfQ0FUQ0goKTsKKwkJ eworCQkJcGdfeG1sX2RvbmUoeG1sZXJyY3h0LCB0cnVlKTsKKwkJCVBHX1JFX1RIUk9XKCk7CisJ CX0KKwkJUEdfRU5EX1RSWSgpOworCisJCXBnX3htbF9kb25lKHhtbGVycmN4dCwgZmFsc2UpOwor CQlwZnJlZShzY2hlbWFzdHIpOworCX0KKyNlbHNlCisJZXJlcG9ydChFUlJPUiwKKwkJCShlcnJj b2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCSBlcnJtc2coInhtbHNjaGVt YSBzdXBwb3J0IHJlcXVpcmVzIGxpYnhtbCIpKSk7CisjZW5kaWYKKworCS8qCisJICogTWFrZSBz dXJlIHRoZXJlIGlzIG5vIGV4aXN0aW5nIFhNTCBzY2hlbWEgb2Ygc2FtZSBuYW1lIGluIHRoZQor CSAqIG5hbWVzcGFjZS4KKwkgKgorCSAqIFRoaXMgd291bGQgYmUgY2F1Z2h0IGJ5IHRoZSB1bmlx dWUgaW5kZXggYW55d2F5OyB3ZSdyZSBqdXN0IGdpdmluZyBhCisJICogZnJpZW5kbGllciBlcnJv ciBtZXNzYWdlLiAgVGhlIHVuaXF1ZSBpbmRleCBwcm92aWRlcyBhIGJhY2tzdG9wIGFnYWluc3QK KwkgKiByYWNlIGNvbmRpdGlvbnMuCisJICovCisJb2lkID0gR2V0U3lzQ2FjaGVPaWQyKFhNTFND SEVNQU5BTUVOU1AsCisJCQkJCQkgIEFudW1fcGdfeG1sc2NoZW1hX29pZCwKKwkJCQkJCSAgUG9p bnRlckdldERhdHVtKHNjaGVtYW5hbWUpLAorCQkJCQkJICBPYmplY3RJZEdldERhdHVtKHNjaGVt YW5hbWVzcGFjZSkpOworCWlmIChPaWRJc1ZhbGlkKG9pZCkpCisJeworCQlpZiAocXVpZXQpCisJ CQlyZXR1cm4gSW52YWxpZE9pZDsKKwkJZWxzZSBpZiAoaWZfbm90X2V4aXN0cykKKwkJeworCQkJ LyoKKwkJCSAqIElmIHdlIGFyZSBpbiBhbiBleHRlbnNpb24gc2NyaXB0LCBpbnNpc3QgdGhhdCB0 aGUgcHJlLWV4aXN0aW5nCisJCQkgKiBvYmplY3QgYmUgYSBtZW1iZXIgb2YgdGhlIGV4dGVuc2lv biwgdG8gYXZvaWQgc2VjdXJpdHkgcmlza3MuCisJCQkgKi8KKwkJCU9iamVjdEFkZHJlc3NTZXQo bXlzZWxmLCBYbWxTY2hlbWFSZWxhdGlvbklkLCBvaWQpOworCQkJY2hlY2tNZW1iZXJzaGlwSW5D dXJyZW50RXh0ZW5zaW9uKCZteXNlbGYpOworCisJCQkvKiBPSyB0byBza2lwICovCisJCQllcmVw b3J0KE5PVElDRSwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJ CQkJIGVycm1zZygiWE1MIHNjaGVtYSBcIiVzXCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nIiwK KwkJCQkJCQlzY2hlbWFuYW1lKSkpOworCQkJcmV0dXJuIEludmFsaWRPaWQ7CisJCX0KKwkJZWxz ZQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfT0JK RUNUKSwKKwkJCQkJIGVycm1zZygiWE1MIHNjaGVtYSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAor CQkJCQkJCXNjaGVtYW5hbWUpKSk7CisJfQorCisJLyogb3BlbiBwZ194bWxzY2hlbWE7IGxvY2sg dG8gcHJvdGVjdCBhZ2FpbnN0IGNvbmN1cnJlbnQgY2hhbmdlcyAqLworCXJlbCA9IHRhYmxlX29w ZW4oWG1sU2NoZW1hUmVsYXRpb25JZCwgU2hhcmVSb3dFeGNsdXNpdmVMb2NrKTsKKworCXR1cERl c2MgPSBSZWxhdGlvbkdldERlc2NyKHJlbCk7CisKKwkvKiBmb3JtIGEgdHVwbGUgKi8KKwltZW1z ZXQobnVsbHMsIDAsIHNpemVvZihudWxscykpOworCisJbmFtZXN0cmNweSgmbmFtZV9uYW1lLCBz Y2hlbWFuYW1lKTsKKwlvaWQgPSBHZXROZXdPaWRXaXRoSW5kZXgocmVsLCBYbWxTY2hlbWFPaWRJ bmRleElkLAorCQkJCQkJCSBBbnVtX3BnX3htbHNjaGVtYV9vaWQpOworCXZhbHVlc1tBbnVtX3Bn X3htbHNjaGVtYV9vaWQgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0ob2lkKTsKKwl2YWx1ZXNbQW51 bV9wZ194bWxzY2hlbWFfc2NoZW1hbmFtZSAtIDFdID0gTmFtZUdldERhdHVtKCZuYW1lX25hbWUp OworCXZhbHVlc1tBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFuYW1lc3BhY2UgLSAxXSA9IE9iamVj dElkR2V0RGF0dW0oc2NoZW1hbmFtZXNwYWNlKTsKKwl2YWx1ZXNbQW51bV9wZ194bWxzY2hlbWFf c2NoZW1hb3duZXIgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0oc2NoZW1hb3duZXIpOworCXZhbHVl c1tBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFkYXRhIC0gMV0gPSBQb2ludGVyR2V0RGF0dW0oc2No ZW1hZGF0YSk7CisKKwkvKiBTZXQgdXAgZGVmYXVsdCBBQ0wgKi8KKwl7CisJCUFjbAkJICAgKnNj aGVtYWFjbDsKKworCQlzY2hlbWFhY2wgPSBnZXRfdXNlcl9kZWZhdWx0X2FjbChPQkpFQ1RfWE1M U0NIRU1BLCBzY2hlbWFvd25lciwKKwkJCQkJCQkJCQkgc2NoZW1hbmFtZXNwYWNlKTsKKwkJaWYg KHNjaGVtYWFjbCAhPSBOVUxMKQorCQkJdmFsdWVzW0FudW1fcGdfeG1sc2NoZW1hX3NjaGVtYWFj bCAtIDFdID0gUG9pbnRlckdldERhdHVtKHNjaGVtYWFjbCk7CisJCWVsc2UKKwkJCW51bGxzW0Fu dW1fcGdfeG1sc2NoZW1hX3NjaGVtYWFjbCAtIDFdID0gdHJ1ZTsKKwl9CisKKwl0dXAgPSBoZWFw X2Zvcm1fdHVwbGUodHVwRGVzYywgdmFsdWVzLCBudWxscyk7CisKKwkvKiBpbnNlcnQgYSBuZXcg dHVwbGUgKi8KKwlDYXRhbG9nVHVwbGVJbnNlcnQocmVsLCB0dXApOworCUFzc2VydChPaWRJc1Zh bGlkKG9pZCkpOworCisJLyogc2V0IHVwIGRlcGVuZGVuY2llcyBmb3IgdGhlIG5ldyBYTUwgc2No ZW1hICovCisJbXlzZWxmLmNsYXNzSWQgPSBYbWxTY2hlbWFSZWxhdGlvbklkOworCW15c2VsZi5v YmplY3RJZCA9IG9pZDsKKwlteXNlbGYub2JqZWN0U3ViSWQgPSAwOworCisJLyogY3JlYXRlIGRl cGVuZGVuY3kgb24gbmFtZXNwYWNlICovCisJcmVmZXJlbmNlZC5jbGFzc0lkID0gTmFtZXNwYWNl UmVsYXRpb25JZDsKKwlyZWZlcmVuY2VkLm9iamVjdElkID0gc2NoZW1hbmFtZXNwYWNlOworCXJl ZmVyZW5jZWQub2JqZWN0U3ViSWQgPSAwOworCXJlY29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAm cmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwpOworCisJLyogY3JlYXRlIGRlcGVuZGVuY3kg b24gb3duZXIgKi8KKwlyZWNvcmREZXBlbmRlbmN5T25Pd25lcihYbWxTY2hlbWFSZWxhdGlvbklk LCBvaWQsIHNjaGVtYW93bmVyKTsKKworCS8qIGRlcGVuZGVuY3kgb24gZXh0ZW5zaW9uICovCisJ cmVjb3JkRGVwZW5kZW5jeU9uQ3VycmVudEV4dGVuc2lvbigmbXlzZWxmLCBmYWxzZSk7CisKKwkv KiBQb3N0IGNyZWF0aW9uIGhvb2sgZm9yIG5ldyBYTUwgc2NoZW1hICovCisJSW52b2tlT2JqZWN0 UG9zdENyZWF0ZUhvb2soWG1sU2NoZW1hUmVsYXRpb25JZCwgb2lkLCAwKTsKKworCWhlYXBfZnJl ZXR1cGxlKHR1cCk7CisJdGFibGVfY2xvc2UocmVsLCBOb0xvY2spOworCisJcmV0dXJuIG9pZDsK K30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvTWFrZWZpbGUKaW5kZXggNjRjYjYyNzg0MDkuLjA3ZjA0ZWFmZGFiIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9NYWtlZmlsZQpAQCAtNjYsNiArNjYsNyBAQCBPQkpTID0gXAogCXZhY3V1bXBhcmFs bGVsLm8gXAogCXZhcmlhYmxlLm8gXAogCXZpZXcubyBcCi0Jd2FpdC5vCisJd2FpdC5vIFwKKwl4 bWxzY2hlbWFjbWRzLm8KIAogaW5jbHVkZSAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL2NvbW1v bi5tawpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0ZXIuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL2FsdGVyLmMKaW5kZXggYzZmNThkNDdiZTYuLmE0NTFhY2RlMjE1IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hbHRlci5jCisrKyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL2FsdGVyLmMKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Rz X2RpY3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3RzX3BhcnNlci5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfdHNfdGVtcGxhdGUuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3htbHNjaGVtYS5o IgogI2luY2x1ZGUgImNvbW1hbmRzL2FsdGVyLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvY29sbGF0 aW9uY21kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RiY29tbWFuZHMuaCIKQEAgLTEzNCw2ICsx MzUsMTAgQEAgcmVwb3J0X25hbWVzcGFjZV9jb25mbGljdChPaWQgY2xhc3NJZCwgY29uc3QgY2hh ciAqbmFtZSwgT2lkIG5zcE9pZCkKIAkJY2FzZSBUU0NvbmZpZ1JlbGF0aW9uSWQ6CiAJCQltc2dm bXQgPSBnZXR0ZXh0X25vb3AoInRleHQgc2VhcmNoIGNvbmZpZ3VyYXRpb24gXCIlc1wiIGFscmVh ZHkgZXhpc3RzIGluIHNjaGVtYSBcIiVzXCIiKTsKIAkJCWJyZWFrOworCQljYXNlIFhtbFNjaGVt YVJlbGF0aW9uSWQ6CisJCQlBc3NlcnQoT2lkSXNWYWxpZChuc3BPaWQpKTsKKwkJCW1zZ2ZtdCA9 IGdldHRleHRfbm9vcCgiWE1MIHNjaGVtYSBcIiVzXCIgYWxyZWFkeSBleGlzdHMgaW4gc2NoZW1h IFwiJXNcIiIpOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5zdXBw b3J0ZWQgb2JqZWN0IGNsYXNzOiAldSIsIGNsYXNzSWQpOwogCQkJYnJlYWs7CkBAIC00MTcsNiAr NDIyLDcgQEAgRXhlY1JlbmFtZVN0bXQoUmVuYW1lU3RtdCAqc3RtdCkKIAkJY2FzZSBPQkpFQ1Rf RkRXOgogCQljYXNlIE9CSkVDVF9GT1JFSUdOX1NFUlZFUjoKIAkJY2FzZSBPQkpFQ1RfRlVOQ1RJ T046CisJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKIAkJY2FzZSBPQkpFQ1RfT1BDTEFTUzoKIAkJ Y2FzZSBPQkpFQ1RfT1BGQU1JTFk6CiAJCWNhc2UgT0JKRUNUX0xBTkdVQUdFOgpAQCAtNTYxLDYg KzU2Nyw3IEBAIEV4ZWNBbHRlck9iamVjdFNjaGVtYVN0bXQoQWx0ZXJPYmplY3RTY2hlbWFTdG10 ICpzdG10LAogCQljYXNlIE9CSkVDVF9GVU5DVElPTjoKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6 CiAJCWNhc2UgT0JKRUNUX09QQ0xBU1M6CisJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKIAkJY2Fz ZSBPQkpFQ1RfT1BGQU1JTFk6CiAJCWNhc2UgT0JKRUNUX1BST0NFRFVSRToKIAkJY2FzZSBPQkpF Q1RfUk9VVElORToKQEAgLTg3MSw2ICs4NzgsNyBAQCBFeGVjQWx0ZXJPd25lclN0bXQoQWx0ZXJP d25lclN0bXQgKnN0bXQpCiAJCWNhc2UgT0JKRUNUX0NPTlZFUlNJT046CiAJCWNhc2UgT0JKRUNU X0ZVTkNUSU9OOgogCQljYXNlIE9CSkVDVF9MQU5HVUFHRToKKwkJY2FzZSBPQkpFQ1RfWE1MU0NI RU1BOgogCQljYXNlIE9CSkVDVF9MQVJHRU9CSkVDVDoKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6 CiAJCWNhc2UgT0JKRUNUX09QQ0xBU1M6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy9kcm9wY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwppbmRleCA5MjUy NjAxMmQyYS4uMmU4OTM5NjhhYjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ry b3BjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwpAQCAtMjc4LDYg KzI3OCwxMyBAQCBkb2VzX25vdF9leGlzdF9za2lwcGluZyhPYmplY3RUeXBlIG9ianR5cGUsIE5v ZGUgKm9iamVjdCkKIAkJCQluYW1lID0gTmFtZUxpc3RUb1N0cmluZyhjYXN0Tm9kZShMaXN0LCBv YmplY3QpKTsKIAkJCX0KIAkJCWJyZWFrOworCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQlp ZiAoIXNjaGVtYV9kb2VzX25vdF9leGlzdF9za2lwcGluZyhjYXN0Tm9kZShMaXN0LCBvYmplY3Qp LCAmbXNnLCAmbmFtZSkpCisJCQl7CisJCQkJbXNnID0gZ2V0dGV4dF9ub29wKCJYTUwgc2NoZW1h IFwiJXNcIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmciKTsKKwkJCQluYW1lID0gTmFtZUxpc3RU b1N0cmluZyhjYXN0Tm9kZShMaXN0LCBvYmplY3QpKTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNl IE9CSkVDVF9TQ0hFTUE6CiAJCQltc2cgPSBnZXR0ZXh0X25vb3AoInNjaGVtYSBcIiVzXCIgZG9l cyBub3QgZXhpc3QsIHNraXBwaW5nIik7CiAJCQluYW1lID0gc3RyVmFsKG9iamVjdCk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9ldmVudF90cmlnZ2VyLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy9ldmVudF90cmlnZ2VyLmMKaW5kZXggMDI4ZjllMmRlOTAuLjRhMDg3OTM1ZjE2 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9ldmVudF90cmlnZ2VyLmMKKysrIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jCkBAIC0yMzE4LDYgKzIzMTgsNyBA QCBzdHJpbmdpZnlfZ3JhbnRfb2JqdHlwZShPYmplY3RUeXBlIG9ianR5cGUpCiAJCWNhc2UgT0JK RUNUX1RTVEVNUExBVEU6CiAJCWNhc2UgT0JKRUNUX1VTRVJfTUFQUElORzoKIAkJY2FzZSBPQkpF Q1RfVklFVzoKKwkJY2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgogCQkJZWxvZyhFUlJPUiwgInVuc3Vw cG9ydGVkIG9iamVjdCB0eXBlOiAlZCIsIChpbnQpIG9ianR5cGUpOwogCX0KIApAQCAtMjQwMiw2 ICsyNDAzLDcgQEAgc3RyaW5naWZ5X2FkZWZwcml2c19vYmp0eXBlKE9iamVjdFR5cGUgb2JqdHlw ZSkKIAkJY2FzZSBPQkpFQ1RfVFNURU1QTEFURToKIAkJY2FzZSBPQkpFQ1RfVVNFUl9NQVBQSU5H OgogCQljYXNlIE9CSkVDVF9WSUVXOgorCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CiAJCQllbG9n KEVSUk9SLCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGU6ICVkIiwgKGludCkgb2JqdHlwZSk7CiAJ fQogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZCBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkCmluZGV4IGNhM2Y1M2M2MjEzLi4zMzYzNzk3ZWNl ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQKQEAgLTU1LDQgKzU1LDUgQEAgYmFja2VuZF9z b3VyY2VzICs9IGZpbGVzKAogICAndmFyaWFibGUuYycsCiAgICd2aWV3LmMnLAogICAnd2FpdC5j JywKKyAgJ3htbHNjaGVtYWNtZHMuYycsCiApCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9zZWNsYWJlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VjbGFiZWwuYwppbmRleCA1 YjgwMzk2NzIzYy4uNTRjOTFlY2Y5YTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3NlY2xhYmVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VjbGFiZWwuYwpAQCAtOTIs NiArOTIsNyBAQCBTZWNMYWJlbFN1cHBvcnRzT2JqZWN0VHlwZShPYmplY3RUeXBlIG9ianR5cGUp CiAJCWNhc2UgT0JKRUNUX1RTUEFSU0VSOgogCQljYXNlIE9CSkVDVF9UU1RFTVBMQVRFOgogCQlj YXNlIE9CSkVDVF9VU0VSX01BUFBJTkc6CisJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKIAkJCXJl dHVybiBmYWxzZTsKIAogCQkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ht bHNjaGVtYWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3htbHNjaGVtYWNtZHMuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNDNiMWE1NmExMGMKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy94bWxzY2hlbWFjbWRzLmMKQEAgLTAsMCAr MSw5NSBAQAorI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9k ZXRhaWxzLmgiCisjaW5jbHVkZSAiYWNjZXNzL3RhYmxlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9u YW1lc3BhY2UuaCIKKyNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFjY2Vzcy5oIgorI2luY2x1ZGUg ImNhdGFsb2cvcGdfeG1sc2NoZW1hLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2Uu aCIKKyNpbmNsdWRlICJjb21tYW5kcy94bWxzY2hlbWFjbWRzLmgiCisjaW5jbHVkZSAiY29tbWFu ZHMvZGVmcmVtLmgiCisjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAidXRpbHMvYWNs LmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2Fj aGUuaCIKKyNpbmNsdWRlICJ1dGlscy9yZWwuaCIKKyNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5o IgorI2luY2x1ZGUgInV0aWxzL3htbC5oIgorCisKKy8qCisgKiBDUkVBVEUgWE1MU0NIRU1BCisg Ki8KK09iamVjdEFkZHJlc3MKK0RlZmluZVhtbFNjaGVtYShQYXJzZVN0YXRlICpwc3RhdGUsIExp c3QgKm5hbWVzLCBMaXN0ICpwYXJhbWV0ZXJzLCBib29sIGlmX25vdF9leGlzdHMpCit7CisJY2hh cgkgICAqc2NoZW1hTmFtZTsKKwlPaWQJCQlzY2hlbWFOYW1lc3BhY2U7CisJQWNsUmVzdWx0CWFj bHJlc3VsdDsKKwlMaXN0Q2VsbCAgICpwbDsKKwlEZWZFbGVtICAgICpzY2hlbWFEYXRhRWwgPSBO VUxMOworCXhtbHR5cGUgICAgKnNjaGVtYURhdGE7CisJT2lkCQkJbmV3b2lkOworCU9iamVjdEFk ZHJlc3MgYWRkcmVzczsKKworCXNjaGVtYU5hbWVzcGFjZSA9IFF1YWxpZmllZE5hbWVHZXRDcmVh dGlvbk5hbWVzcGFjZShuYW1lcywgJnNjaGVtYU5hbWUpOworCisJYWNscmVzdWx0ID0gb2JqZWN0 X2FjbGNoZWNrKE5hbWVzcGFjZVJlbGF0aW9uSWQsIHNjaGVtYU5hbWVzcGFjZSwgR2V0VXNlcklk KCksIEFDTF9DUkVBVEUpOworCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCWFjbGNo ZWNrX2Vycm9yKGFjbHJlc3VsdCwgT0JKRUNUX1NDSEVNQSwKKwkJCQkJICAgZ2V0X25hbWVzcGFj ZV9uYW1lKHNjaGVtYU5hbWVzcGFjZSkpOworCisJLyogUGFyc2UgcGFyYW1ldGVycyAqLworCWZv cmVhY2gocGwsIHBhcmFtZXRlcnMpCisJeworCQlEZWZFbGVtICAgICpkZWZlbCA9IGxmaXJzdF9u b2RlKERlZkVsZW0sIHBsKTsKKwkJRGVmRWxlbSAgICoqZGVmZWxwOworCisJCWlmIChzdHJjbXAo ZGVmZWwtPmRlZm5hbWUsICJzY2hlbWEiKSA9PSAwKQorCQkJZGVmZWxwID0gJnNjaGVtYURhdGFF bDsKKwkJZWxzZQorCQl7CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X1NZTlRBWF9FUlJPUiksCisJCQkJCSBlcnJtc2coIlhNTCBzY2hlbWEgYXR0cmlidXRlIFwiJXNc IiBub3QgcmVjb2duaXplZCIsCisJCQkJCQkJZGVmZWwtPmRlZm5hbWUpLAorCQkJCQkgcGFyc2Vy X2VycnBvc2l0aW9uKHBzdGF0ZSwgZGVmZWwtPmxvY2F0aW9uKSkpOworCQkJYnJlYWs7CisJCX0K KwkJaWYgKCpkZWZlbHAgIT0gTlVMTCkKKwkJCWVycm9yQ29uZmxpY3RpbmdEZWZFbGVtKGRlZmVs LCBwc3RhdGUpOworCQkqZGVmZWxwID0gZGVmZWw7CisJfQorCisJaWYgKCFzY2hlbWFEYXRhRWwp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAor CQkJCSBlcnJtc2coInBhcmFtZXRlciBcInNjaGVtYVwiIG11c3QgYmUgc3BlY2lmaWVkIikpKTsK KworCS8qIFRoZSBzY2hlbWEgZGVmaW5pdGlvbiBpcyBwYXNzZWQgYXMgYSBTdHJpbmcgbm9kZSBm cm9tIHRoZSBncmFtbWFyICovCisJc2NoZW1hRGF0YSA9ICh4bWx0eXBlICopIGNzdHJpbmdfdG9f dGV4dChkZWZHZXRTdHJpbmcoc2NoZW1hRGF0YUVsKSk7CisKKwluZXdvaWQgPSBYbWxTY2hlbWFD cmVhdGUoc2NoZW1hTmFtZSwKKwkJCQkJCQkgc2NoZW1hTmFtZXNwYWNlLAorCQkJCQkJCSBHZXRV c2VySWQoKSwKKwkJCQkJCQkgc2NoZW1hRGF0YSwKKwkJCQkJCQkgaWZfbm90X2V4aXN0cywKKwkJ CQkJCQkgZmFsc2UpOworCisJaWYgKCFPaWRJc1ZhbGlkKG5ld29pZCkpCisJeworCQkvKgorCQkg KiBXaGVuIElGIE5PVCBFWElTVFMgd2FzIHNwZWNpZmllZCBhbmQgdGhlIG9iamVjdCBhbHJlYWR5 IGV4aXN0ZWQsCisJCSAqIFhtbFNjaGVtYUNyZWF0ZSByZXR1cm5lZCBJbnZhbGlkT2lkLiBSZXBv cnQgYW4gaW52YWxpZCBvYmplY3QKKwkJICogYWRkcmVzcy4KKwkJICovCisJCWFkZHJlc3MuY2xh c3NJZCA9IFhtbFNjaGVtYVJlbGF0aW9uSWQ7CisJCWFkZHJlc3Mub2JqZWN0SWQgPSBJbnZhbGlk T2lkOworCQlhZGRyZXNzLm9iamVjdFN1YklkID0gMDsKKwkJcmV0dXJuIGFkZHJlc3M7CisJfQor CisJT2JqZWN0QWRkcmVzc1NldChhZGRyZXNzLCBYbWxTY2hlbWFSZWxhdGlvbklkLCBuZXdvaWQp OworCisJcmV0dXJuIGFkZHJlc3M7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCBjNTY3MjUyYWNjNC4uZTU2 YjBjMGM4NGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNzk4LDcgKzc5OCw3IEBAIHN0YXRpYyBOb2RlICpt YWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2Rl ICpxdWVyeSk7CiAJV0FJVCBXSEVOIFdIRVJFIFdISVRFU1BBQ0VfUCBXSU5ET1cgV0lUSCBXSVRI SU4gV0lUSE9VVCBXT1JLIFdSQVBQRVIgV1JJVEUKIAogCVhNTF9QIFhNTEFUVFJJQlVURVMgWE1M Q09OQ0FUIFhNTEVMRU1FTlQgWE1MRVhJU1RTIFhNTEZPUkVTVCBYTUxOQU1FU1BBQ0VTCi0JWE1M UEFSU0UgWE1MUEkgWE1MUk9PVCBYTUxTRVJJQUxJWkUgWE1MVEFCTEUKKwlYTUxQQVJTRSBYTUxQ SSBYTUxST09UIFhNTFNDSEVNQSBYTUxTRVJJQUxJWkUgWE1MVEFCTEUKIAogCVlFQVJfUCBZRVNf UAogCkBAIC02NjU0LDYgKzY2NTQsMjcgQEAgRGVmaW5lU3RtdDoKIAkJCQkJbi0+aWZfbm90X2V4 aXN0cyA9IHRydWU7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IENSRUFURSBY TUxTQ0hFTUEgYW55X25hbWUgQVMgU2NvbnN0CisJCQkJeworCQkJCQlEZWZpbmVTdG10ICpuID0g bWFrZU5vZGUoRGVmaW5lU3RtdCk7CisKKwkJCQkJbi0+a2luZCA9IE9CSkVDVF9YTUxTQ0hFTUE7 CisJCQkJCW4tPmFyZ3MgPSBOSUw7CisJCQkJCW4tPmRlZm5hbWVzID0gJDM7CisJCQkJCW4tPmRl ZmluaXRpb24gPSBsaXN0X21ha2UxKG1ha2VEZWZFbGVtKCJzY2hlbWEiLCAoTm9kZSAqKSBtYWtl U3RyaW5nKCQ1KSwgQDUpKTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwgQ1JF QVRFIFhNTFNDSEVNQSBJRl9QIE5PVCBFWElTVFMgYW55X25hbWUgQVMgU2NvbnN0CisJCQkJewor CQkJCQlEZWZpbmVTdG10ICpuID0gbWFrZU5vZGUoRGVmaW5lU3RtdCk7CisKKwkJCQkJbi0+a2lu ZCA9IE9CSkVDVF9YTUxTQ0hFTUE7CisJCQkJCW4tPmFyZ3MgPSBOSUw7CisJCQkJCW4tPmRlZm5h bWVzID0gJDY7CisJCQkJCW4tPmRlZmluaXRpb24gPSBsaXN0X21ha2UxKG1ha2VEZWZFbGVtKCJz Y2hlbWEiLCAoTm9kZSAqKSBtYWtlU3RyaW5nKCQ4KSwgQDgpKTsKKwkJCQkJbi0+aWZfbm90X2V4 aXN0cyA9IHRydWU7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CiAJCTsKIAogZGVmaW5p dGlvbjogJygnIGRlZl9saXN0ICcpJwkJCQkJCXsgJCQgPSAkMjsgfQpAQCAtNzE5Myw2ICs3MjE0 LDcgQEAgb2JqZWN0X3R5cGVfYW55X25hbWU6CiAJCQl8IElOREVYCQkJCQkJCQkJeyAkJCA9IE9C SkVDVF9JTkRFWDsgfQogCQkJfCBGT1JFSUdOIFRBQkxFCQkJCQkJCXsgJCQgPSBPQkpFQ1RfRk9S RUlHTl9UQUJMRTsgfQogCQkJfCBDT0xMQVRJT04JCQkJCQkJCXsgJCQgPSBPQkpFQ1RfQ09MTEFU SU9OOyB9CisJCQl8IFhNTFNDSEVNQQkJCQkJCQkJeyAkJCA9IE9CSkVDVF9YTUxTQ0hFTUE7IH0K IAkJCXwgQ09OVkVSU0lPTl9QCQkJCQkJCXsgJCQgPSBPQkpFQ1RfQ09OVkVSU0lPTjsgfQogCQkJ fCBTVEFUSVNUSUNTCQkJCQkJCXsgJCQgPSBPQkpFQ1RfU1RBVElTVElDX0VYVDsgfQogCQkJfCBU RVhUX1AgU0VBUkNIIFBBUlNFUgkJCQkJeyAkJCA9IE9CSkVDVF9UU1BBUlNFUjsgfQpAQCAtODEw Nyw2ICs4MTI5LDE1IEBAIHByaXZpbGVnZV90YXJnZXQ6CiAJCQkJCW4tPm9ianMgPSAkMjsKIAkJ CQkJJCQgPSBuOwogCQkJCX0KKwkJCXwgWE1MU0NIRU1BIGFueV9uYW1lX2xpc3QKKwkJCQl7CisJ CQkJCVByaXZUYXJnZXQgKm4gPSBwYWxsb2Nfb2JqZWN0KFByaXZUYXJnZXQpOworCisJCQkJCW4t PnRhcmd0eXBlID0gQUNMX1RBUkdFVF9PQkpFQ1Q7CisJCQkJCW4tPm9ianR5cGUgPSBPQkpFQ1Rf WE1MU0NIRU1BOworCQkJCQluLT5vYmpzID0gJDI7CisJCQkJCSQkID0gbjsKKwkJCQl9CiAJCQl8 IEFMTCBUQUJMRVMgSU5fUCBTQ0hFTUEgbmFtZV9saXN0CiAJCQkJewogCQkJCQlQcml2VGFyZ2V0 ICpuID0gcGFsbG9jX29iamVjdChQcml2VGFyZ2V0KTsKQEAgLTk1NzMsNiArOTYwNCwxNiBAQCBS ZW5hbWVTdG10OiBBTFRFUiBBR0dSRUdBVEUgYWdncmVnYXRlX3dpdGhfYXJndHlwZXMgUkVOQU1F IFRPIG5hbWUKIAkJCQkJbi0+bWlzc2luZ19vayA9IGZhbHNlOwogCQkJCQkkJCA9IChOb2RlICop IG47CiAJCQkJfQorCQkJfCBBTFRFUiBYTUxTQ0hFTUEgYW55X25hbWUgUkVOQU1FIFRPIG5hbWUK KwkJCQl7CisJCQkJCVJlbmFtZVN0bXQgKm4gPSBtYWtlTm9kZShSZW5hbWVTdG10KTsKKworCQkJ CQluLT5yZW5hbWVUeXBlID0gT0JKRUNUX1hNTFNDSEVNQTsKKwkJCQkJbi0+b2JqZWN0ID0gKE5v ZGUgKikgJDM7CisJCQkJCW4tPm5ld25hbWUgPSAkNjsKKwkJCQkJbi0+bWlzc2luZ19vayA9IGZh bHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQkJfCBBTFRFUiBDT05WRVJTSU9O X1AgYW55X25hbWUgUkVOQU1FIFRPIG5hbWUKIAkJCQl7CiAJCQkJCVJlbmFtZVN0bXQgKm4gPSBt YWtlTm9kZShSZW5hbWVTdG10KTsKQEAgLTEwMjUwLDYgKzEwMjkxLDE2IEBAIEFsdGVyT2JqZWN0 U2NoZW1hU3RtdDoKIAkJCQkJbi0+bWlzc2luZ19vayA9IGZhbHNlOwogCQkJCQkkJCA9IChOb2Rl ICopIG47CiAJCQkJfQorCQkJfCBBTFRFUiBYTUxTQ0hFTUEgYW55X25hbWUgU0VUIFNDSEVNQSBu YW1lCisJCQkJeworCQkJCQlBbHRlck9iamVjdFNjaGVtYVN0bXQgKm4gPSBtYWtlTm9kZShBbHRl ck9iamVjdFNjaGVtYVN0bXQpOworCisJCQkJCW4tPm9iamVjdFR5cGUgPSBPQkpFQ1RfWE1MU0NI RU1BOworCQkJCQluLT5vYmplY3QgPSAoTm9kZSAqKSAkMzsKKwkJCQkJbi0+bmV3c2NoZW1hID0g JDY7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSBmYWxzZTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOwor CQkJCX0KIAkJCXwgQUxURVIgQ09OVkVSU0lPTl9QIGFueV9uYW1lIFNFVCBTQ0hFTUEgbmFtZQog CQkJCXsKIAkJCQkJQWx0ZXJPYmplY3RTY2hlbWFTdG10ICpuID0gbWFrZU5vZGUoQWx0ZXJPYmpl Y3RTY2hlbWFTdG10KTsKQEAgLTEwNTgzLDYgKzEwNjM0LDE1IEBAIEFsdGVyT3duZXJTdG10OiBB TFRFUiBBR0dSRUdBVEUgYWdncmVnYXRlX3dpdGhfYXJndHlwZXMgT1dORVIgVE8gUm9sZVNwZWMK IAkJCQkJbi0+bmV3b3duZXIgPSAkNjsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJ CXwgQUxURVIgWE1MU0NIRU1BIGFueV9uYW1lIE9XTkVSIFRPIFJvbGVTcGVjCisJCQkJeworCQkJ CQlBbHRlck93bmVyU3RtdCAqbiA9IG1ha2VOb2RlKEFsdGVyT3duZXJTdG10KTsKKworCQkJCQlu LT5vYmplY3RUeXBlID0gT0JKRUNUX1hNTFNDSEVNQTsKKwkJCQkJbi0+b2JqZWN0ID0gKE5vZGUg KikgJDM7CisJCQkJCW4tPm5ld293bmVyID0gJDY7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJ CQl9CiAJCQl8IEFMVEVSIENPTlZFUlNJT05fUCBhbnlfbmFtZSBPV05FUiBUTyBSb2xlU3BlYwog CQkJCXsKIAkJCQkJQWx0ZXJPd25lclN0bXQgKm4gPSBtYWtlTm9kZShBbHRlck93bmVyU3RtdCk7 CkBAIC0xODI0NSw2ICsxODMwNSw3IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJCXwgV1JBUFBF UgogCQkJfCBXUklURQogCQkJfCBYTUxfUAorCQkJfCBYTUxTQ0hFTUEKIAkJCXwgWUVBUl9QCiAJ CQl8IFlFU19QCiAJCQl8IFpPTkUKQEAgLTE4OTE0LDYgKzE4OTc1LDcgQEAgYmFyZV9sYWJlbF9r ZXl3b3JkOgogCQkJfCBYTUxQQVJTRQogCQkJfCBYTUxQSQogCQkJfCBYTUxST09UCisJCQl8IFhN TFNDSEVNQQogCQkJfCBYTUxTRVJJQUxJWkUKIAkJCXwgWE1MVEFCTEUKIAkJCXwgWUVTX1AKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKaW5kZXggMzRkZDZlMThkZjUuLjYwZTBhMGY3ZTdjIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpA QCAtNTcsNiArNTcsNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUg ImNvbW1hbmRzL3ZpZXcuaCIKICNpbmNsdWRlICJjb21tYW5kcy93YWl0LmgiCisjaW5jbHVkZSAi Y29tbWFuZHMveG1sc2NoZW1hY21kcy5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1 ZGUgInBhcnNlci9wYXJzZV91dGlsY21kLmgiCiAjaW5jbHVkZSAicG9zdG1hc3Rlci9iZ3dyaXRl ci5oIgpAQCAtMTQ0Myw2ICsxNDQ0LDEzIEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRl ICpwc3RhdGUsCiAJCQkJCQkJCQkJCQkJICBzdG10LT5kZWZpbml0aW9uLAogCQkJCQkJCQkJCQkJ CSAgc3RtdC0+aWZfbm90X2V4aXN0cyk7CiAJCQkJCQkJYnJlYWs7CisJCQkJCQljYXNlIE9CSkVD VF9YTUxTQ0hFTUE6CisJCQkJCQkJQXNzZXJ0KHN0bXQtPmFyZ3MgPT0gTklMKTsKKwkJCQkJCQlh ZGRyZXNzID0gRGVmaW5lWG1sU2NoZW1hKHBzdGF0ZSwKKwkJCQkJCQkJCQkJCQkgIHN0bXQtPmRl Zm5hbWVzLAorCQkJCQkJCQkJCQkJCSAgc3RtdC0+ZGVmaW5pdGlvbiwKKwkJCQkJCQkJCQkJCQkg IHN0bXQtPmlmX25vdF9leGlzdHMpOworCQkJCQkJCWJyZWFrOwogCQkJCQkJZGVmYXVsdDoKIAkJ CQkJCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIGRlZmluZSBzdG10IHR5cGU6ICVkIiwKIAkJ CQkJCQkJIChpbnQpIHN0bXQtPmtpbmQpOwpAQCAtMjIzOCw2ICsyMjQ2LDkgQEAgQWx0ZXJPYmpl Y3RUeXBlQ29tbWFuZFRhZyhPYmplY3RUeXBlIG9ianR5cGUpCiAJCWNhc2UgT0JKRUNUX0NPTExB VElPTjoKIAkJCXRhZyA9IENNRFRBR19BTFRFUl9DT0xMQVRJT047CiAJCQlicmVhazsKKwkJY2Fz ZSBPQkpFQ1RfWE1MU0NIRU1BOgorCQkJdGFnID0gQ01EVEFHX0FMVEVSX1hNTFNDSEVNQTsKKwkJ CWJyZWFrOwogCQljYXNlIE9CSkVDVF9DT0xVTU46CiAJCQl0YWcgPSBDTURUQUdfQUxURVJfVEFC TEU7CiAJCQlicmVhazsKQEAgLTI1NzUsNiArMjU4Niw5IEBAIENyZWF0ZUNvbW1hbmRUYWcoTm9k ZSAqcGFyc2V0cmVlKQogCQkJCWNhc2UgT0JKRUNUX0NPTExBVElPTjoKIAkJCQkJdGFnID0gQ01E VEFHX0RST1BfQ09MTEFUSU9OOwogCQkJCQlicmVhazsKKwkJCQljYXNlIE9CSkVDVF9YTUxTQ0hF TUE6CisJCQkJCXRhZyA9IENNRFRBR19EUk9QX1hNTFNDSEVNQTsKKwkJCQkJYnJlYWs7CiAJCQkJ Y2FzZSBPQkpFQ1RfQ09OVkVSU0lPTjoKIAkJCQkJdGFnID0gQ01EVEFHX0RST1BfQ09OVkVSU0lP TjsKIAkJCQkJYnJlYWs7CkBAIC0yNzc2LDYgKzI3OTAsOSBAQCBDcmVhdGVDb21tYW5kVGFnKE5v ZGUgKnBhcnNldHJlZSkKIAkJCQljYXNlIE9CSkVDVF9DT0xMQVRJT046CiAJCQkJCXRhZyA9IENN RFRBR19DUkVBVEVfQ09MTEFUSU9OOwogCQkJCQlicmVhazsKKwkJCQljYXNlIE9CSkVDVF9YTUxT Q0hFTUE6CisJCQkJCXRhZyA9IENNRFRBR19DUkVBVEVfWE1MU0NIRU1BOworCQkJCQlicmVhazsK IAkJCQljYXNlIE9CSkVDVF9BQ0NFU1NfTUVUSE9EOgogCQkJCQl0YWcgPSBDTURUQUdfQ1JFQVRF X0FDQ0VTU19NRVRIT0Q7CiAJCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L2FjbC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jCmluZGV4IDY0MTY3M2Yw YjBlLi5jNmViNjQxOGRiYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYwpAQCAtODY4LDYgKzg2OCwxMCBAQCBh Y2xkZWZhdWx0KE9iamVjdFR5cGUgb2JqdHlwZSwgT2lkIG93bmVySWQpCiAJCQl3b3JsZF9kZWZh dWx0ID0gQUNMX05PX1JJR0hUUzsKIAkJCW93bmVyX2RlZmF1bHQgPSBBQ0xfQUxMX1JJR0hUU19Q QVJBTUVURVJfQUNMOwogCQkJYnJlYWs7CisJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKKwkJCXdv cmxkX2RlZmF1bHQgPSBBQ0xfTk9fUklHSFRTOworCQkJb3duZXJfZGVmYXVsdCA9IEFDTF9BTExf UklHSFRTX1hNTFNDSEVNQTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwg InVucmVjb2duaXplZCBvYmplY3QgdHlwZTogJWQiLCAoaW50KSBvYmp0eXBlKTsKIAkJCXdvcmxk X2RlZmF1bHQgPSBBQ0xfTk9fUklHSFRTOwkvKiBrZWVwIGNvbXBpbGVyIHF1aWV0ICovCmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2R1bXAvY29tbW9uLmMgYi9zcmMvYmluL3BnX2R1bXAvY29tbW9u LmMKaW5kZXggMzQ5YjQ3YzhlMjkuLjY1MWNmNjc0MzY1IDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X2R1bXAvY29tbW9uLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbW1vbi5jCkBAIC0xODIsNiAr MTgyLDkgQEAgZ2V0U2NoZW1hRGF0YShBcmNoaXZlICpmb3V0LCBpbnQgKm51bVRhYmxlc1B0cikK IAlwZ19sb2dfaW5mbygicmVhZGluZyB1c2VyLWRlZmluZWQgY29udmVyc2lvbnMiKTsKIAlnZXRD b252ZXJzaW9ucyhmb3V0KTsKIAorCXBnX2xvZ19pbmZvKCJyZWFkaW5nIFhNTCBzY2hlbWFzIik7 CisJZ2V0WG1sU2NoZW1hcyhmb3V0KTsKKwogCXBnX2xvZ19pbmZvKCJyZWFkaW5nIHR5cGUgY2Fz dHMiKTsKIAlnZXRDYXN0cyhmb3V0KTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3Bn X2JhY2t1cF9hcmNoaXZlci5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5j CmluZGV4IDdhZmNjMDg1OWM4Li4xZWE1YjM2NWFiNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19k dW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBf YXJjaGl2ZXIuYwpAQCAtMzgxMiw2ICszODEyLDcgQEAgX2dldE9iamVjdERlc2NyaXB0aW9uKFBR RXhwQnVmZmVyIGJ1ZiwgY29uc3QgVG9jRW50cnkgKnRlKQogCQlzdHJjbXAodHlwZSwgIlRFWFQg U0VBUkNIIENPTkZJR1VSQVRJT04iKSA9PSAwIHx8CiAJCXN0cmNtcCh0eXBlLCAiVFlQRSIpID09 IDAgfHwKIAkJc3RyY21wKHR5cGUsICJWSUVXIikgPT0gMCB8fAorCQlzdHJjbXAodHlwZSwgIlhN TFNDSEVNQSIpID09IDAgfHwKIAkvKiBub24tc2NoZW1hLXNwZWNpZmllZCBvYmplY3RzICovCiAJ CXN0cmNtcCh0eXBlLCAiREFUQUJBU0UiKSA9PSAwIHx8CiAJCXN0cmNtcCh0eXBlLCAiUFJPQ0VE VVJBTCBMQU5HVUFHRSIpID09IDAgfHwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19k dW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDQ5NTk4MzA0MzM1Li43ODZm N2Q0ZjMzZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMv YmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC0zMDUsNiArMzA1LDcgQEAgc3RhdGljIHZvaWQgZHVt cEFjY2Vzc01ldGhvZChBcmNoaXZlICpmb3V0LCBjb25zdCBBY2Nlc3NNZXRob2RJbmZvICphbWlu Zm8pOwogc3RhdGljIHZvaWQgZHVtcE9wY2xhc3MoQXJjaGl2ZSAqZm91dCwgY29uc3QgT3BjbGFz c0luZm8gKm9wY2luZm8pOwogc3RhdGljIHZvaWQgZHVtcE9wZmFtaWx5KEFyY2hpdmUgKmZvdXQs IGNvbnN0IE9wZmFtaWx5SW5mbyAqb3BmaW5mbyk7CiBzdGF0aWMgdm9pZCBkdW1wQ29sbGF0aW9u KEFyY2hpdmUgKmZvdXQsIGNvbnN0IENvbGxJbmZvICpjb2xsaW5mbyk7CitzdGF0aWMgdm9pZCBk dW1wWG1sU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFhtbFNjaGVtYUluZm8gKiB4bWxzY2hl bWFpbmZvKTsKIHN0YXRpYyB2b2lkIGR1bXBDb252ZXJzaW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0 IENvbnZJbmZvICpjb252aW5mbyk7CiBzdGF0aWMgdm9pZCBkdW1wUnVsZShBcmNoaXZlICpmb3V0 LCBjb25zdCBSdWxlSW5mbyAqcmluZm8pOwogc3RhdGljIHZvaWQgZHVtcEFnZyhBcmNoaXZlICpm b3V0LCBjb25zdCBBZ2dJbmZvICphZ2dpbmZvKTsKQEAgLTY1NTEsNiArNjU1Miw2MiBAQCBnZXRD b252ZXJzaW9ucyhBcmNoaXZlICpmb3V0KQogCWRlc3Ryb3lQUUV4cEJ1ZmZlcihxdWVyeSk7CiB9 CiAKKy8qCisgKiBnZXRYbWxTY2hlbWFzOgorICoJICBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYWxs IFhNTCBzY2hlbWFzIGluIHRoZSBzeXN0ZW0gY2F0YWxvZ3MKKyAqLwordm9pZAorZ2V0WG1sU2No ZW1hcyhBcmNoaXZlICpmb3V0KQoreworCVBHcmVzdWx0ICAgKnJlczsKKwlpbnQJCQludHVwczsK KwlpbnQJCQlpOworCVBRRXhwQnVmZmVyIHF1ZXJ5OworCVhtbFNjaGVtYUluZm8gKnhtbHNjaGVt YWluZm87CisJaW50CQkJaV90YWJsZW9pZDsKKwlpbnQJCQlpX29pZDsKKwlpbnQJCQlpX3NjaGVt YW5hbWU7CisJaW50CQkJaV9zY2hlbWFuYW1lc3BhY2U7CisJaW50CQkJaV9zY2hlbWFvd25lcjsK KworCXF1ZXJ5ID0gY3JlYXRlUFFFeHBCdWZmZXIoKTsKKworCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LCAiU0VMRUNUIHRhYmxlb2lkLCBvaWQsIHNjaGVtYW5hbWUsICIKKwkJCQkJCSAic2No ZW1hbmFtZXNwYWNlLCAiCisJCQkJCQkgInNjaGVtYW93bmVyICIKKwkJCQkJCSAiRlJPTSBwZ194 bWxzY2hlbWEiKTsKKworCXJlcyA9IEV4ZWN1dGVTcWxRdWVyeShmb3V0LCBxdWVyeS0+ZGF0YSwg UEdSRVNfVFVQTEVTX09LKTsKKworCW50dXBzID0gUFFudHVwbGVzKHJlcyk7CisKKwl4bWxzY2hl bWFpbmZvID0gKFhtbFNjaGVtYUluZm8gKikgcGdfbWFsbG9jKG50dXBzICogc2l6ZW9mKFhtbFNj aGVtYUluZm8pKTsKKworCWlfdGFibGVvaWQgPSBQUWZudW1iZXIocmVzLCAidGFibGVvaWQiKTsK KwlpX29pZCA9IFBRZm51bWJlcihyZXMsICJvaWQiKTsKKwlpX3NjaGVtYW5hbWUgPSBQUWZudW1i ZXIocmVzLCAic2NoZW1hbmFtZSIpOworCWlfc2NoZW1hbmFtZXNwYWNlID0gUFFmbnVtYmVyKHJl cywgInNjaGVtYW5hbWVzcGFjZSIpOworCWlfc2NoZW1hb3duZXIgPSBQUWZudW1iZXIocmVzLCAi c2NoZW1hb3duZXIiKTsKKworCWZvciAoaSA9IDA7IGkgPCBudHVwczsgaSsrKQorCXsKKwkJeG1s c2NoZW1haW5mb1tpXS5kb2JqLm9ialR5cGUgPSBET19YTUxTQ0hFTUE7CisJCXhtbHNjaGVtYWlu Zm9baV0uZG9iai5jYXRJZC50YWJsZW9pZCA9IGF0b29pZChQUWdldHZhbHVlKHJlcywgaSwgaV90 YWJsZW9pZCkpOworCQl4bWxzY2hlbWFpbmZvW2ldLmRvYmouY2F0SWQub2lkID0gYXRvb2lkKFBR Z2V0dmFsdWUocmVzLCBpLCBpX29pZCkpOworCQlBc3NpZ25EdW1wSWQoJnhtbHNjaGVtYWluZm9b aV0uZG9iaik7CisJCXhtbHNjaGVtYWluZm9baV0uZG9iai5uYW1lID0gcGdfc3RyZHVwKFBRZ2V0 dmFsdWUocmVzLCBpLCBpX3NjaGVtYW5hbWUpKTsKKwkJeG1sc2NoZW1haW5mb1tpXS5kb2JqLm5h bWVzcGFjZSA9CisJCQlmaW5kTmFtZXNwYWNlKGF0b29pZChQUWdldHZhbHVlKHJlcywgaSwgaV9z Y2hlbWFuYW1lc3BhY2UpKSk7CisJCXhtbHNjaGVtYWluZm9baV0ucm9sbmFtZSA9IGdldFJvbGVO YW1lKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3NjaGVtYW93bmVyKSk7CisKKwkJc2VsZWN0RHVtcGFi bGVPYmplY3QoJih4bWxzY2hlbWFpbmZvW2ldLmRvYmopLCBmb3V0KTsKKwl9CisKKwlQUWNsZWFy KHJlcyk7CisKKwlkZXN0cm95UFFFeHBCdWZmZXIocXVlcnkpOworfQorCiAvKgogICogZ2V0QWNj ZXNzTWV0aG9kczoKICAqCSAgZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFsbCB1c2VyLWRlZmluZWQg YWNjZXNzIG1ldGhvZHMKQEAgLTExNzEyLDYgKzExNzY5LDkgQEAgZHVtcER1bXBhYmxlT2JqZWN0 KEFyY2hpdmUgKmZvdXQsIER1bXBhYmxlT2JqZWN0ICpkb2JqKQogCQljYXNlIERPX0NPTlZFUlNJ T046CiAJCQlkdW1wQ29udmVyc2lvbihmb3V0LCAoY29uc3QgQ29udkluZm8gKikgZG9iaik7CiAJ CQlicmVhazsKKwkJY2FzZSBET19YTUxTQ0hFTUE6CisJCQlkdW1wWG1sU2NoZW1hKGZvdXQsIChj b25zdCBYbWxTY2hlbWFJbmZvICopIGRvYmopOworCQkJYnJlYWs7CiAJCWNhc2UgRE9fVEFCTEU6 CiAJCQlkdW1wVGFibGUoZm91dCwgKGNvbnN0IFRhYmxlSW5mbyAqKSBkb2JqKTsKIAkJCWJyZWFr OwpAQCAtMTUyMzgsNiArMTUyOTgsNzMgQEAgZHVtcENvbGxhdGlvbihBcmNoaXZlICpmb3V0LCBj b25zdCBDb2xsSW5mbyAqY29sbGluZm8pCiAJZnJlZShxY29sbG5hbWUpOwogfQogCisvKgorICog ZHVtcFhtbFNjaGVtYQorICoJICB3cml0ZSBvdXQgYSBzaW5nbGUgWE1MIHNjaGVtYSBkZWZpbml0 aW9uCisgKi8KK3N0YXRpYyB2b2lkCitkdW1wWG1sU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0 IFhtbFNjaGVtYUluZm8gKiB4bWxzY2hlbWFpbmZvKQoreworCUR1bXBPcHRpb25zICpkb3B0ID0g Zm91dC0+ZG9wdDsKKwlQUUV4cEJ1ZmZlciBxdWVyeTsKKwlQUUV4cEJ1ZmZlciBxOworCVBRRXhw QnVmZmVyIGRlbHE7CisJY2hhcgkgICAqcXhtbHNjaGVtYW5hbWU7CisJUEdyZXN1bHQgICAqcmVz OworCWludAkJCWlfc2NoZW1hZGF0YTsKKwljaGFyCSAgICpzY2hlbWFkYXRhOworCisJaWYgKCFk b3B0LT5kdW1wU2NoZW1hKQorCQlyZXR1cm47CisKKwlxdWVyeSA9IGNyZWF0ZVBRRXhwQnVmZmVy KCk7CisJcSA9IGNyZWF0ZVBRRXhwQnVmZmVyKCk7CisJZGVscSA9IGNyZWF0ZVBRRXhwQnVmZmVy KCk7CisKKwlxeG1sc2NoZW1hbmFtZSA9IHBnX3N0cmR1cChmbXRJZCh4bWxzY2hlbWFpbmZvLT5k b2JqLm5hbWUpKTsKKworCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LAorCQkJCQkgICJTRUxFQ1Qg c2NoZW1hZGF0YSAiCisJCQkJCSAgIkZST00gcGdfY2F0YWxvZy5wZ194bWxzY2hlbWEgIgorCQkJ CQkgICJXSEVSRSBvaWQgPSAnJXUnOjpwZ19jYXRhbG9nLm9pZCIsCisJCQkJCSAgeG1sc2NoZW1h aW5mby0+ZG9iai5jYXRJZC5vaWQpOworCisJcmVzID0gRXhlY3V0ZVNxbFF1ZXJ5Rm9yU2luZ2xl Um93KGZvdXQsIHF1ZXJ5LT5kYXRhKTsKKworCWlfc2NoZW1hZGF0YSA9IFBRZm51bWJlcihyZXMs ICJzY2hlbWFkYXRhIik7CisJc2NoZW1hZGF0YSA9IFBRZ2V0dmFsdWUocmVzLCAwLCBpX3NjaGVt YWRhdGEpOworCisJYXBwZW5kUFFFeHBCdWZmZXIoZGVscSwgIkRST1AgWE1MU0NIRU1BICVzO1xu IiwKKwkJCQkJICBmbXRRdWFsaWZpZWREdW1wYWJsZSh4bWxzY2hlbWFpbmZvKSk7CisKKwlhcHBl bmRQUUV4cEJ1ZmZlcihxLCAiQ1JFQVRFIFhNTFNDSEVNQSAlcyBBUyAiLAorCQkJCQkgIGZtdFF1 YWxpZmllZER1bXBhYmxlKHhtbHNjaGVtYWluZm8pKTsKKwlhcHBlbmRTdHJpbmdMaXRlcmFsQUgo cSwgc2NoZW1hZGF0YSwgZm91dCk7CisJYXBwZW5kUFFFeHBCdWZmZXJTdHIocSwgIjtcbiIpOwor CisJaWYgKHhtbHNjaGVtYWluZm8tPmRvYmouZHVtcCAmIERVTVBfQ09NUE9ORU5UX0RFRklOSVRJ T04pCisJCUFyY2hpdmVFbnRyeShmb3V0LCB4bWxzY2hlbWFpbmZvLT5kb2JqLmNhdElkLCB4bWxz Y2hlbWFpbmZvLT5kb2JqLmR1bXBJZCwKKwkJCQkJIEFSQ0hJVkVfT1BUUygudGFnID0geG1sc2No ZW1haW5mby0+ZG9iai5uYW1lLAorCQkJCQkJCQkgIC5uYW1lc3BhY2UgPSB4bWxzY2hlbWFpbmZv LT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lLAorCQkJCQkJCQkgIC5vd25lciA9IHhtbHNjaGVt YWluZm8tPnJvbG5hbWUsCisJCQkJCQkJCSAgLmRlc2NyaXB0aW9uID0gIlhNTFNDSEVNQSIsCisJ CQkJCQkJCSAgLnNlY3Rpb24gPSBTRUNUSU9OX1BSRV9EQVRBLAorCQkJCQkJCQkgIC5jcmVhdGVT dG10ID0gcS0+ZGF0YSwKKwkJCQkJCQkJICAuZHJvcFN0bXQgPSBkZWxxLT5kYXRhKSk7CisKKwlp ZiAoeG1sc2NoZW1haW5mby0+ZG9iai5kdW1wICYgRFVNUF9DT01QT05FTlRfQ09NTUVOVCkKKwkJ ZHVtcENvbW1lbnQoZm91dCwgIlhNTFNDSEVNQSIsIHF4bWxzY2hlbWFuYW1lLAorCQkJCQl4bWxz Y2hlbWFpbmZvLT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lLCB4bWxzY2hlbWFpbmZvLT5yb2xu YW1lLAorCQkJCQl4bWxzY2hlbWFpbmZvLT5kb2JqLmNhdElkLCAwLCB4bWxzY2hlbWFpbmZvLT5k b2JqLmR1bXBJZCk7CisKKwlQUWNsZWFyKHJlcyk7CisKKwlkZXN0cm95UFFFeHBCdWZmZXIocXVl cnkpOworCWRlc3Ryb3lQUUV4cEJ1ZmZlcihxKTsKKwlkZXN0cm95UFFFeHBCdWZmZXIoZGVscSk7 CisJZnJlZShxeG1sc2NoZW1hbmFtZSk7Cit9CisKIC8qCiAgKiBkdW1wQ29udmVyc2lvbgogICoJ ICB3cml0ZSBvdXQgYSBzaW5nbGUgY29udmVyc2lvbiBkZWZpbml0aW9uCkBAIC0yMDQwOCw2ICsy MDUzNSw3IEBAIGFkZEJvdW5kYXJ5RGVwZW5kZW5jaWVzKER1bXBhYmxlT2JqZWN0ICoqZG9ianMs IGludCBudW1PYmpzLAogCQkJY2FzZSBET19PUEZBTUlMWToKIAkJCWNhc2UgRE9fQ09MTEFUSU9O OgogCQkJY2FzZSBET19DT05WRVJTSU9OOgorCQkJY2FzZSBET19YTUxTQ0hFTUE6CiAJCQljYXNl IERPX1RBQkxFOgogCQkJY2FzZSBET19UQUJMRV9BVFRBQ0g6CiAJCQljYXNlIERPX0FUVFJERUY6 CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oIGIvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXAuaAppbmRleCA0YzRiMTRlNWZjNy4uYmMxY2Y1YTAwZDIgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaApA QCAtNTAsNiArNTAsNyBAQCB0eXBlZGVmIGVudW0KIAlET19PUEZBTUlMWSwKIAlET19DT0xMQVRJ T04sCiAJRE9fQ09OVkVSU0lPTiwKKwlET19YTUxTQ0hFTUEsCiAJRE9fVEFCTEUsCiAJRE9fVEFC TEVfQVRUQUNILAogCURPX0FUVFJERUYsCkBAIC0yOTksNiArMzAwLDEyIEBAIHR5cGVkZWYgc3Ry dWN0IF9jb252SW5mbwogCWNvbnN0IGNoYXIgKnJvbG5hbWU7CiB9IENvbnZJbmZvOwogCit0eXBl ZGVmIHN0cnVjdCBfeG1sU2NoZW1hSW5mbworeworCUR1bXBhYmxlT2JqZWN0IGRvYmo7CisJY29u c3QgY2hhciAqcm9sbmFtZTsKK30JCQlYbWxTY2hlbWFJbmZvOworCiB0eXBlZGVmIHN0cnVjdCBf dGFibGVJbmZvCiB7CiAJLyoKQEAgLTc5Nyw2ICs4MDQsNyBAQCBleHRlcm4gdm9pZCBnZXRPcGNs YXNzZXMoQXJjaGl2ZSAqZm91dCk7CiBleHRlcm4gdm9pZCBnZXRPcGZhbWlsaWVzKEFyY2hpdmUg KmZvdXQpOwogZXh0ZXJuIHZvaWQgZ2V0Q29sbGF0aW9ucyhBcmNoaXZlICpmb3V0KTsKIGV4dGVy biB2b2lkIGdldENvbnZlcnNpb25zKEFyY2hpdmUgKmZvdXQpOworZXh0ZXJuIHZvaWQgZ2V0WG1s U2NoZW1hcyhBcmNoaXZlICpmb3V0KTsKIGV4dGVybiBUYWJsZUluZm8gKmdldFRhYmxlcyhBcmNo aXZlICpmb3V0LCBpbnQgKm51bVRhYmxlcyk7CiBleHRlcm4gdm9pZCBnZXRPd25lZFNlcXMoQXJj aGl2ZSAqZm91dCwgVGFibGVJbmZvIHRibGluZm9bXSwgaW50IG51bVRhYmxlcyk7CiBleHRlcm4g SW5oSW5mbyAqZ2V0SW5oZXJpdHMoQXJjaGl2ZSAqZm91dCwgaW50ICpudW1Jbmhlcml0cyk7CmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMgYi9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcF9zb3J0LmMKaW5kZXggMDNlNWMxYzExMTYuLjBlYzdkZDMzYWMzIDEwMDY0NAot LS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXBfc29ydC5jCkBAIC0xNTc1LDYgKzE1NzUsMTEgQEAgZGVzY3JpYmVEdW1wYWJsZU9i amVjdChEdW1wYWJsZU9iamVjdCAqb2JqLCBjaGFyICpidWYsIGludCBidWZzaXplKQogCQkJCQkg IkNPTlZFUlNJT04gJXMgIChJRCAlZCBPSUQgJXUpIiwKIAkJCQkJIG9iai0+bmFtZSwgb2JqLT5k dW1wSWQsIG9iai0+Y2F0SWQub2lkKTsKIAkJCXJldHVybjsKKwkJY2FzZSBET19YTUxTQ0hFTUE6 CisJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUsCisJCQkJCSAiWE1MU0NIRU1BICVzICAoSUQgJWQg T0lEICV1KSIsCisJCQkJCSBvYmotPm5hbWUsIG9iai0+ZHVtcElkLCBvYmotPmNhdElkLm9pZCk7 CisJCQlyZXR1cm47CiAJCWNhc2UgRE9fVEFCTEU6CiAJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUs CiAJCQkJCSAiVEFCTEUgJXMgIChJRCAlZCBPSUQgJXUpIiwKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpp bmRleCA4YjkxYmMwMDA2Mi4uNmM1MWNkNmM5YmUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKQEAg LTc5Nyw2ICs3OTcsMTMgQEAgc3RhdGljIGNvbnN0IFNjaGVtYVF1ZXJ5IFF1ZXJ5X2Zvcl9saXN0 X29mX21hdHZpZXdzID0gewogCS5yZXN1bHQgPSAiYy5yZWxuYW1lIiwKIH07CiAKK3N0YXRpYyBj b25zdCBTY2hlbWFRdWVyeSBRdWVyeV9mb3JfbGlzdF9vZl94bWxzY2hlbWFzID0geworCS5jYXRu YW1lID0gInBnX2NhdGFsb2cucGdfeG1sc2NoZW1hIHMiLAorCS52aXNjb25kaXRpb24gPSAiRVhJ U1RTIChTRUxFQ1QgMSBGUk9NIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG4gV0hFUkUgbi5vaWQg PSBzLnNjaGVtYW5hbWVzcGFjZSBBTkQgbi5uc3BuYW1lID0gQU5ZKHBnX2NhdGFsb2cuY3VycmVu dF9zY2hlbWFzKHRydWUpKSkiLAorCS5uYW1lc3BhY2UgPSAicy5zY2hlbWFuYW1lc3BhY2UiLAor CS5yZXN1bHQgPSAicy5zY2hlbWFuYW1lIiwKK307CisKIHN0YXRpYyBjb25zdCBTY2hlbWFRdWVy eSBRdWVyeV9mb3JfbGlzdF9vZl9pbmRleGVzID0gewogCS5jYXRuYW1lID0gInBnX2NhdGFsb2cu cGdfY2xhc3MgYyIsCiAJLnNlbGNvbmRpdGlvbiA9CkBAIC0xMzY0LDYgKzEzNzEsNyBAQCBzdGF0 aWMgY29uc3QgcGdzcWxfdGhpbmdfdCB3b3Jkc19hZnRlcl9jcmVhdGVbXSA9IHsKIAl7IlVTRVIi LCBRdWVyeV9mb3JfbGlzdF9vZl9yb2xlcywgTlVMTCwgTlVMTCwgS2V5d29yZHNfZm9yX3VzZXJf dGhpbmd9LAogCXsiVVNFUiBNQVBQSU5HIEZPUiIsIE5VTEwsIE5VTEwsIE5VTEx9LAogCXsiVklF VyIsIE5VTEwsIE5VTEwsICZRdWVyeV9mb3JfbGlzdF9vZl92aWV3c30sCisJeyJYTUxTQ0hFTUEi LCBOVUxMLCBOVUxMLCAmUXVlcnlfZm9yX2xpc3Rfb2ZfeG1sc2NoZW1hc30sCiAJe05VTEx9CQkJ CQkJLyogZW5kIG9mIGxpc3QgKi8KIH07CiAKQEAgLTI3MDEsNiArMjcwOSwxMCBAQCBtYXRjaF9w cmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIs ICJNQVRFUklBTElaRUQiLCAiVklFVyIsIE1hdGNoQW55LCAiU0VUIiwgIkFDQ0VTUyIsICJNRVRI T0QiKSkKIAkJQ09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZV9hY2Nl c3NfbWV0aG9kcyk7CiAKKwkvKiBBTFRFUiBYTUxTQ0hFTUEgPG5hbWU+ICovCisJZWxzZSBpZiAo TWF0Y2hlcygiQUxURVIiLCAiWE1MU0NIRU1BIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRI KCJPV05FUiBUTyIsICJSRU5BTUUgVE8iLCAiU0VUIFNDSEVNQSIpOworCiAJLyogQUxURVIgUE9M SUNZIDxuYW1lPiAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBPTElDWSIpKQogCQlD T01QTEVURV9XSVRIX1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3BvbGljaWVzKTsKQEAgLTQxNzgs NiArNDE5MCwxNiBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAkJCSBN YXRjaGVzKCJDUkVBVEUiLCAiTUFURVJJQUxJWkVEIiwgIlZJRVciLCBNYXRjaEFueSwgIlVTSU5H IiwgTWF0Y2hBbnksICJBUyIpKQogCQlDT01QTEVURV9XSVRIKCJTRUxFQ1QiKTsKIAorLyogQ1JF QVRFIFhNTFNDSEVNQSAqLworCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJYTUxTQ0hFTUEi LCBNYXRjaEFueSkpCisJCUNPTVBMRVRFX1dJVEgoIkFTIiwgIklGIik7CisJZWxzZSBpZiAoTWF0 Y2hlcygiQ1JFQVRFIiwgIlhNTFNDSEVNQSIsICJJRiIpKQorCQlDT01QTEVURV9XSVRIKCJOT1Qi KTsKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiWE1MU0NIRU1BIiwgIklGIiwgIk5PVCIp KQorCQlDT01QTEVURV9XSVRIKCJFWElTVFMiKTsKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUi LCAiWE1MU0NIRU1BIiwgIklGIiwgIk5PVCIsICJFWElTVFMiLCBNYXRjaEFueSkpCisJCUNPTVBM RVRFX1dJVEgoIkFTIik7CisKIC8qIENSRUFURSBFVkVOVCBUUklHR0VSICovCiAJZWxzZSBpZiAo TWF0Y2hlcygiQ1JFQVRFIiwgIkVWRU5UIikpCiAJCUNPTVBMRVRFX1dJVEgoIlRSSUdHRVIiKTsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZpbGUgYi9zcmMvaW5jbHVkZS9j YXRhbG9nL01ha2VmaWxlCmluZGV4IDI0YjUyNzIzMGQ0Li43MzYxZGM2Y2QzZiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmlsZQorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9n L01ha2VmaWxlCkBAIC03Miw2ICs3Miw3IEBAIENBVEFMT0dfSEVBREVSUyA6PSBcCiAJcGdfc2Vj bGFiZWwuaCBcCiAJcGdfc2hzZWNsYWJlbC5oIFwKIAlwZ19jb2xsYXRpb24uaCBcCisJcGdfeG1s c2NoZW1hLmggXAogCXBnX3BhcmFtZXRlcl9hY2wuaCBcCiAJcGdfcGFydGl0aW9uZWRfdGFibGUu aCBcCiAJcGdfcmFuZ2UuaCBcCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29u LmJ1aWxkIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZAppbmRleCA0MzNiY2M5MDhh ZC4uMWZkYzZhYzRlMDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVp bGQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZApAQCAtNTksNiArNTksNyBA QCBjYXRhbG9nX2hlYWRlcnMgPSBbCiAgICdwZ19zZWNsYWJlbC5oJywKICAgJ3BnX3Noc2VjbGFi ZWwuaCcsCiAgICdwZ19jb2xsYXRpb24uaCcsCisgICdwZ194bWxzY2hlbWEuaCcsCiAgICdwZ19w YXJhbWV0ZXJfYWNsLmgnLAogICAncGdfcGFydGl0aW9uZWRfdGFibGUuaCcsCiAgICdwZ19yYW5n ZS5oJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvbmFtZXNwYWNlLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL25hbWVzcGFjZS5oCmluZGV4IDFhMjU5NzM2ODVjLi5hMGY5NTg1YzUz YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9uYW1lc3BhY2UuaAorKysgYi9zcmMv aW5jbHVkZS9jYXRhbG9nL25hbWVzcGFjZS5oCkBAIC0xOTEsNiArMTkxLDcgQEAgZXh0ZXJuIGJv b2wgU2VhcmNoUGF0aE1hdGNoZXNDdXJyZW50RW52aXJvbm1lbnQoU2VhcmNoUGF0aE1hdGNoZXIg KnBhdGgpOwogCiBleHRlcm4gT2lkCWdldF9jb2xsYXRpb25fb2lkKExpc3QgKmNvbGxuYW1lLCBi b29sIG1pc3Npbmdfb2spOwogZXh0ZXJuIE9pZAlnZXRfY29udmVyc2lvbl9vaWQoTGlzdCAqY29u bmFtZSwgYm9vbCBtaXNzaW5nX29rKTsKK2V4dGVybiBPaWQJZ2V0X3htbHNjaGVtYV9vaWQoTGlz dCAqc2NoZW1hbmFtZSwgYm9vbCBtaXNzaW5nX29rKTsKIGV4dGVybiBPaWQJRmluZERlZmF1bHRD b252ZXJzaW9uUHJvYyhpbnQzMiBmb3JfZW5jb2RpbmcsIGludDMyIHRvX2VuY29kaW5nKTsKIAog CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3htbHNjaGVtYS5oIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ194bWxzY2hlbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMzI2MTQyMGYyYmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3htbHNjaGVtYS5oCkBAIC0wLDAgKzEsNDggQEAKKyNpZm5kZWYgUEdfWE1MU0NI RU1BX0gKKyNkZWZpbmUgUEdfWE1MU0NIRU1BX0gKKworI2luY2x1ZGUgImNhdGFsb2cvZ2VuYmtp LmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWFfZC5oIgorI2luY2x1ZGUgInV0aWxz L3htbC5oIgorCitDQVRBTE9HKHBnX3htbHNjaGVtYSw2NDM0LFhtbFNjaGVtYVJlbGF0aW9uSWQp Cit7CisJT2lkCQkJb2lkOwkJCS8qIG9pZCAqLworCU5hbWVEYXRhCXNjaGVtYW5hbWU7CQkvKiBY TUwgc2NoZW1hIG5hbWUgKi8KKworCS8qIE9JRCBvZiBuYW1lc3BhY2UgY29udGFpbmluZyB0aGlz IFhNTCBzY2hlbWEgKi8KKwlPaWQJCQlzY2hlbWFuYW1lc3BhY2UgQktJX0RFRkFVTFQocGdfY2F0 YWxvZykgQktJX0xPT0tVUChwZ19uYW1lc3BhY2UpOworCisJLyogb3duZXIgb2YgWE1MIHNjaGVt YSAqLworCU9pZAkJCXNjaGVtYW93bmVyIEJLSV9ERUZBVUxUKFBPU1RHUkVTKSBCS0lfTE9PS1VQ KHBnX2F1dGhpZCk7CisjaWZkZWYgQ0FUQUxPR19WQVJMRU4KKwkvKiBUaGUgWFNEIGl0c2VsZiAq LworCXhtbAkJCXNjaGVtYWRhdGEgQktJX0ZPUkNFX05PVF9OVUxMOworCisJLyogQWNjZXNzIHBy aXZpbGVnZXMgKi8KKwlhY2xpdGVtCQlzY2hlbWFhY2xbMV0gQktJX0RFRkFVTFQoX251bGxfKTsK KyNlbmRpZgorfSBGb3JtRGF0YV9wZ194bWxzY2hlbWE7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0K KyAqICAgICAgICBGb3JtX3BnX3htbHNjaGVtYSBtYXBzIHRvIGEgcG9pbnRlciB0byBhIHJvdyB3 aXRoCisgKiAgICAgICAgdGhlIGZvcm1hdCBvZiBwZ194bWxzY2hlbWEgcmVsYXRpb24uCisgKiAt LS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgRm9ybURhdGFfcGdfeG1sc2NoZW1hICogRm9y bV9wZ194bWxzY2hlbWE7CisKK0RFQ0xBUkVfVE9BU1QocGdfeG1sc2NoZW1hLCA2NDM1LCA2NDM2 KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3htbHNjaGVtYV9uYW1lX25zcF9pbmRleCwgNjQz NywgWG1sU2NoZW1hTmFtZU5zcEluZGV4SWQsIHBnX3htbHNjaGVtYSwgYnRyZWUoc2NoZW1hbmFt ZSBuYW1lX29wcywgc2NoZW1hbmFtZXNwYWNlIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lO REVYX1BLRVkocGdfeG1sc2NoZW1hX29pZF9pbmRleCwgNjQzOCwgWG1sU2NoZW1hT2lkSW5kZXhJ ZCwgcGdfeG1sc2NoZW1hLCBidHJlZShvaWQgb2lkX29wcykpOworCitNQUtFX1NZU0NBQ0hFKFhN TFNDSEVNQU5BTUVOU1AsIHBnX3htbHNjaGVtYV9uYW1lX25zcF9pbmRleCwgOCk7CitNQUtFX1NZ U0NBQ0hFKFhNTFNDSEVNQU9JRCwgcGdfeG1sc2NoZW1hX29pZF9pbmRleCwgOCk7CisKK2V4dGVy biBPaWQJWG1sU2NoZW1hQ3JlYXRlKGNvbnN0IGNoYXIgKnNjaGVtYW5hbWUsCisJCQkJCQkJT2lk IHNjaGVtYW5hbWVzcGFjZSwKKwkJCQkJCQlPaWQgc2NoZW1hb3duZXIsCisJCQkJCQkJeG1sdHlw ZSAqc2NoZW1hZGF0YSwKKwkJCQkJCQlib29sIGlmX25vdF9leGlzdHMsCisJCQkJCQkJYm9vbCBx dWlldCk7CisKKyNlbmRpZgkJCQkJCQkvKiBQR19YTUxTQ0hFTUFfSCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY29tbWFuZHMveG1sc2NoZW1hY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMveG1sc2NoZW1hY21kcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li4zMDJjYjc5MWYzMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ht bHNjaGVtYWNtZHMuaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgWE1MU0NIRU1BQ01EU19ICisj ZGVmaW5lIFhNTFNDSEVNQUNNRFNfSAorCisjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNz LmgiCisjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKKworZXh0ZXJuIE9iamVjdEFkZHJl c3MgRGVmaW5lWG1sU2NoZW1hKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqbmFtZXMsIExpc3Qg KnBhcmFtZXRlcnMsIGJvb2wgaWZfbm90X2V4aXN0cyk7CisKKyNlbmRpZgkJCQkJCQkvKiBYTUxT Q0hFTUFDTURTX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCAwYWVjNDliZGQyMi4uYjlm MDQ3NjU5NmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTI0MDMsNiArMjQwMyw3IEBAIHR5 cGVkZWYgZW51bSBPYmplY3RUeXBlCiAJT0JKRUNUX1RZUEUsCiAJT0JKRUNUX1VTRVJfTUFQUElO RywKIAlPQkpFQ1RfVklFVywKKwlPQkpFQ1RfWE1MU0NIRU1BLAogfSBPYmplY3RUeXBlOwogCiAv KiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIv a3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggZjc3NTNjNWM4YTgu LmEwMThjMmI5ZTA4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysr IGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC01MjAsNiArNTIwLDcgQEAgUEdfS0VZ V09SRCgieG1sbmFtZXNwYWNlcyIsIFhNTE5BTUVTUEFDRVMsIENPTF9OQU1FX0tFWVdPUkQsIEJB UkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ4bWxwYXJzZSIsIFhNTFBBUlNFLCBDT0xfTkFNRV9LRVlX T1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgieG1scGkiLCBYTUxQSSwgQ09MX05BTUVfS0VZ V09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInhtbHJvb3QiLCBYTUxST09ULCBDT0xfTkFN RV9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgieG1sc2NoZW1hIiwgWE1MU0NIRU1B LCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ4bWxzZXJpYWxp emUiLCBYTUxTRVJJQUxJWkUsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlX T1JEKCJ4bWx0YWJsZSIsIFhNTFRBQkxFLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQog UEdfS0VZV09SRCgieWVhciIsIFlFQVJfUCwgVU5SRVNFUlZFRF9LRVlXT1JELCBBU19MQUJFTCkK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oIGIvc3JjL2luY2x1ZGUv dGNvcC9jbWR0YWdsaXN0LmgKaW5kZXggMTI5MGM5YmFiNjguLjFjZDM1NDUyYWNkIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS90Y29w L2NtZHRhZ2xpc3QuaApAQCAtMzEsNiArMzEsNyBAQCBQR19DTURUQUcoQ01EVEFHX0FMVEVSX0NB U1QsICJBTFRFUiBDQVNUIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19B TFRFUl9DT0xMQVRJT04sICJBTFRFUiBDT0xMQVRJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQ R19DTURUQUcoQ01EVEFHX0FMVEVSX0NPTlNUUkFJTlQsICJBTFRFUiBDT05TVFJBSU5UIiwgdHJ1 ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19BTFRFUl9DT05WRVJTSU9OLCAiQUxU RVIgQ09OVkVSU0lPTiIsIHRydWUsIGZhbHNlLCBmYWxzZSkKK1BHX0NNRFRBRyhDTURUQUdfQUxU RVJfWE1MU0NIRU1BLCAiQUxURVIgWE1MU0NIRU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdf Q01EVEFHKENNRFRBR19BTFRFUl9EQVRBQkFTRSwgIkFMVEVSIERBVEFCQVNFIiwgZmFsc2UsIGZh bHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQUxURVJfREVGQVVMVF9QUklWSUxFR0VTLCAi QUxURVIgREVGQVVMVCBQUklWSUxFR0VTIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFH KENNRFRBR19BTFRFUl9ET01BSU4sICJBTFRFUiBET01BSU4iLCB0cnVlLCBmYWxzZSwgZmFsc2Up CkBAIC04OCw2ICs4OSw3IEBAIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX0NBU1QsICJDUkVBVEUg Q0FTVCIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX0NPTExB VElPTiwgIkNSRUFURSBDT0xMQVRJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUco Q01EVEFHX0NSRUFURV9DT05TVFJBSU5ULCAiQ1JFQVRFIENPTlNUUkFJTlQiLCB0cnVlLCBmYWxz ZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9DT05WRVJTSU9OLCAiQ1JFQVRFIENP TlZFUlNJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCitQR19DTURUQUcoQ01EVEFHX0NSRUFURV9Y TUxTQ0hFTUEsICJDUkVBVEUgWE1MU0NIRU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01E VEFHKENNRFRBR19DUkVBVEVfREFUQUJBU0UsICJDUkVBVEUgREFUQUJBU0UiLCBmYWxzZSwgZmFs c2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfRE9NQUlOLCAiQ1JFQVRFIERPTUFJ TiIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX0VWRU5UX1RS SUdHRVIsICJDUkVBVEUgRVZFTlQgVFJJR0dFUiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCkBAIC0x NDAsNiArMTQyLDcgQEAgUEdfQ01EVEFHKENNRFRBR19EUk9QX0NBU1QsICJEUk9QIENBU1QiLCB0 cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1BfQ09MTEFUSU9OLCAiRFJP UCBDT0xMQVRJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1Bf Q09OU1RSQUlOVCwgIkRST1AgQ09OU1RSQUlOVCIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfRFJPUF9DT05WRVJTSU9OLCAiRFJPUCBDT05WRVJTSU9OIiwgdHJ1ZSwgZmFs c2UsIGZhbHNlKQorUEdfQ01EVEFHKENNRFRBR19EUk9QX1hNTFNDSEVNQSwgIkRST1AgWE1MU0NI RU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9QX0RBVEFCQVNF LCAiRFJPUCBEQVRBQkFTRSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFH X0RST1BfRE9NQUlOLCAiRFJPUCBET01BSU4iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURU QUcoQ01EVEFHX0RST1BfRVZFTlRfVFJJR0dFUiwgIkRST1AgRVZFTlQgVFJJR0dFUiIsIGZhbHNl LCBmYWxzZSwgZmFsc2UpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9hY2wuaCBiL3Ny Yy9pbmNsdWRlL3V0aWxzL2FjbC5oCmluZGV4IGVjMDFmZDU4MWNmLi5lMjQ0MjdjOTY2MyAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvYWNsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMv YWNsLmgKQEAgLTE2OSw2ICsxNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBBcnJheVR5cGUgQWNsOwog I2RlZmluZSBBQ0xfQUxMX1JJR0hUU19TQ0hFTUEJCShBQ0xfVVNBR0V8QUNMX0NSRUFURSkKICNk ZWZpbmUgQUNMX0FMTF9SSUdIVFNfVEFCTEVTUEFDRQkoQUNMX0NSRUFURSkKICNkZWZpbmUgQUNM X0FMTF9SSUdIVFNfVFlQRQkJCShBQ0xfVVNBR0UpCisjZGVmaW5lIEFDTF9BTExfUklHSFRTX1hN TFNDSEVNQQkoQUNMX1VTQUdFKQogCiAvKiBvcGVyYXRpb24gY29kZXMgZm9yIHBnXypfYWNsbWFz ayAqLwogdHlwZWRlZiBlbnVtCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L29pZGpvaW5zLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb2lkam9pbnMub3V0Cmlu ZGV4IDI1YWFhZThkMDVhLi4yNDZkZWFiZDE3YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9vaWRqb2lucy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9v aWRqb2lucy5vdXQKQEAgLTIzOSw2ICsyMzksOCBAQCBOT1RJQ0U6ICBjaGVja2luZyBwZ19zZWNs YWJlbCB7Y2xhc3NvaWR9ID0+IHBnX2NsYXNzIHtvaWR9CiBOT1RJQ0U6ICBjaGVja2luZyBwZ19z aHNlY2xhYmVsIHtjbGFzc29pZH0gPT4gcGdfY2xhc3Mge29pZH0KIE5PVElDRTogIGNoZWNraW5n IHBnX2NvbGxhdGlvbiB7Y29sbG5hbWVzcGFjZX0gPT4gcGdfbmFtZXNwYWNlIHtvaWR9CiBOT1RJ Q0U6ICBjaGVja2luZyBwZ19jb2xsYXRpb24ge2NvbGxvd25lcn0gPT4gcGdfYXV0aGlkIHtvaWR9 CitOT1RJQ0U6ICBjaGVja2luZyBwZ194bWxzY2hlbWEge3NjaGVtYW5hbWVzcGFjZX0gPT4gcGdf bmFtZXNwYWNlIHtvaWR9CitOT1RJQ0U6ICBjaGVja2luZyBwZ194bWxzY2hlbWEge3NjaGVtYW93 bmVyfSA9PiBwZ19hdXRoaWQge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3BhcnRpdGlvbmVk X3RhYmxlIHtwYXJ0cmVsaWR9ID0+IHBnX2NsYXNzIHtvaWR9CiBOT1RJQ0U6ICBjaGVja2luZyBw Z19wYXJ0aXRpb25lZF90YWJsZSB7cGFydGRlZmlkfSA9PiBwZ19jbGFzcyB7b2lkfQogTk9USUNF OiAgY2hlY2tpbmcgcGdfcGFydGl0aW9uZWRfdGFibGUge3BhcnRjbGFzc30gPT4gcGdfb3BjbGFz cyB7b2lkfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0CmluZGV4IDEwM2EyMmEzYjFkLi40ZTI0 NjU3ZDJkMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sLm91dApAQCAtMTg4MSwzICsxODgxLDY3 IEBAIFNFTEVDVCB4bWx0ZXh0KCd4J3x8ICc8UD43MzwvUD4nOjp4bWwgfHwgLjQyIHx8IHRydWUg fHwgJ2onOjpjaGFyKTsKICB4Jmx0O1AmZ3Q7NzMmbHQ7L1AmZ3Q7MC40MnRydWVqCiAoMSByb3cp CiAKK0NSRUFURSBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4w Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt YSI+CisgIDx4czplbGVtZW50IG5hbWU9InBlcnNvbiI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgor ICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBl PSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czpp bnRlZ2VyIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+Cisg IDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1BIElGIE5PVCBF WElTVFMgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1h IHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVt ZW50IG5hbWU9Im90aGVyIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CitOT1RJ Q0U6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBhbHJlYWR5IGV4aXN0cywgc2tpcHBpbmcK K0NSRUFURSBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+ Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+ CisgIDx4czplbGVtZW50IG5hbWU9ImR1cGxpY2F0ZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hz OnNjaGVtYT4nOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBhbHJlYWR5IGV4 aXN0cworQ1JFQVRFIFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9uczsKK0NSRUFURSBYTUxTQ0hFTUEg dGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi PgorICA8eHM6ZWxlbWVudCBuYW1lPSJwcm9kdWN0Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+Cisg ICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9 InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJwcmljZSIgdHlwZT0ieHM6 ZGVjaW1hbCIvPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFt ZT0iaWQiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorICAgIDwveHM6Y29tcGxl eFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1B IGJhZF9zY2hlbWEgQVMgJzx0aGlzLWlzLW5vdC12YWxpZC14c2Q+JzsKK0VSUk9SOiAgaW52YWxp ZCBYTUwgc2NoZW1hIGRlZmluaXRpb24KK0RFVEFJTDogIGxpbmUgMTogUHJlbWF0dXJlIGVuZCBv ZiBkYXRhIGluIHRhZyB0aGlzLWlzLW5vdC12YWxpZC14c2QgbGluZSAxCis8dGhpcy1pcy1ub3Qt dmFsaWQteHNkPgorICAgICAgICAgICAgICAgICAgICAgICBeCitDUkVBVEUgWE1MU0NIRU1BIGJh ZF94bWxfc2NoZW1hIEFTICdub3QgZXZlbiB4bWwnOworRVJST1I6ICBpbnZhbGlkIFhNTCBzY2hl bWEgZGVmaW5pdGlvbgorREVUQUlMOiAgbGluZSAxOiBTdGFydCB0YWcgZXhwZWN0ZWQsICc8JyBu b3QgZm91bmQKK25vdCBldmVuIHhtbAorXgorQ1JFQVRFIFhNTFNDSEVNQSBib29rX3NjaGVtYSBB UyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3 LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9ImJvb2siPgorICAg IDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0idGl0bGUiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJhdXRob3IiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHM6Y29tcGxl eFR5cGU+CisgICAgICAgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4czplbGVt ZW50IG5hbWU9ImZpcnN0bmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgICAgICAgIDx4 czplbGVtZW50IG5hbWU9Imxhc3RuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgICAg IDwveHM6c2VxdWVuY2U+CisgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94 czplbGVtZW50PgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ5ZWFyIiB0eXBlPSJ4czppbnRl Z2VyIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJp c2JuIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhU eXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3htbF8xLm91dAppbmRleCA3M2M0MTExMThhMy4uYWRlZDU3Yzc4YjIgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQveG1sXzEub3V0CkBAIC0xNDk2LDMgKzE0OTYsNjQgQEAgRVJST1I6ICB1bnN1cHBv cnRlZCBYTUwgZmVhdHVyZQogTElORSAxOiBTRUxFQ1QgeG1sdGV4dCgneCd8fCAnPFA+NzM8L1A+ Jzo6eG1sIHx8IC40MiB8fCB0cnVlIHx8ICdqJzouLi4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogREVUQUlMOiAgVGhpcyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRoZSBzZXJ2ZXIg dG8gYmUgYnVpbHQgd2l0aCBsaWJ4bWwgc3VwcG9ydC4KK0NSRUFURSBYTUxTQ0hFTUEgcGVyc29u X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJo dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InBl cnNvbiI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hzOnNlcXVl bmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1h Pic7CitFUlJPUjogIHhtbHNjaGVtYSBzdXBwb3J0IHJlcXVpcmVzIGxpYnhtbAorQ1JFQVRFIFhN TFNDSEVNQSBJRiBOT1QgRVhJU1RTIHBlcnNvbl9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEu MCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJvdGhlciIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hz OnNjaGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK0NS RUFURSBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8 eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+Cisg IDx4czplbGVtZW50IG5hbWU9ImR1cGxpY2F0ZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNj aGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK0NSRUFU RSBTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnM7CitDUkVBVEUgWE1MU0NIRU1BIHRlc3RfeG1sc2No ZW1hX25zLnByb2R1Y3Rfc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hl bWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVs ZW1lbnQgbmFtZT0icHJvZHVjdCI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNl cXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmci Lz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0icHJpY2UiIHR5cGU9InhzOmRlY2ltYWwiLz4K KyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBl PSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8 L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCBy ZXF1aXJlcyBsaWJ4bWwKK0NSRUFURSBYTUxTQ0hFTUEgYmFkX3NjaGVtYSBBUyAnPHRoaXMtaXMt bm90LXZhbGlkLXhzZD4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4 bWwKK0NSRUFURSBYTUxTQ0hFTUEgYmFkX3htbF9zY2hlbWEgQVMgJ25vdCBldmVuIHhtbCc7CitF UlJPUjogIHhtbHNjaGVtYSBzdXBwb3J0IHJlcXVpcmVzIGxpYnhtbAorQ1JFQVRFIFhNTFNDSEVN QSBib29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5z OnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5h bWU9ImJvb2siPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAg ICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAg ICAgICAgIDx4czplbGVtZW50IG5hbWU9ImZpcnN0bmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cisg ICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Imxhc3RuYW1lIiB0eXBlPSJ4czpzdHJpbmci Lz4KKyAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICAgICAgPC94czpjb21wbGV4VHlw ZT4KKyAgICAgICAgPC94czplbGVtZW50PgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ5ZWFy IiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPHhzOmF0 dHJpYnV0ZSBuYW1lPSJpc2JuIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAg ICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOworRVJS T1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC94bWxfMi5vdXQKaW5kZXggYTg1ZDk1MzU4ZDkuLjRlMjQ2NTdkMmQzIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbF8yLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3htbF8yLm91dApAQCAtOSw2ICs5LDggQEAgRVJST1I6ICBpbnZhbGlkIFhNTCBj b250ZW50CiBMSU5FIDE6IElOU0VSVCBJTlRPIHhtbHRlc3QgVkFMVUVTICgzLCAnPHdyb25nJyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBERVRBSUw6ICBsaW5l IDE6IENvdWxkbid0IGZpbmQgZW5kIG9mIFN0YXJ0IFRhZyB3cm9uZyBsaW5lIDEKKzx3cm9uZwor ICAgICAgXgogU0VMRUNUICogRlJPTSB4bWx0ZXN0OwogIGlkIHwgICAgICAgIGRhdGEgICAgICAg IAogLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtOTIsNiArOTQsOCBAQCBFUlJPUjogIGlu dmFsaWQgWE1MIGNvbnRlbnQKIExJTkUgMTogU0VMRUNUIHhtbGNvbmNhdCgnYmFkJywgJzxzeW50 YXgnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogREVUQUlMOiAgbGluZSAx OiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgc3ludGF4IGxpbmUgMQorPHN5bnRheAor ICAgICAgIF4KIFNFTEVDVCB4bWxjb25jYXQoJzxmb28vPicsIE5VTEwsICc8P3htbCB2ZXJzaW9u PSIxLjEiIHN0YW5kYWxvbmU9Im5vIj8+PGJhci8+Jyk7CiAgIHhtbGNvbmNhdCAgIAogLS0tLS0t LS0tLS0tLS0KQEAgLTI3Myw2ICsyNzcsOCBAQCBERVRBSUw6ICBsaW5lIDE6IEVudGl0eSAnaWRv bnRleGlzdCcgbm90IGRlZmluZWQKIDx0d29lcnJvcnM+Jmlkb250ZXhpc3Q7PC91bmJhbGFuY2Vk PgogICAgICAgICAgICAgICAgICAgICAgICBeCiBsaW5lIDE6IE9wZW5pbmcgYW5kIGVuZGluZyB0 YWcgbWlzbWF0Y2g6IHR3b2Vycm9ycyBsaW5lIDEgYW5kIHVuYmFsYW5jZWQKKzx0d29lcnJvcnM+ Jmlkb250ZXhpc3Q7PC91bmJhbGFuY2VkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogU0VMRUNUIHhtbHBhcnNlKGNvbnRlbnQgJzxub3N1Y2hwcmVmaXg6dGFnLz4nKTsK ICAgICAgIHhtbHBhcnNlICAgICAgIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yODIsNiAr Mjg4LDggQEAgU0VMRUNUIHhtbHBhcnNlKGNvbnRlbnQgJzxub3N1Y2hwcmVmaXg6dGFnLz4nKTsK IFNFTEVDVCB4bWxwYXJzZShkb2N1bWVudCAnICAgJyk7CiBFUlJPUjogIGludmFsaWQgWE1MIGRv Y3VtZW50CiBERVRBSUw6ICBsaW5lIDE6IFN0YXJ0IHRhZyBleHBlY3RlZCwgJzwnIG5vdCBmb3Vu ZAorICAgCisgICBeCiBTRUxFQ1QgeG1scGFyc2UoZG9jdW1lbnQgJ2FiYycpOwogRVJST1I6ICBp bnZhbGlkIFhNTCBkb2N1bWVudAogREVUQUlMOiAgbGluZSAxOiBTdGFydCB0YWcgZXhwZWN0ZWQs ICc8JyBub3QgZm91bmQKQEAgLTI5OSwxMiArMzA3LDE2IEBAIERFVEFJTDogIGxpbmUgMTogeG1s UGFyc2VFbnRpdHlSZWY6IG5vIG5hbWUKIDxpbnZhbGlkZW50aXR5PiY8L2FiYz4KICAgICAgICAg ICAgICAgICBeCiBsaW5lIDE6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IGludmFs aWRlbnRpdHkgbGluZSAxIGFuZCBhYmMKKzxpbnZhbGlkZW50aXR5PiY8L2FiYz4KKyAgICAgICAg ICAgICAgICAgICAgICBeCiBTRUxFQ1QgeG1scGFyc2UoZG9jdW1lbnQgJzx1bmRlZmluZWRlbnRp dHk+Jmlkb250ZXhpc3Q7PC9hYmM+Jyk7CiBFUlJPUjogIGludmFsaWQgWE1MIGRvY3VtZW50CiBE RVRBSUw6ICBsaW5lIDE6IEVudGl0eSAnaWRvbnRleGlzdCcgbm90IGRlZmluZWQKIDx1bmRlZmlu ZWRlbnRpdHk+Jmlkb250ZXhpc3Q7PC9hYmM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KIGxpbmUgMTogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdW5kZWZpbmVkZW50 aXR5IGxpbmUgMSBhbmQgYWJjCis8dW5kZWZpbmVkZW50aXR5PiZpZG9udGV4aXN0OzwvYWJjPgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBTRUxFQ1QgeG1scGFyc2UoZG9j dW1lbnQgJzxpbnZhbGlkbnMgeG1sbnM9JycmbHQ7JycvPicpOwogICAgICAgICAgeG1scGFyc2Ug ICAgICAgICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMyMyw2ICszMzUsOCBA QCBERVRBSUw6ICBsaW5lIDE6IEVudGl0eSAnaWRvbnRleGlzdCcgbm90IGRlZmluZWQKIDx0d29l cnJvcnM+Jmlkb250ZXhpc3Q7PC91bmJhbGFuY2VkPgogICAgICAgICAgICAgICAgICAgICAgICBe CiBsaW5lIDE6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHR3b2Vycm9ycyBsaW5l IDEgYW5kIHVuYmFsYW5jZWQKKzx0d29lcnJvcnM+Jmlkb250ZXhpc3Q7PC91bmJhbGFuY2VkPgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogU0VMRUNUIHhtbHBhcnNlKGRv Y3VtZW50ICc8bm9zdWNocHJlZml4OnRhZy8+Jyk7CiAgICAgICB4bWxwYXJzZSAgICAgICAKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTg2NywzICsxODgxLDY3IEBAIFNFTEVDVCB4bWx0ZXh0 KCd4J3x8ICc8UD43MzwvUD4nOjp4bWwgfHwgLjQyIHx8IHRydWUgfHwgJ2onOjpjaGFyKTsKICB4 Jmx0O1AmZ3Q7NzMmbHQ7L1AmZ3Q7MC40MnRydWVqCiAoMSByb3cpCiAKK0NSRUFURSBYTUxTQ0hF TUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHht bG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50 IG5hbWU9InBlcnNvbiI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNl PgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8 L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwv eHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1BIElGIE5PVCBFWElTVFMgcGVyc29uX3NjaGVt YSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8v d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9Im90aGVyIiB0 eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CitOT1RJQ0U6ICBYTUwgc2NoZW1hICJw ZXJzb25fc2NoZW1hIiBhbHJlYWR5IGV4aXN0cywgc2tpcHBpbmcKK0NSRUFURSBYTUxTQ0hFTUEg cGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5z OnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5h bWU9ImR1cGxpY2F0ZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNjaGVtYT4nOworRVJST1I6 ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBhbHJlYWR5IGV4aXN0cworQ1JFQVRFIFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9uczsKK0NSRUFURSBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMu cHJvZHVjdF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxu czp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBu YW1lPSJwcm9kdWN0Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+ CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgorICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJwcmljZSIgdHlwZT0ieHM6ZGVjaW1hbCIvPgorICAgICAg PC94czpzZXF1ZW5jZT4KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOnN0 cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxl bWVudD4KKzwveHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1BIGJhZF9zY2hlbWEgQVMgJzx0 aGlzLWlzLW5vdC12YWxpZC14c2Q+JzsKK0VSUk9SOiAgaW52YWxpZCBYTUwgc2NoZW1hIGRlZmlu aXRpb24KK0RFVEFJTDogIGxpbmUgMTogUHJlbWF0dXJlIGVuZCBvZiBkYXRhIGluIHRhZyB0aGlz LWlzLW5vdC12YWxpZC14c2QgbGluZSAxCis8dGhpcy1pcy1ub3QtdmFsaWQteHNkPgorICAgICAg ICAgICAgICAgICAgICAgICBeCitDUkVBVEUgWE1MU0NIRU1BIGJhZF94bWxfc2NoZW1hIEFTICdu b3QgZXZlbiB4bWwnOworRVJST1I6ICBpbnZhbGlkIFhNTCBzY2hlbWEgZGVmaW5pdGlvbgorREVU QUlMOiAgbGluZSAxOiBTdGFydCB0YWcgZXhwZWN0ZWQsICc8JyBub3QgZm91bmQKK25vdCBldmVu IHhtbAorXgorQ1JFQVRFIFhNTFNDSEVNQSBib29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0i MS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNj aGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9ImJvb2siPgorICAgIDx4czpjb21wbGV4VHlwZT4K KyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5 cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiIG1heE9j Y3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAg ICA8eHM6c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImZpcnN0bmFt ZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Imxh c3RuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+Cisg ICAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94czplbGVtZW50PgorICAgICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJ5ZWFyIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hz OnNlcXVlbmNlPgorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpc2JuIiB0eXBlPSJ4czpzdHJp bmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1l bnQ+Cis8L3hzOnNjaGVtYT4nOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwveG1s LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3htbC5zcWwKaW5kZXggMGVhNGY1MDg4MzcuLjY2 Nzk3MzQyMGZhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3htbC5zcWwKQEAgLTY3OSwzICs2NzksNjYgQEAgU0VMRUNU IHhtbHRleHQoJyAgJyk7CiBTRUxFQ1QgeG1sdGV4dCgnZm9vIGAkXy0rPz0qXiUhfC9cKClbXXt9 Jyk7CiBTRUxFQ1QgeG1sdGV4dCgnZm9vICYgPCJiYXIiPicpOwogU0VMRUNUIHhtbHRleHQoJ3gn fHwgJzxQPjczPC9QPic6OnhtbCB8fCAuNDIgfHwgdHJ1ZSB8fCAnaic6OmNoYXIpOworCitDUkVB VEUgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhz OnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8 eHM6ZWxlbWVudCBuYW1lPSJwZXJzb24iPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4 czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHM6c3Ry aW5nIi8+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImFnZSIgdHlwZT0ieHM6aW50ZWdlciIv PgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVs ZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOworCisKK0NSRUFURSBYTUxTQ0hFTUEgSUYgTk9UIEVYSVNU UyBwZXJzb25fc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1s bnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQg bmFtZT0ib3RoZXIiIHR5cGU9InhzOnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKKworQ1JFQVRF IFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpz Y2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhz OmVsZW1lbnQgbmFtZT0iZHVwbGljYXRlIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1h Pic7CisKK0NSRUFURSBTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnM7CisKK0NSRUFURSBYTUxTQ0hF TUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEu MCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJwcm9kdWN0Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+ CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5 cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJwcmljZSIgdHlwZT0i eHM6ZGVjaW1hbCIvPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgIDx4czphdHRyaWJ1dGUg bmFtZT0iaWQiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorICAgIDwveHM6Y29t cGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CisKK0NSRUFURSBYTUxT Q0hFTUEgYmFkX3NjaGVtYSBBUyAnPHRoaXMtaXMtbm90LXZhbGlkLXhzZD4nOworCitDUkVBVEUg WE1MU0NIRU1BIGJhZF94bWxfc2NoZW1hIEFTICdub3QgZXZlbiB4bWwnOworCitDUkVBVEUgWE1M U0NIRU1BIGJvb2tfc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEg eG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1l bnQgbmFtZT0iYm9vayI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNl PgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cisg ICAgICAgIDx4czplbGVtZW50IG5hbWU9ImF1dGhvciIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgor ICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAg ICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iZmlyc3RuYW1lIiB0eXBlPSJ4czpzdHJpbmci Lz4KKyAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibGFzdG5hbWUiIHR5cGU9InhzOnN0 cmluZyIvPgorICAgICAgICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgICAgICA8L3hzOmNvbXBs ZXhUeXBlPgorICAgICAgICA8L3hzOmVsZW1lbnQ+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9 InllYXIiIHR5cGU9InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8 eHM6YXR0cmlidXRlIG5hbWU9ImlzYm4iIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIv PgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7 Ci0tIAoyLjUyLjAKCg== --000000000000430bbd064d087ea0--