Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp229285pxk; Wed, 2 Sep 2020 20:28:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzXjR0o0+NNNj7A3Bb24zNOwu8vLVpT/qYEH2k/a+DknUfmytK2ehfty5V5uOrkjPaBWl2H X-Received: by 2002:a17:906:f950:: with SMTP id ld16mr40192ejb.489.1599103712457; Wed, 02 Sep 2020 20:28:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599103712; cv=none; d=google.com; s=arc-20160816; b=TcVfRjE3tHcUX9hH6/G7/+XQVElQOszikQEe2oUkWtYlLnkGnc5fhK0tSwgK/gwp13 d+12E65+FeChxVN5vpGQRl2UFh22QJNjf8YdJBlrU2BqHeHZPl4lmXgBEfKBVA8OLDej txFCi9xAYXtvbiAITcRIKFT7H0MdNpq4WSxN4HbCvcLHI9j1I+jPo6pmnS2U99lE/MBk 9i7d7Zwtf8C+uJ1DM2E79Zjd2zypz04m22uguFP2RNgs45/GUiinIFFYtleFiXpsMlGi IC0GOXw5bx4gNLgUwDkDS0CwyfRqFzbcJmhqMNAl6JirGnjv4DFqJCd7bavs8E3C02gH BSBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WtNwKq6Sv08b3dpl+Rsxt/hBADl4ZCmRNRLiogEH2Xs=; b=rXiqX5Gle59mgadFx117Be7cpl12zaC3L66GCZQf6gf+wObXVeucW11Z87MbRldTr5 2pa0QCDPpzi8BIaLgM9Fxi7JovXhti7+rDu5gSei+aPGkpMGvu+iZHr2OfdLZy2UJAOY Ttc7/JDkZ6LdVW3Y3puGd7lM+BJVqTO9bsPznUf0HdbybdsXk7MR0xLnnVcrBvi4A3r4 jfMFnCK7YY1LNSfGu8l8FF6ktCUuW5IKpn51Y/MR2w+X0UG4OaOJuV1j3slII2a+oP8c VysBT/jShAjcFoDQMQrISAppAAZBTaAqyQyb5Na3nFwZ3aqV/ZSAp6gZdJm/MnoumCLd QkVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=nWTxeoHg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id md18si1057072ejb.343.2020.09.02.20.28.08; Wed, 02 Sep 2020 20:28:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=nWTxeoHg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728270AbgICDYN (ORCPT + 99 others); Wed, 2 Sep 2020 23:24:13 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:48962 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728152AbgICDYG (ORCPT ); Wed, 2 Sep 2020 23:24:06 -0400 X-UUID: ac2f92062ef446c09826a2549a745801-20200903 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=WtNwKq6Sv08b3dpl+Rsxt/hBADl4ZCmRNRLiogEH2Xs=; b=nWTxeoHgwnj4UND13MVjdQVXjDcbay+hQkHiZBRnRF2xH3qzFUZH7KEUEOmAm20tEd9iQURaWGVIjfshEcWilYc7RiFtB3j7f8djbvSEsQWlQAFxkMiFe9pnoPGTQJ3PmAoVI9CDwy0ez1Bj2IPsfPrIITWF6nDYh7NTjXu2xb8=; X-UUID: ac2f92062ef446c09826a2549a745801-20200903 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1595151596; Thu, 03 Sep 2020 11:23:27 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 3 Sep 2020 11:23:24 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 3 Sep 2020 11:23:25 +0800 From: Weiyi Lu To: Matthias Brugger , Rob Herring , Stephen Boyd , Nicolas Boichat CC: James Liao , , , , , , Weiyi Lu , Wendell Lin Subject: [PATCH v3 9/9] clk: mediatek: Add MT8192 clock support Date: Thu, 3 Sep 2020 11:23:00 +0800 Message-ID: <1599103380-4155-10-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1599103380-4155-1-git-send-email-weiyi.lu@mediatek.com> References: <1599103380-4155-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIE1UODE5MiBjbG9jayBzdXBwb3J0LCBpbmNsdWRlIHRvcGNrZ2VuLCBhcG1peGVkc3lzLA0K aW5mcmFjZmcsIHBlcmljZmcgYW5kIHN1YnN5c3RlbSBjbG9ja3MuDQoNClNpZ25lZC1vZmYtYnk6 IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2Nsay9tZWRp YXRlay9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgIHwgIDE0NiArKysNCiBkcml2ZXJzL2Ns ay9tZWRpYXRlay9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgIHwgICAyNCArDQogZHJpdmVy cy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1hdWQuYyAgICAgICAgICAgICB8ICAxMTggKysNCiBk cml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbS5jICAgICAgICAgICAgIHwgICA3MiAr Kw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2EuYyAgICAgICAgfCAg IDU5ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdiLmMgICAgICAg IHwgICA1OSArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW1fcmF3Yy5jICAg ICAgICB8ICAgNTkgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1nLmMgICAg ICAgICAgICAgfCAgIDYwICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltZzIu YyAgICAgICAgICAgIHwgICA2MiArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1p bXBfaWljX3dyYXBfYy5jICB8ICAgNjEgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgx OTItaW1wX2lpY193cmFwX2UuYyAgfCAgIDU4ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGst bXQ4MTkyLWltcF9paWNfd3JhcF9uLmMgIHwgICA1OSArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcy5jICB8ICAgNjAgKw0KIGRyaXZlcnMvY2xrL21lZGlh dGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX3cuYyAgfCAgIDU4ICsNCiBkcml2ZXJzL2Nsay9t ZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF93cy5jIHwgICA2MCArDQogZHJpdmVycy9j bGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pcGUuYyAgICAgICAgICAgICB8ICAgNjQgKw0KIGRyaXZl cnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWRwLmMgICAgICAgICAgICAgfCAgIDg5ICsrDQog ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tZmcuYyAgICAgICAgICAgICB8ICAgNTcg Kw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbW0uYyAgICAgICAgICAgICAgfCAg MTA4ICsrDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjLmMgICAgICAgICAg ICB8ICAgNTcgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbXNkY190b3AuYyAg ICAgICAgfCAgIDcxICsrDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1zY3BfYWRz cC5jICAgICAgICB8ICAgNTcgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmRl Yy5jICAgICAgICAgICAgfCAgIDgyICsrDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi12ZGVjX3NvYy5jICAgICAgICB8ICAgODIgKysNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGst bXQ4MTkyLXZlbmMuYyAgICAgICAgICAgIHwgICA2MCArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW10ODE5Mi5jICAgICAgICAgICAgICAgICB8IDEzNDAgKysrKysrKysrKysrKysrKysrKysr DQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oICAgICAgICAgICAgICAgICAgICB8ICAg MTUgKw0KIDI3IGZpbGVzIGNoYW5nZWQsIDMwOTcgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWF1ZC5jDQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtLmMNCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW1fcmF3YS5jDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jh d2IuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTky LWNhbV9yYXdjLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi1pbWcuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9j bGstbXQ4MTkyLWltZzIuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfZS5jDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX24uYw0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9p aWNfd3JhcF9zLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi1pbXBfaWljX3dyYXBfdy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX3dzLmMNCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pcGUuYw0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1kcC5jDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWZnLmMNCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tbS5jDQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbXNkYy5jDQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbXNkY190b3AuYw0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLXNjcF9h ZHNwLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi12ZGVjLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi12ZGVjX3NvYy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVr L2Nsay1tdDgxOTItdmVuYy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlh dGVrL2Nsay1tdDgxOTIuYw0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvS2Nv bmZpZyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL0tjb25maWcNCmluZGV4IDg5Y2ViMmZiLi5hMDUx M2IxIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvS2NvbmZpZw0KKysrIGIvZHJp dmVycy9jbGsvbWVkaWF0ZWsvS2NvbmZpZw0KQEAgLTQ0MSw2ICs0NDEsMTUyIEBAIGNvbmZpZyBD T01NT05fQ0xLX01UODE4M19WRU5DU1lTDQogCWhlbHANCiAJICBUaGlzIGRyaXZlciBzdXBwb3J0 cyBNZWRpYVRlayBNVDgxODMgdmVuY3N5cyBjbG9ja3MuDQogDQorY29uZmlnIENPTU1PTl9DTEtf TVQ4MTkyDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIg0KKwlkZXBl bmRzIG9uIEFSTTY0IHx8IENPTVBJTEVfVEVTVA0KKwlzZWxlY3QgQ09NTU9OX0NMS19NRURJQVRF Sw0KKwlkZWZhdWx0IEFSTTY0DQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRp YVRlayBNVDgxOTIgYmFzaWMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9B VURTWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgYXVkc3lzIg0K KwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBz dXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgYXVkc3lzIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9O X0NMS19NVDgxOTJfQ0FNU1lTDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4 MTkyIGNhbXN5cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAg VGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGNhbXN5cyBjbG9ja3MuDQorDQor Y29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX0NBTVNZU19SQVdBDQorCWJvb2wgIkNsb2NrIGRyaXZl ciBmb3IgTWVkaWFUZWsgTVQ4MTkyIGNhbXN5c19yYXdhIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9D TEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgx OTIgY2Ftc3lzX3Jhd2EgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9DQU1T WVNfUkFXQg0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBjYW1zeXNf cmF3YiINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBk cml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGNhbXN5c19yYXdiIGNsb2Nrcy4NCisNCitj b25maWcgQ09NTU9OX0NMS19NVDgxOTJfQ0FNU1lTX1JBV0MNCisJYm9vbCAiQ2xvY2sgZHJpdmVy IGZvciBNZWRpYVRlayBNVDgxOTIgY2Ftc3lzX3Jhd2MiDQorCWRlcGVuZHMgb24gQ09NTU9OX0NM S19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5 MiBjYW1zeXNfcmF3YyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX0lNR1NZ Uw0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpbWdzeXMiDQorCWRl cGVuZHMgb24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBv cnRzIE1lZGlhVGVrIE1UODE5MiBpbWdzeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xL X01UODE5Ml9JTUdTWVMyDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTky IGltZ3N5czIiDQorCWRlcGVuZHMgb24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRo aXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5MiBpbWdzeXMyIGNsb2Nrcy4NCisNCitj b25maWcgQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX0MNCisJYm9vbCAiQ2xvY2sgZHJp dmVyIGZvciBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX2MiDQorCWRlcGVuZHMgb24gQ09N TU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVr IE1UODE5MiBpbXBfaWljX3dyYXBfYyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4 MTkyX0lNUF9JSUNfV1JBUF9FDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4 MTkyIGltcF9paWNfd3JhcF9lIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhl bHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFw X2UgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBfTg0K Kwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpbXBfaWljX3dyYXBfbiIN CisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIg c3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGltcF9paWNfd3JhcF9uIGNsb2Nrcy4NCisNCitjb25m aWcgQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX1MNCisJYm9vbCAiQ2xvY2sgZHJpdmVy IGZvciBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX3MiDQorCWRlcGVuZHMgb24gQ09NTU9O X0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1U ODE5MiBpbXBfaWljX3dyYXBfcyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTky X0lNUF9JSUNfV1JBUF9XDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTky IGltcF9paWNfd3JhcF93Ig0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHAN CisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX3cg Y2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBfV1MNCisJ Ym9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX3dzIg0K KwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBz dXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX3dzIGNsb2Nrcy4NCisNCitjb25m aWcgQ09NTU9OX0NMS19NVDgxOTJfSVBFU1lTDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVk aWFUZWsgTVQ4MTkyIGlwZXN5cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwlo ZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGlwZXN5cyBjbG9j a3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX01EUFNZUw0KKwlib29sICJDbG9jayBk cml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBtZHBzeXMiDQorCWRlcGVuZHMgb24gQ09NTU9OX0NM S19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5 MiBtZHBzeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9NRkdDRkcNCisJ Ym9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgbWZnY2ZnIg0KKwlkZXBlbmRz IG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBN ZWRpYVRlayBNVDgxOTIgbWZnY2ZnIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgx OTJfTU1TWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgbW1zeXMi DQorCWRlcGVuZHMgb24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVy IHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5MiBtbXN5cyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1P Tl9DTEtfTVQ4MTkyX01TRENfVE9QDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsg TVQ4MTkyIG1zZGNfdG9wIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHAN CisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgbXNkY190b3AgY2xvY2tz Lg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9NU0RDDQorCWJvb2wgIkNsb2NrIGRyaXZl ciBmb3IgTWVkaWFUZWsgTVQ4MTkyIG1zZGMiDQorCWRlcGVuZHMgb24gQ09NTU9OX0NMS19NVDgx OTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5MiBtc2Rj IGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfU0NQX0FEU1ANCisJYm9vbCAi Q2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgc2NwX2Fkc3AiDQorCWRlcGVuZHMgb24g Q09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlh VGVrIE1UODE5MiBzY3BfYWRzcCBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTky X1ZERUNTWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgdmRlY3N5 cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2 ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIHZkZWNzeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBD T01NT05fQ0xLX01UODE5Ml9WREVDU1lTX1NPQw0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1l ZGlhVGVrIE1UODE5MiB2ZGVjc3lzX3NvYyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5 Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIHZkZWNz eXNfc29jIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfVkVOQ1NZUw0KKwli b29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiB2ZW5jc3lzIg0KKwlkZXBlbmRz IG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBN ZWRpYVRlayBNVDgxOTIgdmVuY3N5cyBjbG9ja3MuDQorDQogY29uZmlnIENPTU1PTl9DTEtfTVQ4 NTE2DQogCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4NTE2Ig0KIAlkZXBlbmRz IG9uIEFSQ0hfTUVESUFURUsgfHwgQ09NUElMRV9URVNUDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9j bGsvbWVkaWF0ZWsvTWFrZWZpbGUgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9NYWtlZmlsZQ0KaW5k ZXggOTU5YjU1Ni4uM2U2NjBhYyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL01h a2VmaWxlDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9NYWtlZmlsZQ0KQEAgLTYxLDUgKzYx LDI5IEBAIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE4M19NRkdDRkcpICs9IGNsay1tdDgx ODMtbWZnY2ZnLm8NCiBvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxODNfTU1TWVMpICs9IGNs ay1tdDgxODMtbW0ubw0KIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE4M19WREVDU1lTKSAr PSBjbGstbXQ4MTgzLXZkZWMubw0KIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE4M19WRU5D U1lTKSArPSBjbGstbXQ4MTgzLXZlbmMubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5 MikgKz0gY2xrLW10ODE5Mi5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0FVRFNZ UykgKz0gY2xrLW10ODE5Mi1hdWQubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9D QU1TWVMpICs9IGNsay1tdDgxOTItY2FtLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgx OTJfQ0FNU1lTX1JBV0EpICs9IGNsay1tdDgxOTItY2FtX3Jhd2Eubw0KK29iai0kKENPTkZJR19D T01NT05fQ0xLX01UODE5Ml9DQU1TWVNfUkFXQikgKz0gY2xrLW10ODE5Mi1jYW1fcmF3Yi5vDQor b2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0NBTVNZU19SQVdDKSArPSBjbGstbXQ4MTky LWNhbV9yYXdjLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfSU1HU1lTKSArPSBj bGstbXQ4MTkyLWltZy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0lNR1NZUzIp ICs9IGNsay1tdDgxOTItaW1nMi5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0lN UF9JSUNfV1JBUF9DKSArPSBjbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLm8NCitvYmotJChDT05G SUdfQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX0UpICs9IGNsay1tdDgxOTItaW1wX2lp Y193cmFwX2Uubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBf TikgKz0gY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfbi5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9D TEtfTVQ4MTkyX0lNUF9JSUNfV1JBUF9TKSArPSBjbGstbXQ4MTkyLWltcF9paWNfd3JhcF9zLm8N CitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX1cpICs9IGNsay1t dDgxOTItaW1wX2lpY193cmFwX3cubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9J TVBfSUlDX1dSQVBfV1MpICs9IGNsay1tdDgxOTItaW1wX2lpY193cmFwX3dzLm8NCitvYmotJChD T05GSUdfQ09NTU9OX0NMS19NVDgxOTJfSVBFU1lTKSArPSBjbGstbXQ4MTkyLWlwZS5vDQorb2Jq LSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX01EUFNZUykgKz0gY2xrLW10ODE5Mi1tZHAubw0K K29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9NRkdDRkcpICs9IGNsay1tdDgxOTItbWZn Lm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfTU1TWVMpICs9IGNsay1tdDgxOTIt bW0ubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9NU0RDX1RPUCkgKz0gY2xrLW10 ODE5Mi1tc2RjX3RvcC5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX01TREMpICs9 IGNsay1tdDgxOTItbXNkYy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX1NDUF9B RFNQKSArPSBjbGstbXQ4MTkyLXNjcF9hZHNwLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19N VDgxOTJfVkRFQ1NZUykgKz0gY2xrLW10ODE5Mi12ZGVjLm8NCitvYmotJChDT05GSUdfQ09NTU9O X0NMS19NVDgxOTJfVkRFQ1NZU19TT0MpICs9IGNsay1tdDgxOTItdmRlY19zb2Mubw0KK29iai0k KENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9WRU5DU1lTKSArPSBjbGstbXQ4MTkyLXZlbmMubw0K IG9iai0kKENPTkZJR19DT01NT05fQ0xLX01UODUxNikgKz0gY2xrLW10ODUxNi5vDQogb2JqLSQo Q09ORklHX0NPTU1PTl9DTEtfTVQ4NTE2X0FVRFNZUykgKz0gY2xrLW10ODUxNi1hdWQubw0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItYXVkLmMgYi9kcml2ZXJz L2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWF1ZC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMC4uYjM4ZjVhNQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi1hdWQuYw0KQEAgLTAsMCArMSwxMTggQEANCisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAg TWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNv bT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4 L29mX3BsYXRmb3JtLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0K KyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1 ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlX3JlZ3MgYXVkMF9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MCwNCisJ LmNscl9vZnMgPSAweDAsDQorCS5zdGFfb2ZzID0gMHgwLA0KK307DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGF1ZDFfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDQs DQorCS5jbHJfb2ZzID0gMHg0LA0KKwkuc3RhX29mcyA9IDB4NCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBhdWQyX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0g MHg4LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0YV9vZnMgPSAweDgsDQorfTsNCisNCisjZGVm aW5lIEdBVEVfQVVEMChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEso X2lkLCBfbmFtZSwgX3BhcmVudCwgJmF1ZDBfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRl X29wc19ub19zZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX0FVRDEoX2lkLCBfbmFtZSwgX3BhcmVu dCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZhdWQxX2NnX3Jl Z3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FU RV9BVUQyKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9u YW1lLCBfcGFyZW50LCAmYXVkMl9jZ19yZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX25v X3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGF1ZF9jbGtzW10gPSB7 DQorCS8qIEFVRDAgKi8NCisJR0FURV9BVUQwKENMS19BVURfQUZFLCAiYXVkX2FmZSIsICJhdWRp b19zZWwiLCAyKSwNCisJR0FURV9BVUQwKENMS19BVURfMjJNLCAiYXVkXzIybSIsICJhdWRfZW5n ZW4xX3NlbCIsIDgpLA0KKwlHQVRFX0FVRDAoQ0xLX0FVRF8yNE0sICJhdWRfMjRtIiwgImF1ZF9l bmdlbjJfc2VsIiwgOSksDQorCUdBVEVfQVVEMChDTEtfQVVEX0FQTEwyX1RVTkVSLCAiYXVkX2Fw bGwyX3R1bmVyIiwgImF1ZF9lbmdlbjJfc2VsIiwgMTgpLA0KKwlHQVRFX0FVRDAoQ0xLX0FVRF9B UExMX1RVTkVSLCAiYXVkX2FwbGxfdHVuZXIiLCAiYXVkX2VuZ2VuMV9zZWwiLCAxOSksDQorCUdB VEVfQVVEMChDTEtfQVVEX1RETSwgImF1ZF90ZG0iLCAiYXVkXzFfc2VsIiwgMjApLA0KKwlHQVRF X0FVRDAoQ0xLX0FVRF9BREMsICJhdWRfYWRjIiwgImF1ZGlvX3NlbCIsIDI0KSwNCisJR0FURV9B VUQwKENMS19BVURfREFDLCAiYXVkX2RhYyIsICJhdWRpb19zZWwiLCAyNSksDQorCUdBVEVfQVVE MChDTEtfQVVEX0RBQ19QUkVESVMsICJhdWRfZGFjX3ByZWRpcyIsICJhdWRpb19zZWwiLCAyNiks DQorCUdBVEVfQVVEMChDTEtfQVVEX1RNTCwgImF1ZF90bWwiLCAiYXVkaW9fc2VsIiwgMjcpLA0K KwlHQVRFX0FVRDAoQ0xLX0FVRF9OTEUsICJhdWRfbmxlIiwgImF1ZGlvX3NlbCIsIDI4KSwNCisJ LyogQVVEMSAqLw0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9JMlMxX0IsICJhdWRfaTJzMV9iIiwgImF1 ZGlvX3NlbCIsIDQpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9JMlMyX0IsICJhdWRfaTJzMl9iIiwg ImF1ZGlvX3NlbCIsIDUpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9JMlMzX0IsICJhdWRfaTJzM19i IiwgImF1ZGlvX3NlbCIsIDYpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9JMlM0X0IsICJhdWRfaTJz NF9iIiwgImF1ZGlvX3NlbCIsIDcpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9DT05OU1lTX0kyU19B U1JDLCAiYXVkX2Nvbm5zeXNfaTJzX2FzcmMiLCAiYXVkaW9fc2VsIiwgMTIpLA0KKwlHQVRFX0FV RDEoQ0xLX0FVRF9HRU5FUkFMMV9BU1JDLCAiYXVkX2dlbmVyYWwxX2FzcmMiLCAiYXVkaW9fc2Vs IiwgMTMpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9HRU5FUkFMMl9BU1JDLCAiYXVkX2dlbmVyYWwy X2FzcmMiLCAiYXVkaW9fc2VsIiwgMTQpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9EQUNfSElSRVMs ICJhdWRfZGFjX2hpcmVzIiwgImF1ZGlvX2hfc2VsIiwgMTUpLA0KKwlHQVRFX0FVRDEoQ0xLX0FV RF9BRENfSElSRVMsICJhdWRfYWRjX2hpcmVzIiwgImF1ZGlvX2hfc2VsIiwgMTYpLA0KKwlHQVRF X0FVRDEoQ0xLX0FVRF9BRENfSElSRVNfVE1MLCAiYXVkX2FkY19oaXJlc190bWwiLCAiYXVkaW9f aF9zZWwiLCAxNyksDQorCUdBVEVfQVVEMShDTEtfQVVEX0FEREE2X0FEQywgImF1ZF9hZGRhNl9h ZGMiLCAiYXVkaW9fc2VsIiwgMjApLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9BRERBNl9BRENfSElS RVMsICJhdWRfYWRkYTZfYWRjX2hpcmVzIiwgImF1ZGlvX2hfc2VsIiwgMjEpLA0KKwlHQVRFX0FV RDEoQ0xLX0FVRF8zUkRfREFDLCAiYXVkXzNyZF9kYWMiLCAiYXVkaW9fc2VsIiwgMjgpLA0KKwlH QVRFX0FVRDEoQ0xLX0FVRF8zUkRfREFDX1BSRURJUywgImF1ZF8zcmRfZGFjX3ByZWRpcyIsICJh dWRpb19zZWwiLCAyOSksDQorCUdBVEVfQVVEMShDTEtfQVVEXzNSRF9EQUNfVE1MLCAiYXVkXzNy ZF9kYWNfdG1sIiwgImF1ZGlvX3NlbCIsIDMwKSwNCisJR0FURV9BVUQxKENMS19BVURfM1JEX0RB Q19ISVJFUywgImF1ZF8zcmRfZGFjX2hpcmVzIiwgImF1ZGlvX2hfc2VsIiwgMzEpLA0KKwkvKiBB VUQyICovDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzVfQiwgImF1ZF9pMnM1X2IiLCAiYXVkaW9f c2VsIiwgMCksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzZfQiwgImF1ZF9pMnM2X2IiLCAiYXVk aW9fc2VsIiwgMSksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzdfQiwgImF1ZF9pMnM3X2IiLCAi YXVkaW9fc2VsIiwgMiksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzhfQiwgImF1ZF9pMnM4X2Ii LCAiYXVkaW9fc2VsIiwgMyksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzlfQiwgImF1ZF9pMnM5 X2IiLCAiYXVkaW9fc2VsIiwgNCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfYXVk X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29u ZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYt PmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2Rh dGEoQ0xLX0FVRF9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07 DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGF1ZF9jbGtzLCBBUlJBWV9T SVpFKGF1ZF9jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwly ID0gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtf ZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXIgPSBkZXZtX29mX3BsYXRmb3Jt X3BvcHVsYXRlKCZwZGV2LT5kZXYpOw0KKwlpZiAocikNCisJCW9mX2Nsa19kZWxfcHJvdmlkZXIo bm9kZSk7DQorDQorCXJldHVybiByOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rl dmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2F1ZFtdID0gew0KKwl7IC5jb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE5Mi1hdWRzeXMiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVj dCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9hdWRfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtf bXQ4MTkyX2F1ZF9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTIt YXVkIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfYXVkLA0KKwl9 LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9hdWRfZHJ2KTsN CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbS5jIGIvZHJp dmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW0uYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAuLjY4ZDNmNmUNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItY2FtLmMNCkBAIC0wLDAgKzEsNzIgQEANCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIw MjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVr LmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1 ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1j bGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgY2FtX2NnX3JlZ3Mg PSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0YV9vZnMgPSAw eDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfQ0FNKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlm dCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmY2FtX2NnX3JlZ3MsIF9zaGlm dCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGUgY2FtX2Nsa3NbXSA9IHsNCisJR0FURV9DQU0oQ0xLX0NBTV9MQVJCMTMsICJjYW1fbGFy YjEzIiwgImNhbV9zZWwiLCAwKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9ERlBfVkFELCAiY2FtX2Rm cF92YWQiLCAiY2FtX3NlbCIsIDEpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0xBUkIxNCwgImNhbV9s YXJiMTQiLCAiY2FtX3NlbCIsIDIpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTSwgImNhbV9jYW0i LCAiY2FtX3NlbCIsIDYpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTVRHLCAiY2FtX2NhbXRnIiwg ImNhbV9zZWwiLCA3KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9TRU5JTkYsICJjYW1fc2VuaW5mIiwg ImNhbV9zZWwiLCA4KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU1TVjAsICJjYW1fY2Ftc3YwIiwg ImNhbV9zZWwiLCA5KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU1TVjEsICJjYW1fY2Ftc3YxIiwg ImNhbV9zZWwiLCAxMCksDQorCUdBVEVfQ0FNKENMS19DQU1fQ0FNU1YyLCAiY2FtX2NhbXN2MiIs ICJjYW1fc2VsIiwgMTEpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTVNWMywgImNhbV9jYW1zdjMi LCAiY2FtX3NlbCIsIDEyKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQ1UwLCAiY2FtX2NjdTAiLCAi Y2FtX3NlbCIsIDEzKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQ1UxLCAiY2FtX2NjdTEiLCAiY2Ft X3NlbCIsIDE0KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9NUkFXMCwgImNhbV9tcmF3MCIsICJjYW1f c2VsIiwgMTUpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0ZBS0VfRU5HLCAiY2FtX2Zha2VfZW5nIiwg ImNhbV9zZWwiLCAxNyksDQorCUdBVEVfQ0FNKENMS19DQU1fQ0NVX0dBTFMsICJjYW1fY2N1X2dh bHMiLCAiY2FtX3NlbCIsIDE4KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU0yTU1fR0FMUywgImNh bTJtbV9nYWxzIiwgImNhbV9zZWwiLCAxOSksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgx OTJfY2FtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3Qg Y2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9 IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2Nf Y2xrX2RhdGEoQ0xLX0NBTV9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1F Tk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGNhbV9jbGtzLCBB UlJBWV9TSVpFKGNhbV9jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiByOw0K Kw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxf Z2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IG9mX21hdGNoX2Nsa19tdDgxOTJfY2FtW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0 ZWssbXQ4MTkyLWNhbXN5cyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRm b3JtX2RyaXZlciBjbGtfbXQ4MTkyX2NhbV9kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJf Y2FtX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1jYW0iLA0K KwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9jYW0sDQorCX0sDQorfTsN CisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX2NhbV9kcnYpOw0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2EuYyBiL2RyaXZl cnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2EuYw0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAuLjAyZWZkNjgNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2EuYw0KQEAgLTAsMCArMSw1OSBAQA0KKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdo dCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVA bWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5j bHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCIN CisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2sv bXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBjYW1f cmF3YV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQor CS5zdGFfb2ZzID0gMHgwLA0KK307DQorDQorI2RlZmluZSBHQVRFX0NBTV9SQVdBKF9pZCwgX25h bWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAm Y2FtX3Jhd2FfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBjYW1fcmF3YV9jbGtzW10gPSB7DQorCUdBVEVf Q0FNX1JBV0EoQ0xLX0NBTV9SQVdBX0xBUkJYLCAiY2FtX3Jhd2FfbGFyYngiLCAiY2FtX3NlbCIs IDApLA0KKwlHQVRFX0NBTV9SQVdBKENMS19DQU1fUkFXQV9DQU0sICJjYW1fcmF3YV9jYW0iLCAi Y2FtX3NlbCIsIDEpLA0KKwlHQVRFX0NBTV9SQVdBKENMS19DQU1fUkFXQV9DQU1URywgImNhbV9y YXdhX2NhbXRnIiwgImNhbV9zZWwiLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5 Ml9jYW1fcmF3YV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3Ry dWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5v ZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2Fs bG9jX2Nsa19kYXRhKENMS19DQU1fUkFXQV9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJ cmV0dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGNh bV9yYXdhX2Nsa3MsIEFSUkFZX1NJWkUoY2FtX3Jhd2FfY2xrcyksIGNsa19kYXRhKTsNCisJaWYg KHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwg b2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdhW10gPSB7DQor CXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWNhbXN5c19yYXdhIiwgfSwNCisJe30N Cit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfY2FtX3Jh d2FfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2NhbV9yYXdhX3Byb2JlLA0KKwkuZHJp dmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1jYW1fcmF3YSIsDQorCQkub2ZfbWF0Y2hf dGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdhLA0KKwl9LA0KK307DQorDQorYnVp bHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9jYW1fcmF3YV9kcnYpOw0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2IuYyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2IuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAuLmIzODU1ZjcNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2IuYw0KQEAgLTAsMCArMSw1OSBAQA0KKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdodCAo YykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVk aWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVk ZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisj aW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4 MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBjYW1fcmF3 Yl9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5z dGFfb2ZzID0gMHgwLA0KK307DQorDQorI2RlZmluZSBHQVRFX0NBTV9SQVdCKF9pZCwgX25hbWUs IF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmY2Ft X3Jhd2JfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBjYW1fcmF3Yl9jbGtzW10gPSB7DQorCUdBVEVfQ0FN X1JBV0IoQ0xLX0NBTV9SQVdCX0xBUkJYLCAiY2FtX3Jhd2JfbGFyYngiLCAiY2FtX3NlbCIsIDAp LA0KKwlHQVRFX0NBTV9SQVdCKENMS19DQU1fUkFXQl9DQU0sICJjYW1fcmF3Yl9jYW0iLCAiY2Ft X3NlbCIsIDEpLA0KKwlHQVRFX0NBTV9SQVdCKENMS19DQU1fUkFXQl9DQU1URywgImNhbV9yYXdi X2NhbXRnIiwgImNhbV9zZWwiLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9j YW1fcmF3Yl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0 IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUg PSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9j X2Nsa19kYXRhKENMS19DQU1fUkFXQl9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0 dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGNhbV9y YXdiX2Nsa3MsIEFSUkFZX1NJWkUoY2FtX3Jhd2JfY2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIp DQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2Zf Y2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdiW10gPSB7DQorCXsg LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWNhbXN5c19yYXdiIiwgfSwNCisJe30NCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfY2FtX3Jhd2Jf ZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2NhbV9yYXdiX3Byb2JlLA0KKwkuZHJpdmVy ID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1jYW1fcmF3YiIsDQorCQkub2ZfbWF0Y2hfdGFi bGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdiLA0KKwl9LA0KK307DQorDQorYnVpbHRp bl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9jYW1fcmF3Yl9kcnYpOw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2MuYyBiL2RyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2MuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAuLjA1NDM2MWQNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21l ZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2MuYw0KQEAgLTAsMCArMSw1OSBAQA0KKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdodCAoYykg MjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0 ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8 bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5j bHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTky LWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBjYW1fcmF3Y19j Z19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFf b2ZzID0gMHgwLA0KK307DQorDQorI2RlZmluZSBHQVRFX0NBTV9SQVdDKF9pZCwgX25hbWUsIF9w YXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmY2FtX3Jh d2NfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBjYW1fcmF3Y19jbGtzW10gPSB7DQorCUdBVEVfQ0FNX1JB V0MoQ0xLX0NBTV9SQVdDX0xBUkJYLCAiY2FtX3Jhd2NfbGFyYngiLCAiY2FtX3NlbCIsIDApLA0K KwlHQVRFX0NBTV9SQVdDKENMS19DQU1fUkFXQ19DQU0sICJjYW1fcmF3Y19jYW0iLCAiY2FtX3Nl bCIsIDEpLA0KKwlHQVRFX0NBTV9SQVdDKENMS19DQU1fUkFXQ19DQU1URywgImNhbV9yYXdjX2Nh bXRnIiwgImNhbV9zZWwiLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9jYW1f cmF3Y19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNs a19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBw ZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Ns a19kYXRhKENMS19DQU1fUkFXQ19OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJu IC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGNhbV9yYXdj X2Nsa3MsIEFSUkFZX1NJWkUoY2FtX3Jhd2NfY2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIpDQor CQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xr X3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdjW10gPSB7DQorCXsgLmNv bXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWNhbXN5c19yYXdjIiwgfSwNCisJe30NCit9Ow0K Kw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfY2FtX3Jhd2NfZHJ2 ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2NhbV9yYXdjX3Byb2JlLA0KKwkuZHJpdmVyID0g ew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1jYW1fcmF3YyIsDQorCQkub2ZfbWF0Y2hfdGFibGUg PSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2NhbV9yYXdjLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9w bGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9jYW1fcmF3Y19kcnYpOw0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1nLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLWltZy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4u OWE3NDFiMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi1pbWcuYw0KQEAgLTAsMCArMSw2MCBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMu DQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNs dWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCIN CisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbWdfY2dfcmVncyA9IHsNCisJLnNldF9vZnMg PSAweDQsDQorCS5jbHJfb2ZzID0gMHg4LA0KKwkuc3RhX29mcyA9IDB4MCwNCit9Ow0KKw0KKyNk ZWZpbmUgR0FURV9JTUcoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRL KF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbWdfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRl X29wc19zZXRjbHIpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBpbWdfY2xrc1td ID0gew0KKwlHQVRFX0lNRyhDTEtfSU1HX0xBUkI5LCAiaW1nX2xhcmI5IiwgImltZzFfc2VsIiwg MCksDQorCUdBVEVfSU1HKENMS19JTUdfTEFSQjEwLCAiaW1nX2xhcmIxMCIsICJpbWcxX3NlbCIs IDEpLA0KKwlHQVRFX0lNRyhDTEtfSU1HX0RJUCwgImltZ19kaXAiLCAiaW1nMV9zZWwiLCAyKSwN CisJR0FURV9JTUcoQ0xLX0lNR19HQUxTLCAiaW1nX2dhbHMiLCAiaW1nMV9zZWwiLCAxMiksDQor fTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfaW1nX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQor CXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsN CisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNR19OUl9DTEspOw0KKwlp ZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lz dGVyX2dhdGVzKG5vZGUsIGltZ19jbGtzLCBBUlJBWV9TSVpFKGltZ19jbGtzKSwgY2xrX2RhdGEp Ow0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRl cihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1nW10gPSB7 DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWltZ3N5cyIsIH0sDQorCXt9DQor fTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX2ltZ19kcnYg PSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfaW1nX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJ Lm5hbWUgPSAiY2xrLW10ODE5Mi1pbWciLA0KKwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hf Y2xrX210ODE5Ml9pbWcsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihj bGtfbXQ4MTkyX2ltZ19kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Ns ay1tdDgxOTItaW1nMi5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbWcyLmMN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi43NmY5ZTMyDQotLS0gL2Rldi9u dWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltZzIuYw0KQEAgLTAs MCArMSw2MiBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisv Lw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5 aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJv dmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1 ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQt YmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGVfcmVncyBpbWcyX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29m cyA9IDB4OCwNCisJLnN0YV9vZnMgPSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSU1HMihf aWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3Bh cmVudCwgJmltZzJfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBpbWcyX2Nsa3NbXSA9IHsNCisJR0FURV9J TUcyKENMS19JTUcyX0xBUkIxMSwgImltZzJfbGFyYjExIiwgImltZzFfc2VsIiwgMCksDQorCUdB VEVfSU1HMihDTEtfSU1HMl9MQVJCMTIsICJpbWcyX2xhcmIxMiIsICJpbWcxX3NlbCIsIDEpLA0K KwlHQVRFX0lNRzIoQ0xLX0lNRzJfTUZCLCAiaW1nMl9tZmIiLCAiaW1nMV9zZWwiLCA2KSwNCisJ R0FURV9JTUcyKENMS19JTUcyX1dQRSwgImltZzJfd3BlIiwgImltZzFfc2VsIiwgNyksDQorCUdB VEVfSU1HMihDTEtfSU1HMl9NU1MsICJpbWcyX21zcyIsICJpbWcxX3NlbCIsIDgpLA0KKwlHQVRF X0lNRzIoQ0xLX0lNRzJfR0FMUywgImltZzJfZ2FscyIsICJpbWcxX3NlbCIsIDEyKSwNCit9Ow0K Kw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbWcyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisN CisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNRzJfTlJfQ0xLKTsNCisJaWYg KCFjbGtfZGF0YSkNCisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwlyID0gbXRrX2Nsa19yZWdpc3Rl cl9nYXRlcyhub2RlLCBpbWcyX2Nsa3MsIEFSUkFZX1NJWkUoaW1nMl9jbGtzKSwgY2xrX2RhdGEp Ow0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRl cihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1nMltdID0g ew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1pbWdzeXMyIiwgfSwNCisJe30N Cit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaW1nMl9k cnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfaW1nMl9wcm9iZSwNCisJLmRyaXZlciA9IHsN CisJCS5uYW1lID0gImNsay1tdDgxOTItaW1nMiIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9t YXRjaF9jbGtfbXQ4MTkyX2ltZzIsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2Ry aXZlcihjbGtfbXQ4MTkyX2ltZzJfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRp YXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9j bGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwLi44NGExNjdhDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMNCkBAIC0wLDAgKzEsNjEgQEANCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMp IDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlh dGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUg PGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2lu Y2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5 Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaW1wX2lpY193 cmFwX2NfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGUwOCwNCisJLmNscl9vZnMgPSAweGUw NCwNCisJLnN0YV9vZnMgPSAweGUwMCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9JTVBfSUlDX1dS QVBfQyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFt ZSwgX3BhcmVudCwgJmltcF9paWNfd3JhcF9jX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0 ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgaW1wX2lpY193 cmFwX2NfY2xrc1tdID0gew0KKwlHQVRFX0lNUF9JSUNfV1JBUF9DKENMS19JTVBfSUlDX1dSQVBf Q19JMkMxMCwgImltcF9paWNfd3JhcF9jX2kyYzEwIiwgImluZnJhX2kyYzAiLCAwKSwNCisJR0FU RV9JTVBfSUlDX1dSQVBfQyhDTEtfSU1QX0lJQ19XUkFQX0NfSTJDMTEsICJpbXBfaWljX3dyYXBf Y19pMmMxMSIsICJpbmZyYV9pMmMwIiwgMSksDQorCUdBVEVfSU1QX0lJQ19XUkFQX0MoQ0xLX0lN UF9JSUNfV1JBUF9DX0kyQzEyLCAiaW1wX2lpY193cmFwX2NfaTJjMTIiLCAiaW5mcmFfaTJjMCIs IDIpLA0KKwlHQVRFX0lNUF9JSUNfV1JBUF9DKENMS19JTVBfSUlDX1dSQVBfQ19JMkMxMywgImlt cF9paWNfd3JhcF9jX2kyYzEzIiwgImluZnJhX2kyYzAiLCAzKSwNCit9Ow0KKw0KK3N0YXRpYyBp bnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQor CWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19JTVBfSUlDX1dSQVBfQ19OUl9DTEsp Ow0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xr X3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGltcF9paWNfd3JhcF9jX2Nsa3MsIEFSUkFZX1NJWkUoaW1w X2lpY193cmFwX2NfY2xrcyksDQorCQkJY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiBy Ow0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNl bGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1wX2lpY193cmFwX2NbXSA9IHsNCisJeyAuY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaW1wX2lpY193cmFwX2MiLCB9LA0KKwl7fQ0KK307DQor DQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBf Y19kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfaW1wX2lpY193cmFwX2NfcHJvYmUsDQor CS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jIiwNCisJ CS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfaW1wX2lpY193cmFwX2MsDQor CX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX2ltcF9paWNf d3JhcF9jX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi1pbXBfaWljX3dyYXBfZS5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBf aWljX3dyYXBfZS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMDg4NjU0 Yw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1p bXBfaWljX3dyYXBfZS5jDQpAQCAtMCwwICsxLDU4IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIwIE1lZGlhVGVr IEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQorDQor I2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9y bV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGstZ2F0 ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xrLmg+DQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGltcF9paWNfd3JhcF9lX2NnX3JlZ3Mg PSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQorCS5jbHJfb2ZzID0gMHhlMDQsDQorCS5zdGFfb2Zz ID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSU1QX0lJQ19XUkFQX0UoX2lkLCBfbmFt ZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZp bXBfaWljX3dyYXBfZV9jZ19yZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikN CisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGltcF9paWNfd3JhcF9lX2Nsa3NbXSA9 IHsNCisJR0FURV9JTVBfSUlDX1dSQVBfRShDTEtfSU1QX0lJQ19XUkFQX0VfSTJDMywgImltcF9p aWNfd3JhcF9lX2kyYzMiLCAiaW5mcmFfaTJjMCIsIDApLA0KK307DQorDQorc3RhdGljIGludCBj bGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9lX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xr X2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9FX05SX0NMSyk7DQor CWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19jbGtfcmVn aXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX2VfY2xrcywgQVJSQVlfU0laRShpbXBfaWlj X3dyYXBfZV9jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQor DQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9n ZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg b2ZfbWF0Y2hfY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfZVtdID0gew0KKwl7IC5jb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE5Mi1pbXBfaWljX3dyYXBfZSIsIH0sDQorCXt9DQorfTsNCisNCitz dGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9lX2Ry diA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfZV9wcm9iZSwNCisJLmRy aXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTItaW1wX2lpY193cmFwX2UiLA0KKwkJLm9m X21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfZSwNCisJfSwN Cit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfaW1wX2lpY193cmFw X2VfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWlt cF9paWNfd3JhcF9uLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNf d3JhcF9uLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42ODA2YzZlDQot LS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9p aWNfd3JhcF9uLmMNCkBAIC0wLDAgKzEsNTkgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5j Lg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5j bHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2Rl dmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgi DQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaW1wX2lpY193cmFwX25fY2dfcmVncyA9IHsN CisJLnNldF9vZnMgPSAweGUwOCwNCisJLmNscl9vZnMgPSAweGUwNCwNCisJLnN0YV9vZnMgPSAw eGUwMCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9JTVBfSUlDX1dSQVBfTihfaWQsIF9uYW1lLCBf cGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmltcF9p aWNfd3JhcF9uX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgaW1wX2lpY193cmFwX25fY2xrc1tdID0gew0K KwlHQVRFX0lNUF9JSUNfV1JBUF9OKENMS19JTVBfSUlDX1dSQVBfTl9JMkMwLCAiaW1wX2lpY193 cmFwX25faTJjMCIsICJpbmZyYV9pMmMwIiwgMCksDQorCUdBVEVfSU1QX0lJQ19XUkFQX04oQ0xL X0lNUF9JSUNfV1JBUF9OX0kyQzYsICJpbXBfaWljX3dyYXBfbl9pMmM2IiwgImluZnJhX2kyYzAi LCAxKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfbl9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxs X2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYu b2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENM S19JTVBfSUlDX1dSQVBfTl9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1F Tk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGltcF9paWNfd3Jh cF9uX2Nsa3MsIEFSUkFZX1NJWkUoaW1wX2lpY193cmFwX25fY2xrcyksDQorCQkJY2xrX2RhdGEp Ow0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRl cihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1wX2lpY193 cmFwX25bXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaW1wX2lpY193 cmFwX24iLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg Y2xrX210ODE5Ml9pbXBfaWljX3dyYXBfbl9kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJf aW1wX2lpY193cmFwX25fcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4 MTkyLWltcF9paWNfd3JhcF9uIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19t dDgxOTJfaW1wX2lpY193cmFwX24sDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2Ry aXZlcihjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9uX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcy5jIGIvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMC4uY2Y0NzQ2Yw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9j bGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcy5jDQpAQCAtMCwwICsxLDYwIEBA DQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8vDQorLy8gQ29w eXJpZ2h0IChjKSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5 aS5sdUBtZWRpYXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0K KyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10 ay5oIg0KKyNpbmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9j bG9jay9tdDgxOTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdz IGltcF9paWNfd3JhcF9zX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQorCS5jbHJf b2ZzID0gMHhlMDQsDQorCS5zdGFfb2ZzID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVf SU1QX0lJQ19XUkFQX1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRL KF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dyYXBfc19jZ19yZWdzLCBfc2hpZnQsICZt dGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl IGltcF9paWNfd3JhcF9zX2Nsa3NbXSA9IHsNCisJR0FURV9JTVBfSUlDX1dSQVBfUyhDTEtfSU1Q X0lJQ19XUkFQX1NfSTJDNywgImltcF9paWNfd3JhcF9zX2kyYzciLCAiaW5mcmFfaTJjMCIsIDAp LA0KKwlHQVRFX0lNUF9JSUNfV1JBUF9TKENMS19JTVBfSUlDX1dSQVBfU19JMkM4LCAiaW1wX2lp Y193cmFwX3NfaTJjOCIsICJpbmZyYV9pMmMwIiwgMSksDQorCUdBVEVfSU1QX0lJQ19XUkFQX1Mo Q0xLX0lNUF9JSUNfV1JBUF9TX0kyQzksICJpbXBfaWljX3dyYXBfc19pMmM5IiwgImluZnJhX2ky YzAiLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfc19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVj ZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5k ZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRh KENMS19JTVBfSUlDX1dSQVBfU19OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJu IC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGltcF9paWNf d3JhcF9zX2Nsa3MsIEFSUkFZX1NJWkUoaW1wX2lpY193cmFwX3NfY2xrcyksDQorCQkJY2xrX2Rh dGEpOw0KKwlpZiAocikNCisJCXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92 aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1wX2lp Y193cmFwX3NbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaW1wX2lp Y193cmFwX3MiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2 ZXIgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfc19kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgx OTJfaW1wX2lpY193cmFwX3NfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGst bXQ4MTkyLWltcF9paWNfd3JhcF9zIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Ns a19tdDgxOTJfaW1wX2lpY193cmFwX3MsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3Jt X2RyaXZlcihjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9zX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfdy5jIGIvZHJpdmVycy9j bGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfdy5jDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMC4uYmZlMDU2MQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVy cy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfdy5jDQpAQCAtMCwwICsxLDU4 IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8vDQorLy8g Q29weXJpZ2h0IChjKSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3 ZWl5aS5sdUBtZWRpYXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5o Pg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xr LW10ay5oIg0KKyNpbmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5n cy9jbG9jay9tdDgxOTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9y ZWdzIGltcF9paWNfd3JhcF93X2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQorCS5j bHJfb2ZzID0gMHhlMDQsDQorCS5zdGFfb2ZzID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5lIEdB VEVfSU1QX0lJQ19XUkFQX1coX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVf TVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dyYXBfd19jZ19yZWdzLCBfc2hpZnQs ICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19n YXRlIGltcF9paWNfd3JhcF93X2Nsa3NbXSA9IHsNCisJR0FURV9JTVBfSUlDX1dSQVBfVyhDTEtf SU1QX0lJQ19XUkFQX1dfSTJDNSwgImltcF9paWNfd3JhcF93X2kyYzUiLCAiaW5mcmFfaTJjMCIs IDApLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93X3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxf ZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5v Zl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xL X0lNUF9JSUNfV1JBUF9XX05SX0NMSyk7DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVO T01FTTsNCisNCisJciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFw X3dfY2xrcywgQVJSQVlfU0laRShpbXBfaWljX3dyYXBfd19jbGtzKSwNCisJCQljbGtfZGF0YSk7 DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVy KG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9pbXBfaWljX3dy YXBfd1tdID0gew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1pbXBfaWljX3dy YXBfdyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBj bGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93X2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9p bXBfaWljX3dyYXBfd19wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgx OTItaW1wX2lpY193cmFwX3ciLA0KKwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210 ODE5Ml9pbXBfaWljX3dyYXBfdywNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJp dmVyKGNsa19tdDgxOTJfaW1wX2lpY193cmFwX3dfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF93cy5jIGIvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfd3MuYw0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAuLjRlYTY2MjANCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX3dzLmMNCkBAIC0wLDAgKzEsNjAg QEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBD b3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdl aXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+ DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGst bXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdz L2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3Jl Z3MgaW1wX2lpY193cmFwX3dzX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQorCS5j bHJfb2ZzID0gMHhlMDQsDQorCS5zdGFfb2ZzID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5lIEdB VEVfSU1QX0lJQ19XUkFQX1dTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRF X01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW1wX2lpY193cmFwX3dzX2NnX3JlZ3MsIF9zaGlm dCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGUgaW1wX2lpY193cmFwX3dzX2Nsa3NbXSA9IHsNCisJR0FURV9JTVBfSUlDX1dSQVBfV1Mo Q0xLX0lNUF9JSUNfV1JBUF9XU19JMkMxLCAiaW1wX2lpY193cmFwX3dzX2kyYzEiLCAiaW5mcmFf aTJjMCIsIDApLA0KKwlHQVRFX0lNUF9JSUNfV1JBUF9XUyhDTEtfSU1QX0lJQ19XUkFQX1dTX0ky QzIsICJpbXBfaWljX3dyYXBfd3NfaTJjMiIsICJpbmZyYV9pMmMwIiwgMSksDQorCUdBVEVfSU1Q X0lJQ19XUkFQX1dTKENMS19JTVBfSUlDX1dSQVBfV1NfSTJDNCwgImltcF9paWNfd3JhcF93c19p MmM0IiwgImluZnJhX2kyYzAiLCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9p bXBfaWljX3dyYXBfd3NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQor CXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2Rl ICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10 a19hbGxvY19jbGtfZGF0YShDTEtfSU1QX0lJQ19XUkFQX1dTX05SX0NMSyk7DQorCWlmICghY2xr X2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0 ZXMobm9kZSwgaW1wX2lpY193cmFwX3dzX2Nsa3MsIEFSUkFZX1NJWkUoaW1wX2lpY193cmFwX3dz X2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0 dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xr X2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRj aF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93c1tdID0gew0KKwl7IC5jb21wYXRpYmxlID0gIm1l ZGlhdGVrLG10ODE5Mi1pbXBfaWljX3dyYXBfd3MiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGlj IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfd3NfZHJ2ID0g ew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93c19wcm9iZSwNCisJLmRyaXZl ciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTItaW1wX2lpY193cmFwX3dzIiwNCisJCS5vZl9t YXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfaW1wX2lpY193cmFwX3dzLA0KKwl9LA0K K307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBf d3NfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWlw ZS5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pcGUuYw0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjMwNGRjYTQNCi0tLSAvZGV2L251bGwNCisrKyBiL2Ry aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaXBlLmMNCkBAIC0wLDAgKzEsNjQgQEANCisv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmln aHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1 QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2lu Y2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgi DQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2Nr L210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaXBl X2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0 YV9vZnMgPSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSVBFKF9pZCwgX25hbWUsIF9wYXJl bnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaXBlX2NnX3Jl Z3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX2dhdGUgaXBlX2Nsa3NbXSA9IHsNCisJR0FURV9JUEUoQ0xLX0lQRV9MQVJCMTks ICJpcGVfbGFyYjE5IiwgImlwZV9zZWwiLCAwKSwNCisJR0FURV9JUEUoQ0xLX0lQRV9MQVJCMjAs ICJpcGVfbGFyYjIwIiwgImlwZV9zZWwiLCAxKSwNCisJR0FURV9JUEUoQ0xLX0lQRV9TTUlfU1VC Q09NLCAiaXBlX3NtaV9zdWJjb20iLCAiaXBlX3NlbCIsIDIpLA0KKwlHQVRFX0lQRShDTEtfSVBF X0ZELCAiaXBlX2ZkIiwgImlwZV9zZWwiLCAzKSwNCisJR0FURV9JUEUoQ0xLX0lQRV9GRSwgImlw ZV9mZSIsICJpcGVfc2VsIiwgNCksDQorCUdBVEVfSVBFKENMS19JUEVfUlNDLCAiaXBlX3JzYyIs ICJpcGVfc2VsIiwgNSksDQorCUdBVEVfSVBFKENMS19JUEVfRFBFLCAiaXBlX2RwZSIsICJpcGVf c2VsIiwgNiksDQorCUdBVEVfSVBFKENMS19JUEVfR0FMUywgImlwZV9nYWxzIiwgImlwZV9zZWwi LCA4KSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pcGVfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtf ZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQor CWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfSVBFX05SX0NM Syk7DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19j bGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaXBlX2Nsa3MsIEFSUkFZX1NJWkUoaXBlX2Nsa3MpLCBj bGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9jbGtfYWRk X3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9p cGVbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaXBlc3lzIiwgfSwN CisJe30NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJf aXBlX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9pcGVfcHJvYmUsDQorCS5kcml2ZXIg PSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLWlwZSIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBv Zl9tYXRjaF9jbGtfbXQ4MTkyX2lwZSwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1f ZHJpdmVyKGNsa19tdDgxOTJfaXBlX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi1tZHAuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt bWRwLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4yZGYwMjBkDQotLS0g L2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1kcC5jDQpA QCAtMCwwICsxLDg5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eQ0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6 IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Ns ay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisj aW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRl IDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBtdGtfZ2F0ZV9yZWdzIG1kcDBfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDEwNCwNCisJ LmNscl9vZnMgPSAweDEwOCwNCisJLnN0YV9vZnMgPSAweDEwMCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBtZHAxX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0g MHgxMjQsDQorCS5jbHJfb2ZzID0gMHgxMjgsDQorCS5zdGFfb2ZzID0gMHgxMjAsDQorfTsNCisN CisjZGVmaW5lIEdBVEVfTURQMChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FU RV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJm1kcDBfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Ns a19nYXRlX29wc19zZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX01EUDEoX2lkLCBfbmFtZSwgX3Bh cmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZtZHAxX2Nn X3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX2dhdGUgbWRwX2Nsa3NbXSA9IHsNCisJLyogTURQMCAqLw0KKwlHQVRFX01E UDAoQ0xLX01EUF9SRE1BMCwgIm1kcF9tZHBfcmRtYTAiLCAibWRwX3NlbCIsIDApLA0KKwlHQVRF X01EUDAoQ0xLX01EUF9URFNIUDAsICJtZHBfbWRwX3Rkc2hwMCIsICJtZHBfc2VsIiwgMSksDQor CUdBVEVfTURQMChDTEtfTURQX0lNR19ETF9BU1lOQzAsICJtZHBfaW1nX2RsX2FzeW5jMCIsICJt ZHBfc2VsIiwgMiksDQorCUdBVEVfTURQMChDTEtfTURQX0lNR19ETF9BU1lOQzEsICJtZHBfaW1n X2RsX2FzeW5jMSIsICJtZHBfc2VsIiwgMyksDQorCUdBVEVfTURQMChDTEtfTURQX1JETUExLCAi bWRwX21kcF9yZG1hMSIsICJtZHBfc2VsIiwgNCksDQorCUdBVEVfTURQMChDTEtfTURQX1REU0hQ MSwgIm1kcF9tZHBfdGRzaHAxIiwgIm1kcF9zZWwiLCA1KSwNCisJR0FURV9NRFAwKENMS19NRFBf U01JMCwgIm1kcF9zbWkwIiwgIm1kcF9zZWwiLCA2KSwNCisJR0FURV9NRFAwKENMS19NRFBfQVBC X0JVUywgIm1kcF9hcGJfYnVzIiwgIm1kcF9zZWwiLCA3KSwNCisJR0FURV9NRFAwKENMS19NRFBf V1JPVDAsICJtZHBfbWRwX3dyb3QwIiwgIm1kcF9zZWwiLCA4KSwNCisJR0FURV9NRFAwKENMS19N RFBfUlNaMCwgIm1kcF9tZHBfcnN6MCIsICJtZHBfc2VsIiwgOSksDQorCUdBVEVfTURQMChDTEtf TURQX0hEUjAsICJtZHBfbWRwX2hkcjAiLCAibWRwX3NlbCIsIDEwKSwNCisJR0FURV9NRFAwKENM S19NRFBfTVVURVgwLCAibWRwX21kcF9tdXRleDAiLCAibWRwX3NlbCIsIDExKSwNCisJR0FURV9N RFAwKENMS19NRFBfV1JPVDEsICJtZHBfbWRwX3dyb3QxIiwgIm1kcF9zZWwiLCAxMiksDQorCUdB VEVfTURQMChDTEtfTURQX1JTWjEsICJtZHBfbWRwX3JzejEiLCAibWRwX3NlbCIsIDEzKSwNCisJ R0FURV9NRFAwKENMS19NRFBfSERSMSwgIm1kcF9tZHBfaGRyMSIsICJtZHBfc2VsIiwgMTQpLA0K KwlHQVRFX01EUDAoQ0xLX01EUF9GQUtFX0VORzAsICJtZHBfbWRwX2Zha2VfZW5nMCIsICJtZHBf c2VsIiwgMTUpLA0KKwlHQVRFX01EUDAoQ0xLX01EUF9BQUwwLCAibWRwX21kcF9hYWwwIiwgIm1k cF9zZWwiLCAxNiksDQorCUdBVEVfTURQMChDTEtfTURQX0FBTDEsICJtZHBfbWRwX2FhbDEiLCAi bWRwX3NlbCIsIDE3KSwNCisJR0FURV9NRFAwKENMS19NRFBfQ09MT1IwLCAibWRwX21kcF9jb2xv cjAiLCAibWRwX3NlbCIsIDE4KSwNCisJR0FURV9NRFAwKENMS19NRFBfQ09MT1IxLCAibWRwX21k cF9jb2xvcjEiLCAibWRwX3NlbCIsIDE5KSwNCisJLyogTURQMSAqLw0KKwlHQVRFX01EUDEoQ0xL X01EUF9JTUdfRExfUkVMQVkwX0FTWU5DMCwgIm1kcF9pbWdfZGxfcmVsYXkwX2FzeW5jMCIsICJt ZHBfc2VsIiwgMCksDQorCUdBVEVfTURQMShDTEtfTURQX0lNR19ETF9SRUxBWTFfQVNZTkMxLCAi bWRwX2ltZ19kbF9yZWxheTFfYXN5bmMxIiwgIm1kcF9zZWwiLCA4KSwNCit9Ow0KKw0KK3N0YXRp YyBpbnQgY2xrX210ODE5Ml9tZHBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikN Cit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmlj ZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0 YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfTURQX05SX0NMSyk7DQorCWlmICghY2xrX2RhdGEp DQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9k ZSwgbWRwX2Nsa3MsIEFSUkFZX1NJWkUobWRwX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0K KwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Ns a19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9tZHBbXSA9IHsNCisJeyAuY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItbWRwc3lzIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfbWRwX2RydiA9IHsNCisJLnByb2Jl ID0gY2xrX210ODE5Ml9tZHBfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGst bXQ4MTkyLW1kcCIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX21k cCwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfbWRw X2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tZmcu YyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWZnLmMNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwLi5hZTZiMzgzDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2 ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1mZy5jDQpAQCAtMCwwICsxLDU3IEBADQorLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8vDQorLy8gQ29weXJpZ2h0 IChjKSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBt ZWRpYXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNs dWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0K KyNpbmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9t dDgxOTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIG1mZ19j Z19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFf b2ZzID0gMHgwLA0KK307DQorDQorI2RlZmluZSBHQVRFX01GRyhfaWQsIF9uYW1lLCBfcGFyZW50 LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJm1mZ19jZ19yZWdz LCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlIG1mZ19jbGtzW10gPSB7DQorCUdBVEVfTUZHKENMS19NRkdfQkczRCwgIm1m Z19iZzNkIiwgIm1mZ19wbGxfc2VsIiwgMCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgx OTJfbWZnX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3Qg Y2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9 IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2Nf Y2xrX2RhdGEoQ0xLX01GR19OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1F Tk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIG1mZ19jbGtzLCBB UlJBWV9TSVpFKG1mZ19jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiByOw0K Kw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxf Z2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IG9mX21hdGNoX2Nsa19tdDgxOTJfbWZnW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0 ZWssbXQ4MTkyLW1mZ2NmZyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRm b3JtX2RyaXZlciBjbGtfbXQ4MTkyX21mZ19kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJf bWZnX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1tZmciLA0K KwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9tZmcsDQorCX0sDQorfTsN CisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX21mZ19kcnYpOw0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbW0uYyBiL2RyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItbW0uYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAuLmRmZGZiMjENCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVr L2Nsay1tdDgxOTItbW0uYw0KQEAgLTAsMCArMSwxMDggQEANCisvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFU ZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisN CisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRm b3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1n YXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgbW0wX2NnX3JlZ3MgPSB7DQorCS5z ZXRfb2ZzID0gMHgxMDQsDQorCS5jbHJfb2ZzID0gMHgxMDgsDQorCS5zdGFfb2ZzID0gMHgxMDAs DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgbW0xX2NnX3JlZ3Mg PSB7DQorCS5zZXRfb2ZzID0gMHgxMTQsDQorCS5jbHJfb2ZzID0gMHgxMTgsDQorCS5zdGFfb2Zz ID0gMHgxMTAsDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgbW0y X2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHgxYTQsDQorCS5jbHJfb2ZzID0gMHgxYTgsDQor CS5zdGFfb2ZzID0gMHgxYTAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfTU0wKF9pZCwgX25hbWUs IF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmbW0w X2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUg R0FURV9NTTEoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwg X25hbWUsIF9wYXJlbnQsICZtbTFfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19z ZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX01NMihfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQp CVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJm1tMl9jZ19yZWdzLCBfc2hpZnQs ICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19n YXRlIG1tX2Nsa3NbXSA9IHsNCisJLyogTU0wICovDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX01V VEVYMCwgIm1tX2Rpc3BfbXV0ZXgwIiwgImRpc3Bfc2VsIiwgMCksDQorCUdBVEVfTU0wKENMS19N TV9ESVNQX0NPTkZJRywgIm1tX2Rpc3BfY29uZmlnIiwgImRpc3Bfc2VsIiwgMSksDQorCUdBVEVf TU0wKENMS19NTV9ESVNQX09WTDAsICJtbV9kaXNwX292bDAiLCAiZGlzcF9zZWwiLCAyKSwNCisJ R0FURV9NTTAoQ0xLX01NX0RJU1BfUkRNQTAsICJtbV9kaXNwX3JkbWEwIiwgImRpc3Bfc2VsIiwg MyksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX09WTDBfMkwsICJtbV9kaXNwX292bDBfMmwiLCAi ZGlzcF9zZWwiLCA0KSwNCisJR0FURV9NTTAoQ0xLX01NX0RJU1BfV0RNQTAsICJtbV9kaXNwX3dk bWEwIiwgImRpc3Bfc2VsIiwgNSksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX1VGQkNfV0RNQTAs ICJtbV9kaXNwX3VmYmNfd2RtYTAiLCAiZGlzcF9zZWwiLCA2KSwNCisJR0FURV9NTTAoQ0xLX01N X0RJU1BfUlNaMCwgIm1tX2Rpc3BfcnN6MCIsICJkaXNwX3NlbCIsIDcpLA0KKwlHQVRFX01NMChD TEtfTU1fRElTUF9BQUwwLCAibW1fZGlzcF9hYWwwIiwgImRpc3Bfc2VsIiwgOCksDQorCUdBVEVf TU0wKENMS19NTV9ESVNQX0NDT1JSMCwgIm1tX2Rpc3BfY2NvcnIwIiwgImRpc3Bfc2VsIiwgOSks DQorCUdBVEVfTU0wKENMS19NTV9ESVNQX0RJVEhFUjAsICJtbV9kaXNwX2RpdGhlcjAiLCAiZGlz cF9zZWwiLCAxMCksDQorCUdBVEVfTU0wKENMS19NTV9TTUlfSU5GUkEsICJtbV9zbWlfaW5mcmEi LCAiZGlzcF9zZWwiLCAxMSksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX0dBTU1BMCwgIm1tX2Rp c3BfZ2FtbWEwIiwgImRpc3Bfc2VsIiwgMTIpLA0KKwlHQVRFX01NMChDTEtfTU1fRElTUF9QT1NU TUFTSzAsICJtbV9kaXNwX3Bvc3RtYXNrMCIsICJkaXNwX3NlbCIsIDEzKSwNCisJR0FURV9NTTAo Q0xLX01NX0RJU1BfRFNDX1dSQVAwLCAibW1fZGlzcF9kc2Nfd3JhcDAiLCAiZGlzcF9zZWwiLCAx NCksDQorCUdBVEVfTU0wKENMS19NTV9EU0kwLCAibW1fZHNpMCIsICJkaXNwX3NlbCIsIDE1KSwN CisJR0FURV9NTTAoQ0xLX01NX0RJU1BfQ09MT1IwLCAibW1fZGlzcF9jb2xvcjAiLCAiZGlzcF9z ZWwiLCAxNiksDQorCUdBVEVfTU0wKENMS19NTV9TTUlfQ09NTU9OLCAibW1fc21pX2NvbW1vbiIs ICJkaXNwX3NlbCIsIDE3KSwNCisJR0FURV9NTTAoQ0xLX01NX0RJU1BfRkFLRV9FTkcwLCAibW1f ZGlzcF9mYWtlX2VuZzAiLCAiZGlzcF9zZWwiLCAxOCksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQ X0ZBS0VfRU5HMSwgIm1tX2Rpc3BfZmFrZV9lbmcxIiwgImRpc3Bfc2VsIiwgMTkpLA0KKwlHQVRF X01NMChDTEtfTU1fTURQX1REU0hQNCwgIm1tX21kcF90ZHNocDQiLCAiZGlzcF9zZWwiLCAyMCks DQorCUdBVEVfTU0wKENMS19NTV9NRFBfUlNaNCwgIm1tX21kcF9yc3o0IiwgImRpc3Bfc2VsIiwg MjEpLA0KKwlHQVRFX01NMChDTEtfTU1fTURQX0FBTDQsICJtbV9tZHBfYWFsNCIsICJkaXNwX3Nl bCIsIDIyKSwNCisJR0FURV9NTTAoQ0xLX01NX01EUF9IRFI0LCAibW1fbWRwX2hkcjQiLCAiZGlz cF9zZWwiLCAyMyksDQorCUdBVEVfTU0wKENMS19NTV9NRFBfUkRNQTQsICJtbV9tZHBfcmRtYTQi LCAiZGlzcF9zZWwiLCAyNCksDQorCUdBVEVfTU0wKENMS19NTV9NRFBfQ09MT1I0LCAibW1fbWRw X2NvbG9yNCIsICJkaXNwX3NlbCIsIDI1KSwNCisJR0FURV9NTTAoQ0xLX01NX0RJU1BfWTJSMCwg Im1tX2Rpc3BfeTJyMCIsICJkaXNwX3NlbCIsIDI2KSwNCisJR0FURV9NTTAoQ0xLX01NX1NNSV9H QUxTLCAibW1fc21pX2dhbHMiLCAiZGlzcF9zZWwiLCAyNyksDQorCUdBVEVfTU0wKENMS19NTV9E SVNQX09WTDJfMkwsICJtbV9kaXNwX292bDJfMmwiLCAiZGlzcF9zZWwiLCAyOCksDQorCUdBVEVf TU0wKENMS19NTV9ESVNQX1JETUE0LCAibW1fZGlzcF9yZG1hNCIsICJkaXNwX3NlbCIsIDI5KSwN CisJR0FURV9NTTAoQ0xLX01NX0RJU1BfRFBJMCwgIm1tX2Rpc3BfZHBpMCIsICJkaXNwX3NlbCIs IDMwKSwNCisJLyogTU0xICovDQorCUdBVEVfTU0xKENMS19NTV9TTUlfSU9NTVUsICJtbV9zbWlf aW9tbXUiLCAiZGlzcF9zZWwiLCAwKSwNCisJLyogTU0yICovDQorCUdBVEVfTU0yKENMS19NTV9E U0lfRFNJMCwgIm1tX2RzaV9kc2kwIiwgImRpc3Bfc2VsIiwgMCksDQorCUdBVEVfTU0yKENMS19N TV9EUElfRFBJMCwgIm1tX2RwaV9kcGkwIiwgImRwaV9zZWwiLCA4KSwNCisJR0FURV9NTTIoQ0xL X01NXzI2TUhaLCAibW1fMjZtaHoiLCAiY2xrMjZtIiwgMjQpLA0KKwlHQVRFX01NMihDTEtfTU1f MzJLSFosICJtbV8zMmtoeiIsICJjbGszMmsiLCAyNSksDQorfTsNCisNCitzdGF0aWMgaW50IGNs a19tdDgxOTJfbW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0 cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9k ZSA9IGRldi0+cGFyZW50LT5vZl9ub2RlOw0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xr X2RhdGE7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtf TU1fTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwly ID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBtbV9jbGtzLCBBUlJBWV9TSVpFKG1tX2Ns a3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9j bGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsN Cit9DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9tbV9kcnYg PSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfbW1fcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQku bmFtZSA9ICJjbGstbXQ4MTkyLW1tIiwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1f ZHJpdmVyKGNsa19tdDgxOTJfbW1fZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRp YXRlay9jbGstbXQ4MTkyLW1zZGMuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt bXNkYy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uOWQyYjE2OA0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjLmMN CkBAIC0wLDAgKzEsNTcgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhv cjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgv Y2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0K KyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1 ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlX3JlZ3MgbXNkY19jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4YjQsDQor CS5jbHJfb2ZzID0gMHhiNCwNCisJLnN0YV9vZnMgPSAweGI0LA0KK307DQorDQorI2RlZmluZSBH QVRFX01TREMoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwg X25hbWUsIF9wYXJlbnQsICZtc2RjX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNf bm9fc2V0Y2xyX2ludikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIG1zZGNfY2xr c1tdID0gew0KKwlHQVRFX01TREMoQ0xLX01TRENfQVhJX1dSQVAsICJtc2RjX2F4aV93cmFwIiwg ImF4aV9zZWwiLCAyMiksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfbXNkY19wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxs X2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYu b2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENM S19NU0RDX05SX0NMSyk7DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisN CisJciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgbXNkY19jbGtzLCBBUlJBWV9TSVpF KG1zZGNfY2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0 dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xr X2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRj aF9jbGtfbXQ4MTkyX21zZGNbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx OTItbXNkYyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZl ciBjbGtfbXQ4MTkyX21zZGNfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX21zZGNfcHJv YmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLW1zZGMiLA0KKwkJLm9m X21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9tc2RjLA0KKwl9LA0KK307DQorDQor YnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9tc2RjX2Rydik7DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjX3RvcC5jIGIvZHJpdmVycy9j bGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjX3RvcC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMC4uNmY1YWQ2NQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjX3RvcC5jDQpAQCAtMCwwICsxLDcxIEBADQorLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8vDQorLy8gQ29weXJpZ2h0IChj KSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRp YXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRl IDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNp bmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgx OTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIG1zZGNfdG9w X2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHgwLA0KKwkuY2xyX29mcyA9IDB4MCwNCisJLnN0 YV9vZnMgPSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfTVNEQ19UT1AoX2lkLCBfbmFtZSwg X3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZtc2Rj X3RvcF9jZ19yZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX25vX3NldGNscl9pbnYpDQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBtc2RjX3RvcF9jbGtzW10gPSB7DQorCUdB VEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX0FFU18wUCwgIm1zZGNfdG9wX2Flc18wcCIsICJhZXNf bXNkY2ZkZV9zZWwiLCAwKSwNCisJR0FURV9NU0RDX1RPUChDTEtfTVNEQ19UT1BfU1JDXzBQLCAi bXNkY190b3Bfc3JjXzBwIiwgImluZnJhX21zZGMwX3NyYyIsIDEpLA0KKwlHQVRFX01TRENfVE9Q KENMS19NU0RDX1RPUF9TUkNfMVAsICJtc2RjX3RvcF9zcmNfMXAiLCAiaW5mcmFfbXNkYzFfc3Jj IiwgMiksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1NSQ18yUCwgIm1zZGNfdG9wX3Ny Y18ycCIsICJpbmZyYV9tc2RjMl9zcmMiLCAzKSwNCisJR0FURV9NU0RDX1RPUChDTEtfTVNEQ19U T1BfUF9NU0RDMCwgIm1zZGNfdG9wX3BfbXNkYzAiLCAiYXhpX3NlbCIsIDQpLA0KKwlHQVRFX01T RENfVE9QKENMS19NU0RDX1RPUF9QX01TREMxLCAibXNkY190b3BfcF9tc2RjMSIsICJheGlfc2Vs IiwgNSksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1BfTVNEQzIsICJtc2RjX3RvcF9w X21zZGMyIiwgImF4aV9zZWwiLCA2KSwNCisJR0FURV9NU0RDX1RPUChDTEtfTVNEQ19UT1BfUF9D RkcsICJtc2RjX3RvcF9wX2NmZyIsICJheGlfc2VsIiwgNyksDQorCUdBVEVfTVNEQ19UT1AoQ0xL X01TRENfVE9QX0FYSSwgIm1zZGNfdG9wX2F4aSIsICJheGlfc2VsIiwgOCksDQorCUdBVEVfTVNE Q19UT1AoQ0xLX01TRENfVE9QX0hfTVNUXzBQLCAibXNkY190b3BfaF9tc3RfMHAiLCAiaW5mcmFf bXNkYzAiLCA5KSwNCisJR0FURV9NU0RDX1RPUChDTEtfTVNEQ19UT1BfSF9NU1RfMVAsICJtc2Rj X3RvcF9oX21zdF8xcCIsICJpbmZyYV9tc2RjMSIsIDEwKSwNCisJR0FURV9NU0RDX1RPUChDTEtf TVNEQ19UT1BfSF9NU1RfMlAsICJtc2RjX3RvcF9oX21zdF8ycCIsICJpbmZyYV9tc2RjMiIsIDEx KSwNCisJR0FURV9NU0RDX1RPUChDTEtfTVNEQ19UT1BfTUVNX09GRl9ETFlfMjZNLCAibXNkY190 b3BfbWVtX29mZl9kbHlfMjZtIiwgImNsazI2bSIsIDEyKSwNCisJR0FURV9NU0RDX1RPUChDTEtf TVNEQ19UT1BfMzJLLCAibXNkY190b3BfMzJrIiwgImNsazMyayIsIDEzKSwNCisJR0FURV9NU0RD X1RPUChDTEtfTVNEQ19UT1BfQUhCMkFYSV9CUkdfQVhJLCAibXNkY190b3BfYWhiMmF4aV9icmdf YXhpIiwgImF4aV9zZWwiLCAxNCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfbXNk Y190b3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBj bGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0g cGRldi0+ZGV2Lm9mX25vZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19j bGtfZGF0YShDTEtfTVNEQ19UT1BfTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVy biAtRU5PTUVNOw0KKw0KKwlyID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBtc2RjX3Rv cF9jbGtzLCBBUlJBWV9TSVpFKG1zZGNfdG9wX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0K KwkJcmV0dXJuIHI7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Ns a19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9tc2RjX3RvcFtdID0gew0KKwl7IC5j b21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1tc2RjX3RvcCIsIH0sDQorCXt9DQorfTsNCisN CitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX21zZGNfdG9wX2RydiA9 IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9tc2RjX3RvcF9wcm9iZSwNCisJLmRyaXZlciA9IHsN CisJCS5uYW1lID0gImNsay1tdDgxOTItbXNkY190b3AiLA0KKwkJLm9mX21hdGNoX3RhYmxlID0g b2ZfbWF0Y2hfY2xrX210ODE5Ml9tc2RjX3RvcCwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxh dGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfbXNkY190b3BfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLXNjcF9hZHNwLmMgYi9kcml2ZXJzL2Nsay9tZWRp YXRlay9jbGstbXQ4MTkyLXNjcF9hZHNwLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwLi4zYzA1MTQwDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLXNjcF9hZHNwLmMNCkBAIC0wLDAgKzEsNTcgQEANCisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAg TWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNv bT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4 L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUg ImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsu aD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3Mgc2NwX2Fkc3BfY2dfcmVn cyA9IHsNCisJLnNldF9vZnMgPSAweDE4MCwNCisJLmNscl9vZnMgPSAweDE4MCwNCisJLnN0YV9v ZnMgPSAweDE4MCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9TQ1BfQURTUChfaWQsIF9uYW1lLCBf cGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnNjcF9h ZHNwX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0Y2xyKQ0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgc2NwX2Fkc3BfY2xrc1tdID0gew0KKwlHQVRFX1ND UF9BRFNQKENMS19TQ1BfQURTUF9BVURJT0RTUCwgInNjcF9hZHNwX2F1ZGlvZHNwIiwgImFkc3Bf c2VsIiwgMCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfc2NwX2Fkc3BfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9k YXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9m X25vZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtf U0NQX0FEU1BfTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVybiAtRU5PTUVNOw0K Kw0KKwlyID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBzY3BfYWRzcF9jbGtzLCBBUlJB WV9TSVpFKHNjcF9hZHNwX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7 DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2Vs bF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9zY3BfYWRzcFtdID0gew0KKwl7IC5jb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE5Mi1zY3BfYWRzcCIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX3NjcF9hZHNwX2RydiA9IHsNCisJLnByb2Jl ID0gY2xrX210ODE5Ml9zY3BfYWRzcF9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0g ImNsay1tdDgxOTItc2NwX2Fkc3AiLA0KKwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xr X210ODE5Ml9zY3BfYWRzcCwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVy KGNsa19tdDgxOTJfc2NwX2Fkc3BfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRp YXRlay9jbGstbXQ4MTkyLXZkZWMuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt dmRlYy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMzNjZDljMw0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi12ZGVjLmMN CkBAIC0wLDAgKzEsODIgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhv cjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgv Y2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0K KyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1 ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlX3JlZ3MgdmRlYzBfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDAsDQor CS5jbHJfb2ZzID0gMHg0LA0KKwkuc3RhX29mcyA9IDB4MCwNCit9Ow0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZGVjMV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4 MjAwLA0KKwkuY2xyX29mcyA9IDB4MjA0LA0KKwkuc3RhX29mcyA9IDB4MjAwLA0KK307DQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIHZkZWMyX2NnX3JlZ3MgPSB7DQorCS5z ZXRfb2ZzID0gMHg4LA0KKwkuY2xyX29mcyA9IDB4YywNCisJLnN0YV9vZnMgPSAweDgsDQorfTsN CisNCisjZGVmaW5lIEdBVEVfVkRFQzAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQor CUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVjMF9jZ19yZWdzLCBfc2hpZnQsICZt dGtfY2xrX2dhdGVfb3BzX3NldGNscl9pbnYpDQorDQorI2RlZmluZSBHQVRFX1ZERUMxKF9pZCwg X25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50 LCAmdmRlYzFfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0K Kw0KKyNkZWZpbmUgR0FURV9WREVDMihfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJ R0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnZkZWMyX2NnX3JlZ3MsIF9zaGlmdCwgJm10 a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyX2ludikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19n YXRlIHZkZWNfY2xrc1tdID0gew0KKwkvKiBWREVDMCAqLw0KKwlHQVRFX1ZERUMwKENMS19WREVD X1ZERUMsICJ2ZGVjX3ZkZWMiLCAidmRlY19zZWwiLCAwKSwNCisJR0FURV9WREVDMChDTEtfVkRF Q19BQ1RJVkUsICJ2ZGVjX2FjdGl2ZSIsICJ2ZGVjX3NlbCIsIDQpLA0KKwkvKiBWREVDMSAqLw0K KwlHQVRFX1ZERUMxKENMS19WREVDX0xBVCwgInZkZWNfbGF0IiwgInZkZWNfc2VsIiwgMCksDQor CUdBVEVfVkRFQzEoQ0xLX1ZERUNfTEFUX0FDVElWRSwgInZkZWNfbGF0X2FjdGl2ZSIsICJ2ZGVj X3NlbCIsIDQpLA0KKwkvKiBWREVDMiAqLw0KKwlHQVRFX1ZERUMyKENMS19WREVDX0xBUkIxLCAi dmRlY19sYXJiMSIsICJ2ZGVjX3NlbCIsIDApLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4 MTkyX3ZkZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVj dCBjbGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2Rl ID0gcGRldi0+ZGV2Lm9mX25vZGU7DQorCWludCByOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxv Y19jbGtfZGF0YShDTEtfVkRFQ19OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJu IC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIHZkZWNfY2xr cywgQVJSQVlfU0laRSh2ZGVjX2Nsa3MpLCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJu IHI7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25l Y2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml92ZGVjW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQ4MTkyLXZkZWNzeXMiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVj dCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml92ZGVjX2RydiA9IHsNCisJLnByb2JlID0gY2xr X210ODE5Ml92ZGVjX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5 Mi12ZGVjIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfdmRlYywN CisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfdmRlY19k cnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmRlY19z b2MuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmRlY19zb2MuYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjJmNjE1YTgNCi0tLSAvZGV2L251bGwNCisr KyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmRlY19zb2MuYw0KQEAgLTAsMCAr MSw4MiBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0K Ky8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBM dSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlk ZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUg ImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmlu ZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dh dGVfcmVncyB2ZGVjX3NvYzBfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDAsDQorCS5jbHJf b2ZzID0gMHg0LA0KKwkuc3RhX29mcyA9IDB4MCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX2dhdGVfcmVncyB2ZGVjX3NvYzFfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDIw MCwNCisJLmNscl9vZnMgPSAweDIwNCwNCisJLnN0YV9vZnMgPSAweDIwMCwNCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZGVjX3NvYzJfY2dfcmVncyA9IHsNCisJ LnNldF9vZnMgPSAweDgsDQorCS5jbHJfb2ZzID0gMHhjLA0KKwkuc3RhX29mcyA9IDB4OCwNCit9 Ow0KKw0KKyNkZWZpbmUgR0FURV9WREVDX1NPQzAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0 KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVjX3NvYzBfY2dfcmVncywg X3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0KKw0KKyNkZWZpbmUgR0FURV9W REVDX1NPQzEoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwg X25hbWUsIF9wYXJlbnQsICZ2ZGVjX3NvYzFfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRl X29wc19zZXRjbHJfaW52KQ0KKw0KKyNkZWZpbmUgR0FURV9WREVDX1NPQzIoX2lkLCBfbmFtZSwg X3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVj X3NvYzJfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgdmRlY19zb2NfY2xrc1tdID0gew0KKwkvKiBW REVDX1NPQzAgKi8NCisJR0FURV9WREVDX1NPQzAoQ0xLX1ZERUNfU09DX1ZERUMsICJ2ZGVjX3Nv Y192ZGVjIiwgInZkZWNfc2VsIiwgMCksDQorCUdBVEVfVkRFQ19TT0MwKENMS19WREVDX1NPQ19W REVDX0FDVElWRSwgInZkZWNfc29jX3ZkZWNfYWN0aXZlIiwgInZkZWNfc2VsIiwgNCksDQorCS8q IFZERUNfU09DMSAqLw0KKwlHQVRFX1ZERUNfU09DMShDTEtfVkRFQ19TT0NfTEFULCAidmRlY19z b2NfbGF0IiwgInZkZWNfc2VsIiwgMCksDQorCUdBVEVfVkRFQ19TT0MxKENMS19WREVDX1NPQ19M QVRfQUNUSVZFLCAidmRlY19zb2NfbGF0X2FjdGl2ZSIsICJ2ZGVjX3NlbCIsIDQpLA0KKwkvKiBW REVDX1NPQzIgKi8NCisJR0FURV9WREVDX1NPQzIoQ0xLX1ZERUNfU09DX0xBUkIxLCAidmRlY19z b2NfbGFyYjEiLCAidmRlY19zZWwiLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5 Ml92ZGVjX3NvY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3Ry dWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5v ZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2Fs bG9jX2Nsa19kYXRhKENMS19WREVDX1NPQ19OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJ cmV0dXJuIC1FTk9NRU07DQorDQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIHZk ZWNfc29jX2Nsa3MsIEFSUkFZX1NJWkUodmRlY19zb2NfY2xrcyksIGNsa19kYXRhKTsNCisJaWYg KHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwg b2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX3ZkZWNfc29jW10gPSB7DQor CXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXZkZWNzeXNfc29jIiwgfSwNCisJe30N Cit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfdmRlY19z b2NfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3ZkZWNfc29jX3Byb2JlLA0KKwkuZHJp dmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi12ZGVjX3NvYyIsDQorCQkub2ZfbWF0Y2hf dGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX3ZkZWNfc29jLA0KKwl9LA0KK307DQorDQorYnVp bHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml92ZGVjX3NvY19kcnYpOw0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmVuYy5jIGIvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW10ODE5Mi12ZW5jLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwLi40NzM5MzU0DQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLXZlbmMuYw0KQEAgLTAsMCArMSw2MCBAQA0KKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRp YVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0K Kw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxh dGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xr LWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0K Kw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZW5jX2NnX3JlZ3MgPSB7DQor CS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0YV9vZnMgPSAweDAsDQor fTsNCisNCisjZGVmaW5lIEdBVEVfVkVOQyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwN CisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnZlbmNfY2dfcmVncywgX3NoaWZ0LCAm bXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGUgdmVuY19jbGtzW10gPSB7DQorCUdBVEVfVkVOQyhDTEtfVkVOQ19TRVQwX0xBUkIsICJ2 ZW5jX3NldDBfbGFyYiIsICJ2ZW5jX3NlbCIsIDApLA0KKwlHQVRFX1ZFTkMoQ0xLX1ZFTkNfU0VU MV9WRU5DLCAidmVuY19zZXQxX3ZlbmMiLCAidmVuY19zZWwiLCA0KSwNCisJR0FURV9WRU5DKENM S19WRU5DX1NFVDJfSlBHRU5DLCAidmVuY19zZXQyX2pwZ2VuYyIsICJ2ZW5jX3NlbCIsIDgpLA0K KwlHQVRFX1ZFTkMoQ0xLX1ZFTkNfU0VUNV9HQUxTLCAidmVuY19zZXQ1X2dhbHMiLCAidmVuY19z ZWwiLCAyOCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfdmVuY19wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEg KmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9k ZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19WRU5D X05SX0NMSyk7DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9 IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgdmVuY19jbGtzLCBBUlJBWV9TSVpFKHZlbmNf Y2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9m X2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEp Ow0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtf bXQ4MTkyX3ZlbmNbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItdmVu Y3N5cyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBj bGtfbXQ4MTkyX3ZlbmNfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3ZlbmNfcHJvYmUs DQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLXZlbmMiLA0KKwkJLm9mX21h dGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml92ZW5jLA0KKwl9LA0KK307DQorDQorYnVp bHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml92ZW5jX2Rydik7DQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW10ODE5Mi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNDQ1Nzdj NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi5j DQpAQCAtMCwwICsxLDEzNDAgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vbmx5DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1 dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGlu dXgvY2xrLmg+DQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGxpbnV4L21m ZC9zeXNjb24uaD4NCisjaW5jbHVkZSA8bGludXgvb2YuaD4NCisjaW5jbHVkZSA8bGludXgvb2Zf YWRkcmVzcy5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCisjaW5jbHVkZSA8bGlu dXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCisNCisjaW5j bHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGstbXV4LmgiDQorI2luY2x1ZGUgImNsay1n YXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisN CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG10ODE5Ml9jbGtfbG9jayk7DQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfZml4ZWRfY2xrIHRvcF9maXhlZF9jbGtzW10gPSB7DQorCUZJWEVEX0NM SyhDTEtfVE9QX1VMUE9TQywgInVscG9zYyIsIE5VTEwsIDI2MDAwMDAwMCksDQorfTsNCisNCitz dGF0aWMgY29uc3Qgc3RydWN0IG10a19maXhlZF9mYWN0b3IgdG9wX2Vhcmx5X2RpdnNbXSA9IHsN CisJRkFDVE9SKENMS19UT1BfQ1NXX0YyNk1fRDIsICJjc3dfZjI2bV9kMiIsICJjbGsyNm0iLCAx LCAyKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2ZpeGVkX2ZhY3RvciB0b3Bf ZGl2c1tdID0gew0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0QzLCAibWFpbnBsbF9kMyIsICJt YWlucGxsIiwgMSwgMyksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDQsICJtYWlucGxsX2Q0 IiwgIm1haW5wbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENF9EMiwgIm1h aW5wbGxfZDRfZDIiLCAibWFpbnBsbF9kNCIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlO UExMX0Q0X0Q0LCAibWFpbnBsbF9kNF9kNCIsICJtYWlucGxsX2Q0IiwgMSwgNCksDQorCUZBQ1RP UihDTEtfVE9QX01BSU5QTExfRDRfRDgsICJtYWlucGxsX2Q0X2Q4IiwgIm1haW5wbGxfZDQiLCAx LCA4KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENF9EMTYsICJtYWlucGxsX2Q0X2QxNiIs ICJtYWlucGxsX2Q0IiwgMSwgMTYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q1LCAibWFp bnBsbF9kNSIsICJtYWlucGxsIiwgMSwgNSksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDVf RDIsICJtYWlucGxsX2Q1X2QyIiwgIm1haW5wbGxfZDUiLCAxLCAyKSwNCisJRkFDVE9SKENMS19U T1BfTUFJTlBMTF9ENV9ENCwgIm1haW5wbGxfZDVfZDQiLCAibWFpbnBsbF9kNSIsIDEsIDQpLA0K KwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q1X0Q4LCAibWFpbnBsbF9kNV9kOCIsICJtYWlucGxs X2Q1IiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDYsICJtYWlucGxsX2Q2Iiwg Im1haW5wbGwiLCAxLCA2KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENl9EMiwgIm1haW5w bGxfZDZfZDIiLCAibWFpbnBsbF9kNiIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExM X0Q2X0Q0LCAibWFpbnBsbF9kNl9kNCIsICJtYWlucGxsX2Q2IiwgMSwgNCksDQorCUZBQ1RPUihD TEtfVE9QX01BSU5QTExfRDcsICJtYWlucGxsX2Q3IiwgIm1haW5wbGwiLCAxLCA3KSwNCisJRkFD VE9SKENMS19UT1BfTUFJTlBMTF9EN19EMiwgIm1haW5wbGxfZDdfZDIiLCAibWFpbnBsbF9kNyIs IDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q3X0Q0LCAibWFpbnBsbF9kN19kNCIs ICJtYWlucGxsX2Q3IiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDdfRDgsICJt YWlucGxsX2Q3X2Q4IiwgIm1haW5wbGxfZDciLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfVU5J VlBMTF9EMywgInVuaXZwbGxfZDMiLCAidW5pdnBsbCIsIDEsIDMpLA0KKwlGQUNUT1IoQ0xLX1RP UF9VTklWUExMX0Q0LCAidW5pdnBsbF9kNCIsICJ1bml2cGxsIiwgMSwgNCksDQorCUZBQ1RPUihD TEtfVE9QX1VOSVZQTExfRDRfRDIsICJ1bml2cGxsX2Q0X2QyIiwgInVuaXZwbGxfZDQiLCAxLCAy KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENF9ENCwgInVuaXZwbGxfZDRfZDQiLCAidW5p dnBsbF9kNCIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q0X0Q4LCAidW5pdnBs bF9kNF9kOCIsICJ1bml2cGxsX2Q0IiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExf RDUsICJ1bml2cGxsX2Q1IiwgInVuaXZwbGwiLCAxLCA1KSwNCisJRkFDVE9SKENMS19UT1BfVU5J VlBMTF9ENV9EMiwgInVuaXZwbGxfZDVfZDIiLCAidW5pdnBsbF9kNSIsIDEsIDIpLA0KKwlGQUNU T1IoQ0xLX1RPUF9VTklWUExMX0Q1X0Q0LCAidW5pdnBsbF9kNV9kNCIsICJ1bml2cGxsX2Q1Iiwg MSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDVfRDgsICJ1bml2cGxsX2Q1X2Q4Iiwg InVuaXZwbGxfZDUiLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENiwgInVuaXZw bGxfZDYiLCAidW5pdnBsbCIsIDEsIDYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2X0Qy LCAidW5pdnBsbF9kNl9kMiIsICJ1bml2cGxsX2Q2IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9Q X1VOSVZQTExfRDZfRDQsICJ1bml2cGxsX2Q2X2Q0IiwgInVuaXZwbGxfZDYiLCAxLCA0KSwNCisJ RkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENl9EOCwgInVuaXZwbGxfZDZfZDgiLCAidW5pdnBsbF9k NiIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2X0QxNiwgInVuaXZwbGxfZDZf ZDE2IiwgInVuaXZwbGxfZDYiLCAxLCAxNiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDcs ICJ1bml2cGxsX2Q3IiwgInVuaXZwbGwiLCAxLCA3KSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDEs ICJhcGxsMV9jayIsICJhcGxsMSIsIDEsIDEpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMV9EMiwg ImFwbGwxX2QyIiwgImFwbGwxIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxX0Q0LCAi YXBsbDFfZDQiLCAiYXBsbDEiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDFfRDgsICJh cGxsMV9kOCIsICJhcGxsMSIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMiwgImFwbGwy X2NrIiwgImFwbGwyIiwgMSwgMSksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwyX0QyLCAiYXBsbDJf ZDIiLCAiYXBsbDIiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDJfRDQsICJhcGxsMl9k NCIsICJhcGxsMiIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMl9EOCwgImFwbGwyX2Q4 IiwgImFwbGwyIiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q0LCAibW1wbGxfZDQi LCAibW1wbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfTU1QTExfRDRfRDIsICJtbXBsbF9k NF9kMiIsICJtbXBsbF9kNCIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBMTF9ENSwgIm1t cGxsX2Q1IiwgIm1tcGxsIiwgMSwgNSksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q1X0QyLCAi bW1wbGxfZDVfZDIiLCAibW1wbGxfZDUiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfTU1QTExf RDYsICJtbXBsbF9kNiIsICJtbXBsbCIsIDEsIDYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBMTF9E Nl9EMiwgIm1tcGxsX2Q2X2QyIiwgIm1tcGxsX2Q2IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9Q X01NUExMX0Q3LCAibW1wbGxfZDciLCAibW1wbGwiLCAxLCA3KSwNCisJRkFDVE9SKENMS19UT1Bf TU1QTExfRDksICJtbXBsbF9kOSIsICJtbXBsbCIsIDEsIDkpLA0KKwlGQUNUT1IoQ0xLX1RPUF9B UFVQTEwsICJhcHVwbGxfY2siLCAiYXB1cGxsIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX05Q VVBMTCwgIm5wdXBsbF9jayIsICJucHVwbGwiLCAxLCAxKSwNCisJRkFDVE9SKENMS19UT1BfVFZE UExMLCAidHZkcGxsX2NrIiwgInR2ZHBsbCIsIDEsIDEpLA0KKwlGQUNUT1IoQ0xLX1RPUF9UVkRQ TExfRDIsICJ0dmRwbGxfZDIiLCAidHZkcGxsIiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX1RW RFBMTF9ENCwgInR2ZHBsbF9kNCIsICJ0dmRwbGwiLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1Bf VFZEUExMX0Q4LCAidHZkcGxsX2Q4IiwgInR2ZHBsbCIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RP UF9UVkRQTExfRDE2LCAidHZkcGxsX2QxNiIsICJ0dmRwbGwiLCAxLCAxNiksDQorCUZBQ1RPUihD TEtfVE9QX01TRENQTEwsICJtc2RjcGxsX2NrIiwgIm1zZGNwbGwiLCAxLCAxKSwNCisJRkFDVE9S KENMS19UT1BfTVNEQ1BMTF9EMiwgIm1zZGNwbGxfZDIiLCAibXNkY3BsbCIsIDEsIDIpLA0KKwlG QUNUT1IoQ0xLX1RPUF9NU0RDUExMX0Q0LCAibXNkY3BsbF9kNCIsICJtc2RjcGxsIiwgMSwgNCks DQorCUZBQ1RPUihDTEtfVE9QX09TQ19EMiwgIm9zY19kMiIsICJ1bHBvc2MiLCAxLCAyKSwNCisJ RkFDVE9SKENMS19UT1BfT1NDX0Q0LCAib3NjX2Q0IiwgInVscG9zYyIsIDEsIDQpLA0KKwlGQUNU T1IoQ0xLX1RPUF9PU0NfRDgsICJvc2NfZDgiLCAidWxwb3NjIiwgMSwgOCksDQorCUZBQ1RPUihD TEtfVE9QX09TQ19EMTAsICJvc2NfZDEwIiwgInVscG9zYyIsIDEsIDEwKSwNCisJRkFDVE9SKENM S19UT1BfT1NDX0QxNiwgIm9zY19kMTYiLCAidWxwb3NjIiwgMSwgMTYpLA0KKwlGQUNUT1IoQ0xL X1RPUF9PU0NfRDIwLCAib3NjX2QyMCIsICJ1bHBvc2MiLCAxLCAyMCksDQorCUZBQ1RPUihDTEtf VE9QX0FEU1BQTEwsICJhZHNwcGxsX2NrIiwgImFkc3BwbGwiLCAxLCAxKSwNCisJRkFDVE9SKENM S19UT1BfVU5JVlBMTF8xOTJNLCAidW5pdnBsbF8xOTJtIiwgInVuaXZwbGwiLCAxLCAxMyksDQor CUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfMTkyTV9EMiwgInVuaXZwbGxfMTkybV9kMiIsICJ1bml2 cGxsXzE5Mm0iLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0Q0LCAidW5p dnBsbF8xOTJtX2Q0IiwgInVuaXZwbGxfMTkybSIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9V TklWUExMXzE5Mk1fRDgsICJ1bml2cGxsXzE5Mm1fZDgiLCAidW5pdnBsbF8xOTJtIiwgMSwgOCks DQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfMTkyTV9EMTYsICJ1bml2cGxsXzE5Mm1fZDE2Iiwg InVuaXZwbGxfMTkybSIsIDEsIDE2KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0Qz MiwgInVuaXZwbGxfMTkybV9kMzIiLCAidW5pdnBsbF8xOTJtIiwgMSwgMzIpLA0KK307DQorDQor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBheGlfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtYWlucGxsX2Q0X2Qy IiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJvc2NfZDQiDQor fTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNwbV9wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkib3NjX2QxMCIsDQorCSJtYWlucGxsX2Q3X2Q0IiwNCisJImNsazMyayINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NwX3BhcmVudHNbXSA9IHsNCisJImNs azI2bSIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibWFpbnBsbF9k NiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNV9k MiIsDQorCSJ1bml2cGxsX2Q0X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBidXNfYXhpbWVtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q3X2Qy IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtYWlucGxsX2Q2 Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkaXNwX3BhcmVudHNbXSA9IHsN CisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwki bW1wbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJ Im1tcGxsX2Q3IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNCIsDQorCSJtbXBsbF9k NV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWRwX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwNCisJ Im1haW5wbGxfZDRfZDIiLA0KKwkibW1wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1 bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDQiLA0KKwkidHZkcGxsX2NrIiwNCisJInVuaXZwbGxf ZDQiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGltZzFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDQiLA0KKwkidHZk cGxsX2NrIiwNCisJIm1haW5wbGxfZDQiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJtbXBsbF9kNiIs DQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDRfZDIiLA0KKwki bWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9kMiINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgaW1nMl9wYXJlbnRzW10gPSB7DQorCSJjbGsy Nm0iLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ0dmRwbGxfY2siLA0KKwkibWFpbnBsbF9kNCIsDQor CSJ1bml2cGxsX2Q1IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFpbnBs bF9kNiIsDQorCSJtbXBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1tcGxsX2Q2 X2QyIiwNCisJIm1tcGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBpcGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDQiLA0KKwkibW1w bGxfZDYiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlucGxsX2Q2IiwNCisJInVuaXZwbGxfZDRf ZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9k MiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHBlX3BhcmVudHNbXSA9IHsN CisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxf ZDYiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDVf ZDIiLA0KKwkibW1wbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGNhbV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNCIsDQorCSJtbXBs bF9kNiIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDUiLA0KKwkidW5pdnBsbF9kNiIs DQorCSJtbXBsbF9kNyIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRfZDIiLA0K KwkidW5pdnBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2N1 X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxsX2Q2 IiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDciLA0KKwkidW5pdnBsbF9kNF9kMiIsDQor CSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q1IiwNCisJInVu aXZwbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRzcDdfcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9k NiIsDQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1tcGxsX2Q1IiwNCisJInVu aXZwbGxfZDQiLA0KKwkibW1wbGxfZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IG1mZ19yZWZfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImNsazI2bSIsDQorCSJ1 bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IG1mZ19wbGxfcGFyZW50c1tdID0gew0KKwkibWZnX3JlZl9zZWwiLA0KKwkibWZn cGxsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10Z19wYXJlbnRzW10g PSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgi LA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVuaXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZt X2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0KKwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2FtdGcyX3BhcmVudHNbXSA9IHsNCisJImNs azI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0KKwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2 cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9kMTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwki dW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxsXzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ InVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9k NCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJjc3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5 Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IGNhbXRnNF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8x OTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVu aXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZtX2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0K KwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg Y2FtdGc1X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0K KwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9k MTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwkidW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxs XzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzZfcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxs X2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9kNCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJj c3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVhcnRfcGFyZW50c1tdID0gew0K KwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDZfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IHNwaV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNV9k NCIsDQorCSJtYWlucGxsX2Q2X2Q0IiwNCisJIm1zZGNwbGxfZDQiDQorfTsNCisNCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IG1zZGM1MF8wX2hfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgbXNkYzUwXzBfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ Im1zZGNwbGxfY2siLA0KKwkibXNkY3BsbF9kMiIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJIm1h aW5wbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgbXNkYzMwXzFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZw bGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q3X2QyIiwNCisJIm1z ZGNwbGxfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1zZGMzMF8yX3Bh cmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJIm1haW5wbGxf ZDZfZDIiLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtc2RjcGxsX2QyIg0KK307DQorDQorc3Rh dGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRpb19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkibWFpbnBsbF9kNV9kOCIsDQorCSJtYWlucGxsX2Q3X2Q4IiwNCisJIm1haW5wbGxfZDRfZDE2 Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfaW50YnVzX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2Q0IiwNCisJIm1haW5wbGxfZDdfZDQi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHB3cmFwX3VscG9zY19wYXJlbnRz W10gPSB7DQorCSJvc2NfZDEwIiwNCisJImNsazI2bSIsDQorCSJvc2NfZDQiLA0KKwkib3NjX2Q4 IiwNCisJIm9zY19kMTYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF0Yl9w YXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxs X2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzc3BtX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJInVuaXZwbGxfZDVfZDIi LA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDYi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRwaV9wYXJlbnRzW10gPSB7DQor CSJjbGsyNm0iLA0KKwkidHZkcGxsX2QyIiwNCisJInR2ZHBsbF9kNCIsDQorCSJ0dmRwbGxfZDgi LA0KKwkidHZkcGxsX2QxNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2Nh bV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNV9kNCINCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZGlzcF9wd21fcGFyZW50c1tdID0gew0KKwkiY2xr MjZtIiwNCisJInVuaXZwbGxfZDZfZDQiLA0KKwkib3NjX2QyIiwNCisJIm9zY19kNCIsDQorCSJv c2NfZDE2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1c2JfdG9wX3BhcmVu dHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q1X2Q0IiwNCisJInVuaXZwbGxfZDZf ZDQiLA0KKwkidW5pdnBsbF9kNV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3Qgc3N1c2JfeGhjaV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNV9k NCIsDQorCSJ1bml2cGxsX2Q2X2Q0IiwNCisJInVuaXZwbGxfZDVfZDIiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IGkyY19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwki bWFpbnBsbF9kNF9kOCIsDQorCSJ1bml2cGxsX2Q1X2Q0Ig0KK307DQorDQorc3RhdGljIGNvbnN0 IGNoYXIgKiBjb25zdCBzZW5pbmZfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZw bGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVu aXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1 Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzZW5pbmYxX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJInVuaXZwbGxfZDZfZDIiLA0K KwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q3IiwNCisJInVuaXZwbGxfZDYiLA0KKwki bW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3Qgc2VuaW5mMl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNF9k NCIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9k NyIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDUiDQorfTsN CisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlbmluZjNfcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJ1bml2 cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBsbF9k NiIsDQorCSJ1bml2cGxsX2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0 bF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2QyIiwNCisJIm1h aW5wbGxfZDZfZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGR4Y2NfcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9k NF9kNCIsDQorCSJtYWlucGxsX2Q0X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBhdWRfZW5nZW4xX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJhcGxsMV9kMiIs DQorCSJhcGxsMV9kNCIsDQorCSJhcGxsMV9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgYXVkX2VuZ2VuMl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiYXBsbDJf ZDIiLA0KKwkiYXBsbDJfZDQiLA0KKwkiYXBsbDJfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGFlc191ZnNmZGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1h aW5wbGxfZDQiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q2IiwNCisJIm1haW5w bGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q2Ig0KK307DQorDQor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1ZnNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwN CisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kNF9kOCIsDQorCSJ1bml2cGxsX2Q0X2Q0 IiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtc2RjcGxsX2Qy Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfMV9wYXJlbnRzW10gPSB7 DQorCSJjbGsyNm0iLA0KKwkiYXBsbDFfY2siDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGF1ZF8yX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJhcGxsMl9jayINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWRzcF9wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJInVuaXZwbGxf ZDRfZDQiLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ1bml2cGxsX2Q2IiwNCisJInVscG9zYyIsDQor CSJhZHNwcGxsX2NrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkcG1haWZf bWFpbl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNF9kNCIsDQorCSJt YWlucGxsX2Q2IiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmVuY19wYXJlbnRzW10gPSB7DQorCSJjbGsy Nm0iLA0KKwkibW1wbGxfZDciLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwN CisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtbXBsbF9kNiIsDQorCSJt YWlucGxsX2Q1X2QyIiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkibW1wbGxfZDkiLA0KKwkidW5p dnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q0IiwNCisJInVuaXZwbGxfZDQiLA0KKwkidW5pdnBs bF9kNSIsDQorCSJ1bml2cGxsX2Q1X2QyIiwNCisJIm1haW5wbGxfZDUiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IHZkZWNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ InVuaXZwbGxfMTkybV9kMiIsDQorCSJ1bml2cGxsX2Q1X2Q0IiwNCisJIm1haW5wbGxfZDUiLA0K KwkibWFpbnBsbF9kNV9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q1X2QyIiwN CisJIm1haW5wbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q3IiwN CisJIm1tcGxsX2Q3IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDUiLA0KKwkibWFpbnBs bF9kNCIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDYiDQorfTsNCisNCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IGNhbXRtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1 bml2cGxsX2Q3IiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHdtX3BhcmVudHNbXSA9IHsNCisJImNsazI2 bSIsDQorCSJ1bml2cGxsX2Q0X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBhdWRpb19oX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q3IiwNCisJ ImFwbGwxX2NrIiwNCisJImFwbGwyX2NrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBzcG1pX21zdF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiY3N3X2YyNm1fZDIi LA0KKwkib3NjX2Q4IiwNCisJIm9zY19kMTAiLA0KKwkib3NjX2QxNiIsDQorCSJvc2NfZDIwIiwN CisJImNsazMyayINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWVzX21zZGNm ZGVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFp bnBsbF9kNiIsDQorCSJtYWlucGxsX2Q0X2Q0IiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkidW5p dnBsbF9kNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWN1cG1fcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDZfZDQiLA0KKwkibWFpbnBsbF9kNl9k MiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2ZsYXNoX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q3X2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0K KwkidW5pdnBsbF9kNV9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBs bF9pMnMwX21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnMxX21fcGFyZW50c1tdID0g ew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgYXBsbF9pMnMyX21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJ ImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnMz X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM0X21fcGFyZW50c1tdID0gew0KKwki YXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgYXBsbF9pMnM1X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8y X3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM2X21fcGFy ZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM3X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFf c2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg YXBsbF9pMnM4X21fcGFyZW50c1tdID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBsbF9pMnM5X21fcGFyZW50c1td ID0gew0KKwkiYXVkXzFfc2VsIiwNCisJImF1ZF8yX3NlbCINCit9Ow0KKw0KKy8qDQorICogQ1JJ VElDQUwgQ0xPQ0s6DQorICogYXhpX3NlbCBpcyB0aGUgbWFpbiBidXMgY2xvY2sgb2Ygd2hvbGUg U09DLg0KKyAqIHNwbV9zZWwgaXMgdGhlIGNsb2NrIG9mIHRoZSBhbHdheXMtb24gY28tcHJvY2Vz c29yLg0KKyAqIGJ1c19heGltZW1fc2VsIGlzIGNsb2NrIG9mIHRoZSBidXMgdGhhdCBhY2Nlc3Mg ZW1pLg0KKyAqLw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX211eCB0b3BfbXRrX211eGVzW10g PSB7DQorCS8qIENMS19DRkdfMCAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhDTEtf VE9QX0FYSV9TRUwsICJheGlfc2VsIiwNCisJCWF4aV9wYXJlbnRzLCAweDAxMCwgMHgwMTQsIDB4 MDE4LCAwLCAzLCA3LCAweDAwNCwgMCwNCisJCUNMS19JU19DUklUSUNBTCksDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEX0ZMQUdTKENMS19UT1BfU1BNX1NFTCwgInNwbV9zZWwiLA0KKwkJc3BtX3Bh cmVudHMsIDB4MDEwLCAweDAxNCwgMHgwMTgsIDgsIDIsIDE1LCAweDAwNCwgMSwNCisJCUNMS19J U19DUklUSUNBTCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0NQX1NFTCwgInNj cF9zZWwiLA0KKwkJc2NwX3BhcmVudHMsIDB4MDEwLCAweDAxNCwgMHgwMTgsIDE2LCAzLCAyMywg MHgwMDQsIDIpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhDTEtfVE9QX0JVU19BWElN RU1fU0VMLCAiYnVzX2F4aW1lbV9zZWwiLA0KKwkJYnVzX2F4aW1lbV9wYXJlbnRzLCAweDAxMCwg MHgwMTQsIDB4MDE4LCAyNCwgMywgMzEsIDB4MDA0LCAzLA0KKwkJQ0xLX0lTX0NSSVRJQ0FMKSwN CisJLyogQ0xLX0NGR18xICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfRElTUF9T RUwsICJkaXNwX3NlbCIsDQorCQlkaXNwX3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgsIDAs IDQsIDcsIDB4MDA0LCA0KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NRFBfU0VM LCAibWRwX3NlbCIsDQorCQltZHBfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwgOCwgNCwg MTUsIDB4MDA0LCA1KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9JTUcxX1NFTCwg ImltZzFfc2VsIiwNCisJCWltZzFfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwgMTYsIDQs IDIzLCAweDAwNCwgNiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfSU1HMl9TRUws ICJpbWcyX3NlbCIsDQorCQlpbWcyX3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgsIDI0LCA0 LCAzMSwgMHgwMDQsIDcpLA0KKwkvKiBDTEtfQ0ZHXzIgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9V UEQoQ0xLX1RPUF9JUEVfU0VMLCAiaXBlX3NlbCIsDQorCQlpcGVfcGFyZW50cywgMHgwMzAsIDB4 MDM0LCAweDAzOCwgMCwgNCwgNywgMHgwMDQsIDgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChD TEtfVE9QX0RQRV9TRUwsICJkcGVfc2VsIiwNCisJCWRwZV9wYXJlbnRzLCAweDAzMCwgMHgwMzQs IDB4MDM4LCA4LCAzLCAxNSwgMHgwMDQsIDkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtf VE9QX0NBTV9TRUwsICJjYW1fc2VsIiwNCisJCWNhbV9wYXJlbnRzLCAweDAzMCwgMHgwMzQsIDB4 MDM4LCAxNiwgNCwgMjMsIDB4MDA0LCAxMCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19U T1BfQ0NVX1NFTCwgImNjdV9zZWwiLA0KKwkJY2N1X3BhcmVudHMsIDB4MDMwLCAweDAzNCwgMHgw MzgsIDI0LCA0LCAzMSwgMHgwMDQsIDExKSwNCisJLyogQ0xLX0NGR180ICovDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfRFNQN19TRUwsICJkc3A3X3NlbCIsDQorCQlkc3A3X3BhcmVu dHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDAsIDMsIDcsIDB4MDA0LCAxNiksDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfTUZHX1JFRl9TRUwsICJtZmdfcmVmX3NlbCIsDQorCQltZmdf cmVmX3BhcmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDE2LCAyLCAyMywgMHgwMDQsIDE4KSwN CisJTVVYX0NMUl9TRVRfVVBEKENMS19UT1BfTUZHX1BMTF9TRUwsICJtZmdfcGxsX3NlbCIsDQor CQltZmdfcGxsX3BhcmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDE4LCAxLCAtMSwgLTEpLA0K KwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHX1NFTCwgImNhbXRnX3NlbCIsDQor CQljYW10Z19wYXJlbnRzLCAweDA1MCwgMHgwNTQsIDB4MDU4LCAyNCwgMywgMzEsIDB4MDA0LCAx OSksDQorCS8qIENMS19DRkdfNSAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NB TVRHMl9TRUwsICJjYW10ZzJfc2VsIiwNCisJCWNhbXRnMl9wYXJlbnRzLCAweDA2MCwgMHgwNjQs IDB4MDY4LCAwLCAzLCA3LCAweDAwNCwgMjApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtf VE9QX0NBTVRHM19TRUwsICJjYW10ZzNfc2VsIiwNCisJCWNhbXRnM19wYXJlbnRzLCAweDA2MCwg MHgwNjQsIDB4MDY4LCA4LCAzLCAxNSwgMHgwMDQsIDIxKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9V UEQoQ0xLX1RPUF9DQU1URzRfU0VMLCAiY2FtdGc0X3NlbCIsDQorCQljYW10ZzRfcGFyZW50cywg MHgwNjAsIDB4MDY0LCAweDA2OCwgMTYsIDMsIDIzLCAweDAwNCwgMjIpLA0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHNV9TRUwsICJjYW10ZzVfc2VsIiwNCisJCWNhbXRnNV9w YXJlbnRzLCAweDA2MCwgMHgwNjQsIDB4MDY4LCAyNCwgMywgMzEsIDB4MDA0LCAyMyksDQorCS8q IENMS19DRkdfNiAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRHNl9TRUws ICJjYW10ZzZfc2VsIiwNCisJCWNhbXRnNl9wYXJlbnRzLCAweDA3MCwgMHgwNzQsIDB4MDc4LCAw LCAzLCA3LCAweDAwNCwgMjQpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1VBUlRf U0VMLCAidWFydF9zZWwiLA0KKwkJdWFydF9wYXJlbnRzLCAweDA3MCwgMHgwNzQsIDB4MDc4LCA4 LCAxLCAxNSwgMHgwMDQsIDI1KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TUElf U0VMLCAic3BpX3NlbCIsDQorCQlzcGlfcGFyZW50cywgMHgwNzAsIDB4MDc0LCAweDA3OCwgMTYs IDIsIDIzLCAweDAwNCwgMjYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01TREM1 MF8wX0hfU0VMLCAibXNkYzUwXzBfaF9zZWwiLA0KKwkJbXNkYzUwXzBfaF9wYXJlbnRzLCAweDA3 MCwgMHgwNzQsIDB4MDc4LCAyNCwgMiwgMzEsIDB4MDA0LCAyNyksDQorCS8qIENMS19DRkdfNyAq Lw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01TREM1MF8wX1NFTCwgIm1zZGM1MF8w X3NlbCIsDQorCQltc2RjNTBfMF9wYXJlbnRzLCAweDA4MCwgMHgwODQsIDB4MDg4LCAwLCAzLCA3 LCAweDAwNCwgMjgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01TREMzMF8xX1NF TCwgIm1zZGMzMF8xX3NlbCIsDQorCQltc2RjMzBfMV9wYXJlbnRzLCAweDA4MCwgMHgwODQsIDB4 MDg4LCA4LCAzLCAxNSwgMHgwMDQsIDI5KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RP UF9NU0RDMzBfMl9TRUwsICJtc2RjMzBfMl9zZWwiLA0KKwkJbXNkYzMwXzJfcGFyZW50cywgMHgw ODAsIDB4MDg0LCAweDA4OCwgMTYsIDMsIDIzLCAweDAwNCwgMzApLA0KKwlNVVhfR0FURV9DTFJf U0VUX1VQRChDTEtfVE9QX0FVRElPX1NFTCwgImF1ZGlvX3NlbCIsDQorCQlhdWRpb19wYXJlbnRz LCAweDA4MCwgMHgwODQsIDB4MDg4LCAyNCwgMiwgMzEsIDB4MDA4LCAwKSwNCisJLyogQ0xLX0NG R184ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQVVEX0lOVEJVU19TRUwsICJh dWRfaW50YnVzX3NlbCIsDQorCQlhdWRfaW50YnVzX3BhcmVudHMsIDB4MDkwLCAweDA5NCwgMHgw OTgsIDAsIDIsIDcsIDB4MDA4LCAxKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9Q V1JBUF9VTFBPU0NfU0VMLCAicHdyYXBfdWxwb3NjX3NlbCIsDQorCQlwd3JhcF91bHBvc2NfcGFy ZW50cywgMHgwOTAsIDB4MDk0LCAweDA5OCwgOCwgMywgMTUsIDB4MDA4LCAyKSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BVEJfU0VMLCAiYXRiX3NlbCIsDQorCQlhdGJfcGFyZW50 cywgMHgwOTAsIDB4MDk0LCAweDA5OCwgMTYsIDIsIDIzLCAweDAwOCwgMyksDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfU1NQTV9TRUwsICJzc3BtX3NlbCIsDQorCQlzc3BtX3BhcmVu dHMsIDB4MDkwLCAweDA5NCwgMHgwOTgsIDI0LCAzLCAzMSwgMHgwMDgsIDQpLA0KKwkvKiBDTEtf Q0ZHXzkgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EUElfU0VMLCAiZHBpX3Nl bCIsDQorCQlkcGlfcGFyZW50cywgMHgwYTAsIDB4MGE0LCAweDBhOCwgMCwgMywgNywgMHgwMDgs IDUpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NDQU1fU0VMLCAic2NhbV9zZWwi LA0KKwkJc2NhbV9wYXJlbnRzLCAweDBhMCwgMHgwYTQsIDB4MGE4LCA4LCAxLCAxNSwgMHgwMDgs IDYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RJU1BfUFdNX1NFTCwgImRpc3Bf cHdtX3NlbCIsDQorCQlkaXNwX3B3bV9wYXJlbnRzLCAweDBhMCwgMHgwYTQsIDB4MGE4LCAxNiwg MywgMjMsIDB4MDA4LCA3KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9VU0JfVE9Q X1NFTCwgInVzYl90b3Bfc2VsIiwNCisJCXVzYl90b3BfcGFyZW50cywgMHgwYTAsIDB4MGE0LCAw eDBhOCwgMjQsIDIsIDMxLCAweDAwOCwgOCksDQorCS8qIENMS19DRkdfMTAgKi8NCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TU1VTQl9YSENJX1NFTCwgInNzdXNiX3hoY2lfc2VsIiwN CisJCXNzdXNiX3hoY2lfcGFyZW50cywgMHgwYjAsIDB4MGI0LCAweDBiOCwgMCwgMiwgNywgMHgw MDgsIDkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0kyQ19TRUwsICJpMmNfc2Vs IiwNCisJCWkyY19wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4MGI4LCA4LCAyLCAxNSwgMHgwMDgs IDEwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkZfU0VMLCAic2VuaW5m X3NlbCIsDQorCQlzZW5pbmZfcGFyZW50cywgMHgwYjAsIDB4MGI0LCAweDBiOCwgMTYsIDMsIDIz LCAweDAwOCwgMTEpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NFTklORjFfU0VM LCAic2VuaW5mMV9zZWwiLA0KKwkJc2VuaW5mMV9wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4MGI4 LCAyNCwgMywgMzEsIDB4MDA4LCAxMiksDQorCS8qIENMS19DRkdfMTEgKi8NCisJTVVYX0dBVEVf Q0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkYyX1NFTCwgInNlbmluZjJfc2VsIiwNCisJCXNlbmlu ZjJfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgMCwgMywgNywgMHgwMDgsIDEzKSwNCisJ TVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkYzX1NFTCwgInNlbmluZjNfc2VsIiwN CisJCXNlbmluZjNfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgOCwgMywgMTUsIDB4MDA4 LCAxNCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVExfU0VMLCAidGxfc2VsIiwN CisJCXRsX3BhcmVudHMsIDB4MGMwLCAweDBjNCwgMHgwYzgsIDE2LCAyLCAyMywgMHgwMDgsIDE1 KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EWENDX1NFTCwgImR4Y2Nfc2VsIiwN CisJCWR4Y2NfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgMjQsIDIsIDMxLCAweDAwOCwg MTYpLA0KKwkvKiBDTEtfQ0ZHXzEyICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1Bf QVVEX0VOR0VOMV9TRUwsICJhdWRfZW5nZW4xX3NlbCIsDQorCQlhdWRfZW5nZW4xX3BhcmVudHMs IDB4MGQwLCAweDBkNCwgMHgwZDgsIDAsIDIsIDcsIDB4MDA4LCAxNyksDQorCU1VWF9HQVRFX0NM Ul9TRVRfVVBEKENMS19UT1BfQVVEX0VOR0VOMl9TRUwsICJhdWRfZW5nZW4yX3NlbCIsDQorCQlh dWRfZW5nZW4yX3BhcmVudHMsIDB4MGQwLCAweDBkNCwgMHgwZDgsIDgsIDIsIDE1LCAweDAwOCwg MTgpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FFU19VRlNGREVfU0VMLCAiYWVz X3Vmc2ZkZV9zZWwiLA0KKwkJYWVzX3Vmc2ZkZV9wYXJlbnRzLCAweDBkMCwgMHgwZDQsIDB4MGQ4 LCAxNiwgMywgMjMsIDB4MDA4LCAxOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1Bf VUZTX1NFTCwgInVmc19zZWwiLA0KKwkJdWZzX3BhcmVudHMsIDB4MGQwLCAweDBkNCwgMHgwZDgs IDI0LCAzLCAzMSwgMHgwMDgsIDIwKSwNCisJLyogQ0xLX0NGR18xMyAqLw0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX0FVRF8xX1NFTCwgImF1ZF8xX3NlbCIsDQorCQlhdWRfMV9wYXJl bnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCAwLCAxLCA3LCAweDAwOCwgMjEpLA0KKwlNVVhfR0FU RV9DTFJfU0VUX1VQRChDTEtfVE9QX0FVRF8yX1NFTCwgImF1ZF8yX3NlbCIsDQorCQlhdWRfMl9w YXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCA4LCAxLCAxNSwgMHgwMDgsIDIyKSwNCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BRFNQX1NFTCwgImFkc3Bfc2VsIiwNCisJCWFkc3Bf cGFyZW50cywgMHgwZTAsIDB4MGU0LCAweDBlOCwgMTYsIDMsIDIzLCAweDAwOCwgMjMpLA0KKwlN VVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RQTUFJRl9NQUlOX1NFTCwgImRwbWFpZl9tYWlu X3NlbCIsDQorCQlkcG1haWZfbWFpbl9wYXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCAyNCwg MywgMzEsIDB4MDA4LCAyNCksDQorCS8qIENMS19DRkdfMTQgKi8NCisJTVVYX0dBVEVfQ0xSX1NF VF9VUEQoQ0xLX1RPUF9WRU5DX1NFTCwgInZlbmNfc2VsIiwNCisJCXZlbmNfcGFyZW50cywgMHgw ZjAsIDB4MGY0LCAweDBmOCwgMCwgNCwgNywgMHgwMDgsIDI1KSwNCisJTVVYX0dBVEVfQ0xSX1NF VF9VUEQoQ0xLX1RPUF9WREVDX1NFTCwgInZkZWNfc2VsIiwNCisJCXZkZWNfcGFyZW50cywgMHgw ZjAsIDB4MGY0LCAweDBmOCwgOCwgNCwgMTUsIDB4MDA4LCAyNiksDQorCU1VWF9HQVRFX0NMUl9T RVRfVVBEKENMS19UT1BfQ0FNVE1fU0VMLCAiY2FtdG1fc2VsIiwNCisJCWNhbXRtX3BhcmVudHMs IDB4MGYwLCAweDBmNCwgMHgwZjgsIDE2LCAyLCAyMywgMHgwMDgsIDI3KSwNCisJTVVYX0dBVEVf Q0xSX1NFVF9VUEQoQ0xLX1RPUF9QV01fU0VMLCAicHdtX3NlbCIsDQorCQlwd21fcGFyZW50cywg MHgwZjAsIDB4MGY0LCAweDBmOCwgMjQsIDEsIDMxLCAweDAwOCwgMjgpLA0KKwkvKiBDTEtfQ0ZH XzE1ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQVVESU9fSF9TRUwsICJhdWRp b19oX3NlbCIsDQorCQlhdWRpb19oX3BhcmVudHMsIDB4MTAwLCAweDEwNCwgMHgxMDgsIDAsIDIs IDcsIDB4MDA4LCAyOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU1BNSV9NU1Rf U0VMLCAic3BtaV9tc3Rfc2VsIiwNCisJCXNwbWlfbXN0X3BhcmVudHMsIDB4MTAwLCAweDEwNCwg MHgxMDgsIDgsIDMsIDE1LCAweDAwOCwgMzApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtf VE9QX0FFU19NU0RDRkRFX1NFTCwgImFlc19tc2RjZmRlX3NlbCIsDQorCQlhZXNfbXNkY2ZkZV9w YXJlbnRzLCAweDEwMCwgMHgxMDQsIDB4MTA4LCAyNCwgMywgMzEsIDB4MDBjLCAxKSwNCisJLyog Q0xLX0NGR18xNiAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01DVVBNX1NFTCwg Im1jdXBtX3NlbCIsDQorCQltY3VwbV9wYXJlbnRzLCAweDExMCwgMHgxMTQsIDB4MTE4LCAwLCAy LCA3LCAweDAwYywgMiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0ZMQVNIX1NF TCwgInNmbGFzaF9zZWwiLA0KKwkJc2ZsYXNoX3BhcmVudHMsIDB4MTEwLCAweDExNCwgMHgxMTgs IDgsIDIsIDE1LCAweDAwYywgMyksDQorfTsNCisNCitzdGF0aWMgc3RydWN0IG10a19jb21wb3Np dGUgdG9wX211eGVzW10gPSB7DQorCS8qIENMS19BVURESVZfMCAqLw0KKwlNVVgoQ0xLX1RPUF9B UExMX0kyUzBfTV9TRUwsICJhcGxsX2kyczBfbV9zZWwiLCBhcGxsX2kyczBfbV9wYXJlbnRzLCAw eDMyMCwgMTYsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzFfTV9TRUwsICJhcGxsX2kyczFf bV9zZWwiLCBhcGxsX2kyczFfbV9wYXJlbnRzLCAweDMyMCwgMTcsIDEpLA0KKwlNVVgoQ0xLX1RP UF9BUExMX0kyUzJfTV9TRUwsICJhcGxsX2kyczJfbV9zZWwiLCBhcGxsX2kyczJfbV9wYXJlbnRz LCAweDMyMCwgMTgsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzNfTV9TRUwsICJhcGxsX2ky czNfbV9zZWwiLCBhcGxsX2kyczNfbV9wYXJlbnRzLCAweDMyMCwgMTksIDEpLA0KKwlNVVgoQ0xL X1RPUF9BUExMX0kyUzRfTV9TRUwsICJhcGxsX2kyczRfbV9zZWwiLCBhcGxsX2kyczRfbV9wYXJl bnRzLCAweDMyMCwgMjAsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzVfTV9TRUwsICJhcGxs X2kyczVfbV9zZWwiLCBhcGxsX2kyczVfbV9wYXJlbnRzLCAweDMyMCwgMjEsIDEpLA0KKwlNVVgo Q0xLX1RPUF9BUExMX0kyUzZfTV9TRUwsICJhcGxsX2kyczZfbV9zZWwiLCBhcGxsX2kyczZfbV9w YXJlbnRzLCAweDMyMCwgMjIsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzdfTV9TRUwsICJh cGxsX2kyczdfbV9zZWwiLCBhcGxsX2kyczdfbV9wYXJlbnRzLCAweDMyMCwgMjMsIDEpLA0KKwlN VVgoQ0xLX1RPUF9BUExMX0kyUzhfTV9TRUwsICJhcGxsX2kyczhfbV9zZWwiLCBhcGxsX2kyczhf bV9wYXJlbnRzLCAweDMyMCwgMjQsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzlfTV9TRUws ICJhcGxsX2kyczlfbV9zZWwiLCBhcGxsX2kyczlfbV9wYXJlbnRzLCAweDMyMCwgMjUsIDEpLA0K K307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfY29tcG9zaXRlIHRvcF9hZGpfZGl2c1td ID0gew0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVYwLCAiYXBsbDEyX2RpdjAiLCAiYXBs bF9pMnMwX21fc2VsIiwgMHgzMjAsIDAsIDB4MzI4LCA4LCAwKSwNCisJRElWX0dBVEUoQ0xLX1RP UF9BUExMMTJfRElWMSwgImFwbGwxMl9kaXYxIiwgImFwbGxfaTJzMV9tX3NlbCIsIDB4MzIwLCAx LCAweDMyOCwgOCwgOCksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjIsICJhcGxsMTJf ZGl2MiIsICJhcGxsX2kyczJfbV9zZWwiLCAweDMyMCwgMiwgMHgzMjgsIDgsIDE2KSwNCisJRElW X0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWMywgImFwbGwxMl9kaXYzIiwgImFwbGxfaTJzM19tX3Nl bCIsIDB4MzIwLCAzLCAweDMyOCwgOCwgMjQpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9E SVY0LCAiYXBsbDEyX2RpdjQiLCAiYXBsbF9pMnM0X21fc2VsIiwgMHgzMjAsIDQsIDB4MzM0LCA4 LCAwKSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWQiwgImFwbGwxMl9kaXZiIiwgImFw bGwxMl9kaXY0IiwgMHgzMjAsIDUsIDB4MzM0LCA4LCA4KSwNCisJRElWX0dBVEUoQ0xLX1RPUF9B UExMMTJfRElWNSwgImFwbGwxMl9kaXY1IiwgImFwbGxfaTJzNV9tX3NlbCIsIDB4MzIwLCA2LCAw eDMzNCwgOCwgMTYpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY2LCAiYXBsbDEyX2Rp djYiLCAiYXBsbF9pMnM2X21fc2VsIiwgMHgzMjAsIDcsIDB4MzM0LCA4LCAyNCksDQorCURJVl9H QVRFKENMS19UT1BfQVBMTDEyX0RJVjcsICJhcGxsMTJfZGl2NyIsICJhcGxsX2kyczdfbV9zZWwi LCAweDMyMCwgOCwgMHgzMzgsIDgsIDApLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY4 LCAiYXBsbDEyX2RpdjgiLCAiYXBsbF9pMnM4X21fc2VsIiwgMHgzMjAsIDksIDB4MzM4LCA4LCA4 KSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWOSwgImFwbGwxMl9kaXY5IiwgImFwbGxf aTJzOV9tX3NlbCIsIDB4MzIwLCAxMCwgMHgzMzgsIDgsIDE2KSwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBhcG1peGVkX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2Zz ID0gMHgxNCwNCisJLmNscl9vZnMgPSAweDE0LA0KKwkuc3RhX29mcyA9IDB4MTQsDQorfTsNCisN CisjZGVmaW5lIEdBVEVfQVBNSVhFRChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJ R0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmFwbWl4ZWRfY2dfcmVncywgX3NoaWZ0LCAm bXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX2dhdGUgYXBtaXhlZF9jbGtzW10gPSB7DQorCUdBVEVfQVBNSVhFRChDTEtfQVBNSVhFRF9N SVBJRDI2TSwgIm1pcGlkMjZtIiwgImNsazI2bSIsIDE2KSwNCit9Ow0KKw0KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTBfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAw eDgwLA0KKwkuY2xyX29mcyA9IDB4ODQsDQorCS5zdGFfb2ZzID0gMHg5MCwNCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTFfY2dfcmVncyA9IHsNCisJLnNl dF9vZnMgPSAweDg4LA0KKwkuY2xyX29mcyA9IDB4OGMsDQorCS5zdGFfb2ZzID0gMHg5NCwNCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTJfY2dfcmVncyA9 IHsNCisJLnNldF9vZnMgPSAweGE0LA0KKwkuY2xyX29mcyA9IDB4YTgsDQorCS5zdGFfb2ZzID0g MHhhYywNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTNf Y2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGMwLA0KKwkuY2xyX29mcyA9IDB4YzQsDQorCS5z dGFfb2ZzID0gMHhjOCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVn cyBpbmZyYTRfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGQwLA0KKwkuY2xyX29mcyA9IDB4 ZDQsDQorCS5zdGFfb2ZzID0gMHhkOCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGVfcmVncyBpbmZyYTVfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGUwLA0KKwkuY2xy X29mcyA9IDB4ZTQsDQorCS5zdGFfb2ZzID0gMHhlOCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9J TkZSQTAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25h bWUsIF9wYXJlbnQsICZpbmZyYTBfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19z ZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX0lORlJBMShfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hp ZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmluZnJhMV9jZ19yZWdzLCBf c2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCisjZGVmaW5lIEdBVEVfSU5GUkEy KF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBf cGFyZW50LCAmaW5mcmEyX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xy KQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTMoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlc DQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbmZyYTNfY2dfcmVncywgX3NoaWZ0 LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX0lORlJBNChfaWQs IF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVu dCwgJmluZnJhNF9jZ19yZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisN CisjZGVmaW5lIEdBVEVfSU5GUkE1X0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCwg X2ZsYWcpCQlcDQorCUdBVEVfTVRLX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbmZyYTVf Y2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIsIF9mbGFnKQ0K Kw0KKyNkZWZpbmUgR0FURV9JTkZSQTUoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQor CUdBVEVfSU5GUkE1X0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCwgMCkNCisNCisv Kg0KKyAqIENSSVRJQ0FMIENMT0NLOg0KKyAqIGluZnJhXzEzM20gYW5kIGluZnJhXzY2bSBhcmUg bWFpbiBwZXJpcGhlcmFsIGJ1cyBjbG9ja3Mgb2YgU09DLg0KKyAqLw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX2dhdGUgaW5mcmFfY2xrc1tdID0gew0KKwkvKiBJTkZSQTAgKi8NCisJR0FURV9J TkZSQTAoQ0xLX0lORlJBX1BNSUNfVE1SLCAiaW5mcmFfcG1pY190bXIiLCAicHdyYXBfdWxwb3Nj X3NlbCIsIDApLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUE1JQ19BUCwgImluZnJhX3BtaWNf YXAiLCAicHdyYXBfdWxwb3NjX3NlbCIsIDEpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUE1J Q19NRCwgImluZnJhX3BtaWNfbWQiLCAicHdyYXBfdWxwb3NjX3NlbCIsIDIpLA0KKwlHQVRFX0lO RlJBMChDTEtfSU5GUkFfUE1JQ19DT05OLCAiaW5mcmFfcG1pY19jb25uIiwgInB3cmFwX3VscG9z Y19zZWwiLCAzKSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1NDUFNZUywgImluZnJhX3NjcHN5 cyIsICJzY3Bfc2VsIiwgNCksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9TRUosICJpbmZyYV9z ZWoiLCAiYXhpX3NlbCIsIDUpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQVBYR1BULCAiaW5m cmFfYXB4Z3B0IiwgImF4aV9zZWwiLCA2KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX01DVVBN LCAiaW5mcmFfbWN1cG0iLCAibWN1cG1fc2VsIiwgNyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZS QV9HQ0UsICJpbmZyYV9nY2UiLCAiYXhpX3NlbCIsIDgpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5G UkFfR0NFMiwgImluZnJhX2djZTIiLCAiYXhpX3NlbCIsIDkpLA0KKwlHQVRFX0lORlJBMChDTEtf SU5GUkFfVEhFUk0sICJpbmZyYV90aGVybSIsICJheGlfc2VsIiwgMTApLA0KKwlHQVRFX0lORlJB MChDTEtfSU5GUkFfSTJDMCwgImluZnJhX2kyYzAiLCAiaTJjX3NlbCIsIDExKSwNCisJR0FURV9J TkZSQTAoQ0xLX0lORlJBX0FQX0RNQV9QU0VVRE8sICJpbmZyYV9hcF9kbWFfcHNldWRvIiwgImF4 aV9zZWwiLCAxMiksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMyLCAiaW5mcmFfaTJjMiIs ICJpMmNfc2VsIiwgMTMpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfSTJDMywgImluZnJhX2ky YzMiLCAiaTJjX3NlbCIsIDE0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTV9ILCAiaW5m cmFfcHdtX2giLCAiYXhpX3NlbCIsIDE1KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTTEs ICJpbmZyYV9wd20xIiwgInB3bV9zZWwiLCAxNiksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9Q V00yLCAiaW5mcmFfcHdtMiIsICJwd21fc2VsIiwgMTcpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5G UkFfUFdNMywgImluZnJhX3B3bTMiLCAicHdtX3NlbCIsIDE4KSwNCisJR0FURV9JTkZSQTAoQ0xL X0lORlJBX1BXTTQsICJpbmZyYV9wd200IiwgInB3bV9zZWwiLCAxOSksDQorCUdBVEVfSU5GUkEw KENMS19JTkZSQV9QV00sICJpbmZyYV9wd20iLCAicHdtX3NlbCIsIDIxKSwNCisJR0FURV9JTkZS QTAoQ0xLX0lORlJBX1VBUlQwLCAiaW5mcmFfdWFydDAiLCAidWFydF9zZWwiLCAyMiksDQorCUdB VEVfSU5GUkEwKENMS19JTkZSQV9VQVJUMSwgImluZnJhX3VhcnQxIiwgInVhcnRfc2VsIiwgMjMp LA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfVUFSVDIsICJpbmZyYV91YXJ0MiIsICJ1YXJ0X3Nl bCIsIDI0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1VBUlQzLCAiaW5mcmFfdWFydDMiLCAi dWFydF9zZWwiLCAyNSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9HQ0VfMjZNLCAiaW5mcmFf Z2NlXzI2bSIsICJheGlfc2VsIiwgMjcpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQ1FfRE1B X0ZQQywgImluZnJhX2NxX2RtYV9mcGMiLCAiYXhpX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTAo Q0xLX0lORlJBX0JUSUYsICJpbmZyYV9idGlmIiwgImF4aV9zZWwiLCAzMSksDQorCS8qIElORlJB MSAqLw0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfU1BJMCwgImluZnJhX3NwaTAiLCAic3BpX3Nl bCIsIDEpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzAsICJpbmZyYV9tc2RjMCIsICJt c2RjNTBfMF9oX3NlbCIsIDIpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzEsICJpbmZy YV9tc2RjMSIsICJtc2RjNTBfMF9oX3NlbCIsIDQpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFf TVNEQzIsICJpbmZyYV9tc2RjMiIsICJtc2RjNTBfMF9oX3NlbCIsIDUpLA0KKwlHQVRFX0lORlJB MShDTEtfSU5GUkFfTVNEQzBfU1JDLCAiaW5mcmFfbXNkYzBfc3JjIiwgIm1zZGM1MF8wX3NlbCIs IDYpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfR0NQVSwgImluZnJhX2djcHUiLCAiYXhpX3Nl bCIsIDgpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfVFJORywgImluZnJhX3RybmciLCAiYXhp X3NlbCIsIDkpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfQVVYQURDLCAiaW5mcmFfYXV4YWRj IiwgImNsazI2bSIsIDEwKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NQVU0sICJpbmZyYV9j cHVtIiwgImF4aV9zZWwiLCAxMSksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9DQ0lGMV9BUCwg ImluZnJhX2NjaWYxX2FwIiwgImF4aV9zZWwiLCAxMiksDQorCUdBVEVfSU5GUkExKENMS19JTkZS QV9DQ0lGMV9NRCwgImluZnJhX2NjaWYxX21kIiwgImF4aV9zZWwiLCAxMyksDQorCUdBVEVfSU5G UkExKENMS19JTkZSQV9BVVhBRENfTUQsICJpbmZyYV9hdXhhZGNfbWQiLCAiY2xrMjZtIiwgMTQp LA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfUENJRV9UTF8yNk0sICJpbmZyYV9wY2llX3RsXzI2 bSIsICJheGlfc2VsIiwgMTUpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzFfU1JDLCAi aW5mcmFfbXNkYzFfc3JjIiwgIm1zZGMzMF8xX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTEoQ0xL X0lORlJBX01TREMyX1NSQywgImluZnJhX21zZGMyX3NyYyIsICJtc2RjMzBfMl9zZWwiLCAxNyks DQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9QQ0lFX1RMXzk2TSwgImluZnJhX3BjaWVfdGxfOTZt IiwgInRsX3NlbCIsIDE4KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX1BDSUVfUExfUF8yNTBN LCAiaW5mcmFfcGNpZV9wbF9wXzI1MG0iLCAiYXhpX3NlbCIsIDE5KSwNCisJR0FURV9JTkZSQTEo Q0xLX0lORlJBX0RFVklDRV9BUEMsICJpbmZyYV9kZXZpY2VfYXBjIiwgImF4aV9zZWwiLCAyMCks DQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9DQ0lGX0FQLCAiaW5mcmFfY2NpZl9hcCIsICJheGlf c2VsIiwgMjMpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfREVCVUdTWVMsICJpbmZyYV9kZWJ1 Z3N5cyIsICJheGlfc2VsIiwgMjQpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfQVVESU8sICJp bmZyYV9hdWRpbyIsICJheGlfc2VsIiwgMjUpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfQ0NJ Rl9NRCwgImluZnJhX2NjaWZfbWQiLCAiYXhpX3NlbCIsIDI2KSwNCisJR0FURV9JTkZSQTEoQ0xL X0lORlJBX0RYQ0NfU0VDX0NPUkUsICJpbmZyYV9keGNjX3NlY19jb3JlIiwgImR4Y2Nfc2VsIiwg MjcpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfRFhDQ19BTywgImluZnJhX2R4Y2NfYW8iLCAi ZHhjY19zZWwiLCAyOCksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9EQkdfVFJBQ0UsICJpbmZy YV9kYmdfdHJhY2UiLCAiYXhpX3NlbCIsIDI5KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RF Vk1QVV9CLCAiaW5mcmFfZGV2bXB1X2IiLCAiYXhpX3NlbCIsIDMwKSwNCisJR0FURV9JTkZSQTEo Q0xLX0lORlJBX0RSQU1DX0YyNk0sICJpbmZyYV9kcmFtY19mMjZtIiwgImNsazI2bSIsIDMxKSwN CisJLyogSU5GUkEyICovDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9JUlRYLCAiaW5mcmFfaXJ0 eCIsICJjbGsyNm0iLCAwKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NTVVNCLCAiaW5mcmFf c3N1c2IiLCAidXNiX3RvcF9zZWwiLCAxKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0RJU1Bf UFdNLCAiaW5mcmFfZGlzcF9wd20iLCAiYXhpX3NlbCIsIDIpLA0KKwlHQVRFX0lORlJBMihDTEtf SU5GUkFfQ0xETUFfQiwgImluZnJhX2NsZG1hX2IiLCAiYXhpX3NlbCIsIDMpLA0KKwlHQVRFX0lO RlJBMihDTEtfSU5GUkFfQVVESU9fMjZNX0IsICJpbmZyYV9hdWRpb18yNm1fYiIsICJjbGsyNm0i LCA0KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX01PREVNX1RFTVBfU0hBUkUsICJpbmZyYV9t b2RlbV90ZW1wX3NoYXJlIiwgImNsazI2bSIsIDUpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFf U1BJMSwgImluZnJhX3NwaTEiLCAic3BpX3NlbCIsIDYpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5G UkFfSTJDNCwgImluZnJhX2kyYzQiLCAiaTJjX3NlbCIsIDcpLA0KKwlHQVRFX0lORlJBMihDTEtf SU5GUkFfU1BJMiwgImluZnJhX3NwaTIiLCAic3BpX3NlbCIsIDkpLA0KKwlHQVRFX0lORlJBMihD TEtfSU5GUkFfU1BJMywgImluZnJhX3NwaTMiLCAic3BpX3NlbCIsIDEwKSwNCisJR0FURV9JTkZS QTIoQ0xLX0lORlJBX1VOSVBST19TWVMsICJpbmZyYV91bmlwcm9fc3lzIiwgInVmc19zZWwiLCAx MSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9VTklQUk9fVElDSywgImluZnJhX3VuaXByb190 aWNrIiwgImNsazI2bSIsIDEyKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VGU19NUF9TQVBf QiwgImluZnJhX3Vmc19tcF9zYXBfYiIsICJjbGsyNm0iLCAxMyksDQorCUdBVEVfSU5GUkEyKENM S19JTkZSQV9NRDMyX0IsICJpbmZyYV9tZDMyX2IiLCAiYXhpX3NlbCIsIDE0KSwNCisJR0FURV9J TkZSQTIoQ0xLX0lORlJBX1NTUE0sICJpbmZyYV9zc3BtIiwgInNzcG1fc2VsIiwgMTUpLA0KKwlH QVRFX0lORlJBMihDTEtfSU5GUkFfVU5JUFJPX01CSVNULCAiaW5mcmFfdW5pcHJvX21iaXN0Iiwg ImF4aV9zZWwiLCAxNiksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1BNX0JVU19ILCAiaW5m cmFfc3NwbV9idXNfaCIsICJheGlfc2VsIiwgMTcpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFf STJDNSwgImluZnJhX2kyYzUiLCAiaTJjX3NlbCIsIDE4KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lO RlJBX0kyQzVfQVJCSVRFUiwgImluZnJhX2kyYzVfYXJiaXRlciIsICJpMmNfc2VsIiwgMTkpLA0K KwlHQVRFX0lORlJBMihDTEtfSU5GUkFfSTJDNV9JTU0sICJpbmZyYV9pMmM1X2ltbSIsICJpMmNf c2VsIiwgMjApLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfSTJDMV9BUkJJVEVSLCAiaW5mcmFf aTJjMV9hcmJpdGVyIiwgImkyY19zZWwiLCAyMSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9J MkMxX0lNTSwgImluZnJhX2kyYzFfaW1tIiwgImkyY19zZWwiLCAyMiksDQorCUdBVEVfSU5GUkEy KENMS19JTkZSQV9JMkMyX0FSQklURVIsICJpbmZyYV9pMmMyX2FyYml0ZXIiLCAiaTJjX3NlbCIs IDIzKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0kyQzJfSU1NLCAiaW5mcmFfaTJjMl9pbW0i LCAiaTJjX3NlbCIsIDI0KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NQSTQsICJpbmZyYV9z cGk0IiwgInNwaV9zZWwiLCAyNSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TUEk1LCAiaW5m cmFfc3BpNSIsICJzcGlfc2VsIiwgMjYpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfQ1FfRE1B LCAiaW5mcmFfY3FfZG1hIiwgImF4aV9zZWwiLCAyNyksDQorCUdBVEVfSU5GUkEyKENMS19JTkZS QV9VRlMsICJpbmZyYV91ZnMiLCAidWZzX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lO RlJBX0FFU19VRlNGREUsICJpbmZyYV9hZXNfdWZzZmRlIiwgImFlc191ZnNmZGVfc2VsIiwgMjkp LA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfVUZTX1RJQ0ssICJpbmZyYV91ZnNfdGljayIsICJ1 ZnNfc2VsIiwgMzApLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1NVU0JfWEhDSSwgImluZnJh X3NzdXNiX3hoY2kiLCAic3N1c2JfeGhjaV9zZWwiLCAzMSksDQorCS8qIElORlJBMyAqLw0KKwlH QVRFX0lORlJBMyhDTEtfSU5GUkFfTVNEQzBfU0VMRiwgImluZnJhX21zZGMwX3NlbGYiLCAibXNk YzUwXzBfc2VsIiwgMCksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9NU0RDMV9TRUxGLCAiaW5m cmFfbXNkYzFfc2VsZiIsICJtc2RjNTBfMF9zZWwiLCAxKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lO RlJBX01TREMyX1NFTEYsICJpbmZyYV9tc2RjMl9zZWxmIiwgIm1zZGM1MF8wX3NlbCIsIDIpLA0K KwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1NQTV8yNk1fU0VMRiwgImluZnJhX3NzcG1fMjZtX3Nl bGYiLCAiY2xrMjZtIiwgMyksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9TU1BNXzMyS19TRUxG LCAiaW5mcmFfc3NwbV8zMmtfc2VsZiIsICJjbGszMmsiLCA0KSwNCisJR0FURV9JTkZSQTMoQ0xL X0lORlJBX1VGU19BWEksICJpbmZyYV91ZnNfYXhpIiwgImF4aV9zZWwiLCA1KSwNCisJR0FURV9J TkZSQTMoQ0xLX0lORlJBX0kyQzYsICJpbmZyYV9pMmM2IiwgImkyY19zZWwiLCA2KSwNCisJR0FU RV9JTkZSQTMoQ0xLX0lORlJBX0FQX01TREMwLCAiaW5mcmFfYXBfbXNkYzAiLCAibXNkYzUwXzBf c2VsIiwgNyksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9NRF9NU0RDMCwgImluZnJhX21kX21z ZGMwIiwgIm1zZGM1MF8wX3NlbCIsIDgpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjVf QVAsICJpbmZyYV9jY2lmNV9hcCIsICJheGlfc2VsIiwgOSksDQorCUdBVEVfSU5GUkEzKENMS19J TkZSQV9DQ0lGNV9NRCwgImluZnJhX2NjaWY1X21kIiwgImF4aV9zZWwiLCAxMCksDQorCUdBVEVf SU5GUkEzKENMS19JTkZSQV9QQ0lFX1RPUF9IXzEzM00sICJpbmZyYV9wY2llX3RvcF9oXzEzM20i LCAiYXhpX3NlbCIsIDExKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0ZMQVNISUZfVE9QX0hf MTMzTSwgImluZnJhX2ZsYXNoaWZfdG9wX2hfMTMzbSIsICJheGlfc2VsIiwgMTQpLA0KKwlHQVRF X0lORlJBMyhDTEtfSU5GUkFfUENJRV9QRVJJXzI2TSwgImluZnJhX3BjaWVfcGVyaV8yNm0iLCAi YXhpX3NlbCIsIDE1KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0NDSUYyX0FQLCAiaW5mcmFf Y2NpZjJfYXAiLCAiYXhpX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0NDSUYy X01ELCAiaW5mcmFfY2NpZjJfbWQiLCAiYXhpX3NlbCIsIDE3KSwNCisJR0FURV9JTkZSQTMoQ0xL X0lORlJBX0NDSUYzX0FQLCAiaW5mcmFfY2NpZjNfYXAiLCAiYXhpX3NlbCIsIDE4KSwNCisJR0FU RV9JTkZSQTMoQ0xLX0lORlJBX0NDSUYzX01ELCAiaW5mcmFfY2NpZjNfbWQiLCAiYXhpX3NlbCIs IDE5KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NFSl9GMTNNLCAiaW5mcmFfc2VqX2YxM20i LCAiY2xrMjZtIiwgMjApLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQUVTLCAiaW5mcmFfYWVz IiwgImF4aV9zZWwiLCAyMSksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9JMkM3LCAiaW5mcmFf aTJjNyIsICJpMmNfc2VsIiwgMjIpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfSTJDOCwgImlu ZnJhX2kyYzgiLCAiaTJjX3NlbCIsIDIzKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0ZCSVNU MkZQQywgImluZnJhX2ZiaXN0MmZwYyIsICJtc2RjNTBfMF9zZWwiLCAyNCksDQorCUdBVEVfSU5G UkEzKENMS19JTkZSQV9ERVZJQ0VfQVBDX1NZTkMsICJpbmZyYV9kZXZpY2VfYXBjX3N5bmMiLCAi YXhpX3NlbCIsIDI1KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0RQTUFJRl9NQUlOLCAiaW5m cmFfZHBtYWlmX21haW4iLCAiZHBtYWlmX21haW5fc2VsIiwgMjYpLA0KKwlHQVRFX0lORlJBMyhD TEtfSU5GUkFfUENJRV9UTF8zMkssICJpbmZyYV9wY2llX3RsXzMyayIsICJheGlfc2VsIiwgMjcp LA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjRfQVAsICJpbmZyYV9jY2lmNF9hcCIsICJh eGlfc2VsIiwgMjgpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjRfTUQsICJpbmZyYV9j Y2lmNF9tZCIsICJheGlfc2VsIiwgMjkpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1BJNiwg ImluZnJhX3NwaTYiLCAic3BpX3NlbCIsIDMwKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NQ STcsICJpbmZyYV9zcGk3IiwgInNwaV9zZWwiLCAzMSksDQorCS8qIElORlJBNCAqLw0KKwlHQVRF X0lORlJBNChDTEtfSU5GUkFfQVBfRE1BLCAiaW5mcmFfYXBfZG1hIiwgImluZnJhX2FwX2RtYV9w c2V1ZG8iLCAzMSksDQorCS8qIElORlJBNSAqLw0KKwlHQVRFX0lORlJBNV9GTEFHUyhDTEtfSU5G UkFfMTMzTSwgImluZnJhXzEzM20iLCAiYXhpX3NlbCIsIDAsIENMS19JU19DUklUSUNBTCksDQor CUdBVEVfSU5GUkE1X0ZMQUdTKENMS19JTkZSQV82Nk0sICJpbmZyYV82Nm0iLCAiYXhpX3NlbCIs IDEsIENMS19JU19DUklUSUNBTCksDQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV82Nk1fUEVSSV9C VVMsICJpbmZyYV82Nm1fcGVyaV9idXMiLCAiYXhpX3NlbCIsIDIpLA0KKwlHQVRFX0lORlJBNShD TEtfSU5GUkFfRlJFRV9EQ01fMTMzTSwgImluZnJhX2ZyZWVfZGNtXzEzM20iLCAiYXhpX3NlbCIs IDMpLA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfRlJFRV9EQ01fNjZNLCAiaW5mcmFfZnJlZV9k Y21fNjZtIiwgImF4aV9zZWwiLCA0KSwNCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX1BFUklfQlVT X0RDTV8xMzNNLCAiaW5mcmFfcGVyaV9idXNfZGNtXzEzM20iLCAiYXhpX3NlbCIsIDUpLA0KKwlH QVRFX0lORlJBNShDTEtfSU5GUkFfUEVSSV9CVVNfRENNXzY2TSwgImluZnJhX3BlcmlfYnVzX2Rj bV82Nm0iLCAiYXhpX3NlbCIsIDYpLA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfRkxBU0hJRl9Q RVJJXzI2TSwgImluZnJhX2ZsYXNoaWZfcGVyaV8yNm0iLCAiYXhpX3NlbCIsIDMwKSwNCisJR0FU RV9JTkZSQTUoQ0xLX0lORlJBX0ZMQVNISUZfU0ZMQVNILCAiaW5mcmFfZmxhc2hpZl9mc2ZsYXNo IiwgImF4aV9zZWwiLCAzMSksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl X3JlZ3MgcGVyaV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MjBjLA0KKwkuY2xyX29mcyA9 IDB4MjBjLA0KKwkuc3RhX29mcyA9IDB4MjBjLA0KK307DQorDQorI2RlZmluZSBHQVRFX1BFUkko X2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9w YXJlbnQsICZwZXJpX2NnX3JlZ3MsIF9zaGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0Y2xy X2ludikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIHBlcmlfY2xrc1tdID0gew0K KwlHQVRFX1BFUkkoQ0xLX1BFUklfUEVSSUFYSSwgInBlcmlfcGVyaWF4aSIsICJheGlfc2VsIiwg MzEpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIHRvcF9jZ19y ZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MTUwLA0KKwkuY2xyX29mcyA9IDB4MTUwLA0KKwkuc3Rh X29mcyA9IDB4MTUwLA0KK307DQorDQorI2RlZmluZSBHQVRFX1RPUChfaWQsIF9uYW1lLCBfcGFy ZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnRvcF9jZ19y ZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX25vX3NldGNscl9pbnYpDQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSB0b3BfY2xrc1tdID0gew0KKwlHQVRFX1RPUChDTEtfVE9Q X1NTVVNCX1RPUF9SRUYsICJzc3VzYl90b3BfcmVmIiwgImNsazI2bSIsIDI0KSwNCisJR0FURV9U T1AoQ0xLX1RPUF9TU1VTQl9QSFlfUkVGLCAic3N1c2JfcGh5X3JlZiIsICJjbGsyNm0iLCAyNSks DQorfTsNCisNCisjZGVmaW5lIE1UODE5Ml9QTExfRk1BWAkJKDM4MDBVTCAqIE1IWikNCisjZGVm aW5lIE1UODE5Ml9QTExfRk1JTgkJKDE1MDBVTCAqIE1IWikNCisjZGVmaW5lIE1UODE5Ml9JTlRF R0VSX0JJVFMJOA0KKw0KKyNkZWZpbmUgUExMKF9pZCwgX25hbWUsIF9yZWcsIF9wd3JfcmVnLCBf ZW5fbWFzaywgX2ZsYWdzLAkJXA0KKwkJCV9yc3RfYmFyX21hc2ssIF9wY3diaXRzLCBfcGRfcmVn LCBfcGRfc2hpZnQsCVwNCisJCQlfdHVuZXJfcmVnLCBfdHVuZXJfZW5fcmVnLCBfdHVuZXJfZW5f Yml0LAlcDQorCQkJX3Bjd19yZWcsIF9wY3dfc2hpZnQsIF9wY3dfY2hnX3JlZywJCVwNCisJCQlf ZW5fcmVnLCBfcGxsX2VuX2JpdCkgewkJCQlcDQorCQkuaWQgPSBfaWQsCQkJCQkJXA0KKwkJLm5h bWUgPSBfbmFtZSwJCQkJCQlcDQorCQkucmVnID0gX3JlZywJCQkJCQlcDQorCQkucHdyX3JlZyA9 IF9wd3JfcmVnLAkJCQkJXA0KKwkJLmVuX21hc2sgPSBfZW5fbWFzaywJCQkJCVwNCisJCS5mbGFn cyA9IF9mbGFncywJCQkJCVwNCisJCS5yc3RfYmFyX21hc2sgPSBfcnN0X2Jhcl9tYXNrLAkJCQlc DQorCQkuZm1heCA9IE1UODE5Ml9QTExfRk1BWCwJCQkJXA0KKwkJLmZtaW4gPSBNVDgxOTJfUExM X0ZNSU4sCQkJCVwNCisJCS5wY3diaXRzID0gX3Bjd2JpdHMsCQkJCQlcDQorCQkucGN3aWJpdHMg PSBNVDgxOTJfSU5URUdFUl9CSVRTLAkJCVwNCisJCS5wZF9yZWcgPSBfcGRfcmVnLAkJCQkJXA0K KwkJLnBkX3NoaWZ0ID0gX3BkX3NoaWZ0LAkJCQkJXA0KKwkJLnR1bmVyX3JlZyA9IF90dW5lcl9y ZWcsCQkJCVwNCisJCS50dW5lcl9lbl9yZWcgPSBfdHVuZXJfZW5fcmVnLAkJCQlcDQorCQkudHVu ZXJfZW5fYml0ID0gX3R1bmVyX2VuX2JpdCwJCQkJXA0KKwkJLnBjd19yZWcgPSBfcGN3X3JlZywJ CQkJCVwNCisJCS5wY3dfc2hpZnQgPSBfcGN3X3NoaWZ0LAkJCQlcDQorCQkucGN3X2NoZ19yZWcg PSBfcGN3X2NoZ19yZWcsCQkJCVwNCisJCS5lbl9yZWcgPSBfZW5fcmVnLAkJCQkJXA0KKwkJLnBs bF9lbl9iaXQgPSBfcGxsX2VuX2JpdCwJCQkJXA0KKwl9DQorDQorI2RlZmluZSBQTExfQihfaWQs IF9uYW1lLCBfcmVnLCBfcHdyX3JlZywgX2VuX21hc2ssIF9mbGFncywJCVwNCisJCQlfcnN0X2Jh cl9tYXNrLCBfcGN3Yml0cywgX3BkX3JlZywgX3BkX3NoaWZ0LAlcDQorCQkJX3R1bmVyX3JlZywg X3R1bmVyX2VuX3JlZywgX3R1bmVyX2VuX2JpdCwJXA0KKwkJCV9wY3dfcmVnLCBfcGN3X3NoaWZ0 KQkJCQlcDQorCQlQTEwoX2lkLCBfbmFtZSwgX3JlZywgX3B3cl9yZWcsIF9lbl9tYXNrLCBfZmxh Z3MsCVwNCisJCQlfcnN0X2Jhcl9tYXNrLCBfcGN3Yml0cywgX3BkX3JlZywgX3BkX3NoaWZ0LAlc DQorCQkJX3R1bmVyX3JlZywgX3R1bmVyX2VuX3JlZywgX3R1bmVyX2VuX2JpdCwJXA0KKwkJCV9w Y3dfcmVnLCBfcGN3X3NoaWZ0LCAwLCAwLCAwKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X3BsbF9kYXRhIHBsbHNbXSA9IHsNCisJUExMX0IoQ0xLX0FQTUlYRURfTUFJTlBMTCwgIm1haW5w bGwiLCAweDAzNDAsIDB4MDM0YywgMHhmZjAwMDAwMCwNCisJCUhBVkVfUlNUX0JBUiwgQklUKDIz KSwgMjIsIDB4MDM0NCwgMjQsIDAsIDAsIDAsIDB4MDM0NCwgMCksDQorCVBMTF9CKENMS19BUE1J WEVEX1VOSVZQTEwsICJ1bml2cGxsIiwgMHgwMzA4LCAweDAzMTQsIDB4ZmYwMDAwMDAsDQorCQlI QVZFX1JTVF9CQVIsIEJJVCgyMyksIDIyLCAweDAzMGMsIDI0LCAwLCAwLCAwLCAweDAzMGMsIDAp LA0KKwlQTEwoQ0xLX0FQTUlYRURfVVNCUExMLCAidXNicGxsIiwgMHgwM2M0LCAweDAzY2MsIDB4 MDAwMDAwMDAsDQorCQkwLCAwLCAyMiwgMHgwM2M0LCAyNCwgMCwgMCwgMCwgMHgwM2M0LCAwLCAw eDAzYzQsIDB4MDNjYywgMiksDQorCVBMTF9CKENMS19BUE1JWEVEX01TRENQTEwsICJtc2RjcGxs IiwgMHgwMzUwLCAweDAzNWMsIDB4MDAwMDAwMDAsDQorCQkwLCAwLCAyMiwgMHgwMzU0LCAyNCwg MCwgMCwgMCwgMHgwMzU0LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfTU1QTEwsICJtbXBsbCIs IDB4MDM2MCwgMHgwMzZjLCAweGZmMDAwMDAwLA0KKwkJSEFWRV9SU1RfQkFSLCBCSVQoMjMpLCAy MiwgMHgwMzY0LCAyNCwgMCwgMCwgMCwgMHgwMzY0LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURf QURTUFBMTCwgImFkc3BwbGwiLCAweDAzNzAsIDB4MDM3YywgMHhmZjAwMDAwMCwNCisJCUhBVkVf UlNUX0JBUiwgQklUKDIzKSwgMjIsIDB4MDM3NCwgMjQsIDAsIDAsIDAsIDB4MDM3NCwgMCksDQor CVBMTF9CKENMS19BUE1JWEVEX01GR1BMTCwgIm1mZ3BsbCIsIDB4MDI2OCwgMHgwMjc0LCAweDAw MDAwMDAwLA0KKwkJMCwgMCwgMjIsIDB4MDI2YywgMjQsIDAsIDAsIDAsIDB4MDI2YywgMCksDQor CVBMTF9CKENMS19BUE1JWEVEX1RWRFBMTCwgInR2ZHBsbCIsIDB4MDM4MCwgMHgwMzhjLCAweDAw MDAwMDAwLA0KKwkJMCwgMCwgMjIsIDB4MDM4NCwgMjQsIDAsIDAsIDAsIDB4MDM4NCwgMCksDQor CVBMTF9CKENMS19BUE1JWEVEX0FQTEwxLCAiYXBsbDEiLCAweDAzMTgsIDB4MDMyOCwgMHgwMDAw MDAwMCwNCisJCTAsIDAsIDMyLCAweDAzMWMsIDI0LCAweDAwNDAsIDB4MDAwYywgMCwgMHgwMzIw LCAwKSwNCisJUExMX0IoQ0xLX0FQTUlYRURfQVBMTDIsICJhcGxsMiIsIDB4MDMyYywgMHgwMzNj LCAweDAwMDAwMDAwLA0KKwkJMCwgMCwgMzIsIDB4MDMzMCwgMjQsIDAsIDAsIDAsIDB4MDMzNCwg MCksDQorfTsNCisNCitzdGF0aWMgc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKnRvcF9jbGtfZGF0 YTsNCisNCitzdGF0aWMgdm9pZCBjbGtfbXQ4MTkyX3RvcF9pbml0X2Vhcmx5KHN0cnVjdCBkZXZp Y2Vfbm9kZSAqbm9kZSkNCit7DQorCWludCBpOw0KKw0KKwl0b3BfY2xrX2RhdGEgPSBtdGtfYWxs b2NfY2xrX2RhdGEoQ0xLX1RPUF9OUl9DTEspOw0KKwlpZiAoIXRvcF9jbGtfZGF0YSkNCisJCXJl dHVybjsNCisNCisJZm9yIChpID0gMDsgaSA8IENMS19UT1BfTlJfQ0xLOyBpKyspDQorCQl0b3Bf Y2xrX2RhdGEtPmNsa3NbaV0gPSBFUlJfUFRSKC1FUFJPQkVfREVGRVIpOw0KKw0KKwltdGtfY2xr X3JlZ2lzdGVyX2ZhY3RvcnModG9wX2Vhcmx5X2RpdnMsIEFSUkFZX1NJWkUodG9wX2Vhcmx5X2Rp dnMpLCB0b3BfY2xrX2RhdGEpOw0KKw0KKwlvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Ns a19zcmNfb25lY2VsbF9nZXQsIHRvcF9jbGtfZGF0YSk7DQorfQ0KKw0KK0NMS19PRl9ERUNMQVJF X0RSSVZFUihtdDgxOTJfdG9wY2tnZW4sICJtZWRpYXRlayxtdDgxOTItdG9wY2tnZW4iLA0KKwkJ CWNsa19tdDgxOTJfdG9wX2luaXRfZWFybHkpOw0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml90 b3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisJdm9pZCBfX2lv bWVtICpiYXNlOw0KKw0KKwliYXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBk ZXYsIDApOw0KKwlpZiAoSVNfRVJSKGJhc2UpKQ0KKwkJcmV0dXJuIFBUUl9FUlIoYmFzZSk7DQor DQorCW10a19jbGtfcmVnaXN0ZXJfZml4ZWRfY2xrcyh0b3BfZml4ZWRfY2xrcywgQVJSQVlfU0la RSh0b3BfZml4ZWRfY2xrcyksIHRvcF9jbGtfZGF0YSk7DQorCW10a19jbGtfcmVnaXN0ZXJfZmFj dG9ycyh0b3BfZWFybHlfZGl2cywgQVJSQVlfU0laRSh0b3BfZWFybHlfZGl2cyksIHRvcF9jbGtf ZGF0YSk7DQorCW10a19jbGtfcmVnaXN0ZXJfZmFjdG9ycyh0b3BfZGl2cywgQVJSQVlfU0laRSh0 b3BfZGl2cyksIHRvcF9jbGtfZGF0YSk7DQorCW10a19jbGtfcmVnaXN0ZXJfbXV4ZXModG9wX210 a19tdXhlcywgQVJSQVlfU0laRSh0b3BfbXRrX211eGVzKSwgbm9kZSwgJm10ODE5Ml9jbGtfbG9j aywNCisJCQl0b3BfY2xrX2RhdGEpOw0KKwltdGtfY2xrX3JlZ2lzdGVyX2NvbXBvc2l0ZXModG9w X211eGVzLCBBUlJBWV9TSVpFKHRvcF9tdXhlcyksIGJhc2UsICZtdDgxOTJfY2xrX2xvY2ssDQor CQkJdG9wX2Nsa19kYXRhKTsNCisJbXRrX2Nsa19yZWdpc3Rlcl9jb21wb3NpdGVzKHRvcF9hZGpf ZGl2cywgQVJSQVlfU0laRSh0b3BfYWRqX2RpdnMpLCBiYXNlLCAmbXQ4MTkyX2Nsa19sb2NrLA0K KwkJCXRvcF9jbGtfZGF0YSk7DQorCXIgPSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIHRv cF9jbGtzLCBBUlJBWV9TSVpFKHRvcF9jbGtzKSwgdG9wX2Nsa19kYXRhKTsNCisJaWYgKHIpDQor CQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xr X3NyY19vbmVjZWxsX2dldCwgdG9wX2Nsa19kYXRhKTsNCit9DQorDQorc3RhdGljIGludCBjbGtf bXQ4MTkyX2luZnJhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlz dHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAq bm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtf YWxsb2NfY2xrX2RhdGEoQ0xLX0lORlJBX05SX0NMSyk7DQorCWlmICghY2xrX2RhdGEpDQorCQly ZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW5m cmFfY2xrcywgQVJSQVlfU0laRShpbmZyYV9jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikNCisJ CXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtf c3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5 Ml9wZXJpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3Qg Y2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9 IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2Nf Y2xrX2RhdGEoQ0xLX1BFUklfTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVybiAt RU5PTUVNOw0KKw0KKwlyID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBwZXJpX2Nsa3Ms IEFSUkFZX1NJWkUocGVyaV9jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikNCisJCXJldHVybiBy Ow0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNl bGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9hcG1peGVk X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29u ZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYt PmRldi5vZl9ub2RlOw0KKwlpbnQgcjsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2Rh dGEoQ0xLX0FQTUlYRURfTlJfQ0xLKTsNCisJaWYgKCFjbGtfZGF0YSkNCisJCXJldHVybiAtRU5P TUVNOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX3BsbHMobm9kZSwgcGxscywgQVJSQVlfU0laRShw bGxzKSwgY2xrX2RhdGEpOw0KKwlyID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBhcG1p eGVkX2Nsa3MsIEFSUkFZX1NJWkUoYXBtaXhlZF9jbGtzKSwgY2xrX2RhdGEpOw0KKwlpZiAocikN CisJCXJldHVybiByOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9j bGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJbXSA9IHsNCisJew0KKwkJLmNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWFwbWl4ZWRzeXMiLA0KKwkJLmRhdGEgPSBjbGtfbXQ4 MTkyX2FwbWl4ZWRfcHJvYmUsDQorCX0sIHsNCisJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE5Mi10b3Bja2dlbiIsDQorCQkuZGF0YSA9IGNsa19tdDgxOTJfdG9wX3Byb2JlLA0KKwl9LCB7 DQorCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaW5mcmFjZmciLA0KKwkJLmRhdGEg PSBjbGtfbXQ4MTkyX2luZnJhX3Byb2JlLA0KKwl9LCB7DQorCQkuY29tcGF0aWJsZSA9ICJtZWRp YXRlayxtdDgxOTItcGVyaWNmZyIsDQorCQkuZGF0YSA9IGNsa19tdDgxOTJfcGVyaV9wcm9iZSwN CisJfSwgew0KKwkJLyogc2VudGluZWwgKi8NCisJfQ0KK307DQorDQorc3RhdGljIGludCBjbGtf bXQ4MTkyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlpbnQgKCpj bGtfcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOw0KKwlpbnQgcjsNCisNCisJ Y2xrX3Byb2JlID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZwZGV2LT5kZXYpOw0KKwlpZiAo IWNsa19wcm9iZSkNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwlyID0gY2xrX3Byb2JlKHBkZXYp Ow0KKwlpZiAocikNCisJCWRldl9lcnIoJnBkZXYtPmRldiwgImNvdWxkIG5vdCByZWdpc3RlciBj bG9jayBwcm92aWRlcjogJXM6ICVkXG4iLCBwZGV2LT5uYW1lLCByKTsNCisNCisJcmV0dXJuIHI7 DQorfQ0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfZHJ2ID0g ew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUg PSAiY2xrLW10ODE5MiIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTky LA0KKwl9LA0KK307DQorDQorc3RhdGljIGludCBfX2luaXQgY2xrX210ODE5Ml9pbml0KHZvaWQp DQorew0KKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZjbGtfbXQ4MTkyX2Rydik7 DQorfQ0KKw0KK2FyY2hfaW5pdGNhbGwoY2xrX210ODE5Ml9pbml0KTsNCmRpZmYgLS1naXQgYS9k cml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXV4LmggYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGst bXV4LmgNCmluZGV4IGY1NjI1ZjQuLmFmYmM3ZGYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2Nsay9t ZWRpYXRlay9jbGstbXV4LmgNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdXguaA0K QEAgLTc3LDYgKzc3LDIxIEBAIHN0cnVjdCBtdGtfbXV4IHsNCiAJCQlfd2lkdGgsIF9nYXRlLCBf dXBkX29mcywgX3VwZCwJCQlcDQogCQkJQ0xLX1NFVF9SQVRFX1BBUkVOVCkNCiANCisjZGVmaW5l IE1VWF9DTFJfU0VUX1VQRF9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50cywgX211eF9vZnMsCQlc DQorCQkJX211eF9zZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9zaGlmdCwgX3dpZHRoLAlcDQorCQkJ X3VwZF9vZnMsIF91cGQsIF9mbGFncykJCQkJXA0KKwkJR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhf aWQsIF9uYW1lLCBfcGFyZW50cywgX211eF9vZnMsCVwNCisJCQlfbXV4X3NldF9vZnMsIF9tdXhf Y2xyX29mcywgX3NoaWZ0LCBfd2lkdGgsCVwNCisJCQkwLCBfdXBkX29mcywgX3VwZCwgX2ZsYWdz LAkJCVwNCisJCQltdGtfbXV4X2Nscl9zZXRfdXBkX29wcykNCisNCisjZGVmaW5lIE1VWF9DTFJf U0VUX1VQRChfaWQsIF9uYW1lLCBfcGFyZW50cywgX211eF9vZnMsCQkJXA0KKwkJCV9tdXhfc2V0 X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0aCwJXA0KKwkJCV91cGRfb2ZzLCBfdXBk KQkJCQkJXA0KKwkJTVVYX0NMUl9TRVRfVVBEX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnRzLAkJ XA0KKwkJCV9tdXhfb2ZzLCBfbXV4X3NldF9vZnMsIF9tdXhfY2xyX29mcywgX3NoaWZ0LAlcDQor CQkJX3dpZHRoLCBfdXBkX29mcywgX3VwZCwJQ0xLX1NFVF9SQVRFX1BBUkVOVCkNCisNCiBzdHJ1 Y3QgY2xrICptdGtfY2xrX3JlZ2lzdGVyX211eChjb25zdCBzdHJ1Y3QgbXRrX211eCAqbXV4LA0K IAkJCQkgc3RydWN0IHJlZ21hcCAqcmVnbWFwLA0KIAkJCQkgc3BpbmxvY2tfdCAqbG9jayk7DQot LSANCjEuOC4xLjEuZGlydHkNCg==