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 1tfKoj-001VkN-VH for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Feb 2025 15:26:27 +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 1tfKog-004mfe-9A for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Feb 2025 15:26:22 +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 1tfKlQ-004iql-RH for pgsql-hackers@lists.postgresql.org; Tue, 04 Feb 2025 15:23:01 +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.96) (envelope-from ) id 1tfKlL-003Fln-2t for pgsql-hackers@postgresql.org; Tue, 04 Feb 2025 15:23:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1738682574; bh=c5Wld4yymZIgjaoGIo1nVlEiuaY4SZTXK1EABa4vH2M=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=aegD6k6IvmP9UY9W4zPAI1ElxEXQMtpoeS5QPYIqUPLmlYAiDFL0yb+Mnfzn0G94Z wi1wJm6mBRxfoBnsu7+lZWX7RkS4nWqNIS5tkoR8HCwqpKhag1x687fkuQ2y63beiF uG3oCZz/PQhA4YwJXpC+Um9a3qFuA0rQdqtjikbauxlweuVyoC8H/MVveUjuyi5SdU YnRcIuQ2h3R7+bmg1oi8G7MQ5ZsR+DVZkTn/7WbIA/NJqGL84H6B1XUJR5K/CEQtDY SJVRWAbvy/FhT9fcXZjr61/elONzAe6C4iNa0+us2yEC/TLTPSeV8pF4zGlCrBkTqk gpeE7qe/XFLdQ== Received: from [172.30.49.94] (unknown [172.30.49.94]) (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 A05D2609B6; Tue, 4 Feb 2025 18:22:53 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------CgOpS2VwHi4MieoIj0P00dpz" Message-ID: Date: Tue, 4 Feb 2025 18:22:52 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Alexander Korotkov Cc: pgsql-hackers , Jim Nasby , Ilia Evdokimov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih References: <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> <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> <2d493cf9-9ba7-4cc1-a3f2-67afd7c163ee@postgrespro.ru> <30d54302-9e9c-4e04-819e-a13b679cdcc8@postgrespro.ru> <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> <0b4eefc7-4c38-4caa-b2ca-a4c75dd7dd12@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: X-KSMG-AntiPhishing: NotDetected, bases: 2025/02/04 14:38: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: 2025/02/04 11:12:00 #27207681 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. --------------CgOpS2VwHi4MieoIj0P00dpz Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! Thank you for your review! On 02.02.2025 23:43, Alexander Korotkov wrote: > On Mon, Jan 13, 2025 at 3:26 PM Alena Rybakina > wrote: >> I noticed that the cfbot is bad, the reason seems to be related to the lack of a parameter in src/backend/utils/misc/postgresql.conf.sample. I added it, it should help. > The patch doesn't apply cleanly. Please rebase. I rebased them. > > I see you introduced new GUC variable pgstat_track_vacuum_statistics, > which should address the increased size of statistics. However, I > don't see how it could affect the size of PgStat_StatTabEntry struct. > It seems that when pgstat_track_vacuum_statistics == 0, extended > vacuum statistics is not collected but the size of hash table entries > is the same. Yes, hash table entries will be the same but vacuum_ext structure stored in PgStat_StatTabEntry will not be filled with statistics, although vacuum_ext structure stored in PgStat_StatDBEntry will be fill be. > Also, should pgstat_track_vacuum_statistics also affect > per database statistics? According to my original idea, I thought that we could collect extended statistics on relationships depending on whether the hook is enabled, and always on databases. This will help us to constantly collect statistics on the vacuum and notice when something is wrong and at the same time not very expensive: there are much fewer databases compared to the same relationships and there are much fewer statistics there. You can introduce an additional hook that disables all collection of vacuum statistics. This patch can be seen here for the 17th version of the patch [0], I have not yet started adding it, since we did not come to an agreement. At the moment, I have made a patch for vacuum statistics for databases that disables all vacuum statistics, the hook is disabled by default. [0] https://www.postgresql.org/message-id/attachment/170462/v17-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch > > The name of 0001 is "... on heap relations". Should we say "on table > relations", because new machinery should work with alternative table > AMs as well. Agree. Fixed > > There are deletions of empty lines in > src/include/utils/pgstat_internal.h and src/include/pgstat.h. Please, > remote them as it's not purpose of this patchset. > fixed -- Regards, Alena Rybakina Postgres Professional --------------CgOpS2VwHi4MieoIj0P00dpz Content-Type: text/x-patch; charset=UTF-8; name="v18-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v18-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAyODAzMjllYzYyZjA4NDAzZThkZjVjOTQxZmI0YzI0NThmZDQ3ZTcyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE2OjM0OjE4ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIHRhYmxlIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKVHJhY2tpbmcg b2YgSU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFy aWFibGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFj Y2VzcyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGlu ZyBvcGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5p cXVlIGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBj YW4gYmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRp b25zIHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFy YW1ldGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlv biBoYXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2Vy bmVsIHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2Yg YSB2YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFu ZCBmaW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRs ZSB0aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwg dGltZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5v IGxlc3MuCgpwYWdlc19mcm96ZW4gaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFy a2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBp bmNyZW1lbnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxf dmlzaWJsZSBpcyBhIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZp c2libGUgaW4gdm0gZHVyaW5nCnZhY3V1bS4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg aXMgYSBudW1iZXIgb2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cyB1cmdlbnQgY2xl YW51cAp0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBm b3IgdGhlIGRhdGFiYXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwK CSAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+LCBTYW1pIEltc2VpaCA8c2Ft aW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAxNTAgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMgICAgICAgfCAgMTAgKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDUyICsrKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bS5jICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgIDEyICstCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDYgKysrLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTQ3ICsrKysrKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwg IDEzICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8 ICAgOSArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUg fCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAg IHwgIDE4ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAg ICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDgwICsrKysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1y ZWFkLm91dCAgICB8ICA1MyArKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3Nj aGVkdWxlICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQuc3BlYyAgIHwgIDUzICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0ICAgICAgICAgICB8ICA0NCArKystCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX3Rh Ymxlc19zdGF0aXN0aWNzLm91dCAgICAgfCAyMjcgKysrKysrKysrKysrKysrKysrCiBzcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDUgKwogLi4u L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgMTgzICsrKysr KysrKysrKysrCiAyMiBmaWxlcyBjaGFuZ2VkLCAxMDk1IGluc2VydGlvbnMoKyksIDE2IGRl bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9leHBl Y3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWlu LXJlcGV0YWJsZS1yZWFkLnNwZWMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu c3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDA3NWFmMzg1 Y2QxLi42ZjFjNTJhN2I2NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YwpAQCAtMjE5LDYgKzIxOSw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkvKiBF cnJvciByZXBvcnRpbmcgc3RhdGUgKi8KIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAq cmVsbmFtZXNwYWNlOworCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNo YXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJl ciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtMjgz LDYgKzI4NCw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJlciBu ZXh0X3Vuc2tpcHBhYmxlX2Jsb2NrOyAvKiBuZXh0IHVuc2tpcHBhYmxlIGJsb2NrICovCiAJ Ym9vbAkJbmV4dF91bnNraXBwYWJsZV9hbGx2aXM7CS8qIGl0cyB2aXNpYmlsaXR5IHN0YXR1 cyAqLwogCUJ1ZmZlcgkJbmV4dF91bnNraXBwYWJsZV92bWJ1ZmZlcjsJLyogYnVmZmVyIGNv bnRhaW5pbmcgaXRzIFZNIGJpdCAqLworCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7IC8qIHRoZSBudW1iZXIgb2YgdGltZXMgdG8gcHJldmVudCB3b3JrYXJvdW5kIHBy b2JsZW0gKi8KIH0gTFZSZWxTdGF0ZTsKIAogLyogU3RydWN0IGZvciBzYXZpbmcgYW5kIHJl c3RvcmluZyB2YWN1dW0gZXJyb3IgaW5mb3JtYXRpb24uICovCkBAIC0yOTMsNiArMjk2LDE4 IEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhhc2U7 CiB9IExWU2F2ZWRFcnJJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEg Zm9yIGV4dGVuZGVkIHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4 dFN0YXRDb3VudGVycworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3 YWx1c2FnZTsKKwlCdWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5 VGltZTsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRl ciBibG9ja3NfaGl0OworfSBMVkV4dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBm dW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJl bFN0YXRlICp2YWNyZWwpOwpAQCAtMzQ2LDYgKzM2MSwxMDYgQEAgc3RhdGljIHZvaWQgdXBk YXRlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lk IHJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJ CQkJICBjb25zdCBMVlNhdmVkRXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0t LS0tLQorICogZXh0dmFjX3N0YXRzX3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2 YWx1ZXMgb2YgZXh0ZW5kZWQgdmFjdXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJl bGF0aW9uCisgKiBwcm9jZXNzaW5nLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9p ZAorZXh0dmFjX3N0YXRzX3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMg KmNvdW50ZXJzKQoreworCVRpbWVzdGFtcFR6CXN0YXJ0dGltZTsKKworCWlmKCFwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCW1lbXNldChjb3VudGVy cywgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlzdGFydHRpbWUgPSBHZXRD dXJyZW50VGltZXN0YW1wKCk7CisKKwljb3VudGVycy0+c3RhcnR0aW1lID0gc3RhcnR0aW1l OworCWNvdW50ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVz YWdlID0gcGdCdWZmZXJVc2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFj dXVtRGVsYXlUaW1lOworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRl cnMtPmJsb2Nrc19oaXQgPSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0 YXRfdHJhY2tfY291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBv ciB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5 IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5i bG9ja3NfZmV0Y2hlZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hl ZDsKKwljb3VudGVycy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfaGl0OworfQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkg LQorICoKKyAqCUNhbGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3Rp YyBnYXRoZXJpbmcgYW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0 YXRpYyB2b2lkCitleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291 bnRlcnMgKmNvdW50ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2Fs VXNhZ2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHog ZW5kdGltZTsKKwlsb25nCQlzZWNzOworCWludAkJCXVzZWNzOworCisJaWYoIXBnc3RhdF90 cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJLyogQ2FsY3VsYXRlIGRp ZmZzIG9mIGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FMIGFuZCBidWZmZXIgdXNhZ2Uu ICovCisJbWVtc2V0KCZ3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CisJV2FsVXNh Z2VBY2N1bURpZmYoJndhbHVzYWdlLCAmcGdXYWxVc2FnZSwgJmNvdW50ZXJzLT53YWx1c2Fn ZSk7CisKKwltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKKwlC dWZmZXJVc2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1ZmZlclVzYWdlLCAmY291bnRl cnMtPmJ1ZnVzYWdlKTsKKworCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CisJ VGltZXN0YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1lLCAmc2Vj cywgJnVzZWNzKTsKKworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQp KTsKKworCS8qCisJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0g cHJvY2Vzc2luZyBvcGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQg PSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFk OworCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCAr IGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGll ZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtz X2RpcnRpZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFy ZWRfYmxrc193cml0dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndh bF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVw b3J0LT53YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJsa19y ZWFkX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtf cmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRf TUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+Ymxr X3dyaXRlX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9i bGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVf R0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0 LT5kZWxheV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5 VGltZTsKKworCXJlcG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8g MTAwMC47CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3Vu dHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9l c24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1 cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQg PQorCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVy cy0+YmxvY2tzX2ZldGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0 X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAK IC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhl YXAgcmVsYXRpb24KQEAgLTM3OCw3ICs0OTMsMTQgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0 aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJV2FsVXNhZ2UJc3RhcnR3YWx1c2Fn ZSA9IHBnV2FsVXNhZ2U7CiAJQnVmZmVyVXNhZ2Ugc3RhcnRidWZmZXJ1c2FnZSA9IHBnQnVm ZmVyVXNhZ2U7CiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sgZXJyY2FsbGJhY2s7CisJTFZFeHRT dGF0Q291bnRlcnMgZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9y dDsKIAljaGFyCSAgKippbmRuYW1lcyA9IE5VTEw7CisJRXh0VmFjUmVwb3J0IGFsbHplcm87 CisKKwkvKiBJbml0aWFsaXplIHZhY3V1bSBzdGF0aXN0aWNzICovCisJbWVtc2V0KCZhbGx6 ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJZXh0VmFjUmVwb3J0ID0gYWxsemVy bzsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZFUkJPU0UpICE9 IDA7CiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1Xb3JrZXJQcm9j ZXNzKCkgJiYKQEAgLTM5OCw3ICs1MjAsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24g cmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAogCXBnc3RhdF9wcm9ncmVzc19zdGFydF9j b21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAogCQkJCQkJCQkgIFJlbGF0aW9uR2V0 UmVsaWQocmVsKSk7Ci0KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRl cnMpOwogCS8qCiAJICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVyZXBv cnQoKSBmaXJzdC4gIFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNvbnRl eHQgY2FsbGJhY2sgdG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFueQpA QCAtNDE1LDYgKzUzNyw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1 bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25hbWUo TXlEYXRhYmFzZUlkKTsKIAl2YWNyZWwtPnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3BhY2Vf bmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKTsKIAl2YWNyZWwtPnJlbG5hbWUgPSBw c3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVsb2lk ID0gUmVsYXRpb25HZXRSZWxpZChyZWwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7CiAJ dmFjcmVsLT5waGFzZSA9IFZBQ1VVTV9FUlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3JlbC0+ dmVyYm9zZSA9IHZlcmJvc2U7CkBAIC01MDIsNiArNjI1LDcgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT52bV9uZXdf dmlzaWJsZV9wYWdlcyA9IDA7CiAJdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgPSAwOwogCXZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlcyA9IDA7CisJdmFjcmVsLT53 cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gMDsKIAogCS8qCiAJICogR2V0IGN1dG9mZnMg dGhhdCBkZXRlcm1pbmUgd2hpY2ggZGVsZXRlZCB0dXBsZXMgYXJlIGNvbnNpZGVyZWQgREVB RCwKQEAgLTY0Nyw2ICs3NzEsMjYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwg VmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhpZCwg dmFjcmVsLT5OZXdSZWxtaW5NeGlkLAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAmbWlu bXVsdGlfdXBkYXRlZCwgZmFsc2UpOwogCisJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZh Y3V1bSBzdGF0cyByZXBvcnQgKi8KKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0Nv dW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3Rh dGlzdGljcykKKwl7CisJCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBm aWVsZHMgKi8KKwkJZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5u ZWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1v dmVkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3Jl bC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxl X3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwkJZXh0VmFjUmVwb3J0 LnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwt PnR1cGxlc19kZWxldGVkOworCQlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3Jl bC0+dHVwbGVzX2Zyb3plbjsKKwkJZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVwbGVz ID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwkJZXh0VmFjUmVwb3J0Lm1pc3Nl ZF9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCQlleHRWYWNS ZXBvcnQubWlzc2VkX2RlYWRfcGFnZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwor CQlleHRWYWNSZXBvcnQuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhf c2NhbnM7CisJCWV4dFZhY1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFj cmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCX0KKwogCS8qCiAJICogUmVwb3J0 IHJlc3VsdHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoKQEAg LTY2Miw3ICs4MDYsOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDAp LAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwogCQkJCQkJIHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzLAotCQkJCQkJIHN0YXJ0dGltZSk7CisJCQkJCQkgc3Rh cnR0aW1lLAorCQkJCQkJICZleHRWYWNSZXBvcnQpOwogCXBnc3RhdF9wcm9ncmVzc19lbmRf Y29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQpCkBAIC0yNDc1LDYgKzI2MjAsNyBAQCBs YXp5X2NoZWNrX3dyYXBhcm91bmRfZmFpbHNhZmUoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQlp bnQ2NAkJcHJvZ3Jlc3NfdmFsWzJdID0gezAsIDB9OwogCiAJCVZhY3V1bUZhaWxzYWZlQWN0 aXZlID0gdHJ1ZTsKKwkJdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICsrOwog CiAJCS8qCiAJCSAqIEFiYW5kb24gdXNlIG9mIGEgYnVmZmVyIGFjY2VzcyBzdHJhdGVneSB0 byBhbGxvdyB1c2Ugb2YgYWxsIG9mCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmls aXR5bWFwLmMKaW5kZXggNzQ1YTA0ZWYyNmUuLjA3NjIzYTA0NWZhIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3IEBACiAjaW5j bHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0aWxz LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5j bHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgi CiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE1IEBAIHZpc2li aWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBCdWZm ZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykKIAl7 CisJCS8qCisJCSAqIEFzIHBhcnQgb2YgdmFjdXVtIHN0YXRzLCB0cmFjayBob3cgb2Z0ZW4g YWxsLXZpc2libGUgb3IgYWxsLWZyb3plbgorCQkgKiBiaXRzIGFyZSBjbGVhcmVkLgorCQkg Ki8KKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJ VFlNQVBfQUxMX1ZJU0lCTEUpCisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF92aXNpYmxl KHJlbCk7CisJCWlmIChtYXBbbWFwQnl0ZV0gPj4gbWFwT2Zmc2V0ICYgZmxhZ3MgJiBWSVNJ QklMSVRZTUFQX0FMTF9GUk9aRU4pCisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96 ZW4ocmVsKTsKKwogCQltYXBbbWFwQnl0ZV0gJj0gfm1hc2s7CiAKIAkJTWFya0J1ZmZlckRp cnR5KHZtYnVmKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCBj ZGRjM2VhOWI1My4uM2VjNGYyY2FhZjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKQEAgLTcwMCw3ICs3MDAsOSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF90 YWJsZXMgQVMKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90aW1lKEMu b2lkKSBBUyB0b3RhbF92YWN1dW1fdGltZSwKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3Rv dGFsX2F1dG92YWN1dW1fdGltZShDLm9pZCkgQVMgdG90YWxfYXV0b3ZhY3V1bV90aW1lLAog ICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfYW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0 b3RhbF9hbmFseXplX3RpbWUsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRv YW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgICAg ICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3Rh bF9hdXRvYW5hbHl6ZV90aW1lLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9m cm96ZW5fcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgICAgICAg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKEMub2lkKSBBUyByZXZfYWxs X3Zpc2libGVfcGFnZXMKICAgICBGUk9NIHBnX2NsYXNzIEMgTEVGVCBKT0lOCiAgICAgICAg ICBwZ19pbmRleCBJIE9OIEMub2lkID0gSS5pbmRyZWxpZAogICAgICAgICAgTEVGVCBKT0lO IHBnX25hbWVzcGFjZSBOIE9OIChOLm9pZCA9IEMucmVsbmFtZXNwYWNlKQpAQCAtMTM5Miwz ICsxMzk0LDUxIEBAIENSRUFURSBWSUVXIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFT CiAKIENSRUFURSBWSUVXIHBnX3dhaXRfZXZlbnRzIEFTCiAgICAgU0VMRUNUICogRlJPTSBw Z19nZXRfd2FpdF9ldmVudHMoKTsKKy0tCistLSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUg c3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVyYXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAor LS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5jZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIg YXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8gZ2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBh CistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBBUworU0VMRUNUCisgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgcmVsLnJlbG5h bWUgQVMgcmVsbmFtZSwKKyAgc3RhdHMucmVsaWQgYXMgcmVsaWQsCisKKyAgc3RhdHMudG90 YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgc3RhdHMudG90YWxfYmxrc19o aXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0 b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3Rh bF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMucmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19y ZWFkLAorICBzdGF0cy5yZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHN0YXRz LnBhZ2VzX3NjYW5uZWQgQVMgcGFnZXNfc2Nhbm5lZCwKKyAgc3RhdHMucGFnZXNfcmVtb3Zl ZCBBUyBwYWdlc19yZW1vdmVkLAorICBzdGF0cy52bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsCisgIHN0YXRzLnZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHZt X25ld192aXNpYmxlX3BhZ2VzLAorICBzdGF0cy52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAorICBzdGF0cy5taXNzZWRfZGVh ZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywKKyAgc3RhdHMudHVwbGVzX2RlbGV0ZWQg QVMgdHVwbGVzX2RlbGV0ZWQsCisgIHN0YXRzLnR1cGxlc19mcm96ZW4gQVMgdHVwbGVzX2Zy b3plbiwKKyAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90 dXBsZXMsCisgIHN0YXRzLm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBtaXNzZWRfZGVhZF90dXBs ZXMsCisKKyAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxz YWZlLAorICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50 LAorICBzdGF0cy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2Zw aSBBUyB3YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0 YXRzLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRl X3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxh eV90aW1lLAorICBzdGF0cy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKworRlJPTSBwZ19j bGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5h bWVzcGFjZSwKKyAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQp IHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdyJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMK aW5kZXggZTY3NDVlNjE0NWMuLjFlYTI3N2IyYzE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0u YwpAQCAtMTAyLDYgKzEwMiw5IEBAIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENv c3RCYWxhbmNlID0gTlVMTDsKIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3Jr ZXJzID0gTlVMTDsKIGludAkJCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCisvKiBD dW11bGF0aXZlIHN0b3JhZ2UgdG8gcmVwb3J0IHRvdGFsIHZhY3V1bSBkZWxheSB0aW1lLiAq LworZG91YmxlIFZhY3V1bURlbGF5VGltZSA9IDA7IC8qIG1zZWMuICovCisKIC8qIG5vbi1l eHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIExpc3QgKmV4cGFuZF92YWN1 dW1fcmVsKFZhY3V1bVJlbGF0aW9uICp2cmVsLAogCQkJCQkJCSAgIE1lbW9yeUNvbnRleHQg dmFjX2NvbnRleHQsIGludCBvcHRpb25zKTsKQEAgLTI0MTgsNiArMjQyMSw3IEBAIHZhY3V1 bV9kZWxheV9wb2ludCh2b2lkKQogCQkJZXhpdCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5j ZSA9IDA7CisJCVZhY3V1bURlbGF5VGltZSArPSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFu Y2UgYW5kIHVwZGF0ZSBsaW1pdCB2YWx1ZXMgZm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2Ug bXVzdCBkbwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxs ZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggZGMz MzIyYzI1NmIuLmI5MWYzYjZjYzI4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5k cy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMKQEAgLTEwNTQsNiArMTA1NCw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRz bV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAkvKiBTZXQgY29zdC1iYXNlZCB2YWN1 dW0gZGVsYXkgKi8KIAlWYWN1dW1VcGRhdGVDb3N0cygpOwogCVZhY3V1bUNvc3RCYWxhbmNl ID0gMDsKKwlWYWN1dW1EZWxheVRpbWUgPSAwOwogCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwg PSAwOwogCVZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gJihzaGFyZWQtPmNvc3RfYmFsYW5j ZSk7CiAJVmFjdXVtQWN0aXZlTldvcmtlcnMgPSAmKHNoYXJlZC0+YWN0aXZlX253b3JrZXJz KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggMzE2OGI4MjVlMjUu LjgyNmE1Njg1YjJhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAt MTkxLDcgKzE5MSw3IEBAIHN0YXRpYyB2b2lkIHBnc3RhdF9yZXNldF9hZnRlcl9mYWlsdXJl KHZvaWQpOwogc3RhdGljIGJvb2wgcGdzdGF0X2ZsdXNoX3BlbmRpbmdfZW50cmllcyhib29s IG5vd2FpdCk7CiAKIHN0YXRpYyB2b2lkIHBnc3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpOwot c3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBzaG90KHZvaWQpOworc3RhdGljIHZvaWQg cGdzdGF0X2J1aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKTsKIHN0YXRpYyB2 b2lkIHBnc3RhdF9idWlsZF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAog c3RhdGljIGlubGluZSBib29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtp bmQpOwpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwZ3N0YXRfaXNf a2luZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKIAogYm9vbAkJcGdzdGF0X3RyYWNrX2Nv dW50cyA9IGZhbHNlOwogaW50CQkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gUEdTVEFU X0ZFVENIX0NPTlNJU1RFTkNZX0NBQ0hFOwotCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgPSB0cnVlOwogCiAvKiAtLS0tLS0tLS0tCiAgKiBzdGF0ZSBzaGFyZWQg d2l0aCBwZ3N0YXRfKi5jCkBAIC0yNjEsNyArMjYxLDYgQEAgc3RhdGljIGJvb2wgcGdzdGF0 X2lzX2luaXRpYWxpemVkID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfc2h1dGRv d24gPSBmYWxzZTsKICNlbmRpZgogCi0KIC8qCiAgKiBUaGUgZGlmZmVyZW50IGtpbmRzIG9m IGJ1aWx0LWluIHN0YXRpc3RpY3MuCiAgKgpAQCAtOTAxLDcgKzkwMCw2IEBAIHBnc3RhdF9y ZXNldF9vZl9raW5kKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9yZXNldF9lbnRyaWVz X29mX2tpbmQoa2luZCwgdHMpOwogfQogCi0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogRmV0Y2hpbmcgb2Yg c3RhdHMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpAQCAtOTcwLDcgKzk2OCw3IEBAIHBnc3RhdF9mZXRjaF9lbnRy eShQZ1N0YXRfS2luZCBraW5kLCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCkKIAogCS8qIGlm IHdlIG5lZWQgdG8gYnVpbGQgYSBmdWxsIHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0 YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBT SE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVk LCBsb29rIHVwIGluIGNhY2hlICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+ IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9OT05FKQpAQCAtMTA4Niw3ICsxMDg0LDcgQEAg cGdzdGF0X3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVh cl9zbmFwc2hvdCgpOwogCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NU QVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hv dCgpOworCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJ ZWxzZQogCQlwZ3N0YXRfYnVpbGRfc25hcHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTExMzcs NyArMTEzNSw3IEBAIHBnc3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpCiB9CiAKIHN0YXRpYyB2 b2lkCi1wZ3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCkKK3Bnc3RhdF9idWlsZF9zbmFwc2hv dChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIHsKIAlkc2hhc2hfc2VxX3N0YXR1cyBoc3RhdDsK IAlQZ1N0YXRTaGFyZWRfSGFzaEVudHJ5ICpwOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBkNjQ1OTVhMTY1Yy4uMDI3MmRkMWYz OTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jCkBAIC00Nyw2ICs0Nyw4IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2 ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBzdGF0 aWMgdm9pZCBlbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAq cGdzdGF0X2luZm8pOwogc3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdT dGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMgdm9p ZCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0 cmFucyk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0 VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wgYWNj dW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0yMDksNyArMjEx LDcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVsYXRpb24gcmVsKQogdm9pZAogcGdzdGF0 X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkJCQkJIFBnU3Rh dF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCi0JCQkJ CSBUaW1lc3RhbXBUeiBzdGFydHRpbWUpCisJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUs IEV4dFZhY1JlcG9ydCAqcGFyYW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVm OwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzNSw2ICsyMzcs OCBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAog CXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRf dHVwbGVzID0gZGVhZHR1cGxlczsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0 cygmdGFiZW50cnktPnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0 IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQg dXAgc2tpcHBpbmcKIAkgKiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRo ZSBpbnNlcnQgY291bnRlciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC04NzIsNiArODc2LDkgQEAg cGdzdGF0X3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBi b29sIG5vd2FpdCkKIAl0YWJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3Vu dHMuYmxvY2tzX2ZldGNoZWQ7CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5j b3VudHMuYmxvY2tzX2hpdDsKIAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyAr PSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2 X2FsbF92aXNpYmxlX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9w YWdlczsKKwogCS8qIENsYW1wIGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVs dGFfbGl2ZV90dXBsZXMgKi8KIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50 cnktPmxpdmVfdHVwbGVzLCAwKTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8K QEAgLTk5NSwzICsxMDAyLDQwIEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3Rh dF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0 cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bn c3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFj UmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lm aWNfaW5mbykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3Nf cmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJ ZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJ ZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJ ZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNy Yy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJ ZHN0LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193 cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9 IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1l OworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJu OworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5i bGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNy Yy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19y ZW1vdmVkOworCWRzdC0+dm1fbmV3X2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96 ZW5fcGFnZXM7CisJZHN0LT52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192 aXNpYmxlX3BhZ2VzOworCWRzdC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNy Yy0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOworCWRzdC0+dHVwbGVzX2RlbGV0ZWQg Kz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50 dXBsZXNfZnJvemVuOworCWRzdC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNl bnRseV9kZWFkX3R1cGxlczsKKwlkc3QtPmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmlu ZGV4X3ZhY3V1bV9jb3VudDsKKwlkc3QtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0g c3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCWRzdC0+bWlzc2VkX2RlYWRfcGFn ZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9wYWdlczsKKwlkc3QtPm1pc3NlZF9kZWFkX3R1cGxl cyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1cGxlczsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5j cy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggZTkwOTZh ODg0OTIuLmUxMTI3NjJlZDJmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YwpAQCAtMTA2LDYgKzEwNiwxMiBAQCBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBs ZXNfdXBkYXRlZCkKIC8qIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9H RVRfUkVMRU5UUllfSU5UNjQodmFjdXVtX2NvdW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZf ZnJvemVuX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zy b3plbl9wYWdlcykKKworLyogcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICov CitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisK ICNkZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5UUllfRkxPQVQ4KHN0YXQpCQkJCQkJXAogRGF0 dW0JCQkJCQkJCQkJCQkJCQlcCiBDcHBDb25jYXQocGdfc3RhdF9nZXRfLHN0YXQpKFBHX0ZV TkNUSU9OX0FSR1MpCQkJCQlcCkBAIC0yMjQ0LDMgKzIyNTAsMTQ0IEBAIHBnX3N0YXRfaGF2 ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogCiAJUEdfUkVUVVJOX0JPT0wocGdzdGF0X2hh dmVfZW50cnkoa2luZCwgZGJvaWQsIG9iamlkKSk7CiB9CisKKworLyoKKyAqIEdldCB0aGUg dmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAqLworRGF0dW0KK3Bn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5l IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAyNgorCisJT2lkCQkJCQkJ cmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0 YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJ IHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxF U19TVEFUU19DT0xTXSA9IHswfTsKKwlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFD VVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJ aW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlh bGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICov CisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VV TV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInJlbGlkIiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxr c19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0IiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAicGFnZXNfc2Nhbm5lZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2Vz X3JlbW92ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfZnJvemVuX3BhZ2VzIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAidm1fbmV3X3Zpc2libGVfcGFnZXMiLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJtaXNzZWRfZGVhZF9wYWdlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxl c19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2Zyb3plbiIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInJlY2VudGx5X2RlYWRfdHVwbGVzIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAibWlzc2VkX2RlYWRfdHVwbGVzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImluZGV4X3ZhY3V1 bV9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIs CisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZM T0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi ZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJCQkJ CSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFD VVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOwor CisJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlp ZiAodGFiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMg bm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8s IDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJ fQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOwor CX0KKworCWkgPSAwOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlk KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Js a3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90 YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0t PmJsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5i bGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5w YWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT52bV9uZXdfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF9w YWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVz X2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1 cGxlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5taXNzZWRfZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50MzJH ZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7 CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jk cyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7 CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICov CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0t PndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVy aWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBP YmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisK Kwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGlt ZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0 ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVs YXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19T VEFUU19DT0xTKTsKKworCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBH X1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVz YywgdmFsdWVzLCBudWxscykpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXggODYwYmJkNDBkNDIuLjRkYThkM2Y4N2ZkIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0xNjE5LDYgKzE2MTksMTkgQEAgZ2V0aW50 ZXJuYWxlcnJwb3NpdGlvbih2b2lkKQogCXJldHVybiBlZGF0YS0+aW50ZXJuYWxwb3M7CiB9 CiAKKy8qCisgKiBSZXR1cm4gZWxldmVsIG9mIGVycm9ycworICovCitpbnQKK2dldGVycmVs ZXZlbCh2b2lkKQoreworCUVycm9yRGF0YSAgKmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRh dGFfc3RhY2tfZGVwdGhdOworCisJLyogd2UgZG9uJ3QgYm90aGVyIGluY3JlbWVudGluZyBy ZWN1cnNpb25fZGVwdGggKi8KKwlDSEVDS19TVEFDS19ERVBUSCgpOworCisJcmV0dXJuIGVk YXRhLT5lbGV2ZWw7Cit9CiAKIC8qCiAgKiBGdW5jdGlvbnMgdG8gYWxsb3cgY29uc3RydWN0 aW9uIG9mIGVycm9yIG1lc3NhZ2Ugc3RyaW5ncyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggNzE0NDhiYjRmZGQuLjNjMTZlZjRlODY5 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpAQCAtMTQ3OSw2ICsxNDc5 LDE1IEBAIHN0cnVjdCBjb25maWdfYm9vbCBDb25maWd1cmVOYW1lc0Jvb2xbXSA9CiAJCWZh bHNlLAogCQlOVUxMLCBOVUxMLCBOVUxMCiAJfSwKKwl7CisJCXsidHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MiLCBQR0NfU1VTRVQsIFNUQVRTX0NVTVVMQVRJVkUsCisJCQlnZXR0ZXh0X25v b3AoIkNvbGxlY3RzIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0YWJsZSByZWxhdGlvbnMuIiks CisJCQlOVUxMCisJCX0sCisJCSZwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MsCisJ CXRydWUsCisJCU5VTEwsIE5VTEwsIE5VTEwKKwl9LAogCXsKIAkJeyJ0cmFja193YWxfaW9f dGltaW5nIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFUSVZFLAogCQkJZ2V0dGV4dF9ub29w KCJDb2xsZWN0cyB0aW1pbmcgc3RhdGlzdGljcyBmb3IgV0FMIEkvTyBhY3Rpdml0eS4iKSwK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNh bXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpp bmRleCAwNzllZmExYmFhNy4uMGM2ZTE5OTgwZDYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQorKysgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKQEAgLTYzNiw2ICs2MzYsNyBAQAog I3RyYWNrX3dhbF9pb190aW1pbmcgPSBvZmYKICN0cmFja19mdW5jdGlvbnMgPSBub25lCQkJ IyBub25lLCBwbCwgYWxsCiAjc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBjYWNoZQkjIGNh Y2hlLCBub25lLCBzbmFwc2hvdAorI3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gb2ZmCiAK IAogIyAtIE1vbml0b3JpbmcgLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNWI4 YzJhZDJhNTQuLjU5NjdkMjliZTA5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAg LTEyNDU0LDQgKzEyNDU0LDIyIEBACiAgIHByb2FyZ3R5cGVzID0+ICdpbnQ0JywKICAgcHJv c3JjID0+ICdnaXN0X3N0cmF0bnVtX2NvbW1vbicgfSwKIAoreyBvaWQgPT4gJzgwMDEnLAor ICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyByZXR1cm5zIHZhY3V1bSBz dGF0cyB2YWx1ZXMgZm9yIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9y ZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7 b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDQsaW50OCxpbnQ4LGludDgs bnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMg PT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3Jl YWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRl bixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92 ZWQsdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMsbWlzc2VkX2RlYWRfcGFnZXMsdHVwbGVzX2RlbGV0ZWQsdHVw bGVzX2Zyb3plbixyZWNlbnRseV9kZWFkX3R1cGxlcyxtaXNzZWRfZGVhZF90dXBsZXMsd3Jh cGFyb3VuZF9mYWlsc2FmZSxpbmRleF92YWN1dW1fY291bnQsd2FsX3JlY29yZHMsd2FsX2Zw aSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRv dGFsX3RpbWV9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJyB9 LAorCisgIHsgb2lkID0+ICc4MDAyJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBv ZiB0aW1lcyB0aGUgYWxsLXZpc2libGUgcGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdh cyByZW1vdmVkIGZvciBwYWdlcyBvZiB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJv cGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4g J29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2Vz JyB9LAorICB7IG9pZCA9PiAnODAwMycsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIg b2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gcGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdh cyByZW1vdmVkIGZvciBwYWdlcyBvZiB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9w YXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAn b2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycg fSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKaW5kZXggMTJkMGI2MTk1MGQuLjk0ZDU5OTc2 N2RmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9z cmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApAQCAtMzA4LDYgKzMwOCw3IEBAIGV4dGVy biBQR0RMTElNUE9SVCBpbnQgdmFjdXVtX211bHRpeGFjdF9mYWlsc2FmZV9hZ2U7CiBleHRl cm4gUEdETExJTVBPUlQgcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFu Y2U7CiBleHRlcm4gUEdETExJTVBPUlQgcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtQWN0aXZl TldvcmtlcnM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IFZhY3V1bUNvc3RCYWxhbmNlTG9j YWw7CitleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIFZhY3V1bURlbGF5VGltZTsKIAogZXh0 ZXJuIFBHRExMSU1QT1JUIGJvb2wgVmFjdXVtRmFpbHNhZmVBY3RpdmU7CiBleHRlcm4gUEdE TExJTVBPUlQgZG91YmxlIHZhY3V1bV9jb3N0X2RlbGF5OwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCBkZDgyM2QzZjU2 ZS4uZjYzZjIyN2UzNDUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBi L3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xMTIsNiArMTEyLDUzIEBAIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9j b3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5Owog CisvKiAtLS0tLS0tLS0tCisgKgorICogRXh0VmFjUmVwb3J0CisgKgorICogQWRkaXRpb25h bCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSBoZWFwIHJlbGF0aW9u LgorICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50IGJ5IHdoaWNoIHRoZSBwaHlzaWNh bGx5IHNocmFuaywKKyAqIGlmIGFueSAoaWUgdGhlIGNoYW5nZSBpbiBpdHMgdG90YWwgc2l6 ZSBvbiBkaXNrKQorICogcGFnZXNfZGVsZXRlZCByZWZlciB0byBmcmVlIHNwYWNlIHdpdGhp biB0aGUgaW5kZXggZmlsZQorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBF eHRWYWNSZXBvcnQKK3sKKwkvKiBudW1iZXIgb2YgYmxvY2tzIG1pc3NlZCwgaGl0LCBkaXJ0 aWVkIGFuZCB3cml0dGVuIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAq LworCWludDY0CQl0b3RhbF9ibGtzX3JlYWQ7CisJaW50NjQJCXRvdGFsX2Jsa3NfaGl0Owor CWludDY0CQl0b3RhbF9ibGtzX2RpcnRpZWQ7CisJaW50NjQJCXRvdGFsX2Jsa3Nfd3JpdHRl bjsKKworCS8qIGJsb2NrcyBtaXNzZWQgYW5kIGhpdCBmb3IganVzdCB0aGUgaGVhcCBkdXJp bmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24gKi8KKwlpbnQ2NAkJYmxrc19mZXRj aGVkOworCWludDY0CQlibGtzX2hpdDsKKworCS8qIFZhY3V1bSBXQUwgdXNhZ2Ugc3RhdHMg Ki8KKwlpbnQ2NAkJd2FsX3JlY29yZHM7CS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBy ZWNvcmRzICovCisJaW50NjQJCXdhbF9mcGk7CQkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBX QUwgZnVsbCBwYWdlIGltYWdlcyBwcm9kdWNlZCAqLworCXVpbnQ2NAkJd2FsX2J5dGVzOwkJ Lyogd2FsIHVzYWdlOiBzaXplIG9mIFdBTCByZWNvcmRzIHByb2R1Y2VkICovCisKKwkvKiBU aW1lIHN0YXRzLiAqLworCWRvdWJsZQkJYmxrX3JlYWRfdGltZTsJLyogdGltZSBzcGVudCBy ZWFkaW5nIHBhZ2VzLCBpbiBtc2VjICovCisJZG91YmxlCQlibGtfd3JpdGVfdGltZTsgLyog dGltZSBzcGVudCB3cml0aW5nIHBhZ2VzLCBpbiBtc2VjICovCisJZG91YmxlCQlkZWxheV90 aW1lOwkJLyogaG93IGxvbmcgdmFjdXVtIHNsZXB0IGluIHZhY3V1bSBkZWxheSBwb2ludCwg aW4gbXNlYyAqLworCWRvdWJsZQkJdG90YWxfdGltZTsJCS8qIHRvdGFsIHRpbWUgb2YgYSB2 YWN1dW0gb3BlcmF0aW9uLCBpbiBtc2VjICovCisKKwlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJ CS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZNKSAqLworCWludDY0 CQlwYWdlc19yZW1vdmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1 bmNhdGlvbiIgKi8KKwlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8qIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7 CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCWludDY0CQl2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwt dmlzaWJsZSBhbmQgZnJvemVuICovCisJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8q IHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBj bGVhbnVwIGxvY2sgKi8KKwlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3 aXRoIG1pc3NlZCBkZWFkIHR1cGxlcyAqLworCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8q IHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLworCWludDY0CQl0dXBsZXNfZnJvemVuOwkJ LyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJcmVjZW50bHlfZGVh ZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8g c29tZSB0cmFuc2FjdGlvbiAqLworCWludDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIHRo ZSBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCWludDMyCQl3cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd29ya2Fy b3VuZCBwcm9ibGVtICovCit9IEV4dFZhY1JlcG9ydDsKKwogLyogLS0tLS0tLS0tLQogICog UGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVhbCBwZXItdGFibGUgY291bnRzIGtlcHQg YnkgYSBiYWNrZW5kCiAgKgpAQCAtMTU0LDYgKzIwMSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQ Z1N0YXRfVGFibGVDb3VudHMKIAogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwog CVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxs X3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7 CisKKwkvKgorCSAqIEFkZGl0aW9uYWwgY3VtdWxhdGl2ZSBzdGF0IG9uIHZhY3V1bSBvcGVy YXRpb25zLgorCSAqIFVzZSBhbiBleHBlbnNpdmUgc3RydWN0dXJlIGFzIGFuIGFic3RyYWN0 aW9uIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YKKwkgKiByZWxhdGlvbnMuCisJICovCisJRXh0 VmFjUmVwb3J0CXZhY3V1bV9leHQ7CiB9IFBnU3RhdF9UYWJsZUNvdW50czsKIAogLyogLS0t LS0tLS0tLQpAQCAtMjEyLDcgKzI2OSw3IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJs ZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLSNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9S TUFUX0lECTB4MDFBNUJDQjMKKyNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFB NUJDQjQKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0FyY2hpdmVyU3RhdHMKIHsKQEAgLTM5 NCw2ICs0NTEsOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdERCRW50cnkKIAlQZ1N0 YXRfQ291bnRlciBwYXJhbGxlbF93b3JrZXJzX2xhdW5jaGVkOwogCiAJVGltZXN0YW1wVHog c3RhdF9yZXNldF90aW1lc3RhbXA7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsJCS8q IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzICovCiB9IFBnU3RhdF9TdGF0REJFbnRyeTsK IAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRGdW5jRW50cnkKQEAgLTQ3Miw2ICs1MzEs MTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCVBnU3RhdF9Db3Vu dGVyIHRvdGFsX2F1dG92YWN1dW1fdGltZTsKIAlQZ1N0YXRfQ291bnRlciB0b3RhbF9hbmFs eXplX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90YWxfYXV0b2FuYWx5emVfdGltZTsKKwor CVBnU3RhdF9Db3VudGVyIHJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwlQZ1N0YXRfQ291bnRl ciByZXZfYWxsX2Zyb3plbl9wYWdlczsKKworCUV4dFZhY1JlcG9ydCB2YWN1dW1fZXh0Owog fSBQZ1N0YXRfU3RhdFRhYkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfV2FsU3Rh dHMKQEAgLTY1Nyw3ICs3MjEsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfdW5saW5rX3JlbGF0 aW9uKFJlbGF0aW9uIHJlbCk7CiAKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJCQkJCQkJCSBQZ1N0YXRfQ291bnRlciBs aXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAotCQkJCQkJCQkgVGltZXN0 YW1wVHogc3RhcnR0aW1lKTsKKwkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0 VmFjUmVwb3J0ICpwYXJhbXMpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXpl KFJlbGF0aW9uIHJlbCwKIAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQ Z1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRjb3VudGVy LCBUaW1lc3RhbXBUeiBzdGFydHRpbWUpOwpAQCAtNzA4LDYgKzc3MiwxNyBAQCBleHRlcm4g dm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQlpZiAocGdzdGF0 X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKIAkJCShyZWwpLT5wZ3N0YXRf aW5mby0+Y291bnRzLmJsb2Nrc19oaXQrKzsJCQkJXAogCX0gd2hpbGUgKDApCisvKiBhY2N1 bXVsYXRlIHVuZnJvemVuIGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuIHBhZ2VzICovCisj ZGVmaW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKQkJCQkJCVwKKwlk byB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlv bihyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxf dmlzaWJsZV9wYWdlcysrOwlcCisJfSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50 X3ZtX3Jldl9hbGxfZnJvemVuKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwK KwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQko cmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlcysrOwlcCisJ fSB3aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJl bGF0aW9uIHJlbCwgUGdTdGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291 bnRfaGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdlKTsK QEAgLTc5Niw2ICs4NzEsNyBAQCBleHRlcm4gUGdTdGF0X1dhbFN0YXRzICpwZ3N0YXRfZmV0 Y2hfc3RhdF93YWwodm9pZCk7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBwZ3N0YXRfdHJh Y2tfY291bnRzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBwZ3N0YXRfdHJhY2tfZnVuY3Rp b25zOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3k7 CitleHRlcm4gUEdETExJTVBPUlQgYm9vbCBwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3M7CiAKIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3Ny Yy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAppbmRleCA3MTYxZjVjNmFkNi4uOWUwODA3NDdhOTIg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAorKysgYi9zcmMvaW5jbHVk ZS91dGlscy9lbG9nLmgKQEAgLTIzMCw2ICsyMzAsNyBAQCBleHRlcm4gaW50CWdldGVycmxl dmVsKHZvaWQpOwogZXh0ZXJuIGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBp bnQJZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJl bGV2ZWwodm9pZCk7CiAKIC8qLS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9y dGluZyBBUEk6IHRvIGJlIHVzZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjg3ZjdlNDBiNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0 aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBA IC0wLDAgKzEsNTMgQEAKK3VudXNlZCBzdGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRl c3Qgc3BlYyB3aXRoIDIgc2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2lu c2VydCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9y ZWFkIHMyX3VwZGF0ZSBzMl9pbnNlcnRfaW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGUgczFfY29tbWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMy X3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRP IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZh bCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3By aW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwg dnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRf ZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisg ICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVS RSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0 ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFk X3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv bnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAg IDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMx X2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKworY291bnQKKy0tLS0t CisgIDEwMAorKDEgcm93KQorCitzdGVwIHMyX3VwZGF0ZTogVVBEQVRFIHRlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7Citz dGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92 YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0 LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3Nl ZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFt ZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBs ZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4K Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAg ICAgICAgICAgICAgIDEwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8 ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3Rl cCBzMl9jaGVja3BvaW50OiBDSEVDS1BPSU5UOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRl ZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQu bWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAn dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCity ZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFk X3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zy b3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAw fCAgICAgICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAg ICAgMHwgICAgICAgICAgMTAxCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lz b2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0 aW9uX3NjaGVkdWxlCmluZGV4IDE0MzEwOWFhNGRhLi5lOTNkZDRmNjI2YyAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVz dC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCkBAIC05NSw2ICs5NSw3IEBAIHRlc3Q6 IHRpbWVvdXRzCiB0ZXN0OiB2YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1dW0t Y29uZmxpY3QKIHRlc3Q6IHZhY3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6b25zCiB0 ZXN0OiBwcmVkaWNhdGUtaGFzaApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3Nw ZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90ZXN0 L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNw ZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU4OTNkODk1NzNk Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1l eHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUzIEBACisjIFRl c3QgZm9yIGNoZWNraW5nIHJlY2VudGx5X2RlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBh bmQgZnJvemVuIHR1cGxlcyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIHJlY2VudGx5 X2RlYWRfdHVwbGVzIHZhbHVlcyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBoYXNuJ3QgY2xl YXJlZCB0dXBsZXMgYmVjYXVzZSB0aGV5IHdlcmUgZGVsZXRlZCByZWNlbnRseS4KKyMgcmVj ZW50bHlfZGVhZF90dXBsZXMgYXJlbid0IGluY3JlYXNlZCBhZnRlciByZWxlYXNpbmcgbG9j ayBjb21wYXJlZCB3aXRoIHR1cGxlc19kZWxldGVkLCB3aGljaCBpbmNyZWFzZWQKKyMgYnkg dGhlIHZhbHVlIG9mIHRoZSBjbGVhcmVkIHR1cGxlcyB0aGF0IHRoZSB2YWN1dW0gbWFuYWdl ZCB0byBjbGVhci4KKworc2V0dXAKK3sKKyAgICBDUkVBVEUgVEFCTEUgdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb24oaWQgaW50LCBpdmFsIGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFi bGVkID0gb2ZmKTsKKyAgICBTRVQgdHJhY2tfaW9fdGltaW5nID0gb247CisgICAgU0VUIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvbic7Cit9CisKK3RlYXJkb3duCit7CisgICAg RFJPUCBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBDQVNDQURFOworICAgIFJF U0VUIHRyYWNrX2lvX3RpbWluZzsKKyAgICBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj czsKK30KKworc2Vzc2lvbiBzMQorc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7 CisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9u IHdoZXJlIGlkPjkwMDsKKyAgfQorc3RlcCBzMV9jb21taXQgICAgICAgICAgICAgICAgICB7 IENPTU1JVDsgfQorCitzZXNzaW9uIHMyCitzdGVwIHMyX2luc2VydCAgICAgICAgICAgICAg ICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwp IFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMg aXZhbDsgfQorc3RlcCBzMl91cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFURSB0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4g OTAwOyB9CitzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRFIEZST00g dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJf aW5zZXJ0X2ludGVycnVwdCAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7IH0KK3N0ZXAgczJfdmFjdXVtICAgICAgICAgICAg ICAgICAgeyBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247IH0KK3N0ZXAgczJf Y2hlY2twb2ludCAgICAgICAgICAgICAgeyBDSEVDS1BPSU5UOyB9CitzdGVwIHMyX3ByaW50 X3ZhY3V1bV9zdGF0c190YWJsZQoreworICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0 LnR1cGxlc19kZWxldGVkLCB2dC5yZWNlbnRseV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2Rl YWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF9wYWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAg IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUg dnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlk ID0gYy5vaWQ7Cit9CisKK3Blcm11dGF0aW9uCisgICAgczJfaW5zZXJ0CisgICAgczJfcHJp bnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkCisg ICAgczJfdXBkYXRlCisgICAgczJfaW5zZXJ0X2ludGVycnVwdAorICAgIHMyX3ZhY3V1bQor ICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMxX2NvbW1pdAorICAgIHMy X2NoZWNrcG9pbnQKKyAgICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CmluZGV4IDMzNjFmNmE2OWM5Li5lZTkzMzE1OWVkZiAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTE4MDgsNyArMTgwOCw5IEBAIHBnX3N0 YXRfYWxsX3RhYmxlc3wgU0VMRUNUIGMub2lkIEFTIHJlbGlkLAogICAgIHBnX3N0YXRfZ2V0 X3RvdGFsX3ZhY3V1bV90aW1lKGMub2lkKSBBUyB0b3RhbF92YWN1dW1fdGltZSwKICAgICBw Z19zdGF0X2dldF90b3RhbF9hdXRvdmFjdXVtX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2F1dG92 YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3RhbF9hbmFseXplX3RpbWUoYy5vaWQp IEFTIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5h bHl6ZV90aW1lKGMub2lkKSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgcGdfc3Rh dF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGltZShjLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5 emVfdGltZSwKKyAgICBwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNp YmxlX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gKChw Z19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmlu ZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0g Yy5yZWxuYW1lc3BhY2UpKSkKQEAgLTIxOTgsNyArMjIwMCw5IEBAIHBnX3N0YXRfc3lzX3Rh Ymxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHRvdGFsX3ZhY3V1bV90aW1lLAogICAgIHRvdGFs X2F1dG92YWN1dW1fdGltZSwKICAgICB0b3RhbF9hbmFseXplX3RpbWUsCi0gICAgdG90YWxf YXV0b2FuYWx5emVfdGltZQorICAgIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAgcmV2 X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9N IHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPSBBTlkgKEFSUkFZ WydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgT1Ig KHNjaGVtYW5hbWUgfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwogcGdfc3RhdF91c2VyX2Z1bmN0 aW9uc3wgU0VMRUNUIHAub2lkIEFTIGZ1bmNpZCwKQEAgLTIyNTAsOSArMjI1NCw0MyBAQCBw Z19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgdG90YWxfdmFjdXVtX3Rp bWUsCiAgICAgdG90YWxfYXV0b3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGlt ZSwKLSAgICB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgdG90YWxfYXV0b2FuYWx5emVf dGltZSwKKyAgICByZXZfYWxsX2Zyb3plbl9wYWdlcywKKyAgICByZXZfYWxsX3Zpc2libGVf cGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFt ZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVt YSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7Citw Z19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs CisgICAgcmVsLnJlbG5hbWUsCisgICAgc3RhdHMucmVsaWQsCisgICAgc3RhdHMudG90YWxf Ymxrc19yZWFkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfZGlydGllZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3Rh dHMucmVsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5yZWxfYmxrc19oaXQsCisgICAgc3RhdHMu cGFnZXNfc2Nhbm5lZCwKKyAgICBzdGF0cy5wYWdlc19yZW1vdmVkLAorICAgIHN0YXRzLnZt X25ld19mcm96ZW5fcGFnZXMsCisgICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCisg ICAgc3RhdHMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAorICAgIHN0YXRzLm1pc3Nl ZF9kZWFkX3BhZ2VzLAorICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRzLnR1 cGxlc19mcm96ZW4sCisgICAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgc3Rh dHMubWlzc2VkX2RlYWRfdHVwbGVzLAorICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUs CisgICAgc3RhdHMuaW5kZXhfdmFjdXVtX2NvdW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRz LAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRz LmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMu ZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lCisgICBGUk9NIChwZ19jbGFzcyBy ZWwKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFt ZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwu b2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90 YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJl bF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3pl bl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVu LCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5k X2ZhaWxzYWZlLCBpbmRleF92YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3 YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0 b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19z dGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5 dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5iNWVhOWM5YWIxZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIy NyBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQor LS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBv cGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBi eSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92 ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQg aW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0t IGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJl IG9uCisgdHJhY2tfY291bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCitc c2V0IHNhbXBsZV9zaXplIDEwMDAwCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQg d2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwor LS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJh bWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOwor Q1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9 IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVz dGF0OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gTXVzdCBiZSBl bXB0eS4KK1NFTEVDVCByZWxuYW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQs IHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQs IHJlbF9ibGtzX2hpdCwKK3BhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19m cm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19m cm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4 X3ZhY3V1bV9jb3VudCwKK3dhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7 CisgcmVsbmFtZSB8IHRvdGFsX2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxf Ymxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJl bF9ibGtzX2hpdCB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIHwgdm1fbmV3X2Zy b3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzIHwgbWlzc2VkX2RlYWRfcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHR1cGxl c19mcm96ZW4gfCByZWNlbnRseV9kZWFkX3R1cGxlcyB8IG1pc3NlZF9kZWFkX3R1cGxlcyB8 IGluZGV4X3ZhY3V1bV9jb3VudCB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRl cyB8IGJsa19yZWFkX3RpbWUgfCBibGtfd3JpdGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3Rh bF90aW1lIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgICAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg IDAgfCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgIDAgfCAgICAg ICAwIHwgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAg ICAgICAgMCB8ICAgICAgICAgIDAKKygxIHJvdykKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworU0hPVyB0cmFja192YWN1 dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKyB0cmFja192YWN1dW1fc3RhdGlzdGlj cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBlbnN1 cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4 dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3Rl bmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0 b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFz cyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBX SEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24g ZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwor IHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxw YWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCAgICAgICAgICAgICAgICAgICAw IHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1NSB8ICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFz cyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwg MCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsK Ky0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNL UE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0 aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNs ZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJl Y2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVs bmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1 cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVt b3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAg ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAg ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0 dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBw cywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBo ZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 JyBcZ3NldAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxf cmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAK Ky0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7 OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9D TEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBp bmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID4g MCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVw bGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5l ZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBh Z2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cisg cmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBh Z2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICAgICAgICAg fCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJv dykKKworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQg QVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkg QVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxF Q1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0t LS0rLS0tLS0KKyB0ICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMg aHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9N IHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9y dCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlz dGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJ dCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5U OworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpo ZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNl IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBp Mj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0t LSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQu cmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9w YWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2Vz IC06cnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19z Y2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJv emVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQg fCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBm ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJw LCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMg QVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5D QVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRo ZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpo d2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFyZSBu b3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQ SSwgOmR3YjM+MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSst LS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJs ZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBD aGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1f bmV3X2Zyb3plbl9wYWdlcywgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNo YW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9 IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1 cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5u ZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwor IHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxw YWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAgICAgICAg IHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSBy b3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CitDUkVBVEUgVEFCTEUgdmVzdGF0 ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0g MTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CistLSBtdXN0IGJlIGVt cHR5CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMs IHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdl cyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIHwgdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAg ICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAw IHwgICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAw CisoMSByb3cpCisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCkgdmVzdGF0OworLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxl X3BhZ2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zy b3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxl X3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlk ID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2 bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJl dl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAor KDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zp c2libGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2Ziwg cmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMg aGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBX SEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdz ZXQKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwg MCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHZtX25ld19mcm96 ZW5fcGFnZXMgPiA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9w YWdlcyA+IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMgPiA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxs X2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxf dmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3pl bl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgICAgfCBmCisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBm LCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2li bGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRf YWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0 YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJs ZXMucmVsaWQgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCkgdmVzdGF0OworLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2li bGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJl dl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2 X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFj dXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdf ZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9w YWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAg ICAgICAgICAgICB8IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDFlZGQ5ZTQ1ZWJiLi5kMTFm NmI3ZWY0YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xMzYsMyAr MTM2LDggQEAgdGVzdDogZmFzdF9kZWZhdWx0CiAjIHJ1biB0YWJsZXNwYWNlIHRlc3QgYXQg dGhlIGVuZCBiZWNhdXNlIGl0IGRyb3BzIHRoZSB0YWJsZXNwYWNlIGNyZWF0ZWQgZHVyaW5n CiAjIHNldHVwIHRoYXQgb3RoZXIgdGVzdHMgbWF5IHVzZS4KIHRlc3Q6IHRhYmxlc3BhY2UK KworIyAtLS0tLS0tLS0tCisjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCisjIC0tLS0tLS0t LS0KK3Rlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJs ZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li41YmMzNGJlYzY0YgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKQEAgLTAsMCArMSwxODMgQEAKKy0tCist LSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRo ZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgor LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOwor LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tl bmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVz dCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCisKKy0tIGNvbmRpdGlv IHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCitcc2V0 IHNhbXBsZV9zaXplIDEwMDAwCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3 ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisK Ky0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFy YW1ldGVyIGlzIG9mZi4KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsK KworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxl ZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1Qg eCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUg dmVzdGF0OworCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0g TXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxuYW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxf Ymxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9i bGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3BhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQs IHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQs IHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBs ZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0 ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3Rp bWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCc7CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJM RSB2ZXN0YXQgQ0FTQ0FERTsKKworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0t IG11c3QgYmUgb24KKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NF TEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworLS1TRVQgc3RhdHNfZmV0Y2hf Y29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBX SVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNF UlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxl X3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyByb2lkIGZy b20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBG Uk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1 bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5y ZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFn ZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2VzIEFTIHJwCitGUk9NIHBnX2NsYXNzIGMKK1dI RVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJV RkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBp dCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5U OworCistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNz IHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFu IHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1 c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFt ZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxl c19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3Zl ZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxl dGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19y ZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK KworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworCitERUxFVEUgRlJPTSB2ZXN0 YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRF WF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRo ZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0 IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06 ZnAgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBB UyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19z Y2FubmVkLTpwcyA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAg QVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFT IHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVk IEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkg QVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NF TEVDVCA6ZHdyID4gMCBBUyBkV1IsIDpkd2IgPiAwIEFTIGRXQjsKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdh bF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0 YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7 CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwg ZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1l bnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwg dmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVz CitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBk d2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBz dGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdy Mj0wIEFTIGRXUiwgOmRmcGkyPTAgQVMgZEZQSSwgOmR3YjI9MCBBUyBkV0I7CisKK1NFTEVD VCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJv emVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVs cGFnZXMgLTpycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBh Z2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxu YW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zy b3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwg cGFnZXNfc2Nhbm5lZCBBUyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMg QVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0OworVFJV TkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQg MTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRv IGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJv bSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRl cy06aHdiIEFTIGR3YjMsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLVRoZXJl IGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAg QVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQg aW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBp dAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zy b3plbl9wYWdlcywgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQK Ky0tCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMg dm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19k ZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBz ID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19y ZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9Q IFRBQkxFIHZlc3RhdCBDQVNDQURFOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJ VEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKKworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2Fs bF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3Rh YmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFu ZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVs aWQ7CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVz dGF0OworCistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96 ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFn ZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVu X3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFn ZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBB UyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zp c2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0 YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2 ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90 YWJsZXMucmVsaWQgXGdzZXQKKworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOwor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisK K1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMs dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zy b3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zp c2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90 YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJl bGlkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxl X3BhZ2VzIEFTIHB2LCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZf YWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZw CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJF IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRf dmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAor CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsK KworLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2Vz ID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6 cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz ID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVu X3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxl X3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVt X3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5y ZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------CgOpS2VwHi4MieoIj0P00dpz Content-Type: text/x-patch; charset=UTF-8; name="v18-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v18-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0MDY2NmMzZjQzZTAwZDQzNTZlNzRhOThiNTc0NWE3ODJlMThjZWI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE3OjM0OjE1ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBpbmRleCByZWxhdGlvbnMuCgpUaGV5IGFyZSBnYXRoZXJl ZCBzZXBhcmF0ZWxseSBmcm9tIHRhYmxlIHN0YXRpc3RpY3MuCgpBcyBmb3IgdGFibGVzLCB3 ZSBnYXRoZXIgdmFjdXVtIHNoYXJlZCBidWZmZXJzIHN0YXRpc3RpY3MgZm9yIGluZGV4IHJl bGF0aW9ucyBsaWtlCnZhbHVlIG9mIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQs IHRvdGFsX2Jsa3NfZGlydGllZCwgd2FsIHN0YXRpc3RpY3MsIGlvIHRpbWUKZHVyaW5nIGZs dXNoaW5nIGJ1ZmZlciBwYWdlcyB0byBkaXNrLCBkZWxheSBhbmQgdG90YWwgdGltZS4KCkR1 ZSB0byB0aGUgZmFjdCB0aGF0IHN1Y2ggc3RhdGlzdGljcyBhcmUgY29tbW9uIGFzIGZvciB0 YWJsZXMsIGFzIGZvciBpbmRleGVzIHdlCnNldCB0aGVtIGluIHRoZSB1bmlvbiBFeHRWYWNS ZXBvcnQgc3RydWN0dXJlLiBXZSBvbmx5IGFkZGVkIHNvbWUgZGV0ZXJtaW5hdGlvbiAndHlw ZScKZmllbGQgdG8gaGlnaGxpZ2h0IHdoYXQga2luZCBiZWxvbmcgdG8gdGhlc2Ugc3RhdGlz dGljczogUEdTVEFUX0VYVFZBQ19UQUJMRSBvcgpQR1NUQVRfRVhUVkFDX0lOREVYLiBHZW5l cmFsbHksIFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB0eXBlIGxlYWRzIHRvIHdyb25nIGNvZGUg cHJvY2Vzcy4KClNvbWUgc3RhdGlzdGljcyBiZWxvbmcgb25seSBvbmUgdHlwZSBvZiBib3Ro IHRhYmxlcyBvciBpbmRleGVzLiBTbywgd2UgYWRkZWQgc3Vic3RydWN0dXJlcwpzeWNoIHRh YmxlIGFuZCBpbmRleCBpbnNpZGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZS4KClRoZXJlZm9y ZSwgd2UgZ2F0aGVyIG9ubHkgZm9yIHRhYmxlcyBzdWNoIHN0YXRpc3RpY3MgbGlrZSBudW1i ZXIgb2Ygc2Nhbm5lZCwgcmVtb3ZlZCBwYWdlcywKdGhlaXIgY2hhcmVjdGVyaXN0aWNzIGFj Y29yZGluZyBWTSAoYWxsLXZpc2libGUgYW5kIGZyb3plbikuIEluIGFkZGl0aW9uLCBmb3Ig dGFibGVzIHdlCmdhdGhlciBudW1iZXIgZnJvemVuLCBkZWxldGVkIGFuZCByZWNlbnRseSBk ZWFkIHR1cGxlcyBhbmQgaG93IG1hbnkgdGltZXMgdmFjdXVtIHByb2Nlc3NlZAppbmRleGVz IGZvciB0YWJsZXMuCgpDb250cm92ZXJzYWxseSBmb3IgaW5kZXhlcyB3ZSBnYXRoZXIgbnVt YmVyIG9mIGRlbGV0ZWQgcGFnZXMgYW5kIGRlbGV0ZWQgdHVwbGVzIG9ubHkuCgpBcyBmb3Ig dGFibGVzLCBkZWxldGVkIHBhZ2VzIGFuZCBkZWxldGVkIHR1cGxlcyByZWZsZWN0IHRoZSBv dmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSB2YWN1dW0KZm9yIHRoZSBpbmRleCByZWxhdGlv bnNoaXAuCgpTaW5jZSB0aGUgdmFjdXVtIGNsZWFucyB1cCByZWZlcmVuY2VzIHRvIHR1cGxl IGluZGV4ZXMgYmVmb3JlIGNsZWFuaW5nIHVwIHRhYmxlIHR1cGxlcywKd2hpY2ggYWRkcyBz b21lIGNvbXBsZXhpdHkgdG8gdGhlIHZhY3V1bSBwcm9jZXNzLCBuYW1lbHkgdGhlIHZhY3V1 bSBzd2l0Y2hlcyBmcm9tIGNsZWFuaW5nIHVwCmEgdGFibGUgdG8gaXRzIGluZGV4ZXMgYW5k IGJhY2sgZHVyaW5nIGl0cyBvcGVyYXRpb24sIHdlIG5lZWQgdG8gc2F2ZSB0aGUgdmFjdXVt IHN0YXRpc3RpY3MKY29sbGVjdGVkIGZvciB0aGUgaGVhcCBiZWZvcmUgaXQgc3RhcnRzIGNs ZWFuaW5nIHVwIHRoZSBpbmRleGVzLgpUaGF0J3Mgd2h5IGl0J3MgbmVjZXNzYXJ5IHRvIHRy YWNrIHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgc2V2ZXJhbCB0aW1lcyBk dXJpbmcKdGhlIHZhY3V1bSBwcm9jZWR1cmUuIFRvIGF2b2lkIHNlbmRpbmcgdGhlIHN0YXRp c3RpY3MgdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0Kc2V2ZXJhbCB0aW1l cywgd2Ugc2F2ZSB0aGVzZSBzdGF0aXN0aWNzIGluIHRoZSBMVlJlbFN0YXRlIHN0cnVjdHVy ZSBhbmQgb25seSBhZnRlciB2YWN1dW0KZmluaXNoZXMgY2xlYW5pbmcgdXAgdGhlIGhlYXAs IGl0IHNlbmRzIHRoZW0gdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0uCgpB dXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAg QW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVp IFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBL dW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEu bXNoa0BnbWFpbC5jb20+LAogICAgICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92 QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29t PiwKICAgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4 YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNi eSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5j b20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAg IHwgMjkyICsrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jICAgICAgICAgfCAgMTQgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0LmMgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0OCArKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDEzMyArKysrKysrLQogc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkgKwogc3JjL2luY2x1 ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgIDI1ICsrCiBzcmMvaW5j bHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTggKysrLQogLi4u L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAgIHwgICA0ICstCiBz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgMjIgKysK IC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8IDE4MyAr KysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAg ICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwgICB8IDE1MSArKysrKysrKysKIDE1IGZpbGVzIGNoYW5nZWQsIDg3MyBpbnNlcnRpb25z KCspLCAxMDUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggNmYxYzUyYTdi NjYuLjk5MWZiODMxNzI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j CkBAIC0yMjAsNiArMjIwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNoYXIJ ICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lkOwor CU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5hbWU7 CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJCQkvKiB1 c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtMjg2LDYgKzI4Nyw4IEBAIHR5 cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCdWZmZXIJCW5leHRfdW5za2lwcGFibGVfdm1i dWZmZXI7CS8qIGJ1ZmZlciBjb250YWluaW5nIGl0cyBWTSBiaXQgKi8KIAogCWludDMyCQl3 cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHBy ZXZlbnQgd29ya2Fyb3VuZCBwcm9ibGVtICovCisKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVw b3J0OwogfSBMVlJlbFN0YXRlOwogCiAvKiBTdHJ1Y3QgZm9yIHNhdmluZyBhbmQgcmVzdG9y aW5nIHZhY3V1bSBlcnJvciBpbmZvcm1hdGlvbi4gKi8KQEAgLTI5NiwxOSArMjk5LDYgQEAg dHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0g TFZTYXZlZEVyckluZm87CiAKLS8qCi0gKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3Ig ZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCi0gKi8KLXR5cGVkZWYgc3RydWN0IExWRXh0U3Rh dENvdW50ZXJzCi17Ci0JVGltZXN0YW1wVHogc3RhcnR0aW1lOwotCVdhbFVzYWdlCXdhbHVz YWdlOwotCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOwotCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1l OwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3RhdF9Db3VudGVyIGJs b2Nrc19oaXQ7Ci19IExWRXh0U3RhdENvdW50ZXJzOwotCiAvKiBub24tZXhwb3J0IGZ1bmN0 aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3Rh dGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2FuX25leHRfYmxvY2soTFZS ZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBAIC00MjcsMjcgKzQxNywy NSBAQCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMg KmNvdW50ZXJzLAogCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CiAJVGltZXN0 YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1lLCAmc2VjcywgJnVz ZWNzKTsKIAotCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKLQog CS8qCiAJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gcHJvY2Vz c2luZyBvcGVyYXRpb24uCiAJICovCi0JcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgPSBidWZ1 c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOwotCXJl cG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX2hpdDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCA9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2RpcnRp ZWQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFyZWRfYmxr c193cml0dGVuOworCXJlcG9ydC0+dG90YWxfYmxrc19yZWFkICs9IGJ1ZnVzYWdlLmxvY2Fs X2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3JlYWQ7CisJcmVwb3J0LT50b3Rh bF9ibGtzX2hpdCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBidWZ1c2FnZS5s b2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19kaXJ0aWVkOworCXJl cG9ydC0+dG90YWxfYmxrc193cml0dGVuICs9IGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3dyaXR0 ZW47CiAKLQlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uud2FsX3JlY29yZHM7Ci0J cmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKLQlyZXBvcnQtPndhbF9ieXRl cyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKwlyZXBvcnQtPndhbF9yZWNvcmRzICs9IHdhbHVz YWdlLndhbF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSArPSB3YWx1c2FnZS53YWxfZnBp OworCXJlcG9ydC0+d2FsX2J5dGVzICs9IHdhbHVzYWdlLndhbF9ieXRlczsKIAotCXJlcG9y dC0+YmxrX3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxv Y2FsX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9U SU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsKIAlyZXBv cnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uu c2hhcmVkX2Jsa19yZWFkX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNU Ul9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGltZSk7Ci0J cmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVz YWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7Ci0JcmVwb3J0LT5kZWxheV90aW1lID0gVmFj dXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsKKwlyZXBvcnQtPmJs a193cml0ZV90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2Fs X2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lICs9IElOU1RSX1RJ TUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVw b3J0LT5kZWxheV90aW1lICs9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1E ZWxheVRpbWU7CiAKLQlyZXBvcnQtPnRvdGFsX3RpbWUgPSBzZWNzICogMTAwMC4gKyB1c2Vj cyAvIDEwMDAuOworCXJlcG9ydC0+dG90YWxfdGltZSArPSBzZWNzICogMTAwMC4gKyB1c2Vj cyAvIDEwMDAuOwogCiAJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tf Y291bnRzKQogCQkvKgpAQCAtNDU2LDEyICs0NDQsOTYgQEAgZXh0dmFjX3N0YXRzX2VuZChS ZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycywKIAkJICovCiAJCXJl dHVybjsKIAotCXJlcG9ydC0+Ymxrc19mZXRjaGVkID0KKwlyZXBvcnQtPmJsa3NfZmV0Y2hl ZCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3Vu dGVycy0+YmxvY2tzX2ZldGNoZWQ7Ci0JcmVwb3J0LT5ibGtzX2hpdCA9CisJcmVwb3J0LT5i bGtzX2hpdCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hpdCAtIGNv dW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCit2b2lkCitleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKKwkJCQkJICAg TFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQoreworCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCS8qIFNldCBpbml0aWFsIHZhbHVl cyBmb3IgY29tbW9uIGhlYXAgYW5kIGluZGV4IHN0YXRpc3RpY3MqLworCWV4dHZhY19zdGF0 c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3VudGVycy0+cGFnZXNfZGVs ZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisKKwlpZiAoc3RhdHMgIT0g TlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5lZWQgdGhpcyBjb2RlIGhl cmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJICogY29tbWVudHMsIGRl c2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJzLT50dXBsZXNfcmVtb3Zl ZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQg PSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3ZvaWQKK2V4dHZhY19zdGF0c19l bmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKKwkJ CQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpyZXBv cnQpCit7CisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCisJ ZXh0dmFjX3N0YXRzX2VuZChyZWwsICZjb3VudGVycy0+Y29tbW9uLCByZXBvcnQpOworCXJl cG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNfSU5ERVg7CisKKwlpZiAoc3RhdHMgIT0gTlVM TCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIg ZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0 IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkvKiBGaWxsIGluZGV4LXNwZWNpZmljIGV4dGVu ZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBvcnQtPnR1cGxlc19kZWxldGVkID0KKwkJCQkJ CQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CisJ CXJlcG9ydC0+aW5kZXgucGFnZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnBhZ2VzX2Rl bGV0ZWQgLSBjb3VudGVycy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKKy8qIEFjY3VtdWxh dGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGhlYXAuCisgKgorICAqIEJlY2F1c2Ugb2YgY29t cGxleGl0eSBvZiB2YWN1dW0gcHJvY2Vzc2luZzogaXQgc3dpdGNoIHByb2Nlc2luZyBiZXR3 ZWVuCisgICogdGhlIGhlYXAgcmVsYXRpb24gdG8gaW5kZXggcmVsYXRpb25zIGFuZCB2aXNh IHZlcnNhLCB3ZSBuZWVkIHRvIHN0b3JlCisgICogZ2F0aGVyZWQgc3RhdGlzdGljcyBpbmZv cm1hdGlvbiBmb3IgaGVhcCByZWxhdGlvbnMgc2V2ZXJhbCB0aW1lcyBiZWZvcmUKKyAgKiB0 aGUgdmFjdXVtIHN0YXJ0cyBwcm9jZXNzaW5nIHRoZSBpbmRleGVzIGFnYWluLgorICAqCisg ICogSXQgaXMgbmVjZXNzYXJ5IHRvIGdhdGhlciBjb3JyZWN0IHN0YXRpc3RpY3MgaW5mb3Jt YXRpb24gZm9yIGhlYXAgYW5kIGluZGV4ZXMKKyAgKiBvdGhlcndpY2UgdGhlIGluZGV4IHN0 YXRpc3RpY3MgaW5mb3JtYXRpb24gd291bGQgYmUgYWRkZWQgdG8gaGlzIHBhcmVudCBoZWFw CisgICogc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBhbmQgaXQgd291bGQgYmUgZGlmZmljdWx0 IHRvIGFuYWx5emUgaXQgbGF0ZXIuCisgICoKKyAgKiBXZSBjYW4ndCBzdWJ0cmFjdCB1bmlv biB2YWN1dW0gc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaW5kZXggZnJvbSB0aGUgaGVh cCByZWxhdGlvbnMKKyAgKiBiZWNhdXNlIG9mIHRvdGFsIGFuZCBkZWxheSB0aW1lIHRpbWUg c3RhdGlzdGljcyBjb2xsZWN0aW5nIGR1cmluZyBwYXJhbGxlbCB2YWN1dW0KKyAgKiBwcm9j dWR1cmUuCisqLworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlz dGljcyhMVkV4dFN0YXRDb3VudGVycyAqZXh0VmFjQ291bnRlcnMsIExWUmVsU3RhdGUgKnZh Y3JlbCkKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0 dXJuOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAq LworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnR5cGUgPSBQR1NUQVRfRVhUVkFDX1RBQkxFOwor CXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnBhZ2VzX3NjYW5uZWQgKz0gdmFjcmVsLT5z Y2FubmVkX3BhZ2VzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnBhZ2VzX3JlbW92 ZWQgKz0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRh YmxlLnZtX25ld19mcm96ZW5fcGFnZXMgKz0gdmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2Vz OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzICs9 IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfcGFnZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQu dGFibGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHZhY3JlbC0+dm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxl dGVkICs9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQu dGFibGUudHVwbGVzX2Zyb3plbiArPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47CisJdmFjcmVs LT5leHRWYWNSZXBvcnQudGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5y ZWNlbnRseV9kZWFkX3R1cGxlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5yZWNl bnRseV9kZWFkX3R1cGxlcyArPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzOworCXZh Y3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSB2YWNyZWwt Pm1pc3NlZF9kZWFkX3R1cGxlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5taXNz ZWRfZGVhZF9wYWdlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0LnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSB2YWNyZWwtPm51bV9p bmRleF9zY2FuczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKK30K KwogLyoKICAqCWhlYXBfdmFjdXVtX3JlbCgpIC0tIHBlcmZvcm0gVkFDVVVNIGZvciBvbmUg aGVhcCByZWxhdGlvbgogICoKQEAgLTQ5NCwxMyArNTY2LDcgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJQnVmZmVyVXNhZ2Ugc3Rh cnRidWZmZXJ1c2FnZSA9IHBnQnVmZmVyVXNhZ2U7CiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sg ZXJyY2FsbGJhY2s7CiAJTFZFeHRTdGF0Q291bnRlcnMgZXh0VmFjQ291bnRlcnM7Ci0JRXh0 VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKIAljaGFyCSAgKippbmRuYW1lcyA9IE5VTEw7Ci0J RXh0VmFjUmVwb3J0IGFsbHplcm87Ci0KLQkvKiBJbml0aWFsaXplIHZhY3V1bSBzdGF0aXN0 aWNzICovCi0JbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7Ci0J ZXh0VmFjUmVwb3J0ID0gYWxsemVybzsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25z ICYgVkFDT1BUX1ZFUkJPU0UpICE9IDA7CiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChB bUF1dG9WYWN1dW1Xb3JrZXJQcm9jZXNzKCkgJiYKQEAgLTUyMCw3ICs1ODYsNiBAQCBoZWFw X3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAogCXBn c3RhdF9wcm9ncmVzc19zdGFydF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAog CQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7Ci0JZXh0dmFjX3N0YXRzX3N0YXJ0 KHJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFj ayBzdXBwb3J0IGZvciBlcmVwb3J0KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkg KiB1cCBhbiBlcnJvciBjb250ZXh0IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBvbiBhbnkKQEAgLTY5Myw2ICs3NTgsOCBAQCBoZWFwX3ZhY3V1bV9yZWwo UmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkgKi8KIAlsYXp5X3NjYW5f aGVhcCh2YWNyZWwpOwogCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0NvdW50 ZXJzKTsKKwogCS8qCiAJICogRnJlZSByZXNvdXJjZXMgbWFuYWdlZCBieSBkZWFkX2l0ZW1z X2FsbG9jLiAgVGhpcyBlbmRzIHBhcmFsbGVsIG1vZGUgaW4KIAkgKiBwYXNzaW5nIHdoZW4g bmVjZXNzYXJ5LgpAQCAtNzcxLDI2ICs4MzgsNiBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRp b24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJv emVuWGlkLCB2YWNyZWwtPk5ld1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0 ZWQsICZtaW5tdWx0aV91cGRhdGVkLCBmYWxzZSk7CiAKLQkvKiBNYWtlIGdlbmVyaWMgZXh0 ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCAqLwotCWV4dHZhY19zdGF0c19lbmQocmVsLCAm ZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOwotCi0JaWYocGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzKQotCXsKLQkJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVk IHN0YXRzIGZpZWxkcyAqLwotCQlleHRWYWNSZXBvcnQucGFnZXNfc2Nhbm5lZCA9IHZhY3Jl bC0+c2Nhbm5lZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNy ZWwtPnJlbW92ZWRfcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC52bV9uZXdfZnJvemVuX3BhZ2Vz ID0gdmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQudm1fbmV3 X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2VzOwotCQlleHRW YWNSZXBvcnQudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCA9 IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7Ci0JCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVu ID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOwotCQlleHRWYWNSZXBvcnQucmVjZW50bHlfZGVh ZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzOwotCQlleHRWYWNSZXBv cnQubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7Ci0J CWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF9wYWdlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRf cGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC5pbmRleF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51 bV9pbmRleF9zY2FuczsKLQkJZXh0VmFjUmVwb3J0LndyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7Ci0JfQotCiAJLyoKIAkg KiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4K IAkgKgpAQCAtODAwLDE0ICs4NDcsMzcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJICogSXQgc2VlbXMgbGlrZSBhIGdvb2QgaWRl YSB0byBlcnIgb24gdGhlIHNpZGUgb2Ygbm90IHZhY3V1bWluZyBhZ2FpbiB0b28KIAkgKiBz b29uIGluIGNhc2VzIHdoZXJlIHRoZSBmYWlsc2FmZSBwcmV2ZW50ZWQgc2lnbmlmaWNhbnQg YW1vdW50cyBvZiBoZWFwCiAJICogdmFjdXVtaW5nLgorCSAqCisJICogV2UgYXJlIHJlYWR5 IHRvIHNlbmQgdmFjdXVtIHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgcmVsYXRp b25zLgogCSAqLwotCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVs KSwKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBNYWtl IGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBhbmQKKwkJICogZmlsbCBo ZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcy4KKwkJICovCisJCWV4dHZhY19z dGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZh Y1JlcG9ydCkpOworCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZh Y0NvdW50ZXJzLCB2YWNyZWwpOworCisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9u R2V0UmVsaWQocmVsKSwKIAkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJCQkJ CQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwtPnJl Y2VudGx5X2RlYWRfdHVwbGVzICsKLQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxl cywKKyAJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCiAJCQkJCQkgc3RhcnR0 aW1lLAotCQkJCQkJICZleHRWYWNSZXBvcnQpOworCQkJCQkJICYodmFjcmVsLT5leHRWYWNS ZXBvcnQpKTsKKworCX0KKwllbHNlCisJeworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxh dGlvbkdldFJlbGlkKHJlbCksCisJCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwK KwkJCQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKKwkJCQkJCQkgdmFj cmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArCisJCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2Rl YWRfdHVwbGVzLAorCQkJCQkJCSBzdGFydHRpbWUsCisJCQkJCQkJIE5VTEwpOworCX0KKwog CXBnc3RhdF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQpCkBA IC0xMDY0LDYgKzExMzQsNyBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwp CiAJCVBST0dSRVNTX1ZBQ1VVTV9NQVhfREVBRF9UVVBMRV9CWVRFUwogCX07CiAJaW50NjQJ CWluaXRwcm9nX3ZhbFszXTsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRWYWNDb3VudGVyczsK IAogCS8qIFJlcG9ydCB0aGF0IHdlJ3JlIHNjYW5uaW5nIHRoZSBoZWFwLCBhZHZlcnRpc2lu ZyB0b3RhbCAjIG9mIGJsb2NrcyAqLwogCWluaXRwcm9nX3ZhbFswXSA9IFBST0dSRVNTX1ZB Q1VVTV9QSEFTRV9TQ0FOX0hFQVA7CkBAIC0xMDc3LDYgKzExNDgsMTMgQEAgbGF6eV9zY2Fu X2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCXZhY3JlbC0+bmV4dF91bnNraXBwYWJsZV9h bGx2aXMgPSBmYWxzZTsKIAl2YWNyZWwtPm5leHRfdW5za2lwcGFibGVfdm1idWZmZXIgPSBJ bnZhbGlkQnVmZmVyOwogCisJLyoKKwkgKiBEdWUgdG8gdGhlIGZhY3QgdGhhdCB2YWN1dW0g aGVhcCBwcm9jZXNzaW5nIG5lZWRzIHRoZWlyIGluZGV4IHZhY3V1bWluZworCSAqIHdlIG5l ZWQgdG8gdHJhY2sgdGhlbSBzZXBhcmF0ZWx5IGFuZCBhY2N1bXVsYXRlIGhlYXAgdmFjdXVt IHN0YXRpc3RpY3MKKwkgKiBzZXBhcmF0ZWx5LiBTbyBsYXN0IHByb2Nlc3NlcyBhcmUgcmVs YXRlZCB0byBvbmx5IGhlYXAgdmFjdXVtaW5nIHByb2Nlc3MuCisJICovCisJZXh0dmFjX3N0 YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAmZXh0VmFjQ291bnRlcnMpOworCiAJd2hpbGUgKGhl YXBfdmFjX3NjYW5fbmV4dF9ibG9jayh2YWNyZWwsICZibGtubywgJmFsbF92aXNpYmxlX2Fj Y29yZGluZ190b192bSkpCiAJewogCQlCdWZmZXIJCWJ1ZjsKQEAgLTExMjcsOCArMTIwNSwy NiBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAKIAkJCS8qIFBlcmZv cm0gYSByb3VuZCBvZiBpbmRleCBhbmQgaGVhcCB2YWN1dW1pbmcgKi8KIAkJCXZhY3JlbC0+ Y29uc2lkZXJfYnlwYXNzX29wdGltaXphdGlvbiA9IGZhbHNlOworCisJCQkvKgorCQkJICog TGF6eSB2YWN1dW0gc3RhZ2UgaW5jbHVkZXMgaW5kZXggdmFjdXVtaW5nIGFuZCBjbGVhbmlu ZyB1cCBzdGFnZSwgc28KKwkJCSAqIHdlIHByZWZlciB0cmFja2luZyB0aGVtIHNlcGFyYXRl bHkuCisJCQkgKiBCZWZvcmUgc3RhcnRpbmcgdG8gcHJvY2VzcyB0aGUgaW5kZXhlcyBzYXZl IHRoZSBjdXJyZW50IGhlYXAgc3RhdGlzdGljcworCQkJKi8KKwkJCWV4dHZhY19zdGF0c19l bmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZhY1JlcG9y dCkpOworCQkJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWNDb3Vu dGVycywgdmFjcmVsKTsKKwogCQkJbGF6eV92YWN1dW0odmFjcmVsKTsKIAorCQkJLyoKKwkJ CSAqIEFmdGVyIGNvbXBsZXRpb24gbGF6eSB2YWN1dW0sIHdlIHN0YXJ0IGFnYWluIHRyYWNr aW5nIHZhY3V1bSBzdGF0aXN0aWNzIGZvcgorCQkJICogaGVhcC1yZWxhdGVkIG9iamVjdHMg bGlrZSBGU00sIFZNLCBwcm92aWRlIGhlYXAgcHJ1bm5pbmcuCisJCQkgKiBJdCBzZWVtcyBk YW5nZXJvdXNseSB0aGF0IHdlIGhhdmUgc3RhcnQgdHJhY2tpbmcgYnV0IHRoZXJlIGFyZSBu byBlbmQsIGJ1dAorCQkJICogaXQgaXMgc2FmZS4gVGhlIGVuZCB0cmFja2luZyBpcyBsb2Nh dGVkIGJlZm9yZSBsYXp5IHZhY3V1bSBzdGFnZSBpbiB0aGUgc2FtZQorCQkJICogbG9vcCBv ciBhZnRlciBpdC4KKyAJCQkqLworCQkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVs LCAmZXh0VmFjQ291bnRlcnMpOworCiAJCQkvKgogCQkJICogVmFjdXVtIHRoZSBGcmVlIFNw YWNlIE1hcCB0byBtYWtlIG5ld2x5LWZyZWVkIHNwYWNlIHZpc2libGUgb24KIAkJCSAqIHVw cGVyLWxldmVsIEZTTSBwYWdlcy4gIE5vdGUgd2UgaGF2ZSBub3QgeWV0IHByb2Nlc3NlZCBi bGtuby4KQEAgLTEyNzcsNiArMTM3MywxMiBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRl ICp2YWNyZWwpCiAJCU1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCkgKyB2YWNyZWwt PnJlY2VudGx5X2RlYWRfdHVwbGVzICsKIAkJdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7 CiAKKwkvKgorCSAqIFZhY3V1bSBjYW4gcHJvY2VzcyBsYXp5IHZhY3V1bSBhZ2FpbiBhbmQg d2Ugc2F2ZSBoZWFwIHN0YXRpc3RpY3Mgbm93CisJICoganVzdCBpbiBjYXNlIGluIHRlbmQg dG8gYXZvaWQgY29sbGVjdGluZyB2YWN1dW0gaW5kZXggc3RhdGlzdGljcyBhZ2Fpbi4KKwkg Ki8KKwlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmZXh0VmFjQ291bnRlcnMsICYo dmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKwlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRp c3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOwogCS8qCiAJICogRG8gaW5kZXggdmFj dXVtaW5nIChjYWxsIGVhY2ggaW5kZXgncyBhbWJ1bGtkZWxldGUgcm91dGluZSksIHRoZW4g ZG8KIAkgKiByZWxhdGVkIGhlYXAgdmFjdXVtaW5nCkBAIC0xMjg0LDYgKzEzODYsMTIgQEAg bGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCWlmICh2YWNyZWwtPmRlYWRf aXRlbXNfaW5mby0+bnVtX2l0ZW1zID4gMCkKIAkJbGF6eV92YWN1dW0odmFjcmVsKTsKIAor CS8qCisJICogV2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCBoZWFwIHZhY3V1bSBzdGF0 aXN0aWNzIGR1cmluZyBwcm9jZXNzIG9mCisJICogRlNNLgorIAkgKi8KKwlleHR2YWNfc3Rh dHNfc3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIFZh Y3V1bSB0aGUgcmVtYWluZGVyIG9mIHRoZSBGcmVlIFNwYWNlIE1hcC4gIFdlIG11c3QgZG8g dGhpcyB3aGV0aGVyIG9yCiAJICogbm90IHRoZXJlIHdlcmUgaW5kZXhlcywgYW5kIHdoZXRo ZXIgb3Igbm90IHdlIGJ5cGFzc2VkIGluZGV4IHZhY3V1bWluZy4KQEAgLTEyOTQsNiArMTQw MiwxMCBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAJLyogcmVwb3J0 IGFsbCBibG9ja3MgdmFjdXVtZWQgKi8KIAlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9IRUFQX0JMS1NfVkFDVVVNRUQsIGJsa25vKTsKIAorCS8qIEJl Zm9yZSBzdGFydGluZyBmaW5hbCBpbmRleCBjbGFuIHVwIHN0YWdlIHNhdmUgaGVhcCBzdGF0 aXN0aWNzICovCisJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50 ZXJzLCAmKHZhY3JlbC0+ZXh0VmFjUmVwb3J0KSk7CisJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsKKwogCS8qIERvIGZpbmFs IGluZGV4IGNsZWFudXAgKGNhbGwgZWFjaCBpbmRleCdzIGFtdmFjdXVtY2xlYW51cCByb3V0 aW5lKSAqLwogCWlmICh2YWNyZWwtPm5pbmRleGVzID4gMCAmJiB2YWNyZWwtPmRvX2luZGV4 X2NsZWFudXApCiAJCWxhenlfY2xlYW51cF9hbGxfaW5kZXhlcyh2YWNyZWwpOwpAQCAtMjE1 MCw2ICsyMjYyLDcgQEAgc3RhdGljIHZvaWQKIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZh Y3JlbCkKIHsKIAlib29sCQlieXBhc3M7CisJTFZFeHRTdGF0Q291bnRlcnMgZXh0VmFjQ291 bnRlcnM7CiAKIAkvKiBTaG91bGQgbm90IGVuZCB1cCBoZXJlIHdpdGggbm8gaW5kZXhlcyAq LwogCUFzc2VydCh2YWNyZWwtPm5pbmRleGVzID4gMCk7CkBAIC0yMTYyLDYgKzIyNzUsOSBA QCBsYXp5X3ZhY3V1bShMVlJlbFN0YXRlICp2YWNyZWwpCiAJCXJldHVybjsKIAl9CiAKKwkv KiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRp c3RpY3MgZm9yIHRoZSBoZWFwICovCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVs LCAmZXh0VmFjQ291bnRlcnMpOworCiAJLyoKIAkgKiBDb25zaWRlciBieXBhc3NpbmcgaW5k ZXggdmFjdXVtaW5nIChhbmQgaGVhcCB2YWN1dW1pbmcpIGVudGlyZWx5LgogCSAqCkBAIC0y MjE4LDYgKzIzMzQsMTQgQEAgbGF6eV92YWN1dW0oTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJ CSAgVGlkU3RvcmVNZW1vcnlVc2FnZSh2YWNyZWwtPmRlYWRfaXRlbXMpIDwgMzIgKiAxMDI0 ICogMTAyNCk7CiAJfQogCisJLyoKKwkgKiBWYWN1dW0gaXMgbGlrZWx5IHRvIHZhY3V1bSBp bmRleGVzIGFnYWluLCBzbyBzYXZlIHZhY3V1bSBzdGF0aXN0aWNzIGZvcgorCSAqIGhlYXAg cmVsYXRpb25zIG5vdy4KKwkgKiBUaGUgdmFjdXVtIHByb2Nlc3MgYmVsb3cgZG9lc24ndCBj b250YWluIGFueSB1c2VmdWwgc3RhdGlzdGljcyBpbmZvcm1hdGlvbgorCSAqIGZvciBoZWFw IGlmIGluZGV4ZXMgd29uJ3QgYmUgcHJvY2Vzc2VkLCBidXQgd2Ugd2lsbCB0cmFjayB0aGVt IHNlcGFyYXRlbHkuCisJICovCisJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmV4 dFZhY0NvdW50ZXJzLCAmKHZhY3JlbC0+ZXh0VmFjUmVwb3J0KSk7CisKIAlpZiAoYnlwYXNz KQogCXsKIAkJLyoKQEAgLTIyMzQsMTEgKzIzNTgsMjEgQEAgbGF6eV92YWN1dW0oTFZSZWxT dGF0ZSAqdmFjcmVsKQogCX0KIAllbHNlIGlmIChsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyh2 YWNyZWwpKQogCXsKLQkJLyoKLQkJICogV2Ugc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBhIHJv dW5kIG9mIGluZGV4IHZhY3V1bWluZy4gIERvIHJlbGF0ZWQKLQkJICogaGVhcCB2YWN1dW1p bmcgbm93LgotCQkgKi8KLQkJbGF6eV92YWN1dW1faGVhcF9yZWwodmFjcmVsKTsKKwkJLyog Tm93IHRoZSB2YWN1dW0gaXMgZ29pbmcgdG8gcHJvY2VzcyBoZWFwIHJlbGF0aW9uLCBzbwor CQkgKiB3ZSBuZWVkIHRvIHNldCBpbnRpYWwgc3RhdGlzdGljIHZhbHVlcyBmb3IgdHJhY2tp bmcuCisJCSovCisKKwkJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0 aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCAqLworCQlleHR2YWNfc3RhdHNf c3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7CisKKyAJCS8qCisgCQkgKiBX ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIGEgcm91bmQgb2YgaW5kZXggdmFjdXVtaW5nLiAg RG8gcmVsYXRlZAorIAkJICogaGVhcCB2YWN1dW1pbmcgbm93LgorIAkJICovCisgCQlsYXp5 X3ZhY3V1bV9oZWFwX3JlbCh2YWNyZWwpOworCisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVs LT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOworCQlh Y2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNy ZWwpOwogCX0KIAllbHNlCiAJewpAQCAtMjczMiw2ICsyODY2LDExIEBAIGxhenlfdmFjdXVt X29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0 YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZl ZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlF eHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJLyogU2V0IGluaXRpYWwgc3RhdGlzdGlj cyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8K KwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVy cyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNy ZWwtPnJlbDsKQEAgLTI3NTAsNiArMjg4OSw3IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChS ZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJ QXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBw c3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5k b2lkID0gUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3Jf aW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BI QVNFX1ZBQ1VVTV9JTkRFWCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlk T2Zmc2V0TnVtYmVyKTsKQEAgLTI3NTgsNiArMjg5OCwxNSBAQCBsYXp5X3ZhY3V1bV9vbmVf aW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAog CWlzdGF0ID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCB2YWNyZWwt PmRlYWRfaXRlbXMsCiAJCQkJCQkJCSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2luZm8pOwogCisJ aWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBleHRl bmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCQlleHR2YWNfc3RhdHNf ZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQp OworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJ CQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkJMCwgMCwgMCwg JmV4dFZhY1JlcG9ydCk7CisJfQorCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFz ZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1f ZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CiAJcGZyZWUodmFjcmVsLT5p bmRuYW1lKTsKQEAgLTI3ODIsNiArMjkzMSwxMSBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4 KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIHsKIAlJ bmRleFZhY3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZv OworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9y dCBleHRWYWNSZXBvcnQ7CisKKwkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0 byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleCAqLworCWV4dHZhY19z dGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKIAogCWl2 aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+cmVsOwpA QCAtMjgwMSwxMiArMjk1NSwyMiBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9u IGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlBc3NlcnQo dmFjcmVsLT5pbmRuYW1lID09IE5VTEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJkdXAo UmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRvaWQgPSBS ZWxhdGlvbkdldFJlbGlkKGluZHJlbCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKHZh Y3JlbCwgJnNhdmVkX2Vycl9pbmZvLAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5E RVhfQ0xFQU5VUCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0 TnVtYmVyKTsKIAogCWlzdGF0ID0gdmFjX2NsZWFudXBfb25lX2luZGV4KCZpdmluZm8sIGlz dGF0KTsKIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8q IE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwkJZXh0 dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0 VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChp bmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJ CTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOworCX0KKwogCS8qIFJldmVydCB0byB0aGUgcHJl dmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3Rv cmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVl KHZhY3JlbC0+aW5kbmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK aW5kZXggM2VjNGYyY2FhZjQuLmRhOTA3OWFmYTIxIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsCkBAIC0xNDQyLDMgKzE0NDIsMzUgQEAgRlJPTSBwZ19jbGFzcyBy ZWwKICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFj ZSwKICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRz CiBXSEVSRSByZWwucmVsa2luZCA9ICdyJzsKKworQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1 dW1faW5kZXhlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMgcmVsaWQsCisgIG5zLm5zcG5h bWUgQVMgc2NoZW1hbmFtZSwKKyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKworICB0b3Rh bF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFkLAorICB0b3RhbF9ibGtzX2hpdCBBUyB0 b3RhbF9ibGtzX2hpdCwKKyAgdG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGly dGllZCwKKyAgdG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKwor ICByZWxfYmxrc19yZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHJlbF9ibGtzX2hpdCBBUyBy ZWxfYmxrc19oaXQsCisKKyAgcGFnZXNfZGVsZXRlZCBBUyBwYWdlc19kZWxldGVkLAorICB0 dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKKworICB3YWxfcmVjb3JkcyBBUyB3 YWxfcmVjb3JkcywKKyAgd2FsX2ZwaSBBUyB3YWxfZnBpLAorICB3YWxfYnl0ZXMgQVMgd2Fs X2J5dGVzLAorCisgIGJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgYmxrX3dy aXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgZGVsYXlfdGltZSBBUyBkZWxheV90 aW1lLAorICB0b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKK0ZST00KKyAgcGdfY2xhc3MgcmVs CisgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2Us CisgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMK K1dIRVJFIHJlbC5yZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9z cmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IGI5MWYzYjZjYzI4 Li4xNDU1MzhjNTNmOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVt cGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j CkBAIC04NjgsNiArODY4LDggQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4 KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCUluZGV4QnVs a0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSBOVUxMOwogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq aXN0YXRfcmVzOwogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CisJTFZFeHRTdGF0Q291bnRl cnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKIAog CS8qCiAJICogVXBkYXRlIHRoZSBwb2ludGVyIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJ1bGst ZGVsZXRpb24gcmVzdWx0IGlmIHNvbWVvbmUKQEAgLTg3Niw2ICs4NzgsOSBAQCBwYXJhbGxl bF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBS ZWxhdGlvbiBpbmRyZWwsCiAJaWYgKGluZHN0YXRzLT5pc3RhdF91cGRhdGVkKQogCQlpc3Rh dCA9ICYoaW5kc3RhdHMtPmlzdGF0KTsKIAorCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3Mg dmFsdWVzIHRvIGdhdGhlciB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJ ZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsICYoaW5kc3RhdHMtPmlzdGF0KSwgJmV4 dFZhY0NvdW50ZXJzKTsKKwogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVh cHJlbCA9IHB2cy0+aGVhcHJlbDsKIAlpdmluZm8uYW5hbHl6ZV9vbmx5ID0gZmFsc2U7CkBA IC05MDQsNiArOTA5LDE1IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQ YXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAkJCQkgUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CiAJfQogCisJaWYocGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMg cmVwb3J0IGZvciBpbmRleCAqLworCQlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlz dGF0X3JlcywgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3Jl cG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwt PnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQp OworCX0KKwogCS8qCiAJICogQ29weSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQg cmV0dXJuZWQgZnJvbSBhbWJ1bGtkZWxldGUgYW5kCiAJICogYW12YWN1dW1jbGVhbnVwIHRv IHRoZSBEU00gc2VnbWVudCBpZiBpdCdzIHRoZSBmaXJzdCBjeWNsZSBiZWNhdXNlIHRoZXkK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggODI2YTU2ODViMmEuLjM2 M2NiZjJiYjA0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTE4 MCw2ICsxMTgwLDEwIEBAIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0 S2luZCkKIAkJaWYgKHAtPmRyb3BwZWQpCiAJCQljb250aW51ZTsKIAorCQlpZiAoc3RhdEtp bmQgIT0gUEdTVEFUX0tJTkRfSU5WQUxJRCAmJiBzdGF0S2luZCAhPSBwLT5rZXkua2luZCkK KwkJCS8qIExvYWQgc3RhdCBvZiBzcGVjaWZpYyB0eXBlLCBpZiBkZWZpbmVkICovCisJCQlj b250aW51ZTsKKwogCQlBc3NlcnQocGdfYXRvbWljX3JlYWRfdTMyKCZwLT5yZWZjb3VudCkg PiAwKTsKIAogCQlzdGF0c19kYXRhID0gZHNhX2dldF9hZGRyZXNzKHBnU3RhdExvY2FsLmRz YSwgcC0+Ym9keSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCmluZGV4IDAyNzJkZDFmMzkzLi5jZDRmZmI1MGJjYSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTEwMDcsNiAr MTAwNyw5IEBAIHN0YXRpYyB2b2lkCiBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMo RXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCQkJCQkJCSAgIGJvb2wg YWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCiB7CisJaWYoIXBnc3RhdF90cmFj a192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCiAJZHN0LT50b3RhbF9ibGtzX3Jl YWQgKz0gc3JjLT50b3RhbF9ibGtzX3JlYWQ7CiAJZHN0LT50b3RhbF9ibGtzX2hpdCArPSBz cmMtPnRvdGFsX2Jsa3NfaGl0OwogCWRzdC0+dG90YWxfYmxrc19kaXJ0aWVkICs9IHNyYy0+ dG90YWxfYmxrc19kaXJ0aWVkOwpAQCAtMTAyMiwyMCArMTAyNSwzNSBAQCBwZ3N0YXRfYWNj dW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAq c3JjLAogCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVy bjsKIAotCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOwotCWRzdC0+ Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKLQotCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBz cmMtPnBhZ2VzX3NjYW5uZWQ7Ci0JZHN0LT5wYWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNf cmVtb3ZlZDsKLQlkc3QtPnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfZnJv emVuX3BhZ2VzOwotCWRzdC0+dm1fbmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT52bV9uZXdf dmlzaWJsZV9wYWdlczsKLQlkc3QtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSBz cmMtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKLQlkc3QtPnR1cGxlc19kZWxldGVk ICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+ dHVwbGVzX2Zyb3plbjsKLQlkc3QtPnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+cmVj ZW50bHlfZGVhZF90dXBsZXM7Ci0JZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5p bmRleF92YWN1dW1fY291bnQ7Ci0JZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9 IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKLQlkc3QtPm1pc3NlZF9kZWFkX3Bh Z2VzICs9IHNyYy0+bWlzc2VkX2RlYWRfcGFnZXM7Ci0JZHN0LT5taXNzZWRfZGVhZF90dXBs ZXMgKz0gc3JjLT5taXNzZWRfZGVhZF90dXBsZXM7CisJaWYgKGRzdC0+dHlwZSA9PSBQR1NU QVRfRVhUVkFDX0lOVkFMSUQpCisJCWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKKworCUFzc2Vy dChzcmMtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEIHx8IHNyYy0+dHlwZSA9PSBk c3QtPnR5cGUpOworCisJaWYgKGRzdC0+dHlwZSA9PSBzcmMtPnR5cGUpCisJeworCQlkc3Qt PmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKKwkJZHN0LT5ibGtzX2hpdCAr PSBzcmMtPmJsa3NfaGl0OwogCisJCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19U QUJMRSkKKwkJeworCQkJZHN0LT50YWJsZS5wYWdlc19zY2FubmVkICs9IHNyYy0+dGFibGUu cGFnZXNfc2Nhbm5lZDsKKwkJCWRzdC0+dGFibGUucGFnZXNfcmVtb3ZlZCArPSBzcmMtPnRh YmxlLnBhZ2VzX3JlbW92ZWQ7CisJCQlkc3QtPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXMg Kz0gc3JjLT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzOworCQkJZHN0LT50YWJsZS52bV9u ZXdfdmlzaWJsZV9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzOwor CQkJZHN0LT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJs ZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CisJCQlkc3QtPnR1cGxlc19kZWxldGVk ICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJCQlkc3QtPnRhYmxlLnR1cGxlc19mcm96ZW4g Kz0gc3JjLT50YWJsZS50dXBsZXNfZnJvemVuOworCQkJZHN0LT50YWJsZS5yZWNlbnRseV9k ZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzOworCQkJZHN0 LT50YWJsZS5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1f Y291bnQ7CisJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUu bWlzc2VkX2RlYWRfcGFnZXM7CisJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyAr PSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlczsKKwkJCWRzdC0+dGFibGUud3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7CisJCX0KKwkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5E RVgpCisJCXsKKwkJCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBh Z2VzX2RlbGV0ZWQ7CisJCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2Rl bGV0ZWQ7CisJCX0KKwl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBlMTEyNzYyZWQyZi4uODBlODY3ZDc3 M2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzU4LDE4ICsy MzU4LDE5IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykK IAkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3NjYW5uZWQpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3JlbW92ZWQpOwotCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld19mcm96ZW5fcGFnZXMpOwotCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX3BhZ2Vz KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPm1pc3NlZF9kZWFkX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50YWJsZS5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfZnJvemVuX3Bh Z2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52 bV9uZXdfdmlzaWJsZV9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dGFibGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF9wYWdl cyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Rl bGV0ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxl c19mcm96ZW4pOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJl Y2VudGx5X2RlYWRfdHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5taXNzZWRfZGVhZF90dXBsZXMpOwotCXZhbHVlc1tpKytdID0gSW50MzJHZXRE YXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudHVwbGVzX2Zy b3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUu cmVjZW50bHlfZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyk7CisKKwl2YWx1ZXNbaSsrXSA9 IEludDMyR2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5p bmRleF92YWN1dW1fY291bnQpOwogCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+d2FsX3JlY29yZHMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPndhbF9mcGkpOwpAQCAtMjM4OCw2ICsyMzg5LDExNiBAQCBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlBc3NlcnQoaSA9PSBQR19T VEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUg cmVjb3JkIGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVt KGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCisvKgor ICogR2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgorICov CitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykK K3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTCTE2CisK KwlPaWQJCQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJF bnRyeSAgICAgKnRhYmVudHJ5OworCUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1 cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9W QUNVVU1fSU5ERVhfU1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NU QVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVm WzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJ LyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNj cmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRf R0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsaWQiLAorCQkJCQkgICBJTlQ0T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJ0b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19o aXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0IiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEs IDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi d2FsX2J5dGVzIiwKKwkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwK KwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FU OE9JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJkZWxheV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90 aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19T VEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0 dXBkZXNjKTsKKworCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVs aWQpOworCisJaWYgKHRhYmVudHJ5ID09IE5VTEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2Ny aXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0 KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZh bGx6ZXJvOworCX0KKwllbHNlCisJeworCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1 dW1fZXh0KTsKKwl9CisKKwlpID0gMDsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXRE YXR1bShyZWxpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJ ZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Ymxrc19oaXQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+aW5kZXgucGFnZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOworCisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOworCisJLyogQ29udmVydCB0byBu dW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwgc2l6 ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXZhbHVl c1tpKytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBD U3RyaW5nR2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwK KwkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShleHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytdID0g RmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2kr K10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOworCXZhbHVlc1tp KytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKworCUFzc2Vy dChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKwogCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVw bGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsK IH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3Vj X3RhYmxlcy5jCmluZGV4IDNjMTZlZjRlODY5Li4zZjc3NTBhZDZhNCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKQEAgLTE0ODEsNyArMTQ4MSw3IEBAIHN0cnVjdCBj b25maWdfYm9vbCBDb25maWd1cmVOYW1lc0Jvb2xbXSA9CiAJfSwKIAl7CiAJCXsidHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MiLCBQR0NfU1VTRVQsIFNUQVRTX0NVTVVMQVRJVkUsCi0JCQln ZXR0ZXh0X25vb3AoIkNvbGxlY3RzIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0YWJsZSByZWxh dGlvbnMuIiksCisJCQlnZXR0ZXh0X25vb3AoIkNvbGxlY3RzIHZhY3V1bSBzdGF0aXN0aWNz IGZvciByZWxhdGlvbnMuIiksCiAJCQlOVUxMCiAJCX0sCiAJCSZwZ3N0YXRfdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA1OTY3ZDI5 YmUwOS4uYzk4M2UwNjllZWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI0 NzIsNCArMTI0NzIsMTMgQEAKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9m cm96ZW5fcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdy JywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9z cmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJyB9LAoreyBvaWQgPT4g JzgwMDQnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJu IHN0YXRzIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRl eGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUg PT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAor ICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lk LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVt ZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMgPT4g J3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMg PT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFs X2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxr c19oaXQscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBp LHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90 YWxfdGltZX0nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9 CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDk0ZDU5OTc2N2RmLi40ZDRhM2Q3YjAy ZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl ICJzdG9yYWdlL2J1Zi5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG9jay5oIgogI2luY2x1ZGUg InV0aWxzL3JlbGNhY2hlLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAKIC8qCiAgKiBGbGFn cyBmb3IgYW1wYXJhbGxlbHZhY3V1bW9wdGlvbnMgdG8gY29udHJvbCB0aGUgcGFydGljaXBh dGlvbiBvZiBidWxrZGVsZXRlCkBAIC0yODgsNiArMjg5LDI2IEBAIHR5cGVkZWYgc3RydWN0 IFZhY0RlYWRJdGVtc0luZm8KIAlpbnQ2NAkJbnVtX2l0ZW1zOwkJLyogY3VycmVudCAjIG9m IGVudHJpZXMgKi8KIH0gVmFjRGVhZEl0ZW1zSW5mbzsKIAorLyoKKyAqIENvdW50ZXJzIGFu ZCB1c2FnZSBkYXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFja2luZy4KKyAqLwordHlwZWRl ZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBUeiBzdGFydHRpbWU7 CisJV2FsVXNhZ2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CisJZG91Ymxl CQlWYWN1dW1EZWxheVRpbWU7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJ UGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKK30gTFZFeHRTdGF0Q291bnRlcnM7CisKK3R5 cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzSWR4Cit7CisJTFZFeHRTdGF0Q291bnRl cnMgY29tbW9uOworCWludDY0CQlwYWdlc19kZWxldGVkOworCWludDY0CQl0dXBsZXNfcmVt b3ZlZDsKK30gTFZFeHRTdGF0Q291bnRlcnNJZHg7CisKIC8qIEdVQyBwYXJhbWV0ZXJzICov CiBleHRlcm4gUEdETExJTVBPUlQgaW50IGRlZmF1bHRfc3RhdGlzdGljc190YXJnZXQ7CS8q IFBHRExMSU1QT1JUIGZvciBQb3N0R0lTICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50IHZh Y3V1bV9mcmVlemVfbWluX2FnZTsKQEAgLTM4Niw0ICs0MDcsOCBAQCBleHRlcm4gZG91Ymxl IGFubF9yYW5kb21fZnJhY3Qodm9pZCk7CiBleHRlcm4gZG91YmxlIGFubF9pbml0X3NlbGVj dGlvbl9zdGF0ZShpbnQgbik7CiBleHRlcm4gZG91YmxlIGFubF9nZXRfbmV4dF9TKGRvdWJs ZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CiAKK2V4dGVybiB2b2lkIGV4dHZhY19z dGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0 YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpOworZXh0ZXJu IHZvaWQgZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxl dGVSZXN1bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJz LCBFeHRWYWNSZXBvcnQgKnJlcG9ydCk7CiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKaW5kZXggZjYzZjIyN2UzNDUuLmEzMDU4MzZmMjM3IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTEyLDExICsx MTIsMTkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQogCVBnU3Rh dF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9IFBnU3Rh dF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIFR5cGUgb2YgRXh0VmFjUmVwb3J0ICovCit0eXBl ZGVmIGVudW0gRXh0VmFjUmVwb3J0VHlwZQoreworCVBHU1RBVF9FWFRWQUNfSU5WQUxJRCA9 IDAsCisJUEdTVEFUX0VYVFZBQ19UQUJMRSA9IDEsCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9 IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0tLS0tLS0tLQogICoKICAqIEV4dFZh Y1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vz c2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBv ZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRpb24uCiAgKiBwYWdlc19yZW1vdmVk IGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAogICogaWYg YW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCiAgKiBwYWdl c19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCkBA IC0xNDUsMTggKzE1Myw0NCBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAlkb3Vi bGUJCWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRl bGF5IHBvaW50LCBpbiBtc2VjICovCiAJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwg dGltZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMgKi8KIAotCWludDY0CQlwYWdl c19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0p ICovCi0JaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkg dmFjdXVtICJ0cnVuY2F0aW9uIiAqLwotCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJ LyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLwotCWludDY0CQl2bV9uZXdfdmlz aWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCi0J aW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGlu IFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4gKi8KLQlpbnQ2NAkJbWlzc2VkX2RlYWRf dHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWlsdXJl IHRvIGdldCBhIGNsZWFudXAgbG9jayAqLwotCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJ CS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJaW50NjQJCXR1cGxlc19k ZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxl c19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQly ZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwg dmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICovCi0JaW50NjQJCWluZGV4X3ZhY3V1bV9j b3VudDsJLyogdGhlIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCi0JaW50MzIJCXdy YXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIHRoZSBudW1iZXIgb2YgdGltZXMgdG8gcHJl dmVudCB3b3JrYXJvdW5kIHByb2JsZW0gKi8KKworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJ CS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBU aGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQg aW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVu aW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBz byB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2Yg Y29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3 YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1 cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZv ciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9u CisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFw IHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwkJCWludDY0CQlwYWdl c19yZW1vdmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1bmNhdGlv biIgKi8KKwkJCWludDY0CQlwYWdlc19mcm96ZW47CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0g YXMgZnJvemVuICovCisJCQlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19mcm96ZW47 CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCQkJaW50NjQJCXJlY2VudGx5 X2RlYWRfdHVwbGVzOwkvKiBkZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxl IHRvIHNvbWUgdHJhbnNhY3Rpb24gKi8KKwkJCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2Vz OwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLworCQkJaW50NjQJCXZtX25l d192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUg Ki8KKwkJCWludDY0CQl2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSBhbmQgZnJvemVuICovCisJCQlpbnQ2NAkJbWlz c2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0 byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLworCQkJaW50NjQJCW1pc3NlZF9k ZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KKwkJCWlu dDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdz ICovCisJCQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogdGhlIG51bWJl ciBvZiB0aW1lcyB0byBwcmV2ZW50IHdvcmthcm91bmQgcHJvYmxlbSAqLworCQl9CQkJdGFi bGU7CisJCXN0cnVjdAorCQl7CisJCQlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsJCS8qIG51bWJl ciBvZiBwYWdlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLworCQl9CQkJaW5kZXg7CisJfSAvKiBw ZXJfdHlwZV9zdGF0cyAqLzsKIH0gRXh0VmFjUmVwb3J0OwogCiAvKiAtLS0tLS0tLS0tCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGlu Zy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQv dmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKaW5kZXggODdmN2U0MGI0 YTYuLjZkOTYwNDIzOTEyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJl YWQub3V0CkBAIC0zNCw3ICszNCw3IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3Rh YmxlOgogCiByZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNl bnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8 dHVwbGVzX2Zyb3plbgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KLXRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAg ICAgICAgICAwfCAgICAgICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAg ICAgICAgICAgICAgMHwgICAgICAgICAgICAwCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv bnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDYwMHwgICAgICAgICAgICAgICAg IDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAogKDEgcm93KQogCiBzdGVwIHMx X2NvbW1pdDogQ09NTUlUOwpAQCAtNDgsNiArNDgsNiBAQCBzdGVwIHMyX3ByaW50X3ZhY3V1 bV9zdGF0c190YWJsZToKIAogcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2Rl bGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9k ZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi10ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbnwgICAgICAgICAgIDEwMHwgICAgICAgICAgICAgICAgIDEwMHwgICAgICAgICAgICAg ICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgIDEwMQordGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb258ICAgICAgICAgICAzMDB8ICAgICAgICAgICAgICAgICA2MDB8ICAgICAg ICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAzMDMKICgxIHJvdykK IApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCBlZTkzMzE1OWVkZi4u ODhiMGUxM2VkNTggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0y MjU5LDYgKzIyNTksMjggQEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAog ICAgIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMK ICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1l LCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15w Z190b2FzdCc6OnRleHQpKTsKK3BnX3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwu b2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICByZWwu cmVsbmFtZSwKKyAgICBzdGF0cy50b3RhbF9ibGtzX3JlYWQsCisgICAgc3RhdHMudG90YWxf Ymxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0YXRzLnRv dGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy5yZWxfYmxrc19yZWFkLAorICAgIHN0YXRz LnJlbF9ibGtzX2hpdCwKKyAgICBzdGF0cy5wYWdlc19kZWxldGVkLAorICAgIHN0YXRzLnR1 cGxlc19kZWxldGVkLAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9m cGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisg ICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBz dGF0cy50b3RhbF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19u YW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExB VEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMocmVsaWQs IHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwg dG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBhZ2Vz X2RlbGV0ZWQsIHR1cGxlc19kZWxldGVkLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5 dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgdG90YWxf dGltZSkKKyAgV0hFUkUgKHJlbC5yZWxraW5kID0gJ2knOjoiY2hhciIpOwogcGdfc3RhdF92 YWN1dW1fdGFibGVzfCBTRUxFQ1QgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgIHJl bC5yZWxuYW1lLAogICAgIHN0YXRzLnJlbGlkLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTAwYTBmYzY4M2MKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0 aWNzLm91dApAQCAtMCwwICsxLDE4MyBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1 dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xs ZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFu ZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFu ZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxf ZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9y IGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFj a19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRzIAorLS0tLS0tLS0tLS0t LS0KKyBvbgorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdp bGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzIFRPICdvZmYnOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHgg JSAyID0gMDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCAqCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKKyByZWxpZCB8 IHNjaGVtYW5hbWUgfCByZWxuYW1lIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxrc19o aXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxfYmxr c19yZWFkIHwgcmVsX2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVk IHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGltZSB8 IGJsa193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8IHRvdGFsX3RpbWUgCistLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKwor UkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVND QURFOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKyB0 cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBv bgorKDEgcm93KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VM RUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQg c2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VU IHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNp c3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5 IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTAp OworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEs OnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIGlv aWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAor REVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmly c3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5h bWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t CisgdmVzdGF0X3BrZXkgfCAgICAgICAzMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAg ICAgMAorKDEgcm93KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNz IGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3Rh dDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NI RUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0 aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5k IGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0t IGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQu cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0g MCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJl bG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAor LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSBy b3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVk IEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdi LHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBk ZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdhbF9ieXRlcyA+IDAg QVMgZGlXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0 CisoMSByb3cpCisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAs IEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0t IGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9J TlQ7CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQg PiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVz X2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVs ZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwg dAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNf ZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IsIHdh bF9ieXRlcy06aXdiIEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyID4g MCBBUyBkaVdSLCA6ZGl3YiA+IDAgQVMgZGlXQjsKKyBkaXdyIHwgZGl3YiAKKy0tLS0tLSst LS0tLS0KKyB0ICAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50 byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3 Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNU IHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUg RlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCBy ZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0 YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0Owor LS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxf ZnBpLTppZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYW5kIG90aGVyIHN0YXRp c3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyMj0w IEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOworIGRpd3Ig fCBpZnBpIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0rLS0tLS0tCisgdCAgICB8IHQgICAgfCB0 CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJl bHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNf ZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwg cGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0 ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxu YW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRl ZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQg XGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBh ZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOml3ciBBUyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjMsIHdhbF9mcGkt OmlmcGkgQVMgZGlmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdl ZAorU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9 MCBBUyBkaVdCOworIGRpd3IgfCBpZnBpIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0rLS0tLS0t CisgdCAgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBh bmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVj ayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNf ZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0K K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRk ID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCBmICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3Jl Z3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggZDExZjZiN2VmNGIuLjk3N2E4N2E1YjFm IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0MCw0ICsxNDAsNSBA QCB0ZXN0OiB0YWJsZXNwYWNlCiAjIC0tLS0tLS0tLS0KICMgQ2hlY2sgdmFjdXVtIHN0YXRp c3RpY3MKICMgLS0tLS0tLS0tLQordGVzdDogdmFjdXVtX2luZGV4X3N0YXRpc3RpY3MKIHRl c3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0 aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0 aWNzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWUxNDZl MWQyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1f aW5kZXhfc3RhdGlzdGljcy5zcWwKQEAgLTAsMCArMSwxNTEgQEAKKy0tCistLSBUZXN0IGN1 bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0 YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVy IG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVy IG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBT dGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNl IGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBu b24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorCitcc2V0IHNhbXBsZV9z aXplIDEwMDAwCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRv IHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3Qg dGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlz IG9mZi4KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRF IFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwg ZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdl bmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0Owor CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBl bXB0eS4KK1NFTEVDVCAqCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitTSE9XIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBh cmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0 IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NF VCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25z aXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQgcHJpbWFy eSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEw KTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxFQ1Qgb2lkIEFT IGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRo ZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHku CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxl dGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VM RUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRo ZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNo b3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMs IGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3Qg ZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz LTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVs cGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0 ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAor CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29y ZHMgPiAwIEFTIGRpV1IsIHdhbF9ieXRlcyA+IDAgQVMgZGlXQgorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOworCitERUxFVEUg RlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQg MTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8g Y2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdlc19yZW1v dmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJw ID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFt ZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQg QVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2Zw aS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBi ZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRp V0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2Vy aWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHgg JSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVj dG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0 ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0 byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMg ZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBp MgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNo b3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBp Mj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHJl bHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMg cGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRl ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVD VCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBs ZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVz CitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBB UyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0 YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVY X0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxl CitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMg ZGl3YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS1UaGVyZSBh cmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0w IEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBh bmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVj ayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNf ZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0K K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRk ID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQ7Ci0tIAoyLjM0LjEKCg== --------------CgOpS2VwHi4MieoIj0P00dpz Content-Type: text/x-patch; charset=UTF-8; name="v18-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v18-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBlNzViZWJmZjZiMmQ3MjU1NzhhYTRhN2Q1Y2MyMDA5Y2QyZWU3ZTQyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE3OjU3OjQ0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBkYXRhYmFzZXMuCgpEYXRhYmFzZSB2YWN1dW0gc3RhdGlz dGljcyBpbmZvcm1hdGlvbiBpcyB0aGUgY29sbGVjdGVkIGdlbmVyYWwKdmFjdXVtIHN0YXRp c3RpY3MgaW5kZXhlcyBhbmQgdGFibGVzIG93bmVkIGJ5IHRoZSBkYXRhYmFzZXMsIHdoaWNo CnRoZXkgYmVsb25nIHRvLgoKSW4gYWRkaXRpb24gdG8gdGhlIGZhY3QgdGhhdCB0aGVyZSBh cmUgZmFyIGZld2VyIGRhdGFiYXNlcyBpbiBhIHN5c3RlbQp0aGFuIHJlbGF0aW9ucywgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIGEgZGF0YWJhc2UgY29udGFpbiBmZXdlciBzdGF0aXN0aWNz CnRoYW4gcmVsYXRpb25zLCBidXQgdGhleSBhcmUgZW5vdWdoIHRvIGluZGljYXRlIHRoYXQg c29tZXRoaW5nIG1heSBiZQp3cm9uZyBpbiB0aGUgc3lzdGVtIGFuZCBwcm9tcHQgdGhlIGFk bWluaXN0cmF0b3IgdG8gZW5hYmxlIGV4dGVuZGVkCm1vbml0b3JpbmcgZm9yIHJlbGF0aW9u cy4KClNvLCBidWZmZXIsIHdhbCwgc3RhdGlzdGljcyBvZiBJL08gdGltZSBvZiByZWFkIGFu ZCB3cml0ZW4gYmxvY2tzCnN0YXRpc3RpY3Mgd2lsbCBiZSBvYnNlcnZlZCBiZWNhdXNlIHRo ZXkgYXJlIGNvbGxlY3RlZCBmb3IgYm90aAp0YWJsZXMsIGluZGV4ZXMuIEluIGFkZGl0aW9u LCB3ZSBzaG93IHRoZSBudW1iZXIgb2YgZXJyb3JzIGNhdWdodApkdXJpbmcgb3BlcmF0aW9u IG9mIHRoZSB2YWN1dW0gb25seSBmb3IgdGhlIGVycm9yIGxldmVsLgoKd3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudCBpcyBhIG51bWJlciBvZiB0aW1lcyB3aGVuIHRoZSB2YWN1dW0gc3Rh cnRzCnVyZ2VudCBjbGVhbnVwIHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtIHdoaWNo IGlzIGNyaXRpY2FsIGZvcgp0aGUgZGF0YWJhc2UuCgpBdXRob3JzOiBBbGVuYSBSeWJha2lu YSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAgQW5kcmVpIExlcGlraG92IDxhLmxl cGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9z dGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21h aWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAogICAg ICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92QHRhbnRvcmxhYnMuY29tPiwgamlh biBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29tPiwKICAgICAgIEtpcmlsbCBSZXNo a2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29y b3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNieSA8am5hc2J5QHVwZ3JhZGUuY29t PiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAgIHwgIDE3ICsrLQogc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDI3ICsrKystCiBzcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDIgKy0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAgMSArCiBz cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDYgKysr KysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8 IDEwMCArKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Rh Ymxlcy5jICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdCAgICAgICAgICAgICAgIHwgIDEzICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjICAgfCAgIDYgKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICAxNyArKysKIC4uLi9leHBlY3RlZC92YWN1 dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8ICAxNiArLS0KIC4uLnV0ID0+IHZhY3V1 bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0fSB8ICA4NyArKysrKysrKysrKysrLS0K IHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMiAr LQogLi4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCAgIHwgICA2 ICstCiAuLi5xbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbH0gfCAg NjkgKysrKysrKysrKystCiAxNiBmaWxlcyBjaGFuZ2VkLCAzODEgaW5zZXJ0aW9ucygrKSwg MzUgZGVsZXRpb25zKC0pCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC97dmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0 aXN0aWNzLm91dH0gKDgyJSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL3NxbC97dmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLnNxbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0 aWNzLnNxbH0gKDgxJSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5k ZXggOTkxZmI4MzE3MjYuLjdiOTlkYzViM2IyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCkBAIC01MzEsNyArNTMxLDcgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKExWRXh0U3RhdENvdW50ZXJzICpleHRWYWNDb3VudGVycywgTFZSZWxT dGF0ZQogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyAr PSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKIAl2YWNyZWwtPmV4dFZhY1JlcG9ydC50 YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwog CXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSB2YWNy ZWwtPm51bV9pbmRleF9zY2FuczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS53cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9j b3VudDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKIH0KIAogLyoKQEAgLTM1 ODMsNiArMzU4Myw5IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dp dGNoIChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ND QU5fSEVBUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCQlwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFC TEUpOworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJ CXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAt MzU5OCw2ICszNjAxLDkgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJ CWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJ aWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYg KEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9m ZnNldE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTM2MTMsMTYgKzM2MTks MjUgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJCWlmKGdldGVycmVs ZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmlu Zm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisKIAkJCWVycmNvbnRleHQoIndo aWxlIHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJ CQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZv LT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lO REVYX0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0 YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNf SU5ERVgpOworCiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBpbmRleCBcIiVz XCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwg ZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwog CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYoZ2V0ZXJyZWxl dmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5m by0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVy SXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNh dGluZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAgIGVycmlu Zm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxrbm8pOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGRhOTA3OWFmYTIxLi5h NzJkMDExMDJiYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAt MTQ3Myw0ICsxNDczLDI5IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFt ZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxr aW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxr aW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUwor U0VMRUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisK KyAgc3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMuZGJfYmxr c19oaXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0 b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3Rh bF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMs CisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzIEFTIHdh bF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisg IHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRl bGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0b3RhbF90 aW1lLAorICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNh ZmUsCisgIHN0YXRzLmVycm9ycyBBUyBlcnJvcnMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIs CisgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHM7 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYwppbmRleCAzNjNjYmYyYmIwNC4uNGNjMWQwOWQ5NmYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIGlubGlu ZSBib29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29s CQlwZ3N0YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29u c2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci1ib29sCQlwZ3N0 YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSB0cnVlOworYm9vbAkJcGdzdGF0X3RyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzID0gZmFsc2U7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0YXRl IHNoYXJlZCB3aXRoIHBnc3RhdF8qLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggMDVhOGNjZmRiNzUuLmQ1YzFlMmEyY2Y1IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2Uu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpA QCAtNDQ5LDYgKzQ0OSw3IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50 cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShl bnRyeV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2Vu dCkpOworCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0 VmFjUmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggY2Q0ZmZiNTBiY2EuLjVkMzZk NWEyMTQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYwpAQCAtMjA1LDYgKzIwNSwzOCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxh dGlvbiByZWwpCiAJfQogfQogCisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKCkgLQorICoKKyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0 byl2YWN1dW0gaW50ZXJydXB0aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3Rh dF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBt X3R5cGUpCit7CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0U2hhcmVk X1JlbGF0aW9uICpzaHRhYmVudHJ5OworCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5 OworCU9pZAkJCWRib2lkID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkg KmRiZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWlmICghcGdzdGF0 X3RyYWNrX2NvdW50cykKKwkJcmV0dXJuOworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9l bnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9p ZCwgdGFibGVvaWQsIGZhbHNlKTsKKworCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1Jl bGF0aW9uICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCXRhYmVudHJ5ID0gJnNodGFi ZW50cnktPnN0YXRzOworCisJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsK KwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0 X3ByZXBfZGF0YWJhc2VfcGVuZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5l cnJvcnMrKzsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Cit9CisKIC8q CiAgKiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNo IElPIHN0YXRpc3RpY3MuCiAgKi8KQEAgLTIxNiw2ICsyNDgsNyBAQCBwZ3N0YXRfcmVwb3J0 X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKmRi ZW50cnk7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJh c2VJZCk7CiAJVGltZXN0YW1wVHogdHM7CiAJUGdTdGF0X0NvdW50ZXIgZWxhcHNlZHRpbWU7 CkBAIC0yNzQsNiArMzA3LDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9p ZCwgYm9vbCBzaGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9p ZCkgcGdzdGF0X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lP KTsKKworCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lkKQorCXsKKwkJZW50cnlfcmVmID0gcGdz dGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJ CQkJCQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2UpOworCQlkYmVudHJ5ID0gKFBnU3RhdFNo YXJlZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQlwZ3N0YXRf YWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBh cmFtcywgZmFsc2UpOworCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisJfQog fQogCiAvKgpAQCAtMTAyMSw2ICsxMDY0LDggQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFj X3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlkc3QtPmJs a193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CiAJZHN0LT5kZWxheV90aW1l ICs9IHNyYy0+ZGVsYXlfdGltZTsKIAlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90 aW1lOworCWRzdC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQ7CisJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJvcnM7CiAKIAlp ZiAoIWFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CkBAIC0x MDQ4LDcgKzEwOTMsNiBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFj UmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCQkJZHN0LT50YWJsZS5pbmRleF92 YWN1dW1fY291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CiAJCQlkc3Qt PnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFn ZXM7CiAJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1p c3NlZF9kZWFkX3R1cGxlczsKLQkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9j b3VudCArPSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJCX0KIAkJ ZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCiAJCXsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggODBlODY3ZDc3M2YuLjU5ZWI1Mjhi MjBjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM2OSw3ICsy MzY5LDcgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQog CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5 X2RlYWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQzMkdl dERhdHVtKGV4dHZhY3V1bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJ dmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKQEAgLTI0OTksNiArMjQ5OSwxMDQgQEAg cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFzc2Vy dChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAorCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVw bGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsK K30KKworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9B UkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NP TFMJMTQKKworCU9pZAkJCQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRf U3RhdERCRW50cnkgCQkqZGJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsK KwlUdXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9H RVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxs c1tQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJY2hh cgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxs emVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUg dHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVz YyhQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRiaWQiLAorCQkJCQkg ICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEs IDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi dG90YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRp ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9m cGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklD T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193 cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg IndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJlcnJv cnMiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFU X0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0 dXBkZXNjKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9kYmVudHJ5KGRiaWQp OworCisJaWYgKGRiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRp b24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFs bHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHpl cm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYoZGJlbnRyeS0+dmFjdXVtX2V4 dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0o ZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3Rh bF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51 bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXpl b2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVz W2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENT dHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAor CQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsr XSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2kr K10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tp KytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7 CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09M Uyk7CisKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5f REFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVl cywgbnVsbHMpKSk7CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRleCAzZjc3NTBhZDZhNC4uNzMxNWJlOWI3YmMg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCkBAIC0xNDg1LDcgKzE0ODUs NyBAQCBzdHJ1Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQkJTlVM TAogCQl9LAogCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAotCQl0cnVlLAor CQlmYWxzZSwKIAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCiAJewpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKaW5kZXggYzk4M2UwNjllZWYuLmRmMjk4MWFiZDgyIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKQEAgLTEyNDczLDEyICsxMjQ3MywyMSBAQAogICBwcm9wYXJhbGxl bCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywK ICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIHsg b2lkID0+ICc4MDA0JywKLSAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVz IHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRleCcsCiAgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAw LCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJp Y3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lk JywKICAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZs b2F0OCxmbG9hdDh9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90 YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90 aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAotICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9CisgIHByb3NyYyA9PiAncGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwNScsCisgIGRlc2NyID0+ ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFs dWVzIGZvciBkYXRhYmFzZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9k YXRhYmFzZScsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0 eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0 JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lk LG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9h dDgsZmxvYXQ4LGZsb2F0OCxpbnQ0LGludDR9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQs ZGJvaWQsZGJfYmxrc19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3Rh bF9ibGtzX3dyaXR0ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRf dGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWUsd3JhcGFyb3VuZF9m YWlsc2FmZSxlcnJvcnN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0 YWJhc2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCmluZGV4IGEzMDU4MzZmMjM3Li5kY2Y4Y2I3NjNhNCAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK QEAgLTE1NSw2ICsxNTUsOSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAogCWlu dDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwog CisJaW50MzIJCWVycm9yczsKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJ LyogdGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSAq LworCiAJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8K IAogCS8qIC0tLS0tLS0tLS0KQEAgLTE4NCw3ICsxODcsNiBAQCB0eXBlZGVmIHN0cnVjdCBF eHRWYWNSZXBvcnQKIAkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMg bm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBs b2NrICovCiAJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1p c3NlZCBkZWFkIHR1cGxlcyAqLwogCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyog bnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KLQkJCWludDMyCQl3cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd29ya2Fy b3VuZCBwcm9ibGVtICovCiAJCX0JCQl0YWJsZTsKIAkJc3RydWN0CiAJCXsKQEAgLTc1OSw2 ICs3NjEsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVv aWQsIGJvb2wgc2hhcmVkLAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJl bGF0aW9uIHJlbCwKIAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0 YXRfQ291bnRlciBkZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRjb3VudGVyLCBU aW1lc3RhbXBUeiBzdGFydHRpbWUpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSk7CiAKIC8q CiAgKiBJZiBzdGF0cyBhcmUgZW5hYmxlZCwgYnV0IHBlbmRpbmcgZGF0YSBoYXNuJ3QgYmVl biBwcmVwYXJlZCB5ZXQsIGNhbGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9z cGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVz dC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjCmluZGV4IDU4OTNkODk1NzNkLi5jZmVjMzE1OTU4MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC0xOCw2ICsxOCw5IEBAIHRlYXJkb3duCiB9CiAK IHNlc3Npb24gczEKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPICdvbic7CisgICAgfQogc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CiAg IEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CiAg IHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdo ZXJlIGlkPjkwMDsKQEAgLTI1LDYgKzI4LDkgQEAgc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxl X3JlYWQgICB7CiBzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9 CiAKIHNlc3Npb24gczIKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPICdvbic7CisgICAgfQogc3RlcCBzMl9pbnNlcnQgICAgICAgICAgICAgICAgICB7 IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxF Q1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7 IH0KIHN0ZXAgczJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsg fQogc3RlcCBzMl9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDg4YjBlMTNlZDU4Li4xNzQxNzUzYjUyZCAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNTksNiArMjI1OSwyMyBA QCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVt YW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9z Y2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkp OworcGdfc3RhdF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCisg ICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAgc3RhdHMuZGJfYmxrc19yZWFkLAorICAg IHN0YXRzLmRiX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisg ICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxr X3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxh eV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMud3JhcGFyb3VuZF9m YWlsc2FmZSwKKyAgICBzdGF0cy5lcnJvcnMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisg ICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhk Ym9pZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0 b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJs a19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3 cmFwYXJvdW5kX2ZhaWxzYWZlLCBlcnJvcnMpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wg U0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1l LAogICAgIHJlbC5yZWxuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCBlMDBhMGZjNjgzYy4u OWU1ZDMzMzQyYzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0xNiw4ICsxNiwxMiBAQCBTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAK IC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4K IFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0 YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzMs MTIgKzM3LDcgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNFVCB0cmFj a192YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Ci1TSE9X IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0oMSByb3cp Ci0KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb24nOwogLS0gZW5zdXJlIHBl bmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0xODEsMyArMTgwLDQgQEAg V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0OworUkVTRVQgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3M7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggODIl CnJlbmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCBiNWVhOWM5YWIxZS4uMDMw MGU3YjYyNzYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDcgKzYsNiBAQAog LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tl bmQuCiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVz dCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCi0tLSBjb25kaXRpbyBz aW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogIHRyYWNr X2NvdW50cyAKIC0tLS0tLS0tLS0tLS0tCkBAIC0xNiw4ICsxNSwxMiBAQCBTSE9XIHRyYWNr X2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKIC0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3Rp Y3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz OyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxFIHZlc3Rh dCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzcsMTIgKzQw LDEyIEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotU0hPVyB0cmFj a192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KLSB0cmFja192YWN1dW1fc3Rh dGlzdGljcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBvbgotKDEgcm93KQotCitD UkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRF IERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg VE8gb247CistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0yMjUsMyArMjI4LDY5IEBAIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0 IENBU0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQg ZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRi X2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxr c19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxr c193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAg ICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMg d2FsX2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00K K3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFi YXNlKCk7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQg fCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3Jk cyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0ICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQg ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gZW5z dXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25l eHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGlu dCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwor SU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNh bXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4 ID0gMTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgp IHZlc3RhdDsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRp c3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VM RUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisg ICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisg ICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisg ICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkg PiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisg ICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0 IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29y ZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0 ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKK1xjIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPIG9uOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8g b247CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJl IDAKKyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3Jlcwor RFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxs ZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4 IDk3N2E4N2E1YjFmLi4xOWM3NmI5NjgzMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3Nj aGVkdWxlCkBAIC0xNDEsNCArMTQxLDQgQEAgdGVzdDogdGFibGVzcGFjZQogIyBDaGVjayB2 YWN1dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0ZXN0OiB2YWN1dW1faW5kZXhfc3Rh dGlzdGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAppbmRleCBhZTE0NmUxZDIzZi4uOWI3 ZTY0NTE4N2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5k ZXhfc3RhdGlzdGljcy5zcWwKQEAgLTE0LDggKzE0LDcgQEAgU0hPVyB0cmFja19jb3VudHM7 ICAtLSBtdXN0IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2Fu dCB0byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogCi0tLSBU ZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRl ciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9X IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKIAogQ1JFQVRFIFRB QkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmls bGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTMzLDcgKzMyLDcgQEAgV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCi1TSE9XIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPICdvbic7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxF Q1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xNDksMyArMTQ4LDQgQEAgRlJP TSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAogRFJPUCBUQUJM RSB2ZXN0YXQ7CitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNx bApzaW1pbGFyaXR5IGluZGV4IDgxJQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCA1YmMz NGJlYzY0Yi4uY2E3ZGJkZTkzODcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsMTUgKzcsMTMg QEAKIC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0 IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAotLS0gY29uZGl0aW8g c2luZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQg c2FtcGxlX3NpemUgMTAwMDAKIAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAot LS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJh bWV0ZXIgaXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOwor U0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb2ZmCiAKIENSRUFU RSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYs IGZpbGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0zNiw3ICszNCwxMyBA QCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1dW1fc3Rh dGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitDUkVBVEUgREFUQUJBU0UgcmVncmVz c2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGI7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKKy0tIG5vdCBlbmFi bGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19m dW5jdGlvbnMgVE8gJ2FsbCc7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVz aGVkCiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xODAsNCArMTg0 LDU5IEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVz dGF0OwogU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3pl bl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9w YWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZf YWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZf YWxsX3Zpc2libGVfcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOwogCi1EUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKKy0tIE5vdyBj aGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3VycmVudCBkYXRhYmFzZQorU0VMRUNUIGRi bmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAg dG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAg dG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAg d2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFT IHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAg dG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UKK1dIRVJFIGRibmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1 dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3Rh dCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsK K0FOQUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IDEwMDAxOworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1xjIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgVE8gb247CisKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9z dGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAor ICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9i bGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9i bGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVj b3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2Zw aSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB0b3RhbF90 aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZQor V0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYic7CisKK1xj IHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzIFRPIG9uOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPIG9uOworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NT IEpPSU4gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lkID0gMDsgLS0g bXVzdCBiZSAwCisKK1xjIHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGlj X3ZhY3V1bV9kYjsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuMzQuMQoK --------------CgOpS2VwHi4MieoIj0P00dpz Content-Type: text/x-patch; charset=UTF-8; name="v18-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v18-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxOGM0MjNhY2RhODg4NmIyNWM4NWQyN2M0NDNjZjRjOTNlOGY1ODkxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA4ZTJiMGE3OTI3Yi4uYTUy NTQ3YjJkNWIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjgsNCArNTA2OCw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru 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+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------CgOpS2VwHi4MieoIj0P00dpz--