From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B93624405 for ; Fri, 5 Jan 2024 03:42:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cTsKcrE2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704426147; x=1735962147; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=rJIZPG8PF5hyeHOkmpUmqFJRUUkpfJVFW1ubRsyrUvg=; b=cTsKcrE2Igd4hhgJNs/DdVLz6l7BdkACCRZ6UqIYYv85KWKgHMZGKC6n +/Mt772gu07cp9mCHMdH2DVeFqg0Iy7RDX6KoWdn29fqmEGkupi9staAg sjBqRLNadO1inSaTWhMxUi1wkLO/oKn5uF3rdMjeFRE903H2ENnLMvmeX JgoU3AD4IsTkjsCw3/BEUikzD8AXv7EuoMj5ajihImYEVlgdMXoH42pwr d0yy/lfyrSc0tPNQV4smDWeGJFkeAwLHnwzEtWZPFUnQqSPw8HZWTgpLx J20klfCEGse2GMxvK1xsI/ppOeclAEs7lzoYZ12lo15CE/KuEzvNGFj3y g==; X-IronPort-AV: E=McAfee;i="6600,9927,10943"; a="4785005" X-IronPort-AV: E=Sophos;i="6.04,332,1695711600"; d="scan'208";a="4785005" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2024 19:42:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10943"; a="846455665" X-IronPort-AV: E=Sophos;i="6.04,332,1695711600"; d="scan'208";a="846455665" Received: from spandruv-desk.jf.intel.com (HELO spandruv-desk.amr.corp.intel.com) ([10.54.75.14]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2024 19:42:25 -0800 Message-ID: <2f517bc7b94806f8998852c5cbeb56a760401a84.camel@linux.intel.com> Subject: Re: [PATCH] platform/x86: intel-uncore-freq: Fix types in sysfs callbacks From: srinivas pandruvada To: Nathan Chancellor , hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com Cc: keescook@chromium.org, samitolvanen@google.com, platform-driver-x86@vger.kernel.org, llvm@lists.linux.dev, patches@lists.linux.dev Date: Thu, 04 Jan 2024 19:42:24 -0800 In-Reply-To: <20240104-intel-uncore-freq-kcfi-fix-v1-1-bf1e8939af40@kernel.org> References: <20240104-intel-uncore-freq-kcfi-fix-v1-1-bf1e8939af40@kernel.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.44.4 (3.44.4-3.fc36) Precedence: bulk X-Mailing-List: platform-driver-x86@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 SGkgTmF0aGFuLAoKT24gdmFjYXRpb24uIFdpbGwgY2hlY2sgdGhlIHBhdGNoIG5leHQgd2Vlay4K ClRoYW5rcywKU3Jpbml2YXMKCk9uIFRodSwgMjAyNC0wMS0wNCBhdCAxNTo1OSAtMDcwMCwgTmF0 aGFuIENoYW5jZWxsb3Igd3JvdGU6Cj4gV2hlbiBib290aW5nIGEga2VybmVsIHdpdGggQ09ORklH X0NGSV9DTEFORywgdGhlcmUgaXMgYSBDRkkgZmFpbHVyZQo+IHdoZW4KPiBhY2Nlc3NpbmcgYW55 IG9mIHRoZSB2YWx1ZXMgdW5kZXIKPiAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9pbnRlbF91bmNv cmVfZnJlcXVlbmN5L3BhY2thZ2VfMDBfZGllXzAwOgo+IAo+IMKgICQgY2F0Cj4gL3N5cy9kZXZp Y2VzL3N5c3RlbS9jcHUvaW50ZWxfdW5jb3JlX2ZyZXF1ZW5jeS9wYWNrYWdlXzAwX2RpZV8wMC9t YXhfCj4gZnJlcV9raHoKPiDCoCBmaXNoOiBKb2IgMSwgJ2NhdCAvc3lzL2RldmljZXMvc3lzdGVt L2NwdS9pbnTigKYnIHRlcm1pbmF0ZWQgYnkKPiBzaWduYWwgU0lHU0VHViAoQWRkcmVzcyBib3Vu ZGFyeSBlcnJvcikKPiAKPiDCoCAkIHN1ZG8gZG1lc2cgJnwgZ3JlcCAnQ0ZJIGZhaWx1cmUnCj4g wqAgW8KgIDE3MC45NTM5MjVdIENGSSBmYWlsdXJlIGF0IGtvYmpfYXR0cl9zaG93KzB4MTkvMHgz MCAodGFyZ2V0Ogo+IHNob3dfbWF4X2ZyZXFfa2h6KzB4MC8weGMwIFtpbnRlbF91bmNvcmVfZnJl cXVlbmN5X2NvbW1vbl07IGV4cGVjdGVkCj4gdHlwZTogMHhkMzQwNzhjNQo+IAo+IFRoZSBzeXNm cyBjYWxsYmFjayBmdW5jdGlvbnMgc3VjaCBhcyBzaG93X2RvbWFpbl9pZCgpIGFyZSB3cml0dGVu IGFzCj4gaWYKPiB0aGV5IGFyZSBnb2luZyB0byBiZSBjYWxsZWQgYnkgZGV2X2F0dHJfc2hvdygp IGJ1dCBhcyB0aGUgYWJvdmUKPiBtZXNzYWdlCj4gc2hvd3MsIHRoZXkgYXJlIGluc3RlYWQgY2Fs bGVkIGJ5IGtvYmpfYXR0cl9zaG93KCkuIGtDRkkgY2hlY2tzIHRoYXQKPiB0aGUKPiBkZXN0aW5h dGlvbiBvZiBhbiBpbmRpcmVjdCBqdW1wIGhhcyB0aGUgZXhhY3Qgc2FtZSB0eXBlIGFzIHRoZQo+ IHByb3RvdHlwZQo+IG9mIHRoZSBmdW5jdGlvbiBwb2ludGVyIGl0IGlzIGNhbGxlZCB0aHJvdWdo IGFuZCBmYWlscyB3aGVuIHRoZXkgZG8KPiBub3QuCj4gCj4gVGhlc2UgY2FsbGJhY2tzIGFyZSBj YWxsZWQgdGhyb3VnaCBrb2JqX2F0dHJfc2hvdygpIGJlY2F1c2UKPiB1bmNvcmVfcm9vdF9rb2Jq IHdhcyBpbml0aWFsaXplZCB3aXRoIGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoKSwgd2hpY2gKPiBt ZWFucyB1bmNvcmVfcm9vdF9rb2JqIGhhcyBhIC0+c3lzZnNfb3BzIG9mIGtvYmpfc3lzZnNfb3Bz IGZyb20KPiBrb2JqZWN0X2NyZWF0ZSgpLCB3aGljaCB1c2VzIGtvYmpfYXR0cl9zaG93KCkgYXMg aXRzIC0+c2hvdygpIHZhbHVlLgo+IAo+IFRoZSBvbmx5IHJlYXNvbiB0aGVyZSBoYXMgbm90IGJl ZW4gYSBtb3JlIG5vdGljZWFibGUgcHJvYmxlbSB1bnRpbAo+IHRoaXMKPiBwb2ludCBpcyB0aGF0 ICdzdHJ1Y3Qga29ial9hdHRyaWJ1dGUnIGFuZCAnc3RydWN0IGRldmljZV9hdHRyaWJ1dGUnCj4g aGF2ZQo+IHRoZSBzYW1lIGxheW91dCwgc28gZ2V0dGluZyB0aGUgY2FsbGJhY2sgZnJvbSBjb250 YWluZXJfb2YoKSB3b3Jrcwo+IHRoZQo+IHNhbWUgd2l0aCBlaXRoZXIgdmFsdWUuCj4gCj4gQ2hh bmdlIGFsbCB0aGUgY2FsbGJhY2tzIGFuZCB0aGVpciB1c2VzIHRvIGJlIGNvbXBhdGlibGUgd2l0 aAo+IGtvYmpfYXR0cl9zaG93KCkgYW5kIGtvYmpfYXR0cl9zdG9yZSgpLCB3aGljaCByZXNvbHZl cyB0aGUga0NGSQo+IGZhaWx1cmUKPiBhbmQgYWxsb3dzIHRoZSBzeXNmcyBmaWxlcyB0byB3b3Jr IHByb3Blcmx5Lgo+IAo+IENsb3NlczogaHR0cHM6Ly9naXRodWIuY29tL0NsYW5nQnVpbHRMaW51 eC9saW51eC9pc3N1ZXMvMTk3NAo+IEZpeGVzOiBhZTdiMmNlNTc4NTEgKCJwbGF0Zm9ybS94ODYv aW50ZWwvdW5jb3JlLWZyZXE6IFVzZSBzeXNmcyBBUEkKPiB0byBjcmVhdGUgYXR0cmlidXRlcyIp Cj4gU2lnbmVkLW9mZi1ieTogTmF0aGFuIENoYW5jZWxsb3IgPG5hdGhhbkBrZXJuZWwub3JnPgo+ IC0tLQo+IEkgdGhpbmsgSSBnb3QgdGhlIGZpeGVzIHRhZyByaWdodC4gSSBvbmx5IHN0YXJ0ZWQg c2VlaW5nIHRoaXMgYmVjYXVzZQo+IG9mCj4gY29tbWl0IDI3ZjJiMDg3MzVjOSAoInBsYXRmb3Jt L3g4NjogaW50ZWwtdW5jb3JlLWZyZXE6IEFkZCBhZGRpdGlvbmFsCj4gY2xpZW50IHByb2Nlc3Nv cnMiKSwgd2hpY2ggYWxsb3dzIHRoaXMgZHJpdmVyIHRvIGxvYWQgb24gbXkgaTctMTE3MDAKPiB0 ZXN0IHN5c3RlbSBidXQgSSB0aGluayB0aGUgY29tbWl0IGluIHRoZSBGaXhlcyB0YWcgaW5jb3Jy ZWN0bHkKPiBjaGFuZ2VzCj4gdGhlIHR5cGVzIG9mIHRoZSBjYWxsYmFja3MuCj4gLS0tCj4gwqAu Li4vdW5jb3JlLWZyZXF1ZW5jeS91bmNvcmUtZnJlcXVlbmN5LWNvbW1vbi5jwqDCoMKgwqAgfCA4 MiArKysrKysrKysrKy0KPiAtLS0tLS0tLS0tCj4gwqAuLi4vdW5jb3JlLWZyZXF1ZW5jeS91bmNv cmUtZnJlcXVlbmN5LWNvbW1vbi5owqDCoMKgwqAgfCAzMiArKysrLS0tLS0KPiDCoDIgZmlsZXMg Y2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsL3VuY29yZS1mcmVxdWVuY3kvdW5jb3JlLQo+ IGZyZXF1ZW5jeS1jb21tb24uYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsL3VuY29yZS0K PiBmcmVxdWVuY3kvdW5jb3JlLWZyZXF1ZW5jeS1jb21tb24uYwo+IGluZGV4IDMzYWIyMDc0OTNl My4uMzNiYjU4ZGMzZjc4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVs L3VuY29yZS1mcmVxdWVuY3kvdW5jb3JlLWZyZXF1ZW5jeS0KPiBjb21tb24uYwo+ICsrKyBiL2Ry aXZlcnMvcGxhdGZvcm0veDg2L2ludGVsL3VuY29yZS1mcmVxdWVuY3kvdW5jb3JlLWZyZXF1ZW5j eS0KPiBjb21tb24uYwo+IEBAIC0yMywyMyArMjMsMjMgQEAgc3RhdGljIGludCAoKnVuY29yZV9y ZWFkKShzdHJ1Y3QgdW5jb3JlX2RhdGEKPiAqZGF0YSwgdW5zaWduZWQgaW50ICptaW4sIHVuc2ln bmVkCj4gwqBzdGF0aWMgaW50ICgqdW5jb3JlX3dyaXRlKShzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRh dGEsIHVuc2lnbmVkIGludAo+IGlucHV0LCB1bnNpZ25lZCBpbnQgbWluX21heCk7Cj4gwqBzdGF0 aWMgaW50ICgqdW5jb3JlX3JlYWRfZnJlcSkoc3RydWN0IHVuY29yZV9kYXRhICpkYXRhLCB1bnNp Z25lZAo+IGludCAqZnJlcSk7Cj4gwqAKPiAtc3RhdGljIHNzaXplX3Qgc2hvd19kb21haW5faWQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QKPiBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFy ICpidWYpCj4gK3N0YXRpYyBzc2l6ZV90IHNob3dfZG9tYWluX2lkKHN0cnVjdCBrb2JqZWN0ICpr b2JqLCBzdHJ1Y3QKPiBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQo+IMKgewo+IC3C oMKgwqDCoMKgwqDCoHN0cnVjdCB1bmNvcmVfZGF0YSAqZGF0YSA9IGNvbnRhaW5lcl9vZihhdHRy LCBzdHJ1Y3QKPiB1bmNvcmVfZGF0YSwgZG9tYWluX2lkX2Rldl9hdHRyKTsKPiArwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2YoYXR0ciwgc3RydWN0 Cj4gdW5jb3JlX2RhdGEsIGRvbWFpbl9pZF9rb2JqX2F0dHIpOwo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoHJldHVybiBzcHJpbnRmKGJ1ZiwgIiV1XG4iLCBkYXRhLT5kb21haW5faWQpOwo+IMKgfQo+ IMKgCj4gLXN0YXRpYyBzc2l6ZV90IHNob3dfZmFicmljX2NsdXN0ZXJfaWQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QKPiBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCj4gK3N0 YXRpYyBzc2l6ZV90IHNob3dfZmFicmljX2NsdXN0ZXJfaWQoc3RydWN0IGtvYmplY3QgKmtvYmos IHN0cnVjdAo+IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCj4gwqB7Cj4gLcKgwqDC oMKgwqDCoMKgc3RydWN0IHVuY29yZV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKGF0dHIsIHN0 cnVjdAo+IHVuY29yZV9kYXRhLCBmYWJyaWNfY2x1c3Rlcl9pZF9kZXZfYXR0cik7Cj4gK8KgwqDC oMKgwqDCoMKgc3RydWN0IHVuY29yZV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKGF0dHIsIHN0 cnVjdAo+IHVuY29yZV9kYXRhLCBmYWJyaWNfY2x1c3Rlcl9pZF9rb2JqX2F0dHIpOwo+IMKgCj4g wqDCoMKgwqDCoMKgwqDCoHJldHVybiBzcHJpbnRmKGJ1ZiwgIiV1XG4iLCBkYXRhLT5jbHVzdGVy X2lkKTsKPiDCoH0KPiDCoAo+IC1zdGF0aWMgc3NpemVfdCBzaG93X3BhY2thZ2VfaWQoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3QKPiBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYp Cj4gK3N0YXRpYyBzc2l6ZV90IHNob3dfcGFja2FnZV9pZChzdHJ1Y3Qga29iamVjdCAqa29iaiwg c3RydWN0Cj4ga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKPiDCoHsKPiAtwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2YoYXR0ciwgc3Ry dWN0Cj4gdW5jb3JlX2RhdGEsIHBhY2thZ2VfaWRfZGV2X2F0dHIpOwo+ICvCoMKgwqDCoMKgwqDC oHN0cnVjdCB1bmNvcmVfZGF0YSAqZGF0YSA9IGNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QKPiB1 bmNvcmVfZGF0YSwgcGFja2FnZV9pZF9rb2JqX2F0dHIpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDC oHJldHVybiBzcHJpbnRmKGJ1ZiwgIiV1XG4iLCBkYXRhLT5wYWNrYWdlX2lkKTsKPiDCoH0KPiBA QCAtOTcsMzAgKzk3LDMwIEBAIHN0YXRpYyBzc2l6ZV90IHNob3dfcGVyZl9zdGF0dXNfZnJlcV9r aHooc3RydWN0Cj4gdW5jb3JlX2RhdGEgKmRhdGEsIGNoYXIgKmJ1ZikKPiDCoH0KPiDCoAo+IMKg I2RlZmluZSBzdG9yZV91bmNvcmVfbWluX21heChuYW1lLAo+IG1pbl9tYXgpwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gLcKgwqDCoMKg wqDCoMKgc3RhdGljIHNzaXplX3Qgc3RvcmVfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmRldizCoMKg wqDCoMKgwqDCoMKgwqBcCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUK PiAqYXR0cizCoMKgwqDCoMKgXAo+ICvCoMKgwqDCoMKgwqDCoHN0YXRpYyBzc2l6ZV90IHN0b3Jl XyMjbmFtZShzdHJ1Y3Qga29iamVjdAo+ICprb2JqLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUKPiAqYXR0cizCoMKg wqDCoMKgwqDCoFwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QKPiBj b3VudCnCoMKgwqDCoMKgXAo+IMKgwqDCoMKgwqDCoMKgwqB7wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgXAo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBj b250YWluZXJfb2YoYXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19kZXZfYXR0cik7 XAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRh dGEgPSBjb250YWluZXJfb2YoYXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19rb2Jq X2F0dHIpO1wKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqBcCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gc3RvcmVfbWluX21heF9mcmVxX2toeihkYXRh LCBidWYsIGNvdW50LMKgXAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtaW5f bWF4KTvCoMKgwqDCoMKgwqDCoMKgwqBcCj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKgI2Rl ZmluZSBzaG93X3VuY29yZV9taW5fbWF4KG5hbWUsCj4gbWluX21heCnCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKg wqDCoHN0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmRldizCoMKgwqDC oMKgwqDCoMKgwqDCoFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0 dHIsCj4gY2hhciAqYnVmKVwKPiArwqDCoMKgwqDCoMKgwqBzdGF0aWMgc3NpemVfdCBzaG93XyMj bmFtZShzdHJ1Y3Qga29iamVjdAo+ICprb2JqLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgXAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIKPiAq YnVmKVwKPiDCoMKgwqDCoMKgwqDCoMKge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqAgXAo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2Yo YXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19kZXZfYXR0cik7XAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWlu ZXJfb2YoYXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19rb2JqX2F0dHIpO1wKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqBcCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gc2hvd19taW5fbWF4X2ZyZXFfa2h6KGRhdGEsIGJ1ZiwKPiBtaW5f bWF4KTvCoMKgwqDCoMKgwqDCoFwKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqAjZGVmaW5l Cj4gc2hvd191bmNvcmVfcGVyZl9zdGF0dXMobmFtZSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiAtwqDCoMKgwqDC oMKgwqBzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYswqDCoMKg wqDCoMKgwqDCoMKgwqBcCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0 ciwKPiBjaGFyICpidWYpXAo+ICvCoMKgwqDCoMKgwqDCoHN0YXRpYyBzc2l6ZV90IHNob3dfIyNu YW1lKHN0cnVjdCBrb2JqZWN0Cj4gKmtvYmoswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIKPiAqYnVm KVwKPiDCoMKgwqDCoMKgwqDCoMKge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqAgXAo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2YoYXR0 ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19kZXZfYXR0cik7XAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3JlX2RhdGEgKmRhdGEgPSBjb250YWluZXJf b2YoYXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsIG5hbWUjI19rb2JqX2F0dHIpO1wKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqBcCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gc2hvd19wZXJmX3N0YXR1c19mcmVxX2toeihkYXRhLCBidWYpOyBcCj4g wqDCoMKgwqDCoMKgwqDCoH0KPiBAQCAtMTM0LDExICsxMzQsMTEgQEAgc2hvd191bmNvcmVfbWlu X21heChtYXhfZnJlcV9raHosIDEpOwo+IMKgc2hvd191bmNvcmVfcGVyZl9zdGF0dXMoY3VycmVu dF9mcmVxX2toeik7Cj4gwqAKPiDCoCNkZWZpbmUKPiBzaG93X3VuY29yZV9kYXRhKG1lbWJlcl9u YW1lKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoHN0YXRpYyBzc2l6ZV90IHNob3dfIyNt ZW1iZXJfbmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYswqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlCj4gKmF0dHIsIGNoYXIgKmJ1ZilcCj4g K8KgwqDCoMKgwqDCoMKgc3RhdGljIHNzaXplX3Qgc2hvd18jI21lbWJlcl9uYW1lKHN0cnVjdCBr b2JqZWN0ICprb2JqLMKgXAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBrb2Jq X2F0dHJpYnV0ZQo+ICphdHRyLCBjaGFyICpidWYpXAo+IMKgwqDCoMKgwqDCoMKgwqB7wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Cj4gwqDCoCBcCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdW5jb3Jl X2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2YoYXR0ciwgc3RydWN0Cj4gdW5jb3JlX2RhdGEsXAo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Cj4gbWVtYmVyX25hbWUjI19kZXZfYXR0cik7XAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gbWVtYmVyX25hbWUjI19rb2JqX2F0dHIp O1wKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqBcCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gc3lzZnNfZW1pdChidWYsCj4gIiV1XG4iLMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBk YXRhLQo+ID5tZW1iZXJfbmFtZSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoFwKPiBAQCAtMTQ5LDI5ICsxNDksMjkgQEAgc2hvd191bmNvcmVfZGF0YShpbml0aWFsX21h eF9mcmVxX2toeik7Cj4gwqAKPiDCoCNkZWZpbmUKPiBpbml0X2F0dHJpYnV0ZV9ydyhfbmFtZSnC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gwqDCoMKgwqDCoMKgwqDCoGRvCj4ge8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfYXR0cl9pbml0KCZkYXRhLT5fbmFt ZSMjX2Rldl9hdHRyLmF0dHIpO8KgwqBcCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEtPl9uYW1lIyNfZGV2X2F0dHIuc2hvdyA9Cj4gc2hvd18jI19uYW1lO8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5f bmFtZSMjX2Rldl9hdHRyLnN0b3JlID0KPiBzdG9yZV8jI19uYW1lO8KgwqDCoMKgwqDCoMKgwqDC oMKgwqBcCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPl9uYW1lIyNfZGV2 X2F0dHIuYXR0ci5uYW1lID0KPiAjX25hbWU7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19kZXZfYXR0ci5h dHRyLm1vZGUgPQo+IDA2NDQ7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN5c2ZzX2F0dHJfaW5pdCgmZGF0YS0+X25hbWUj I19rb2JqX2F0dHIuYXR0cik7wqBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEtPl9uYW1lIyNfa29ial9hdHRyLnNob3cgPQo+IHNob3dfIyNfbmFtZTvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPl9uYW1l IyNfa29ial9hdHRyLnN0b3JlID0KPiBzdG9yZV8jI19uYW1lO8KgwqDCoMKgwqDCoMKgwqDCoMKg XAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5fbmFtZSMjX2tvYmpfYXR0 ci5hdHRyLm5hbWUgPQo+ICNfbmFtZTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19rb2JqX2F0dHIuYXR0ci5t b2RlID0KPiAwNjQ0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiDCoMKgwqDCoMKg wqDCoMKgfSB3aGlsZSAoMCkKPiDCoAo+IMKgI2RlZmluZQo+IGluaXRfYXR0cmlidXRlX3JvKF9u YW1lKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiDCoMKgwqDCoMKgwqDCoMKgZG8KPiB7wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg XAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzeXNmc19hdHRyX2luaXQoJmRhdGEt Pl9uYW1lIyNfZGV2X2F0dHIuYXR0cik7wqDCoFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZGF0YS0+X25hbWUjI19kZXZfYXR0ci5zaG93ID0KPiBzaG93XyMjX25hbWU7wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEtPl9uYW1lIyNfZGV2X2F0dHIuc3RvcmUgPQo+IE5VTEw7wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoFwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0 YS0+X25hbWUjI19kZXZfYXR0ci5hdHRyLm5hbWUgPQo+ICNfbmFtZTvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5fbmFt ZSMjX2Rldl9hdHRyLmF0dHIubW9kZSA9Cj4gMDQ0NDvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3lzZnNfYXR0cl9pbml0 KCZkYXRhLT5fbmFtZSMjX2tvYmpfYXR0ci5hdHRyKTvCoFwKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19rb2JqX2F0dHIuc2hvdyA9Cj4gc2hvd18jI19uYW1l O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS0+X25hbWUjI19rb2JqX2F0dHIuc3RvcmUgPQo+IE5VTEw7wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEtPl9uYW1lIyNfa29ial9hdHRyLmF0dHIubmFtZSA9Cj4gI19uYW1lO8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgXAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5f bmFtZSMjX2tvYmpfYXR0ci5hdHRyLm1vZGUgPQo+IDA0NDQ7wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgXAo+IMKgwqDCoMKgwqDCoMKgwqB9IHdoaWxlICgwKQo+IMKgCj4gwqAjZGVmaW5l Cj4gaW5pdF9hdHRyaWJ1dGVfcm9vdF9ybyhfbmFtZSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiDCoMKgwqDCoMKg wqDCoMKgZG8KPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzeXNm c19hdHRyX2luaXQoJmRhdGEtPl9uYW1lIyNfZGV2X2F0dHIuYXR0cik7wqDCoFwKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19kZXZfYXR0ci5zaG93ID0KPiBz aG93XyMjX25hbWU7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGRhdGEtPl9uYW1lIyNfZGV2X2F0dHIuc3RvcmUgPQo+IE5VTEw7wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19kZXZfYXR0ci5hdHRyLm5hbWUgPQo+ICNfbmFt ZTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgXAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkYXRhLT5fbmFtZSMjX2Rldl9hdHRyLmF0dHIubW9kZSA9Cj4gMDQwMDvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgc3lzZnNfYXR0cl9pbml0KCZkYXRhLT5fbmFtZSMjX2tvYmpfYXR0ci5hdHRyKTvCoFwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19rb2JqX2F0dHIuc2hv dyA9Cj4gc2hvd18jI19uYW1lO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+X25hbWUjI19rb2JqX2F0dHIuc3RvcmUgPQo+IE5V TEw7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBcCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPl9uYW1lIyNfa29ial9hdHRyLmF0dHIubmFtZSA9Cj4g I19uYW1lO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgXAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBkYXRhLT5fbmFtZSMjX2tvYmpfYXR0ci5hdHRyLm1vZGUgPQo+IDA0MDA7wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgXAo+IMKgwqDCoMKgwqDCoMKgwqB9IHdoaWxlICgw KQo+IMKgCj4gwqBzdGF0aWMgaW50IGNyZWF0ZV9hdHRyX2dyb3VwKHN0cnVjdCB1bmNvcmVfZGF0 YSAqZGF0YSwgY2hhciAqbmFtZSkKPiBAQCAtMTg2LDIxICsxODYsMjEgQEAgc3RhdGljIGludCBj cmVhdGVfYXR0cl9ncm91cChzdHJ1Y3QgdW5jb3JlX2RhdGEKPiAqZGF0YSwgY2hhciAqbmFtZSkK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoZGF0YS0+ZG9tYWluX2lkICE9IFVOQ09SRV9ET01B SU5fSURfSU5WQUxJRCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW5pdF9h dHRyaWJ1dGVfcm9vdF9ybyhkb21haW5faWQpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBkYXRhLT51bmNvcmVfYXR0cnNbaW5kZXgrK10gPSAmZGF0YS0KPiA+ZG9tYWluX2lkX2Rl dl9hdHRyLmF0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPnVuY29y ZV9hdHRyc1tpbmRleCsrXSA9ICZkYXRhLQo+ID5kb21haW5faWRfa29ial9hdHRyLmF0dHI7Cj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpbml0X2F0dHJpYnV0ZV9yb290X3JvKGZh YnJpY19jbHVzdGVyX2lkKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+ dW5jb3JlX2F0dHJzW2luZGV4KytdID0gJmRhdGEtCj4gPmZhYnJpY19jbHVzdGVyX2lkX2Rldl9h dHRyLmF0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPnVuY29yZV9h dHRyc1tpbmRleCsrXSA9ICZkYXRhLQo+ID5mYWJyaWNfY2x1c3Rlcl9pZF9rb2JqX2F0dHIuYXR0 cjsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGluaXRfYXR0cmlidXRlX3Jvb3Rf cm8ocGFja2FnZV9pZCk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPnVu Y29yZV9hdHRyc1tpbmRleCsrXSA9ICZkYXRhLQo+ID5wYWNrYWdlX2lkX2Rldl9hdHRyLmF0dHI7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEtPnVuY29yZV9hdHRyc1tpbmRl eCsrXSA9ICZkYXRhLQo+ID5wYWNrYWdlX2lkX2tvYmpfYXR0ci5hdHRyOwo+IMKgwqDCoMKgwqDC oMKgwqB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqBkYXRhLT51bmNvcmVfYXR0cnNbaW5kZXgrK10g PSAmZGF0YS0KPiA+bWF4X2ZyZXFfa2h6X2Rldl9hdHRyLmF0dHI7Cj4gLcKgwqDCoMKgwqDCoMKg ZGF0YS0+dW5jb3JlX2F0dHJzW2luZGV4KytdID0gJmRhdGEtCj4gPm1pbl9mcmVxX2toel9kZXZf YXR0ci5hdHRyOwo+IC3CoMKgwqDCoMKgwqDCoGRhdGEtPnVuY29yZV9hdHRyc1tpbmRleCsrXSA9 ICZkYXRhLQo+ID5pbml0aWFsX21pbl9mcmVxX2toel9kZXZfYXR0ci5hdHRyOwo+IC3CoMKgwqDC oMKgwqDCoGRhdGEtPnVuY29yZV9hdHRyc1tpbmRleCsrXSA9ICZkYXRhLQo+ID5pbml0aWFsX21h eF9mcmVxX2toel9kZXZfYXR0ci5hdHRyOwo+ICvCoMKgwqDCoMKgwqDCoGRhdGEtPnVuY29yZV9h dHRyc1tpbmRleCsrXSA9ICZkYXRhLQo+ID5tYXhfZnJlcV9raHpfa29ial9hdHRyLmF0dHI7Cj4g K8KgwqDCoMKgwqDCoMKgZGF0YS0+dW5jb3JlX2F0dHJzW2luZGV4KytdID0gJmRhdGEtCj4gPm1p bl9mcmVxX2toel9rb2JqX2F0dHIuYXR0cjsKPiArwqDCoMKgwqDCoMKgwqBkYXRhLT51bmNvcmVf YXR0cnNbaW5kZXgrK10gPSAmZGF0YS0KPiA+aW5pdGlhbF9taW5fZnJlcV9raHpfa29ial9hdHRy LmF0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgZGF0YS0+dW5jb3JlX2F0dHJzW2luZGV4KytdID0gJmRh dGEtCj4gPmluaXRpYWxfbWF4X2ZyZXFfa2h6X2tvYmpfYXR0ci5hdHRyOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoHJldCA9IHVuY29yZV9yZWFkX2ZyZXEoZGF0YSwgJmZyZXEpOwo+IMKgwqDCoMKg wqDCoMKgwqBpZiAoIXJldCkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+ dW5jb3JlX2F0dHJzW2luZGV4KytdID0gJmRhdGEtCj4gPmN1cnJlbnRfZnJlcV9raHpfZGV2X2F0 dHIuYXR0cjsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+dW5jb3JlX2F0 dHJzW2luZGV4KytdID0gJmRhdGEtCj4gPmN1cnJlbnRfZnJlcV9raHpfa29ial9hdHRyLmF0dHI7 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZGF0YS0+dW5jb3JlX2F0dHJzW2luZGV4XSA9IE5VTEw7 Cj4gwqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwvdW5jb3JlLWZy ZXF1ZW5jeS91bmNvcmUtCj4gZnJlcXVlbmN5LWNvbW1vbi5oIGIvZHJpdmVycy9wbGF0Zm9ybS94 ODYvaW50ZWwvdW5jb3JlLQo+IGZyZXF1ZW5jeS91bmNvcmUtZnJlcXVlbmN5LWNvbW1vbi5oCj4g aW5kZXggN2FmYjY5OTc3YzdlLi4wZTViZjUwN2U1NTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9w bGF0Zm9ybS94ODYvaW50ZWwvdW5jb3JlLWZyZXF1ZW5jeS91bmNvcmUtZnJlcXVlbmN5LQo+IGNv bW1vbi5oCj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwvdW5jb3JlLWZyZXF1ZW5j eS91bmNvcmUtZnJlcXVlbmN5LQo+IGNvbW1vbi5oCj4gQEAgLTI2LDE0ICsyNiwxNCBAQAo+IMKg ICogQGluc3RhbmNlX2lkOsKgwqDCoMKgwqDCoMKgVW5pcXVlIGluc3RhbmNlIGlkIHRvIGFwcGVu ZCB0byBkaXJlY3RvcnkKPiBuYW1lCj4gwqAgKiBAbmFtZTrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgU3lzZnMgZW50cnkgbmFtZSBmb3IgdGhpcyBpbnN0YW5jZQo+IMKgICogQHVuY29yZV9h dHRyX2dyb3VwOsKgQXR0cmlidXRlIGdyb3VwIHN0b3JhZ2UKPiAtICogQG1heF9mcmVxX2toel9k ZXZfYXR0cjogU3RvcmFnZSBmb3IgZGV2aWNlIGF0dHJpYnV0ZSBtYXhfZnJlcV9raHoKPiAtICog QG1peF9mcmVxX2toel9kZXZfYXR0cjogU3RvcmFnZSBmb3IgZGV2aWNlIGF0dHJpYnV0ZSBtaW5f ZnJlcV9raHoKPiAtICogQGluaXRpYWxfbWF4X2ZyZXFfa2h6X2Rldl9hdHRyOiBTdG9yYWdlIGZv ciBkZXZpY2UgYXR0cmlidXRlCj4gaW5pdGlhbF9tYXhfZnJlcV9raHoKPiAtICogQGluaXRpYWxf bWluX2ZyZXFfa2h6X2Rldl9hdHRyOiBTdG9yYWdlIGZvciBkZXZpY2UgYXR0cmlidXRlCj4gaW5p dGlhbF9taW5fZnJlcV9raHoKPiAtICogQGN1cnJlbnRfZnJlcV9raHpfZGV2X2F0dHI6IFN0b3Jh Z2UgZm9yIGRldmljZSBhdHRyaWJ1dGUKPiBjdXJyZW50X2ZyZXFfa2h6Cj4gLSAqIEBkb21haW5f aWRfZGV2X2F0dHI6IFN0b3JhZ2UgZm9yIGRldmljZSBhdHRyaWJ1dGUgZG9tYWluX2lkCj4gLSAq IEBmYWJyaWNfY2x1c3Rlcl9pZF9kZXZfYXR0cjogU3RvcmFnZSBmb3IgZGV2aWNlIGF0dHJpYnV0 ZQo+IGZhYnJpY19jbHVzdGVyX2lkCj4gLSAqIEBwYWNrYWdlX2lkX2Rldl9hdHRyOiBTdG9yYWdl IGZvciBkZXZpY2UgYXR0cmlidXRlIHBhY2thZ2VfaWQKPiArICogQG1heF9mcmVxX2toel9rb2Jq X2F0dHI6IFN0b3JhZ2UgZm9yIGtvYmplY3QgYXR0cmlidXRlCj4gbWF4X2ZyZXFfa2h6Cj4gKyAq IEBtaXhfZnJlcV9raHpfa29ial9hdHRyOiBTdG9yYWdlIGZvciBrb2JqZWN0IGF0dHJpYnV0ZQo+ IG1pbl9mcmVxX2toego+ICsgKiBAaW5pdGlhbF9tYXhfZnJlcV9raHpfa29ial9hdHRyOiBTdG9y YWdlIGZvciBrb2JqZWN0IGF0dHJpYnV0ZQo+IGluaXRpYWxfbWF4X2ZyZXFfa2h6Cj4gKyAqIEBp bml0aWFsX21pbl9mcmVxX2toel9rb2JqX2F0dHI6IFN0b3JhZ2UgZm9yIGtvYmplY3QgYXR0cmli dXRlCj4gaW5pdGlhbF9taW5fZnJlcV9raHoKPiArICogQGN1cnJlbnRfZnJlcV9raHpfa29ial9h dHRyOiBTdG9yYWdlIGZvciBrb2JqZWN0IGF0dHJpYnV0ZQo+IGN1cnJlbnRfZnJlcV9raHoKPiAr ICogQGRvbWFpbl9pZF9rb2JqX2F0dHI6IFN0b3JhZ2UgZm9yIGtvYmplY3QgYXR0cmlidXRlIGRv bWFpbl9pZAo+ICsgKiBAZmFicmljX2NsdXN0ZXJfaWRfa29ial9hdHRyOiBTdG9yYWdlIGZvciBr b2JqZWN0IGF0dHJpYnV0ZQo+IGZhYnJpY19jbHVzdGVyX2lkCj4gKyAqIEBwYWNrYWdlX2lkX2tv YmpfYXR0cjogU3RvcmFnZSBmb3Iga29iamVjdCBhdHRyaWJ1dGUgcGFja2FnZV9pZAo+IMKgICog QHVuY29yZV9hdHRyczrCoMKgwqDCoMKgwqBBdHRyaWJ1dGUgc3RvcmFnZSBmb3IgZ3JvdXAgY3Jl YXRpb24KPiDCoCAqCj4gwqAgKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGVuY2Fwc3VsYXRl IGFsbCBkYXRhIHJlbGF0ZWQgdG8gdW5jb3JlCj4gc3lzZnMKPiBAQCAtNTMsMTQgKzUzLDE0IEBA IHN0cnVjdCB1bmNvcmVfZGF0YSB7Cj4gwqDCoMKgwqDCoMKgwqDCoGNoYXIgbmFtZVszMl07Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCB1bmNvcmVfYXR0cl9n cm91cDsKPiAtwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBtYXhfZnJlcV9r aHpfZGV2X2F0dHI7Cj4gLcKgwqDCoMKgwqDCoMKgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgbWlu X2ZyZXFfa2h6X2Rldl9hdHRyOwo+IC3CoMKgwqDCoMKgwqDCoHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlIGluaXRpYWxfbWF4X2ZyZXFfa2h6X2Rldl9hdHRyOwo+IC3CoMKgwqDCoMKgwqDCoHN0cnVj dCBkZXZpY2VfYXR0cmlidXRlIGluaXRpYWxfbWluX2ZyZXFfa2h6X2Rldl9hdHRyOwo+IC3CoMKg wqDCoMKgwqDCoHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGN1cnJlbnRfZnJlcV9raHpfZGV2X2F0 dHI7Cj4gLcKgwqDCoMKgwqDCoMKgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZG9tYWluX2lkX2Rl dl9hdHRyOwo+IC3CoMKgwqDCoMKgwqDCoHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGZhYnJpY19j bHVzdGVyX2lkX2Rldl9hdHRyOwo+IC3CoMKgwqDCoMKgwqDCoHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlIHBhY2thZ2VfaWRfZGV2X2F0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGtvYmpfYXR0 cmlidXRlIG1heF9mcmVxX2toel9rb2JqX2F0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGtv YmpfYXR0cmlidXRlIG1pbl9mcmVxX2toel9rb2JqX2F0dHI7Cj4gK8KgwqDCoMKgwqDCoMKgc3Ry dWN0IGtvYmpfYXR0cmlidXRlIGluaXRpYWxfbWF4X2ZyZXFfa2h6X2tvYmpfYXR0cjsKPiArwqDC oMKgwqDCoMKgwqBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgaW5pdGlhbF9taW5fZnJlcV9raHpfa29i al9hdHRyOwo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBjdXJyZW50X2Zy ZXFfa2h6X2tvYmpfYXR0cjsKPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUg ZG9tYWluX2lkX2tvYmpfYXR0cjsKPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qga29ial9hdHRyaWJ1 dGUgZmFicmljX2NsdXN0ZXJfaWRfa29ial9hdHRyOwo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBr b2JqX2F0dHJpYnV0ZSBwYWNrYWdlX2lkX2tvYmpfYXR0cjsKPiDCoMKgwqDCoMKgwqDCoMKgc3Ry dWN0IGF0dHJpYnV0ZSAqdW5jb3JlX2F0dHJzWzldOwo+IMKgfTsKPiDCoAo+IAo+IC0tLQo+IGJh c2UtY29tbWl0OiAyMzZmN2Q4MDM0ZmY0MDFkMDJmYTZkNzRiYWU0OTRhMmI1NGUxODM0Cj4gY2hh bmdlLWlkOiAyMDI0MDEwNC1pbnRlbC11bmNvcmUtZnJlcS1rY2ZpLWZpeC02ZWYwNzA1M2RiNTgK PiAKPiBCZXN0IHJlZ2FyZHMsCgo=