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 1utA0B-001pDr-0O for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Sep 2025 19:15:42 +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 1utA08-000zEq-Vt for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Sep 2025 19:15:37 +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 1utA07-000zET-Kj for pgsql-hackers@lists.postgresql.org; Mon, 01 Sep 2025 19:15:36 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ut9zL-0002dh-1K for pgsql-hackers@postgresql.org; Mon, 01 Sep 2025 19:15:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1756754011; bh=HCvPJtkraMM76VStelplD3cV1HdmegXTjGiv0Sma9xE=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=nfcZ7vbr++KsofrTpXmfrJ3IQ/YcO8NQhlrlQaoSKBgcN2ZDyjF3rOQVsCMvO2mFL oRhgRRiv30RHdnsIw4kwdxppcHumCUPk5PZexAqVOONXcOceDkac64oH9no6ikPVxP aSMto+t8xy+BYjnf7yJ96HIyCFdiukSzr1vkouDW88F0QH5muykZuagrKytScOSq0F c0yW9LLKKKsZaCCsDniBY2QNVtVpOe0g9fzSas45PX4Tbdxu2BoVm45OBmO5Im07Nm BIYmoMOBNlJq5hfCaBNLYazmZ9UaxQd+ji98z4o+BDgOzuCQOQjkuzfIcAXgBiZkUH SRv33DKUWr+3w== Received: from [172.20.10.3] (unknown [213.87.138.187]) (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/465) with ESMTPSA id A083360CAA; Mon, 1 Sep 2025 22:13:19 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------5Kc0GU08zEzK9SIJkm1qWMn6" Message-ID: Date: Mon, 1 Sep 2025 22:13:18 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: pgsql-hackers Cc: Alexander Korotkov , Amit Kapila , Jim Nasby , Bertrand Drouvot , Ilia Evdokimov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih , vignesh C References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> <513f0188-b093-4cc8-98cf-4c324570d525@postgrespro.ru> <47a7b784-5218-43f2-96e3-65f9a729c5a5@tantorlabs.com> <5583261b-eede-4341-b3b1-91650fefc1cf@postgrespro.ru> <2a04ad18-5572-4633-848b-eb57209e7ac0@postgrespro.ru> <2f48399f-2959-4483-938f-64edb863ca76@postgrespro.ru> <18169b68-5b10-40fd-9657-be04f2bd0161@postgrespro.ru> Content-Language: en-US In-Reply-To: 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: 2025/09/01 18:49:00 #27720596 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. --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I've rebased the patches to the current HEAD. -- Regards, Alena Rybakina Postgres Professional --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/x-patch; charset=UTF-8; name="v24-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v24-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBiZjhlNjRlODk5NmY3MTg0NjViMGVlODA5M2QyZTVlZmVkNjA2NGE4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQwOjI0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiB0YWJsZSByZWxhdGlvbnMuCgpWYWx1ZSBvZiB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2RpcnRpZWQgYXJlIG51bWJl ciBvZgpoaXR0ZWQsIG1pc3NlZCBhbmQgZGlydGllZCBwYWdlcyBpbiBzaGFyZWQgYnVmZmVy cyBkdXJpbmcgYSB2YWN1dW0gb3BlcmF0aW9uCnJlc3BlY3RpdmVseS4KCnRvdGFsX2Jsa3Nf ZGlydGllZCBtZWFucyAnZGlydGllZCBvbmx5IGJ5IHRoaXMgYWN0aW9uJy4gU28sIGlmIHRo aXMgcGFnZSB3YXMKZGlydHkgYmVmb3JlIHRoZSB2YWN1dW0gb3BlcmF0aW9uLCBpdCBkb2Vz bid0IGNvdW50IHRoaXMgcGFnZSBhcyAnZGlydGllZCcuCgpUaGUgdHVwbGVzX2RlbGV0ZWQg cGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgdHVwbGVzIGNsZWFuZWQgdXAgYnkgdGhlIHZh Y3V1bQpvcGVyYXRpb24uCgpUaGUgZGVsYXlfdGltZSB2YWx1ZSBtZWFucyB0b3RhbCB2YWN1 dW0gc2xlZXAgdGltZSBpbiB2YWN1dW0gZGVsYXkgcG9pbnQuClRoZSBwYWdlc19yZW1vdmVk IHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgcGFnZXMgYnkgd2hpY2ggdGhlIHBoeXNpY2FsIGRh dGEKc3RvcmFnZSBvZiB0aGUgcmVsYXRpb24gd2FzIHJlZHVjZWQuClRoZSB2YWx1ZSBvZiBw YWdlc19kZWxldGVkIHBhcmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIGZyZWVkIHBhZ2VzIGlu IHRoZSB0YWJsZQooZmlsZSBzaXplIG1heSBub3QgaGF2ZSBjaGFuZ2VkKS4KClRyYWNraW5n IG9mIElPIGR1cmluZyBhbiAoYXV0byl2YWN1dW0gb3BlcmF0aW9uLgpJbnRyb2R1Y2VkIHZh cmlhYmxlcyBibGtfcmVhZF90aW1lIGFuZCBibGtfd3JpdGVfdGltZSB0cmFja3Mgb25seSBh Y2Nlc3MgdG8KYnVmZmVyIHBhZ2VzIGFuZCBmbHVzaGluZyB0aGVtIHRvIGRpc2suIFJlYWRp bmcgb3BlcmF0aW9uIGlzIHRyaXZpYWwsIGJ1dAp3cml0aW5nIG1lYXN1cmVtZW50IHRlY2hu aXF1ZSBpcyBub3Qgb2J2aW91cy4KU28sIGR1cmluZyBhIHZhY3V1bSB3cml0aW5nIHRpbWUg Y2FuIGJlIHplcm8gaW5jcmVtZW50ZWQgYmVjYXVzZSBubyBhbnkgZmx1c2hpbmcKb3BlcmF0 aW9ucyB3ZXJlIHBlcmZvcm1lZC4KClN5c3RlbSB0aW1lIGFuZCB1c2VyIHRpbWUgYXJlIHBh cmFtZXRlcnMgdGhhdCBkZXNjcmliZXMgaG93IG11Y2ggdGltZSBhIHZhY3V1bQpvcGVyYXRp b24gaGFzIHNwZW50IGluIGV4ZWN1dGluZyBvZiBjb2RlIGluIHVzZXIgc3BhY2UgYW5kIGtl cm5lbCBzcGFjZQphY2NvcmRpbmdseS4gQWxzbywgYWNjdW11bGF0ZSB0b3RhbCB0aW1lIG9m IGEgdmFjdXVtIHRoYXQgaXMgYSBkaWZmIGJldHdlZW4KdGltZXN0YW1wcyBpbiBzdGFydCBh bmQgZmluaXNoIHBvaW50cyBpbiB0aGUgdmFjdXVtIGNvZGUuClJlbWVtYmVyIGFib3V0IGlk bGUgdGltZSwgd2hlbiB2YWN1dW0gd2FpdGVkIGZvciBJTyBhbmQgbG9ja3MsIHNvIHRvdGFs IHRpbWUKaXNuJ3QgZXF1YWwgYSBzdW0gb2YgdXNlciBhbmQgc3lzdGVtIHRpbWUsIGJ1dCBu byBsZXNzLgoKcGFnZXNfZnJvemVuIGlzIGEgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1h cmtlZCBhcyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bS4KVGhpcyBwYXJhbWV0ZXIgaXMg aW5jcmVtZW50ZWQgaWYgcGFnZSBpcyBtYXJrZWQgYXMgYWxsLWZyb3plbi4KcGFnZXNfYWxs X3Zpc2libGUgaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFya2VkIGFzIGFsbC12 aXNpYmxlIGluIHZtIGR1cmluZwp2YWN1dW0uCgp3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 IGlzIGEgbnVtYmVyIG9mIHRpbWVzIHdoZW4gdGhlIHZhY3V1bSBzdGFydHMgdXJnZW50IGNs ZWFudXAKdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gd2hpY2ggaXMgY3JpdGljYWwg Zm9yIHRoZSBkYXRhYmFzZS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5hIDxsZW5hLnJpYmFj a2luYUB5YW5kZXgucnU+LAoJIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jl c3Byby5ydT4sCgkgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJl dmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhp a28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAoJICAgICBJbGlhIEV2ZG9raW1v diA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFuIGhlIDxqaWFuLnVuaXZl cnNhbGl0eUBnbWFpbC5jb20+LAoJICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxA Z21haWwuY29tPiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4s CgkgICAgIEppbSBOYXNieSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNh bWltc2VpaEBnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVt bGF6eS5jICAgICAgICAgIHwgMTUwICsrKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNz L2hlYXAvdmlzaWJpbGl0eW1hcC5jICAgICAgIHwgIDEwICsKIHNyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICA1MiArKystCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW0uYyAgICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAxMiArLQogc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDQ2ICsrKy0KIHNyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDE0NyArKysrKysr KysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAgICAgICAgICB8 ICAxMyArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICAgICAgICAg fCAgMTAgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxl IHwgICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAg ICB8ICAxOCArKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA4MCArKysrKy0KIHNyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5vdXQgICAgfCAgNTMgKysrKwogc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9z Y2hlZHVsZSAgICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLnNwZWMgICB8ICA1MyArKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAgNDQgKysrLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQgICAgIHwgMjI3ICsrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsKIC4u Li9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE4MyArKysr KysrKysrKysrKwogMjIgZmlsZXMgY2hhbmdlZCwgMTA5NiBpbnNlcnRpb25zKCspLCAxNiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz LnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCA5MzI3MDFk ODQyMC4uOTgwMTAxZTliOTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFw L3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMKQEAgLTI4OSw2ICsyODksNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJLyog RXJyb3IgcmVwb3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAg KnJlbG5hbWVzcGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAlj aGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1i ZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTQw Nyw2ICs0MDgsOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJICogYmVlbiBwZXJt YW5lbnRseSBkaXNhYmxlZC4KIAkgKi8KIAlCbG9ja051bWJlciBlYWdlcl9zY2FuX3JlbWFp bmluZ19mYWlsczsKKworCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiBu dW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91bmQg c2h1dGRvd24gKi8KIH0gTFZSZWxTdGF0ZTsKIAogCkBAIC00MTgsNiArNDIxLDE4IEBAIHR5 cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhhc2U7CiB9IExW U2F2ZWRFcnJJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEgZm9yIGV4 dGVuZGVkIHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRD b3VudGVycworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3YWx1c2Fn ZTsKKwlCdWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsK KwlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9j a3NfaGl0OworfSBMVkV4dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlv biBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRl ICp2YWNyZWwpOwpAQCAtNDc0LDYgKzQ4OSwxMDYgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3Zh Y3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lkIHJlc3Rv cmVfdmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBj b25zdCBMVlNhdmVkRXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0tLS0tLQor ICogZXh0dmFjX3N0YXRzX3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2YWx1ZXMg b2YgZXh0ZW5kZWQgdmFjdXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJlbGF0aW9u CisgKiBwcm9jZXNzaW5nLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorZXh0 dmFjX3N0YXRzX3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50 ZXJzKQoreworCVRpbWVzdGFtcFR6CXN0YXJ0dGltZTsKKworCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCW1lbXNldChjb3VudGVycywgMCwg c2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlzdGFydHRpbWUgPSBHZXRDdXJyZW50 VGltZXN0YW1wKCk7CisKKwljb3VudGVycy0+c3RhcnR0aW1lID0gc3RhcnR0aW1lOworCWNv dW50ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVzYWdlID0g cGdCdWZmZXJVc2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFjdXVtRGVs YXlUaW1lOworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRlcnMtPmJs b2Nrc19oaXQgPSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJh Y2tfY291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciB1c2Vy IGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVz dCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5ibG9ja3Nf ZmV0Y2hlZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKKwlj b3VudGVycy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3Nf aGl0OworfQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoK KyAqCUNhbGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRo ZXJpbmcgYW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2 b2lkCitleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMg KmNvdW50ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2FsVXNhZ2UJ d2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHogZW5kdGlt ZTsKKwlsb25nCQlzZWNzOworCWludAkJCXVzZWNzOworCisJaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJLyogQ2FsY3VsYXRlIGRpZmZzIG9m IGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FMIGFuZCBidWZmZXIgdXNhZ2UuICovCisJ bWVtc2V0KCZ3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CisJV2FsVXNhZ2VBY2N1 bURpZmYoJndhbHVzYWdlLCAmcGdXYWxVc2FnZSwgJmNvdW50ZXJzLT53YWx1c2FnZSk7CisK KwltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKKwlCdWZmZXJV c2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1ZmZlclVzYWdlLCAmY291bnRlcnMtPmJ1 ZnVzYWdlKTsKKworCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CisJVGltZXN0 YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1lLCAmc2VjcywgJnVz ZWNzKTsKKworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwor CS8qCisJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gcHJvY2Vz c2luZyBvcGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgPSBidWZ1 c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOworCXJl cG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCA9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2RpcnRp ZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFyZWRfYmxr c193cml0dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndhbF9yZWNv cmRzOworCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53 YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJsa19yZWFkX3Rp bWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90 aW1lKTsKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElT RUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRl X3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3Jp dGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01J TExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5kZWxh eV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsK KworCXJlcG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47 CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJ CS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3 YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNz IGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQly ZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+Ymxv Y2tzX2ZldGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8t PmNvdW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIAogLyoK QEAgLTYzMiw2ICs3NDcsMTMgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29u c3QgVmFjdXVtUGFyYW1zIHBhcmFtcywKIAlCdWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdl ID0gcGdCdWZmZXJVc2FnZTsKIAlFcnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsK IAljaGFyCSAgKippbmRuYW1lcyA9IE5VTEw7CisJTFZFeHRTdGF0Q291bnRlcnMgZXh0VmFj Q291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwlFeHRWYWNSZXBvcnQg YWxsemVybzsKKworCS8qIEluaXRpYWxpemUgdmFjdXVtIHN0YXRpc3RpY3MgKi8KKwltZW1z ZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwlleHRWYWNSZXBvcnQg PSBhbGx6ZXJvOwogCiAJdmVyYm9zZSA9IChwYXJhbXMub3B0aW9ucyAmIFZBQ09QVF9WRVJC T1NFKSAhPSAwOwogCWluc3RydW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29y a2VyUHJvY2VzcygpICYmCkBAIC02NTEsNyArNzczLDcgQEAgaGVhcF92YWN1dW1fcmVsKFJl bGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFtcywKIAogCXBnc3RhdF9wcm9n cmVzc19zdGFydF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAogCQkJCQkJCQkg IFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7Ci0KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAm ZXh0VmFjQ291bnRlcnMpOwogCS8qCiAJICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBv cnQgZm9yIGVyZXBvcnQoKSBmaXJzdC4gIFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFu IGVycm9yIGNvbnRleHQgY2FsbGJhY2sgdG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0 aW9uIG9uIGFueQpAQCAtNjY4LDYgKzc5MCw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlv biByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMsCiAJdmFjcmVsLT5kYm5hbWUgPSBn ZXRfZGF0YWJhc2VfbmFtZShNeURhdGFiYXNlSWQpOwogCXZhY3JlbC0+cmVsbmFtZXNwYWNl ID0gZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCkpOwogCXZh Y3JlbC0+cmVsbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSk7 CisJdmFjcmVsLT5yZWxvaWQgPSBSZWxhdGlvbkdldFJlbGlkKHJlbCk7CiAJdmFjcmVsLT5p bmRuYW1lID0gTlVMTDsKIAl2YWNyZWwtPnBoYXNlID0gVkFDVVVNX0VSUkNCX1BIQVNFX1VO S05PV047CiAJdmFjcmVsLT52ZXJib3NlID0gdmVyYm9zZTsKQEAgLTc3Niw2ICs4OTksNyBA QCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgcGFy YW1zLAogCXZhY3JlbC0+YWdncmVzc2l2ZSA9IHZhY3V1bV9nZXRfY3V0b2ZmcyhyZWwsIHBh cmFtcywgJnZhY3JlbC0+Y3V0b2Zmcyk7CiAJdmFjcmVsLT5yZWxfcGFnZXMgPSBvcmlnX3Jl bF9wYWdlcyA9IFJlbGF0aW9uR2V0TnVtYmVyT2ZCbG9ja3MocmVsKTsKIAl2YWNyZWwtPnZp c3Rlc3QgPSBHbG9iYWxWaXNUZXN0Rm9yKHJlbCk7CisJdmFjcmVsLT53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ID0gMDsKIAogCS8qIEluaXRpYWxpemUgc3RhdGUgdXNlZCB0byB0cmFj ayBvbGRlc3QgZXh0YW50IFhJRC9NWElEICovCiAJdmFjcmVsLT5OZXdSZWxmcm96ZW5YaWQg PSB2YWNyZWwtPmN1dG9mZnMuT2xkZXN0WG1pbjsKQEAgLTkyNCw2ICsxMDQ4LDI2IEBAIGhl YXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMs CiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhpZCwgdmFjcmVsLT5OZXdSZWxtaW5NeGlk LAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAmbWlubXVsdGlfdXBkYXRlZCwgZmFsc2Up OwogCisJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgKi8K KwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0 KTsKKworCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIEZp bGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJZXh0VmFjUmVw b3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJCWV4dFZhY1Jl cG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOworCQlleHRWYWNS ZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT52bV9u ZXdfdmlzaWJsZV9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX2Zyb3pl bl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOworCQlleHRW YWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCQll eHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwkJ ZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9k ZWFkX3R1cGxlczsKKwkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3R1cGxlcyA9IHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfcGFn ZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQuaW5kZXhf dmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJCWV4dFZhY1JlcG9y dC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OworCX0KKwogCS8qCiAJICogUmVwb3J0IHJlc3VsdHMgdG8gdGhlIGN1bXVs YXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoKQEAgLTkzOSw3ICsxMDgzLDggQEAgaGVh cF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFtcywK IAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3Jl bC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwogCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRf dHVwbGVzLAotCQkJCQkJIHN0YXJ0dGltZSk7CisJCQkJCQkgc3RhcnR0aW1lLAorCQkJCQkJ ICZleHRWYWNSZXBvcnQpOwogCXBnc3RhdF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogCiAJ aWYgKGluc3RydW1lbnQpCkBAIC0yOTYxLDYgKzMxMDYsNyBAQCBsYXp5X2NoZWNrX3dyYXBh cm91bmRfZmFpbHNhZmUoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQlpbnQ2NAkJcHJvZ3Jlc3Nf dmFsWzJdID0gezAsIDB9OwogCiAJCVZhY3V1bUZhaWxzYWZlQWN0aXZlID0gdHJ1ZTsKKwkJ dmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICsrOwogCiAJCS8qCiAJCSAqIEFi YW5kb24gdXNlIG9mIGEgYnVmZmVyIGFjY2VzcyBzdHJhdGVneSB0byBhbGxvdyB1c2Ugb2Yg YWxsIG9mCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5 bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXgg OTUzYWQ0YTQ4NDMuLmEyMWU3N2NkNTUxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hs b2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAi bWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19i aXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3Rv cmFnZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE1IEBAIHZpc2liaWxpdHltYXBfY2xlYXIo UmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4 IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEFz IHBhcnQgb2YgdmFjdXVtIHN0YXRzLCB0cmFjayBob3cgb2Z0ZW4gYWxsLXZpc2libGUgb3Ig YWxsLWZyb3plbgorCQkgKiBiaXRzIGFyZSBjbGVhcmVkLgorCQkgKi8KKwkJaWYgKG1hcFtt YXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX1ZJU0lC TEUpCisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCk7CisJCWlmICht YXBbbWFwQnl0ZV0gPj4gbWFwT2Zmc2V0ICYgZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9G Uk9aRU4pCisJCQlwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96ZW4ocmVsKTsKKwogCQlt YXBbbWFwQnl0ZV0gJj0gfm1hc2s7CiAKIAkJTWFya0J1ZmZlckRpcnR5KHZtYnVmKTsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAxYjNjNWE1NTg4Mi4uNjQ4 MGMzZmM5MmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTcx Niw3ICs3MTYsOSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF90YWJsZXMgQVMKICAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90aW1lKEMub2lkKSBBUyB0b3RhbF92 YWN1dW1fdGltZSwKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1dG92YWN1dW1f dGltZShDLm9pZCkgQVMgdG90YWxfYXV0b3ZhY3V1bV90aW1lLAogICAgICAgICAgICAgcGdf c3RhdF9nZXRfdG90YWxfYW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9hbmFseXplX3Rp bWUsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKEMu b2lkKSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgICAgICAgICBwZ19zdGF0X2dl dF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90 aW1lLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoQy5v aWQpIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf cmV2X2FsbF92aXNpYmxlX3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMK ICAgICBGUk9NIHBnX2NsYXNzIEMgTEVGVCBKT0lOCiAgICAgICAgICBwZ19pbmRleCBJIE9O IEMub2lkID0gSS5pbmRyZWxpZAogICAgICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBO IE9OIChOLm9pZCA9IEMucmVsbmFtZXNwYWNlKQpAQCAtMTQyMCwzICsxNDIyLDUxIEBAIFJF Vk9LRSBBTEwgT04gcGdfYWlvcyBGUk9NIFBVQkxJQzsKIEdSQU5UIFNFTEVDVCBPTiBwZ19h aW9zIFRPIHBnX3JlYWRfYWxsX3N0YXRzOwogUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04g cGdfZ2V0X2Fpb3MoKSBGUk9NIFBVQkxJQzsKIEdSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04g cGdfZ2V0X2Fpb3MoKSBUTyBwZ19yZWFkX2FsbF9zdGF0czsKKy0tCistLSBTaG93IGV4dGVu ZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVyYXRpb24gb3ZlciBh bGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5jZS4KKy0tIFVzZSBJ bnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8gZ2V0IHN0YXQgb24g ZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFURSBWSUVXIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFt ZSwKKyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKyAgc3RhdHMucmVsaWQgYXMgcmVsaWQs CisKKyAgc3RhdHMudG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgc3Rh dHMudG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Js a3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nf d3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMucmVsX2Jsa3NfcmVh ZCBBUyByZWxfYmxrc19yZWFkLAorICBzdGF0cy5yZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3Nf aGl0LAorCisgIHN0YXRzLnBhZ2VzX3NjYW5uZWQgQVMgcGFnZXNfc2Nhbm5lZCwKKyAgc3Rh dHMucGFnZXNfcmVtb3ZlZCBBUyBwYWdlc19yZW1vdmVkLAorICBzdGF0cy52bV9uZXdfZnJv emVuX3BhZ2VzIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsCisgIHN0YXRzLnZtX25ld192aXNp YmxlX3BhZ2VzIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLAorICBzdGF0cy52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAorICBz dGF0cy5taXNzZWRfZGVhZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywKKyAgc3RhdHMu dHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisgIHN0YXRzLnR1cGxlc19mcm96 ZW4gQVMgdHVwbGVzX2Zyb3plbiwKKyAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMgQVMg cmVjZW50bHlfZGVhZF90dXBsZXMsCisgIHN0YXRzLm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBt aXNzZWRfZGVhZF90dXBsZXMsCisKKyAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3 cmFwYXJvdW5kX2ZhaWxzYWZlLAorICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQgQVMgaW5k ZXhfdmFjdXVtX2NvdW50LAorICBzdGF0cy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywK KyAgc3RhdHMud2FsX2ZwaSBBUyB3YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMgQVMgd2Fs X2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAg c3RhdHMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVs YXlfdGltZSBBUyBkZWxheV90aW1lLAorICBzdGF0cy50b3RhbF90aW1lIEFTIHRvdGFsX3Rp bWUKKworRlJPTSBwZ19jbGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMu b2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKKyAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdyJzsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdmFjdXVtLmMKaW5kZXggNzMzZWY0MGFlN2MuLmQ4Nzc2ZmYxOTAxIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW0uYwpAQCAtMTE2LDYgKzExNiw5IEBAIHBnX2F0b21pY191aW50MzIg KlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gTlVMTDsKIHBnX2F0b21pY191aW50MzIgKlZh Y3V1bUFjdGl2ZU5Xb3JrZXJzID0gTlVMTDsKIGludAkJCVZhY3V1bUNvc3RCYWxhbmNlTG9j YWwgPSAwOwogCisvKiBDdW11bGF0aXZlIHN0b3JhZ2UgdG8gcmVwb3J0IHRvdGFsIHZhY3V1 bSBkZWxheSB0aW1lLiAqLworZG91YmxlIFZhY3V1bURlbGF5VGltZSA9IDA7IC8qIG1zZWMu ICovCisKIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIExp c3QgKmV4cGFuZF92YWN1dW1fcmVsKFZhY3V1bVJlbGF0aW9uICp2cmVsLAogCQkJCQkJCSAg IE1lbW9yeUNvbnRleHQgdmFjX2NvbnRleHQsIGludCBvcHRpb25zKTsKQEAgLTI1MzMsNiAr MjUzNiw3IEBAIHZhY3V1bV9kZWxheV9wb2ludChib29sIGlzX2FuYWx5emUpCiAJCQlleGl0 KDEpOwogCiAJCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwkJVmFjdXVtRGVsYXlUaW1lICs9 IG1zZWM7CiAKIAkJLyoKIAkJICogQmFsYW5jZSBhbmQgdXBkYXRlIGxpbWl0IHZhbHVlcyBm b3IgYXV0b3ZhY3V1bSB3b3JrZXJzLiBXZSBtdXN0IGRvCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFjdXVtcGFyYWxsZWwuYwppbmRleCAwZmVlYTFkMzBlYy4uMmI1NWQ5YjdjMGUgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtMTA1NCw2ICsxMDU0LDcg QEAgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9j KQogCS8qIFNldCBjb3N0LWJhc2VkIHZhY3V1bSBkZWxheSAqLwogCVZhY3V1bVVwZGF0ZUNv c3RzKCk7CiAJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCVZhY3V1bURlbGF5VGltZSA9IDA7 CiAJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAJVmFjdXVtU2hhcmVkQ29zdEJhbGFu Y2UgPSAmKHNoYXJlZC0+Y29zdF9iYWxhbmNlKTsKIAlWYWN1dW1BY3RpdmVOV29ya2VycyA9 ICYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYwppbmRleCBmZmI1YjhjY2UzNC4uYTE5ZDRhNzcwYjggMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xOTAsNyArMTkwLDcgQEAgc3RhdGljIHZvaWQg cGdzdGF0X3Jlc2V0X2FmdGVyX2ZhaWx1cmUodm9pZCk7CiBzdGF0aWMgYm9vbCBwZ3N0YXRf Zmx1c2hfcGVuZGluZ19lbnRyaWVzKGJvb2wgbm93YWl0KTsKIAogc3RhdGljIHZvaWQgcGdz dGF0X3ByZXBfc25hcHNob3Qodm9pZCk7Ci1zdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25h cHNob3Qodm9pZCk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0 X0tpbmQgc3RhdEtpbmQpOwogc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBzaG90X2Zp eGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lz X2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CkBAIC0yMDMsNyArMjAzLDcgQEAgc3Rh dGljIGlubGluZSBib29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQp OwogCiBib29sCQlwZ3N0YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRf ZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci0K K2Jvb2wJCXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcyA9IHRydWU7CiAKIC8qIC0t LS0tLS0tLS0KICAqIHN0YXRlIHNoYXJlZCB3aXRoIHBnc3RhdF8qLmMKQEAgLTI2NSw3ICsy NjUsNiBAQCBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfaW5pdGlhbGl6ZWQgPSBmYWxzZTsKIHN0 YXRpYyBib29sIHBnc3RhdF9pc19zaHV0ZG93biA9IGZhbHNlOwogI2VuZGlmCiAKLQogLyoK ICAqIFRoZSBkaWZmZXJlbnQga2luZHMgb2YgYnVpbHQtaW4gc3RhdGlzdGljcy4KICAqCkBA IC04ODMsNyArODgyLDYgQEAgcGdzdGF0X3Jlc2V0X29mX2tpbmQoUGdTdGF0X0tpbmQga2lu ZCkKIAkJcGdzdGF0X3Jlc2V0X2VudHJpZXNfb2Zfa2luZChraW5kLCB0cyk7CiB9CiAKLQog LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgKiBGZXRjaGluZyBvZiBzdGF0cwogICogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NTIsNyAr OTUwLDcgQEAgcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9p ZCwgdWludDY0IG9iamlkKQogCiAJLyogaWYgd2UgbmVlZCB0byBidWlsZCBhIGZ1bGwgc25h cHNob3QsIGRvIHNvICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NU QVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hv dCgpOworCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAK IAkvKiBpZiBjYWNoaW5nIGlzIGRlc2lyZWQsIGxvb2sgdXAgaW4gY2FjaGUgKi8KIAlpZiAo cGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID4gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX05P TkUpCkBAIC0xMDY4LDcgKzEwNjYsNyBAQCBwZ3N0YXRfc25hcHNob3RfZml4ZWQoUGdTdGF0 X0tpbmQga2luZCkKIAkJcGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CiAKIAlpZiAocGdzdGF0 X2ZldGNoX2NvbnNpc3RlbmN5ID09IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hP VCkKLQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hv dChQR1NUQVRfS0lORF9JTlZBTElEKTsKIAllbHNlCiAJCXBnc3RhdF9idWlsZF9zbmFwc2hv dF9maXhlZChraW5kKTsKIApAQCAtMTExOSw3ICsxMTE3LDcgQEAgcGdzdGF0X3ByZXBfc25h cHNob3Qodm9pZCkKIH0KIAogc3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2 b2lkKQorcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogewog CWRzaGFzaF9zZXFfc3RhdHVzIGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmlu ZGV4IDY5ZGY3NDFjYmY2Li5lMDIzOTI2ZmYwNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTQ3LDYgKzQ3LDggQEAgc3RhdGlj IHZvaWQgYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3Rh dF9pbmZvLCBpbnQgbmVzdF9sZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hhY3Rf bGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBz YXZlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucywg Ym9vbCBpc19kcm9wKTsKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJz KFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9h Y2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0 ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5m byk7CiAKIAogLyoKQEAgLTIwOSw3ICsyMTEsNyBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihS ZWxhdGlvbiByZWwpCiB2b2lkCiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSkKKwkJ CQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpCiB7CiAJ UGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpz aHRhYmVudHJ5OwpAQCAtMjM1LDYgKzIzNyw4IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9p ZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gbGl2 ZXR1cGxlczsKIAl0YWJlbnRyeS0+ZGVhZF90dXBsZXMgPSBkZWFkdHVwbGVzOwogCisJcGdz dGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKCZ0YWJlbnRyeS0+dmFjdXVtX2V4dCwgcGFy YW1zLCB0cnVlKTsKKwogCS8qCiAJICogSXQgaXMgcXVpdGUgcG9zc2libGUgdGhhdCBhIG5v bi1hZ2dyZXNzaXZlIFZBQ1VVTSBlbmRlZCB1cCBza2lwcGluZwogCSAqIHZhcmlvdXMgcGFn ZXMsIGhvd2V2ZXIsIHdlJ2xsIHplcm8gdGhlIGluc2VydCBjb3VudGVyIGhlcmUgcmVnYXJk bGVzcy4KQEAgLTg4MSw2ICs4ODUsOSBAQCBwZ3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdT dGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXRhYmVudHJ5LT5ibG9j a3NfZmV0Y2hlZCArPSBsc3RhdHMtPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKIAl0YWJlbnRy eS0+YmxvY2tzX2hpdCArPSBsc3RhdHMtPmNvdW50cy5ibG9ja3NfaGl0OwogCisJdGFiZW50 cnktPnJldl9hbGxfZnJvemVuX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfZnJv emVuX3BhZ2VzOworCXRhYmVudHJ5LT5yZXZfYWxsX3Zpc2libGVfcGFnZXMgKz0gbHN0YXRz LT5jb3VudHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzOworCiAJLyogQ2xhbXAgbGl2ZV90dXBs ZXMgaW4gY2FzZSBvZiBuZWdhdGl2ZSBkZWx0YV9saXZlX3R1cGxlcyAqLwogCXRhYmVudHJ5 LT5saXZlX3R1cGxlcyA9IE1heCh0YWJlbnRyeS0+bGl2ZV90dXBsZXMsIDApOwogCS8qIExp a2V3aXNlIGZvciBkZWFkX3R1cGxlcyAqLwpAQCAtMTAwNCwzICsxMDExLDQwIEBAIHJlc3Rv cmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKQog CQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9w OwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0 cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9v bCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlkc3QtPnRvdGFsX2Js a3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0 ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0g c3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0g c3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxf Ynl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNv cmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+ YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRl X3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3QtPnRv dGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5 cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0g c3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0Owor CisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBh Z2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+dm1fbmV3X2Zyb3pl bl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96ZW5fcGFnZXM7CisJZHN0LT52bV9uZXdfdmlz aWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOworCWRzdC0+dm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzOworCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwlk c3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOworCWRzdC0+cmVjZW50 bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwlkc3QtPmlu ZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKKwlkc3QtPndy YXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50OworCWRzdC0+bWlzc2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9wYWdl czsKKwlkc3QtPm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1cGxl czsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKaW5kZXggYzc1NmMyYmViYWEuLmVlNDYxZWEzNzhkIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMTA2LDYgKzEwNiwxMiBAQCBQR19T VEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfdXBkYXRlZCkKIC8qIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodmFjdXVtX2Nv dW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZfZnJvemVuX3BhZ2VzICovCitQR19TVEFUX0dF VF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zyb3plbl9wYWdlcykKKworLyogcGdfc3RhdF9n ZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2 NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisKICNkZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5U UllfRkxPQVQ4KHN0YXQpCQkJCQkJXAogRGF0dW0JCQkJCQkJCQkJCQkJCQlcCiBDcHBDb25j YXQocGdfc3RhdF9nZXRfLHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlcCkBAIC0yMjYw LDMgKzIyNjYsMTQ0IEBAIHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQog CiAJUEdfUkVUVVJOX0JPT0wocGdzdGF0X2hhdmVfZW50cnkoa2luZCwgZGJvaWQsIG9iamlk KSk7CiB9CisKKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBo ZWFwIHRhYmxlcy4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNf U1RBVFNfQ09MUyAyNgorCisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwor CVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJ KmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1 ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwlib29s CQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHsw fTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1Jl cG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9u IGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRl VHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbGlkIiwK KwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtz X2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAor CQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAicmVsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfc2Nhbm5lZCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2VzX3JlbW92ZWQiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ2bV9uZXdfZnJvemVuX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidm1fbmV3 X3Zpc2libGVfcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJtaXNzZWRfZGVhZF9wYWdlcyIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidHVwbGVzX2Zyb3plbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlY2VudGx5X2Rl YWRfdHVwbGVzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAibWlzc2VkX2RlYWRfdHVwbGVzIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCIsCisJCQkJ CSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgImluZGV4X3ZhY3V1bV9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAw KTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi YmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUi LAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FU OE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJ QXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKwor CUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hf c3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwl7CisJ CS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBz dGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsK KwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9 ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOworCisJdmFsdWVzW2kr K10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVu KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0 Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfZnJvemVuX3BhZ2VzKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJs ZV9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19mcm96ZW4pOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF90dXBs ZXMpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMs IGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVm LCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10g PSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdH ZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJ CQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZs b2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0g UEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCS8qIFJldHVybnMg dGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXRE YXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXgg YjdiOTY5MmY4YzguLmYwZWNmODZlNTE0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBA IC0xNjI3LDYgKzE2MjcsMTkgQEAgZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKQogCXJl dHVybiBlZGF0YS0+aW50ZXJuYWxwb3M7CiB9CiAKKy8qCisgKiBSZXR1cm4gZWxldmVsIG9m IGVycm9ycworICovCitpbnQKK2dldGVycmVsZXZlbCh2b2lkKQoreworCUVycm9yRGF0YSAg KmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRhdGFfc3RhY2tfZGVwdGhdOworCisJLyogd2Ug ZG9uJ3QgYm90aGVyIGluY3JlbWVudGluZyByZWN1cnNpb25fZGVwdGggKi8KKwlDSEVDS19T VEFDS19ERVBUSCgpOworCisJcmV0dXJuIGVkYXRhLT5lbGV2ZWw7Cit9CiAKIC8qCiAgKiBG dW5jdGlvbnMgdG8gYWxsb3cgY29uc3RydWN0aW9uIG9mIGVycm9yIG1lc3NhZ2Ugc3RyaW5n cyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv Z3VjX3RhYmxlcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5k ZXggZjEzNzEyOTIwOWYuLjVhZjU5M2FhMWE3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1 Y190YWJsZXMuYwpAQCAtMTU2OCw2ICsxNTY4LDE2IEBAIHN0cnVjdCBjb25maWdfYm9vbCBD b25maWd1cmVOYW1lc0Jvb2xbXSA9CiAJCU5VTEwsIE5VTEwsIE5VTEwKIAl9LAogCisJewor CQl7InRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFU SVZFLAorCQkJZ2V0dGV4dF9ub29wKCJDb2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3Ig dGFibGUgcmVsYXRpb25zLiIpLAorCQkJTlVMTAorCQl9LAorCQkmcGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzLAorCQl0cnVlLAorCQlOVUxMLCBOVUxMLCBOVUxMCisJfSwKKwog CXsKIAkJeyJ0cmFja193YWxfaW9fdGltaW5nIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFU SVZFLAogCQkJZ2V0dGV4dF9ub29wKCJDb2xsZWN0cyB0aW1pbmcgc3RhdGlzdGljcyBmb3Ig V0FMIEkvTyBhY3Rpdml0eS4iKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9z dGdyZXNxbC5jb25mLnNhbXBsZQppbmRleCBhOWQ4MjkzNDc0YS4uMDU3MTNiNGI2NWMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBs ZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUK QEAgLTY2MSw2ICs2NjEsNyBAQAogI3RyYWNrX3dhbF9pb190aW1pbmcgPSBvZmYKICN0cmFj a19mdW5jdGlvbnMgPSBub25lCQkJIyBub25lLCBwbCwgYWxsCiAjc3RhdHNfZmV0Y2hfY29u c2lzdGVuY3kgPSBjYWNoZQkjIGNhY2hlLCBub25lLCBzbmFwc2hvdAorI3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzID0gb2ZmCiAKIAogIyAtIE1vbml0b3JpbmcgLQpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQKaW5kZXggMTE4ZDZkYTFhY2UuLjY4N2Q1MWMyYTZhIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNTc2LDQgKzEyNTc2LDIyIEBACiAgIHByb2FyZ25h bWVzID0+ICd7cGlkLGlvX2lkLGlvX2dlbmVyYXRpb24sc3RhdGUsb3BlcmF0aW9uLG9mZixs ZW5ndGgsdGFyZ2V0LGhhbmRsZV9kYXRhX2xlbixyYXdfcmVzdWx0LHJlc3VsdCx0YXJnZXRf ZGVzYyxmX3N5bmMsZl9sb2NhbG1lbSxmX2J1ZmZlcmVkfScsCiAgIHByb3NyYyA9PiAncGdf Z2V0X2Fpb3MnIH0sCiAKK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJs ZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dz ID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxw cm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ0LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0 OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFt ZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRv dGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxf Ymxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHZtX25ld19mcm96ZW5fcGFn ZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLG1p c3NlZF9kZWFkX3BhZ2VzLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4scmVjZW50bHlf ZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUsaW5k ZXhfdmFjdXVtX2NvdW50LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFk X3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3Ny YyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfSwKKworICB7IG9pZCA9PiAnODAw MicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12aXNp YmxlIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMg b2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2libGVf cGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycgfSwKKyAgeyBvaWQgPT4gJzgw MDMnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwtZnJv emVuIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMg b2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9w YWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9y ZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAn cGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Zh Y3V1bS5oCmluZGV4IDE0ZWVjY2JkNzE4Li40ZDA1ZTFhMGZhYyAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dmFjdXVtLmgKQEAgLTMyNyw2ICszMjcsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgZG91Ymxl IHZhY3V1bV9tYXhfZWFnZXJfZnJlZXplX2ZhaWx1cmVfcmF0ZTsKIGV4dGVybiBQR0RMTElN UE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZTsKIGV4dGVy biBQR0RMTElNUE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VyczsK IGV4dGVybiBQR0RMTElNUE9SVCBpbnQgVmFjdXVtQ29zdEJhbGFuY2VMb2NhbDsKK2V4dGVy biBQR0RMTElNUE9SVCBkb3VibGUgVmFjdXVtRGVsYXlUaW1lOwogCiBleHRlcm4gUEdETExJ TVBPUlQgYm9vbCBWYWN1dW1GYWlsc2FmZUFjdGl2ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBk b3VibGUgdmFjdXVtX2Nvc3RfZGVsYXk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0 YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDIwMmJkMmQ1YWNlLi40ZmQxMTRl OWE1ZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1 ZGUvcGdzdGF0LmgKQEAgLTExMSw2ICsxMTEsNTMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X0JhY2tlbmRTdWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZM SUNUX05VTV9UWVBFU107CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIC0tLS0t LS0tLS0KKyAqCisgKiBFeHRWYWNSZXBvcnQKKyAqCisgKiBBZGRpdGlvbmFsIHN0YXRpc3Rp Y3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVsYXRpb24uCisgKiBwYWdl c19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5r LAorICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2sp CisgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRl eCBmaWxlCisgKiAtLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9y dAoreworCS8qIG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBoaXQsIGRpcnRpZWQgYW5kIHdy aXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJ CXRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7CisJaW50NjQJCXRv dGFsX2Jsa3NfZGlydGllZDsKKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOworCisJLyog YmxvY2tzIG1pc3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1 bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0CQlibGtzX2ZldGNoZWQ7CisJaW50 NjQJCWJsa3NfaGl0OworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLworCWludDY0 CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29yZHMgKi8K KwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBmdWxsIHBh Z2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3YWwgdXNh Z2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUgc3RhdHMu ICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcgcGFn ZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNwZW50 IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBo b3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICov CisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVy YXRpb24sIGluIG1zZWMgKi8KKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBw YWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCisJaW50NjQJCXBhZ2VzX3Jl bW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAq LworCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJLyogcGFnZXMgbWFya2VkIGluIFZN IGFzIGZyb3plbiAqLworCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMg bWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJaW50NjQJCXZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlIGFu ZCBmcm96ZW4gKi8KKwlpbnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5v dCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9j ayAqLworCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2Vk IGRlYWQgdHVwbGVzICovCisJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRl bGV0ZWQgYnkgdmFjdXVtICovCisJaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMg ZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJ LyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5z YWN0aW9uICovCisJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogdGhlIG51bWJlciBv ZiBpbmRleCB2YWN1dW1pbmdzICovCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQ7CS8qIG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3Jh cGFyb3VuZCBzaHV0ZG93biAqLworfSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0K ICAqIFBnU3RhdF9UYWJsZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50cyBr ZXB0IGJ5IGEgYmFja2VuZAogICoKQEAgLTE1Myw2ICsyMDAsMTYgQEAgdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hl ZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3Bh Z2VzOworCisJLyoKKwkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0g b3BlcmF0aW9ucy4KKwkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0 cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAqLwor CUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAKIC8q IC0tLS0tLS0tLS0KQEAgLTIxMSw3ICsyNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRf VGFibGVYYWN0U3RhdHVzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9GSUxF X0ZPUk1BVF9JRAkweDAxQTVCQ0I3CisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkw eDAxQTVCQ0I4CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7CkBA IC0zNzUsNiArNDMyLDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJ UGdTdGF0X0NvdW50ZXIgcGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFt cFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7 CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50 cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC00NTMsNiAr NTEyLDExIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0YXRf Q291bnRlciB0b3RhbF9hdXRvdmFjdXVtX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90YWxf YW5hbHl6ZV90aW1lOwogCVBnU3RhdF9Db3VudGVyIHRvdGFsX2F1dG9hbmFseXplX3RpbWU7 CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0Nv dW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4 dDsKIH0gUGdTdGF0X1N0YXRUYWJFbnRyeTsKIAogLyogLS0tLS0tCkBAIC02NjAsNyArNzI0 LDcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiByZWwp OwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJv b2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7 CisJCQkJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFyYW1z KTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJ CQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVh ZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlciwgVGltZXN0YW1wVHogc3Rh cnR0aW1lKTsKQEAgLTcxMSw2ICs3NzUsMTcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9y dF9hbmFseXplKFJlbGF0aW9uIHJlbCwKIAkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVs YXRpb24ocmVsKSkJCQkJCQlcCiAJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9j a3NfaGl0Kys7CQkJCVwKIAl9IHdoaWxlICgwKQorLyogYWNjdW11bGF0ZSB1bmZyb3plbiBh bGwtdmlzaWJsZSBhbmQgYWxsLWZyb3plbiBwYWdlcyAqLworI2RlZmluZSBwZ3N0YXRfY291 bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJ CVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJ CQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXMrKzsJ XAorCX0gd2hpbGUgKDApCisjZGVmaW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3pl bihyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hv dWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9pbmZv LT5jb3VudHMucmV2X2FsbF9mcm96ZW5fcGFnZXMrKzsJXAorCX0gd2hpbGUgKDApCiAKIGV4 dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBnU3Rh dF9Db3VudGVyIG4pOwogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfdXBkYXRlKFJl bGF0aW9uIHJlbCwgYm9vbCBob3QsIGJvb2wgbmV3cGFnZSk7CkBAIC03OTksNiArODc0LDcg QEAgZXh0ZXJuIFBnU3RhdF9XYWxTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfd2FsKHZvaWQp OwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX2NvdW50czsKIGV4dGVy biBQR0RMTElNUE9SVCBpbnQgcGdzdGF0X3RyYWNrX2Z1bmN0aW9uczsKIGV4dGVybiBQR0RM TElNUE9SVCBpbnQgcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5OworZXh0ZXJuIFBHRExMSU1Q T1JUIGJvb2wgcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogCiAKIC8qCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmggYi9zcmMvaW5jbHVkZS91dGlscy9l bG9nLmgKaW5kZXggNjc1ZjRmNWY0NjkuLjM1NmRhZGQ2YjBhIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCkBA IC0yMzAsNiArMjMwLDcgQEAgZXh0ZXJuIGludAlnZXRlcnJjb2RlKHZvaWQpOwogZXh0ZXJu IGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50ZXJuYWxlcnJw b3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9pZCk7CiAKIC8q LS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6IHRvIGJlIHVz ZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg3ZjdlNDBiNGE2 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAKK3Vu dXNlZCBzdGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIgc2Vz c2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92YWN1 dW1fc3RhdHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBzMl9p bnNlcnRfaW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUg czFfY29tbWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0 c190YWJsZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190 YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQs IHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1p c3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVs bmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90 dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96 ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwg ICAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAg IDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVf cmVhZDogCisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uIHdoZXJlIGlkPjkwMDsKKworY291bnQKKy0tLS0tCisgIDEwMAorKDEgcm93KQor CitzdGVwIHMyX3VwZGF0ZTogVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNF VCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7CitzdGVwIHMyX2luc2VydF9pbnRl cnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAo MSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisg ICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVw bGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50 dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0 aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAg ICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVw bGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1 bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDEwMHwg ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEg cm93KQorCitzdGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBD SEVDS1BPSU5UOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxF Q1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlfZGVh ZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFnZXMs IHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwg cGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAg ICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVh ZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAg MTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMTAx CisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25f c2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCmluZGV4 IDlmMWU5OTdkODFiLi44MTVkY2VlMjNiMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0 aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0 aW9uX3NjaGVkdWxlCkBAIC05Nyw2ICs5Nyw3IEBAIHRlc3Q6IHRpbWVvdXRzCiB0ZXN0OiB2 YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1dW0tY29uZmxpY3QKIHRlc3Q6IHZh Y3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6b25zCiB0ZXN0OiBwcmVkaWNhdGUtaGFz aApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92 YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU4OTNkODk1NzNkCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUzIEBACisjIFRlc3QgZm9yIGNoZWNraW5nIHJl Y2VudGx5X2RlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJvemVuIHR1cGxlcyBp biBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIHJlY2VudGx5X2RlYWRfdHVwbGVzIHZhbHVl cyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBoYXNuJ3QgY2xlYXJlZCB0dXBsZXMgYmVjYXVz ZSB0aGV5IHdlcmUgZGVsZXRlZCByZWNlbnRseS4KKyMgcmVjZW50bHlfZGVhZF90dXBsZXMg YXJlbid0IGluY3JlYXNlZCBhZnRlciByZWxlYXNpbmcgbG9jayBjb21wYXJlZCB3aXRoIHR1 cGxlc19kZWxldGVkLCB3aGljaCBpbmNyZWFzZWQKKyMgYnkgdGhlIHZhbHVlIG9mIHRoZSBj bGVhcmVkIHR1cGxlcyB0aGF0IHRoZSB2YWN1dW0gbWFuYWdlZCB0byBjbGVhci4KKworc2V0 dXAKK3sKKyAgICBDUkVBVEUgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQg aW50LCBpdmFsIGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKKyAgICBT RVQgdHJhY2tfaW9fdGltaW5nID0gb247CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPICdvbic7Cit9CisKK3RlYXJkb3duCit7CisgICAgRFJPUCBUQUJMRSB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbiBDQVNDQURFOworICAgIFJFU0VUIHRyYWNrX2lvX3RpbWlu ZzsKKyAgICBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK30KKworc2Vzc2lvbiBz MQorc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CisgIEJFR0lOIHRyYW5zYWN0 aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChp dmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKyAg fQorc3RlcCBzMV9jb21taXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQorCitzZXNz aW9uIHMyCitzdGVwIHMyX2luc2VydCAgICAgICAgICAgICAgICAgIHsgSU5TRVJUIElOVE8g dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFs JTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsgfQorc3RlcCBzMl91 cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2Rl bGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRFIEZST00gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdCAg ICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMg KDEsMSk7IH0KK3N0ZXAgczJfdmFjdXVtICAgICAgICAgICAgICAgICAgeyBWQUNVVU0gdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb247IH0KK3N0ZXAgczJfY2hlY2twb2ludCAgICAgICAg ICAgICAgeyBDSEVDS1BPSU5UOyB9CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZQoreworICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2 dC5yZWNlbnRseV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5taXNz ZWRfZGVhZF9wYWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisKK3Bl cm11dGF0aW9uCisgICAgczJfaW5zZXJ0CisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3Rh YmxlCisgICAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkCisgICAgczJfdXBkYXRlCisgICAg czJfaW5zZXJ0X2ludGVycnVwdAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1 bV9zdGF0c190YWJsZQorICAgIHMxX2NvbW1pdAorICAgIHMyX2NoZWNrcG9pbnQKKyAgICBz Ml92YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4 IDM1ZThhYWQ3NzAxLi4zNDllN2RlYmEwMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKQEAgLTE4MzMsNyArMTgzMyw5IEBAIHBnX3N0YXRfYWxsX3RhYmxlc3wgU0VM RUNUIGMub2lkIEFTIHJlbGlkLAogICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90aW1l KGMub2lkKSBBUyB0b3RhbF92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3RhbF9h dXRvdmFjdXVtX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICBw Z19zdGF0X2dldF90b3RhbF9hbmFseXplX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2FuYWx5emVf dGltZSwKLSAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKGMub2lkKSBB UyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2Fu YWx5emVfdGltZShjLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICBwZ19z dGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5f cGFnZXMsCisgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lkKSBB UyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAgIExF RlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExF RlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkK QEAgLTIyMzIsNyArMjIzNCw5IEBAIHBnX3N0YXRfc3lzX3RhYmxlc3wgU0VMRUNUIHJlbGlk LAogICAgIHRvdGFsX3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2F1dG92YWN1dW1fdGltZSwK ICAgICB0b3RhbF9hbmFseXplX3RpbWUsCi0gICAgdG90YWxfYXV0b2FuYWx5emVfdGltZQor ICAgIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAgcmV2X2FsbF9mcm96ZW5fcGFnZXMs CisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxl cwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPSBBTlkgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFt ZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgT1IgKHNjaGVtYW5hbWUgfiAnXnBn X3RvYXN0Jzo6dGV4dCkpOwogcGdfc3RhdF91c2VyX2Z1bmN0aW9uc3wgU0VMRUNUIHAub2lk IEFTIGZ1bmNpZCwKQEAgLTIyODQsOSArMjI4OCw0MyBAQCBwZ19zdGF0X3VzZXJfdGFibGVz fCBTRUxFQ1QgcmVsaWQsCiAgICAgdG90YWxfdmFjdXVtX3RpbWUsCiAgICAgdG90YWxfYXV0 b3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICB0b3RhbF9hdXRv YW5hbHl6ZV90aW1lCisgICAgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICByZXZfYWxs X2Zyb3plbl9wYWdlcywKKyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdf c3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydw Z19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChz Y2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJs ZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgcmVsLnJlbG5hbWUs CisgICAgc3RhdHMucmVsaWQsCisgICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICAgIHN0 YXRzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMucmVsX2Jsa3NfcmVhZCwK KyAgICBzdGF0cy5yZWxfYmxrc19oaXQsCisgICAgc3RhdHMucGFnZXNfc2Nhbm5lZCwKKyAg ICBzdGF0cy5wYWdlc19yZW1vdmVkLAorICAgIHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMs CisgICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgc3RhdHMudm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzLAorICAg IHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCisgICAg c3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgc3RhdHMubWlzc2VkX2RlYWRfdHVw bGVzLAorICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUsCisgICAgc3RhdHMuaW5kZXhf dmFjdXVtX2NvdW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9m cGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisg ICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBz dGF0cy50b3RhbF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19u YW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExB VEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwg dG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0 b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNf c2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zp c2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2RlYWRf cGFnZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1 cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBpbmRleF92 YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFk X3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVS RSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdh bF9yZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu b3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNWVhOWM5YWIx ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIyNyBAQAorLS0KKy0tIFRlc3Qg Y3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwg c3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1i ZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1i ZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0t IFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1 c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVh IG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRz IAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEw MDAwCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0 Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworLS0gVGVzdCB0aGF0IHZhY3V1 bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VU IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworQ1JFQVRFIFRBQkxFIHZlc3Rh dCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VT QUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxu YW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGll ZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3Bh Z2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25l d192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9k ZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2Rl YWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dh bF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0 ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsbmFtZSB8IHRvdGFs X2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90 YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IHBhZ2Vz X3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25l d192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgbWlzc2Vk X2RlYWRfcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHR1cGxlc19mcm96ZW4gfCByZWNlbnRs eV9kZWFkX3R1cGxlcyB8IG1pc3NlZF9kZWFkX3R1cGxlcyB8IGluZGV4X3ZhY3V1bV9jb3Vu dCB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IGJsa19yZWFkX3RpbWUg fCBibGtfd3JpdGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyB2 ZXN0YXQgIHwgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAg ICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAgfCAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAg ICAgICAgICAgICAgICAwIHwgICAgICAgICAgIDAgfCAgICAgICAwIHwgICAgICAgICAwIHwg ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAg IDAKKygxIHJvdykKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRB QkxFIHZlc3RhdCBDQVNDQURFOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0t IG11c3QgYmUgb24KKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBh cmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCiso MSByb3cpCisKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitD UkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0 YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7Cist LSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmll dyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMsdHVw bGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdf ZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5u ZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLQorIHZlc3RhdCAgfCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAg fCAgICAgIDQ1NSB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisK K1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2Fy eSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFi bGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVz IHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQg cGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwg dGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVu X3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3Nj YW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNf cmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxu YW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMg fCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQor CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0 ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBB UyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMg QVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9vayBp bnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdS LCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAg IHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExF TCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0 OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hF Q0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2 dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID4gMCBBUyB2bV9uZXdfZnJvemVu X3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFn ZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2Vz X3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHZtX25ld19m cm96ZW5fcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5l ZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8 IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZtX25l d19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMg cnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZh bmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3 YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBX QUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdS LCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0KKyB0ICAgfCB0 CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VM RUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZw aSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcg XGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUg MiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rv ci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVj dGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8g Y2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFk dmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3Iy LCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK Ky0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0 ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2Iy PTAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0 ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJv emVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRl ZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJlbHBh Z2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92 ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5y ZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVz X2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAor LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0ICAg ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZw LHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFT IHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlk ID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMg aGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBP RkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdh bF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2Zw aS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NF TEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7 CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAg fCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29t cHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFj dXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywg cGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1Qg dnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3pl bl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBh Z2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdl c19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdf ZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5u ZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAg fCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUg dmVzdGF0IENBU0NBREU7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0 b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3Bh Z2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUg cGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25l d19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHJldl9hbGxfZnJvemVu X3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gYmFj a2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBB UyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBBUyB2bV9u ZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFTIHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMg cmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZf YWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdl cyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2Vz IHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qg dm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYs dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1VQREFURSB2ZXN0YXQg U0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiA6cGYgQVMg dm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2bV9u ZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZmIEFT IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpo YWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpo YXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs bmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19z dGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192 aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF9m cm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg ZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cp CisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9w YWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2Fs bF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0g dmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBm IEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMg dm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2 ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2Vz ID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2Vz ID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxl cy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9 IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1f bmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgfCByZXZf YWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygx IHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlCmluZGV4IGZiZmZjNjdhZTYwLi5jZDc3OWFiOGVjYSAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xNDAsMyArMTQwLDggQEAgdGVzdDogZmFz dF9kZWZhdWx0CiAjIHJ1biB0YWJsZXNwYWNlIHRlc3QgYXQgdGhlIGVuZCBiZWNhdXNlIGl0 IGRyb3BzIHRoZSB0YWJsZXNwYWNlIGNyZWF0ZWQgZHVyaW5nCiAjIHNldHVwIHRoYXQgb3Ro ZXIgdGVzdHMgbWF5IHVzZS4KIHRlc3Q6IHRhYmxlc3BhY2UKKworIyAtLS0tLS0tLS0tCisj IENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCisjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41YmMzNGJlYzY0YgotLS0g L2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5zcWwKQEAgLTAsMCArMSwxODMgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUg dmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3Mg Y29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3pl biBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3pl biBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMg d2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhh dmlvciBpcyB1bnN0YWJsZS4KKy0tCisKKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hP VyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCitcc2V0IHNhbXBsZV9zaXplIDEwMDAw CisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQu Li4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3QgdGhhdCB2YWN1 dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NF VCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRFIFRBQkxFIHZl c3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3Rv ciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitERUxFVEUg RlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJV RkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBlbXB0eS4KK1NF TEVDVCByZWxuYW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Js a3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtz X2hpdCwKK3BhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFn ZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMs IG1pc3NlZF9kZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJl Y2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9j b3VudCwKK3dhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUs IGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1JFU0VU IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsK KworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKworLS0g ZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNl X25leHRfZmx1c2goKTsKKworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFw c2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VM RUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFM WVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4 ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5k ZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96 ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19y ZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNU IHJlbHBhZ2VzIEFTIHJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVz dGF0JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAx MjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8g Y2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUg YW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRo YXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFn ZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFi bGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3Bh Z2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBBUyB0 dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5u ZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVt b3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2 bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2Vz IEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3 YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gTG9vayBpbnRvIFdB TCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxf Ynl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXQnOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VM RUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPiAwIEFTIHZtX25ld19m cm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxy ZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAgQVMg cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJw LCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZh bmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3 YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0t IFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyID4gMCBBUyBk V1IsIDpkd2IgPiAwIEFTIGRXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2Fs X2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0 YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8g c3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MK Ky0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMg bmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKwor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBp IEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ug c2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRmcGky PTAgQVMgZEZQSSwgOmR3YjI9MCBBUyBkV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19k ZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA8IDAgQVMg cmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNf cmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0 dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBw cyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMg aGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFD VVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQ IE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3Rh dGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVD VCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdh bF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5n ZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBB UyBkV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3Nl ZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4 dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFnZXNf c2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVs bmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdl cyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06 cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2Fu bmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVND QURFOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5h YmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKKworSU5TRVJUIElOVE8gdmVzdGF0IFNF TEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5B TFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCB2bV9uZXdfZnJvemVu X3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2 X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBiYWNrZW5k IGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192 aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZf YWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxf dmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2li bGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2 cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQK KworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVf cGFnZXMgPiA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2X2Fs bF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxs X3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1f dGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZtX25l d19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBB UyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFj dXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3Rh Ymxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxp ZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVM IDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gdmFjdXVtIGZyZWV6 ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19m cm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2li bGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMg cmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMg cmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdf c3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0g J3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxs X3RhYmxlcy5yZWxpZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/x-patch; charset=UTF-8; name="v24-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v24-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBjNDIwYzg4ZjZjNmFhMzI2ZGU0Nzk1NGNmNTUyMzg5ZWZhN2MzYzM3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQyOjI1ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBpbmRleCByZWxhdGlvbnMuCgpUaGV5IGFyZSBnYXRoZXJl ZCBzZXBhcmF0ZWxseSBmcm9tIHRhYmxlIHN0YXRpc3RpY3MuCgpBcyBmb3IgdGFibGVzLCB3 ZSBnYXRoZXIgdmFjdXVtIHNoYXJlZCBidWZmZXJzIHN0YXRpc3RpY3MgZm9yIGluZGV4IHJl bGF0aW9ucyBsaWtlCnZhbHVlIG9mIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQs IHRvdGFsX2Jsa3NfZGlydGllZCwgd2FsIHN0YXRpc3RpY3MsIGlvIHRpbWUKZHVyaW5nIGZs dXNoaW5nIGJ1ZmZlciBwYWdlcyB0byBkaXNrLCBkZWxheSBhbmQgdG90YWwgdGltZS4KCkR1 ZSB0byB0aGUgZmFjdCB0aGF0IHN1Y2ggc3RhdGlzdGljcyBhcmUgY29tbW9uIGFzIGZvciB0 YWJsZXMsIGFzIGZvciBpbmRleGVzIHdlCnNldCB0aGVtIGluIHRoZSB1bmlvbiBFeHRWYWNS ZXBvcnQgc3RydWN0dXJlLiBXZSBvbmx5IGFkZGVkIHNvbWUgZGV0ZXJtaW5hdGlvbiAndHlw ZScKZmllbGQgdG8gaGlnaGxpZ2h0IHdoYXQga2luZCBiZWxvbmcgdG8gdGhlc2Ugc3RhdGlz dGljczogUEdTVEFUX0VYVFZBQ19UQUJMRSBvcgpQR1NUQVRfRVhUVkFDX0lOREVYLiBHZW5l cmFsbHksIFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB0eXBlIGxlYWRzIHRvIHdyb25nIGNvZGUg cHJvY2Vzcy4KClNvbWUgc3RhdGlzdGljcyBiZWxvbmcgb25seSBvbmUgdHlwZSBvZiBib3Ro IHRhYmxlcyBvciBpbmRleGVzLiBTbywgd2UgYWRkZWQgc3Vic3RydWN0dXJlcwpzeWNoIHRh YmxlIGFuZCBpbmRleCBpbnNpZGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZS4KClRoZXJlZm9y ZSwgd2UgZ2F0aGVyIG9ubHkgZm9yIHRhYmxlcyBzdWNoIHN0YXRpc3RpY3MgbGlrZSBudW1i ZXIgb2Ygc2Nhbm5lZCwgcmVtb3ZlZCBwYWdlcywKdGhlaXIgY2hhcmVjdGVyaXN0aWNzIGFj Y29yZGluZyBWTSAoYWxsLXZpc2libGUgYW5kIGZyb3plbikuIEluIGFkZGl0aW9uLCBmb3Ig dGFibGVzIHdlCmdhdGhlciBudW1iZXIgZnJvemVuLCBkZWxldGVkIGFuZCByZWNlbnRseSBk ZWFkIHR1cGxlcyBhbmQgaG93IG1hbnkgdGltZXMgdmFjdXVtIHByb2Nlc3NlZAppbmRleGVz IGZvciB0YWJsZXMuCgpDb250cm92ZXJzYWxseSBmb3IgaW5kZXhlcyB3ZSBnYXRoZXIgbnVt YmVyIG9mIGRlbGV0ZWQgcGFnZXMgYW5kIGRlbGV0ZWQgdHVwbGVzIG9ubHkuCgpBcyBmb3Ig dGFibGVzLCBkZWxldGVkIHBhZ2VzIGFuZCBkZWxldGVkIHR1cGxlcyByZWZsZWN0IHRoZSBv dmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSB2YWN1dW0KZm9yIHRoZSBpbmRleCByZWxhdGlv bnNoaXAuCgpTaW5jZSB0aGUgdmFjdXVtIGNsZWFucyB1cCByZWZlcmVuY2VzIHRvIHR1cGxl IGluZGV4ZXMgYmVmb3JlIGNsZWFuaW5nIHVwIHRhYmxlIHR1cGxlcywKd2hpY2ggYWRkcyBz b21lIGNvbXBsZXhpdHkgdG8gdGhlIHZhY3V1bSBwcm9jZXNzLCBuYW1lbHkgdGhlIHZhY3V1 bSBzd2l0Y2hlcyBmcm9tIGNsZWFuaW5nIHVwCmEgdGFibGUgdG8gaXRzIGluZGV4ZXMgYW5k IGJhY2sgZHVyaW5nIGl0cyBvcGVyYXRpb24sIHdlIG5lZWQgdG8gc2F2ZSB0aGUgdmFjdXVt IHN0YXRpc3RpY3MKY29sbGVjdGVkIGZvciB0aGUgaGVhcCBiZWZvcmUgaXQgc3RhcnRzIGNs ZWFuaW5nIHVwIHRoZSBpbmRleGVzLgpUaGF0J3Mgd2h5IGl0J3MgbmVjZXNzYXJ5IHRvIHRy YWNrIHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgc2V2ZXJhbCB0aW1lcyBk dXJpbmcKdGhlIHZhY3V1bSBwcm9jZWR1cmUuIFRvIGF2b2lkIHNlbmRpbmcgdGhlIHN0YXRp c3RpY3MgdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0Kc2V2ZXJhbCB0aW1l cywgd2Ugc2F2ZSB0aGVzZSBzdGF0aXN0aWNzIGluIHRoZSBMVlJlbFN0YXRlIHN0cnVjdHVy ZSBhbmQgb25seSBhZnRlciB2YWN1dW0KZmluaXNoZXMgY2xlYW5pbmcgdXAgdGhlIGhlYXAs IGl0IHNlbmRzIHRoZW0gdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0uCgpB dXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAg QW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVp IFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBL dW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEu bXNoa0BnbWFpbC5jb20+LAogICAgICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92 QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29t PiwKICAgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4 YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNi eSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5j b20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAg IHwgMjY4ICsrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyAgICAgICAgIHwgIDE0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDggKysrLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTMzICsrKysrKysrLQogc3JjL2JhY2tl bmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkgKwogc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgIDI1ICsrCiBzcmMv aW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTggKysrLQog Li4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAgIHwgICA0ICst CiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgMjIg KysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8IDE4 MyArKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAg ICAgICAgICB8ICAgMSArCiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3Muc3FsICAgfCAxNTEgKysrKysrKysrKwogMTUgZmlsZXMgY2hhbmdlZCwgODY0IGluc2Vy dGlvbnMoKyksIDkwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3Muc3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDk4MDEw MWU5Yjk3Li5lMjA2YWVlY2M5YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYwpAQCAtMjkwLDYgKzI5MCw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlj aGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAqcmVsbmFtZXNwYWNlOwogCU9pZAkJCXJlbG9p ZDsKKwlPaWQJCQlpbmRvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICppbmRu YW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87CQkJ LyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTQxMCw2ICs0MTEsOCBA QCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1iZXIgZWFnZXJfc2Nhbl9y ZW1haW5pbmdfZmFpbHM7CiAKIAlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsg LyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJv dW5kIHNodXRkb3duICovCisKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0SWR4OwogfSBM VlJlbFN0YXRlOwogCiAKQEAgLTQyMSwxOSArNDI0LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZT YXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0gTFZTYXZlZEVyckluZm87CiAK LS8qCi0gKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJh Y2tpbmcuCi0gKi8KLXR5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzCi17Ci0JVGlt ZXN0YW1wVHogc3RhcnR0aW1lOwotCVdhbFVzYWdlCXdhbHVzYWdlOwotCUJ1ZmZlclVzYWdl IGJ1ZnVzYWdlOwotCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOwotCVBnU3RhdF9Db3VudGVy IGJsb2Nrc19mZXRjaGVkOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Ci19IExWRXh0 U3RhdENvdW50ZXJzOwotCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8K IHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0 aWMgdm9pZCBoZWFwX3ZhY3V1bV9lYWdlcl9zY2FuX3NldHVwKExWUmVsU3RhdGUgKnZhY3Jl bCwKQEAgLTU1NSwyNyArNTQ1LDI1IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVs LCBMVkV4dFN0YXRDb3VudGVycyAqY291bnRlcnMsCiAJZW5kdGltZSA9IEdldEN1cnJlbnRU aW1lc3RhbXAoKTsKIAlUaW1lc3RhbXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUs IGVuZHRpbWUsICZzZWNzLCAmdXNlY3MpOwogCi0JbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9m KEV4dFZhY1JlcG9ydCkpOwotCiAJLyoKIAkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGlj cyBvbiBhIHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KIAkgKi8KLQlyZXBvcnQtPnRv dGFsX2Jsa3NfcmVhZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNo YXJlZF9ibGtzX3JlYWQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxv Y2FsX2Jsa3NfaGl0ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OwotCXJlcG9ydC0+dG90 YWxfYmxrc19kaXJ0aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNh Z2Uuc2hhcmVkX2Jsa3NfZGlydGllZDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9 IGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3dyaXR0ZW47CisJcmVwb3J0LT50b3RhbF9ibGtzX3Jl YWQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nf cmVhZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ICs9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3Nf aGl0ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19k aXJ0aWVkICs9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX2RpcnRpZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gYnVmdXNh Z2Uuc2hhcmVkX2Jsa3Nfd3JpdHRlbjsKIAotCXJlcG9ydC0+d2FsX3JlY29yZHMgPSB3YWx1 c2FnZS53YWxfcmVjb3JkczsKLQlyZXBvcnQtPndhbF9mcGkgPSB3YWx1c2FnZS53YWxfZnBp OwotCXJlcG9ydC0+d2FsX2J5dGVzID0gd2FsdXNhZ2Uud2FsX2J5dGVzOworCXJlcG9ydC0+ d2FsX3JlY29yZHMgKz0gd2FsdXNhZ2Uud2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBp ICs9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53YWxfYnl0ZXMgKz0gd2FsdXNhZ2Uu d2FsX2J5dGVzOwogCi0JcmVwb3J0LT5ibGtfcmVhZF90aW1lID0gSU5TVFJfVElNRV9HRVRf TUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtf cmVhZF90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Js a19yZWFkX3RpbWUpOwogCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dF VF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7Ci0JcmVwb3J0LT5i bGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2Fs X2Jsa193cml0ZV90aW1lKTsKLQlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElN RV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKLQlyZXBv cnQtPmRlbGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVs YXlUaW1lOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlM TElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3dyaXRlX3RpbWUpOworCXJlcG9ydC0+YmxrX3dy aXRlX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Js a193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmRlbGF5X3RpbWUgKz0gVmFjdXVtRGVsYXlUaW1l IC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsKIAotCXJlcG9ydC0+dG90YWxfdGltZSA9 IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisJcmVwb3J0LT50b3RhbF90aW1lICs9 IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CiAKIAlpZiAoIXJlbC0+cGdzdGF0X2lu Zm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCiAJCS8qCkBAIC01ODQsMTIgKzU3MiwxMzEg QEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpj b3VudGVycywKIAkJICovCiAJCXJldHVybjsKIAotCXJlcG9ydC0+Ymxrc19mZXRjaGVkID0K KwlyZXBvcnQtPmJsa3NfZmV0Y2hlZCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMu YmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7Ci0JcmVwb3J0LT5i bGtzX2hpdCA9CisJcmVwb3J0LT5ibGtzX2hpdCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5j b3VudHMuYmxvY2tzX2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCit2b2lkCitl eHR2YWNfc3RhdHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVz dWx0ICpzdGF0cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQor eworCWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKwor CS8qIFNldCBpbml0aWFsIHZhbHVlcyBmb3IgY29tbW9uIGhlYXAgYW5kIGluZGV4IHN0YXRp c3RpY3MqLworCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsK Kwljb3VudGVycy0+cGFnZXNfZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9 IDA7CisKKwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRv IHdlIG5lZWQgdGhpcyBjb2RlIGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sg b2YKKwkJICogY29tbWVudHMsIGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNv dW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291 bnRlcnMtPnBhZ2VzX2RlbGV0ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisK K3ZvaWQKK2V4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKKwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVy cywgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9m KEV4dFZhY1JlcG9ydCkpOworCisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZjb3VudGVycy0+ Y29tbW9uLCByZXBvcnQpOworCXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNfSU5ERVg7 CisKKwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBn b2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UK KwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkvKiBGaWxs IGluZGV4LXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBvcnQtPnR1 cGxlc19kZWxldGVkID0KKwkJCQkJCQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQgLSBjb3VudGVy cy0+dHVwbGVzX3JlbW92ZWQ7CisJCXJlcG9ydC0+aW5kZXgucGFnZXNfZGVsZXRlZCA9CisJ CQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVycy0+cGFnZXNfZGVsZXRlZDsK Kwl9Cit9CisKKy8qIEFjY3VtdWxhdGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGhlYXAuCisg KgorICAqIEJlY2F1c2Ugb2YgY29tcGxleGl0eSBvZiB2YWN1dW0gcHJvY2Vzc2luZzogaXQg c3dpdGNoIHByb2Nlc2luZyBiZXR3ZWVuCisgICogdGhlIGhlYXAgcmVsYXRpb24gdG8gaW5k ZXggcmVsYXRpb25zIGFuZCB2aXNhIHZlcnNhLCB3ZSBuZWVkIHRvIHN0b3JlCisgICogZ2F0 aGVyZWQgc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaGVhcCByZWxhdGlvbnMgc2V2ZXJh bCB0aW1lcyBiZWZvcmUKKyAgKiB0aGUgdmFjdXVtIHN0YXJ0cyBwcm9jZXNzaW5nIHRoZSBp bmRleGVzIGFnYWluLgorICAqCisgICogSXQgaXMgbmVjZXNzYXJ5IHRvIGdhdGhlciBjb3Jy ZWN0IHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgYW5kIGluZGV4ZXMKKyAgKiBv dGhlcndpY2UgdGhlIGluZGV4IHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gd291bGQgYmUgYWRk ZWQgdG8gaGlzIHBhcmVudCBoZWFwCisgICogc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBhbmQg aXQgd291bGQgYmUgZGlmZmljdWx0IHRvIGFuYWx5emUgaXQgbGF0ZXIuCisgICoKKyAgKiBX ZSBjYW4ndCBzdWJ0cmFjdCB1bmlvbiB2YWN1dW0gc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBm b3IgaW5kZXggZnJvbSB0aGUgaGVhcCByZWxhdGlvbnMKKyAgKiBiZWNhdXNlIG9mIHRvdGFs IGFuZCBkZWxheSB0aW1lIHRpbWUgc3RhdGlzdGljcyBjb2xsZWN0aW5nIGR1cmluZyBwYXJh bGxlbCB2YWN1dW0KKyAgKiBwcm9jdWR1cmUuCisqLworc3RhdGljIHZvaWQKK2FjY3VtdWxh dGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsIEV4dFZhY1Jl cG9ydCAqZXh0VmFjU3RhdHMpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MpCisJCXJldHVybjsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBz dGF0cyBmaWVsZHMgKi8KKwlleHRWYWNTdGF0cy0+dHlwZSA9IFBHU1RBVF9FWFRWQUNfVEFC TEU7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5u ZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwt PnJlbW92ZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnZtX25ld19mcm96ZW5fcGFn ZXMgPSB2YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxl LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9wYWdlczsK KwlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gdmFj cmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CisJZXh0VmFjU3RhdHMtPnR1cGxl c19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNTdGF0cy0+dGFi bGUudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNTdGF0 cy0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRf dHVwbGVzOworCWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZh Y3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3Nl ZF9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCWV4dFZhY1N0 YXRzLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFn ZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+ bnVtX2luZGV4X3NjYW5zOworCWV4dFZhY1N0YXRzLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCisJZXh0 VmFjU3RhdHMtPmJsa19yZWFkX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguYmxr X3JlYWRfdGltZTsKKwlleHRWYWNTdGF0cy0+YmxrX3dyaXRlX3RpbWUgLT0gdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguYmxrX3dyaXRlX3RpbWU7CisJZXh0VmFjU3RhdHMtPnRvdGFsX2Js a3NfZGlydGllZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2RpcnRp ZWQ7CisJZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfaGl0IC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LnRvdGFsX2Jsa3NfaGl0OworCWV4dFZhY1N0YXRzLT50b3RhbF9ibGtzX3JlYWQg LT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkOworCWV4dFZhY1N0 YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90 YWxfYmxrc193cml0dGVuOworCWV4dFZhY1N0YXRzLT53YWxfYnl0ZXMgLT0gdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzOworCWV4dFZhY1N0YXRzLT53YWxfZnBpIC09IHZh Y3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9mcGk7CisJZXh0VmFjU3RhdHMtPndhbF9yZWNv cmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRzOworCisJZXh0VmFj U3RhdHMtPnRvdGFsX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfdGlt ZTsKKwlleHRWYWNTdGF0cy0+ZGVsYXlfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5kZWxheV90aW1lOworCit9CisKK3N0YXRpYyB2b2lkCithY2N1bXVsYXRlX2lkeHNfdmFj dXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNSZXBvcnQgKmV4dFZh Y0lkeFN0YXRzKQoreworCWlmICghcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQor CQlyZXR1cm47CisKKwkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmll bGRzICovCisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguYmxrX3JlYWRfdGltZSArPSBleHRW YWNJZHhTdGF0cy0+YmxrX3JlYWRfdGltZTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5i bGtfd3JpdGVfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+YmxrX3dyaXRlX3RpbWU7CisJdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19kaXJ0aWVkICs9IGV4dFZhY0lkeFN0 YXRzLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90 YWxfYmxrc19oaXQgKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX2Jsa3NfaGl0OworCXZhY3Jl bC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfcmVhZCArPSBleHRWYWNJZHhTdGF0cy0+ dG90YWxfYmxrc19yZWFkOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3Nf d3JpdHRlbiArPSBleHRWYWNJZHhTdGF0cy0+dG90YWxfYmxrc193cml0dGVuOworCXZhY3Jl bC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9ieXRlcyArPSBleHRWYWNJZHhTdGF0cy0+d2FsX2J5 dGVzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9mcGkgKz0gZXh0VmFjSWR4U3Rh dHMtPndhbF9mcGk7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX3JlY29yZHMgKz0g ZXh0VmFjSWR4U3RhdHMtPndhbF9yZWNvcmRzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LmRlbGF5X3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmRlbGF5X3RpbWU7CisKKwl2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC50b3RhbF90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF90 aW1lOworfQorCiAKIC8qCiAgKiBIZWxwZXIgdG8gc2V0IHVwIHRoZSBlYWdlciBzY2Fubmlu ZyBzdGF0ZSBmb3IgdmFjdXVtaW5nIGEgc2luZ2xlIHJlbGF0aW9uLgpAQCAtNzUyLDcgKzg1 OSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFt cyBwYXJhbXMsCiAJRXh0VmFjUmVwb3J0IGFsbHplcm87CiAKIAkvKiBJbml0aWFsaXplIHZh Y3V1bSBzdGF0aXN0aWNzICovCi0JbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBv cnQpKTsKIAlleHRWYWNSZXBvcnQgPSBhbGx6ZXJvOwogCiAJdmVyYm9zZSA9IChwYXJhbXMu b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwpAQCAtNzk5LDYgKzkwNiw4IEBAIGhl YXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMs CiAJZXJyY2FsbGJhY2sucHJldmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNrOwogCWVycm9y X2NvbnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CiAKKwltZW1zZXQoJnZhY3JlbC0+ZXh0 VmFjUmVwb3J0SWR4LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisKIAkvKiBTZXQgdXAg aGlnaCBsZXZlbCBzdHVmZiBhYm91dCByZWwgYW5kIGl0cyBpbmRleGVzICovCiAJdmFjcmVs LT5yZWwgPSByZWw7CiAJdmFjX29wZW5faW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhjbHVz aXZlTG9jaywgJnZhY3JlbC0+bmluZGV4ZXMsCkBAIC0xMDUxLDIzICsxMTYwLDYgQEAgaGVh cF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFtcywK IAkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCAqLwogCWV4 dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOwog Ci0JaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCXsKLQkJLyogRmlsbCBo ZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLwotCQlleHRWYWNSZXBvcnQu cGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0 LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7Ci0JCWV4dFZhY1JlcG9y dC52bV9uZXdfZnJvemVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2VzOwot CQlleHRWYWNSZXBvcnQudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192 aXNpYmxlX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQudm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7Ci0JCWV4dFZhY1Jl cG9ydC50dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7Ci0JCWV4dFZh Y1JlcG9ydC50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOwotCQlleHRW YWNSZXBvcnQucmVjZW50bHlfZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRf dHVwbGVzOwotCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5t aXNzZWRfZGVhZF90dXBsZXM7Ci0JCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF9wYWdlcyA9 IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC5pbmRleF92YWN1 dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKLQkJZXh0VmFjUmVwb3J0Lndy YXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7Ci0JfQotCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxhdGl2 ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtMTA3OCwxMyArMTE3MCwzNCBAQCBoZWFw X3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgcGFyYW1zLAog CSAqIHNvb24gaW4gY2FzZXMgd2hlcmUgdGhlIGZhaWxzYWZlIHByZXZlbnRlZCBzaWduaWZp Y2FudCBhbW91bnRzIG9mIGhlYXAKIAkgKiB2YWN1dW1pbmcuCiAJICovCi0JcGdzdGF0X3Jl cG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAorCWlmKHBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1 dW0gc3RhdHMgcmVwb3J0IGFuZAorCQkgKiBmaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQg c3RhdHMgZmllbGRzLgorCQkgKi8KKwkJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwg JmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJYWNjdW11bGF0ZV9oZWFwX3Zh Y3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CisKKwkJcGdzdGF0X3Jl cG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAogCQkJCQkJIHJlbC0+cmRfcmVs LT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDAp LAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwotCQkJCQkJIHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzLAorIAkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1 cGxlcywKIAkJCQkJCSBzdGFydHRpbWUsCiAJCQkJCQkgJmV4dFZhY1JlcG9ydCk7CisKKwl9 CisJZWxzZQorCXsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChy ZWwpLAorCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJIE1heCh2 YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCisJCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlf ZGVhZF90dXBsZXMgKworCQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJ CQkJCQkgc3RhcnR0aW1lLAorCQkJCQkJCSBOVUxMKTsKKwl9CisKIAlwZ3N0YXRfcHJvZ3Jl c3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpAQCAtMjc3NiwxMCArMjg4 OSwyMCBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJ fQogCWVsc2UKIAl7CisJCUxWRXh0U3RhdENvdW50ZXJzIGNvdW50ZXJzOworCQlFeHRWYWNS ZXBvcnQgZXh0VmFjUmVwb3J0OworCisJCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBzaXpl b2YoRXh0VmFjUmVwb3J0KSk7CisKKwkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVs LCAmY291bnRlcnMpOworCiAJCS8qIE91dHNvdXJjZSBldmVyeXRoaW5nIHRvIHBhcmFsbGVs IHZhcmlhbnQgKi8KIAkJcGFyYWxsZWxfdmFjdXVtX2J1bGtkZWxfYWxsX2luZGV4ZXModmFj cmVsLT5wdnMsIG9sZF9saXZlX3R1cGxlcywKIAkJCQkJCQkJCQkJdmFjcmVsLT5udW1faW5k ZXhfc2NhbnMpOwogCisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVy cywgJmV4dFZhY1JlcG9ydCk7CisJCWFjY3VtdWxhdGVfaWR4c192YWN1dW1fc3RhdGlzdGlj cyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOworCiAJCS8qCiAJCSAqIERvIGEgcG9zdGNoZWNr IHRvIGNvbnNpZGVyIGFwcGx5aW5nIHdyYXBhcm91bmQgZmFpbHNhZmUgbm93LiAgTm90ZQog CQkgKiB0aGF0IHBhcmFsbGVsIFZBQ1VVTSBvbmx5IGdldHMgdGhlIHByZWNoZWNrIGFuZCB0 aGlzIHBvc3RjaGVjay4KQEAgLTMxODksMTAgKzMzMTIsMjAgQEAgbGF6eV9jbGVhbnVwX2Fs bF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiAJZWxzZQogCXsKKwkJTFZFeHRT dGF0Q291bnRlcnMgY291bnRlcnM7CisJCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisK KwkJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwor CQlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZjb3VudGVycyk7CisKIAkJLyog T3V0c291cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwogCQlwYXJhbGxl bF92YWN1dW1fY2xlYW51cF9hbGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgcmVsdHVwbGVzLAog CQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2FucywKIAkJCQkJCQkJCQkJZXN0aW1h dGVkX2NvdW50KTsKKworCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmY291bnRl cnMsICZleHRWYWNSZXBvcnQpOworCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3Rp Y3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKIAl9CiAKIAkvKiBSZXNldCB0aGUgcHJvZ3Jl c3MgY291bnRlcnMgKi8KQEAgLTMyMTgsNiArMzM1MSwxMSBAQCBsYXp5X3ZhY3V1bV9vbmVf aW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAog ewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJy X2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFj UmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFs dWVzIHRvIGdhdGhlciB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJZXh0 dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwog CiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5y ZWw7CkBAIC0zMjM2LDYgKzMzNzQsNyBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRp b24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFzc2Vy dCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1 cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9 IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8o dmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9W QUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNl dE51bWJlcik7CkBAIC0zMjQ0LDYgKzMzODMsMTkgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4 KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlpc3Rh dCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFk X2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVhZF9pdGVtc19pbmZvKTsKIAorCWlmKHBn c3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQg dmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwkJZXh0dmFjX3N0YXRzX2VuZF9p ZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwor CQlpZiAoIVBhcmFsbGVsVmFjdXVtSXNBY3RpdmUodmFjcmVsKSkKKwkJCWFjY3VtdWxhdGVf aWR4c192YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOworCisJCXBn c3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJ aW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCQkwLCAwLCAwLCAmZXh0VmFj UmVwb3J0KTsKKwl9CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9y bWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9p bmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2YWNyZWwtPmluZG5hbWUp OwpAQCAtMzI2OCw2ICszNDIwLDExIEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRp b24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFj dXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZF eHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZh Y1JlcG9ydDsKKworCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhl ciB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX3N0 YXJ0X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmlu ZGV4ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0zMjg3 LDEyICszNDQ0LDI1IEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVs LCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwt PmluZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlv bkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9u R2V0UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAm c2F2ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9JTkRFWF9DTEVB TlVQLAogCQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRPZmZzZXROdW1iZXIp OwogCiAJaXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQpOwog CisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBl eHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCQlleHR2YWNfc3Rh dHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBv cnQpOworCQlpZiAoIVBhcmFsbGVsVmFjdXVtSXNBY3RpdmUodmFjcmVsKSkKKwkJCWFjY3Vt dWxhdGVfaWR4c192YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOwor CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJ CQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCQkwLCAwLCAwLCAm ZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNl IGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9l cnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2YWNyZWwtPmlu ZG5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDY0ODBj M2ZjOTJhLi5lYjYzYmUxODMzYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbApAQCAtMTQ3MCwzICsxNDcwLDM1IEBAIEZST00gcGdfY2xhc3MgcmVsCiAgIEpPSU4g cGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVS QUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cwogV0hFUkUgcmVs LnJlbGtpbmQgPSAncic7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg QVMKK1NFTEVDVAorICByZWwub2lkIGFzIHJlbGlkLAorICBucy5uc3BuYW1lIEFTIHNjaGVt YW5hbWUsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisKKyAgdG90YWxfYmxrc19yZWFk IEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgdG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19o aXQsCisgIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHRv dGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgcmVsX2Jsa3Nf cmVhZCBBUyByZWxfYmxrc19yZWFkLAorICByZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0 LAorCisgIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKKyAgdHVwbGVzX2RlbGV0 ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisKKyAgd2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMs CisgIHdhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgd2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKwor ICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIGJsa193cml0ZV90aW1lIEFT IGJsa193cml0ZV90aW1lLAorCisgIGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgdG90 YWxfdGltZSBBUyB0b3RhbF90aW1lCitGUk9NCisgIHBnX2NsYXNzIHJlbAorICBKT0lOIHBn X25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSByZWwu cmVsa2luZCA9ICdpJzsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCAyYjU1ZDliN2MwZS4uNjVkZTQ1YTQ0 NDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtODY4LDYg Kzg2OCw4IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZh Y3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAlJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKmlzdGF0ID0gTlVMTDsKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0X3JlczsK IAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZh Y0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAKIAkvKgogCSAqIFVw ZGF0ZSB0aGUgcG9pbnRlciB0byB0aGUgY29ycmVzcG9uZGluZyBidWxrLWRlbGV0aW9uIHJl c3VsdCBpZiBzb21lb25lCkBAIC04NzYsNiArODc4LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3By b2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5k cmVsLAogCWlmIChpbmRzdGF0cy0+aXN0YXRfdXBkYXRlZCkKIAkJaXN0YXQgPSAmKGluZHN0 YXRzLT5pc3RhdCk7CiAKKwkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBn YXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleCAqLworCWV4dHZhY19zdGF0 c19zdGFydF9pZHgoaW5kcmVsLCAmKGluZHN0YXRzLT5pc3RhdCksICZleHRWYWNDb3VudGVy cyk7CisKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSBwdnMt PmhlYXByZWw7CiAJaXZpbmZvLmFuYWx5emVfb25seSA9IGZhbHNlOwpAQCAtOTA0LDYgKzkw OSwxNSBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1 dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJCQkJIFJlbGF0aW9uR2V0UmVsYXRp b25OYW1lKGluZHJlbCkpOwogCX0KIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlz dGljcykKKwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3Ig aW5kZXggKi8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZl eHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVt KFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJl bGlzc2hhcmVkLAorCQkJCQkJCQkwLCAwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkv KgogCSAqIENvcHkgdGhlIGluZGV4IGJ1bGstZGVsZXRpb24gcmVzdWx0IHJldHVybmVkIGZy b20gYW1idWxrZGVsZXRlIGFuZAogCSAqIGFtdmFjdXVtY2xlYW51cCB0byB0aGUgRFNNIHNl Z21lbnQgaWYgaXQncyB0aGUgZmlyc3QgY3ljbGUgYmVjYXVzZSB0aGV5CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IGExOWQ0YTc3MGI4Li4yYjcwNThlNWMwMSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExNjIsNiArMTE2Miwx MCBAQCBwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlm IChwLT5kcm9wcGVkKQogCQkJY29udGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RB VF9LSU5EX0lOVkFMSUQgJiYgc3RhdEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2Fk IHN0YXQgb2Ygc3BlY2lmaWMgdHlwZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisK IAkJQXNzZXJ0KHBnX2F0b21pY19yZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJ c3RhdHNfZGF0YSA9IGRzYV9nZXRfYWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkp OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0 aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpp bmRleCBlMDIzOTI2ZmYwNS4uYzYxOTQ1ODRiMzUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC0xMDE2LDYgKzEwMTYsOSBAQCBz dGF0aWMgdm9pZAogcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9y dCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVf cmVsdHlwZV9zcGVjaWZpY19pbmZvKQogeworCWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MpCisJCXJldHVybjsKKwogCWRzdC0+dG90YWxfYmxrc19yZWFkICs9IHNyYy0+ dG90YWxfYmxrc19yZWFkOwogCWRzdC0+dG90YWxfYmxrc19oaXQgKz0gc3JjLT50b3RhbF9i bGtzX2hpdDsKIAlkc3QtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBzcmMtPnRvdGFsX2Jsa3Nf ZGlydGllZDsKQEAgLTEwMzEsMjAgKzEwMzQsMzUgQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0 dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlpZiAo IWFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CiAKLQlkc3Qt PmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKLQlkc3QtPmJsa3NfaGl0ICs9 IHNyYy0+Ymxrc19oaXQ7Ci0KLQlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19z Y2FubmVkOwotCWRzdC0+cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7Ci0J ZHN0LT52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X2Zyb3plbl9wYWdlczsK LQlkc3QtPnZtX25ld192aXNpYmxlX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfcGFn ZXM7Ci0JZHN0LT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXM7Ci0JZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1 cGxlc19kZWxldGVkOwotCWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96 ZW47Ci0JZHN0LT5yZWNlbnRseV9kZWFkX3R1cGxlcyArPSBzcmMtPnJlY2VudGx5X2RlYWRf dHVwbGVzOwotCWRzdC0+aW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVt X2NvdW50OwotCWRzdC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQ7Ci0JZHN0LT5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMt Pm1pc3NlZF9kZWFkX3BhZ2VzOwotCWRzdC0+bWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+ bWlzc2VkX2RlYWRfdHVwbGVzOworCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19J TlZBTElEKQorCQlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7CisKKwlBc3NlcnQoc3JjLT50eXBl ID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsK KworCWlmIChkc3QtPnR5cGUgPT0gc3JjLT50eXBlKQorCXsKKwkJZHN0LT5ibGtzX2ZldGNo ZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtz X2hpdDsKIAorCQlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfVEFCTEUpCisJCXsK KwkJCWRzdC0+dGFibGUucGFnZXNfc2Nhbm5lZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3NjYW5u ZWQ7CisJCQlkc3QtPnRhYmxlLnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT50YWJsZS5wYWdlc19y ZW1vdmVkOworCQkJZHN0LT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFi bGUudm1fbmV3X2Zyb3plbl9wYWdlczsKKwkJCWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVf cGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwkJCWRzdC0+dGFi bGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzOworCQkJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1 cGxlc19kZWxldGVkOworCQkJZHN0LT50YWJsZS50dXBsZXNfZnJvemVuICs9IHNyYy0+dGFi bGUudHVwbGVzX2Zyb3plbjsKKwkJCWRzdC0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMg Kz0gc3JjLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwkJCWRzdC0+dGFibGUuaW5k ZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50OworCQkJ ZHN0LT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzOworCQkJZHN0LT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJs ZS5taXNzZWRfZGVhZF90dXBsZXM7CisJCQlkc3QtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQgKz0gc3JjLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCQl9 CisJCWVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCQl7CisJ CQlkc3QtPmluZGV4LnBhZ2VzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC5wYWdlc19kZWxldGVk OworCQkJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxldGVkOworCQl9 CisJfQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKaW5kZXggZWU0NjFlYTM3OGQuLmRlZmUxOTkwZTExIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM3NCwxOCArMjM3NCwxOSBAQCBw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJCQkJCQll eHR2YWN1dW0tPmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5ibGtzX2hpdCk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5wYWdlc19zY2FubmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5wYWdlc19yZW1vdmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT52bV9uZXdfZnJvemVuX3BhZ2VzKTsKLQl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9wYWdlcyk7Ci0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNz ZWRfZGVhZF9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dGFibGUucGFnZXNfc2Nhbm5lZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dGFibGUucGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X3Zpc2li bGVfcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMpOwogCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVkKTsKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZnJvemVuKTsK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5yZWNlbnRseV9kZWFk X3R1cGxlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlz c2VkX2RlYWRfdHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFj dXVtLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleF92YWN1dW1fY291bnQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnR1cGxlc19mcm96ZW4pOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2Rl YWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOworCisJdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUuaW5kZXhfdmFjdXVt X2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndh bF9yZWNvcmRzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53 YWxfZnBpKTsKQEAgLTI0MDQsNiArMjQwNSwxMTYgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3Rh YmxlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFD VVVNX1RBQkxFU19TVEFUU19DT0xTKTsKIAorCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBE YXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1f dHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KKworLyoKKyAqIEdldCB0aGUg dmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAqLworRGF0dW0KK3Bn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmlu ZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUwkxNgorCisJT2lkCQkJCQkJ cmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0 YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJ IHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNV VU1fSU5ERVhfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOworCWlu dAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRpYWxp c2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAqLwor CXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNVVU1f SU5ERVhfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInJlbGlkIiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJs a3NfcmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAidG90YWxfYmxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfYmxrc193cml0dGVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3Nf cmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInBhZ2VzX2RlbGV0ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNf ZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIs CisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZM T0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi ZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJCQkJ CSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFD VVVNX0lOREVYX1NUQVRTX0NPTFMpOworCisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisK Kwl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKworCWlm ICh0YWJlbnRyeSA9PSBOVUxMKQorCXsKKwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBu b3QgZm91bmQsIGluaXRpYWxpc2UgaXRzIHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywg MCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9 CisJZWxzZQorCXsKKwkJZXh0dmFjdXVtID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7CisJ fQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQp OworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxr c19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3Rh bF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Ymxrc19mZXRjaGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1bS0+ Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJs a3NfaGl0KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmlu ZGV4LnBhZ2VzX2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnR1cGxlc19kZWxldGVkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlr ZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJ TlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERp cmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERh dHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkg IEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7CisKKwlBc3NlcnQoaSA9PSBQR19T VEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7CisKIAkvKiBSZXR1cm5zIHRoZSBy ZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0o aGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMpKSk7CiB9ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpp bmRleCA1YWY1OTNhYTFhNy4uYWM2NDI3Y2YxZTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv Z3VjX3RhYmxlcy5jCkBAIC0xNTcwLDcgKzE1NzAsNyBAQCBzdHJ1Y3QgY29uZmlnX2Jvb2wg Q29uZmlndXJlTmFtZXNCb29sW10gPQogCiAJewogCQl7InRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFUSVZFLAotCQkJZ2V0dGV4dF9ub29wKCJD b2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGFibGUgcmVsYXRpb25zLiIpLAorCQkJ Z2V0dGV4dF9ub29wKCJDb2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcmVsYXRpb25z LiIpLAogCQkJTlVMTAogCQl9LAogCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz LApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNjg3ZDUxYzJhNmEuLjJmYmQwMDEx NzhlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNTk0LDQgKzEyNTk0LDEz IEBACiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJywg cHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUg PT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKK3sgb2lkID0+ICc4MDA0JywKKyAgZGVz Y3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMn LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycsIHByb3Jvd3Mg PT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHBy b2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMg PT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZs b2F0OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJl bGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQs dG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2Rl bGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxr X3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfQogXQpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5k cy92YWN1dW0uaAppbmRleCA0ZDA1ZTFhMGZhYy4uZGNjNTQyNzUwYjggMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3ZhY3V1bS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9idWYu aCIKICNpbmNsdWRlICJzdG9yYWdlL2xvY2suaCIKICNpbmNsdWRlICJ1dGlscy9yZWxjYWNo ZS5oIgorI2luY2x1ZGUgInBnc3RhdC5oIgogCiAvKgogICogRmxhZ3MgZm9yIGFtcGFyYWxs ZWx2YWN1dW1vcHRpb25zIHRvIGNvbnRyb2wgdGhlIHBhcnRpY2lwYXRpb24gb2YgYnVsa2Rl bGV0ZQpAQCAtMjk1LDYgKzI5NiwyNiBAQCB0eXBlZGVmIHN0cnVjdCBWYWNEZWFkSXRlbXNJ bmZvCiAJaW50NjQJCW51bV9pdGVtczsJCS8qIGN1cnJlbnQgIyBvZiBlbnRyaWVzICovCiB9 IFZhY0RlYWRJdGVtc0luZm87CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBm b3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExWRXh0 U3RhdENvdW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdlCXdh bHVzYWdlOworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlU aW1lOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVy IGJsb2Nrc19oaXQ7Cit9IExWRXh0U3RhdENvdW50ZXJzOworCit0eXBlZGVmIHN0cnVjdCBM VkV4dFN0YXRDb3VudGVyc0lkeAoreworCUxWRXh0U3RhdENvdW50ZXJzIGNvbW1vbjsKKwlp bnQ2NAkJcGFnZXNfZGVsZXRlZDsKKwlpbnQ2NAkJdHVwbGVzX3JlbW92ZWQ7Cit9IExWRXh0 U3RhdENvdW50ZXJzSWR4OworCiAvKiBHVUMgcGFyYW1ldGVycyAqLwogZXh0ZXJuIFBHRExM SU1QT1JUIGludCBkZWZhdWx0X3N0YXRpc3RpY3NfdGFyZ2V0OwkvKiBQR0RMTElNUE9SVCBm b3IgUG9zdEdJUyAqLwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCB2YWN1dW1fZnJlZXplX21p bl9hZ2U7CkBAIC00MDgsNCArNDI5LDggQEAgZXh0ZXJuIGRvdWJsZSBhbmxfcmFuZG9tX2Zy YWN0KHZvaWQpOwogZXh0ZXJuIGRvdWJsZSBhbmxfaW5pdF9zZWxlY3Rpb25fc3RhdGUoaW50 IG4pOwogZXh0ZXJuIGRvdWJsZSBhbmxfZ2V0X25leHRfUyhkb3VibGUgdCwgaW50IG4sIGRv dWJsZSAqc3RhdGVwdHIpOwogCitleHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKKwkJCQkJICAg TFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKTsKK2V4dGVybiB2b2lkIGV4dHZhY19z dGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0 cywKKwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0 ICpyZXBvcnQpOwogI2VuZGlmCQkJCQkJCS8qIFZBQ1VVTV9IICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDRmZDEx NGU5YTVmLi5hZWMyNWFkMjI2MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgK KysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTExMSwxMSArMTExLDE5IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25m bGljdF9jb3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVu dHJ5OwogCisvKiBUeXBlIG9mIEV4dFZhY1JlcG9ydCAqLwordHlwZWRlZiBlbnVtIEV4dFZh Y1JlcG9ydFR5cGUKK3sKKwlQR1NUQVRfRVhUVkFDX0lOVkFMSUQgPSAwLAorCVBHU1RBVF9F WFRWQUNfVEFCTEUgPSAxLAorCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyCit9IEV4dFZhY1Jl cG9ydFR5cGU7CisKIC8qIC0tLS0tLS0tLS0KICAqCiAgKiBFeHRWYWNSZXBvcnQKICAqCi0g KiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhl YXAgcmVsYXRpb24uCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nl c3Npbmcgb3ZlciBhIHJlbGF0aW9uLgogICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50 IGJ5IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKICAqIGlmIGFueSAoaWUgdGhlIGNo YW5nZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQogICogcGFnZXNfZGVsZXRlZCByZWZl ciB0byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQpAQCAtMTQ0LDE4ICsxNTIs NDQgQEAgdHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAJZG91YmxlCQlkZWxheV90aW1l OwkJLyogaG93IGxvbmcgdmFjdXVtIHNsZXB0IGluIHZhY3V1bSBkZWxheSBwb2ludCwgaW4g bXNlYyAqLwogCWRvdWJsZQkJdG90YWxfdGltZTsJCS8qIHRvdGFsIHRpbWUgb2YgYSB2YWN1 dW0gb3BlcmF0aW9uLCBpbiBtc2VjICovCiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8q IGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZNKSAqLwotCWludDY0CQlw YWdlc19yZW1vdmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1bmNh dGlvbiIgKi8KLQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8qIHBhZ2VzIG1hcmtl ZCBpbiBWTSBhcyBmcm96ZW4gKi8KLQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7CS8q IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLwotCWludDY0CQl2bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlz aWJsZSBhbmQgZnJvemVuICovCi0JaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1 cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVh bnVwIGxvY2sgKi8KLQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRo IG1pc3NlZCBkZWFkIHR1cGxlcyAqLwogCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1 cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwotCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyog dHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KLQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90 dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29t ZSB0cmFuc2FjdGlvbiAqLwotCWludDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIHRoZSBu dW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLwotCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBh bnRpLXdyYXBhcm91bmQgc2h1dGRvd24gKi8KKworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJ CS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBU aGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQg aW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVu aW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBz byB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2Yg Y29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3 YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1 cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZv ciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9u CisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFw IHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwkJCWludDY0CQlwYWdl c19yZW1vdmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1bmNhdGlv biIgKi8KKwkJCWludDY0CQlwYWdlc19mcm96ZW47CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0g YXMgZnJvemVuICovCisJCQlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19mcm96ZW47 CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCQkJaW50NjQJCXJlY2VudGx5 X2RlYWRfdHVwbGVzOwkvKiBkZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxl IHRvIHNvbWUgdHJhbnNhY3Rpb24gKi8KKwkJCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2Vz OwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLworCQkJaW50NjQJCXZtX25l d192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUg Ki8KKwkJCWludDY0CQl2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1h cmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSBhbmQgZnJvemVuICovCisJCQlpbnQ2NAkJbWlz c2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0 byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLworCQkJaW50NjQJCW1pc3NlZF9k ZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KKwkJCWlu dDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdz ICovCisJCQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogbnVtYmVyIG9m IGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5kIHNodXRkb3du ICovCisJCX0JCQl0YWJsZTsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxl dGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCX0JCQlp bmRleDsKKwl9IC8qIHBlcl90eXBlX3N0YXRzICovOwogfSBFeHRWYWNSZXBvcnQ7CiAKIC8q IC0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92 YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBiL3NyYy90ZXN0L2lzb2xh dGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApp bmRleCA4N2Y3ZTQwYjRhNi4uNmQ5NjA0MjM5MTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lz b2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91 dAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5vdXQKQEAgLTM0LDcgKzM0LDcgQEAgc3RlcCBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGU6CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxl c19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xtaXNz ZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgICAxMDB8ICAgICAgICAg ICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgIDAKK3Rlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAgNjAwfCAg ICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAwCiAoMSBy b3cpCiAKIHN0ZXAgczFfY29tbWl0OiBDT01NSVQ7CkBAIC00OCw2ICs0OCw2IEBAIHN0ZXAg czJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOgogCiByZWxuYW1lICAgICAgICAgICAgICAg ICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90 dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLXRlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMTAw fCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMTAxCit0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDMwMHwgICAgICAgICAgICAg ICAgIDYwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAg IDMwMwogKDEgcm93KQogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4 IDM0OWU3ZGViYTAxLi5mZGQ1MzQxYmRmYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKQEAgLTIyOTMsNiArMjI5MywyOCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBT RUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0 YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJBWVsncGdf Y2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFORCAoc2No ZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3RhdF92YWN1dW1faW5kZXhl c3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCisgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFu YW1lLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQs CisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3Jl YWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQs CisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisg ICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxr X3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxh eV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBnX2NsYXNzIHJlbAor ICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3Bh Y2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lk KSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxf Ymxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9i bGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3 YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxh eV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFy Iik7CiBwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVt YW5hbWUsCiAgICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVsaWQsCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mu b3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMDBhMGZjNjgz YwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTgzIEBACistLQorLS0gVGVzdCBj dW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBz dGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJl ciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJl ciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0g U3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVz ZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEg bm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMg CistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAw MDAKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQu Li4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBUZXN0IHRoYXQgdmFjdXVt IHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCitTRVQg dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitDUkVBVEUgVEFCTEUgdmVzdGF0 ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0g MTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitERUxFVEUgRlJPTSB2 ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBNdXN0IGJlIGVtcHR5LgorU0VMRUNUICoKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnOworIHJlbGlkIHwgc2NoZW1hbmFtZSB8IHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQg fCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3Jp dHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19kZWxldGVkIHwg dHVwbGVzX2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBi bGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGlt ZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisoMCByb3dzKQorCitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK0RST1AgVEFC TEUgdmVzdGF0IENBU0NBREU7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0g bXVzdCBiZSBvbgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFy ZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygx IHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVlemVfbWlu X2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1TRVQgc3Rh dHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQg KHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1NF TEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0g QmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcg aXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1 cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNz IGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMu b2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAK K0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xF QU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwg c3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5k ZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZy b3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXll ZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQg dXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBh Z2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFT IHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVw bGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAg ICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJw LHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdh bF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gTG9vayBpbnRv IFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwg d2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0t LS0tCisgdCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBP TikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlz dGljcworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQK K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRk ID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz IEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBk aWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitT RUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworIGRpd3IgfCBk aXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3 YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0lOU0VSVCBJTlRP IHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkg YXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0g RlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZh bmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0g RlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0 aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2Ig QVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBh bmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitT RUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFT IGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0 ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMt OmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAg IHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2 ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKwor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBk LHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVz dGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRF WF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUK K1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBk aXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS1UaGVyZSBhcmUg bm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFT IGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0t Ky0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5v dywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIg b2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4K Ky0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBi ZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMg fCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8 IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2 ZXN0YXQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl IGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCBjZDc3OWFiOGVj YS4uNGViMDMzNTMxMDQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAt MTQ0LDQgKzE0NCw1IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgLS0tLS0tLS0tLQogIyBDaGVj ayB2YWN1dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1faW5kZXhf c3RhdGlzdGljcwogdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFj dXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X2luZGV4X3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5hZTE0NmUxZDIzZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsxLDE1MSBAQAor LS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hl Y2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRp b246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1 dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkg YmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhp cyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRp dGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisK K1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKKworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwg YnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxs JzsKKworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hl biBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdv ZmYnOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9l bmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNF TEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5B TFlaRSB2ZXN0YXQ7CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CisK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0Owor CistLSBNdXN0IGJlIGVtcHR5LgorU0VMRUNUICoKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOworCitSRVNFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljczsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKK1NIT1cg dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCisKKy0tIGVuc3VyZSBw ZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21p bl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0 YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0 ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisK K1NFTEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMg dmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dI RVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwg MCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0Owor LS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlz dGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBj bGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBi ZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAg QVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVz X2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMg aWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NF TEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eSc7CisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlz IG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisK Ky0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1l LHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAg QVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVs ZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NF TEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0 dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFk dmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6 ZGl3YiA+IDAgQVMgZGlXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2 ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQg dG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3Rp Y3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGkt OmlmcGkgQVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0 aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBB UyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKworU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRl ZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFT IHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0 ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFT IGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsK K1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMg ZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxf Ynl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBk aVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKworLS0KKy0tIE5v dywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIg b2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4K Ky0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBi ZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdDsKLS0g CjIuMzQuMQoK --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/x-patch; charset=UTF-8; name="v24-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v24-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA3ODllZDMyZWZjMGFjMDY3OTJkNGU2Y2JlNjc1OWFmN2FkOGFlYjNjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQzOjMzICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBkYXRhYmFzZXMuCgpEYXRhYmFzZSB2YWN1dW0gc3RhdGlz dGljcyBpbmZvcm1hdGlvbiBpcyB0aGUgY29sbGVjdGVkIGdlbmVyYWwKdmFjdXVtIHN0YXRp c3RpY3MgaW5kZXhlcyBhbmQgdGFibGVzIG93bmVkIGJ5IHRoZSBkYXRhYmFzZXMsIHdoaWNo CnRoZXkgYmVsb25nIHRvLgoKSW4gYWRkaXRpb24gdG8gdGhlIGZhY3QgdGhhdCB0aGVyZSBh cmUgZmFyIGZld2VyIGRhdGFiYXNlcyBpbiBhIHN5c3RlbQp0aGFuIHJlbGF0aW9ucywgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIGEgZGF0YWJhc2UgY29udGFpbiBmZXdlciBzdGF0aXN0aWNz CnRoYW4gcmVsYXRpb25zLCBidXQgdGhleSBhcmUgZW5vdWdoIHRvIGluZGljYXRlIHRoYXQg c29tZXRoaW5nIG1heSBiZQp3cm9uZyBpbiB0aGUgc3lzdGVtIGFuZCBwcm9tcHQgdGhlIGFk bWluaXN0cmF0b3IgdG8gZW5hYmxlIGV4dGVuZGVkCm1vbml0b3JpbmcgZm9yIHJlbGF0aW9u cy4KClNvLCBidWZmZXIsIHdhbCwgc3RhdGlzdGljcyBvZiBJL08gdGltZSBvZiByZWFkIGFu ZCB3cml0ZW4gYmxvY2tzCnN0YXRpc3RpY3Mgd2lsbCBiZSBvYnNlcnZlZCBiZWNhdXNlIHRo ZXkgYXJlIGNvbGxlY3RlZCBmb3IgYm90aAp0YWJsZXMsIGluZGV4ZXMuIEluIGFkZGl0aW9u LCB3ZSBzaG93IHRoZSBudW1iZXIgb2YgZXJyb3JzIGNhdWdodApkdXJpbmcgb3BlcmF0aW9u IG9mIHRoZSB2YWN1dW0gb25seSBmb3IgdGhlIGVycm9yIGxldmVsLgoKd3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudCBpcyBhIG51bWJlciBvZiB0aW1lcyB3aGVuIHRoZSB2YWN1dW0gc3Rh cnRzCnVyZ2VudCBjbGVhbnVwIHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtIHdoaWNo IGlzIGNyaXRpY2FsIGZvcgp0aGUgZGF0YWJhc2UuCgpBdXRob3JzOiBBbGVuYSBSeWJha2lu YSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAgQW5kcmVpIExlcGlraG92IDxhLmxl cGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9z dGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21h aWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAogICAg ICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92QHRhbnRvcmxhYnMuY29tPiwgamlh biBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29tPiwKICAgICAgIEtpcmlsbCBSZXNo a2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29y b3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNieSA8am5hc2J5QHVwZ3JhZGUuY29t PiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAgIHwgIDE3ICsrLQogc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDI3ICsrKystCiBzcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDIgKy0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAgMSArCiBz cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDYgKysr KysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8 IDEwMCArKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Rh Ymxlcy5jICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdCAgICAgICAgICAgICAgIHwgIDEzICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjICAgfCAgIDYgKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICAxNyArKysKIC4uLi9leHBlY3RlZC92YWN1 dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8ICAxNiArLS0KIC4uLnV0ID0+IHZhY3V1 bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0fSB8ICA4NyArKysrKysrKysrKysrLS0K IHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMiAr LQogLi4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCAgIHwgICA2 ICstCiAuLi5xbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbH0gfCAg NjkgKysrKysrKysrKystCiAxNiBmaWxlcyBjaGFuZ2VkLCAzODEgaW5zZXJ0aW9ucygrKSwg MzUgZGVsZXRpb25zKC0pCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC97dmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0 aXN0aWNzLm91dH0gKDgyJSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL3NxbC97dmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLnNxbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0 aWNzLnNxbH0gKDgxJSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5k ZXggZTIwNmFlZWNjOWMuLjNjM2UyM2NkOTQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCkBAIC02NTksNyArNjU5LDcgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgRXh0VmFjUmVwb3J0ICpleHRWYWNT dGF0cykKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JZXh0 VmFjU3RhdHMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndy YXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisJZXh0VmFjU3RhdHMtPndyYXBhcm91bmRfZmFp bHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAKIAll eHRWYWNTdGF0cy0+YmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5i bGtfcmVhZF90aW1lOwogCWV4dFZhY1N0YXRzLT5ibGtfd3JpdGVfdGltZSAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5ibGtfd3JpdGVfdGltZTsKQEAgLTQwNzUsNiArNDA3NSw5IEBA IHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5w aGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlm KGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9l cnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAo QmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zm c2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtNDA5MCw2ICs0MDkzLDkg QEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNh c2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVs KCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+ cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNW YWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFs aWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTQxMDUsMTYgKzQxMTEsMjUgQEAgdmFjdXVtX2Vy cm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VS UkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9S KQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdT VEFUX0VYVFZBQ19JTkRFWCk7CisKIAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBp bmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+ aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJ CWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJ CQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1 bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOworCiAJCQll cnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24g XCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFt ZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVN X0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1Ip CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NU QVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZv LT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGluZyByZWxhdGlvbiBc IiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAgIGVycmluZm8tPnJlbG5hbWVzcGFj ZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxrbm8pOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGViNjNiZTE4MzNhLi5lNTM3MDIxMWQ3NCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTUwMSw0ICsxNTAxLDI5 IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5z Lm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxraW5kID0gJ2knOwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxraW5kID0gJ2knOworCitD UkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUworU0VMRUNUCisgIGRiLm9p ZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisKKyAgc3RhdHMuZGJfYmxr c19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMuZGJfYmxrc19oaXQgQVMgZGJfYmxr c19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRp ZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9m cGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBz dGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0 ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVs YXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0b3RhbF90aW1lLAorICBzdGF0cy53 cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmVy cm9ycyBBUyBlcnJvcnMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHM7ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCAy YjcwNThlNWMwMS4uNjE0ZGFmNjAzNzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHBnc3RhdF9p c19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29sCQlwZ3N0YXRfdHJhY2tf Y291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NU QVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci1ib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgPSB0cnVlOworYm9vbAkJcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzID0gZmFsc2U7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0YXRlIHNoYXJlZCB3aXRoIHBn c3RhdF8qLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFi YXNlLmMKaW5kZXggYjMxZjIwZDQxYmMuLjY1MjA3ZDMwMzc4IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpAQCAtNDg1LDYgKzQ4NSw3 IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3Jl ZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwogCiAJ bWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkpOworCW1lbXNldCgm KHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CiAK IAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3JlbGF0aW9uLmMKaW5kZXggYzYxOTQ1ODRiMzUuLmJmN2FiMzQ1YmUwIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtMjA1 LDYgKzIwNSwzOCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiAJfQog fQogCisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCkgLQor ICoKKyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2YWN1dW0gaW50ZXJy dXB0aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCit7CisJUGdT dGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRh YmVudHJ5OworCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OworCU9pZAkJCWRib2lk ID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBl bmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykK KwkJcmV0dXJuOworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2Vk KFBHU1RBVF9LSU5EX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwgdGFibGVvaWQsIGZh bHNlKTsKKworCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1JlbGF0aW9uICopIGVudHJ5 X3JlZi0+c2hhcmVkX3N0YXRzOworCXRhYmVudHJ5ID0gJnNodGFiZW50cnktPnN0YXRzOwor CisJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKKwlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2Vf cGVuZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsKKwlkYmVu dHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Cit9CisKIC8qCiAgKiBSZXBvcnQgdGhh dCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3RpY3Mu CiAgKi8KQEAgLTIxNiw2ICsyNDgsNyBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFi bGVvaWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBn U3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5 ICp0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKmRiZW50cnk7CiAJT2lkCQkJ ZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCk7CiAJVGltZXN0 YW1wVHogdHM7CiAJUGdTdGF0X0NvdW50ZXIgZWxhcHNlZHRpbWU7CkBAIC0yNzQsNiArMzA3 LDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQs CiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9pZCkgcGdzdGF0X2ZsdXNo X2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lPKTsKKworCWlmIChkYm9p ZCAhPSBJbnZhbGlkT2lkKQorCXsKKwkJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9y ZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJCQkJCQlkYm9pZCwgSW52 YWxpZE9pZCwgZmFsc2UpOworCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9EYXRhYmFzZSAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2 YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFtcywgZmFsc2UpOwor CQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisJfQogfQogCiAvKgpAQCAtMTAz MCw2ICsxMDczLDggQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1Jl cG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlkc3QtPmJsa193cml0ZV90aW1lICs9 IHNyYy0+YmxrX3dyaXRlX3RpbWU7CiAJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlf dGltZTsKIAlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCWRzdC0+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQ7CisJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJvcnM7CiAKIAlpZiAoIWFjY3VtdWxhdGVf cmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CkBAIC0xMDU3LDcgKzExMDIsNiBA QCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4 dFZhY1JlcG9ydCAqc3JjLAogCQkJZHN0LT50YWJsZS5pbmRleF92YWN1dW1fY291bnQgKz0g c3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CiAJCQlkc3QtPnRhYmxlLm1pc3NlZF9k ZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7CiAJCQlkc3QtPnRh YmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxl czsKLQkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPnRh YmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJCX0KIAkJZWxzZSBpZiAoZHN0LT50 eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMKaW5kZXggZGVmZTE5OTBlMTEuLjFjMzlhZGEyYzNlIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM4NSw3ICsyMzg1LDcgQEAgcGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsK IAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRf ZGVhZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1 bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJ bnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CiAJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUuaW5kZXhfdmFj dXVtX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PndhbF9yZWNvcmRzKTsKQEAgLTI1MTUsNiArMjUxNSwxMDQgQEAgcGdfc3RhdF9nZXRfdmFj dXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFzc2VydChpID09IFBHX1NUQVRf R0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAorCS8qIFJldHVybnMgdGhlIHJlY29y ZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFw X2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KKworRGF0dW0KK3Bn X3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZp bmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMJMTQKKworCU9pZAkJ CQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdERCRW50cnkgCQkq ZGJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJ IHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFC QVNFX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZd OworCWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIElu aXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRv ciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRiaWQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0 b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3 YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklDT0lELCAtMSwgMCk7CisK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa19y ZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1lIiwKKwkJ CQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndyYXBhcm91bmRfZmFp bHNhZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJlcnJvcnMiLAorCQkJCQkgICBJ TlQ0T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFU QUJBU0VfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCWRi ZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9kYmVudHJ5KGRiaWQpOworCisJaWYgKGRiZW50 cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5k LCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVv ZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UK Kwl7CisJCWV4dHZhY3V1bSA9ICYoZGJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9 IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0oZGJpZCk7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0 KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtz X2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdf c3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRf Rk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RG dW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShi dWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQz MkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShl eHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXRE YXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXRE YXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tp KytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CisKKwlBc3NlcnQoaSA9 PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKIAkvKiBSZXR1 cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5fREFUVU0oSGVhcFR1cGxl R2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMpKSk7CiB9 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190 YWJsZXMuYwppbmRleCBhYzY0MjdjZjFlOS4uNmYxNmRiNGJlZTkgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21pc2MvZ3VjX3RhYmxlcy5jCkBAIC0xNTc0LDcgKzE1NzQsNyBAQCBzdHJ1Y3QgY29u ZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQkJTlVMTAogCQl9LAogCQkmcGdz dGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAotCQl0cnVlLAorCQlmYWxzZSwKIAkJTlVM TCwgTlVMTCwgTlVMTAogCX0sCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDJm YmQwMDExNzhlLi45NzgxZDRmNTlkYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBA IC0xMjU5NSwxMiArMTI1OTUsMjEgQEAKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0 eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb3NyYyA9PiAncGdf c3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiB7IG9pZCA9PiAnODAwNCcsCi0g IGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm4gc3RhdHMgdmFs dWVzJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJldHVybnMg dmFjdXVtIHN0YXRzIHZhbHVlcyBmb3IgaW5kZXgnLAogICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4g J3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJv cmV0c2V0ID0+ICd0JywKICAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb2FsbGFyZ3R5 cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4fScsCiAg IHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScs CiAgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3Rh bF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9i bGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2Fs X3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGlt ZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92 YWN1dW1faW5kZXhlcycgfQorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRl eGVzJyB9LAoreyBvaWQgPT4gJzgwMDUnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFj dXVtX2RhdGFiYXNlIHJldHVybnMgdmFjdXVtIHN0YXRzIHZhbHVlcyBmb3IgZGF0YWJhc2Un LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UnLCBwcm9yb3dz ID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxw cm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgs aW50NCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tkYmlkLGRib2lkLGRiX2Jsa3NfcmVh ZCxkYl9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHdh bF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3Rp bWUsZGVsYXlfdGltZSx0b3RhbF90aW1lLHdyYXBhcm91bmRfZmFpbHNhZmUsZXJyb3JzfScs CisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJyB9LAogXQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApp bmRleCBhZWMyNWFkMjI2Mi4uNTA4NzZmNTQ0NmYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNTQsNiArMTU0LDkg QEAgdHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAKIAlpbnQ2NAkJdHVwbGVzX2RlbGV0 ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KIAorCWludDMyCQllcnJvcnM7 CisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIHRoZSBudW1iZXIgb2Yg dGltZXMgdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gKi8KKwogCUV4dFZhY1JlcG9y dFR5cGUgdHlwZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICovCiAKIAkvKiAtLS0tLS0tLS0t CkBAIC0xODMsNyArMTg2LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAJCQlp bnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFj dXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLwogCQkJaW50NjQJ CW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMg Ki8KIAkJCWludDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2 YWN1dW1pbmdzICovCi0JCQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyog bnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5k IHNodXRkb3duICovCiAJCX0JCQl0YWJsZTsKIAkJc3RydWN0CiAJCXsKQEAgLTc2Miw2ICs3 NjQsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0 aW9uIHJlbCwKIAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRf Q291bnRlciBkZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRjb3VudGVyLCBUaW1l c3RhbXBUeiBzdGFydHRpbWUpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSk7CiAKIC8qCiAg KiBJZiBzdGF0cyBhcmUgZW5hYmxlZCwgYnV0IHBlbmRpbmcgZGF0YSBoYXNuJ3QgYmVlbiBw cmVwYXJlZCB5ZXQsIGNhbGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVj cy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVzdC9p c29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVj CmluZGV4IDU4OTNkODk1NzNkLi5jZmVjMzE1OTU4MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5zcGVjCkBAIC0xOCw2ICsxOCw5IEBAIHRlYXJkb3duCiB9CiAKIHNl c3Npb24gczEKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP ICdvbic7CisgICAgfQogc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CiAgIEJF R0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CiAgIHNl bGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJl IGlkPjkwMDsKQEAgLTI1LDYgKzI4LDkgQEAgc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3Jl YWQgICB7CiBzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9CiAK IHNlc3Npb24gczIKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPICdvbic7CisgICAgfQogc3RlcCBzMl9pbnNlcnQgICAgICAgICAgICAgICAgICB7IElO U0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1Qg aXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7IH0K IHN0ZXAgczJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsgfQog c3RlcCBzMl9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcnVsZXMub3V0CmluZGV4IGZkZDUzNDFiZGZjLi4xNGYxOWU1YmNiZSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyOTMsNiArMjI5MywyMyBAQCBw Z19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxl X3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5h bWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hl bWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwor cGdfc3RhdF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCisgICAg ZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAgc3RhdHMuZGJfYmxrc19yZWFkLAorICAgIHN0 YXRzLmRiX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBz dGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisgICAg c3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxrX3Jl YWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxheV90 aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMud3JhcGFyb3VuZF9mYWls c2FmZSwKKyAgICBzdGF0cy5lcnJvcnMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisgICAg TEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9p ZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3Rh bF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3cmFw YXJvdW5kX2ZhaWxzYWZlLCBlcnJvcnMpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VM RUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAog ICAgIHJlbC5yZWxuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCBlMDBhMGZjNjgzYy4uOWU1 ZDMzMzQyYzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0xNiw4ICsxNiwxMiBAQCBTSE9XIHRy YWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKIC0t IG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNF VCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRp c3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzOyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxFIHZl c3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3Rv ciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzMsMTIg KzM3LDcgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Ci1TSE9XIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0oMSByb3cpCi0K K1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb24nOwogLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0xODEsMyArMTgwLDQgQEAgV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAo MSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0OworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3M7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggODIlCnJl bmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1f dGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCBiNWVhOWM5YWIxZS4uMDMwMGU3 YjYyNzYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3Rh Ymxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDcgKzYsNiBAQAogLS0g bnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQu CiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBi ZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCi0tLSBjb25kaXRpbyBzaW5l IHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogIHRyYWNrX2Nv dW50cyAKIC0tLS0tLS0tLS0tLS0tCkBAIC0xNiw4ICsxNSwxMiBAQCBTSE9XIHRyYWNrX2Nv dW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKIC0tIG5vdCBl bmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0cmFj a19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mg d2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAg LS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxFIHZlc3RhdCAo eCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEw KTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzcsMTIgKzQwLDEy IEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotU0hPVyB0cmFja192 YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KLSB0cmFja192YWN1dW1fc3RhdGlz dGljcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBvbgotKDEgcm93KQotCitDUkVB VEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERB VEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9u X3N0YXRpc3RpY192YWN1dW1fZGI7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8g b247CistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0 Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogLS0gZW5zdXJlIHBlbmRpbmcg c3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsK ICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0yMjUsMyArMjI4LDY5IEBAIEZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbG5hCiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0IENB U0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3Bn X3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNl KCk7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQgfCB0 b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3JkcyB8 IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0ICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkg V0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0g MTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNU IGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAg ICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAg ICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAw IEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAg ICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1f ZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwg dG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMg fCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKK1xjIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPIG9uOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247 CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAK KyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJP UCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRB QkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1 dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDRl YjAzMzUzMTA0Li43OTg2OTJjZjIxYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVk dWxlCkBAIC0xNDUsNCArMTQ1LDQgQEAgdGVzdDogdGFibGVzcGFjZQogIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlz dGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAppbmRleCBhZTE0NmUxZDIzZi4uOWI3ZTY0 NTE4N2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9z dGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKQEAgLTE0LDggKzE0LDcgQEAgU0hPVyB0cmFja19jb3VudHM7ICAt LSBtdXN0IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0 byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogCi0tLSBUZXN0 IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBp cyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKIAogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTMzLDcgKzMyLDcgQEAgV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCi1TSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP ICdvbic7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xNDksMyArMTQ4LDQgQEAgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAogRFJPUCBUQUJMRSB2 ZXN0YXQ7CitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApz aW1pbGFyaXR5IGluZGV4IDgxJQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCA1YmMzNGJl YzY0Yi4uY2E3ZGJkZTkzODcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsMTUgKzcsMTMgQEAK IC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAotLS0gY29uZGl0aW8gc2lu ZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2Ft cGxlX3NpemUgMTAwMDAKIAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdh bnQgdG8gdGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAotLS0g VGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0 ZXIgaXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hP VyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb2ZmCiAKIENSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0zNiw3ICszNCwxMyBAQCBX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7 CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKKy0tIG5vdCBlbmFibGVk IGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5j dGlvbnMgVE8gJ2FsbCc7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVk CiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xODAsNCArMTg0LDU5 IEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0 OwogU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3plbl9w YWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdl cyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxs X2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxs X3Zpc2libGVfcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2Fs bF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0 JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVz LnJlbGlkOwogCi1EUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKKy0tIE5vdyBjaGVj ayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3VycmVudCBkYXRhYmFzZQorU0VMRUNUIGRibmFt ZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90 YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90 YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2Fs X3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdh bF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdG90 YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJh c2UKK1dIRVJFIGRibmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKworLS0gZW5zdXJlIHBl bmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FO QUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IDEwMDAxOworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1xjIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgVE8gb247CisKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdy ZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAg ICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtz X2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtz X3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3Jk cyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwK KyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1l ID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZQorV0hF UkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYic7CisKK1xjIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPIG9uOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitcYyByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPIG9uOworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpP SU4gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lkID0gMDsgLS0gbXVz dCBiZSAwCisKK1xjIHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYjsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKLS0gCjIuMzQuMQoK --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/x-patch; charset=UTF-8; name="v24-0004-Vacuum-statistics-have-been-separated-from-regular.patch" Content-Disposition: attachment; filename*0="v24-0004-Vacuum-statistics-have-been-separated-from-regular."; filename*1="patch" Content-Transfer-Encoding: base64 RnJvbSBjN2FjZWJkZDNhN2IyMWI2MTVjMDg3YWVmOWM2YWNkMzBlNDljNGE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQ0OjU5ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCA0LzVdIFZhY3V1bSBzdGF0aXN0aWNzIGhhdmUgYmVlbiBzZXBhcmF0ZWQg ZnJvbSByZWd1bGFyCiByZWxhdGlvbiBhbmQgZGF0YWJhc2Ugc3RhdGlzdGljcyB0byByZWR1 Y2UgbWVtb3J5IHVzYWdlLiBEZWRpY2F0ZWQKIFBHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElP TiBhbmQgUEdTVEFUX0tJTkRfVkFDVVVNX0RCIGVudHJpZXMgd2VyZSBhZGRlZCB0bwogdGhl IHN0YXRzIGNvbGxlY3RvciB0byBlZmZpY2llbnRseSBhbGxvY2F0ZSBtZW1vcnkgZm9yIHZh Y3V1bS1zcGVjaWZpYwogbWV0cmljcywgd2hpY2ggcmVxdWlyZSBzaWduaWZpY2FudGx5IG1v cmUgc3BhY2UgcGVyIHJlbGF0aW9uLgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgICAgICAgICAgfCAxOTYgKysrKysrLS0tLS0tCiBzcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9pbmRleC5jICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8IDE3OCArKysrKy0tLS0tLQog c3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jICAgICAgICAgICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICAgICAgICB8ICAxNCAr LQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUgICAgICAgICAgIHwgICAx ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAy OCArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwg IDEwICstCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAg fCAxMTEgKy0tLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jICAgIHwgMjE1ICsrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jICAgICAgICAgICB8IDI4NSArKysrKy0tLS0tLS0tLS0tLS0KIHNyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAwICsrKysrKy0t LS0tLQogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg IDE1ICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmggICAgICAgICAgICAgICB8 ICAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAg IHwgMTQ2ICsrKystLS0tLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNz Lm91dCAgICAgIHwgIDgyICsrLS0tCiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Muc3FsICAgfCAgNDggKy0tCiAxOSBmaWxlcyBjaGFuZ2VkLCA4MDUgaW5zZXJ0 aW9ucygrKSwgNzMzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYwppbmRleCAzYzNlMjNjZDk0My4uNjA2YTAzODI3YzcgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTQxMiw3ICs0MTIsNyBAQCB0 eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAKIAlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudDsgLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50 aS13cmFwYXJvdW5kIHNodXRkb3duICovCiAKLQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0 SWR4OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRWYWNSZXBvcnRJZHg7CiB9 IExWUmVsU3RhdGU7CiAKIApAQCAtNTI0LDcgKzUyNCw3IEBAIGV4dHZhY19zdGF0c19zdGFy dChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycykKICAqLwogc3Rh dGljIHZvaWQKIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3Vu dGVycyAqY291bnRlcnMsCi0JCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKKwkJCQkgUGdT dGF0X0NvbW1vbkNvdW50cyAqcmVwb3J0KQogewogCVdhbFVzYWdlCXdhbHVzYWdlOwogCUJ1 ZmZlclVzYWdlCWJ1ZnVzYWdlOwpAQCAtNTg1LDYgKzU4NSw4IEBAIGV4dHZhY19zdGF0c19z dGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAog CWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCiAJCXJldHVybjsKIAorCW1l bXNldCgmY291bnRlcnMtPmNvbW1vbiwgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7 CisKIAkvKiBTZXQgaW5pdGlhbCB2YWx1ZXMgZm9yIGNvbW1vbiBoZWFwIGFuZCBpbmRleCBz dGF0aXN0aWNzKi8KIAlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1v bik7CiAJY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92 ZWQgPSAwOwpAQCAtNjAyLDExICs2MDQsMTMgQEAgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChS ZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAKIHZvaWQKIGV4 dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0 ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFj UmVwb3J0ICpyZXBvcnQpCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMs IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcmVwb3J0KQogewotCW1lbXNldChyZXBv cnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNv dW50ZXJzLT5jb21tb24sICZyZXBvcnQtPmNvbW1vbik7CiAKLQlleHR2YWNfc3RhdHNfZW5k KHJlbCwgJmNvdW50ZXJzLT5jb21tb24sIHJlcG9ydCk7CiAJcmVwb3J0LT50eXBlID0gUEdT VEFUX0VYVFZBQ19JTkRFWDsKIAogCWlmIChzdGF0cyAhPSBOVUxMKQpAQCAtNjE3LDcgKzYy MSw3IEBAIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKIAkJICovCiAKIAkJLyogRmlsbCBpbmRleC1zcGVjaWZpYyBl eHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJcmVwb3J0LT50dXBsZXNfZGVsZXRlZCA9CisJ CXJlcG9ydC0+Y29tbW9uLnR1cGxlc19kZWxldGVkID0KIAkJCQkJCQlzdGF0cy0+dHVwbGVz X3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CiAJCXJlcG9ydC0+aW5kZXgu cGFnZXNfZGVsZXRlZCA9CiAJCQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVy cy0+cGFnZXNfZGVsZXRlZDsKQEAgLTY0MCw3ICs2NDQsNyBAQCBleHR2YWNfc3RhdHNfZW5k X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAgICog cHJvY3VkdXJlLgogKi8KIHN0YXRpYyB2b2lkCi1hY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0 YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNSZXBvcnQgKmV4dFZhY1N0YXRz KQorYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3Jl bCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHRWYWNTdGF0cykKIHsKIAlpZiAo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwpAQCAtNjUyLDQ5 ICs2NTYsNDkgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3Rh dGUgKnZhY3JlbCwgRXh0VmFjUmVwb3J0ICpleHRWYWNTdGF0cykKIAlleHRWYWNTdGF0cy0+ dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKIAlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwt PnZtX25ld192aXNpYmxlX3BhZ2VzOwogCWV4dFZhY1N0YXRzLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl czsKLQlleHRWYWNTdGF0cy0+dHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxl dGVkOworCWV4dFZhY1N0YXRzLT5jb21tb24udHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1 cGxlc19kZWxldGVkOwogCWV4dFZhY1N0YXRzLT50YWJsZS50dXBsZXNfZnJvemVuID0gdmFj cmVsLT50dXBsZXNfZnJvemVuOwogCWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFk X3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMt PnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1 cGxlczsKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JZXh0 VmFjU3RhdHMtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwogCi0J ZXh0VmFjU3RhdHMtPmJsa19yZWFkX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu YmxrX3JlYWRfdGltZTsKLQlleHRWYWNTdGF0cy0+YmxrX3dyaXRlX3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguYmxrX3dyaXRlX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPnRvdGFs X2Jsa3NfZGlydGllZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2Rp cnRpZWQ7Ci0JZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfaGl0IC09IHZhY3JlbC0+ZXh0VmFj UmVwb3J0SWR4LnRvdGFsX2Jsa3NfaGl0OwotCWV4dFZhY1N0YXRzLT50b3RhbF9ibGtzX3Jl YWQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkOwotCWV4dFZh Y1N0YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu dG90YWxfYmxrc193cml0dGVuOwotCWV4dFZhY1N0YXRzLT53YWxfYnl0ZXMgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzOwotCWV4dFZhY1N0YXRzLT53YWxfZnBpIC09 IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9mcGk7Ci0JZXh0VmFjU3RhdHMtPndhbF9y ZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRzOworCWV4dFZh Y1N0YXRzLT5jb21tb24uYmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5jb21tb24uYmxrX3JlYWRfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLmJsa193cml0 ZV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi5ibGtfd3JpdGVfdGlt ZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19kaXJ0aWVkOworCWV4dFZhY1N0 YXRzLT5jb21tb24udG90YWxfYmxrc19oaXQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu Y29tbW9uLnRvdGFsX2Jsa3NfaGl0OworCWV4dFZhY1N0YXRzLT5jb21tb24udG90YWxfYmxr c19yZWFkIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3Jl YWQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwlleHRWYWNT dGF0cy0+Y29tbW9uLndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21t b24ud2FsX2J5dGVzOworCWV4dFZhY1N0YXRzLT5jb21tb24ud2FsX2ZwaSAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+Y29tbW9u LndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVj b3JkczsKIAotCWV4dFZhY1N0YXRzLT50b3RhbF90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LnRvdGFsX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPmRlbGF5X3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguZGVsYXlfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRv dGFsX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX3RpbWU7 CisJZXh0VmFjU3RhdHMtPmNvbW1vbi5kZWxheV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi5kZWxheV90aW1lOwogCiB9CiAKIHN0YXRpYyB2b2lkCi1hY2N1bXVs YXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNS ZXBvcnQgKmV4dFZhY0lkeFN0YXRzKQorYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0 aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpl eHRWYWNJZHhTdGF0cykKIHsKIAlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGlj cykKIAkJcmV0dXJuOwogCiAJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRz IGZpZWxkcyAqLwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJsa19yZWFkX3RpbWUgKz0g ZXh0VmFjSWR4U3RhdHMtPmJsa19yZWFkX3RpbWU7Ci0JdmFjcmVsLT5leHRWYWNSZXBvcnRJ ZHguYmxrX3dyaXRlX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmJsa193cml0ZV90aW1lOwot CXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJ ZHhTdGF0cy0+dG90YWxfYmxrc19kaXJ0aWVkOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LnRvdGFsX2Jsa3NfaGl0ICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF9ibGtzX2hpdDsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX3JlYWQgKz0gZXh0VmFjSWR4U3Rh dHMtPnRvdGFsX2Jsa3NfcmVhZDsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9i bGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfYnl0ZXMgKz0gZXh0VmFjSWR4U3RhdHMtPndh bF9ieXRlczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfZnBpICs9IGV4dFZhY0lk eFN0YXRzLT53YWxfZnBpOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRz ICs9IGV4dFZhY0lkeFN0YXRzLT53YWxfcmVjb3JkczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9y dElkeC5kZWxheV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5kZWxheV90aW1lOwotCi0JdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+dG90 YWxfdGltZTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24uYmxrX3JlYWRfdGlt ZSArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLmJsa19yZWFkX3RpbWU7CisJdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguY29tbW9uLmJsa193cml0ZV90aW1lICs9IGV4dFZhY0lkeFN0YXRz LT5jb21tb24uYmxrX3dyaXRlX3RpbWU7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRvdGFs X2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxf Ymxrc19oaXQgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2hpdDsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19yZWFkICs9IGV4dFZh Y0lkeFN0YXRzLT5jb21tb24udG90YWxfYmxrc19yZWFkOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPmNv bW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLndhbF9ieXRlcyArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLndhbF9ieXRlczsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+Y29tbW9uLndhbF9mcGk7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLndh bF9yZWNvcmRzICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24ud2FsX3JlY29yZHM7CisJdmFj cmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLmRlbGF5X3RpbWUgKz0gZXh0VmFjSWR4U3Rh dHMtPmNvbW1vbi5kZWxheV90aW1lOworCisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF90aW1lOwog fQogCiAKQEAgLTg1NSwxMiArODU5LDEwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMsCiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sg ZXJyY2FsbGJhY2s7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwogCUxWRXh0U3RhdENv dW50ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7Ci0J RXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4 dFZhY1JlcG9ydDsKIAogCS8qIEluaXRpYWxpemUgdmFjdXVtIHN0YXRpc3RpY3MgKi8KLQlt ZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZh Y1JlcG9ydCA9IGFsbHplcm87CisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsKIAogCXZlcmJvc2UgPSAocGFyYW1zLm9w dGlvbnMgJiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsKIAlpbnN0cnVtZW50ID0gKHZlcmJvc2Ug fHwgKEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJgpAQCAtOTA2LDcgKzkwOCw4IEBA IGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJh bXMsCiAJZXJyY2FsbGJhY2sucHJldmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNrOwogCWVy cm9yX2NvbnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CiAKLQltZW1zZXQoJnZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJbWVtc2V0KCZ2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeCwgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlv bkNvdW50cykpOworCW1lbXNldCgmZXh0VmFjUmVwb3J0LmNvbW1vbiwgMCwgc2l6ZW9mKFBn U3RhdF9Db21tb25Db3VudHMpKTsKIAogCS8qIFNldCB1cCBoaWdoIGxldmVsIHN0dWZmIGFi b3V0IHJlbCBhbmQgaXRzIGluZGV4ZXMgKi8KIAl2YWNyZWwtPnJlbCA9IHJlbDsKQEAgLTEx NTgsNyArMTE2MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZh Y3V1bVBhcmFtcyBwYXJhbXMsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0 aV91cGRhdGVkLCBmYWxzZSk7CiAKIAkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVt IHN0YXRzIHJlcG9ydCAqLwotCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRl cnMsICZleHRWYWNSZXBvcnQpOworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291 bnRlcnMsICZleHRWYWNSZXBvcnQuY29tbW9uKTsKIAogCS8qCiAJICogUmVwb3J0IHJlc3Vs dHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCkBAIC0xMTcwLDMzICsx MTczLDIwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBh cmFtcyBwYXJhbXMsCiAJICogc29vbiBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNhZmUgcHJl dmVudGVkIHNpZ25pZmljYW50IGFtb3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWluZy4KIAkg Ki8KLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtl IGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBhbmQKLQkJICogZmlsbCBo ZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcy4KLQkJICovCi0JCWV4dHZhY19z dGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7 Ci0JCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNS ZXBvcnQpOwogCi0JCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVs KSwKLQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkgTWF4KHZhY3Jl bC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKLQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRf dHVwbGVzICsKLSAJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCi0JCQkJCQkg c3RhcnR0aW1lLAotCQkJCQkJICZleHRWYWNSZXBvcnQpOworCS8qIE1ha2UgZ2VuZXJpYyBl eHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGFuZAorCQkqIGZpbGwgaGVhcC1zcGVjaWZp YyBleHRlbmRlZCBzdGF0cyBmaWVsZHMuCisJCSovCisJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAKLQl9Ci0JZWxzZQotCXsK LQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAorCXBnc3Rh dF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRzKHZhY3JlbC0+cmVsb2lkLCByZWwtPnJkX3JlbC0+ cmVsaXNzaGFyZWQsICZleHRWYWNSZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0o UmVsYXRpb25HZXRSZWxpZChyZWwpLAogCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFy ZWQsCiAJCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkJ IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwogCQkJCQkJCSB2YWNyZWwtPm1pc3Nl ZF9kZWFkX3R1cGxlcywKLQkJCQkJCQkgc3RhcnR0aW1lLAotCQkJCQkJCSBOVUxMKTsKLQl9 CisJCQkJCQkJIHN0YXJ0dGltZSk7CiAKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQo KTsKIApAQCAtMjg5MCw5ICsyODgwLDkgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZS ZWxTdGF0ZSAqdmFjcmVsKQogCWVsc2UKIAl7CiAJCUxWRXh0U3RhdENvdW50ZXJzIGNvdW50 ZXJzOwotCQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCQlQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OwogCi0JCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAw LCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmZXh0VmFjUmVwb3J0LmNvbW1v biwgMCwgc2l6ZW9mKFBnU3RhdF9Db21tb25Db3VudHMpKTsKIAogCQlleHR2YWNfc3RhdHNf c3RhcnQodmFjcmVsLT5yZWwsICZjb3VudGVycyk7CiAKQEAgLTI5MDAsNyArMjg5MCw3IEBA IGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJcGFyYWxs ZWxfdmFjdXVtX2J1bGtkZWxfYWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIG9sZF9saXZlX3R1 cGxlcywKIAkJCQkJCQkJCQkJdmFjcmVsLT5udW1faW5kZXhfc2NhbnMpOwogCi0JCWV4dHZh Y19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJ CWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9y dC5jb21tb24pOwogCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVs LCAmZXh0VmFjUmVwb3J0KTsKIAogCQkvKgpAQCAtMzMxMyw5ICszMzAzLDkgQEAgbGF6eV9j bGVhbnVwX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAllbHNlCiAJewogCQlM VkV4dFN0YXRDb3VudGVycyBjb3VudGVyczsKLQkJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9y dDsKKwkJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsKIAotCQlt ZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQltZW1z ZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRz KSk7CiAKIAkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAmY291bnRlcnMpOwog CkBAIC0zMzI0LDcgKzMzMTQsNyBAQCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxT dGF0ZSAqdmFjcmVsKQogCQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2FucywKIAkJ CQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50KTsKIAotCQlleHR2YWNfc3RhdHNfZW5kKHZhY3Jl bC0+cmVsLCAmY291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCQlleHR2YWNfc3RhdHNfZW5k KHZhY3JlbC0+cmVsLCAmY291bnRlcnMsICZleHRWYWNSZXBvcnQuY29tbW9uKTsKIAkJYWNj dW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7 CiAJfQogCkBAIC0zMzUyLDcgKzMzNDIsMTAgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJl bGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlJbmRleFZh Y3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOwogCUxW RXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRW YWNSZXBvcnQ7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsK KworCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0 aW9uQ291bnRzKSk7CisJbWVtc2V0KCZleHRWYWNSZXBvcnQuY29tbW9uLCAwLCBzaXplb2Yo UGdTdGF0X0NvbW1vbkNvdW50cykpOwogCiAJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2 YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KIAll eHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7 CkBAIC0zMzgzLDE4ICszMzc2LDEzIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlv biBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXN0YXQgPSB2YWNf YnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQsIHZhY3JlbC0+ZGVhZF9pdGVtcywK IAkJCQkJCQkJICB2YWNyZWwtPmRlYWRfaXRlbXNfaW5mbyk7CiAKLQlpZihwZ3N0YXRfdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBz dGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJl bCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJLyogTWFrZSBl eHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCWV4dHZhY19zdGF0 c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CiAKLQkJaWYgKCFQYXJhbGxlbFZhY3V1bUlzQWN0aXZlKHZhY3JlbCkpCi0JCQlhY2N1 bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsK KwlpZiAoIVBhcmFsbGVsVmFjdXVtSXNBY3RpdmUodmFjcmVsKSkKKwkJYWNjdW11bGF0ZV9p ZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAKLQkJcGdz dGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlp bmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNS ZXBvcnQpOwotCX0KKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyh2YWNyZWwtPmlu ZG9pZCwgaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLCAmZXh0VmFjUmVwb3J0KTsKIAog CS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9y IHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2 ZWRfZXJyX2luZm8pOwpAQCAtMzQyMSw3ICszNDA5LDEwIEBAIGxhenlfY2xlYW51cF9vbmVf aW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAog CUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2lu Zm87CiAJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7Ci0JRXh0VmFjUmVw b3J0IGV4dFZhY1JlcG9ydDsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFj UmVwb3J0OworCisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihQZ1N0YXRfVmFj dXVtUmVsYXRpb25Db3VudHMpKTsKKwltZW1zZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAs IHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRzKSk7CiAKIAkvKiBTZXQgaW5pdGlhbCBzdGF0 aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRl eCAqLwogCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0Nv dW50ZXJzKTsKQEAgLTM0NTEsMTcgKzM0NDIsMTMgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRl eChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAKIAlp c3RhdCA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKLQlpZihw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRf aWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7Ci0J CWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQotCQkJYWNjdW11bGF0ZV9p ZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7Ci0KLQkJcGdz dGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlp bmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNS ZXBvcnQpOwotCX0KKwkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9y IGluZGV4ICovCisJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZh Y0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCWlmICghUGFyYWxsZWxWYWN1dW1Jc0Fj dGl2ZSh2YWNyZWwpKQorCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFj cmVsLCAmZXh0VmFjUmVwb3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRz KHZhY3JlbC0+aW5kb2lkLCBpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsICZleHRWYWNS ZXBvcnQpOwogCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlv biBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2 YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CkBAIC00MDYxLDYgKzQwNDgsMjcgQEAgdXBkYXRl X3JlbHN0YXRzX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiB9CiAKKy8q IC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAtCisgKgorICoJ VGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1cHRpb24u CisgKiAtLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKCkKK3sKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnZhY3V1bV9kYmVudHJ5Owor CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJ dmFjdXVtX2RiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShNeURh dGFiYXNlSWQpOworCisgICAgaWYodmFjdXVtX2RiZW50cnkgPT0gTlVMTCkKKyAgICByZXR1 cm47CisJdmFjdXVtX2RiZW50cnktPmVycm9ycysrOworfQorCiAvKgogICogRXJyb3IgY29u dGV4dCBjYWxsYmFjayBmb3IgZXJyb3JzIG9jY3VycmluZyBkdXJpbmcgdmFjdXVtLiAgVGhl IGVycm9yCiAgKiBjb250ZXh0IG1lc3NhZ2VzIGZvciBpbmRleCBwaGFzZXMgc2hvdWxkIG1h dGNoIHRoZSBtZXNzYWdlcyBzZXQgaW4gcGFyYWxsZWwKQEAgLTQwNzYsNyArNDA4NCw3IEBA IHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9F UlJDQl9QSEFTRV9TQ0FOX0hFQVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikK LQkJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NU QVRfRVhUVkFDX1RBQkxFKTsKKwkJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKTsK IAogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CkBA IC00MDk0LDcgKzQxMDIsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQog CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJy ZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJy aW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwkJCQlwZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcigpOwogCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8t PmJsa25vKSkKIAkJCXsKQEAgLTQxMTIsNyArNDEyMCw3IEBAIHZhY3V1bV9lcnJvcl9jYWxs YmFjayh2b2lkICphcmcpCiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lO REVYOgogCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsK KwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcigpOwogCiAJCQllcnJjb250ZXh0KCJ3 aGlsZSB2YWN1dW1pbmcgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNcIiIsCiAJ CQkJCSAgIGVycmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5m by0+cmVsbmFtZSk7CkBAIC00MTIwLDcgKzQxMjgsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJh Y2sodm9pZCAqYXJnKQogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFO VVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlwZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwor CQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCk7CiAKIAkJCWVycmNvbnRleHQoIndo aWxlIGNsZWFuaW5nIHVwIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAog CQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmlu Zm8tPnJlbG5hbWUpOwpAQCAtNDEyOCw3ICs0MTM2LDcgQEAgdmFjdXVtX2Vycm9yX2NhbGxi YWNrKHZvaWQgKmFyZykKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9UUlVOQ0FURToK IAkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJCXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19UQUJMRSk7CisJCQkJ cGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKTsKIAogCQkJaWYgKEJsb2NrTnVtYmVySXNW YWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGlu ZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKaW5k ZXggZmQ2NTM3NTY3ZWEuLmY4MmYxMTQ5MGZmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMTg4 Myw2ICsxODgzLDcgQEAgaGVhcF9kcm9wX3dpdGhfY2F0YWxvZyhPaWQgcmVsaWQpCiAKIAkv KiBlbnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRz ICovCiAJcGdzdGF0X2Ryb3BfcmVsYXRpb24ocmVsKTsKKwlwZ3N0YXRfdmFjdXVtX3JlbGF0 aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKIAkvKgog CSAqIENsb3NlIHJlbGNhY2hlIGVudHJ5LCBidXQgKmtlZXAqIEFjY2Vzc0V4Y2x1c2l2ZUxv Y2sgb24gdGhlIHJlbGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2lu ZGV4LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKaW5kZXggYzQwMjlhNGYzZDMu LjNiY2NjMTA5N2ZiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jCkBAIC0yMzI3LDYgKzIzMjcsNyBA QCBpbmRleF9kcm9wKE9pZCBpbmRleElkLCBib29sIGNvbmN1cnJlbnQsIGJvb2wgY29uY3Vy cmVudF9sb2NrX21vZGUpCiAKIAkvKiBlbnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBp ZiB0cmFuc2FjdGlvbiBjb21taXRzICovCiAJcGdzdGF0X2Ryb3BfcmVsYXRpb24odXNlcklu ZGV4UmVsYXRpb24pOworCXBnc3RhdF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdf Y2IoUmVsYXRpb25HZXRSZWxpZCh1c2VySW5kZXhSZWxhdGlvbikpOwogCiAJLyoKIAkgKiBD bG9zZSBhbmQgZmx1c2ggdGhlIGluZGV4J3MgcmVsY2FjaGUgZW50cnksIHRvIGVuc3VyZSBy ZWxjYWNoZSBkb2Vzbid0CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5k ZXggZTUzNzAyMTFkNzQuLmIzZjYwZWE1NDZkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCkBAIC0xNDMwLDEwMCArMTQzMCwxMDQgQEAgR1JBTlQgRVhFQ1VURSBP TiBGVU5DVElPTiBwZ19nZXRfYWlvcygpIFRPIHBnX3JlYWRfYWxsX3N0YXRzOwogLS0KIAog Q1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCi1TRUxFQ1QKLSAgbnMubnNw bmFtZSBBUyBzY2hlbWFuYW1lLAotICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAotICBzdGF0 cy5yZWxpZCBhcyByZWxpZCwKLQotICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxf Ymxrc19yZWFkLAotICBzdGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwK LSAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKLSAg c3RhdHMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKLQotICBz dGF0cy5yZWxfYmxrc19yZWFkIEFTIHJlbF9ibGtzX3JlYWQsCi0gIHN0YXRzLnJlbF9ibGtz X2hpdCBBUyByZWxfYmxrc19oaXQsCi0KLSAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdl c19zY2FubmVkLAotICBzdGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCi0g IHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKLSAg c3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCi0g IHN0YXRzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMsCi0gIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3NlZF9kZWFk X3BhZ2VzLAotICBzdGF0cy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKLSAg c3RhdHMudHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVuLAotICBzdGF0cy5yZWNlbnRs eV9kZWFkX3R1cGxlcyBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKLSAgc3RhdHMubWlzc2Vk X2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxlcywKLQotICBzdGF0cy53cmFwYXJv dW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCi0gIHN0YXRzLmluZGV4X3Zh Y3V1bV9jb3VudCBBUyBpbmRleF92YWN1dW1fY291bnQsCi0gIHN0YXRzLndhbF9yZWNvcmRz IEFTIHdhbF9yZWNvcmRzLAotICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRz LndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMsCi0KLSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBi bGtfcmVhZF90aW1lLAotICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGlt ZSwKLQotICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFs X3RpbWUgQVMgdG90YWxfdGltZQotCi1GUk9NIHBnX2NsYXNzIHJlbAotICBKT0lOIHBnX25h bWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxr aW5kID0gJ3InOworICAgIFNFTEVDVAorICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFt ZSwKKyAgICAgICAgQy5yZWxuYW1lIEFTIHJlbG5hbWUsCisgICAgICAgIFMucmVsaWQgYXMg cmVsaWQsCisKKyAgICAgICAgUy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFk LAorICAgICAgICBTLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAg ICBTLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAg IFMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAgICAg ICBTLnJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAgICAgUy5yZWxfYmxr c19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgICAgICAgIFMucGFnZXNfc2Nhbm5lZCBBUyBw YWdlc19zY2FubmVkLAorICAgICAgICBTLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVtb3Zl ZCwKKyAgICAgICAgUy52bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsCisgICAgICAgIFMudm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVf cGFnZXMsCisgICAgICAgIFMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICAgICAgUy5taXNzZWRfZGVhZF9wYWdlcyBB UyBtaXNzZWRfZGVhZF9wYWdlcywKKyAgICAgICAgUy50dXBsZXNfZGVsZXRlZCBBUyB0dXBs ZXNfZGVsZXRlZCwKKyAgICAgICAgUy50dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4s CisgICAgICAgIFMucmVjZW50bHlfZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90dXBs ZXMsCisgICAgICAgIFMubWlzc2VkX2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxl cywKKworICAgICAgICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWls c2FmZSwKKyAgICAgICAgUy5pbmRleF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2Nv dW50LAorICAgICAgICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAorICAgICAgICBT LndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVz LAorCisgICAgICAgIFMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAorICAgICAg ICBTLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgICAgICAgIFMuZGVs YXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICBTLnRvdGFsX3RpbWUgQVMgdG90YWxf dGltZQorCisgICAgRlJPTSBwZ19jbGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX25hbWVz cGFjZSBOIE9OIE4ub2lkID0gQy5yZWxuYW1lc3BhY2UsCisgICAgICAgICAgICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoQy5vaWQpIFMKKyAgICBXSEVSRSBDLnJlbGtp bmQgSU4gKCdyJywgJ3QnLCAnbScpOwogCiBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIEFTCi1TRUxFQ1QKLSAgcmVsLm9pZCBhcyByZWxpZCwKLSAgbnMubnNwbmFtZSBB UyBzY2hlbWFuYW1lLAotICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICAgIFNFTEVDVAor ICAgICAgICAgICAgQy5vaWQgQVMgcmVsaWQsCisgICAgICAgICAgICBJLm9pZCBBUyBpbmRl eHJlbGlkLAorICAgICAgICAgICAgTi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgICAg ICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKKyAgICAgICAgICAgIEkucmVsbmFtZSBBUyBp bmRleHJlbG5hbWUsCiAKLSAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwK LSAgdG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCi0gIHRvdGFsX2Jsa3NfZGly dGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCi0gIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0 b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgICAgICBTLnRvdGFsX2Jsa3NfcmVhZCBBUyB0 b3RhbF9ibGtzX3JlYWQsCisgICAgICAgICAgICBTLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFs X2Jsa3NfaGl0LAorICAgICAgICAgICAgUy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxf Ymxrc19kaXJ0aWVkLAorICAgICAgICAgICAgUy50b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90 YWxfYmxrc193cml0dGVuLAogCi0gIHJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwK LSAgcmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hpdCwKKyAgICAgICAgICAgIFMucmVsX2Js a3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICAgICAgICAgICAgUy5yZWxfYmxrc19oaXQg QVMgcmVsX2Jsa3NfaGl0LAogCi0gIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwK LSAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisgICAgICAgICAgICBTLnBh Z2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKKyAgICAgICAgICAgIFMudHVwbGVzX2Rl bGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCiAKLSAgd2FsX3JlY29yZHMgQVMgd2FsX3JlY29y ZHMsCi0gIHdhbF9mcGkgQVMgd2FsX2ZwaSwKLSAgd2FsX2J5dGVzIEFTIHdhbF9ieXRlcywK KyAgICAgICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgICAgICAgICAg ICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgICAgICAgICAgIFMud2FsX2J5dGVzIEFTIHdh bF9ieXRlcywKIAotICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCi0gIGJsa193 cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorICAgICAgICAgICAgUy5ibGtfcmVhZF90 aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgICAgICAgICAgICBTLmJsa193cml0ZV90aW1lIEFT IGJsa193cml0ZV90aW1lLAogCi0gIGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKLSAgdG90 YWxfdGltZSBBUyB0b3RhbF90aW1lCi1GUk9NCi0gIHBnX2NsYXNzIHJlbAotICBKT0lOIHBn X25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzCi1XSEVSRSByZWwu cmVsa2luZCA9ICdpJzsKKyAgICAgICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1l LAorICAgICAgICAgICAgUy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKyAgICBGUk9NCisg ICAgICAgICAgICBwZ19jbGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX2luZGV4IFggT04g Qy5vaWQgPSBYLmluZHJlbGlkIEpPSU4KKyAgICAgICAgICAgIHBnX2NsYXNzIEkgT04gSS5v aWQgPSBYLmluZGV4cmVsaWQKKyAgICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2Ug TiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSksCisgICAgICAgICAgICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKEkub2lkKSBTCisgICAgV0hFUkUgQy5yZWxraW5k IElOICgncicsICd0JywgJ20nKTsKIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UgQVMKLVNFTEVDVAotICBkYi5vaWQgYXMgZGJvaWQsCi0gIGRiLmRhdG5hbWUgQVMg ZGJuYW1lLAotCi0gIHN0YXRzLmRiX2Jsa3NfcmVhZCBBUyBkYl9ibGtzX3JlYWQsCi0gIHN0 YXRzLmRiX2Jsa3NfaGl0IEFTIGRiX2Jsa3NfaGl0LAotICBzdGF0cy50b3RhbF9ibGtzX2Rp cnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAotCi0gIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdh bF9yZWNvcmRzLAotICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRzLndhbF9i eXRlcyBBUyB3YWxfYnl0ZXMsCi0KLSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVh ZF90aW1lLAotICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKLQot ICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUg QVMgdG90YWxfdGltZSwKLSAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJv dW5kX2ZhaWxzYWZlLAotICBzdGF0cy5lcnJvcnMgQVMgZXJyb3JzCi1GUk9NCi0gIHBnX2Rh dGFiYXNlIGRiLAotICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5v aWQpIHN0YXRzOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICBTRUxFQ1QKKyAg ICAgICAgICAgIEQub2lkIGFzIGRib2lkLAorICAgICAgICAgICAgRC5kYXRuYW1lIEFTIGRi bmFtZSwKKworICAgICAgICAgICAgUy5kYl9ibGtzX3JlYWQgQVMgZGJfYmxrc19yZWFkLAor ICAgICAgICAgICAgUy5kYl9ibGtzX2hpdCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICAgICAg IFMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICAg ICAgIFMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAg ICAgICAgICAgUy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgICAgICAgICAgIFMu d2FsX2ZwaSBBUyB3YWxfZnBpLAorICAgICAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5 dGVzLAorCisgICAgICAgICAgICBTLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwK KyAgICAgICAgICAgIFMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAg ICAgICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICAgICAgUy50 b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUsCisgICAgICAgICAgICBTLndyYXBhcm91bmRfZmFp bHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgICAgICAgICAgIFMuZXJyb3JzIEFT IGVycm9ycworICAgIEZST00KKyAgICAgICAgICAgIHBnX2RhdGFiYXNlIEQsCisgICAgICAg ICAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShELm9pZCkgUzsKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9kYmNvbW1hbmRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMK aW5kZXggMjc5M2ZkODM3NzEuLjI1ZWRlMWQ5ODI0IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJj b21tYW5kcy5jCkBAIC0xODE1LDYgKzE4MTUsNyBAQCBkcm9wZGIoY29uc3QgY2hhciAqZGJu YW1lLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgZm9yY2UpCiAJICogVGVsbCB0aGUgY3VtdWxh dGl2ZSBzdGF0cyBzeXN0ZW0gdG8gZm9yZ2V0IGl0IGltbWVkaWF0ZWx5LCB0b28uCiAJICov CiAJcGdzdGF0X2Ryb3BfZGF0YWJhc2UoZGJfaWQpOworCXBnc3RhdF9kcm9wX3ZhY3V1bV9k YXRhYmFzZShkYl9pZCk7CiAKIAkvKgogCSAqIEV4Y2VwdCBmb3IgdGhlIGRlbGV0aW9uIG9m IHRoZSBjYXRhbG9nIHJvdywgc3Vic2VxdWVudCBhY3Rpb25zIGFyZSBub3QKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDY1ZGU0NWE0NDQ3Li4zYzM3ZDFm MDdjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04Njks NyArODY5LDcgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVs VmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCUluZGV4QnVsa0RlbGV0ZVJl c3VsdCAqaXN0YXRfcmVzOwogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZFeHRTdGF0 Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7Ci0JRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9y dDsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OwogCiAJLyoK IAkgKiBVcGRhdGUgdGhlIHBvaW50ZXIgdG8gdGhlIGNvcnJlc3BvbmRpbmcgYnVsay1kZWxl dGlvbiByZXN1bHQgaWYgc29tZW9uZQpAQCAtOTA5LDE0ICs5MDksMTAgQEAgcGFyYWxsZWxf dmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVs YXRpb24gaW5kcmVsLAogCQkJCSBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsK IAl9CiAKLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBN YWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZh Y19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXRfcmVzLCAmZXh0VmFjQ291bnRlcnMsICZl eHRWYWNSZXBvcnQpOwotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlk KGluZHJlbCksCi0JCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJ CQkJMCwgMCwgMCwgJmV4dFZhY1JlcG9ydCk7Ci0JfQorCS8qIE1ha2UgZXh0ZW5kZWQgdmFj dXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChp bmRyZWwsIGlzdGF0X3JlcywgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwlw Z3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhSZWxhdGlvbkdldFJlbGlkKGluZHJlbCks IGluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkJCQkmZXh0VmFjUmVwb3J0 KTsKIAogCS8qCiAJICogQ29weSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0 dXJuZWQgZnJvbSBhbWJ1bGtkZWxldGUgYW5kCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01h a2VmaWxlCmluZGV4IDljMjQ0M2UxZWNkLi4xODNmNzUxNGQyZCAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvTWFrZWZpbGUKQEAgLTI3LDYgKzI3LDcgQEAgT0JKUyA9IFwKIAlwZ3N0 YXRfZnVuY3Rpb24ubyBcCiAJcGdzdGF0X2lvLm8gXAogCXBnc3RhdF9yZWxhdGlvbi5vIFwK KwlwZ3N0YXRfdmFjdXVtLm8gXAogCXBnc3RhdF9yZXBsc2xvdC5vIFwKIAlwZ3N0YXRfc2ht ZW0ubyBcCiAJcGdzdGF0X3NscnUubyBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dC5jCmluZGV4IDYxNGRhZjYwMzcyLi5kMDNmYzEwNjY2ZSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKQEAgLTQ3OSw2ICs0NzksMzQgQEAgc3RhdGljIGNvbnN0IFBn U3RhdF9LaW5kSW5mbyBwZ3N0YXRfa2luZF9idWlsdGluX2luZm9zW1BHU1RBVF9LSU5EX0JV SUxUSU5fU0laRV0KIAkJLnJlc2V0X2FsbF9jYiA9IHBnc3RhdF93YWxfcmVzZXRfYWxsX2Ni LAogCQkuc25hcHNob3RfY2IgPSBwZ3N0YXRfd2FsX3NuYXBzaG90X2NiLAogCX0sCisJW1BH U1RBVF9LSU5EX1ZBQ1VVTV9EQl0gPSB7CisJCS5uYW1lID0gInZhY3V1bSBzdGF0aXN0aWNz IiwKKworCQkuZml4ZWRfYW1vdW50ID0gZmFsc2UsCisJCS53cml0ZV90b19maWxlID0gdHJ1 ZSwKKwkJLyogc28gcGdfc3RhdF9kYXRhYmFzZSBlbnRyaWVzIGNhbiBiZSBzZWVuIGluIGFs bCBkYXRhYmFzZXMgKi8KKwkJLmFjY2Vzc2VkX2Fjcm9zc19kYXRhYmFzZXMgPSB0cnVlLAor CisJCS5zaGFyZWRfc2l6ZSA9IHNpemVvZihQZ1N0YXRTaGFyZWRfVmFjdXVtREIpLAorCQku c2hhcmVkX2RhdGFfb2ZmID0gb2Zmc2V0b2YoUGdTdGF0U2hhcmVkX1ZhY3V1bURCLCBzdGF0 cyksCisJCS5zaGFyZWRfZGF0YV9sZW4gPSBzaXplb2YoKChQZ1N0YXRTaGFyZWRfVmFjdXVt REIgKikgMCktPnN0YXRzKSwKKwkJLnBlbmRpbmdfc2l6ZSA9IHNpemVvZihQZ1N0YXRfVmFj dXVtREJDb3VudHMpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1bV9k Yl9mbHVzaF9jYiwKKwl9LAorCVtQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT05dID0gewor CQkubmFtZSA9ICJ2YWN1dW0gc3RhdGlzdGljcyIsCisKKwkJLmZpeGVkX2Ftb3VudCA9IGZh bHNlLAorCQkud3JpdGVfdG9fZmlsZSA9IHRydWUsCisKKwkJLnNoYXJlZF9zaXplID0gc2l6 ZW9mKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiksCisJCS5zaGFyZWRfZGF0YV9vZmYg PSBvZmZzZXRvZihQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb24sIHN0YXRzKSwKKwkJLnNo YXJlZF9kYXRhX2xlbiA9IHNpemVvZigoKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAq KSAwKS0+c3RhdHMpLAorCQkucGVuZGluZ19zaXplID0gc2l6ZW9mKFBnU3RhdF9SZWxhdGlv blZhY3V1bVBlbmRpbmcpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1 bV9yZWxhdGlvbl9mbHVzaF9jYgorCX0sCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwppbmRleCA2NTIwN2QzMDM3OC4uODBl NmM3YzIyOWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9kYXRhYmFzZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9k YXRhYmFzZS5jCkBAIC00Niw2ICs0NiwxNSBAQCBwZ3N0YXRfZHJvcF9kYXRhYmFzZShPaWQg ZGF0YWJhc2VpZCkKIAlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX0RB VEFCQVNFLCBkYXRhYmFzZWlkLCBJbnZhbGlkT2lkKTsKIH0KIAorLyoKKyAqIFJlbW92ZSBl bnRyeSBmb3IgdGhlIGRhdGFiYXNlIGJlaW5nIGRyb3BwZWQuCisgKi8KK3ZvaWQKK3Bnc3Rh dF9kcm9wX3ZhY3V1bV9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCkKK3sKKwlwZ3N0YXRfZHJv cF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwgZGF0YWJhc2VpZCwgSW52 YWxpZE9pZCk7Cit9CisKIC8qCiAgKiBDYWxsZWQgZnJvbSBhdXRvdmFjdXVtLmMgdG8gcmVw b3J0IHN0YXJ0dXAgb2YgYW4gYXV0b3ZhY3V1bSBwcm9jZXNzLgogICogV2UgYXJlIGNhbGxl ZCBiZWZvcmUgSW5pdFBvc3RncmVzIGlzIGRvbmUsIHNvIGNhbid0IHJlbHkgb24gTXlEYXRh YmFzZUlkOwpAQCAtNDg1LDcgKzQ5NCw2IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9j a19lbnRyeShlbnRyeV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigq cGVuZGluZ2VudCkpOwotCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBz aXplb2YoRXh0VmFjUmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggYmY3YWIzNDVi ZTAuLjgxNzM3MmY5Y2VjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXRfcmVsYXRpb24uYwpAQCAtNDcsOCArNDcsNiBAQCBzdGF0aWMgdm9pZCBhZGRfdGFi c3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8sIGludCBu ZXN0X2xldgogc3RhdGljIHZvaWQgZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRf VGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsKIHN0YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9w X2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zLCBib29sIGlzX2Ryb3Ap Owogc3RhdGljIHZvaWQgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxl WGFjdFN0YXR1cyAqdHJhbnMpOwotc3RhdGljIHZvaWQgcGdzdGF0X2FjY3VtdWxhdGVfZXh0 dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJ CQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKTsKIAogCiAvKgpA QCAtMjA1LDUwICsyMDMsMTcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVsYXRpb24gcmVs KQogCX0KIH0KIAotLyogLS0tLS0tLS0tCi0gKiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cigpIC0KLSAqCi0gKglUZWxsIHRoZSBjb2xsZWN0b3IgYWJvdXQgYW4gKGF1dG8pdmFjdXVt IGludGVycnVwdGlvbi4KLSAqIC0tLS0tLS0tLQotICovCi12b2lkCi1wZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQot ewotCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwotCVBnU3RhdFNoYXJlZF9SZWxhdGlv biAqc2h0YWJlbnRyeTsKLQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKLQlPaWQJ CQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7Ci0JUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5 OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5ICovCi0KLQlpZiAoIXBnc3RhdF90cmFja19j b3VudHMpCi0JCXJldHVybjsKLQotCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVm X2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElPTiwKLQkJCQkJCQkJCQkJZGJvaWQsIHRhYmxl b2lkLCBmYWxzZSk7Ci0KLQlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKLQl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5z dGF0czsKLQotCXRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Ci0JcGdzdGF0 X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwotCi0JZGJlbnRyeSA9IHBnc3RhdF9wcmVwX2Rh dGFiYXNlX3BlbmRpbmcoZGJvaWQpOwotCWRiZW50cnktPnZhY3V1bV9leHQuZXJyb3JzKys7 Ci0JZGJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwotfQotCiAvKgogICogUmVw b3J0IHRoYXQgdGhlIHRhYmxlIHdhcyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBJTyBzdGF0 aXN0aWNzLgogICovCiB2b2lkCiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0 VmFjUmVwb3J0ICpwYXJhbXMpCisJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUpCiB7CiAJ UGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpz aHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwotCVBnU3RhdFNo YXJlZF9EYXRhYmFzZSAqZGJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZh bGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKIAlQZ1N0YXRfQ291 bnRlciBlbGFwc2VkdGltZTsKQEAgLTI3MCw4ICsyMzUsNiBAQCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxl cyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsK IAotCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9l eHQsIHBhcmFtcywgdHJ1ZSk7Ci0KIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRo YXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJp b3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJl IHJlZ2FyZGxlc3MuCkBAIC0zMDcsMTYgKzI3MCw2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZh bHNlKTsKIAkodm9pZCkgcGdzdGF0X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNL RU5EX0ZMVVNIX0lPKTsKLQotCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lkKQotCXsKLQkJZW50 cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFC QVNFLAotCQkJCQkJCQkJCQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2UpOwotCQlkYmVudHJ5 ID0gKFBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsK LQotCQlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZh Y3V1bV9leHQsIHBhcmFtcywgZmFsc2UpOwotCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5 X3JlZik7Ci0JfQogfQogCiAvKgpAQCAtOTUxLDYgKzkwNCwxMiBAQCBwZ3N0YXRfcmVsYXRp b25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQog CXJldHVybiB0cnVlOwogfQogCit2b2lkCitwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0 ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCkKK3sKKwlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFs KFBHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElPTiwgcmVsaWQsIEludmFsaWRPaWQpOworfQor CiB2b2lkCiBwZ3N0YXRfcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5 UmVmICplbnRyeV9yZWYpCiB7CkBAIC0xMDUzLDYwICsxMDEyLDQgQEAgcmVzdG9yZV90cnVu Y2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpCiAJCXRyYW5z LT50dXBsZXNfdXBkYXRlZCA9IHRyYW5zLT51cGRhdGVkX3ByZV90cnVuY2Ryb3A7CiAJCXRy YW5zLT50dXBsZXNfZGVsZXRlZCA9IHRyYW5zLT5kZWxldGVkX3ByZV90cnVuY2Ryb3A7CiAJ fQotfQotCi1zdGF0aWMgdm9pZAotcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4 dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJCQkgICBib29sIGFj Y3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQotewotCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsKLQotCWRzdC0+dG90YWxfYmxrc19yZWFk ICs9IHNyYy0+dG90YWxfYmxrc19yZWFkOwotCWRzdC0+dG90YWxfYmxrc19oaXQgKz0gc3Jj LT50b3RhbF9ibGtzX2hpdDsKLQlkc3QtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBzcmMtPnRv dGFsX2Jsa3NfZGlydGllZDsKLQlkc3QtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBzcmMtPnRv dGFsX2Jsa3Nfd3JpdHRlbjsKLQlkc3QtPndhbF9ieXRlcyArPSBzcmMtPndhbF9ieXRlczsK LQlkc3QtPndhbF9mcGkgKz0gc3JjLT53YWxfZnBpOwotCWRzdC0+d2FsX3JlY29yZHMgKz0g c3JjLT53YWxfcmVjb3JkczsKLQlkc3QtPmJsa19yZWFkX3RpbWUgKz0gc3JjLT5ibGtfcmVh ZF90aW1lOwotCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5ibGtfd3JpdGVfdGltZTsK LQlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOwotCWRzdC0+dG90YWxfdGlt ZSArPSBzcmMtPnRvdGFsX3RpbWU7Ci0JZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKLQlkc3QtPmVycm9ycyArPSBz cmMtPmVycm9yczsKLQotCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8p Ci0JCXJldHVybjsKLQotCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElE KQotCQlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7Ci0KLQlBc3NlcnQoc3JjLT50eXBlID09IFBH U1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKLQotCWlm IChkc3QtPnR5cGUgPT0gc3JjLT50eXBlKQotCXsKLQkJZHN0LT5ibGtzX2ZldGNoZWQgKz0g c3JjLT5ibGtzX2ZldGNoZWQ7Ci0JCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsK LQotCQlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfVEFCTEUpCi0JCXsKLQkJCWRz dC0+dGFibGUucGFnZXNfc2Nhbm5lZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3NjYW5uZWQ7Ci0J CQlkc3QtPnRhYmxlLnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT50YWJsZS5wYWdlc19yZW1vdmVk OwotCQkJZHN0LT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1f bmV3X2Zyb3plbl9wYWdlczsKLQkJCWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMg Kz0gc3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlczsKLQkJCWRzdC0+dGFibGUudm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzOwotCQkJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19k ZWxldGVkOwotCQkJZHN0LT50YWJsZS50dXBsZXNfZnJvemVuICs9IHNyYy0+dGFibGUudHVw bGVzX2Zyb3plbjsKLQkJCWRzdC0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3Jj LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQkJCWRzdC0+dGFibGUuaW5kZXhfdmFj dXVtX2NvdW50ICs9IHNyYy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50OwotCQkJZHN0LT50 YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2Vz OwotCQkJZHN0LT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXM7Ci0JCX0KLQkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9F WFRWQUNfSU5ERVgpCi0JCXsKLQkJCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMt PmluZGV4LnBhZ2VzX2RlbGV0ZWQ7Ci0JCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+ dHVwbGVzX2RlbGV0ZWQ7Ci0JCX0KLQl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMTFmMTllNDZiMgotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0u YwpAQCAtMCwwICsxLDIxNSBAQAorI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRl ICJwZ3N0YXQuaCIKKyNpbmNsdWRlICJ1dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCIKKyNpbmNs dWRlICJ1dGlscy9tZW11dGlscy5oIgorCisvKiAtLS0tLS0tLS0tCisgKiBHVUMgcGFyYW1l dGVycworICogLS0tLS0tLS0tLQorICovCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3NfZm9yX3JlbGF0aW9ucyA9IGZhbHNlOworCisjZGVmaW5lIEFDQ1VNVUxBVEVf RklFTEQoZmllbGQpIGRzdC0+ZmllbGQgKz0gc3JjLT5maWVsZDsKKworI2RlZmluZSBBQ0NV TVVMQVRFX1NVQkZJRUxEKHN1YnN0cnVjdCwgZmllbGQpIFwKKyAgICAoZHN0LT5zdWJzdHJ1 Y3QuZmllbGQgKz0gc3JjLT5zdWJzdHJ1Y3QuZmllbGQpCisKK3N0YXRpYyB2b2lkCitwZ3N0 YXRfYWNjdW11bGF0ZV9jb21tb24oUGdTdGF0X0NvbW1vbkNvdW50cyAqZHN0LCBjb25zdCBQ Z1N0YXRfQ29tbW9uQ291bnRzICpzcmMpCit7CisJQUNDVU1VTEFURV9GSUVMRCh0b3RhbF9i bGtzX3JlYWQpOworCUFDQ1VNVUxBVEVfRklFTEQodG90YWxfYmxrc19oaXQpOworCUFDQ1VN VUxBVEVfRklFTEQodG90YWxfYmxrc19kaXJ0aWVkKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHRv dGFsX2Jsa3Nfd3JpdHRlbik7CisKKwlBQ0NVTVVMQVRFX0ZJRUxEKGJsa3NfZmV0Y2hlZCk7 CisJQUNDVU1VTEFURV9GSUVMRChibGtzX2hpdCk7CisKKwlBQ0NVTVVMQVRFX0ZJRUxEKHdh bF9yZWNvcmRzKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHdhbF9mcGkpOworCUFDQ1VNVUxBVEVf RklFTEQod2FsX2J5dGVzKTsKKworCUFDQ1VNVUxBVEVfRklFTEQoYmxrX3JlYWRfdGltZSk7 CisJQUNDVU1VTEFURV9GSUVMRChibGtfd3JpdGVfdGltZSk7CisJQUNDVU1VTEFURV9GSUVM RChkZWxheV90aW1lKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHRvdGFsX3RpbWUpOworCisJQUND VU1VTEFURV9GSUVMRCh0dXBsZXNfZGVsZXRlZCk7CisJQUNDVU1VTEFURV9GSUVMRCh3cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKK30KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1 bXVsYXRlX2V4dHZhY19zdGF0c19yZWxhdGlvbnMoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291 bnRzICpkc3QsIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqc3JjKQoreworICAgIGlm KCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworICAgIGlm IChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorICAgICAgICBkc3QtPnR5 cGUgPSBzcmMtPnR5cGU7CisKKyAgICBBc3NlcnQoc3JjLT50eXBlICE9IFBHU1RBVF9FWFRW QUNfSU5WQUxJRCAmJiBzcmMtPnR5cGUgIT0gUEdTVEFUX0VYVFZBQ19EQiAmJiBzcmMtPnR5 cGUgPT0gZHN0LT50eXBlKTsKKworICAgIHBnc3RhdF9hY2N1bXVsYXRlX2NvbW1vbigmZHN0 LT5jb21tb24sICZzcmMtPmNvbW1vbik7CisKKyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNv bW1vbiwgYmxrc19mZXRjaGVkKTsKKyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNvbW1vbiwg Ymxrc19oaXQpOworCisgICAgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxF KQorICAgIHsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRChjb21tb24sIHR1cGxlc19k ZWxldGVkKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcGFnZXNfc2Nh bm5lZCk7CisgICAgICAgIEFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3JlbW92 ZWQpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9uZXdfZnJvemVu X3BhZ2VzKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgdm1fbmV3X3Zp c2libGVfcGFnZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxE KHRhYmxlLCB0dXBsZXNfZnJvemVuKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0 YWJsZSwgcmVjZW50bHlfZGVhZF90dXBsZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJ RUxEKHRhYmxlLCBpbmRleF92YWN1dW1fY291bnQpOworICAgICAgICBBQ0NVTVVMQVRFX1NV QkZJRUxEKHRhYmxlLCBtaXNzZWRfZGVhZF9wYWdlcyk7CisgICAgICAgIEFDQ1VNVUxBVEVf U1VCRklFTEQodGFibGUsIG1pc3NlZF9kZWFkX3R1cGxlcyk7CisgICAgfQorICAgIGVsc2Ug aWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorICAgIHsKKyAgICAgICAg QUNDVU1VTEFURV9TVUJGSUVMRChjb21tb24sIHR1cGxlc19kZWxldGVkKTsKKyAgICAgICAg QUNDVU1VTEFURV9TVUJGSUVMRChpbmRleCwgcGFnZXNfZGVsZXRlZCk7CisgICAgfQorfQor CitzdGF0aWMgdm9pZAorcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzX2RiKFBnU3Rh dF9WYWN1dW1EQkNvdW50cyAqZHN0LCBQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnNyYykKK3sK KyAgICBpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisK KyAgICBwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24oJmRzdC0+Y29tbW9uLCAmc3JjLT5jb21t b24pOworICAgIGRzdC0+ZXJyb3JzICs9IHNyYy0+ZXJyb3JzOworfQorCisvKgorICogUmVw b3J0IHRoYXQgdGhlIHRhYmxlIHdhcyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBzdGF0aXN0 aWNzLgorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFi bGVvaWQsIGJvb2wgc2hhcmVkLAorCQkJCQkJCQkgIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNv dW50cyAqcGFyYW1zKQoreworCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOworCVBnU3Rh dFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfVmFj dXVtREIgKnNoZGJlbnRyeTsKKwlPaWQJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6 IE15RGF0YWJhc2VJZCk7CisKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz KQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2Nr ZWQoUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwgdGFi bGVvaWQsIGZhbHNlKTsKKwlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxh dGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKwlwZ3N0YXRfYWNjdW11bGF0ZV9l eHR2YWNfc3RhdHNfcmVsYXRpb25zKCZzaHRhYmVudHJ5LT5zdGF0cywgcGFyYW1zKTsKKwor CXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKworCisJZW50cnlfcmVmID0gcGdz dGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwKKwkJCQkJ CQkJCQkJZGJvaWQsIEludmFsaWRPaWQsIGZhbHNlKTsKKworCXNoZGJlbnRyeSA9IChQZ1N0 YXRTaGFyZWRfVmFjdXVtREIgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwlwZ3N0 YXRfYWNjdW11bGF0ZV9jb21tb24oJnNoZGJlbnRyeS0+c3RhdHMuY29tbW9uLCAmcGFyYW1z LT5jb21tb24pOworCisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworfQorCisv KgorICogRmx1c2ggb3V0IHBlbmRpbmcgc3RhdHMgZm9yIHRoZSBlbnRyeQorICoKKyAqIElm IG5vd2FpdCBpcyB0cnVlLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgaWYgbG9jayBj b3VsZCBub3QKKyAqIGltbWVkaWF0ZWx5IGFjcXVpcmVkLCBvdGhlcndpc2UgdHJ1ZSBpcyBy ZXR1cm5lZC4KKyAqLworYm9vbAorcGdzdGF0X3ZhY3V1bV9yZWxhdGlvbl9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCit7CisJUGdTdGF0U2hh cmVkX1ZhY3V1bVJlbGF0aW9uICpzaHRhYnN0YXRzOworCVBnU3RhdF9SZWxhdGlvblZhY3V1 bVBlbmRpbmcgKnBlbmRpbmdlbnQ7CS8qIHRhYmxlIGVudHJ5IG9mIHNoYXJlZCBzdGF0cyAq LworCisJcGVuZGluZ2VudCA9IChQZ1N0YXRfUmVsYXRpb25WYWN1dW1QZW5kaW5nICopIGVu dHJ5X3JlZi0+cGVuZGluZzsKKwlzaHRhYnN0YXRzID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1S ZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCS8qCisJICogSWdub3Jl IGVudHJpZXMgdGhhdCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cy4KKwkg Ki8KKwlpZiAocGdfbWVtb3J5X2lzX2FsbF96ZXJvcygmcGVuZGluZ2VudCwKKwkJCQkJCQkg ICBzaXplb2Yoc3RydWN0IFBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcpKSkKKwkJcmV0 dXJuIHRydWU7CisKKwlpZiAoIXBnc3RhdF9sb2NrX2VudHJ5KGVudHJ5X3JlZiwgbm93YWl0 KSkKKwl7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKwlwZ3N0YXRfYWNjdW11 bGF0ZV9leHR2YWNfc3RhdHNfcmVsYXRpb25zKCYoc2h0YWJzdGF0cy0+c3RhdHMpLCAmKHBl bmRpbmdlbnQtPmNvdW50cykpOworCisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYp OworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBTdXBwb3J0IGZ1bmN0aW9uIGZvciB0 aGUgU1FMLWNhbGxhYmxlIHBnc3RhdCogZnVuY3Rpb25zLiBSZXR1cm5zCisgKiB0aGUgdmFj dXVtIGNvbGxlY3RlZCBzdGF0aXN0aWNzIGZvciBvbmUgcmVsYXRpb24gb3IgTlVMTC4KKyAq LworUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9zdGF0X3Zh Y3V1bV90YWJlbnRyeShPaWQgcmVsaWQsIE9pZCBkYmlkKQoreworCXJldHVybiAoUGdTdGF0 X1ZhY3V1bVJlbGF0aW9uQ291bnRzICopCisJCXBnc3RhdF9mZXRjaF9lbnRyeShQR1NUQVRf S0lORF9WQUNVVU1fUkVMQVRJT04sIGRiaWQsIHJlbGlkKTsKK30KKworUGdTdGF0X1ZhY3V1 bURCQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV9kYmVudHJ5KE9pZCBkYmlk KQoreworCXJldHVybiAoUGdTdGF0X1ZhY3V1bURCQ291bnRzICopCisJCXBnc3RhdF9mZXRj aF9lbnRyeShQR1NUQVRfS0lORF9WQUNVVU1fREIsIGRiaWQsIEludmFsaWRPaWQpOworfQor Citib29sCitwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50 cnlfcmVmLCBib29sIG5vd2FpdCkKK3sKKwlQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKnNoYXJl ZGVudDsKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnBlbmRpbmdlbnQ7CisKKwlwZW5kaW5n ZW50ID0gKFBnU3RhdF9WYWN1dW1EQkNvdW50cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CisJ c2hhcmVkZW50ID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1EQiAqKSBlbnRyeV9yZWYtPnNoYXJl ZF9zdGF0czsKKworCWlmICghcGdzdGF0X2xvY2tfZW50cnkoZW50cnlfcmVmLCBub3dhaXQp KQorCQlyZXR1cm4gZmFsc2U7CisKKwkvKiBUaGUgZW50cnkgd2FzIHN1Y2Nlc3NmdWxseSBm bHVzaGVkLCBhZGQgdGhlIHNhbWUgdG8gZGF0YWJhc2Ugc3RhdHMgKi8KKwlwZ3N0YXRfYWNj dW11bGF0ZV9leHR2YWNfc3RhdHNfZGIoJihzaGFyZWRlbnQtPnN0YXRzKSwgcGVuZGluZ2Vu dCk7CisKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlyZXR1cm4gdHJ1 ZTsKK30KKworLyoKKyAqIEZpbmQgb3IgY3JlYXRlIGEgbG9jYWwgUGdTdGF0X1ZhY3V1bURC Q291bnRzIGVudHJ5IGZvciBkYm9pZC4KKyAqLworUGdTdGF0X1ZhY3V1bURCQ291bnRzICoK K3Bnc3RhdF9wcmVwX3ZhY3V1bV9kYXRhYmFzZV9wZW5kaW5nKE9pZCBkYm9pZCkKK3sKKwlQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKworCS8qCisJICogVGhpcyBzaG91bGQgbm90 IHJlcG9ydCBzdGF0cyBvbiBkYXRhYmFzZSBvYmplY3RzIGJlZm9yZSBoYXZpbmcKKwkgKiBj b25uZWN0ZWQgdG8gYSBkYXRhYmFzZS4KKwkgKi8KKwlBc3NlcnQoIU9pZElzVmFsaWQoZGJv aWQpIHx8IE9pZElzVmFsaWQoTXlEYXRhYmFzZUlkKSk7CisKKwllbnRyeV9yZWYgPSBwZ3N0 YXRfcHJlcF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwgZGJvaWQsIElu dmFsaWRPaWQsCisJCQkJCQkJCQkJICBOVUxMKTsKKworICAgIGlmKGVudHJ5X3JlZiA9PSBO VUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVybiBlbnRyeV9yZWYtPnBl bmRpbmc7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYwppbmRleCAxYzM5YWRhMmMzZS4uYjJkZjIzN2MzMzcgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMjY3LDcgKzIyNjcsNiBAQCBw Z19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIAlQR19SRVRVUk5fQk9PTChw Z3N0YXRfaGF2ZV9lbnRyeShraW5kLCBkYm9pZCwgb2JqaWQpKTsKIH0KIAotCiAvKgogICog R2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgogICovCkBA IC0yMjc3LDEwMiArMjI3Niw0MiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZV TkNUSU9OX0FSR1MpCiAJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRT X0NPTFMgMjYKIAogCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7Ci0JRXh0VmFjUmVwb3J0IAkJCSpleHR2 YWN1dW07CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIAkJCSpleHR2YWN1dW07CisJ UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpwZW5kaW5nOwogCVR1cGxlRGVzYwkJCQkg dHVwZGVzYzsKIAlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVT X1NUQVRTX0NPTFNdID0gezB9OwogCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlp bnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAKLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19D T0xTKTsKKwkvKiBCdWlsZCBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1bHQgdHlw ZSAqLworCWlmIChnZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBkZXNj KSAhPSBUWVBFRlVOQ19DT01QT1NJVEUpCisJCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBt dXN0IGJlIGEgcm93IHR5cGUiKTsKIAotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAicmVsaWQiLAotCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9i bGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCi0JCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCi0JCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtz X3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJwYWdlc19zY2FubmVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwot CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNf cmVtb3ZlZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld19mcm96ZW5fcGFnZXMiLAot CQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9wYWdlcyIsCi0JCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyIsCi0JCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgIm1pc3NlZF9kZWFkX3BhZ2VzIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwot CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVz X2RlbGV0ZWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZnJvemVuIiwKLQkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAicmVjZW50bHlfZGVhZF90dXBsZXMiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJtaXNzZWRfZGVhZF90dXBsZXMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50IiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiaW5kZXhfdmFjdXVt X2NvdW50IiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfZnBpIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwK LQkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKLQkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDAp OwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJk ZWxheV90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJ ICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0KLQlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMpOwotCi0JQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisJ cGVuZGluZyA9IHBnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV90YWJlbnRyeShyZWxpZCwgTXlE YXRhYmFzZUlkKTsKIAotCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnko cmVsaWQpOwotCi0JaWYgKHRhYmVudHJ5ID09IE5VTEwpCisJaWYgKHBlbmRpbmcgPT0gTlVM TCkKIAl7CiAJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFs aXNlIGl0cyBzdGF0cyAqLwotCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKwkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzKSk7CiAJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOwogCX0KIAllbHNlCi0J ewotCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9CisJCWV4dHZh Y3V1bSA9IHBlbmRpbmc7CiAKIAlpID0gMDsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRH ZXREYXR1bShyZWxpZCk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50b3RhbF9ibGtzX3JlYWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfcmVhZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFs X2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5j b21tb24udG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc193cml0dGVuKTsKIAotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCi0JCQkJCQkJ CQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Y29tbW9uLmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmNv bW1vbi5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLmJsa3NfaGl0KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3NjYW5uZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3JlbW92ZWQpOwpAQCAtMjM4MCwyOCAr MjMxOSwyOCBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3 X3Zpc2libGVfcGFnZXMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7CiAJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udHVw bGVzX2RlbGV0ZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRhYmxlLnR1cGxlc19mcm96ZW4pOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwog Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNv cmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24u d2FsX2ZwaSk7CiAKIAkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0 ZW1lbnRzICovCi0Jc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBl eHR2YWN1dW0tPndhbF9ieXRlcyk7CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5U NjRfRk9STUFULCBleHR2YWN1dW0tPmNvbW1vbi53YWxfYnl0ZXMpOwogCXZhbHVlc1tpKytd ID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAogCQkJCQkJCQkJICBDU3RyaW5n R2V0RGF0dW0oYnVmKSwKIAkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKIAkJCQkJ CQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOwogCi0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXRE YXR1bShleHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOwotCXZhbHVlc1tpKytdID0g RmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa19yZWFkX3RpbWUpOworCXZh bHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrX3dyaXRl X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24uZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1 dW0tPmNvbW1vbi50b3RhbF90aW1lKTsKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CiAKQEAgLTI0MTgsMTAwICsyMzU3LDYwIEBAIHBn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJI2RlZmluZSBQ R19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUwkxNgogCiAJT2lkCQkJCQkJcmVs aWQgPSBQR19HRVRBUkdfT0lEKDApOwotCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJl bnRyeTsKLQlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudHMgCQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3Vu dHMgKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFs dWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKIAlib29s CQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9 OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVw b3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAK LQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRl c2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RB VF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOworCS8qIEJ1aWxkIGEgdHVwbGUgZGVz Y3JpcHRvciBmb3Igb3VyIHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90 eXBlKGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJ ZWxvZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwogCi0JVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxpZCIsCi0J CQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ0b3RhbF9ibGtzX2hpdCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nf ZGlydGllZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCi0J CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxfYmxrc19oaXQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19kZWxldGVkIiwK LQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ3YWxfcmVjb3JkcyIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAotCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAotCQkJCQkgICBOVU1FUklDT0lELCAtMSwg MCk7Ci0KLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg ImJsa19yZWFkX3RpbWUiLAotCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1l IiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJcGVuZGluZyA9IHBnc3RhdF9mZXRj aF9zdGF0X3ZhY3V1bV90YWJlbnRyeShyZWxpZCwgTXlEYXRhYmFzZUlkKTsKIAotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIs Ci0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9J RCwgLTEsIDApOwotCi0JQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NU QVRTX0NPTFMpOwotCi0JQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7Ci0KLQl0YWJlbnRyeSA9 IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKLQotCWlmICh0YWJlbnRyeSA9 PSBOVUxMKQorCWlmIChwZW5kaW5nID09IE5VTEwpCiAJewogCQkvKiBJZiB0aGUgc3Vic2Ny aXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KLQkJbWVtc2V0 KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmYWxsemVy bywgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cykpOwogCQlleHR2YWN1 dW0gPSAmYWxsemVybzsKIAl9CiAJZWxzZQotCXsKLQkJZXh0dmFjdXVtID0gJih0YWJlbnRy eS0+dmFjdXVtX2V4dCk7Ci0JfQorCQlleHR2YWN1dW0gPSBwZW5kaW5nOwogCiAJaSA9IDA7 CiAKIAl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOwogCi0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19k aXJ0aWVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3Rh bF9ibGtzX3dyaXR0ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPmNvbW1vbi50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFs X2Jsa3Nfd3JpdHRlbik7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5ibGtzX2ZldGNoZWQgLQotCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7Ci0J dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2ZldGNo ZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVtLT5jb21tb24uYmxrc19oaXQpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2hpdCk7CiAKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxl dGVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNf ZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29t bW9uLnR1cGxlc19kZWxldGVkKTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT53YWxfZnBpKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5jb21tb24ud2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfZnBpKTsKIAogCS8qIENvbnZlcnQgdG8gbnVt ZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KLQlzbnByaW50ZihidWYsIHNpemVv ZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwlzbnByaW50 ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+Y29tbW9uLndh bF9ieXRlcyk7CiAJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNf aW4sCiAJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAogCQkJCQkJCQkJICBPYmpl Y3RJZEdldERhdHVtKDApLAogCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CiAKLQl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7 Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90 aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlf dGltZSk7Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24uYmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2 YWN1dW0tPmNvbW1vbi5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX3RpbWUpOwogCiAJQXNz ZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwogCkBAIC0y NTI1LDkwICsyNDI0LDUyIEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5D VElPTl9BUkdTKQogCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFMJMTQKIAogCU9pZAkJCQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0 YXRfU3RhdERCRW50cnkgCQkqZGJlbnRyeTsKLQlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1 bTsKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVt REJDb3VudHMJKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJ CQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHsw fTsKIAlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7 Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87Ci0KLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFMpOwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJkYmlkIiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCi0J CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKLQkJCQkJICAgSU5UOE9JRCwg LTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfYmxrc19kaXJ0aWVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxr c193cml0dGVuIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVz IiwKLQkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOworCVBnU3RhdF9WYWN1dW1EQkNvdW50 cyBhbGx6ZXJvOwogCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJibGtfcmVhZF90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3Jp dGVfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCS8qIEJ1aWxkIGEgdHVw bGUgZGVzY3JpcHRvciBmb3Igb3VyIHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jl c3VsdF90eXBlKGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lU RSkKKwkJZWxvZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwog Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxh eV90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJICAg RkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50IiwKLQkJCQkJICAgSU5U NE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZXJyb3JzIiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCXBlbmRpbmcg PSBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShkYmlkKTsKIAotCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKLQotCUJsZXNz VHVwbGVEZXNjKHR1cGRlc2MpOwotCi0JZGJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2Ri ZW50cnkoZGJpZCk7Ci0KLQlpZiAoZGJlbnRyeSA9PSBOVUxMKQorCWlmIChwZW5kaW5nID09 IE5VTEwpCiAJewogCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5p dGlhbGlzZSBpdHMgc3RhdHMgKi8KLQkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0 VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1 dW1SZWxhdGlvbkNvdW50cykpOwogCQlleHR2YWN1dW0gPSAmYWxsemVybzsKIAl9CiAJZWxz ZQotCXsKLQkJZXh0dmFjdXVtID0gJihkYmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9Ci0KLQlp ID0gMDsKKwkJZXh0dmFjdXVtID0gcGVuZGluZzsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0 SWRHZXREYXR1bShkYmlkKTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19yZWFk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90 YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PmNvbW1vbi50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4pOwogCi0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwotCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkp OwogCiAJLyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAq LwotCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVt LT53YWxfYnl0ZXMpOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1B VCwgZXh0dmFjdXVtLT5jb21tb24ud2FsX2J5dGVzKTsKIAl2YWx1ZXNbaSsrXSA9IERpcmVj dEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKIAkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVt KGJ1ZiksCiAJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCiAJCQkJCQkJCQkgIElu dDMyR2V0RGF0dW0oLTEpKTsKIAotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0 dmFjdXVtLT5ibGtfcmVhZF90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVt KGV4dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0 RGF0dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdl dERhdHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdl dERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVz W2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfcmVhZF90aW1l KTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJs a193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT5jb21tb24udG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwog CXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CiAKIAlB c3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IGRjYzU0Mjc1MGI4Li5iYzlkZjE0MzNjMiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1 ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTQzMiw1ICs0MzIsNSBAQCBleHRlcm4gZG91Ymxl IGFubF9nZXRfbmV4dF9TKGRvdWJsZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CiBl eHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHgg KmNvdW50ZXJzKTsKIGV4dGVybiB2b2lkIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9u IHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENv dW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpyZXBvcnQpOworCQkJCQkgTFZF eHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzLCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3Vu dHMgKnJlcG9ydCk7CiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNTA4 NzZmNTQ0NmYuLjNiOWViODcyMjFhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQu aAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTE2LDQ2ICsxMTYsMTAwIEBAIHR5 cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7CiAJUEdTVEFUX0VYVFZBQ19JTlZBTElE ID0gMCwKIAlQR1NUQVRfRVhUVkFDX1RBQkxFID0gMSwKLQlQR1NUQVRfRVhUVkFDX0lOREVY ID0gMgorCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyLAorCVBHU1RBVF9FWFRWQUNfREIgPSAz LAogfSBFeHRWYWNSZXBvcnRUeXBlOwogCiAvKiAtLS0tLS0tLS0tCisgKiBQZ1N0YXRfVGFi bGVDb3VudHMJCQlUaGUgYWN0dWFsIHBlci10YWJsZSBjb3VudHMga2VwdCBieSBhIGJhY2tl bmQKICAqCi0gKiBFeHRWYWNSZXBvcnQKKyAqIFRoaXMgc3RydWN0IHNob3VsZCBjb250YWlu IG9ubHkgYWN0dWFsIGV2ZW50IGNvdW50ZXJzLCBiZWNhdXNlIHdlIG1ha2UgdXNlCisgKiBv ZiBwZ19tZW1vcnlfaXNfYWxsX3plcm9zKCkgdG8gZGV0ZWN0IHdoZXRoZXIgdGhlcmUgYXJl IGFueSBzdGF0cyB1cGRhdGVzCisgKiB0byBhcHBseS4KICAqCi0gKiBBZGRpdGlvbmFsIHN0 YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIHJlbGF0aW9uLgotICogcGFn ZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50IGJ5IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFu aywKLSAqIGlmIGFueSAoaWUgdGhlIGNoYW5nZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNr KQotICogcGFnZXNfZGVsZXRlZCByZWZlciB0byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5k ZXggZmlsZQorICogSXQgaXMgYSBjb21wb25lbnQgb2YgUGdTdGF0X1RhYmxlU3RhdHVzICh3 aXRoaW4tYmFja2VuZCBzdGF0ZSkuCisgKgorICogTm90ZTogZm9yIGEgdGFibGUsIHR1cGxl c19yZXR1cm5lZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZl dGNoZWQgYnkgaGVhcF9nZXRuZXh0LCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVt YmVyIG9mIHR1cGxlcworICogc3VjY2Vzc2Z1bGx5IGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1 bmRlciB0aGUgY29udHJvbCBvZiBiaXRtYXAgaW5kZXhzY2Fucy4KKyAqIEZvciBhbiBpbmRl eCwgdHVwbGVzX3JldHVybmVkIGlzIHRoZSBudW1iZXIgb2YgaW5kZXggZW50cmllcyByZXR1 cm5lZCBieQorICogdGhlIGluZGV4IEFNLCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUg bnVtYmVyIG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9mZXRj aCB1bmRlciB0aGUgY29udHJvbCBvZiBzaW1wbGUgaW5kZXhzY2FucyBmb3IgdGhpcyBpbmRl eC4KKyAqCisgKiB0dXBsZXNfaW5zZXJ0ZWQvdXBkYXRlZC9kZWxldGVkL2hvdF91cGRhdGVk L25ld3BhZ2VfdXBkYXRlZCBjb3VudCBhdHRlbXB0ZWQKKyAqIGFjdGlvbnMsIHJlZ2FyZGxl c3Mgb2Ygd2hldGhlciB0aGUgdHJhbnNhY3Rpb24gY29tbWl0dGVkLiAgZGVsdGFfbGl2ZV90 dXBsZXMsCisgKiBkZWx0YV9kZWFkX3R1cGxlcywgYW5kIGNoYW5nZWRfdHVwbGVzIGFyZSBz ZXQgZGVwZW5kaW5nIG9uIGNvbW1pdCBvciBhYm9ydC4KKyAqIE5vdGUgdGhhdCBkZWx0YV9s aXZlX3R1cGxlcyBhbmQgZGVsdGFfZGVhZF90dXBsZXMgY2FuIGJlIG5lZ2F0aXZlIQogICog LS0tLS0tLS0tLQogICovCi10eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKK3R5cGVkZWYg c3RydWN0IFBnU3RhdF9UYWJsZUNvdW50cwogewotCS8qIG51bWJlciBvZiBibG9ja3MgbWlz c2VkLCBoaXQsIGRpcnRpZWQgYW5kIHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNp ZmljIHJlbGF0aW9uICovCi0JaW50NjQJCXRvdGFsX2Jsa3NfcmVhZDsKLQlpbnQ2NAkJdG90 YWxfYmxrc19oaXQ7Ci0JaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsKLQlpbnQ2NAkJdG90 YWxfYmxrc193cml0dGVuOworCVBnU3RhdF9Db3VudGVyIG51bXNjYW5zOwogCi0JLyogYmxv Y2tzIG1pc3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1bSBv ZiBzcGVjaWZpYyByZWxhdGlvbiAqLwotCWludDY0CQlibGtzX2ZldGNoZWQ7Ci0JaW50NjQJ CWJsa3NfaGl0OworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKKwlQZ1N0YXRf Q291bnRlciB0dXBsZXNfZmV0Y2hlZDsKIAotCS8qIFZhY3V1bSBXQUwgdXNhZ2Ugc3RhdHMg Ki8KLQlpbnQ2NAkJd2FsX3JlY29yZHM7CS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBy ZWNvcmRzICovCi0JaW50NjQJCXdhbF9mcGk7CQkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBX QUwgZnVsbCBwYWdlIGltYWdlcyBwcm9kdWNlZCAqLwotCXVpbnQ2NAkJd2FsX2J5dGVzOwkJ Lyogd2FsIHVzYWdlOiBzaXplIG9mIFdBTCByZWNvcmRzIHByb2R1Y2VkICovCisJUGdTdGF0 X0NvdW50ZXIgdHVwbGVzX2luc2VydGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxlc191cGRh dGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19kZWxldGVkOworCVBnU3RhdF9Db3VudGVy IHR1cGxlc19ob3RfdXBkYXRlZDsKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfbmV3cGFnZV91 cGRhdGVkOworCWJvb2wJCXRydW5jZHJvcHBlZDsKKworCVBnU3RhdF9Db3VudGVyIGRlbHRh X2xpdmVfdHVwbGVzOworCVBnU3RhdF9Db3VudGVyIGRlbHRhX2RlYWRfdHVwbGVzOworCVBn U3RhdF9Db3VudGVyIGNoYW5nZWRfdHVwbGVzOworCisJUGdTdGF0X0NvdW50ZXIgYmxvY2tz X2ZldGNoZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKIAotCS8qIFRpbWUgc3Rh dHMuICovCi0JZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcg cGFnZXMsIGluIG1zZWMgKi8KLQlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNw ZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KLQlkb3VibGUJCWRlbGF5X3RpbWU7CQkv KiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2Vj ICovCi0JZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBv cGVyYXRpb24sIGluIG1zZWMgKi8KKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVf cGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7Cit9IFBnU3Rh dF9UYWJsZUNvdW50czsKIAotCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBk ZWxldGVkIGJ5IHZhY3V1bSAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0NvbW1vbkNvdW50 cworeworCS8qIGJsb2NrcyAqLworCWludDY0IHRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NCB0 b3RhbF9ibGtzX2hpdDsKKwlpbnQ2NCB0b3RhbF9ibGtzX2RpcnRpZWQ7CisJaW50NjQgdG90 YWxfYmxrc193cml0dGVuOworCisJLyogaGVhcCBibG9ja3MgKi8KKwlpbnQ2NCBibGtzX2Zl dGNoZWQ7CisJaW50NjQgYmxrc19oaXQ7CisKKwkvKiBXQUwgKi8KKwlpbnQ2NCB3YWxfcmVj b3JkczsKKwlpbnQ2NCB3YWxfZnBpOworCXVpbnQ2NCB3YWxfYnl0ZXM7CisKKwkvKiBUaW1l ICovCisJZG91YmxlIGJsa19yZWFkX3RpbWU7CisJZG91YmxlIGJsa193cml0ZV90aW1lOwor CWRvdWJsZSBkZWxheV90aW1lOworCWRvdWJsZSB0b3RhbF90aW1lOworCisJLyogdHVwbGVz ICovCisJaW50NjQgdHVwbGVzX2RlbGV0ZWQ7CisKKwkvKiBmYWlsc2FmZSAqLworCWludDMy IHdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7Cit9IFBnU3RhdF9Db21tb25Db3VudHM7CiAK LQlpbnQzMgkJZXJyb3JzOwotCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50Owkv KiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtICov CisvKiAtLS0tLS0tLS0tCisgKgorICogUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCisg KgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIg YSByZWxhdGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0 aGUgcGh5c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRz IHRvdGFsIHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBz cGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRl ZiBzdHJ1Y3QgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCit7CisJUGdTdGF0X0NvbW1v bkNvdW50cyBjb21tb247CiAKIAlFeHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkvKiBoZWFwLCBp bmRleCwgZXRjLiAqLwogCkBAIC0xNzQsMTYgKzIyOCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBF eHRWYWNSZXBvcnQKIAl7CiAJCXN0cnVjdAogCQl7CisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3pl bjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50 bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2li bGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLworCQkJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxl czsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBn ZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVh cCBwYWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCiAJCQlpbnQ2NAkJcGFn ZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRp b24iICovCiAJCQlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogcGFnZXMgbWFya2VkIGluIFZN IGFzIGZyb3plbiAqLwogCQkJaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBwYWdlcyBt YXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KLQkJCWludDY0CQl0dXBsZXNfZnJvemVu OwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KLQkJCWludDY0CQlyZWNlbnRs eV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJs ZSB0byBzb21lIHRyYW5zYWN0aW9uICovCiAJCQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdl czsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KIAkJCWludDY0CQl2bV9u ZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl ICovCiAJCQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBt YXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZyb3plbiAqLwotCQkJaW50NjQJCW1p c3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUg dG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQltaXNzZWRf ZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJCQlp bnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5n cyAqLwogCQl9CQkJdGFibGU7CkBAIC0xOTIsNjEgKzI0NiwyMSBAQCB0eXBlZGVmIHN0cnVj dCBFeHRWYWNSZXBvcnQKIAkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9m IHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCiAJCX0JCQlpbmRleDsKIAl9IC8qIHBlcl90 eXBlX3N0YXRzICovOwotfSBFeHRWYWNSZXBvcnQ7Cit9IFBnU3RhdF9WYWN1dW1SZWxhdGlv bkNvdW50czsKIAotLyogLS0tLS0tLS0tLQotICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhl IGFjdHVhbCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCi0gKgotICogVGhp cyBzdHJ1Y3Qgc2hvdWxkIGNvbnRhaW4gb25seSBhY3R1YWwgZXZlbnQgY291bnRlcnMsIGJl Y2F1c2Ugd2UgbWFrZSB1c2UKLSAqIG9mIHBnX21lbW9yeV9pc19hbGxfemVyb3MoKSB0byBk ZXRlY3Qgd2hldGhlciB0aGVyZSBhcmUgYW55IHN0YXRzIHVwZGF0ZXMKLSAqIHRvIGFwcGx5 LgotICoKLSAqIEl0IGlzIGEgY29tcG9uZW50IG9mIFBnU3RhdF9UYWJsZVN0YXR1cyAod2l0 aGluLWJhY2tlbmQgc3RhdGUpLgotICoKLSAqIE5vdGU6IGZvciBhIHRhYmxlLCB0dXBsZXNf cmV0dXJuZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRj aGVkIGJ5IGhlYXBfZ2V0bmV4dCwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJl ciBvZiB0dXBsZXMKLSAqIHN1Y2Nlc3NmdWxseSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5k ZXIgdGhlIGNvbnRyb2wgb2YgYml0bWFwIGluZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgs IHR1cGxlc19yZXR1cm5lZCBpcyB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJu ZWQgYnkKLSAqIHRoZSBpbmRleCBBTSwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51 bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2gg dW5kZXIgdGhlIGNvbnRyb2wgb2Ygc2ltcGxlIGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXgu Ci0gKgotICogdHVwbGVzX2luc2VydGVkL3VwZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZC9u ZXdwYWdlX3VwZGF0ZWQgY291bnQgYXR0ZW1wdGVkCi0gKiBhY3Rpb25zLCByZWdhcmRsZXNz IG9mIHdoZXRoZXIgdGhlIHRyYW5zYWN0aW9uIGNvbW1pdHRlZC4gIGRlbHRhX2xpdmVfdHVw bGVzLAotICogZGVsdGFfZGVhZF90dXBsZXMsIGFuZCBjaGFuZ2VkX3R1cGxlcyBhcmUgc2V0 IGRlcGVuZGluZyBvbiBjb21taXQgb3IgYWJvcnQuCi0gKiBOb3RlIHRoYXQgZGVsdGFfbGl2 ZV90dXBsZXMgYW5kIGRlbHRhX2RlYWRfdHVwbGVzIGNhbiBiZSBuZWdhdGl2ZSEKLSAqIC0t LS0tLS0tLS0KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCit0eXBl ZGVmIHN0cnVjdCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25TdGF0dXMKIHsKLQlQZ1N0YXRfQ291 bnRlciBudW1zY2FuczsKLQotCVBnU3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKLQlQ Z1N0YXRfQ291bnRlciB0dXBsZXNfZmV0Y2hlZDsKLQotCVBnU3RhdF9Db3VudGVyIHR1cGxl c19pbnNlcnRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfdXBkYXRlZDsKLQlQZ1N0YXRf Q291bnRlciB0dXBsZXNfZGVsZXRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfaG90X3Vw ZGF0ZWQ7Ci0JUGdTdGF0X0NvdW50ZXIgdHVwbGVzX25ld3BhZ2VfdXBkYXRlZDsKLQlib29s CQl0cnVuY2Ryb3BwZWQ7Ci0KLQlQZ1N0YXRfQ291bnRlciBkZWx0YV9saXZlX3R1cGxlczsK LQlQZ1N0YXRfQ291bnRlciBkZWx0YV9kZWFkX3R1cGxlczsKLQlQZ1N0YXRfQ291bnRlciBj aGFuZ2VkX3R1cGxlczsKLQotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBn U3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Ci0KLQlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zp c2libGVfcGFnZXM7Ci0JUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJ T2lkCQkJaWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJYm9vbAkJc2hhcmVkOwkJCS8qIGlz IGl0IGEgc2hhcmVkIGNhdGFsb2c/ICovCisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz IGNvdW50czsJLyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQgKi8KK30gUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uU3RhdHVzOwogCi0JLyoKLQkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3Rh dCBvbiB2YWN1dW0gb3BlcmF0aW9ucy4KLQkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVy ZSBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCi0JICogcmVsYXRp b25zLgotCSAqLwotCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwotfSBQZ1N0YXRfVGFibGVD b3VudHM7Cit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVmFjdXVtREJDb3VudHMKK3sKKwlPaWQg ZGJqaWQ7CisJUGdTdGF0X0NvbW1vbkNvdW50cyBjb21tb247CisJaW50MzIgZXJyb3JzOwor fSBQZ1N0YXRfVmFjdXVtREJDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9U YWJsZVN0YXR1cwkJCVBlci10YWJsZSBzdGF0dXMgd2l0aGluIGEgYmFja2VuZApAQCAtMjcy LDYgKzI4NiwxMiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVTdGF0dXMKIAlSZWxh dGlvbglyZWxhdGlvbjsJCS8qIHJlbCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkgKi8KIH0g UGdTdGF0X1RhYmxlU3RhdHVzOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfUmVsYXRpb25W YWN1dW1QZW5kaW5nCit7CisJT2lkCQkJaWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJUGdT dGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGNvdW50czsJLyogZXZlbnQgY291bnRzIHRvIGJl IHNlbnQgKi8KK30gUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGluZzsKKwogLyogLS0tLS0t LS0tLQogICogUGdTdGF0X1RhYmxlWGFjdFN0YXR1cwkJUGVyLXRhYmxlLCBwZXItc3VidHJh bnNhY3Rpb24gc3RhdHVzCiAgKiAtLS0tLS0tLS0tCkBAIC00NjgsOCArNDg4LDYgQEAgdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgcGFyYWxs ZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0 YW1wOwotCi0JRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0g c3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0 IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC01NTEsOCArNTY5LDYgQEAgdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCiAJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNp YmxlX3BhZ2VzOwogCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOwotCi0J RXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7CiAKIC8q IC0tLS0tLQpAQCAtNzYwLDExICs3NzYsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlu a19yZWxhdGlvbihSZWxhdGlvbiByZWwpOwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0Nv dW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJCQkJ IFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpOworCQkJCQkJ CQkgVGltZXN0YW1wVHogc3RhcnR0aW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf YW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1 cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0 Y291bnRlciwgVGltZXN0YW1wVHogc3RhcnR0aW1lKTsKLWV4dGVybiB2b2lkIHBnc3RhdF9y ZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5 cGUpOwogCiAvKgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEg aGFzbid0IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxsCkBAIC04OTUsNiArOTEwLDE1IEBAIGV4 dGVybiBpbnQJcGdzdGF0X2dldF90cmFuc2FjdGlvbmFsX2Ryb3BzKGJvb2wgaXNDb21taXQs IHN0cnVjdCB4bF94YWN0X3N0YXRzX2l0CiBleHRlcm4gdm9pZCBwZ3N0YXRfZXhlY3V0ZV90 cmFuc2FjdGlvbmFsX2Ryb3BzKGludCBuZHJvcHMsIHN0cnVjdCB4bF94YWN0X3N0YXRzX2l0 ZW0gKml0ZW1zLCBib29sIGlzX3JlZG8pOwogCiAKK2V4dGVybiB2b2lkIHBnc3RhdF9kcm9w X3ZhY3V1bV9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCk7CitleHRlcm4gdm9pZCBwZ3N0YXRf dmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCk7CitleHRlcm4g dm9pZAorcGdzdGF0X3JlcG9ydF92YWN1dW1fZXh0c3RhdHMoT2lkIHRhYmxlb2lkLCBib29s IHNoYXJlZCwKKwkJCQkJCQkJICBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnBhcmFt cyk7CitleHRlcm4gUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGluZyAqIGZpbmRfdmFjdXVt X3JlbGF0aW9uX2VudHJ5KE9pZCByZWxpZCk7CitleHRlcm4gUGdTdGF0X1ZhY3V1bURCQ291 bnRzICpwZ3N0YXRfcHJlcF92YWN1dW1fZGF0YWJhc2VfcGVuZGluZyhPaWQgZGJvaWQpOwor ZXh0ZXJuIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcGdzdGF0X2ZldGNoX3N0YXRf dmFjdXVtX3RhYmVudHJ5KE9pZCByZWxpZCwgT2lkIGRiaWQpOworUGdTdGF0X1ZhY3V1bURC Q291bnRzICpwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShPaWQgZGJpZCk7CiAv KgogICogRnVuY3Rpb25zIGluIHBnc3RhdF93YWwuYwogICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bn c3RhdF9pbnRlcm5hbC5oCmluZGV4IDZjZjAwMDA4ZjYzLi41YzVhYjhlMmVlNCAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKQEAgLTQzMiw2ICs0MzIsMTggQEAgdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1JlbGF0aW9uCiAJUGdTdGF0X1N0YXRUYWJFbnRy eSBzdGF0czsKIH0gUGdTdGF0U2hhcmVkX1JlbGF0aW9uOwogCit0eXBlZGVmIHN0cnVjdCBQ Z1N0YXRTaGFyZWRfVmFjdXVtREIKK3sKKwlQZ1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsK KwlQZ1N0YXRfVmFjdXVtREJDb3VudHMgc3RhdHM7Cit9IFBnU3RhdFNoYXJlZF9WYWN1dW1E QjsKKwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uCit7CisJ UGdTdGF0U2hhcmVkX0NvbW1vbiBoZWFkZXI7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291 bnRzIHN0YXRzOworfSBQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb247CisKIHR5cGVkZWYg c3RydWN0IFBnU3RhdFNoYXJlZF9GdW5jdGlvbgogewogCVBnU3RhdFNoYXJlZF9Db21tb24g aGVhZGVyOwpAQCAtNjAwLDYgKzYxMiw5IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYgKnBn c3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4gdm9p ZCAqcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWlu dDY0IG9iamlkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRf S2luZCBraW5kKTsKIAorYm9vbCBwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9F bnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CitleHRlcm4gYm9vbCBwZ3N0YXRf dmFjdXVtX3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBi b29sIG5vd2FpdCk7CisKIAogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfYXJjaGl2ZXIu YwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaCBiL3NyYy9p bmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmgKaW5kZXggZWI1ZjBiM2FlNmQuLjUyZTg4NGZi ZjhiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5oCisrKyBi L3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmgKQEAgLTM4LDkgKzM4LDExIEBACiAj ZGVmaW5lIFBHU1RBVF9LSU5EX0lPCTEwCiAjZGVmaW5lIFBHU1RBVF9LSU5EX1NMUlUJMTEK ICNkZWZpbmUgUEdTVEFUX0tJTkRfV0FMCTEyCisjZGVmaW5lIFBHU1RBVF9LSU5EX1ZBQ1VV TV9EQgkxMworI2RlZmluZSBQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04JMTQKIAogI2Rl ZmluZSBQR1NUQVRfS0lORF9CVUlMVElOX01JTiBQR1NUQVRfS0lORF9EQVRBQkFTRQotI2Rl ZmluZSBQR1NUQVRfS0lORF9CVUlMVElOX01BWCBQR1NUQVRfS0lORF9XQUwKKyNkZWZpbmUg UEdTVEFUX0tJTkRfQlVJTFRJTl9NQVggUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OCiAj ZGVmaW5lIFBHU1RBVF9LSU5EX0JVSUxUSU5fU0laRSAoUEdTVEFUX0tJTkRfQlVJTFRJTl9N QVggKyAxKQogCiAvKiBDdXN0b20gc3RhdHMga2luZHMgKi8KZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQKaW5kZXggMTRmMTllNWJjYmUuLmVmMmQ2NTQ1OTUzIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI5Myw3NyArMjI5Myw4MSBAQCBw Z19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxl X3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5h bWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hl bWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwot cGdfc3RhdF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCi0gICAg ZGIuZGF0bmFtZSBBUyBkYm5hbWUsCi0gICAgc3RhdHMuZGJfYmxrc19yZWFkLAotICAgIHN0 YXRzLmRiX2Jsa3NfaGl0LAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKLSAgICBz dGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAg c3RhdHMud2FsX2ZwaSwKLSAgICBzdGF0cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3Jl YWRfdGltZSwKLSAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90 aW1lLAotICAgIHN0YXRzLnRvdGFsX3RpbWUsCi0gICAgc3RhdHMud3JhcGFyb3VuZF9mYWls c2FmZSwKLSAgICBzdGF0cy5lcnJvcnMKLSAgIEZST00gcGdfZGF0YWJhc2UgZGIsCi0gICAg TEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9p ZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3Rh bF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3cmFw YXJvdW5kX2ZhaWxzYWZlLCBlcnJvcnMpOwotcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VM RUNUIHJlbC5vaWQgQVMgcmVsaWQsCi0gICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAot ICAgIHJlbC5yZWxuYW1lLAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKLSAgICBzdGF0 cy50b3RhbF9ibGtzX2hpdCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCi0gICAg c3RhdHMudG90YWxfYmxrc193cml0dGVuLAotICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCi0g ICAgc3RhdHMucmVsX2Jsa3NfaGl0LAotICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCi0gICAg c3RhdHMudHVwbGVzX2RlbGV0ZWQsCi0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAgc3Rh dHMud2FsX2ZwaSwKLSAgICBzdGF0cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3JlYWRf dGltZSwKLSAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90aW1l LAotICAgIHN0YXRzLnRvdGFsX3RpbWUKLSAgIEZST00gKHBnX2NsYXNzIHJlbAotICAgICBK T0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSks Ci0gICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0 cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19k aXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hp dCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBp LCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1l LCB0b3RhbF90aW1lKQotICBXSEVSRSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIik7Ci1w Z19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs Ci0gICAgcmVsLnJlbG5hbWUsCi0gICAgc3RhdHMucmVsaWQsCi0gICAgc3RhdHMudG90YWxf Ymxrc19yZWFkLAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAotICAgIHN0YXRzLnRvdGFs X2Jsa3NfZGlydGllZCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0gICAgc3Rh dHMucmVsX2Jsa3NfcmVhZCwKLSAgICBzdGF0cy5yZWxfYmxrc19oaXQsCi0gICAgc3RhdHMu cGFnZXNfc2Nhbm5lZCwKLSAgICBzdGF0cy5wYWdlc19yZW1vdmVkLAotICAgIHN0YXRzLnZt X25ld19mcm96ZW5fcGFnZXMsCi0gICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCi0g ICAgc3RhdHMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAotICAgIHN0YXRzLm1pc3Nl ZF9kZWFkX3BhZ2VzLAotICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAotICAgIHN0YXRzLnR1 cGxlc19mcm96ZW4sCi0gICAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMsCi0gICAgc3Rh dHMubWlzc2VkX2RlYWRfdHVwbGVzLAotICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUs Ci0gICAgc3RhdHMuaW5kZXhfdmFjdXVtX2NvdW50LAotICAgIHN0YXRzLndhbF9yZWNvcmRz LAotICAgIHN0YXRzLndhbF9mcGksCi0gICAgc3RhdHMud2FsX2J5dGVzLAotICAgIHN0YXRz LmJsa19yZWFkX3RpbWUsCi0gICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCi0gICAgc3RhdHMu ZGVsYXlfdGltZSwKLSAgICBzdGF0cy50b3RhbF90aW1lCi0gICBGUk9NIChwZ19jbGFzcyBy ZWwKLSAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFt ZXNwYWNlKSkpLAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwu b2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90 YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJl bF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3pl bl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVu LCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5k X2ZhaWxzYWZlLCBpbmRleF92YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3 YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0 b3RhbF90aW1lKQotICBXSEVSRSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CitwZ19z dGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGQub2lkIEFTIGRib2lkLAorICAgIGQuZGF0 bmFtZSBBUyBkYm5hbWUsCisgICAgcy5kYl9ibGtzX3JlYWQsCisgICAgcy5kYl9ibGtzX2hp dCwKKyAgICBzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBzLnRvdGFsX2Jsa3Nfd3JpdHRl biwKKyAgICBzLndhbF9yZWNvcmRzLAorICAgIHMud2FsX2ZwaSwKKyAgICBzLndhbF9ieXRl cywKKyAgICBzLmJsa19yZWFkX3RpbWUsCisgICAgcy5ibGtfd3JpdGVfdGltZSwKKyAgICBz LmRlbGF5X3RpbWUsCisgICAgcy50b3RhbF90aW1lLAorICAgIHMud3JhcGFyb3VuZF9mYWls c2FmZSwKKyAgICBzLmVycm9ycworICAgRlJPTSBwZ19kYXRhYmFzZSBkLAorICAgIExBVEVS QUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGQub2lkKSBzKGRib2lkLCBkYl9ibGtz X3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3Jp dHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwg YmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUsIHdyYXBhcm91bmRfZmFp bHNhZmUsIGVycm9ycyk7CitwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgYy5vaWQg QVMgcmVsaWQsCisgICAgaS5vaWQgQVMgaW5kZXhyZWxpZCwKKyAgICBuLm5zcG5hbWUgQVMg c2NoZW1hbmFtZSwKKyAgICBjLnJlbG5hbWUsCisgICAgaS5yZWxuYW1lIEFTIGluZGV4cmVs bmFtZSwKKyAgICBzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzLnRvdGFsX2Jsa3NfaGl0LAor ICAgIHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHMudG90YWxfYmxrc193cml0dGVuLAor ICAgIHMucmVsX2Jsa3NfcmVhZCwKKyAgICBzLnJlbF9ibGtzX2hpdCwKKyAgICBzLnBhZ2Vz X2RlbGV0ZWQsCisgICAgcy50dXBsZXNfZGVsZXRlZCwKKyAgICBzLndhbF9yZWNvcmRzLAor ICAgIHMud2FsX2ZwaSwKKyAgICBzLndhbF9ieXRlcywKKyAgICBzLmJsa19yZWFkX3RpbWUs CisgICAgcy5ibGtfd3JpdGVfdGltZSwKKyAgICBzLmRlbGF5X3RpbWUsCisgICAgcy50b3Rh bF90aW1lCisgICBGUk9NICgoKHBnX2NsYXNzIGMKKyAgICAgSk9JTiBwZ19pbmRleCB4IE9O ICgoYy5vaWQgPSB4LmluZHJlbGlkKSkpCisgICAgIEpPSU4gcGdfY2xhc3MgaSBPTiAoKGku b2lkID0geC5pbmRleHJlbGlkKSkpCisgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBP TiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dl dF92YWN1dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3Rh bF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJl bF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0 ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJs a193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAoYy5yZWxr aW5kID0gQU5ZIChBUlJBWVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIi XSkpOworcGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVt YW5hbWUsCisgICAgYy5yZWxuYW1lLAorICAgIHMucmVsaWQsCisgICAgcy50b3RhbF9ibGtz X3JlYWQsCisgICAgcy50b3RhbF9ibGtzX2hpdCwKKyAgICBzLnRvdGFsX2Jsa3NfZGlydGll ZCwKKyAgICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzLnJlbF9ibGtzX3JlYWQsCisg ICAgcy5yZWxfYmxrc19oaXQsCisgICAgcy5wYWdlc19zY2FubmVkLAorICAgIHMucGFnZXNf cmVtb3ZlZCwKKyAgICBzLnZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgcy52bV9uZXdfdmlz aWJsZV9wYWdlcywKKyAgICBzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBz Lm1pc3NlZF9kZWFkX3BhZ2VzLAorICAgIHMudHVwbGVzX2RlbGV0ZWQsCisgICAgcy50dXBs ZXNfZnJvemVuLAorICAgIHMucmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgcy5taXNzZWRf ZGVhZF90dXBsZXMsCisgICAgcy53cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHMuaW5kZXhf dmFjdXVtX2NvdW50LAorICAgIHMud2FsX3JlY29yZHMsCisgICAgcy53YWxfZnBpLAorICAg IHMud2FsX2J5dGVzLAorICAgIHMuYmxrX3JlYWRfdGltZSwKKyAgICBzLmJsa193cml0ZV90 aW1lLAorICAgIHMuZGVsYXlfdGltZSwKKyAgICBzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBn X2NsYXNzIGMKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxu YW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMu b2lkKSBzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9i bGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Js a3NfaGl0LCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVuX3Bh Z2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz LCBtaXNzZWRfZGVhZF9wYWdlcywgdHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJl Y2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHdyYXBhcm91bmRfZmFp bHNhZmUsIGluZGV4X3ZhY3V1bV9jb3VudCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9i eXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFs X3RpbWUpCisgIFdIRVJFIChjLnJlbGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAn dCc6OiJjaGFyIiwgJ20nOjoiY2hhciJdKSk7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9y ZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApp bmRleCA5ZTVkMzMzNDJjOS4uNDY1NGE1MzZhZDYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0z MCw5ICszMCw5IEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCkgdmVzdGF0OwogLS0gTXVzdCBiZSBlbXB0eS4KIFNFTEVDVCAqCiBGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKLSByZWxp ZCB8IHNjaGVtYW5hbWUgfCByZWxuYW1lIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxr c19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxf Ymxrc19yZWFkIHwgcmVsX2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxl dGVkIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGlt ZSB8IGJsa193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8IHRvdGFsX3RpbWUgCi0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorV0hFUkUgdnQu aW5kZXhyZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsaWQgfCBpbmRleHJlbGlkIHwgc2NoZW1h bmFtZSB8IHJlbG5hbWUgfCBpbmRleHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3Rh bF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8 IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVh ZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQogKDAgcm93cykKIAogUkVTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7CkBAIC01NSwxMiArNTUsMTIgQEAgQU5BTFlaRSB2ZXN0YXQ7CiBTRUxF Q1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAogREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKIC0tIEJl Zm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlz IGVtcHR5LgotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxl dGVkLHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBn X2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxp ZCA9IGMub2lkOwotICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwg dHVwbGVzX2RlbGV0ZWQgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0KLSB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAg ICAgICAgMCB8ICAgICAgICAgICAgICAwCitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwg cmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVz dGF0X3BrZXkgIHwgICAgICAgMzAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAK ICgxIHJvdykKIAogU0VMRUNUIHJlbHBhZ2VzIEFTIGlycApAQCAtNzIsMjIgKzcyLDIyIEBA IENIRUNLUE9JTlQ7CiAtLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBz dGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKIC0tIHZhY3V1bSBmcm96ZWQgcGFnZXMg YW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUK IC0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCi1TRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVk ID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVs ZXRlZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVk ID4gMCBBUyB0dXBsZXNfZGVsZXRlZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCi1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKLSAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFnZXMg fCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkg IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCi1TRUxFQ1QgdnQu cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2Rl bGV0ZWQgQVMgaXRkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxw YWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKK1dIRVJFIHZ0LmluZGV4 cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZCBcZ3Nl dAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3Jl Y29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkg QVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRh cy4KIFNFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBk aVdCCi1GUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleSc7CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JzsKICBkaXdyIHwgZGl3YiAKIC0tLS0tLSstLS0tLS0KICB0 ICAgIHwgdApAQCAtOTgsMjAgKzk4LDIwIEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVS X1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OwogLS0gaXQgaXMg bmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwogQ0hFQ0tQT0lOVDsKIC0t IHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKLVNFTEVDVCB2dC5yZWxuYW1lLHJl bHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMg cGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7Ci0gICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2Vz X2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQotIHZlc3RhdF9wa2V5IHwgdCAgICAg ICAgfCB0ICAgICAgICAgICAgIHwgdAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQuaW5kZXhyZWxpZCA9IGMub2lkOworIGluZGV4cmVsbmFtZSB8IHJl bHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3Rh dF9wa2V5ICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAotU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1 cGxlc19kZWxldGVkIEFTIGl0ZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2 dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5v aWQgXGdzZXQKIC0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwogU0VMRUNU IHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2Fs X2ZwaS06aWZwaSBBUyBkaWZwaQotRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogLS0gV0FM IGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdS LCA6ZGl3YiA+IDAgQVMgZGlXQjsKICBkaXdyIHwgZGl3YiAKQEAgLTEyMCw3ICsxMjAsNyBA QCBTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOwogKDEgcm93 KQogCiAtLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKLVNFTEVDVCB3YWxf cmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHgg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBERUxFVEUgRlJP TSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOwogLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBv cnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRp c3RpY3MKQEAgLTEzMCw3ICsxMzAsNyBAQCBWQUNVVU0gRlVMTCB2ZXN0YXQ7CiBDSEVDS1BP SU5UOwogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCiBTRUxFQ1Qgd2Fs X3JlY29yZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9m cGktOmlmcGkgQVMgZGlmcGkyCi1GUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CiAtLSBXQUwg YW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgog U0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBB UyBkaVdCOwogIGRpd3IgfCBpZnBpIHwgZGl3YiAKQEAgLTEzOCwxOSArMTM4LDE5IEBAIFNF TEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMg ZGlXQjsKICB0ICAgIHwgdCAgICB8IHQKICgxIHJvdykKIAotU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBB UyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxl dGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBh Z2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVs ZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIHZ0LCBwZ19jbGFzcyBjCi1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKLSAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFn ZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAg ICAgICB8IHQgICAgICAgICAgICAgfCB0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwg cmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVz dGF0X3BrZXkgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCi1T RUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQs dHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2Vz IEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKK1dIRVJF IHZ0LmluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBj Lm9pZCBcZ3NldAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxF Q1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBp IEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdi LHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5k ZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogREVMRVRFIEZST00gdmVzdGF0Owog VFJVTkNBVEUgdmVzdGF0OwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CkBAIC0xNTgsNyArMTU4LDcgQEAg VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CiBDSEVDS1BPSU5UOwogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUK IFNFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBk aXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKLUZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdz ZXQKIC0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAogU0VMRUNUIDpkaXdyMz0wIEFTIGRp V1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwogIGRpd3IgfCBpZnBp IHwgZGl3YiAKQEAgLTE3MSwxMiArMTcxLDEyIEBAIFNFTEVDVCA6ZGl3cjM9MCBBUyBkaVdS LCA6ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKIC0tIGluIHZhY3V1bSBl eHRlbmRlZCBzdGF0aXN0aWNzLgogLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5l ZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKIC0tCi1TRUxFQ1QgdnQucmVsbmFtZSxy ZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFT IHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0 ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFn ZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxl dGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOwotICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdl c19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KLSB2ZXN0YXRfcGtleSB8IGYgICAg ICAgIHwgdCAgICAgICAgICAgICB8IHQKK1dIRVJFIHZ0LmluZGV4cmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZDsKKyBpbmRleHJlbG5hbWUgfCBy ZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0 YXRfcGtleSAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERS T1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFj dXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X2luZGV4X3N0YXRpc3RpY3Muc3FsCmluZGV4IDliN2U2NDUxODdkLi41N2U1NDIwYjliNiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0 aWNzLnNxbApAQCAtMjcsNyArMjcsNyBAQCBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKIC0tIE11c3QgYmUgZW1wdHkuCiBTRUxFQ1QgKgog RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0Ci1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdCc7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpAQCAt NDksOSArNDksOSBAQCBTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSBy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0YXQgV0hF UkUgeCAlIDIgPSAwOwogLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4 dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdl cyxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1l LHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CiBTRUxFQ1QgcmVs cGFnZXMgQVMgaXJwCiBGUk9NIHBnX2NsYXNzIGMKIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CkBAIC02MywxOSArNjMsMTkgQEAgQ0hFQ0tQT0lOVDsKIC0tIFRoZSB0 YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cg dXMgdGhhdAogLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1 dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQogLS0gYmVjYXVzZSBvZiBub3QgZnVs bCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTpp cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQs dHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhy ZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAw IEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVk CiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxl c19kZWxldGVkIEFTIGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQuaW5kZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxy ZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMg aXRkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0 CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJl bGlkID0gYy5vaWQgXGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCi1TRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0 ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiAtLSBMb29rIGlu dG8gV0FMIHJlY29yZHMgZGVsdGFzLgogU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdS LCB3YWxfYnl0ZXMgPiAwIEFTIGRpV0IKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOwogCiBERUxFVEUgRlJP TSB2ZXN0YXQ7OwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CkBAIC04MywyMiArODMsMjIgQEAgVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9O KSB2ZXN0YXQ7CiBDSEVDS1BPSU5UOwogCiAtLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5j cmVhc2VkCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUs cmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBB UyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxl dGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1 cGxlc19kZWxldGVkIEFTIGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQuaW5kZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFt ZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQg QVMgaXRkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRl eHJlbGlkID0gYy5vaWQgXGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzCiBTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3 YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCi1GUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IFxnc2V0CiAKIC0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KIFNFTEVDVCA6 ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CiAKIC0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwotU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxf Ynl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKIAogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2Vy aWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHgg JSAyID0gMDsKQEAgLTExMCwyMCArMTEwLDIwIEBAIENIRUNLUE9JTlQ7CiAKIC0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwogU0VMRUNUIHdhbF9yZWNvcmRzLTppd3Ig QVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRp ZnBpMgotRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5k ZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiAtLSBXQUwgYW5kIG90aGVyIHN0 YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdy Mj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOwogCi1T RUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19k ZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9 IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMt OmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxl dGVkIEFTIGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQg dnQuaW5kZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdl cyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVS RSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0g Yy5vaWQgXGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1T RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBp ZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMg aXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg aW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0 YXQ7CiBUUlVOQ0FURSB2ZXN0YXQ7CkBAIC0xMzMsNyArMTMzLDcgQEAgQ0hFQ0tQT0lOVDsK IAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5n IGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKIFNFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFT IGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZw aTMKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIGluZGV4 cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKIAogLS1UaGVyZSBhcmUgbm90aGluZyBj aGFuZ2VkCiBTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpk aXdiMz0wIEFTIGRpV0I7CkBAIC0xNDMsOSArMTQzLDkgQEAgU0VMRUNUIDpkaXdyMz0wIEFT IGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwogLS0gaW4gdmFj dXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCiAtLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19z Y2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAogLS0KLVNFTEVDVCB2dC5yZWxu YW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9 IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNf ZGVsZXRlZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyBy ZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CiAKIERST1AgVEFCTEUg dmVzdGF0OwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7Ci0tIAoyLjM0LjEKCg== --------------5Kc0GU08zEzK9SIJkm1qWMn6 Content-Type: text/x-patch; charset=UTF-8; name="v24-0005-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v24-0005-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxYTdiZTNmZTFlMTIzMmM4MDBlMWMyMDIxMGUyN2MyMjc5MTU1ZDNiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNS81XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA0MTg3MTkxZWE3NC4uMTgz ZmIwYmZjZTMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU1NDUsNCArNTU0NSw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------5Kc0GU08zEzK9SIJkm1qWMn6--