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 1syCvP-00F5nM-ND for pgsql-hackers@arkaria.postgresql.org; Tue, 08 Oct 2024 16:19:05 +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 1syCvO-00A54o-2R for pgsql-hackers@arkaria.postgresql.org; Tue, 08 Oct 2024 16:19:02 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1syCvM-00A54V-U1 for pgsql-hackers@lists.postgresql.org; Tue, 08 Oct 2024 16:19:01 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1syCvC-003Abj-GV for pgsql-hackers@postgresql.org; Tue, 08 Oct 2024 16:18:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1728404327; bh=AUEHzeVc9cS125r9cqn0/J2/xgDzTMYogdZf7PX2j00=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=YGwAQKA+zUhJN2gRGjrOur61suzSGYa4AkqHArA62YuAV/tXFAudaIvrBEEVIyWQx Cr5ynqGZlsuH+FQ4L92jITY/PfSS463+S/buJK3+DE6L02gJzC+tIhsR+tBczEUJ9j GU93RLSwvMib/3LP16UTn5xHMo2ERYhqcaSPVUAvzNX6EAz39bgZRy26BdfzS2CEMk zU4ixBlFukc+Qmvi9wGm5RNrn12DsEaM2nxQ4Iy+2MuUx/yAzVRKjS50/x+5+iRXJf +31ZpvQpArzHi46Mb+HyZFyhD5Ndxtq9GRlnzAul73u1DFH2fMY+KVlS2mDd6IXISX hlYqoen+RdJ1g== Received: from [172.30.33.154] (unknown [172.30.33.154]) (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 375E9602C2; Tue, 8 Oct 2024 19:18:47 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------sSXXll0M0bLhsuFZctEtxp9S" Message-ID: <30e2e941-b9f6-4ea1-aa3b-f0c406b8797d@postgrespro.ru> Date: Tue, 8 Oct 2024 19:18:46 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: pgsql-hackers Cc: jian he , Alexander Korotkov , Ilia Evdokimov , Andrei Zubkov , Alena Rybakina , a.lepikhov@postgrespro.ru References: <53c47c2d-72a5-44f2-900c-9973b2af1808@tantorlabs.com> <4a902cea-54fb-41b5-b208-b84731a5f577@postgrespro.ru> <092adec6-4eae-4bd4-bd0d-473a9df1282b@tantorlabs.com> <3deae1bd-ad84-4459-a26e-04c9136b84e9@postgrespro.ru> <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/10/08 14:43:00 #26717371 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. --------------sSXXll0M0bLhsuFZctEtxp9S Content-Type: multipart/alternative; boundary="------------05c5Z2lKkEzbkC4lKqu0yY4Q" --------------05c5Z2lKkEzbkC4lKqu0yY4Q Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Made a rebase on a fresh master branch. -- Regards, Alena Rybakina Postgres Professional --------------05c5Z2lKkEzbkC4lKqu0yY4Q Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Made a rebase on a fresh master branch.
-- 
Regards,
Alena Rybakina
Postgres Professional
--------------05c5Z2lKkEzbkC4lKqu0yY4Q-- --------------sSXXll0M0bLhsuFZctEtxp9S Content-Type: text/x-patch; charset=UTF-8; name="v9-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v9-0001-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBlNGYzMTA0MmNmODdiZjZhMjJkZjg3Zjc5NTkwMTUwNmExYzIxMTkyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA4IE9jdCAyMDI0IDE4OjMyOjU0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgcmVsYXRpb25zLgoKVmFsdWUgb2YgdG90YWxfYmxr c19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19kaXJ0aWVkIGFyZSBudW1iZXIg b2YKaGl0dGVkLCBtaXNzZWQgYW5kIGRpcnRpZWQgcGFnZXMgaW4gc2hhcmVkIGJ1ZmZlcnMg ZHVyaW5nIGEgdmFjdXVtIG9wZXJhdGlvbgpyZXNwZWN0aXZlbHkuCgp0b3RhbF9ibGtzX2Rp cnRpZWQgbWVhbnMgJ2RpcnRpZWQgb25seSBieSB0aGlzIGFjdGlvbicuIFNvLCBpZiB0aGlz IHBhZ2Ugd2FzCmRpcnR5IGJlZm9yZSB0aGUgdmFjdXVtIG9wZXJhdGlvbiwgaXQgZG9lc24n dCBjb3VudCB0aGlzIHBhZ2UgYXMgJ2RpcnRpZWQnLgoKVGhlIHR1cGxlc19kZWxldGVkIHBh cmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBjbGVhbmVkIHVwIGJ5IHRoZSB2YWN1 dW0Kb3BlcmF0aW9uLgoKVGhlIGRlbGF5X3RpbWUgdmFsdWUgbWVhbnMgdG90YWwgdmFjdXVt IHNsZWVwIHRpbWUgaW4gdmFjdXVtIGRlbGF5IHBvaW50LgpUaGUgcGFnZXNfcmVtb3ZlZCB2 YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGJ5IHdoaWNoIHRoZSBwaHlzaWNhbCBkYXRh CnN0b3JhZ2Ugb2YgdGhlIHJlbGF0aW9uIHdhcyByZWR1Y2VkLgpUaGUgdmFsdWUgb2YgcGFn ZXNfZGVsZXRlZCBwYXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiBmcmVlZCBwYWdlcyBpbiB0 aGUgdGFibGUKKGZpbGUgc2l6ZSBtYXkgbm90IGhhdmUgY2hhbmdlZCkuCgpJbnRlcnJ1cHRp b25zIG51bWJlciBvZiAoYXV0byl2YWN1dW0gcHJvY2VzcyBkdXJpbmcgdmFjdXVtaW5nIG9m IGEgcmVsYXRpb24uCldlIHJlcG9ydCBmcm9tIHRoZSB2YWN1dW1fZXJyb3JfY2FsbGJhY2sg cm91dGluZS4gU28gd2UgY2FuIGxvZyBhbGwgRVJST1IKcmVwb3J0cy4gSW4gdGhlIGNhc2Ug b2YgYXV0b3ZhY3V1bSB3ZSBjYW4gcmVwb3J0IFNJR0lOVCBzaWduYWxzIHRvby4KSXQgbWF5 YmUgZGFuZ2Vyb3VzIHRvIG1ha2Ugc3VjaCBjb21wbGV4IHRhc2sgKHNlbmQpIGluIGFuIGVy cm9yIGNhbGxiYWNrIC0Kd2UgY2FuIGNhdGNoIEVSUk9SIGluIEVSUk9SIHByb2JsZW0uIEJ1 dCBpdCBsb29rcyBsaWtlIHdlIGhhdmUgc28gc21hbGwKY2hhbmNlIHRvIHN0dWNrIGludG8g dGhpcyBwcm9ibGVtLiBTbywgbGV0J3MgdHJ5IHRvIHVzZS4KVGhpcyBwYXJhbWV0ZXIgcmVs YXRlcyB0byBhIHByb2JsZW0sIGNvdmVyZWQgYnkgYjE5ZTQyNTAuCgpUcmFja2luZyBvZiBJ TyBkdXJpbmcgYW4gKGF1dG8pdmFjdXVtIG9wZXJhdGlvbi4KSW50cm9kdWNlZCB2YXJpYWJs ZXMgYmxrX3JlYWRfdGltZSBhbmQgYmxrX3dyaXRlX3RpbWUgdHJhY2tzIG9ubHkgYWNjZXNz IHRvCmJ1ZmZlciBwYWdlcyBhbmQgZmx1c2hpbmcgdGhlbSB0byBkaXNrLiBSZWFkaW5nIG9w ZXJhdGlvbiBpcyB0cml2aWFsLCBidXQKd3JpdGluZyBtZWFzdXJlbWVudCB0ZWNobmlxdWUg aXMgbm90IG9idmlvdXMuClNvLCBkdXJpbmcgYSB2YWN1dW0gd3JpdGluZyB0aW1lIGNhbiBi ZSB6ZXJvIGluY3JlbWVudGVkIGJlY2F1c2Ugbm8gYW55IGZsdXNoaW5nCm9wZXJhdGlvbnMg d2VyZSBwZXJmb3JtZWQuCgpTeXN0ZW0gdGltZSBhbmQgdXNlciB0aW1lIGFyZSBwYXJhbWV0 ZXJzIHRoYXQgZGVzY3JpYmVzIGhvdyBtdWNoIHRpbWUgYSB2YWN1dW0Kb3BlcmF0aW9uIGhh cyBzcGVudCBpbiBleGVjdXRpbmcgb2YgY29kZSBpbiB1c2VyIHNwYWNlIGFuZCBrZXJuZWwg c3BhY2UKYWNjb3JkaW5nbHkuIEFsc28sIGFjY3VtdWxhdGUgdG90YWwgdGltZSBvZiBhIHZh Y3V1bSB0aGF0IGlzIGEgZGlmZiBiZXR3ZWVuCnRpbWVzdGFtcHMgaW4gc3RhcnQgYW5kIGZp bmlzaCBwb2ludHMgaW4gdGhlIHZhY3V1bSBjb2RlLgpSZW1lbWJlciBhYm91dCBpZGxlIHRp bWUsIHdoZW4gdmFjdXVtIHdhaXRlZCBmb3IgSU8gYW5kIGxvY2tzLCBzbyB0b3RhbCB0aW1l Cmlzbid0IGVxdWFsIGEgc3VtIG9mIHVzZXIgYW5kIHN5c3RlbSB0aW1lLCBidXQgbm8gbGVz cy4KCnBhZ2VzX2Zyb3plbiAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMg ZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0uClRoaXMgcGFyYW1ldGVyIGlzIGluY3JlbWVu dGVkIGlmIHBhZ2UgaXMgbWFya2VkIGFzIGFsbC1mcm96ZW4uCnBhZ2VzX2FsbF92aXNpYmxl IC0gbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBhcyBhbGwtdmlzaWJsZSBpbiB2 bSBkdXJpbmcKdmFjdXVtLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPgot LS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICAgICB8IDE1 OSArKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMgICAgICAgfCAgMTMgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA1NSArKysrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMg ICAgICAgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYyAgICAgICAgICAgfCAgMzIgKystCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNzIgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxNTYgKysrKysrKysrKysrKwogc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDEzICsrCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkgKwogc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNy Yy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4MSArKysr KystCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKwogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg ICAyICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAg fCAgNTMgKysrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgICAg ICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjICAgfCAgNTEgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 ICAgICAgICAgICB8ICAzNCArKysKIC4uLi9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Mub3V0ICAgICB8IDIwOSArKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgNSArCiAuLi4vcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCAgfCAxNjAgKysrKysrKysrKysrKysK IDIxIGZpbGVzIGNoYW5nZWQsIDEwOTkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZDgyYWEzZDQ4OTYuLmQ2MzMw M2M3ZmI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC0xNjcs NiArMTY3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCS8qIEVycm9yIHJlcG9y dGluZyBzdGF0ZSAqLwogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3Bh Y2U7CisJT2lkCQkJcmVsb2lkOwogCWNoYXIJICAgKnJlbG5hbWU7CiAJY2hhcgkgICAqaW5k bmFtZTsJCS8qIEN1cnJlbnQgaW5kZXggbmFtZSAqLwogCUJsb2NrTnVtYmVyIGJsa25vOwkJ CS8qIHVzZWQgb25seSBmb3IgaGVhcCBvcGVyYXRpb25zICovCkBAIC0xOTQsNiArMTk1LDgg QEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCUJsb2NrTnVtYmVyIGxwZGVhZF9pdGVt X3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggTFBfREVBRCBpdGVtcyAqLwogCUJsb2NrTnVtYmVy IG1pc3NlZF9kZWFkX3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVz ICovCiAJQmxvY2tOdW1iZXIgbm9uZW1wdHlfcGFnZXM7IC8qIGFjdHVhbGx5LCBsYXN0IG5v bmVtcHR5IHBhZ2UgKyAxICovCisJQmxvY2tOdW1iZXIgc2V0X2Zyb3plbl9wYWdlczsgLyog cGFnZXMgYXJlIG1hcmtlZCBhcyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bSAqLworCUJs b2NrTnVtYmVyIHNldF9hbGxfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgYXJlIG1hcmtlZCBh cyBhbGwtdmlzaWJsZSBpbiB2bSBkdXJpbmcgdmFjdXVtICovCiAKIAkvKiBTdGF0aXN0aWNz IG91dHB1dCBieSB1cywgZm9yIHRhYmxlICovCiAJZG91YmxlCQluZXdfcmVsX3R1cGxlczsg LyogbmV3IGVzdGltYXRlZCB0b3RhbCAjIG9mIHR1cGxlcyAqLwpAQCAtMjI2LDYgKzIyOSwy MiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBoYXNl OwogfSBMVlNhdmVkRXJySW5mbzsKIAorLyoKKyAqIEN1dC1vZmYgdmFsdWVzIG9mIHBhcmFt ZXRlcnMgd2hpY2ggY2hhbmdlcyBpbXBsaWNpdGx5IGR1cmluZyBhIHZhY3V1bQorICogcHJv Y2Vzcy4KKyAqIFZhY3V1bSBjYW4ndCBjb250cm9sIHRoZWlyIHZhbHVlcywgc28gd2Ugc2hv dWxkIHN0b3JlIHRoZW0gYmVmb3JlIGFuZCBhZnRlcgorICogdGhlIHByb2Nlc3NpbmcuCisg Ki8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzCit7CisJVGltZXN0YW1wVHog dGltZTsKKwlQR1JVc2FnZQlydTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2Fn ZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0YXRfQ291bnRl ciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworfSBMVkV4 dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICov CiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpOwpAQCAt Mjc5LDYgKzI5OCwxMTUgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZv KExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdmFjdXVtX2Vycm9y X2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBjb25zdCBMVlNhdmVkRXJy SW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0tLS0tLQorICogZXh0dmFjX3N0YXRz X3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2YWx1ZXMgb2YgZXh0ZW5kZWQgdmFj dXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJlbGF0aW9uCisgKiBwcm9jZXNzaW5n LgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorZXh0dmFjX3N0YXRzX3N0YXJ0 KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50ZXJzKQoreworCVRpbWVz dGFtcFR6CXN0YXJ0dGltZTsKKwlQR1JVc2FnZQlydTA7CisKKwltZW1zZXQoY291bnRlcnMs IDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOworCisJcGdfcnVzYWdlX2luaXQoJnJ1 MCk7CisJc3RhcnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCisJY291bnRlcnMt PnJ1ID0gcnUwOworCWNvdW50ZXJzLT50aW1lID0gc3RhcnR0aW1lOworCWNvdW50ZXJzLT53 YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVzYWdlID0gcGdCdWZmZXJV c2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFjdXVtRGVsYXlUaW1lOwor CWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRlcnMtPmJsb2Nrc19oaXQg PSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tfY291bnRz KQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNu J3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBw cmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hl ZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKKwljb3VudGVy cy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0Owor fQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoKKyAqCUNh bGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRoZXJpbmcg YW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitl eHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50 ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2FsVXNhZ2UJd2FsdXNh Z2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHogZW5kdGltZTsKKwls b25nCQlzZWNzOworCWludAkJCXVzZWNzOworCVBHUlVzYWdlCXJ1MTsKKworCS8qIENhbGN1 bGF0ZSBkaWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVy IHVzYWdlLiAqLworCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOwor CVdhbFVzYWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+ d2FsdXNhZ2UpOworCisJbWVtc2V0KCZidWZ1c2FnZSwgMCwgc2l6ZW9mKEJ1ZmZlclVzYWdl KSk7CisJQnVmZmVyVXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJVc2FnZSwg JmNvdW50ZXJzLT5idWZ1c2FnZSk7CisKKwllbmR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFt cCgpOworCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnRpbWUsIGVuZHRpbWUsICZz ZWNzLCAmdXNlY3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9y dCkpOworCisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBhIHZhY3V1 bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVh ZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3Jl YWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfaGl0 ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19kaXJ0 aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Js a3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVzYWdlLnNo YXJlZF9ibGtzX3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uu d2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwly ZXBvcnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9ydC0+Ymxr X3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Js a19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dF VF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5i bGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2Fs X2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElN RV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKKwlyZXBv cnQtPmRlbGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVs YXlUaW1lOworCisJLyoKKwkgKiBHZXQgZGlmZmVyZW5jZSBvZiBhIHN5c3RlbSB0aW1lIGFu ZCB1c2VyIHRpbWUgdmFsdWVzIGluIG1pbGxpc2Vjb25kcy4KKwkgKiBVc2UgZmxvYXRpbmcg cG9pbnQgcmVwcmVzZW50YXRpb24gdG8gc2hvdyB0YWlscyBvZiB0aW1lIGRpZmZzLgorCSAq LworCXBnX3J1c2FnZV9pbml0KCZydTEpOworCXJlcG9ydC0+c3lzdGVtX3RpbWUgPQorCQko cnUxLnJ1LnJ1X3N0aW1lLnR2X3NlYyAtIGNvdW50ZXJzLT5ydS5ydS5ydV9zdGltZS50dl9z ZWMpICogMTAwMC4gKworCQkocnUxLnJ1LnJ1X3N0aW1lLnR2X3VzZWMgLSBjb3VudGVycy0+ cnUucnUucnVfc3RpbWUudHZfdXNlYykgKiAwLjAwMTsKKwlyZXBvcnQtPnVzZXJfdGltZSA9 CisJCShydTEucnUucnVfdXRpbWUudHZfc2VjIC0gY291bnRlcnMtPnJ1LnJ1LnJ1X3V0aW1l LnR2X3NlYykgKiAxMDAwLiArCisJCShydTEucnUucnVfdXRpbWUudHZfdXNlYyAtIGNvdW50 ZXJzLT5ydS5ydS5ydV91dGltZS50dl91c2VjKSAqIDAuMDAxOworCXJlcG9ydC0+dG90YWxf dGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisKKwlpZiAoIXJlbC0+cGdz dGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0 aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0 YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0 dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQlyZWwtPnBnc3RhdF9pbmZvLT5j b3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7CisJcmVw b3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0 IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwo KSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KQEAgLTMxMSw2ICs0 MzksOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBh cmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2FnZTsKIAlCdWZmZXJV c2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlFcnJvckNvbnRleHRD YWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRWYWNDb3VudGVy czsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAqKmluZG5hbWVzID0g TlVMTDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZFUkJPU0Up ICE9IDA7CkBAIC0zMjksNyArNDU5LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29t bWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJl bGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0NvdW50ZXJz KTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0IGZvciBlcmVwb3J0 KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBlcnJvciBjb250ZXh0 IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBhbnkKQEAg LTM0Niw2ICs0NzYsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRhYmFzZV9uYW1lKE15 RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX25h bWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5yZWxuYW1lID0gcHN0 cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNyZWwtPnJlbG9pZCA9 IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBOVUxMOwogCXZh Y3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsKIAl2YWNyZWwtPnZl cmJvc2UgPSB2ZXJib3NlOwpAQCAtNDEzLDYgKzU0NCw4IEBAIGhlYXBfdmFjdXVtX3JlbChS ZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+bHBkZWFkX2l0 ZW1fcGFnZXMgPSAwOwogCXZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXMgPSAwOwogCXZhY3Jl bC0+bm9uZW1wdHlfcGFnZXMgPSAwOworCXZhY3JlbC0+c2V0X2Zyb3plbl9wYWdlcyA9IDA7 CisJdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXMgPSAwOwogCS8qIGRlYWRfaXRlbXNf YWxsb2MgYWxsb2NhdGVzIHZhY3JlbC0+ZGVhZF9pdGVtcyBsYXRlciBvbiAqLwogCiAJLyog QWxsb2NhdGUvaW5pdGlhbGl6ZSBvdXRwdXQgc3RhdGlzdGljcyBzdGF0ZSAqLwpAQCAtNTc0 LDYgKzcwNywxOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJh bXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlkLCB2YWNyZWwtPk5l d1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0aV91cGRh dGVkLCBmYWxzZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRz IHJlcG9ydCAqLworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZl eHRWYWNSZXBvcnQpOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRz IGZpZWxkcyAqLworCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2Fu bmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1v dmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9m cm96ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNpYmxlID0gdmFjcmVs LT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVk ID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3pl biA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQuZGVhZF90dXBsZXMg PSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5taXNzZWRfZGVhZF90 dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVt X2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxh dGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg4LDcgKzczNCw4IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJ IHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2 ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwot CQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJCSB2YWNyZWwtPm1p c3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKIAlwZ3N0YXRfcHJv Z3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpAQCAtMTM4MCw2ICsx NTI3LDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRlICp2YWNyZWwsIEJ1 ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1idWZmZXIsIEludmFs aWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSB8 IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9TRUNUSU9OKCk7CisJ CQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFjcmVsLT5zZXRfZnJv emVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0SGVhcEZyZWVTcGFj ZShwYWdlKTsKQEAgLTIyNzcsMTEgKzI0MjYsMTMgQEAgbGF6eV92YWN1dW1faGVhcF9wYWdl KExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1ZmZlciBidWZmZXIs CiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxhZ3MgPSBWSVNJQklM SVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysr OwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRyYW5zYWN0aW9uSWRJ c1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3MgfD0gVklTSUJJTElU WU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0K IAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjIsNiArMzI3Myw4IEBAIHZh Y3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5waGFz ZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlmKGdl dGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8t PmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5v ZmZudW0pKQpAQCAtMzEzNyw2ICszMjkwLDggQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZv aWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VV TV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlmIChCbG9ja051bWJl cklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZzZXROdW1iZXJJ c1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNp YmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQ3MmNhZGU2MGE0IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3IEBACiAj aW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0 aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAj aW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdy LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE4IEBAIHZp c2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBC dWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykK IAl7CisJCS8qCisJCSAqIEluaXRpYWxseSwgaXQgZGlkbid0IG1hdHRlciB3aGF0IHR5cGUg b2YgZmxhZ3MgKGFsbC12aXNpYmxlIG9yIGZyb3plbikgd2UgcmVjZWl2ZWQsCisJCSAqIHdl IGp1c3QgcGVyZm9ybWVkIGEgcmV2ZXJzZSBjb25jYXRlbmF0aW9uIG9wZXJhdGlvbi4gQnV0 IHRoaXMgaW5mb3JtYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQKKwkJICogZm9yIHZhY3V1bSBz dGF0aXN0aWNzLiBXZSBuZWVkIHRvIGZpbmQgb3V0IHRoaXMgdXNpbmd0aGUgYml0IGNvbmNh dGVuYXRpb24gb3BlcmF0aW9uCisJCSAqIHdpdGggdGhlIFZJU0lCSUxJVFlNQVBfQUxMX1ZJ U0lCTEUgYW5kIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTiBtYXNrcywKKwkJICogYW5kIHdo ZXJlIHRoZSBkZXNpcmVkIG9uZSBtYXRjaGVzLCB3ZSBpbmNyZW1lbnQgdGhlIHZhbHVlIHRo ZXJlLgorCQkqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNldCAmIGZsYWdzICYg VklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxs X3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFn cyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZf YWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAmPSB+bWFzazsKIAogCQlNYXJr QnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs CmluZGV4IDM0NTZiODIxYmM1Li5lYzk5NzUzMTMyNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbApAQCAtMTM3OSwzICsxMzc5LDU4IEBAIENSRUFURSBWSUVXIHBn X3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVXIHBnX3dhaXRfZXZl bnRzIEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVudHMoKTsKKy0tCist LSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVy YXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5j ZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8g Z2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFU RSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMg cmVsaWQsCisgIG5zLm5zcG5hbWUgQVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJl bG5hbWUsCisKKyAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICBzdGF0cy50b3RhbF9ibGtz X2hpdCwKKyAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3RhbF9ibGtz X3dyaXR0ZW4sCisKKyAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMucmVsX2Jsa3Nf aGl0LAorCisgIHN0YXRzLnBhZ2VzX3NjYW5uZWQsCisgIHN0YXRzLnBhZ2VzX3JlbW92ZWQs CisgIHN0YXRzLnBhZ2VzX2Zyb3plbiwKKyAgc3RhdHMucGFnZXNfYWxsX3Zpc2libGUsCisg IHN0YXRzLnR1cGxlc19kZWxldGVkLAorICBzdGF0cy50dXBsZXNfZnJvemVuLAorICBzdGF0 cy5kZWFkX3R1cGxlcywKKworICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQsCisgIHN0YXRz LnJldl9hbGxfZnJvemVuX3BhZ2VzLAorICBzdGF0cy5yZXZfYWxsX3Zpc2libGVfcGFnZXMs CisKKyAgc3RhdHMud2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGksCisgIHN0YXRzLndh bF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICBzdGF0cy5ibGtfd3JpdGVf dGltZSwKKworICBzdGF0cy5kZWxheV90aW1lLAorICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAg c3RhdHMudXNlcl90aW1lLAorICBzdGF0cy50b3RhbF90aW1lLAorICBzdGF0cy5pbnRlcnJ1 cHRzCitGUk9NCisgIHBnX2RhdGFiYXNlIGRiLAorICBwZ19jbGFzcyByZWwsCisgIHBnX25h bWVzcGFjZSBucywKKyAgcGdfc3RhdF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCitX SEVSRQorICBkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpIEFORAorICByZWwub2lk ID0gc3RhdHMucmVsaWQgQU5ECisgIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UgQU5ECisg IHJlbC5yZWxraW5kID0gJ3InOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFjdXVtLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwppbmRleCBhYzhmNWQ5 YzI1OS4uMzY5NDE5OTJiMDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Zh Y3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCkBAIC0xMDMsNiAr MTAzLDkgQEAgcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSBO VUxMOwogcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtQWN0aXZlTldvcmtlcnMgPSBOVUxMOwog aW50CQkJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAKKy8qIEN1bXVsYXRpdmUgc3Rv cmFnZSB0byByZXBvcnQgdG90YWwgdmFjdXVtIGRlbGF5IHRpbWUuICovCitkb3VibGUgVmFj dXVtRGVsYXlUaW1lID0gMDsgLyogbXNlYy4gKi8KKwogLyogbm9uLWV4cG9ydCBmdW5jdGlv biBwcm90b3R5cGVzICovCiBzdGF0aWMgTGlzdCAqZXhwYW5kX3ZhY3V1bV9yZWwoVmFjdXVt UmVsYXRpb24gKnZyZWwsCiAJCQkJCQkJICAgTWVtb3J5Q29udGV4dCB2YWNfY29udGV4dCwg aW50IG9wdGlvbnMpOwpAQCAtMjQxOSw2ICsyNDIyLDcgQEAgdmFjdXVtX2RlbGF5X3BvaW50 KHZvaWQpCiAJCQlleGl0KDEpOwogCiAJCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwkJVmFj dXVtRGVsYXlUaW1lICs9IG1zZWM7CiAKIAkJLyoKIAkJICogQmFsYW5jZSBhbmQgdXBkYXRl IGxpbWl0IHZhbHVlcyBmb3IgYXV0b3ZhY3V1bSB3b3JrZXJzLiBXZSBtdXN0IGRvCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCA0ZmQ2NTc0ZTEyOS4uN2Y3 YzdjMTZlMjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFs bGVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAt MTA0OCw2ICsxMDQ4LDcgQEAgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNl Zywgc2htX3RvYyAqdG9jKQogCS8qIFNldCBjb3N0LWJhc2VkIHZhY3V1bSBkZWxheSAqLwog CVZhY3V1bVVwZGF0ZUNvc3RzKCk7CiAJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCVZhY3V1 bURlbGF5VGltZSA9IDA7CiAJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAJVmFjdXVt U2hhcmVkQ29zdEJhbGFuY2UgPSAmKHNoYXJlZC0+Y29zdF9iYWxhbmNlKTsKIAlWYWN1dW1B Y3RpdmVOV29ya2VycyA9ICYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCBkMTc2OGE4OWY2ZS4uYzI4M2U0NDJmNmYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xOTAsNyArMTkwLDcg QEAgc3RhdGljIHZvaWQgcGdzdGF0X3Jlc2V0X2FmdGVyX2ZhaWx1cmUodm9pZCk7CiBzdGF0 aWMgYm9vbCBwZ3N0YXRfZmx1c2hfcGVuZGluZ19lbnRyaWVzKGJvb2wgbm93YWl0KTsKIAog c3RhdGljIHZvaWQgcGdzdGF0X3ByZXBfc25hcHNob3Qodm9pZCk7Ci1zdGF0aWMgdm9pZCBw Z3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRf c25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpOwogc3RhdGljIHZvaWQgcGdzdGF0X2J1 aWxkX3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBzdGF0aWMgaW5saW5l IGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CkBAIC0yNjAs NyArMjYwLDYgQEAgc3RhdGljIGJvb2wgcGdzdGF0X2lzX2luaXRpYWxpemVkID0gZmFsc2U7 CiBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfc2h1dGRvd24gPSBmYWxzZTsKICNlbmRpZgogCi0K IC8qCiAgKiBUaGUgZGlmZmVyZW50IGtpbmRzIG9mIGJ1aWx0LWluIHN0YXRpc3RpY3MuCiAg KgpAQCAtODc5LDcgKzg3OCw2IEBAIHBnc3RhdF9yZXNldF9vZl9raW5kKFBnU3RhdF9LaW5k IGtpbmQpCiAJCXBnc3RhdF9yZXNldF9lbnRyaWVzX29mX2tpbmQoa2luZCwgdHMpOwogfQog Ci0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogICogRmV0Y2hpbmcgb2Ygc3RhdHMKICAqIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtOTQ1 LDcgKzk0Myw3IEBAIHBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBraW5kLCBPaWQg ZGJvaWQsIHVpbnQ2NCBvYmppZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8gYnVpbGQgYSBmdWxs IHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0g UEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25h cHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQp OwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGluIGNhY2hlICovCiAJ aWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9DT05TSVNURU5D WV9OT05FKQpAQCAtMTA2MSw3ICsxMDU5LDcgQEAgcGdzdGF0X3NuYXBzaG90X2ZpeGVkKFBn U3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOwogCiAJaWYgKHBn c3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05B UFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRfYnVpbGRfc25h cHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRfYnVpbGRfc25h cHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTExMTEsOCArMTEwOSwzMCBAQCBwZ3N0YXRfcHJl cF9zbmFwc2hvdCh2b2lkKQogCQkJCQkJCSAgIE5VTEwpOwogfQogCisKKy8qCisgKiBUcml2 aWFsIGV4dGVybmFsIGludGVyZmFjZSB0byBidWlsZCBhIHNuYXBzaG90IGZvciB0YWJsZSBz dGF0aXN0aWNzIG9ubHkuCisgKi8KK3ZvaWQKK3Bnc3RhdF91cGRhdGVfc25hcHNob3QoUGdT dGF0X0tpbmQga2luZCkKK3sKKwlpbnQgc2F2ZV9jb25zaXN0ZW5jeV9ndWMgPSBwZ3N0YXRf ZmV0Y2hfY29uc2lzdGVuY3k7CisJcGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CisKKwlQR19U UlkoKTsKKwl7CisJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9D T05TSVNURU5DWV9TTkFQU0hPVDsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9L SU5EX1JFTEFUSU9OKTsKKwl9CisJUEdfRklOQUxMWSgpOworCXsKKwkJcGdzdGF0X2ZldGNo X2NvbnNpc3RlbmN5ID0gc2F2ZV9jb25zaXN0ZW5jeV9ndWM7CisJfQorCVBHX0VORF9UUlko KTsKK30KKwogc3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKQorcGdz dGF0X2J1aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogewogCWRzaGFzaF9z ZXFfc3RhdHVzIGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDhhM2Y3 ZDQzNGNmLi43OTFkNzc3ZmJjNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTQ4LDYgKzQ4LDggQEAgc3RhdGljIHZvaWQgYWRk X3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBp bnQgbmVzdF9sZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5j ZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19k cm9wKTsKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9U YWJsZVhhY3RTdGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9hY2N1bXVsYXRl X2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJ CQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbyk7CiAKIAog LyoKQEAgLTIwNCwxMiArMjA2LDQwIEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9u IHJlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZh Y3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQoreworCVBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmOworCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNl SWQ7CisKKwlpZiAoIXBnc3RhdF90cmFja19jb3VudHMpCisJCXJldHVybjsKKworCWVudHJ5 X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElP TiwKKwkJCQkJCQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxzZSk7CisKKwlzaHRhYmVudHJ5 ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsK Kwl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKKworCXRhYmVudHJ5LT52YWN1dW1f ZXh0LmludGVycnVwdHMrKzsKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Cit9 CisKIC8qCiAgKiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5k IGZsdXNoIElPIHN0YXRpc3RpY3MuCiAgKi8KIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCi0JCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZl dHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzKQorCQkJCQkgUGdTdGF0X0NvdW50 ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJIEV4dFZh Y1JlcG9ydCAqcGFyYW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBn U3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzMyw2ICsyNjMsOCBAQCBw Z3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVu dHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVz ID0gZGVhZHR1cGxlczsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFi ZW50cnktPnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1 aXRlIHBvc3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tp cHBpbmcKIAkgKiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNl cnQgY291bnRlciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC04NjEsNiArODkzLDkgQEAgcGdzdGF0 X3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5v d2FpdCkKIAl0YWJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxv Y2tzX2ZldGNoZWQ7CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMu YmxvY2tzX2hpdDsKIAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3Rh dHMtPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92 aXNpYmxlX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsK KwogCS8qIENsYW1wIGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2 ZV90dXBsZXMgKi8KIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxp dmVfdHVwbGVzLCAwKTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk4 NCwzICsxMDE5LDM4IEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJs ZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9h Y2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0 ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5m bykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsK Kwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50 b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50 b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53 YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2Fs X2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5i bGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90 aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ ZGVsYXlfdGltZTsKKwlkc3QtPnN5c3RlbV90aW1lICs9IHNyYy0+c3lzdGVtX3RpbWU7CisJ ZHN0LT51c2VyX3RpbWUgKz0gc3JjLT51c2VyX3RpbWU7CisJZHN0LT50b3RhbF90aW1lICs9 IHNyYy0+dG90YWxfdGltZTsKKwlkc3QtPmludGVycnVwdHMgKz0gc3JjLT5pbnRlcnJ1cHRz OworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJu OworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5i bGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNy Yy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19y ZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+cGFnZXNfZnJvemVuOworCWRz dC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19hbGxfdmlzaWJsZTsKKwlkc3Qt PnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJZHN0LT50dXBsZXNf ZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlkc3QtPmRlYWRfdHVwbGVzICs9IHNy Yy0+ZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRl eF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBmN2I1MGUwYjVhZi4uZWJhMTc4M2U1 MWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0zMSw2ICszMSw0 MiBAQAogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5z LmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCisjaW5jbHVkZSAidXRpbHMvcGdz dGF0X2ludGVybmFsLmgiCisKKy8qIGhhc2ggdGFibGUgZm9yIHN0YXRpc3RpY3Mgc25hcHNo b3RzIGVudHJ5ICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU25hcHNob3RFbnRyeQorewor CVBnU3RhdF9IYXNoS2V5IGtleTsKKwljaGFyCQlzdGF0dXM7CQkJLyogZm9yIHNpbXBsZWhh c2ggdXNlICovCisJdm9pZAkgICAqZGF0YTsJCQkvKiB0aGUgc3RhdHMgZGF0YSBpdHNlbGYg Ki8KK30gUGdTdGF0X1NuYXBzaG90RW50cnk7CisKKy8qIC0tLS0tLS0tLS0KKyAqIEJhY2tl bmQtbG9jYWwgSGFzaCBUYWJsZSBEZWZpbml0aW9ucworICogLS0tLS0tLS0tLQorICovCisK Ky8qIGZvciBzdGF0cyBzbmFwc2hvdCBlbnRyaWVzICovCisjZGVmaW5lIFNIX1BSRUZJWCBw Z3N0YXRfc25hcHNob3QKKyNkZWZpbmUgU0hfRUxFTUVOVF9UWVBFIFBnU3RhdF9TbmFwc2hv dEVudHJ5CisjZGVmaW5lIFNIX0tFWV9UWVBFIFBnU3RhdF9IYXNoS2V5CisjZGVmaW5lIFNI X0tFWSBrZXkKKyNkZWZpbmUgU0hfSEFTSF9LRVkodGIsIGtleSkgXAorCXBnc3RhdF9oYXNo X2hhc2hfa2V5KCZrZXksIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpCisjZGVmaW5l IFNIX0VRVUFMKHRiLCBhLCBiKSBcCisJcGdzdGF0X2NtcF9oYXNoX2tleSgmYSwgJmIsIHNp emVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpID09IDAKKyNkZWZpbmUgU0hfU0NPUEUgc3Rh dGljIGlubGluZQorI2RlZmluZSBTSF9ERUZJTkUKKyNkZWZpbmUgU0hfREVDTEFSRQorI2lu Y2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisKK3R5cGVkZWYgcGdzdGF0X3NuYXBzaG90X2l0 ZXJhdG9yIFNuYXBzaG90SXRlcmF0b3I7CisKKyNkZWZpbmUgSW5pdFNuYXBzaG90SXRlcmF0 b3IoaHRhYmxlLCBpdGVyKSBcCisJcGdzdGF0X3NuYXBzaG90X3N0YXJ0X2l0ZXJhdGUoaHRh YmxlLCBpdGVyKTsKKyNkZWZpbmUgU2NhblN0YXRTbmFwc2hvdChodGFibGUsIGl0ZXIpIFwK KwlwZ3N0YXRfc25hcHNob3RfaXRlcmF0ZShodGFibGUsIGl0ZXIpCisKIAogI2RlZmluZSBV SU5UMzJfQUNDRVNTX09OQ0UodmFyKQkJICgodWludDMyKSgqKCh2b2xhdGlsZSB1aW50MzIg KikmKHZhcikpKSkKIApAQCAtMjA2MywzICsyMDk5LDEyMyBAQCBwZ19zdGF0X2hhdmVfc3Rh dHMoUEdfRlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2Vu dHJ5KGtpbmQsIGRib2lkLCBvYmppZCkpOwogfQorCisjZGVmaW5lIEVYVFZBQ0hFQVBTVEFU X0NPTFVNTlMJMjcKKworc3RhdGljIHZvaWQKK3R1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlv bihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKKwkJCQkJCQlQZ1N0YXRfU3Rh dFRhYkVudHJ5ICp0YWJlbnRyeSkKK3sKKwlEYXR1bQkJdmFsdWVzW0VYVFZBQ0hFQVBTVEFU X0NPTFVNTlNdOworCWJvb2wJCW51bGxzW0VYVFZBQ0hFQVBTVEFUX0NPTFVNTlNdOworCWNo YXIJCWJ1ZlsyNTZdOworCWludAkJCWkgPSAwOworCisJbWVtc2V0KG51bGxzLCAwLCBFWFRW QUNIRUFQU1RBVF9DT0xVTU5TICogc2l6ZW9mKGJvb2wpKTsKKworCXZhbHVlc1tpKytdID0g T2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc19oaXQp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC50 b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3NfZmV0Y2hlZCAtCisJ CQkJCQkJCQl0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3NfaGl0KTsKKworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5wYWdlc19z Y2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1 bV9leHQucGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRh YmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2FsbF92aXNpYmxlKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudHVwbGVz X2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFj dXVtX2V4dC50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQuZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbmRleF92YWN1dW1fY291bnQpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5f cGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LndhbF9mcGkpOworCisJLyogQ29udmVydCB0 byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwg c2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgdGFiZW50cnktPnZhY3V1bV9leHQud2FsX2J5 dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwK KwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElk R2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZhbHVl c1tpKytdID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuYmxrX3JlYWRf dGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVt X2V4dC5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0 YWJlbnRyeS0+dmFjdXVtX2V4dC5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnN5c3RlbV90aW1lKTsKKwl2YWx1ZXNb aSsrXSA9IEZsb2F0OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnVzZXJfdGltZSk7 CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC50 b3RhbF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0odGFiZW50cnktPnZh Y3V1bV9leHQuaW50ZXJydXB0cyk7CisKKwlBc3NlcnQoaSA9PSByc2luZm8tPnNldERlc2Mt Pm5hdHRzKTsKKwl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNldFJlc3VsdCwgcnNp bmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsKK30KKworLyoKKyAqIEdldCB0aGUgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcyBvciBpbmRleGVzLgorICovCitz dGF0aWMgdm9pZAorcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBp bnQgbmNvbHVtbnMpCit7CisJUmV0dXJuU2V0SW5mbwkJICAgKnJzaW5mbyA9IChSZXR1cm5T ZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsKKwlPaWQJCQkJCQlyZWxpZCA9IFBHX0dF VEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAqdGFiZW50cnk7CisKKwlJ bml0TWF0ZXJpYWxpemVkU1JGKGZjaW5mbywgMCk7CisKKwkvKiBDaGVjayBpZiBjYWxsZXIg c3VwcG9ydHMgdXMgcmV0dXJuaW5nIGEgdHVwbGVzdG9yZSAqLworCWlmIChyc2luZm8gPT0g TlVMTCB8fCAhSXNBKHJzaW5mbywgUmV0dXJuU2V0SW5mbykpCisJCWVyZXBvcnQoRVJST1Is CisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBl cnJtc2coInNldC12YWx1ZWQgZnVuY3Rpb24gY2FsbGVkIGluIGNvbnRleHQgdGhhdCBjYW5u b3QgYWNjZXB0IGEgc2V0IikpKTsKKwlBc3NlcnQocnNpbmZvLT5zZXREZXNjLT5uYXR0cyA9 PSBuY29sdW1ucyk7CisJQXNzZXJ0KHJzaW5mby0+c2V0UmVzdWx0ICE9IE5VTEwpOworCisJ LyogTG9hZCB0YWJsZSBzdGF0aXN0aWNzIGZvciBzcGVjaWZpZWQgZGF0YWJhc2UuICovCisJ aWYgKE9pZElzVmFsaWQocmVsaWQpKQorCXsKKwkJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hf c3RhdF90YWJlbnRyeShyZWxpZCk7CisJCWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCQkJLyog VGFibGUgZG9uJ3QgZXhpc3RzIG9yIGlzbid0IGFuIGhlYXAgcmVsYXRpb24uICovCisJCQly ZXR1cm47CisKKwkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJlbGlkLCByc2luZm8s IHRhYmVudHJ5KTsKKwl9CisJZWxzZQorCXsKKwkJU25hcHNob3RJdGVyYXRvcgkJaGFzaGl0 ZXI7CisJCVBnU3RhdF9TbmFwc2hvdEVudHJ5ICAgKmVudHJ5OworCisJCXBnc3RhdF91cGRh dGVfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOworCisJCS8qIEl0ZXJhdGUgdGhl IHNuYXBzaG90ICovCisJCUluaXRTbmFwc2hvdEl0ZXJhdG9yKHBnU3RhdExvY2FsLnNuYXBz aG90LnN0YXRzLCAmaGFzaGl0ZXIpOworCisJCXdoaWxlICgoZW50cnkgPSBTY2FuU3RhdFNu YXBzaG90KHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIpKSAhPSBOVUxM KQorCQl7CisJCQlDSEVDS19GT1JfSU5URVJSVVBUUygpOworCisJCQl0YWJlbnRyeSA9IChQ Z1N0YXRfU3RhdFRhYkVudHJ5ICopIGVudHJ5LT5kYXRhOworCisJCQlpZiAodGFiZW50cnkg IT0gTlVMTCkKKwkJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oZW50cnktPmtleS5v YmppZCwgcnNpbmZvLCB0YWJlbnRyeSk7CisJCX0KKwl9Cit9CisKKy8qCisgKiBHZXQgdGhl IHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitw Z19zdGF0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlwZ19zdGF0c192 YWN1dW0oZmNpbmZvLCBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TKTsKKworCVBHX1JFVFVSTl9W T0lEKCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3Iv ZWxvZy5jCmluZGV4IDk4N2ZmOTgwNjdiLi5hZGUyZjE1NGE3MSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vy cm9yL2Vsb2cuYwpAQCAtMTYxOSw2ICsxNjE5LDE5IEBAIGdldGludGVybmFsZXJycG9zaXRp b24odm9pZCkKIAlyZXR1cm4gZWRhdGEtPmludGVybmFscG9zOwogfQogCisvKgorICogUmV0 dXJuIGVsZXZlbCBvZiBlcnJvcnMKKyAqLworaW50CitnZXRlcnJlbGV2ZWwodm9pZCkKK3sK KwlFcnJvckRhdGEgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3JkYXRhX3N0YWNrX2RlcHRo XTsKKworCS8qIHdlIGRvbid0IGJvdGhlciBpbmNyZW1lbnRpbmcgcmVjdXJzaW9uX2RlcHRo ICovCisJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKKworCXJldHVybiBlZGF0YS0+ZWxldmVsOwor fQogCiAvKgogICogRnVuY3Rpb25zIHRvIGFsbG93IGNvbnN0cnVjdGlvbiBvZiBlcnJvciBt ZXNzYWdlIHN0cmluZ3Mgc2VwYXJhdGVseSBmcm9tCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCA3N2Y1NGE3OWU2YS4uYzg2MWU1NjkxY2IgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdApAQCAtMTIzMjksNCArMTIzMjksMTMgQEAKICAgcHJvYXJndHlwZXMgPT4gJ2lu dDInLAogICBwcm9zcmMgPT4gJ2dpc3Rfc3RyYXRudW1faWRlbnRpdHknIH0sCiAKK3sgb2lk ID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfdmFjdXVtX3RhYmxlcyByZXR1cm4g c3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1fdGFibGVzJywg cHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3Jl Y29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9h cmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxm bG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAorICBwcm9hcmdtb2RlcyA9PiAn e2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFk LHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4s cmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVk LHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVsZXRlZCx0dXBsZXNf ZnJvemVuLGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCxyZXZfYWxsX2Zyb3plbl9w YWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0 ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1l LHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdwZ19z dGF0X3ZhY3V1bV90YWJsZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21t YW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDc1 OWY5YTg3ZDM4Li4wN2IyOGIxNWQ5ZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTMw OCw2ICszMDgsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1bV9tdWx0aXhhY3Rf ZmFpbHNhZmVfYWdlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZh Y3V1bVNoYXJlZENvc3RCYWxhbmNlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191 aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBW YWN1dW1Db3N0QmFsYW5jZUxvY2FsOworZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSBWYWN1 dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIFZhY3V1bUZhaWxzYWZl QWN0aXZlOwogZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSB2YWN1dW1fY29zdF9kZWxheTsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKaW5kZXggZGY1M2ZhMmQ0ZjkuLmU3NjRhOGM1MzI2IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTY5LDYgKzE2 OSw1MiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0 X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0 X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0tLS0tLS0tLQorICoKKyAqIEV4dFZhY1JlcG9y dAorICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBv dmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBi eSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkgKGllIHRoZSBjaGFu Z2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIg dG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAq LwordHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0Cit7CisJaW50NjQJCXRvdGFsX2Jsa3Nf cmVhZDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0IHdlcmUgbWlzc2VkIGluIHNoYXJlZCBi dWZmZXJzIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0 CQl0b3RhbF9ibGtzX2hpdDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0IHdlcmUgZm91bmQg aW4gc2hhcmVkIGJ1ZmZlcnMgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9u ICovCisJaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsJLyogbnVtYmVyIG9mIHBhZ2VzIG1h cmtlZCBhcyAnRGlydHknIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbi4g Ki8KKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOwkvKiBudW1iZXIgb2YgcGFnZXMgd3Jp dHRlbiBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24uICovCisKKwlpbnQ2 NAkJYmxrc19mZXRjaGVkOyAJCS8qIG51bWJlciBvZiBhIHJlbGF0aW9uIGJsb2NrcywgZmV0 Y2hlZCBkdXJpbmcgdGhlIHZhY3V1bS4gKi8KKwlpbnQ2NAkJYmxrc19oaXQ7CQkvKiBudW1i ZXIgb2YgYSByZWxhdGlvbiBibG9ja3MsIGZvdW5kIGluIHNoYXJlZCBidWZmZXJzIGR1cmlu ZyB0aGUgdmFjdXVtLiAqLworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLworCWlu dDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29yZHMg Ki8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBmdWxs IHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3YWwg dXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUgc3Rh dHMuICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcg cGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNw ZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7CQkv KiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2Vj ICovCisJZG91YmxlCQlzeXN0ZW1fdGltZTsJLyogYW1vdW50IG9mIHRpbWUgdGhlIENQVSB3 YXMgYnVzeSBleGVjdXRpbmcgdmFjdXVtIGNvZGUgaW4ga2VybmVsIHNwYWNlLCBpbiBtc2Vj ICovCisJZG91YmxlCQl1c2VyX3RpbWU7CQkvKiBhbW91bnQgb2YgdGltZSB0aGUgQ1BVIHdh cyBidXN5IGV4ZWN1dGluZyB2YWN1dW0gY29kZSBpbiB1c2VyIHNwYWNlLCBpbiBtc2VjICov CisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVy YXRpb24sIGluIG1zZWMgKi8KKworCS8qIEludGVycnVwdGlvbnMgb24gYW55IGVycm9ycy4g Ki8KKwlpbnQzMgkJaW50ZXJydXB0czsKKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyog bnVtYmVyIG9mIHBhZ2VzIHdlIGV4YW1pbmVkICovCisJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7 CQkvKiBudW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJcGFn ZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4g Ki8KKwlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIG51bWJlciBvZiBwYWdlcyBtYXJr ZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkv KiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJ CS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJaW50NjQJCWRlYWRfdHVwbGVz OwkJLyogbnVtYmVyIG9mIGRlbGV0ZWQgdHVwbGVzIHdoaWNoIHZhY3V1bSBjYW5ub3QgY2xl YW4gdXAgYnkgdmFjdXVtIG9wZXJhdGlvbiAqLworCWludDY0CQlpbmRleF92YWN1dW1fY291 bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCit9IEV4dFZhY1JlcG9ydDsK KwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVhbCBw ZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAtMjA5LDYgKzI1NSwx NiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAogCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19mZXRjaGVkOwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CisKKwlQ Z1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIg cmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwkvKgorCSAqIEFkZGl0aW9uYWwgY3VtdWxhdGl2 ZSBzdGF0IG9uIHZhY3V1bSBvcGVyYXRpb25zLgorCSAqIFVzZSBhbiBleHBlbnNpdmUgc3Ry dWN0dXJlIGFzIGFuIGFic3RyYWN0aW9uIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YKKwkgKiBy ZWxhdGlvbnMuCisJICovCisJRXh0VmFjUmVwb3J0CXZhY3V1bV9leHQ7CiB9IFBnU3RhdF9U YWJsZUNvdW50czsKIAogLyogLS0tLS0tLS0tLQpAQCAtMjY3LDcgKzMyMyw3IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLSNk ZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQUYKKyNkZWZpbmUgUEdTVEFU X0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQjEKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0Fy Y2hpdmVyU3RhdHMKIHsKQEAgLTM4OCw2ICs0NDQsOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0 YXRfU3RhdERCRW50cnkKIAlQZ1N0YXRfQ291bnRlciBzZXNzaW9uc19raWxsZWQ7CiAKIAlU aW1lc3RhbXBUeiBzdGF0X3Jlc2V0X3RpbWVzdGFtcDsKKworCUV4dFZhY1JlcG9ydCB2YWN1 dW1fZXh0OwkJLyogZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgKi8KIH0gUGdTdGF0X1N0 YXREQkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdEZ1bmNFbnRyeQpAQCAt NDYxLDYgKzUxOSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdFRhYkVudHJ5CiAJ UGdTdGF0X0NvdW50ZXIgYW5hbHl6ZV9jb3VudDsKIAlUaW1lc3RhbXBUeiBsYXN0X2F1dG9h bmFseXplX3RpbWU7CS8qIGF1dG92YWN1dW0gaW5pdGlhdGVkICovCiAJUGdTdGF0X0NvdW50 ZXIgYXV0b2FuYWx5emVfY291bnQ7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2li bGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwlF eHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsKIH0gUGdTdGF0X1N0YXRUYWJFbnRyeTsKIAogdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1dhbFN0YXRzCkBAIC02MjYsMTAgKzY4OSwxMiBAQCBleHRl cm4gdm9pZCBwZ3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIGV4dGVybiB2 b2lkIHBnc3RhdF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKIAogZXh0ZXJuIHZv aWQgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKLQkJ CQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0 dXBsZXMpOworCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0Nv dW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsKIGV4 dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJ CSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxl cywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlcik7CitleHRlcm4gdm9pZCBwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQpOwogCiAvKgogICogSWYgc3RhdHMg YXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFyZWQgeWV0 LCBjYWxsCkBAIC02NzcsNiArNzQyLDE3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf YW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0 aW9uKHJlbCkpCQkJCQkJXAogCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tz X2hpdCsrOwkJCQlcCiAJfSB3aGlsZSAoMCkKKy8qIGFjY3VtdWxhdGUgdW5mcm96ZW4gYWxs LXZpc2libGUgYW5kIGFsbC1mcm96ZW4gcGFnZXMgKi8KKyNkZWZpbmUgcGdzdGF0X2NvdW50 X3ZtX3Jldl9hbGxfdmlzaWJsZShyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlc CisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJ KHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzKys7CVwK Kwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96ZW4o cmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3Vs ZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+ Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzKys7CVwKKwl9IHdoaWxlICgwKQogCiBleHRl cm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF9pbnNlcnQoUmVsYXRpb24gcmVsLCBQZ1N0YXRf Q291bnRlciBuKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX3VwZGF0ZShSZWxh dGlvbiByZWwsIGJvb2wgaG90LCBib29sIG5ld3BhZ2UpOwpAQCAtNjk0LDcgKzc3MCw2IEBA IGV4dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRy eV9leHQoYm9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJCQkJCSAgIE9pZCByZWxvaWQpOwogZXh0 ZXJuIFBnU3RhdF9UYWJsZVN0YXR1cyAqZmluZF90YWJzdGF0X2VudHJ5KE9pZCByZWxfaWQp OwogCi0KIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3JlcGxzbG90LmMKICAqLwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMv ZWxvZy5oCmluZGV4IGU1NGVjYTViNDg5Li5lNzUyYzBjZTAxNSAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvdXRpbHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaApA QCAtMjMwLDYgKzIzMCw3IEBAIGV4dGVybiBpbnQJZ2V0ZXJybGV2ZWwodm9pZCk7CiBleHRl cm4gaW50CWdldGVycnBvc2l0aW9uKHZvaWQpOwogZXh0ZXJuIGludAlnZXRpbnRlcm5hbGVy cnBvc2l0aW9uKHZvaWQpOwogCitleHRlcm4gaW50CWdldGVycmVsZXZlbCh2b2lkKTsKIAog LyotLS0tLS0tLS0tCiAgKiBPbGQtc3R5bGUgZXJyb3IgcmVwb3J0aW5nIEFQSTogdG8gYmUg dXNlZCBpbiB0aGlzIHdheToKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3Rh dF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKaW5k ZXggNjFiMmUxZjk2YjIuLjJjMGU1NWQ2M2YzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91 dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRf aW50ZXJuYWwuaApAQCAtNTczLDcgKzU3Myw3IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYg KnBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4g dm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwg dWludDY0IG9iamlkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0 YXRfS2luZCBraW5kKTsKIAotCitleHRlcm4gdm9pZCBwZ3N0YXRfdXBkYXRlX3NuYXBzaG90 KFBnU3RhdF9LaW5kIGtpbmQpOwogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfYXJjaGl2 ZXIuYwogICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdjZGI3OWMwZWM0Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRl bmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAKK3VudXNlZCBz dGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIgc2Vzc2lvbnMK Kworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92YWN1dW1fc3Rh dHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBzMl9pbnNlcnRf aW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUgczFfY29t bWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0 aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTog CisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRl YWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAg ICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zy b3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAg ICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMx X2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKworY291bnQKKy0tLS0t CisgIDEwMAorKDEgcm93KQorCitzdGVwIHMyX3VwZGF0ZTogVVBEQVRFIHRlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7Citz dGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92 YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0 LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFt ZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVz X2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAg ICAgICAgICAgIDB8ICAgICAgICAxMDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVw IHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBDSEVDS1BPSU5UOwor c3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsKK3N0 ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5y ZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0LnR1cGxlc19m cm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwor ICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFO RCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBs ZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDEwMHwgICAgICAgIDEwMHwg ICAgICAgICAgMTAxCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlv bi9pc29sYXRpb25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3Nj aGVkdWxlCmluZGV4IDE0MzEwOWFhNGRhLi5lOTNkZDRmNjI2YyAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29s YXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCkBAIC05NSw2ICs5NSw3IEBAIHRlc3Q6IHRpbWVv dXRzCiB0ZXN0OiB2YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1dW0tY29uZmxp Y3QKIHRlc3Q6IHZhY3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6b25zCiB0ZXN0OiBw cmVkaWNhdGUtaGFzaApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3Zh Y3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90ZXN0L2lzb2xh dGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjVmYWNiMmM4NjJjCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUxIEBACisjIFRlc3QgZm9y IGNoZWNraW5nIGRlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJvemVuIHR1cGxl cyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIERlYWRfdHVwbGVzIHZhbHVlcyBhcmUg Y291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2VkIHR1cGxlcyB3aGls ZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCisjIERlYWRfdHVwbGVzIGFy ZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQgd2l0aCB0dXBs ZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCisjIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgY2xl YXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIuCisKK3NldHVw Cit7CisgICAgQ1JFQVRFIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkIGlu dCwgaXZhbCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZik7CisgICAgU0VU IHRyYWNrX2lvX3RpbWluZyA9IG9uOworfQorCit0ZWFyZG93bgoreworICAgIERST1AgVEFC TEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gQ0FTQ0FERTsKKyAgICBSRVNFVCB0cmFj a19pb190aW1pbmc7Cit9CisKK3Nlc3Npb24gczEKK3N0ZXAgczFfYmVnaW5fcmVwZWF0YWJs ZV9yZWFkICAgeworICBCRUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworICBzZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisgIH0KK3N0ZXAgczFfY29tbWl0ICAgICAgICAg ICAgICAgICAgeyBDT01NSVQ7IH0KKworc2Vzc2lvbiBzMgorc3RlcCBzMl9pbnNlcnQgICAg ICAgICAgICAgICAgICB7IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9u KGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDEwMDApIEFzIGl2YWw7IH0KK3N0ZXAgczJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBV UERBVEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICAyIHdo ZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVM RVRFIEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0K K3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdCAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7IH0KK3N0ZXAgczJfdmFjdXVtICAg ICAgICAgICAgICAgICAgeyBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247IH0K K3N0ZXAgczJfY2hlY2twb2ludCAgICAgICAgICAgICAgeyBDSEVDS1BPSU5UOyB9CitzdGVw IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQoreworICAgIFNFTEVDVAorICAgIHZ0LnJl bG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zy b3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisg ICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisKK3Blcm11dGF0aW9uCisgICAgczJfaW5zZXJ0Cisg ICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAgczFfYmVnaW5fcmVwZWF0YWJs ZV9yZWFkCisgICAgczJfdXBkYXRlCisgICAgczJfaW5zZXJ0X2ludGVycnVwdAorICAgIHMy X3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMxX2NvbW1p dAorICAgIHMyX2NoZWNrcG9pbnQKKyAgICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92YWN1 dW1fc3RhdHNfdGFibGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDJiNDcwMTNmMTEzLi43MDBhNDg2Mzk2NCAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyMzcsNiArMjIzNyw0 MCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5 emVfY291bnQKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1h bmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3Nj aGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7 CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAg IG5zLm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRv dGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50 b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAg IHN0YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0 YXRzLnBhZ2VzX3NjYW5uZWQsCisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0 cy5wYWdlc19mcm96ZW4sCisgICAgc3RhdHMucGFnZXNfYWxsX3Zpc2libGUsCisgICAgc3Rh dHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2Zyb3plbiwKKyAgICBzdGF0 cy5kZWFkX3R1cGxlcywKKyAgICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQsCisgICAgc3Rh dHMucmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgc3RhdHMucmV2X2FsbF92aXNpYmxlX3Bh Z2VzLAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAg c3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMu YmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy5zeXN0 ZW1fdGltZSwKKyAgICBzdGF0cy51c2VyX3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwK KyAgICBzdGF0cy5pbnRlcnJ1cHRzCisgICBGUk9NIHBnX2RhdGFiYXNlIGRiLAorICAgIHBn X2NsYXNzIHJlbCwKKyAgICBwZ19uYW1lc3BhY2UgbnMsCisgICAgTEFURVJBTCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwg dG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVu LCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3Jl bW92ZWQsIHBhZ2VzX2Zyb3plbiwgcGFnZXNfYWxsX3Zpc2libGUsIHR1cGxlc19kZWxldGVk LCB0dXBsZXNfZnJvemVuLCBkZWFkX3R1cGxlcywgaW5kZXhfdmFjdXVtX2NvdW50LCByZXZf YWxsX2Zyb3plbl9wYWdlcywgcmV2X2FsbF92aXNpYmxlX3BhZ2VzLCB3YWxfcmVjb3Jkcywg d2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVs YXlfdGltZSwgc3lzdGVtX3RpbWUsIHVzZXJfdGltZSwgdG90YWxfdGltZSwgaW50ZXJydXB0 cykKKyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSBBTkQgKHJl bC5vaWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSBB TkQgKHJlbC5yZWxraW5kID0gJ3InOjoiY2hhciIpKTsKIHBnX3N0YXRfd2FsfCBTRUxFQ1Qg d2FsX3JlY29yZHMsCiAgICAgd2FsX2ZwaSwKICAgICB3YWxfYnl0ZXMsCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjA2NDA2NGU5 NGIyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMjA5IEBACistLQorLS0gVGVz dCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2Fs bCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51 bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51 bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgor LS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVj YXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBx dWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3Vu dHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5 IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlv bnMgVE8gJ2FsbCc7CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VM RUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQg c2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VU IHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNp c3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3Rh dCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRp b24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHBh Z2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyxwYWdlc19zY2FubmVkLHBhZ2Vz X3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVs bmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdl c19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLQorIHZlc3RhdCAgfCAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAg NDU1IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNU IHJlbHBhZ2VzIEFTIHJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVz dGF0JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNo ZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQg aW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAor LS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19y ZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBo YXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbiA+IDAgQVMg cGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxw YWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3Nj YW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwg dHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1v dmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwg dAorKDEgcm93KQorCitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVk IEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1v dmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0 CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBM b29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBB UyBkV1IsIHdhbF9ieXRlcyA+IDAgQVMgZFdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0K KyB0ICAgfCB0CisoMSByb3cpCisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBB UkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2 ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNz CitDSEVDS1BPSU5UOworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VM RUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA+IDAgQVMgcGFnZXNfZnJvemVuLHR1 cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQs cGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1 cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3Zl ZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQK KygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBB UyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3Zl ZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMtOmh3ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZwaSBB UyBkZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVD VCA6ZHdyID4gMCBBUyBkV1IsIDpkd2IgPiAwIEFTIGRXQjsKKyBkd3IgfCBkd2IgCistLS0t LSstLS0tLQorIHQgICB8IHQKKygxIHJvdykKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBo d2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0JyBcZ3NldAorSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0 IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0 aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3Jkcy06aHdyIEFTIGR3cjIsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjIsIHdhbF9mcGktOmhm cGkgQVMgZGZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ug c2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRmcGky PTAgQVMgZEZQSSwgOmR3YjI9MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0t Ky0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5y ZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVs ZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3Jl bW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVs ZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cp CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBwcgor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdy LHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorREVMRVRFIEZST00gdmVz dGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVw bGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3 YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0t VGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkd3IzPjAgQVMgZFdSLCA6ZGZw aTM9MCBBUyBkRlBJLCA6ZHdiMz4wIEFTIGRXQjsKKyBkd3IgfCBkZnBpIHwgZHdiIAorLS0t LS0rLS0tLS0tKy0tLS0tCisgdCAgIHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5v dywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIg b2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4K Ky0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBi ZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAg QVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0 ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAw IEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92 ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8 IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2Fu bmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQor IHZlc3RhdCAgfCB0ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwg dCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVD VCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFla RSB2ZXN0YXQ7CistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1QgcGFnZXNfZnJvemVuLCBwYWdl c19hbGxfdmlzaWJsZSwgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCc7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3pl bl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgIDAKKygxIHJvdykKKworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBiYWNr ZW5kIGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNf ZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gMCBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZf YWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92 aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBwYWdlc19mcm96 ZW4gfCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQK KygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2li bGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxl X3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgxMDAxOworRVJS T1I6ICBjb2x1bW4gIngxMDAxIiBkb2VzIG5vdCBleGlzdAorTElORSAxOiBVUERBVEUgdmVz dGF0IFNFVCB4ID0geDEwMDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NF TEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNp YmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4g OmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4g OmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNf YWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9w YWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cpCisK K1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCBy ZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBo YXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCBwYWdlc19mcm96ZW4g PSA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID0gOnB2IEFTIHBhZ2Vz X2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9m cm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92 aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCc7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZf YWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBtaW4ocmVsaWQp IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApIHdoZXJlIHJlbGlkID4gMDsKKyBtaW4g CistLS0tLQorIDExMgorKDEgcm93KQorCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggNGYzODEwNGJhMDEuLjMyYzcw NmQzMzYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTEzNiwzICsx MzYsOCBAQCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxlc3BhY2UgdGVzdCBhdCB0 aGUgZW5kIGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2UgY3JlYXRlZCBkdXJpbmcK ICMgc2V0dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVzdDogdGFibGVzcGFjZQor CisjIC0tLS0tLS0tLS0KKyMgQ2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKKyMgLS0tLS0tLS0t LQordGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmJjOGQwNTFhZWZhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsxLDE2MCBAQAorLS0KKy0t IFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhl IHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2Vu ZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0 IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKworLS0gY29uZGl0aW8g c2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKy0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMg YXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworXHNl dCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitT RVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29u c2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRI IChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQg SU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3Np emUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20g cGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9N IHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBl eGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxu YW1lLHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyxwYWdlc19zY2FubmVk LHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRo ZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNo b3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMs IGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3Qg ZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zy b3plbiA+IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNf ZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAw IEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCBwYWdlc19m cm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2Vz X3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBo d2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVs dGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkV1IsIHdhbF9ieXRlcyA+IDAgQVMg ZFdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCc7CisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBp cyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOwor CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFt ZSxwYWdlc19mcm96ZW4tOmZwID4gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQt OnRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19zY2FubmVkLTpwcyA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVk LTpwciA+IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQg QVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOmh3ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZw aSBBUyBkZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgor U0VMRUNUIDpkd3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworCistLSBTdG9yZSBX QUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Is d2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVM TCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNl bWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVM TCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjIsIHdhbF9ieXRlcy06aHdiIEFT IGR3YjIsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBXQUwgYW5kIG90aGVy IHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpk d3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFTIGRXQjsKKworU0VM RUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAgQVMgcGFnZXNfZnJvemVuLHR1 cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA8 IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQs cGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1 cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBz LHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0g Yy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBo ZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAg T0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0 aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJp YWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNU IHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2Fs X2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdl ZAorU0VMRUNUIDpkd3IzPjAgQVMgZFdSLCA6ZGZwaTM9MCBBUyBkRlBJLCA6ZHdiMz4wIEFT IGRXQjsKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2Vk IGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0 ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQg dmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscGFn ZXNfZnJvemVuLTpmcCA9IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA9 IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIg PSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCistLSBtdXN0 IGJlIGVtcHR5CitTRUxFQ1QgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlzaWJsZSwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBiYWNrZW5k IGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJv emVuLHBhZ2VzX2FsbF92aXNpYmxlID4gMCBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxs X2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNp YmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKK1NFTEVDVCBwYWdlc19m cm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9w YWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVVBE QVRFIHZlc3RhdCBTRVQgeCA9IHgxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYg QVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92 aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5f cGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxl X3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCc7CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBB UyBwdiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFn ZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCkgdmVzdGF0OworCistLSB2YWN1dW0gZnJlZXplZCBwYWdlcworU0VMRUNUIHBh Z2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6 cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBB UyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBB UyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMoMCkgd2hlcmUgcmVsaWQgPiAwOworCitEUk9QIFRBQkxFIHZl c3RhdCBDQVNDQURFOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuMzQuMQoK --------------sSXXll0M0bLhsuFZctEtxp9S Content-Type: text/x-patch; charset=UTF-8; name="v9-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v9-0002-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBkZDJiNDAzMzMzYTg3ZTU3NTRlMGMyZmI4ZDEzM2IwMDNmYjU2NzQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA4IE9jdCAyMDI0IDE5OjExOjE4ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuIFJlbWVtYmVy LCBzdGF0aXN0aWMgb24gaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zIGEgCiBiaXQgZGlmZmVy ZW50IChzZWUgRXh0VmFjUmVwb3J0IHRvIGZpbmQgb3V0IG1vcmUgaW5mb3JtYXRpb24pLiBU aGUgY29uY2VwdCBvZgogIHRoZSBFeHRWYWNSZXBvcnQgc3RydWN0dXJlIGhhcyBiZWVuIGNv bXBsaWNhdGVkIHRvIHN0b3JlIHN0YXRpc3RpYyAKIGluZm9ybWF0aW9uIGZvciB0d28ga2lu ZHMgb2YgcmVsYXRpb25zOiBmb3IgaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zLiAKIEV4dFZh Y1JlcG9ydFR5cGUgdmFyaWFibGUgaGVscHMgdG8gZGV0ZXJtaW5lIHdoYXQgdGhlIGtpbmQg aXMgY29uc2lkZXJpbmcgCiBub3cuCgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYyAgICAgICAgICB8ICA5OSArKysrKysrKystLQogc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDQwICsrKysrCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDcgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0MSArKystLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgIDk4ICsrKysr KystLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAg fCAgIDkgKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDUyICsrKystLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu b3V0ICAgIHwgICA3ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAg ICAgICAgICAgfCAgMjYgKysrCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3Mub3V0ICAgICAgfCAxNjQgKysrKysrKysrKysrKysrKysrCiAuLi4vZXhwZWN0ZWQvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCAgICAgfCAgIDkgKy0KIHNyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMSArCiAuLi4vcmVncmVzcy9z cWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsICAgfCAxMzAgKysrKysrKysrKysrKysK IDEzIGZpbGVzIGNoYW5nZWQsIDYwNSBpbnNlcnRpb25zKCspLCA3OCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9p bmRleF9zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYwppbmRleCBkNjMzMDNjN2ZiNy4uOWM1M2QwYjRjNTcgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2OCw2ICsxNjgsNyBAQCB0 eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAg KnJlbG5hbWVzcGFjZTsKIAlPaWQJCQlyZWxvaWQ7CisJT2lkCQkJaW5kb2lkOwogCWNoYXIJ ICAgKnJlbG5hbWU7CiAJY2hhcgkgICAqaW5kbmFtZTsJCS8qIEN1cnJlbnQgaW5kZXggbmFt ZSAqLwogCUJsb2NrTnVtYmVyIGJsa25vOwkJCS8qIHVzZWQgb25seSBmb3IgaGVhcCBvcGVy YXRpb25zICovCkBAIC0yNDYsNiArMjQ3LDEzIEBAIHR5cGVkZWYgc3RydWN0IExWRXh0U3Rh dENvdW50ZXJzCiAJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKIH0gTFZFeHRTdGF0Q291 bnRlcnM7CiAKK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzSWR4Cit7CisJTFZF eHRTdGF0Q291bnRlcnMgY29tbW9uOworCWludDY0CQlwYWdlc19kZWxldGVkOworCWludDY0 CQl0dXBsZXNfcmVtb3ZlZDsKK30gTFZFeHRTdGF0Q291bnRlcnNJZHg7CisKIC8qIG5vbi1l eHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIHZvaWQgbGF6eV9zY2FuX2hl YXAoTFZSZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRpYyBib29sIGhlYXBfdmFjX3NjYW5fbmV4 dF9ibG9jayhMVlJlbFN0YXRlICp2YWNyZWwsIEJsb2NrTnVtYmVyICpibGtubywKQEAgLTQw OCw2ICs0MTYsNDYgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3Rh dENvdW50ZXJzICpjb3VudGVycywKIAkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nr c19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKIH0KIAorc3RhdGljIHZvaWQKK2V4dHZh Y19zdGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQg KnN0YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCit7CisJ ZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmNvdW50ZXJzLT5jb21tb24pOworCWNvdW50ZXJz LT5wYWdlc19kZWxldGVkID0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gMDsKKworCWlm IChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogWFhYOiBXaHkgZG8gd2UgbmVlZCB0 aGlzIGNvZGUgaGVyZT8gSWYgaXQgaXMgbmVlZGVkLCBJIGZlZWwgbGFjayBvZgorCQkgKiBj b21tZW50cywgZGVzY3JpYmluZyB0aGUgcmVhc29uLgorCQkgKi8KKwkJY291bnRlcnMtPnR1 cGxlc19yZW1vdmVkID0gc3RhdHMtPnR1cGxlc19yZW1vdmVkOworCQljb3VudGVycy0+cGFn ZXNfZGVsZXRlZCA9IHN0YXRzLT5wYWdlc19kZWxldGVkOworCX0KK30KKworc3RhdGljIHZv aWQKK2V4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRl UmVzdWx0ICpzdGF0cywKKwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywg RXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZjb3Vu dGVycy0+Y29tbW9uLCByZXBvcnQpOworCXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNf SU5ERVg7CisKKwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0 aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0 YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkv KiBGaWxsIGluZGV4LXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBv cnQtPmluZGV4LnR1cGxlc19kZWxldGVkID0KKwkJCQkJCQlzdGF0cy0+dHVwbGVzX3JlbW92 ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CisJCXJlcG9ydC0+aW5kZXgucGFnZXNf ZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVycy0+cGFn ZXNfZGVsZXRlZDsKKwl9Cit9CisKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAtLSBwZXJm b3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KICAqCkBAIC03MTEsMTQgKzc1OSwx NSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFt cywKIAlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVw b3J0KTsKIAogCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMg Ki8KLQlleHRWYWNSZXBvcnQucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdl czsKLQlleHRWYWNSZXBvcnQucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdl czsKLQlleHRWYWNSZXBvcnQucGFnZXNfZnJvemVuID0gdmFjcmVsLT5zZXRfZnJvemVuX3Bh Z2VzOwotCWV4dFZhY1JlcG9ydC5wYWdlc19hbGxfdmlzaWJsZSA9IHZhY3JlbC0+c2V0X2Fs bF92aXNpYmxlX3BhZ2VzOwotCWV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCA9IHZhY3Jl bC0+dHVwbGVzX2RlbGV0ZWQ7Ci0JZXh0VmFjUmVwb3J0LnR1cGxlc19mcm96ZW4gPSB2YWNy ZWwtPnR1cGxlc19mcm96ZW47Ci0JZXh0VmFjUmVwb3J0LmRlYWRfdHVwbGVzID0gdmFjcmVs LT5yZWNlbnRseV9kZWFkX3R1cGxlcyArIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOwot CWV4dFZhY1JlcG9ydC5pbmRleF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9z Y2FuczsKKwlleHRWYWNSZXBvcnQudHlwZSA9IFBHU1RBVF9FWFRWQUNfSEVBUDsKKwlleHRW YWNSZXBvcnQuaGVhcC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOwor CWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFn ZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAucGFnZXNfZnJvemVuID0gdmFjcmVsLT5zZXRfZnJv emVuX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlID0gdmFj cmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAudHVwbGVz X2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCWV4dFZhY1JlcG9ydC5oZWFw LnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47CisJZXh0VmFjUmVwb3J0 LmhlYXAuZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFj cmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAuaW5kZXhfdmFj dXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CiAKIAkvKgogCSAqIFJlcG9y dCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSwgdG9vLgpAQCAtMjU4 Myw2ICsyNjMyLDEwIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWws IEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2 aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3Vu dGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0Owor CisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRl cnMpOwogCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFj cmVsLT5yZWw7CkBAIC0yNjAxLDYgKzI2NTQsNyBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgo UmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwog CUFzc2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0g cHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmlu ZG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9y X2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9Q SEFTRV9WQUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxp ZE9mZnNldE51bWJlcik7CkBAIC0yNjA5LDYgKzI2NjMsMTMgQEAgbGF6eV92YWN1dW1fb25l X2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwK IAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCwgKHZvaWQg KikgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVhZF9pdGVtc19p bmZvKTsKIAorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5k ZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291 bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRp b25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJl ZCwKKwkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwogCS8qIFJldmVydCB0byB0aGUg cHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJl c3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBm cmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0yNjMzLDYgKzI2OTQsMTAgQEAgbGF6eV9jbGVh bnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq aXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBz YXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsK KwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lk eChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4ID0g aW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0yNjUyLDEyICsy NzE3LDIwIEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRl eEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmluZG5h bWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJl bGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0UmVs aWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRf ZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9JTkRFWF9DTEVBTlVQLAog CQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRPZmZzZXROdW1iZXIpOwogCiAJ aXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQpOwogCisJLyog TWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCWV4dHZh Y19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZh Y1JlcG9ydCk7CisKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGlu ZHJlbCksCisJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCTAs IDAsICZleHRWYWNSZXBvcnQpOworCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFz ZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1f ZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CiAJcGZyZWUodmFjcmVsLT5p bmRuYW1lKTsKQEAgLTMyNzQsNyArMzM0Nyw3IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2 b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9TQ0FOX0hFQVA6CiAJ CQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1 bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOworCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19IRUFQKTsKIAkJCWlmIChCbG9j a051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZzZXRO dW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBAIC0zMjkxLDcgKzMzNjQsNyBAQCB2 YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0J CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKKwkJCQlw Z3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRW QUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkK IAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpA QCAtMzMwNywxNiArMzM4MCwyMiBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJn KQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lOREVY OgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsKIAkJ CWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24g XCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFt ZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVN X0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBF UlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQs IFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJZXJyY29udGV4dCgid2hpbGUgY2xlYW5pbmcg dXAgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNcIiIsCiAJCQkJCSAgIGVycmlu Zm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSk7 CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9UUlVOQ0FURToKKwkJ CWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19IRUFQKTsKIAkJCWlmIChC bG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJCWVycmNvbnRleHQoIndo aWxlIHRydW5jYXRpbmcgcmVsYXRpb24gXCIlcy4lc1wiIHRvICV1IGJsb2NrcyIsCiAJCQkJ CQkgICBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUsIGVycmluZm8t PmJsa25vKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCBlYzk5 NzUzMTMyNi4uZjVlNGUxZmJhYTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwKQEAgLTE0MzQsMyArMTQzNCw0MyBAQCBXSEVSRQogICByZWwub2lkID0gc3RhdHMu cmVsaWQgQU5ECiAgIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UgQU5ECiAgIHJlbC5yZWxr aW5kID0gJ3InOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFTCitT RUxFQ1QKKyAgcmVsLm9pZCBhcyByZWxpZCwKKyAgbnMubnNwbmFtZSBBUyAic2NoZW1hIiwK KyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQs CisgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAorICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQs CisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICBzdGF0cy5yZWxfYmxrc19yZWFk LAorICBzdGF0cy5yZWxfYmxrc19oaXQsCisKKyAgc3RhdHMucGFnZXNfZGVsZXRlZCwKKyAg c3RhdHMudHVwbGVzX2RlbGV0ZWQsCisKKyAgc3RhdHMud2FsX3JlY29yZHMsCisgIHN0YXRz LndhbF9mcGksCisgIHN0YXRzLndhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1l LAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKworICBzdGF0cy5kZWxheV90aW1lLAorICBz dGF0cy5zeXN0ZW1fdGltZSwKKyAgc3RhdHMudXNlcl90aW1lLAorICBzdGF0cy50b3RhbF90 aW1lLAorICBzdGF0cy5pbnRlcnJ1cHRzCitGUk9NCisgIHBnX2RhdGFiYXNlIGRiLAorICBw Z19jbGFzcyByZWwsCisgIHBnX25hbWVzcGFjZSBucywKKyAgcGdfc3RhdF92YWN1dW1faW5k ZXhlcyhyZWwub2lkKSBzdGF0cworV0hFUkUKKyAgZGIuZGF0bmFtZSA9IGN1cnJlbnRfZGF0 YWJhc2UoKSBBTkQKKyAgcmVsLm9pZCA9IHN0YXRzLnJlbGlkIEFORAorICBucy5vaWQgPSBy ZWwucmVsbmFtZXNwYWNlIEFORAorICByZWwucmVsa2luZCA9ICdpJzsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggYzI4M2U0NDJmNmYuLjg0MzYxN2ViYTI1IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTEyMiw3ICsxMTIyLDgg QEAgcGdzdGF0X3VwZGF0ZV9zbmFwc2hvdChQZ1N0YXRfS2luZCBraW5kKQogCVBHX1RSWSgp OwogCXsKIAkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gUEdTVEFUX0ZFVENIX0NPTlNJ U1RFTkNZX1NOQVBTSE9UOwotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRf UkVMQVRJT04pOworCQlpZiAoa2luZCA9PSBQR1NUQVRfS0lORF9SRUxBVElPTikKKwkJCXBn c3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9SRUxBVElPTik7CiAJfQogCVBHX0ZJ TkFMTFkoKTsKIAl7CkBAIC0xMTc3LDYgKzExNzgsMTAgQEAgcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogCQlpZiAocC0+ZHJvcHBlZCkKIAkJCWNvbnRp bnVlOwogCisJCWlmIChzdGF0S2luZCAhPSBQR1NUQVRfS0lORF9JTlZBTElEICYmIHN0YXRL aW5kICE9IHAtPmtleS5raW5kKQorCQkJLyogTG9hZCBzdGF0IG9mIHNwZWNpZmljIHR5cGUs IGlmIGRlZmluZWQgKi8KKwkJCWNvbnRpbnVlOworCiAJCUFzc2VydChwZ19hdG9taWNfcmVh ZF91MzIoJnAtPnJlZmNvdW50KSA+IDApOwogCiAJCXN0YXRzX2RhdGEgPSBkc2FfZ2V0X2Fk ZHJlc3MocGdTdGF0TG9jYWwuZHNhLCBwLT5ib2R5KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggNzkxZDc3N2ZiYzYuLjVjOTUz NjNjMDRhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYwpAQCAtMjEzLDcgKzIxMyw3IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0 aW9uIHJlbCkKICAqIC0tLS0tLS0tLQogICovCiB2b2lkCi1wZ3N0YXRfcmVwb3J0X3ZhY3V1 bV9lcnJvcihPaWQgdGFibGVvaWQpCitwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQg dGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQogewogCVBnU3RhdF9FbnRyeVJl ZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAg LTIzMCw2ICsyMzAsNyBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVv aWQpCiAJdGFiZW50cnkgPSAmc2h0YWJlbnRyeS0+c3RhdHM7CiAKIAl0YWJlbnRyeS0+dmFj dXVtX2V4dC5pbnRlcnJ1cHRzKys7CisJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1f dHlwZTsKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CiB9CiAKQEAgLTEwNDIs MTUgKzEwNDMsMzEgQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1Jl cG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlpZiAoIWFjY3VtdWxhdGVfcmVsdHlw ZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CiAKLQlkc3QtPmJsa3NfZmV0Y2hlZCArPSBz cmMtPmJsa3NfZmV0Y2hlZDsKLQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7Ci0K LQlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19zY2FubmVkOwotCWRzdC0+cGFn ZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7Ci0JZHN0LT5wYWdlc19mcm96ZW4g Kz0gc3JjLT5wYWdlc19mcm96ZW47Ci0JZHN0LT5wYWdlc19hbGxfdmlzaWJsZSArPSBzcmMt PnBhZ2VzX2FsbF92aXNpYmxlOwotCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBs ZXNfZGVsZXRlZDsKLQlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVu OwotCWRzdC0+ZGVhZF90dXBsZXMgKz0gc3JjLT5kZWFkX3R1cGxlczsKLQlkc3QtPmluZGV4 X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKKwlpZiAoZHN0LT50 eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCkKKwkJZHN0LT50eXBlID0gc3JjLT50eXBl OworCisJQXNzZXJ0KHNyYy0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQgfHwgc3Jj LT50eXBlID09IGRzdC0+dHlwZSk7CisKKwlpZiAoZHN0LT50eXBlID09IHNyYy0+dHlwZSkK Kwl7CisJCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOworCQlkc3Qt PmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7CisKKwkJaWYgKGRzdC0+dHlwZSA9PSBQR1NU QVRfRVhUVkFDX0hFQVApCisJCXsKKwkJCWRzdC0+aGVhcC5wYWdlc19zY2FubmVkICs9IHNy Yy0+aGVhcC5wYWdlc19zY2FubmVkOworCQkJZHN0LT5oZWFwLnBhZ2VzX3JlbW92ZWQgKz0g c3JjLT5oZWFwLnBhZ2VzX3JlbW92ZWQ7CisJCQlkc3QtPmhlYXAucGFnZXNfZnJvemVuICs9 IHNyYy0+aGVhcC5wYWdlc19mcm96ZW47CisJCQlkc3QtPmhlYXAucGFnZXNfYWxsX3Zpc2li bGUgKz0gc3JjLT5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlOworCQkJZHN0LT5oZWFwLnR1cGxl c19kZWxldGVkICs9IHNyYy0+aGVhcC50dXBsZXNfZGVsZXRlZDsKKwkJCWRzdC0+aGVhcC50 dXBsZXNfZnJvemVuICs9IHNyYy0+aGVhcC50dXBsZXNfZnJvemVuOworCQkJZHN0LT5oZWFw LmRlYWRfdHVwbGVzICs9IHNyYy0+aGVhcC5kZWFkX3R1cGxlczsKKwkJCWRzdC0+aGVhcC5p bmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5oZWFwLmluZGV4X3ZhY3V1bV9jb3VudDsKKwkJ fQorCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKKwkJewor CQkJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9IHNyYy0+aW5kZXgucGFnZXNfZGVsZXRl ZDsKKwkJCWRzdC0+aW5kZXgudHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC50dXBsZXNf ZGVsZXRlZDsKKwkJfQorCX0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IGViYTE3ODNlNTFhLi5lNjk4ZDYz Nzg2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIxMDEsMTcg KzIxMDEsMTkgQEAgcGdfc3RhdF9oYXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiB9CiAK ICNkZWZpbmUgRVhUVkFDSEVBUFNUQVRfQ09MVU1OUwkyNworI2RlZmluZSBFWFRWQUNJRFhT VEFUX0NPTFVNTlMJMTkKKyNkZWZpbmUgRVhUVkFDU1RBVF9DT0xVTU5TIE1heChFWFRWQUNI RUFQU1RBVF9DT0xVTU5TLCBFWFRWQUNJRFhTVEFUX0NPTFVNTlMpCiAKIHN0YXRpYyB2b2lk CiB0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oT2lkIHJlbGlkLCBSZXR1cm5TZXRJbmZv ICpyc2luZm8sCiAJCQkJCQkJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnkpCiB7Ci0J RGF0dW0JCXZhbHVlc1tFWFRWQUNIRUFQU1RBVF9DT0xVTU5TXTsKLQlib29sCQludWxsc1tF WFRWQUNIRUFQU1RBVF9DT0xVTU5TXTsKKwlEYXR1bQkJdmFsdWVzW0VYVFZBQ1NUQVRfQ09M VU1OU107CisJYm9vbAkJbnVsbHNbRVhUVkFDU1RBVF9DT0xVTU5TXTsKIAljaGFyCQlidWZb MjU2XTsKIAlpbnQJCQlpID0gMDsKIAotCW1lbXNldChudWxscywgMCwgRVhUVkFDSEVBUFNU QVRfQ09MVU1OUyAqIHNpemVvZihib29sKSk7CisJbWVtc2V0KG51bGxzLCAwLCBFWFRWQUNT VEFUX0NPTFVNTlMgKiBzaXplb2YoYm9vbCkpOwogCiAJdmFsdWVzW2krK10gPSBPYmplY3RJ ZEdldERhdHVtKHJlbGlkKTsKIApAQCAtMjEyNCwxNiArMjEyNiwyNSBAQCB0dXBsZXN0b3Jl X3B1dF9mb3JfcmVsYXRpb24oT2lkIHJlbGlkLCBSZXR1cm5TZXRJbmZvICpyc2luZm8sCiAJ CQkJCQkJCQl0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CiAJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3NfaGl0KTsKIAotCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5wYWdlc19z Y2FubmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1 bV9leHQucGFnZXNfcmVtb3ZlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRh YmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2Zyb3plbik7Ci0JdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2FsbF92aXNpYmxlKTsKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudHVwbGVz X2RlbGV0ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFj dXVtX2V4dC50dXBsZXNfZnJvemVuKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQuZGVhZF90dXBsZXMpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbmRleF92YWN1dW1fY291bnQpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5f cGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzKTsKKwlpZiAodGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9PSBQ R1NUQVRfRVhUVkFDX0hFQVApCisJeworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5wYWdlc19zY2FubmVkKTsKKwkJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmhlYXAucGFnZXNfcmVt b3ZlZCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVt X2V4dC5oZWFwLnBhZ2VzX2Zyb3plbik7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlKTsKKwkJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmhlYXAudHVw bGVzX2RlbGV0ZWQpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnkt PnZhY3V1bV9leHQuaGVhcC50dXBsZXNfZnJvemVuKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmhlYXAuZGVhZF90dXBsZXMpOworCQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5p bmRleF92YWN1dW1fY291bnQpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFi ZW50cnktPnJldl9hbGxfZnJvemVuX3BhZ2VzKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKHRhYmVudHJ5LT5yZXZfYWxsX3Zpc2libGVfcGFnZXMpOworCisJfQorCWVsc2Ug aWYgKHRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkK Kwl7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4 dC5pbmRleC5wYWdlc19kZWxldGVkKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KHRhYmVudHJ5LT52YWN1dW1fZXh0LmluZGV4LnR1cGxlc19kZWxldGVkKTsKKwl9CiAKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQud2FsX3Jl Y29yZHMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVt X2V4dC53YWxfZnBpKTsKQEAgLTIxNjEsMTAgKzIxNzIsOSBAQCB0dXBsZXN0b3JlX3B1dF9m b3JfcmVsYXRpb24oT2lkIHJlbGlkLCBSZXR1cm5TZXRJbmZvICpyc2luZm8sCiAgKiBHZXQg dGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMgb3IgaW5kZXhlcy4K ICAqLwogc3RhdGljIHZvaWQKLXBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZj aW5mbywgaW50IG5jb2x1bW5zKQorcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8g ZmNpbmZvLCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIHsKIAlSZXR1 cm5TZXRJbmZvCQkgICAqcnNpbmZvID0gKFJldHVyblNldEluZm8gKikgZmNpbmZvLT5yZXN1 bHRpbmZvOwotCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRf U3RhdFRhYkVudHJ5ICAgICp0YWJlbnRyeTsKIAogCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNp bmZvLCAwKTsKQEAgLTIxNzcsMzQgKzIxODcsMzkgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0 aW9uQ2FsbEluZm8gZmNpbmZvLCBpbnQgbmNvbHVtbnMpCiAJQXNzZXJ0KHJzaW5mby0+c2V0 RGVzYy0+bmF0dHMgPT0gbmNvbHVtbnMpOwogCUFzc2VydChyc2luZm8tPnNldFJlc3VsdCAh PSBOVUxMKTsKIAotCS8qIExvYWQgdGFibGUgc3RhdGlzdGljcyBmb3Igc3BlY2lmaWVkIGRh dGFiYXNlLiAqLwotCWlmIChPaWRJc1ZhbGlkKHJlbGlkKSkKKwlpZiAodHlwZSA9PSBQR1NU QVRfRVhUVkFDX0lOREVYIHx8IHR5cGUgPT0gUEdTVEFUX0VYVFZBQ19IRUFQKQogCXsKLQkJ dGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7Ci0JCWlmICh0 YWJlbnRyeSA9PSBOVUxMKQotCQkJLyogVGFibGUgZG9uJ3QgZXhpc3RzIG9yIGlzbid0IGFu IGhlYXAgcmVsYXRpb24uICovCi0JCQlyZXR1cm47CisJCU9pZAkJCQkJcmVsaWQgPSBQR19H RVRBUkdfT0lEKDApOwogCi0JCXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwg cnNpbmZvLCB0YWJlbnRyeSk7Ci0JfQotCWVsc2UKLQl7Ci0JCVNuYXBzaG90SXRlcmF0b3IJ CWhhc2hpdGVyOwotCQlQZ1N0YXRfU25hcHNob3RFbnRyeSAgICplbnRyeTsKKwkJLyogTG9h ZCB0YWJsZSBzdGF0aXN0aWNzIGZvciBzcGVjaWZpZWQgcmVsYXRpb24uICovCisJCWlmIChP aWRJc1ZhbGlkKHJlbGlkKSkKKwkJeworCQkJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3Rh dF90YWJlbnRyeShyZWxpZCk7CisJCQlpZiAodGFiZW50cnkgPT0gTlVMTCB8fCB0YWJlbnRy eS0+dmFjdXVtX2V4dC50eXBlICE9IHR5cGUpCisJCQkJLyogVGFibGUgZG9uJ3QgZXhpc3Rz IG9yIGlzbid0IGFuIGhlYXAgcmVsYXRpb24uICovCisJCQkJcmV0dXJuOworCisJCQl0dXBs ZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24ocmVsaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQl9 CisJCWVsc2UKKwkJeworCQkJU25hcHNob3RJdGVyYXRvcgkJaGFzaGl0ZXI7CisJCQlQZ1N0 YXRfU25hcHNob3RFbnRyeSAgICplbnRyeTsKIAotCQlwZ3N0YXRfdXBkYXRlX3NuYXBzaG90 KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwkJCXBnc3RhdF91cGRhdGVfc25hcHNob3QoUEdT VEFUX0tJTkRfUkVMQVRJT04pOwogCi0JCS8qIEl0ZXJhdGUgdGhlIHNuYXBzaG90ICovCi0J CUluaXRTbmFwc2hvdEl0ZXJhdG9yKHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFz aGl0ZXIpOworCQkJLyogSXRlcmF0ZSB0aGUgc25hcHNob3QgKi8KKwkJCUluaXRTbmFwc2hv dEl0ZXJhdG9yKHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIpOwogCi0J CXdoaWxlICgoZW50cnkgPSBTY2FuU3RhdFNuYXBzaG90KHBnU3RhdExvY2FsLnNuYXBzaG90 LnN0YXRzLCAmaGFzaGl0ZXIpKSAhPSBOVUxMKQotCQl7Ci0JCQlDSEVDS19GT1JfSU5URVJS VVBUUygpOworCQkJd2hpbGUgKChlbnRyeSA9IFNjYW5TdGF0U25hcHNob3QocGdTdGF0TG9j YWwuc25hcHNob3Quc3RhdHMsICZoYXNoaXRlcikpICE9IE5VTEwpCisJCQl7CisJCQkJQ0hF Q0tfRk9SX0lOVEVSUlVQVFMoKTsKIAotCQkJdGFiZW50cnkgPSAoUGdTdGF0X1N0YXRUYWJF bnRyeSAqKSBlbnRyeS0+ZGF0YTsKKwkJCQl0YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRhYkVu dHJ5ICopIGVudHJ5LT5kYXRhOwogCi0JCQlpZiAodGFiZW50cnkgIT0gTlVMTCkKLQkJCQl0 dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oZW50cnktPmtleS5vYmppZCwgcnNpbmZvLCB0 YWJlbnRyeSk7CisJCQkJaWYgKHRhYmVudHJ5ICE9IE5VTEwgJiYgdGFiZW50cnktPnZhY3V1 bV9leHQudHlwZSA9PSB0eXBlKQorCQkJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24o ZW50cnktPmtleS5vYmpvaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQkJfQogCQl9CiAJfQog fQpAQCAtMjIxNyw1ICsyMjMyLDE2IEBAIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyhQR19GVU5D VElPTl9BUkdTKQogewogCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIEVYVFZBQ0hFQVBTVEFU X0NPTFVNTlMpOwogCisJUEdfUkVUVVJOX1ZPSUQoKTsKK30KKworLyoKKyAqIEdldCB0aGUg dmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleGVzLgorICovCitEYXR1bQorcGdfc3Rh dF92YWN1dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1 bShmY2luZm8sIFBHU1RBVF9FWFRWQUNfSU5ERVgsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUyk7 CisKIAlQR19SRVRVUk5fVk9JRCgpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGM4NjFlNTY5MWNiLi45NzIzNTUxYTcz YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjMzOCw0ICsxMjMzOCwxMyBA QAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGll ZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNf c2Nhbm5lZCxwYWdlc19yZW1vdmVkLHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0 dXBsZXNfZGVsZXRlZCx0dXBsZXNfZnJvemVuLGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9j b3VudCxyZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMsd2FsX3Jl Y29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxk ZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9 JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV90YWJsZXMnIH0sCit7IG9pZCA9PiAn ODAwMicsCisgIGRlc2NyID0+ICdwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0 cyB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X3ZhY3V1bV9pbmRleGVzJywgcHJv cm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29y ZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0 eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9h dDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCisgIHByb2Fy Z21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScs CisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3Rh bF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9i bGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2Fs X3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGlt ZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVw dHN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV9pbmRleGVzJyB9CiBdCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmlu ZGV4IGU3NjRhOGM1MzI2Li5iNzg0YmNjM2VmZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv cGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTE2OSwxMSArMTY5LDE5 IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291 bnRlciBjb25mbGljdF9jb3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFj a2VuZFN1YkVudHJ5OwogCisvKiBUeXBlIG9mIEV4dFZhY1JlcG9ydCAqLwordHlwZWRlZiBl bnVtIEV4dFZhY1JlcG9ydFR5cGUKK3sKKwlQR1NUQVRfRVhUVkFDX0lOVkFMSUQgPSAwLAor CVBHU1RBVF9FWFRWQUNfSEVBUCA9IDEsCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIKK30g RXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0tLS0tLS0tLQogICoKICAqIEV4dFZhY1JlcG9y dAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBv dmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1 dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRpb24uCiAgKiBwYWdlc19yZW1vdmVkIGlzIHRo ZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAogICogaWYgYW55IChp ZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCiAgKiBwYWdlc19kZWxl dGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCkBAIC0yMDUs MTQgKzIxMywzOCBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAkvKiBJbnRlcnJ1 cHRpb25zIG9uIGFueSBlcnJvcnMuICovCiAJaW50MzIJCWludGVycnVwdHM7CiAKLQlpbnQ2 NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIG51bWJlciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLwot CWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkg dmFjdXVtICovCi0JaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBt YXJrZWQgaW4gVk0gYXMgZnJvemVuICovCi0JaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkv KiBudW1iZXIgb2YgcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCi0JaW50 NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0J aW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAq LwotCWludDY0CQlkZWFkX3R1cGxlczsJCS8qIG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3 aGljaCB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KLQlp bnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5n cyAqLworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICov CisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBUaGVyZSBhcmUgc2VwYXJhdGUgbWV0cmlj cyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQgaW5kZXhlcywKKwkgKiB3aGljaCBjb2xs ZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVuaW9uIG9wZXJhdG9yIGFsbG93cyB0byBj b21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBzbyB0aGF0IGVhY2ggbWV0cmljIGlzIGFz c2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2YgY29sbGVjdGVkIHN0YXRpc3RpY3MuCisJ ICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRz LgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFu eXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBjb2Rl LgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9uCisJeworCQlzdHJ1Y3QKKwkJeworCQkJ aW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQg Ki8KKwkJCWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92 ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9m IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxf dmlzaWJsZTsJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJs ZSAqLworCQkJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkg dmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4g dXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJZGVhZF90dXBsZXM7CQkvKiBudW1iZXIgb2Yg ZGVsZXRlZCB0dXBsZXMgd2hpY2ggdmFjdXVtIGNhbm5vdCBjbGVhbiB1cCBieSB2YWN1dW0g b3BlcmF0aW9uICovCisJCQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIg b2YgaW5kZXggdmFjdXVtaW5ncyAqLworCQl9CQkJaGVhcDsKKwkJc3RydWN0CisJCXsKKwkJ CWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkg dmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRl ZCBieSB2YWN1dW0gKi8KKwkJfQkJCWluZGV4OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87 CiB9IEV4dFZhY1JlcG9ydDsKIAogLyogLS0tLS0tLS0tLQpAQCAtNjk0LDcgKzcyNiw3IEBA IGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBz aGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVs LAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVy IGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZv aWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2 b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVw b3J0VHlwZSBtX3R5cGUpOwogCiAvKgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBw ZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4 dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKaW5kZXggN2NkYjc5YzBlYzQuLjkzZmUx NWMwMWY5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVt LWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0 aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBA IC05LDEwICs5LDkgQEAgc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAgICAg RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2 dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKIAotcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8 ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAg MAotKDEgcm93KQorcmVsbmFtZXx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNf ZnJvemVuCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KKygwIHJvd3MpCiAKIHN0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKICAgQkVH SU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggNzAwYTQ4NjM5NjQuLmUzMjkwZGE3 NDhkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjIzNyw2ICsy MjM3LDMyIEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICBhdXRv YW5hbHl6ZV9jb3VudAogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChz Y2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRp b25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRl eHQpKTsKK3BnX3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlk LAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0 YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBz dGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVu LAorICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAor ICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisg ICAgc3RhdHMud2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53 YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3Jp dGVfdGltZSwKKyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnN5c3RlbV90aW1l LAorICAgIHN0YXRzLnVzZXJfdGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lLAorICAgIHN0 YXRzLmludGVycnVwdHMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisgICAgcGdfY2xhc3Mg cmVsLAorICAgIHBnX25hbWVzcGFjZSBucywKKyAgICBMQVRFUkFMIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMocmVsLm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxf Ymxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxf Ymxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBhZ2VzX2RlbGV0ZWQsIHR1cGxlc19kZWxldGVk LCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtf d3JpdGVfdGltZSwgZGVsYXlfdGltZSwgc3lzdGVtX3RpbWUsIHVzZXJfdGltZSwgdG90YWxf dGltZSwgaW50ZXJydXB0cykKKyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3VycmVudF9kYXRh YmFzZSgpKSBBTkQgKHJlbC5vaWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5vaWQgPSByZWwu cmVsbmFtZXNwYWNlKSBBTkQgKHJlbC5yZWxraW5kID0gJ2knOjoiY2hhciIpKTsKIHBnX3N0 YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNw bmFtZSBBUyBzY2hlbWEsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40ZjZlMzA1NzEwZQotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTY0IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZl IHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNz IGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGlj IHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVo YXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0tLS0t LS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1 dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7 CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUg MTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVl emVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25h cHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4 ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5h bWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcmVscGFnZXMg fCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKworU0VMRUNU IHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nhcnkg dG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxl IGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0 aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBh Z2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRh YmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBh Z2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAg ICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFt ZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQg QVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxf cmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNv cmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKKyBkaXdyIHwg ZGl3YiAKKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJP TSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hl Y2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gcGFnZXNfcmVtb3ZlZCBt dXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAg QVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1 cGxlc19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFn ZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtl eSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxF Q1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3 YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhZHZhbmNlIHNob3Vs ZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFT IGRpV0I7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJv dykKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2Fs X3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAy ID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9y LiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0 ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Iy LCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5v dCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMg aUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0r LS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQu cmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTpp cGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVw bGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNf ZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAg IHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFn ZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0 YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxl cyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdh bF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBk aVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZw aSB8IGRpd2IgCistLS0tLS0rLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEg cm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQg aW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRl bmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxu YW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LQorIHZlc3RhdF9wa2V5IHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93 KQorCitTRUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMoMCk7 CisgbWluICAKKy0tLS0tLQorIDEyMzIKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQ7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJs ZXNfc3RhdGlzdGljcy5vdXQKaW5kZXggMDY0MDY0ZTk0YjIuLjg2MjcyMjE3ZTVkIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Mub3V0CkBAIC0zNyw4ICszNyw3IEBAIEZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CiAgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKIC0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHZlc3RhdCAgfCAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgMCB8ICAgICAgNDU1IHwgICAgICAgICAgICAgMCB8ICAgICAgICAg ICAgIDAKLSgxIHJvdykKKygwIHJvd3MpCiAKIFNFTEVDVCByZWxwYWdlcyBBUyBycAogRlJP TSBwZ19jbGFzcyBjCkBAIC0yMDEsOSArMjAwLDkgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOwogKDEgcm93KQogCiBTRUxFQ1QgbWlu KHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSByZWxpZCA+IDA7 Ci0gbWluIAotLS0tLS0KLSAxMTIKKyBtaW4gIAorLS0tLS0tCisgMTIxMwogKDEgcm93KQog CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2No ZWR1bGUKaW5kZXggMzJjNzA2ZDMzNjMuLjM0ZmQzZTRlNjc0IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0MCw0ICsxNDAsNSBAQCB0ZXN0OiB0YWJsZXNwYWNl CiAjIC0tLS0tLS0tLS0KICMgQ2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKICMgLS0tLS0tLS0t LQordGVzdDogdmFjdXVtX2luZGV4X3N0YXRpc3RpY3MKIHRlc3Q6IHZhY3V1bV90YWJsZXNf c3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzVlNTk3NGViNTkKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwKQEAgLTAsMCArMSwxMzAgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0 YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVk IGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlz aWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlz aWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBp cyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1 bnN0YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291 bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKwor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFj dXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9 IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRF IFRBQkxFIHZlc3RhdCAoeCBpbnQgcHJpbWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5h YmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxF Q1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZ WkUgdmVzdGF0OworCitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSBy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hF UkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4 dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdl cyxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBw Z19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAg T04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQg dmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3pl ZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0 aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAK K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1 cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNz IGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMu b2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQg QVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBB TkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50 byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3 Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3Jk cyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdhbF9ieXRlcyA+ IDAgQVMgZGlXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0 YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitD SEVDS1BPSU5UOworCistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxF Q1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxl dGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAg QVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVs ZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2Fs X2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+ IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMg QVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0 IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4Owor REVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRv ZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50 cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZl c3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MK K0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRp d2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhbmQg b3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxF Q1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRp V0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2Vz LHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRl ZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGly cCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdy LHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUg RlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJV RkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmlu ZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBB UyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlm cGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1Qg OmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7 CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRv IHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVk IHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVl cyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz LTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNf ZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJP TSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworU0VMRUNUIG1p bihyZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKDApOworCitEUk9QIFRBQkxF IHZlc3RhdDsKLS0gCjIuMzQuMQoK --------------sSXXll0M0bLhsuFZctEtxp9S Content-Type: text/x-patch; charset=UTF-8; name="v9-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v9-0003-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSA5YjJiNmFiMmFlNTZkOTc1ZjgyM2RiODMwYzQzYTQ1MjA3NzE2NjJkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA4IE9jdCAyMDI0IDE5OjEzOjA1ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBkYXRhYmFzZXMuIEl0IHRyYW5zbWl0cyB2YWN1dW0gc3Rh dGlzdGljYWwgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YWJsZSBhbmQgCiBhY2N1bXVsYXRl cyBpdCBmb3IgdGhlIGRhdGFiYXNlIHdoaWNoIHRoZSB0YWJsZSBiZWxvbmdlZC4KCi0tLQog c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgMjggKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwg IDIgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwg IDEgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwg MTYgKysrKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAg IHwgNzYgKysrKysrKysrKysrKysrKystCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAxMSArKy0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAzICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAxOCArKysrKwogLi4udXQgPT4gdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgNzggKysrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgIDIgKy0KIC4u LnFsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8IDY2ICsrKysr KysrKysrKysrKy0KIDExIGZpbGVzIGNoYW5nZWQsIDI5NSBpbnNlcnRpb25zKCspLCA2IGRl bGV0aW9ucygtKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGlj cy5vdXR9ICg3NyUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJs ZXNfc3RhdGlzdGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5z cWx9ICg3OCUpCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGY1 ZTRlMWZiYWE1Li5iNjNjMTgwNGI0MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbApAQCAtMTQ3NCwzICsxNDc0LDMxIEBAIFdIRVJFCiAgIHJlbC5vaWQgPSBzdGF0 cy5yZWxpZCBBTkQKICAgbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSBBTkQKICAgcmVsLnJl bGtpbmQgPSAnaSc7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlIEFT CitTRUxFQ1QKKyAgZGIub2lkIGFzIGRib2lkLAorICBkYi5kYXRuYW1lIEFTIGRibmFtZSwK KworICBzdGF0cy5kYl9ibGtzX3JlYWQsCisgIHN0YXRzLmRiX2Jsa3NfaGl0LAorICBzdGF0 cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKwor ICBzdGF0cy53YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5 dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1l LAorCisgIHN0YXRzLmRlbGF5X3RpbWUsCisgIHN0YXRzLnN5c3RlbV90aW1lLAorICBzdGF0 cy51c2VyX3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUsCisKKyAgc3RhdHMuaW50ZXJydXB0 cworRlJPTQorICBwZ19kYXRhYmFzZSBkYiBMRUZUIEpPSU4gcGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UoZGIub2lkKSBzdGF0cworT04KKyAgZGIub2lkID0gc3RhdHMuZGJvaWQ7ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQu YwppbmRleCA4NDM2MTdlYmEyNS4uMjFiMjk4MDQ2MjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdC5jCkBAIC0xMTI0LDYgKzExMjQsOCBAQCBwZ3N0YXRfdXBkYXRlX3Nu YXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9 IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVDsKIAkJaWYgKGtpbmQgPT0gUEdT VEFUX0tJTkRfUkVMQVRJT04pCiAJCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJ TkRfUkVMQVRJT04pOworCQllbHNlIGlmIChraW5kID09IFBHU1RBVF9LSU5EX0RBVEFCQVNF KQorCQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0RBVEFCQVNFKTsKIAl9 CiAJUEdfRklOQUxMWSgpOwogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggMjliYzA5MDk3NDguLmEwNjBkMWE0MDQyIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpAQCAt NDMwLDYgKzQzMCw3IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlS ZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRy eV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkp OworCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggNWM5NTM2M2MwNGEuLjcyNWUyNjQy M2YyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYwpAQCAtMjE5LDYgKzIxOSw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9p ZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiAJUGdTdGF0U2hhcmVkX1Jl bGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5Owog CU9pZAkJCWRib2lkID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRi ZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KIAogCWlmICghcGdzdGF0X3Ry YWNrX2NvdW50cykKIAkJcmV0dXJuOwpAQCAtMjMyLDYgKzIzMywxMCBAQCBwZ3N0YXRfcmVw b3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBl KQogCXRhYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKIAl0YWJlbnRyeS0+dmFj dXVtX2V4dC50eXBlID0gbV90eXBlOwogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVm KTsKKworCWRiZW50cnkgPSBwZ3N0YXRfcHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lkKTsK KwlkYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwlkYmVudHJ5LT52YWN1dW1f ZXh0LnR5cGUgPSBtX3R5cGU7CiB9CiAKIC8qCkBAIC0yNDUsNiArMjUwLDcgQEAgcGdzdGF0 X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAlQZ1N0YXRfRW50 cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7 CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJUGdTdGF0U2hhcmVkX0RhdGFi YXNlICpkYmVudHJ5OwogCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFsaWRPaWQgOiBN eURhdGFiYXNlSWQpOwogCVRpbWVzdGFtcFR6IHRzOwogCkBAIC0yOTgsNiArMzA0LDE2IEBA IHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJICog VkFDVVVNIGNvbW1hbmQgaGFzIHByb2Nlc3NlZCBhbGwgdGFibGVzIGFuZCBjb21taXR0ZWQu CiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKKwlpZiAoZGJvaWQgIT0gSW52YWxp ZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQ R1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJvaWQsIEludmFsaWRPaWQsIGZh bHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKikgZW50cnlfcmVm LT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKCZk YmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZhbHNlKTsKKwkJcGdzdGF0X3Vu bG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KKwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBlNjk4ZDYzNzg2MC4uNGQxYzA5OWIzN2UgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMTAyLDggKzIxMDIsNDkgQEAg cGdfc3RhdF9oYXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKICNkZWZpbmUgRVhUVkFD SEVBUFNUQVRfQ09MVU1OUwkyNwogI2RlZmluZSBFWFRWQUNJRFhTVEFUX0NPTFVNTlMJMTkK KyNkZWZpbmUgRVhUVkFDREJTVEFUX0NPTFVNTlMJMTUKICNkZWZpbmUgRVhUVkFDU1RBVF9D T0xVTU5TIE1heChFWFRWQUNIRUFQU1RBVF9DT0xVTU5TLCBFWFRWQUNJRFhTVEFUX0NPTFVN TlMpCiAKK3N0YXRpYyB2b2lkCit0dXBsZXN0b3JlX3B1dF9mb3JfZGF0YWJhc2UoT2lkIGRi aWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKKwkJCQkJCQlQZ1N0YXRTaGFyZWRfRGF0YWJh c2UgKmRiZW50cnkpCit7CisJRGF0dW0JCXZhbHVlc1tFWFRWQUNEQlNUQVRfQ09MVU1OU107 CisJYm9vbAkJbnVsbHNbRVhUVkFDREJTVEFUX0NPTFVNTlNdOworCWNoYXIJCWJ1ZlsyNTZd OworCWludAkJCWkgPSAwOworCisJbWVtc2V0KG51bGxzLCAwLCBFWFRWQUNEQlNUQVRfQ09M VU1OUyAqIHNpemVvZihib29sKSk7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0 dW0oZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3Rh dHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfaGl0KTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC50 b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVu dHJ5LT5zdGF0cy52YWN1dW1fZXh0LnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC53YWxfcmVj b3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZh Y3V1bV9leHQud2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdf c3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRf Rk9STUFULCBkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LndhbF9ieXRlcyk7CisJdmFsdWVz W2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENT dHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAor CQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuYmxrX3JlYWRfdGltZSk7CisJ dmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0 LmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50 cnktPnN0YXRzLnZhY3V1bV9leHQuZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnN5c3RlbV90aW1lKTsKKwl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQu dXNlcl90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnN0 YXRzLnZhY3V1bV9leHQudG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuaW50ZXJydXB0cyk7CisKKwlBc3NlcnQo aSA9PSByc2luZm8tPnNldERlc2MtPm5hdHRzKTsKKwl0dXBsZXN0b3JlX3B1dHZhbHVlcyhy c2luZm8tPnNldFJlc3VsdCwgcnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsKK30K Kwogc3RhdGljIHZvaWQKIHR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQs IFJldHVyblNldEluZm8gKnJzaW5mbywKIAkJCQkJCQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0 YWJlbnRyeSkKQEAgLTIyMTgsMTAgKzIyNTksMzAgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0 aW9uQ2FsbEluZm8gZmNpbmZvLCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1u cykKIAkJCQl0YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRhYkVudHJ5ICopIGVudHJ5LT5kYXRh OwogCiAJCQkJaWYgKHRhYmVudHJ5ICE9IE5VTEwgJiYgdGFiZW50cnktPnZhY3V1bV9leHQu dHlwZSA9PSB0eXBlKQotCQkJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oZW50cnkt PmtleS5vYmpvaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQkJCQl0dXBsZXN0b3JlX3B1dF9m b3JfcmVsYXRpb24oZW50cnktPmtleS5vYmppZCwgcnNpbmZvLCB0YWJlbnRyeSk7CiAJCQl9 CiAJCX0KIAl9CisJZWxzZSBpZiAodHlwZSA9PSBQR1NUQVRfRVhUVkFDX0RCKQorCXsKKwkJ UGdTdGF0U2hhcmVkX0RhdGFiYXNlCSAgICpkYmVudHJ5OworCQlQZ1N0YXRfRW50cnlSZWYg CQkgICAqZW50cnlfcmVmOworCQlPaWQJCQkJCQkJZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CisKKwkJaWYgKE9pZElzVmFsaWQoZGJpZCkpCisJCXsKKwkJCWVudHJ5X3JlZiA9IHBnc3Rh dF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJ CQkJZGJpZCwgSW52YWxpZE9pZCwgZmFsc2UpOworCQkJZGJlbnRyeSA9IChQZ1N0YXRTaGFy ZWRfRGF0YWJhc2UgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJCWlmIChkYmVu dHJ5ID09IE5VTEwpCisJCQkJLyogVGFibGUgZG9lc24ndCBleGlzdCBvciBpc24ndCBhIGhl YXAgcmVsYXRpb24gKi8KKwkJCQlyZXR1cm47CisKKwkJCXR1cGxlc3RvcmVfcHV0X2Zvcl9k YXRhYmFzZShkYmlkLCByc2luZm8sIGRiZW50cnkpOworCQkJcGdzdGF0X3VubG9ja19lbnRy eShlbnRyeV9yZWYpOworCQl9CisJfQogfQogCiAvKgpAQCAtMjIzMCw3ICsyMjkxLDcgQEAg cGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBFeHRWYWNSZXBvcnRU eXBlIHR5cGUsIGludCBuY29sdW1ucykKIERhdHVtCiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMo UEdfRlVOQ1RJT05fQVJHUykKIHsKLQlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBFWFRWQUNI RUFQU1RBVF9DT0xVTU5TKTsKKwlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBQR1NUQVRfRVhU VkFDX0hFQVAsIEVYVFZBQ0hFQVBTVEFUX0NPTFVNTlMpOwogCiAJUEdfUkVUVVJOX1ZPSUQo KTsKIH0KQEAgLTIyNDMsNSArMjMwNCwxNiBAQCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKFBH X0ZVTkNUSU9OX0FSR1MpCiB7CiAJcGdfc3RhdHNfdmFjdXVtKGZjaW5mbywgUEdTVEFUX0VY VFZBQ19JTkRFWCwgRVhUVkFDSURYU1RBVF9DT0xVTU5TKTsKIAorCVBHX1JFVFVSTl9WT0lE KCk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgZGF0 YWJhc2UuCisgKi8KK0RhdHVtCitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElP Tl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIFBHU1RBVF9FWFRWQUNfREIs IEVYVFZBQ0RCU1RBVF9DT0xVTU5TKTsKKwogCVBHX1JFVFVSTl9WT0lEKCk7CiB9ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXgg OTcyMzU1MWE3M2EuLjkzNjcxM2ZlNWMxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK QEAgLTEyMzQ2LDUgKzEyMzQ2LDE0IEBACiAgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9p ZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51 bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0n LAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sb30nLAogICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtz X3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3Jp dHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19k ZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxr X3dyaXRlX3RpbWUsZGVsYXlfdGltZSxzeXN0ZW1fdGltZSx1c2VyX3RpbWUsdG90YWxfdGlt ZSxpbnRlcnJ1cHRzfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF92YWN1dW1faW5kZXhlcycg fQorICBwcm9zcmMgPT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAn ODAwMycsCisgIGRlc2NyID0+ICdwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSByZXR1cm4gc3Rh dHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1fZGF0YWJhc2UnLCBw cm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVj b3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2Fy Z3R5cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxm bG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQs ZGJvaWQsZGJfYmxrc19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3Rh bF9ibGtzX3dyaXR0ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRf dGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJfdGltZSx0 b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV9k YXRhYmFzZScgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3Jj L2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggYjc4NGJjYzNlZmUuLmM2ZDY2M2MxYzQ4IDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQu aApAQCAtMTc0LDcgKzE3NCw4IEBAIHR5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7 CiAJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwKIAlQR1NUQVRfRVhUVkFDX0hFQVAgPSAx LAotCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIs CisJUEdTVEFUX0VYVFZBQ19EQiA9IDMsCiB9IEV4dFZhY1JlcG9ydFR5cGU7CiAKIC8qIC0t LS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggZTMyOTBk YTc0OGQuLjgzNTljZjNlOTg0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dApAQCAtMjIzNyw2ICsyMjM3LDI0IEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCBy ZWxpZCwKICAgICBhdXRvYW5hbHl6ZV9jb3VudAogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJs ZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpu YW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4g J15wZ190b2FzdCc6OnRleHQpKTsKK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlfCBTRUxFQ1Qg ZGIub2lkIEFTIGRib2lkLAorICAgIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorICAgIHN0YXRz LmRiX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5kYl9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5 dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3Rp bWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAg ICBzdGF0cy51c2VyX3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy5p bnRlcnJ1cHRzCisgICBGUk9NIChwZ19kYXRhYmFzZSBkYgorICAgICBMRUZUIEpPSU4gTEFU RVJBTCBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRzKGRib2lkLCBkYl9i bGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nf d3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGlt ZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHN5c3RlbV90aW1lLCB1c2VyX3RpbWUs IHRvdGFsX3RpbWUsIGludGVycnVwdHMpIE9OICgoZGIub2lkID0gc3RhdHMuZGJvaWQpKSk7 CiBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAg ICBucy5uc3BuYW1lIEFTIHNjaGVtYSwKICAgICByZWwucmVsbmFtZSwKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3Rh dGlzdGljcy5vdXQKc2ltaWxhcml0eSBpbmRleCA3NyUKcmVuYW1lIGZyb20gc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CnJlbmFtZSB0 byBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRp c3RpY3Mub3V0CmluZGV4IDg2MjcyMjE3ZTVkLi45NGRkMzIxNDM0OSAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0 CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJf c3RhdGlzdGljcy5vdXQKQEAgLTYsNiArNiw5IEBACiAtLSBudW1iZXIgb2YgZnJvemVuIGFu ZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KIC0tIFN0YXRpc3RpYyB3YWxf ZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9y IGlzIHVuc3RhYmxlLgogLS0KK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3Rp Y192YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFj dXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKIC0tIGNvbmRp dGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCiAg dHJhY2tfY291bnRzIApAQCAtMjA1LDQgKzIwOCw3OSBAQCBTRUxFQ1QgbWluKHJlbGlkKSBG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSByZWxpZCA+IDA7CiAgMTIxMwog KDEgcm93KQogCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQg ZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRi X2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxr c19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxr c193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAg ICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMg d2FsX2J5dGVzLAorICAgICAgIHVzZXJfdGltZSA+IDAgQVMgdXNlcl90aW1lLAorICAgICAg IHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2Rh dGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7CisgICAgICAgICAg ICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2RpcnRp ZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxf Ynl0ZXMgfCB1c2VyX3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIg fCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg ICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgICB8IHQK KygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKy0tIGVuc3VyZSBwZW5k aW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAKKygxIHJvdykKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IDEwMDAx OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7 CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworLS0gTm93IGNoZWNrIHZh Y3V1bSBzdGF0aXN0aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHVzZXJfdGltZSA+IDAgQVMgdXNlcl90aW1lLAorICAgICAgIHRv dGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFi YXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiJzsK KyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBkYl9ibGtzX2hpdCB8IHRvdGFs X2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdhbF9yZWNvcmRzIHwgd2Fs X2ZwaSB8IHdhbF9ieXRlcyB8IHVzZXJfdGltZSB8IHRvdGFsX3RpbWUgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGlj X3ZhY3V1bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdCAg ICAgICAgIHwgdAorKDEgcm93KQorCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGIKK1JFU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZTsKK1JFU0VUIHZhY3V1bV9mcmVlemVf dGFibGVfYWdlOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJh c2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9 IDA7IC0tIG11c3QgYmUgMAorIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisK K1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKyBj b3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJPUCBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFT RSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQppbmRleCAzNGZkM2U0ZTY3NC4uZTk5OTIzMmQ0MjkgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQxLDQgKzE0MSw0IEBAIHRlc3Q6IHRhYmxl c3BhY2UKICMgQ2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKICMgLS0tLS0tLS0tLQogdGVzdDog dmFjdXVtX2luZGV4X3N0YXRpc3RpY3MKLXRlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3Q6IHZhY3V1bV90YWJsZXNfYW5k X2RiX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5z cWwKc2ltaWxhcml0eSBpbmRleCA3OCUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKaW5kZXggYmM4 ZDA1MWFlZmEuLmFmMTI4MWIzYjYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCkBAIC03LDYgKzcsMTAg QEAKIC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0 IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAorQ1JFQVRFIERBVEFC QVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSBy ZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiOworCiAtLSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tf Y291bnRzOyAgLS0gbXVzdCBiZSBvbgogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0 IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgpAQCAtMTU3LDQgKzE2MSw2NCBAQCBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CiAKIFNFTEVDVCBt aW4ocmVsaWQpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApIHdoZXJlIHJlbGlkID4g MDsKIAotRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHVzZXJfdGltZSA+IDAgQVMgdXNlcl90aW1lLAorICAgICAgIHRv dGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFi YXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7CisKK0RST1AgVEFCTEUg dmVzdGF0IENBU0NBREU7CisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVk CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2 ZXN0YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCkgdmVzdGF0OworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGIxOworCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRh dGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBk Yl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0 aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0 dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAw IEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAg ICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdXNlcl90aW1lID4gMCBB UyB1c2VyX3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJP TQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9u X3N0YXRpc3RpY192YWN1dW1fZGInOworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGIKKworUkVTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOworUkVTRVQgdmFjdXVtX2Zy ZWV6ZV90YWJsZV9hZ2U7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VMRUNUIGNvdW50KCopCitGUk9NIHBn X2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApCitXSEVS RSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2Rh dGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UoMCkKK1dIRVJF IG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitcYyBwb3N0Z3JlcworRFJPUCBEQVRBQkFTRSBy ZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFTRSByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGI7Ci0tIAoyLjM0LjEKCg== --------------sSXXll0M0bLhsuFZctEtxp9S Content-Type: text/x-patch; charset=UTF-8; name="v9-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v9-0004-Add-documentation-about-the-system-views-that-are-us"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSA1NWE2ZThjN2RjZDljYjNlYzljNGU4N2ExM2VlOWM1YmQ1NzE4M2JmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc0NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NDcgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA2MWQyOGU3MDFmMi4uOTNm ZTlmZTM2YzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjQsNCArNTA2NCw3 NTEgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXRzLXZhY3V1bS1kYXRhYmFzZSI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0g em9uZT0idmlldy1wZy1zdGF0cy12YWN1dW0tZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdf c3RhdF92YWN1dW1fZGF0YWJhc2U8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxw YXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fZGF0YWJhc2U8 L3N0cnVjdG5hbWU+IHdpbGwgY29udGFpbgorICAgb25lIHJvdyBmb3IgZWFjaCBkYXRhYmFz ZSBpbiB0aGUgY3VycmVudCBjbHVzdGVyLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQKKyAg IHZhY3V1bWluZyB0aGF0IGRhdGFiYXNlLgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAg PHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1l PiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGJpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2Yg dGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZl ciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg ZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg d3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVj b3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2Vu ZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlz IGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRl czwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tz IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFi YXNlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10 aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9w ZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxp c2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBl bmFibGVkLAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMg KHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29z dCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1l IG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vj b25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2Us IGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5p bnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1 cHRlZCBvbiBhbnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK KyAgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXRzLXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2luZGV4ZXM8L3N0cnVjdG5hbWU+PC90aXRs ZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLWluZGV4ZXMi PgorICAgPHByaW1hcnk+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9p bmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cg Zm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FT VAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1p bmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBD b2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5Pgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVs aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hl bWEgdGhpcyBpbmRleCBpcyBpbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHRpbWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBi dWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9u IHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxf Ymxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tz IGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRo aXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg aW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVh ZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyBy ZWFkIGZyb20gdGhpcworICAgICAgICBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1l cyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4g dGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQg d2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGlu IHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5n IHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFn ZXMgZGVsZXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNf ZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBv cGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1i ZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwg ZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2Yg V0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJm b3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0 YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAg ICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10 cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8p CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZh Y3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBt aWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4g aXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9h dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBz cGVudCBzbGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0 aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRz IChzZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNv c3QiLz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGlt ZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxs aXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0 czwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBh bnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90 Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyA8c2VjdDEg aWQ9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFt ZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5k ZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgICA8cHJpbWFy eT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisg IDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVz PC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggdGFibGUg aW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGVzKSwg c2hvd2luZyBzdGF0aXN0aWNzIGFib3V0IHZhY3V1bWluZyB0aGF0IHNwZWNpZmljIHRhYmxl LgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0 YXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdy b3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9m IGEgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyB0YWJsZSBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0 YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19mcm96ZW48L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBtYXJrZWQgcGFnZXMg b2YgdGhpcyB0YWJsZQorICAgICAgICBhcyBhbGwtZnJvemVuIGluIHRoZSB2aXNpYmlsaXR5 IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19hbGxfdmlz aWJsZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFzIGFsbC12aXNpYmxlIGlu IHRoZSB2aXNpYmlsaXR5IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVz IHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19mcm96ZW48L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0dXBsZXMgb2YgdGhpcyB0YWJsZSB0aGF0IHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBhcworICAgICAgICBmcm96ZW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+ZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1 cGxlcyB2YWN1dW0gb3BlcmF0aW9ucyBsZWZ0IGluIHRoaXMgdGFibGUgZHVlCisgICAgICAg IHRvIHRoZWlyIHZpc2liaWxpdHkgaW4gdHJhbnNhY3Rpb25zCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmluZGV4X3ZhY3V1bV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHRpbWVzIGluZGV4ZXMgb24gdGhpcyB0YWJsZSB3ZXJlIHZhY3V1bWVkCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJldl9hbGxfZnJvemVuX3BhZ2Vz PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gbWFyayBp biB0aGUgdmlzaWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9m IHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFs bC12aXNpYmxlIG1hcmsgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICAgIHdhcyByZW1v dmVkIGZvciBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2Yg V0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBl cmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBw YWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5 dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtf cmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2Ug YmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1p by10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIHRhYmxlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzIChzZWUg PHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4K KyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2 YWN1dW1pbmcgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQ VSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0czwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHRoaXMgdGFibGUKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVs ZD50b3RhbF8qPC9zdHJ1Y3RmaWVsZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0Zmll bGQ+CisgICAgYW5kIDxzdHJ1Y3RmaWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUg ZGF0YSBvbiB2YWN1dW1pbmcgaW5kZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5z CisgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1 Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAg IG9uIHZhY3V1bWluZyB0aGUgaGVhcC48L3BhcmE+CisgPC9zZWN0MT4KKwogPC9jaGFwdGVy PgotLSAKMi4zNC4xCgo= --------------sSXXll0M0bLhsuFZctEtxp9S--