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 1tAEG1-00ET5F-Vw for pgsql-hackers@arkaria.postgresql.org; Sun, 10 Nov 2024 20:10:02 +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 1tAEFz-008gar-1I for pgsql-hackers@arkaria.postgresql.org; Sun, 10 Nov 2024 20:09:59 +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 1tAEFy-008gaj-AI for pgsql-hackers@lists.postgresql.org; Sun, 10 Nov 2024 20:09:59 +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 1tAEFm-001FDR-Q2 for pgsql-hackers@postgresql.org; Sun, 10 Nov 2024 20:09:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1731269386; bh=x32FpenjZtqTaugm9C8XhXMnRfHCJ0hrCbI/zHDiKp4=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=Wg6aS8rniu6r6WFefvAkvckmnn/OloLaPIhMn1IQXz+yHPqCEHpFvZQboxS6SOZqo G10/iGO+dvsPmg0N0Kmr8D4KlarMO8s0iNvKfdhM7jfSNaaaM38+JKNxw2qzOVQ0be 4IKlN+G8MmSDNNNyKQdVobf9uTZ53rgSn9unarP/cEDME9Iki8UC/zelevUVMIMc0q znd38qsoxGNYN5sve8D89wOjzjV4bQ/JUlkUmbaAw4kPnO7GKyM7LNV7DQ7vr4OV5J nbFX+p+aaGT9HPVVjBY3gbrNCYsJEMaFdO2YCHDHRZDaDZFNfXsbUzdSGrikUWrR3f yQ5XcdGNSQDxg== Received: from [192.168.100.77] (unknown [212.233.84.120]) (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 242D760AE2; Sun, 10 Nov 2024 23:09:43 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------DN3cd43wyEM9gR7JAQUgkU10" Message-ID: Date: Sun, 10 Nov 2024 23:09:41 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Jim Nasby Cc: Andrei Zubkov , Alexander Korotkov , Masahiko Sawada , Melanie Plageman , jian he , pgsql-hackers , a.lepikhov@postgrespro.ru References: <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> <9485d892-fd04-4e3a-ac24-7dd767cb7333@postgrespro.ru> <0B6CBF4C-CC2A-4200-9126-CE3A390D938B@upgrade.com> <6732acf8ce0f31025b535ae1a64568750924a887.camel@moonset.ru> <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: X-KSMG-AntiPhishing: NotDetected, bases: 2024/11/10 18:43: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/11/10 17:45:00 #26842169 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. --------------DN3cd43wyEM9gR7JAQUgkU10 Content-Type: multipart/alternative; boundary="------------mzNwayBSLE6JTieDVMt2bAem" --------------mzNwayBSLE6JTieDVMt2bAem Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 08.11.2024 22:34, Jim Nasby wrote: > >> On Nov 2, 2024, at 7:22 AM, Alena Rybakina >> wrote: >> >>>> The second is the interrupts field. It is needed for monitoring to know >>>> do we have them or not, so tracking them on the database level will do >>>> the trick. Interrupt is quite rare event, so once the monitoring system >>>> will catch one the DBA can go to the server log for the details. >>> Just to confirm… by “interrupt” you mean vacuum encountered an error? >> Yes it is. > In that case I feel rather strongly that we should label that as > “errors”. “Interrupt” could mean a few different things, but “error” > is very clear. >> >> I updated patches. I excluded system and user time statistics and >> save number of interrupts only for database.I removed the ability to >> get statistics for all tables, now they can only be obtained for an >> oid table [0], as suggested here. I also renamed the statistics from >> pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and similarly for >> indexes and databases. I noticed that that’s what they’re mostly >> called. Ready for discussion. >> > I think it’s better that the views follow the existing naming > conventions (which don’t include “_get_”; only the functions have that > in their names). Assuming that, the only question becomes > pg_stat_vacuum_* vs pg_stat_*_vacuum. Given the existing precedent of > pg_statio_*, I’m inclined to go with pg_stat_vacuum_*. I have fixed it. -- Regards, Alena Rybakina Postgres Professional --------------mzNwayBSLE6JTieDVMt2bAem Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 08.11.2024 22:34, Jim Nasby wrote:

On Nov 2, 2024, at 7:22 AM, Alena Rybakina <a.rybakina@postgrespro.ru> wrote:

The second is the interrupts field. It is needed for monitoring to know
do we have them or not, so tracking them on the database level will do
the trick. Interrupt is quite rare event, so once the monitoring system
will catch one the DBA can go to the server log for the details.
Just to confirm… by “interrupt” you mean vacuum encountered an error?
Yes it is.
In that case I feel rather strongly that we should label that as “errors”. “Interrupt” could mean a few different things, but “error” is very clear.

I updated patches. I excluded system and user time statistics and save number of interrupts only for database. I removed the ability to get statistics for all tables, now they can only be obtained for an oid table [0], as suggested here. I also renamed the statistics from pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and similarly for indexes and databases. I noticed that that’s what they’re mostly called. Ready for discussion.

I think it’s better that the views follow the existing naming conventions (which don’t include “_get_”; only the functions have that in their names). Assuming that, the only question becomes pg_stat_vacuum_* vs pg_stat_*_vacuum. Given the existing precedent of pg_statio_*, I’m inclined to go with pg_stat_vacuum_*.
I have fixed it.
-- 
Regards,
Alena Rybakina
Postgres Professional
--------------mzNwayBSLE6JTieDVMt2bAem-- --------------DN3cd43wyEM9gR7JAQUgkU10 Content-Type: text/x-patch; charset=UTF-8; name="v12-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v12-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxYjRhYzY5MGVhOWZiZTMxODA0MzZjYjRkMDI5MmVlYjMxNjY5NDAwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAxMCBOb3YgMjAyNCAyMzowNDozNiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBkYXRhYmFzZXMuIEl0IHRyYW5zbWl0cyB2YWN1dW0gc3Rh dGlzdGljYWwgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YWJsZSBhbmQKIGFjY3VtdWxhdGVz IGl0IGZvciB0aGUgZGF0YWJhc2Ugd2hpY2ggdGhlIHRhYmxlIGJlbG9uZ2VkLgoKLS0tCiBz cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAyNiArKysr LQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgIDIg Kwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwgIDEg Kwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgMTYg KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwg OTUgKysrKysrKysrKysrKysrKysrKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dCAgICAgICAgICAgICAgIHwgMTUgKystCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQgICAgICAgICAgIHwgMTYgKysrKwogLi4udXQgPT4gdmFjdXVtX3RhYmxlc19h bmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgNzQgKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgMiArLQogLi4ucWwgPT4g dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9IHwgNjQgKysrKysrKysrKysr LQogMTEgZmlsZXMgY2hhbmdlZCwgMzA2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p CiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC97dmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLm91dCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dH0gKDc5 JSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL3NxbC97dmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLnNxbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbH0gKDgxJSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggYjlhODdlN2NhNTgu LmYxYTFlOTBiYTkwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBA IC0xNDU2LDQgKzE0NTYsMjggQEAgRlJPTQogICBwZ19jbGFzcyByZWwKICAgSk9JTiBwZ19u YW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKICAgTEFURVJBTCBw Z19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cwotV0hFUkUgcmVsLnJl bGtpbmQgPSAnaSc7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorV0hFUkUgcmVsLnJl bGtpbmQgPSAnaSc7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFz ZSBBUworU0VMRUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5h bWUsCisKKyAgc3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMu ZGJfYmxrc19oaXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGll ZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBB UyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3Jl Y29yZHMsCisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVz IEFTIHdhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3Rp bWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0 YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0 b3RhbF90aW1lLAorICBzdGF0cy5lcnJvcnMgQVMgZXJyb3JzCitGUk9NCisgIHBnX2RhdGFi YXNlIGRiLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQp IHN0YXRzOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0LmMKaW5kZXggNTUxZGNmYTMxOTguLjViODFmYmJhMTJhIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTEyNiw2ICsxMTI2LDggQEAgcGdz dGF0X3VwZGF0ZV9zbmFwc2hvdChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfZmV0Y2hf Y29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1Q7CiAJCWlm IChraW5kID09IFBHU1RBVF9LSU5EX1JFTEFUSU9OKQogCQkJcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwkJZWxzZSBpZiAoa2luZCA9PSBQR1NUQVRf S0lORF9EQVRBQkFTRSkKKwkJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9E QVRBQkFTRSk7CiAJfQogCVBHX0ZJTkFMTFkoKTsKIAl7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCmluZGV4IDI5YmMwOTA5NzQ4Li5hMDYw ZDFhNDA0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X2RhdGFiYXNlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2Rh dGFiYXNlLmMKQEAgLTQzMCw2ICs0MzAsNyBAQCBwZ3N0YXRfZGF0YWJhc2VfZmx1c2hfY2Io UGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXBnc3RhdF91bmxv Y2tfZW50cnkoZW50cnlfcmVmKTsKIAogCW1lbXNldChwZW5kaW5nZW50LCAwLCBzaXplb2Yo KnBlbmRpbmdlbnQpKTsKKwltZW1zZXQoJihwZW5kaW5nZW50KS0+dmFjdXVtX2V4dCwgMCwg c2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwogCiAJcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IGVmZDkzNmM2 NjNhLi41MTg3MzA3Yjg0OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3JlbGF0aW9uLmMKQEAgLTIxOCw2ICsyMTgsNyBAQCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQogCVBn U3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5 ICp0YWJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7CisJUGdTdGF0X1N0 YXREQkVudHJ5ICpkYmVudHJ5OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5ICovCiAKIAlp ZiAoIXBnc3RhdF90cmFja19jb3VudHMpCiAJCXJldHVybjsKQEAgLTIzMSw2ICsyMzIsMTAg QEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBv cnRUeXBlIG1fdHlwZSkKIAl0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1cHRzKys7CiAJ dGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKIAlwZ3N0YXRfdW5sb2NrX2Vu dHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2VfcGVu ZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsKKwlkYmVudHJ5 LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7CiB9CiAKIC8qCkBAIC0yNDQsNiArMjQ5LDcg QEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAlQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNo dGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJUGdTdGF0U2hh cmVkX0RhdGFiYXNlICpkYmVudHJ5OwogCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFs aWRPaWQgOiBNeURhdGFiYXNlSWQpOwogCVRpbWVzdGFtcFR6IHRzOwogCkBAIC0yOTcsNiAr MzAzLDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFy ZWQsCiAJICogVkFDVVVNIGNvbW1hbmQgaGFzIHByb2Nlc3NlZCBhbGwgdGFibGVzIGFuZCBj b21taXR0ZWQuCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKKwlpZiAoZGJvaWQg IT0gSW52YWxpZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVm X2xvY2tlZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJvaWQsIEludmFs aWRPaWQsIGZhbHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKikg ZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFj X3N0YXRzKCZkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZhbHNlKTsKKwkJ cGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KKwogfQogCiAvKgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBlZGRlZTg5NzJjYy4uZDJhZmZkMjJm NDYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzQxLDYgKzIz NDEsMTAxIEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1Mp CiAKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7 CiAKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19SRVRVUk5fREFU VU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywg bnVsbHMpKSk7Cit9CisKK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFT RV9TVEFUU19DT0xTCTEzCisKKwlPaWQJCQkJCQkgZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CisJUGdTdGF0X1N0YXREQkVudHJ5IAkJKmRiZW50cnk7CisJRXh0VmFjUmVwb3J0IAkJCSpl eHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVtCQkJCQkgdmFsdWVz W1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHswfTsKKwlib29s CQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0g ezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7CisJRXh0VmFj UmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRp b24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxh dGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMpOwor CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkYmlk IiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193cml0dGVu IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJ ICAgTlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90 aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJlcnJvcnMiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisKKwlBc3Nl cnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlC bGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3Rh dF9kYmVudHJ5KGRiaWQpOworCisJaWYgKGRiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElm IHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAq LworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0 dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYoZGJl bnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9i amVjdElkR2V0RGF0dW0oZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkv KiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25w cmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9i eXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4s CisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJ ZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJ dmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1l KTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGlt ZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3Rp bWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5lcnJvcnMp OworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NP TFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCiAJUEdfUkVUVVJO X0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1 ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IGYyN2Y5OTgxNzczLi5iNWI3YmFlZGUzMSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjM5Myw3ICsxMjM5Myw3IEBACiAgIHByb3Ny YyA9PiAnZ2lzdF9zdHJhdG51bV9pZGVudGl0eScgfSwKIAogeyBvaWQgPT4gJzgwMDEnLAot ICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyByZXR1cm4gc3RhdHMgdmFs dWVzJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2 YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJsZScsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdz JywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3Jl dHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLApAQCAtMTI0MTEsMTIgKzEy NDExLDIxIEBACiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcs IHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9h bGxfZnJvemVuX3BhZ2VzJyB9LAogeyBvaWQgPT4gJzgwMDQnLAotICBkZXNjciA9PiAncGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIGRlc2Ny ID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm5zIHZhY3V1bSBzdGF0cyB2 YWx1ZXMgZm9yIGluZGV4JywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlw ZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcs CiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxv aWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxu dW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAogICBwcm9hcmdtb2RlcyA9 PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1l cyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90 YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9i bGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9m cGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0 b3RhbF90aW1lfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMn IH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfSwKK3sgb2lk ID0+ICc4MDA1JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSBy ZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGRhdGFiYXNlJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4g J2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAg cHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDR9JywKKyAgcHJv YXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJn bmFtZXMgPT4gJ3tkYmlkLGRib2lkLGRiX2Jsa3NfcmVhZCxkYl9ibGtzX2hpdCx0b3RhbF9i bGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHdhbF9yZWNvcmRzLHdhbF9mcGksd2Fs X2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90 aW1lLGVycm9yc30nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFz ZScgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1 ZGUvcGdzdGF0LmgKaW5kZXggOTYzNzlkOGJjYzMuLmQ4ODc1ZWE0MTc3IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAt MTc0LDcgKzE3NCw4IEBAIHR5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7CiAJUEdT VEFUX0VYVFZBQ19JTlZBTElEID0gMCwKIAlQR1NUQVRfRVhUVkFDX0hFQVAgPSAxLAotCVBH U1RBVF9FWFRWQUNfSU5ERVggPSAyCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIsCisJUEdT VEFUX0VYVFZBQ19EQiA9IDMsCiB9IEV4dFZhY1JlcG9ydFR5cGU7CiAKIC8qIC0tLS0tLS0t LS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggODkyN2ViMGIwNzQu LjQ5NzBiMGI1MjFmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAt MTg4MSw2ICsxODgxLDIyIEBAIHBnX3N0YXRfZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxFQ1Qg b2lkIEFTIGRhdGlkLAogICAgIHBnX3N0YXRfZ2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBfZGVh ZGxvY2sob2lkKSBBUyBjb25mbF9kZWFkbG9jaywKICAgICBwZ19zdGF0X2dldF9kYl9jb25m bGljdF9sb2dpY2Fsc2xvdChvaWQpIEFTIGNvbmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAogICAg RlJPTSBwZ19kYXRhYmFzZSBkOworcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlfCBTRUxF Q1QgZGIub2lkIEFTIGRib2lkLAorICAgIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorICAgIHN0 YXRzLmRiX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5kYl9ibGtzX2hpdCwKKyAgICBzdGF0cy50 b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAg IHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2Fs X2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRl X3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lLAor ICAgIHN0YXRzLmludGVycnVwdHMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisgICAgTEFU RVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwg ZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9i bGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFk X3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCBpbnRlcnJ1 cHRzKTsKIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyBy ZWxpZCwKICAgICBucy5uc3BuYW1lIEFTIHNjaGVtYSwKICAgICByZWwucmVsbmFtZSwKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19h bmRfZGJfc3RhdGlzdGljcy5vdXQKc2ltaWxhcml0eSBpbmRleCA3OSUKcmVuYW1lIGZyb20g c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0 CnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5k X2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IDQyOTU5NDJkODRkLi44NzBlZjE2MzI1MyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcy5vdXQKQEAgLTYsNiArNiw5IEBACiAtLSBudW1iZXIgb2Yg ZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KIC0tIFN0YXRp c3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRz IGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9u X3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0 aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsK IC0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0 IGJlIG9uCiAgdHJhY2tfY291bnRzIApAQCAtMjEyLDQgKzIxNSw3NSBAQCBTRUxFQ1QgbWlu KHJlbGlkKSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkgd2hlcmUgcmVsaWQg PiAwOwogICAgIAogKDEgcm93KQogCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3Mg Zm9yIGN1cnJlbnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19o aXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAg QVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAg QVMgdG90YWxfYmxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxf cmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9i eXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFs X3RpbWUKK0ZST00KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1l ID0gY3VycmVudF9kYXRhYmFzZSgpOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAg ICB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0 dGVuIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNf dmFjdXVtX2RiIHwgdCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0Ciso MSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CistLSBlbnN1cmUgcGVuZGlu ZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChh dXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5U TyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUp IGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VUIHggPSAxMDAwMTsK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0Owor XGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKKy0tIE5vdyBjaGVjayB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRhdGFi YXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtz X2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGly dGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3Jp dHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAg d2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9i eXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19z dGF0X2dldF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8 IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVu IHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFj dXVtX2RiIHwgdCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSBy b3cpCisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgogRFJPUCBUQUJMRSB2 ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitT RUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKyBj b3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitTRUxFQ1QgY291bnQoKikKK0ZS T00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJh c2UoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorIGNvdW50IAorLS0tLS0tLQor ICAgICAwCisoMSByb3cpCisKK1xjIHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxs ZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4 IDk4NDdhMzMwZWQxLi4xYmEzMmI4N2NmNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3Nj aGVkdWxlCkBAIC0xNDEsNCArMTQxLDQgQEAgdGVzdDogdGFibGVzcGFjZQogIyBDaGVjayB2 YWN1dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0ZXN0OiB2YWN1dW1faW5kZXhfc3Rh dGlzdGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApzaW1pbGFyaXR5IGlu ZGV4IDgxJQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1f dGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCBmYjNkZWQzMDlkYy4uM2ViYWVk YjdlZDUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsNiArNywxMCBAQAogLS0gU3RhdGlzdGlj IHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVo YXZpb3IgaXMgdW5zdGFibGUuCiAtLQogCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9z dGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CisK IC0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0 IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCkBAIC0xNDMsNyArMTQ3LDcgQEAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmwK IFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCBy ZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBo YXZwCiBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxl cyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxl cy5yZWxpZCBcZ3NldAogCi1VUERBVEUgdmVzdGF0IFNFVCB4ID0geCArIDEwMDE7CitVUERB VEUgdmVzdGF0IFNFVCB4ID0geCsxMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CiBTRUxFQ1QgcGFnZXNfZnJvemVuID4gOnBmIEFT IHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA+IDpwdiBBUyBwYWdlc19hbGxfdmlz aWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3Bh Z2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9w YWdlcwogRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJs ZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcg YW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJs ZXMucmVsaWQ7CkBAIC0xNTcsNCArMTYxLDYwIEBAIEZST00gcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsCiAKIFNFTEVDVCBtaW4ocmVsaWQpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cygwKSB3aGVyZSByZWxpZCA+IDA7CiAKLURST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciBjdXJyZW50IGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Js a3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQg PiAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4g PiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMg d2FsX3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3 YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0 b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRi bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FE RTsKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQp IFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9 IDEwMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2 ZXN0YXQ7CisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CisKKy0tIE5v dyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBh bm90aGVyIGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4g MCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRv dGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29y ZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMg PiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1l CitGUk9NCitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdy ZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOworCitcYyByZWdyZXNzaW9uX3N0YXRp c3RpY192YWN1dW1fZGIKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworXGMgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBw Z19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkK K1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitTRUxFQ1QgY291bnQoKikKK0ZST00g cGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2Uo MCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitcYyBwb3N0Z3JlcworRFJPUCBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFT RSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7ClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQotLSAKMi4zNC4xCgo= --------------DN3cd43wyEM9gR7JAQUgkU10 Content-Type: text/x-patch; charset=UTF-8; name="v12-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v12-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBlOWE4NGYxN2FmZGRiZTQ3OGJiZDJkODFhZjdhODA3NzllNWVjZjY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAxMCBOb3YgMjAyNCAyMzowMDo1MCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuIFJlbWVtYmVy LCBzdGF0aXN0aWMgb24gaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zIGEKIGJpdCBkaWZmZXJl bnQgKHNlZSBFeHRWYWNSZXBvcnQgdG8gZmluZCBvdXQgbW9yZSBpbmZvcm1hdGlvbikuIFRo ZSBjb25jZXB0IG9mCiB0aGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZSBoYXMgYmVlbiBjb21w bGljYXRlZCB0byBzdG9yZSBzdGF0aXN0aWMKIGluZm9ybWF0aW9uIGZvciB0d28ga2luZHMg b2YgcmVsYXRpb25zOiBmb3IgaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zLgogRXh0VmFjUmVw b3J0VHlwZSB2YXJpYWJsZSBoZWxwcyB0byBkZXRlcm1pbmUgd2hhdCB0aGUga2luZCBpcyBj b25zaWRlcmluZwogbm93LgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAgOTkgKysrKysrKysrLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICAzMiArKysrCiBzcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDcgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0MSArKystLQogc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTI2ICsrKysrKysrKysr Ky0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAg OSArCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NTIgKysrKy0tCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQg ICAgfCAgIDcgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAg ICAgICB8ICAyMiArKysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5v dXQgICAgICB8IDE2NSArKysrKysrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8ICAxMCArLQogc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92 YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8IDEzMCArKysrKysrKysrKysrKwogLi4u L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgIDEwICstCiAx NCBmaWxlcyBjaGFuZ2VkLCA2NTkgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5k ZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKaW5kZXggY2FhNzUyMzQ4NGEuLjM3MGJiMTRmNjE3IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC0xNjYsNiArMTY2LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpy ZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lkOworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAg ICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUg Ki8KIAlCbG9ja051bWJlciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0 aW9ucyAqLwpAQCAtMjQ0LDYgKzI0NSwxMyBAQCB0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRD b3VudGVycwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CiB9IExWRXh0U3RhdENvdW50 ZXJzOwogCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVyc0lkeAoreworCUxWRXh0 U3RhdENvdW50ZXJzIGNvbW1vbjsKKwlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsKKwlpbnQ2NAkJ dHVwbGVzX3JlbW92ZWQ7Cit9IExWRXh0U3RhdENvdW50ZXJzSWR4OworCiAvKiBub24tZXhw b3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFw KExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2FuX25leHRf YmxvY2soTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBAIC0zOTQs NiArNDAyLDQ2IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRD b3VudGVycyAqY291bnRlcnMsCiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3Nf aGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3N0YXRpYyB2b2lkCitleHR2YWNf c3RhdHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpz dGF0cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQoreworCWV4 dHZhY19zdGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3VudGVycy0+ cGFnZXNfZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisKKwlpZiAo c3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5lZWQgdGhp cyBjb2RlIGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJICogY29t bWVudHMsIGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJzLT50dXBs ZXNfcmVtb3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMtPnBhZ2Vz X2RlbGV0ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3N0YXRpYyB2b2lk CitleHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJl c3VsdCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4 dFZhY1JlcG9ydCAqcmVwb3J0KQoreworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmY291bnRl cnMtPmNvbW1vbiwgcmVwb3J0KTsKKwlyZXBvcnQtPnR5cGUgPSBQR1NUQVRfRVhUVkFDX0lO REVYOworCisJaWYgKHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBpZiBzb21ldGhp bmcgZ29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFi YXNlCisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisKKwkJLyog RmlsbCBpbmRleC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJcmVwb3J0 LT5pbmRleC50dXBsZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnR1cGxlc19yZW1vdmVk IC0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkOworCQlyZXBvcnQtPmluZGV4LnBhZ2VzX2Rl bGV0ZWQgPQorCQkJCQkJCXN0YXRzLT5wYWdlc19kZWxldGVkIC0gY291bnRlcnMtPnBhZ2Vz X2RlbGV0ZWQ7CisJfQorfQorCiAvKgogICoJaGVhcF92YWN1dW1fcmVsKCkgLS0gcGVyZm9y bSBWQUNVVU0gZm9yIG9uZSBoZWFwIHJlbGF0aW9uCiAgKgpAQCAtNjk3LDE0ICs3NDUsMTUg QEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMs CiAJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CiAKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICov Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7 Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7 Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3plbl9wYWdl czsKLQlleHRWYWNSZXBvcnQucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwtPnNldF9hbGxf dmlzaWJsZV9wYWdlczsKLQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwt PnR1cGxlc19kZWxldGVkOwotCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0gdmFjcmVs LT50dXBsZXNfZnJvemVuOwotCWV4dFZhY1JlcG9ydC5kZWFkX3R1cGxlcyA9IHZhY3JlbC0+ cmVjZW50bHlfZGVhZF90dXBsZXMgKyB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKLQll eHRWYWNSZXBvcnQuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2Nh bnM7CisJZXh0VmFjUmVwb3J0LnR5cGUgPSBQR1NUQVRfRVhUVkFDX0hFQVA7CisJZXh0VmFj UmVwb3J0LmhlYXAucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwll eHRWYWNSZXBvcnQuaGVhcC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2Vz OworCWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3pl bl9wYWdlczsKKwlleHRWYWNSZXBvcnQuaGVhcC5wYWdlc19hbGxfdmlzaWJsZSA9IHZhY3Jl bC0+c2V0X2FsbF92aXNpYmxlX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5oZWFwLnR1cGxlc19k ZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQuaGVhcC50 dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCWV4dFZhY1JlcG9ydC5o ZWFwLmRlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArIHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCWV4dFZhY1JlcG9ydC5oZWFwLmluZGV4X3ZhY3V1 bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOwogCiAJLyoKIAkgKiBSZXBvcnQg cmVzdWx0cyB0byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KQEAgLTI1Njks NiArMjYxOCwxMCBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJ bmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmlu Zm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRl cnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwor CWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJz KTsKIAogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHZhY3Jl bC0+cmVsOwpAQCAtMjU4Nyw2ICsyNjQwLDcgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJl bGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlB c3NlcnQodmFjcmVsLT5pbmRuYW1lID09IE5VTEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBz dHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRv aWQgPSBSZWxhdGlvbkdldFJlbGlkKGluZHJlbCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9p bmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvLAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhB U0VfVkFDVVVNX0lOREVYLAogCQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRP ZmZzZXROdW1iZXIpOwpAQCAtMjU5NSw2ICsyNjQ5LDEzIEBAIGxhenlfdmFjdXVtX29uZV9p bmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJ aXN0YXQgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQsICh2b2lkICop IHZhY3JlbC0+ZGVhZF9pdGVtcywKIAkJCQkJCQkJICB2YWNyZWwtPmRlYWRfaXRlbXNfaW5m byk7CiAKKwkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4 ICovCisJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9u R2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJMCwgMCwgJmV4dFZhY1JlcG9ydCk7CisKIAkvKiBSZXZlcnQgdG8gdGhlIHBy ZXZpb3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0 b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJl ZSh2YWNyZWwtPmluZG5hbWUpOwpAQCAtMjYxOSw2ICsyNjgwLDEwIEBAIGxhenlfY2xlYW51 cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlz dGF0LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2 ZWRfZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7CisJ RXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCWV4dHZhY19zdGF0c19zdGFydF9pZHgo aW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKIAogCWl2aW5mby5pbmRleCA9IGlu ZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+cmVsOwpAQCAtMjYzOCwxMiArMjcw MywyMCBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlBc3NlcnQodmFjcmVsLT5pbmRuYW1l ID09IE5VTEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxh dGlvbk5hbWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRvaWQgPSBSZWxhdGlvbkdldFJlbGlk KGluZHJlbCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vy cl9pbmZvLAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUCwKIAkJ CQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0TnVtYmVyKTsKIAogCWlz dGF0ID0gdmFjX2NsZWFudXBfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0KTsKIAorCS8qIE1h a2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNf c3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNS ZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRy ZWwpLAorCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkwLCAw LCAmZXh0VmFjUmVwb3J0KTsKKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2Ug aW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vy cm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5k bmFtZSk7CkBAIC0zMjYwLDcgKzMzMzMsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9p ZCAqYXJnKQogCXsKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfU0NBTl9IRUFQOgogCQkJ aWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tO dW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVt YmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtMzI3Nyw3ICszMzUwLDcgQEAgdmFj dXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9Q SEFTRV9WQUNVVU1fSEVBUDoKIAkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJ CXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CisJCQkJcGdz dGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFD X0hFQVApOwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJ CQl7CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAg LTMyOTMsMTYgKzMzNjYsMjIgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykK IAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoK KwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CiAJCQll cnJjb250ZXh0KCJ3aGlsZSB2YWN1dW1pbmcgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwi JXMuJXNcIiIsCiAJCQkJCSAgIGVycmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVz cGFjZSwgZXJyaW5mby0+cmVsbmFtZSk7CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9F UlJDQl9QSEFTRV9JTkRFWF9DTEVBTlVQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJS T1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQ R1NUQVRfRVhUVkFDX0lOREVYKTsKIAkJCWVycmNvbnRleHQoIndoaWxlIGNsZWFuaW5nIHVw IGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZv LT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwog CQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVFJVTkNBVEU6CisJCQlp ZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9l cnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxv Y2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCQllcnJjb250ZXh0KCJ3aGls ZSB0cnVuY2F0aW5nIHJlbGF0aW9uIFwiJXMuJXNcIiB0byAldSBibG9ja3MiLAogCQkJCQkJ ICAgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lLCBlcnJpbmZvLT5i bGtubyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggMGFjMjEw ZDAzZjcuLmI5YTg3ZTdjYTU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsCkBAIC0xNDI1LDMgKzE0MjUsMzUgQEAgRlJPTSBwZ19jbGFzcyByZWwKICAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCiBXSEVSRSByZWwu cmVsa2luZCA9ICdyJzsKKworQ1JFQVRFIFZJRVcgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4 ZXMgQVMKK1NFTEVDVAorICByZWwub2lkIGFzIHJlbGlkLAorICBucy5uc3BuYW1lIEFTICJz Y2hlbWEiLAorICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorCisgIHRvdGFsX2Jsa3NfcmVh ZCBBUyB0b3RhbF9ibGtzX3JlYWQsCisgIHRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3Nf aGl0LAorICB0b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICB0 b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIHJlbF9ibGtz X3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgcmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hp dCwKKworICBwYWdlc19kZWxldGVkIEFTIHBhZ2VzX2RlbGV0ZWQsCisgIHR1cGxlc19kZWxl dGVkIEFTIHR1cGxlc19kZWxldGVkLAorCisgIHdhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRz LAorICB3YWxfZnBpIEFTIHdhbF9mcGksCisgIHdhbF9ieXRlcyBBUyB3YWxfYnl0ZXMsCisK KyAgYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAorICBibGtfd3JpdGVfdGltZSBB UyBibGtfd3JpdGVfdGltZSwKKworICBkZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHRv dGFsX3RpbWUgQVMgdG90YWxfdGltZQorRlJPTQorICBwZ19jbGFzcyByZWwKKyAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKKyAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cworV0hFUkUgcmVs LnJlbGtpbmQgPSAnaSc7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCAzZjJlOWY1NDY4NS4uNTUxZGNmYTMxOTgg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xMTI0LDcgKzExMjQs OCBAQCBwZ3N0YXRfdXBkYXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpCiAJUEdfVFJZ KCk7CiAJewogCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09O U0lTVEVOQ1lfU05BUFNIT1Q7Ci0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lO RF9SRUxBVElPTik7CisJCWlmIChraW5kID09IFBHU1RBVF9LSU5EX1JFTEFUSU9OKQorCQkJ cGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKIAl9CiAJUEdf RklOQUxMWSgpOwogCXsKQEAgLTExNzksNiArMTE4MCwxMCBAQCBwZ3N0YXRfYnVpbGRfc25h cHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9wcGVkKQogCQkJY29u dGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lOVkFMSUQgJiYgc3Rh dEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Ygc3BlY2lmaWMgdHlw ZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0KHBnX2F0b21pY19y ZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0YSA9IGRzYV9nZXRf YWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCAyYTI2NTBlZjJjYS4uZWZk OTM2YzY2M2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCkBAIC0yMTIsNyArMjEyLDcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVs YXRpb24gcmVsKQogICogLS0tLS0tLS0tCiAgKi8KIHZvaWQKLXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKE9pZCB0YWJsZW9pZCkKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9p ZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiB7CiAJUGdTdGF0X0VudHJ5 UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwpA QCAtMjI5LDYgKzIyOSw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJs ZW9pZCkKIAl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKIAogCXRhYmVudHJ5LT52 YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0g bV90eXBlOwogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIH0KIApAQCAtMTAz NiwxNSArMTAzNywzMSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFj UmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWlmICghYWNjdW11bGF0ZV9yZWx0 eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVybjsKIAotCWRzdC0+Ymxrc19mZXRjaGVkICs9 IHNyYy0+Ymxrc19mZXRjaGVkOwotCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsK LQotCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3NjYW5uZWQ7Ci0JZHN0LT5w YWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKLQlkc3QtPnBhZ2VzX2Zyb3pl biArPSBzcmMtPnBhZ2VzX2Zyb3plbjsKLQlkc3QtPnBhZ2VzX2FsbF92aXNpYmxlICs9IHNy Yy0+cGFnZXNfYWxsX3Zpc2libGU7Ci0JZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1 cGxlc19kZWxldGVkOwotCWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96 ZW47Ci0JZHN0LT5kZWFkX3R1cGxlcyArPSBzcmMtPmRlYWRfdHVwbGVzOwotCWRzdC0+aW5k ZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVtX2NvdW50OworCWlmIChkc3Qt PnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorCQlkc3QtPnR5cGUgPSBzcmMtPnR5 cGU7CisKKwlBc3NlcnQoc3JjLT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBz cmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKKworCWlmIChkc3QtPnR5cGUgPT0gc3JjLT50eXBl KQorCXsKKwkJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJCWRz dC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKKworCQlpZiAoZHN0LT50eXBlID09IFBH U1RBVF9FWFRWQUNfSEVBUCkKKwkJeworCQkJZHN0LT5oZWFwLnBhZ2VzX3NjYW5uZWQgKz0g c3JjLT5oZWFwLnBhZ2VzX3NjYW5uZWQ7CisJCQlkc3QtPmhlYXAucGFnZXNfcmVtb3ZlZCAr PSBzcmMtPmhlYXAucGFnZXNfcmVtb3ZlZDsKKwkJCWRzdC0+aGVhcC5wYWdlc19mcm96ZW4g Kz0gc3JjLT5oZWFwLnBhZ2VzX2Zyb3plbjsKKwkJCWRzdC0+aGVhcC5wYWdlc19hbGxfdmlz aWJsZSArPSBzcmMtPmhlYXAucGFnZXNfYWxsX3Zpc2libGU7CisJCQlkc3QtPmhlYXAudHVw bGVzX2RlbGV0ZWQgKz0gc3JjLT5oZWFwLnR1cGxlc19kZWxldGVkOworCQkJZHN0LT5oZWFw LnR1cGxlc19mcm96ZW4gKz0gc3JjLT5oZWFwLnR1cGxlc19mcm96ZW47CisJCQlkc3QtPmhl YXAuZGVhZF90dXBsZXMgKz0gc3JjLT5oZWFwLmRlYWRfdHVwbGVzOworCQkJZHN0LT5oZWFw LmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50Owor CQl9CisJCWVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCQl7 CisJCQlkc3QtPmluZGV4LnBhZ2VzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC5wYWdlc19kZWxl dGVkOworCQkJZHN0LT5pbmRleC50dXBsZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnR1cGxl c19kZWxldGVkOworCQl9CisJfQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggZDJmMzYwODE1MzIuLmVkZGVl ODk3MmNjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjIwNSwx NCArMjIwNSwxNCBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FS R1MpCiAJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CiAKLQl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19zY2FubmVkKTsKLQl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19yZW1vdmVkKTsKLQl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19mcm96ZW4pOwotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX2FsbF92aXNpYmxlKTsKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Zyb3pl bik7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ZGVhZF90dXBs ZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3Zh Y3V1bV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ aGVhcC5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5oZWFwLnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmhlYXAucGFnZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlKTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5oZWFwLnR1cGxlc19kZWxldGVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5oZWFwLnR1cGxl c19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmhl YXAuZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsKQEAgLTIyMzEsNiArMjIzMSwxMTYgQEAg cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0 KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKIAorCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVw bGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsK K30KKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRh Ymxlcy4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNU SU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNf Q09MUwkxNgorCisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3Rh dF9TdGF0VGFiRW50cnkgICAgICp0YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZh Y3V1bTsKKwlUdXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdf U1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBu dWxsc1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MU10gPSB7MH07CisJY2hh cgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxs emVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUg dHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVz YyhQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbGlkIiwKKwkJCQkJICAg SU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRv dGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19kaXJ0aWVk IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193cml0dGVuIiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAicmVsX2Jsa3NfcmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9i bGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2VzX2RlbGV0ZWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0dXBsZXNfZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndh bF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3Jl YWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJQXNzZXJ0 KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOworCisJQmxlc3NU dXBsZURlc2ModHVwZGVzYyk7CisKKwl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3Rh YmVudHJ5KHJlbGlkKTsKKworCWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCXsKKwkJLyogSWYg dGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRzIHN0YXRzICov CisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQlleHR2 YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVtID0gJih0YWJl bnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9i amVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19mZXRjaGVkIC0K KwkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmluZGV4LnBhZ2VzX2RlbGV0ZWQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4LnR1cGxlc19kZWxldGVkKTsKKwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsKKwor CS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlz bnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2Fs X2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19p biwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVj dElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZh bHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90aW1lKTsK Kwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dyaXRlX3Rp bWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWxheV90 aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxf dGltZSk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNf Q09MUyk7CisKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRV Uk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZh bHVlcywgbnVsbHMpKSk7CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggZjY4MDcyZDMyYjkuLmYyN2Y5OTgxNzczIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNDEwLDQgKzEyNDEwLDEzIEBACiAgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJywgcHJvdm9sYXRp bGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgn LCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZf YWxsX2Zyb3plbl9wYWdlcycgfSwKK3sgb2lkID0+ICc4MDA0JywKKyAgZGVzY3IgPT4gJ3Bn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycsIHByb3Jvd3MgPT4gMTAwMCwg cHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0 ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcs CisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9h dDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHRvdGFs X2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxr c193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2RlbGV0ZWQsdHVw bGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGlt ZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfQogXQpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCBlODM1MGNhNDM4 Yy4uOTYzNzlkOGJjYzMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBi L3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNjksMTEgKzE2OSwxOSBAQCB0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3Rf Y291bnRbQ09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsK IAorLyogVHlwZSBvZiBFeHRWYWNSZXBvcnQgKi8KK3R5cGVkZWYgZW51bSBFeHRWYWNSZXBv cnRUeXBlCit7CisJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwKKwlQR1NUQVRfRVhUVkFD X0hFQVAgPSAxLAorCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyCit9IEV4dFZhY1JlcG9ydFR5 cGU7CisKIC8qIC0tLS0tLS0tLS0KICAqCiAgKiBFeHRWYWNSZXBvcnQKICAqCi0gKiBBZGRp dGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVs YXRpb24uCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcg b3ZlciBhIHJlbGF0aW9uLgogICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50IGJ5IHdo aWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKICAqIGlmIGFueSAoaWUgdGhlIGNoYW5nZSBp biBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQogICogcGFnZXNfZGVsZXRlZCByZWZlciB0byBm cmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQpAQCAtMjAzLDE0ICsyMTEsMzggQEAg dHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAJLyogSW50ZXJydXB0aW9ucyBvbiBhbnkg ZXJyb3JzLiAqLwogCWludDMyCQllcnJvcnM7CiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJ CS8qIG51bWJlciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLwotCWludDY0CQlwYWdlc19yZW1v dmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJ CXBhZ2VzX2Zyb3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJv emVuICovCi0JaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMg bWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCi0JaW50NjQJCXR1cGxlc19kZWxldGVk OwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96 ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQlkZWFkX3R1 cGxlczsJCS8qIG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90 IGNsZWFuIHVwIGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVt X2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCUV4dFZhY1JlcG9y dFR5cGUgdHlwZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0t CisJICoKKwkgKiBUaGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9y IHRhYmxlcyBhbmQgaW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0u CisJICogVGhlIHVuaW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRp c3RpY3MKKwkgKiBzbyB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lm aWMgY2xhc3Mgb2YgY29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVk IHN0cnVjdHVyZSB3YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9m IHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4 aXN0cyBvbmx5IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0K KwkqLworCXVuaW9uCisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5u ZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQgKi8KKwkJCWludDY0CQlwYWdl c19yZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJ CQlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBW TSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVy IG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1 cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2 NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJ CQlpbnQ2NAkJZGVhZF90dXBsZXM7CQkvKiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hp Y2ggdmFjdXVtIGNhbm5vdCBjbGVhbiB1cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJCQlp bnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5n cyAqLworCQl9CQkJaGVhcDsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxl dGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2 NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJ fQkJCWluZGV4OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsK IAogLyogLS0tLS0tLS0tLQpAQCAtNjkyLDcgKzcyNCw3IEBAIGV4dGVybiB2b2lkIHBnc3Rh dF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9p ZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3Rh dF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJ CQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwog CiAvKgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0 IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9z cmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5vdXQKaW5kZXggN2NkYjc5YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0g YS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3Rl cCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFt ZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVz X2Zyb3plbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAg ICAgICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFt ZXx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0 ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKaW5kZXggMGJkOWM2ZDM5YjEuLjg5MjdlYjBiMDc0IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTg4MSw2ICsxODgxLDI4IEBAIHBnX3N0YXRf ZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxFQ1Qgb2lkIEFTIGRhdGlkLAogICAgIHBnX3N0YXRf Z2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBfZGVhZGxvY2sob2lkKSBBUyBjb25mbF9kZWFkbG9j aywKICAgICBwZ19zdGF0X2dldF9kYl9jb25mbGljdF9sb2dpY2Fsc2xvdChvaWQpIEFTIGNv bmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAogICAgRlJPTSBwZ19kYXRhYmFzZSBkOworcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5z Lm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRz LnBhZ2VzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMu d2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMs CisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00g KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9i bGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQs IHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193 cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtp bmQgPSAnaSc6OiJjaGFyIik7CiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qg bnMubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVs aWQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi4zYTFhZTY0OGQwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTY1IEBA CistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBD aGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJh dGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZh Y3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBi eSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0 aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29u ZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24K KyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUg Zmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSBy b3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9h Z2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRz X2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4 IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxs ZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxF Q1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJl Zm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlz IGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBs ZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgICAgICAgMzAgfCAgICAgICAgICAg ICAwIHwgICAgICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIGly cAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9D TEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdh bCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRl bmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0g ZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3Rh eWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5l ZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMs cGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAg QVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVk IHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMg QVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJP TSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz IEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRz ID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF9nZXRf dmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8 IGRpd2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZS T00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNo ZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQg bXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCBy ZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3Rh dF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxF Q1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVw bGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwg YWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1Is IDpkaXdiID4gMCBBUyBkaVdCOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQg ICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkg QVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2 ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQg dG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3Rp Y3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTpp ZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0 aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBB UyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKyBkaXdyIHwg aWZwaSB8IGRpd2IgCistLS0tLS0rLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAor KDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMg fCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8 IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxl dGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VM RUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZw aSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7 CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NM RUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2Fs IHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2 YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VM RUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2Iz LCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS1UaGVyZSBhcmUg bm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFT IGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0t Ky0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5v dywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIg b2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4K Ky0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBi ZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBh Z2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3Br ZXkgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBt aW4ocmVsaWQpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoMCk7CisgbWluIAor LS0tLS0KKyAgIDAKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5vdXQKaW5kZXggYTNkOGE0MzAxZjMuLjQyOTU5NDJkODRkIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu b3V0CkBAIC0yMyw4ICsyMyw2IEBAIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICgxIHJvdykKIAogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAotU0VUIHZhY3V1bV9mcmVl emVfbWluX2FnZSA9IDA7Ci1TRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOwogLS1T RVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKIENSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0xNTYsNiArMTU0LDE0IEBAIFdIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKICB2ZXN0YXQg IHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CiAoMSByb3cpCiAKK0RST1AgVEFCTEUgdmVzdGF0OworU0VMRUNUIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBBTkFMWVpFIHZlc3RhdDsKIC0tIG11c3Qg YmUgZW1wdHkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDk3N2EwNDcy MDI3Li45ODQ3YTMzMGVkMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBA IC0xNDAsNCArMTQwLDUgQEAgdGVzdDogdGFibGVzcGFjZQogIyAtLS0tLS0tLS0tCiAjIENo ZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzCiB0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1 dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmUzY2RkZWU2NjAxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCkBAIC0wLDAgKzEsMTMwIEBA CistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBD aGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJh dGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZh Y3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBi eSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0 aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29u ZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24K Ky0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4K K1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKworLS0gZW5zdXJlIHBlbmRpbmcg c3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsK KworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9 IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1TRVQgc3RhdHNfZmV0 Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50 IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworU0VMRUNU IG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJl Zm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlz IGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0g aXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lO VDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGlj cyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVh biB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNh dXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5h bWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMg cGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxl c19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRl bHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBB UyBkaVdCCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0 YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitD SEVDS1BPSU5UOworCistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxF Q1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxl dGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAg QVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBk aXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitG Uk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NF TEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CisKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3 cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7Cist LSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5v IGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUu CitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxf Ynl0ZXMtOml3YiBBUyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5v dCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMg aUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMt OmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9N IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2 dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNf ZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBn X2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxp ZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkg QVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRF IHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNr IHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUg dGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3 YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF9nZXRf dmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor LS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwg OmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisKKy0tCistLSBOb3csIHRo ZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBh Z2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBU aGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hh bmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBh Z2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVs ZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK1NFTEVDVCBtaW4ocmVsaWQpIEZST00g cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoMCk7CisKK0RST1AgVEFCTEUgdmVzdGF0Owpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5zcWwKaW5kZXggODgyMDhlYTgyY2QuLmZiM2RlZDMwOWRjIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKQEAgLTE3 LDggKzE3LDcgQEAgU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIFNFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAotU0VU IHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7Ci1TRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2UgPSAwOworCiAtLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90Owog Q1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9 IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTEyNiwxMyAr MTI1LDE2IEBAIFNFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBh Z2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTCiBGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAorRFJPUCBUQUJMRSB2ZXN0YXQ7CitTRUxF Q1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4 IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTAp OworCiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CiBBTkFMWVpFIHZlc3RhdDsKIAogLS0gbXVzdCBiZSBl bXB0eQogU0VMRUNUIHBhZ2VzX2Zyb3plbiwgcGFnZXNfYWxsX3Zpc2libGUsIHJldl9hbGxf ZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Ci0KIFZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogCiAtLSBiYWNrZW5k IGRlZnJlZXplZCBwYWdlcwpAQCAtMTQzLDE0ICsxNDUsMTIgQEAgRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRf dmFjdXVtX3RhYmwKIAogVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOwogVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7Ci0KIFNFTEVD VCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxl ID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhh ZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhh dnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5y ZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKIFNFTEVDVCBwYWdlc19mcm96ZW4g QVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBB UyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCiBGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKIAogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4KSB2ZXN0YXQ7Ci0KIC0tIHZhY3V1bSBmcmVlemVkIHBhZ2VzCiBTRUxFQ1Qg cGFnZXNfZnJvemVuID0gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA9 IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZw IEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZw IEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVs aWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Ci0tIAoyLjM0LjEKCg== --------------DN3cd43wyEM9gR7JAQUgkU10 Content-Type: text/x-patch; charset=UTF-8; name="v12-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v12-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0MGRjYzE3ZGU0MjU5MmFlNGJkODNkZWFmNDA1NzRiMzIxMGRiMGY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAxMCBOb3YgMjAyNCAyMjo1ODowOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBoZWFwIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKSW50ZXJydXB0 aW9ucyBudW1iZXIgb2YgKGF1dG8pdmFjdXVtIHByb2Nlc3MgZHVyaW5nIHZhY3V1bWluZyBv ZiBhIHJlbGF0aW9uLgpXZSByZXBvcnQgZnJvbSB0aGUgdmFjdXVtX2Vycm9yX2NhbGxiYWNr IHJvdXRpbmUuIFNvIHdlIGNhbiBsb2cgYWxsIEVSUk9SCnJlcG9ydHMuIEluIHRoZSBjYXNl IG9mIGF1dG92YWN1dW0gd2UgY2FuIHJlcG9ydCBTSUdJTlQgc2lnbmFscyB0b28uCkl0IG1h eWJlIGRhbmdlcm91cyB0byBtYWtlIHN1Y2ggY29tcGxleCB0YXNrIChzZW5kKSBpbiBhbiBl cnJvciBjYWxsYmFjayAtCndlIGNhbiBjYXRjaCBFUlJPUiBpbiBFUlJPUiBwcm9ibGVtLiBC dXQgaXQgbG9va3MgbGlrZSB3ZSBoYXZlIHNvIHNtYWxsCmNoYW5jZSB0byBzdHVjayBpbnRv IHRoaXMgcHJvYmxlbS4gU28sIGxldCdzIHRyeSB0byB1c2UuClRoaXMgcGFyYW1ldGVyIHJl bGF0ZXMgdG8gYSBwcm9ibGVtLCBjb3ZlcmVkIGJ5IGIxOWU0MjUwLgoKVHJhY2tpbmcgb2Yg SU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFyaWFi bGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFjY2Vz cyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGluZyBv cGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5pcXVl IGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBjYW4g YmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRpb25z IHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFyYW1l dGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlvbiBo YXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2VybmVs IHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2YgYSB2 YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFuZCBm aW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRsZSB0 aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwgdGlt ZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5vIGxl c3MuCgpwYWdlc19mcm96ZW4gLSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFya2VkIGFz IGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBpbmNyZW1l bnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxfdmlzaWJs ZSAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZpc2libGUgaW4g dm0gZHVyaW5nCnZhY3V1bS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5hIDxsZW5hLnJpYmFj a2luYUB5YW5kZXgucnU+LAoJIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jl c3Byby5ydT4sCgkgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJl dmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhp a28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAoJICAgICBJbGlhIEV2ZG9raW1v diA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFuIGhlIDxqaWFuLnVuaXZl cnNhbGl0eUBnbWFpbC5jb20+LAoJICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxA Z21haWwuY29tPiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4K LS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAx NDcgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMgICAgICAgfCAgMTMgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA0OCArKystCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyAg ICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYyAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jICAgICAgICAgICB8ICAzMiArKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA3MCArKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDE3MSArKysrKysrKysrKysrKwogc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDEzICsrCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgMTggKysKIHNy Yy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzkgKysr KysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAgICAgICAgICAgIHwg ICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oICAgICAgICAgICB8 ICAgMiArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAg IHwgIDUzICsrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlICAg ICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYyAgIHwgIDUxICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCAgICAgICAgICAgfCAgNDAgKysrLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5vdXQgICAgIHwgMjA5ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsKIC4uLi9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE2MCArKysrKysrKysrKysr KwogMjEgZmlsZXMgY2hhbmdlZCwgMTEwMiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCA3OTNiZDMzY2I0ZC4uY2Fh NzUyMzQ4NGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2 NSw2ICsxNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJLyogRXJyb3IgcmVw b3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAgKnJlbG5hbWVz cGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICpp bmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87 CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTE5Miw2ICsxOTMs OCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1iZXIgbHBkZWFkX2l0 ZW1fcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBMUF9ERUFEIGl0ZW1zICovCiAJQmxvY2tOdW1i ZXIgbWlzc2VkX2RlYWRfcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBs ZXMgKi8KIAlCbG9ja051bWJlciBub25lbXB0eV9wYWdlczsgLyogYWN0dWFsbHksIGxhc3Qg bm9uZW1wdHkgcGFnZSArIDEgKi8KKwlCbG9ja051bWJlciBzZXRfZnJvemVuX3BhZ2VzOyAv KiBwYWdlcyBhcmUgbWFya2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtICovCisJ QmxvY2tOdW1iZXIgc2V0X2FsbF92aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBhcmUgbWFya2Vk IGFzIGFsbC12aXNpYmxlIGluIHZtIGR1cmluZyB2YWN1dW0gKi8KIAogCS8qIFN0YXRpc3Rp Y3Mgb3V0cHV0IGJ5IHVzLCBmb3IgdGFibGUgKi8KIAlkb3VibGUJCW5ld19yZWxfdHVwbGVz OyAvKiBuZXcgZXN0aW1hdGVkIHRvdGFsICMgb2YgdHVwbGVzICovCkBAIC0yMjQsNiArMjI3 LDIyIEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhh c2U7CiB9IExWU2F2ZWRFcnJJbmZvOwogCisvKgorICogQ3V0LW9mZiB2YWx1ZXMgb2YgcGFy YW1ldGVycyB3aGljaCBjaGFuZ2VzIGltcGxpY2l0bHkgZHVyaW5nIGEgdmFjdXVtCisgKiBw cm9jZXNzLgorICogVmFjdXVtIGNhbid0IGNvbnRyb2wgdGhlaXIgdmFsdWVzLCBzbyB3ZSBz aG91bGQgc3RvcmUgdGhlbSBiZWZvcmUgYW5kIGFmdGVyCisgKiB0aGUgcHJvY2Vzc2luZy4K KyAqLwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBU eiB0aW1lOworCVBHUlVzYWdlCXJ1OworCVdhbFVzYWdlCXdhbHVzYWdlOworCUJ1ZmZlclVz YWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Cit9IExW RXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMg Ki8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CkBA IC0yNzcsNiArMjk2LDEwMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfdmFjdXVtX2Vycm9yX2lu 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 CWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisKKwkvKiBDYWxjdWxhdGUgZGlmZnMgb2Yg Z2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwgYW5kIGJ1ZmZlciB1c2FnZS4gKi8KKwlt ZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2FsVXNhZ2UpKTsKKwlXYWxVc2FnZUFjY3Vt RGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmY291bnRlcnMtPndhbHVzYWdlKTsKKwor CW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2FnZSkpOworCUJ1ZmZlclVz YWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZjb3VudGVycy0+YnVm dXNhZ2UpOworCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwlUaW1lc3Rh bXBEaWZmZXJlbmNlKGNvdW50ZXJzLT50aW1lLCBlbmR0aW1lLCAmc2VjcywgJnVzZWNzKTsK KworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKworCS8qCisJ ICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gcHJvY2Vzc2luZyBv cGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgPSBidWZ1c2FnZS5s b2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOworCXJlcG9ydC0+ dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVzYWdlLnNo YXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCA9IGJ1ZnVzYWdl LmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2RpcnRpZWQ7CisJ cmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFyZWRfYmxrc193cml0 dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndhbF9yZWNvcmRzOwor CXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53YWxfYnl0 ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgPSBJ TlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsK KwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVm dXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUg PSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGlt ZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VD KGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5kZWxheV90aW1l ID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsKKworCXJl cG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisKKwlp ZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJ CSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRv IHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0Lgor CQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQlyZWwtPnBn c3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2Zl dGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50 cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIC8qCiAgKgloZWFw X3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24K QEAgLTMwOSw2ICs0MjUsOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1 dW1QYXJhbXMgKnBhcmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2Fn ZTsKIAlCdWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlF cnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBl eHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAq KmluZG5hbWVzID0gTlVMTDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFD T1BUX1ZFUkJPU0UpICE9IDA7CkBAIC0zMjcsNyArNDQ1LDcgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jl c3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBS ZWxhdGlvbkdldFJlbGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4 dFZhY0NvdW50ZXJzKTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0 IGZvciBlcmVwb3J0KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBl cnJvciBjb250ZXh0IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlv biBvbiBhbnkKQEAgLTM0NCw2ICs0NjIsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24g cmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRh YmFzZV9uYW1lKE15RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRf bmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5y ZWxuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNy ZWwtPnJlbG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUg PSBOVUxMOwogCXZhY3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsK IAl2YWNyZWwtPnZlcmJvc2UgPSB2ZXJib3NlOwpAQCAtNDExLDYgKzUzMCw4IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3Jl bC0+bHBkZWFkX2l0ZW1fcGFnZXMgPSAwOwogCXZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXMg PSAwOwogCXZhY3JlbC0+bm9uZW1wdHlfcGFnZXMgPSAwOworCXZhY3JlbC0+c2V0X2Zyb3pl bl9wYWdlcyA9IDA7CisJdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXMgPSAwOwogCS8q IGRlYWRfaXRlbXNfYWxsb2MgYWxsb2NhdGVzIHZhY3JlbC0+ZGVhZF9pdGVtcyBsYXRlciBv biAqLwogCiAJLyogQWxsb2NhdGUvaW5pdGlhbGl6ZSBvdXRwdXQgc3RhdGlzdGljcyBzdGF0 ZSAqLwpAQCAtNTcyLDYgKzY5MywxOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVs LCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlk LCB2YWNyZWwtPk5ld1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZt aW5tdWx0aV91cGRhdGVkLCBmYWxzZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQg dmFjdXVtIHN0YXRzIHJlcG9ydCAqLworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFj Q291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4 dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0g dmFjcmVsLT5zY2FubmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0g dmFjcmVsLT5yZW1vdmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2 YWNyZWwtPnNldF9mcm96ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNp YmxlID0gdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnR1 cGxlc19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQu dHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQu ZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5t aXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9 IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0 byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg2LDcgKzcy MCw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFj cmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXMgKwotCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJ CSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsK IAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpA QCAtMTM3OCw2ICsxNTEzLDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRl ICp2YWNyZWwsIEJ1ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1i dWZmZXIsIEludmFsaWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9B TExfVklTSUJMRSB8IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9T RUNUSU9OKCk7CisJCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFj cmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0 SGVhcEZyZWVTcGFjZShwYWdlKTsKQEAgLTIyNzUsMTEgKzI0MTIsMTMgQEAgbGF6eV92YWN1 dW1faGVhcF9wYWdlKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1 ZmZlciBidWZmZXIsCiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxh Z3MgPSBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlcysrOwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRy YW5zYWN0aW9uSWRJc1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3Mg fD0gVklTSUJJTElUWU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3Bh Z2VzKys7CiAJCX0KIAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjAsNiAr MzI1OSw4IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChl cnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVB UDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1Zh bGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxp ZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtMzEzNSw2ICszMjc2LDggQEAgdmFjdXVtX2Vycm9y X2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlm IChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChP ZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQ3MmNhZGU2MGE0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2 ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJh Y2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAi cGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0 b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiAr MTYxLDE4IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJl ciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5 dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEluaXRpYWxseSwgaXQgZGlkbid0IG1hdHRl ciB3aGF0IHR5cGUgb2YgZmxhZ3MgKGFsbC12aXNpYmxlIG9yIGZyb3plbikgd2UgcmVjZWl2 ZWQsCisJCSAqIHdlIGp1c3QgcGVyZm9ybWVkIGEgcmV2ZXJzZSBjb25jYXRlbmF0aW9uIG9w ZXJhdGlvbi4gQnV0IHRoaXMgaW5mb3JtYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQKKwkJICog Zm9yIHZhY3V1bSBzdGF0aXN0aWNzLiBXZSBuZWVkIHRvIGZpbmQgb3V0IHRoaXMgdXNpbmd0 aGUgYml0IGNvbmNhdGVuYXRpb24gb3BlcmF0aW9uCisJCSAqIHdpdGggdGhlIFZJU0lCSUxJ VFlNQVBfQUxMX1ZJU0lCTEUgYW5kIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTiBtYXNrcywK KwkJICogYW5kIHdoZXJlIHRoZSBkZXNpcmVkIG9uZSBtYXRjaGVzLCB3ZSBpbmNyZW1lbnQg dGhlIHZhbHVlIHRoZXJlLgorCQkqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNl dCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3RhdF9jb3Vu dF92bV9yZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBP ZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBnc3RhdF9j b3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAmPSB+bWFz azsKIAogCQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCmluZGV4IDM0NTZiODIxYmM1Li4wYWMyMTBkMDNmNyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtNjkxLDcgKzY5MSw5IEBAIENSRUFU RSBWSUVXIHBnX3N0YXRfYWxsX3RhYmxlcyBBUwogICAgICAgICAgICAgcGdfc3RhdF9nZXRf dmFjdXVtX2NvdW50KEMub2lkKSBBUyB2YWN1dW1fY291bnQsCiAgICAgICAgICAgICBwZ19z dGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KEMub2lkKSBBUyBhdXRvdmFjdXVtX2NvdW50LAog ICAgICAgICAgICAgcGdfc3RhdF9nZXRfYW5hbHl6ZV9jb3VudChDLm9pZCkgQVMgYW5hbHl6 ZV9jb3VudCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KEMu b2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfYXV0 b2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGF1dG9hbmFseXplX2NvdW50LAorICAgICAgICAg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxl X3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgICBGUk9NIHBnX2Ns YXNzIEMgTEVGVCBKT0lOCiAgICAgICAgICBwZ19pbmRleCBJIE9OIEMub2lkID0gSS5pbmRy ZWxpZAogICAgICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBOIE9OIChOLm9pZCA9IEMu cmVsbmFtZXNwYWNlKQpAQCAtMTM3OSwzICsxMzgxLDQ3IEBAIENSRUFURSBWSUVXIHBnX3N0 YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVXIHBnX3dhaXRfZXZlbnRz IEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVudHMoKTsKKy0tCistLSBT aG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVyYXRp b24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5jZS4K Ky0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8gZ2V0 IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFURSBW SUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisgIG5zLm5zcG5hbWUgQVMg InNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisgIHN0YXRzLnJlbGlkIGFz IHJlbGlkLAorCisgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCBBUyB0b3RhbF9ibGtzX3JlYWQs CisgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICBzdGF0cy50 b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3Rh bF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLnJlbF9i bGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMucmVsX2Jsa3NfaGl0IEFTIHJl bF9ibGtzX2hpdCwKKworICBzdGF0cy5wYWdlc19zY2FubmVkIEFTIHBhZ2VzX3NjYW5uZWQs CisgIHN0YXRzLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVtb3ZlZCwKKyAgc3RhdHMucGFn ZXNfZnJvemVuIEFTIHBhZ2VzX2Zyb3plbiwKKyAgc3RhdHMucGFnZXNfYWxsX3Zpc2libGUg QVMgcGFnZXNfYWxsX3Zpc2libGUsCisgIHN0YXRzLnR1cGxlc19kZWxldGVkIEFTIHR1cGxl c19kZWxldGVkLAorICBzdGF0cy50dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4sCisg IHN0YXRzLmRlYWRfdHVwbGVzIEFTIGRlYWRfdHVwbGVzLAorCisgIHN0YXRzLmluZGV4X3Zh Y3V1bV9jb3VudCBBUyBpbmRleF92YWN1dW1fY291bnQsCisgIHN0YXRzLndhbF9yZWNvcmRz IEFTIHdhbF9yZWNvcmRzLAorICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCisgIHN0YXRz LndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBi bGtfcmVhZF90aW1lLAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGlt ZSwKKworICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHN0YXRzLnRvdGFs X3RpbWUgQVMgdG90YWxfdGltZQorCitGUk9NIHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25h bWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKK1dIRVJFIHJlbC5yZWxr aW5kID0gJ3InOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwppbmRleCA4NmYzNmIzNjk1NC4uMWNm ZjQ0NmZiOTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCkBAIC0xMDIsNiArMTAyLDkgQEAg cGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSBOVUxMOwogcGdf YXRvbWljX3VpbnQzMiAqVmFjdXVtQWN0aXZlTldvcmtlcnMgPSBOVUxMOwogaW50CQkJVmFj dXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAKKy8qIEN1bXVsYXRpdmUgc3RvcmFnZSB0byBy ZXBvcnQgdG90YWwgdmFjdXVtIGRlbGF5IHRpbWUuICovCitkb3VibGUgVmFjdXVtRGVsYXlU aW1lID0gMDsgLyogbXNlYy4gKi8KKwogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5 cGVzICovCiBzdGF0aWMgTGlzdCAqZXhwYW5kX3ZhY3V1bV9yZWwoVmFjdXVtUmVsYXRpb24g KnZyZWwsCiAJCQkJCQkJICAgTWVtb3J5Q29udGV4dCB2YWNfY29udGV4dCwgaW50IG9wdGlv bnMpOwpAQCAtMjQxOCw2ICsyNDIxLDcgQEAgdmFjdXVtX2RlbGF5X3BvaW50KHZvaWQpCiAJ CQlleGl0KDEpOwogCiAJCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwkJVmFjdXVtRGVsYXlU aW1lICs9IG1zZWM7CiAKIAkJLyoKIAkJICogQmFsYW5jZSBhbmQgdXBkYXRlIGxpbWl0IHZh bHVlcyBmb3IgYXV0b3ZhY3V1bSB3b3JrZXJzLiBXZSBtdXN0IGRvCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCA0ZmQ2NTc0ZTEyOS4uN2Y3YzdjMTZlMjMg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysr IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtMTA0OCw2ICsx MDQ4LDcgQEAgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3Rv YyAqdG9jKQogCS8qIFNldCBjb3N0LWJhc2VkIHZhY3V1bSBkZWxheSAqLwogCVZhY3V1bVVw ZGF0ZUNvc3RzKCk7CiAJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCVZhY3V1bURlbGF5VGlt ZSA9IDA7CiAJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAJVmFjdXVtU2hhcmVkQ29z dEJhbGFuY2UgPSAmKHNoYXJlZC0+Y29zdF9iYWxhbmNlKTsKIAlWYWN1dW1BY3RpdmVOV29y a2VycyA9ICYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXQuYwppbmRleCBlYThjNTY5MWU4Ny4uM2YyZTlmNTQ2ODUgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xODksNyArMTg5LDcgQEAgc3RhdGlj IHZvaWQgcGdzdGF0X3Jlc2V0X2FmdGVyX2ZhaWx1cmUodm9pZCk7CiBzdGF0aWMgYm9vbCBw Z3N0YXRfZmx1c2hfcGVuZGluZ19lbnRyaWVzKGJvb2wgbm93YWl0KTsKIAogc3RhdGljIHZv aWQgcGdzdGF0X3ByZXBfc25hcHNob3Qodm9pZCk7Ci1zdGF0aWMgdm9pZCBwZ3N0YXRfYnVp bGRfc25hcHNob3Qodm9pZCk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3Qo UGdTdGF0X0tpbmQgc3RhdEtpbmQpOwogc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBz aG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgcGdz dGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CkBAIC0yNTksNyArMjU5LDYg QEAgc3RhdGljIGJvb2wgcGdzdGF0X2lzX2luaXRpYWxpemVkID0gZmFsc2U7CiBzdGF0aWMg Ym9vbCBwZ3N0YXRfaXNfc2h1dGRvd24gPSBmYWxzZTsKICNlbmRpZgogCi0KIC8qCiAgKiBU aGUgZGlmZmVyZW50IGtpbmRzIG9mIGJ1aWx0LWluIHN0YXRpc3RpY3MuCiAgKgpAQCAtODc4 LDcgKzg3Nyw2IEBAIHBnc3RhdF9yZXNldF9vZl9raW5kKFBnU3RhdF9LaW5kIGtpbmQpCiAJ CXBnc3RhdF9yZXNldF9lbnRyaWVzX29mX2tpbmQoa2luZCwgdHMpOwogfQogCi0KIC8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogICogRmV0Y2hpbmcgb2Ygc3RhdHMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtOTQ3LDcgKzk0NSw3 IEBAIHBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBraW5kLCBPaWQgZGJvaWQsIHVp bnQ2NCBvYmppZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8gYnVpbGQgYSBmdWxsIHNuYXBzaG90 LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZF VENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsK KwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCiAJLyog aWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGluIGNhY2hlICovCiAJaWYgKHBnc3Rh dF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9OT05FKQpA QCAtMTA2Myw3ICsxMDYxLDcgQEAgcGdzdGF0X3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5k IGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOwogCiAJaWYgKHBnc3RhdF9mZXRj aF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1QpCi0J CXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdT VEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRfYnVpbGRfc25hcHNob3RfZml4 ZWQoa2luZCk7CiAKQEAgLTExMTMsOCArMTExMSwzMCBAQCBwZ3N0YXRfcHJlcF9zbmFwc2hv dCh2b2lkKQogCQkJCQkJCSAgIE5VTEwpOwogfQogCisKKy8qCisgKiBUcml2aWFsIGV4dGVy bmFsIGludGVyZmFjZSB0byBidWlsZCBhIHNuYXBzaG90IGZvciB0YWJsZSBzdGF0aXN0aWNz IG9ubHkuCisgKi8KK3ZvaWQKK3Bnc3RhdF91cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQg a2luZCkKK3sKKwlpbnQgc2F2ZV9jb25zaXN0ZW5jeV9ndWMgPSBwZ3N0YXRfZmV0Y2hfY29u c2lzdGVuY3k7CisJcGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CisKKwlQR19UUlkoKTsKKwl7 CisJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5D WV9TTkFQU0hPVDsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFU SU9OKTsKKwl9CisJUEdfRklOQUxMWSgpOworCXsKKwkJcGdzdGF0X2ZldGNoX2NvbnNpc3Rl bmN5ID0gc2F2ZV9jb25zaXN0ZW5jeV9ndWM7CisJfQorCVBHX0VORF9UUlkoKTsKK30KKwog c3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKQorcGdzdGF0X2J1aWxk X3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogewogCWRzaGFzaF9zZXFfc3RhdHVz IGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IGZhYmE4YjY0ZDIzLi4y YTI2NTBlZjJjYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X3JlbGF0aW9uLmMKQEAgLTQ3LDYgKzQ3LDggQEAgc3RhdGljIHZvaWQgYWRkX3RhYnN0YXRf eGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBpbnQgbmVzdF9s ZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxl U3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5jZHJvcF9jb3Vu dGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19kcm9wKTsKIHN0 YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RT dGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19z dGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAg Ym9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbyk7CiAKIAogLyoKQEAgLTIw MywxMiArMjA1LDQwIEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKIAl9 CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAt CisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZhY3V1bSBpbnRl cnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQoreworCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVm OworCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0YXRfU3RhdFRh YkVudHJ5ICp0YWJlbnRyeTsKKwlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7CisKKwlp ZiAoIXBnc3RhdF90cmFja19jb3VudHMpCisJCXJldHVybjsKKworCWVudHJ5X3JlZiA9IHBn c3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElPTiwKKwkJCQkJ CQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxzZSk7CisKKwlzaHRhYmVudHJ5ID0gKFBnU3Rh dFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKwl0YWJlbnRy eSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKKworCXRhYmVudHJ5LT52YWN1dW1fZXh0LmludGVy cnVwdHMrKzsKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Cit9CisKIC8qCiAg KiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElP IHN0YXRpc3RpY3MuCiAgKi8KIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJs ZW9pZCwgYm9vbCBzaGFyZWQsCi0JCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQ Z1N0YXRfQ291bnRlciBkZWFkdHVwbGVzKQorCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1 cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJIEV4dFZhY1JlcG9ydCAq cGFyYW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJl ZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzMiw2ICsyNjIsOCBAQCBwZ3N0YXRfcmVw b3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZl X3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1 cGxlczsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZh Y3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3Np YmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkg KiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRl ciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC04NTcsNiArODg5LDkgQEAgcGdzdGF0X3JlbGF0aW9u X2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAl0 YWJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2ZldGNo ZWQ7CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2hp dDsKIAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3RhdHMtPmNvdW50 cy5yZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92aXNpYmxlX3Bh Z2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwogCS8qIENs YW1wIGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2ZV90dXBsZXMg Ki8KIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxpdmVfdHVwbGVz LCAwKTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk4MCwzICsxMDE1 LDM2IEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0 dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9w cmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRl X2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJ CQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlk c3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRv dGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtz X2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtz X3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMg Kz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlk c3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90 aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNy Yy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGlt ZTsKKwlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCWRzdC0+ZXJyb3Jz ICs9IHNyYy0+ZXJyb3JzOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNf aW5mbykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2Zl dGNoZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdl c19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQg Kz0gc3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+cGFn ZXNfZnJvemVuOworCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19hbGxf dmlzaWJsZTsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7 CisJZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlkc3QtPmRl YWRfdHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92YWN1dW1fY291 bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBmN2I1MGUw YjVhZi4uZDJmMzYwODE1MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j CkBAIC0zMSw2ICszMSw0MiBAQAogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUg InV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCisjaW5j bHVkZSAidXRpbHMvcGdzdGF0X2ludGVybmFsLmgiCisKKy8qIGhhc2ggdGFibGUgZm9yIHN0 YXRpc3RpY3Mgc25hcHNob3RzIGVudHJ5ICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU25h cHNob3RFbnRyeQoreworCVBnU3RhdF9IYXNoS2V5IGtleTsKKwljaGFyCQlzdGF0dXM7CQkJ LyogZm9yIHNpbXBsZWhhc2ggdXNlICovCisJdm9pZAkgICAqZGF0YTsJCQkvKiB0aGUgc3Rh dHMgZGF0YSBpdHNlbGYgKi8KK30gUGdTdGF0X1NuYXBzaG90RW50cnk7CisKKy8qIC0tLS0t LS0tLS0KKyAqIEJhY2tlbmQtbG9jYWwgSGFzaCBUYWJsZSBEZWZpbml0aW9ucworICogLS0t LS0tLS0tLQorICovCisKKy8qIGZvciBzdGF0cyBzbmFwc2hvdCBlbnRyaWVzICovCisjZGVm aW5lIFNIX1BSRUZJWCBwZ3N0YXRfc25hcHNob3QKKyNkZWZpbmUgU0hfRUxFTUVOVF9UWVBF IFBnU3RhdF9TbmFwc2hvdEVudHJ5CisjZGVmaW5lIFNIX0tFWV9UWVBFIFBnU3RhdF9IYXNo S2V5CisjZGVmaW5lIFNIX0tFWSBrZXkKKyNkZWZpbmUgU0hfSEFTSF9LRVkodGIsIGtleSkg XAorCXBnc3RhdF9oYXNoX2hhc2hfa2V5KCZrZXksIHNpemVvZihQZ1N0YXRfSGFzaEtleSks IE5VTEwpCisjZGVmaW5lIFNIX0VRVUFMKHRiLCBhLCBiKSBcCisJcGdzdGF0X2NtcF9oYXNo X2tleSgmYSwgJmIsIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpID09IDAKKyNkZWZp bmUgU0hfU0NPUEUgc3RhdGljIGlubGluZQorI2RlZmluZSBTSF9ERUZJTkUKKyNkZWZpbmUg U0hfREVDTEFSRQorI2luY2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisKK3R5cGVkZWYgcGdz dGF0X3NuYXBzaG90X2l0ZXJhdG9yIFNuYXBzaG90SXRlcmF0b3I7CisKKyNkZWZpbmUgSW5p dFNuYXBzaG90SXRlcmF0b3IoaHRhYmxlLCBpdGVyKSBcCisJcGdzdGF0X3NuYXBzaG90X3N0 YXJ0X2l0ZXJhdGUoaHRhYmxlLCBpdGVyKTsKKyNkZWZpbmUgU2NhblN0YXRTbmFwc2hvdCho dGFibGUsIGl0ZXIpIFwKKwlwZ3N0YXRfc25hcHNob3RfaXRlcmF0ZShodGFibGUsIGl0ZXIp CisKIAogI2RlZmluZSBVSU5UMzJfQUNDRVNTX09OQ0UodmFyKQkJICgodWludDMyKSgqKCh2 b2xhdGlsZSB1aW50MzIgKikmKHZhcikpKSkKIApAQCAtMTA2LDYgKzE0MiwxMiBAQCBQR19T VEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfdXBkYXRlZCkKIC8qIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodmFjdXVtX2Nv dW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZfZnJvemVuX3BhZ2VzICovCitQR19TVEFUX0dF VF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zyb3plbl9wYWdlcykKKworLyogcGdfc3RhdF9n ZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2 NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisKICNkZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5U UllfVElNRVNUQU1QVFooc3RhdCkJCQkJCVwKIERhdHVtCQkJCQkJCQkJCQkJCQkJXAogQ3Bw Q29uY2F0KHBnX3N0YXRfZ2V0XyxzdGF0KShQR19GVU5DVElPTl9BUkdTKQkJCQkJXApAQCAt MjA2MywzICsyMTA1LDEzMiBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJH UykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2VudHJ5KGtpbmQsIGRib2lkLCBv YmppZCkpOwogfQorCisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0 aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFC TEVTX1NUQVRTX0NPTFMgMjIKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgw KTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0VmFjUmVwb3J0 IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVtCQkJCQkg dmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MU10gPSB7MH07CisJ Ym9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MU10g PSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsKKwlFeHRW YWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1h dGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1w bGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOwor CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxp ZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfcmVhZCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193cml0dGVu IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfcmVhZCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2VzX3NjYW5u ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19yZW1vdmVkIiwKKwkJCQkJICAgSU5U OE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAicGFnZXNfZnJvemVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfYWxs X3Zpc2libGUiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZGVsZXRlZCIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInR1cGxlc19mcm96ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJk ZWFkX3R1cGxlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImluZGV4X3ZhY3V1bV9jb3VudCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAg IE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGlt ZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FU OE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxF U19TVEFUU19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50 cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50 cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5k LCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVv ZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UK Kwl7CisJCWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkg PSAwOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19o aXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Js a3NfZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0 KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7 CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19zY2Fu bmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19y ZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdl c19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBh Z2VzX2FsbF92aXNpYmxlKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50dXBsZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+ZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51 bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXpl b2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVz W2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENT dHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAor CQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsr XSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2kr K10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0 KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVw bGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsK K30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMK aW5kZXggOGFjY2EzZTBhMGIuLmZlNTU0NTQ3ZjViIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxv Zy5jCkBAIC0xNjE5LDYgKzE2MTksMTkgQEAgZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lk KQogCXJldHVybiBlZGF0YS0+aW50ZXJuYWxwb3M7CiB9CiAKKy8qCisgKiBSZXR1cm4gZWxl dmVsIG9mIGVycm9ycworICovCitpbnQKK2dldGVycmVsZXZlbCh2b2lkKQoreworCUVycm9y RGF0YSAgKmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRhdGFfc3RhY2tfZGVwdGhdOworCisJ Lyogd2UgZG9uJ3QgYm90aGVyIGluY3JlbWVudGluZyByZWN1cnNpb25fZGVwdGggKi8KKwlD SEVDS19TVEFDS19ERVBUSCgpOworCisJcmV0dXJuIGVkYXRhLT5lbGV2ZWw7Cit9CiAKIC8q CiAgKiBGdW5jdGlvbnMgdG8gYWxsb3cgY29uc3RydWN0aW9uIG9mIGVycm9yIG1lc3NhZ2Ug c3RyaW5ncyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4 IGYyMzMyMWE0MWYxLi5mNjgwNzJkMzJiOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CkBAIC0xMjM5Miw0ICsxMjM5MiwyMiBAQAogICBwcm9hcmd0eXBlcyA9PiAnaW50MicsCiAg IHByb3NyYyA9PiAnZ2lzdF9zdHJhdG51bV9pZGVudGl0eScgfSwKIAoreyBvaWQgPT4gJzgw MDEnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyByZXR1cm4gc3Rh dHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycs IHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdy ZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJv YXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxv YXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlk LHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90 YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX3NjYW5u ZWQscGFnZXNfcmVtb3ZlZCxwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUsdHVwbGVz X2RlbGV0ZWQsdHVwbGVzX2Zyb3plbixkZWFkX3R1cGxlcyxpbmRleF92YWN1dW1fY291bnQs d2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVf dGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzJyB9LAorCisgIHsgb2lkID0+ICc4MDAyJywgZGVzY3IgPT4gJ3N0 YXRpc3RpY3M6IG51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZpc2libGUgcGFnZXMgaW4gdGhl IHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdlcyBvZiB0YWJsZScsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycsIHByb3ZvbGF0 aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4 JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2 X2FsbF92aXNpYmxlX3BhZ2VzJyB9LAorICB7IG9pZCA9PiAnODAwMycsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gcGFnZXMgaW4gdGhl IHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdlcyBvZiB0YWJsZScsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJywgcHJvdm9sYXRp bGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgn LCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZf YWxsX2Zyb3plbl9wYWdlcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKaW5kZXggNzU5 ZjlhODdkMzguLjA3YjI4YjE1ZDlmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5k cy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApAQCAtMzA4 LDYgKzMwOCw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgdmFjdXVtX211bHRpeGFjdF9m YWlsc2FmZV9hZ2U7CiBleHRlcm4gUEdETExJTVBPUlQgcGdfYXRvbWljX3VpbnQzMiAqVmFj dXVtU2hhcmVkQ29zdEJhbGFuY2U7CiBleHRlcm4gUEdETExJTVBPUlQgcGdfYXRvbWljX3Vp bnQzMiAqVmFjdXVtQWN0aXZlTldvcmtlcnM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IFZh Y3V1bUNvc3RCYWxhbmNlTG9jYWw7CitleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIFZhY3V1 bURlbGF5VGltZTsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgVmFjdXVtRmFpbHNhZmVB Y3RpdmU7CiBleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIHZhY3V1bV9jb3N0X2RlbGF5Owpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQu aAppbmRleCBkZjUzZmEyZDRmOS4uZTgzNTBjYTQzOGMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNjksNiArMTY5 LDUwIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRf Q291bnRlciBjb25mbGljdF9jb3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRf QmFja2VuZFN1YkVudHJ5OwogCisvKiAtLS0tLS0tLS0tCisgKgorICogRXh0VmFjUmVwb3J0 CisgKgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92 ZXIgYSBoZWFwIHJlbGF0aW9uLgorICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50IGJ5 IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKKyAqIGlmIGFueSAoaWUgdGhlIGNoYW5n ZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQorICogcGFnZXNfZGVsZXRlZCByZWZlciB0 byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQorICogLS0tLS0tLS0tLQorICov Cit0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKK3sKKwlpbnQ2NAkJdG90YWxfYmxrc19y ZWFkOyAJLyogbnVtYmVyIG9mIHBhZ2VzIHRoYXQgd2VyZSBtaXNzZWQgaW4gc2hhcmVkIGJ1 ZmZlcnMgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJ CXRvdGFsX2Jsa3NfaGl0OyAJLyogbnVtYmVyIG9mIHBhZ2VzIHRoYXQgd2VyZSBmb3VuZCBp biBzaGFyZWQgYnVmZmVycyBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24g Ki8KKwlpbnQ2NAkJdG90YWxfYmxrc19kaXJ0aWVkOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFy a2VkIGFzICdEaXJ0eScgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uLiAq LworCWludDY0CQl0b3RhbF9ibGtzX3dyaXR0ZW47CS8qIG51bWJlciBvZiBwYWdlcyB3cml0 dGVuIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbi4gKi8KKworCWludDY0 CQlibGtzX2ZldGNoZWQ7IAkJLyogbnVtYmVyIG9mIGEgcmVsYXRpb24gYmxvY2tzLCBmZXRj aGVkIGR1cmluZyB0aGUgdmFjdXVtLiAqLworCWludDY0CQlibGtzX2hpdDsJCS8qIG51bWJl ciBvZiBhIHJlbGF0aW9uIGJsb2NrcywgZm91bmQgaW4gc2hhcmVkIGJ1ZmZlcnMgZHVyaW5n IHRoZSB2YWN1dW0uICovCisKKwkvKiBWYWN1dW0gV0FMIHVzYWdlIHN0YXRzICovCisJaW50 NjQJCXdhbF9yZWNvcmRzOwkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBXQUwgcmVjb3JkcyAq LworCWludDY0CQl3YWxfZnBpOwkJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIGZ1bGwg cGFnZSBpbWFnZXMgcHJvZHVjZWQgKi8KKwl1aW50NjQJCXdhbF9ieXRlczsJCS8qIHdhbCB1 c2FnZTogc2l6ZSBvZiBXQUwgcmVjb3JkcyBwcm9kdWNlZCAqLworCisJLyogVGltZSBzdGF0 cy4gKi8KKwlkb3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUgc3BlbnQgcmVhZGluZyBw YWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3RpbWU7IC8qIHRpbWUgc3Bl bnQgd3JpdGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8q IGhvdyBsb25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMg Ki8KKwlkb3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9w ZXJhdGlvbiwgaW4gbXNlYyAqLworCisJLyogSW50ZXJydXB0aW9ucyBvbiBhbnkgZXJyb3Jz LiAqLworCWludDMyCQllcnJvcnM7CisKKwlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIG51 bWJlciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLworCWludDY0CQlwYWdlc19yZW1vdmVkOwkJ LyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJaW50NjQJCXBhZ2Vz X2Zyb3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICov CisJaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFya2Vk IGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyog dHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJaW50NjQJCXR1cGxlc19mcm96ZW47CQkv KiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCWludDY0CQlkZWFkX3R1cGxlczsJ CS8qIG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90IGNsZWFu IHVwIGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KKwlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50 OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworfSBFeHRWYWNSZXBvcnQ7CisK IC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJsZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVy LXRhYmxlIGNvdW50cyBrZXB0IGJ5IGEgYmFja2VuZAogICoKQEAgLTIwOSw2ICsyNTMsMTYg QEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0YXRfQ291bnRl ciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworCisJUGdT dGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJl dl9hbGxfZnJvemVuX3BhZ2VzOworCisJLyoKKwkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUg c3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9ucy4KKwkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVj dHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCisJICogcmVs YXRpb25zLgorCSAqLworCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFi bGVDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTI2Nyw3ICszMjEsNyBAQCB0eXBlZGVm IHN0cnVjdCBQZ1N0YXRfVGFibGVYYWN0U3RhdHVzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jZGVm aW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0FGCisjZGVmaW5lIFBHU1RBVF9G SUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0IxCiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNo aXZlclN0YXRzCiB7CkBAIC0zODgsNiArNDQyLDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgc2Vzc2lvbnNfa2lsbGVkOwogCiAJVGlt ZXN0YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVt X2V4dDsJCS8qIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzICovCiB9IFBnU3RhdF9TdGF0 REJFbnRyeTsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRGdW5jRW50cnkKQEAgLTQ2 MSw2ICs1MTcsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCVBn U3RhdF9Db3VudGVyIGFuYWx5emVfY291bnQ7CiAJVGltZXN0YW1wVHogbGFzdF9hdXRvYW5h bHl6ZV90aW1lOwkvKiBhdXRvdmFjdXVtIGluaXRpYXRlZCAqLwogCVBnU3RhdF9Db3VudGVy IGF1dG9hbmFseXplX2NvdW50OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxl X3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOworCisJRXh0 VmFjUmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7CiAKIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9XYWxTdGF0cwpAQCAtNjI2LDEwICs2ODcsMTIgQEAgZXh0ZXJu IHZvaWQgcGdzdGF0X2Fzc29jX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7CiBleHRlcm4gdm9p ZCBwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7CiAKIGV4dGVybiB2b2lk IHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCi0JCQkJ CQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVw bGVzKTsKKwkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3Vu dGVyIGRlYWR0dXBsZXMsCisJCQkJCQkJCSBFeHRWYWNSZXBvcnQgKnBhcmFtcyk7CiBleHRl cm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkg IFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMs CiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKIAogLyoKICAqIElmIHN0YXRzIGFy ZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBiZWVuIHByZXBhcmVkIHlldCwg Y2FsbApAQCAtNjc3LDYgKzc0MCwxNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2Fu YWx5emUoUmVsYXRpb24gcmVsLAogCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlv bihyZWwpKQkJCQkJCVwKIAkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19o aXQrKzsJCQkJXAogCX0gd2hpbGUgKDApCisvKiBhY2N1bXVsYXRlIHVuZnJvemVuIGFsbC12 aXNpYmxlIGFuZCBhbGwtZnJvemVuIHBhZ2VzICovCisjZGVmaW5lIHBnc3RhdF9jb3VudF92 bV9yZXZfYWxsX3Zpc2libGUocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAor CQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShy ZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlcysrOwlcCisJ fSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50X3ZtX3Jldl9hbGxfZnJvemVuKHJl bCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRf Y291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNv dW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlcysrOwlcCisJfSB3aGlsZSAoMCkKIAogZXh0ZXJu IHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9uIHJlbCwgUGdTdGF0X0Nv dW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF91cGRhdGUoUmVsYXRp b24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdlKTsKQEAgLTY5NCw3ICs3NjgsNiBAQCBl eHRlcm4gUGdTdGF0X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnlf ZXh0KGJvb2wgc2hhcmVkLAogCQkJCQkJCQkJCQkJCQkgICBPaWQgcmVsb2lkKTsKIGV4dGVy biBQZ1N0YXRfVGFibGVTdGF0dXMgKmZpbmRfdGFic3RhdF9lbnRyeShPaWQgcmVsX2lkKTsK IAotCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3RhdF9yZXBsc2xvdC5jCiAgKi8KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vs b2cuaAppbmRleCBlNTRlY2E1YjQ4OS4uZTc1MmMwY2UwMTUgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3V0aWxzL2Vsb2cuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKQEAg LTIzMCw2ICsyMzAsNyBAQCBleHRlcm4gaW50CWdldGVycmxldmVsKHZvaWQpOwogZXh0ZXJu IGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50ZXJuYWxlcnJw b3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9pZCk7CiAKIC8q LS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6IHRvIGJlIHVz ZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRf aW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oCmluZGV4 IDYxYjJlMWY5NmIyLi4yYzBlNTVkNjNmMyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRp bHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2lu dGVybmFsLmgKQEAgLTU3Myw3ICs1NzMsNyBAQCBleHRlcm4gUGdTdGF0X0VudHJ5UmVmICpw Z3N0YXRfZmV0Y2hfcGVuZGluZ19lbnRyeShQZ1N0YXRfS2luZCBraW5kLAogZXh0ZXJuIHZv aWQgKnBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBraW5kLCBPaWQgZGJvaWQsIHVp bnQ2NCBvYmppZCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfc25hcHNob3RfZml4ZWQoUGdTdGF0 X0tpbmQga2luZCk7CiAKLQorZXh0ZXJuIHZvaWQgcGdzdGF0X3VwZGF0ZV9zbmFwc2hvdChQ Z1N0YXRfS2luZCBraW5kKTsKIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X2FyY2hpdmVy LmMKICAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0IGIvc3JjL3Rlc3QvaXNvbGF0aW9u L2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43Y2RiNzljMGVjNAotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5k aW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApAQCAtMCwwICsxLDUzIEBACit1bnVzZWQgc3Rl cCBuYW1lOiBzMl9kZWxldGUKK1BhcnNlZCB0ZXN0IHNwZWMgd2l0aCAyIHNlc3Npb25zCisK K3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMl9pbnNlcnQgczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCBzMl91cGRhdGUgczJfaW5zZXJ0X2lu dGVycnVwdCBzMl92YWN1dW0gczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlIHMxX2NvbW1p dCBzMl9jaGVja3BvaW50IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUK K3N0ZXAgczJfaW5zZXJ0OiBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv bihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSwxMDAwKSBBcyBpdmFsOworc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAor ICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFk X3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1 bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK3JlbG5hbWUgICAg ICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19mcm96 ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAg ICAgICAwfCAgICAgICAgICAwfCAgICAgICAgICAgIDAKKygxIHJvdykKKworc3RlcCBzMV9i ZWdpbl9yZXBlYXRhYmxlX3JlYWQ6IAorICBCRUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisKK2NvdW50CistLS0tLQor ICAxMDAKKygxIHJvdykKKworc3RlcCBzMl91cGRhdGU6IFVQREFURSB0ZXN0X3ZhY3V1bV9z dGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOworc3Rl cCBzMl9pbnNlcnRfaW50ZXJydXB0OiBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbiB2YWx1ZXMgKDEsMSk7CitzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6 IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5k ZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK3JlbG5hbWUg ICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19m cm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAg ICAgICAgICAwfCAgICAgICAgMTAwfCAgICAgICAgICAgIDAKKygxIHJvdykKKworc3RlcCBz MV9jb21taXQ6IENPTU1JVDsKK3N0ZXAgczJfY2hlY2twb2ludDogQ0hFQ0tQT0lOVDsKK3N0 ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVw IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVs bmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJv emVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAg ICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVz X2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAxMDB8ICAgICAgICAxMDB8ICAg ICAgICAgIDEwMQorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24v aXNvbGF0aW9uX3NjaGVkdWxlIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hl ZHVsZQppbmRleCAxNDMxMDlhYTRkYS4uZTkzZGQ0ZjYyNmMgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvaXNvbGF0 aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQpAQCAtOTUsNiArOTUsNyBAQCB0ZXN0OiB0aW1lb3V0 cwogdGVzdDogdmFjdXVtLWNvbmN1cnJlbnQtZHJvcAogdGVzdDogdmFjdXVtLWNvbmZsaWN0 CiB0ZXN0OiB2YWN1dW0tc2tpcC1sb2NrZWQKK3Rlc3Q6IHZhY3V1bS1leHRlbmRpbmctaW4t cmVwZXRhYmxlLXJlYWQKIHRlc3Q6IHN0YXRzCiB0ZXN0OiBob3Jpem9ucwogdGVzdDogcHJl ZGljYXRlLWhhc2gKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1 dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVzdC9pc29sYXRp b24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41ZmFjYjJjODYyYwotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5n LWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTAsMCArMSw1MSBAQAorIyBUZXN0IGZvciBj aGVja2luZyBkZWFkX3R1cGxlcywgdHVwbGVzX2RlbGV0ZWQgYW5kIGZyb3plbiB0dXBsZXMg aW4gcGdfc3RhdF92YWN1dW1fdGFibGVzLgorIyBEZWFkX3R1cGxlcyB2YWx1ZXMgYXJlIGNv dW50ZWQgd2hlbiB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIHVudXNlZCB0dXBsZXMgd2hpbGUg bG9jayBpcyB1c2luZyBhbm90aGVyIHRyYW5zYWN0aW9uLgorIyBEZWFkX3R1cGxlcyBhcmVu J3QgaW5jcmVhc2VkIGFmdGVyIHJlbGVhc2luZyBsb2NrIGNvbXBhcmVkIHdpdGggdHVwbGVz X2RlbGV0ZWQsIHdoaWNoIGluY3JlYXNlZAorIyBieSB0aGUgdmFsdWUgb2YgdGhlIGNsZWFy ZWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBtYW5hZ2VkIHRvIGNsZWFyLgorCitzZXR1cAor eworICAgIENSRUFURSBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihpZCBpbnQs IGl2YWwgaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYpOworICAgIFNFVCB0 cmFja19pb190aW1pbmcgPSBvbjsKK30KKwordGVhcmRvd24KK3sKKyAgICBEUk9QIFRBQkxF IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIENBU0NBREU7CisgICAgUkVTRVQgdHJhY2tf aW9fdGltaW5nOworfQorCitzZXNzaW9uIHMxCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVf cmVhZCAgIHsKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gd2hlcmUgaWQ+OTAwOworICB9CitzdGVwIHMxX2NvbW1pdCAgICAgICAgICAg ICAgICAgIHsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3N0ZXAgczJfaW5zZXJ0ICAgICAg ICAgICAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihp ZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwx MDAwKSBBcyBpdmFsOyB9CitzdGVwIHMyX3VwZGF0ZSAgICAgICAgICAgICAgICAgIHsgVVBE QVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCAgMiB3aGVy ZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVU RSBGUk9NIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9Citz dGVwIHMyX2luc2VydF9pbnRlcnJ1cHQgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24gdmFsdWVzICgxLDEpOyB9CitzdGVwIHMyX3ZhY3V1bSAgICAg ICAgICAgICAgICAgIHsgVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uOyB9Citz dGVwIHMyX2NoZWNrcG9pbnQgICAgICAgICAgICAgIHsgQ0hFQ0tQT0lOVDsgfQorc3RlcCBz Ml9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKK3sKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxu YW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0LnR1cGxlc19mcm96 ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAg IFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2 dC5yZWxpZCA9IGMub2lkOworfQorCitwZXJtdXRhdGlvbgorICAgIHMyX2luc2VydAorICAg IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMxX2JlZ2luX3JlcGVhdGFibGVf cmVhZAorICAgIHMyX3VwZGF0ZQorICAgIHMyX2luc2VydF9pbnRlcnJ1cHQKKyAgICBzMl92 YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKKyAgICBzMV9jb21taXQK KyAgICBzMl9jaGVja3BvaW50CisgICAgczJfdmFjdXVtCisgICAgczJfcHJpbnRfdmFjdXVt X3N0YXRzX3RhYmxlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCAyYjQ3MDEzZjExMy4uMGJkOWM2ZDM5YjEgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0xODA0LDcgKzE4MDQsOSBA QCBwZ19zdGF0X2FsbF90YWJsZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBwZ19z dGF0X2dldF92YWN1dW1fY291bnQoYy5vaWQpIEFTIHZhY3V1bV9jb3VudCwKICAgICBwZ19z dGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KGMub2lkKSBBUyBhdXRvdmFjdXVtX2NvdW50LAog ICAgIHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQoYy5vaWQpIEFTIGFuYWx5emVfY291bnQs Ci0gICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291bnQoYy5vaWQpIEFTIGF1dG9hbmFs eXplX2NvdW50CisgICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291bnQoYy5vaWQpIEFT IGF1dG9hbmFseXplX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3Bh Z2VzKGMub2lkKSBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcywKKyAgICBwZ19zdGF0X2dldF9y ZXZfYWxsX3Zpc2libGVfcGFnZXMoYy5vaWQpIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwog ICAgRlJPTSAoKHBnX2NsYXNzIGMKICAgICAgTEVGVCBKT0lOIHBnX2luZGV4IGkgT04gKChj Lm9pZCA9IGkuaW5kcmVsaWQpKSkKICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuIE9O ICgobi5vaWQgPSBjLnJlbG5hbWVzcGFjZSkpKQpAQCAtMTg3OSw2ICsxODgxLDM0IEBAIHBn X3N0YXRfZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxFQ1Qgb2lkIEFTIGRhdGlkLAogICAgIHBn X3N0YXRfZ2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBfZGVhZGxvY2sob2lkKSBBUyBjb25mbF9k ZWFkbG9jaywKICAgICBwZ19zdGF0X2dldF9kYl9jb25mbGljdF9sb2dpY2Fsc2xvdChvaWQp IEFTIGNvbmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAogICAgRlJPTSBwZ19kYXRhYmFzZSBkOwor cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG5zLm5zcG5hbWUgQVMgc2NoZW1h LAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnJlbGlkLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRz LnBhZ2VzX3NjYW5uZWQsCisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0cy5w YWdlc19mcm96ZW4sCisgICAgc3RhdHMucGFnZXNfYWxsX3Zpc2libGUsCisgICAgc3RhdHMu dHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2Zyb3plbiwKKyAgICBzdGF0cy5k ZWFkX3R1cGxlcywKKyAgICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQsCisgICAgc3RhdHMu d2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMs CisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00g KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Js a3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCBw YWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVz X2Zyb3plbiwgZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwgd2FsX3JlY29yZHMs IHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRl bGF5X3RpbWUsIHRvdGFsX3RpbWUpCisgIFdIRVJFIChyZWwucmVsa2luZCA9ICdyJzo6ImNo YXIiKTsKIHBnX3N0YXRfZ3NzYXBpfCBTRUxFQ1QgcGlkLAogICAgIGdzc19hdXRoIEFTIGdz c19hdXRoZW50aWNhdGVkLAogICAgIGdzc19wcmluYyBBUyBwcmluY2lwYWwsCkBAIC0yMTg2 LDcgKzIyMTYsOSBAQCBwZ19zdGF0X3N5c190YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICB2 YWN1dW1fY291bnQsCiAgICAgYXV0b3ZhY3V1bV9jb3VudCwKICAgICBhbmFseXplX2NvdW50 LAotICAgIGF1dG9hbmFseXplX2NvdW50CisgICAgYXV0b2FuYWx5emVfY291bnQsCisgICAg cmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBG Uk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPSBBTlkgKEFS UkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkg T1IgKHNjaGVtYW5hbWUgfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwogcGdfc3RhdF91c2VyX2Z1 bmN0aW9uc3wgU0VMRUNUIHAub2lkIEFTIGZ1bmNpZCwKQEAgLTIyMzQsNyArMjI2Niw5IEBA IHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICB2YWN1dW1fY291bnQs CiAgICAgYXV0b3ZhY3V1bV9jb3VudCwKICAgICBhbmFseXplX2NvdW50LAotICAgIGF1dG9h bmFseXplX2NvdW50CisgICAgYXV0b2FuYWx5emVfY291bnQsCisgICAgcmV2X2FsbF9mcm96 ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRf YWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0 YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1h bmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwogcGdfc3RhdF93YWx8IFNFTEVDVCB3YWxf cmVjb3JkcywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uYTNkOGE0MzAxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKQEAgLTAsMCAr MSwyMDkgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQor LS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1 dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBz ZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBy ZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxh eWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0t CistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVz dCBiZSBvbgorIHRyYWNrX2NvdW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykK KworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4u LgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0tIGVuc3VyZSBwZW5kaW5nIHN0 YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7Cisg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAKKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVl emVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1T RVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1NFTEVDVCBv aWQgQVMgcm9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAorREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUg Zmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5Lgor U0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLHJlbHBhZ2Vz LHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgMCB8ICAgICAgNDU1IHwgICAgICAgICAgICAgMCB8ICAgICAgICAg ICAgIDAKKygxIHJvdykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIHJwCitGUk9NIHBnX2NsYXNz IGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0Owor LS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3Rp Y3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xl YW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVj YXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxu YW1lLHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkID4g MCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMg fCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8 IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHBhZ2Vz X2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFn ZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMg QVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBMb29rIGludG8gV0FMIHJlY29y ZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkV1IsIHdhbF9ieXRlcyA+ IDAgQVMgZFdCCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEg cm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK Ky0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1l LHBhZ2VzX2Zyb3plbi06ZnAgPiAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06 dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2Vz LHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQt OnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0 ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQor CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBh Z2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitG Uk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3 ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBp CitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0tLS0r LS0tLS0KKyB0ICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdi LHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHgg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJP TSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBv cnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRp c3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0g SXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lO VDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9y ZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06 aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFk dmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwg OmRmcGkyPTAgQVMgZEZQSSwgOmR3YjI9MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAK Ky0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisKK1NFTEVD VCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2VzX2Zyb3plbix0dXBs ZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAw IEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBh Z2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwg dHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1v dmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IHQgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwg dAorKDEgcm93KQorCitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVk IEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxf cmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAorREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRl ciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29y ZHMtOmh3ciBBUyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3YWxfZnBpLTpoZnBp IEFTIGRmcGkzCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVD VCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7Cisg ZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0 CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJl c3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVt IGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2Fu bmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1l LHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06 dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2Vz LHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQt OnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0 ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IHQgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQor CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6 c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKy0tIG11c3QgYmUgZW1wdHkK K1NFTEVDVCBwYWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz LnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHBhZ2VzX2Zyb3plbiB8IHBh Z2VzX2FsbF92aXNpYmxlIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2li bGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgICAgICAgICAwCisoMSByb3cpCisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VT QUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NF TEVDVCBwYWdlc19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJs ZSA+IDAgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSAwIEFT IHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDAgQVMgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBn X3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5h bWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBn X3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlz aWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAor LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxf ZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJF IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlk IFxnc2V0CitVUERBVEUgdmVzdGF0IFNFVCB4ID0geCArIDEwMDE7CitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwYWdlc19m cm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFT IHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2 X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBn X3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5h bWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBn X3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlz aWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAor LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgICB8IGYKKygxIHJvdykKKworU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxf ZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorRVJST1I6ICBjb2x1bW4gInJldl9h bGxfZnJvemVuX3BhZ2VzIiBkb2VzIG5vdCBleGlzdAorTElORSAxOiAuLi5MRUNUIHBhZ2Vz X2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnIuLi4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgp IHZlc3RhdDsKKy0tIHZhY3V1bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVu ID0gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA9IDpwdiBBUyBwYWdl c19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxf dmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0g J3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0 X2FsbF90YWJsZXMucmVsaWQ7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2libGUg fCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICB8IHQgICAgICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBtaW4o cmVsaWQpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSByZWxpZCA+ IDA7CisgbWluIAorLS0tLS0KKyAgICAKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDgxZTQyMjJk MjZhLi45NzdhMDQ3MjAyNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBA IC0xMzYsMyArMTM2LDggQEAgdGVzdDogZmFzdF9kZWZhdWx0CiAjIHJ1biB0YWJsZXNwYWNl IHRlc3QgYXQgdGhlIGVuZCBiZWNhdXNlIGl0IGRyb3BzIHRoZSB0YWJsZXNwYWNlIGNyZWF0 ZWQgZHVyaW5nCiAjIHNldHVwIHRoYXQgb3RoZXIgdGVzdHMgbWF5IHVzZS4KIHRlc3Q6IHRh Ymxlc3BhY2UKKworIyAtLS0tLS0tLS0tCisjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCisj IC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi44ODIwOGVhODJjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKQEAgLTAsMCArMSwxNjAg QEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0t IENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3Bl cmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkg dmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVk IGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGlu IHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCisKKy0t IGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJl IG9uCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0 Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworCisKKy0tIGVuc3VyZSBwZW5k aW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9h Z2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRz X2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4 IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTAp OworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEs OnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKK1NFTEVDVCBvaWQgQVMg cm9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitE RUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJz dCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxF Q1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFn ZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBj CitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0Owor LS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlz dGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBj bGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBi ZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJl bG5hbWUscGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQg PiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkID0gMCBBUyBw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz IEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0t IExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAw IEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisKK0RFTEVURSBGUk9NIHZlc3Rh dDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVY X0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdlc19yZW1vdmVkIG11c3Qg YmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID4gMCBB UyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAg QVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3Zl ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qg cGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJw LCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0 YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3 ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00g cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3Ig PiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFT IGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VM RUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxF VEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24n dCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9m IHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0 OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hF Q0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxF Q1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3 YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3Rh dGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9 MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworCitTRUxFQ1Qg dnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVz X2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBB UyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdl c19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1 cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBz LHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkg QVMgaGZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3Rh dDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxl CitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBk d2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5v dGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkd3IzPjAgQVMgZFdSLCA6ZGZwaTM9MCBBUyBkRlBJ LCA6ZHdiMz4wIEFTIGRXQjsKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBp cyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBp biB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBh Z2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0 LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19k ZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNf cmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQn IEFORCB2dC5yZWxpZCA9IGMub2lkOworCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHgg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZl c3RhdDsKKworLS0gbXVzdCBiZSBlbXB0eQorU0VMRUNUIHBhZ2VzX2Zyb3plbiwgcGFnZXNf YWxsX3Zpc2libGUsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdl cworRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMg V0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQ7CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworCistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zy b3plbiA+IDAgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gMCBBUyBwYWdl c19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVf cGFnZXMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFi bGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2li bGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxl X3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdfc3Rh dF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9 ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3Rh dF9hbGxfdGFibGVzLnJlbGlkIFxnc2V0CisKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsg MTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVz dGF0OworCitTRUxFQ1QgcGFnZXNfZnJvemVuID4gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdl c19hbGxfdmlzaWJsZSA+IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3pl bl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJs ZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3Zh Y3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CitTRUxFQ1Qg cGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2X2FsbF9m cm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJP TSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSB2YWN1dW0gZnJlZXplZCBw YWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNf YWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5f cGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVf cGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X2dldF92YWN1 dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworCitTRUxFQ1Qg bWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkgd2hlcmUgcmVs aWQgPiAwOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKLS0gCjIuMzQuMQoK --------------DN3cd43wyEM9gR7JAQUgkU10 Content-Type: text/x-patch; charset=UTF-8; name="v12-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v12-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0MTM0YzA0N2M2M2YyYjZhY2MzZmUxMTlmN2ZiZDNkNjZjMDg1YmVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0hdIEFkZCBkb2N1bWVudGF0aW9uIGFib3V0IHRoZSBzeXN0ZW0gdmlld3Mg dGhhdCBhcmUgdXNlZCBpbiB0aGUKIG1hY2hpbmVyeSBvZiB2YWN1dW0gc3RhdGlzdGljcy4K Ci0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgICAgICAgICAgIHwg NzQ3ICsrKysrKysrKysrKysrKysrKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQub3V0ICAgIHwgICA2ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjICAgfCAgIDQgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzUyIGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4 IDYxZDI4ZTcwMWYyLi5iNzRjNTNiYjAwMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbApA QCAtNTA2NCw0ICs1MDY0LDc1MSBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQg Sk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgPC90YWJsZT4KICA8L3NlY3QxPgogCis8 c2VjdDEgaWQ9InZpZXctcGctc3RhdC1nZXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48 L3RpdGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0t ZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9w cmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1 Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4gd2lsbCBj b250YWluCisgICBvbmUgcm93IGZvciBlYWNoIGRhdGFiYXNlIGluIHRoZSBjdXJyZW50IGNs dXN0ZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dAorICAgdmFjdXVtaW5nIHRoYXQgZGF0 YWJhc2UuCisgIDwvcGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRs ZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGJpZDwvc3RydWN0Zmll bGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgZGF0YWJhc2Ug YmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2RpcnRpZWQ8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgZGlydGllZCBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3dyaXR0ZW48L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mgd3JpdHRlbiBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0g b3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50 cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBU b3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3Bl bnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhy ZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAg ICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEg dmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgor ICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5r ZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBm b3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0 aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUg b2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25k cworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVk IG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyAgPHNlY3QxIGlkPSJ2 aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1l PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAg PGluZGV4dGVybSB6b25lPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAg IDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9wcmltYXJ5PgorICA8L2lu ZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSBy b3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBU T0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1faW5kZXhlczwvc3RydWN0 bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVh ZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUK KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0 Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9mIGFuIGluZGV4CisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnNjaGVtYTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTmFtZSBvZiB0 aGUgc2NoZW1hIHRoaXMgaW5kZXggaXMgaW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmVsbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1lIG9mIHRoaXMgaW5kZXgKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19yZWFkPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHJlYWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBkYXRhYmFzZSBibG9ja3Mgd2VyZSBmb3VuZCBpbiB0aGUKKyAg ICAgICAgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZv cm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnRvdGFsX2Jsa3NfZGlydGllZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyBkaXJ0aWVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1l ZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3Nfd3JpdHRlbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJs b2NrcyB3cml0dGVuIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbF9i bGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3MgdmFjdXVtIG9wZXJh dGlvbnMgcmVhZCBmcm9tIHRoaXMKKyAgICAgICAgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIg b2YgdGltZXMgYmxvY2tzIG9mIHRoaXMgaW5kZXggd2VyZSBhbHJlYWR5IGZvdW5kCisgICAg ICAgIGluIHRoZSBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMsIHNvIHRoYXQg YSByZWFkIHdhcyBub3QgbmVjZXNzYXJ5CisgICAgICAgICh0aGlzIG9ubHkgaW5jbHVkZXMg aGl0cyBpbiB0aGUKKyAgICAgICAgcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9w ZXJhdGluZyBzeXN0ZW0ncyBmaWxlIHN5c3RlbSBjYWNoZSkKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9y bWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2RlbGV0ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyB2 YWN1dW0gb3BlcmF0aW9ucyBkZWxldGVkIGZyb20gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90 YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIg b2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25z CisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1v dW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFk aW5nIGRhdGFiYXNlIGJsb2NrcyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24K KyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5k PSJndWMtdHJhY2staW8tdGltaW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lz ZSB6ZXJvKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVf dGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCB3cml0aW5nIGRhdGFiYXNlIGJsb2Nr cyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWxheV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgc2xlZXBpbmcgaW4gYSB2YWN1dW0gZGVsYXkgcG9pbnQgYnkgdmFjdXVt IG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgaW5kZXgsIGluIG1pbGxp c2Vjb25kcyAoc2VlIDx4cmVmIGxpbmtlbmQ9InJ1bnRpbWUtY29uZmlnLXJlc291cmNlLXZh Y3V1bS1jb3N0Ii8+CisgICAgICAgIGZvciBkZXRhaWxzKQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5zeXN0ZW1fdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBTeXN0ZW0g Q1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgaW5kZXgsIGluIG1pbGxpc2Vjb25kcworICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVXNlciBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlz ZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVG90YWwgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwg aW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmlu dGVycnVwdHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICAgIHdlcmUgaW50ZXJydXB0 ZWQgb24gYW55IGVycm9ycworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor ICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAgPC90YWJsZT4KKyA8L3NlY3QxPgorCisg PHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS10YWJsZXMiPgorICA8dGl0bGU+ PHN0cnVjdG5hbWU+cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT48L3Rp dGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0tdGFi bGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+ CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gd2lsbCBjb250YWluCisg ICBvbmUgcm93IGZvciBlYWNoIHRhYmxlIGluIHRoZSBjdXJyZW50IGRhdGFiYXNlIChpbmNs dWRpbmcgVE9BU1QKKyAgIHRhYmxlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyB0YWJsZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3Rh bF9ibGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9j a3Mgd3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxr c19yZWFkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4K KyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgYmxvY2tzIHZhY3V1bSBvcGVyYXRp b25zIHJlYWQgZnJvbSB0aGlzCisgICAgICAgIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnJlbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9m IHRpbWVzIGJsb2NrcyBvZiB0aGlzIHRhYmxlIHdlcmUgYWxyZWFkeSBmb3VuZAorICAgICAg ICBpbiB0aGUgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zLCBzbyB0aGF0IGEg cmVhZCB3YXMgbm90IG5lY2Vzc2FyeQorICAgICAgICAodGhpcyBvbmx5IGluY2x1ZGVzIGhp dHMgaW4gdGhlCisgICAgICAgIHByb2plY3Q7IGJ1ZmZlciBjYWNoZSwgbm90IHRoZSBvcGVy YXRpbmcgc3lzdGVtJ3MgZmlsZSBzeXN0ZW0gY2FjaGUpCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX3NjYW5uZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiBwYWdlcyBleGFtaW5lZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5w YWdlc19yZW1vdmVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBm cm9tIHRoZSBwaHlzaWNhbCBzdG9yYWdlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAg IHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnBhZ2VzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZh Y3V1bSBvcGVyYXRpb25zIG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFz IGFsbC1mcm96ZW4gaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX2FsbF92aXNpYmxlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1i ZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgICAgYXMgYWxsLXZpc2libGUgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19kZWxldGVkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFjdXVtIG9wZXJhdGlvbnMgZGVsZXRl ZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8 L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHR1cGxlcyBvZiB0aGlz IHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIGFzCisgICAgICAgIGZyb3pl bgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWFkX3R1cGxlczwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxl ZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAgICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0 cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5kZXhf dmFjdXVtX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgaW5kZXhlcyBv biB0aGlzIHRhYmxlIHdlcmUgdmFjdXVtZWQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmV2X2FsbF9mcm96ZW5fcGFnZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiB0aW1lcyB0aGUgYWxsLWZyb3plbiBtYXJrIGluIHRoZSB2aXNpYmlsaXR5IG1hcAorICAg ICAgICB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZXZfYWxsX3Zpc2libGVfcGFnZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZpc2libGUgbWFyayBpbiB0aGUgdmlz aWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQgYnkg dmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBv cGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlv bnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAo aWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAor ICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3JpdGlu ZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisg ICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0i Z3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndpc2Ug emVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwv c3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5 IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNv bmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZp ZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBt aWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90 aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMg dGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVt aW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAg IDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0 aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAg ICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+ CisgIDxwYXJhPkNvbHVtbnMgPHN0cnVjdGZpZWxkPnRvdGFsXyo8L3N0cnVjdGZpZWxkPiwg PHN0cnVjdGZpZWxkPndhbF8qPC9zdHJ1Y3RmaWVsZD4KKyAgICBhbmQgPHN0cnVjdGZpZWxk PmJsa18qPC9zdHJ1Y3RmaWVsZD4gaW5jbHVkZSBkYXRhIG9uIHZhY3V1bWluZyBpbmRleGVz IG9uIHRoaXMgdGFibGUsIHdoaWxlIGNvbHVtbnMKKyAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiBhbmQgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0 ZmllbGQ+IG9ubHkgaW5jbHVkZSBkYXRhCisgICAgb24gdmFjdXVtaW5nIHRoZSBoZWFwLjwv cGFyYT4KKyA8L3NlY3QxPgorCiA8L2NoYXB0ZXI+CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5vdXQKaW5kZXggOTNmZTE1YzAxZjkuLmE3Nzk0MDIzNTA4IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVk L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC02LDcgKzYsNyBA QCBzdGVwIHMyX2luc2VydDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdgogc3RlcCBzMl9wcmludF92YWN1dW1fc3Rh dHNfdGFibGU6IAogICAgIFNFTEVDVAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxl dGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJl bG5hbWV8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgpAQCAtMjgs NyArMjgsNyBAQCBzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uOwogc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAogICAgIFNFTEVD VAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywg dnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAg ICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19mcm96ZW4KQEAgLTQyLDcg KzQyLDcgQEAgc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbjsKIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKICAgICBTRUxFQ1QK ICAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0 LnR1cGxlc19mcm96ZW4KLSAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xh c3MgYwogICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24nIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCiByZWxuYW1lICAgICAgICAgICAgICAgICAg IHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwppbmRleCA1ZmFjYjJjODYyYy4uNmUzM2RmNDY0 ODAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5k aW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3Nw ZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMSw0ICsx LDQgQEAKLSMgVGVzdCBmb3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVk IGFuZCBmcm96ZW4gdHVwbGVzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgVGVzdCBm b3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVkIGFuZCBmcm96ZW4gdHVw bGVzIGluIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMuCiAjIERlYWRfdHVwbGVzIHZhbHVl cyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2VkIHR1cGxl cyB3aGlsZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCiAjIERlYWRfdHVw bGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQgd2l0 aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCiAjIGJ5IHRoZSB2YWx1ZSBvZiB0 aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIuCkBA IC0zMyw3ICszMyw3IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCiB7CiAg ICAgU0VMRUNUCiAgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRf dHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCi0gICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIH0KIAotLSAKMi4zNC4xCgo= --------------DN3cd43wyEM9gR7JAQUgkU10--