Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:36042 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 80146 invoked from network); 7 Mar 2008 11:36:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Mar 2008 11:36:51 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.162] ([212.25.124.162:50423] helo=mx1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 31/EC-16577-1D821D74 for ; Fri, 07 Mar 2008 06:36:51 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C88047.9127C3B9" Date: Fri, 7 Mar 2008 13:36:58 +0200 Message-ID: <06B0D32C7A96544490D18AF653D6BDE50261887F@il-ex1.zend.net> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [PHP-DEV] Patch for opcode caches Thread-Index: AciAPmRWrO+A3GFlQoi8hqQ8aWNmsgACN+3w To: "Derick Rethans" Cc: "internals Mailing List" , "Andi Gutmans" , "Stas Malyshev" , "phpxcache" Subject: RE: [PHP-DEV] Patch for opcode caches From: dmitry@zend.com ("Dmitry Stogov") ------_=_NextPart_001_01C88047.9127C3B9 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Derick Rethans [mailto:derick@php.net]=20 > Sent: Friday, March 07, 2008 1:31 PM > To: Dmitry Stogov > Cc: internals Mailing List; Andi Gutmans; Stas Malyshev; phpxcache > Subject: Re: [PHP-DEV] Patch for opcode caches >=20 >=20 > On Fri, 7 Mar 2008, Dmitry Stogov wrote: >=20 > > The attached patch for PHP_5_3 is going to provide general=20 > solution to=20 > > control some aspects of PHP compilation. It is absolutely necessary=20 > > for all opcode caches to make cached scripts work exactly=20 > in the same=20 > > way as non-cached. >=20 > There's no attached patch. >=20 > regards, > Derick > --=20 > Derick Rethans > http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org >=20 ------_=_NextPart_001_01C88047.9127C3B9 Content-Type: text/plain; name="delayed_early_binding-5.diff.txt" Content-Transfer-Encoding: base64 Content-Description: delayed_early_binding-5.diff.txt Content-Disposition: attachment; filename="delayed_early_binding-5.diff.txt" SW5kZXg6IFplbmQvemVuZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5L1plbmRF bmdpbmUyL3plbmQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMDguMi4xMi4yLjM1LjIuOQpk aWZmIC11IC1wIC1kIC1yMS4zMDguMi4xMi4yLjM1LjIuOSB6ZW5kLmMKLS0tIFplbmQvemVuZC5j CTUgTWFyIDIwMDggMTM6MzQ6MTIgLTAwMDAJMS4zMDguMi4xMi4yLjM1LjIuOQorKysgWmVuZC96 ZW5kLmMJNyBNYXIgMjAwOCAxMTozNDoxNCAtMDAwMApAQCAtNDQ2LDE1ICs0NDYsMTUgQEAgc3Rh dGljIHZvaWQgcmVnaXN0ZXJfc3RhbmRhcmRfY2xhc3MoVFNSTQogLyogfX19ICovCiAKICNpZmRl ZiBaVFMKLXN0YXRpYyB6ZW5kX2Jvb2wgYXNwX3RhZ3NfZGVmYXVsdAkJPSAwOwotc3RhdGljIHpl bmRfYm9vbCBzaG9ydF90YWdzX2RlZmF1bHQJCT0gMTsKLXN0YXRpYyB6ZW5kX2Jvb2wgY3RfcGFz c19yZWZfZGVmYXVsdAk9IDE7Ci1zdGF0aWMgemVuZF9ib29sIGV4dGVuZGVkX2luZm9fZGVmYXVs dAk9IDA7CitzdGF0aWMgemVuZF9ib29sIGFzcF90YWdzX2RlZmF1bHQJCSAgPSAwOworc3RhdGlj IHplbmRfYm9vbCBzaG9ydF90YWdzX2RlZmF1bHQJCSAgPSAxOworc3RhdGljIHplbmRfYm9vbCBj dF9wYXNzX3JlZl9kZWZhdWx0CSAgPSAxOworc3RhdGljIHplbmRfdWludCBjb21waWxlcl9vcHRp b25zX2RlZmF1bHQgPSBaRU5EX0NPTVBJTEVfREVGQVVMVDsKICNlbHNlCi0jIGRlZmluZSBhc3Bf dGFnc19kZWZhdWx0CQkwCi0jIGRlZmluZSBzaG9ydF90YWdzX2RlZmF1bHQJCTEKLSMgZGVmaW5l IGN0X3Bhc3NfcmVmX2RlZmF1bHQJMQotIyBkZWZpbmUgZXh0ZW5kZWRfaW5mb19kZWZhdWx0CTAK KyMgZGVmaW5lIGFzcF90YWdzX2RlZmF1bHQJCQkwCisjIGRlZmluZSBzaG9ydF90YWdzX2RlZmF1 bHQJCQkxCisjIGRlZmluZSBjdF9wYXNzX3JlZl9kZWZhdWx0CQkxCisjIGRlZmluZSBjb21waWxl cl9vcHRpb25zX2RlZmF1bHQJWkVORF9DT01QSUxFX0RFRkFVTFQKICNlbmRpZgogCiBzdGF0aWMg dm9pZCB6ZW5kX3NldF9kZWZhdWx0X2NvbXBpbGVfdGltZV92YWx1ZXMoVFNSTUxTX0QpIC8qIHt7 eyAqLwpAQCAtNDYzLDcgKzQ2Myw3IEBAIHN0YXRpYyB2b2lkIHplbmRfc2V0X2RlZmF1bHRfY29t cGlsZV90aW0KIAlDRyhhc3BfdGFncykgPSBhc3BfdGFnc19kZWZhdWx0OwogCUNHKHNob3J0X3Rh Z3MpID0gc2hvcnRfdGFnc19kZWZhdWx0OwogCUNHKGFsbG93X2NhbGxfdGltZV9wYXNzX3JlZmVy ZW5jZSkgPSBjdF9wYXNzX3JlZl9kZWZhdWx0OwotCUNHKGV4dGVuZGVkX2luZm8pID0gZXh0ZW5k ZWRfaW5mb19kZWZhdWx0OworCUNHKGNvbXBpbGVyX29wdGlvbnMpID0gY29tcGlsZXJfb3B0aW9u c19kZWZhdWx0OwogfQogLyogfX19ICovCiAKQEAgLTcyOCw3ICs3MjgsNyBAQCB2b2lkIHplbmRf cG9zdF9zdGFydHVwKFRTUk1MU19EKSAvKiB7e3sgCiAJYXNwX3RhZ3NfZGVmYXVsdCA9IENHKGFz cF90YWdzKTsKIAlzaG9ydF90YWdzX2RlZmF1bHQgPSBDRyhzaG9ydF90YWdzKTsKIAljdF9wYXNz X3JlZl9kZWZhdWx0ID0gQ0coYWxsb3dfY2FsbF90aW1lX3Bhc3NfcmVmZXJlbmNlKTsKLQlleHRl bmRlZF9pbmZvX2RlZmF1bHQgPSBDRyhleHRlbmRlZF9pbmZvKTsKKwljb21waWxlcl9vcHRpb25z X2RlZmF1bHQgPSBDRyhjb21waWxlcl9vcHRpb25zKTsKIAogCXplbmRfZGVzdHJveV9yc3JjX2xp c3QoJkVHKHBlcnNpc3RlbnRfbGlzdCkgVFNSTUxTX0NDKTsKIAlmcmVlKGNvbXBpbGVyX2dsb2Jh bHMtPmZ1bmN0aW9uX3RhYmxlKTsKSW5kZXg6IFplbmQvemVuZF9jb21waWxlLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9jb21waWxlLmMsdgpyZXRy aWV2aW5nIHJldmlzaW9uIDEuNjQ3LjIuMjcuMi40MS4yLjQ2CmRpZmYgLXUgLXAgLWQgLXIxLjY0 Ny4yLjI3LjIuNDEuMi40NiB6ZW5kX2NvbXBpbGUuYwotLS0gWmVuZC96ZW5kX2NvbXBpbGUuYwkz IE1hciAyMDA4IDE1OjA3OjA0IC0wMDAwCTEuNjQ3LjIuMjcuMi40MS4yLjQ2CisrKyBaZW5kL3pl bmRfY29tcGlsZS5jCTcgTWFyIDIwMDggMTE6MzQ6MTUgLTAwMDAKQEAgLTEzNyw3ICsxMzcsNiBA QCB2b2lkIHplbmRfaW5pdF9jb21waWxlcl9kYXRhX3N0cnVjdHVyZXMoCiAJemVuZF9sbGlzdF9p bml0KCZDRyhsaXN0X2xsaXN0KSwgc2l6ZW9mKGxpc3RfbGxpc3RfZWxlbWVudCksIE5VTEwsIDAp OwogCXplbmRfbGxpc3RfaW5pdCgmQ0coZGltZW5zaW9uX2xsaXN0KSwgc2l6ZW9mKGludCksIE5V TEwsIDApOwogCXplbmRfc3RhY2tfaW5pdCgmQ0cobGlzdF9zdGFjaykpOwotCUNHKGhhbmRsZV9v cF9hcnJheXMpID0gMTsKIAlDRyhpbl9jb21waWxhdGlvbikgPSAwOwogCUNHKHN0YXJ0X2xpbmVu bykgPSAwOwogCUNHKGN1cnJlbnRfbmFtZXNwYWNlKSA9IE5VTEw7CkBAIC0xMjU5LDcgKzEyNTgs NyBAQCB2b2lkIHplbmRfZG9fYmVnaW5fZnVuY3Rpb25fZGVjbGFyYXRpb24oCiAJCXplbmRfaGFz aF91cGRhdGUoQ0coZnVuY3Rpb25fdGFibGUpLCBvcGxpbmUtPm9wMS51LmNvbnN0YW50LnZhbHVl LnN0ci52YWwsIG9wbGluZS0+b3AxLnUuY29uc3RhbnQudmFsdWUuc3RyLmxlbiwgJm9wX2FycmF5 LCBzaXplb2YoemVuZF9vcF9hcnJheSksICh2b2lkICoqKSAmQ0coYWN0aXZlX29wX2FycmF5KSk7 CiAJfQogCi0JaWYgKENHKGV4dGVuZGVkX2luZm8pKSB7CisJaWYgKENHKGNvbXBpbGVyX29wdGlv bnMpICYgWkVORF9DT01QSUxFX0VYVEVOREVEX0lORk8pIHsKIAkJemVuZF9vcCAqb3BsaW5lID0g Z2V0X25leHRfb3AoQ0coYWN0aXZlX29wX2FycmF5KSBUU1JNTFNfQ0MpOwogCiAJCW9wbGluZS0+ b3Bjb2RlID0gWkVORF9FWFRfTk9QOwpAQCAtMTQzOCw3ICsxNDM3LDkgQEAgaW50IHplbmRfZG9f YmVnaW5fZnVuY3Rpb25fY2FsbCh6bm9kZSAqZgogCX0KIAkKIAlsY25hbWUgPSB6ZW5kX3N0cl90 b2xvd2VyX2R1cChmdW5jdGlvbl9uYW1lLT51LmNvbnN0YW50LnZhbHVlLnN0ci52YWwsIGZ1bmN0 aW9uX25hbWUtPnUuY29uc3RhbnQudmFsdWUuc3RyLmxlbik7Ci0JaWYgKHplbmRfaGFzaF9maW5k KENHKGZ1bmN0aW9uX3RhYmxlKSwgbGNuYW1lLCBmdW5jdGlvbl9uYW1lLT51LmNvbnN0YW50LnZh bHVlLnN0ci5sZW4rMSwgKHZvaWQgKiopICZmdW5jdGlvbik9PUZBSUxVUkUpIHsKKwlpZiAoKHpl bmRfaGFzaF9maW5kKENHKGZ1bmN0aW9uX3RhYmxlKSwgbGNuYW1lLCBmdW5jdGlvbl9uYW1lLT51 LmNvbnN0YW50LnZhbHVlLnN0ci5sZW4rMSwgKHZvaWQgKiopICZmdW5jdGlvbik9PUZBSUxVUkUp IHx8CisJCSgoQ0coY29tcGlsZXJfb3B0aW9ucykgJiBaRU5EX0NPTVBJTEVfSUdOT1JFX0lOVEVS TkFMX0ZVTkNUSU9OUykgJiYKKwkJIChmdW5jdGlvbi0+dHlwZSA9PSBaRU5EX0lOVEVSTkFMX0ZV TkNUSU9OKSkpIHsKIAkJemVuZF9kb19iZWdpbl9keW5hbWljX2Z1bmN0aW9uX2NhbGwoZnVuY3Rp b25fbmFtZSwgcHJlZml4X2xlbiBUU1JNTFNfQ0MpOwogCQllZnJlZShsY25hbWUpOwogCQlyZXR1 cm4gMTsgLyogRHluYW1pYyAqLwpAQCAtMTQ0NiwyMCArMTQ0Nyw3IEBAIGludCB6ZW5kX2RvX2Jl Z2luX2Z1bmN0aW9uX2NhbGwoem5vZGUgKmYKIAllZnJlZShmdW5jdGlvbl9uYW1lLT51LmNvbnN0 YW50LnZhbHVlLnN0ci52YWwpOwogCWZ1bmN0aW9uX25hbWUtPnUuY29uc3RhbnQudmFsdWUuc3Ry LnZhbCA9IGxjbmFtZTsKIAkKLQlzd2l0Y2ggKGZ1bmN0aW9uLT50eXBlKSB7Ci0JCWNhc2UgWkVO RF9VU0VSX0ZVTkNUSU9OOgl7Ci0JCQkJemVuZF9vcF9hcnJheSAqb3BfYXJyYXkgPSAoemVuZF9v cF9hcnJheSAqKSBmdW5jdGlvbjsKLQotCQkJCXplbmRfc3RhY2tfcHVzaCgmQ0coZnVuY3Rpb25f Y2FsbF9zdGFjayksICh2b2lkICopICZvcF9hcnJheSwgc2l6ZW9mKHplbmRfZnVuY3Rpb24gKikp OwotCQkJfQotCQkJYnJlYWs7Ci0JCWNhc2UgWkVORF9JTlRFUk5BTF9GVU5DVElPTjogewotCQkJ CXplbmRfaW50ZXJuYWxfZnVuY3Rpb24gKmludGVybmFsX2Z1bmN0aW9uID0gKHplbmRfaW50ZXJu YWxfZnVuY3Rpb24gKikgZnVuY3Rpb247Ci0KLQkJCQl6ZW5kX3N0YWNrX3B1c2goJkNHKGZ1bmN0 aW9uX2NhbGxfc3RhY2spLCAodm9pZCAqKSAmaW50ZXJuYWxfZnVuY3Rpb24sIHNpemVvZih6ZW5k X2Z1bmN0aW9uICopKTsKLQkJCX0KLQkJCWJyZWFrOwotCX0KKwl6ZW5kX3N0YWNrX3B1c2goJkNH KGZ1bmN0aW9uX2NhbGxfc3RhY2spLCAodm9pZCAqKSAmZnVuY3Rpb24sIHNpemVvZih6ZW5kX2Z1 bmN0aW9uICopKTsKIAl6ZW5kX2RvX2V4dGVuZGVkX2ZjYWxsX2JlZ2luKFRTUk1MU19DKTsKIAly ZXR1cm4gMDsKIH0KQEAgLTE2MzQsOCArMTYyMiw5IEBAIHZvaWQgemVuZF9yZXNvbHZlX2NsYXNz X25hbWUoem5vZGUgKmNsYXMKIAkJCQllZnJlZShuc19sY25hbWUpOwogCQkJfQogCi0JCQlpZiAo emVuZF9oYXNoX2ZpbmQoQ0coY2xhc3NfdGFibGUpLCBsY25hbWUsIFpfU1RSTEVOKGNsYXNzX25h bWUtPnUuY29uc3RhbnQpKzEsICh2b2lkKiopJnBjZSkgPT0gU1VDQ0VTUyAmJgotCQkJICAgICgq cGNlKS0+dHlwZSA9PSBaRU5EX0lOVEVSTkFMX0NMQVNTKSB7CisJCQlpZiAoKENHKGNvbXBpbGVy X29wdGlvbnMpICYgWkVORF9DT01QSUxFX0lHTk9SRV9JTlRFUk5BTF9DTEFTU0VTKSB8fAorCQkJ ICAgICh6ZW5kX2hhc2hfZmluZChDRyhjbGFzc190YWJsZSksIGxjbmFtZSwgWl9TVFJMRU4oY2xh c3NfbmFtZS0+dS5jb25zdGFudCkrMSwgKHZvaWQqKikmcGNlKSA9PSBTVUNDRVNTICYmCisJCQkg ICAgKCpwY2UpLT50eXBlID09IFpFTkRfSU5URVJOQUxfQ0xBU1MpKSB7CiAJCQkgICAgLyogVGhl cmUgaXMgYW4gaW50ZXJuYWwgY2xhc3Mgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cy4KIAkJCSAg ICAgICBQSFAgd2lsbCBuZWVkIHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVrcyBhdCBydW4tdGlt ZSB0bwogCQkJICAgICAgIGRldGVybWluZSBpZiB3ZSBhc3N1bWUgY2xhc3MgaW4gY3VycmVudCBu YW1lc3BhY2Ugb3IKQEAgLTI1ODgsNyArMjU3Nyw3IEBAIFpFTkRfQVBJIHZvaWQgemVuZF9kb19p bmhlcml0YW5jZSh6ZW5kX2MKIAogCWlmIChjZS0+Y2VfZmxhZ3MgJiBaRU5EX0FDQ19JTVBMSUNJ VF9BQlNUUkFDVF9DTEFTUyAmJiBjZS0+dHlwZSA9PSBaRU5EX0lOVEVSTkFMX0NMQVNTKSB7CiAJ CWNlLT5jZV9mbGFncyB8PSBaRU5EX0FDQ19FWFBMSUNJVF9BQlNUUkFDVF9DTEFTUzsKLQl9IGVs c2UgeworCX0gZWxzZSBpZiAoIShjZS0+Y2VfZmxhZ3MgJiBaRU5EX0FDQ19JTVBMRU1FTlRfSU5U RVJGQUNFUykpIHsKIAkJemVuZF92ZXJpZnlfYWJzdHJhY3RfY2xhc3MoY2UgVFNSTUxTX0NDKTsK IAl9CiB9CkBAIC0yNzAwLDcgKzI2ODksNyBAQCBaRU5EX0FQSSB6ZW5kX2NsYXNzX2VudHJ5ICpk b19iaW5kX2NsYXNzCiAJCX0KIAkJcmV0dXJuIE5VTEw7CiAJfSBlbHNlIHsKLQkJaWYgKCEoY2Ut PmNlX2ZsYWdzICYgWkVORF9BQ0NfSU5URVJGQUNFKSkgeworCQlpZiAoIShjZS0+Y2VfZmxhZ3Mg JiAoWkVORF9BQ0NfSU5URVJGQUNFfFpFTkRfQUNDX0lNUExFTUVOVF9JTlRFUkZBQ0VTKSkpIHsK IAkJCXplbmRfdmVyaWZ5X2Fic3RyYWN0X2NsYXNzKGNlIFRTUk1MU19DQyk7CiAJCX0KIAkJcmV0 dXJuIGNlOwpAQCAtMjc1Niw3ICsyNzQ1LDYgQEAgdm9pZCB6ZW5kX2RvX2Vhcmx5X2JpbmRpbmco VFNSTUxTX0QpCiB7CiAJemVuZF9vcCAqb3BsaW5lID0gJkNHKGFjdGl2ZV9vcF9hcnJheSktPm9w Y29kZXNbQ0coYWN0aXZlX29wX2FycmF5KS0+bGFzdC0xXTsKIAlIYXNoVGFibGUgKnRhYmxlOwot CXplbmRfYm9vbCBpc19hYnN0cmFjdF9jbGFzcyA9IDA7CiAKIAl3aGlsZSAob3BsaW5lLT5vcGNv ZGUgPT0gWkVORF9USUNLUyAmJiBvcGxpbmUgPiBDRyhhY3RpdmVfb3BfYXJyYXkpLT5vcGNvZGVz KSB7CiAJCW9wbGluZS0tOwpAQCAtMjc3MCw1NyArMjc1OCw0OSBAQCB2b2lkIHplbmRfZG9fZWFy bHlfYmluZGluZyhUU1JNTFNfRCkKIAkJCXRhYmxlID0gQ0coZnVuY3Rpb25fdGFibGUpOwogCQkJ YnJlYWs7CiAJCWNhc2UgWkVORF9ERUNMQVJFX0NMQVNTOgorCQkJaWYgKGRvX2JpbmRfY2xhc3Mo b3BsaW5lLCBDRyhjbGFzc190YWJsZSksIDEgVFNSTUxTX0NDKSA9PSBOVUxMKSB7CisJCQkJcmV0 dXJuOworCQkJfQorCQkJdGFibGUgPSBDRyhjbGFzc190YWJsZSk7CisJCQlicmVhazsKIAkJY2Fz ZSBaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTOgotCQkJaXNfYWJzdHJhY3RfY2xhc3MgPSAx OwotCQkJLyogYnJlYWsgbWlzc2luZyBpbnRlbnRpb25hbGx5ICovCi0JCWNhc2UgWkVORF9WRVJJ RllfQUJTVFJBQ1RfQ0xBU1M6IHsKLQkJCQl6ZW5kX29wICp2ZXJpZnlfYWJzdHJhY3RfY2xhc3Nf b3AgPSBvcGxpbmU7Ci0KLQkJCQlpZiAoIWlzX2Fic3RyYWN0X2NsYXNzKSB7Ci0JCQkJCW9wbGlu ZS0tOwotCQkJCX0KLQkJCQlpZiAob3BsaW5lLT5vcGNvZGUgPT0gWkVORF9ERUNMQVJFX0NMQVNT KSB7Ci0JCQkJCWlmIChkb19iaW5kX2NsYXNzKG9wbGluZSwgQ0coY2xhc3NfdGFibGUpLCAxIFRT Uk1MU19DQykgPT0gTlVMTCkgewotCQkJCQkJcmV0dXJuOwotCQkJCQl9Ci0JCQkJfSBlbHNlIGlm IChvcGxpbmUtPm9wY29kZSA9PSBaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTKSB7Ci0JCQkJ CXp2YWwgKnBhcmVudF9uYW1lID0gJihvcGxpbmUtMSktPm9wMi51LmNvbnN0YW50OwotCQkJCQl6 ZW5kX2NsYXNzX2VudHJ5ICoqcGNlOworCQkJeworCQkJCXplbmRfb3AgKmZldGNoX2NsYXNzX29w bGluZSA9IG9wbGluZS0xOworCQkJCXp2YWwgKnBhcmVudF9uYW1lID0gJmZldGNoX2NsYXNzX29w bGluZS0+b3AyLnUuY29uc3RhbnQ7CisJCQkJemVuZF9jbGFzc19lbnRyeSAqKnBjZTsKIAotCQkJ CQlpZiAoemVuZF9sb29rdXBfY2xhc3MoWl9TVFJWQUxfUChwYXJlbnRfbmFtZSksIFpfU1RSTEVO X1AocGFyZW50X25hbWUpLCAmcGNlIFRTUk1MU19DQykgPT0gRkFJTFVSRSkgewotCQkJCQkJcmV0 dXJuOwotCQkJCQl9Ci0JCQkJCWlmIChkb19iaW5kX2luaGVyaXRlZF9jbGFzcyhvcGxpbmUsIENH KGNsYXNzX3RhYmxlKSwgKnBjZSwgMSBUU1JNTFNfQ0MpID09IE5VTEwpIHsKLQkJCQkJCXJldHVy bjsKLQkJCQkJfQotCQkJCQkvKiBjbGVhciB1bm5lY2Vzc2FyeSBaRU5EX0ZFVENIX0NMQVNTIG9w Y29kZSAqLwotCQkJCQlpZiAob3BsaW5lID4gQ0coYWN0aXZlX29wX2FycmF5KS0+b3Bjb2RlcyAm JgotCQkJCQkgICAgKG9wbGluZS0xKS0+b3Bjb2RlID09IFpFTkRfRkVUQ0hfQ0xBU1MpIHsKLQkJ CQkJICB6ZW5kX29wICpmZXRjaF9jbGFzc19vcGxpbmUgPSBvcGxpbmUtMTsKKwkJCQlpZiAoKHpl bmRfbG9va3VwX2NsYXNzKFpfU1RSVkFMX1AocGFyZW50X25hbWUpLCBaX1NUUkxFTl9QKHBhcmVu dF9uYW1lKSwgJnBjZSBUU1JNTFNfQ0MpID09IEZBSUxVUkUpIHx8CisJCQkJICAgICgoQ0coY29t cGlsZXJfb3B0aW9ucykgJiBaRU5EX0NPTVBJTEVfSUdOT1JFX0lOVEVSTkFMX0NMQVNTRVMpICYm CisJCQkJICAgICAoKCpwY2UpLT50eXBlID09IFpFTkRfSU5URVJOQUxfQ0xBU1MpKSkgeworCQkJ CSAgICBpZiAoQ0coY29tcGlsZXJfb3B0aW9ucykgJiBaRU5EX0NPTVBJTEVfREVMQVlFRF9CSU5E SU5HKSB7CisJCQkJCQl6ZW5kX3VpbnQgKm9wbGluZV9udW0gPSAmQ0coYWN0aXZlX29wX2FycmF5 KS0+ZWFybHlfYmluZGluZzsKIAotCQkJCQkJenZhbF9kdG9yKCZmZXRjaF9jbGFzc19vcGxpbmUt Pm9wMi51LmNvbnN0YW50KTsKLQkJCQkJCWZldGNoX2NsYXNzX29wbGluZS0+b3Bjb2RlID0gWkVO RF9OT1A7Ci0JCQkJCQltZW1zZXQoJmZldGNoX2NsYXNzX29wbGluZS0+b3AxLCAwLCBzaXplb2Yo em5vZGUpKTsKLQkJCQkJCW1lbXNldCgmZmV0Y2hfY2xhc3Nfb3BsaW5lLT5vcDIsIDAsIHNpemVv Zih6bm9kZSkpOwotCQkJCQkJU0VUX1VOVVNFRChmZXRjaF9jbGFzc19vcGxpbmUtPm9wMSk7Ci0J CQkJCQlTRVRfVU5VU0VEKGZldGNoX2NsYXNzX29wbGluZS0+b3AyKTsKLQkJCQkJCVNFVF9VTlVT RUQoZmV0Y2hfY2xhc3Nfb3BsaW5lLT5yZXN1bHQpOworCQkJCQkJd2hpbGUgKCpvcGxpbmVfbnVt ICE9IC0xKSB7CisJCQkJCQkJb3BsaW5lX251bSA9ICZDRyhhY3RpdmVfb3BfYXJyYXkpLT5vcGNv ZGVzWypvcGxpbmVfbnVtXS5yZXN1bHQudS5vcGxpbmVfbnVtOworCQkJCQkJfQorCQkJCQkJKm9w bGluZV9udW0gPSBvcGxpbmUgLSBDRyhhY3RpdmVfb3BfYXJyYXkpLT5vcGNvZGVzOworCQkJCQkJ b3BsaW5lLT5vcGNvZGUgPSBaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRUQ7CisJ CQkJCQlvcGxpbmUtPnJlc3VsdC5vcF90eXBlID0gSVNfVU5VU0VEOworCQkJCQkJb3BsaW5lLT5y ZXN1bHQudS5vcGxpbmVfbnVtID0gLTE7CiAJCQkJCX0KLQkJCQl9IGVsc2UgewotCQkJCQkvKiBX ZSBjdXJyZW50bHkgZG9uJ3QgZWFybHktYmluZCBjbGFzc2VzIHRoYXQgaW1wbGVtZW50IGludGVy ZmFjZXMgKi8KIAkJCQkJcmV0dXJuOwogCQkJCX0KLQkJCQl0YWJsZSA9IENHKGNsYXNzX3RhYmxl KTsKLQkJCQlpZiAoIWlzX2Fic3RyYWN0X2NsYXNzKSB7Ci0JCQkJCS8qIGNsZWFyIHRoZSB2ZXJp ZnlfYWJzdHJhY3RfY2xhc3Mgb3AgKi8KLQkJCQkJaW5pdF9vcCh2ZXJpZnlfYWJzdHJhY3RfY2xh c3Nfb3AgVFNSTUxTX0NDKTsKLQkJCQkJU0VUX1VOVVNFRCh2ZXJpZnlfYWJzdHJhY3RfY2xhc3Nf b3AtPm9wMSk7Ci0JCQkJCVNFVF9VTlVTRUQodmVyaWZ5X2Fic3RyYWN0X2NsYXNzX29wLT5vcDIp OwotCQkJCQl2ZXJpZnlfYWJzdHJhY3RfY2xhc3Nfb3AtPm9wY29kZSA9IFpFTkRfTk9QOworCQkJ CWlmIChkb19iaW5kX2luaGVyaXRlZF9jbGFzcyhvcGxpbmUsIENHKGNsYXNzX3RhYmxlKSwgKnBj ZSwgMSBUU1JNTFNfQ0MpID09IE5VTEwpIHsKKwkJCQkJcmV0dXJuOwogCQkJCX0KLQkJCX0KKwkJ CQkvKiBjbGVhciB1bm5lY2Vzc2FyeSBaRU5EX0ZFVENIX0NMQVNTIG9wY29kZSAqLworCQkJCXp2 YWxfZHRvcigmZmV0Y2hfY2xhc3Nfb3BsaW5lLT5vcDIudS5jb25zdGFudCk7CisJCQkJZmV0Y2hf Y2xhc3Nfb3BsaW5lLT5vcGNvZGUgPSBaRU5EX05PUDsKKwkJCQltZW1zZXQoJmZldGNoX2NsYXNz X29wbGluZS0+b3AxLCAwLCBzaXplb2Yoem5vZGUpKTsKKwkJCQltZW1zZXQoJmZldGNoX2NsYXNz X29wbGluZS0+b3AyLCAwLCBzaXplb2Yoem5vZGUpKTsKKwkJCQlTRVRfVU5VU0VEKGZldGNoX2Ns YXNzX29wbGluZS0+b3AxKTsKKwkJCQlTRVRfVU5VU0VEKGZldGNoX2NsYXNzX29wbGluZS0+b3Ay KTsKKwkJCQlTRVRfVU5VU0VEKGZldGNoX2NsYXNzX29wbGluZS0+cmVzdWx0KTsKIAotCQkJYnJl YWs7CisJCQkJdGFibGUgPSBDRyhjbGFzc190YWJsZSk7CisJCQkJYnJlYWs7CisJCQl9CisJCWNh c2UgWkVORF9WRVJJRllfQUJTVFJBQ1RfQ0xBU1M6CiAJCWNhc2UgWkVORF9BRERfSU5URVJGQUNF OgogCQkJLyogV2UgY3VycmVudGx5IGRvbid0IGVhcmx5LWJpbmQgY2xhc3NlcyB0aGF0IGltcGxl bWVudCBpbnRlcmZhY2VzICovCiAJCQlyZXR1cm47CkBAIC0yODM5LDYgKzI4MTksMjMgQEAgdm9p ZCB6ZW5kX2RvX2Vhcmx5X2JpbmRpbmcoVFNSTUxTX0QpCiAJU0VUX1VOVVNFRChvcGxpbmUtPm9w Mik7CiB9CiAKK1pFTkRfQVBJIHZvaWQgemVuZF9kb19kZWxheWVkX2Vhcmx5X2JpbmRpbmcoemVu ZF9vcF9hcnJheSAqb3BfYXJyYXkgVFNSTUxTX0RDKQoreworCWlmIChvcF9hcnJheS0+ZWFybHlf YmluZGluZyAhPSAtMSkgeworCQl6ZW5kX2Jvb2wgb3JpZ19pbl9jb21waWxhdGlvbiA9IENHKGlu X2NvbXBpbGF0aW9uKTsKKwkJemVuZF91aW50IG9wbGluZV9udW0gPSBvcF9hcnJheS0+ZWFybHlf YmluZGluZzsKKwkJemVuZF9jbGFzc19lbnRyeSAqKnBjZTsKKworCQlDRyhpbl9jb21waWxhdGlv bikgPSAxOworCQl3aGlsZSAob3BsaW5lX251bSAhPSAtMSkgeworCQkJaWYgKHplbmRfbG9va3Vw X2NsYXNzKFpfU1RSVkFMKG9wX2FycmF5LT5vcGNvZGVzW29wbGluZV9udW0tMV0ub3AyLnUuY29u c3RhbnQpLCBaX1NUUkxFTihvcF9hcnJheS0+b3Bjb2Rlc1tvcGxpbmVfbnVtLTFdLm9wMi51LmNv bnN0YW50KSwgJnBjZSBUU1JNTFNfQ0MpID09IFNVQ0NFU1MpIHsKKwkJCQlkb19iaW5kX2luaGVy aXRlZF9jbGFzcygmb3BfYXJyYXktPm9wY29kZXNbb3BsaW5lX251bV0sIEVHKGNsYXNzX3RhYmxl KSwgKnBjZSwgMSBUU1JNTFNfQ0MpOworCQkJfQorCQkJb3BsaW5lX251bSA9IG9wX2FycmF5LT5v cGNvZGVzW29wbGluZV9udW1dLnJlc3VsdC51Lm9wbGluZV9udW07CisJCX0KKwkJQ0coaW5fY29t cGlsYXRpb24pID0gb3JpZ19pbl9jb21waWxhdGlvbjsKKwl9Cit9CiAKIHZvaWQgemVuZF9kb19i b29sZWFuX29yX2JlZ2luKHpub2RlICpleHByMSwgem5vZGUgKm9wX3Rva2VuIFRTUk1MU19EQykK IHsKQEAgLTMyMTEsNyArMzIwOCw3IEBAIHN0YXRpYyB2b2lkIGRvX3ZlcmlmeV9hYnN0cmFjdF9j bGFzcyhUU1IKIH0KIAogCi12b2lkIHplbmRfZG9fZW5kX2NsYXNzX2RlY2xhcmF0aW9uKHpub2Rl ICpjbGFzc190b2tlbiwgem5vZGUgKnBhcmVudF90b2tlbiBUU1JNTFNfREMpCit2b2lkIHplbmRf ZG9fZW5kX2NsYXNzX2RlY2xhcmF0aW9uKFRTUk1MU19EKQogewogCXplbmRfY2xhc3NfZW50cnkg KmNlID0gQ0coYWN0aXZlX2NsYXNzX2VudHJ5KTsKIApAQCAtMzIzOCw1NCArMzIzNSwzNiBAQCB2 b2lkIHplbmRfZG9fZW5kX2NsYXNzX2RlY2xhcmF0aW9uKHpub2RlCiAKIAljZS0+bGluZV9lbmQg PSB6ZW5kX2dldF9jb21waWxlZF9saW5lbm8oVFNSTUxTX0MpOwogCi0JaWYgKCEoY2UtPmNlX2Zs YWdzICYgKFpFTkRfQUNDX0lOVEVSRkFDRXxaRU5EX0FDQ19FWFBMSUNJVF9BQlNUUkFDVF9DTEFT UykpCi0JCSYmICgocGFyZW50X3Rva2VuLT5vcF90eXBlICE9IElTX1VOVVNFRCkgfHwgKGNlLT5u dW1faW50ZXJmYWNlcyA+IDApKSkgeworCWlmICghKGNlLT5jZV9mbGFncyAmIChaRU5EX0FDQ19J TlRFUkZBQ0V8WkVORF9BQ0NfRVhQTElDSVRfQUJTVFJBQ1RfQ0xBU1MpKSkgewogCQl6ZW5kX3Zl cmlmeV9hYnN0cmFjdF9jbGFzcyhjZSBUU1JNTFNfQ0MpOwotCQlpZiAoY2UtPnBhcmVudCB8fCBj ZS0+bnVtX2ludGVyZmFjZXMpIHsKKwkJaWYgKGNlLT5jZV9mbGFncyAmIFpFTkRfQUNDX0lNUExF TUVOVF9JTlRFUkZBQ0VTKSB7CiAJCQlkb192ZXJpZnlfYWJzdHJhY3RfY2xhc3MoVFNSTUxTX0Mp OwogCQl9CiAJfQotCS8qIEluaGVyaXQgaW50ZXJmYWNlczsgcmVzZXQgbnVtYmVyIHRvIHplcm8s IHdlIG5lZWQgaXQgZm9yIGFib3ZlIGNoZWNrIGFuZAotCSAqIHdpbGwgcmVzdG9yZSBpdCBkdXJp bmcgYWN0dWFsIGltcGxlbWVudGF0aW9uLiAqLwotCWlmIChjZS0+bnVtX2ludGVyZmFjZXMgPiAw KSB7Ci0JCWNlLT5pbnRlcmZhY2VzID0gTlVMTDsKLQkJY2UtPm51bV9pbnRlcmZhY2VzID0gMDsK LQl9CiAJQ0coYWN0aXZlX2NsYXNzX2VudHJ5KSA9IE5VTEw7CiB9CiAKIAogdm9pZCB6ZW5kX2Rv X2ltcGxlbWVudHNfaW50ZXJmYWNlKHpub2RlICppbnRlcmZhY2VfbmFtZSBUU1JNTFNfREMpCiB7 Ci0Jem5vZGUgaW50ZXJmYWNlX25vZGU7CiAJemVuZF9vcCAqb3BsaW5lOwogCi0JemVuZF9kb19m ZXRjaF9jbGFzcygmaW50ZXJmYWNlX25vZGUsIGludGVyZmFjZV9uYW1lIFRTUk1MU19DQyk7Ci0J c3dpdGNoIChpbnRlcmZhY2Vfbm9kZS51LkVBLnR5cGUpIHsKKwlzd2l0Y2ggKHplbmRfZ2V0X2Ns YXNzX2ZldGNoX3R5cGUoWl9TVFJWQUwoaW50ZXJmYWNlX25hbWUtPnUuY29uc3RhbnQpLCBaX1NU UkxFTihpbnRlcmZhY2VfbmFtZS0+dS5jb25zdGFudCkpKSB7CiAJCWNhc2UgWkVORF9GRVRDSF9D TEFTU19TRUxGOgotCQkJemVuZF9lcnJvcihFX0NPTVBJTEVfRVJST1IsICJDYW5ub3QgdXNlICdz ZWxmJyBhcyBpbnRlcmZhY2UgbmFtZSBhcyBpdCBpcyByZXNlcnZlZCIpOwotCQkJYnJlYWs7CiAJ CWNhc2UgWkVORF9GRVRDSF9DTEFTU19QQVJFTlQ6Ci0JCQl6ZW5kX2Vycm9yKEVfQ09NUElMRV9F UlJPUiwgIkNhbm5vdCB1c2UgJ3BhcmVudCcgYXMgaW50ZXJmYWNlIG5hbWUgYXMgaXQgaXMgcmVz ZXJ2ZWQiKTsKLQkJCWJyZWFrOwogCQljYXNlIFpFTkRfRkVUQ0hfQ0xBU1NfU1RBVElDOgotCQkJ emVuZF9lcnJvcihFX0NPTVBJTEVfRVJST1IsICJDYW5ub3QgdXNlICdzdGF0aWMnIGFzIGludGVy ZmFjZSBuYW1lIGFzIGl0IGlzIHJlc2VydmVkIik7CisJCQl6ZW5kX2Vycm9yKEVfQ09NUElMRV9F UlJPUiwgIkNhbm5vdCB1c2UgJyVzJyBhcyBpbnRlcmZhY2UgbmFtZSBhcyBpdCBpcyByZXNlcnZl ZCIsIFpfU1RSVkFMKGludGVyZmFjZV9uYW1lLT51LmNvbnN0YW50KSk7CiAJCQlicmVhazsKIAkJ ZGVmYXVsdDoKLQkJCWlmIChDRyhhY3RpdmVfb3BfYXJyYXkpLT5sYXN0ID4gMCkgewotCQkJCW9w bGluZSA9ICZDRyhhY3RpdmVfb3BfYXJyYXkpLT5vcGNvZGVzW0NHKGFjdGl2ZV9vcF9hcnJheSkt Pmxhc3QtMV07Ci0JCQkJaWYgKG9wbGluZS0+b3Bjb2RlID09IFpFTkRfRkVUQ0hfQ0xBU1MpIHsK LQkJCQkJb3BsaW5lLT5leHRlbmRlZF92YWx1ZSA9IChvcGxpbmUtPmV4dGVuZGVkX3ZhbHVlICYg flpFTkRfRkVUQ0hfQ0xBU1NfTUFTSykgfCBaRU5EX0ZFVENIX0NMQVNTX0lOVEVSRkFDRTsKLQkJ CQl9Ci0JCQl9CisJCQlvcGxpbmUgPSBnZXRfbmV4dF9vcChDRyhhY3RpdmVfb3BfYXJyYXkpIFRT Uk1MU19DQyk7CisJCQlvcGxpbmUtPm9wY29kZSA9IFpFTkRfQUREX0lOVEVSRkFDRTsKKwkJCW9w bGluZS0+b3AxID0gQ0coaW1wbGVtZW50aW5nX2NsYXNzKTsKKwkJCXplbmRfcmVzb2x2ZV9jbGFz c19uYW1lKGludGVyZmFjZV9uYW1lLCAmb3BsaW5lLT5leHRlbmRlZF92YWx1ZSwgMCBUU1JNTFNf Q0MpOworCQkJb3BsaW5lLT5leHRlbmRlZF92YWx1ZSA9IChvcGxpbmUtPmV4dGVuZGVkX3ZhbHVl ICYgflpFTkRfRkVUQ0hfQ0xBU1NfTUFTSykgfCBaRU5EX0ZFVENIX0NMQVNTX0lOVEVSRkFDRTsK KwkJCW9wbGluZS0+b3AyID0gKmludGVyZmFjZV9uYW1lOworCQkJQ0coYWN0aXZlX2NsYXNzX2Vu dHJ5KS0+Y2VfZmxhZ3MgfD0gWkVORF9BQ0NfSU1QTEVNRU5UX0lOVEVSRkFDRVM7CiAJCQlicmVh azsKLQl9Ci0KLQlvcGxpbmUgPSBnZXRfbmV4dF9vcChDRyhhY3RpdmVfb3BfYXJyYXkpIFRTUk1M U19DQyk7Ci0Jb3BsaW5lLT5vcGNvZGUgPSBaRU5EX0FERF9JTlRFUkZBQ0U7Ci0Jb3BsaW5lLT5v cDEgPSBDRyhpbXBsZW1lbnRpbmdfY2xhc3MpOwotCW9wbGluZS0+b3AyID0gaW50ZXJmYWNlX25v ZGU7Ci0Jb3BsaW5lLT5leHRlbmRlZF92YWx1ZSA9IENHKGFjdGl2ZV9jbGFzc19lbnRyeSktPm51 bV9pbnRlcmZhY2VzKys7CisJfQkKIH0KIAogCkBAIC00NTE5LDcgKzQ0OTgsNyBAQCB2b2lkIHpl bmRfZG9fZXh0ZW5kZWRfaW5mbyhUU1JNTFNfRCkKIHsKIAl6ZW5kX29wICpvcGxpbmU7CiAKLQlp ZiAoIUNHKGV4dGVuZGVkX2luZm8pKSB7CisJaWYgKCEoQ0coY29tcGlsZXJfb3B0aW9ucykgJiBa RU5EX0NPTVBJTEVfRVhURU5ERURfSU5GTykpIHsKIAkJcmV0dXJuOwogCX0KIApAQCAtNDUzNSw3 ICs0NTE0LDcgQEAgdm9pZCB6ZW5kX2RvX2V4dGVuZGVkX2ZjYWxsX2JlZ2luKFRTUk1MUwogewog CXplbmRfb3AgKm9wbGluZTsKIAotCWlmICghQ0coZXh0ZW5kZWRfaW5mbykpIHsKKwlpZiAoIShD Ryhjb21waWxlcl9vcHRpb25zKSAmIFpFTkRfQ09NUElMRV9FWFRFTkRFRF9JTkZPKSkgewogCQly ZXR1cm47CiAJfQogCkBAIC00NTUxLDcgKzQ1MzAsNyBAQCB2b2lkIHplbmRfZG9fZXh0ZW5kZWRf ZmNhbGxfZW5kKFRTUk1MU19ECiB7CiAJemVuZF9vcCAqb3BsaW5lOwogCi0JaWYgKCFDRyhleHRl bmRlZF9pbmZvKSkgeworCWlmICghKENHKGNvbXBpbGVyX29wdGlvbnMpICYgWkVORF9DT01QSUxF X0VYVEVOREVEX0lORk8pKSB7CiAJCXJldHVybjsKIAl9CiAKSW5kZXg6IFplbmQvemVuZF9jb21w aWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9j b21waWxlLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzE2LjIuOC4yLjEyLjIuMTQKZGlmZiAt dSAtcCAtZCAtcjEuMzE2LjIuOC4yLjEyLjIuMTQgemVuZF9jb21waWxlLmgKLS0tIFplbmQvemVu ZF9jb21waWxlLmgJMTIgRmViIDIwMDggMDA6MjA6MzMgLTAwMDAJMS4zMTYuMi44LjIuMTIuMi4x NAorKysgWmVuZC96ZW5kX2NvbXBpbGUuaAk3IE1hciAyMDA4IDExOjM0OjE1IC0wMDAwCkBAIC0x NDMsNiArMTQzLDEwIEBAIHR5cGVkZWYgc3RydWN0IF96ZW5kX3RyeV9jYXRjaF9lbGVtZW50IHsK IC8qIGRlcHJlY2F0aW9uIGZsYWcgKi8KICNkZWZpbmUgWkVORF9BQ0NfREVQUkVDQVRFRCAweDQw MDAwCiAKKy8qIGNsYXNzIGltcGxlbWVudCBpbnRlcmZhY2UocykgZmxhZyAqLworI2RlZmluZSBa RU5EX0FDQ19JTVBMRU1FTlRfSU5URVJGQUNFUyAweDgwMDAwCisKKwogY2hhciAqemVuZF92aXNp YmlsaXR5X3N0cmluZyh6ZW5kX3VpbnQgZm5fZmxhZ3MpOwogCiAKQEAgLTIyMCw2ICsyMjQsNyBA QCBzdHJ1Y3QgX3plbmRfb3BfYXJyYXkgewogCXplbmRfdWludCBsaW5lX2VuZDsKIAljaGFyICpk b2NfY29tbWVudDsKIAl6ZW5kX3VpbnQgZG9jX2NvbW1lbnRfbGVuOworCXplbmRfdWludCBlYXJs eV9iaW5kaW5nOyAvKiB0aGUgbGlua2VkIGxpc3Qgb2YgZGVsYXllZCBkZWNsYXJhdGlvbnMgKi8K IAogCXZvaWQgKnJlc2VydmVkW1pFTkRfTUFYX1JFU0VSVkVEX1JFU09VUkNFU107CiB9OwpAQCAt NDI0LDYgKzQyOSw3IEBAIHZvaWQgemVuZF9kb19pbXBsZW1lbnRzX2ludGVyZmFjZSh6bm9kZSAK IAogWkVORF9BUEkgdm9pZCB6ZW5kX2RvX2luaGVyaXRhbmNlKHplbmRfY2xhc3NfZW50cnkgKmNl LCB6ZW5kX2NsYXNzX2VudHJ5ICpwYXJlbnRfY2UgVFNSTUxTX0RDKTsKIHZvaWQgemVuZF9kb19l YXJseV9iaW5kaW5nKFRTUk1MU19EKTsKK1pFTkRfQVBJIHZvaWQgemVuZF9kb19kZWxheWVkX2Vh cmx5X2JpbmRpbmcoemVuZF9vcF9hcnJheSAqb3BfYXJyYXkgVFNSTUxTX0RDKTsKIAogdm9pZCB6 ZW5kX2RvX3Bhc3NfcGFyYW0oem5vZGUgKnBhcmFtLCB6ZW5kX3VjaGFyIG9wLCBpbnQgb2Zmc2V0 IFRTUk1MU19EQyk7CiAKQEAgLTQ0Miw3ICs0NDgsNyBAQCB2b2lkIHplbmRfZG9fY2FzZV9hZnRl cl9zdGF0ZW1lbnQoem5vZGUgCiB2b2lkIHplbmRfZG9fZGVmYXVsdF9iZWZvcmVfc3RhdGVtZW50 KHpub2RlICpjYXNlX2xpc3QsIHpub2RlICpkZWZhdWx0X3Rva2VuIFRTUk1MU19EQyk7CiAKIHZv aWQgemVuZF9kb19iZWdpbl9jbGFzc19kZWNsYXJhdGlvbih6bm9kZSAqY2xhc3NfdG9rZW4sIHpu b2RlICpjbGFzc19uYW1lLCB6bm9kZSAqcGFyZW50X2NsYXNzX25hbWUgVFNSTUxTX0RDKTsKLXZv aWQgemVuZF9kb19lbmRfY2xhc3NfZGVjbGFyYXRpb24oem5vZGUgKmNsYXNzX3Rva2VuLCB6bm9k ZSAqcGFyZW50X3Rva2VuIFRTUk1MU19EQyk7Cit2b2lkIHplbmRfZG9fZW5kX2NsYXNzX2RlY2xh cmF0aW9uKFRTUk1MU19EKTsKIHZvaWQgemVuZF9kb19kZWNsYXJlX3Byb3BlcnR5KHpub2RlICp2 YXJfbmFtZSwgem5vZGUgKnZhbHVlLCB6ZW5kX3VpbnQgYWNjZXNzX3R5cGUgVFNSTUxTX0RDKTsK IHZvaWQgemVuZF9kb19kZWNsYXJlX2ltcGxpY2l0X3Byb3BlcnR5KFRTUk1MU19EKTsKIHZvaWQg emVuZF9kb19kZWNsYXJlX2NsYXNzX2NvbnN0YW50KHpub2RlICp2YXJfbmFtZSwgem5vZGUgKnZh bHVlIFRTUk1MU19EQyk7CkBAIC03MTYsNiArNzIyLDE2IEBAIEVORF9FWFRFUk5fQygpCiAjZGVm aW5lIFpFTkRfVE9TVFJJTkdfRlVOQ19OQU1FICAgICAiX190b3N0cmluZyIKICNkZWZpbmUgWkVO RF9BVVRPTE9BRF9GVU5DX05BTUUgICAgICJfX2F1dG9sb2FkIgogCisKKyNkZWZpbmUgWkVORF9D T01QSUxFX0VYVEVOREVEX0lORk8JCQkJKDE8PDApCisjZGVmaW5lIFpFTkRfQ09NUElMRV9IQU5E TEVfT1BfQVJSQVkgICAgICAgICAgICAoMTw8MSkKKyNkZWZpbmUgWkVORF9DT01QSUxFX0lHTk9S RV9JTlRFUk5BTF9GVU5DVElPTlMJKDE8PDIpCisjZGVmaW5lIFpFTkRfQ09NUElMRV9JR05PUkVf SU5URVJOQUxfQ0xBU1NFUwkoMTw8MykKKyNkZWZpbmUgWkVORF9DT01QSUxFX0RFTEFZRURfQklO RElORwkJCSgxPDw0KQorCisjZGVmaW5lIFpFTkRfQ09NUElMRV9ERUZBVUxUCQkJCQlaRU5EX0NP TVBJTEVfSEFORExFX09QX0FSUkFZCisjZGVmaW5lIFpFTkRfQ09NUElMRV9ERUZBVUxUX0ZPUl9F VkFMCQkJMAorCiAjZW5kaWYgLyogWkVORF9DT01QSUxFX0ggKi8KIAogLyoKSW5kZXg6IFplbmQv emVuZF9leGVjdXRlX0FQSS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5L1plbmRF bmdpbmUyL3plbmRfZXhlY3V0ZV9BUEkuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMzEuMi4y MC4yLjI0LjIuMjcKZGlmZiAtdSAtcCAtZCAtcjEuMzMxLjIuMjAuMi4yNC4yLjI3IHplbmRfZXhl Y3V0ZV9BUEkuYwotLS0gWmVuZC96ZW5kX2V4ZWN1dGVfQVBJLmMJNCBNYXIgMjAwOCAxMTo0Mzo1 MSAtMDAwMAkxLjMzMS4yLjIwLjIuMjQuMi4yNworKysgWmVuZC96ZW5kX2V4ZWN1dGVfQVBJLmMJ NyBNYXIgMjAwOCAxMTozNDoxNSAtMDAwMApAQCAtMTI2NCw3ICsxMjY0LDcgQEAgWkVORF9BUEkg aW50IHplbmRfZXZhbF9zdHJpbmcoY2hhciAqc3RyLAogCXp2YWwgcHY7CiAJemVuZF9vcF9hcnJh eSAqbmV3X29wX2FycmF5OwogCXplbmRfb3BfYXJyYXkgKm9yaWdpbmFsX2FjdGl2ZV9vcF9hcnJh eSA9IEVHKGFjdGl2ZV9vcF9hcnJheSk7Ci0JemVuZF91Y2hhciBvcmlnaW5hbF9oYW5kbGVfb3Bf YXJyYXlzOworCXplbmRfdWludCBvcmlnaW5hbF9jb21waWxlcl9vcHRpb25zOwogCWludCByZXR2 YWw7CiAKIAlpZiAocmV0dmFsX3B0cikgewpAQCAtMTI4NCwxMCArMTI4NCwxMCBAQCBaRU5EX0FQ SSBpbnQgemVuZF9ldmFsX3N0cmluZyhjaGFyICpzdHIsCiAKIAkvKnByaW50ZigiRXZhbHVhdGlu ZyAnJXMnXG4iLCBwdi52YWx1ZS5zdHIudmFsKTsqLwogCi0Jb3JpZ2luYWxfaGFuZGxlX29wX2Fy cmF5cyA9IENHKGhhbmRsZV9vcF9hcnJheXMpOwotCUNHKGhhbmRsZV9vcF9hcnJheXMpID0gMDsK KwlvcmlnaW5hbF9jb21waWxlcl9vcHRpb25zID0gQ0coY29tcGlsZXJfb3B0aW9ucyk7CisJQ0co aGFuZGxlX29wX2FycmF5cykgPSBaRU5EX0NPTVBJTEVfREVGQVVMVF9GT1JfRVZBTDsKIAluZXdf b3BfYXJyYXkgPSB6ZW5kX2NvbXBpbGVfc3RyaW5nKCZwdiwgc3RyaW5nX25hbWUgVFNSTUxTX0ND KTsKLQlDRyhoYW5kbGVfb3BfYXJyYXlzKSA9IG9yaWdpbmFsX2hhbmRsZV9vcF9hcnJheXM7CisJ Q0coY29tcGlsZXJfb3B0aW9ucykgPSBvcmlnaW5hbF9jb21waWxlcl9vcHRpb25zOwogCiAJaWYg KG5ld19vcF9hcnJheSkgewogCQl6dmFsICpsb2NhbF9yZXR2YWxfcHRyPU5VTEw7CkluZGV4OiBa ZW5kL3plbmRfZ2xvYmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5L1plbmRF bmdpbmUyL3plbmRfZ2xvYmFscy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0MS4yLjMuMi43 LjIuNwpkaWZmIC11IC1wIC1kIC1yMS4xNDEuMi4zLjIuNy4yLjcgemVuZF9nbG9iYWxzLmgKLS0t IFplbmQvemVuZF9nbG9iYWxzLmgJMjQgSmFuIDIwMDggMDk6NDE6MzcgLTAwMDAJMS4xNDEuMi4z LjIuNy4yLjcKKysrIFplbmQvemVuZF9nbG9iYWxzLmgJNyBNYXIgMjAwOCAxMTozNDoxNSAtMDAw MApAQCAtNTksNiArNTksOSBAQCBFTkRfRVhURVJOX0MoKQogLyogZXhjcHQuaCBvbiBEaWdpdGFs IFVuaXggNC4wIGRlZmluZXMgZnVuY3Rpb25fdGFibGUgKi8KICN1bmRlZiBmdW5jdGlvbl90YWJs ZQogCisjZGVmaW5lIFpFTkRfRUFSTFlfQklORElOR19DT01QSUxFX1RJTUUgMAorI2RlZmluZSBa RU5EX0VBUkxZX0JJTkRJTkdfREVMQVlFRCAgICAgIDEKKyNkZWZpbmUgWkVORF9FQVJMWV9CSU5E SU5HX0RFTEFZRURfQUxMICAyCiAKIHR5cGVkZWYgc3RydWN0IF96ZW5kX2RlY2xhcmFibGVzIHsK IAl6dmFsIHRpY2tzOwpAQCAtMTA2LDcgKzEwOSw2IEBAIHN0cnVjdCBfemVuZF9jb21waWxlcl9n bG9iYWxzIHsKIAl6ZW5kX2RlY2xhcmFibGVzIGRlY2xhcmFibGVzOwogCiAJLyogRm9yIGV4dGVu c2lvbnMgc3VwcG9ydCAqLwotCXplbmRfYm9vbCBleHRlbmRlZF9pbmZvOwkvKiBnZW5lcmF0ZSBl eHRlbnNpb24gaW5mb3JtYXRpb24gZm9yIGRlYnVnZ2VyL3Byb2ZpbGVyICovCiAJemVuZF9ib29s IGhhbmRsZV9vcF9hcnJheXM7CS8qIHJ1biBvcF9hcnJheXMgdGhyb3VnaCBvcF9hcnJheSBoYW5k bGVycyAqLwogCiAJemVuZF9ib29sIHVuY2xlYW5fc2h1dGRvd247CkBAIC0xMzEsNiArMTMzLDgg QEAgc3RydWN0IF96ZW5kX2NvbXBpbGVyX2dsb2JhbHMgewogCWNoYXIgKmRvY19jb21tZW50Owog CXplbmRfdWludCBkb2NfY29tbWVudF9sZW47CiAKKwl6ZW5kX3VpbnQgY29tcGlsZXJfb3B0aW9u czsgLyogc2V0IG9mIFpFTkRfQ09NUElMRV8qIGNvbnN0YW50cyAqLworCiAJenZhbCAgICAgICpj dXJyZW50X25hbWVzcGFjZTsKIAlIYXNoVGFibGUgKmN1cnJlbnRfaW1wb3J0OwogCkluZGV4OiBa ZW5kL3plbmRfbGFuZ3VhZ2VfcGFyc2VyLnkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRv cnkvWmVuZEVuZ2luZTIvemVuZF9sYW5ndWFnZV9wYXJzZXIueSx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4xNjAuMi40LjIuOC4yLjE4CmRpZmYgLXUgLXAgLWQgLXIxLjE2MC4yLjQuMi44LjIuMTgg emVuZF9sYW5ndWFnZV9wYXJzZXIueQotLS0gWmVuZC96ZW5kX2xhbmd1YWdlX3BhcnNlci55CTIz IEZlYiAyMDA4IDE3OjA2OjE5IC0wMDAwCTEuMTYwLjIuNC4yLjguMi4xOAorKysgWmVuZC96ZW5k X2xhbmd1YWdlX3BhcnNlci55CTcgTWFyIDIwMDggMTE6MzQ6MTYgLTAwMDAKQEAgLTMwMSwxMyAr MzAxLDEzIEBAIHVudGlja2VkX2NsYXNzX2RlY2xhcmF0aW9uX3N0YXRlbWVudDoKIAkJCWltcGxl bWVudHNfbGlzdAogCQkJJ3snCiAJCQkJY2xhc3Nfc3RhdGVtZW50X2xpc3QKLQkJCSd9JyB7IHpl bmRfZG9fZW5kX2NsYXNzX2RlY2xhcmF0aW9uKCYkMSwgJiQyIFRTUk1MU19DQyk7IH0KKwkJCSd9 JyB7IHplbmRfZG9fZW5kX2NsYXNzX2RlY2xhcmF0aW9uKFRTUk1MU19DKTsgfQogCXwJaW50ZXJm YWNlX2VudHJ5IFRfU1RSSU5HCiAJCQl7IHplbmRfZG9fYmVnaW5fY2xhc3NfZGVjbGFyYXRpb24o JiQxLCAmJDIsIE5VTEwgVFNSTUxTX0NDKTsgfQogCQkJaW50ZXJmYWNlX2V4dGVuZHNfbGlzdAog CQkJJ3snCiAJCQkJY2xhc3Nfc3RhdGVtZW50X2xpc3QKLQkJCSd9JyB7IHplbmRfZG9fZW5kX2Ns YXNzX2RlY2xhcmF0aW9uKCYkMSwgJiQyIFRTUk1MU19DQyk7IH0KKwkJCSd9JyB7IHplbmRfZG9f ZW5kX2NsYXNzX2RlY2xhcmF0aW9uKFRTUk1MU19DKTsgfQogOwogCiAKSW5kZXg6IFplbmQvemVu ZF9vcGNvZGUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96 ZW5kX29wY29kZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjExMC4yLjYuMi4zLjIuNQpkaWZm IC11IC1wIC1kIC1yMS4xMTAuMi42LjIuMy4yLjUgemVuZF9vcGNvZGUuYwotLS0gWmVuZC96ZW5k X29wY29kZS5jCTMxIERlYyAyMDA3IDA3OjE3OjA0IC0wMDAwCTEuMTEwLjIuNi4yLjMuMi41Cisr KyBaZW5kL3plbmRfb3Bjb2RlLmMJNyBNYXIgMjAwOCAxMTozNDoxNiAtMDAwMApAQCAtMTAxLDYg KzEwMSw4IEBAIHZvaWQgaW5pdF9vcF9hcnJheSh6ZW5kX29wX2FycmF5ICpvcF9hcnIKIAogCW9w X2FycmF5LT5mbl9mbGFncyA9IENHKGludGVyYWN0aXZlKT9aRU5EX0FDQ19JTlRFUkFDVElWRTow OwogCisJb3BfYXJyYXktPmVhcmx5X2JpbmRpbmcgPSAtMTsKKwogCW1lbXNldChvcF9hcnJheS0+ cmVzZXJ2ZWQsIDAsIFpFTkRfTUFYX1JFU0VSVkVEX1JFU09VUkNFUyAqIHNpemVvZih2b2lkKikp OwogCiAJemVuZF9sbGlzdF9hcHBseV93aXRoX2FyZ3VtZW50KCZ6ZW5kX2V4dGVuc2lvbnMsIChs bGlzdF9hcHBseV93aXRoX2FyZ19mdW5jX3QpIHplbmRfZXh0ZW5zaW9uX29wX2FycmF5X2N0b3Jf aGFuZGxlciwgb3BfYXJyYXkgVFNSTUxTX0NDKTsKQEAgLTM2NCwxMCArMzY2LDEwIEBAIGludCBw YXNzX3R3byh6ZW5kX29wX2FycmF5ICpvcF9hcnJheSBUU1IKIAlpZiAob3BfYXJyYXktPnR5cGUh PVpFTkRfVVNFUl9GVU5DVElPTiAmJiBvcF9hcnJheS0+dHlwZSE9WkVORF9FVkFMX0NPREUpIHsK IAkJcmV0dXJuIDA7CiAJfQotCWlmIChDRyhleHRlbmRlZF9pbmZvKSkgeworCWlmIChDRyhjb21w aWxlcl9vcHRpb25zKSAmIFpFTkRfQ09NUElMRV9FWFRFTkRFRF9JTkZPKSB7CiAJCXplbmRfdXBk YXRlX2V4dGVuZGVkX2luZm8ob3BfYXJyYXkgVFNSTUxTX0NDKTsKIAl9Ci0JaWYgKENHKGhhbmRs ZV9vcF9hcnJheXMpKSB7CisJaWYgKENHKGNvbXBpbGVyX29wdGlvbnMpICYgWkVORF9DT01QSUxF X0hBTkRMRV9PUF9BUlJBWSkgewogCQl6ZW5kX2xsaXN0X2FwcGx5X3dpdGhfYXJndW1lbnQoJnpl bmRfZXh0ZW5zaW9ucywgKGxsaXN0X2FwcGx5X3dpdGhfYXJnX2Z1bmNfdCkgemVuZF9leHRlbnNp b25fb3BfYXJyYXlfaGFuZGxlciwgb3BfYXJyYXkgVFNSTUxTX0NDKTsKIAl9CiAKSW5kZXg6IFpl bmQvemVuZF92bV9kZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5n aW5lMi96ZW5kX3ZtX2RlZi5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU5LjIuMjkuMi40OC4y LjQxCmRpZmYgLXUgLXAgLWQgLXIxLjU5LjIuMjkuMi40OC4yLjQxIHplbmRfdm1fZGVmLmgKLS0t IFplbmQvemVuZF92bV9kZWYuaAk1IE1hciAyMDA4IDEzOjM0OjEyIC0wMDAwCTEuNTkuMi4yOS4y LjQ4LjIuNDEKKysrIFplbmQvemVuZF92bV9kZWYuaAk3IE1hciAyMDA4IDExOjM0OjE5IC0wMDAw CkBAIC0zOTYyLDYgKzM5NjIsMTkgQEAgWkVORF9WTV9IQU5ETEVSKDE0MCwgWkVORF9ERUNMQVJF X0lOSEVSSQogCVpFTkRfVk1fTkVYVF9PUENPREUoKTsKIH0KIAorWkVORF9WTV9IQU5ETEVSKDE0 NSwgWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVELCBBTlksIEFOWSkKK3sKKwl6 ZW5kX29wICpvcGxpbmUgPSBFWChvcGxpbmUpOworCXplbmRfY2xhc3NfZW50cnkgKipwY2UsICoq cGNlX29yaWc7CisKKwlpZiAoemVuZF9oYXNoX2ZpbmQoRUcoY2xhc3NfdGFibGUpLCBaX1NUUlZB TChvcGxpbmUtPm9wMi51LmNvbnN0YW50KSwgWl9TVFJMRU4ob3BsaW5lLT5vcDIudS5jb25zdGFu dCkrMSwgKHZvaWQqKikmcGNlKSA9PSBGQUlMVVJFIHx8CisJICAgICh6ZW5kX2hhc2hfZmluZChF RyhjbGFzc190YWJsZSksIFpfU1RSVkFMKG9wbGluZS0+b3AxLnUuY29uc3RhbnQpLCBaX1NUUkxF TihvcGxpbmUtPm9wMS51LmNvbnN0YW50KSwgKHZvaWQqKikmcGNlX29yaWcpID09IFNVQ0NFU1Mg JiYKKwkgICAgICpwY2UgIT0gKnBjZV9vcmlnKSkgeworCQlkb19iaW5kX2luaGVyaXRlZF9jbGFz cyhvcGxpbmUsIEVHKGNsYXNzX3RhYmxlKSwgRVhfVChvcGxpbmUtPmV4dGVuZGVkX3ZhbHVlKS5j bGFzc19lbnRyeSwgMCBUU1JNTFNfQ0MpOworCX0KKwlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7Cit9 CisKIFpFTkRfVk1fSEFORExFUigxNDEsIFpFTkRfREVDTEFSRV9GVU5DVElPTiwgQU5ZLCBBTlkp CiB7CiAJZG9fYmluZF9mdW5jdGlvbihFWChvcGxpbmUpLCBFRyhmdW5jdGlvbl90YWJsZSksIDAp OwpAQCAtNDAwOCwxMSArNDAyMSwxMSBAQCBaRU5EX1ZNX0hBTkRMRVIoMCwgWkVORF9OT1AsIEFO WSwgQU5ZKQogCVpFTkRfVk1fTkVYVF9PUENPREUoKTsKIH0KIAotWkVORF9WTV9IQU5ETEVSKDE0 NCwgWkVORF9BRERfSU5URVJGQUNFLCBBTlksIEFOWSkKK1pFTkRfVk1fSEFORExFUigxNDQsIFpF TkRfQUREX0lOVEVSRkFDRSwgQU5ZLCBDT05TVCkKIHsKIAl6ZW5kX29wICpvcGxpbmUgPSBFWChv cGxpbmUpOwogCXplbmRfY2xhc3NfZW50cnkgKmNlID0gRVhfVChvcGxpbmUtPm9wMS51LnZhciku Y2xhc3NfZW50cnk7Ci0JemVuZF9jbGFzc19lbnRyeSAqaWZhY2UgPSBFWF9UKG9wbGluZS0+b3Ay LnUudmFyKS5jbGFzc19lbnRyeTsKKwl6ZW5kX2NsYXNzX2VudHJ5ICppZmFjZSA9IHplbmRfZmV0 Y2hfY2xhc3MoWl9TVFJWQUwob3BsaW5lLT5vcDIudS5jb25zdGFudCksIFpfU1RSTEVOKG9wbGlu ZS0+b3AyLnUuY29uc3RhbnQpLCBvcGxpbmUtPmV4dGVuZGVkX3ZhbHVlIFRTUk1MU19DQyk7CiAK IAlpZiAoIShpZmFjZS0+Y2VfZmxhZ3MgJiBaRU5EX0FDQ19JTlRFUkZBQ0UpKSB7CiAJCXplbmRf ZXJyb3Jfbm9yZXR1cm4oRV9FUlJPUiwgIiVzIGNhbm5vdCBpbXBsZW1lbnQgJXMgLSBpdCBpcyBu b3QgYW4gaW50ZXJmYWNlIiwgY2UtPm5hbWUsIGlmYWNlLT5uYW1lKTsKSW5kZXg6IFplbmQvemVu ZF92bV9leGVjdXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2lu ZTIvemVuZF92bV9leGVjdXRlLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjIuMi4zMC4yLjQ5 LjIuNDAKZGlmZiAtdSAtcCAtZCAtcjEuNjIuMi4zMC4yLjQ5LjIuNDAgemVuZF92bV9leGVjdXRl LmgKLS0tIFplbmQvemVuZF92bV9leGVjdXRlLmgJNSBNYXIgMjAwOCAxMzozNDoxMiAtMDAwMAkx LjYyLjIuMzAuMi40OS4yLjQwCisrKyBaZW5kL3plbmRfdm1fZXhlY3V0ZS5oCTcgTWFyIDIwMDgg MTE6MzQ6MjYgLTAwMDAKQEAgLTQ4MiwzNCArNDgyLDMyIEBAIHN0YXRpYyBpbnQgWkVORF9ERUNM QVJFX0lOSEVSSVRFRF9DTEFTU18KIAlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7CiB9CiAKLXN0YXRp YyBpbnQgWkVORF9ERUNMQVJFX0ZVTkNUSU9OX1NQRUNfSEFORExFUihaRU5EX09QQ09ERV9IQU5E TEVSX0FSR1MpCitzdGF0aWMgaW50IFpFTkRfREVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlF RF9TUEVDX0hBTkRMRVIoWkVORF9PUENPREVfSEFORExFUl9BUkdTKQogewotCWRvX2JpbmRfZnVu Y3Rpb24oRVgob3BsaW5lKSwgRUcoZnVuY3Rpb25fdGFibGUpLCAwKTsKKwl6ZW5kX29wICpvcGxp bmUgPSBFWChvcGxpbmUpOworCXplbmRfY2xhc3NfZW50cnkgKipwY2UsICoqcGNlX29yaWc7CisK KwlpZiAoemVuZF9oYXNoX2ZpbmQoRUcoY2xhc3NfdGFibGUpLCBaX1NUUlZBTChvcGxpbmUtPm9w Mi51LmNvbnN0YW50KSwgWl9TVFJMRU4ob3BsaW5lLT5vcDIudS5jb25zdGFudCkrMSwgKHZvaWQq KikmcGNlKSA9PSBGQUlMVVJFIHx8CisJICAgICh6ZW5kX2hhc2hfZmluZChFRyhjbGFzc190YWJs ZSksIFpfU1RSVkFMKG9wbGluZS0+b3AxLnUuY29uc3RhbnQpLCBaX1NUUkxFTihvcGxpbmUtPm9w MS51LmNvbnN0YW50KSwgKHZvaWQqKikmcGNlX29yaWcpID09IFNVQ0NFU1MgJiYKKwkgICAgICpw Y2UgIT0gKnBjZV9vcmlnKSkgeworCQlkb19iaW5kX2luaGVyaXRlZF9jbGFzcyhvcGxpbmUsIEVH KGNsYXNzX3RhYmxlKSwgRVhfVChvcGxpbmUtPmV4dGVuZGVkX3ZhbHVlKS5jbGFzc19lbnRyeSwg MCBUU1JNTFNfQ0MpOworCX0KIAlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7CiB9CiAKLXN0YXRpYyBp bnQgWkVORF9FWFRfTk9QX1NQRUNfSEFORExFUihaRU5EX09QQ09ERV9IQU5ETEVSX0FSR1MpCitz dGF0aWMgaW50IFpFTkRfREVDTEFSRV9GVU5DVElPTl9TUEVDX0hBTkRMRVIoWkVORF9PUENPREVf SEFORExFUl9BUkdTKQogeworCWRvX2JpbmRfZnVuY3Rpb24oRVgob3BsaW5lKSwgRUcoZnVuY3Rp b25fdGFibGUpLCAwKTsKIAlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7CiB9CiAKLXN0YXRpYyBpbnQg WkVORF9OT1BfU1BFQ19IQU5ETEVSKFpFTkRfT1BDT0RFX0hBTkRMRVJfQVJHUykKK3N0YXRpYyBp bnQgWkVORF9FWFRfTk9QX1NQRUNfSEFORExFUihaRU5EX09QQ09ERV9IQU5ETEVSX0FSR1MpCiB7 CiAJWkVORF9WTV9ORVhUX09QQ09ERSgpOwogfQogCi1zdGF0aWMgaW50IFpFTkRfQUREX0lOVEVS RkFDRV9TUEVDX0hBTkRMRVIoWkVORF9PUENPREVfSEFORExFUl9BUkdTKQorc3RhdGljIGludCBa RU5EX05PUF9TUEVDX0hBTkRMRVIoWkVORF9PUENPREVfSEFORExFUl9BUkdTKQogewotCXplbmRf b3AgKm9wbGluZSA9IEVYKG9wbGluZSk7Ci0JemVuZF9jbGFzc19lbnRyeSAqY2UgPSBFWF9UKG9w bGluZS0+b3AxLnUudmFyKS5jbGFzc19lbnRyeTsKLQl6ZW5kX2NsYXNzX2VudHJ5ICppZmFjZSA9 IEVYX1Qob3BsaW5lLT5vcDIudS52YXIpLmNsYXNzX2VudHJ5OwotCi0JaWYgKCEoaWZhY2UtPmNl X2ZsYWdzICYgWkVORF9BQ0NfSU5URVJGQUNFKSkgewotCQl6ZW5kX2Vycm9yX25vcmV0dXJuKEVf RVJST1IsICIlcyBjYW5ub3QgaW1wbGVtZW50ICVzIC0gaXQgaXMgbm90IGFuIGludGVyZmFjZSIs IGNlLT5uYW1lLCBpZmFjZS0+bmFtZSk7Ci0JfQotCi0JemVuZF9kb19pbXBsZW1lbnRfaW50ZXJm YWNlKGNlLCBpZmFjZSBUU1JNTFNfQ0MpOwotCiAJWkVORF9WTV9ORVhUX09QQ09ERSgpOwogfQog CkBAIC03NzUsNiArNzczLDIxIEBAIHN0YXRpYyBpbnQgWkVORF9DT05UX1NQRUNfQ09OU1RfSEFO RExFUigKIAlaRU5EX1ZNX0pNUChFWChvcF9hcnJheSktPm9wY29kZXMgKyBlbC0+Y29udCk7CiB9 CiAKK3N0YXRpYyBpbnQgWkVORF9BRERfSU5URVJGQUNFX1NQRUNfQ09OU1RfSEFORExFUihaRU5E X09QQ09ERV9IQU5ETEVSX0FSR1MpCit7CisJemVuZF9vcCAqb3BsaW5lID0gRVgob3BsaW5lKTsK Kwl6ZW5kX2NsYXNzX2VudHJ5ICpjZSA9IEVYX1Qob3BsaW5lLT5vcDEudS52YXIpLmNsYXNzX2Vu dHJ5OworCXplbmRfY2xhc3NfZW50cnkgKmlmYWNlID0gemVuZF9mZXRjaF9jbGFzcyhaX1NUUlZB TChvcGxpbmUtPm9wMi51LmNvbnN0YW50KSwgWl9TVFJMRU4ob3BsaW5lLT5vcDIudS5jb25zdGFu dCksIG9wbGluZS0+ZXh0ZW5kZWRfdmFsdWUgVFNSTUxTX0NDKTsKKworCWlmICghKGlmYWNlLT5j ZV9mbGFncyAmIFpFTkRfQUNDX0lOVEVSRkFDRSkpIHsKKwkJemVuZF9lcnJvcl9ub3JldHVybihF X0VSUk9SLCAiJXMgY2Fubm90IGltcGxlbWVudCAlcyAtIGl0IGlzIG5vdCBhbiBpbnRlcmZhY2Ui LCBjZS0+bmFtZSwgaWZhY2UtPm5hbWUpOworCX0KKworCXplbmRfZG9faW1wbGVtZW50X2ludGVy ZmFjZShjZSwgaWZhY2UgVFNSTUxTX0NDKTsKKworCVpFTkRfVk1fTkVYVF9PUENPREUoKTsKK30K Kwogc3RhdGljIGludCBaRU5EX0ZFVENIX0NMQVNTX1NQRUNfVE1QX0hBTkRMRVIoWkVORF9PUENP REVfSEFORExFUl9BUkdTKQogewogCXplbmRfb3AgKm9wbGluZSA9IEVYKG9wbGluZSk7CkBAIC0z Mjk2NSw1NiArMzI5NzgsNTYgQEAgdm9pZCB6ZW5kX2luaXRfb3Bjb2Rlc19oYW5kbGVycyh2b2lk KQogICAJWkVORF9OVUxMX0hBTkRMRVIsCiAgIAlaRU5EX05VTExfSEFORExFUiwKICAgCVpFTkRf TlVMTF9IQU5ETEVSLAotICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpF TkRfQUREX0lOVEVSRkFDRV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BF Q19IQU5ETEVSLAotICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRf QUREX0lOVEVSRkFDRV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19I QU5ETEVSLAotICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQURE X0lOVEVSRkFDRV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5E TEVSLAotICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQUREX0lO VEVSRkFDRV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5ETEVS LAotICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQUREX0lOVEVS RkFDRV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5ETEVSLAot ICAJWkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQUREX0lOVEVSRkFD RV9TUEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5ETEVSLAotICAJ WkVORF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQUREX0lOVEVSRkFDRV9T UEVDX0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5ETEVSLAotICAJWkVO RF9BRERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfQUREX0lOVEVSRkFDRV9TUEVD X0hBTkRMRVIsCi0gIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19IQU5ETEVSLAotICAJWkVORF9B RERfSU5URVJGQUNFX1NQRUNfSEFORExFUiwKLSAgCVpFTkRfTlVMTF9IQU5ETEVSLAotICAJWkVO RF9OVUxMX0hBTkRMRVIsCi0gIAlaRU5EX05VTExfSEFORExFUiwKLSAgCVpFTkRfTlVMTF9IQU5E TEVSLAotICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19D T05TVF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIsCiAgIAlaRU5EX05VTExfSEFORExF UiwKICAgCVpFTkRfTlVMTF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5E X0FERF9JTlRFUkZBQ0VfU1BFQ19DT05TVF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIs CiAgIAlaRU5EX05VTExfSEFORExFUiwKICAgCVpFTkRfTlVMTF9IQU5ETEVSLAogICAJWkVORF9O VUxMX0hBTkRMRVIsCisgIAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19DT05TVF9IQU5ETEVSLAog ICAJWkVORF9OVUxMX0hBTkRMRVIsCiAgIAlaRU5EX05VTExfSEFORExFUiwKICAgCVpFTkRfTlVM TF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX0FERF9JTlRFUkZBQ0Vf U1BFQ19DT05TVF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIsCiAgIAlaRU5EX05VTExf SEFORExFUiwKICAgCVpFTkRfTlVMTF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hBTkRMRVIsCisg IAlaRU5EX0FERF9JTlRFUkZBQ0VfU1BFQ19DT05TVF9IQU5ETEVSLAogICAJWkVORF9OVUxMX0hB TkRMRVIsCiAgIAlaRU5EX05VTExfSEFORExFUiwKICAgCVpFTkRfTlVMTF9IQU5ETEVSLAogICAJ WkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZ RURfU1BFQ19IQU5ETEVSLAorICAJWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVE X1NQRUNfSEFORExFUiwKKyAgCVpFTkRfREVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9T UEVDX0hBTkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BF Q19IQU5ETEVSLAorICAJWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNf SEFORExFUiwKKyAgCVpFTkRfREVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hB TkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5E TEVSLAorICAJWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExF UiwKKyAgCVpFTkRfREVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIs CisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAor ICAJWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExFUiwKKyAg CVpFTkRfREVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIsCisgIAla RU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAorICAJWkVO RF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExFUiwKKyAgCVpFTkRf REVDTEFSRV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIsCisgIAlaRU5EX0RF Q0xBUkVfSU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAorICAJWkVORF9ERUNM QVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExFUiwKKyAgCVpFTkRfREVDTEFS RV9JTkhFUklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVf SU5IRVJJVEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAorICAJWkVORF9ERUNMQVJFX0lO SEVSSVRFRF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExFUiwKKyAgCVpFTkRfREVDTEFSRV9JTkhF UklURURfQ0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJ VEVEX0NMQVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAorICAJWkVORF9ERUNMQVJFX0lOSEVSSVRF RF9DTEFTU19ERUxBWUVEX1NQRUNfSEFORExFUiwKKyAgCVpFTkRfREVDTEFSRV9JTkhFUklURURf Q0xBU1NfREVMQVlFRF9TUEVDX0hBTkRMRVIsCisgIAlaRU5EX0RFQ0xBUkVfSU5IRVJJVEVEX0NM QVNTX0RFTEFZRURfU1BFQ19IQU5ETEVSLAogICAJWkVORF9WRVJJRllfQUJTVFJBQ1RfQ0xBU1Nf U1BFQ19IQU5ETEVSLAogICAJWkVORF9WRVJJRllfQUJTVFJBQ1RfQ0xBU1NfU1BFQ19IQU5ETEVS LAogICAJWkVORF9WRVJJRllfQUJTVFJBQ1RfQ0xBU1NfU1BFQ19IQU5ETEVSLApJbmRleDogWmVu ZC96ZW5kX3ZtX29wY29kZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5k RW5naW5lMi96ZW5kX3ZtX29wY29kZXMuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40Mi4yLjE3 LjIuMS4yLjQKZGlmZiAtdSAtcCAtZCAtcjEuNDIuMi4xNy4yLjEuMi40IHplbmRfdm1fb3Bjb2Rl cy5oCi0tLSBaZW5kL3plbmRfdm1fb3Bjb2Rlcy5oCTMxIERlYyAyMDA3IDA3OjE3OjA2IC0wMDAw CTEuNDIuMi4xNy4yLjEuMi40CisrKyBaZW5kL3plbmRfdm1fb3Bjb2Rlcy5oCTcgTWFyIDIwMDgg MTE6MzQ6MjYgLTAwMDAKQEAgLTE4LDEzNSArMTgsMTM2IEBACiAgICArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK ICovCiAKLSNkZWZpbmUgWkVORF9OT1AgICAgICAgICAgICAgICAgICAgICAgIDAKLSNkZWZpbmUg WkVORF9BREQgICAgICAgICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgWkVORF9TVUIgICAgICAg ICAgICAgICAgICAgICAgIDIKLSNkZWZpbmUgWkVORF9NVUwgICAgICAgICAgICAgICAgICAgICAg IDMKLSNkZWZpbmUgWkVORF9ESVYgICAgICAgICAgICAgICAgICAgICAgIDQKLSNkZWZpbmUgWkVO RF9NT0QgICAgICAgICAgICAgICAgICAgICAgIDUKLSNkZWZpbmUgWkVORF9TTCAgICAgICAgICAg ICAgICAgICAgICAgIDYKLSNkZWZpbmUgWkVORF9TUiAgICAgICAgICAgICAgICAgICAgICAgIDcK LSNkZWZpbmUgWkVORF9DT05DQVQgICAgICAgICAgICAgICAgICAgIDgKLSNkZWZpbmUgWkVORF9C V19PUiAgICAgICAgICAgICAgICAgICAgIDkKLSNkZWZpbmUgWkVORF9CV19BTkQgICAgICAgICAg ICAgICAgICAgMTAKLSNkZWZpbmUgWkVORF9CV19YT1IgICAgICAgICAgICAgICAgICAgMTEKLSNk ZWZpbmUgWkVORF9CV19OT1QgICAgICAgICAgICAgICAgICAgMTIKLSNkZWZpbmUgWkVORF9CT09M X05PVCAgICAgICAgICAgICAgICAgMTMKLSNkZWZpbmUgWkVORF9CT09MX1hPUiAgICAgICAgICAg ICAgICAgMTQKLSNkZWZpbmUgWkVORF9JU19JREVOVElDQUwgICAgICAgICAgICAgMTUKLSNkZWZp bmUgWkVORF9JU19OT1RfSURFTlRJQ0FMICAgICAgICAgMTYKLSNkZWZpbmUgWkVORF9JU19FUVVB TCAgICAgICAgICAgICAgICAgMTcKLSNkZWZpbmUgWkVORF9JU19OT1RfRVFVQUwgICAgICAgICAg ICAgMTgKLSNkZWZpbmUgWkVORF9JU19TTUFMTEVSICAgICAgICAgICAgICAgMTkKLSNkZWZpbmUg WkVORF9JU19TTUFMTEVSX09SX0VRVUFMICAgICAgMjAKLSNkZWZpbmUgWkVORF9DQVNUICAgICAg ICAgICAgICAgICAgICAgMjEKLSNkZWZpbmUgWkVORF9RTV9BU1NJR04gICAgICAgICAgICAgICAg MjIKLSNkZWZpbmUgWkVORF9BU1NJR05fQUREICAgICAgICAgICAgICAgMjMKLSNkZWZpbmUgWkVO RF9BU1NJR05fU1VCICAgICAgICAgICAgICAgMjQKLSNkZWZpbmUgWkVORF9BU1NJR05fTVVMICAg ICAgICAgICAgICAgMjUKLSNkZWZpbmUgWkVORF9BU1NJR05fRElWICAgICAgICAgICAgICAgMjYK LSNkZWZpbmUgWkVORF9BU1NJR05fTU9EICAgICAgICAgICAgICAgMjcKLSNkZWZpbmUgWkVORF9B U1NJR05fU0wgICAgICAgICAgICAgICAgMjgKLSNkZWZpbmUgWkVORF9BU1NJR05fU1IgICAgICAg ICAgICAgICAgMjkKLSNkZWZpbmUgWkVORF9BU1NJR05fQ09OQ0FUICAgICAgICAgICAgMzAKLSNk ZWZpbmUgWkVORF9BU1NJR05fQldfT1IgICAgICAgICAgICAgMzEKLSNkZWZpbmUgWkVORF9BU1NJ R05fQldfQU5EICAgICAgICAgICAgMzIKLSNkZWZpbmUgWkVORF9BU1NJR05fQldfWE9SICAgICAg ICAgICAgMzMKLSNkZWZpbmUgWkVORF9QUkVfSU5DICAgICAgICAgICAgICAgICAgMzQKLSNkZWZp bmUgWkVORF9QUkVfREVDICAgICAgICAgICAgICAgICAgMzUKLSNkZWZpbmUgWkVORF9QT1NUX0lO QyAgICAgICAgICAgICAgICAgMzYKLSNkZWZpbmUgWkVORF9QT1NUX0RFQyAgICAgICAgICAgICAg ICAgMzcKLSNkZWZpbmUgWkVORF9BU1NJR04gICAgICAgICAgICAgICAgICAgMzgKLSNkZWZpbmUg WkVORF9BU1NJR05fUkVGICAgICAgICAgICAgICAgMzkKLSNkZWZpbmUgWkVORF9FQ0hPICAgICAg ICAgICAgICAgICAgICAgNDAKLSNkZWZpbmUgWkVORF9QUklOVCAgICAgICAgICAgICAgICAgICAg NDEKLSNkZWZpbmUgWkVORF9KTVAgICAgICAgICAgICAgICAgICAgICAgNDIKLSNkZWZpbmUgWkVO RF9KTVBaICAgICAgICAgICAgICAgICAgICAgNDMKLSNkZWZpbmUgWkVORF9KTVBOWiAgICAgICAg ICAgICAgICAgICAgNDQKLSNkZWZpbmUgWkVORF9KTVBaTlogICAgICAgICAgICAgICAgICAgNDUK LSNkZWZpbmUgWkVORF9KTVBaX0VYICAgICAgICAgICAgICAgICAgNDYKLSNkZWZpbmUgWkVORF9K TVBOWl9FWCAgICAgICAgICAgICAgICAgNDcKLSNkZWZpbmUgWkVORF9DQVNFICAgICAgICAgICAg ICAgICAgICAgNDgKLSNkZWZpbmUgWkVORF9TV0lUQ0hfRlJFRSAgICAgICAgICAgICAgNDkKLSNk ZWZpbmUgWkVORF9CUksgICAgICAgICAgICAgICAgICAgICAgNTAKLSNkZWZpbmUgWkVORF9DT05U ICAgICAgICAgICAgICAgICAgICAgNTEKLSNkZWZpbmUgWkVORF9CT09MICAgICAgICAgICAgICAg ICAgICAgNTIKLSNkZWZpbmUgWkVORF9JTklUX1NUUklORyAgICAgICAgICAgICAgNTMKLSNkZWZp bmUgWkVORF9BRERfQ0hBUiAgICAgICAgICAgICAgICAgNTQKLSNkZWZpbmUgWkVORF9BRERfU1RS SU5HICAgICAgICAgICAgICAgNTUKLSNkZWZpbmUgWkVORF9BRERfVkFSICAgICAgICAgICAgICAg ICAgNTYKLSNkZWZpbmUgWkVORF9CRUdJTl9TSUxFTkNFICAgICAgICAgICAgNTcKLSNkZWZpbmUg WkVORF9FTkRfU0lMRU5DRSAgICAgICAgICAgICAgNTgKLSNkZWZpbmUgWkVORF9JTklUX0ZDQUxM X0JZX05BTUUgICAgICAgNTkKLSNkZWZpbmUgWkVORF9ET19GQ0FMTCAgICAgICAgICAgICAgICAg NjAKLSNkZWZpbmUgWkVORF9ET19GQ0FMTF9CWV9OQU1FICAgICAgICAgNjEKLSNkZWZpbmUgWkVO RF9SRVRVUk4gICAgICAgICAgICAgICAgICAgNjIKLSNkZWZpbmUgWkVORF9SRUNWICAgICAgICAg ICAgICAgICAgICAgNjMKLSNkZWZpbmUgWkVORF9SRUNWX0lOSVQgICAgICAgICAgICAgICAgNjQK LSNkZWZpbmUgWkVORF9TRU5EX1ZBTCAgICAgICAgICAgICAgICAgNjUKLSNkZWZpbmUgWkVORF9T RU5EX1ZBUiAgICAgICAgICAgICAgICAgNjYKLSNkZWZpbmUgWkVORF9TRU5EX1JFRiAgICAgICAg ICAgICAgICAgNjcKLSNkZWZpbmUgWkVORF9ORVcgICAgICAgICAgICAgICAgICAgICAgNjgKLSNk ZWZpbmUgWkVORF9JTklUX05TX0ZDQUxMX0JZX05BTUUgICAgNjkKLSNkZWZpbmUgWkVORF9GUkVF ICAgICAgICAgICAgICAgICAgICAgNzAKLSNkZWZpbmUgWkVORF9JTklUX0FSUkFZICAgICAgICAg ICAgICAgNzEKLSNkZWZpbmUgWkVORF9BRERfQVJSQVlfRUxFTUVOVCAgICAgICAgNzIKLSNkZWZp bmUgWkVORF9JTkNMVURFX09SX0VWQUwgICAgICAgICAgNzMKLSNkZWZpbmUgWkVORF9VTlNFVF9W QVIgICAgICAgICAgICAgICAgNzQKLSNkZWZpbmUgWkVORF9VTlNFVF9ESU0gICAgICAgICAgICAg ICAgNzUKLSNkZWZpbmUgWkVORF9VTlNFVF9PQkogICAgICAgICAgICAgICAgNzYKLSNkZWZpbmUg WkVORF9GRV9SRVNFVCAgICAgICAgICAgICAgICAgNzcKLSNkZWZpbmUgWkVORF9GRV9GRVRDSCAg ICAgICAgICAgICAgICAgNzgKLSNkZWZpbmUgWkVORF9FWElUICAgICAgICAgICAgICAgICAgICAg NzkKLSNkZWZpbmUgWkVORF9GRVRDSF9SICAgICAgICAgICAgICAgICAgODAKLSNkZWZpbmUgWkVO RF9GRVRDSF9ESU1fUiAgICAgICAgICAgICAgODEKLSNkZWZpbmUgWkVORF9GRVRDSF9PQkpfUiAg ICAgICAgICAgICAgODIKLSNkZWZpbmUgWkVORF9GRVRDSF9XICAgICAgICAgICAgICAgICAgODMK LSNkZWZpbmUgWkVORF9GRVRDSF9ESU1fVyAgICAgICAgICAgICAgODQKLSNkZWZpbmUgWkVORF9G RVRDSF9PQkpfVyAgICAgICAgICAgICAgODUKLSNkZWZpbmUgWkVORF9GRVRDSF9SVyAgICAgICAg ICAgICAgICAgODYKLSNkZWZpbmUgWkVORF9GRVRDSF9ESU1fUlcgICAgICAgICAgICAgODcKLSNk ZWZpbmUgWkVORF9GRVRDSF9PQkpfUlcgICAgICAgICAgICAgODgKLSNkZWZpbmUgWkVORF9GRVRD SF9JUyAgICAgICAgICAgICAgICAgODkKLSNkZWZpbmUgWkVORF9GRVRDSF9ESU1fSVMgICAgICAg ICAgICAgOTAKLSNkZWZpbmUgWkVORF9GRVRDSF9PQkpfSVMgICAgICAgICAgICAgOTEKLSNkZWZp bmUgWkVORF9GRVRDSF9GVU5DX0FSRyAgICAgICAgICAgOTIKLSNkZWZpbmUgWkVORF9GRVRDSF9E SU1fRlVOQ19BUkcgICAgICAgOTMKLSNkZWZpbmUgWkVORF9GRVRDSF9PQkpfRlVOQ19BUkcgICAg ICAgOTQKLSNkZWZpbmUgWkVORF9GRVRDSF9VTlNFVCAgICAgICAgICAgICAgOTUKLSNkZWZpbmUg WkVORF9GRVRDSF9ESU1fVU5TRVQgICAgICAgICAgOTYKLSNkZWZpbmUgWkVORF9GRVRDSF9PQkpf VU5TRVQgICAgICAgICAgOTcKLSNkZWZpbmUgWkVORF9GRVRDSF9ESU1fVE1QX1ZBUiAgICAgICAg OTgKLSNkZWZpbmUgWkVORF9GRVRDSF9DT05TVEFOVCAgICAgICAgICAgOTkKLSNkZWZpbmUgWkVO RF9FWFRfU1RNVCAgICAgICAgICAgICAgICAxMDEKLSNkZWZpbmUgWkVORF9FWFRfRkNBTExfQkVH SU4gICAgICAgICAxMDIKLSNkZWZpbmUgWkVORF9FWFRfRkNBTExfRU5EICAgICAgICAgICAxMDMK LSNkZWZpbmUgWkVORF9FWFRfTk9QICAgICAgICAgICAgICAgICAxMDQKLSNkZWZpbmUgWkVORF9U SUNLUyAgICAgICAgICAgICAgICAgICAxMDUKLSNkZWZpbmUgWkVORF9TRU5EX1ZBUl9OT19SRUYg ICAgICAgICAxMDYKLSNkZWZpbmUgWkVORF9DQVRDSCAgICAgICAgICAgICAgICAgICAxMDcKLSNk ZWZpbmUgWkVORF9USFJPVyAgICAgICAgICAgICAgICAgICAxMDgKLSNkZWZpbmUgWkVORF9GRVRD SF9DTEFTUyAgICAgICAgICAgICAxMDkKLSNkZWZpbmUgWkVORF9DTE9ORSAgICAgICAgICAgICAg ICAgICAxMTAKLSNkZWZpbmUgWkVORF9JTklUX01FVEhPRF9DQUxMICAgICAgICAxMTIKLSNkZWZp bmUgWkVORF9JTklUX1NUQVRJQ19NRVRIT0RfQ0FMTCAxMTMKLSNkZWZpbmUgWkVORF9JU1NFVF9J U0VNUFRZX1ZBUiAgICAgICAxMTQKLSNkZWZpbmUgWkVORF9JU1NFVF9JU0VNUFRZX0RJTV9PQkog ICAxMTUKLSNkZWZpbmUgWkVORF9QUkVfSU5DX09CSiAgICAgICAgICAgICAxMzIKLSNkZWZpbmUg WkVORF9QUkVfREVDX09CSiAgICAgICAgICAgICAxMzMKLSNkZWZpbmUgWkVORF9QT1NUX0lOQ19P QkogICAgICAgICAgICAxMzQKLSNkZWZpbmUgWkVORF9QT1NUX0RFQ19PQkogICAgICAgICAgICAx MzUKLSNkZWZpbmUgWkVORF9BU1NJR05fT0JKICAgICAgICAgICAgICAxMzYKLSNkZWZpbmUgWkVO RF9JTlNUQU5DRU9GICAgICAgICAgICAgICAxMzgKLSNkZWZpbmUgWkVORF9ERUNMQVJFX0NMQVNT ICAgICAgICAgICAxMzkKLSNkZWZpbmUgWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTUyAxNDAK LSNkZWZpbmUgWkVORF9ERUNMQVJFX0ZVTkNUSU9OICAgICAgICAxNDEKLSNkZWZpbmUgWkVORF9S QUlTRV9BQlNUUkFDVF9FUlJPUiAgICAxNDIKLSNkZWZpbmUgWkVORF9ERUNMQVJFX0NPTlNUICAg ICAgICAgICAxNDMKLSNkZWZpbmUgWkVORF9BRERfSU5URVJGQUNFICAgICAgICAgICAxNDQKLSNk ZWZpbmUgWkVORF9WRVJJRllfQUJTVFJBQ1RfQ0xBU1MgICAxNDYKLSNkZWZpbmUgWkVORF9BU1NJ R05fRElNICAgICAgICAgICAgICAxNDcKLSNkZWZpbmUgWkVORF9JU1NFVF9JU0VNUFRZX1BST1Bf T0JKICAxNDgKLSNkZWZpbmUgWkVORF9IQU5ETEVfRVhDRVBUSU9OICAgICAgICAxNDkKLSNkZWZp bmUgWkVORF9VU0VSX09QQ09ERSAgICAgICAgICAgICAxNTAKLSNkZWZpbmUgWkVORF9KTVBfU0VU ICAgICAgICAgICAgICAgICAxNTIKKyNkZWZpbmUgWkVORF9OT1AgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMAorI2RlZmluZSBaRU5EX0FERCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAxCisjZGVmaW5lIFpFTkRfU1VCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK KyNkZWZpbmUgWkVORF9NVUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmlu ZSBaRU5EX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIFpFTkRf TU9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgWkVORF9TTCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBaRU5EX1NSICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIFpFTkRfQ09OQ0FUICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDgKKyNkZWZpbmUgWkVORF9CV19PUiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOQorI2RlZmluZSBaRU5EX0JXX0FORCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw CisjZGVmaW5lIFpFTkRfQldfWE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZp bmUgWkVORF9CV19OT1QgICAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBaRU5E X0JPT0xfTk9UICAgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIFpFTkRfQk9PTF9Y T1IgICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgWkVORF9JU19JREVOVElDQUwg ICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBaRU5EX0lTX05PVF9JREVOVElDQUwgICAg ICAgICAgICAgICAgIDE2CisjZGVmaW5lIFpFTkRfSVNfRVFVQUwgICAgICAgICAgICAgICAgICAg ICAgICAgMTcKKyNkZWZpbmUgWkVORF9JU19OT1RfRVFVQUwgICAgICAgICAgICAgICAgICAgICAx OAorI2RlZmluZSBaRU5EX0lTX1NNQUxMRVIgICAgICAgICAgICAgICAgICAgICAgIDE5CisjZGVm aW5lIFpFTkRfSVNfU01BTExFUl9PUl9FUVVBTCAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgWkVO RF9DQVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMQorI2RlZmluZSBaRU5EX1FNX0FT U0lHTiAgICAgICAgICAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIFpFTkRfQVNTSUdOX0FERCAg ICAgICAgICAgICAgICAgICAgICAgMjMKKyNkZWZpbmUgWkVORF9BU1NJR05fU1VCICAgICAgICAg ICAgICAgICAgICAgICAyNAorI2RlZmluZSBaRU5EX0FTU0lHTl9NVUwgICAgICAgICAgICAgICAg ICAgICAgIDI1CisjZGVmaW5lIFpFTkRfQVNTSUdOX0RJViAgICAgICAgICAgICAgICAgICAgICAg MjYKKyNkZWZpbmUgWkVORF9BU1NJR05fTU9EICAgICAgICAgICAgICAgICAgICAgICAyNworI2Rl ZmluZSBaRU5EX0FTU0lHTl9TTCAgICAgICAgICAgICAgICAgICAgICAgIDI4CisjZGVmaW5lIFpF TkRfQVNTSUdOX1NSICAgICAgICAgICAgICAgICAgICAgICAgMjkKKyNkZWZpbmUgWkVORF9BU1NJ R05fQ09OQ0FUICAgICAgICAgICAgICAgICAgICAzMAorI2RlZmluZSBaRU5EX0FTU0lHTl9CV19P UiAgICAgICAgICAgICAgICAgICAgIDMxCisjZGVmaW5lIFpFTkRfQVNTSUdOX0JXX0FORCAgICAg ICAgICAgICAgICAgICAgMzIKKyNkZWZpbmUgWkVORF9BU1NJR05fQldfWE9SICAgICAgICAgICAg ICAgICAgICAzMworI2RlZmluZSBaRU5EX1BSRV9JTkMgICAgICAgICAgICAgICAgICAgICAgICAg IDM0CisjZGVmaW5lIFpFTkRfUFJFX0RFQyAgICAgICAgICAgICAgICAgICAgICAgICAgMzUKKyNk ZWZpbmUgWkVORF9QT1NUX0lOQyAgICAgICAgICAgICAgICAgICAgICAgICAzNgorI2RlZmluZSBa RU5EX1BPU1RfREVDICAgICAgICAgICAgICAgICAgICAgICAgIDM3CisjZGVmaW5lIFpFTkRfQVNT SUdOICAgICAgICAgICAgICAgICAgICAgICAgICAgMzgKKyNkZWZpbmUgWkVORF9BU1NJR05fUkVG ICAgICAgICAgICAgICAgICAgICAgICAzOQorI2RlZmluZSBaRU5EX0VDSE8gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDQwCisjZGVmaW5lIFpFTkRfUFJJTlQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgNDEKKyNkZWZpbmUgWkVORF9KTVAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA0MgorI2RlZmluZSBaRU5EX0pNUFogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzCisj ZGVmaW5lIFpFTkRfSk1QTlogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQKKyNkZWZpbmUg WkVORF9KTVBaTlogICAgICAgICAgICAgICAgICAgICAgICAgICA0NQorI2RlZmluZSBaRU5EX0pN UFpfRVggICAgICAgICAgICAgICAgICAgICAgICAgIDQ2CisjZGVmaW5lIFpFTkRfSk1QTlpfRVgg ICAgICAgICAgICAgICAgICAgICAgICAgNDcKKyNkZWZpbmUgWkVORF9DQVNFICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA0OAorI2RlZmluZSBaRU5EX1NXSVRDSF9GUkVFICAgICAgICAgICAg ICAgICAgICAgIDQ5CisjZGVmaW5lIFpFTkRfQlJLICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgNTAKKyNkZWZpbmUgWkVORF9DT05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MQor I2RlZmluZSBaRU5EX0JPT0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUyCisjZGVmaW5l IFpFTkRfSU5JVF9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgNTMKKyNkZWZpbmUgWkVORF9B RERfQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICA1NAorI2RlZmluZSBaRU5EX0FERF9TVFJJ TkcgICAgICAgICAgICAgICAgICAgICAgIDU1CisjZGVmaW5lIFpFTkRfQUREX1ZBUiAgICAgICAg ICAgICAgICAgICAgICAgICAgNTYKKyNkZWZpbmUgWkVORF9CRUdJTl9TSUxFTkNFICAgICAgICAg ICAgICAgICAgICA1NworI2RlZmluZSBaRU5EX0VORF9TSUxFTkNFICAgICAgICAgICAgICAgICAg ICAgIDU4CisjZGVmaW5lIFpFTkRfSU5JVF9GQ0FMTF9CWV9OQU1FICAgICAgICAgICAgICAgNTkK KyNkZWZpbmUgWkVORF9ET19GQ0FMTCAgICAgICAgICAgICAgICAgICAgICAgICA2MAorI2RlZmlu ZSBaRU5EX0RPX0ZDQUxMX0JZX05BTUUgICAgICAgICAgICAgICAgIDYxCisjZGVmaW5lIFpFTkRf UkVUVVJOICAgICAgICAgICAgICAgICAgICAgICAgICAgNjIKKyNkZWZpbmUgWkVORF9SRUNWICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA2MworI2RlZmluZSBaRU5EX1JFQ1ZfSU5JVCAgICAg ICAgICAgICAgICAgICAgICAgIDY0CisjZGVmaW5lIFpFTkRfU0VORF9WQUwgICAgICAgICAgICAg ICAgICAgICAgICAgNjUKKyNkZWZpbmUgWkVORF9TRU5EX1ZBUiAgICAgICAgICAgICAgICAgICAg ICAgICA2NgorI2RlZmluZSBaRU5EX1NFTkRfUkVGICAgICAgICAgICAgICAgICAgICAgICAgIDY3 CisjZGVmaW5lIFpFTkRfTkVXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjgKKyNkZWZp bmUgWkVORF9JTklUX05TX0ZDQUxMX0JZX05BTUUgICAgICAgICAgICA2OQorI2RlZmluZSBaRU5E X0ZSRUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwCisjZGVmaW5lIFpFTkRfSU5JVF9B UlJBWSAgICAgICAgICAgICAgICAgICAgICAgNzEKKyNkZWZpbmUgWkVORF9BRERfQVJSQVlfRUxF TUVOVCAgICAgICAgICAgICAgICA3MgorI2RlZmluZSBaRU5EX0lOQ0xVREVfT1JfRVZBTCAgICAg ICAgICAgICAgICAgIDczCisjZGVmaW5lIFpFTkRfVU5TRVRfVkFSICAgICAgICAgICAgICAgICAg ICAgICAgNzQKKyNkZWZpbmUgWkVORF9VTlNFVF9ESU0gICAgICAgICAgICAgICAgICAgICAgICA3 NQorI2RlZmluZSBaRU5EX1VOU0VUX09CSiAgICAgICAgICAgICAgICAgICAgICAgIDc2CisjZGVm aW5lIFpFTkRfRkVfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgNzcKKyNkZWZpbmUgWkVO RF9GRV9GRVRDSCAgICAgICAgICAgICAgICAgICAgICAgICA3OAorI2RlZmluZSBaRU5EX0VYSVQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc5CisjZGVmaW5lIFpFTkRfRkVUQ0hfUiAgICAg ICAgICAgICAgICAgICAgICAgICAgODAKKyNkZWZpbmUgWkVORF9GRVRDSF9ESU1fUiAgICAgICAg ICAgICAgICAgICAgICA4MQorI2RlZmluZSBaRU5EX0ZFVENIX09CSl9SICAgICAgICAgICAgICAg ICAgICAgIDgyCisjZGVmaW5lIFpFTkRfRkVUQ0hfVyAgICAgICAgICAgICAgICAgICAgICAgICAg ODMKKyNkZWZpbmUgWkVORF9GRVRDSF9ESU1fVyAgICAgICAgICAgICAgICAgICAgICA4NAorI2Rl ZmluZSBaRU5EX0ZFVENIX09CSl9XICAgICAgICAgICAgICAgICAgICAgIDg1CisjZGVmaW5lIFpF TkRfRkVUQ0hfUlcgICAgICAgICAgICAgICAgICAgICAgICAgODYKKyNkZWZpbmUgWkVORF9GRVRD SF9ESU1fUlcgICAgICAgICAgICAgICAgICAgICA4NworI2RlZmluZSBaRU5EX0ZFVENIX09CSl9S VyAgICAgICAgICAgICAgICAgICAgIDg4CisjZGVmaW5lIFpFTkRfRkVUQ0hfSVMgICAgICAgICAg ICAgICAgICAgICAgICAgODkKKyNkZWZpbmUgWkVORF9GRVRDSF9ESU1fSVMgICAgICAgICAgICAg ICAgICAgICA5MAorI2RlZmluZSBaRU5EX0ZFVENIX09CSl9JUyAgICAgICAgICAgICAgICAgICAg IDkxCisjZGVmaW5lIFpFTkRfRkVUQ0hfRlVOQ19BUkcgICAgICAgICAgICAgICAgICAgOTIKKyNk ZWZpbmUgWkVORF9GRVRDSF9ESU1fRlVOQ19BUkcgICAgICAgICAgICAgICA5MworI2RlZmluZSBa RU5EX0ZFVENIX09CSl9GVU5DX0FSRyAgICAgICAgICAgICAgIDk0CisjZGVmaW5lIFpFTkRfRkVU Q0hfVU5TRVQgICAgICAgICAgICAgICAgICAgICAgOTUKKyNkZWZpbmUgWkVORF9GRVRDSF9ESU1f VU5TRVQgICAgICAgICAgICAgICAgICA5NgorI2RlZmluZSBaRU5EX0ZFVENIX09CSl9VTlNFVCAg ICAgICAgICAgICAgICAgIDk3CisjZGVmaW5lIFpFTkRfRkVUQ0hfRElNX1RNUF9WQVIgICAgICAg ICAgICAgICAgOTgKKyNkZWZpbmUgWkVORF9GRVRDSF9DT05TVEFOVCAgICAgICAgICAgICAgICAg ICA5OQorI2RlZmluZSBaRU5EX0VYVF9TVE1UICAgICAgICAgICAgICAgICAgICAgICAgMTAxCisj ZGVmaW5lIFpFTkRfRVhUX0ZDQUxMX0JFR0lOICAgICAgICAgICAgICAgICAxMDIKKyNkZWZpbmUg WkVORF9FWFRfRkNBTExfRU5EICAgICAgICAgICAgICAgICAgIDEwMworI2RlZmluZSBaRU5EX0VY VF9OT1AgICAgICAgICAgICAgICAgICAgICAgICAgMTA0CisjZGVmaW5lIFpFTkRfVElDS1MgICAg ICAgICAgICAgICAgICAgICAgICAgICAxMDUKKyNkZWZpbmUgWkVORF9TRU5EX1ZBUl9OT19SRUYg ICAgICAgICAgICAgICAgIDEwNgorI2RlZmluZSBaRU5EX0NBVENIICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTA3CisjZGVmaW5lIFpFTkRfVEhST1cgICAgICAgICAgICAgICAgICAgICAgICAg ICAxMDgKKyNkZWZpbmUgWkVORF9GRVRDSF9DTEFTUyAgICAgICAgICAgICAgICAgICAgIDEwOQor I2RlZmluZSBaRU5EX0NMT05FICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEwCisjZGVmaW5l IFpFTkRfSU5JVF9NRVRIT0RfQ0FMTCAgICAgICAgICAgICAgICAxMTIKKyNkZWZpbmUgWkVORF9J TklUX1NUQVRJQ19NRVRIT0RfQ0FMTCAgICAgICAgIDExMworI2RlZmluZSBaRU5EX0lTU0VUX0lT RU1QVFlfVkFSICAgICAgICAgICAgICAgMTE0CisjZGVmaW5lIFpFTkRfSVNTRVRfSVNFTVBUWV9E SU1fT0JKICAgICAgICAgICAxMTUKKyNkZWZpbmUgWkVORF9QUkVfSU5DX09CSiAgICAgICAgICAg ICAgICAgICAgIDEzMgorI2RlZmluZSBaRU5EX1BSRV9ERUNfT0JKICAgICAgICAgICAgICAgICAg ICAgMTMzCisjZGVmaW5lIFpFTkRfUE9TVF9JTkNfT0JKICAgICAgICAgICAgICAgICAgICAxMzQK KyNkZWZpbmUgWkVORF9QT1NUX0RFQ19PQkogICAgICAgICAgICAgICAgICAgIDEzNQorI2RlZmlu ZSBaRU5EX0FTU0lHTl9PQkogICAgICAgICAgICAgICAgICAgICAgMTM2CisjZGVmaW5lIFpFTkRf SU5TVEFOQ0VPRiAgICAgICAgICAgICAgICAgICAgICAxMzgKKyNkZWZpbmUgWkVORF9ERUNMQVJF X0NMQVNTICAgICAgICAgICAgICAgICAgIDEzOQorI2RlZmluZSBaRU5EX0RFQ0xBUkVfSU5IRVJJ VEVEX0NMQVNTICAgICAgICAgMTQwCisjZGVmaW5lIFpFTkRfREVDTEFSRV9GVU5DVElPTiAgICAg ICAgICAgICAgICAxNDEKKyNkZWZpbmUgWkVORF9SQUlTRV9BQlNUUkFDVF9FUlJPUiAgICAgICAg ICAgIDE0MgorI2RlZmluZSBaRU5EX0RFQ0xBUkVfQ09OU1QgICAgICAgICAgICAgICAgICAgMTQz CisjZGVmaW5lIFpFTkRfQUREX0lOVEVSRkFDRSAgICAgICAgICAgICAgICAgICAxNDQKKyNkZWZp bmUgWkVORF9ERUNMQVJFX0lOSEVSSVRFRF9DTEFTU19ERUxBWUVEIDE0NQorI2RlZmluZSBaRU5E X1ZFUklGWV9BQlNUUkFDVF9DTEFTUyAgICAgICAgICAgMTQ2CisjZGVmaW5lIFpFTkRfQVNTSUdO X0RJTSAgICAgICAgICAgICAgICAgICAgICAxNDcKKyNkZWZpbmUgWkVORF9JU1NFVF9JU0VNUFRZ X1BST1BfT0JKICAgICAgICAgIDE0OAorI2RlZmluZSBaRU5EX0hBTkRMRV9FWENFUFRJT04gICAg ICAgICAgICAgICAgMTQ5CisjZGVmaW5lIFpFTkRfVVNFUl9PUENPREUgICAgICAgICAgICAgICAg ICAgICAxNTAKKyNkZWZpbmUgWkVORF9KTVBfU0VUICAgICAgICAgICAgICAgICAgICAgICAgIDE1 MgpJbmRleDogc2FwaS9jZ2kvY2dpX21haW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3Np dG9yeS9waHAtc3JjL3NhcGkvY2dpL2NnaV9tYWluLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MjY3LjIuMTUuMi41MC4yLjEzCmRpZmYgLXUgLXAgLWQgLXIxLjI2Ny4yLjE1LjIuNTAuMi4xMyBj Z2lfbWFpbi5jCi0tLSBzYXBpL2NnaS9jZ2lfbWFpbi5jCTI4IEZlYiAyMDA4IDAwOjUxOjU2IC0w MDAwCTEuMjY3LjIuMTUuMi41MC4yLjEzCisrKyBzYXBpL2NnaS9jZ2lfbWFpbi5jCTcgTWFyIDIw MDggMTE6MzQ6MjkgLTAwMDAKQEAgLTE2OTEsNyArMTY5MSw3IEBAIGNvbnN1bHQgdGhlIGluc3Rh bGxhdGlvbiBmaWxlIHRoYXQgY2FtZSAKIAkJCQkJCQlicmVhazsKIAogCQkJCQkJY2FzZSAnZSc6 IC8qIGVuYWJsZSBleHRlbmRlZCBpbmZvIG91dHB1dCAqLwotCQkJCQkJCUNHKGV4dGVuZGVkX2lu Zm8pID0gMTsKKwkJCQkJCQlDRyhjb21waWxlcl9vcHRpb25zKSB8PSBaRU5EX0NPTVBJTEVfRVhU RU5ERURfSU5GTzsKIAkJCQkJCQlicmVhazsKIAogCQkJCQkJY2FzZSAnZic6IC8qIHBhcnNlIGZp bGUgKi8KSW5kZXg6IHNhcGkvY2xpL3BocF9jbGkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVw b3NpdG9yeS9waHAtc3JjL3NhcGkvY2xpL3BocF9jbGkuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS4xMjkuMi4xMy4yLjIyLjIuNApkaWZmIC11IC1wIC1kIC1yMS4xMjkuMi4xMy4yLjIyLjIuNCBw aHBfY2xpLmMKLS0tIHNhcGkvY2xpL3BocF9jbGkuYwkzIEZlYiAyMDA4IDE3OjQ5OjQ2IC0wMDAw CTEuMTI5LjIuMTMuMi4yMi4yLjQKKysrIHNhcGkvY2xpL3BocF9jbGkuYwk3IE1hciAyMDA4IDEx OjM0OjI5IC0wMDAwCkBAIC04MjEsNyArODIxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKIAkJCQlicmVhazsKIAogCQkJY2FzZSAnZSc6IC8qIGVuYWJsZSBleHRlbmRlZCBp bmZvIG91dHB1dCAqLwotCQkJCUNHKGV4dGVuZGVkX2luZm8pID0gMTsKKwkJCQlDRyhjb21waWxl cl9vcHRpb25zKSB8PSBaRU5EX0NPTVBJTEVfRVhURU5ERURfSU5GTzsKIAkJCQlicmVhazsKIAog CQkJY2FzZSAnRic6CkluZGV4OiBzYXBpL21pbHRlci9waHBfbWlsdGVyLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL3JlcG9zaXRvcnkvcGhwLXNyYy9zYXBpL21pbHRlci9waHBfbWlsdGVyLmMsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQuMi4yLjIuMy4yLjIKZGlmZiAtdSAtcCAtZCAtcjEuMTQu Mi4yLjIuMy4yLjIgcGhwX21pbHRlci5jCi0tLSBzYXBpL21pbHRlci9waHBfbWlsdGVyLmMJMzEg RGVjIDIwMDcgMDc6MTc6MTggLTAwMDAJMS4xNC4yLjIuMi4zLjIuMgorKysgc2FwaS9taWx0ZXIv cGhwX21pbHRlci5jCTcgTWFyIDIwMDggMTE6MzQ6MjkgLTAwMDAKQEAgLTEwMzMsNyArMTAzMyw3 IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQkJYnJlYWs7CiAKIAkJCWNh c2UgJ2UnOiAvKiBlbmFibGUgZXh0ZW5kZWQgaW5mbyBvdXRwdXQgKi8KLQkJCQlDRyhleHRlbmRl ZF9pbmZvKSA9IDE7CisJCQkJQ0coY29tcGlsZXJfb3B0aW9ucykgfD0gWkVORF9DT01QSUxFX0VY VEVOREVEX0lORk87CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgJ2YnOiAvKiBwYXJzZSBmaWxlICov Cg== ------_=_NextPart_001_01C88047.9127C3B9--