Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp2895002pxb; Sun, 8 Nov 2020 18:06:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJwTq1Gk79OKfWMbJNdx5FANJqGUCXRnbmqoG4gwR8JKZrJdtBpJFIudve59i30ux5dIYXb6 X-Received: by 2002:a50:99c3:: with SMTP id n3mr13370067edb.213.1604887604756; Sun, 08 Nov 2020 18:06:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604887604; cv=none; d=google.com; s=arc-20160816; b=zBLoRLhpS5X3BvGFSXkSw6PZ2E4f08Q6n3dLT/+ZTPWrWEOF6jWneTomMu85FVc9Uc I8t4rRYr2YYbup81kpJC1xn0keh+i/V1LYSOiZMe6QbMVyvlle+5GwRLfMfo9wNvkeyj DuCFmOLPuidnw0XnzJcZN4Mv3JixGYyQ3rBHjjfnADWrDx+yds8gke75SJn9eVqpVlsy s5uASWbB4xjYtpK9EWTCuT13VecjWbeHoAva0IOnZOmh+rHGsPDQE7SZJ3Dg6foE1ten SWJOZz2WVbzOHfj3YRRfzQVYGiFS+W1RvnUOZgY3KekW3d/GoqAIKO7m5+pegM/zB5YW UNUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UKyfkT7I8UQwbBMWlwIuySkeKoX0NkXXsIPZJrARKJI=; b=s28WAZrUGVkzSeyW+7OuHyb4xc9DO2x8EWcTDdQCEvFSIvTtzqYhF8TO1eS7ZXPDih dtD5Ci1HwHueHfY2Abo1Ib6qaIoR71oc3ZqSb1QUOnU538aodCaOb9EDuZCYXPEZaQeH B90X4cvaSFwVkv1ZNoYHFfAIT2HFEVd1SSqQkSspRMfepH40S0Q0Bc38DcB0cgUorfaS +CqdU5Ar83MM0QkUtoeuG9fIclFzwAgANT3kdd3k6j5F5LxNrB+DdwUuR/RaeyO4DClq 2NOX9yS6HHNjGepQXsCJsVtvRCrQOzFqayBLQ3TS0dbF3PvFbi+hmJEC1jKlBEhkh/yW NP0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=nJWobFqy; 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 n3si6249665ejs.34.2020.11.08.18.06.21; Sun, 08 Nov 2020 18:06:44 -0800 (PST) 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=nJWobFqy; 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 S1729152AbgKICET (ORCPT + 99 others); Sun, 8 Nov 2020 21:04:19 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:57288 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729106AbgKICEQ (ORCPT ); Sun, 8 Nov 2020 21:04:16 -0500 X-UUID: c07df9066e374f2cb6319723299f9d54-20201109 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=UKyfkT7I8UQwbBMWlwIuySkeKoX0NkXXsIPZJrARKJI=; b=nJWobFqyyJd+rZBiw45UB4oCL2kLUsR4eHlLtKv5JKxijnVojYmQXB8wWiUL33QSPZSyIaPYlNL7h/03bILYm2MQcN+c10dtrx+arlkPqxwmfIWdEOyMHgYJAGy+i371Yzdo+6BUYuZsKy9faUA3S5xXW9qZcyUSXYkxdwIrEYw=; X-UUID: c07df9066e374f2cb6319723299f9d54-20201109 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] 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 1177374048; Mon, 09 Nov 2020 10:03:53 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 9 Nov 2020 10:03:52 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 9 Nov 2020 10:03:52 +0800 From: Weiyi Lu To: Matthias Brugger , Rob Herring , Stephen Boyd , Nicolas Boichat CC: , , , , , Weiyi Lu , Yingjoe Chen Subject: [PATCH v5 10/24] clk: mediatek: Add MT8192 basic clocks support Date: Mon, 9 Nov 2020 10:03:35 +0800 Message-ID: <1604887429-29445-11-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1604887429-29445-1-git-send-email-weiyi.lu@mediatek.com> References: <1604887429-29445-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIE1UODE5MiBiYXNpYyBjbG9jayBwcm92aWRlcnMsIGluY2x1ZGUgdG9wY2tnZW4sIGFwbWl4 ZWRzeXMsDQppbmZyYWNmZyBhbmQgcGVyaWNmZy4NCg0KU2lnbmVkLW9mZi1ieTogV2VpeWkgTHUg PHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL0tjb25m aWcgICAgICB8ICAgIDggKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL01ha2VmaWxlICAgICB8ICAg IDEgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYyB8IDEzNTAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dXguaCAgICB8ICAgMTUgKw0KIDQgZmlsZXMgY2hhbmdlZCwgMTM3NCBpbnNlcnRpb25zKCspDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYw0KDQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvS2NvbmZpZyBiL2RyaXZlcnMvY2xrL21l ZGlhdGVrL0tjb25maWcNCmluZGV4IGNlODQ3NTAuLmY2MjhlZmQgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL2Nsay9tZWRpYXRlay9LY29uZmlnDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9LY29u ZmlnDQpAQCAtNDg5LDYgKzQ4OSwxNCBAQCBjb25maWcgQ09NTU9OX0NMS19NVDgxODNfVkVOQ1NZ Uw0KIAloZWxwDQogCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTgzIHZlbmNz eXMgY2xvY2tzLg0KIA0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Mg0KKwlib29sICJDbG9jayBk cml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiINCisJZGVwZW5kcyBvbiBBUk02NCB8fCBDT01QSUxF X1RFU1QNCisJc2VsZWN0IENPTU1PTl9DTEtfTUVESUFURUsNCisJZGVmYXVsdCBBUk02NA0KKwlo ZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGJhc2ljIGNsb2Nr cy4NCisNCiBjb25maWcgQ09NTU9OX0NMS19NVDg1MTYNCiAJYm9vbCAiQ2xvY2sgZHJpdmVyIGZv ciBNZWRpYVRlayBNVDg1MTYiDQogCWRlcGVuZHMgb24gQVJDSF9NRURJQVRFSyB8fCBDT01QSUxF X1RFU1QNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9NYWtlZmlsZSBiL2RyaXZl cnMvY2xrL21lZGlhdGVrL01ha2VmaWxlDQppbmRleCAzYjBjMmJlLi5mY2RlNDIxIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvY2xrL21l ZGlhdGVrL01ha2VmaWxlDQpAQCAtNjcsNSArNjcsNiBAQCBvYmotJChDT05GSUdfQ09NTU9OX0NM S19NVDgxODNfTUZHQ0ZHKSArPSBjbGstbXQ4MTgzLW1mZ2NmZy5vDQogb2JqLSQoQ09ORklHX0NP TU1PTl9DTEtfTVQ4MTgzX01NU1lTKSArPSBjbGstbXQ4MTgzLW1tLm8NCiBvYmotJChDT05GSUdf Q09NTU9OX0NMS19NVDgxODNfVkRFQ1NZUykgKz0gY2xrLW10ODE4My12ZGVjLm8NCiBvYmotJChD T05GSUdfQ09NTU9OX0NMS19NVDgxODNfVkVOQ1NZUykgKz0gY2xrLW10ODE4My12ZW5jLm8NCitv YmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTIpICs9IGNsay1tdDgxOTIubw0KIG9iai0kKENP TkZJR19DT01NT05fQ0xLX01UODUxNikgKz0gY2xrLW10ODUxNi5vDQogb2JqLSQoQ09ORklHX0NP TU1PTl9DTEtfTVQ4NTE2X0FVRFNZUykgKz0gY2xrLW10ODUxNi1hdWQubw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVr L2Nsay1tdDgxOTIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjY3M2Rj NjAxDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTky LmMNCkBAIC0wLDAgKzEsMTM1MCBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkNCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8g QXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxs aW51eC9jbGsuaD4NCisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8bGludXgv bWZkL3N5c2Nvbi5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZi5oPg0KKyNpbmNsdWRlIDxsaW51eC9v Zl9hZGRyZXNzLmg+DQorI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPg0KKyNpbmNsdWRlIDxs aW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KKw0KKyNp bmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1tdXguaCINCisjaW5jbHVkZSAiY2xr LWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0K Kw0KK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sobXQ4MTkyX2Nsa19sb2NrKTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IG10a19maXhlZF9jbGsgdG9wX2ZpeGVkX2Nsa3NbXSA9IHsNCisJRklYRURf Q0xLKENMS19UT1BfVUxQT1NDLCAidWxwb3NjIiwgTlVMTCwgMjYwMDAwMDAwKSwNCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2ZpeGVkX2ZhY3RvciB0b3BfZWFybHlfZGl2c1tdID0g ew0KKwlGQUNUT1IoQ0xLX1RPUF9DU1dfRjI2TV9EMiwgImNzd19mMjZtX2QyIiwgImNsazI2bSIs IDEsIDIpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZml4ZWRfZmFjdG9yIHRv cF9kaXZzW10gPSB7DQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDMsICJtYWlucGxsX2QzIiwg Im1haW5wbGwiLCAxLCAzKSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENCwgIm1haW5wbGxf ZDQiLCAibWFpbnBsbCIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q0X0QyLCAi bWFpbnBsbF9kNF9kMiIsICJtYWlucGxsX2Q0IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX01B SU5QTExfRDRfRDQsICJtYWlucGxsX2Q0X2Q0IiwgIm1haW5wbGxfZDQiLCAxLCA0KSwNCisJRkFD VE9SKENMS19UT1BfTUFJTlBMTF9ENF9EOCwgIm1haW5wbGxfZDRfZDgiLCAibWFpbnBsbF9kNCIs IDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q0X0QxNiwgIm1haW5wbGxfZDRfZDE2 IiwgIm1haW5wbGxfZDQiLCAxLCAxNiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDUsICJt YWlucGxsX2Q1IiwgIm1haW5wbGwiLCAxLCA1KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9E NV9EMiwgIm1haW5wbGxfZDVfZDIiLCAibWFpbnBsbF9kNSIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xL X1RPUF9NQUlOUExMX0Q1X0Q0LCAibWFpbnBsbF9kNV9kNCIsICJtYWlucGxsX2Q1IiwgMSwgNCks DQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDVfRDgsICJtYWlucGxsX2Q1X2Q4IiwgIm1haW5w bGxfZDUiLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9ENiwgIm1haW5wbGxfZDYi LCAibWFpbnBsbCIsIDEsIDYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q2X0QyLCAibWFp bnBsbF9kNl9kMiIsICJtYWlucGxsX2Q2IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5Q TExfRDZfRDQsICJtYWlucGxsX2Q2X2Q0IiwgIm1haW5wbGxfZDYiLCAxLCA0KSwNCisJRkFDVE9S KENMS19UT1BfTUFJTlBMTF9ENywgIm1haW5wbGxfZDciLCAibWFpbnBsbCIsIDEsIDcpLA0KKwlG QUNUT1IoQ0xLX1RPUF9NQUlOUExMX0Q3X0QyLCAibWFpbnBsbF9kN19kMiIsICJtYWlucGxsX2Q3 IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDdfRDQsICJtYWlucGxsX2Q3X2Q0 IiwgIm1haW5wbGxfZDciLCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfTUFJTlBMTF9EN19EOCwg Im1haW5wbGxfZDdfZDgiLCAibWFpbnBsbF9kNyIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9V TklWUExMX0QzLCAidW5pdnBsbF9kMyIsICJ1bml2cGxsIiwgMSwgMyksDQorCUZBQ1RPUihDTEtf VE9QX1VOSVZQTExfRDQsICJ1bml2cGxsX2Q0IiwgInVuaXZwbGwiLCAxLCA0KSwNCisJRkFDVE9S KENMS19UT1BfVU5JVlBMTF9ENF9EMiwgInVuaXZwbGxfZDRfZDIiLCAidW5pdnBsbF9kNCIsIDEs IDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q0X0Q0LCAidW5pdnBsbF9kNF9kNCIsICJ1 bml2cGxsX2Q0IiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDRfRDgsICJ1bml2 cGxsX2Q0X2Q4IiwgInVuaXZwbGxfZDQiLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBM TF9ENSwgInVuaXZwbGxfZDUiLCAidW5pdnBsbCIsIDEsIDUpLA0KKwlGQUNUT1IoQ0xLX1RPUF9V TklWUExMX0Q1X0QyLCAidW5pdnBsbF9kNV9kMiIsICJ1bml2cGxsX2Q1IiwgMSwgMiksDQorCUZB Q1RPUihDTEtfVE9QX1VOSVZQTExfRDVfRDQsICJ1bml2cGxsX2Q1X2Q0IiwgInVuaXZwbGxfZDUi LCAxLCA0KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9ENV9EOCwgInVuaXZwbGxfZDVfZDgi LCAidW5pdnBsbF9kNSIsIDEsIDgpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2LCAidW5p dnBsbF9kNiIsICJ1bml2cGxsIiwgMSwgNiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDZf RDIsICJ1bml2cGxsX2Q2X2QyIiwgInVuaXZwbGxfZDYiLCAxLCAyKSwNCisJRkFDVE9SKENMS19U T1BfVU5JVlBMTF9ENl9ENCwgInVuaXZwbGxfZDZfZDQiLCAidW5pdnBsbF9kNiIsIDEsIDQpLA0K KwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMX0Q2X0Q4LCAidW5pdnBsbF9kNl9kOCIsICJ1bml2cGxs X2Q2IiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDZfRDE2LCAidW5pdnBsbF9k Nl9kMTYiLCAidW5pdnBsbF9kNiIsIDEsIDE2KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF9E NywgInVuaXZwbGxfZDciLCAidW5pdnBsbCIsIDEsIDcpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExM MSwgImFwbGwxX2NrIiwgImFwbGwxIiwgMSwgMSksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxX0Qy LCAiYXBsbDFfZDIiLCAiYXBsbDEiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDFfRDQs ICJhcGxsMV9kNCIsICJhcGxsMSIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMV9EOCwg ImFwbGwxX2Q4IiwgImFwbGwxIiwgMSwgOCksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwyLCAiYXBs bDJfY2siLCAiYXBsbDIiLCAxLCAxKSwNCisJRkFDVE9SKENMS19UT1BfQVBMTDJfRDIsICJhcGxs Ml9kMiIsICJhcGxsMiIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9BUExMMl9ENCwgImFwbGwy X2Q0IiwgImFwbGwyIiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwyX0Q4LCAiYXBsbDJf ZDgiLCAiYXBsbDIiLCAxLCA4KSwNCisJRkFDVE9SKENMS19UT1BfTU1QTExfRDQsICJtbXBsbF9k NCIsICJtbXBsbCIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBMTF9ENF9EMiwgIm1tcGxs X2Q0X2QyIiwgIm1tcGxsX2Q0IiwgMSwgMiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q1LCAi bW1wbGxfZDUiLCAibW1wbGwiLCAxLCA1KSwNCisJRkFDVE9SKENMS19UT1BfTU1QTExfRDVfRDIs ICJtbXBsbF9kNV9kMiIsICJtbXBsbF9kNSIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9NTVBM TF9ENiwgIm1tcGxsX2Q2IiwgIm1tcGxsIiwgMSwgNiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExM X0Q2X0QyLCAibW1wbGxfZDZfZDIiLCAibW1wbGxfZDYiLCAxLCAyKSwNCisJRkFDVE9SKENMS19U T1BfTU1QTExfRDcsICJtbXBsbF9kNyIsICJtbXBsbCIsIDEsIDcpLA0KKwlGQUNUT1IoQ0xLX1RP UF9NTVBMTF9EOSwgIm1tcGxsX2Q5IiwgIm1tcGxsIiwgMSwgOSksDQorCUZBQ1RPUihDTEtfVE9Q X0FQVVBMTCwgImFwdXBsbF9jayIsICJhcHVwbGwiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1Bf TlBVUExMLCAibnB1cGxsX2NrIiwgIm5wdXBsbCIsIDEsIDEpLA0KKwlGQUNUT1IoQ0xLX1RPUF9U VkRQTEwsICJ0dmRwbGxfY2siLCAidHZkcGxsIiwgMSwgMSksDQorCUZBQ1RPUihDTEtfVE9QX1RW RFBMTF9EMiwgInR2ZHBsbF9kMiIsICJ0dmRwbGwiLCAxLCAyKSwNCisJRkFDVE9SKENMS19UT1Bf VFZEUExMX0Q0LCAidHZkcGxsX2Q0IiwgInR2ZHBsbCIsIDEsIDQpLA0KKwlGQUNUT1IoQ0xLX1RP UF9UVkRQTExfRDgsICJ0dmRwbGxfZDgiLCAidHZkcGxsIiwgMSwgOCksDQorCUZBQ1RPUihDTEtf VE9QX1RWRFBMTF9EMTYsICJ0dmRwbGxfZDE2IiwgInR2ZHBsbCIsIDEsIDE2KSwNCisJRkFDVE9S KENMS19UT1BfTVNEQ1BMTCwgIm1zZGNwbGxfY2siLCAibXNkY3BsbCIsIDEsIDEpLA0KKwlGQUNU T1IoQ0xLX1RPUF9NU0RDUExMX0QyLCAibXNkY3BsbF9kMiIsICJtc2RjcGxsIiwgMSwgMiksDQor CUZBQ1RPUihDTEtfVE9QX01TRENQTExfRDQsICJtc2RjcGxsX2Q0IiwgIm1zZGNwbGwiLCAxLCA0 KSwNCisJRkFDVE9SKENMS19UT1BfT1NDX0QyLCAib3NjX2QyIiwgInVscG9zYyIsIDEsIDIpLA0K KwlGQUNUT1IoQ0xLX1RPUF9PU0NfRDQsICJvc2NfZDQiLCAidWxwb3NjIiwgMSwgNCksDQorCUZB Q1RPUihDTEtfVE9QX09TQ19EOCwgIm9zY19kOCIsICJ1bHBvc2MiLCAxLCA4KSwNCisJRkFDVE9S KENMS19UT1BfT1NDX0QxMCwgIm9zY19kMTAiLCAidWxwb3NjIiwgMSwgMTApLA0KKwlGQUNUT1Io Q0xLX1RPUF9PU0NfRDE2LCAib3NjX2QxNiIsICJ1bHBvc2MiLCAxLCAxNiksDQorCUZBQ1RPUihD TEtfVE9QX09TQ19EMjAsICJvc2NfZDIwIiwgInVscG9zYyIsIDEsIDIwKSwNCisJRkFDVE9SKENM S19UT1BfQURTUFBMTCwgImFkc3BwbGxfY2siLCAiYWRzcHBsbCIsIDEsIDEpLA0KKwlGQUNUT1Io Q0xLX1RPUF9VTklWUExMXzE5Mk0sICJ1bml2cGxsXzE5Mm0iLCAidW5pdnBsbCIsIDEsIDEzKSwN CisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0QyLCAidW5pdnBsbF8xOTJtX2QyIiwgInVu aXZwbGxfMTkybSIsIDEsIDIpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMXzE5Mk1fRDQsICJ1 bml2cGxsXzE5Mm1fZDQiLCAidW5pdnBsbF8xOTJtIiwgMSwgNCksDQorCUZBQ1RPUihDTEtfVE9Q X1VOSVZQTExfMTkyTV9EOCwgInVuaXZwbGxfMTkybV9kOCIsICJ1bml2cGxsXzE5Mm0iLCAxLCA4 KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0QxNiwgInVuaXZwbGxfMTkybV9kMTYi LCAidW5pdnBsbF8xOTJtIiwgMSwgMTYpLA0KKwlGQUNUT1IoQ0xLX1RPUF9VTklWUExMXzE5Mk1f RDMyLCAidW5pdnBsbF8xOTJtX2QzMiIsICJ1bml2cGxsXzE5Mm0iLCAxLCAzMiksDQorfTsNCisN CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF4aV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0i LA0KKwkibWFpbnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q3X2QyIiwNCisJIm1haW5wbGxfZDRf ZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJtYWlucGxsX2Q2X2QyIiwNCisJIm9zY19kNCIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc3BtX3BhcmVudHNbXSA9IHsNCisJ ImNsazI2bSIsDQorCSJvc2NfZDEwIiwNCisJIm1haW5wbGxfZDdfZDQiLA0KKwkiY2xrMzJrIg0K K307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY3BfcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJInVuaXZwbGxfZDUiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJtYWlucGxs X2Q2IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q1 X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGJ1c19heGltZW1fcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDdf ZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1haW5wbGxf ZDYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRpc3BfcGFyZW50c1tdID0g ew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQor CSJtbXBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q1X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0K KwkibW1wbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxs X2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtZHBfcGFyZW50c1td ID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkibW1wbGxfZDZfZDIiLA0K KwkibWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q2IiwNCisJ InVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNCIsDQorCSJ0dmRwbGxfY2siLA0KKwkidW5pdnBs bF9kNCIsDQorCSJtbXBsbF9kNV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgaW1nMV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ0 dmRwbGxfY2siLA0KKwkibWFpbnBsbF9kNCIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1tcGxsX2Q2 IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtbXBsbF9kNF9kMiIsDQor CSJtYWlucGxsX2Q0X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwNCisJIm1tcGxsX2Q1X2QyIg0KK307 DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbWcyX3BhcmVudHNbXSA9IHsNCisJImNs azI2bSIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInR2ZHBsbF9jayIsDQorCSJtYWlucGxsX2Q0IiwN CisJInVuaXZwbGxfZDUiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlu cGxsX2Q2IiwNCisJIm1tcGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibW1wbGxf ZDZfZDIiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGlwZV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNCIsDQorCSJt bXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDYiLA0KKwkidW5pdnBsbF9k NF9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwNCisJIm1tcGxsX2Q1 X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkcGVfcGFyZW50c1tdID0g ew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDQiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBs bF9kNiIsDQorCSJtYWlucGxsX2Q2IiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9k NV9kMiIsDQorCSJtbXBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgY2FtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1t cGxsX2Q2IiwNCisJInVuaXZwbGxfZDQiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJ1bml2cGxsX2Q2 IiwNCisJIm1tcGxsX2Q3IiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIs DQorCSJ1bml2cGxsX2Q2X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBj Y3VfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDQiLA0KKwkibW1wbGxf ZDYiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtbXBsbF9kNyIsDQorCSJ1bml2cGxsX2Q0X2QyIiwN CisJIm1tcGxsX2Q2X2QyIiwNCisJIm1tcGxsX2Q1X2QyIiwNCisJInVuaXZwbGxfZDUiLA0KKwki dW5pdnBsbF9kNl9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHNwN19w YXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxs X2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxfZDUiLA0KKwkibW1wbGxfZDUiLA0KKwki dW5pdnBsbF9kNCIsDQorCSJtbXBsbF9kNCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgbWZnX3JlZl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiY2xrMjZtIiwNCisJ InVuaXZwbGxfZDYiLA0KKwkibWFpbnBsbF9kNV9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgbWZnX3BsbF9wYXJlbnRzW10gPSB7DQorCSJtZmdfcmVmX3NlbCIsDQorCSJt ZmdwbGwiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRnX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0KKwkidW5pdnBsbF9kNl9k OCIsDQorCSJ1bml2cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9kMTYiLA0KKwkiY3N3X2Yy Nm1fZDIiLA0KKwkidW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxsXzE5Mm1fZDMyIg0KK307 DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzJfcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVu aXZwbGxfMTkybV9kNCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJjc3dfZjI2bV9kMiIsDQor CSJ1bml2cGxsXzE5Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRnM19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkidW5pdnBsbF8xOTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0KKwkidW5pdnBsbF8xOTJt X2Q0IiwNCisJInVuaXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZtX2QyIiwNCisJInVuaXZwbGxf MTkybV9kMTYiLA0KKwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgY2FtdGc0X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxs XzE5Mm1fZDgiLA0KKwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2cGxsXzE5Mm1fZDQiLA0KKwki dW5pdnBsbF9kNl9kMTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwkidW5pdnBsbF8xOTJtX2QxNiIs DQorCSJ1bml2cGxsXzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBjYW10ZzVfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kOCIs DQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9kNCIsDQorCSJ1bml2cGxsX2Q2 X2QxNiIsDQorCSJjc3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5Mm1fZDE2IiwNCisJInVuaXZw bGxfMTkybV9kMzIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRnNl9w YXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2Q4IiwNCisJInVuaXZw bGxfZDZfZDgiLA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVuaXZwbGxfZDZfZDE2IiwNCisJ ImNzd19mMjZtX2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0KKwkidW5pdnBsbF8xOTJtX2Qz MiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWFydF9wYXJlbnRzW10gPSB7 DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNl9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3Qgc3BpX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1 X2Q0IiwNCisJIm1haW5wbGxfZDZfZDQiLA0KKwkibXNkY3BsbF9kNCINCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgbXNkYzUwXzBfaF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0i LA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q2X2QyIg0KK307DQorDQorc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBtc2RjNTBfMF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkibXNkY3BsbF9jayIsDQorCSJtc2RjcGxsX2QyIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwki bWFpbnBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0 IGNoYXIgKiBjb25zdCBtc2RjMzBfMV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5p dnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q2X2QyIiwNCisJIm1haW5wbGxfZDdfZDIiLA0KKwki bXNkY3BsbF9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXNkYzMwXzJf cGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkibWFpbnBs bF9kNl9kMiIsDQorCSJtYWlucGxsX2Q3X2QyIiwNCisJIm1zZGNwbGxfZDIiDQorfTsNCisNCitz dGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF1ZGlvX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIs DQorCSJtYWlucGxsX2Q1X2Q4IiwNCisJIm1haW5wbGxfZDdfZDgiLA0KKwkibWFpbnBsbF9kNF9k MTYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF1ZF9pbnRidXNfcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kN19k NCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHdyYXBfdWxwb3NjX3BhcmVu dHNbXSA9IHsNCisJIm9zY19kMTAiLA0KKwkiY2xrMjZtIiwNCisJIm9zY19kNCIsDQorCSJvc2Nf ZDgiLA0KKwkib3NjX2QxNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXRi X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5w bGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNzcG1fcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkidW5pdnBsbF9kNV9k MiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9k NiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHBpX3BhcmVudHNbXSA9IHsN CisJImNsazI2bSIsDQorCSJ0dmRwbGxfZDIiLA0KKwkidHZkcGxsX2Q0IiwNCisJInR2ZHBsbF9k OCIsDQorCSJ0dmRwbGxfZDE2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBz Y2FtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q1X2Q0Ig0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkaXNwX3B3bV9wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkidW5pdnBsbF9kNl9kNCIsDQorCSJvc2NfZDIiLA0KKwkib3NjX2Q0IiwNCisJ Im9zY19kMTYiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVzYl90b3BfcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDVfZDQiLA0KKwkidW5pdnBsbF9k Nl9kNCIsDQorCSJ1bml2cGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBzc3VzYl94aGNpX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q1 X2Q0IiwNCisJInVuaXZwbGxfZDZfZDQiLA0KKwkidW5pdnBsbF9kNV9kMiINCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgaTJjX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQor CSJtYWlucGxsX2Q0X2Q4IiwNCisJInVuaXZwbGxfZDVfZDQiDQorfTsNCisNCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IHNlbmluZl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5p dnBsbF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwki dW5pdnBsbF9kNyIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxf ZDUiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlbmluZjFfcGFyZW50c1td ID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9kMiIs DQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIsDQor CSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBzZW5pbmYyX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0 X2Q0IiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxs X2Q3IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSINCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2VuaW5mM19wYXJlbnRzW10gPSB7DQor CSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJInVu aXZwbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNyIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxs X2Q2IiwNCisJInVuaXZwbGxfZDUiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IHRsX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDIiLA0KKwki bWFpbnBsbF9kNl9kNCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHhjY19w YXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxs X2Q0X2Q0IiwNCisJIm1haW5wbGxfZDRfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGF1ZF9lbmdlbjFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImFwbGwxX2Qy IiwNCisJImFwbGwxX2Q0IiwNCisJImFwbGwxX2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCBhdWRfZW5nZW4yX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJhcGxs Ml9kMiIsDQorCSJhcGxsMl9kNCIsDQorCSJhcGxsMl9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3QgYWVzX3Vmc2ZkZV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwki bWFpbnBsbF9kNCIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDYiLA0KKwkibWFp bnBsbF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDYiDQorfTsNCisN CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVmc19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0i LA0KKwkibWFpbnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q0X2Q4IiwNCisJInVuaXZwbGxfZDRf ZDQiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1zZGNwbGxf ZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF1ZF8xX3BhcmVudHNbXSA9 IHsNCisJImNsazI2bSIsDQorCSJhcGxsMV9jayINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgYXVkXzJfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImFwbGwyX2NrIg0K K307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhZHNwX3BhcmVudHNbXSA9IHsNCisJ ImNsazI2bSIsDQorCSJtYWlucGxsX2Q2IiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkidW5pdnBs bF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDYiLA0KKwkidWxwb3NjIiwN CisJImFkc3BwbGxfY2siDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRwbWFp Zl9tYWluX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJ Im1haW5wbGxfZDYiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIg0KK307 DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB2ZW5jX3BhcmVudHNbXSA9IHsNCisJImNs azI2bSIsDQorCSJtbXBsbF9kNyIsDQorCSJtYWlucGxsX2Q2IiwNCisJInVuaXZwbGxfZDRfZDIi LA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJ Im1haW5wbGxfZDVfZDIiLA0KKwkibWFpbnBsbF9kNl9kMiIsDQorCSJtbXBsbF9kOSIsDQorCSJ1 bml2cGxsX2Q0X2Q0IiwNCisJIm1haW5wbGxfZDQiLA0KKwkidW5pdnBsbF9kNCIsDQorCSJ1bml2 cGxsX2Q1IiwNCisJInVuaXZwbGxfZDVfZDIiLA0KKwkibWFpbnBsbF9kNSINCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmRlY19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkidW5pdnBsbF8xOTJtX2QyIiwNCisJInVuaXZwbGxfZDVfZDQiLA0KKwkibWFpbnBsbF9kNSIs DQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDVfZDIi LA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDci LA0KKwkibW1wbGxfZDciLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJtYWlu cGxsX2Q0IiwNCisJInVuaXZwbGxfZDQiLA0KKwkidW5pdnBsbF9kNiINCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgY2FtdG1fcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ InVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJ1bml2cGxsX2Q0X2QyIg0KK307 DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBwd21fcGFyZW50c1tdID0gew0KKwkiY2xr MjZtIiwNCisJInVuaXZwbGxfZDRfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGF1ZGlvX2hfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDciLA0K KwkiYXBsbDFfY2siLA0KKwkiYXBsbDJfY2siDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHNwbWlfbXN0X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJjc3dfZjI2bV9k MiIsDQorCSJvc2NfZDgiLA0KKwkib3NjX2QxMCIsDQorCSJvc2NfZDE2IiwNCisJIm9zY19kMjAi LA0KKwkiY2xrMzJrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhZXNfbXNk Y2ZkZV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJt YWlucGxsX2Q2IiwNCisJIm1haW5wbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1 bml2cGxsX2Q2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtY3VwbV9wYXJl bnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kNl9kNCIsDQorCSJtYWlucGxsX2Q2 X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzZmxhc2hfcGFyZW50c1td ID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDdfZDgiLA0KKwkidW5pdnBsbF9kNl9kOCIs DQorCSJ1bml2cGxsX2Q1X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBh cGxsX2kyczBfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0K K307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2kyczFfbV9wYXJlbnRzW10g PSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQorDQorc3RhdGljIGNvbnN0 IGNoYXIgKiBjb25zdCBhcGxsX2kyczJfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0K KwkiYXVkXzJfc2VsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2ky czNfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2kyczRfbV9wYXJlbnRzW10gPSB7DQor CSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBhcGxsX2kyczVfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVk XzJfc2VsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2kyczZfbV9w YXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQorDQorc3Rh dGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2kyczdfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRf MV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBhcGxsX2kyczhfbV9wYXJlbnRzW10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2Vs Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhcGxsX2kyczlfbV9wYXJlbnRz W10gPSB7DQorCSJhdWRfMV9zZWwiLA0KKwkiYXVkXzJfc2VsIg0KK307DQorDQorLyoNCisgKiBD UklUSUNBTCBDTE9DSzoNCisgKiBheGlfc2VsIGlzIHRoZSBtYWluIGJ1cyBjbG9jayBvZiB3aG9s ZSBTT0MuDQorICogc3BtX3NlbCBpcyB0aGUgY2xvY2sgb2YgdGhlIGFsd2F5cy1vbiBjby1wcm9j ZXNzb3IuDQorICogYnVzX2F4aW1lbV9zZWwgaXMgY2xvY2sgb2YgdGhlIGJ1cyB0aGF0IGFjY2Vz cyBlbWkuDQorICovDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbXV4IHRvcF9tdGtfbXV4ZXNb XSA9IHsNCisJLyogQ0xLX0NGR18wICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEX0ZMQUdTKENM S19UT1BfQVhJX1NFTCwgImF4aV9zZWwiLA0KKwkJYXhpX3BhcmVudHMsIDB4MDEwLCAweDAxNCwg MHgwMTgsIDAsIDMsIDcsIDB4MDA0LCAwLA0KKwkJQ0xLX0lTX0NSSVRJQ0FMKSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUERfRkxBR1MoQ0xLX1RPUF9TUE1fU0VMLCAic3BtX3NlbCIsDQorCQlzcG1f cGFyZW50cywgMHgwMTAsIDB4MDE0LCAweDAxOCwgOCwgMiwgMTUsIDB4MDA0LCAxLA0KKwkJQ0xL X0lTX0NSSVRJQ0FMKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TQ1BfU0VMLCAi c2NwX3NlbCIsDQorCQlzY3BfcGFyZW50cywgMHgwMTAsIDB4MDE0LCAweDAxOCwgMTYsIDMsIDIz LCAweDAwNCwgMiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEX0ZMQUdTKENMS19UT1BfQlVTX0FY SU1FTV9TRUwsICJidXNfYXhpbWVtX3NlbCIsDQorCQlidXNfYXhpbWVtX3BhcmVudHMsIDB4MDEw LCAweDAxNCwgMHgwMTgsIDI0LCAzLCAzMSwgMHgwMDQsIDMsDQorCQlDTEtfSVNfQ1JJVElDQUwp LA0KKwkvKiBDTEtfQ0ZHXzEgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9ESVNQ X1NFTCwgImRpc3Bfc2VsIiwNCisJCWRpc3BfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwg MCwgNCwgNywgMHgwMDQsIDQpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX01EUF9T RUwsICJtZHBfc2VsIiwNCisJCW1kcF9wYXJlbnRzLCAweDAyMCwgMHgwMjQsIDB4MDI4LCA4LCA0 LCAxNSwgMHgwMDQsIDUpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0lNRzFfU0VM LCAiaW1nMV9zZWwiLA0KKwkJaW1nMV9wYXJlbnRzLCAweDAyMCwgMHgwMjQsIDB4MDI4LCAxNiwg NCwgMjMsIDB4MDA0LCA2KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9JTUcyX1NF TCwgImltZzJfc2VsIiwNCisJCWltZzJfcGFyZW50cywgMHgwMjAsIDB4MDI0LCAweDAyOCwgMjQs IDQsIDMxLCAweDAwNCwgNyksDQorCS8qIENMS19DRkdfMiAqLw0KKwlNVVhfR0FURV9DTFJfU0VU X1VQRChDTEtfVE9QX0lQRV9TRUwsICJpcGVfc2VsIiwNCisJCWlwZV9wYXJlbnRzLCAweDAzMCwg MHgwMzQsIDB4MDM4LCAwLCA0LCA3LCAweDAwNCwgOCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBE KENMS19UT1BfRFBFX1NFTCwgImRwZV9zZWwiLA0KKwkJZHBlX3BhcmVudHMsIDB4MDMwLCAweDAz NCwgMHgwMzgsIDgsIDMsIDE1LCAweDAwNCwgOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENM S19UT1BfQ0FNX1NFTCwgImNhbV9zZWwiLA0KKwkJY2FtX3BhcmVudHMsIDB4MDMwLCAweDAzNCwg MHgwMzgsIDE2LCA0LCAyMywgMHgwMDQsIDEwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xL X1RPUF9DQ1VfU0VMLCAiY2N1X3NlbCIsDQorCQljY3VfcGFyZW50cywgMHgwMzAsIDB4MDM0LCAw eDAzOCwgMjQsIDQsIDMxLCAweDAwNCwgMTEpLA0KKwkvKiBDTEtfQ0ZHXzQgKi8NCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EU1A3X1NFTCwgImRzcDdfc2VsIiwNCisJCWRzcDdfcGFy ZW50cywgMHgwNTAsIDB4MDU0LCAweDA1OCwgMCwgMywgNywgMHgwMDQsIDE2KSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NRkdfUkVGX1NFTCwgIm1mZ19yZWZfc2VsIiwNCisJCW1m Z19yZWZfcGFyZW50cywgMHgwNTAsIDB4MDU0LCAweDA1OCwgMTYsIDIsIDIzLCAweDAwNCwgMTgp LA0KKwlNVVhfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NRkdfUExMX1NFTCwgIm1mZ19wbGxfc2VsIiwN CisJCW1mZ19wbGxfcGFyZW50cywgMHgwNTAsIDB4MDU0LCAweDA1OCwgMTgsIDEsIC0xLCAtMSks DQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQ0FNVEdfU0VMLCAiY2FtdGdfc2VsIiwN CisJCWNhbXRnX3BhcmVudHMsIDB4MDUwLCAweDA1NCwgMHgwNTgsIDI0LCAzLCAzMSwgMHgwMDQs IDE5KSwNCisJLyogQ0xLX0NGR181ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1Bf Q0FNVEcyX1NFTCwgImNhbXRnMl9zZWwiLA0KKwkJY2FtdGcyX3BhcmVudHMsIDB4MDYwLCAweDA2 NCwgMHgwNjgsIDAsIDMsIDcsIDB4MDA0LCAyMCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENM S19UT1BfQ0FNVEczX1NFTCwgImNhbXRnM19zZWwiLA0KKwkJY2FtdGczX3BhcmVudHMsIDB4MDYw LCAweDA2NCwgMHgwNjgsIDgsIDMsIDE1LCAweDAwNCwgMjEpLA0KKwlNVVhfR0FURV9DTFJfU0VU X1VQRChDTEtfVE9QX0NBTVRHNF9TRUwsICJjYW10ZzRfc2VsIiwNCisJCWNhbXRnNF9wYXJlbnRz LCAweDA2MCwgMHgwNjQsIDB4MDY4LCAxNiwgMywgMjMsIDB4MDA0LCAyMiksDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfQ0FNVEc1X1NFTCwgImNhbXRnNV9zZWwiLA0KKwkJY2FtdGc1 X3BhcmVudHMsIDB4MDYwLCAweDA2NCwgMHgwNjgsIDI0LCAzLCAzMSwgMHgwMDQsIDIzKSwNCisJ LyogQ0xLX0NGR182ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQ0FNVEc2X1NF TCwgImNhbXRnNl9zZWwiLA0KKwkJY2FtdGc2X3BhcmVudHMsIDB4MDcwLCAweDA3NCwgMHgwNzgs IDAsIDMsIDcsIDB4MDA0LCAyNCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVUFS VF9TRUwsICJ1YXJ0X3NlbCIsDQorCQl1YXJ0X3BhcmVudHMsIDB4MDcwLCAweDA3NCwgMHgwNzgs IDgsIDEsIDE1LCAweDAwNCwgMjUpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NQ SV9TRUwsICJzcGlfc2VsIiwNCisJCXNwaV9wYXJlbnRzLCAweDA3MCwgMHgwNzQsIDB4MDc4LCAx NiwgMiwgMjMsIDB4MDA0LCAyNiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTVNE QzUwXzBfSF9TRUwsICJtc2RjNTBfMF9oX3NlbCIsDQorCQltc2RjNTBfMF9oX3BhcmVudHMsIDB4 MDcwLCAweDA3NCwgMHgwNzgsIDI0LCAyLCAzMSwgMHgwMDQsIDI3KSwNCisJLyogQ0xLX0NGR183 ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTVNEQzUwXzBfU0VMLCAibXNkYzUw XzBfc2VsIiwNCisJCW1zZGM1MF8wX3BhcmVudHMsIDB4MDgwLCAweDA4NCwgMHgwODgsIDAsIDMs IDcsIDB4MDA0LCAyOCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTVNEQzMwXzFf U0VMLCAibXNkYzMwXzFfc2VsIiwNCisJCW1zZGMzMF8xX3BhcmVudHMsIDB4MDgwLCAweDA4NCwg MHgwODgsIDgsIDMsIDE1LCAweDAwNCwgMjkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtf VE9QX01TREMzMF8yX1NFTCwgIm1zZGMzMF8yX3NlbCIsDQorCQltc2RjMzBfMl9wYXJlbnRzLCAw eDA4MCwgMHgwODQsIDB4MDg4LCAxNiwgMywgMjMsIDB4MDA0LCAzMCksDQorCU1VWF9HQVRFX0NM Ul9TRVRfVVBEKENMS19UT1BfQVVESU9fU0VMLCAiYXVkaW9fc2VsIiwNCisJCWF1ZGlvX3BhcmVu dHMsIDB4MDgwLCAweDA4NCwgMHgwODgsIDI0LCAyLCAzMSwgMHgwMDgsIDApLA0KKwkvKiBDTEtf Q0ZHXzggKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BVURfSU5UQlVTX1NFTCwg ImF1ZF9pbnRidXNfc2VsIiwNCisJCWF1ZF9pbnRidXNfcGFyZW50cywgMHgwOTAsIDB4MDk0LCAw eDA5OCwgMCwgMiwgNywgMHgwMDgsIDEpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9Q X1BXUkFQX1VMUE9TQ19TRUwsICJwd3JhcF91bHBvc2Nfc2VsIiwNCisJCXB3cmFwX3VscG9zY19w YXJlbnRzLCAweDA5MCwgMHgwOTQsIDB4MDk4LCA4LCAzLCAxNSwgMHgwMDgsIDIpLA0KKwlNVVhf R0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FUQl9TRUwsICJhdGJfc2VsIiwNCisJCWF0Yl9wYXJl bnRzLCAweDA5MCwgMHgwOTQsIDB4MDk4LCAxNiwgMiwgMjMsIDB4MDA4LCAzKSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TU1BNX1NFTCwgInNzcG1fc2VsIiwNCisJCXNzcG1fcGFy ZW50cywgMHgwOTAsIDB4MDk0LCAweDA5OCwgMjQsIDMsIDMxLCAweDAwOCwgNCksDQorCS8qIENM S19DRkdfOSAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RQSV9TRUwsICJkcGlf c2VsIiwNCisJCWRwaV9wYXJlbnRzLCAweDBhMCwgMHgwYTQsIDB4MGE4LCAwLCAzLCA3LCAweDAw OCwgNSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0NBTV9TRUwsICJzY2FtX3Nl bCIsDQorCQlzY2FtX3BhcmVudHMsIDB4MGEwLCAweDBhNCwgMHgwYTgsIDgsIDEsIDE1LCAweDAw OCwgNiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfRElTUF9QV01fU0VMLCAiZGlz cF9wd21fc2VsIiwNCisJCWRpc3BfcHdtX3BhcmVudHMsIDB4MGEwLCAweDBhNCwgMHgwYTgsIDE2 LCAzLCAyMywgMHgwMDgsIDcpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1VTQl9U T1BfU0VMLCAidXNiX3RvcF9zZWwiLA0KKwkJdXNiX3RvcF9wYXJlbnRzLCAweDBhMCwgMHgwYTQs IDB4MGE4LCAyNCwgMiwgMzEsIDB4MDA4LCA4KSwNCisJLyogQ0xLX0NGR18xMCAqLw0KKwlNVVhf R0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NTVVNCX1hIQ0lfU0VMLCAic3N1c2JfeGhjaV9zZWwi LA0KKwkJc3N1c2JfeGhjaV9wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4MGI4LCAwLCAyLCA3LCAw eDAwOCwgOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfSTJDX1NFTCwgImkyY19z ZWwiLA0KKwkJaTJjX3BhcmVudHMsIDB4MGIwLCAweDBiNCwgMHgwYjgsIDgsIDIsIDE1LCAweDAw OCwgMTApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NFTklORl9TRUwsICJzZW5p bmZfc2VsIiwNCisJCXNlbmluZl9wYXJlbnRzLCAweDBiMCwgMHgwYjQsIDB4MGI4LCAxNiwgMywg MjMsIDB4MDA4LCAxMSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU0VOSU5GMV9T RUwsICJzZW5pbmYxX3NlbCIsDQorCQlzZW5pbmYxX3BhcmVudHMsIDB4MGIwLCAweDBiNCwgMHgw YjgsIDI0LCAzLCAzMSwgMHgwMDgsIDEyKSwNCisJLyogQ0xLX0NGR18xMSAqLw0KKwlNVVhfR0FU RV9DTFJfU0VUX1VQRChDTEtfVE9QX1NFTklORjJfU0VMLCAic2VuaW5mMl9zZWwiLA0KKwkJc2Vu aW5mMl9wYXJlbnRzLCAweDBjMCwgMHgwYzQsIDB4MGM4LCAwLCAzLCA3LCAweDAwOCwgMTMpLA0K KwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NFTklORjNfU0VMLCAic2VuaW5mM19zZWwi LA0KKwkJc2VuaW5mM19wYXJlbnRzLCAweDBjMCwgMHgwYzQsIDB4MGM4LCA4LCAzLCAxNSwgMHgw MDgsIDE0KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9UTF9TRUwsICJ0bF9zZWwi LA0KKwkJdGxfcGFyZW50cywgMHgwYzAsIDB4MGM0LCAweDBjOCwgMTYsIDIsIDIzLCAweDAwOCwg MTUpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RYQ0NfU0VMLCAiZHhjY19zZWwi LA0KKwkJZHhjY19wYXJlbnRzLCAweDBjMCwgMHgwYzQsIDB4MGM4LCAyNCwgMiwgMzEsIDB4MDA4 LCAxNiksDQorCS8qIENMS19DRkdfMTIgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RP UF9BVURfRU5HRU4xX1NFTCwgImF1ZF9lbmdlbjFfc2VsIiwNCisJCWF1ZF9lbmdlbjFfcGFyZW50 cywgMHgwZDAsIDB4MGQ0LCAweDBkOCwgMCwgMiwgNywgMHgwMDgsIDE3KSwNCisJTVVYX0dBVEVf Q0xSX1NFVF9VUEQoQ0xLX1RPUF9BVURfRU5HRU4yX1NFTCwgImF1ZF9lbmdlbjJfc2VsIiwNCisJ CWF1ZF9lbmdlbjJfcGFyZW50cywgMHgwZDAsIDB4MGQ0LCAweDBkOCwgOCwgMiwgMTUsIDB4MDA4 LCAxOCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQUVTX1VGU0ZERV9TRUwsICJh ZXNfdWZzZmRlX3NlbCIsDQorCQlhZXNfdWZzZmRlX3BhcmVudHMsIDB4MGQwLCAweDBkNCwgMHgw ZDgsIDE2LCAzLCAyMywgMHgwMDgsIDE5KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RP UF9VRlNfU0VMLCAidWZzX3NlbCIsDQorCQl1ZnNfcGFyZW50cywgMHgwZDAsIDB4MGQ0LCAweDBk OCwgMjQsIDMsIDMxLCAweDAwOCwgMjApLA0KKwkvKiBDTEtfQ0ZHXzEzICovDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfQVVEXzFfU0VMLCAiYXVkXzFfc2VsIiwNCisJCWF1ZF8xX3Bh cmVudHMsIDB4MGUwLCAweDBlNCwgMHgwZTgsIDAsIDEsIDcsIDB4MDA4LCAyMSksDQorCU1VWF9H QVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQVVEXzJfU0VMLCAiYXVkXzJfc2VsIiwNCisJCWF1ZF8y X3BhcmVudHMsIDB4MGUwLCAweDBlNCwgMHgwZTgsIDgsIDEsIDE1LCAweDAwOCwgMjIpLA0KKwlN VVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FEU1BfU0VMLCAiYWRzcF9zZWwiLA0KKwkJYWRz cF9wYXJlbnRzLCAweDBlMCwgMHgwZTQsIDB4MGU4LCAxNiwgMywgMjMsIDB4MDA4LCAyMyksDQor CU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfRFBNQUlGX01BSU5fU0VMLCAiZHBtYWlmX21h aW5fc2VsIiwNCisJCWRwbWFpZl9tYWluX3BhcmVudHMsIDB4MGUwLCAweDBlNCwgMHgwZTgsIDI0 LCAzLCAzMSwgMHgwMDgsIDI0KSwNCisJLyogQ0xLX0NGR18xNCAqLw0KKwlNVVhfR0FURV9DTFJf U0VUX1VQRChDTEtfVE9QX1ZFTkNfU0VMLCAidmVuY19zZWwiLA0KKwkJdmVuY19wYXJlbnRzLCAw eDBmMCwgMHgwZjQsIDB4MGY4LCAwLCA0LCA3LCAweDAwOCwgMjUpLA0KKwlNVVhfR0FURV9DTFJf U0VUX1VQRChDTEtfVE9QX1ZERUNfU0VMLCAidmRlY19zZWwiLA0KKwkJdmRlY19wYXJlbnRzLCAw eDBmMCwgMHgwZjQsIDB4MGY4LCA4LCA0LCAxNSwgMHgwMDgsIDI2KSwNCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9DQU1UTV9TRUwsICJjYW10bV9zZWwiLA0KKwkJY2FtdG1fcGFyZW50 cywgMHgwZjAsIDB4MGY0LCAweDBmOCwgMTYsIDIsIDIzLCAweDAwOCwgMjcpLA0KKwlNVVhfR0FU RV9DTFJfU0VUX1VQRChDTEtfVE9QX1BXTV9TRUwsICJwd21fc2VsIiwNCisJCXB3bV9wYXJlbnRz LCAweDBmMCwgMHgwZjQsIDB4MGY4LCAyNCwgMSwgMzEsIDB4MDA4LCAyOCksDQorCS8qIENMS19D RkdfMTUgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BVURJT19IX1NFTCwgImF1 ZGlvX2hfc2VsIiwNCisJCWF1ZGlvX2hfcGFyZW50cywgMHgxMDAsIDB4MTA0LCAweDEwOCwgMCwg MiwgNywgMHgwMDgsIDI5KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TUE1JX01T VF9TRUwsICJzcG1pX21zdF9zZWwiLA0KKwkJc3BtaV9tc3RfcGFyZW50cywgMHgxMDAsIDB4MTA0 LCAweDEwOCwgOCwgMywgMTUsIDB4MDA4LCAzMCksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENM S19UT1BfQUVTX01TRENGREVfU0VMLCAiYWVzX21zZGNmZGVfc2VsIiwNCisJCWFlc19tc2RjZmRl X3BhcmVudHMsIDB4MTAwLCAweDEwNCwgMHgxMDgsIDI0LCAzLCAzMSwgMHgwMGMsIDEpLA0KKwkv KiBDTEtfQ0ZHXzE2ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTUNVUE1fU0VM LCAibWN1cG1fc2VsIiwNCisJCW1jdXBtX3BhcmVudHMsIDB4MTEwLCAweDExNCwgMHgxMTgsIDAs IDIsIDcsIDB4MDBjLCAyKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRkxBU0hf U0VMLCAic2ZsYXNoX3NlbCIsDQorCQlzZmxhc2hfcGFyZW50cywgMHgxMTAsIDB4MTE0LCAweDEx OCwgOCwgMiwgMTUsIDB4MDBjLCAzKSwNCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgbXRrX2NvbXBv c2l0ZSB0b3BfbXV4ZXNbXSA9IHsNCisJLyogQ0xLX0FVRERJVl8wICovDQorCU1VWChDTEtfVE9Q X0FQTExfSTJTMF9NX1NFTCwgImFwbGxfaTJzMF9tX3NlbCIsIGFwbGxfaTJzMF9tX3BhcmVudHMs IDB4MzIwLCAxNiwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTMV9NX1NFTCwgImFwbGxfaTJz MV9tX3NlbCIsIGFwbGxfaTJzMV9tX3BhcmVudHMsIDB4MzIwLCAxNywgMSksDQorCU1VWChDTEtf VE9QX0FQTExfSTJTMl9NX1NFTCwgImFwbGxfaTJzMl9tX3NlbCIsIGFwbGxfaTJzMl9tX3BhcmVu dHMsIDB4MzIwLCAxOCwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTM19NX1NFTCwgImFwbGxf aTJzM19tX3NlbCIsIGFwbGxfaTJzM19tX3BhcmVudHMsIDB4MzIwLCAxOSwgMSksDQorCU1VWChD TEtfVE9QX0FQTExfSTJTNF9NX1NFTCwgImFwbGxfaTJzNF9tX3NlbCIsIGFwbGxfaTJzNF9tX3Bh cmVudHMsIDB4MzIwLCAyMCwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTNV9NX1NFTCwgImFw bGxfaTJzNV9tX3NlbCIsIGFwbGxfaTJzNV9tX3BhcmVudHMsIDB4MzIwLCAyMSwgMSksDQorCU1V WChDTEtfVE9QX0FQTExfSTJTNl9NX1NFTCwgImFwbGxfaTJzNl9tX3NlbCIsIGFwbGxfaTJzNl9t X3BhcmVudHMsIDB4MzIwLCAyMiwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTN19NX1NFTCwg ImFwbGxfaTJzN19tX3NlbCIsIGFwbGxfaTJzN19tX3BhcmVudHMsIDB4MzIwLCAyMywgMSksDQor CU1VWChDTEtfVE9QX0FQTExfSTJTOF9NX1NFTCwgImFwbGxfaTJzOF9tX3NlbCIsIGFwbGxfaTJz OF9tX3BhcmVudHMsIDB4MzIwLCAyNCwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTOV9NX1NF TCwgImFwbGxfaTJzOV9tX3NlbCIsIGFwbGxfaTJzOV9tX3BhcmVudHMsIDB4MzIwLCAyNSwgMSks DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19jb21wb3NpdGUgdG9wX2Fkal9kaXZz W10gPSB7DQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjAsICJhcGxsMTJfZGl2MCIsICJh cGxsX2kyczBfbV9zZWwiLCAweDMyMCwgMCwgMHgzMjgsIDgsIDApLA0KKwlESVZfR0FURShDTEtf VE9QX0FQTEwxMl9ESVYxLCAiYXBsbDEyX2RpdjEiLCAiYXBsbF9pMnMxX21fc2VsIiwgMHgzMjAs IDEsIDB4MzI4LCA4LCA4KSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWMiwgImFwbGwx Ml9kaXYyIiwgImFwbGxfaTJzMl9tX3NlbCIsIDB4MzIwLCAyLCAweDMyOCwgOCwgMTYpLA0KKwlE SVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVYzLCAiYXBsbDEyX2RpdjMiLCAiYXBsbF9pMnMzX21f c2VsIiwgMHgzMjAsIDMsIDB4MzI4LCA4LCAyNCksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEy X0RJVjQsICJhcGxsMTJfZGl2NCIsICJhcGxsX2kyczRfbV9zZWwiLCAweDMyMCwgNCwgMHgzMzQs IDgsIDApLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVZCLCAiYXBsbDEyX2RpdmIiLCAi YXBsbDEyX2RpdjQiLCAweDMyMCwgNSwgMHgzMzQsIDgsIDgpLA0KKwlESVZfR0FURShDTEtfVE9Q X0FQTEwxMl9ESVY1LCAiYXBsbDEyX2RpdjUiLCAiYXBsbF9pMnM1X21fc2VsIiwgMHgzMjAsIDYs IDB4MzM0LCA4LCAxNiksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjYsICJhcGxsMTJf ZGl2NiIsICJhcGxsX2kyczZfbV9zZWwiLCAweDMyMCwgNywgMHgzMzQsIDgsIDI0KSwNCisJRElW X0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWNywgImFwbGwxMl9kaXY3IiwgImFwbGxfaTJzN19tX3Nl bCIsIDB4MzIwLCA4LCAweDMzOCwgOCwgMCksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJ VjgsICJhcGxsMTJfZGl2OCIsICJhcGxsX2kyczhfbV9zZWwiLCAweDMyMCwgOSwgMHgzMzgsIDgs IDgpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY5LCAiYXBsbDEyX2RpdjkiLCAiYXBs bF9pMnM5X21fc2VsIiwgMHgzMjAsIDEwLCAweDMzOCwgOCwgMTYpLA0KK307DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGFwbWl4ZWRfY2dfcmVncyA9IHsNCisJLnNldF9v ZnMgPSAweDE0LA0KKwkuY2xyX29mcyA9IDB4MTQsDQorCS5zdGFfb2ZzID0gMHgxNCwNCit9Ow0K Kw0KKyNkZWZpbmUgR0FURV9BUE1JWEVEKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0K KwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmYXBtaXhlZF9jZ19yZWdzLCBfc2hpZnQs ICZtdGtfY2xrX2dhdGVfb3BzX25vX3NldGNscl9pbnYpDQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBtdGtfZ2F0ZSBhcG1peGVkX2Nsa3NbXSA9IHsNCisJR0FURV9BUE1JWEVEKENMS19BUE1JWEVE X01JUElEMjZNLCAibWlwaWQyNm0iLCAiY2xrMjZtIiwgMTYpLA0KK307DQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGluZnJhMF9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9 IDB4ODAsDQorCS5jbHJfb2ZzID0gMHg4NCwNCisJLnN0YV9vZnMgPSAweDkwLA0KK307DQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGluZnJhMV9jZ19yZWdzID0gew0KKwku c2V0X29mcyA9IDB4ODgsDQorCS5jbHJfb2ZzID0gMHg4YywNCisJLnN0YV9vZnMgPSAweDk0LA0K K307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGluZnJhMl9jZ19yZWdz ID0gew0KKwkuc2V0X29mcyA9IDB4YTQsDQorCS5jbHJfb2ZzID0gMHhhOCwNCisJLnN0YV9vZnMg PSAweGFjLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGluZnJh M19jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4YzAsDQorCS5jbHJfb2ZzID0gMHhjNCwNCisJ LnN0YV9vZnMgPSAweGM4LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9y ZWdzIGluZnJhNF9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4ZDAsDQorCS5jbHJfb2ZzID0g MHhkNCwNCisJLnN0YV9vZnMgPSAweGQ4LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBt dGtfZ2F0ZV9yZWdzIGluZnJhNV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4ZTAsDQorCS5j bHJfb2ZzID0gMHhlNCwNCisJLnN0YV9vZnMgPSAweGU4LA0KK307DQorDQorI2RlZmluZSBHQVRF X0lORlJBMChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9NVEsoX2lkLCBf bmFtZSwgX3BhcmVudCwgJmluZnJhMF9jZ19yZWdzLCBfc2hpZnQsICZtdGtfY2xrX2dhdGVfb3Bz X3NldGNscikNCisNCisjZGVmaW5lIEdBVEVfSU5GUkExX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJl bnQsIF9zaGlmdCwgX2ZsYWcpCQlcDQorCUdBVEVfTVRLX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJl bnQsICZpbmZyYTFfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRj bHIsIF9mbGFnKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTEoX2lkLCBfbmFtZSwgX3BhcmVudCwg X3NoaWZ0KQlcDQorCUdBVEVfSU5GUkExX0ZMQUdTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlm dCwgMCkNCisNCisjZGVmaW5lIEdBVEVfSU5GUkEyKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlm dCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmEyX2NnX3JlZ3MsIF9z aGlmdCwgJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTNf RkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0LCBfZmxhZykJCVwNCisJR0FURV9NVEtf RkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmluZnJhM19jZ19yZWdzLCBfc2hpZnQsCVwNCisJ CSZtdGtfY2xrX2dhdGVfb3BzX3NldGNsciwgX2ZsYWcpDQorDQorI2RlZmluZSBHQVRFX0lORlJB MyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCVwNCisJR0FURV9JTkZSQTNfRkxBR1MoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0LCAwKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTQoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJl bnQsICZpbmZyYTRfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQor DQorI2RlZmluZSBHQVRFX0lORlJBNV9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQs IF9mbGFnKQkJXA0KKwlHQVRFX01US19GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmE1 X2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyLCBfZmxhZykN CisNCisjZGVmaW5lIEdBVEVfSU5GUkE1KF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJXA0K KwlHQVRFX0lORlJBNV9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQsIDApDQorDQor LyoNCisgKiBDUklUSUNBTCBDTE9DSzoNCisgKiBpbmZyYV8xMzNtIGFuZCBpbmZyYV82Nm0gYXJl IG1haW4gcGVyaXBoZXJhbCBidXMgY2xvY2tzIG9mIFNPQy4NCisgKiBpbmZyYV9kZXZpY2VfYXBj IGFuZCBpbmZyYV9kZXZpY2VfYXBjX3N5bmMgYXJlIGZvciBkZXZpY2UgYWNjZXNzIHBlcm1pc3Np b24gY29udHJvbCBtb2R1bGUuDQorICovDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBp bmZyYV9jbGtzW10gPSB7DQorCS8qIElORlJBMCAqLw0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFf UE1JQ19UTVIsICJpbmZyYV9wbWljX3RtciIsICJwd3JhcF91bHBvc2Nfc2VsIiwgMCksDQorCUdB VEVfSU5GUkEwKENMS19JTkZSQV9QTUlDX0FQLCAiaW5mcmFfcG1pY19hcCIsICJwd3JhcF91bHBv c2Nfc2VsIiwgMSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QTUlDX01ELCAiaW5mcmFfcG1p Y19tZCIsICJwd3JhcF91bHBvc2Nfc2VsIiwgMiksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9Q TUlDX0NPTk4sICJpbmZyYV9wbWljX2Nvbm4iLCAicHdyYXBfdWxwb3NjX3NlbCIsIDMpLA0KKwlH QVRFX0lORlJBMChDTEtfSU5GUkFfU0NQU1lTLCAiaW5mcmFfc2Nwc3lzIiwgInNjcF9zZWwiLCA0 KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1NFSiwgImluZnJhX3NlaiIsICJheGlfc2VsIiwg NSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9BUFhHUFQsICJpbmZyYV9hcHhncHQiLCAiYXhp X3NlbCIsIDYpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfTUNVUE0sICJpbmZyYV9tY3VwbSIs ICJtY3VwbV9zZWwiLCA3KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX0dDRSwgImluZnJhX2dj ZSIsICJheGlfc2VsIiwgOCksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9HQ0UyLCAiaW5mcmFf Z2NlMiIsICJheGlfc2VsIiwgOSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9USEVSTSwgImlu ZnJhX3RoZXJtIiwgImF4aV9zZWwiLCAxMCksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMw LCAiaW5mcmFfaTJjMCIsICJpMmNfc2VsIiwgMTEpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFf QVBfRE1BX1BTRVVETywgImluZnJhX2FwX2RtYV9wc2V1ZG8iLCAiYXhpX3NlbCIsIDEyKSwNCisJ R0FURV9JTkZSQTAoQ0xLX0lORlJBX0kyQzIsICJpbmZyYV9pMmMyIiwgImkyY19zZWwiLCAxMyks DQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMzLCAiaW5mcmFfaTJjMyIsICJpMmNfc2VsIiwg MTQpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUFdNX0gsICJpbmZyYV9wd21faCIsICJheGlf c2VsIiwgMTUpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUFdNMSwgImluZnJhX3B3bTEiLCAi cHdtX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTTIsICJpbmZyYV9wd20y IiwgInB3bV9zZWwiLCAxNyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QV00zLCAiaW5mcmFf cHdtMyIsICJwd21fc2VsIiwgMTgpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfUFdNNCwgImlu ZnJhX3B3bTQiLCAicHdtX3NlbCIsIDE5KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTSwg ImluZnJhX3B3bSIsICJwd21fc2VsIiwgMjEpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfVUFS VDAsICJpbmZyYV91YXJ0MCIsICJ1YXJ0X3NlbCIsIDIyKSwNCisJR0FURV9JTkZSQTAoQ0xLX0lO RlJBX1VBUlQxLCAiaW5mcmFfdWFydDEiLCAidWFydF9zZWwiLCAyMyksDQorCUdBVEVfSU5GUkEw KENMS19JTkZSQV9VQVJUMiwgImluZnJhX3VhcnQyIiwgInVhcnRfc2VsIiwgMjQpLA0KKwlHQVRF X0lORlJBMChDTEtfSU5GUkFfVUFSVDMsICJpbmZyYV91YXJ0MyIsICJ1YXJ0X3NlbCIsIDI1KSwN CisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX0dDRV8yNk0sICJpbmZyYV9nY2VfMjZtIiwgImF4aV9z ZWwiLCAyNyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9DUV9ETUFfRlBDLCAiaW5mcmFfY3Ff ZG1hX2ZwYyIsICJheGlfc2VsIiwgMjgpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQlRJRiwg ImluZnJhX2J0aWYiLCAiYXhpX3NlbCIsIDMxKSwNCisJLyogSU5GUkExICovDQorCUdBVEVfSU5G UkExKENMS19JTkZSQV9TUEkwLCAiaW5mcmFfc3BpMCIsICJzcGlfc2VsIiwgMSksDQorCUdBVEVf SU5GUkExKENMS19JTkZSQV9NU0RDMCwgImluZnJhX21zZGMwIiwgIm1zZGM1MF8wX2hfc2VsIiwg MiksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9NU0RDMSwgImluZnJhX21zZGMxIiwgIm1zZGM1 MF8wX2hfc2VsIiwgNCksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9NU0RDMiwgImluZnJhX21z ZGMyIiwgIm1zZGM1MF8wX2hfc2VsIiwgNSksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9NU0RD MF9TUkMsICJpbmZyYV9tc2RjMF9zcmMiLCAibXNkYzUwXzBfc2VsIiwgNiksDQorCUdBVEVfSU5G UkExKENMS19JTkZSQV9HQ1BVLCAiaW5mcmFfZ2NwdSIsICJheGlfc2VsIiwgOCksDQorCUdBVEVf SU5GUkExKENMS19JTkZSQV9UUk5HLCAiaW5mcmFfdHJuZyIsICJheGlfc2VsIiwgOSksDQorCUdB VEVfSU5GUkExKENMS19JTkZSQV9BVVhBREMsICJpbmZyYV9hdXhhZGMiLCAiY2xrMjZtIiwgMTAp LA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfQ1BVTSwgImluZnJhX2NwdW0iLCAiYXhpX3NlbCIs IDExKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NDSUYxX0FQLCAiaW5mcmFfY2NpZjFfYXAi LCAiYXhpX3NlbCIsIDEyKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NDSUYxX01ELCAiaW5m cmFfY2NpZjFfbWQiLCAiYXhpX3NlbCIsIDEzKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0FV WEFEQ19NRCwgImluZnJhX2F1eGFkY19tZCIsICJjbGsyNm0iLCAxNCksDQorCUdBVEVfSU5GUkEx KENMS19JTkZSQV9QQ0lFX1RMXzI2TSwgImluZnJhX3BjaWVfdGxfMjZtIiwgImF4aV9zZWwiLCAx NSksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9NU0RDMV9TUkMsICJpbmZyYV9tc2RjMV9zcmMi LCAibXNkYzMwXzFfc2VsIiwgMTYpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzJfU1JD LCAiaW5mcmFfbXNkYzJfc3JjIiwgIm1zZGMzMF8yX3NlbCIsIDE3KSwNCisJR0FURV9JTkZSQTEo Q0xLX0lORlJBX1BDSUVfVExfOTZNLCAiaW5mcmFfcGNpZV90bF85Nm0iLCAidGxfc2VsIiwgMTgp LA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfUENJRV9QTF9QXzI1ME0sICJpbmZyYV9wY2llX3Bs X3BfMjUwbSIsICJheGlfc2VsIiwgMTkpLA0KKwlHQVRFX0lORlJBMV9GTEFHUyhDTEtfSU5GUkFf REVWSUNFX0FQQywgImluZnJhX2RldmljZV9hcGMiLCAiYXhpX3NlbCIsIDIwLCBDTEtfSVNfQ1JJ VElDQUwpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfQ0NJRl9BUCwgImluZnJhX2NjaWZfYXAi LCAiYXhpX3NlbCIsIDIzKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RFQlVHU1lTLCAiaW5m cmFfZGVidWdzeXMiLCAiYXhpX3NlbCIsIDI0KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0FV RElPLCAiaW5mcmFfYXVkaW8iLCAiYXhpX3NlbCIsIDI1KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lO RlJBX0NDSUZfTUQsICJpbmZyYV9jY2lmX21kIiwgImF4aV9zZWwiLCAyNiksDQorCUdBVEVfSU5G UkExKENMS19JTkZSQV9EWENDX1NFQ19DT1JFLCAiaW5mcmFfZHhjY19zZWNfY29yZSIsICJkeGNj X3NlbCIsIDI3KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RYQ0NfQU8sICJpbmZyYV9keGNj X2FvIiwgImR4Y2Nfc2VsIiwgMjgpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfREJHX1RSQUNF LCAiaW5mcmFfZGJnX3RyYWNlIiwgImF4aV9zZWwiLCAyOSksDQorCUdBVEVfSU5GUkExKENMS19J TkZSQV9ERVZNUFVfQiwgImluZnJhX2Rldm1wdV9iIiwgImF4aV9zZWwiLCAzMCksDQorCUdBVEVf SU5GUkExKENMS19JTkZSQV9EUkFNQ19GMjZNLCAiaW5mcmFfZHJhbWNfZjI2bSIsICJjbGsyNm0i LCAzMSksDQorCS8qIElORlJBMiAqLw0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfSVJUWCwgImlu ZnJhX2lydHgiLCAiY2xrMjZtIiwgMCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1VTQiwg ImluZnJhX3NzdXNiIiwgInVzYl90b3Bfc2VsIiwgMSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZS QV9ESVNQX1BXTSwgImluZnJhX2Rpc3BfcHdtIiwgImF4aV9zZWwiLCAyKSwNCisJR0FURV9JTkZS QTIoQ0xLX0lORlJBX0NMRE1BX0IsICJpbmZyYV9jbGRtYV9iIiwgImF4aV9zZWwiLCAzKSwNCisJ R0FURV9JTkZSQTIoQ0xLX0lORlJBX0FVRElPXzI2TV9CLCAiaW5mcmFfYXVkaW9fMjZtX2IiLCAi Y2xrMjZtIiwgNCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9NT0RFTV9URU1QX1NIQVJFLCAi aW5mcmFfbW9kZW1fdGVtcF9zaGFyZSIsICJjbGsyNm0iLCA1KSwNCisJR0FURV9JTkZSQTIoQ0xL X0lORlJBX1NQSTEsICJpbmZyYV9zcGkxIiwgInNwaV9zZWwiLCA2KSwNCisJR0FURV9JTkZSQTIo Q0xLX0lORlJBX0kyQzQsICJpbmZyYV9pMmM0IiwgImkyY19zZWwiLCA3KSwNCisJR0FURV9JTkZS QTIoQ0xLX0lORlJBX1NQSTIsICJpbmZyYV9zcGkyIiwgInNwaV9zZWwiLCA5KSwNCisJR0FURV9J TkZSQTIoQ0xLX0lORlJBX1NQSTMsICJpbmZyYV9zcGkzIiwgInNwaV9zZWwiLCAxMCksDQorCUdB VEVfSU5GUkEyKENMS19JTkZSQV9VTklQUk9fU1lTLCAiaW5mcmFfdW5pcHJvX3N5cyIsICJ1ZnNf c2VsIiwgMTEpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfVU5JUFJPX1RJQ0ssICJpbmZyYV91 bmlwcm9fdGljayIsICJjbGsyNm0iLCAxMiksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9VRlNf TVBfU0FQX0IsICJpbmZyYV91ZnNfbXBfc2FwX2IiLCAiY2xrMjZtIiwgMTMpLA0KKwlHQVRFX0lO RlJBMihDTEtfSU5GUkFfTUQzMl9CLCAiaW5mcmFfbWQzMl9iIiwgImF4aV9zZWwiLCAxNCksDQor CUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1BNLCAiaW5mcmFfc3NwbSIsICJzc3BtX3NlbCIsIDE1 KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VOSVBST19NQklTVCwgImluZnJhX3VuaXByb19t YmlzdCIsICJheGlfc2VsIiwgMTYpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1NQTV9CVVNf SCwgImluZnJhX3NzcG1fYnVzX2giLCAiYXhpX3NlbCIsIDE3KSwNCisJR0FURV9JTkZSQTIoQ0xL X0lORlJBX0kyQzUsICJpbmZyYV9pMmM1IiwgImkyY19zZWwiLCAxOCksDQorCUdBVEVfSU5GUkEy KENMS19JTkZSQV9JMkM1X0FSQklURVIsICJpbmZyYV9pMmM1X2FyYml0ZXIiLCAiaTJjX3NlbCIs IDE5KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0kyQzVfSU1NLCAiaW5mcmFfaTJjNV9pbW0i LCAiaTJjX3NlbCIsIDIwKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0kyQzFfQVJCSVRFUiwg ImluZnJhX2kyYzFfYXJiaXRlciIsICJpMmNfc2VsIiwgMjEpLA0KKwlHQVRFX0lORlJBMihDTEtf SU5GUkFfSTJDMV9JTU0sICJpbmZyYV9pMmMxX2ltbSIsICJpMmNfc2VsIiwgMjIpLA0KKwlHQVRF X0lORlJBMihDTEtfSU5GUkFfSTJDMl9BUkJJVEVSLCAiaW5mcmFfaTJjMl9hcmJpdGVyIiwgImky Y19zZWwiLCAyMyksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9JMkMyX0lNTSwgImluZnJhX2ky YzJfaW1tIiwgImkyY19zZWwiLCAyNCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TUEk0LCAi aW5mcmFfc3BpNCIsICJzcGlfc2VsIiwgMjUpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfU1BJ NSwgImluZnJhX3NwaTUiLCAic3BpX3NlbCIsIDI2KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJB X0NRX0RNQSwgImluZnJhX2NxX2RtYSIsICJheGlfc2VsIiwgMjcpLA0KKwlHQVRFX0lORlJBMihD TEtfSU5GUkFfVUZTLCAiaW5mcmFfdWZzIiwgInVmc19zZWwiLCAyOCksDQorCUdBVEVfSU5GUkEy KENMS19JTkZSQV9BRVNfVUZTRkRFLCAiaW5mcmFfYWVzX3Vmc2ZkZSIsICJhZXNfdWZzZmRlX3Nl bCIsIDI5KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VGU19USUNLLCAiaW5mcmFfdWZzX3Rp Y2siLCAidWZzX3NlbCIsIDMwKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NTVVNCX1hIQ0ks ICJpbmZyYV9zc3VzYl94aGNpIiwgInNzdXNiX3hoY2lfc2VsIiwgMzEpLA0KKwkvKiBJTkZSQTMg Ki8NCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX01TREMwX1NFTEYsICJpbmZyYV9tc2RjMF9zZWxm IiwgIm1zZGM1MF8wX3NlbCIsIDApLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfTVNEQzFfU0VM RiwgImluZnJhX21zZGMxX3NlbGYiLCAibXNkYzUwXzBfc2VsIiwgMSksDQorCUdBVEVfSU5GUkEz KENMS19JTkZSQV9NU0RDMl9TRUxGLCAiaW5mcmFfbXNkYzJfc2VsZiIsICJtc2RjNTBfMF9zZWwi LCAyKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NTUE1fMjZNX1NFTEYsICJpbmZyYV9zc3Bt XzI2bV9zZWxmIiwgImNsazI2bSIsIDMpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1NQTV8z MktfU0VMRiwgImluZnJhX3NzcG1fMzJrX3NlbGYiLCAiY2xrMzJrIiwgNCksDQorCUdBVEVfSU5G UkEzKENMS19JTkZSQV9VRlNfQVhJLCAiaW5mcmFfdWZzX2F4aSIsICJheGlfc2VsIiwgNSksDQor CUdBVEVfSU5GUkEzKENMS19JTkZSQV9JMkM2LCAiaW5mcmFfaTJjNiIsICJpMmNfc2VsIiwgNiks DQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9BUF9NU0RDMCwgImluZnJhX2FwX21zZGMwIiwgIm1z ZGM1MF8wX3NlbCIsIDcpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfTURfTVNEQzAsICJpbmZy YV9tZF9tc2RjMCIsICJtc2RjNTBfMF9zZWwiLCA4KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJB X0NDSUY1X0FQLCAiaW5mcmFfY2NpZjVfYXAiLCAiYXhpX3NlbCIsIDkpLA0KKwlHQVRFX0lORlJB MyhDTEtfSU5GUkFfQ0NJRjVfTUQsICJpbmZyYV9jY2lmNV9tZCIsICJheGlfc2VsIiwgMTApLA0K KwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfUENJRV9UT1BfSF8xMzNNLCAiaW5mcmFfcGNpZV90b3Bf aF8xMzNtIiwgImF4aV9zZWwiLCAxMSksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9GTEFTSElG X1RPUF9IXzEzM00sICJpbmZyYV9mbGFzaGlmX3RvcF9oXzEzM20iLCAiYXhpX3NlbCIsIDE0KSwN CisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1BDSUVfUEVSSV8yNk0sICJpbmZyYV9wY2llX3Blcmlf MjZtIiwgImF4aV9zZWwiLCAxNSksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9DQ0lGMl9BUCwg ImluZnJhX2NjaWYyX2FwIiwgImF4aV9zZWwiLCAxNiksDQorCUdBVEVfSU5GUkEzKENMS19JTkZS QV9DQ0lGMl9NRCwgImluZnJhX2NjaWYyX21kIiwgImF4aV9zZWwiLCAxNyksDQorCUdBVEVfSU5G UkEzKENMS19JTkZSQV9DQ0lGM19BUCwgImluZnJhX2NjaWYzX2FwIiwgImF4aV9zZWwiLCAxOCks DQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9DQ0lGM19NRCwgImluZnJhX2NjaWYzX21kIiwgImF4 aV9zZWwiLCAxOSksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9TRUpfRjEzTSwgImluZnJhX3Nl al9mMTNtIiwgImNsazI2bSIsIDIwKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0FFUywgImlu ZnJhX2FlcyIsICJheGlfc2VsIiwgMjEpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfSTJDNywg ImluZnJhX2kyYzciLCAiaTJjX3NlbCIsIDIyKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0ky QzgsICJpbmZyYV9pMmM4IiwgImkyY19zZWwiLCAyMyksDQorCUdBVEVfSU5GUkEzKENMS19JTkZS QV9GQklTVDJGUEMsICJpbmZyYV9mYmlzdDJmcGMiLCAibXNkYzUwXzBfc2VsIiwgMjQpLA0KKwlH QVRFX0lORlJBM19GTEFHUyhDTEtfSU5GUkFfREVWSUNFX0FQQ19TWU5DLCAiaW5mcmFfZGV2aWNl X2FwY19zeW5jIiwgImF4aV9zZWwiLCAyNSwNCisJCUNMS19JU19DUklUSUNBTCksDQorCUdBVEVf SU5GUkEzKENMS19JTkZSQV9EUE1BSUZfTUFJTiwgImluZnJhX2RwbWFpZl9tYWluIiwgImRwbWFp Zl9tYWluX3NlbCIsIDI2KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1BDSUVfVExfMzJLLCAi aW5mcmFfcGNpZV90bF8zMmsiLCAiYXhpX3NlbCIsIDI3KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lO RlJBX0NDSUY0X0FQLCAiaW5mcmFfY2NpZjRfYXAiLCAiYXhpX3NlbCIsIDI4KSwNCisJR0FURV9J TkZSQTMoQ0xLX0lORlJBX0NDSUY0X01ELCAiaW5mcmFfY2NpZjRfbWQiLCAiYXhpX3NlbCIsIDI5 KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NQSTYsICJpbmZyYV9zcGk2IiwgInNwaV9zZWwi LCAzMCksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9TUEk3LCAiaW5mcmFfc3BpNyIsICJzcGlf c2VsIiwgMzEpLA0KKwkvKiBJTkZSQTQgKi8NCisJR0FURV9JTkZSQTQoQ0xLX0lORlJBX0FQX0RN QSwgImluZnJhX2FwX2RtYSIsICJpbmZyYV9hcF9kbWFfcHNldWRvIiwgMzEpLA0KKwkvKiBJTkZS QTUgKi8NCisJR0FURV9JTkZSQTVfRkxBR1MoQ0xLX0lORlJBXzEzM00sICJpbmZyYV8xMzNtIiwg ImF4aV9zZWwiLCAwLCBDTEtfSVNfQ1JJVElDQUwpLA0KKwlHQVRFX0lORlJBNV9GTEFHUyhDTEtf SU5GUkFfNjZNLCAiaW5mcmFfNjZtIiwgImF4aV9zZWwiLCAxLCBDTEtfSVNfQ1JJVElDQUwpLA0K KwlHQVRFX0lORlJBNShDTEtfSU5GUkFfNjZNX1BFUklfQlVTLCAiaW5mcmFfNjZtX3BlcmlfYnVz IiwgImF4aV9zZWwiLCAyKSwNCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX0ZSRUVfRENNXzEzM00s ICJpbmZyYV9mcmVlX2RjbV8xMzNtIiwgImF4aV9zZWwiLCAzKSwNCisJR0FURV9JTkZSQTUoQ0xL X0lORlJBX0ZSRUVfRENNXzY2TSwgImluZnJhX2ZyZWVfZGNtXzY2bSIsICJheGlfc2VsIiwgNCks DQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV9QRVJJX0JVU19EQ01fMTMzTSwgImluZnJhX3Blcmlf YnVzX2RjbV8xMzNtIiwgImF4aV9zZWwiLCA1KSwNCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX1BF UklfQlVTX0RDTV82Nk0sICJpbmZyYV9wZXJpX2J1c19kY21fNjZtIiwgImF4aV9zZWwiLCA2KSwN CisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX0ZMQVNISUZfUEVSSV8yNk0sICJpbmZyYV9mbGFzaGlm X3BlcmlfMjZtIiwgImF4aV9zZWwiLCAzMCksDQorCUdBVEVfSU5GUkE1KENMS19JTkZSQV9GTEFT SElGX1NGTEFTSCwgImluZnJhX2ZsYXNoaWZfZnNmbGFzaCIsICJheGlfc2VsIiwgMzEpLA0KK307 DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIHBlcmlfY2dfcmVncyA9IHsN CisJLnNldF9vZnMgPSAweDIwYywNCisJLmNscl9vZnMgPSAweDIwYywNCisJLnN0YV9vZnMgPSAw eDIwYywNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9QRVJJKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9z aGlmdCkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmcGVyaV9jZ19yZWdzLCBf c2hpZnQsICZtdGtfY2xrX2dhdGVfb3BzX25vX3NldGNscl9pbnYpDQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfZ2F0ZSBwZXJpX2Nsa3NbXSA9IHsNCisJR0FURV9QRVJJKENMS19QRVJJX1BF UklBWEksICJwZXJpX3BlcmlheGkiLCAiYXhpX3NlbCIsIDMxKSwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB0b3BfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAw eDE1MCwNCisJLmNscl9vZnMgPSAweDE1MCwNCisJLnN0YV9vZnMgPSAweDE1MCwNCit9Ow0KKw0K KyNkZWZpbmUgR0FURV9UT1AoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQlcDQorCUdBVEVf TVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ0b3BfY2dfcmVncywgX3NoaWZ0LCAmbXRrX2Nsa19n YXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUg dG9wX2Nsa3NbXSA9IHsNCisJR0FURV9UT1AoQ0xLX1RPUF9TU1VTQl9UT1BfUkVGLCAic3N1c2Jf dG9wX3JlZiIsICJjbGsyNm0iLCAyNCksDQorCUdBVEVfVE9QKENMS19UT1BfU1NVU0JfUEhZX1JF RiwgInNzdXNiX3BoeV9yZWYiLCAiY2xrMjZtIiwgMjUpLA0KK307DQorDQorI2RlZmluZSBNVDgx OTJfUExMX0ZNQVgJCSgzODAwVUwgKiBNSFopDQorI2RlZmluZSBNVDgxOTJfUExMX0ZNSU4JCSgx NTAwVUwgKiBNSFopDQorI2RlZmluZSBNVDgxOTJfSU5URUdFUl9CSVRTCTgNCisNCisjZGVmaW5l IFBMTChfaWQsIF9uYW1lLCBfcmVnLCBfcHdyX3JlZywgX2VuX21hc2ssIF9mbGFncywJCVwNCisJ CQlfcnN0X2Jhcl9tYXNrLCBfcGN3Yml0cywgX3BkX3JlZywgX3BkX3NoaWZ0LAlcDQorCQkJX3R1 bmVyX3JlZywgX3R1bmVyX2VuX3JlZywgX3R1bmVyX2VuX2JpdCwJXA0KKwkJCV9wY3dfcmVnLCBf cGN3X3NoaWZ0LCBfcGN3X2NoZ19yZWcsCQlcDQorCQkJX2VuX3JlZywgX3BsbF9lbl9iaXQpIHsJ CQkJXA0KKwkJLmlkID0gX2lkLAkJCQkJCVwNCisJCS5uYW1lID0gX25hbWUsCQkJCQkJXA0KKwkJ LnJlZyA9IF9yZWcsCQkJCQkJXA0KKwkJLnB3cl9yZWcgPSBfcHdyX3JlZywJCQkJCVwNCisJCS5l bl9tYXNrID0gX2VuX21hc2ssCQkJCQlcDQorCQkuZmxhZ3MgPSBfZmxhZ3MsCQkJCQlcDQorCQku cnN0X2Jhcl9tYXNrID0gX3JzdF9iYXJfbWFzaywJCQkJXA0KKwkJLmZtYXggPSBNVDgxOTJfUExM X0ZNQVgsCQkJCVwNCisJCS5mbWluID0gTVQ4MTkyX1BMTF9GTUlOLAkJCQlcDQorCQkucGN3Yml0 cyA9IF9wY3diaXRzLAkJCQkJXA0KKwkJLnBjd2liaXRzID0gTVQ4MTkyX0lOVEVHRVJfQklUUywJ CQlcDQorCQkucGRfcmVnID0gX3BkX3JlZywJCQkJCVwNCisJCS5wZF9zaGlmdCA9IF9wZF9zaGlm dCwJCQkJCVwNCisJCS50dW5lcl9yZWcgPSBfdHVuZXJfcmVnLAkJCQlcDQorCQkudHVuZXJfZW5f cmVnID0gX3R1bmVyX2VuX3JlZywJCQkJXA0KKwkJLnR1bmVyX2VuX2JpdCA9IF90dW5lcl9lbl9i aXQsCQkJCVwNCisJCS5wY3dfcmVnID0gX3Bjd19yZWcsCQkJCQlcDQorCQkucGN3X3NoaWZ0ID0g X3Bjd19zaGlmdCwJCQkJXA0KKwkJLnBjd19jaGdfcmVnID0gX3Bjd19jaGdfcmVnLAkJCQlcDQor CQkuZW5fcmVnID0gX2VuX3JlZywJCQkJCVwNCisJCS5wbGxfZW5fYml0ID0gX3BsbF9lbl9iaXQs CQkJCVwNCisJfQ0KKw0KKyNkZWZpbmUgUExMX0IoX2lkLCBfbmFtZSwgX3JlZywgX3B3cl9yZWcs IF9lbl9tYXNrLCBfZmxhZ3MsCQlcDQorCQkJX3JzdF9iYXJfbWFzaywgX3Bjd2JpdHMsIF9wZF9y ZWcsIF9wZF9zaGlmdCwJXA0KKwkJCV90dW5lcl9yZWcsIF90dW5lcl9lbl9yZWcsIF90dW5lcl9l bl9iaXQsCVwNCisJCQlfcGN3X3JlZywgX3Bjd19zaGlmdCkJCQkJXA0KKwkJUExMKF9pZCwgX25h bWUsIF9yZWcsIF9wd3JfcmVnLCBfZW5fbWFzaywgX2ZsYWdzLAlcDQorCQkJX3JzdF9iYXJfbWFz aywgX3Bjd2JpdHMsIF9wZF9yZWcsIF9wZF9zaGlmdCwJXA0KKwkJCV90dW5lcl9yZWcsIF90dW5l cl9lbl9yZWcsIF90dW5lcl9lbl9iaXQsCVwNCisJCQlfcGN3X3JlZywgX3Bjd19zaGlmdCwgMCwg MCwgMCkNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19wbGxfZGF0YSBwbGxzW10gPSB7DQor CVBMTF9CKENMS19BUE1JWEVEX01BSU5QTEwsICJtYWlucGxsIiwgMHgwMzQwLCAweDAzNGMsIDB4 ZmYwMDAwMDAsDQorCQlIQVZFX1JTVF9CQVIsIEJJVCgyMyksIDIyLCAweDAzNDQsIDI0LCAwLCAw LCAwLCAweDAzNDQsIDApLA0KKwlQTExfQihDTEtfQVBNSVhFRF9VTklWUExMLCAidW5pdnBsbCIs IDB4MDMwOCwgMHgwMzE0LCAweGZmMDAwMDAwLA0KKwkJSEFWRV9SU1RfQkFSLCBCSVQoMjMpLCAy MiwgMHgwMzBjLCAyNCwgMCwgMCwgMCwgMHgwMzBjLCAwKSwNCisJUExMKENMS19BUE1JWEVEX1VT QlBMTCwgInVzYnBsbCIsIDB4MDNjNCwgMHgwM2NjLCAweDAwMDAwMDAwLA0KKwkJMCwgMCwgMjIs IDB4MDNjNCwgMjQsIDAsIDAsIDAsIDB4MDNjNCwgMCwgMHgwM2M0LCAweDAzY2MsIDIpLA0KKwlQ TExfQihDTEtfQVBNSVhFRF9NU0RDUExMLCAibXNkY3BsbCIsIDB4MDM1MCwgMHgwMzVjLCAweDAw MDAwMDAwLA0KKwkJMCwgMCwgMjIsIDB4MDM1NCwgMjQsIDAsIDAsIDAsIDB4MDM1NCwgMCksDQor CVBMTF9CKENMS19BUE1JWEVEX01NUExMLCAibW1wbGwiLCAweDAzNjAsIDB4MDM2YywgMHhmZjAw MDAwMCwNCisJCUhBVkVfUlNUX0JBUiwgQklUKDIzKSwgMjIsIDB4MDM2NCwgMjQsIDAsIDAsIDAs IDB4MDM2NCwgMCksDQorCVBMTF9CKENMS19BUE1JWEVEX0FEU1BQTEwsICJhZHNwcGxsIiwgMHgw MzcwLCAweDAzN2MsIDB4ZmYwMDAwMDAsDQorCQlIQVZFX1JTVF9CQVIsIEJJVCgyMyksIDIyLCAw eDAzNzQsIDI0LCAwLCAwLCAwLCAweDAzNzQsIDApLA0KKwlQTExfQihDTEtfQVBNSVhFRF9NRkdQ TEwsICJtZmdwbGwiLCAweDAyNjgsIDB4MDI3NCwgMHgwMDAwMDAwMCwNCisJCTAsIDAsIDIyLCAw eDAyNmMsIDI0LCAwLCAwLCAwLCAweDAyNmMsIDApLA0KKwlQTExfQihDTEtfQVBNSVhFRF9UVkRQ TEwsICJ0dmRwbGwiLCAweDAzODAsIDB4MDM4YywgMHgwMDAwMDAwMCwNCisJCTAsIDAsIDIyLCAw eDAzODQsIDI0LCAwLCAwLCAwLCAweDAzODQsIDApLA0KKwlQTExfQihDTEtfQVBNSVhFRF9BUExM MSwgImFwbGwxIiwgMHgwMzE4LCAweDAzMjgsIDB4MDAwMDAwMDAsDQorCQkwLCAwLCAzMiwgMHgw MzFjLCAyNCwgMHgwMDQwLCAweDAwMGMsIDAsIDB4MDMyMCwgMCksDQorCVBMTF9CKENMS19BUE1J WEVEX0FQTEwyLCAiYXBsbDIiLCAweDAzMmMsIDB4MDMzYywgMHgwMDAwMDAwMCwNCisJCTAsIDAs IDMyLCAweDAzMzAsIDI0LCAwLCAwLCAwLCAweDAzMzQsIDApLA0KK307DQorDQorc3RhdGljIHN0 cnVjdCBjbGtfb25lY2VsbF9kYXRhICp0b3BfY2xrX2RhdGE7DQorDQorc3RhdGljIHZvaWQgY2xr X210ODE5Ml90b3BfaW5pdF9lYXJseShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUpDQorew0KKwlp bnQgaTsNCisNCisJdG9wX2Nsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19UT1BfTlJf Q0xLKTsNCisJaWYgKCF0b3BfY2xrX2RhdGEpDQorCQlyZXR1cm47DQorDQorCWZvciAoaSA9IDA7 IGkgPCBDTEtfVE9QX05SX0NMSzsgaSsrKQ0KKwkJdG9wX2Nsa19kYXRhLT5jbGtzW2ldID0gRVJS X1BUUigtRVBST0JFX0RFRkVSKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9mYWN0b3JzKHRvcF9l YXJseV9kaXZzLCBBUlJBWV9TSVpFKHRvcF9lYXJseV9kaXZzKSwgdG9wX2Nsa19kYXRhKTsNCisN CisJb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCB0b3Bf Y2xrX2RhdGEpOw0KK30NCisNCitDTEtfT0ZfREVDTEFSRV9EUklWRVIobXQ4MTkyX3RvcGNrZ2Vu LCAibWVkaWF0ZWssbXQ4MTkyLXRvcGNrZ2VuIiwNCisJCQljbGtfbXQ4MTkyX3RvcF9pbml0X2Vh cmx5KTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfdG9wX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5k ZXYub2Zfbm9kZTsNCisJaW50IHI7DQorCXZvaWQgX19pb21lbSAqYmFzZTsNCisNCisJYmFzZSA9 IGRldm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZShwZGV2LCAwKTsNCisJaWYgKElTX0VSUihi YXNlKSkNCisJCXJldHVybiBQVFJfRVJSKGJhc2UpOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2Zp eGVkX2Nsa3ModG9wX2ZpeGVkX2Nsa3MsIEFSUkFZX1NJWkUodG9wX2ZpeGVkX2Nsa3MpLCB0b3Bf Y2xrX2RhdGEpOw0KKwltdGtfY2xrX3JlZ2lzdGVyX2ZhY3RvcnModG9wX2Vhcmx5X2RpdnMsIEFS UkFZX1NJWkUodG9wX2Vhcmx5X2RpdnMpLCB0b3BfY2xrX2RhdGEpOw0KKwltdGtfY2xrX3JlZ2lz dGVyX2ZhY3RvcnModG9wX2RpdnMsIEFSUkFZX1NJWkUodG9wX2RpdnMpLCB0b3BfY2xrX2RhdGEp Ow0KKwltdGtfY2xrX3JlZ2lzdGVyX211eGVzKHRvcF9tdGtfbXV4ZXMsIEFSUkFZX1NJWkUodG9w X210a19tdXhlcyksIG5vZGUsICZtdDgxOTJfY2xrX2xvY2ssDQorCQkJdG9wX2Nsa19kYXRhKTsN CisJbXRrX2Nsa19yZWdpc3Rlcl9jb21wb3NpdGVzKHRvcF9tdXhlcywgQVJSQVlfU0laRSh0b3Bf bXV4ZXMpLCBiYXNlLCAmbXQ4MTkyX2Nsa19sb2NrLA0KKwkJCXRvcF9jbGtfZGF0YSk7DQorCW10 a19jbGtfcmVnaXN0ZXJfY29tcG9zaXRlcyh0b3BfYWRqX2RpdnMsIEFSUkFZX1NJWkUodG9wX2Fk al9kaXZzKSwgYmFzZSwgJm10ODE5Ml9jbGtfbG9jaywNCisJCQl0b3BfY2xrX2RhdGEpOw0KKwly ID0gbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCB0b3BfY2xrcywgQVJSQVlfU0laRSh0b3Bf Y2xrcyksIHRvcF9jbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXJldHVy biBvZl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIHRvcF9j bGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbmZyYV9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEg KmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9k ZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19JTkZS QV9OUl9DTEspOw0KKwlpZiAoIWNsa19kYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCXIg PSBtdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGluZnJhX2Nsa3MsIEFSUkFZX1NJWkUoaW5m cmFfY2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJu IG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2Rh dGEpOw0KK30NCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfcGVyaV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19k YXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJ aW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19QRVJJX05SX0NM Syk7DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJciA9IG10a19j bGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgcGVyaV9jbGtzLCBBUlJBWV9TSVpFKHBlcmlfY2xrcyks IGNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0dXJuIG9mX2Nsa19h ZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30N CisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfYXBtaXhlZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0K KwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7 DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19BUE1JWEVEX05SX0NMSyk7 DQorCWlmICghY2xrX2RhdGEpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJbXRrX2Nsa19yZWdp c3Rlcl9wbGxzKG5vZGUsIHBsbHMsIEFSUkFZX1NJWkUocGxscyksIGNsa19kYXRhKTsNCisJciA9 IG10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgYXBtaXhlZF9jbGtzLCBBUlJBWV9TSVpFKGFw bWl4ZWRfY2xrcyksIGNsa19kYXRhKTsNCisJaWYgKHIpDQorCQlyZXR1cm4gcjsNCisNCisJcmV0 dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xr X2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRj aF9jbGtfbXQ4MTkyW10gPSB7DQorCXsNCisJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 Mi1hcG1peGVkc3lzIiwNCisJCS5kYXRhID0gY2xrX210ODE5Ml9hcG1peGVkX3Byb2JlLA0KKwl9 LCB7DQorCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItdG9wY2tnZW4iLA0KKwkJLmRh dGEgPSBjbGtfbXQ4MTkyX3RvcF9wcm9iZSwNCisJfSwgew0KKwkJLmNvbXBhdGlibGUgPSAibWVk aWF0ZWssbXQ4MTkyLWluZnJhY2ZnIiwNCisJCS5kYXRhID0gY2xrX210ODE5Ml9pbmZyYV9wcm9i ZSwNCisJfSwgew0KKwkJLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXBlcmljZmciLA0K KwkJLmRhdGEgPSBjbGtfbXQ4MTkyX3BlcmlfcHJvYmUsDQorCX0sIHsNCisJCS8qIHNlbnRpbmVs ICovDQorCX0NCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJaW50ICgqY2xrX3Byb2JlKShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KTsNCisJaW50IHI7DQorDQorCWNsa19wcm9iZSA9IG9mX2RldmljZV9n ZXRfbWF0Y2hfZGF0YSgmcGRldi0+ZGV2KTsNCisJaWYgKCFjbGtfcHJvYmUpDQorCQlyZXR1cm4g LUVJTlZBTDsNCisNCisJciA9IGNsa19wcm9iZShwZGV2KTsNCisJaWYgKHIpDQorCQlkZXZfZXJy KCZwZGV2LT5kZXYsICJjb3VsZCBub3QgcmVnaXN0ZXIgY2xvY2sgcHJvdmlkZXI6ICVzOiAlZFxu IiwgcGRldi0+bmFtZSwgcik7DQorDQorCXJldHVybiByOw0KK30NCisNCitzdGF0aWMgc3RydWN0 IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5 Ml9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTIiLA0KKwkJLm9m X21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5MiwNCisJfSwNCit9Ow0KKw0KK3N0YXRp YyBpbnQgX19pbml0IGNsa19tdDgxOTJfaW5pdCh2b2lkKQ0KK3sNCisJcmV0dXJuIHBsYXRmb3Jt X2RyaXZlcl9yZWdpc3RlcigmY2xrX210ODE5Ml9kcnYpOw0KK30NCisNCithcmNoX2luaXRjYWxs KGNsa19tdDgxOTJfaW5pdCk7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW11eC5oIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oDQppbmRleCBmNTYyNWY0Li5h ZmJjN2RmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oDQorKysg Yi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXV4LmgNCkBAIC03Nyw2ICs3NywyMSBAQCBzdHJ1 Y3QgbXRrX211eCB7DQogCQkJX3dpZHRoLCBfZ2F0ZSwgX3VwZF9vZnMsIF91cGQsCQkJXA0KIAkJ CUNMS19TRVRfUkFURV9QQVJFTlQpDQogDQorI2RlZmluZSBNVVhfQ0xSX1NFVF9VUERfRkxBR1Mo X2lkLCBfbmFtZSwgX3BhcmVudHMsIF9tdXhfb2ZzLAkJXA0KKwkJCV9tdXhfc2V0X29mcywgX211 eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0aCwJXA0KKwkJCV91cGRfb2ZzLCBfdXBkLCBfZmxhZ3Mp CQkJCVwNCisJCUdBVEVfQ0xSX1NFVF9VUERfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudHMsIF9t dXhfb2ZzLAlcDQorCQkJX211eF9zZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9zaGlmdCwgX3dpZHRo LAlcDQorCQkJMCwgX3VwZF9vZnMsIF91cGQsIF9mbGFncywJCQlcDQorCQkJbXRrX211eF9jbHJf c2V0X3VwZF9vcHMpDQorDQorI2RlZmluZSBNVVhfQ0xSX1NFVF9VUEQoX2lkLCBfbmFtZSwgX3Bh cmVudHMsIF9tdXhfb2ZzLAkJCVwNCisJCQlfbXV4X3NldF9vZnMsIF9tdXhfY2xyX29mcywgX3No aWZ0LCBfd2lkdGgsCVwNCisJCQlfdXBkX29mcywgX3VwZCkJCQkJCVwNCisJCU1VWF9DTFJfU0VU X1VQRF9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50cywJCVwNCisJCQlfbXV4X29mcywgX211eF9z ZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9zaGlmdCwJXA0KKwkJCV93aWR0aCwgX3VwZF9vZnMsIF91 cGQsCUNMS19TRVRfUkFURV9QQVJFTlQpDQorDQogc3RydWN0IGNsayAqbXRrX2Nsa19yZWdpc3Rl cl9tdXgoY29uc3Qgc3RydWN0IG10a19tdXggKm11eCwNCiAJCQkJIHN0cnVjdCByZWdtYXAgKnJl Z21hcCwNCiAJCQkJIHNwaW5sb2NrX3QgKmxvY2spOw0KLS0gDQoxLjguMS4xLmRpcnR5DQo=