Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp608639ybz; Wed, 15 Apr 2020 15:04:24 -0700 (PDT) X-Google-Smtp-Source: APiQypKbwgjCC+o2Z5VAO73vwdVuxImwWfySWtsvsE46wplLZjs0e5wOYCvr/5le6EkBqLWNlHSH X-Received: by 2002:a17:906:3399:: with SMTP id v25mr6736033eja.217.1586988264515; Wed, 15 Apr 2020 15:04:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586988264; cv=none; d=google.com; s=arc-20160816; b=fM2S8SFZ7JO0y4Zl30MMp6XQ+vg5biHG936V51NcPiMAGeLdHLngpvoFhKS9UeAczy OCh6l4kP9nCiq28jlMvOJ2P4kDa6xzrwUtUUSZRVR9uWO4ksbaIKfxMICdCI+kawv2ib 1eH92PrXsctlHdf27cqn8ixmwHw2V2wUrRDf3U6ggmZNMeWpSpC2L9FtED0sy+QjN1t+ d+LExz7kRG/jVSmXqahSEf8JxsTKeezkWP1vDh0vmhr/h/QP9p+I8yWA5yyUrK13V+Ad XY4t2T3tjzST7XEFccoMPG00buFuQyUVhcrU3LUxUdvTHoAM6GhP1gZvmLNTrehqTFh1 zavw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=wxiTTJuUeRKxHl008nsydVnqNfKO62xrp/KdN9zFAo8=; b=nM9eZyvLDkHbqLZcv8OlzmrYNpLKnO3eZw9uRTusP0jm27t0J5zgeNZRgaZtRHa9bp YL9yn8FeRqw7CIO3YVdvBaIikLIpMnbSOANVVUwgYWL/Eo9Mk0b5c3I8dgp0Kg0D9EvT Gh4fVg8v9NVMG1gOcOF+ynPGO/Y3LBis+oAZp2ceMZTRh4WztSZGs3VHIuVb81oiskfP h7Qk6waJ3KHgAbKx5vtMV8+YFQ7Oc8qsgBTJqycADfPNPwjjoeGCoB9Pq3fKDGM5CUWJ H+yl8Nddoc1DKQrC74rjMeLJaHoT2Iyps5torrkMyggcv4E18cHkaBEIxLYR0OFWw6Go nrsw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m4si11551632ejk.143.2020.04.15.15.04.00; Wed, 15 Apr 2020 15:04:24 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387806AbgDOCMR (ORCPT + 99 others); Tue, 14 Apr 2020 22:12:17 -0400 Received: from mg.richtek.com ([220.130.44.152]:54378 "EHLO mg.richtek.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392857AbgDOCMK (ORCPT ); Tue, 14 Apr 2020 22:12:10 -0400 X-Greylist: delayed 497 seconds by postgrey-1.27 at vger.kernel.org; Tue, 14 Apr 2020 22:12:05 EDT X-MailGates: (flag:3,DYNAMIC,RELAY,NOHOST:PASS)(compute_score:DELIVER,40 ,3) Received: from 192.168.8.21 by mg.richtek.com with MailGates ESMTP Server V3.0(24507:0:AUTH_RELAY) (envelope-from ); Wed, 15 Apr 2020 10:12:00 +0800 (CST) X-MailGates: (compute_score:DELIVER,40,3) Received: from 192.168.8.45 by mg.richtek.com with MailGates ESMTP Server V5.0(22429:0:AUTH_RELAY) (envelope-from ); Wed, 15 Apr 2020 10:03:29 +0800 (CST) Received: from ex1.rt.l (192.168.8.44) by ex2.rt.l (192.168.8.45) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 15 Apr 2020 10:03:29 +0800 Received: from ex1.rt.l ([fe80::557d:30f0:a3f8:3efc]) by ex1.rt.l ([fe80::557d:30f0:a3f8:3efc%15]) with mapi id 15.00.1497.000; Wed, 15 Apr 2020 10:03:29 +0800 From: =?big5?B?Z2VuZV9jaGVuKLOvq1SmdCk=?= To: Gene Chen , "lee.jones@linaro.org" , "matthias.bgg@gmail.com" CC: "linux-arm-kernel@lists.infradead.org" , "linux-mediatek@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "Wilma.Wu@mediatek.com" , =?big5?B?c2h1ZmFuX2xlZSin9a7Rpnwp?= , =?big5?B?Y3lfaHVhbmcotsCx0q3sKQ==?= Subject: RE: [PATCH resend v8] mfd: mt6360: add pmic mt6360 driver Thread-Topic: [PATCH resend v8] mfd: mt6360: add pmic mt6360 driver Thread-Index: AQHWDPJgJMDPmfMovkOtgpoZHbDwNah48RoQ Date: Wed, 15 Apr 2020 02:03:28 +0000 Message-ID: <0f60497f62d24a37a0530941d6eec258@ex1.rt.l> References: <1586273804-7722-1-git-send-email-gene.chen.richtek@gmail.com> In-Reply-To: <1586273804-7722-1-git-send-email-gene.chen.richtek@gmail.com> Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcdmVuZF9nZW5lX2NoZW4wMDFcYXBwZGF0YVxyb2FtaW5nXDA5ZDg0OWI2LTMyZDMtNGE0MC04NWVlLTZiODRiYTI5ZTM1Ylxtc2dzXG1zZy00MzAzOTFiNy03ZWJkLTExZWEtOTgzYi00NjM1MDAwMDAwMzFcYW1lLXRlc3RcNDMwMzkxYjgtN2ViZC0xMWVhLTk4M2ItNDYzNTAwMDAwMDMxYm9keS50eHQiIHN6PSIyODQyMiIgdD0iMTMyMzEzODk3OTQyNjU3NTQwIiBoPSJWY1paR2dGU09tK3JwcGU3cU5mTGFDMFF4V289IiBpZD0iIiBibD0iMCIgYm89IjEiLz48L21ldGE+ x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.22.162.25] Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgTGVlL01hdHRoaWFzLA0KDQpJIHRyeSB0byBmaXggc3ViamVjdCBhbmQgdXBkYXRlIGFnYWlu LCBwbGVhc2UgaGVscCB0byByZXZpZXcgaXQsIHRoYW5rcw0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogR2VuZSBDaGVuIFttYWlsdG86Z2VuZS5jaGVuLnJpY2h0ZWtAZ21haWwu Y29tXQ0KU2VudDogVHVlc2RheSwgQXByaWwgMDcsIDIwMjAgMTE6MzcgUE0NClRvOiBsZWUuam9u ZXNAbGluYXJvLm9yZzsgbWF0dGhpYXMuYmdnQGdtYWlsLmNvbQ0KQ2M6IGxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9y ZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgZ2VuZV9jaGVuKLOvq1SmdCkgPGdlbmVf Y2hlbkByaWNodGVrLmNvbT47IFdpbG1hLld1QG1lZGlhdGVrLmNvbTsgc2h1ZmFuX2xlZSin9a7R pnwpIDxzaHVmYW5fbGVlQHJpY2h0ZWsuY29tPjsgY3lfaHVhbmcotsCx0q3sKSA8Y3lfaHVhbmdA cmljaHRlay5jb20+DQpTdWJqZWN0OiBbUEFUQ0ggcmVzZW5kIHY4XSBtZmQ6IG10NjM2MDogYWRk IHBtaWMgbXQ2MzYwIGRyaXZlcg0KDQpBZGQgbWZkIGRyaXZlciBmb3IgbXQ2MzYwIHBtaWMgY2hp cCBpbmNsdWRlIEJhdHRlcnkgQ2hhcmdlci9VU0JfUEQvRmxhc2ggTEVEL1JHQiBMRUQvTERPL0J1 Y2sNCg0KU2lnbmVkLW9mZi1ieTogR2VuZSBDaGVuIDxnZW5lX2NoZW5AcmljaHRlay5jb20+DQot LS0NCiBkcml2ZXJzL21mZC9LY29uZmlnICAgICAgICB8ICAxMiArKw0KIGRyaXZlcnMvbWZkL01h a2VmaWxlICAgICAgIHwgICAxICsNCiBkcml2ZXJzL21mZC9tdDYzNjAtY29yZS5jICB8IDQyNSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBpbmNsdWRlL2xp bnV4L21mZC9tdDYzNjAuaCB8IDI0MCArKysrKysrKysrKysrKysrKysrKysrKysrDQogNCBmaWxl cyBjaGFuZ2VkLCA2NzggaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L21mZC9tdDYzNjAtY29yZS5jICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9tZmQv bXQ2MzYwLmgNCg0KY2hhbmdlbG9ncyBiZXR3ZWVuIHYxICYgdjINCi0gaW5jbHVkZSBtaXNzaW5n IGhlYWRlciBmaWxlDQoNCmNoYW5nZWxvZ3MgYmV0d2VlbiB2MiAmIHYzDQotIGFkZCBjaGFuZ2Vs b2dzDQoNCmNoYW5nZWxvZ3MgYmV0d2VlbiB2MyAmIHY0DQotIGZpeCBLY29uZmlnIGRlc2NyaXB0 aW9uDQotIHJlcGxhY2UgbXQ2MzYwX3BtdV9pbmZvIHdpdGggbXQ2MzYwX3BtdV9kYXRhDQotIHJl cGxhY2UgcHJvYmUgd2l0aCBwcm9iZV9uZXcNCi0gcmVtb3ZlIHVubmVjZXNzYXJ5IGlycV9jaGlw IHZhcmlhYmxlDQotIHJlbW92ZSBhbm5vdGF0aW9uDQotIHJlcGxhY2UgTVQ2MzYwX01GRF9DRUxM IHdpdGggT0ZfTUZEX0NFTEwNCg0KY2hhbmdlbG9ncyBiZXR3ZWVuIHY0ICYgdjUNCi0gcmVtb3Zl IHVubmVjZXNzYXJ5IHBhcnNlIGR0IGZ1bmN0aW9uDQotIHVzZSBkZXZtX2kyY19uZXdfZHVtbXlf ZGV2aWNlDQotIGFkZCBiYXNlLWNvbW1pdCBtZXNzYWdlDQoNCmNoYW5nZWxvZ3MgYmV0d2VlbiB2 NSAmIHY2DQotIHJldmlldyByZXR1cm4gdmFsdWUNCi0gcmVtb3ZlIGkyYyBpZF90YWJsZQ0KLSB1 c2UgR1BMIGxpY2Vuc2UgdjINCg0KY2hhbmdlbG9ncyBiZXR3ZWVuIHY2ICYgdjcNCi0gYWRkIGF1 dGhvciBkZXNjcmlwdGlvbg0KLSByZXBsYWNlIE1UNjM2MF9SRUdNQVBfSVJRX1JFRyBieSBSRUdN QVBfSVJRX1JFR19MSU5FDQotIHJlbW92ZSBtdDYzNjAtcHJpdmF0ZS5oDQoNCmNoYW5nZWxvZ3Mg YmV0d2VlbiB2NyAmIHY4DQotIGZpeCBrYnVpbGQgYXV0byByZWJvb3QgYnkgaW5jbHVkZSBpbnRl cnJ1cHQgaGVhZGVyDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9LY29uZmlnIGIvZHJpdmVy cy9tZmQvS2NvbmZpZyBpbmRleCAyYjIwMzI5Li4wZjhjMzQxIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9tZmQvS2NvbmZpZw0KKysrIGIvZHJpdmVycy9tZmQvS2NvbmZpZw0KQEAgLTg1Nyw2ICs4NTcs MTggQEAgY29uZmlnIE1GRF9NQVg4OTk4DQogICBhZGRpdGlvbmFsIGRyaXZlcnMgbXVzdCBiZSBl bmFibGVkIGluIG9yZGVyIHRvIHVzZSB0aGUgZnVuY3Rpb25hbGl0eQ0KICAgb2YgdGhlIGRldmlj ZS4NCg0KK2NvbmZpZyBNRkRfTVQ2MzYwDQordHJpc3RhdGUgIk1lZGlhdGVrIE1UNjM2MCBTdWJQ TUlDIg0KK3NlbGVjdCBNRkRfQ09SRQ0KK3NlbGVjdCBSRUdNQVBfSTJDDQorc2VsZWN0IFJFR01B UF9JUlENCitkZXBlbmRzIG9uIEkyQw0KK2hlbHANCisgIFNheSBZIGhlcmUgdG8gZW5hYmxlIE1U NjM2MCBQTVUvUE1JQy9MRE8gZnVuY3Rpb25hbCBzdXBwb3J0Lg0KKyAgUE1VIHBhcnQgaW5jbHVk ZXMgQ2hhcmdlciwgRmxhc2hsaWdodCwgUkdCIExFRA0KKyAgUE1JQyBwYXJ0IGluY2x1ZGVzIDIt Y2hhbm5lbCBCVUNLcyBhbmQgMi1jaGFubmVsIExET3MNCisgIExETyBwYXJ0IGluY2x1ZGVzIDQt Y2hhbm5lbCBMRE9zDQorDQogY29uZmlnIE1GRF9NVDYzOTcNCiB0cmlzdGF0ZSAiTWVkaWFUZWsg TVQ2Mzk3IFBNSUMgU3VwcG9ydCINCiBzZWxlY3QgTUZEX0NPUkUNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21mZC9NYWtlZmlsZSBiL2RyaXZlcnMvbWZkL01ha2VmaWxlIGluZGV4IGI4M2YxNzIuLjhj MzU4MTYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21mZC9NYWtlZmlsZQ0KKysrIGIvZHJpdmVycy9t ZmQvTWFrZWZpbGUNCkBAIC0yMzgsNiArMjM4LDcgQEAgb2JqLSQoQ09ORklHX0lOVEVMX1NPQ19Q TUlDKSs9IGludGVsLXNvYy1wbWljLm8NCiBvYmotJChDT05GSUdfSU5URUxfU09DX1BNSUNfQlhU V0MpKz0gaW50ZWxfc29jX3BtaWNfYnh0d2Mubw0KIG9iai0kKENPTkZJR19JTlRFTF9TT0NfUE1J Q19DSFRXQykrPSBpbnRlbF9zb2NfcG1pY19jaHR3Yy5vDQogb2JqLSQoQ09ORklHX0lOVEVMX1NP Q19QTUlDX0NIVERDX1RJKSs9IGludGVsX3NvY19wbWljX2NodGRjX3RpLm8NCitvYmotJChDT05G SUdfTUZEX01UNjM2MCkrPSBtdDYzNjAtY29yZS5vDQogbXQ2Mzk3LW9ianM6PSBtdDYzOTctY29y ZS5vIG10NjM5Ny1pcnEubw0KIG9iai0kKENPTkZJR19NRkRfTVQ2Mzk3KSs9IG10NjM5Ny5vDQog b2JqLSQoQ09ORklHX0lOVEVMX1NPQ19QTUlDX01SRkxEKSs9IGludGVsX3NvY19wbWljX21yZmxk Lm8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tdDYzNjAtY29yZS5jIGIvZHJpdmVycy9tZmQv bXQ2MzYwLWNvcmUuYyBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwLi5kMTE2OGY4 DQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL21mZC9tdDYzNjAtY29yZS5jDQpAQCAtMCww ICsxLDQyNSBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLyoNCisg KiBDb3B5cmlnaHQgKGMpIDIwMTkgTWVkaWFUZWsgSW5jLg0KKyAqDQorICogQXV0aG9yOiBHZW5l IENoZW4gPGdlbmVfY2hlbkByaWNodGVrLmNvbT4gICovDQorDQorI2luY2x1ZGUgPGxpbnV4L2ky Yy5oPg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVw dC5oPg0KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCisjaW5jbHVkZSA8bGludXgvbWZkL2Nv cmUuaD4NCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQorI2luY2x1ZGUgPGxpbnV4L29mX2ly cS5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPg0KKyNpbmNsdWRlIDxsaW51eC92 ZXJzaW9uLmg+DQorDQorI2luY2x1ZGUgPGxpbnV4L21mZC9tdDYzNjAuaD4NCisNCisvKiByZWcg MCAtPiAwIH4gNyAqLw0KKyNkZWZpbmUgTVQ2MzYwX0NIR19UUkVHX0VWVCg0KQ0KKyNkZWZpbmUg TVQ2MzYwX0NIR19BSUNSX0VWVCg1KQ0KKyNkZWZpbmUgTVQ2MzYwX0NIR19NSVZSX0VWVCg2KQ0K KyNkZWZpbmUgTVQ2MzYwX1BXUl9SRFlfRVZUKDcpDQorLyogUkVHIDEgLT4gOCB+IDE1ICovDQor I2RlZmluZSBNVDYzNjBfQ0hHX0JBVFNZU1VWX0VWVCg5KQ0KKyNkZWZpbmUgTVQ2MzYwX0ZMRURf Q0hHX1ZJTk9WUF9FVlQoMTEpDQorI2RlZmluZSBNVDYzNjBfQ0hHX1ZTWVNVVl9FVlQoMTIpDQor I2RlZmluZSBNVDYzNjBfQ0hHX1ZTWVNPVl9FVlQoMTMpDQorI2RlZmluZSBNVDYzNjBfQ0hHX1ZC QVRPVl9FVlQoMTQpDQorI2RlZmluZSBNVDYzNjBfQ0hHX1ZCVVNPVl9FVlQoMTUpDQorLyogUkVH IDIgLT4gMTYgfiAyMyAqLw0KKy8qIFJFRyAzIC0+IDI0IH4gMzEgKi8NCisjZGVmaW5lIE1UNjM2 MF9XRF9QTVVfREVUKDI1KQ0KKyNkZWZpbmUgTVQ2MzYwX1dEX1BNVV9ET05FKDI2KQ0KKyNkZWZp bmUgTVQ2MzYwX0NIR19UTVJJKDI3KQ0KKyNkZWZpbmUgTVQ2MzYwX0NIR19BRFBCQURJKDI5KQ0K KyNkZWZpbmUgTVQ2MzYwX0NIR19SVlBJKDMwKQ0KKyNkZWZpbmUgTVQ2MzYwX09UUEkoMzEpDQor LyogUkVHIDQgLT4gMzIgfiAzOSAqLw0KKyNkZWZpbmUgTVQ2MzYwX0NIR19BSUNDTUVBU0woMzIp DQorI2RlZmluZSBNVDYzNjBfQ0hHREVUX0RPTkVJKDM0KQ0KKyNkZWZpbmUgTVQ2MzYwX1dEVE1S SSgzNSkNCisjZGVmaW5lIE1UNjM2MF9TU0ZJTklTSEkoMzYpDQorI2RlZmluZSBNVDYzNjBfQ0hH X1JFQ0hHSSgzNykNCisjZGVmaW5lIE1UNjM2MF9DSEdfVEVSTUkoMzgpDQorI2RlZmluZSBNVDYz NjBfQ0hHX0lFT0NJKDM5KQ0KKy8qIFJFRyA1IC0+IDQwIH4gNDcgKi8NCisjZGVmaW5lIE1UNjM2 MF9QVU1QWF9ET05FSSg0MCkNCisjZGVmaW5lIE1UNjM2MF9CQVRfT1ZQX0FEQ19FVlQoNDEpDQor I2RlZmluZSBNVDYzNjBfVFlQRUNfT1RQX0VWVCg0MikNCisjZGVmaW5lIE1UNjM2MF9BRENfV0FL RVVQX0VWVCg0MykNCisjZGVmaW5lIE1UNjM2MF9BRENfRE9ORUkoNDQpDQorI2RlZmluZSBNVDYz NjBfQlNUX0JBVFVWSSg0NSkNCisjZGVmaW5lIE1UNjM2MF9CU1RfVkJVU09WSSg0NikNCisjZGVm aW5lIE1UNjM2MF9CU1RfT0xQSSg0NykNCisvKiBSRUcgNiAtPiA0OCB+IDU1ICovDQorI2RlZmlu ZSBNVDYzNjBfQVRUQUNIX0koNDgpDQorI2RlZmluZSBNVDYzNjBfREVUQUNIX0koNDkpDQorI2Rl ZmluZSBNVDYzNjBfUUMzMF9TVFBET05FKDUxKQ0KKyNkZWZpbmUgTVQ2MzYwX1FDX1ZCVVNERVRf RE9ORSg1MikNCisjZGVmaW5lIE1UNjM2MF9IVkRDUF9ERVQoNTMpDQorI2RlZmluZSBNVDYzNjBf Q0hHREVUSSg1NCkNCisjZGVmaW5lIE1UNjM2MF9EQ0RUSSg1NSkNCisvKiBSRUcgNyAtPiA1NiB+ IDYzICovDQorI2RlZmluZSBNVDYzNjBfRk9EX0RPTkVfRVZUKDU2KQ0KKyNkZWZpbmUgTVQ2MzYw X0ZPRF9PVl9FVlQoNTcpDQorI2RlZmluZSBNVDYzNjBfQ0hSREVUX1VWUF9FVlQoNTgpDQorI2Rl ZmluZSBNVDYzNjBfQ0hSREVUX09WUF9FVlQoNTkpDQorI2RlZmluZSBNVDYzNjBfQ0hSREVUX0VY VF9FVlQoNjApDQorI2RlZmluZSBNVDYzNjBfRk9EX0xSX0VWVCg2MSkNCisjZGVmaW5lIE1UNjM2 MF9GT0RfSFJfRVZUKDYyKQ0KKyNkZWZpbmUgTVQ2MzYwX0ZPRF9ESVNDSEdfRkFJTF9FVlQoNjMp DQorLyogUkVHIDggLT4gNjQgfiA3MSAqLw0KKyNkZWZpbmUgTVQ2MzYwX1VTQklEX0VWVCg2NCkN CisjZGVmaW5lIE1UNjM2MF9BUFdEVFJTVF9FVlQoNjUpDQorI2RlZmluZSBNVDYzNjBfRU5fRVZU KDY2KQ0KKyNkZWZpbmUgTVQ2MzYwX1FPTkJfUlNUX0VWVCg2NykNCisjZGVmaW5lIE1UNjM2MF9N UlNUQl9FVlQoNjgpDQorI2RlZmluZSBNVDYzNjBfT1RQX0VWVCg2OSkNCisjZGVmaW5lIE1UNjM2 MF9WRERBT1ZfRVZUKDcwKQ0KKyNkZWZpbmUgTVQ2MzYwX1NZU1VWX0VWVCg3MSkNCisvKiBSRUcg OSAtPiA3MiB+IDc5ICovDQorI2RlZmluZSBNVDYzNjBfRkxFRF9TVFJCUElOX0VWVCg3MikNCisj ZGVmaW5lIE1UNjM2MF9GTEVEX1RPUlBJTl9FVlQoNzMpDQorI2RlZmluZSBNVDYzNjBfRkxFRF9U WF9FVlQoNzQpDQorI2RlZmluZSBNVDYzNjBfRkxFRF9MVkZfRVZUKDc1KQ0KKyNkZWZpbmUgTVQ2 MzYwX0ZMRUQyX1NIT1JUX0VWVCg3OCkNCisjZGVmaW5lIE1UNjM2MF9GTEVEMV9TSE9SVF9FVlQo NzkpDQorLyogUkVHIDEwIC0+IDgwIH4gODcgKi8NCisjZGVmaW5lIE1UNjM2MF9GTEVEMl9TVFJC X0VWVCg4MCkNCisjZGVmaW5lIE1UNjM2MF9GTEVEMV9TVFJCX0VWVCg4MSkNCisjZGVmaW5lIE1U NjM2MF9GTEVEMl9TVFJCX1RPX0VWVCg4MikNCisjZGVmaW5lIE1UNjM2MF9GTEVEMV9TVFJCX1RP X0VWVCg4MykNCisjZGVmaW5lIE1UNjM2MF9GTEVEMl9UT1JfRVZUKDg0KQ0KKyNkZWZpbmUgTVQ2 MzYwX0ZMRUQxX1RPUl9FVlQoODUpDQorLyogUkVHIDExIC0+IDg4IH4gOTUgKi8NCisvKiBSRUcg MTIgLT4gOTYgfiAxMDMgKi8NCisjZGVmaW5lIE1UNjM2MF9CVUNLMV9QR0JfRVZUKDk2KQ0KKyNk ZWZpbmUgTVQ2MzYwX0JVQ0sxX09DX0VWVCgxMDApDQorI2RlZmluZSBNVDYzNjBfQlVDSzFfT1Zf RVZUKDEwMSkNCisjZGVmaW5lIE1UNjM2MF9CVUNLMV9VVl9FVlQoMTAyKQ0KKy8qIFJFRyAxMyAt PiAxMDQgfiAxMTEgKi8NCisjZGVmaW5lIE1UNjM2MF9CVUNLMl9QR0JfRVZUKDEwNCkNCisjZGVm aW5lIE1UNjM2MF9CVUNLMl9PQ19FVlQoMTA4KQ0KKyNkZWZpbmUgTVQ2MzYwX0JVQ0syX09WX0VW VCgxMDkpDQorI2RlZmluZSBNVDYzNjBfQlVDSzJfVVZfRVZUKDExMCkNCisvKiBSRUcgMTQgLT4g MTEyIH4gMTE5ICovDQorI2RlZmluZSBNVDYzNjBfTERPMV9PQ19FVlQoMTEzKQ0KKyNkZWZpbmUg TVQ2MzYwX0xETzJfT0NfRVZUKDExNCkNCisjZGVmaW5lIE1UNjM2MF9MRE8zX09DX0VWVCgxMTUp DQorI2RlZmluZSBNVDYzNjBfTERPNV9PQ19FVlQoMTE3KQ0KKyNkZWZpbmUgTVQ2MzYwX0xETzZf T0NfRVZUKDExOCkNCisjZGVmaW5lIE1UNjM2MF9MRE83X09DX0VWVCgxMTkpDQorLyogUkVHIDE1 IC0+IDEyMCB+IDEyNyAqLw0KKyNkZWZpbmUgTVQ2MzYwX0xETzFfUEdCX0VWVCgxMjEpDQorI2Rl ZmluZSBNVDYzNjBfTERPMl9QR0JfRVZUKDEyMikNCisjZGVmaW5lIE1UNjM2MF9MRE8zX1BHQl9F VlQoMTIzKQ0KKyNkZWZpbmUgTVQ2MzYwX0xETzVfUEdCX0VWVCgxMjUpDQorI2RlZmluZSBNVDYz NjBfTERPNl9QR0JfRVZUKDEyNikNCisjZGVmaW5lIE1UNjM2MF9MRE83X1BHQl9FVlQoMTI3KQ0K Kw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2lycSBtdDYzNjBfcG11X2lycXNbXSA9ICB7 DQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX1RSRUdfRVZULCA4KSwNCitSRUdNQVBf SVJRX1JFR19MSU5FKE1UNjM2MF9DSEdfQUlDUl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJ TkUoTVQ2MzYwX0NIR19NSVZSX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBf UFdSX1JEWV9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0NIR19CQVRTWVNV Vl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZMRURfQ0hHX1ZJTk9WUF9F VlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0NIR19WU1lTVVZfRVZULCA4KSwN CitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9DSEdfVlNZU09WX0VWVCwgOCksDQorUkVHTUFQ X0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX1ZCQVRPVl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVH X0xJTkUoTVQ2MzYwX0NIR19WQlVTT1ZfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1U NjM2MF9XRF9QTVVfREVULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9XRF9QTVVf RE9ORSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX1RNUkksIDgpLA0KK1JF R01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0NIR19BRFBCQURJLCA4KSwNCitSRUdNQVBfSVJRX1JF R19MSU5FKE1UNjM2MF9DSEdfUlZQSSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBf T1RQSSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX0FJQ0NNRUFTTCwgOCks DQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHREVUX0RPTkVJLCA4KSwNCitSRUdNQVBf SVJRX1JFR19MSU5FKE1UNjM2MF9XRFRNUkksIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2 MzYwX1NTRklOSVNISSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX1JFQ0hH SSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQ0hHX1RFUk1JLCA4KSwNCitSRUdN QVBfSVJRX1JFR19MSU5FKE1UNjM2MF9DSEdfSUVPQ0ksIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJ TkUoTVQ2MzYwX1BVTVBYX0RPTkVJLCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9D SEdfVFJFR19FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0JBVF9PVlBfQURD X0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfVFlQRUNfT1RQX0VWVCwgOCks DQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQURDX1dBS0VVUF9FVlQsIDgpLA0KK1JFR01B UF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0FEQ19ET05FSSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElO RShNVDYzNjBfQlNUX0JBVFVWSSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQlNU X1ZCVVNPVkksIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0JTVF9PTFBJLCA4KSwN CitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9BVFRBQ0hfSSwgOCksDQorUkVHTUFQX0lSUV9S RUdfTElORShNVDYzNjBfREVUQUNIX0ksIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYw X1FDMzBfU1RQRE9ORSwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfUUNfVkJVU0RF VF9ET05FLCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9IVkRDUF9ERVQsIDgpLA0K K1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0NIR0RFVEksIDgpLA0KK1JFR01BUF9JUlFfUkVH X0xJTkUoTVQ2MzYwX0RDRFRJLCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9GT0Rf RE9ORV9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZPRF9PVl9FVlQsIDgp LA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0NIUkRFVF9VVlBfRVZULCA4KSwNCitSRUdN QVBfSVJRX1JFR19MSU5FKE1UNjM2MF9DSFJERVRfT1ZQX0VWVCwgOCksDQorUkVHTUFQX0lSUV9S RUdfTElORShNVDYzNjBfQ0hSREVUX0VYVF9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUo TVQ2MzYwX0ZPRF9MUl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZPRF9I Ul9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZPRF9ESVNDSEdfRkFJTF9F VlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX1VTQklEX0VWVCwgOCksDQorUkVH TUFQX0lSUV9SRUdfTElORShNVDYzNjBfQVBXRFRSU1RfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JF R19MSU5FKE1UNjM2MF9FTl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX1FP TkJfUlNUX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfTVJTVEJfRVZULCA4 KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9PVFBfRVZULCA4KSwNCitSRUdNQVBfSVJR X1JFR19MSU5FKE1UNjM2MF9WRERBT1ZfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1U NjM2MF9TWVNVVl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZMRURfU1RS QlBJTl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZMRURfVE9SUElOX0VW VCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfRkxFRF9UWF9FVlQsIDgpLA0KK1JF R01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZMRURfTFZGX0VWVCwgOCksDQorUkVHTUFQX0lSUV9S RUdfTElORShNVDYzNjBfRkxFRDJfU0hPUlRfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5F KE1UNjM2MF9GTEVEMV9TSE9SVF9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYw X0ZMRUQyX1NUUkJfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9GTEVEMV9T VFJCX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfRkxFRDJfU1RSQl9UT19F VlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0ZMRUQxX1NUUkJfVE9fRVZULCA4 KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9GTEVEMl9UT1JfRVZULCA4KSwNCitSRUdN QVBfSVJRX1JFR19MSU5FKE1UNjM2MF9GTEVEMV9UT1JfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JF R19MSU5FKE1UNjM2MF9CVUNLMV9QR0JfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1U NjM2MF9CVUNLMV9PQ19FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0JVQ0sx X09WX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfQlVDSzFfVVZfRVZULCA4 KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9CVUNLMl9QR0JfRVZULCA4KSwNCitSRUdN QVBfSVJRX1JFR19MSU5FKE1UNjM2MF9CVUNLMl9PQ19FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVH X0xJTkUoTVQ2MzYwX0JVQ0syX09WX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYz NjBfQlVDSzJfVVZfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9MRE8xX09D X0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfTERPMl9PQ19FVlQsIDgpLA0K K1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0xETzNfT0NfRVZULCA4KSwNCitSRUdNQVBfSVJR X1JFR19MSU5FKE1UNjM2MF9MRE81X09DX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShN VDYzNjBfTERPNl9PQ19FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0xETzdf T0NfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19MSU5FKE1UNjM2MF9MRE8xX1BHQl9FVlQsIDgp LA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYwX0xETzJfUEdCX0VWVCwgOCksDQorUkVHTUFQ X0lSUV9SRUdfTElORShNVDYzNjBfTERPM19QR0JfRVZULCA4KSwNCitSRUdNQVBfSVJRX1JFR19M SU5FKE1UNjM2MF9MRE81X1BHQl9FVlQsIDgpLA0KK1JFR01BUF9JUlFfUkVHX0xJTkUoTVQ2MzYw X0xETzZfUEdCX0VWVCwgOCksDQorUkVHTUFQX0lSUV9SRUdfTElORShNVDYzNjBfTERPN19QR0Jf RVZULCA4KSwgfTsNCisNCitzdGF0aWMgaW50IG10NjM2MF9wbXVfaGFuZGxlX3Bvc3RfaXJxKHZv aWQgKmlycV9kcnZfZGF0YSkgew0KK3N0cnVjdCBtdDYzNjBfcG11X2RhdGEgKm1wZCA9IGlycV9k cnZfZGF0YTsNCisNCityZXR1cm4gcmVnbWFwX3VwZGF0ZV9iaXRzKG1wZC0+cmVnbWFwLA0KK01U NjM2MF9QTVVfSVJRX1NFVCwgTVQ2MzYwX0lSUV9SRVRSSUcsIE1UNjM2MF9JUlFfUkVUUklHKTsg fQ0KKw0KK3N0YXRpYyBzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwIG10NjM2MF9wbXVfaXJxX2NoaXAg PSB7DQorLmlycXMgPSBtdDYzNjBfcG11X2lycXMsDQorLm51bV9pcnFzID0gQVJSQVlfU0laRSht dDYzNjBfcG11X2lycXMpLA0KKy5udW1fcmVncyA9IE1UNjM2MF9QTVVfSVJRX1JFR05VTSwNCisu bWFza19iYXNlID0gTVQ2MzYwX1BNVV9DSEdfTUFTSzEsDQorLnN0YXR1c19iYXNlID0gTVQ2MzYw X1BNVV9DSEdfSVJRMSwNCisuYWNrX2Jhc2UgPSBNVDYzNjBfUE1VX0NIR19JUlExLA0KKy5pbml0 X2Fja19tYXNrZWQgPSB0cnVlLA0KKy51c2VfYWNrID0gdHJ1ZSwNCisuaGFuZGxlX3Bvc3RfaXJx ID0gbXQ2MzYwX3BtdV9oYW5kbGVfcG9zdF9pcnEsIH07DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCByZWdtYXBfY29uZmlnIG10NjM2MF9wbXVfcmVnbWFwX2NvbmZpZyA9IHsNCisucmVnX2JpdHMg PSA4LA0KKy52YWxfYml0cyA9IDgsDQorLm1heF9yZWdpc3RlciA9IE1UNjM2MF9QTVVfTUFYUkVH LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCByZXNvdXJjZSBtdDYzNjBfYWRjX3Jlc291 cmNlc1tdID0gew0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9BRENfRE9ORUksICJhZGNf ZG9uZWkiKSwgfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHJlc291cmNlIG10NjM2MF9jaGdf cmVzb3VyY2VzW10gPSB7DQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIR19UUkVHX0VW VCwgImNoZ190cmVnX2V2dCIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9QV1JfUkRZ X0VWVCwgInB3cl9yZHlfZXZ0IiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIR19C QVRTWVNVVl9FVlQsICJjaGdfYmF0c3lzdXZfZXZ0IiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQo TVQ2MzYwX0NIR19WU1lTVVZfRVZULCAiY2hnX3ZzeXN1dl9ldnQiKSwNCitERUZJTkVfUkVTX0lS UV9OQU1FRChNVDYzNjBfQ0hHX1ZTWVNPVl9FVlQsICJjaGdfdnN5c292X2V2dCIpLA0KK0RFRklO RV9SRVNfSVJRX05BTUVEKE1UNjM2MF9DSEdfVkJBVE9WX0VWVCwgImNoZ192YmF0b3ZfZXZ0Iiks DQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIR19WQlVTT1ZfRVZULCAiY2hnX3ZidXNv dl9ldnQiKSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfQ0hHX0FJQ0NNRUFTTCwgImNo Z19haWNjbWVhc2wiKSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfV0RUTVJJLCAid2R0 bXJpIiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIR19SRUNIR0ksICJjaGdfcmVj aGdpIiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIR19URVJNSSwgImNoZ190ZXJt aSIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9DSEdfSUVPQ0ksICJjaGdfaWVvY2ki KSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfUFVNUFhfRE9ORUksICJwdW1weF9kb25l aSIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9BVFRBQ0hfSSwgImF0dGFjaF9pIiks DQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0NIUkRFVF9FWFRfRVZULCAiY2hyZGV0X2V4 dF9ldnQiKSwgfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHJlc291cmNlIG10NjM2MF9sZWRf cmVzb3VyY2VzW10gPSB7DQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0ZMRURfQ0hHX1ZJ Tk9WUF9FVlQsICJmbGVkX2NoZ192aW5vdnBfZXZ0IiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQo TVQ2MzYwX0ZMRURfTFZGX0VWVCwgImZsZWRfbHZmX2V2dCIpLA0KK0RFRklORV9SRVNfSVJRX05B TUVEKE1UNjM2MF9GTEVEMl9TSE9SVF9FVlQsICJmbGVkMl9zaG9ydF9ldnQiKSwNCitERUZJTkVf UkVTX0lSUV9OQU1FRChNVDYzNjBfRkxFRDFfU0hPUlRfRVZULCAiZmxlZDFfc2hvcnRfZXZ0Iiks DQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0ZMRUQyX1NUUkJfVE9fRVZULCAiZmxlZDJf c3RyYl90b19ldnQiKSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfRkxFRDFfU1RSQl9U T19FVlQsICJmbGVkMV9zdHJiX3RvX2V2dCIpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCByZXNvdXJjZSBtdDYzNjBfcG1pY19yZXNvdXJjZXNbXSA9IHsNCitERUZJTkVfUkVTX0lSUV9O QU1FRChNVDYzNjBfQlVDSzFfUEdCX0VWVCwgImJ1Y2sxX3BnYl9ldnQiKSwNCitERUZJTkVfUkVT X0lSUV9OQU1FRChNVDYzNjBfQlVDSzFfT0NfRVZULCAiYnVjazFfb2NfZXZ0IiksDQorREVGSU5F X1JFU19JUlFfTkFNRUQoTVQ2MzYwX0JVQ0sxX09WX0VWVCwgImJ1Y2sxX292X2V2dCIpLA0KK0RF RklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9CVUNLMV9VVl9FVlQsICJidWNrMV91dl9ldnQiKSwN CitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfQlVDSzJfUEdCX0VWVCwgImJ1Y2syX3BnYl9l dnQiKSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfQlVDSzJfT0NfRVZULCAiYnVjazJf b2NfZXZ0IiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0JVQ0syX09WX0VWVCwgImJ1 Y2syX292X2V2dCIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9CVUNLMl9VVl9FVlQs ICJidWNrMl91dl9ldnQiKSwNCitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfTERPNl9PQ19F VlQsICJsZG82X29jX2V2dCIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9MRE83X09D X0VWVCwgImxkbzdfb2NfZXZ0IiksDQorREVGSU5FX1JFU19JUlFfTkFNRUQoTVQ2MzYwX0xETzZf UEdCX0VWVCwgImxkbzZfcGdiX2V2dCIpLA0KK0RFRklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9M RE83X1BHQl9FVlQsICJsZG83X3BnYl9ldnQiKSwgfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IHJlc291cmNlIG10NjM2MF9sZG9fcmVzb3VyY2VzW10gPSB7DQorREVGSU5FX1JFU19JUlFfTkFN RUQoTVQ2MzYwX0xETzFfT0NfRVZULCAibGRvMV9vY19ldnQiKSwNCitERUZJTkVfUkVTX0lSUV9O QU1FRChNVDYzNjBfTERPMl9PQ19FVlQsICJsZG8yX29jX2V2dCIpLA0KK0RFRklORV9SRVNfSVJR X05BTUVEKE1UNjM2MF9MRE8zX09DX0VWVCwgImxkbzNfb2NfZXZ0IiksDQorREVGSU5FX1JFU19J UlFfTkFNRUQoTVQ2MzYwX0xETzVfT0NfRVZULCAibGRvNV9vY19ldnQiKSwNCitERUZJTkVfUkVT X0lSUV9OQU1FRChNVDYzNjBfTERPMV9QR0JfRVZULCAibGRvMV9wZ2JfZXZ0IiksDQorREVGSU5F X1JFU19JUlFfTkFNRUQoTVQ2MzYwX0xETzJfUEdCX0VWVCwgImxkbzJfcGdiX2V2dCIpLA0KK0RF RklORV9SRVNfSVJRX05BTUVEKE1UNjM2MF9MRE8zX1BHQl9FVlQsICJsZG8zX3BnYl9ldnQiKSwN CitERUZJTkVfUkVTX0lSUV9OQU1FRChNVDYzNjBfTERPNV9QR0JfRVZULCAibGRvNV9wZ2JfZXZ0 IiksIH07DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtZmRfY2VsbCBtdDYzNjBfZGV2c1tdID0g ew0KK09GX01GRF9DRUxMKCJtdDYzNjBfYWRjIiwgbXQ2MzYwX2FkY19yZXNvdXJjZXMsDQorICAg IE5VTEwsIDAsIDAsICJtZWRpYXRlayxtdDYzNjBfYWRjIiksDQorT0ZfTUZEX0NFTEwoIm10NjM2 MF9jaGciLCBtdDYzNjBfY2hnX3Jlc291cmNlcywNCisgICAgTlVMTCwgMCwgMCwgIm1lZGlhdGVr LG10NjM2MF9jaGciKSwNCitPRl9NRkRfQ0VMTCgibXQ2MzYwX2xlZCIsIG10NjM2MF9sZWRfcmVz b3VyY2VzLA0KKyAgICBOVUxMLCAwLCAwLCAibWVkaWF0ZWssbXQ2MzYwX2xlZCIpLA0KK09GX01G RF9DRUxMKCJtdDYzNjBfcG1pYyIsIG10NjM2MF9wbWljX3Jlc291cmNlcywNCisgICAgTlVMTCwg MCwgMCwgIm1lZGlhdGVrLG10NjM2MF9wbWljIiksDQorT0ZfTUZEX0NFTEwoIm10NjM2MF9sZG8i LCBtdDYzNjBfbGRvX3Jlc291cmNlcywNCisgICAgTlVMTCwgMCwgMCwgIm1lZGlhdGVrLG10NjM2 MF9sZG8iKSwNCitPRl9NRkRfQ0VMTCgibXQ2MzYwX3RjcGMiLCBOVUxMLA0KKyAgICBOVUxMLCAw LCAwLCAibWVkaWF0ZWssbXQ2MzYwX3RjcGMiKSwgfTsNCisNCitzdGF0aWMgY29uc3QgdW5zaWdu ZWQgc2hvcnQgbXQ2MzYwX3NsYXZlX2FkZHJbTVQ2MzYwX1NMQVZFX01BWF0gPSB7DQorTVQ2MzYw X1BNVV9TTEFWRUlELA0KK01UNjM2MF9QTUlDX1NMQVZFSUQsDQorTVQ2MzYwX0xET19TTEFWRUlE LA0KK01UNjM2MF9UQ1BDX1NMQVZFSUQsDQorfTsNCisNCitzdGF0aWMgaW50IG10NjM2MF9wbXVf cHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkgew0KK3N0cnVjdCBtdDYzNjBfcG11X2Rh dGEgKm1wZDsNCit1bnNpZ25lZCBpbnQgcmVnX2RhdGE7DQoraW50IGksIHJldDsNCisNCittcGQg PSBkZXZtX2t6YWxsb2MoJmNsaWVudC0+ZGV2LCBzaXplb2YoKm1wZCksIEdGUF9LRVJORUwpOw0K K2lmICghbXBkKQ0KK3JldHVybiAtRU5PTUVNOw0KKw0KK21wZC0+ZGV2ID0gJmNsaWVudC0+ZGV2 Ow0KK2kyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIG1wZCk7DQorDQorbXBkLT5yZWdtYXAgPSBk ZXZtX3JlZ21hcF9pbml0X2kyYyhjbGllbnQsICZtdDYzNjBfcG11X3JlZ21hcF9jb25maWcpOw0K K2lmIChJU19FUlIobXBkLT5yZWdtYXApKSB7DQorZGV2X2VycigmY2xpZW50LT5kZXYsICJGYWls ZWQgdG8gcmVnaXN0ZXIgcmVnbWFwXG4iKTsNCityZXR1cm4gUFRSX0VSUihtcGQtPnJlZ21hcCk7 DQorfQ0KKw0KK3JldCA9IHJlZ21hcF9yZWFkKG1wZC0+cmVnbWFwLCBNVDYzNjBfUE1VX0RFVl9J TkZPLCAmcmVnX2RhdGEpOw0KK2lmIChyZXQpIHsNCitkZXZfZXJyKCZjbGllbnQtPmRldiwgIkRl dmljZSBub3QgZm91bmRcbiIpOw0KK3JldHVybiByZXQ7DQorfQ0KKw0KK21wZC0+Y2hpcF9yZXYg PSByZWdfZGF0YSAmIENISVBfUkVWX01BU0s7DQoraWYgKG1wZC0+Y2hpcF9yZXYgIT0gQ0hJUF9W RU5fTVQ2MzYwKSB7DQorZGV2X2VycigmY2xpZW50LT5kZXYsICJEZXZpY2Ugbm90IHN1cHBvcnRl ZFxuIik7DQorcmV0dXJuIC1FTk9ERVY7DQorfQ0KKw0KK210NjM2MF9wbXVfaXJxX2NoaXAuaXJx X2Rydl9kYXRhID0gbXBkOw0KK3JldCA9IGRldm1fcmVnbWFwX2FkZF9pcnFfY2hpcCgmY2xpZW50 LT5kZXYsIG1wZC0+cmVnbWFwLCBjbGllbnQtPmlycSwNCisgICAgICAgSVJRRl9UUklHR0VSX0ZB TExJTkcsIDAsDQorICAgICAgICZtdDYzNjBfcG11X2lycV9jaGlwLCAmbXBkLT5pcnFfZGF0YSk7 DQoraWYgKHJldCkgew0KK2Rldl9lcnIoJmNsaWVudC0+ZGV2LCAiRmFpbGVkIHRvIGFkZCBSZWdt YXAgSVJRIENoaXBcbiIpOw0KK3JldHVybiByZXQ7DQorfQ0KKw0KK21wZC0+aTJjWzBdID0gY2xp ZW50Ow0KK2ZvciAoaSA9IDE7IGkgPCBNVDYzNjBfU0xBVkVfTUFYOyBpKyspIHsNCittcGQtPmky Y1tpXSA9IGRldm1faTJjX25ld19kdW1teV9kZXZpY2UoJmNsaWVudC0+ZGV2LA0KK2NsaWVudC0+ YWRhcHRlciwNCittdDYzNjBfc2xhdmVfYWRkcltpXSk7DQoraWYgKElTX0VSUihtcGQtPmkyY1tp XSkpIHsNCitkZXZfZXJyKCZjbGllbnQtPmRldiwNCisiRmFpbGVkIHRvIGdldCBuZXcgZHVtbXkg STJDIGRldmljZSBmb3IgYWRkcmVzcyAweCV4IiwNCittdDYzNjBfc2xhdmVfYWRkcltpXSk7DQor cmV0dXJuIFBUUl9FUlIobXBkLT5pMmNbaV0pOw0KK30NCitpMmNfc2V0X2NsaWVudGRhdGEobXBk LT5pMmNbaV0sIG1wZCk7DQorfQ0KKw0KK3JldCA9IGRldm1fbWZkX2FkZF9kZXZpY2VzKCZjbGll bnQtPmRldiwgUExBVEZPUk1fREVWSURfQVVUTywNCisgICBtdDYzNjBfZGV2cywgQVJSQVlfU0la RShtdDYzNjBfZGV2cyksIE5VTEwsDQorICAgMCwgcmVnbWFwX2lycV9nZXRfZG9tYWluKG1wZC0+ aXJxX2RhdGEpKTsNCitpZiAocmV0KSB7DQorZGV2X2VycigmY2xpZW50LT5kZXYsDQorIkZhaWxl ZCB0byByZWdpc3RlciBzdWJvcmRpbmF0ZSBkZXZpY2VzXG4iKTsNCityZXR1cm4gcmV0Ow0KK30N CisNCityZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBfX21heWJlX3VudXNlZCBtdDYzNjBf cG11X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KSB7DQorc3RydWN0IGkyY19jbGllbnQgKmky YyA9IHRvX2kyY19jbGllbnQoZGV2KTsNCisNCitpZiAoZGV2aWNlX21heV93YWtldXAoZGV2KSkN CitlbmFibGVfaXJxX3dha2UoaTJjLT5pcnEpOw0KKw0KK3JldHVybiAwOw0KK30NCisNCitzdGF0 aWMgaW50IF9fbWF5YmVfdW51c2VkIG10NjM2MF9wbXVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRl dikgew0KKw0KK3N0cnVjdCBpMmNfY2xpZW50ICppMmMgPSB0b19pMmNfY2xpZW50KGRldik7DQor DQoraWYgKGRldmljZV9tYXlfd2FrZXVwKGRldikpDQorZGlzYWJsZV9pcnFfd2FrZShpMmMtPmly cSk7DQorDQorcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBTSU1QTEVfREVWX1BNX09QUyhtdDYz NjBfcG11X3BtX29wcywNCisgbXQ2MzYwX3BtdV9zdXNwZW5kLCBtdDYzNjBfcG11X3Jlc3VtZSk7 DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgX19tYXliZV91bnVzZWQgbXQ2 MzYwX3BtdV9vZl9pZFtdID0gew0KK3sgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ2MzYwX3Bt dSIsIH0sDQore30sDQorfTsNCitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtdDYzNjBfcG11X29m X2lkKTsNCisNCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgbXQ2MzYwX3BtdV9kcml2ZXIgPSB7 DQorLmRyaXZlciA9IHsNCisucG0gPSAmbXQ2MzYwX3BtdV9wbV9vcHMsDQorLm9mX21hdGNoX3Rh YmxlID0gb2ZfbWF0Y2hfcHRyKG10NjM2MF9wbXVfb2ZfaWQpLA0KK30sDQorLnByb2JlX25ldyA9 IG10NjM2MF9wbXVfcHJvYmUsDQorfTsNCittb2R1bGVfaTJjX2RyaXZlcihtdDYzNjBfcG11X2Ry aXZlcik7DQorDQorTU9EVUxFX0FVVEhPUigiR2VuZSBDaGVuIDxnZW5lX2NoZW5AcmljaHRlay5j b20+Iik7DQorTU9EVUxFX0RFU0NSSVBUSU9OKCJNVDYzNjAgUE1VIEkyQyBEcml2ZXIiKTsgTU9E VUxFX0xJQ0VOU0UoIkdQTCB2MiIpOw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWZkL210 NjM2MC5oIGIvaW5jbHVkZS9saW51eC9tZmQvbXQ2MzYwLmggbmV3IGZpbGUgbW9kZSAxMDA2NDQg aW5kZXggMDAwMDAwMC4uYzAzZTZkMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvaW5jbHVkZS9saW51 eC9tZmQvbXQ2MzYwLmgNCkBAIC0wLDAgKzEsMjQwIEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAgKi8NCisvKg0KKyAqIENvcHlyaWdodCAoYykgMjAxOSBNZWRpYVRlayBJ bmMuDQorICovDQorDQorI2lmbmRlZiBfX01UNjM2MF9IX18NCisjZGVmaW5lIF9fTVQ2MzYwX0hf Xw0KKw0KKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4NCisNCitlbnVtIHsNCitNVDYzNjBfU0xB VkVfUE1VID0gMCwNCitNVDYzNjBfU0xBVkVfUE1JQywNCitNVDYzNjBfU0xBVkVfTERPLA0KK01U NjM2MF9TTEFWRV9UQ1BDLA0KK01UNjM2MF9TTEFWRV9NQVgsDQorfTsNCisNCisjZGVmaW5lIE1U NjM2MF9QTVVfU0xBVkVJRCgweDM0KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNSUNfU0xBVkVJRCgweDFB KQ0KKyNkZWZpbmUgTVQ2MzYwX0xET19TTEFWRUlEKDB4NjQpDQorI2RlZmluZSBNVDYzNjBfVENQ Q19TTEFWRUlEKDB4NEUpDQorDQorc3RydWN0IG10NjM2MF9wbXVfZGF0YSB7DQorc3RydWN0IGky Y19jbGllbnQgKmkyY1tNVDYzNjBfU0xBVkVfTUFYXTsNCitzdHJ1Y3QgZGV2aWNlICpkZXY7DQor c3RydWN0IHJlZ21hcCAqcmVnbWFwOw0KK3N0cnVjdCByZWdtYXBfaXJxX2NoaXBfZGF0YSAqaXJx X2RhdGE7DQordW5zaWduZWQgaW50IGNoaXBfcmV2Ow0KK307DQorDQorLyogUE1VIHJlZ2lzdGVy IGRlZmluaW5pdGlvbiAqLw0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9ERVZfSU5GTygweDAwKQ0KKyNk ZWZpbmUgTVQ2MzYwX1BNVV9DT1JFX0NUUkwxKDB4MDEpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JT VDEoMHgwMikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ1JDRU4oMHgwMykNCisjZGVmaW5lIE1UNjM2 MF9QTVVfUlNUX1BBU19DT0RFMSgweDA0KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SU1RfUEFTX0NP REUyKDB4MDUpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NPUkVfQ1RSTDIoMHgwNikNCisjZGVmaW5l IE1UNjM2MF9QTVVfVE1fUEFTX0NPREUxKDB4MDcpDQorI2RlZmluZSBNVDYzNjBfUE1VX1RNX1BB U19DT0RFMigweDA4KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9UTV9QQVNfQ09ERTMoMHgwOSkNCisj ZGVmaW5lIE1UNjM2MF9QTVVfVE1fUEFTX0NPREU0KDB4MEEpDQorI2RlZmluZSBNVDYzNjBfUE1V X0lSUV9JTkQoMHgwQikNCisjZGVmaW5lIE1UNjM2MF9QTVVfSVJRX01BU0soMHgwQykNCisjZGVm aW5lIE1UNjM2MF9QTVVfSVJRX1NFVCgweDBEKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9TSEROX0NU UkwoMHgwRSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfVE1fSU5GKDB4MEYpDQorI2RlZmluZSBNVDYz NjBfUE1VX0kyQ19DVFJMKDB4MTApDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMMSgweDEx KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfQ1RSTDIoMHgxMikNCisjZGVmaW5lIE1UNjM2MF9Q TVVfQ0hHX0NUUkwzKDB4MTMpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMNCgweDE0KQ0K KyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfQ1RSTDUoMHgxNSkNCisjZGVmaW5lIE1UNjM2MF9QTVVf Q0hHX0NUUkw2KDB4MTYpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMNygweDE3KQ0KKyNk ZWZpbmUgTVQ2MzYwX1BNVV9DSEdfQ1RSTDgoMHgxOCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hH X0NUUkw5KDB4MTkpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMMTAoMHgxQSkNCisjZGVm aW5lIE1UNjM2MF9QTVVfQ0hHX0NUUkwxMSgweDFCKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdf Q1RSTDEyKDB4MUMpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMMTMoMHgxRCkNCisjZGVm aW5lIE1UNjM2MF9QTVVfQ0hHX0NUUkwxNCgweDFFKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdf Q1RSTDE1KDB4MUYpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19DVFJMMTYoMHgyMCkNCisjZGVm aW5lIE1UNjM2MF9QTVVfQ0hHX0FJQ0NfUkVTVUxUKDB4MjEpDQorI2RlZmluZSBNVDYzNjBfUE1V X0RFVklDRV9UWVBFKDB4MjIpDQorI2RlZmluZSBNVDYzNjBfUE1VX1FDX0NPTlRST0wxKDB4MjMp DQorI2RlZmluZSBNVDYzNjBfUE1VX1FDX0NPTlRST0wyKDB4MjQpDQorI2RlZmluZSBNVDYzNjBf UE1VX1FDMzBfQ09OVFJPTDEoMHgyNSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUUMzMF9DT05UUk9M MigweDI2KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9VU0JfU1RBVFVTMSgweDI3KQ0KKyNkZWZpbmUg TVQ2MzYwX1BNVV9RQ19TVEFUVVMxKDB4MjgpDQorI2RlZmluZSBNVDYzNjBfUE1VX1FDX1NUQVRV UzIoMHgyOSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX1BVTVAoMHgyQSkNCisjZGVmaW5lIE1U NjM2MF9QTVVfQ0hHX0NUUkwxNygweDJCKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfQ1RSTDE4 KDB4MkMpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIUkRFVF9DVFJMMSgweDJEKQ0KKyNkZWZpbmUg TVQ2MzYwX1BNVV9DSFJERVRfQ1RSTDIoMHgyRSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfRFBETl9D VFJMKDB4MkYpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDEoMHgzMCkNCisj ZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX0hJRERFTl9DVFJMMigweDMxKQ0KKyNkZWZpbmUgTVQ2MzYw X1BNVV9DSEdfSElEREVOX0NUUkwzKDB4MzIpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURE RU5fQ1RSTDQoMHgzMykNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX0hJRERFTl9DVFJMNSgweDM0 KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfSElEREVOX0NUUkw2KDB4MzUpDQorI2RlZmluZSBN VDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDcoMHgzNikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hH X0hJRERFTl9DVFJMOCgweDM3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfSElEREVOX0NUUkw5 KDB4MzgpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDEwKDB4MzkpDQorI2Rl ZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDExKDB4M0EpDQorI2RlZmluZSBNVDYzNjBf UE1VX0NIR19ISURERU5fQ1RSTDEyKDB4M0IpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURE RU5fQ1RSTDEzKDB4M0MpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDE0KDB4 M0QpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDE1KDB4M0UpDQorI2RlZmlu ZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDE2KDB4M0YpDQorI2RlZmluZSBNVDYzNjBfUE1V X0NIR19ISURERU5fQ1RSTDE3KDB4NDApDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5f Q1RSTDE4KDB4NDEpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDE5KDB4NDIp DQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDIwKDB4NDMpDQorI2RlZmluZSBN VDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDIxKDB4NDQpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NI R19ISURERU5fQ1RSTDIyKDB4NDUpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RS TDIzKDB4NDYpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDI0KDB4NDcpDQor I2RlZmluZSBNVDYzNjBfUE1VX0NIR19ISURERU5fQ1RSTDI1KDB4NDgpDQorI2RlZmluZSBNVDYz NjBfUE1VX0JDMTJfQ1RSTCgweDQ5KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfU1RBVCgweDRB KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SRVNWMSgweDRCKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9U WVBFQ19PVFBfVEhfU0VMX0NPREVIKDB4NEUpDQorI2RlZmluZSBNVDYzNjBfUE1VX1RZUEVDX09U UF9USF9TRUxfQ09ERUwoMHg0RikNCisjZGVmaW5lIE1UNjM2MF9QTVVfVFlQRUNfT1RQX0hZU1Rf VEgoMHg1MCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfVFlQRUNfT1RQX0NUUkwoMHg1MSkNCisjZGVm aW5lIE1UNjM2MF9QTVVfQURDX0JBVF9EQVRBX0goMHg1MikNCisjZGVmaW5lIE1UNjM2MF9QTVVf QURDX0JBVF9EQVRBX0woMHg1MykNCisjZGVmaW5lIE1UNjM2MF9QTVVfSU1JRF9CQUNLQlNUX09O KDB4NTQpDQorI2RlZmluZSBNVDYzNjBfUE1VX0lNSURfQkFDS0JTVF9PRkYoMHg1NSkNCisjZGVm aW5lIE1UNjM2MF9QTVVfQURDX0NPTkZJRygweDU2KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9BRENf RU4yKDB4NTcpDQorI2RlZmluZSBNVDYzNjBfUE1VX0FEQ19JRExFX1QoMHg1OCkNCisjZGVmaW5l IE1UNjM2MF9QTVVfQURDX1JQVF8xKDB4NUEpDQorI2RlZmluZSBNVDYzNjBfUE1VX0FEQ19SUFRf MigweDVCKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9BRENfUlBUXzMoMHg1QykNCisjZGVmaW5lIE1U NjM2MF9QTVVfQURDX1JQVF9PUkcxKDB4NUQpDQorI2RlZmluZSBNVDYzNjBfUE1VX0FEQ19SUFRf T1JHMigweDVFKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9CQVRfT1ZQX1RIX1NFTF9DT0RFSCgweDVG KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9CQVRfT1ZQX1RIX1NFTF9DT0RFTCgweDYwKQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9DSEdfQ1RSTDE5KDB4NjEpDQorI2RlZmluZSBNVDYzNjBfUE1VX1ZEREFT VVBQTFkoMHg2MikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQkMxMl9NQU5VQUwoMHg2MykNCisjZGVm aW5lIE1UNjM2MF9QTVVfQ0hHREVUX0ZVTkMoMHg2NCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfRk9E X0NUUkwoMHg2NSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX0NUUkwyMCgweDY2KQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9DSEdfSElEREVOX0NUUkwyNigweDY3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BN VV9DSEdfSElEREVOX0NUUkwyNygweDY4KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SRVNWMigweDY5 KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9VU0JJRF9DVFJMMSgweDZEKQ0KKyNkZWZpbmUgTVQ2MzYw X1BNVV9VU0JJRF9DVFJMMigweDZFKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9VU0JJRF9DVFJMMygw eDZGKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVEX0NGRygweDcwKQ0KKyNkZWZpbmUgTVQ2MzYw X1BNVV9SRVNWMygweDcxKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVEMV9DVFJMKDB4NzIpDQor I2RlZmluZSBNVDYzNjBfUE1VX0ZMRURfU1RSQl9DVFJMKDB4NzMpDQorI2RlZmluZSBNVDYzNjBf UE1VX0ZMRUQxX1NUUkJfQ1RSTDIoMHg3NCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfRkxFRDFfVE9S X0NUUkwoMHg3NSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfRkxFRDJfQ1RSTCgweDc2KQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9SRVNWNCgweDc3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVEMl9TVFJC X0NUUkwyKDB4NzgpDQorI2RlZmluZSBNVDYzNjBfUE1VX0ZMRUQyX1RPUl9DVFJMKDB4NzkpDQor I2RlZmluZSBNVDYzNjBfUE1VX0ZMRURfVk1JRFRSS19DVFJMMSgweDdBKQ0KKyNkZWZpbmUgTVQ2 MzYwX1BNVV9GTEVEX1ZNSURfUlRNKDB4N0IpDQorI2RlZmluZSBNVDYzNjBfUE1VX0ZMRURfVk1J RFRSS19DVFJMMigweDdDKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVEX1BXU0VMKDB4N0QpDQor I2RlZmluZSBNVDYzNjBfUE1VX0ZMRURfRU4oMHg3RSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfRkxF RF9IaWRkZW4xKDB4N0YpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JHQl9FTigweDgwKQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9SR0IxX0lTTksoMHg4MSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUkdCMl9J U05LKDB4ODIpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JHQjNfSVNOSygweDgzKQ0KKyNkZWZpbmUg TVQ2MzYwX1BNVV9SR0JfTUxfSVNOSygweDg0KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SR0IxX0RJ TSgweDg1KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SR0IyX0RJTSgweDg2KQ0KKyNkZWZpbmUgTVQ2 MzYwX1BNVV9SR0IzX0RJTSgweDg3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9SRVNWNSgweDg4KQ0K KyNkZWZpbmUgTVQ2MzYwX1BNVV9SR0IxMl9GcmVxKDB4ODkpDQorI2RlZmluZSBNVDYzNjBfUE1V X1JHQjM0X0ZyZXEoMHg4QSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUkdCMV9UcigweDhCKQ0KKyNk ZWZpbmUgTVQ2MzYwX1BNVV9SR0IxX1RmKDB4OEMpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JHQjFf VE9OX1RPRkYoMHg4RCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUkdCMl9UcigweDhFKQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9SR0IyX1RmKDB4OEYpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JHQjJfVE9O X1RPRkYoMHg5MCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUkdCM19UcigweDkxKQ0KKyNkZWZpbmUg TVQ2MzYwX1BNVV9SR0IzX1RmKDB4OTIpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JHQjNfVE9OX1RP RkYoMHg5MykNCisjZGVmaW5lIE1UNjM2MF9QTVVfUkdCX0hpZGRlbl9DVFJMMSgweDk0KQ0KKyNk ZWZpbmUgTVQ2MzYwX1BNVV9SR0JfSGlkZGVuX0NUUkwyKDB4OTUpDQorI2RlZmluZSBNVDYzNjBf UE1VX1JFU1Y2KDB4OTcpDQorI2RlZmluZSBNVDYzNjBfUE1VX1NQQVJFMSgweDlBKQ0KKyNkZWZp bmUgTVQ2MzYwX1BNVV9TUEFSRTIoMHhBMCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfU1BBUkUzKDB4 QjApDQorI2RlZmluZSBNVDYzNjBfUE1VX1NQQVJFNCgweEMwKQ0KKyNkZWZpbmUgTVQ2MzYwX1BN VV9DSEdfSVJRMSgweEQwKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfSVJRMigweEQxKQ0KKyNk ZWZpbmUgTVQ2MzYwX1BNVV9DSEdfSVJRMygweEQyKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdf SVJRNCgweEQzKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfSVJRNSgweEQ0KQ0KKyNkZWZpbmUg TVQ2MzYwX1BNVV9DSEdfSVJRNigweEQ1KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9RQ19JUlEoMHhE NikNCisjZGVmaW5lIE1UNjM2MF9QTVVfRk9EX0lSUSgweEQ3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BN VV9CQVNFX0lSUSgweEQ4KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVEX0lSUTEoMHhEOSkNCisj ZGVmaW5lIE1UNjM2MF9QTVVfRkxFRF9JUlEyKDB4REEpDQorI2RlZmluZSBNVDYzNjBfUE1VX1JH Ql9JUlEoMHhEQikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQlVDSzFfSVJRKDB4REMpDQorI2RlZmlu ZSBNVDYzNjBfUE1VX0JVQ0syX0lSUSgweEREKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9MRE9fSVJR MSgweERFKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9MRE9fSVJRMigweERGKQ0KKyNkZWZpbmUgTVQ2 MzYwX1BNVV9DSEdfU1RBVDEoMHhFMCkNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX1NUQVQyKDB4 RTEpDQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19TVEFUMygweEUyKQ0KKyNkZWZpbmUgTVQ2MzYw X1BNVV9DSEdfU1RBVDQoMHhFMykNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX1NUQVQ1KDB4RTQp DQorI2RlZmluZSBNVDYzNjBfUE1VX0NIR19TVEFUNigweEU1KQ0KKyNkZWZpbmUgTVQ2MzYwX1BN VV9RQ19TVEFUKDB4RTYpDQorI2RlZmluZSBNVDYzNjBfUE1VX0ZPRF9TVEFUKDB4RTcpDQorI2Rl ZmluZSBNVDYzNjBfUE1VX0JBU0VfU1RBVCgweEU4KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9GTEVE X1NUQVQxKDB4RTkpDQorI2RlZmluZSBNVDYzNjBfUE1VX0ZMRURfU1RBVDIoMHhFQSkNCisjZGVm aW5lIE1UNjM2MF9QTVVfUkdCX1NUQVQoMHhFQikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQlVDSzFf U1RBVCgweEVDKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9CVUNLMl9TVEFUKDB4RUQpDQorI2RlZmlu ZSBNVDYzNjBfUE1VX0xET19TVEFUMSgweEVFKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9MRE9fU1RB VDIoMHhFRikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX01BU0sxKDB4RjApDQorI2RlZmluZSBN VDYzNjBfUE1VX0NIR19NQVNLMigweEYxKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfTUFTSzMo MHhGMikNCisjZGVmaW5lIE1UNjM2MF9QTVVfQ0hHX01BU0s0KDB4RjMpDQorI2RlZmluZSBNVDYz NjBfUE1VX0NIR19NQVNLNSgweEY0KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9DSEdfTUFTSzYoMHhG NSkNCisjZGVmaW5lIE1UNjM2MF9QTVVfUUNfTUFTSygweEY2KQ0KKyNkZWZpbmUgTVQ2MzYwX1BN VV9GT0RfTUFTSygweEY3KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9CQVNFX01BU0soMHhGOCkNCisj ZGVmaW5lIE1UNjM2MF9QTVVfRkxFRF9NQVNLMSgweEY5KQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9G TEVEX01BU0syKDB4RkEpDQorI2RlZmluZSBNVDYzNjBfUE1VX0ZBVUxUQl9NQVNLKDB4RkIpDQor I2RlZmluZSBNVDYzNjBfUE1VX0JVQ0sxX01BU0soMHhGQykNCisjZGVmaW5lIE1UNjM2MF9QTVVf QlVDSzJfTUFTSygweEZEKQ0KKyNkZWZpbmUgTVQ2MzYwX1BNVV9MRE9fTUFTSzEoMHhGRSkNCisj ZGVmaW5lIE1UNjM2MF9QTVVfTERPX01BU0syKDB4RkYpDQorI2RlZmluZSBNVDYzNjBfUE1VX01B WFJFRyhNVDYzNjBfUE1VX0xET19NQVNLMikNCisNCisvKiBNVDYzNjBfUE1VX0lSUV9TRVQgKi8N CisjZGVmaW5lIE1UNjM2MF9QTVVfSVJRX1JFR05VTShNVDYzNjBfUE1VX0xET19JUlEyIC0gTVQ2 MzYwX1BNVV9DSEdfSVJRMSArIDEpDQorI2RlZmluZSBNVDYzNjBfSVJRX1JFVFJJR0JJVCgyKQ0K Kw0KKyNkZWZpbmUgQ0hJUF9WRU5fTUFTSygweEYwKQ0KKyNkZWZpbmUgQ0hJUF9WRU5fTVQ2MzYw KDB4NTApDQorI2RlZmluZSBDSElQX1JFVl9NQVNLKDB4MEYpDQorDQorI2VuZGlmIC8qIF9fTVQ2 MzYwX0hfXyAqLw0KLS0NCjIuNy40DQoNCioqKioqKioqKioqKiogRW1haWwgQ29uZmlkZW50aWFs aXR5IE5vdGljZSAqKioqKioqKioqKioqKioqKioqKg0KDQpUaGUgaW5mb3JtYXRpb24gY29udGFp bmVkIGluIHRoaXMgZS1tYWlsIG1lc3NhZ2UgKGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIG1h eSBiZSBjb25maWRlbnRpYWwsIHByb3ByaWV0YXJ5LCBwcml2aWxlZ2VkLCBvciBvdGhlcndpc2Ug ZXhlbXB0IGZyb20gZGlzY2xvc3VyZSB1bmRlciBhcHBsaWNhYmxlIGxhd3MuIEl0IGlzIGludGVu ZGVkIHRvIGJlIGNvbnZleWVkIG9ubHkgdG8gdGhlIGRlc2lnbmF0ZWQgcmVjaXBpZW50KHMpLiBB bnkgdXNlLCBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24sIHByaW50aW5nLCByZXRhaW5pbmcg b3IgY29weWluZyBvZiB0aGlzIGUtbWFpbCAoaW5jbHVkaW5nIGl0cyBhdHRhY2htZW50cykgYnkg dW5pbnRlbmRlZCByZWNpcGllbnQocykgaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IGJl IHVubGF3ZnVsLiBJZiB5b3UgYXJlIG5vdCBhbiBpbnRlbmRlZCByZWNpcGllbnQgb2YgdGhpcyBl LW1haWwsIG9yIGJlbGlldmUgdGhhdCB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGUtbWFpbCBpbiBl cnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IChieSByZXBseWluZyB0 byB0aGlzIGUtbWFpbCksIGRlbGV0ZSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgdGhpcyBlLW1haWwg KGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGZyb20geW91ciBzeXN0ZW0sIGFuZCBkbyBub3Qg ZGlzY2xvc2UgdGhlIGNvbnRlbnQgb2YgdGhpcyBlLW1haWwgdG8gYW55IG90aGVyIHBlcnNvbi4g VGhhbmsgeW91IQ0K