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.94.2) (envelope-from ) id 1smJb4-004odI-6I for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Sep 2024 21:00:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1smJb2-0005pY-Gj for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Sep 2024 21:00:52 +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.94.2) (envelope-from ) id 1smJb1-0005pP-Oh for pgsql-hackers@lists.postgresql.org; Thu, 05 Sep 2024 21:00:52 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1smJav-000LGd-RA for pgsql-hackers@postgresql.org; Thu, 05 Sep 2024 21:00:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1725570044; bh=k5yVHIKXRMxCAESg7Hso9AzQdoXPZpIQ7ZgbsP5Mmd4=; h=Message-ID:Date:User-Agent:From:Subject:To:Cc:References: In-Reply-To:From; b=wWolReeilKRw2g3zHn59COPMqFUtoaXv5xw49cU4E1ldVFEUEIYZjSub5CoNC7kbZ ae+U6bjZrVLWtbD5VWiRBPVgnAvxfwrh1ag4JRansv0mwZRpMGJ/2wfoB1vaSOa7yT hrGrJ/0VHvZnfhFutUO6AfvVtB0GJ3mlFEbwxuUbNoDg1OvAFI5ZBn9ojRiAlU3F9/ 4r2japFAewPMK8Eiz5c2KbNOC+t8K39Kyy39gMA5RsQuV0LWDCvEle1IH31W1qWN77 1zyOE1y4F475vq//yy/ojVqxWq8loAJv5kkuD7tfWkWxt/Vez5bMZr1nNP7TJCm39D 6K0tFf/Evxh+A== Received: from [172.20.10.4] (unknown [89.113.157.200]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 0147A601EE; Fri, 6 Sep 2024 00:00:43 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------vJek1neamzIBrBlq5uhLRgJx" Message-ID: <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> Date: Fri, 6 Sep 2024 00:00:27 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Alena Rybakina Subject: Re: Vacuum statistics To: jian he Cc: Alexander Korotkov , Ilia Evdokimov , Andrei Zubkov , Alena Rybakina , pgsql-hackers , a.lepikhov@postgrespro.ru References: <53c47c2d-72a5-44f2-900c-9973b2af1808@tantorlabs.com> <4a902cea-54fb-41b5-b208-b84731a5f577@postgrespro.ru> <092adec6-4eae-4bd4-bd0d-473a9df1282b@tantorlabs.com> <3deae1bd-ad84-4459-a26e-04c9136b84e9@postgrespro.ru> Content-Language: en-US In-Reply-To: X-KSMG-AntiPhishing: NotDetected, bases: 2024/09/05 16:17:00 X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/09/05 17:56:00 #26527372 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: multipart/alternative; boundary="------------ujUbswnsBCuH3J0E50O0830n" --------------ujUbswnsBCuH3J0E50O0830n Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! Thank you for your review! On 05.09.2024 15:47, jian he wrote: > On Thu, Sep 5, 2024 at 1:23 AM Alena Rybakina wrote: >> Hi, all! >> >> I have attached the new version of the code and the diff files >> (minor-vacuum.no-cbot). >> > hi. > > still have white space issue when using "git apply", > you may need to use "git diff --check" to find out where. > > > /* ---------- > diff --git a/src/test/regress/expected/opr_sanity.out > b/src/test/regress/expected/opr_sanity.out > index 5d72b970b03..7026de157e4 100644 > --- a/src/test/regress/expected/opr_sanity.out > +++ b/src/test/regress/expected/opr_sanity.out > @@ -32,11 +32,12 @@ WHERE p1.prolang = 0 OR p1.prorettype = 0 OR > prokind NOT IN ('f', 'a', 'w', 'p') OR > provolatile NOT IN ('i', 's', 'v') OR > proparallel NOT IN ('s', 'r', 'u'); > - oid | proname > -------+------------------------ > + oid | proname > +------+------------------------- > 8001 | pg_stat_vacuum_tables > 8002 | pg_stat_vacuum_indexes > -(2 rows) > + 8003 | pg_stat_vacuum_database > +(3 rows) > > > looking at src/test/regress/sql/opr_sanity.sql: > > -- **************** pg_proc **************** > -- Look for illegal values in pg_proc fields. > > SELECT p1.oid, p1.proname > FROM pg_proc as p1 > WHERE p1.prolang = 0 OR p1.prorettype = 0 OR > p1.pronargs < 0 OR > p1.pronargdefaults < 0 OR > p1.pronargdefaults > p1.pronargs OR > array_lower(p1.proargtypes, 1) != 0 OR > array_upper(p1.proargtypes, 1) != p1.pronargs-1 OR > 0::oid = ANY (p1.proargtypes) OR > procost <= 0 OR > CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END OR > prokind NOT IN ('f', 'a', 'w', 'p') OR > provolatile NOT IN ('i', 's', 'v') OR > proparallel NOT IN ('s', 'r', 'u'); > > that means > oid | proname > ------+------------------------- > 8001 | pg_stat_vacuum_tables > 8002 | pg_stat_vacuum_indexes > 8003 | pg_stat_vacuum_database > > > These above functions, pg_proc.prorows should > 0 when > pg_proc.proretset is true. > I think that's the opr_sanity test's intention. > so you may need to change pg_proc.dat. > > BTW the doc says: > prorows float4, Estimated number of result rows (zero if not proretset) > I agree with you and have fixed it. > segmentation fault cases: > select * from pg_stat_vacuum_indexes(0); > select * from pg_stat_vacuum_tables(0); > > > + else if (type == PGSTAT_EXTVAC_DB) > + { > + PgStatShared_Database *dbentry; > + PgStat_EntryRef *entry_ref; > + Oid dbid = PG_GETARG_OID(0); > + > + if (OidIsValid(dbid)) > + { > + entry_ref = pgstat_get_entry_ref_locked(PGSTAT_KIND_DATABASE, > + dbid, InvalidOid, false); > + dbentry = (PgStatShared_Database *) entry_ref->shared_stats; > + > + if (dbentry == NULL) > + /* Table doesn't exist or isn't a heap relation */ > + return; > + > + tuplestore_put_for_database(dbid, rsinfo, dbentry); > + pgstat_unlock_entry(entry_ref); > + } > + } > didn't error out when dbid is invalid? > It is caused by the empty statistic snapshot. I have fixed that by updating the snapshot (pgstat_update_snapshot(PGSTAT_KIND_RELATION) function). I also added the test to check it. > pg_stat_vacuum_tables > pg_stat_vacuum_indexes > pg_stat_vacuum_database > these functions didn't verify the only input argument oid's kind. > for example: > > create table s(a int primary key) with (autovacuum_enabled = off); > create view sv as select * from s; > vacuum s; > select * from pg_stat_vacuum_tables('sv'::regclass::oid); > select * from pg_stat_vacuum_indexes('sv'::regclass::oid); > select * from pg_stat_vacuum_database('sv'::regclass::oid); > > above all these 3 examples should error out? because sv is view. I don't think so. I noticed that if we try to find the object from the system table with the different type the Postgres returns empty rows. I think we should do the same. > in src/backend/catalog/system_views.sql > for view creation of pg_stat_vacuum_indexes > you can change to > > WHERE > db.datname = current_database() AND > rel.oid = stats.relid AND > ns.oid = rel.relnamespace > AND rel.relkind = 'i': > > > > pg_stat_vacuum_tables in in src/backend/catalog/system_views.sql > you can change to > > WHERE > db.datname = current_database() AND > rel.oid = stats.relid AND > ns.oid = rel.relnamespace > AND rel.relkind = 'r': > I agree with your proposal and fixed it like that. --------------ujUbswnsBCuH3J0E50O0830n Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi! Thank you for your review!

On 05.09.2024 15:47, jian he wrote:
On Thu, Sep 5, 2024 at 1:23 AM Alena Rybakina <a.rybakina@postgrespro.ru> wrote:
Hi, all!

I have attached the new version of the code and the diff files
(minor-vacuum.no-cbot).

hi.

still have white space issue when using "git apply",
you may need to use "git diff --check" to find out where.


 /* ----------
diff --git a/src/test/regress/expected/opr_sanity.out
b/src/test/regress/expected/opr_sanity.out
index 5d72b970b03..7026de157e4 100644
--- a/src/test/regress/expected/opr_sanity.out
+++ b/src/test/regress/expected/opr_sanity.out
@@ -32,11 +32,12 @@ WHERE p1.prolang = 0 OR p1.prorettype = 0 OR
        prokind NOT IN ('f', 'a', 'w', 'p') OR
        provolatile NOT IN ('i', 's', 'v') OR
        proparallel NOT IN ('s', 'r', 'u');
- oid  |        proname
-------+------------------------
+ oid  |         proname
+------+-------------------------
  8001 | pg_stat_vacuum_tables
  8002 | pg_stat_vacuum_indexes
-(2 rows)
+ 8003 | pg_stat_vacuum_database
+(3 rows)


looking at src/test/regress/sql/opr_sanity.sql:

-- **************** pg_proc ****************
-- Look for illegal values in pg_proc fields.

SELECT p1.oid, p1.proname
FROM pg_proc as p1
WHERE p1.prolang = 0 OR p1.prorettype = 0 OR
       p1.pronargs < 0 OR
       p1.pronargdefaults < 0 OR
       p1.pronargdefaults > p1.pronargs OR
       array_lower(p1.proargtypes, 1) != 0 OR
       array_upper(p1.proargtypes, 1) != p1.pronargs-1 OR
       0::oid = ANY (p1.proargtypes) OR
       procost <= 0 OR
       CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END OR
       prokind NOT IN ('f', 'a', 'w', 'p') OR
       provolatile NOT IN ('i', 's', 'v') OR
       proparallel NOT IN ('s', 'r', 'u');

that means
 oid  |         proname
------+-------------------------
 8001 | pg_stat_vacuum_tables
 8002 | pg_stat_vacuum_indexes
 8003 | pg_stat_vacuum_database


These above functions, pg_proc.prorows should > 0 when
pg_proc.proretset is true.
I think that's the opr_sanity test's intention.
so you may need to change pg_proc.dat.

BTW the doc says:
prorows float4, Estimated number of result rows (zero if not proretset)

I agree with you and have fixed it.
segmentation fault cases:
select * from pg_stat_vacuum_indexes(0);
select * from pg_stat_vacuum_tables(0);


+ else if (type == PGSTAT_EXTVAC_DB)
+ {
+ PgStatShared_Database   *dbentry;
+ PgStat_EntryRef   *entry_ref;
+ Oid dbid = PG_GETARG_OID(0);
+
+ if (OidIsValid(dbid))
+ {
+ entry_ref = pgstat_get_entry_ref_locked(PGSTAT_KIND_DATABASE,
+ dbid, InvalidOid, false);
+ dbentry = (PgStatShared_Database *) entry_ref->shared_stats;
+
+ if (dbentry == NULL)
+ /* Table doesn't exist or isn't a heap relation */
+ return;
+
+ tuplestore_put_for_database(dbid, rsinfo, dbentry);
+ pgstat_unlock_entry(entry_ref);
+ }
+ }
didn't error out when dbid is invalid?

It is caused by the empty statistic snapshot. I have fixed that by updating the snapshot (pgstat_update_snapshot(PGSTAT_KIND_RELATION) function).

I also added the test to check it.

pg_stat_vacuum_tables
pg_stat_vacuum_indexes
pg_stat_vacuum_database
these functions didn't verify the only input argument oid's kind.
for example:

create table s(a int primary key) with (autovacuum_enabled = off);
create view sv as select * from s;
vacuum s;
select * from pg_stat_vacuum_tables('sv'::regclass::oid);
select * from pg_stat_vacuum_indexes('sv'::regclass::oid);
select * from pg_stat_vacuum_database('sv'::regclass::oid);

above all these 3 examples should error out? because  sv is view.

I don't think so. I noticed that if we try to find the object from the system table with the different type the Postgres returns empty rows. I think we should do the same.

in src/backend/catalog/system_views.sql
for view creation of pg_stat_vacuum_indexes
you can change to

WHERE
  db.datname = current_database() AND
  rel.oid = stats.relid AND
  ns.oid = rel.relnamespace
AND rel.relkind = 'i':



pg_stat_vacuum_tables  in in src/backend/catalog/system_views.sql
you can change to

WHERE
  db.datname = current_database() AND
  rel.oid = stats.relid AND
  ns.oid = rel.relnamespace
AND rel.relkind = 'r':

I agree with your proposal and fixed it like that. --------------ujUbswnsBCuH3J0E50O0830n-- --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: text/x-patch; charset=UTF-8; name="v8-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v8-0001-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBjZjNmMGY0OWE2MjVmMTAyYzQ2ZWY2NDFmODRjY2U5ZDdhZmViNjU1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogV2VkLCA0IFNlcCAyMDI0IDE4OjUyOjQwICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgcmVsYXRpb25zLgoKVmFsdWUgb2YgdG90YWxfYmxr c19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19kaXJ0aWVkIGFyZSBudW1iZXIg b2YKaGl0dGVkLCBtaXNzZWQgYW5kIGRpcnRpZWQgcGFnZXMgaW4gc2hhcmVkIGJ1ZmZlcnMg ZHVyaW5nIGEgdmFjdXVtIG9wZXJhdGlvbgpyZXNwZWN0aXZlbHkuCgp0b3RhbF9ibGtzX2Rp cnRpZWQgbWVhbnMgJ2RpcnRpZWQgb25seSBieSB0aGlzIGFjdGlvbicuIFNvLCBpZiB0aGlz IHBhZ2Ugd2FzCmRpcnR5IGJlZm9yZSB0aGUgdmFjdXVtIG9wZXJhdGlvbiwgaXQgZG9lc24n dCBjb3VudCB0aGlzIHBhZ2UgYXMgJ2RpcnRpZWQnLgoKVGhlIHR1cGxlc19kZWxldGVkIHBh cmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBjbGVhbmVkIHVwIGJ5IHRoZSB2YWN1 dW0Kb3BlcmF0aW9uLgoKVGhlIGRlbGF5X3RpbWUgdmFsdWUgbWVhbnMgdG90YWwgdmFjdXVt IHNsZWVwIHRpbWUgaW4gdmFjdXVtIGRlbGF5IHBvaW50LgpUaGUgcGFnZXNfcmVtb3ZlZCB2 YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGJ5IHdoaWNoIHRoZSBwaHlzaWNhbCBkYXRh CnN0b3JhZ2Ugb2YgdGhlIHJlbGF0aW9uIHdhcyByZWR1Y2VkLgpUaGUgdmFsdWUgb2YgcGFn ZXNfZGVsZXRlZCBwYXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiBmcmVlZCBwYWdlcyBpbiB0 aGUgdGFibGUKKGZpbGUgc2l6ZSBtYXkgbm90IGhhdmUgY2hhbmdlZCkuCgpJbnRlcnJ1cHRp b25zIG51bWJlciBvZiAoYXV0byl2YWN1dW0gcHJvY2VzcyBkdXJpbmcgdmFjdXVtaW5nIG9m IGEgcmVsYXRpb24uCldlIHJlcG9ydCBmcm9tIHRoZSB2YWN1dW1fZXJyb3JfY2FsbGJhY2sg cm91dGluZS4gU28gd2UgY2FuIGxvZyBhbGwgRVJST1IKcmVwb3J0cy4gSW4gdGhlIGNhc2Ug b2YgYXV0b3ZhY3V1bSB3ZSBjYW4gcmVwb3J0IFNJR0lOVCBzaWduYWxzIHRvby4KSXQgbWF5 YmUgZGFuZ2Vyb3VzIHRvIG1ha2Ugc3VjaCBjb21wbGV4IHRhc2sgKHNlbmQpIGluIGFuIGVy cm9yIGNhbGxiYWNrIC0Kd2UgY2FuIGNhdGNoIEVSUk9SIGluIEVSUk9SIHByb2JsZW0uIEJ1 dCBpdCBsb29rcyBsaWtlIHdlIGhhdmUgc28gc21hbGwKY2hhbmNlIHRvIHN0dWNrIGludG8g dGhpcyBwcm9ibGVtLiBTbywgbGV0J3MgdHJ5IHRvIHVzZS4KVGhpcyBwYXJhbWV0ZXIgcmVs YXRlcyB0byBhIHByb2JsZW0sIGNvdmVyZWQgYnkgYjE5ZTQyNTAuCgpUcmFja2luZyBvZiBJ TyBkdXJpbmcgYW4gKGF1dG8pdmFjdXVtIG9wZXJhdGlvbi4KSW50cm9kdWNlZCB2YXJpYWJs ZXMgYmxrX3JlYWRfdGltZSBhbmQgYmxrX3dyaXRlX3RpbWUgdHJhY2tzIG9ubHkgYWNjZXNz IHRvCmJ1ZmZlciBwYWdlcyBhbmQgZmx1c2hpbmcgdGhlbSB0byBkaXNrLiBSZWFkaW5nIG9w ZXJhdGlvbiBpcyB0cml2aWFsLCBidXQKd3JpdGluZyBtZWFzdXJlbWVudCB0ZWNobmlxdWUg aXMgbm90IG9idmlvdXMuClNvLCBkdXJpbmcgYSB2YWN1dW0gd3JpdGluZyB0aW1lIGNhbiBi ZSB6ZXJvIGluY3JlbWVudGVkIGJlY2F1c2Ugbm8gYW55IGZsdXNoaW5nCm9wZXJhdGlvbnMg d2VyZSBwZXJmb3JtZWQuCgpTeXN0ZW0gdGltZSBhbmQgdXNlciB0aW1lIGFyZSBwYXJhbWV0 ZXJzIHRoYXQgZGVzY3JpYmVzIGhvdyBtdWNoIHRpbWUgYSB2YWN1dW0Kb3BlcmF0aW9uIGhh cyBzcGVudCBpbiBleGVjdXRpbmcgb2YgY29kZSBpbiB1c2VyIHNwYWNlIGFuZCBrZXJuZWwg c3BhY2UKYWNjb3JkaW5nbHkuIEFsc28sIGFjY3VtdWxhdGUgdG90YWwgdGltZSBvZiBhIHZh Y3V1bSB0aGF0IGlzIGEgZGlmZiBiZXR3ZWVuCnRpbWVzdGFtcHMgaW4gc3RhcnQgYW5kIGZp bmlzaCBwb2ludHMgaW4gdGhlIHZhY3V1bSBjb2RlLgpSZW1lbWJlciBhYm91dCBpZGxlIHRp bWUsIHdoZW4gdmFjdXVtIHdhaXRlZCBmb3IgSU8gYW5kIGxvY2tzLCBzbyB0b3RhbCB0aW1l Cmlzbid0IGVxdWFsIGEgc3VtIG9mIHVzZXIgYW5kIHN5c3RlbSB0aW1lLCBidXQgbm8gbGVz cy4KCnBhZ2VzX2Zyb3plbiAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMg ZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0uClRoaXMgcGFyYW1ldGVyIGlzIGluY3JlbWVu dGVkIGlmIHBhZ2UgaXMgbWFya2VkIGFzIGFsbC1mcm96ZW4uCnBhZ2VzX2FsbF92aXNpYmxl IC0gbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBhcyBhbGwtdmlzaWJsZSBpbiB2 bSBkdXJpbmcKdmFjdXVtLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPgot LS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICAgICB8IDE1 OSArKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1h cC5jICAgICAgIHwgIDEzICsrCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgICAgICAgICAgfCAgNTUgKysrKysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5j ICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1w YXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMgICAgICAgICAgIHwgIDMyICsrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDcyICsrKysrLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTU2ICsrKysrKysrKysrKysKIHNyYy9i YWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAgICAgICAgICB8ICAxMyArKwogc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgIDEwICstCiBz cmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDgxICsr KysrKy0KIHNyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCAgICAgICAgICAgICAgICAgICAgICB8 ICAgMSArCiBzcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCAgICAgICAgICAg fCAgIDIgKy0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCAg ICB8ICA1MyArKysrKwogc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSAg ICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFk LnNwZWMgICB8ICA1MSArKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5v dXQgICAgICAgICAgIHwgIDM0ICsrKwogLi4uL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5vdXQgICAgIHwgMjA2ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsKIC4uLi9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE2MCArKysrKysrKysrKysr KwogMjEgZmlsZXMgY2hhbmdlZCwgMTA5NiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCBkODJhYTNkNDg5Ni4uZDYz MzAzYzdmYjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2 Nyw2ICsxNjcsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJLyogRXJyb3IgcmVw b3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAgKnJlbG5hbWVz cGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICpp bmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87 CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTE5NCw2ICsxOTUs OCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1iZXIgbHBkZWFkX2l0 ZW1fcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBMUF9ERUFEIGl0ZW1zICovCiAJQmxvY2tOdW1i ZXIgbWlzc2VkX2RlYWRfcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBs ZXMgKi8KIAlCbG9ja051bWJlciBub25lbXB0eV9wYWdlczsgLyogYWN0dWFsbHksIGxhc3Qg bm9uZW1wdHkgcGFnZSArIDEgKi8KKwlCbG9ja051bWJlciBzZXRfZnJvemVuX3BhZ2VzOyAv KiBwYWdlcyBhcmUgbWFya2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtICovCisJ QmxvY2tOdW1iZXIgc2V0X2FsbF92aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBhcmUgbWFya2Vk IGFzIGFsbC12aXNpYmxlIGluIHZtIGR1cmluZyB2YWN1dW0gKi8KIAogCS8qIFN0YXRpc3Rp Y3Mgb3V0cHV0IGJ5IHVzLCBmb3IgdGFibGUgKi8KIAlkb3VibGUJCW5ld19yZWxfdHVwbGVz OyAvKiBuZXcgZXN0aW1hdGVkIHRvdGFsICMgb2YgdHVwbGVzICovCkBAIC0yMjYsNiArMjI5 LDIyIEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhh c2U7CiB9IExWU2F2ZWRFcnJJbmZvOwogCisvKgorICogQ3V0LW9mZiB2YWx1ZXMgb2YgcGFy YW1ldGVycyB3aGljaCBjaGFuZ2VzIGltcGxpY2l0bHkgZHVyaW5nIGEgdmFjdXVtCisgKiBw cm9jZXNzLgorICogVmFjdXVtIGNhbid0IGNvbnRyb2wgdGhlaXIgdmFsdWVzLCBzbyB3ZSBz aG91bGQgc3RvcmUgdGhlbSBiZWZvcmUgYW5kIGFmdGVyCisgKiB0aGUgcHJvY2Vzc2luZy4K KyAqLwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBU eiB0aW1lOworCVBHUlVzYWdlCXJ1OworCVdhbFVzYWdlCXdhbHVzYWdlOworCUJ1ZmZlclVz YWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Cit9IExW RXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMg Ki8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CkBA IC0yNzksNiArMjk4LDExNSBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfdmFjdXVtX2Vycm9yX2lu Zm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogc3RhdGljIHZvaWQgcmVzdG9yZV92YWN1dW1fZXJy b3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJCQkJCQkgIGNvbnN0IExWU2F2ZWRF cnJJbmZvICpzYXZlZF92YWNyZWwpOwogCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3Rh dHNfc3RhcnQoKSAtCisgKgorICogU2F2ZSBjdXQtb2ZmIHZhbHVlcyBvZiBleHRlbmRlZCB2 YWN1dW0gY291bnRlcnMgYmVmb3JlIHN0YXJ0IG9mIGEgcmVsYXRpb24KKyAqIHByb2Nlc3Np bmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitleHR2YWNfc3RhdHNfc3Rh cnQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291bnRlcnMpCit7CisJVGlt ZXN0YW1wVHoJc3RhcnR0aW1lOworCVBHUlVzYWdlCXJ1MDsKKworCW1lbXNldChjb3VudGVy cywgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlwZ19ydXNhZ2VfaW5pdCgm cnUwKTsKKwlzdGFydHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CisKKwljb3VudGVy cy0+cnUgPSBydTA7CisJY291bnRlcnMtPnRpbWUgPSBzdGFydHRpbWU7CisJY291bnRlcnMt PndhbHVzYWdlID0gcGdXYWxVc2FnZTsKKwljb3VudGVycy0+YnVmdXNhZ2UgPSBwZ0J1ZmZl clVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUgPSBWYWN1dW1EZWxheVRpbWU7 CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwljb3VudGVycy0+YmxvY2tzX2hp dCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3Vu dHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9l c24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1 cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJY291bnRlcnMtPmJsb2Nrc19mZXRj aGVkID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkOworCWNvdW50 ZXJzLT5ibG9ja3NfaGl0ID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19oaXQ7 Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19lbmQoKSAtCisgKgorICoJ Q2FsbGVkIHRvIGZpbmlzaCBhbiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljIGdhdGhlcmlu ZyBhbmQgZm9ybSBhIHJlcG9ydC4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQK K2V4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291 bnRlcnMsCisJCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlXYWxVc2FnZQl3YWx1 c2FnZTsKKwlCdWZmZXJVc2FnZQlidWZ1c2FnZTsKKwlUaW1lc3RhbXBUeiBlbmR0aW1lOwor CWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisJUEdSVXNhZ2UJcnUxOworCisJLyogQ2Fs Y3VsYXRlIGRpZmZzIG9mIGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FMIGFuZCBidWZm ZXIgdXNhZ2UuICovCisJbWVtc2V0KCZ3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7 CisJV2FsVXNhZ2VBY2N1bURpZmYoJndhbHVzYWdlLCAmcGdXYWxVc2FnZSwgJmNvdW50ZXJz LT53YWx1c2FnZSk7CisKKwltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNh Z2UpKTsKKwlCdWZmZXJVc2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1ZmZlclVzYWdl LCAmY291bnRlcnMtPmJ1ZnVzYWdlKTsKKworCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0 YW1wKCk7CisJVGltZXN0YW1wRGlmZmVyZW5jZShjb3VudGVycy0+dGltZSwgZW5kdGltZSwg JnNlY3MsICZ1c2Vjcyk7CisKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoRXh0VmFjUmVw b3J0KSk7CisKKwkvKgorCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNzIG9uIGEgdmFj dXVtIHByb2Nlc3Npbmcgb3BlcmF0aW9uLgorCSAqLworCXJlcG9ydC0+dG90YWxfYmxrc19y ZWFkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nf cmVhZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9jYWxfYmxrc19o aXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2Rp cnRpZWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRf Ymxrc19kaXJ0aWVkOworCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0gYnVmdXNhZ2Uu c2hhcmVkX2Jsa3Nfd3JpdHRlbjsKKworCXJlcG9ydC0+d2FsX3JlY29yZHMgPSB3YWx1c2Fn ZS53YWxfcmVjb3JkczsKKwlyZXBvcnQtPndhbF9mcGkgPSB3YWx1c2FnZS53YWxfZnBpOwor CXJlcG9ydC0+d2FsX2J5dGVzID0gd2FsdXNhZ2Uud2FsX2J5dGVzOworCisJcmVwb3J0LT5i bGtfcmVhZF90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxf YmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVf R0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQt PmJsa193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9j YWxfYmxrX3dyaXRlX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9U SU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOworCXJl cG9ydC0+ZGVsYXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1E ZWxheVRpbWU7CisKKwkvKgorCSAqIEdldCBkaWZmZXJlbmNlIG9mIGEgc3lzdGVtIHRpbWUg YW5kIHVzZXIgdGltZSB2YWx1ZXMgaW4gbWlsbGlzZWNvbmRzLgorCSAqIFVzZSBmbG9hdGlu ZyBwb2ludCByZXByZXNlbnRhdGlvbiB0byBzaG93IHRhaWxzIG9mIHRpbWUgZGlmZnMuCisJ ICovCisJcGdfcnVzYWdlX2luaXQoJnJ1MSk7CisJcmVwb3J0LT5zeXN0ZW1fdGltZSA9CisJ CShydTEucnUucnVfc3RpbWUudHZfc2VjIC0gY291bnRlcnMtPnJ1LnJ1LnJ1X3N0aW1lLnR2 X3NlYykgKiAxMDAwLiArCisJCShydTEucnUucnVfc3RpbWUudHZfdXNlYyAtIGNvdW50ZXJz LT5ydS5ydS5ydV9zdGltZS50dl91c2VjKSAqIDAuMDAxOworCXJlcG9ydC0+dXNlcl90aW1l ID0KKwkJKHJ1MS5ydS5ydV91dGltZS50dl9zZWMgLSBjb3VudGVycy0+cnUucnUucnVfdXRp bWUudHZfc2VjKSAqIDEwMDAuICsKKwkJKHJ1MS5ydS5ydV91dGltZS50dl91c2VjIC0gY291 bnRlcnMtPnJ1LnJ1LnJ1X3V0aW1lLnR2X3VzZWMpICogMC4wMDE7CisJcmVwb3J0LT50b3Rh bF90aW1lID0gc2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKKworCWlmICghcmVsLT5w Z3N0YXRfaW5mbyB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykKKwkJLyoKKwkJICogaWYgc29t ZXRoaW5nIGdvZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBk YXRhYmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCQly ZXR1cm47CisKKwlyZXBvcnQtPmJsa3NfZmV0Y2hlZCA9CisJCXJlbC0+cGdzdGF0X2luZm8t PmNvdW50cy5ibG9ja3NfZmV0Y2hlZCAtIGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKKwly ZXBvcnQtPmJsa3NfaGl0ID0KKwkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19o aXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKK30KIAogLyoKICAqCWhlYXBfdmFjdXVtX3Jl bCgpIC0tIHBlcmZvcm0gVkFDVVVNIGZvciBvbmUgaGVhcCByZWxhdGlvbgpAQCAtMzExLDYg KzQzOSw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAq cGFyYW1zLAogCVdhbFVzYWdlCXN0YXJ0d2FsdXNhZ2UgPSBwZ1dhbFVzYWdlOwogCUJ1ZmZl clVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBwZ0J1ZmZlclVzYWdlOwogCUVycm9yQ29udGV4 dENhbGxiYWNrIGVycmNhbGxiYWNrOworCUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50 ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAJY2hhcgkgICoqaW5kbmFtZXMg PSBOVUxMOwogCiAJdmVyYm9zZSA9IChwYXJhbXMtPm9wdGlvbnMgJiBWQUNPUFRfVkVSQk9T RSkgIT0gMDsKQEAgLTMyOSw3ICs0NTksNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24g cmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAogCXBnc3RhdF9wcm9ncmVzc19zdGFydF9j b21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAogCQkJCQkJCQkgIFJlbGF0aW9uR2V0 UmVsaWQocmVsKSk7Ci0KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRl cnMpOwogCS8qCiAJICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVyZXBv cnQoKSBmaXJzdC4gIFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNvbnRl eHQgY2FsbGJhY2sgdG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFueQpA QCAtMzQ2LDYgKzQ3Niw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1 bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25hbWUo TXlEYXRhYmFzZUlkKTsKIAl2YWNyZWwtPnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3BhY2Vf bmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKTsKIAl2YWNyZWwtPnJlbG5hbWUgPSBw c3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVsb2lk ID0gUmVsYXRpb25HZXRSZWxpZChyZWwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7CiAJ dmFjcmVsLT5waGFzZSA9IFZBQ1VVTV9FUlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3JlbC0+ dmVyYm9zZSA9IHZlcmJvc2U7CkBAIC00MTMsNiArNTQ0LDggQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT5scGRlYWRf aXRlbV9wYWdlcyA9IDA7CiAJdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlcyA9IDA7CiAJdmFj cmVsLT5ub25lbXB0eV9wYWdlcyA9IDA7CisJdmFjcmVsLT5zZXRfZnJvemVuX3BhZ2VzID0g MDsKKwl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcyA9IDA7CiAJLyogZGVhZF9pdGVt c19hbGxvYyBhbGxvY2F0ZXMgdmFjcmVsLT5kZWFkX2l0ZW1zIGxhdGVyIG9uICovCiAKIAkv KiBBbGxvY2F0ZS9pbml0aWFsaXplIG91dHB1dCBzdGF0aXN0aWNzIHN0YXRlICovCkBAIC01 NzQsNiArNzA3LDE5IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBh cmFtcyAqcGFyYW1zLAogCQkJCQkJdmFjcmVsLT5OZXdSZWxmcm96ZW5YaWQsIHZhY3JlbC0+ TmV3UmVsbWluTXhpZCwKIAkJCQkJCSZmcm96ZW54aWRfdXBkYXRlZCwgJm1pbm11bHRpX3Vw ZGF0ZWQsIGZhbHNlKTsKIAorCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3Rh dHMgcmVwb3J0ICovCisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywg JmV4dFZhY1JlcG9ydCk7CisKKwkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3Rh dHMgZmllbGRzICovCisJZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNj YW5uZWRfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJl bW92ZWRfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0 X2Zyb3plbl9wYWdlczsKKwlleHRWYWNSZXBvcnQucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNy ZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlczsKKwlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0 ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJv emVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCWV4dFZhY1JlcG9ydC5kZWFkX3R1cGxl cyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKyB2YWNyZWwtPm1pc3NlZF9kZWFk X3R1cGxlczsKKwlleHRWYWNSZXBvcnQuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5u dW1faW5kZXhfc2NhbnM7CisKIAkvKgogCSAqIFJlcG9ydCByZXN1bHRzIHRvIHRoZSBjdW11 bGF0aXZlIHN0YXRzIHN5c3RlbSwgdG9vLgogCSAqCkBAIC01ODgsNyArNzM0LDggQEAgaGVh cF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJ CQkgcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAogCQkJCQkJIE1heCh2YWNyZWwtPm5ld19s aXZlX3R1cGxlcywgMCksCiAJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyAr Ci0JCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMpOworCQkJCQkJIHZhY3JlbC0+ bWlzc2VkX2RlYWRfdHVwbGVzLAorCQkJCQkJICZleHRWYWNSZXBvcnQpOwogCXBnc3RhdF9w cm9ncmVzc19lbmRfY29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQpCkBAIC0xMzgwLDYg KzE1MjcsOCBAQCBsYXp5X3NjYW5fbmV3X29yX2VtcHR5KExWUmVsU3RhdGUgKnZhY3JlbCwg QnVmZmVyIGJ1ZiwgQmxvY2tOdW1iZXIgYmxrbm8sCiAJCQkJCQkJICB2bWJ1ZmZlciwgSW52 YWxpZFRyYW5zYWN0aW9uSWQsCiAJCQkJCQkJICBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxF IHwgVklTSUJJTElUWU1BUF9BTExfRlJPWkVOKTsKIAkJCUVORF9DUklUX1NFQ1RJT04oKTsK KwkJCXZhY3JlbC0+c2V0X2FsbF92aXNpYmxlX3BhZ2VzKys7CisJCQl2YWNyZWwtPnNldF9m cm96ZW5fcGFnZXMrKzsKIAkJfQogCiAJCWZyZWVzcGFjZSA9IFBhZ2VHZXRIZWFwRnJlZVNw YWNlKHBhZ2UpOwpAQCAtMjI3NywxMSArMjQyNiwxMyBAQCBsYXp5X3ZhY3V1bV9oZWFwX3Bh Z2UoTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciBibGtubywgQnVmZmVyIGJ1ZmZl ciwKIAkJCQkJCQkJICZhbGxfZnJvemVuKSkKIAl7CiAJCXVpbnQ4CQlmbGFncyA9IFZJU0lC SUxJVFlNQVBfQUxMX1ZJU0lCTEU7CisJCXZhY3JlbC0+c2V0X2FsbF92aXNpYmxlX3BhZ2Vz Kys7CiAKIAkJaWYgKGFsbF9mcm96ZW4pCiAJCXsKIAkJCUFzc2VydCghVHJhbnNhY3Rpb25J ZElzVmFsaWQodmlzaWJpbGl0eV9jdXRvZmZfeGlkKSk7CiAJCQlmbGFncyB8PSBWSVNJQklM SVRZTUFQX0FMTF9GUk9aRU47CisJCQl2YWNyZWwtPnNldF9mcm96ZW5fcGFnZXMrKzsKIAkJ fQogCiAJCVBhZ2VTZXRBbGxWaXNpYmxlKHBhZ2UpOwpAQCAtMzEyMiw2ICszMjczLDggQEAg dmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAlzd2l0Y2ggKGVycmluZm8tPnBo YXNlKQogCXsKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfU0NBTl9IRUFQOgorCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5m by0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8t Pm9mZm51bSkpCkBAIC0zMTM3LDYgKzMyOTAsOCBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2so dm9pZCAqYXJnKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFD VVVNX0hFQVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOwogCQkJaWYgKEJsb2NrTnVt YmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJl cklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zp c2liaWxpdHltYXAuYwppbmRleCA4YjI0ZTdiYzMzYy4uZDcyY2FkZTYwYTQgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKQEAgLTkxLDYgKzkxLDcgQEAK ICNpbmNsdWRlICJhY2Nlc3MveGxvZ2luc2VydC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9n dXRpbHMuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIK ICNpbmNsdWRlICJwb3J0L3BnX2JpdHV0aWxzLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9idWZt Z3IuaCIKICNpbmNsdWRlICJzdG9yYWdlL3NtZ3IuaCIKQEAgLTE2MCw2ICsxNjEsMTggQEAg dmlzaWJpbGl0eW1hcF9jbGVhcihSZWxhdGlvbiByZWwsIEJsb2NrTnVtYmVyIGhlYXBCbGss IEJ1ZmZlciB2bWJ1ZiwgdWludDggZmxhZ3MKIAogCWlmIChtYXBbbWFwQnl0ZV0gJiBtYXNr KQogCXsKKwkJLyoKKwkJICogSW5pdGlhbGx5LCBpdCBkaWRuJ3QgbWF0dGVyIHdoYXQgdHlw ZSBvZiBmbGFncyAoYWxsLXZpc2libGUgb3IgZnJvemVuKSB3ZSByZWNlaXZlZCwKKwkJICog d2UganVzdCBwZXJmb3JtZWQgYSByZXZlcnNlIGNvbmNhdGVuYXRpb24gb3BlcmF0aW9uLiBC dXQgdGhpcyBpbmZvcm1hdGlvbiBpcyB2ZXJ5IGltcG9ydGFudAorCQkgKiBmb3IgdmFjdXVt IHN0YXRpc3RpY3MuIFdlIG5lZWQgdG8gZmluZCBvdXQgdGhpcyB1c2luZ3RoZSBiaXQgY29u Y2F0ZW5hdGlvbiBvcGVyYXRpb24KKwkJICogd2l0aCB0aGUgVklTSUJJTElUWU1BUF9BTExf VklTSUJMRSBhbmQgVklTSUJJTElUWU1BUF9BTExfRlJPWkVOIG1hc2tzLAorCQkgKiBhbmQg d2hlcmUgdGhlIGRlc2lyZWQgb25lIG1hdGNoZXMsIHdlIGluY3JlbWVudCB0aGUgdmFsdWUg dGhlcmUuCisJCSovCisJCWlmIChtYXBbbWFwQnl0ZV0gPj4gbWFwT2Zmc2V0ICYgZmxhZ3Mg JiBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFKQorCQkJcGdzdGF0X2NvdW50X3ZtX3Jldl9h bGxfdmlzaWJsZShyZWwpOworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNldCAmIGZs YWdzICYgVklTSUJJTElUWU1BUF9BTExfRlJPWkVOKQorCQkJcGdzdGF0X2NvdW50X3ZtX3Jl dl9hbGxfZnJvemVuKHJlbCk7CisKIAkJbWFwW21hcEJ5dGVdICY9IH5tYXNrOwogCiAJCU1h cmtCdWZmZXJEaXJ0eSh2bWJ1Zik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwKaW5kZXggN2ZkNWQyNTZhMTguLjI0NzE0N2UwMjEzIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMzc3LDMgKzEzNzcsNTggQEAgQ1JFQVRFIFZJRVcg cGdfc3RhdF9zdWJzY3JpcHRpb25fc3RhdHMgQVMKIAogQ1JFQVRFIFZJRVcgcGdfd2FpdF9l dmVudHMgQVMKICAgICBTRUxFQ1QgKiBGUk9NIHBnX2dldF93YWl0X2V2ZW50cygpOworLS0K Ky0tIFNob3cgZXh0ZW5kZWQgY3VtdWxhdGl2ZSBzdGF0aXN0aWNzIG9uIGEgdmFjdXVtIG9w ZXJhdGlvbiBvdmVyIGFsbCB0YWJsZXMgYW5kCistLSBkYXRhYmFzZXMgb2YgdGhlIGluc3Rh bmNlLgorLS0gVXNlIEludmFsaWQgT2lkICIwIiBhcyBhbiBpbnB1dCByZWxhdGlvbiBpZCB0 byBnZXQgc3RhdCBvbiBlYWNoIHRhYmxlIGluIGEKKy0tIGRhdGFiYXNlLgorLS0KKworQ1JF QVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCitTRUxFQ1QKKyAgcmVsLm9pZCBh cyByZWxpZCwKKyAgbnMubnNwbmFtZSBBUyAic2NoZW1hIiwKKyAgcmVsLnJlbG5hbWUgQVMg cmVsbmFtZSwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQsCisgIHN0YXRzLnRvdGFsX2Js a3NfaGl0LAorICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Js a3Nfd3JpdHRlbiwKKworICBzdGF0cy5yZWxfYmxrc19yZWFkLAorICBzdGF0cy5yZWxfYmxr c19oaXQsCisKKyAgc3RhdHMucGFnZXNfc2Nhbm5lZCwKKyAgc3RhdHMucGFnZXNfcmVtb3Zl ZCwKKyAgc3RhdHMucGFnZXNfZnJvemVuLAorICBzdGF0cy5wYWdlc19hbGxfdmlzaWJsZSwK KyAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgIHN0YXRzLnR1cGxlc19mcm96ZW4sCisgIHN0 YXRzLmRlYWRfdHVwbGVzLAorCisgIHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCwKKyAgc3Rh dHMucmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgIHN0YXRzLnJldl9hbGxfdmlzaWJsZV9wYWdl cywKKworICBzdGF0cy53YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2ZwaSwKKyAgc3RhdHMu d2FsX2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0 ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUsCisgIHN0YXRzLnN5c3RlbV90aW1lLAor ICBzdGF0cy51c2VyX3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUsCisgIHN0YXRzLmludGVy cnVwdHMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisgIHBnX2NsYXNzIHJlbCwKKyAgcGdf bmFtZXNwYWNlIG5zLAorICBwZ19zdGF0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMK K1dIRVJFCisgIGRiLmRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkgQU5ECisgIHJlbC5v aWQgPSBzdGF0cy5yZWxpZCBBTkQKKyAgbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSBBTkQK KyAgcmVsLnJlbGtpbmQgPSAncic7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy92YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCmluZGV4IDdkOGU5 ZDIwNDU0Li4zNjM5MjRkMDBkYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKQEAgLTEwMyw2 ICsxMDMsOSBAQCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZSA9 IE5VTEw7CiBwZ19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VycyA9IE5VTEw7 CiBpbnQJCQlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAorLyogQ3VtdWxhdGl2ZSBz dG9yYWdlIHRvIHJlcG9ydCB0b3RhbCB2YWN1dW0gZGVsYXkgdGltZS4gKi8KK2RvdWJsZSBW YWN1dW1EZWxheVRpbWUgPSAwOyAvKiBtc2VjLiAqLworCiAvKiBub24tZXhwb3J0IGZ1bmN0 aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyBMaXN0ICpleHBhbmRfdmFjdXVtX3JlbChWYWN1 dW1SZWxhdGlvbiAqdnJlbCwKIAkJCQkJCQkgICBNZW1vcnlDb250ZXh0IHZhY19jb250ZXh0 LCBpbnQgb3B0aW9ucyk7CkBAIC0yMzk0LDYgKzIzOTcsNyBAQCB2YWN1dW1fZGVsYXlfcG9p bnQodm9pZCkKIAkJCWV4aXQoMSk7CiAKIAkJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCQlW YWN1dW1EZWxheVRpbWUgKz0gbXNlYzsKIAogCQkvKgogCQkgKiBCYWxhbmNlIGFuZCB1cGRh dGUgbGltaXQgdmFsdWVzIGZvciBhdXRvdmFjdXVtIHdvcmtlcnMuIFdlIG11c3QgZG8KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDIyYzA1N2ZlNjFiLi4x M2FiNjMzMDg2YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBA IC0xMDQzLDYgKzEwNDMsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAq c2VnLCBzaG1fdG9jICp0b2MpCiAJLyogU2V0IGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5ICov CiAJVmFjdXVtVXBkYXRlQ29zdHMoKTsKIAlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJVmFj dXVtRGVsYXlUaW1lID0gMDsKIAlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAlWYWN1 dW1TaGFyZWRDb3N0QmFsYW5jZSA9ICYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpOwogCVZhY3V1 bUFjdGl2ZU5Xb3JrZXJzID0gJihzaGFyZWQtPmFjdGl2ZV9ud29ya2Vycyk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDE3OGI1ZWY2NWFhLi4wYWUzNjc1ODVm YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTE5MCw3ICsxOTAs NyBAQCBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVzZXRfYWZ0ZXJfZmFpbHVyZSh2b2lkKTsKIHN0 YXRpYyBib29sIHBnc3RhdF9mbHVzaF9wZW5kaW5nX2VudHJpZXMoYm9vbCBub3dhaXQpOwog CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKTsKLXN0YXRpYyB2b2lk IHBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9idWls ZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCk7CiBzdGF0aWMgdm9pZCBwZ3N0YXRf YnVpbGRfc25hcHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIHN0YXRpYyBpbmxp bmUgYm9vbCBwZ3N0YXRfaXNfa2luZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKQEAgLTI2 MCw3ICsyNjAsNiBAQCBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfaW5pdGlhbGl6ZWQgPSBmYWxz ZTsKIHN0YXRpYyBib29sIHBnc3RhdF9pc19zaHV0ZG93biA9IGZhbHNlOwogI2VuZGlmCiAK LQogLyoKICAqIFRoZSBkaWZmZXJlbnQga2luZHMgb2YgYnVpbHQtaW4gc3RhdGlzdGljcy4K ICAqCkBAIC04NDAsNyArODM5LDYgQEAgcGdzdGF0X3Jlc2V0X29mX2tpbmQoUGdTdGF0X0tp bmQga2luZCkKIAkJcGdzdGF0X3Jlc2V0X2VudHJpZXNfb2Zfa2luZChraW5kLCB0cyk7CiB9 CiAKLQogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgKiBGZXRjaGluZyBvZiBzdGF0cwogICogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05 MDYsNyArOTA0LDcgQEAgcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9p ZCBkYm9pZCwgT2lkIG9iam9pZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8gYnVpbGQgYSBmdWxs IHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0g UEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25h cHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQp OwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGluIGNhY2hlICovCiAJ aWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9DT05TSVNURU5D WV9OT05FKQpAQCAtMTAyMiw3ICsxMDIwLDcgQEAgcGdzdGF0X3NuYXBzaG90X2ZpeGVkKFBn U3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOwogCiAJaWYgKHBn c3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05B UFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRfYnVpbGRfc25h cHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRfYnVpbGRfc25h cHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTEwNzIsOCArMTA3MCwzMCBAQCBwZ3N0YXRfcHJl cF9zbmFwc2hvdCh2b2lkKQogCQkJCQkJCSAgIE5VTEwpOwogfQogCisKKy8qCisgKiBUcml2 aWFsIGV4dGVybmFsIGludGVyZmFjZSB0byBidWlsZCBhIHNuYXBzaG90IGZvciB0YWJsZSBz dGF0aXN0aWNzIG9ubHkuCisgKi8KK3ZvaWQKK3Bnc3RhdF91cGRhdGVfc25hcHNob3QoUGdT dGF0X0tpbmQga2luZCkKK3sKKwlpbnQgc2F2ZV9jb25zaXN0ZW5jeV9ndWMgPSBwZ3N0YXRf ZmV0Y2hfY29uc2lzdGVuY3k7CisJcGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CisKKwlQR19U UlkoKTsKKwl7CisJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9D T05TSVNURU5DWV9TTkFQU0hPVDsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9L SU5EX1JFTEFUSU9OKTsKKwl9CisJUEdfRklOQUxMWSgpOworCXsKKwkJcGdzdGF0X2ZldGNo X2NvbnNpc3RlbmN5ID0gc2F2ZV9jb25zaXN0ZW5jeV9ndWM7CisJfQorCVBHX0VORF9UUlko KTsKK30KKwogc3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKQorcGdz dGF0X2J1aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogewogCWRzaGFzaF9z ZXFfc3RhdHVzIGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDhhM2Y3 ZDQzNGNmLi43OTFkNzc3ZmJjNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTQ4LDYgKzQ4LDggQEAgc3RhdGljIHZvaWQgYWRk X3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBp bnQgbmVzdF9sZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5j ZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19k cm9wKTsKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9U YWJsZVhhY3RTdGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9hY2N1bXVsYXRl X2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJ CQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbyk7CiAKIAog LyoKQEAgLTIwNCwxMiArMjA2LDQwIEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9u IHJlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZh Y3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQoreworCVBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmOworCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNl SWQ7CisKKwlpZiAoIXBnc3RhdF90cmFja19jb3VudHMpCisJCXJldHVybjsKKworCWVudHJ5 X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElP TiwKKwkJCQkJCQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxzZSk7CisKKwlzaHRhYmVudHJ5 ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsK Kwl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKKworCXRhYmVudHJ5LT52YWN1dW1f ZXh0LmludGVycnVwdHMrKzsKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Cit9 CisKIC8qCiAgKiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5k IGZsdXNoIElPIHN0YXRpc3RpY3MuCiAgKi8KIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCi0JCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZl dHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzKQorCQkJCQkgUGdTdGF0X0NvdW50 ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJIEV4dFZh Y1JlcG9ydCAqcGFyYW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBn U3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzMyw2ICsyNjMsOCBAQCBw Z3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVu dHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVz ID0gZGVhZHR1cGxlczsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFi ZW50cnktPnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1 aXRlIHBvc3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tp cHBpbmcKIAkgKiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNl cnQgY291bnRlciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC04NjEsNiArODkzLDkgQEAgcGdzdGF0 X3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5v d2FpdCkKIAl0YWJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxv Y2tzX2ZldGNoZWQ7CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMu YmxvY2tzX2hpdDsKIAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3Rh dHMtPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92 aXNpYmxlX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsK KwogCS8qIENsYW1wIGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2 ZV90dXBsZXMgKi8KIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxp dmVfdHVwbGVzLCAwKTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk4 NCwzICsxMDE5LDM4IEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJs ZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9h Y2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0 ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5m bykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsK Kwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50 b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50 b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53 YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2Fs X2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5i bGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90 aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ ZGVsYXlfdGltZTsKKwlkc3QtPnN5c3RlbV90aW1lICs9IHNyYy0+c3lzdGVtX3RpbWU7CisJ ZHN0LT51c2VyX3RpbWUgKz0gc3JjLT51c2VyX3RpbWU7CisJZHN0LT50b3RhbF90aW1lICs9 IHNyYy0+dG90YWxfdGltZTsKKwlkc3QtPmludGVycnVwdHMgKz0gc3JjLT5pbnRlcnJ1cHRz OworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJu OworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5i bGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNy Yy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19y ZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+cGFnZXNfZnJvemVuOworCWRz dC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19hbGxfdmlzaWJsZTsKKwlkc3Qt PnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJZHN0LT50dXBsZXNf ZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlkc3QtPmRlYWRfdHVwbGVzICs9IHNy Yy0+ZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRl eF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCA5N2RjMDlhYzBkOS4uODZiYTJhNjhi YWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0zMSw2ICszMSw0 MiBAQAogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5z LmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCisjaW5jbHVkZSAidXRpbHMvcGdz dGF0X2ludGVybmFsLmgiCisKKy8qIGhhc2ggdGFibGUgZm9yIHN0YXRpc3RpY3Mgc25hcHNo b3RzIGVudHJ5ICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU25hcHNob3RFbnRyeQorewor CVBnU3RhdF9IYXNoS2V5IGtleTsKKwljaGFyCQlzdGF0dXM7CQkJLyogZm9yIHNpbXBsZWhh c2ggdXNlICovCisJdm9pZAkgICAqZGF0YTsJCQkvKiB0aGUgc3RhdHMgZGF0YSBpdHNlbGYg Ki8KK30gUGdTdGF0X1NuYXBzaG90RW50cnk7CisKKy8qIC0tLS0tLS0tLS0KKyAqIEJhY2tl bmQtbG9jYWwgSGFzaCBUYWJsZSBEZWZpbml0aW9ucworICogLS0tLS0tLS0tLQorICovCisK Ky8qIGZvciBzdGF0cyBzbmFwc2hvdCBlbnRyaWVzICovCisjZGVmaW5lIFNIX1BSRUZJWCBw Z3N0YXRfc25hcHNob3QKKyNkZWZpbmUgU0hfRUxFTUVOVF9UWVBFIFBnU3RhdF9TbmFwc2hv dEVudHJ5CisjZGVmaW5lIFNIX0tFWV9UWVBFIFBnU3RhdF9IYXNoS2V5CisjZGVmaW5lIFNI X0tFWSBrZXkKKyNkZWZpbmUgU0hfSEFTSF9LRVkodGIsIGtleSkgXAorCXBnc3RhdF9oYXNo X2hhc2hfa2V5KCZrZXksIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpCisjZGVmaW5l IFNIX0VRVUFMKHRiLCBhLCBiKSBcCisJcGdzdGF0X2NtcF9oYXNoX2tleSgmYSwgJmIsIHNp emVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpID09IDAKKyNkZWZpbmUgU0hfU0NPUEUgc3Rh dGljIGlubGluZQorI2RlZmluZSBTSF9ERUZJTkUKKyNkZWZpbmUgU0hfREVDTEFSRQorI2lu Y2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisKK3R5cGVkZWYgcGdzdGF0X3NuYXBzaG90X2l0 ZXJhdG9yIFNuYXBzaG90SXRlcmF0b3I7CisKKyNkZWZpbmUgSW5pdFNuYXBzaG90SXRlcmF0 b3IoaHRhYmxlLCBpdGVyKSBcCisJcGdzdGF0X3NuYXBzaG90X3N0YXJ0X2l0ZXJhdGUoaHRh YmxlLCBpdGVyKTsKKyNkZWZpbmUgU2NhblN0YXRTbmFwc2hvdChodGFibGUsIGl0ZXIpIFwK KwlwZ3N0YXRfc25hcHNob3RfaXRlcmF0ZShodGFibGUsIGl0ZXIpCisKIAogI2RlZmluZSBV SU5UMzJfQUNDRVNTX09OQ0UodmFyKQkJICgodWludDMyKSgqKCh2b2xhdGlsZSB1aW50MzIg KikmKHZhcikpKSkKIApAQCAtMjA1MSwzICsyMDg3LDEyMyBAQCBwZ19zdGF0X2hhdmVfc3Rh dHMoUEdfRlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2Vu dHJ5KGtpbmQsIGRib2lkLCBvYmpvaWQpKTsKIH0KKworI2RlZmluZSBFWFRWQUNIRUFQU1RB VF9DT0xVTU5TCTI3CisKK3N0YXRpYyB2b2lkCit0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRp b24oT2lkIHJlbGlkLCBSZXR1cm5TZXRJbmZvICpyc2luZm8sCisJCQkJCQkJUGdTdGF0X1N0 YXRUYWJFbnRyeSAqdGFiZW50cnkpCit7CisJRGF0dW0JCXZhbHVlc1tFWFRWQUNIRUFQU1RB VF9DT0xVTU5TXTsKKwlib29sCQludWxsc1tFWFRWQUNIRUFQU1RBVF9DT0xVTU5TXTsKKwlj aGFyCQlidWZbMjU2XTsKKwlpbnQJCQlpID0gMDsKKworCW1lbXNldChudWxscywgMCwgRVhU VkFDSEVBUFNUQVRfQ09MVU1OUyAqIHNpemVvZihib29sKSk7CisKKwl2YWx1ZXNbaSsrXSA9 IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfaGl0 KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQu dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFi ZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2ZldGNoZWQgLQor CQkJCQkJCQkJdGFiZW50cnktPnZhY3V1bV9leHQuYmxrc19oaXQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNf c2Nhbm5lZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1 dW1fZXh0LnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0 YWJlbnRyeS0+dmFjdXVtX2V4dC5wYWdlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5wYWdlc19hbGxfdmlzaWJsZSk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnR1cGxl c19kZWxldGVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZh Y3V1bV9leHQudHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KHRhYmVudHJ5LT52YWN1dW1fZXh0LmRlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaW5kZXhfdmFjdXVtX2NvdW50KTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfZnJvemVu X3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnJldl9h bGxfdmlzaWJsZV9wYWdlcyk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFi ZW50cnktPnZhY3V1bV9leHQud2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC53YWxfZnBpKTsKKworCS8qIENvbnZlcnQg dG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYs IHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIHRhYmVudHJ5LT52YWN1dW1fZXh0LndhbF9i eXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4s CisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJ ZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa19yZWFk X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1 bV9leHQuYmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQuZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5zeXN0ZW1fdGltZSk7CisJdmFsdWVz W2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC51c2VyX3RpbWUp OworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQu dG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKHRhYmVudHJ5LT52 YWN1dW1fZXh0LmludGVycnVwdHMpOworCisJQXNzZXJ0KGkgPT0gcnNpbmZvLT5zZXREZXNj LT5uYXR0cyk7CisJdHVwbGVzdG9yZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJz aW5mby0+c2V0RGVzYywgdmFsdWVzLCBudWxscyk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZh Y3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMgb3IgaW5kZXhlcy4KKyAqLwor c3RhdGljIHZvaWQKK3BnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywg aW50IG5jb2x1bW5zKQoreworCVJldHVyblNldEluZm8JCSAgICpyc2luZm8gPSAoUmV0dXJu U2V0SW5mbyAqKSBmY2luZm8tPnJlc3VsdGluZm87CisJT2lkCQkJCQkJcmVsaWQgPSBQR19H RVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgKnRhYmVudHJ5OworCisJ SW5pdE1hdGVyaWFsaXplZFNSRihmY2luZm8sIDApOworCisJLyogQ2hlY2sgaWYgY2FsbGVy IHN1cHBvcnRzIHVzIHJldHVybmluZyBhIHR1cGxlc3RvcmUgKi8KKwlpZiAocnNpbmZvID09 IE5VTEwgfHwgIUlzQShyc2luZm8sIFJldHVyblNldEluZm8pKQorCQllcmVwb3J0KEVSUk9S LAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkg ZXJybXNnKCJzZXQtdmFsdWVkIGZ1bmN0aW9uIGNhbGxlZCBpbiBjb250ZXh0IHRoYXQgY2Fu bm90IGFjY2VwdCBhIHNldCIpKSk7CisJQXNzZXJ0KHJzaW5mby0+c2V0RGVzYy0+bmF0dHMg PT0gbmNvbHVtbnMpOworCUFzc2VydChyc2luZm8tPnNldFJlc3VsdCAhPSBOVUxMKTsKKwor CS8qIExvYWQgdGFibGUgc3RhdGlzdGljcyBmb3Igc3BlY2lmaWVkIGRhdGFiYXNlLiAqLwor CWlmIChPaWRJc1ZhbGlkKHJlbGlkKSkKKwl7CisJCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNo X3N0YXRfdGFiZW50cnkocmVsaWQpOworCQlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwkJCS8q IFRhYmxlIGRvbid0IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJlbGF0aW9uLiAqLworCQkJ cmV0dXJuOworCisJCXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgcnNpbmZv LCB0YWJlbnRyeSk7CisJfQorCWVsc2UKKwl7CisJCVNuYXBzaG90SXRlcmF0b3IJCWhhc2hp dGVyOworCQlQZ1N0YXRfU25hcHNob3RFbnRyeSAgICplbnRyeTsKKworCQlwZ3N0YXRfdXBk YXRlX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKworCQkvKiBJdGVyYXRlIHRo ZSBzbmFwc2hvdCAqLworCQlJbml0U25hcHNob3RJdGVyYXRvcihwZ1N0YXRMb2NhbC5zbmFw c2hvdC5zdGF0cywgJmhhc2hpdGVyKTsKKworCQl3aGlsZSAoKGVudHJ5ID0gU2NhblN0YXRT bmFwc2hvdChwZ1N0YXRMb2NhbC5zbmFwc2hvdC5zdGF0cywgJmhhc2hpdGVyKSkgIT0gTlVM TCkKKwkJeworCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKKworCQkJdGFiZW50cnkgPSAo UGdTdGF0X1N0YXRUYWJFbnRyeSAqKSBlbnRyeS0+ZGF0YTsKKworCQkJaWYgKHRhYmVudHJ5 ICE9IE5VTEwpCisJCQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKGVudHJ5LT5rZXku b2Jqb2lkLCByc2luZm8sIHRhYmVudHJ5KTsKKwkJfQorCX0KK30KKworLyoKKyAqIEdldCB0 aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAqLworRGF0dW0K K3BnX3N0YXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQoreworCXBnX3N0YXRz X3ZhY3V1bShmY2luZm8sIEVYVFZBQ0hFQVBTVEFUX0NPTFVNTlMpOworCisJUEdfUkVUVVJO X1ZPSUQoKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCA1Y2JiNWI1NDE2OC4u NWVhZDJhOGFmZjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKQEAgLTE2MTksNiArMTYx OSwxOSBAQCBnZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpCiAJcmV0dXJuIGVkYXRhLT5p bnRlcm5hbHBvczsKIH0KIAorLyoKKyAqIFJldHVybiBlbGV2ZWwgb2YgZXJyb3JzCisgKi8K K2ludAorZ2V0ZXJyZWxldmVsKHZvaWQpCit7CisJRXJyb3JEYXRhICAqZWRhdGEgPSAmZXJy b3JkYXRhW2Vycm9yZGF0YV9zdGFja19kZXB0aF07CisKKwkvKiB3ZSBkb24ndCBib3RoZXIg aW5jcmVtZW50aW5nIHJlY3Vyc2lvbl9kZXB0aCAqLworCUNIRUNLX1NUQUNLX0RFUFRIKCk7 CisKKwlyZXR1cm4gZWRhdGEtPmVsZXZlbDsKK30KIAogLyoKICAqIEZ1bmN0aW9ucyB0byBh bGxvdyBjb25zdHJ1Y3Rpb24gb2YgZXJyb3IgbWVzc2FnZSBzdHJpbmdzIHNlcGFyYXRlbHkg ZnJvbQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggZmY1NDM2YWNhY2YuLmQ1N2Ux ODFjNDE5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0Cisr KyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyMjU0LDUgKzEyMjU0 LDEzIEBACiAgIHByb2FsbGFyZ3R5cGVzID0+ICd7aW50OCxwZ19sc24scGdfbHNuLGludDR9 JywgcHJvYXJnbW9kZXMgPT4gJ3tvLG8sbyxvfScsCiAgIHByb2FyZ25hbWVzID0+ICd7c3Vt bWFyaXplZF90bGksc3VtbWFyaXplZF9sc24scGVuZGluZ19sc24sc3VtbWFyaXplcl9waWR9 JywKICAgcHJvc3JjID0+ICdwZ19nZXRfd2FsX3N1bW1hcml6ZXJfc3RhdGUnIH0sCi0KK3sg b2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfdmFjdXVtX3RhYmxlcyByZXR1 cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1fdGFibGVz JywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4g J3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBw cm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0 OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAorICBwcm9hcmdtb2RlcyA9 PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19y ZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0 ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1v dmVkLHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVsZXRlZCx0dXBs ZXNfZnJvemVuLGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCxyZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxf Ynl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90 aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdw Z19zdGF0X3ZhY3V1bV90YWJsZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j b21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4 IDc1OWY5YTg3ZDM4Li4wN2IyOGIxNWQ5ZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAg LTMwOCw2ICszMDgsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1bV9tdWx0aXhh Y3RfZmFpbHNhZmVfYWdlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIg KlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21p Y191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGlu dCBWYWN1dW1Db3N0QmFsYW5jZUxvY2FsOworZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSBW YWN1dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIFZhY3V1bUZhaWxz YWZlQWN0aXZlOwogZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSB2YWN1dW1fY29zdF9kZWxh eTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdz dGF0LmgKaW5kZXggYmUyYzkxMTY4YTEuLjhhYjgwZGZlMTdlIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTY5LDYg KzE2OSw1MiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdT dGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdT dGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0tLS0tLS0tLQorICoKKyAqIEV4dFZhY1Jl cG9ydAorICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2lu ZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3Vu dCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkgKGllIHRoZSBj aGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVm ZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0K KyAqLwordHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0Cit7CisJaW50NjQJCXRvdGFsX2Js a3NfcmVhZDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0IHdlcmUgbWlzc2VkIGluIHNoYXJl ZCBidWZmZXJzIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWlu dDY0CQl0b3RhbF9ibGtzX2hpdDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0IHdlcmUgZm91 bmQgaW4gc2hhcmVkIGJ1ZmZlcnMgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0 aW9uICovCisJaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsJLyogbnVtYmVyIG9mIHBhZ2Vz IG1hcmtlZCBhcyAnRGlydHknIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlv bi4gKi8KKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOwkvKiBudW1iZXIgb2YgcGFnZXMg d3JpdHRlbiBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24uICovCisKKwlp bnQ2NAkJYmxrc19mZXRjaGVkOyAJCS8qIG51bWJlciBvZiBhIHJlbGF0aW9uIGJsb2Nrcywg ZmV0Y2hlZCBkdXJpbmcgdGhlIHZhY3V1bS4gKi8KKwlpbnQ2NAkJYmxrc19oaXQ7CQkvKiBu dW1iZXIgb2YgYSByZWxhdGlvbiBibG9ja3MsIGZvdW5kIGluIHNoYXJlZCBidWZmZXJzIGR1 cmluZyB0aGUgdmFjdXVtLiAqLworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLwor CWludDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29y ZHMgKi8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBm dWxsIHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3 YWwgdXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUg c3RhdHMuICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRp bmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1l IHNwZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7 CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBt c2VjICovCisJZG91YmxlCQlzeXN0ZW1fdGltZTsJLyogYW1vdW50IG9mIHRpbWUgdGhlIENQ VSB3YXMgYnVzeSBleGVjdXRpbmcgdmFjdXVtIGNvZGUgaW4ga2VybmVsIHNwYWNlLCBpbiBt c2VjICovCisJZG91YmxlCQl1c2VyX3RpbWU7CQkvKiBhbW91bnQgb2YgdGltZSB0aGUgQ1BV IHdhcyBidXN5IGV4ZWN1dGluZyB2YWN1dW0gY29kZSBpbiB1c2VyIHNwYWNlLCBpbiBtc2Vj ICovCisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBv cGVyYXRpb24sIGluIG1zZWMgKi8KKworCS8qIEludGVycnVwdGlvbnMgb24gYW55IGVycm9y cy4gKi8KKwlpbnQzMgkJaW50ZXJydXB0czsKKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJ LyogbnVtYmVyIG9mIHBhZ2VzIHdlIGV4YW1pbmVkICovCisJaW50NjQJCXBhZ2VzX3JlbW92 ZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJ cGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96 ZW4gKi8KKwlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIG51bWJlciBvZiBwYWdlcyBt YXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7 CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVwbGVzX2Zyb3pl bjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJaW50NjQJCWRlYWRfdHVw bGVzOwkJLyogbnVtYmVyIG9mIGRlbGV0ZWQgdHVwbGVzIHdoaWNoIHZhY3V1bSBjYW5ub3Qg Y2xlYW4gdXAgYnkgdmFjdXVtIG9wZXJhdGlvbiAqLworCWludDY0CQlpbmRleF92YWN1dW1f Y291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCit9IEV4dFZhY1JlcG9y dDsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVh bCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAtMjA5LDYgKzI1 NSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAogCVBnU3RhdF9D b3VudGVyIGJsb2Nrc19mZXRjaGVkOwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CisK KwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50 ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwkvKgorCSAqIEFkZGl0aW9uYWwgY3VtdWxh dGl2ZSBzdGF0IG9uIHZhY3V1bSBvcGVyYXRpb25zLgorCSAqIFVzZSBhbiBleHBlbnNpdmUg c3RydWN0dXJlIGFzIGFuIGFic3RyYWN0aW9uIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YKKwkg KiByZWxhdGlvbnMuCisJICovCisJRXh0VmFjUmVwb3J0CXZhY3V1bV9leHQ7CiB9IFBnU3Rh dF9UYWJsZUNvdW50czsKIAogLyogLS0tLS0tLS0tLQpAQCAtMjY3LDcgKzMyMyw3IEBAIHR5 cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAK LSNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQUUKKyNkZWZpbmUgUEdT VEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQUYKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X0FyY2hpdmVyU3RhdHMKIHsKQEAgLTM4Niw2ICs0NDIsOCBAQCB0eXBlZGVmIHN0cnVjdCBQ Z1N0YXRfU3RhdERCRW50cnkKIAlQZ1N0YXRfQ291bnRlciBzZXNzaW9uc19raWxsZWQ7CiAK IAlUaW1lc3RhbXBUeiBzdGF0X3Jlc2V0X3RpbWVzdGFtcDsKKworCUV4dFZhY1JlcG9ydCB2 YWN1dW1fZXh0OwkJLyogZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgKi8KIH0gUGdTdGF0 X1N0YXREQkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdEZ1bmNFbnRyeQpA QCAtNDU5LDYgKzUxNywxMSBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdFRhYkVudHJ5 CiAJUGdTdGF0X0NvdW50ZXIgYW5hbHl6ZV9jb3VudDsKIAlUaW1lc3RhbXBUeiBsYXN0X2F1 dG9hbmFseXplX3RpbWU7CS8qIGF1dG92YWN1dW0gaW5pdGlhdGVkICovCiAJUGdTdGF0X0Nv dW50ZXIgYXV0b2FuYWx5emVfY291bnQ7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zp c2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisK KwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsKIH0gUGdTdGF0X1N0YXRUYWJFbnRyeTsKIAog dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1dhbFN0YXRzCkBAIC02MjQsMTAgKzY4NywxMiBAQCBl eHRlcm4gdm9pZCBwZ3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIGV4dGVy biB2b2lkIHBnc3RhdF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIAogZXh0ZXJu IHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwK LQkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRl YWR0dXBsZXMpOworCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsK IGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJ CQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1 cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlcik7CitleHRlcm4gdm9pZCBwZ3N0 YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQpOwogCiAvKgogICogSWYgc3Rh dHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFyZWQg eWV0LCBjYWxsCkBAIC02NzUsNiArNzQwLDE3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBv cnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3Jl bGF0aW9uKHJlbCkpCQkJCQkJXAogCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxv Y2tzX2hpdCsrOwkJCQlcCiAJfSB3aGlsZSAoMCkKKy8qIGFjY3VtdWxhdGUgdW5mcm96ZW4g YWxsLXZpc2libGUgYW5kIGFsbC1mcm96ZW4gcGFnZXMgKi8KKyNkZWZpbmUgcGdzdGF0X2Nv dW50X3ZtX3Jldl9hbGxfdmlzaWJsZShyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJ CQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAor CQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzKys7 CVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96 ZW4ocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3No b3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5m by0+Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzKys7CVwKKwl9IHdoaWxlICgwKQogCiBl eHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF9pbnNlcnQoUmVsYXRpb24gcmVsLCBQZ1N0 YXRfQ291bnRlciBuKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX3VwZGF0ZShS ZWxhdGlvbiByZWwsIGJvb2wgaG90LCBib29sIG5ld3BhZ2UpOwpAQCAtNjkyLDcgKzc2OCw2 IEBAIGV4dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0YXRfZmV0Y2hfc3RhdF90YWJl bnRyeV9leHQoYm9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJCQkJCSAgIE9pZCByZWxvaWQpOwog ZXh0ZXJuIFBnU3RhdF9UYWJsZVN0YXR1cyAqZmluZF90YWJzdGF0X2VudHJ5KE9pZCByZWxf aWQpOwogCi0KIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3JlcGxzbG90LmMKICAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oIGIvc3JjL2luY2x1ZGUvdXRp bHMvZWxvZy5oCmluZGV4IGU1NGVjYTViNDg5Li5lNzUyYzBjZTAxNSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cu aApAQCAtMjMwLDYgKzIzMCw3IEBAIGV4dGVybiBpbnQJZ2V0ZXJybGV2ZWwodm9pZCk7CiBl eHRlcm4gaW50CWdldGVycnBvc2l0aW9uKHZvaWQpOwogZXh0ZXJuIGludAlnZXRpbnRlcm5h bGVycnBvc2l0aW9uKHZvaWQpOwogCitleHRlcm4gaW50CWdldGVycmVsZXZlbCh2b2lkKTsK IAogLyotLS0tLS0tLS0tCiAgKiBPbGQtc3R5bGUgZXJyb3IgcmVwb3J0aW5nIEFQSTogdG8g YmUgdXNlZCBpbiB0aGlzIHdheToKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3Bn c3RhdF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgK aW5kZXggMjU4MjBjYmYwYTYuLmE4YmJhODRjYjZjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0 YXRfaW50ZXJuYWwuaApAQCAtNTU1LDcgKzU1NSw3IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlS ZWYgKnBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBk Ym9pZCwKIAogZXh0ZXJuIHZvaWQgKnBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBr aW5kLCBPaWQgZGJvaWQsIE9pZCBvYmpvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3NuYXBz aG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwotCitleHRlcm4gdm9pZCBwZ3N0YXRfdXBk YXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpOwogCiAvKgogICogRnVuY3Rpb25zIGlu IHBnc3RhdF9hcmNoaXZlci5jCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVz dC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdjZGI3OWMw ZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3Zh Y3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAK K3VudXNlZCBzdGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIg c2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBz Ml9pbnNlcnRfaW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFi bGUgczFfY29tbWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0 c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0 ZWQsIHZ0LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0g J3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKwor cmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8 dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b258ICAgICAgICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQor CitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisgIEJFR0lOIHRyYW5zYWN0aW9u IElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFs KSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKworY291 bnQKKy0tLS0tCisgIDEwMAorKDEgcm93KQorCitzdGVwIHMyX3VwZGF0ZTogVVBEQVRFIHRl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQg PiA5MDA7CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBWQUNV VU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2Rl bGV0ZWQsIHZ0LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1l ID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsK KworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBs ZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAxMDB8ICAgICAgICAgICAgMAorKDEgcm93 KQorCitzdGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBDSEVD S1BPSU5UOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QK KyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0 LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAg ICAgIHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDEwMHwgICAg ICAgIDEwMHwgICAgICAgICAgMTAxCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNv bGF0aW9uX3NjaGVkdWxlCmluZGV4IDE0MzEwOWFhNGRhLi5lOTNkZDRmNjI2YyAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMv dGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCkBAIC05NSw2ICs5NSw3IEBAIHRl c3Q6IHRpbWVvdXRzCiB0ZXN0OiB2YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1 dW0tY29uZmxpY3QKIHRlc3Q6IHZhY3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVtLWV4 dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6b25z CiB0ZXN0OiBwcmVkaWNhdGUtaGFzaApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9u L3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90 ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFk LnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdkMzFkZGJl Y2U5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUxIEBACisj IFRlc3QgZm9yIGNoZWNraW5nIGRlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJv emVuIHR1cGxlcyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIERlYWRfdHVwbGVzIHZh bHVlcyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2VkIHR1 cGxlcyB3aGlsZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCisjIERlYWRf dHVwbGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQg d2l0aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCisjIGJ5IHRoZSB2YWx1ZSBv ZiB0aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIu CisKK3NldHVwCit7CisgICAgQ1JFQVRFIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0 aW9uKGlkIGludCwgaXZhbCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZik7 CisgICAgU0VUIHRyYWNrX2lvX3RpbWluZyA9IG9uOworfQorCit0ZWFyZG93bgoreworICAg IERST1AgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gQ0FTQ0FERTsKKyAgICBS RVNFVCB0cmFja19pb190aW1pbmc7Cit9CisKK3Nlc3Npb24gczEKK3N0ZXAgczFfYmVnaW5f cmVwZWF0YWJsZV9yZWFkICAgeworICBCRUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04gTEVW RUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisgIH0KK3N0ZXAgczFfY29tbWl0 ICAgICAgICAgICAgICAgICAgeyBDT01NSVQ7IH0KKworc2Vzc2lvbiBzMgorc3RlcCBzMl9p bnNlcnQgICAgICAgICAgICAgICAgICB7IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDEwMDApIEFzIGl2YWw7IH0KK3N0ZXAgczJfdXBkYXRlICAgICAgICAgICAg ICAgICAgeyBVUERBVEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBp dmFsICsgMiB3aGVyZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9kZWxldGUgICAgICAgICAgICAg ICAgICB7IERFTEVURSBGUk9NIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlk ID4gOTAwOyB9CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQgICAgICAgIHsgSU5TRVJUIElO VE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gdmFsdWVzICgxLDEpOyB9CitzdGVwIHMy X3ZhY3V1bSAgICAgICAgICAgICAgICAgIHsgVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uOyB9CitzdGVwIHMyX2NoZWNrcG9pbnQgICAgICAgICAgICAgIHsgQ0hFQ0tQT0lO VDsgfQorc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKK3sKKyAgICBTRUxFQ1QK KyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0 LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworfQorCitwZXJtdXRhdGlvbgorICAgIHMy X2luc2VydAorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMxX2JlZ2lu X3JlcGVhdGFibGVfcmVhZAorICAgIHMyX3VwZGF0ZQorICAgIHMyX2luc2VydF9pbnRlcnJ1 cHQKKyAgICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKKyAg ICBzMV9jb21taXQKKyAgICBzMl9jaGVja3BvaW50CisgICAgczJfdmFjdXVtCisgICAgczJf cHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0CmluZGV4IGExNjI2ZjNmYWU5Li44N2NlNzgyMTUzYiAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyMzUsNiArMjIzNSw0MCBAQCBwZ19zdGF0X3VzZXJf dGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5emVfY291bnQKICAgIEZST00g cGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZ WydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5E IChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90 YWJsZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2No ZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQs CisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3Jl YWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX3NjYW5uZWQs CisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0cy5wYWdlc19mcm96ZW4sCisg ICAgc3RhdHMucGFnZXNfYWxsX3Zpc2libGUsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQs CisgICAgc3RhdHMudHVwbGVzX2Zyb3plbiwKKyAgICBzdGF0cy5kZWFkX3R1cGxlcywKKyAg ICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQsCisgICAgc3RhdHMucmV2X2FsbF9mcm96ZW5f cGFnZXMsCisgICAgc3RhdHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzLAorICAgIHN0YXRzLndh bF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAor ICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisg ICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAgICBzdGF0 cy51c2VyX3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy5pbnRlcnJ1 cHRzCisgICBGUk9NIHBnX2RhdGFiYXNlIGRiLAorICAgIHBnX2NsYXNzIHJlbCwKKyAgICBw Z19uYW1lc3BhY2UgbnMsCisgICAgTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMocmVs Lm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRv dGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCBy ZWxfYmxrc19oaXQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHBhZ2VzX2Zyb3pl biwgcGFnZXNfYWxsX3Zpc2libGUsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCBk ZWFkX3R1cGxlcywgaW5kZXhfdmFjdXVtX2NvdW50LCByZXZfYWxsX2Zyb3plbl9wYWdlcywg cmV2X2FsbF92aXNpYmxlX3BhZ2VzLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVz LCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgc3lzdGVtX3Rp bWUsIHVzZXJfdGltZSwgdG90YWxfdGltZSwgaW50ZXJydXB0cykKKyAgV0hFUkUgKChkYi5k YXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSBBTkQgKHJlbC5vaWQgPSBzdGF0cy5yZWxp ZCkgQU5EIChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSBBTkQgKHJlbC5yZWxraW5kID0g J3InOjoiY2hhciIpKTsKIHBnX3N0YXRfd2FsfCBTRUxFQ1Qgd2FsX3JlY29yZHMsCiAgICAg d2FsX2ZwaSwKICAgICB3YWxfYnl0ZXMsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY4OWUwZGY3OWM1Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Mub3V0CkBAIC0wLDAgKzEsMjA2IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1 bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxl Y3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9m cGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3Ig aXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNr X2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0t LQorIG9uCisoMSByb3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAK K1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFi bGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7 CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMg dmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbix0dXBsZXNf ZGVsZXRlZCxyZWxwYWdlcyxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3pl biB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNf cmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAgNDU1IHwgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIHJwCitG Uk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9G RikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlz dGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBw YWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUg c2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NF TEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxl c19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3Zl ZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0ZWQgfCBy ZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxF Q1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFT IHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5 dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBMb29rIGludG8gV0FMIHJlY29y ZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkV1IsIHdhbF9ieXRlcyA+ IDAgQVMgZFdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCc7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0KKyB0ICAgfCB0CisoMSByb3cp CisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBu ZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0g cGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscGFn ZXNfZnJvemVuLTpmcCA+IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA+ IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIg PiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVs cGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAgICAgICAgfCB0ICAgICAgICAg ICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBy cCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IsIHdh bF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdB TCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyID4gMCBBUyBkV1Is IDpkd2IgPiAwIEFTIGRXQjsKKyBkd3IgfCBkd2IgCistLS0tLSstLS0tLQorIHQgICB8IHQK KygxIHJvdykKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxF Q1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBp IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBc Z3NldAorSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAy ID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9y LiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0 ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjIs IHdhbF9ieXRlcy06aHdiIEFTIGR3YjIsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTIKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAor LS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRl Y3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRmcGkyPTAgQVMgZEZQSSwgOmR3YjI9 MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQg ICB8IHQgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3pl bi06ZnAgPSAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1 cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5u ZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwor IHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwg cGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBm ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBwYWdlc19m cm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2Vz X3NjYW5uZWQgQVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBB TkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Is d2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVz dGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRF WF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRo ZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxl CitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBk d2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tVGhlcmUgYXJlIG5vdGhpbmcg Y2hhbmdlZAorU0VMRUNUIDpkd3IzPjAgQVMgZFdSLCA6ZGZwaTM9MCBBUyBkRlBJLCA6ZHdi Mz4wIEFTIGRXQjsKKyBkd3IgfCBkZnBpIHwgZHdiIAorLS0tLS0rLS0tLS0tKy0tLS0tCisg dCAgIHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBp bmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0 CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96 ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VM RUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAgQVMgcGFnZXNfZnJvemVuLHR1 cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQs cGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1 cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3Zl ZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0ICAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQK KygxIHJvdykKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CistLSBtdXN0 IGJlIGVtcHR5CitTRUxFQ1QgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlzaWJsZSwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisgcGFnZXNfZnJvemVu IHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxf dmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAgICAgICAgIDAKKygxIHJvdykKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdl cworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92 aXNpYmxlID4gMCBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9 IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBB UyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlz aWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAor LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxf ZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAorVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgrMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+ IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYgQVMgcGFnZXNf YWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zy b3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zp c2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JzsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9h bGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgICB8IGYKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3pl biBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2Vz IEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSB2YWN1dW0g ZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96 ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2Fs bF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxs X3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBwYWdl c19mcm96ZW4gfCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwg cmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg dCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAg ICB8IHQKKygxIHJvdykKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMoMCkgd2hlcmUgcmVsaWQgPiAwOworIG1pbiAKKy0tLS0tCisgMTEyCisoMSBy b3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQppbmRleCA3YTVhOTEwNTYyZS4uMjA2NDBjZDcyZjQgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMgKzEzNiw4IEBAIHRlc3Q6IGZhc3Rf ZGVmYXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBk cm9wcyB0aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVy IHRlc3RzIG1heSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBD aGVjayB2YWN1dW0gc3RhdGlzdGljcworIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTJlNWE1Nzk0YzMKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Muc3FsCkBAIC0wLDAgKzEsMTYwIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZh Y3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNv bGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4g YW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4g YW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdh bF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZp b3IgaXMgdW5zdGFibGUuCistLQorCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cg dHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVs dCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAn YWxsJzsKKworCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNU IHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAw CitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3Rh YmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90 OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxl ZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1Qg eCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUg dmVzdGF0OworCitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAy ID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBz dGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1 cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBB UyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK KworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9D TEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBl eHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1 dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQg c3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xl YW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19m cm96ZW4sdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpy cCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxw YWdlc19yZW1vdmVkID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNf ZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFn ZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVD VCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkg RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxn c2V0CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3Jl Y29yZHMgPiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworREVMRVRFIEZST00g dmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVj ayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQg bXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAg PiAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19k ZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBz ID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19y ZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBy cCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3ciwg d2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCist LSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMg ZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZh cmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdh bF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVz dGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRv IHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNz CistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlz IG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZw aSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNl IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBp Mj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdl c19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0g MCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdl c19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9 IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBn X2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBj Lm9pZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQs cmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBw cgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBT dG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBB UyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBG Uk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVG RkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmlu ZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBB UyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkz CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcg XGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBB UyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMgZFdCOworCistLQorLS0gTm93 LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBv ZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgor LS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJl IGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBB UyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRl ZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAg QVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3Zl ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCBw YWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JzsKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIGJhY2tlbmQgZGVmcmVlemVkIHBhZ2VzCitT RUxFQ1QgcGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2li bGUgPiAwIEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBB UyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJl dl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNf YWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2Fs bF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitVUERBVEUgdmVzdGF0IFNFVCB4ID0g eCsxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2 ZXN0YXQ7CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBh Z2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJv emVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNp YmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CitTRUxFQ1QgcGFn ZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2X2FsbF9mcm96 ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0Owor CistLSB2YWN1dW0gZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBB UyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zp c2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9w YWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVf cGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0JzsKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMo MCkgd2hlcmUgcmVsaWQgPiAwOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuMzQuMQoK --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: text/x-patch; charset=UTF-8; name="v8-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v8-0002-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBkMzcwYTc2NjY1YmRkNWU1N2E0MjkxNmRkYjIzNGIxYmE2YmU5MDZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCA1IFNlcCAyMDI0IDIxOjAwOjM1ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgYW5kIGluZGV4IHJlbGF0aW9ucy4gUmVtZW1iZXIs IHN0YXRpc3RpYyBvbiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMgYQogYml0IGRpZmZlcmVu dCAoc2VlIEV4dFZhY1JlcG9ydCB0byBmaW5kIG91dCBtb3JlIGluZm9ybWF0aW9uKS4gVGhl IGNvbmNlcHQgb2YKIHRoZSBFeHRWYWNSZXBvcnQgc3RydWN0dXJlIGhhcyBiZWVuIGNvbXBs aWNhdGVkIHRvIHN0b3JlIHN0YXRpc3RpYwogaW5mb3JtYXRpb24gZm9yIHR3byBraW5kcyBv ZiByZWxhdGlvbnM6IGZvciBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuCiBFeHRWYWNSZXBv cnRUeXBlIHZhcmlhYmxlIGhlbHBzIHRvIGRldGVybWluZSB3aGF0IHRoZSBraW5kIGlzIGNv bnNpZGVyaW5nCiBub3cuCgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYyAgICAgICAgICB8ICA5OSArKysrKysrKystLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDQwICsrKysrCiBzcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDcgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0MSArKystLQogc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTAwICsrKysrKystLS0t CiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkg Kwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUy ICsrKystLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAg IHwgICA3ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVj ICAgfCAgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAg ICAgICB8ICAyNiArKysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5v dXQgICAgICB8IDE2NCArKysrKysrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8ICAgOSArLQogc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92 YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8IDEzMCArKysrKysrKysrKysrKwogMTQg ZmlsZXMgY2hhbmdlZCwgNjA3IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCmluZGV4IGQ2MzMwM2M3ZmI3Li45YzUzZDBiNGM1NyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtMTY4LDYgKzE2OCw3IEBAIHR5cGVk ZWYgc3RydWN0IExWUmVsU3RhdGUKIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAqcmVs bmFtZXNwYWNlOwogCU9pZAkJCXJlbG9pZDsKKwlPaWQJCQlpbmRvaWQ7CiAJY2hhcgkgICAq cmVsbmFtZTsKIAljaGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICov CiAJQmxvY2tOdW1iZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlv bnMgKi8KQEAgLTI0Niw2ICsyNDcsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291 bnRlcnMKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OwogfSBMVkV4dFN0YXRDb3VudGVy czsKIAordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnNJZHgKK3sKKwlMVkV4dFN0 YXRDb3VudGVycyBjb21tb247CisJaW50NjQJCXBhZ2VzX2RlbGV0ZWQ7CisJaW50NjQJCXR1 cGxlc19yZW1vdmVkOworfSBMVkV4dFN0YXRDb3VudGVyc0lkeDsKKwogLyogbm9uLWV4cG9y dCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChM VlJlbFN0YXRlICp2YWNyZWwpOwogc3RhdGljIGJvb2wgaGVhcF92YWNfc2Nhbl9uZXh0X2Js b2NrKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgKmJsa25vLApAQCAtNDA4LDYg KzQxNiw0NiBAQCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291 bnRlcnMgKmNvdW50ZXJzLAogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hp dCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCitzdGF0aWMgdm9pZAorZXh0dmFjX3N0 YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3Rh dHMsCisJCQkJCSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycykKK3sKKwlleHR2 YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1vbik7CisJY291bnRlcnMtPnBh Z2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQgPSAwOworCisJaWYgKHN0 YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBYWFg6IFdoeSBkbyB3ZSBuZWVkIHRoaXMg Y29kZSBoZXJlPyBJZiBpdCBpcyBuZWVkZWQsIEkgZmVlbCBsYWNrIG9mCisJCSAqIGNvbW1l bnRzLCBkZXNjcmliaW5nIHRoZSByZWFzb24uCisJCSAqLworCQljb3VudGVycy0+dHVwbGVz X3JlbW92ZWQgPSBzdGF0cy0+dHVwbGVzX3JlbW92ZWQ7CisJCWNvdW50ZXJzLT5wYWdlc19k ZWxldGVkID0gc3RhdHMtPnBhZ2VzX2RlbGV0ZWQ7CisJfQorfQorCitzdGF0aWMgdm9pZAor ZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzLCBFeHRW YWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50ZXJz LT5jb21tb24sIHJlcG9ydCk7CisJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19JTkRF WDsKKworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogaWYgc29tZXRoaW5n IGdvZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFz ZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCisJCS8qIEZp bGwgaW5kZXgtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCXJlcG9ydC0+ aW5kZXgudHVwbGVzX2RlbGV0ZWQgPQorCQkJCQkJCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAt IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZDsKKwkJcmVwb3J0LT5pbmRleC5wYWdlc19kZWxl dGVkID0KKwkJCQkJCQlzdGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdlc19k ZWxldGVkOworCX0KK30KKwogLyoKICAqCWhlYXBfdmFjdXVtX3JlbCgpIC0tIHBlcmZvcm0g VkFDVVVNIGZvciBvbmUgaGVhcCByZWxhdGlvbgogICoKQEAgLTcxMSwxNCArNzU5LDE1IEBA IGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAog CWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQp OwogCiAJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLwot CWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOwot CWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwot CWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9mcm96ZW5fcGFnZXM7 Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNpYmxlID0gdmFjcmVsLT5zZXRfYWxsX3Zp c2libGVfcGFnZXM7Ci0JZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVkID0gdmFjcmVsLT50 dXBsZXNfZGVsZXRlZDsKLQlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+ dHVwbGVzX2Zyb3plbjsKLQlleHRWYWNSZXBvcnQuZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJl Y2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7Ci0JZXh0 VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5z OworCWV4dFZhY1JlcG9ydC50eXBlID0gUEdTVEFUX0VYVFZBQ19IRUFQOworCWV4dFZhY1Jl cG9ydC5oZWFwLnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJZXh0 VmFjUmVwb3J0LmhlYXAucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsK KwlleHRWYWNSZXBvcnQuaGVhcC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9mcm96ZW5f cGFnZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwt PnNldF9hbGxfdmlzaWJsZV9wYWdlczsKKwlleHRWYWNSZXBvcnQuaGVhcC50dXBsZXNfZGVs ZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJZXh0VmFjUmVwb3J0LmhlYXAudHVw bGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQuaGVh cC5kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKyB2YWNyZWwt Pm1pc3NlZF9kZWFkX3R1cGxlczsKKwlleHRWYWNSZXBvcnQuaGVhcC5pbmRleF92YWN1dW1f Y291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKIAogCS8qCiAJICogUmVwb3J0IHJl c3VsdHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCkBAIC0yNTgzLDYg KzI2MzIsMTAgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5k ZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZv OwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJz SWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwll eHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7 CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwt PnJlbDsKQEAgLTI2MDEsNiArMjY1NCw3IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxh dGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNz ZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3Ry ZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lk ID0gUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5m byh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNF X1ZBQ1VVTV9JTkRFWCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zm c2V0TnVtYmVyKTsKQEAgLTI2MDksNiArMjY2MywxMyBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5k ZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCWlz dGF0ID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCAodm9pZCAqKSB2 YWNyZWwtPmRlYWRfaXRlbXMsCiAJCQkJCQkJCSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2luZm8p OwogCisJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAq LworCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVy cywgJmV4dFZhY1JlcG9ydCk7CisKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdl dFJlbGlkKGluZHJlbCksCisJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAor CQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOworCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2 aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9y ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CiAJcGZyZWUo dmFjcmVsLT5pbmRuYW1lKTsKQEAgLTI2MzMsNiArMjY5NCwxMCBAQCBsYXp5X2NsZWFudXBf b25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3Rh dCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVk X2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOworCUV4 dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGlu ZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRy ZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTI2NTIsMTIgKzI3MTcs MjAgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVs a0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9 PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRp b25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxpZChp bmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJf aW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVAsCiAJCQkJ CQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CiAKIAlpc3Rh dCA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKKwkvKiBNYWtl IGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJZXh0dmFjX3N0 YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVw b3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVs KSwKKwkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJMCwgMCwg JmV4dFZhY1JlcG9ydCk7CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGlu Zm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJv cl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2YWNyZWwtPmluZG5h bWUpOwpAQCAtMzI3NCw3ICszMzQ3LDcgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQg KmFyZykKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKIAkJCWlm KGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKGVycmluZm8tPnJlbG9pZCk7CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3Io ZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hFQVApOwogCQkJaWYgKEJsb2NrTnVt YmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJl cklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTMyOTEsNyArMzM2NCw3IEBAIHZhY3V1 bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhB U0VfVkFDVVVNX0hFQVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlw Z3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOworCQkJCXBnc3Rh dF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19I RUFQKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJ ewogCQkJCWlmIChPZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBAIC0z MzA3LDE2ICszMzgwLDIyIEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJ CQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVg6CisJ CQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1 bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJZXJy Y29udGV4dCgid2hpbGUgdmFjdXVtaW5nIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVz LiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3Bh Y2UsIGVycmluZm8tPnJlbG5hbWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJS Q0JfUEhBU0VfSU5ERVhfQ0xFQU5VUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9S KQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdT VEFUX0VYVFZBQ19JTkRFWCk7CiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBp bmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+ aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJ CWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hFQVApOwogCQkJaWYgKEJsb2Nr TnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUg dHJ1bmNhdGluZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAg IGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxr bm8pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDI0NzE0N2Uw MjEzLi45MmY4MjM3M2M2YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bApAQCAtMTQzMiwzICsxNDMyLDQzIEBAIFdIRVJFCiAgIHJlbC5vaWQgPSBzdGF0cy5yZWxp ZCBBTkQKICAgbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSBBTkQKICAgcmVsLnJlbGtpbmQg PSAncic7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMKK1NFTEVD VAorICByZWwub2lkIGFzIHJlbGlkLAorICBucy5uc3BuYW1lIEFTICJzY2hlbWEiLAorICBy ZWwucmVsbmFtZSBBUyByZWxuYW1lLAorCisgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAg c3RhdHMudG90YWxfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg c3RhdHMudG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisg IHN0YXRzLnJlbF9ibGtzX2hpdCwKKworICBzdGF0cy5wYWdlc19kZWxldGVkLAorICBzdGF0 cy50dXBsZXNfZGVsZXRlZCwKKworICBzdGF0cy53YWxfcmVjb3JkcywKKyAgc3RhdHMud2Fs X2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisg IHN0YXRzLmJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUsCisgIHN0YXRz LnN5c3RlbV90aW1lLAorICBzdGF0cy51c2VyX3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUs CisgIHN0YXRzLmludGVycnVwdHMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisgIHBnX2Ns YXNzIHJlbCwKKyAgcGdfbmFtZXNwYWNlIG5zLAorICBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz KHJlbC5vaWQpIHN0YXRzCitXSEVSRQorICBkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFz ZSgpIEFORAorICByZWwub2lkID0gc3RhdHMucmVsaWQgQU5ECisgIG5zLm9pZCA9IHJlbC5y ZWxuYW1lc3BhY2UgQU5ECisgIHJlbC5yZWxraW5kID0gJ2knOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXQuYwppbmRleCAwYWUzNjc1ODVmYi4uMWMyZjAwNzg4ODAgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xMDgzLDcgKzEwODMsOCBAQCBw Z3N0YXRfdXBkYXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpCiAJUEdfVFJZKCk7CiAJ ewogCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVO Q1lfU05BUFNIT1Q7Ci0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9SRUxB VElPTik7CisJCWlmIChraW5kID09IFBHU1RBVF9LSU5EX1JFTEFUSU9OKQorCQkJcGdzdGF0 X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKIAl9CiAJUEdfRklOQUxM WSgpOwogCXsKQEAgLTExMzgsNiArMTEzOSwxMCBAQCBwZ3N0YXRfYnVpbGRfc25hcHNob3Qo UGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9wcGVkKQogCQkJY29udGludWU7 CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lOVkFMSUQgJiYgc3RhdEtpbmQg IT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Ygc3BlY2lmaWMgdHlwZSwgaWYg ZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0KHBnX2F0b21pY19yZWFkX3Uz MigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0YSA9IGRzYV9nZXRfYWRkcmVz cyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA3OTFkNzc3ZmJjNi4uNWM5NTM2M2Mw NGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jCkBAIC0yMTMsNyArMjEzLDcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVsYXRpb24g cmVsKQogICogLS0tLS0tLS0tCiAgKi8KIHZvaWQKLXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKE9pZCB0YWJsZW9pZCkKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJs ZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICpl bnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwpAQCAtMjMw LDYgKzIzMCw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCkK IAl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKIAogCXRhYmVudHJ5LT52YWN1dW1f ZXh0LmludGVycnVwdHMrKzsKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBl OwogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIH0KIApAQCAtMTA0MiwxNSAr MTA0MywzMSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0 ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3Nw ZWNpZmljX2luZm8pCiAJCXJldHVybjsKIAotCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+ Ymxrc19mZXRjaGVkOwotCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKLQotCWRz dC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3NjYW5uZWQ7Ci0JZHN0LT5wYWdlc19y ZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKLQlkc3QtPnBhZ2VzX2Zyb3plbiArPSBz cmMtPnBhZ2VzX2Zyb3plbjsKLQlkc3QtPnBhZ2VzX2FsbF92aXNpYmxlICs9IHNyYy0+cGFn ZXNfYWxsX3Zpc2libGU7Ci0JZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19k ZWxldGVkOwotCWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96ZW47Ci0J ZHN0LT5kZWFkX3R1cGxlcyArPSBzcmMtPmRlYWRfdHVwbGVzOwotCWRzdC0+aW5kZXhfdmFj dXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVtX2NvdW50OworCWlmIChkc3QtPnR5cGUg PT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorCQlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7CisK KwlBc3NlcnQoc3JjLT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBzcmMtPnR5 cGUgPT0gZHN0LT50eXBlKTsKKworCWlmIChkc3QtPnR5cGUgPT0gc3JjLT50eXBlKQorCXsK KwkJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJCWRzdC0+Ymxr c19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKKworCQlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9F WFRWQUNfSEVBUCkKKwkJeworCQkJZHN0LT5oZWFwLnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5o ZWFwLnBhZ2VzX3NjYW5uZWQ7CisJCQlkc3QtPmhlYXAucGFnZXNfcmVtb3ZlZCArPSBzcmMt PmhlYXAucGFnZXNfcmVtb3ZlZDsKKwkJCWRzdC0+aGVhcC5wYWdlc19mcm96ZW4gKz0gc3Jj LT5oZWFwLnBhZ2VzX2Zyb3plbjsKKwkJCWRzdC0+aGVhcC5wYWdlc19hbGxfdmlzaWJsZSAr PSBzcmMtPmhlYXAucGFnZXNfYWxsX3Zpc2libGU7CisJCQlkc3QtPmhlYXAudHVwbGVzX2Rl bGV0ZWQgKz0gc3JjLT5oZWFwLnR1cGxlc19kZWxldGVkOworCQkJZHN0LT5oZWFwLnR1cGxl c19mcm96ZW4gKz0gc3JjLT5oZWFwLnR1cGxlc19mcm96ZW47CisJCQlkc3QtPmhlYXAuZGVh ZF90dXBsZXMgKz0gc3JjLT5oZWFwLmRlYWRfdHVwbGVzOworCQkJZHN0LT5oZWFwLmluZGV4 X3ZhY3V1bV9jb3VudCArPSBzcmMtPmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50OworCQl9CisJ CWVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCQl7CisJCQlk c3QtPmluZGV4LnBhZ2VzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC5wYWdlc19kZWxldGVkOwor CQkJZHN0LT5pbmRleC50dXBsZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnR1cGxlc19kZWxl dGVkOworCQl9CisJfQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggODZiYTJhNjhiYWUuLmIwOGRlMTIyNjc0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjA4OSwxNyArMjA4 OSwxOSBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIH0KIAogI2Rl ZmluZSBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TCTI3CisjZGVmaW5lIEVYVFZBQ0lEWFNUQVRf Q09MVU1OUwkxOQorI2RlZmluZSBFWFRWQUNTVEFUX0NPTFVNTlMgTWF4KEVYVFZBQ0hFQVBT VEFUX0NPTFVNTlMsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUykKIAogc3RhdGljIHZvaWQKIHR1 cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJz aW5mbywKIAkJCQkJCQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeSkKIHsKLQlEYXR1 bQkJdmFsdWVzW0VYVFZBQ0hFQVBTVEFUX0NPTFVNTlNdOwotCWJvb2wJCW51bGxzW0VYVFZB Q0hFQVBTVEFUX0NPTFVNTlNdOworCURhdHVtCQl2YWx1ZXNbRVhUVkFDU1RBVF9DT0xVTU5T XTsKKwlib29sCQludWxsc1tFWFRWQUNTVEFUX0NPTFVNTlNdOwogCWNoYXIJCWJ1ZlsyNTZd OwogCWludAkJCWkgPSAwOwogCi0JbWVtc2V0KG51bGxzLCAwLCBFWFRWQUNIRUFQU1RBVF9D T0xVTU5TICogc2l6ZW9mKGJvb2wpKTsKKwltZW1zZXQobnVsbHMsIDAsIEVYVFZBQ1NUQVRf Q09MVU1OUyAqIHNpemVvZihib29sKSk7CiAKIAl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0 RGF0dW0ocmVsaWQpOwogCkBAIC0yMTEyLDE2ICsyMTE0LDI1IEBAIHR1cGxlc3RvcmVfcHV0 X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKIAkJCQkJ CQkJCXRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuYmxrc19oaXQpOwogCi0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX3NjYW5u ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4 dC5wYWdlc19yZW1vdmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50 cnktPnZhY3V1bV9leHQucGFnZXNfZnJvemVuKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNfYWxsX3Zpc2libGUpOwotCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC50dXBsZXNfZGVs ZXRlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1f ZXh0LnR1cGxlc19mcm96ZW4pOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC5kZWFkX3R1cGxlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmluZGV4X3ZhY3V1bV9jb3VudCk7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdl cyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT5yZXZfYWxsX3Zp c2libGVfcGFnZXMpOworCWlmICh0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID09IFBHU1RB VF9FWFRWQUNfSEVBUCkKKwl7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC5oZWFwLnBhZ2VzX3NjYW5uZWQpOworCQl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5wYWdlc19yZW1vdmVk KTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0 LmhlYXAucGFnZXNfZnJvemVuKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRh YmVudHJ5LT52YWN1dW1fZXh0LmhlYXAucGFnZXNfYWxsX3Zpc2libGUpOworCQl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC50dXBsZXNf ZGVsZXRlZCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFj dXVtX2V4dC5oZWFwLnR1cGxlc19mcm96ZW4pOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5kZWFkX3R1cGxlcyk7CisJCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLmluZGV4 X3ZhY3V1bV9jb3VudCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRy eS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0odGFiZW50cnktPnJldl9hbGxfdmlzaWJsZV9wYWdlcyk7CisKKwl9CisJZWxzZSBpZiAo dGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCXsK KwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0Lmlu ZGV4LnBhZ2VzX2RlbGV0ZWQpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFi ZW50cnktPnZhY3V1bV9leHQuaW5kZXgudHVwbGVzX2RlbGV0ZWQpOworCX0KIAogCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC53YWxfcmVjb3Jk cyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0 LndhbF9mcGkpOwpAQCAtMjE0OSwxMCArMjE2MCw5IEBAIHR1cGxlc3RvcmVfcHV0X2Zvcl9y ZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKICAqIEdldCB0aGUg dmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcyBvciBpbmRleGVzLgogICov CiBzdGF0aWMgdm9pZAotcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZv LCBpbnQgbmNvbHVtbnMpCitwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBmY2lu Zm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1bW5zKQogewogCVJldHVyblNl dEluZm8JCSAgICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8tPnJlc3VsdGlu Zm87Ci0JT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCVBnU3RhdF9TdGF0 VGFiRW50cnkgICAgKnRhYmVudHJ5OwogCiAJSW5pdE1hdGVyaWFsaXplZFNSRihmY2luZm8s IDApOwpAQCAtMjE2NSwzNCArMjE3NSwzOSBAQCBwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25D YWxsSW5mbyBmY2luZm8sIGludCBuY29sdW1ucykKIAlBc3NlcnQocnNpbmZvLT5zZXREZXNj LT5uYXR0cyA9PSBuY29sdW1ucyk7CiAJQXNzZXJ0KHJzaW5mby0+c2V0UmVzdWx0ICE9IE5V TEwpOwogCi0JLyogTG9hZCB0YWJsZSBzdGF0aXN0aWNzIGZvciBzcGVjaWZpZWQgZGF0YWJh c2UuICovCi0JaWYgKE9pZElzVmFsaWQocmVsaWQpKQorCWlmICh0eXBlID09IFBHU1RBVF9F WFRWQUNfSU5ERVggfHwgdHlwZSA9PSBQR1NUQVRfRVhUVkFDX0hFQVApCiAJewotCQl0YWJl bnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKLQkJaWYgKHRhYmVu dHJ5ID09IE5VTEwpCi0JCQkvKiBUYWJsZSBkb24ndCBleGlzdHMgb3IgaXNuJ3QgYW4gaGVh cCByZWxhdGlvbi4gKi8KLQkJCXJldHVybjsKKwkJT2lkCQkJCQlyZWxpZCA9IFBHX0dFVEFS R19PSUQoMCk7CiAKLQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJlbGlkLCByc2lu Zm8sIHRhYmVudHJ5KTsKLQl9Ci0JZWxzZQotCXsKLQkJU25hcHNob3RJdGVyYXRvcgkJaGFz aGl0ZXI7Ci0JCVBnU3RhdF9TbmFwc2hvdEVudHJ5ICAgKmVudHJ5OworCQkvKiBMb2FkIHRh YmxlIHN0YXRpc3RpY3MgZm9yIHNwZWNpZmllZCByZWxhdGlvbi4gKi8KKwkJaWYgKE9pZElz VmFsaWQocmVsaWQpKQorCQl7CisJCQl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3Rh YmVudHJ5KHJlbGlkKTsKKwkJCWlmICh0YWJlbnRyeSA9PSBOVUxMIHx8IHRhYmVudHJ5LT52 YWN1dW1fZXh0LnR5cGUgIT0gdHlwZSkKKwkJCQkvKiBUYWJsZSBkb24ndCBleGlzdHMgb3Ig aXNuJ3QgYW4gaGVhcCByZWxhdGlvbi4gKi8KKwkJCQlyZXR1cm47CiAKLQkJcGdzdGF0X3Vw ZGF0ZV9zbmFwc2hvdChQR1NUQVRfS0lORF9SRUxBVElPTik7CisJCQl0dXBsZXN0b3JlX3B1 dF9mb3JfcmVsYXRpb24ocmVsaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQl9CisJCWVsc2UK KwkJeworCQkJU25hcHNob3RJdGVyYXRvcgkJaGFzaGl0ZXI7CisJCQlQZ1N0YXRfU25hcHNo b3RFbnRyeSAgICplbnRyeTsKIAotCQkvKiBJdGVyYXRlIHRoZSBzbmFwc2hvdCAqLwotCQlJ bml0U25hcHNob3RJdGVyYXRvcihwZ1N0YXRMb2NhbC5zbmFwc2hvdC5zdGF0cywgJmhhc2hp dGVyKTsKKwkJCXBnc3RhdF91cGRhdGVfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04p OwogCi0JCXdoaWxlICgoZW50cnkgPSBTY2FuU3RhdFNuYXBzaG90KHBnU3RhdExvY2FsLnNu YXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIpKSAhPSBOVUxMKQotCQl7Ci0JCQlDSEVDS19GT1Jf SU5URVJSVVBUUygpOworCQkJLyogSXRlcmF0ZSB0aGUgc25hcHNob3QgKi8KKwkJCUluaXRT bmFwc2hvdEl0ZXJhdG9yKHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIp OworCisJCQl3aGlsZSAoKGVudHJ5ID0gU2NhblN0YXRTbmFwc2hvdChwZ1N0YXRMb2NhbC5z bmFwc2hvdC5zdGF0cywgJmhhc2hpdGVyKSkgIT0gTlVMTCkKKwkJCXsKKwkJCQlDSEVDS19G T1JfSU5URVJSVVBUUygpOwogCi0JCQl0YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRhYkVudHJ5 ICopIGVudHJ5LT5kYXRhOworCQkJCXRhYmVudHJ5ID0gKFBnU3RhdF9TdGF0VGFiRW50cnkg KikgZW50cnktPmRhdGE7CiAKLQkJCWlmICh0YWJlbnRyeSAhPSBOVUxMKQotCQkJCXR1cGxl c3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihlbnRyeS0+a2V5Lm9iam9pZCwgcnNpbmZvLCB0YWJl bnRyeSk7CisJCQkJaWYgKHRhYmVudHJ5ICE9IE5VTEwgJiYgdGFiZW50cnktPnZhY3V1bV9l eHQudHlwZSA9PSB0eXBlKQorCQkJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oZW50 cnktPmtleS5vYmpvaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQkJfQogCQl9CiAJfQogfQpA QCAtMjIwMyw3ICsyMjE4LDE4IEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZv IGZjaW5mbywgaW50IG5jb2x1bW5zKQogRGF0dW0KIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyhQ R19GVU5DVElPTl9BUkdTKQogewotCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIEVYVFZBQ0hF QVBTVEFUX0NPTFVNTlMpOworCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIFBHU1RBVF9FWFRW QUNfSEVBUCwgRVhUVkFDSEVBUFNUQVRfQ09MVU1OUyk7CiAKIAlQR19SRVRVUk5fVk9JRCgp OwogfQorCisvKgorICogR2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4 ZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FS R1MpCit7CisJcGdfc3RhdHNfdmFjdXVtKGZjaW5mbywgUEdTVEFUX0VYVFZBQ19JTkRFWCwg RVhUVkFDSURYU1RBVF9DT0xVTU5TKTsKKworCVBHX1JFVFVSTl9WT0lEKCk7CisgfQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4 IGQ1N2UxODFjNDE5Li41ZmVkNDBkNGRjOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CkBAIC0xMjI2Myw0ICsxMjI2MywxMyBAQAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKICAg cHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Js a3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3Nf cmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHBhZ2VzX2Zy b3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVsZXRlZCx0dXBsZXNfZnJvemVuLGRl YWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCxyZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3Jl YWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJfdGlt ZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1 bV90YWJsZXMnIH0sCit7IG9pZCA9PiAnODAwMicsCisgIGRlc2NyID0+ICdwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdwZ19z dGF0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAn cycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9y ZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlw ZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJl bGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQs dG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2Rl bGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxr X3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJf dGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzJyB9CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBi L3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDhhYjgwZGZlMTdlLi4yZTk5YmVmZTVkMCAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdz dGF0LmgKQEAgLTE2OSwxMSArMTY5LDE5IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNr ZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9jb3VudFtDT05GTElDVF9O VU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5OwogCisvKiBUeXBlIG9mIEV4 dFZhY1JlcG9ydCAqLwordHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKK3sKKwlQR1NU QVRfRVhUVkFDX0lOVkFMSUQgPSAwLAorCVBHU1RBVF9FWFRWQUNfSEVBUCA9IDEsCisJUEdT VEFUX0VYVFZBQ19JTkRFWCA9IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0tLS0t LS0tLQogICoKICAqIEV4dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlzdGlj cyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFkZGl0 aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRpb24u CiAgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2Fs bHkgc2hyYW5rLAogICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXpl IG9uIGRpc2spCiAgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGlu IHRoZSBpbmRleCBmaWxlCkBAIC0yMDUsMTQgKzIxMywzOCBAQCB0eXBlZGVmIHN0cnVjdCBF eHRWYWNSZXBvcnQKIAkvKiBJbnRlcnJ1cHRpb25zIG9uIGFueSBlcnJvcnMuICovCiAJaW50 MzIJCWludGVycnVwdHM7CiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIG51bWJlciBv ZiBwYWdlcyB3ZSBleGFtaW5lZCAqLwotCWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyogbnVt YmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXBhZ2VzX2Zyb3pl bjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCi0JaW50 NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFya2VkIGluIFZN IGFzIGFsbC12aXNpYmxlICovCi0JaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVz IGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBs ZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQlkZWFkX3R1cGxlczsJCS8qIG51 bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIGJ5 IHZhY3V1bSBvcGVyYXRpb24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBu dW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJ CS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBU aGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQg aW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVu aW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBz byB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2Yg Y29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3 YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1 cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZv ciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9u CisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBudW1i ZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQgKi8KKwkJCWludDY0CQlwYWdlc19yZW1vdmVkOwkJ LyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcGFn ZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4g Ki8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVyIG9mIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19kZWxldGVk OwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zy b3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJZGVh ZF90dXBsZXM7CQkvKiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hpY2ggdmFjdXVtIGNh bm5vdCBjbGVhbiB1cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJCQlpbnQ2NAkJaW5kZXhf dmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCQl9CQkJ aGVhcDsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVt YmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2Rl bGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJfQkJCWluZGV4Owor CX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsKIAogLyogLS0tLS0t LS0tLQpAQCAtNjkyLDcgKzcyNCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFj dXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVw b3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxp dmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCBy ZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3Io T2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAvKgogICogSWYg c3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFy ZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQv dmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29s YXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQK aW5kZXggN2NkYjc5YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmct aW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3RlcCBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFtZSAgICAgICAgICAg ICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8 ICAgICAgICAgIDB8ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFtZXx0dXBsZXNfZGVs ZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0ZXAgczFfYmVnaW5f cmVwZWF0YWJsZV9yZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVM IFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVj cy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVzdC9p c29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVj CmluZGV4IDdkMzFkZGJlY2U5Li5iY2EzZTg1MTZiMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5zcGVjCkBAIC00OCw0ICs0OCw0IEBAIHBlcm11dGF0aW9uCiAgICAg czFfY29tbWl0CiAgICAgczJfY2hlY2twb2ludAogICAgIHMyX3ZhY3V1bQotICAgIHMyX3By aW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKaW5kZXggODdjZTc4MjE1M2IuLmMzMTI0MjhlNjJiIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjIzNSw2ICsyMjM1LDMyIEBAIHBnX3N0YXRf dXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICBhdXRvYW5hbHl6ZV9jb3VudAogICAg RlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+IEFMTCAo QVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFtZV0p KSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRleHQpKTsKK3BnX3N0YXRfdmFj dXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUg QVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVh ZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2Rp cnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9i bGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX2Rl bGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMud2FsX3JlY29y ZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3Rh dHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0 cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnN5c3RlbV90aW1lLAorICAgIHN0YXRzLnVzZXJf dGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lLAorICAgIHN0YXRzLmludGVycnVwdHMKKyAg IEZST00gcGdfZGF0YWJhc2UgZGIsCisgICAgcGdfY2xhc3MgcmVsLAorICAgIHBnX25hbWVz cGFjZSBucywKKyAgICBMQVRFUkFMIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkg c3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Js a3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxr c19oaXQsIHBhZ2VzX2RlbGV0ZWQsIHR1cGxlc19kZWxldGVkLCB3YWxfcmVjb3Jkcywgd2Fs X2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlf dGltZSwgc3lzdGVtX3RpbWUsIHVzZXJfdGltZSwgdG90YWxfdGltZSwgaW50ZXJydXB0cykK KyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSBBTkQgKHJlbC5v aWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSBBTkQg KHJlbC5yZWxraW5kID0gJ2knOjoiY2hhciIpKTsKIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wg U0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAg ICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi40ZjZlMzA1NzEwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0w LDAgKzEsMTY0IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0 ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcg dmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFn ZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFn ZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRp c3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUu CistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0t IG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSBy b3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3Qg aXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBlbnN1cmUgcGVuZGlu ZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1f ZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsK Ky0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFC TEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAy ID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBz dGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNf ZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwg dHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAor RlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRl ZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJv emVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVk IHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1 cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMg dHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBs ZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAg ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAs cGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2Fs X2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBMb29rIGludG8g V0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3 YWxfYnl0ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKKyBkaXdyIHwgZGl3YiAKKy0tLS0tLSstLS0t LS0KKyB0ICAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9O KSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNf ZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQg PiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVk IHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMg QVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJP TSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3 ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRp ZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NF TEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CisgZGl3ciB8IGRp d2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJvdykKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdh bF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBG VUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFu Y2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBG VUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gV0FMIGFu ZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NF TEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMg ZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0rLS0tLS0tKy0tLS0tLQorIHQg ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06 aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2Rl bGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAg fCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZl c3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitT RUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQs dHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBp IEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0 YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVY X0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50 byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQor U0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRp d2IzLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLVRoZXJlIGFyZSBu b3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlmcGkzPTAgQVMg aUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0r LS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEgcm93KQorCistLQorLS0gTm93 LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBv ZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgor LS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJl IGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyBy ZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8 IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwg ZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgbWluKHJl bGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMoMCk7CisgbWluICAKKy0tLS0tLQor IDEyMzIKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQK aW5kZXggZjg5ZTBkZjc5YzUuLjA2OWFkMzUwNTZjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CkBA IC0zNyw4ICszNyw3IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFz cyBjCiBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMg fCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKIC0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLQotIHZlc3RhdCAgfCAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8 ICAgICAgNDU1IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAKLSgxIHJvdykKKygw IHJvd3MpCiAKIFNFTEVDVCByZWxwYWdlcyBBUyBycAogRlJPTSBwZ19jbGFzcyBjCkBAIC0x OTgsOSArMTk3LDkgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnOwogKDEgcm93KQogCiBTRUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSByZWxpZCA+IDA7Ci0gbWluIAotLS0tLS0KLSAx MTIKKyBtaW4gIAorLS0tLS0tCisgMTIxMwogKDEgcm93KQogCiBEUk9QIFRBQkxFIHZlc3Rh dCBDQVNDQURFOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hl ZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggMjA2NDBj ZDcyZjQuLjI1NzU0ZmY2YmQxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUK QEAgLTE0MCw0ICsxNDAsNSBAQCB0ZXN0OiB0YWJsZXNwYWNlCiAjIC0tLS0tLS0tLS0KICMg Q2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKICMgLS0tLS0tLS0tLQordGVzdDogdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3MKIHRlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNzVlNTk3NGViNTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKQEAgLTAsMCArMSwxMzAg QEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0t IENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3Bl cmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkg dmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVk IGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGlu IHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBj b25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBv bgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4u LgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKworCistLSBlbnN1cmUgcGVuZGlu ZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdl ID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19m ZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBp bnQgcHJpbWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxF Q1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0g QmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcg aXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1 cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNz IGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMu b2lkOworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJV RkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CisKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mg c2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4g dXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVz ZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1l LHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxl dGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVD VCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkg RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qg d2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdhbF9ieXRlcyA+IDAgQVMgZGlXQgorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOwor CitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNl c3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBw YWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVz X2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3 Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNl IHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2Ig PiAwIEFTIGRpV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMg aWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0 IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0 YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCist LSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5l Y2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz LTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBp IEFTIGRpZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBh ZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlX UiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7CisKK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlw ZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFT IGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5E IHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Is d2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVO Q0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAx MjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20g dGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMywgd2FsX2J5dGVz LTppd2IgQVMgZGl3YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkzCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor LS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwg OmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisKKy0tCistLSBOb3csIHRo ZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBh Z2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBU aGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hh bmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBh Z2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVs ZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzKDApOworCitEUk9QIFRBQkxFIHZlc3RhdDsKLS0gCjIuMzQu MQoK --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: text/x-patch; charset=UTF-8; name="v8-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v8-0003-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBiNzBmNmE4ZmM1ZDFlZGExZjFkZDQwMzM5ZmVlZTk5YzAzYTk5ZDI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCA1IFNlcCAyMDI0IDIwOjUzOjA1ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGRhdGFiYXNlcy4gSXQgdHJhbnNtaXRzIHZhY3V1bSBzdGF0 aXN0aWNhbCBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIHRhYmxlIGFuZAogYWNjdW11bGF0ZXMg aXQgZm9yIHRoZSBkYXRhYmFzZSB3aGljaCB0aGUgdGFibGUgYmVsb25nZWQuCgotLS0KIHNy Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8IDI4ICsrKysr KysKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAy ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAx ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8IDE2 ICsrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8 IDc0ICsrKysrKysrKysrKysrKysrLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dCAgICAgICAgICAgICAgIHwgMTEgKystCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQgICAgICAgICAgIHwgMTggKysrKysKIC4uLnV0ID0+IHZhY3V1bV90YWJsZXNf YW5kX2RiX3N0YXRpc3RpY3Mub3V0fSB8IDc4ICsrKysrKysrKysrKysrKysrKysKIHNyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAyICstCiAuLi5x bCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbH0gfCA2NiArKysrKysr KysrKysrKystCiAxMSBmaWxlcyBjaGFuZ2VkLCAyOTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3t2YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3Mub3V0ID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mu b3V0fSAoNzYlKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3t2YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Muc3FsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3Fs fSAoNzglKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCA5MmY4 MjM3M2M2YS4uZDVjMGFlOGIzN2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwKQEAgLTE0NzIsMyArMTQ3MiwzMSBAQCBXSEVSRQogICByZWwub2lkID0gc3RhdHMu cmVsaWQgQU5ECiAgIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UgQU5ECiAgIHJlbC5yZWxr aW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUwor U0VMRUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisK KyAgc3RhdHMuZGJfYmxrc19yZWFkLAorICBzdGF0cy5kYl9ibGtzX2hpdCwKKyAgc3RhdHMu dG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAg c3RhdHMud2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGksCisgIHN0YXRzLndhbF9ieXRl cywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KworICBzdGF0cy5kZWxheV90aW1lLAorICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAgc3RhdHMu dXNlcl90aW1lLAorICBzdGF0cy50b3RhbF90aW1lLAorCisgIHN0YXRzLmludGVycnVwdHMK K0ZST00KKyAgcGdfZGF0YWJhc2UgZGIgTEVGVCBKT0lOIHBnX3N0YXRfdmFjdXVtX2RhdGFi YXNlKGRiLm9pZCkgc3RhdHMKK09OCisgIGRiLm9pZCA9IHN0YXRzLmRib2lkOwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMK aW5kZXggMWMyZjAwNzg4ODAuLmZiYWMwODlmNjI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXQuYwpAQCAtMTA4NSw2ICsxMDg1LDggQEAgcGdzdGF0X3VwZGF0ZV9zbmFw c2hvdChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQ R1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1Q7CiAJCWlmIChraW5kID09IFBHU1RB VF9LSU5EX1JFTEFUSU9OKQogCQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5E X1JFTEFUSU9OKTsKKwkJZWxzZSBpZiAoa2luZCA9PSBQR1NUQVRfS0lORF9EQVRBQkFTRSkK KwkJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9EQVRBQkFTRSk7CiAJfQog CVBHX0ZJTkFMTFkoKTsKIAl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfZGF0YWJhc2UuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF9kYXRhYmFzZS5jCmluZGV4IDI5YmMwOTA5NzQ4Li5hMDYwZDFhNDA0MiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMKQEAgLTQz MCw2ICs0MzAsNyBAQCBwZ3N0YXRfZGF0YWJhc2VfZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVm ICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlf cmVmKTsKIAogCW1lbXNldChwZW5kaW5nZW50LCAwLCBzaXplb2YoKnBlbmRpbmdlbnQpKTsK KwltZW1zZXQoJihwZW5kaW5nZW50KS0+dmFjdXVtX2V4dCwgMCwgc2l6ZW9mKEV4dFZhY1Jl cG9ydCkpOwogCiAJcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDVjOTUzNjNjMDRhLi43MjVlMjY0MjNm MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9u LmMKQEAgLTIxOSw2ICsyMTksNyBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQg dGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQogCVBnU3RhdFNoYXJlZF9SZWxh dGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKIAlP aWQJCQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7CisJUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVu dHJ5OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5ICovCiAKIAlpZiAoIXBnc3RhdF90cmFj a19jb3VudHMpCiAJCXJldHVybjsKQEAgLTIzMiw2ICsyMzMsMTAgQEAgcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkK IAl0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1cHRzKys7CiAJdGFiZW50cnktPnZhY3V1 bV9leHQudHlwZSA9IG1fdHlwZTsKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7 CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2VfcGVuZGluZyhkYm9pZCk7CisJ ZGJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1cHRzKys7CisJZGJlbnRyeS0+dmFjdXVtX2V4 dC50eXBlID0gbV90eXBlOwogfQogCiAvKgpAQCAtMjQ1LDYgKzI1MCw3IEBAIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJUGdTdGF0X0VudHJ5 UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5Owog CVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9EYXRhYmFz ZSAqZGJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlE YXRhYmFzZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKIApAQCAtMjk4LDYgKzMwNCwxNiBAQCBw Z3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCSAqIFZB Q1VVTSBjb21tYW5kIGhhcyBwcm9jZXNzZWQgYWxsIHRhYmxlcyBhbmQgY29tbWl0dGVkLgog CSAqLwogCXBnc3RhdF9mbHVzaF9pbyhmYWxzZSk7CisJaWYgKGRib2lkICE9IEludmFsaWRP aWQpCisJeworCQllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdT VEFUX0tJTkRfREFUQUJBU0UsCisJCQkJCQkJCQkJCWRib2lkLCBJbnZhbGlkT2lkLCBmYWxz ZSk7CisJCWRiZW50cnkgPSAoUGdTdGF0U2hhcmVkX0RhdGFiYXNlICopIGVudHJ5X3JlZi0+ c2hhcmVkX3N0YXRzOworCisJCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmZGJl bnRyeS0+c3RhdHMudmFjdXVtX2V4dCwgcGFyYW1zLCBmYWxzZSk7CisJCXBnc3RhdF91bmxv Y2tfZW50cnkoZW50cnlfcmVmKTsKKwl9CisKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKaW5kZXggYjA4ZGUxMjI2NzQuLjU0MDYxMDJkY2JmIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjA5MCw4ICsyMDkwLDQ5IEBAIHBn X3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogCiAjZGVmaW5lIEVYVFZBQ0hF QVBTVEFUX0NPTFVNTlMJMjcKICNkZWZpbmUgRVhUVkFDSURYU1RBVF9DT0xVTU5TCTE5Cisj ZGVmaW5lIEVYVFZBQ0RCU1RBVF9DT0xVTU5TCTE1CiAjZGVmaW5lIEVYVFZBQ1NUQVRfQ09M VU1OUyBNYXgoRVhUVkFDSEVBUFNUQVRfQ09MVU1OUywgRVhUVkFDSURYU1RBVF9DT0xVTU5T KQogCitzdGF0aWMgdm9pZAordHVwbGVzdG9yZV9wdXRfZm9yX2RhdGFiYXNlKE9pZCBkYmlk LCBSZXR1cm5TZXRJbmZvICpyc2luZm8sCisJCQkJCQkJUGdTdGF0U2hhcmVkX0RhdGFiYXNl ICpkYmVudHJ5KQoreworCURhdHVtCQl2YWx1ZXNbRVhUVkFDREJTVEFUX0NPTFVNTlNdOwor CWJvb2wJCW51bGxzW0VYVFZBQ0RCU1RBVF9DT0xVTU5TXTsKKwljaGFyCQlidWZbMjU2XTsK KwlpbnQJCQlpID0gMDsKKworCW1lbXNldChudWxscywgMCwgRVhUVkFDREJTVEFUX0NPTFVN TlMgKiBzaXplb2YoYm9vbCkpOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVt KGRiaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRz LnZhY3V1bV9leHQudG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX2hpdCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQudG90 YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRy eS0+c3RhdHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQud2FsX3JlY29y ZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1 dW1fZXh0LndhbF9mcGkpOworCisJLyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0 YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZP Uk1BVCwgZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC53YWxfYnl0ZXMpOworCXZhbHVlc1tp KytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBDU3Ry aW5nR2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJ CQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LmJsa19yZWFkX3RpbWUpOworCXZh bHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC5i bGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5 LT5zdGF0cy52YWN1dW1fZXh0LmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC5zeXN0ZW1fdGltZSk7CisJdmFs dWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnVz ZXJfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0 cy52YWN1dW1fZXh0LnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1 bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LmludGVycnVwdHMpOworCisJQXNzZXJ0KGkg PT0gcnNpbmZvLT5zZXREZXNjLT5uYXR0cyk7CisJdHVwbGVzdG9yZV9wdXR2YWx1ZXMocnNp bmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywgdmFsdWVzLCBudWxscyk7Cit9CisK IHN0YXRpYyB2b2lkCiB0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oT2lkIHJlbGlkLCBS ZXR1cm5TZXRJbmZvICpyc2luZm8sCiAJCQkJCQkJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFi ZW50cnkpCkBAIC0yMjEwLDYgKzIyNTEsMjYgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9u Q2FsbEluZm8gZmNpbmZvLCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykK IAkJCX0KIAkJfQogCX0KKwllbHNlIGlmICh0eXBlID09IFBHU1RBVF9FWFRWQUNfREIpCisJ eworCQlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UJICAgKmRiZW50cnk7CisJCVBnU3RhdF9FbnRy eVJlZiAJCSAgICplbnRyeV9yZWY7CisJCU9pZAkJCQkJCQlkYmlkID0gUEdfR0VUQVJHX09J RCgwKTsKKworCQlpZiAoT2lkSXNWYWxpZChkYmlkKSkKKwkJeworCQkJZW50cnlfcmVmID0g cGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJ CQkJCQkJCQlkYmlkLCBJbnZhbGlkT2lkLCBmYWxzZSk7CisJCQlkYmVudHJ5ID0gKFBnU3Rh dFNoYXJlZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQkJaWYg KGRiZW50cnkgPT0gTlVMTCkKKwkJCQkvKiBUYWJsZSBkb2Vzbid0IGV4aXN0IG9yIGlzbid0 IGEgaGVhcCByZWxhdGlvbiAqLworCQkJCXJldHVybjsKKworCQkJdHVwbGVzdG9yZV9wdXRf Zm9yX2RhdGFiYXNlKGRiaWQsIHJzaW5mbywgZGJlbnRyeSk7CisJCQlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGVudHJ5X3JlZik7CisJCX0KKwl9CiB9CiAKIC8qCkBAIC0yMjMyLDQgKzIyOTMs MTUgQEAgcGdfc3RhdF92YWN1dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQogCXBnX3N0 YXRzX3ZhY3V1bShmY2luZm8sIFBHU1RBVF9FWFRWQUNfSU5ERVgsIEVYVFZBQ0lEWFNUQVRf Q09MVU1OUyk7CiAKIAlQR19SRVRVUk5fVk9JRCgpOwotIH0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCisgfQorCisvKgorICogR2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3Ig dGhlIGRhdGFiYXNlLgorICovCitEYXR1bQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBQR1NUQVRfRVhU VkFDX0RCLCBFWFRWQUNEQlNUQVRfQ09MVU1OUyk7CisKKwlQR19SRVRVUk5fVk9JRCgpOwor fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CmluZGV4IDVmZWQ0MGQ0ZGM4Li44NzA5YTIxODE0NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CkBAIC0xMjI3MSw1ICsxMjI3MSwxNCBAQAogICBwcm9hbGxhcmd0eXBlcyA9PiAn e29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGludDR9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90 YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90 aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsc3lzdGVtX3RpbWUsdXNlcl90aW1lLHRv dGFsX3RpbWUsaW50ZXJydXB0c30nLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMnIH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV9pbmRleGVzJyB9LAoreyBv aWQgPT4gJzgwMDMnLAorICBkZXNjciA9PiAncGdfc3RhdF92YWN1dW1fZGF0YWJhc2UgcmV0 dXJuIHN0YXRzIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfdmFjdXVtX2RhdGFi YXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUg PT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAor ICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lk LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxm bG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAorICBwcm9hcmdtb2RlcyA9PiAn e2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4g J3tkYmlkLGRib2lkLGRiX2Jsa3NfcmVhZCxkYl9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRp ZWQsdG90YWxfYmxrc193cml0dGVuLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJs a19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSxzeXN0ZW1fdGltZSx1c2Vy X3RpbWUsdG90YWxfdGltZSxpbnRlcnJ1cHRzfScsCisgIHByb3NyYyA9PiAncGdfc3RhdF92 YWN1dW1fZGF0YWJhc2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQu aCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDJlOTliZWZlNWQwLi40YzhiMGE0NTMz MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUv cGdzdGF0LmgKQEAgLTE3NCw3ICsxNzQsOCBAQCB0eXBlZGVmIGVudW0gRXh0VmFjUmVwb3J0 VHlwZQogewogCVBHU1RBVF9FWFRWQUNfSU5WQUxJRCA9IDAsCiAJUEdTVEFUX0VYVFZBQ19I RUFQID0gMSwKLQlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgorCVBHU1RBVF9FWFRWQUNfSU5E RVggPSAyLAorCVBHU1RBVF9FWFRWQUNfREIgPSAzLAogfSBFeHRWYWNSZXBvcnRUeXBlOwog CiAvKiAtLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4 IGMzMTI0MjhlNjJiLi5lMGRjYzUxMzk3MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKQEAgLTIyMzUsNiArMjIzNSwyNCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBT RUxFQ1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5emVfY291bnQKICAgIEZST00gcGdfc3RhdF9h bGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRh bG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFu YW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwg U0VMRUNUIGRiLm9pZCBBUyBkYm9pZCwKKyAgICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKKyAg ICBzdGF0cy5kYl9ibGtzX3JlYWQsCisgICAgc3RhdHMuZGJfYmxrc19oaXQsCisgICAgc3Rh dHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwK KyAgICBzdGF0cy53YWxfcmVjb3JkcywKKyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRz LndhbF9ieXRlcywKKyAgICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193 cml0ZV90aW1lLAorICAgIHN0YXRzLmRlbGF5X3RpbWUsCisgICAgc3RhdHMuc3lzdGVtX3Rp bWUsCisgICAgc3RhdHMudXNlcl90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAg c3RhdHMuaW50ZXJydXB0cworICAgRlJPTSAocGdfZGF0YWJhc2UgZGIKKyAgICAgTEVGVCBK T0lOIExBVEVSQUwgcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9p ZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3Rh bF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCBzeXN0ZW1fdGltZSwgdXNl cl90aW1lLCB0b3RhbF90aW1lLCBpbnRlcnJ1cHRzKSBPTiAoKGRiLm9pZCA9IHN0YXRzLmRi b2lkKSkpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVs aWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5k X2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggNzYlCnJlbmFtZSBmcm9tIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApy ZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9k Yl9zdGF0aXN0aWNzLm91dAppbmRleCAwNjlhZDM1MDU2Yy4uZmJiYjI2NTYwZGYgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNf YW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDYgKzYsOSBAQAogLS0gbnVtYmVyIG9mIGZy b3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCiAtLSBTdGF0aXN0 aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBi ZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9z dGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CiAt LSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBi ZSBvbgogIHRyYWNrX2NvdW50cyAKQEAgLTIwMiw0ICsyMDUsNzkgQEAgU0VMRUNUIG1pbihy ZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMoMCkgd2hlcmUgcmVsaWQgPiAwOwog IDEyMTMKICgxIHJvdykKIAorLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBj dXJyZW50IGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4g MCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRv dGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29y ZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMg PiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB1c2VyX3RpbWUgPiAwIEFTIHVzZXJfdGltZSwK KyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3Zh Y3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpOworICAg ICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxr c19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBp IHwgd2FsX2J5dGVzIHwgdXNlcl90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFj dXVtX2RiIHwgdCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAg ICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CistLSBlbnN1 cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4 dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50 KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJ TlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2Ft cGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VUIHgg PSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKKy0tIE5vdyBj aGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90 aGVyIGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBB UyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFs X2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFs X2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMs CisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAw IEFTIHdhbF9ieXRlcywKKyAgICAgICB1c2VyX3RpbWUgPiAwIEFTIHVzZXJfdGltZSwKKyAg ICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3ZhY3V1 bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYic7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQg fCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3Jk cyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB1c2VyX3RpbWUgfCB0b3RhbF90aW1lIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIgfCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNf dmFjdXVtX2RiCitSRVNFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2U7CitSRVNFVCB2YWN1dW1f ZnJlZXplX3RhYmxlX2FnZTsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VMRUNUIGNvdW50KCopCitGUk9NIHBn X2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApCitXSEVS RSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEg cm93KQorCitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9J TiBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSgwKQorV0hFUkUgb2lkID0gMDsgLS0gbXVzdCBi ZSAwCisgY291bnQgCistLS0tLS0tCisgICAgIDAKKygxIHJvdykKKworXGMgcG9zdGdyZXMK K0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1Ag REFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggMjU3NTRmZjZiZDEuLjMwMWJlMDRhM2Q2IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0MSw0ICsxNDEsNCBAQCB0ZXN0 OiB0YWJsZXNwYWNlCiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0K IHRlc3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCi10ZXN0OiB2YWN1dW1fdGFibGVzX3N0 YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0OiB2YWN1dW1fdGFi bGVzX2FuZF9kYl9zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRp c3RpY3Muc3FsCnNpbWlsYXJpdHkgaW5kZXggNzglCnJlbmFtZSBmcm9tIHNyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKcmVuYW1lIHRvIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCmlu ZGV4IGUyZTVhNTc5NGMzLi4zZjE5OTM2Y2E2MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApAQCAtNyw2 ICs3LDEwIEBACiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRo aXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCiAKK0NSRUFU RSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVBVEUgREFU QUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYjsKKwogLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCiBTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1 bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KQEAgLTE1Nyw0ICsxNjEsNjQgQEAgRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBT RUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSBy ZWxpZCA+IDA7CiAKLURST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQorLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJy ZW50IGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBB UyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFs X2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFs X2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMs CisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAw IEFTIHdhbF9ieXRlcywKKyAgICAgICB1c2VyX3RpbWUgPiAwIEFTIHVzZXJfdGltZSwKKyAg ICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3ZhY3V1 bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpOworCitEUk9Q IFRBQkxFIHZlc3RhdCBDQVNDQURFOworCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUg Zmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitDUkVBVEUg VEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitV UERBVEUgdmVzdGF0IFNFVCB4ID0gMTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNf dmFjdXVtX2RiMTsKKworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBwb3N0 Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisg ICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Js a3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Js a3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNv cmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBp LAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHVzZXJfdGlt ZSA+IDAgQVMgdXNlcl90aW1lLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3Rp bWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiJzsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiCisKK1JFU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZTsKK1JFU0VUIHZh Y3V1bV9mcmVlemVfdGFibGVfYWdlOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKwor XGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFTEVDVCBjb3VudCgqKQor RlJPTSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygw KQorV0hFUkUgb2lkID0gMDsgLS0gbXVzdCBiZSAwCisKK1NFTEVDVCBjb3VudCgqKQorRlJP TSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKDAp CitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFU QUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0Ug cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwotLSAKMi4zNC4xCgo= --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: text/x-patch; charset=UTF-8; name="v8-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v8-0004-Add-documentation-about-the-system-views-that-are-us"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSA2ODk4OGUyNWRlYjY4YTk0NGRjMzYyMGExMzM2MDE3MmUyM2JjYTY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc0NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NDcgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA2MzRhNGMwZmFiNC4uOGNi Y2NkYzRhNGQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjQsNCArNTA2NCw3 NTEgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXRzLXZhY3V1bS1kYXRhYmFzZSI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0g em9uZT0idmlldy1wZy1zdGF0cy12YWN1dW0tZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdf c3RhdF92YWN1dW1fZGF0YWJhc2U8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxw YXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fZGF0YWJhc2U8 L3N0cnVjdG5hbWU+IHdpbGwgY29udGFpbgorICAgb25lIHJvdyBmb3IgZWFjaCBkYXRhYmFz ZSBpbiB0aGUgY3VycmVudCBjbHVzdGVyLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQKKyAg IHZhY3V1bWluZyB0aGF0IGRhdGFiYXNlLgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAg PHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1l PiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGJpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2Yg dGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZl ciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg ZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg d3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVj b3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2Vu ZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlz IGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRl czwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tz IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFi YXNlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10 aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9w ZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxp c2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBl bmFibGVkLAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMg KHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29z dCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1l IG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vj b25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2Us IGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5p bnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1 cHRlZCBvbiBhbnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK KyAgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXRzLXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2luZGV4ZXM8L3N0cnVjdG5hbWU+PC90aXRs ZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLWluZGV4ZXMi PgorICAgPHByaW1hcnk+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9p bmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cg Zm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FT VAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1p bmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBD b2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5Pgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVs aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hl bWEgdGhpcyBpbmRleCBpcyBpbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHRpbWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBi dWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9u IHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxf Ymxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tz IGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRo aXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg aW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVh ZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyBy ZWFkIGZyb20gdGhpcworICAgICAgICBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1l cyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4g dGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQg d2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGlu IHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5n IHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFn ZXMgZGVsZXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNf ZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBv cGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1i ZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwg ZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2Yg V0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJm b3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0 YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAg ICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10 cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8p CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZh Y3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBt aWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4g aXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9h dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBz cGVudCBzbGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0 aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRz IChzZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNv c3QiLz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGlt ZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxs aXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0 czwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBh bnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90 Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyA8c2VjdDEg aWQ9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFt ZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5k ZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgICA8cHJpbWFy eT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisg IDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVz PC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggdGFibGUg aW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGVzKSwg c2hvd2luZyBzdGF0aXN0aWNzIGFib3V0IHZhY3V1bWluZyB0aGF0IHNwZWNpZmljIHRhYmxl LgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0 YXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdy b3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9m IGEgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyB0YWJsZSBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0 YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19mcm96ZW48L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBtYXJrZWQgcGFnZXMg b2YgdGhpcyB0YWJsZQorICAgICAgICBhcyBhbGwtZnJvemVuIGluIHRoZSB2aXNpYmlsaXR5 IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19hbGxfdmlz aWJsZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFzIGFsbC12aXNpYmxlIGlu IHRoZSB2aXNpYmlsaXR5IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVz IHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19mcm96ZW48L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0dXBsZXMgb2YgdGhpcyB0YWJsZSB0aGF0IHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBhcworICAgICAgICBmcm96ZW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+ZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1 cGxlcyB2YWN1dW0gb3BlcmF0aW9ucyBsZWZ0IGluIHRoaXMgdGFibGUgZHVlCisgICAgICAg IHRvIHRoZWlyIHZpc2liaWxpdHkgaW4gdHJhbnNhY3Rpb25zCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmluZGV4X3ZhY3V1bV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHRpbWVzIGluZGV4ZXMgb24gdGhpcyB0YWJsZSB3ZXJlIHZhY3V1bWVkCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJldl9hbGxfZnJvemVuX3BhZ2Vz PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gbWFyayBp biB0aGUgdmlzaWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9m IHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFs bC12aXNpYmxlIG1hcmsgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICAgIHdhcyByZW1v dmVkIGZvciBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2Yg V0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBl cmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBw YWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5 dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtf cmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2Ug YmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1p by10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIHRhYmxlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzIChzZWUg PHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4K KyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2 YWN1dW1pbmcgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQ VSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0czwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHRoaXMgdGFibGUKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVs ZD50b3RhbF8qPC9zdHJ1Y3RmaWVsZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0Zmll bGQ+CisgICAgYW5kIDxzdHJ1Y3RmaWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUg ZGF0YSBvbiB2YWN1dW1pbmcgaW5kZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5z CisgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1 Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAg IG9uIHZhY3V1bWluZyB0aGUgaGVhcC48L3BhcmE+CisgPC9zZWN0MT4KKwogPC9jaGFwdGVy PgotLSAKMi4zNC4xCgo= --------------vJek1neamzIBrBlq5uhLRgJx Content-Type: text/plain; charset=UTF-8; name="minor-vacuum.no-cbot" Content-Disposition: attachment; filename="minor-vacuum.no-cbot" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggMTE4MjBhNTc5MWMuLjU0 MDYxMDJkY2JmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVu Y3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjIz NSw2ICsyMjM1LDggQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZv LCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIAkJCVNuYXBzaG90SXRl cmF0b3IJCWhhc2hpdGVyOwogCQkJUGdTdGF0X1NuYXBzaG90RW50cnkgICAqZW50cnk7CiAK KwkJCXBnc3RhdF91cGRhdGVfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOworCiAJ CQkvKiBJdGVyYXRlIHRoZSBzbmFwc2hvdCAqLwogCQkJSW5pdFNuYXBzaG90SXRlcmF0b3Io cGdTdGF0TG9jYWwuc25hcHNob3Quc3RhdHMsICZoYXNoaXRlcik7CiAKQEAgLTIyNDUsNyAr MjI0Nyw3IEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgRXh0 VmFjUmVwb3J0VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMpCiAJCQkJdGFiZW50cnkgPSAoUGdT dGF0X1N0YXRUYWJFbnRyeSAqKSBlbnRyeS0+ZGF0YTsKIAogCQkJCWlmICh0YWJlbnRyeSAh PSBOVUxMICYmIHRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPT0gdHlwZSkKLQkJCQkJdHVw bGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJlbGlkLCByc2luZm8sIHRhYmVudHJ5KTsKKwkJ CQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKGVudHJ5LT5rZXkub2Jqb2lkLCByc2lu Zm8sIHRhYmVudHJ5KTsKIAkJCX0KIAkJfQogCX0KQEAgLTIyOTAsMTAgKzIyOTIsOSBAQCBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJcGdfc3RhdHNf dmFjdXVtKGZjaW5mbywgUEdTVEFUX0VYVFZBQ19JTkRFWCwgRVhUVkFDSURYU1RBVF9DT0xV TU5TKTsKIAotIAlQR19SRVRVUk5fVk9JRCgpOworCVBHX1JFVFVSTl9WT0lEKCk7CiAgfQog Ci0KIC8qCiAgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgZGF0YWJhc2Uu CiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGIwNDcxMWJiMGEzLi44NzA5 YTIxODE0NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAor KysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjI1Niw3ICsxMjI1 Niw3IEBACiAgIHByb3NyYyA9PiAncGdfZ2V0X3dhbF9zdW1tYXJpemVyX3N0YXRlJyB9LAog eyBvaWQgPT4gJzgwMDEnLAogICBkZXNjciA9PiAncGdfc3RhdF92YWN1dW1fdGFibGVzIHJl dHVybiBzdGF0cyB2YWx1ZXMnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X3ZhY3V1bV90YWJs ZXMnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNz dHJpY3QgPT4gJ2YnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X3ZhY3V1bV90YWJsZXMnLCBw cm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVj b3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2Fy Z3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZs b2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCkBAIC0xMjI2NSw3ICsxMjI2NSw3 IEBACiAgIHByb3NyYyA9PiAncGdfc3RhdF92YWN1dW1fdGFibGVzJyB9LAogeyBvaWQgPT4g JzgwMDInLAogICBkZXNjciA9PiAncGdfc3RhdF92YWN1dW1faW5kZXhlcyByZXR1cm4gc3Rh dHMgdmFsdWVzJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1faW5kZXhlcycsIHBy b3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9 PiAnZicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMnLCBwcm9yb3dz ID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxw cm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxm bG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDR9JywKQEAgLTEyMjc0LDcg KzEyMjc0LDcgQEAKICAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV9pbmRleGVzJyB9LAog eyBvaWQgPT4gJzgwMDMnLAogICBkZXNjciA9PiAncGdfc3RhdF92YWN1dW1fZGF0YWJhc2Ug cmV0dXJuIHN0YXRzIHZhbHVlcycsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfdmFjdXVtX2Rh dGFiYXNlJywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHBy b2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1fZGF0YWJh c2UnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9 PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAg IHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZs b2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9vcHJfc2FuaXR5Lm91dAppbmRleCA3MDI2ZGUxNTdlNC4uMGQ3MzQxNjlmMTEg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dApAQCAtMzIs MTIgKzMyLDkgQEAgV0hFUkUgcDEucHJvbGFuZyA9IDAgT1IgcDEucHJvcmV0dHlwZSA9IDAg T1IKICAgICAgICBwcm9raW5kIE5PVCBJTiAoJ2YnLCAnYScsICd3JywgJ3AnKSBPUgogICAg ICAgIHByb3ZvbGF0aWxlIE5PVCBJTiAoJ2knLCAncycsICd2JykgT1IKICAgICAgICBwcm9w YXJhbGxlbCBOT1QgSU4gKCdzJywgJ3InLCAndScpOwotIG9pZCAgfCAgICAgICAgIHByb25h bWUgICAgICAgICAKLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gODAwMSB8 IHBnX3N0YXRfdmFjdXVtX3RhYmxlcwotIDgwMDIgfCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz Ci0gODAwMyB8IHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCi0oMyByb3dzKQorIG9pZCB8IHBy b25hbWUgCistLS0tLSstLS0tLS0tLS0KKygwIHJvd3MpCiAKIC0tIHByb3NyYyBzaG91bGQg bmV2ZXIgYmUgbnVsbDsgaXQgY2FuIGJlIGVtcHR5IG9ubHkgaWYgcHJvc3FsYm9keSBpc24n dCBudWxsCiBTRUxFQ1QgcDEub2lkLCBwMS5wcm9uYW1lCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CmluZGV4IGJlZGNhZTQ2ZmM3Li5lMGRjYzUxMzk3MiAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNzgsNyArMjI3OCw3IEBAIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAogICAgIHBnX2Ns YXNzIHJlbCwKICAgICBwZ19uYW1lc3BhY2UgbnMsCiAgICAgTEFURVJBTCBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRv dGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwg cmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVs ZXRlZCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwg YmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHN5c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRv dGFsX3RpbWUsIGludGVycnVwdHMpCi0gIFdIRVJFICgoZGIuZGF0bmFtZSA9IGN1cnJlbnRf ZGF0YWJhc2UoKSkgQU5EIChyZWwub2lkID0gc3RhdHMucmVsaWQpIEFORCAobnMub2lkID0g cmVsLnJlbG5hbWVzcGFjZSkpOworICBXSEVSRSAoKGRiLmRhdG5hbWUgPSBjdXJyZW50X2Rh dGFiYXNlKCkpIEFORCAocmVsLm9pZCA9IHN0YXRzLnJlbGlkKSBBTkQgKG5zLm9pZCA9IHJl bC5yZWxuYW1lc3BhY2UpIEFORCAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIikpOwogcGdf c3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgICBucy5u c3BuYW1lIEFTIHNjaGVtYSwKICAgICByZWwucmVsbmFtZSwKQEAgLTIzMTIsNyArMjMxMiw3 IEBAIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAg ICAgcGdfY2xhc3MgcmVsLAogICAgIHBnX25hbWVzcGFjZSBucywKICAgICBMQVRFUkFMIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19y ZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dy aXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwgcGFn ZXNfcmVtb3ZlZCwgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlzaWJsZSwgdHVwbGVzX2Rl bGV0ZWQsIHR1cGxlc19mcm96ZW4sIGRlYWRfdHVwbGVzLCBpbmRleF92YWN1dW1fY291bnQs IHJldl9hbGxfZnJvemVuX3BhZ2VzLCByZXZfYWxsX3Zpc2libGVfcGFnZXMsIHdhbF9yZWNv cmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1l LCBkZWxheV90aW1lLCBzeXN0ZW1fdGltZSwgdXNlcl90aW1lLCB0b3RhbF90aW1lLCBpbnRl cnJ1cHRzKQotICBXSEVSRSAoKGRiLmRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpIEFO RCAocmVsLm9pZCA9IHN0YXRzLnJlbGlkKSBBTkQgKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3Bh Y2UpKTsKKyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSBBTkQg KHJlbC5vaWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNl KSBBTkQgKHJlbC5yZWxraW5kID0gJ3InOjoiY2hhciIpKTsKIHBnX3N0YXRfd2FsfCBTRUxF Q1Qgd2FsX3JlY29yZHMsCiAgICAgd2FsX2ZwaSwKICAgICB3YWxfYnl0ZXMsCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNz Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3Mub3V0CmluZGV4IGEwZGE4ZDI1ZjFhLi40ZjZlMzA1NzEwZSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5v dXQKQEAgLTE1NSw0ICsxNTUsMTAgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAgdmVzdGF0X3BrZXkgfCBmICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKK1NFTEVDVCBtaW4ocmVsaWQpIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcygwKTsKKyBtaW4gIAorLS0tLS0tCisgMTIzMgorKDEgcm93 KQorCiBEUk9QIFRBQkxFIHZlc3RhdDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0 CmluZGV4IGVjMGNmOTdlMmRhLi5mYmJiMjY1NjBkZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0 YXRpc3RpY3Mub3V0CkBAIC0xOTksNiArMTk5LDEyIEBAIEZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKICB0ICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCitT RUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSBy ZWxpZCA+IDA7CisgbWluICAKKy0tLS0tLQorIDEyMTMKKygxIHJvdykKKwogLS0gTm93IGNo ZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJyZW50IGRhdGFiYXNlCiBTRUxFQ1QgZGJu YW1lLAogICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAppbmRl eCA5MTEzZmQyNmU2Zi4uNzVlNTk3NGViNTkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKQEAgLTEyNSw0ICsxMjUsNiBA QCBTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdl c19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzXwogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKIAorU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzKDApOworCiBEUk9QIFRBQkxFIHZlc3RhdDsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mu c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlz dGljcy5zcWwKaW5kZXggZWQ5YmI4NTI2MjUuLjNmMTk5MzZjYTYxIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNx bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0 aXN0aWNzLnNxbApAQCAtMTU5LDYgKzE1OSw4IEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVG RkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpw ZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxs X3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2li bGVfcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0JzsKIAorU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMoMCkgd2hlcmUgcmVsaWQgPiAwOworCiAtLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIGN1cnJlbnQgZGF0YWJhc2UKIFNFTEVDVCBkYm5hbWUsCiAgICAgICAgZGJfYmxr c19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAo= --------------vJek1neamzIBrBlq5uhLRgJx--