Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1418529ybt; Thu, 2 Jul 2020 05:06:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxv64fmRynWvOMgGIJGLBPl2k5R4w5fB4x47RWm4PwEopj+1M+ensaC2i5PyFERb1C14EfN X-Received: by 2002:aa7:c655:: with SMTP id z21mr34514229edr.330.1593691563396; Thu, 02 Jul 2020 05:06:03 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1593691563; cv=pass; d=google.com; s=arc-20160816; b=D7SJtVaZADp8Atyaa/iRGAtQpd1C4mOViI/d9z/v1mDBVqCvxMDWRFEUl9nwfyIKyk QHqHUKKRD3Zf99SeT58W3hsWElBSiKo6FV2y9BujaS5045geZjF9IEby85FVWIwIb0hj r2NedRlq5e3Sb+IsIFSR8HU1tjpssPdZTh9SNIST3UHVgd8hOMawOAQBwk5FRxK8Athd zVmpfwvLLH9EikhPyB2P34zCHZkwnwckJcA2hzjFy+499Hd6pe0rje5HXxCn589tSkUw ea+DL+6VLgOtGsRWiVG7I94RJbBjUHZhOszEOchY04eZTu5skdRJONi6EoC6GHSCQuC7 H43w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=rzixACdqVVFepVxjD47AjHej0sDF9Ljp2iZSY9tpxhY=; b=xGv7vai78mbJVqpGiYgXGoS6IcYe+McjicstiD3Y7gbs+tlDOOBdiZ16D+M+Ug+tkz iXQKMMhqavlIz4VjsP3JdP5W8ZtqyXO8BslJMyc3FkWrjHToTfhTdjxZnXpr9bp98Zik TVG3tS7s2WawXQgQ3qHSgoli/uKAygx23FXq8PkfA/+N3qINRJZHsC1OgQFejEgDw+fQ YUawjBpPkv1wb27qwf5yDvcPfYVwUJ/LmFQqLB8tyMpoVvVX24CYkVpsu7fDS4GdA2k7 Cz+DenkDhzgFvGdltkjcdIjRQrU01RJO6JtvFm+1pBN2P6JtCFgdjFNReVz557Qdzevj uazA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mysnt.onmicrosoft.com header.s=selector2-mysnt-onmicrosoft-com header.b=biXCCNKR; arc=pass (i=1 spf=pass spfdomain=kontron.de dkim=pass dkdomain=kontron.de dmarc=pass fromdomain=kontron.de); 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 mh4si5652640ejb.339.2020.07.02.05.05.39; Thu, 02 Jul 2020 05:06:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mysnt.onmicrosoft.com header.s=selector2-mysnt-onmicrosoft-com header.b=biXCCNKR; arc=pass (i=1 spf=pass spfdomain=kontron.de dkim=pass dkdomain=kontron.de dmarc=pass fromdomain=kontron.de); 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 S1728841AbgGBMFY (ORCPT + 99 others); Thu, 2 Jul 2020 08:05:24 -0400 Received: from mail-db8eur05on2100.outbound.protection.outlook.com ([40.107.20.100]:4801 "EHLO EUR05-DB8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728730AbgGBMFX (ORCPT ); Thu, 2 Jul 2020 08:05:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YK4H17Lm7a2auMU5IO+WlfHhQnT2QhEm8Xltmdo22QP9hI1C5ZvWTvWAFcUlA7fvM2l8KjEIfrw2diDM1xUwf+ofZ8epJ9v7xHmXxxzpLZXZIsZqfmjwhbAsO0Aco0ZIS7rZpLvBfCr/RvdafAsF45MJzXuT7UEtYXGFUzdo7xfaujBYPXc5PBKhZucvCCeN/qcS0D1RtC1TqnHrDLjit0FY3AbH0RP3Yvy1+C5P5iBV9VC7p7rIHUbXtKCgJMOlTV9lB0m7BzUygOVlviM8BmRgT80uailaz4jXmHPOlSiK7uAVtmtwdEFX/jnk9fVZADciYQ0d2TIsE9FErnDa9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rzixACdqVVFepVxjD47AjHej0sDF9Ljp2iZSY9tpxhY=; b=aDNN+QO7u+yOD0IINDsjL8lA165BF7mY2xVhRHGcQ1zuz4EM/iH68DiA9MpSEZTX6bvDGoRXHpat7WI8tkaRMdaJbCwjzv0OIHeUMEW7/TYh2D9m3HPd8z3CXubUqyQptdkvQcHHgCGLFy8PBOQnGzYomNTcgWGgdL+2dZf6vNxyQ90BPtAV66oOHplS0oIJ0M8hnSu7GpYgGEsUmIrpDwbRgChSQclS/H5WGwqqweiSdaY0N+5xZdjFleYNol/cpWC9bxsKA2yVnfm2gKSuYwSorO4gtDFcwWoqrcNgUAP3oHwr9zySRHsqXKQRcFVV2sYCSwDeMAgkj22AF+vDFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=kontron.de; dmarc=pass action=none header.from=kontron.de; dkim=pass header.d=kontron.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mysnt.onmicrosoft.com; s=selector2-mysnt-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rzixACdqVVFepVxjD47AjHej0sDF9Ljp2iZSY9tpxhY=; b=biXCCNKRagLma8ro43enEndLYVYILfJ4ZfN+s7jELvZaT9zAUAx/QuxD5rSAAWLvt5fTBlteSkPH9FAzNDvsZ6pBnSs0pqjqepb7gYYN2rTNi5AW8dGK0LeTONJYvOkONfhatLeNjE1N4yCsbT2kO1DMz9IF4z8fb+jhVBD3CXM= Received: from DB7PR10MB2490.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:50::12) by DB6PR10MB1605.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:6:35::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.26; Thu, 2 Jul 2020 12:05:06 +0000 Received: from DB7PR10MB2490.EURPRD10.PROD.OUTLOOK.COM ([fe80::ac04:ef33:baf3:36f3]) by DB7PR10MB2490.EURPRD10.PROD.OUTLOOK.COM ([fe80::ac04:ef33:baf3:36f3%4]) with mapi id 15.20.3131.036; Thu, 2 Jul 2020 12:05:06 +0000 From: Schrempf Frieder To: Robin Gong , "lgirdwood@gmail.com" , "broonie@kernel.org" , "robh+dt@kernel.org" , "catalin.marinas@arm.com" , "will@kernel.org" , "shawnguo@kernel.org" , "anson.huang@nxp.com" , "festevam@gmail.com" , "s.hauer@pengutronix.de" , "john.lee@nxp.com" CC: "kernel@pengutronix.de" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-imx@nxp.com" Subject: Re: [PATCH v1 1/4] regulator: pca9450: add pca9450 pmic driver Thread-Topic: [PATCH v1 1/4] regulator: pca9450: add pca9450 pmic driver Thread-Index: AQHWLeaf6WCsbXJx9Uy+WmwDz+QgZaj0dj2A Date: Thu, 2 Jul 2020 12:05:05 +0000 Message-ID: <5224b8d2-177e-7cc0-24dc-2454fd553b1b@kontron.de> References: <1589925907-9195-1-git-send-email-yibin.gong@nxp.com> <1589925907-9195-2-git-send-email-yibin.gong@nxp.com> In-Reply-To: <1589925907-9195-2-git-send-email-yibin.gong@nxp.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=kontron.de; x-originating-ip: [46.142.79.231] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc664f44-a05e-4157-4a0e-08d81e8028ba x-ms-traffictypediagnostic: DB6PR10MB1605: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0452022BE1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XH7GYeReu+bC8IOQkIYG756PrH91Y3Pw0hyit4CM4dT+HLBkjAYaF6ewWsKOWsYuoutT/PdyrXtV/q6ojYP+RJqqy7L5/SMPMLAVsZ5jCv4RKeT11wy8yEk4ZC+R9aeiiPfBXA1obATSoV2CG49qvjn2o3Iu7LWh4yt50fkXYcHl41z2/vTyRzzC8fr0d7khYCtdfTyCrOOi6deGtZ84q2N96OQdW8pXxHQhe9vxAZAFU2V0wcb6wn0AdlbRf2hq+z2zTNXKzZQA2hUpb0mARvWPn4FrvwtEySqYQoKnocAdnxnAGmPakBa5VuHjZ14iO++XtoSdvPD6L9PjUYJXUubV6o7Ww9vrBAJwpcSJDOJFTwtt0r/Erc5NvItQ+RD57yRny9+w6XTgvKJZ4tVudMfMZ9aBmf0oAYxa4/hAHO8LyyP02w/89F9f+DeAsHY3 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2490.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(376002)(346002)(39850400004)(136003)(366004)(396003)(2906002)(91956017)(76116006)(66446008)(8936002)(5660300002)(66556008)(66476007)(64756008)(36756003)(66946007)(31696002)(30864003)(8676002)(71200400001)(7416002)(478600001)(86362001)(6512007)(316002)(4326008)(26005)(31686004)(6486002)(2616005)(186003)(53546011)(110136005)(6506007)(54906003)(83380400001)(966005)(921003)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: aYTkroxf5o4/OkrIDeLi1HxTv1XJ2uMWdepeZd/QyqMksyk2uwM309reReOY2a5sHyoFvtNaYRjm/1KcbLKwNk1ZVZ9pAgb5w/dnBl4dv9eY3x1dgrzCjNQM8HuJjbQgRxIk1Eld4QD3rYq0jJowpYqPLWV34AwHLPZja1T/6pwxHdXPCHxp4YJU2QHoirt1JR6RUpIpkB1qeFSDFomjTLA2r6hjny+lT0byZ44T96xrNgNabPEA+kregH9s9IGe7IVrIOB3xStR7Pxcx1GhcmnyyLnfCu5aJbzqs/HGi/u02iEIUB+BzNlQFy+J+8ArThFP4cRxldAx5bviNBZg95KZL5A9fkv92E13EWhVL/xRjOqky5mA2TmoggH+taN3wejGSuDP24TcFK1m++ZXvmHsQiCfjdoJR7X/krU8R8C3SukD+XiqGgepAPR51FEUh3a2Yv7/uKFXt9od4nWPk/nRxA3gOJjX+F2os01EWo0= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <236A40BB465601458FAF574958DD8C2F@EURPRD10.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: kontron.de X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2490.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: bc664f44-a05e-4157-4a0e-08d81e8028ba X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2020 12:05:05.9790 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8c9d3c97-3fd9-41c8-a2b1-646f3942daf1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YW44FdfFQebc9Y/a68Im0Yvm18tTSMLo2ojOTrxnf0VvBvU3br/Ip1ldvc0mTyTmoZlF95m15E+JWvp6vVsYEZ87PWR3Okcm4lDW6bDnrLw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR10MB1605 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgUm9iaW4sDQoNCk9uIDIwLjA1LjIwIDAwOjA1LCBSb2JpbiBHb25nIHdyb3RlOg0KPiBBZGQg TlhQIHBjYTk0NTAgcG1pYyBkcml2ZXIuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBSb2JpbiBHb25n IDx5aWJpbi5nb25nQG54cC5jb20+DQoNCkkgcmViYXNlZCBhbmQgYXBwbGllZCBvbiB2NS44LXJj MyBhbiB0ZXN0ZWQgdGhpcyB3aXRoIG91ciBpLk1YOE1NIGJvYXJkIA0Kd2l0aCBQQ0E5NDUwQS4g SXQgc2VlbXMgdG8gd29yayBmaW5lLiBCZWxvdyB5b3UgY2FuIGZpbmQgc29tZSBjb21tZW50cy4N Cg0KVGhhbmtzLA0KRnJpZWRlcg0KDQo+IC0tLQ0KPiAgIGRyaXZlcnMvcmVndWxhdG9yL0tjb25m aWcgICAgICAgICAgICAgfCAgIDggKw0KPiAgIGRyaXZlcnMvcmVndWxhdG9yL01ha2VmaWxlICAg ICAgICAgICAgfCAgIDEgKw0KPiAgIGRyaXZlcnMvcmVndWxhdG9yL3BjYTk0NTAtcmVndWxhdG9y LmMgfCA4NTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgIGluY2x1ZGUv bGludXgvcmVndWxhdG9yL3BjYTk0NTAuaCAgICAgfCAyMTkgKysrKysrKysrDQo+ICAgNCBmaWxl cyBjaGFuZ2VkLCAxMDg3IGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9yZWd1bGF0b3IvcGNhOTQ1MC1yZWd1bGF0b3IuYw0KPiAgIGNyZWF0ZSBtb2RlIDEwMDY0 NCBpbmNsdWRlL2xpbnV4L3JlZ3VsYXRvci9wY2E5NDUwLmgNCj4gDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3JlZ3VsYXRvci9LY29uZmlnIGIvZHJpdmVycy9yZWd1bGF0b3IvS2NvbmZpZw0KPiBp bmRleCBlOGY3YTA5Li5kOTRjOGVmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3JlZ3VsYXRvci9L Y29uZmlnDQo+ICsrKyBiL2RyaXZlcnMvcmVndWxhdG9yL0tjb25maWcNCj4gQEAgLTcyOSw2ICs3 MjksMTQgQEAgY29uZmlnIFJFR1VMQVRPUl9QQklBUw0KPiAgIAkgVGhpcyBkcml2ZXIgcHJvdmlk ZXMgc3VwcG9ydCBmb3IgT01BUCBwYmlhcyBtb2RlbGxlZA0KPiAgIAkgcmVndWxhdG9ycy4NCj4g ICANCj4gK2NvbmZpZyBSRUdVTEFUT1JfUENBOTQ1MA0KPiArCXRyaXN0YXRlICJOWFAgUENBOTQ1 MEEvUENBOTQ1MEIvUENBOTQ1MEMgcmVndWxhdG9yIGRyaXZlciINCj4gKwlkZXBlbmRzIG9uIEky Qw0KPiArCXNlbGVjdCBSRUdNQVBfSTJDDQo+ICsJaGVscA0KPiArCSAgU2F5IHkgaGVyZSB0byBz dXBwb3J0IHRoZSBOWFAgUENBOTQ1MEEvUENBOTQ1MEIvUENBOTQ1MEMgUE1JQw0KPiArCSAgcmVn dWxhdG9yIGRyaXZlci4NCj4gKw0KPiAgIGNvbmZpZyBSRUdVTEFUT1JfUENBUA0KPiAgIAl0cmlz dGF0ZSAiTW90b3JvbGEgUENBUDIgcmVndWxhdG9yIGRyaXZlciINCj4gICAJZGVwZW5kcyBvbiBF WlhfUENBUA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZWd1bGF0b3IvTWFrZWZpbGUgYi9kcml2 ZXJzL3JlZ3VsYXRvci9NYWtlZmlsZQ0KPiBpbmRleCBlOGYxNjMzLi4zNTZjYTg5IDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL3JlZ3VsYXRvci9NYWtlZmlsZQ0KPiArKysgYi9kcml2ZXJzL3JlZ3Vs YXRvci9NYWtlZmlsZQ0KPiBAQCAtOTMsNiArOTMsNyBAQCBvYmotJChDT05GSUdfUkVHVUxBVE9S X1FDT01fUlBNSCkgKz0gcWNvbS1ycG1oLXJlZ3VsYXRvci5vDQo+ICAgb2JqLSQoQ09ORklHX1JF R1VMQVRPUl9RQ09NX1NNRF9SUE0pICs9IHFjb21fc21kLXJlZ3VsYXRvci5vDQo+ICAgb2JqLSQo Q09ORklHX1JFR1VMQVRPUl9RQ09NX1NQTUkpICs9IHFjb21fc3BtaS1yZWd1bGF0b3Iubw0KPiAg IG9iai0kKENPTkZJR19SRUdVTEFUT1JfUEFMTUFTKSArPSBwYWxtYXMtcmVndWxhdG9yLm8NCj4g K29iai0kKENPTkZJR19SRUdVTEFUT1JfUENBOTQ1MCkgKz0gcGNhOTQ1MC1yZWd1bGF0b3Iubw0K PiAgIG9iai0kKENPTkZJR19SRUdVTEFUT1JfUEZVWkUxMDApICs9IHBmdXplMTAwLXJlZ3VsYXRv ci5vDQo+ICAgb2JqLSQoQ09ORklHX1JFR1VMQVRPUl9QVjg4MDYwKSArPSBwdjg4MDYwLXJlZ3Vs YXRvci5vDQo+ICAgb2JqLSQoQ09ORklHX1JFR1VMQVRPUl9QVjg4MDgwKSArPSBwdjg4MDgwLXJl Z3VsYXRvci5vDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3JlZ3VsYXRvci9wY2E5NDUwLXJlZ3Vs YXRvci5jIGIvZHJpdmVycy9yZWd1bGF0b3IvcGNhOTQ1MC1yZWd1bGF0b3IuYw0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMC4uYmRmMjU2ZA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL2RyaXZlcnMvcmVndWxhdG9yL3BjYTk0NTAtcmVndWxhdG9yLmMNCj4gQEAgLTAs MCArMSw4NTkgQEANCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQo+ICsv Kg0KPiArICogQ29weXJpZ2h0IDIwMjAgTlhQLg0KPiArICogTlhQIFBDQTk0NTAgcG1pYyBkcml2 ZXINCj4gKyAqLw0KPiArDQo+ICsjaW5jbHVkZSA8bGludXgvZXJyLmg+DQo+ICsjaW5jbHVkZSA8 bGludXgvaTJjLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+DQo+ICsjaW5jbHVk ZSA8bGludXgva2VybmVsLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQo+ICsjaW5j bHVkZSA8bGludXgvb2YuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCj4gKyNp bmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9yZWd1 bGF0b3IvZHJpdmVyLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL21hY2hpbmUuaD4N Cj4gKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3Ivb2ZfcmVndWxhdG9yLmg+DQo+ICsjaW5jbHVk ZSA8bGludXgvcmVndWxhdG9yL3BjYTk0NTAuaD4NCj4gKw0KPiArc3RydWN0IHBjOTQ1MF9kdnNf Y29uZmlnIHsNCj4gKwl1bnNpZ25lZCBpbnQgcnVuX3JlZzsgLyogZHZzMCAqLw0KPiArCXVuc2ln bmVkIGludCBydW5fbWFzazsNCj4gKwl1bnNpZ25lZCBpbnQgc3RhbmRieV9yZWc7IC8qIGR2czEg Ki8NCj4gKwl1bnNpZ25lZCBpbnQgc3RhbmRieV9tYXNrOw0KPiArfTsNCj4gKw0KPiArc3RydWN0 IHBjYTk0NTBfcmVndWxhdG9yX2Rlc2Mgew0KPiArCXN0cnVjdCByZWd1bGF0b3JfZGVzYyBkZXNj Ow0KPiArCWNvbnN0IHN0cnVjdCBwYzk0NTBfZHZzX2NvbmZpZyBkdnM7DQo+ICt9Ow0KPiArDQo+ ICtzdHJ1Y3QgcGNhOTQ1MCB7DQo+ICsJc3RydWN0IGRldmljZSAqZGV2Ow0KPiArCXN0cnVjdCBy ZWdtYXAgKnJlZ21hcDsNCj4gKwllbnVtIHBjYTk0NTBfY2hpcF90eXBlIHR5cGU7DQo+ICsJdW5z aWduZWQgaW50IHJjbnQ7DQo+ICsJaW50IGlycTsNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcmVnbWFwX3JhbmdlIHBjYTk0NTBfc3RhdHVzX3JhbmdlID0gew0KPiArCS5yYW5n ZV9taW4gPSBQQ0E5NDUwX1JFR19JTlQxLA0KPiArCS5yYW5nZV9tYXggPSBQQ0E5NDUwX1JFR19Q V1JPTl9TVEFULA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfYWNj ZXNzX3RhYmxlIHBjYTk0NTBfdm9sYXRpbGVfcmVncyA9IHsNCj4gKwkueWVzX3JhbmdlcyA9ICZw Y2E5NDUwX3N0YXR1c19yYW5nZSwNCj4gKwkubl95ZXNfcmFuZ2VzID0gMSwNCj4gK307DQo+ICsN Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBwY2E5NDUwX3JlZ21hcF9jb25m aWcgPSB7DQo+ICsJLnJlZ19iaXRzID0gOCwNCj4gKwkudmFsX2JpdHMgPSA4LA0KPiArCS52b2xh dGlsZV90YWJsZSA9ICZwY2E5NDUwX3ZvbGF0aWxlX3JlZ3MsDQo+ICsJLm1heF9yZWdpc3RlciA9 IFBDQTk0NTBfTUFYX1JFR0lTVEVSIC0gMSwNCj4gKwkuY2FjaGVfdHlwZSA9IFJFR0NBQ0hFX1JC VFJFRSwNCj4gK307DQo+ICsNCj4gKy8qDQo+ICsgKiBCVUNLMS8yLzMNCj4gKyAqIEJVQ0sxUkFN WzE6MF0gQlVDSzEgRFZTIHJhbXAgcmF0ZSBzZXR0aW5nDQo+ICsgKiAwMDogMjVtVi8xdXNlYw0K PiArICogMDE6IDI1bVYvMnVzZWMNCj4gKyAqIDEwOiAyNW1WLzR1c2VjDQo+ICsgKiAxMTogMjVt Vi84dXNlYw0KPiArICovDQo+ICtzdGF0aWMgaW50IHBjYTk0NTBfZHZzX3NldF9yYW1wX2RlbGF5 KHN0cnVjdCByZWd1bGF0b3JfZGV2ICpyZGV2LA0KPiArCQkJCSAgICAgIGludCByYW1wX2RlbGF5 KQ0KPiArew0KPiArCWludCBpZCA9IHJkZXZfZ2V0X2lkKHJkZXYpOw0KPiArCXVuc2lnbmVkIGlu dCByYW1wX3ZhbHVlOw0KPiArDQo+ICsJc3dpdGNoIChyYW1wX2RlbGF5KSB7DQo+ICsJY2FzZSAx IC4uLiAzMTI1Og0KPiArCQlyYW1wX3ZhbHVlID0gQlVDSzFfUkFNUF8zUDEyNU1WOw0KPiArCQli cmVhazsNCj4gKwljYXNlIDMxMjYgLi4uIDYyNTA6DQo+ICsJCXJhbXBfdmFsdWUgPSBCVUNLMV9S QU1QXzZQMjVNVjsNCj4gKwkJYnJlYWs7DQo+ICsJY2FzZSA2MjUxIC4uLiAxMjUwMDoNCj4gKwkJ cmFtcF92YWx1ZSA9IEJVQ0sxX1JBTVBfMTJQNU1WOw0KPiArCQlicmVhazsNCj4gKwljYXNlIDEy NTAxIC4uLiAyNTAwMDoNCj4gKwkJcmFtcF92YWx1ZSA9IEJVQ0sxX1JBTVBfMjVNVjsNCj4gKwkJ YnJlYWs7DQo+ICsJZGVmYXVsdDoNCj4gKwkJcmFtcF92YWx1ZSA9IEJVQ0sxX1JBTVBfMjVNVjsN Cj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gcmVnbWFwX3VwZGF0ZV9iaXRzKHJkZXYtPnJlZ21hcCwg UENBOTQ1MF9SRUdfQlVDSzFDVFJMICsgaWQgKiAzLA0KPiArCQkJCSAgQlVDSzFfUkFNUF9NQVNL LCByYW1wX3ZhbHVlIDw8IDYpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgc3RydWN0IHJlZ3VsYXRv cl9vcHMgcGNhOTQ1MF9kdnNfYnVja19yZWd1bGF0b3Jfb3BzID0gew0KPiArCS5lbmFibGUgPSBy ZWd1bGF0b3JfZW5hYmxlX3JlZ21hcCwNCj4gKwkuZGlzYWJsZSA9IHJlZ3VsYXRvcl9kaXNhYmxl X3JlZ21hcCwNCj4gKwkuaXNfZW5hYmxlZCA9IHJlZ3VsYXRvcl9pc19lbmFibGVkX3JlZ21hcCwN Cj4gKwkubGlzdF92b2x0YWdlID0gcmVndWxhdG9yX2xpc3Rfdm9sdGFnZV9saW5lYXJfcmFuZ2Us DQo+ICsJLnNldF92b2x0YWdlX3NlbCA9IHJlZ3VsYXRvcl9zZXRfdm9sdGFnZV9zZWxfcmVnbWFw LA0KPiArCS5nZXRfdm9sdGFnZV9zZWwgPSByZWd1bGF0b3JfZ2V0X3ZvbHRhZ2Vfc2VsX3JlZ21h cCwNCj4gKwkuc2V0X3ZvbHRhZ2VfdGltZV9zZWwgPSByZWd1bGF0b3Jfc2V0X3ZvbHRhZ2VfdGlt ZV9zZWwsDQo+ICsJLnNldF9yYW1wX2RlbGF5ID0gcGNhOTQ1MF9kdnNfc2V0X3JhbXBfZGVsYXks DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgc3RydWN0IHJlZ3VsYXRvcl9vcHMgcGNhOTQ1MF9idWNr X3JlZ3VsYXRvcl9vcHMgPSB7DQo+ICsJLmVuYWJsZSA9IHJlZ3VsYXRvcl9lbmFibGVfcmVnbWFw LA0KPiArCS5kaXNhYmxlID0gcmVndWxhdG9yX2Rpc2FibGVfcmVnbWFwLA0KPiArCS5pc19lbmFi bGVkID0gcmVndWxhdG9yX2lzX2VuYWJsZWRfcmVnbWFwLA0KPiArCS5saXN0X3ZvbHRhZ2UgPSBy ZWd1bGF0b3JfbGlzdF92b2x0YWdlX2xpbmVhcl9yYW5nZSwNCj4gKwkuc2V0X3ZvbHRhZ2Vfc2Vs ID0gcmVndWxhdG9yX3NldF92b2x0YWdlX3NlbF9yZWdtYXAsDQo+ICsJLmdldF92b2x0YWdlX3Nl bCA9IHJlZ3VsYXRvcl9nZXRfdm9sdGFnZV9zZWxfcmVnbWFwLA0KPiArCS5zZXRfdm9sdGFnZV90 aW1lX3NlbCA9IHJlZ3VsYXRvcl9zZXRfdm9sdGFnZV90aW1lX3NlbCwNCj4gK307DQo+ICsNCj4g K3N0YXRpYyBzdHJ1Y3QgcmVndWxhdG9yX29wcyBwY2E5NDUwX2xkb19yZWd1bGF0b3Jfb3BzID0g ew0KPiArCS5lbmFibGUgPSByZWd1bGF0b3JfZW5hYmxlX3JlZ21hcCwNCj4gKwkuZGlzYWJsZSA9 IHJlZ3VsYXRvcl9kaXNhYmxlX3JlZ21hcCwNCj4gKwkuaXNfZW5hYmxlZCA9IHJlZ3VsYXRvcl9p c19lbmFibGVkX3JlZ21hcCwNCj4gKwkubGlzdF92b2x0YWdlID0gcmVndWxhdG9yX2xpc3Rfdm9s dGFnZV9saW5lYXJfcmFuZ2UsDQo+ICsJLnNldF92b2x0YWdlX3NlbCA9IHJlZ3VsYXRvcl9zZXRf dm9sdGFnZV9zZWxfcmVnbWFwLA0KPiArCS5nZXRfdm9sdGFnZV9zZWwgPSByZWd1bGF0b3JfZ2V0 X3ZvbHRhZ2Vfc2VsX3JlZ21hcCwNCj4gK307DQo+ICsNCj4gKy8qDQo+ICsgKiBCVUNLMS8yLzMN Cj4gKyAqIDAuNjAgdG8gMi4xODc1ViAoMTIuNW1WIHN0ZXApDQo+ICsgKi8NCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcmVndWxhdG9yX2xpbmVhcl9yYW5nZSBwY2E5NDUwX2R2c19idWNrX3ZvbHRz W10gPSB7DQo+ICsJUkVHVUxBVE9SX0xJTkVBUl9SQU5HRSg2MDAwMDAsICAweDAwLCAweDdGLCAx MjUwMCksDQo+ICt9Ow0KDQpXaXRoIHRoZSBsYXRlc3Qga2VybmVsICh2NS44LXJjKSB0aGlzIGRv ZXNuJ3QgY29tcGlsZSBhbnltb3JlIGJlY2F1c2Ugb2YgDQo2MGFiN2Y0MTUzYjYgKCJyZWd1bGF0 b3I6IHVzZSBsaW5lYXJfcmFuZ2VzIGhlbHBlciIpLiBJIGFwcGxpZWQgdGhpcyANCmRpZmYgdG8g Zml4IGl0OiBodHRwczovL2RpZmZ5Lm9yZy9kaWZmLzU2NWlvbGhsd2EwZXBjeXhxbXZndGE5azku DQoNCj4gKw0KPiArLyoNCj4gKyAqIEJVQ0s0LzUvNg0KPiArICogMC42ViB0byAzLjRWICgyNW1W IHN0ZXApDQo+ICsgKi8NCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVndWxhdG9yX2xpbmVhcl9y YW5nZSBwY2E5NDUwX2J1Y2tfdm9sdHNbXSA9IHsNCj4gKwlSRUdVTEFUT1JfTElORUFSX1JBTkdF KDYwMDAwMCwgMHgwMCwgMHg3MCwgMjUwMDApLA0KPiArCVJFR1VMQVRPUl9MSU5FQVJfUkFOR0Uo MzQwMDAwMCwgMHg3MSwgMHg3RiwgMCksDQo+ICt9Ow0KPiArDQo+ICsvKg0KPiArICogTERPMQ0K PiArICogMS42IHRvIDMuM1YgKCkNCj4gKyAqLw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWd1 bGF0b3JfbGluZWFyX3JhbmdlIHBjYTk0NTBfbGRvMV92b2x0c1tdID0gew0KPiArCVJFR1VMQVRP Ul9MSU5FQVJfUkFOR0UoMTYwMDAwMCwgMHgwMCwgMHgwMywgMTAwMDAwKSwNCj4gKwlSRUdVTEFU T1JfTElORUFSX1JBTkdFKDMwMDAwMDAsIDB4MDQsIDB4MDcsIDEwMDAwMCksDQo+ICt9Ow0KPiAr DQo+ICsvKg0KPiArICogTERPMg0KPiArICogMC44IHRvIDEuMTVWICg1MG1WIHN0ZXApDQo+ICsg Ki8NCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVndWxhdG9yX2xpbmVhcl9yYW5nZSBwY2E5NDUw X2xkbzJfdm9sdHNbXSA9IHsNCj4gKwlSRUdVTEFUT1JfTElORUFSX1JBTkdFKDgwMDAwMCwgMHgw MCwgMHgwNywgNTAwMDApLA0KPiArfTsNCj4gKw0KPiArLyoNCj4gKyAqIExETzMvNA0KPiArICog MC44IHRvIDMuM1YgKDEwMG1WIHN0ZXApDQo+ICsgKi8NCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cmVndWxhdG9yX2xpbmVhcl9yYW5nZSBwY2E5NDUwX2xkbzM0X3ZvbHRzW10gPSB7DQo+ICsJUkVH VUxBVE9SX0xJTkVBUl9SQU5HRSg4MDAwMDAsIDB4MDAsIDB4MTksIDEwMDAwMCksDQo+ICsJUkVH VUxBVE9SX0xJTkVBUl9SQU5HRSgzMzAwMDAwLCAweDFBLCAweDFGLCAwKSwNCj4gK307DQo+ICsN Cj4gKy8qDQo+ICsgKiBMRE81DQo+ICsgKiAxLjggdG8gMy4zViAoMTAwbVYgc3RlcCkNCj4gKyAq Lw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWd1bGF0b3JfbGluZWFyX3JhbmdlIHBjYTk0NTBf bGRvNV92b2x0c1tdID0gew0KPiArCVJFR1VMQVRPUl9MSU5FQVJfUkFOR0UoMTgwMDAwMCwgIDB4 MDAsIDB4MEYsIDEwMDAwMCksDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50IGJ1Y2tfc2V0X2R2 cyhjb25zdCBzdHJ1Y3QgcmVndWxhdG9yX2Rlc2MgKmRlc2MsDQo+ICsJCQlzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wLCBzdHJ1Y3QgcmVnbWFwICpyZWdtYXAsDQo+ICsJCQljaGFyICpwcm9wLCB1bnNp Z25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgbWFzaykNCj4gK3sNCj4gKwlpbnQgcmV0LCBpOw0K PiArCXVpbnQzMl90IHV2Ow0KPiArDQo+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIobnAs IHByb3AsICZ1dik7DQo+ICsJaWYgKHJldCkgew0KPiArCQlpZiAocmV0ICE9IC1FSU5WQUwpDQo+ ICsJCQlyZXR1cm4gcmV0Ow0KPiArCQlyZXR1cm4gMDsNCj4gKwl9DQoNCkkgdGhpbmsgdGhpcyBu ZXN0ZWQgY29uZGl0aW9uIGlzIGVhc2llciB0byByZWFkIGxpa2UgdGhpczoNCg0KaWYgKHJldCAm JiByZXQgPT0gLUVJTlZBTCkNCglyZXR1cm4gMDsNCmVsc2UgaWYgKHJldCkNCglyZXR1cm4gcmV0 Ow0KDQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bl92b2x0YWdlczsgaSsrKSB7DQo+ ICsJCXJldCA9IHJlZ3VsYXRvcl9kZXNjX2xpc3Rfdm9sdGFnZV9saW5lYXJfcmFuZ2UoZGVzYywg aSk7DQo+ICsJCWlmIChyZXQgPCAwKQ0KPiArCQkJY29udGludWU7DQo+ICsJCWlmIChyZXQgPT0g dXYpIHsNCj4gKwkJCWkgPDw9IGZmcyhkZXNjLT52c2VsX21hc2spIC0gMTsNCj4gKwkJCXJldCA9 IHJlZ21hcF91cGRhdGVfYml0cyhyZWdtYXAsIHJlZywgbWFzaywgaSk7DQo+ICsJCQlicmVhazsN Cj4gKwkJfQ0KPiArCX0NCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRp YyBpbnQgcGNhOTQ1MF9zZXRfZHZzX2xldmVscyhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLA0KPiAr CQkJICAgIGNvbnN0IHN0cnVjdCByZWd1bGF0b3JfZGVzYyAqZGVzYywNCj4gKwkJCSAgICBzdHJ1 Y3QgcmVndWxhdG9yX2NvbmZpZyAqY2ZnKQ0KPiArew0KPiArCXN0cnVjdCBwY2E5NDUwX3JlZ3Vs YXRvcl9kZXNjICpkYXRhID0gY29udGFpbmVyX29mKGRlc2MsDQo+ICsJCQkJCXN0cnVjdCBwY2E5 NDUwX3JlZ3VsYXRvcl9kZXNjLCBkZXNjKTsNCj4gKwljb25zdCBzdHJ1Y3QgcGM5NDUwX2R2c19j b25maWcgKmR2cyA9ICZkYXRhLT5kdnM7DQo+ICsJdW5zaWduZWQgaW50IHJlZywgbWFzazsNCj4g KwljaGFyICpwcm9wOw0KPiArCWludCBpLCByZXQgPSAwOw0KPiArDQo+ICsJZm9yIChpID0gMDsg aSA8IFBDQTk0NTBfRFZTX0xFVkVMX01BWDsgaSsrKSB7DQo+ICsJCXN3aXRjaCAoaSkgew0KPiAr CQljYXNlIFBDQTk0NTBfRFZTX0xFVkVMX1JVTjoNCj4gKwkJCXByb3AgPSAibnhwLGR2cy1ydW4t dm9sdGFnZSI7DQo+ICsJCQlyZWcgPSBkdnMtPnJ1bl9yZWc7DQo+ICsJCQltYXNrID0gZHZzLT5y dW5fbWFzazsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNlIFBDQTk0NTBfRFZTX0xFVkVMX1NUQU5E Qlk6DQo+ICsJCQlwcm9wID0gIm54cCxkdnMtc3RhbmRieS12b2x0YWdlIjsNCj4gKwkJCXJlZyA9 IGR2cy0+c3RhbmRieV9yZWc7DQo+ICsJCQltYXNrID0gZHZzLT5zdGFuZGJ5X21hc2s7DQo+ICsJ CQlicmVhazsNCj4gKwkJZGVmYXVsdDoNCj4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiArCQl9DQo+ ICsNCj4gKwkJcmV0ID0gYnVja19zZXRfZHZzKGRlc2MsIG5wLCBjZmctPnJlZ21hcCwgcHJvcCwg cmVnLCBtYXNrKTsNCj4gKwkJaWYgKHJldCkNCj4gKwkJCWJyZWFrOw0KPiArCX0NCj4gKw0KPiAr CXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGNhOTQ1MF9y ZWd1bGF0b3JfZGVzYyBwY2E5NDUwYV9yZWd1bGF0b3JzW10gPSB7DQo+ICsJew0KPiArCQkuZGVz YyA9IHsNCj4gKwkJCS5uYW1lID0gImJ1Y2sxIiwNCj4gKwkJCS5vZl9tYXRjaCA9IG9mX21hdGNo X3B0cigiQlVDSzEiKSwNCj4gKwkJCS5yZWd1bGF0b3JzX25vZGUgPSBvZl9tYXRjaF9wdHIoInJl Z3VsYXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBDQTk0NTBfQlVDSzEsDQo+ICsJCQkub3BzID0gJnBj YTk0NTBfZHZzX2J1Y2tfcmVndWxhdG9yX29wcywNCj4gKwkJCS50eXBlID0gUkVHVUxBVE9SX1ZP TFRBR0UsDQo+ICsJCQkubl92b2x0YWdlcyA9IFBDQTk0NTBfQlVDSzFfVk9MVEFHRV9OVU0sDQo+ ICsJCQkubGluZWFyX3JhbmdlcyA9IHBjYTk0NTBfZHZzX2J1Y2tfdm9sdHMsDQo+ICsJCQkubl9s aW5lYXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2R2c19idWNrX3ZvbHRzKSwNCj4gKwkJ CS52c2VsX3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0sxT1VUX0RWUzAsDQo+ICsJCQkudnNlbF9tYXNr ID0gQlVDSzFPVVRfRFZTMF9NQVNLLA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUwX1JFR19C VUNLMUNUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBCVUNLMV9FTk1PREVfTUFTSywNCj4gKwkJ CS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQkJLm9mX3BhcnNlX2NiID0gcGNhOTQ1MF9zZXRf ZHZzX2xldmVscywNCj4gKwkJfSwNCj4gKwkJLmR2cyA9IHsNCj4gKwkJCS5ydW5fcmVnID0gUENB OTQ1MF9SRUdfQlVDSzFPVVRfRFZTMCwNCj4gKwkJCS5ydW5fbWFzayA9IEJVQ0sxT1VUX0RWUzBf TUFTSywNCj4gKwkJCS5zdGFuZGJ5X3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0sxT1VUX0RWUzEsDQo+ ICsJCQkuc3RhbmRieV9tYXNrID0gQlVDSzFPVVRfRFZTMV9NQVNLLA0KPiArCQl9LA0KPiArCX0s DQo+ICsJew0KPiArCQkuZGVzYyA9IHsNCj4gKwkJCS5uYW1lID0gImJ1Y2syIiwNCj4gKwkJCS5v Zl9tYXRjaCA9IG9mX21hdGNoX3B0cigiQlVDSzIiKSwNCj4gKwkJCS5yZWd1bGF0b3JzX25vZGUg PSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBDQTk0NTBfQlVDSzIs DQo+ICsJCQkub3BzID0gJnBjYTk0NTBfZHZzX2J1Y2tfcmVndWxhdG9yX29wcywNCj4gKwkJCS50 eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0YWdlcyA9IFBDQTk0NTBfQlVD SzJfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGluZWFyX3JhbmdlcyA9IHBjYTk0NTBfZHZzX2J1Y2tf dm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2R2c19i dWNrX3ZvbHRzKSwNCj4gKwkJCS52c2VsX3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0syT1VUX0RWUzAs DQo+ICsJCQkudnNlbF9tYXNrID0gQlVDSzJPVVRfRFZTMF9NQVNLLA0KPiArCQkJLmVuYWJsZV9y ZWcgPSBQQ0E5NDUwX1JFR19CVUNLMkNUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBCVUNLMV9F Tk1PREVfTUFTSywNCj4gKwkJCS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQkJLm9mX3BhcnNl X2NiID0gcGNhOTQ1MF9zZXRfZHZzX2xldmVscywNCj4gKwkJfSwNCj4gKwkJLmR2cyA9IHsNCj4g KwkJCS5ydW5fcmVnID0gUENBOTQ1MF9SRUdfQlVDSzJPVVRfRFZTMCwNCj4gKwkJCS5ydW5fbWFz ayA9IEJVQ0syT1VUX0RWUzBfTUFTSywNCj4gKwkJCS5zdGFuZGJ5X3JlZyA9IFBDQTk0NTBfUkVH X0JVQ0syT1VUX0RWUzEsDQo+ICsJCQkuc3RhbmRieV9tYXNrID0gQlVDSzJPVVRfRFZTMV9NQVNL LA0KPiArCQl9LA0KPiArCX0sDQo+ICsJew0KPiArCQkuZGVzYyA9IHsNCj4gKwkJCS5uYW1lID0g ImJ1Y2szIiwNCj4gKwkJCS5vZl9tYXRjaCA9IG9mX21hdGNoX3B0cigiQlVDSzMiKSwNCj4gKwkJ CS5yZWd1bGF0b3JzX25vZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJCS5p ZCA9IFBDQTk0NTBfQlVDSzMsDQo+ICsJCQkub3BzID0gJnBjYTk0NTBfZHZzX2J1Y2tfcmVndWxh dG9yX29wcywNCj4gKwkJCS50eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0 YWdlcyA9IFBDQTk0NTBfQlVDSzNfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGluZWFyX3JhbmdlcyA9 IHBjYTk0NTBfZHZzX2J1Y2tfdm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFuZ2VzID0gQVJSQVlf U0laRShwY2E5NDUwX2R2c19idWNrX3ZvbHRzKSwNCj4gKwkJCS52c2VsX3JlZyA9IFBDQTk0NTBf UkVHX0JVQ0szT1VUX0RWUzAsDQo+ICsJCQkudnNlbF9tYXNrID0gQlVDSzNPVVRfRFZTMF9NQVNL LA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUwX1JFR19CVUNLM0NUUkwsDQo+ICsJCQkuZW5h YmxlX21hc2sgPSBCVUNLM19FTk1PREVfTUFTSywNCj4gKwkJCS5vd25lciA9IFRISVNfTU9EVUxF LA0KPiArCQkJLm9mX3BhcnNlX2NiID0gcGNhOTQ1MF9zZXRfZHZzX2xldmVscywNCj4gKwkJfSwN Cj4gKwkJLmR2cyA9IHsNCj4gKwkJCS5ydW5fcmVnID0gUENBOTQ1MF9SRUdfQlVDSzNPVVRfRFZT MCwNCj4gKwkJCS5ydW5fbWFzayA9IEJVQ0szT1VUX0RWUzBfTUFTSywNCj4gKwkJCS5zdGFuZGJ5 X3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0szT1VUX0RWUzEsDQo+ICsJCQkuc3RhbmRieV9tYXNrID0g QlVDSzNPVVRfRFZTMV9NQVNLLA0KPiArCQl9LA0KPiArCX0sDQo+ICsJew0KPiArCQkuZGVzYyA9 IHsNCj4gKwkJCS5uYW1lID0gImJ1Y2s0IiwNCj4gKwkJCS5vZl9tYXRjaCA9IG9mX21hdGNoX3B0 cigiQlVDSzQiKSwNCj4gKwkJCS5yZWd1bGF0b3JzX25vZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3Vs YXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBDQTk0NTBfQlVDSzQsDQo+ICsJCQkub3BzID0gJnBjYTk0 NTBfYnVja19yZWd1bGF0b3Jfb3BzLA0KPiArCQkJLnR5cGUgPSBSRUdVTEFUT1JfVk9MVEFHRSwN Cj4gKwkJCS5uX3ZvbHRhZ2VzID0gUENBOTQ1MF9CVUNLNF9WT0xUQUdFX05VTSwNCj4gKwkJCS5s aW5lYXJfcmFuZ2VzID0gcGNhOTQ1MF9idWNrX3ZvbHRzLA0KPiArCQkJLm5fbGluZWFyX3Jhbmdl cyA9IEFSUkFZX1NJWkUocGNhOTQ1MF9idWNrX3ZvbHRzKSwNCj4gKwkJCS52c2VsX3JlZyA9IFBD QTk0NTBfUkVHX0JVQ0s0T1VULA0KPiArCQkJLnZzZWxfbWFzayA9IEJVQ0s0T1VUX01BU0ssDQo+ ICsJCQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0s0Q1RSTCwNCj4gKwkJCS5lbmFibGVf bWFzayA9IEJVQ0s0X0VOTU9ERV9NQVNLLA0KPiArCQkJLm93bmVyID0gVEhJU19NT0RVTEUsDQo+ ICsJCX0sDQo+ICsJfSwNCj4gKwl7DQo+ICsJCS5kZXNjID0gew0KPiArCQkJLm5hbWUgPSAiYnVj azQiLA0KPiArCQkJLm9mX21hdGNoID0gb2ZfbWF0Y2hfcHRyKCJCVUNLNCIpLA0KPiArCQkJLnJl Z3VsYXRvcnNfbm9kZSA9IG9mX21hdGNoX3B0cigicmVndWxhdG9ycyIpLA0KPiArCQkJLmlkID0g UENBOTQ1MF9CVUNLNCwNCj4gKwkJCS5vcHMgPSAmcGNhOTQ1MF9idWNrX3JlZ3VsYXRvcl9vcHMs DQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQ Q0E5NDUwX0JVQ0s0X1ZPTFRBR0VfTlVNLA0KPiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUw X2J1Y2tfdm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUw X2J1Y2tfdm9sdHMpLA0KPiArCQkJLnZzZWxfcmVnID0gUENBOTQ1MF9SRUdfQlVDSzRPVVQsDQo+ ICsJCQkudnNlbF9tYXNrID0gQlVDSzRPVVRfTUFTSywNCj4gKwkJCS5lbmFibGVfcmVnID0gUENB OTQ1MF9SRUdfQlVDSzRDVFJMLA0KPiArCQkJLmVuYWJsZV9tYXNrID0gQlVDSzRfRU5NT0RFX01B U0ssDQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwNCj4gKwkJfSwNCj4gKwl9LA0KDQpUaGUg ZGVzY3JpcHRpb24gZm9yIGJ1Y2s0IGlzIGFkZGVkIHR3aWNlIGhlcmUuDQoNCj4gKwl7DQo+ICsJ CS5kZXNjID0gew0KPiArCQkJLm5hbWUgPSAiYnVjazUiLA0KPiArCQkJLm9mX21hdGNoID0gb2Zf bWF0Y2hfcHRyKCJCVUNLNSIpLA0KPiArCQkJLnJlZ3VsYXRvcnNfbm9kZSA9IG9mX21hdGNoX3B0 cigicmVndWxhdG9ycyIpLA0KPiArCQkJLmlkID0gUENBOTQ1MF9CVUNLNSwNCj4gKwkJCS5vcHMg PSAmcGNhOTQ1MF9idWNrX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9W T0xUQUdFLA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0JVQ0s1X1ZPTFRBR0VfTlVNLA0K PiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2J1Y2tfdm9sdHMsDQo+ICsJCQkubl9saW5l YXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2J1Y2tfdm9sdHMpLA0KPiArCQkJLnZzZWxf cmVnID0gUENBOTQ1MF9SRUdfQlVDSzVPVVQsDQo+ICsJCQkudnNlbF9tYXNrID0gQlVDSzVPVVRf TUFTSywNCj4gKwkJCS5lbmFibGVfcmVnID0gUENBOTQ1MF9SRUdfQlVDSzVDVFJMLA0KPiArCQkJ LmVuYWJsZV9tYXNrID0gQlVDSzVfRU5NT0RFX01BU0ssDQo+ICsJCQkub3duZXIgPSBUSElTX01P RFVMRSwNCj4gKwkJfSwNCj4gKwl9LA0KPiArCXsNCj4gKwkJLmRlc2MgPSB7DQo+ICsJCQkubmFt ZSA9ICJidWNrNiIsDQo+ICsJCQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkJVQ0s2IiksDQo+ ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1bGF0b3JzIiksDQo+ICsJ CQkuaWQgPSBQQ0E5NDUwX0JVQ0s2LA0KPiArCQkJLm9wcyA9ICZwY2E5NDUwX2J1Y2tfcmVndWxh dG9yX29wcywNCj4gKwkJCS50eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0 YWdlcyA9IFBDQTk0NTBfQlVDSzZfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGluZWFyX3JhbmdlcyA9 IHBjYTk0NTBfYnVja192b2x0cywNCj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9TSVpF KHBjYTk0NTBfYnVja192b2x0cyksDQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5NDUwX1JFR19CVUNL Nk9VVCwNCj4gKwkJCS52c2VsX21hc2sgPSBCVUNLNk9VVF9NQVNLLA0KPiArCQkJLmVuYWJsZV9y ZWcgPSBQQ0E5NDUwX1JFR19CVUNLNkNUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBCVUNLNl9F Tk1PREVfTUFTSywNCj4gKwkJCS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQl9LA0KPiArCX0s DQo+ICsJew0KPiArCQkuZGVzYyA9IHsNCj4gKwkJCS5uYW1lID0gImxkbzEiLA0KPiArCQkJLm9m X21hdGNoID0gb2ZfbWF0Y2hfcHRyKCJMRE8xIiksDQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0g b2ZfbWF0Y2hfcHRyKCJyZWd1bGF0b3JzIiksDQo+ICsJCQkuaWQgPSBQQ0E5NDUwX0xETzEsDQo+ ICsJCQkub3BzID0gJnBjYTk0NTBfbGRvX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJF R1VMQVRPUl9WT0xUQUdFLA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0xETzFfVk9MVEFH RV9OVU0sDQo+ICsJCQkubGluZWFyX3JhbmdlcyA9IHBjYTk0NTBfbGRvMV92b2x0cywNCj4gKwkJ CS5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9TSVpFKHBjYTk0NTBfbGRvMV92b2x0cyksDQo+ICsJ CQkudnNlbF9yZWcgPSBQQ0E5NDUwX1JFR19MRE8xQ1RSTCwNCj4gKwkJCS52c2VsX21hc2sgPSBM RE8xT1VUX01BU0ssDQo+ICsJCQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0xETzFDVFJMLA0K PiArCQkJLmVuYWJsZV9tYXNrID0gTERPMV9FTl9NQVNLLA0KPiArCQkJLm93bmVyID0gVEhJU19N T0RVTEUsDQo+ICsJCX0sDQo+ICsJfSwNCj4gKwl7DQo+ICsJCS5kZXNjID0gew0KPiArCQkJLm5h bWUgPSAibGRvMiIsDQo+ICsJCQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkxETzIiKSwNCj4g KwkJCS5yZWd1bGF0b3JzX25vZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJ CS5pZCA9IFBDQTk0NTBfTERPMiwNCj4gKwkJCS5vcHMgPSAmcGNhOTQ1MF9sZG9fcmVndWxhdG9y X29wcywNCj4gKwkJCS50eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0YWdl cyA9IFBDQTk0NTBfTERPMl9WT0xUQUdFX05VTSwNCj4gKwkJCS5saW5lYXJfcmFuZ2VzID0gcGNh OTQ1MF9sZG8yX3ZvbHRzLA0KPiArCQkJLm5fbGluZWFyX3JhbmdlcyA9IEFSUkFZX1NJWkUocGNh OTQ1MF9sZG8yX3ZvbHRzKSwNCj4gKwkJCS52c2VsX3JlZyA9IFBDQTk0NTBfUkVHX0xETzJDVFJM LA0KPiArCQkJLnZzZWxfbWFzayA9IExETzJPVVRfTUFTSywNCj4gKwkJCS5lbmFibGVfcmVnID0g UENBOTQ1MF9SRUdfTERPMkNUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBMRE8yX0VOX01BU0ss DQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwNCj4gKwkJfSwNCj4gKwl9LA0KPiArCXsNCj4g KwkJLmRlc2MgPSB7DQo+ICsJCQkubmFtZSA9ICJsZG8zIiwNCj4gKwkJCS5vZl9tYXRjaCA9IG9m X21hdGNoX3B0cigiTERPMyIpLA0KPiArCQkJLnJlZ3VsYXRvcnNfbm9kZSA9IG9mX21hdGNoX3B0 cigicmVndWxhdG9ycyIpLA0KPiArCQkJLmlkID0gUENBOTQ1MF9MRE8zLA0KPiArCQkJLm9wcyA9 ICZwY2E5NDUwX2xkb19yZWd1bGF0b3Jfb3BzLA0KPiArCQkJLnR5cGUgPSBSRUdVTEFUT1JfVk9M VEFHRSwNCj4gKwkJCS5uX3ZvbHRhZ2VzID0gUENBOTQ1MF9MRE8zX1ZPTFRBR0VfTlVNLA0KPiAr CQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2xkbzM0X3ZvbHRzLA0KPiArCQkJLm5fbGluZWFy X3JhbmdlcyA9IEFSUkFZX1NJWkUocGNhOTQ1MF9sZG8zNF92b2x0cyksDQo+ICsJCQkudnNlbF9y ZWcgPSBQQ0E5NDUwX1JFR19MRE8zQ1RSTCwNCj4gKwkJCS52c2VsX21hc2sgPSBMRE8zT1VUX01B U0ssDQo+ICsJCQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0xETzNDVFJMLA0KPiArCQkJLmVu YWJsZV9tYXNrID0gTERPM19FTl9NQVNLLA0KPiArCQkJLm93bmVyID0gVEhJU19NT0RVTEUsDQo+ ICsJCX0sDQo+ICsJfSwNCj4gKwl7DQo+ICsJCS5kZXNjID0gew0KPiArCQkJLm5hbWUgPSAibGRv NCIsDQo+ICsJCQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkxETzQiKSwNCj4gKwkJCS5yZWd1 bGF0b3JzX25vZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBD QTk0NTBfTERPNCwNCj4gKwkJCS5vcHMgPSAmcGNhOTQ1MF9sZG9fcmVndWxhdG9yX29wcywNCj4g KwkJCS50eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0YWdlcyA9IFBDQTk0 NTBfTERPNF9WT0xUQUdFX05VTSwNCj4gKwkJCS5saW5lYXJfcmFuZ2VzID0gcGNhOTQ1MF9sZG8z NF92b2x0cywNCj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9TSVpFKHBjYTk0NTBfbGRv MzRfdm9sdHMpLA0KPiArCQkJLnZzZWxfcmVnID0gUENBOTQ1MF9SRUdfTERPNENUUkwsDQo+ICsJ CQkudnNlbF9tYXNrID0gTERPNE9VVF9NQVNLLA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUw X1JFR19MRE80Q1RSTCwNCj4gKwkJCS5lbmFibGVfbWFzayA9IExETzRfRU5fTUFTSywNCj4gKwkJ CS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQl9LA0KPiArCX0sDQo+ICsJew0KPiArCQkuZGVz YyA9IHsNCj4gKwkJCS5uYW1lID0gImxkbzUiLA0KPiArCQkJLm9mX21hdGNoID0gb2ZfbWF0Y2hf cHRyKCJMRE81IiksDQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1 bGF0b3JzIiksDQo+ICsJCQkuaWQgPSBQQ0E5NDUwX0xETzUsDQo+ICsJCQkub3BzID0gJnBjYTk0 NTBfbGRvX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLA0K PiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0xETzVfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGlu ZWFyX3JhbmdlcyA9IHBjYTk0NTBfbGRvNV92b2x0cywNCj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMg PSBBUlJBWV9TSVpFKHBjYTk0NTBfbGRvNV92b2x0cyksDQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5 NDUwX1JFR19MRE81Q1RSTF9ILA0KPiArCQkJLnZzZWxfbWFzayA9IExETzVIT1VUX01BU0ssDQo+ ICsJCQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0xETzVDVFJMX0gsDQo+ICsJCQkuZW5hYmxl X21hc2sgPSBMRE81SF9FTl9NQVNLLA0KPiArCQkJLm93bmVyID0gVEhJU19NT0RVTEUsDQo+ICsJ CX0sDQo+ICsJfSwNCj4gK307DQo+ICsNCj4gKy8qDQo+ICsgKiBCdWNrMyByZW1vdmVkIG9uIFBD QTk0NTBCIGFuZCBjb25uZWNlZCB3aXRoIEJ1Y2sxIGludGVybmFsIGZvciBkdWFsIHBoYXNlDQoN Ck1pc3NpbmcgJ3QnIGluIGNvbm5lY3RlZCAgICAgICAgICAgICAgICAgIF4NCg0KPiArICogb24g UENBOTQ1MEMgYXMgbm8gQnVjazMuDQo+ICsgKi8NCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGNh OTQ1MF9yZWd1bGF0b3JfZGVzYyBwY2E5NDUwYmNfcmVndWxhdG9yc1tdID0gew0KPiArCXsNCj4g KwkJLmRlc2MgPSB7DQo+ICsJCQkubmFtZSA9ICJidWNrMSIsDQo+ICsJCQkub2ZfbWF0Y2ggPSBv Zl9tYXRjaF9wdHIoIkJVQ0sxIiksDQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hf cHRyKCJyZWd1bGF0b3JzIiksDQo+ICsJCQkuaWQgPSBQQ0E5NDUwX0JVQ0sxLA0KPiArCQkJLm9w cyA9ICZwY2E5NDUwX2R2c19idWNrX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VM QVRPUl9WT0xUQUdFLA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0JVQ0sxX1ZPTFRBR0Vf TlVNLA0KPiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2R2c19idWNrX3ZvbHRzLA0KPiAr CQkJLm5fbGluZWFyX3JhbmdlcyA9IEFSUkFZX1NJWkUocGNhOTQ1MF9kdnNfYnVja192b2x0cyks DQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5NDUwX1JFR19CVUNLMU9VVF9EVlMwLA0KPiArCQkJLnZz ZWxfbWFzayA9IEJVQ0sxT1VUX0RWUzBfTUFTSywNCj4gKwkJCS5lbmFibGVfcmVnID0gUENBOTQ1 MF9SRUdfQlVDSzFDVFJMLA0KPiArCQkJLmVuYWJsZV9tYXNrID0gQlVDSzFfRU5NT0RFX01BU0ss DQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwNCj4gKwkJCS5vZl9wYXJzZV9jYiA9IHBjYTk0 NTBfc2V0X2R2c19sZXZlbHMsDQo+ICsJCX0sDQo+ICsJCS5kdnMgPSB7DQo+ICsJCQkucnVuX3Jl ZyA9IFBDQTk0NTBfUkVHX0JVQ0sxT1VUX0RWUzAsDQo+ICsJCQkucnVuX21hc2sgPSBCVUNLMU9V VF9EVlMwX01BU0ssDQo+ICsJCQkuc3RhbmRieV9yZWcgPSBQQ0E5NDUwX1JFR19CVUNLMU9VVF9E VlMxLA0KPiArCQkJLnN0YW5kYnlfbWFzayA9IEJVQ0sxT1VUX0RWUzFfTUFTSywNCj4gKwkJfSwN Cj4gKwl9LA0KPiArCXsNCj4gKwkJLmRlc2MgPSB7DQo+ICsJCQkubmFtZSA9ICJidWNrMiIsDQo+ ICsJCQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkJVQ0syIiksDQo+ICsJCQkucmVndWxhdG9y c19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1bGF0b3JzIiksDQo+ICsJCQkuaWQgPSBQQ0E5NDUw X0JVQ0syLA0KPiArCQkJLm9wcyA9ICZwY2E5NDUwX2R2c19idWNrX3JlZ3VsYXRvcl9vcHMsDQo+ ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5 NDUwX0JVQ0syX1ZPTFRBR0VfTlVNLA0KPiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2R2 c19idWNrX3ZvbHRzLA0KPiArCQkJLm5fbGluZWFyX3JhbmdlcyA9IEFSUkFZX1NJWkUocGNhOTQ1 MF9kdnNfYnVja192b2x0cyksDQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5NDUwX1JFR19CVUNLMk9V VF9EVlMwLA0KPiArCQkJLnZzZWxfbWFzayA9IEJVQ0syT1VUX0RWUzBfTUFTSywNCj4gKwkJCS5l bmFibGVfcmVnID0gUENBOTQ1MF9SRUdfQlVDSzJDVFJMLA0KPiArCQkJLmVuYWJsZV9tYXNrID0g QlVDSzFfRU5NT0RFX01BU0ssDQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwNCj4gKwkJCS5v Zl9wYXJzZV9jYiA9IHBjYTk0NTBfc2V0X2R2c19sZXZlbHMsDQo+ICsJCX0sDQo+ICsJCS5kdnMg PSB7DQo+ICsJCQkucnVuX3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0syT1VUX0RWUzAsDQo+ICsJCQku cnVuX21hc2sgPSBCVUNLMk9VVF9EVlMwX01BU0ssDQo+ICsJCQkuc3RhbmRieV9yZWcgPSBQQ0E5 NDUwX1JFR19CVUNLMk9VVF9EVlMxLA0KPiArCQkJLnN0YW5kYnlfbWFzayA9IEJVQ0syT1VUX0RW UzFfTUFTSywNCj4gKwkJfSwNCj4gKwl9LA0KPiArCXsNCj4gKwkJLmRlc2MgPSB7DQo+ICsJCQku bmFtZSA9ICJidWNrNCIsDQo+ICsJCQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkJVQ0s0Iiks DQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1bGF0b3JzIiksDQo+ ICsJCQkuaWQgPSBQQ0E5NDUwX0JVQ0s0LA0KPiArCQkJLm9wcyA9ICZwY2E5NDUwX2J1Y2tfcmVn dWxhdG9yX29wcywNCj4gKwkJCS50eXBlID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92 b2x0YWdlcyA9IFBDQTk0NTBfQlVDSzRfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGluZWFyX3Jhbmdl cyA9IHBjYTk0NTBfYnVja192b2x0cywNCj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9T SVpFKHBjYTk0NTBfYnVja192b2x0cyksDQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5NDUwX1JFR19C VUNLNE9VVCwNCj4gKwkJCS52c2VsX21hc2sgPSBCVUNLNE9VVF9NQVNLLA0KPiArCQkJLmVuYWJs ZV9yZWcgPSBQQ0E5NDUwX1JFR19CVUNLNENUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBCVUNL NF9FTk1PREVfTUFTSywNCj4gKwkJCS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQl9LA0KPiAr CX0sDQo+ICsJew0KPiArCQkuZGVzYyA9IHsNCj4gKwkJCS5uYW1lID0gImJ1Y2s1IiwNCj4gKwkJ CS5vZl9tYXRjaCA9IG9mX21hdGNoX3B0cigiQlVDSzUiKSwNCj4gKwkJCS5yZWd1bGF0b3JzX25v ZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBDQTk0NTBfQlVD SzUsDQo+ICsJCQkub3BzID0gJnBjYTk0NTBfYnVja19yZWd1bGF0b3Jfb3BzLA0KPiArCQkJLnR5 cGUgPSBSRUdVTEFUT1JfVk9MVEFHRSwNCj4gKwkJCS5uX3ZvbHRhZ2VzID0gUENBOTQ1MF9CVUNL NV9WT0xUQUdFX05VTSwNCj4gKwkJCS5saW5lYXJfcmFuZ2VzID0gcGNhOTQ1MF9idWNrX3ZvbHRz LA0KPiArCQkJLm5fbGluZWFyX3JhbmdlcyA9IEFSUkFZX1NJWkUocGNhOTQ1MF9idWNrX3ZvbHRz KSwNCj4gKwkJCS52c2VsX3JlZyA9IFBDQTk0NTBfUkVHX0JVQ0s1T1VULA0KPiArCQkJLnZzZWxf bWFzayA9IEJVQ0s1T1VUX01BU0ssDQo+ICsJCQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0JV Q0s1Q1RSTCwNCj4gKwkJCS5lbmFibGVfbWFzayA9IEJVQ0s1X0VOTU9ERV9NQVNLLA0KPiArCQkJ Lm93bmVyID0gVEhJU19NT0RVTEUsDQo+ICsJCX0sDQo+ICsJfSwNCj4gKwl7DQo+ICsJCS5kZXNj ID0gew0KPiArCQkJLm5hbWUgPSAiYnVjazYiLA0KPiArCQkJLm9mX21hdGNoID0gb2ZfbWF0Y2hf cHRyKCJCVUNLNiIpLA0KPiArCQkJLnJlZ3VsYXRvcnNfbm9kZSA9IG9mX21hdGNoX3B0cigicmVn dWxhdG9ycyIpLA0KPiArCQkJLmlkID0gUENBOTQ1MF9CVUNLNiwNCj4gKwkJCS5vcHMgPSAmcGNh OTQ1MF9idWNrX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdF LA0KPiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0JVQ0s2X1ZPTFRBR0VfTlVNLA0KPiArCQkJ LmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2J1Y2tfdm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFu Z2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2J1Y2tfdm9sdHMpLA0KPiArCQkJLnZzZWxfcmVnID0g UENBOTQ1MF9SRUdfQlVDSzZPVVQsDQo+ICsJCQkudnNlbF9tYXNrID0gQlVDSzZPVVRfTUFTSywN Cj4gKwkJCS5lbmFibGVfcmVnID0gUENBOTQ1MF9SRUdfQlVDSzZDVFJMLA0KPiArCQkJLmVuYWJs ZV9tYXNrID0gQlVDSzZfRU5NT0RFX01BU0ssDQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwN Cj4gKwkJfSwNCj4gKwl9LA0KPiArCXsNCj4gKwkJLmRlc2MgPSB7DQo+ICsJCQkubmFtZSA9ICJs ZG8xIiwNCj4gKwkJCS5vZl9tYXRjaCA9IG9mX21hdGNoX3B0cigiTERPMSIpLA0KPiArCQkJLnJl Z3VsYXRvcnNfbm9kZSA9IG9mX21hdGNoX3B0cigicmVndWxhdG9ycyIpLA0KPiArCQkJLmlkID0g UENBOTQ1MF9MRE8xLA0KPiArCQkJLm9wcyA9ICZwY2E5NDUwX2xkb19yZWd1bGF0b3Jfb3BzLA0K PiArCQkJLnR5cGUgPSBSRUdVTEFUT1JfVk9MVEFHRSwNCj4gKwkJCS5uX3ZvbHRhZ2VzID0gUENB OTQ1MF9MRE8xX1ZPTFRBR0VfTlVNLA0KPiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2xk bzFfdm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2xk bzFfdm9sdHMpLA0KPiArCQkJLnZzZWxfcmVnID0gUENBOTQ1MF9SRUdfTERPMUNUUkwsDQo+ICsJ CQkudnNlbF9tYXNrID0gTERPMU9VVF9NQVNLLA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUw X1JFR19MRE8xQ1RSTCwNCj4gKwkJCS5lbmFibGVfbWFzayA9IExETzFfRU5fTUFTSywNCj4gKwkJ CS5vd25lciA9IFRISVNfTU9EVUxFLA0KPiArCQl9LA0KPiArCX0sDQo+ICsJew0KPiArCQkuZGVz YyA9IHsNCj4gKwkJCS5uYW1lID0gImxkbzIiLA0KPiArCQkJLm9mX21hdGNoID0gb2ZfbWF0Y2hf cHRyKCJMRE8yIiksDQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1 bGF0b3JzIiksDQo+ICsJCQkuaWQgPSBQQ0E5NDUwX0xETzIsDQo+ICsJCQkub3BzID0gJnBjYTk0 NTBfbGRvX3JlZ3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLA0K PiArCQkJLm5fdm9sdGFnZXMgPSBQQ0E5NDUwX0xETzJfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGlu ZWFyX3JhbmdlcyA9IHBjYTk0NTBfbGRvMl92b2x0cywNCj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMg PSBBUlJBWV9TSVpFKHBjYTk0NTBfbGRvMl92b2x0cyksDQo+ICsJCQkudnNlbF9yZWcgPSBQQ0E5 NDUwX1JFR19MRE8yQ1RSTCwNCj4gKwkJCS52c2VsX21hc2sgPSBMRE8yT1VUX01BU0ssDQo+ICsJ CQkuZW5hYmxlX3JlZyA9IFBDQTk0NTBfUkVHX0xETzJDVFJMLA0KPiArCQkJLmVuYWJsZV9tYXNr ID0gTERPMl9FTl9NQVNLLA0KPiArCQkJLm93bmVyID0gVEhJU19NT0RVTEUsDQo+ICsJCX0sDQo+ ICsJfSwNCj4gKwl7DQo+ICsJCS5kZXNjID0gew0KPiArCQkJLm5hbWUgPSAibGRvMyIsDQo+ICsJ CQkub2ZfbWF0Y2ggPSBvZl9tYXRjaF9wdHIoIkxETzMiKSwNCj4gKwkJCS5yZWd1bGF0b3JzX25v ZGUgPSBvZl9tYXRjaF9wdHIoInJlZ3VsYXRvcnMiKSwNCj4gKwkJCS5pZCA9IFBDQTk0NTBfTERP MywNCj4gKwkJCS5vcHMgPSAmcGNhOTQ1MF9sZG9fcmVndWxhdG9yX29wcywNCj4gKwkJCS50eXBl ID0gUkVHVUxBVE9SX1ZPTFRBR0UsDQo+ICsJCQkubl92b2x0YWdlcyA9IFBDQTk0NTBfTERPM19W T0xUQUdFX05VTSwNCj4gKwkJCS5saW5lYXJfcmFuZ2VzID0gcGNhOTQ1MF9sZG8zNF92b2x0cywN Cj4gKwkJCS5uX2xpbmVhcl9yYW5nZXMgPSBBUlJBWV9TSVpFKHBjYTk0NTBfbGRvMzRfdm9sdHMp LA0KPiArCQkJLnZzZWxfcmVnID0gUENBOTQ1MF9SRUdfTERPM0NUUkwsDQo+ICsJCQkudnNlbF9t YXNrID0gTERPM09VVF9NQVNLLA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUwX1JFR19MRE8z Q1RSTCwNCj4gKwkJCS5lbmFibGVfbWFzayA9IExETzNfRU5fTUFTSywNCj4gKwkJCS5vd25lciA9 IFRISVNfTU9EVUxFLA0KPiArCQl9LA0KPiArCX0sDQo+ICsJew0KPiArCQkuZGVzYyA9IHsNCj4g KwkJCS5uYW1lID0gImxkbzQiLA0KPiArCQkJLm9mX21hdGNoID0gb2ZfbWF0Y2hfcHRyKCJMRE80 IiksDQo+ICsJCQkucmVndWxhdG9yc19ub2RlID0gb2ZfbWF0Y2hfcHRyKCJyZWd1bGF0b3JzIiks DQo+ICsJCQkuaWQgPSBQQ0E5NDUwX0xETzQsDQo+ICsJCQkub3BzID0gJnBjYTk0NTBfbGRvX3Jl Z3VsYXRvcl9vcHMsDQo+ICsJCQkudHlwZSA9IFJFR1VMQVRPUl9WT0xUQUdFLA0KPiArCQkJLm5f dm9sdGFnZXMgPSBQQ0E5NDUwX0xETzRfVk9MVEFHRV9OVU0sDQo+ICsJCQkubGluZWFyX3Jhbmdl cyA9IHBjYTk0NTBfbGRvMzRfdm9sdHMsDQo+ICsJCQkubl9saW5lYXJfcmFuZ2VzID0gQVJSQVlf U0laRShwY2E5NDUwX2xkbzM0X3ZvbHRzKSwNCj4gKwkJCS52c2VsX3JlZyA9IFBDQTk0NTBfUkVH X0xETzRDVFJMLA0KPiArCQkJLnZzZWxfbWFzayA9IExETzRPVVRfTUFTSywNCj4gKwkJCS5lbmFi bGVfcmVnID0gUENBOTQ1MF9SRUdfTERPNENUUkwsDQo+ICsJCQkuZW5hYmxlX21hc2sgPSBMRE80 X0VOX01BU0ssDQo+ICsJCQkub3duZXIgPSBUSElTX01PRFVMRSwNCj4gKwkJfSwNCj4gKwl9LA0K PiArCXsNCj4gKwkJLmRlc2MgPSB7DQo+ICsJCQkubmFtZSA9ICJsZG81IiwNCj4gKwkJCS5vZl9t YXRjaCA9IG9mX21hdGNoX3B0cigiTERPNSIpLA0KPiArCQkJLnJlZ3VsYXRvcnNfbm9kZSA9IG9m X21hdGNoX3B0cigicmVndWxhdG9ycyIpLA0KPiArCQkJLmlkID0gUENBOTQ1MF9MRE81LA0KPiAr CQkJLm9wcyA9ICZwY2E5NDUwX2xkb19yZWd1bGF0b3Jfb3BzLA0KPiArCQkJLnR5cGUgPSBSRUdV TEFUT1JfVk9MVEFHRSwNCj4gKwkJCS5uX3ZvbHRhZ2VzID0gUENBOTQ1MF9MRE81X1ZPTFRBR0Vf TlVNLA0KPiArCQkJLmxpbmVhcl9yYW5nZXMgPSBwY2E5NDUwX2xkbzVfdm9sdHMsDQo+ICsJCQku bl9saW5lYXJfcmFuZ2VzID0gQVJSQVlfU0laRShwY2E5NDUwX2xkbzVfdm9sdHMpLA0KPiArCQkJ LnZzZWxfcmVnID0gUENBOTQ1MF9SRUdfTERPNUNUUkxfSCwNCj4gKwkJCS52c2VsX21hc2sgPSBM RE81SE9VVF9NQVNLLA0KPiArCQkJLmVuYWJsZV9yZWcgPSBQQ0E5NDUwX1JFR19MRE81Q1RSTF9I LA0KPiArCQkJLmVuYWJsZV9tYXNrID0gTERPNUhfRU5fTUFTSywNCj4gKwkJCS5vd25lciA9IFRI SVNfTU9EVUxFLA0KPiArCQl9LA0KPiArCX0sDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaXJxcmV0 dXJuX3QgcGNhOTQ1MF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkYXRhKQ0KPiArew0KPiAr CXN0cnVjdCBwY2E5NDUwICpwY2E5NDUwID0gZGF0YTsNCj4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdt YXAgPSBwY2E5NDUwLT5yZWdtYXA7DQo+ICsJdW5zaWduZWQgaW50IHN0YXR1czsNCj4gKwlpbnQg cmV0Ow0KPiArDQo+ICsJcmV0ID0gcmVnbWFwX3JlYWQocmVnbWFwLCBQQ0E5NDUwX1JFR19JTlQx LCAmc3RhdHVzKTsNCj4gKwlpZiAocmV0IDwgMCkgew0KPiArCQlkZXZfZXJyKHBjYTk0NTAtPmRl diwNCj4gKwkJCSJGYWlsZWQgdG8gcmVhZCBJTlQxKCVkKVxuIiwgcmV0KTsNCj4gKwkJcmV0dXJu IElSUV9OT05FOw0KPiArCX0NCj4gKw0KPiArCWlmIChzdGF0dXMgJiBJUlFfUFdST04pDQo+ICsJ CWRldl93YXJuKHBjYTk0NTAtPmRldiwgIlBXUk9OIGludGVycnVwdC5cbiIpOw0KPiArDQo+ICsJ aWYgKHN0YXR1cyAmIElSUV9XRE9HQikNCj4gKwkJZGV2X3dhcm4ocGNhOTQ1MC0+ZGV2LCAiV0RP R0IgaW50ZXJydXB0LlxuIik7DQo+ICsNCj4gKwlpZiAoc3RhdHVzICYgSVJRX1ZSX0ZMVDEpDQo+ ICsJCWRldl93YXJuKHBjYTk0NTAtPmRldiwgIlZSRkxUMSBpbnRlcnJ1cHQuXG4iKTsNCj4gKw0K PiArCWlmIChzdGF0dXMgJiBJUlFfVlJfRkxUMikNCj4gKwkJZGV2X3dhcm4ocGNhOTQ1MC0+ZGV2 LCAiVlJGTFQyIGludGVycnVwdC5cbiIpOw0KPiArDQo+ICsJaWYgKHN0YXR1cyAmIElSUV9MT1dW U1lTKQ0KPiArCQlkZXZfd2FybihwY2E5NDUwLT5kZXYsICJMT1dWU1lTIGludGVycnVwdC5cbiIp Ow0KPiArDQo+ICsJaWYgKHN0YXR1cyAmIElSUV9USEVSTV8xMDUpDQo+ICsJCWRldl93YXJuKHBj YTk0NTAtPmRldiwgIklSUV9USEVSTV8xMDUgaW50ZXJydXB0LlxuIik7DQo+ICsNCj4gKwlpZiAo c3RhdHVzICYgSVJRX1RIRVJNXzEyNSkNCj4gKwkJZGV2X3dhcm4ocGNhOTQ1MC0+ZGV2LCAiSVJR X1RIRVJNXzEyNSBpbnRlcnJ1cHQuXG4iKTsNCj4gKw0KPiArCXJldHVybiBJUlFfSEFORExFRDsN Cj4gK30NCj4gKw0KPiArc3RhdGljIGludCBwY2E5NDUwX2kyY19wcm9iZShzdHJ1Y3QgaTJjX2Ns aWVudCAqaTJjLA0KPiArCQkJICAgICBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpDQo+ ICt7DQo+ICsJZW51bSBwY2E5NDUwX2NoaXBfdHlwZSB0eXBlID0gKHVuc2lnbmVkIGludCkodWlu dHB0cl90KQ0KPiArCQkJCSAgICAgIG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YSgmaTJjLT5kZXYp Ow0KPiArCWNvbnN0IHN0cnVjdCBwY2E5NDUwX3JlZ3VsYXRvcl9kZXNjCSpyZWd1bGF0b3JfZGVz YzsNCj4gKwlzdHJ1Y3QgcmVndWxhdG9yX2NvbmZpZyBjb25maWcgPSB7IH07DQo+ICsJc3RydWN0 IHBjYTk0NTAgKnBjYTk0NTA7DQo+ICsJdW5zaWduZWQgaW50IGRldmljZV9pZCwgaTsNCj4gKwlp bnQgcmV0Ow0KPiArDQo+ICsJaWYgKCFpMmMtPmlycSkgew0KPiArCQlkZXZfZXJyKCZpMmMtPmRl diwgIk5vIElSUSBjb25maWd1cmVkP1xuIik7DQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArCX0N Cj4gKw0KPiArCXBjYTk0NTAgPSBkZXZtX2t6YWxsb2MoJmkyYy0+ZGV2LCBzaXplb2Yoc3RydWN0 IHBjYTk0NTApLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAoIXBjYTk0NTApDQo+ICsJCXJldHVybiAt RU5PTUVNOw0KPiArDQo+ICsJc3dpdGNoICh0eXBlKSB7DQo+ICsJY2FzZSBQQ0E5NDUwX1RZUEVf UENBOTQ1MEE6DQo+ICsJCXJlZ3VsYXRvcl9kZXNjID0gcGNhOTQ1MGFfcmVndWxhdG9yczsNCj4g KwkJcGNhOTQ1MC0+cmNudCA9IEFSUkFZX1NJWkUocGNhOTQ1MGFfcmVndWxhdG9ycyk7DQo+ICsJ CWJyZWFrOw0KPiArCWNhc2UgUENBOTQ1MF9UWVBFX1BDQTk0NTBCQzoNCj4gKwkJcmVndWxhdG9y X2Rlc2MgPSBwY2E5NDUwYmNfcmVndWxhdG9yczsNCj4gKwkJcGNhOTQ1MC0+cmNudCA9IEFSUkFZ X1NJWkUocGNhOTQ1MGJjX3JlZ3VsYXRvcnMpOw0KPiArCQlicmVhazsNCj4gKwlkZWZhdWx0Og0K PiArCQlkZXZfZXJyKCZpMmMtPmRldiwgIlVua25vd24gZGV2aWNlIHR5cGUiKTsNCj4gKwkJcmV0 dXJuIC1FSU5WQUw7DQo+ICsJfQ0KPiArDQo+ICsJcGNhOTQ1MC0+aXJxID0gaTJjLT5pcnE7DQo+ ICsJcGNhOTQ1MC0+dHlwZSA9IHR5cGU7DQo+ICsJcGNhOTQ1MC0+ZGV2ID0gJmkyYy0+ZGV2Ow0K PiArDQo+ICsJZGV2X3NldF9kcnZkYXRhKCZpMmMtPmRldiwgcGNhOTQ1MCk7DQo+ICsNCj4gKwlw Y2E5NDUwLT5yZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X2kyYyhpMmMsDQo+ICsJCQkJCSAgICAg ICAmcGNhOTQ1MF9yZWdtYXBfY29uZmlnKTsNCj4gKwlpZiAoSVNfRVJSKHBjYTk0NTAtPnJlZ21h cCkpIHsNCj4gKwkJZGV2X2VycigmaTJjLT5kZXYsICJyZWdtYXAgaW5pdGlhbGl6YXRpb24gZmFp bGVkXG4iKTsNCj4gKwkJcmV0dXJuIFBUUl9FUlIocGNhOTQ1MC0+cmVnbWFwKTsNCj4gKwl9DQo+ ICsNCj4gKwlyZXQgPSByZWdtYXBfcmVhZChwY2E5NDUwLT5yZWdtYXAsIFBDQTk0NTBfUkVHX0RF Vl9JRCwgJmRldmljZV9pZCk7DQo+ICsJaWYgKHJldCkgew0KPiArCQlkZXZfZXJyKCZpMmMtPmRl diwgIlJlYWQgZGV2aWNlIGlkIGVycm9yXG4iKTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ ICsNCj4gKwkvKiBDaGVjayB5b3VyIGJvYXJkIGFuZCBkdHMgZm9yIG1hdGNoIHRoZSByaWdodCBw bWljICovDQo+ICsJaWYgKCgoZGV2aWNlX2lkID4+IDQpICE9IDB4MSAmJiB0eXBlID09IFBDQTk0 NTBfVFlQRV9QQ0E5NDUwQSkgfHwNCj4gKwkgICAgKChkZXZpY2VfaWQgPj4gNCkgIT0gMHgzICYm IHR5cGUgPT0gUENBOTQ1MF9UWVBFX1BDQTk0NTBCQykpIHsNCj4gKwkJZGV2X2VycigmaTJjLT5k ZXYsICJEZXZpY2UgaWQoJXgpIG1pc21hdGNoZWRcbiIsDQo+ICsJCQlkZXZpY2VfaWQgPj4gNCk7 DQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArCX0NCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBw Y2E5NDUwLT5yY250OyBpKyspIHsNCj4gKwkJY29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9kZXNjICpk ZXNjOw0KPiArCQlzdHJ1Y3QgcmVndWxhdG9yX2RldiAqcmRldjsNCj4gKwkJY29uc3Qgc3RydWN0 IHBjYTk0NTBfcmVndWxhdG9yX2Rlc2MgKnI7DQo+ICsNCj4gKwkJciA9ICZyZWd1bGF0b3JfZGVz Y1tpXTsNCj4gKwkJZGVzYyA9ICZyLT5kZXNjOw0KPiArDQo+ICsJCWNvbmZpZy5yZWdtYXAgPSBw Y2E5NDUwLT5yZWdtYXA7DQo+ICsJCWNvbmZpZy5kZXYgPSBwY2E5NDUwLT5kZXY7DQo+ICsNCj4g KwkJcmRldiA9IGRldm1fcmVndWxhdG9yX3JlZ2lzdGVyKHBjYTk0NTAtPmRldiwgZGVzYywgJmNv bmZpZyk7DQo+ICsJCWlmIChJU19FUlIocmRldikpIHsNCj4gKwkJCXJldCA9IFBUUl9FUlIocmRl dik7DQo+ICsJCQlkZXZfZXJyKHBjYTk0NTAtPmRldiwNCj4gKwkJCQkiRmFpbGVkIHRvIHJlZ2lz dGVyIHJlZ3VsYXRvciglcyk6ICVkXG4iLA0KPiArCQkJCWRlc2MtPm5hbWUsIHJldCk7DQo+ICsJ CQlyZXR1cm4gcmV0Ow0KPiArCQl9DQo+ICsJfQ0KPiArDQo+ICsJcmV0ID0gZGV2bV9yZXF1ZXN0 X3RocmVhZGVkX2lycShwY2E5NDUwLT5kZXYsIHBjYTk0NTAtPmlycSwgTlVMTCwNCj4gKwkJCQkJ cGNhOTQ1MF9pcnFfaGFuZGxlciwNCj4gKwkJCQkJKElSUUZfVFJJR0dFUl9GQUxMSU5HIHwgSVJR Rl9PTkVTSE9UKSwNCj4gKwkJCQkJInBjYTk0NTAtaXJxIiwgcGNhOTQ1MCk7DQo+ICsJaWYgKHJl dCAhPSAwKSB7DQo+ICsJCWRldl9lcnIocGNhOTQ1MC0+ZGV2LCAiRmFpbGVkIHRvIHJlcXVlc3Qg SVJROiAlZFxuIiwNCj4gKwkJCXBjYTk0NTAtPmlycSk7DQo+ICsJCXJldHVybiByZXQ7DQo+ICsJ fQ0KPiArCS8qIFVubWFzayBhbGwgaW50ZXJydXB0IGV4Y2VwdCBQV1JPTi9XRE9HL1JTVkQgKi8N Cj4gKwlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMocGNhOTQ1MC0+cmVnbWFwLCBQQ0E5NDUwX1JF R19JTlQxX01TSywNCj4gKwkJCQlJUlFfVlJfRkxUMSB8IElSUV9WUl9GTFQyIHwgSVJRX0xPV1ZT WVMgfA0KPiArCQkJCUlSUV9USEVSTV8xMDUgfCBJUlFfVEhFUk1fMTI1LA0KPiArCQkJCUlSUV9Q V1JPTiB8IElSUV9XRE9HQiB8IElSUV9SU1ZEKTsNCj4gKwlpZiAocmV0KSB7DQo+ICsJCWRldl9l cnIoJmkyYy0+ZGV2LCAiVW5tYXNrIGlycSBlcnJvclxuIik7DQo+ICsJCXJldHVybiByZXQ7DQo+ ICsJfQ0KDQpXaGF0IGFib3V0IGFkZGluZyBhIHByaW50IHdoZW4gdGhlIHByb2JlIGhhcyBzdWNj ZWVkZWQ/IE90aGVyd2lzZSB3ZSANCmRvbid0IHNlZSBhbnl0aGluZyBhYm91dCB0aGUgZHJpdmVy IGluIHRoZSBsb2csIHdoZW4gaXQgcHJvYmVkIA0Kc3VjY2Vzc2Z1bGx5LiBNYXliZSBzb21ldGhp bmcgbGlrZToNCg0KZGV2X2luZm8oJmkyYy0+ZGV2LCAicHJvYmVkXG4iKTsNCg0Kd2hpY2ggd2ls bCByZXN1bHQgaW4gdGhlIGZvbGxvd2luZyBtZXNzYWdlOg0KDQpueHAtcGNhOTQ1MCAwLTAwMjU6 IHByb2JlZA0KDQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgcGNhOTQ1MF9vZl9tYXRjaFtdID0gew0KPiArCXsNCj4gKwkJ LmNvbXBhdGlibGUgPSAibnhwLHBjYTk0NTBhIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKVBDQTk0 NTBfVFlQRV9QQ0E5NDUwQSwNCj4gKwl9LA0KPiArCXsNCj4gKwkJLmNvbXBhdGlibGUgPSAibnhw LHBjYTk0NTBiIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKVBDQTk0NTBfVFlQRV9QQ0E5NDUwQkMs DQo+ICsJfSwNCj4gKwl7DQo+ICsJCS5jb21wYXRpYmxlID0gIm54cCxwY2E5NDUwYyIsDQo+ICsJ CS5kYXRhID0gKHZvaWQgKilQQ0E5NDUwX1RZUEVfUENBOTQ1MEJDLA0KPiArCX0sDQo+ICsJeyB9 DQo+ICt9Ow0KPiArTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcGNhOTQ1MF9vZl9tYXRjaCk7DQo+ ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBwY2E5NDUwX2kyY19kcml2ZXIgPSB7DQo+ ICsJLmRyaXZlciA9IHsNCj4gKwkJLm5hbWUgPSAibnhwLXBjYTk0NTAiLA0KPiArCQkub2ZfbWF0 Y2hfdGFibGUgPSBwY2E5NDUwX29mX21hdGNoLA0KPiArCX0sDQo+ICsJLnByb2JlID0gcGNhOTQ1 MF9pMmNfcHJvYmUsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50IF9faW5pdCBwY2E5NDUwX2ky Y19pbml0KHZvaWQpDQo+ICt7DQo+ICsJcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZwY2E5NDUwX2ky Y19kcml2ZXIpOw0KPiArfQ0KPiArbW9kdWxlX2luaXQocGNhOTQ1MF9pMmNfaW5pdCk7DQo+ICsN Cj4gK3N0YXRpYyB2b2lkIF9fZXhpdCBwY2E5NDUwX2kyY19leGl0KHZvaWQpDQo+ICt7DQo+ICsJ aTJjX2RlbF9kcml2ZXIoJnBjYTk0NTBfaTJjX2RyaXZlcik7DQo+ICt9DQo+ICttb2R1bGVfZXhp dChwY2E5NDUwX2kyY19leGl0KTsNCj4gKw0KPiArTU9EVUxFX0FVVEhPUigiUm9iaW4gR29uZyA8 eWliaW4uZ29uZ0BueHAuY29tPiIpOw0KPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJOWFAgUENBOTQ1 MCBQb3dlciBNYW5hZ2VtZW50IElDIGRyaXZlciIpOw0KPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIp Ow0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yZWd1bGF0b3IvcGNhOTQ1MC5oIGIvaW5j bHVkZS9saW51eC9yZWd1bGF0b3IvcGNhOTQ1MC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwLi4xYmJkMzAxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvaW5jbHVk ZS9saW51eC9yZWd1bGF0b3IvcGNhOTQ1MC5oDQo+IEBAIC0wLDAgKzEsMjE5IEBADQo+ICsvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlciAqLw0KPiArLyogQ29weXJp Z2h0IDIwMjAgTlhQLiAqLw0KPiArDQo+ICsjaWZuZGVmIF9fTElOVVhfUkVHX1BDQTk0NTBfSF9f DQo+ICsjZGVmaW5lIF9fTElOVVhfUkVHX1BDQTk0NTBfSF9fDQo+ICsNCj4gKyNpbmNsdWRlIDxs aW51eC9yZWdtYXAuaD4NCj4gKw0KPiArZW51bSBwY2E5NDUwX2NoaXBfdHlwZSB7DQo+ICsJUENB OTQ1MF9UWVBFX1BDQTk0NTBBID0gMCwNCj4gKwlQQ0E5NDUwX1RZUEVfUENBOTQ1MEJDLA0KPiAr CVBDQTk0NTBfVFlQRV9BTU9VTlQsDQo+ICt9Ow0KPiArDQo+ICtlbnVtIHsNCj4gKwlQQ0E5NDUw X0JVQ0sxID0gMCwNCj4gKwlQQ0E5NDUwX0JVQ0syLA0KPiArCVBDQTk0NTBfQlVDSzMsDQo+ICsJ UENBOTQ1MF9CVUNLNCwNCj4gKwlQQ0E5NDUwX0JVQ0s1LA0KPiArCVBDQTk0NTBfQlVDSzYsDQo+ ICsJUENBOTQ1MF9MRE8xLA0KPiArCVBDQTk0NTBfTERPMiwNCj4gKwlQQ0E5NDUwX0xETzMsDQo+ ICsJUENBOTQ1MF9MRE80LA0KPiArCVBDQTk0NTBfTERPNSwNCj4gKwlQQ0E5NDUwX1JFR1VMQVRP Ul9DTlQsDQo+ICt9Ow0KPiArDQo+ICtlbnVtIHsNCj4gKwlQQ0E5NDUwX0RWU19MRVZFTF9SVU4g PSAwLA0KPiArCVBDQTk0NTBfRFZTX0xFVkVMX1NUQU5EQlksDQo+ICsJUENBOTQ1MF9EVlNfTEVW RUxfTUFYLA0KPiArfTsNCj4gKw0KPiArI2RlZmluZSBQQ0E5NDUwX0JVQ0sxX1ZPTFRBR0VfTlVN CTB4ODANCj4gKyNkZWZpbmUgUENBOTQ1MF9CVUNLMl9WT0xUQUdFX05VTQkweDgwDQo+ICsjZGVm aW5lIFBDQTk0NTBfQlVDSzNfVk9MVEFHRV9OVU0JMHg4MA0KPiArI2RlZmluZSBQQ0E5NDUwX0JV Q0s0X1ZPTFRBR0VfTlVNCTB4ODANCj4gKw0KPiArI2RlZmluZSBQQ0E5NDUwX0JVQ0s1X1ZPTFRB R0VfTlVNCTB4ODANCj4gKyNkZWZpbmUgUENBOTQ1MF9CVUNLNl9WT0xUQUdFX05VTQkweDgwDQo+ ICsNCj4gKyNkZWZpbmUgUENBOTQ1MF9MRE8xX1ZPTFRBR0VfTlVNCTB4MDgNCj4gKyNkZWZpbmUg UENBOTQ1MF9MRE8yX1ZPTFRBR0VfTlVNCTB4MDgNCj4gKyNkZWZpbmUgUENBOTQ1MF9MRE8zX1ZP TFRBR0VfTlVNCTB4MjANCj4gKyNkZWZpbmUgUENBOTQ1MF9MRE80X1ZPTFRBR0VfTlVNCTB4MjAN Cj4gKyNkZWZpbmUgUENBOTQ1MF9MRE81X1ZPTFRBR0VfTlVNCTB4MTANCj4gKw0KPiArZW51bSB7 DQo+ICsJUENBOTQ1MF9SRUdfREVWX0lECSAgICA9IDB4MDAsDQo+ICsJUENBOTQ1MF9SRUdfSU5U MQkgICAgPSAweDAxLA0KPiArCVBDQTk0NTBfUkVHX0lOVDFfTVNLCSAgICA9IDB4MDIsDQo+ICsJ UENBOTQ1MF9SRUdfU1RBVFVTMQkgICAgPSAweDAzLA0KPiArCVBDQTk0NTBfUkVHX1NUQVRVUzIJ ICAgID0gMHgwNCwNCj4gKwlQQ0E5NDUwX1JFR19QV1JPTl9TVEFUCSAgICA9IDB4MDUsDQo+ICsJ UENBOTQ1MF9SRUdfU1dSU1QJICAgID0gMHgwNiwNCj4gKwlQQ0E5NDUwX1JFR19QV1JDVFJMICAg ICAgICAgPSAweDA3LA0KPiArCVBDQTk0NTBfUkVHX1JFU0VUX0NUUkwgICAgICA9IDB4MDgsDQo+ ICsJUENBOTQ1MF9SRUdfQ09ORklHMSAgICAgICAgID0gMHgwOSwNCj4gKwlQQ0E5NDUwX1JFR19D T05GSUcyICAgICAgICAgPSAweDBBLA0KPiArCVBDQTk0NTBfUkVHX0JVQ0sxMjNfRFZTICAgICA9 IDB4MEMsDQo+ICsJUENBOTQ1MF9SRUdfQlVDSzFPVVRfTElNSVQgID0gMHgwRCwNCj4gKwlQQ0E5 NDUwX1JFR19CVUNLMk9VVF9MSU1JVCAgPSAweDBFLA0KPiArCVBDQTk0NTBfUkVHX0JVQ0szT1VU X0xJTUlUICA9IDB4MEYsDQo+ICsJUENBOTQ1MF9SRUdfQlVDSzFDVFJMICAgICAgID0gMHgxMCwN Cj4gKwlQQ0E5NDUwX1JFR19CVUNLMU9VVF9EVlMwICAgPSAweDExLA0KPiArCVBDQTk0NTBfUkVH X0JVQ0sxT1VUX0RWUzEgICA9IDB4MTIsDQo+ICsJUENBOTQ1MF9SRUdfQlVDSzJDVFJMICAgICAg ID0gMHgxMywNCj4gKwlQQ0E5NDUwX1JFR19CVUNLMk9VVF9EVlMwICAgPSAweDE0LA0KPiArCVBD QTk0NTBfUkVHX0JVQ0syT1VUX0RWUzEgICA9IDB4MTUsDQo+ICsJUENBOTQ1MF9SRUdfQlVDSzND VFJMICAgICAgID0gMHgxNiwNCj4gKwlQQ0E5NDUwX1JFR19CVUNLM09VVF9EVlMwICAgPSAweDE3 LA0KPiArCVBDQTk0NTBfUkVHX0JVQ0szT1VUX0RWUzEgICA9IDB4MTgsDQo+ICsJUENBOTQ1MF9S RUdfQlVDSzRDVFJMICAgICAgID0gMHgxOSwNCj4gKwlQQ0E5NDUwX1JFR19CVUNLNE9VVCAgICAg ICAgPSAweDFBLA0KPiArCVBDQTk0NTBfUkVHX0JVQ0s1Q1RSTCAgICAgICA9IDB4MUIsDQo+ICsJ UENBOTQ1MF9SRUdfQlVDSzVPVVQgICAgICAgID0gMHgxQywNCj4gKwlQQ0E5NDUwX1JFR19CVUNL NkNUUkwgICAgICAgPSAweDFELA0KPiArCVBDQTk0NTBfUkVHX0JVQ0s2T1VUICAgICAgICA9IDB4 MUUsDQo+ICsJUENBOTQ1MF9SRUdfTERPX0FEX0NUUkwgICAgID0gMHgyMCwNCj4gKwlQQ0E5NDUw X1JFR19MRE8xQ1RSTCAgICAgICAgPSAweDIxLA0KPiArCVBDQTk0NTBfUkVHX0xETzJDVFJMICAg ICAgICA9IDB4MjIsDQo+ICsJUENBOTQ1MF9SRUdfTERPM0NUUkwgICAgICAgID0gMHgyMywNCj4g KwlQQ0E5NDUwX1JFR19MRE80Q1RSTCAgICAgICAgPSAweDI0LA0KPiArCVBDQTk0NTBfUkVHX0xE TzVDVFJMX0wgICAgICA9IDB4MjUsDQo+ICsJUENBOTQ1MF9SRUdfTERPNUNUUkxfSCAgICAgID0g MHgyNiwNCj4gKwlQQ0E5NDUwX1JFR19MT0FEU1dfQ1RSTCAgICAgPSAweDJBLA0KPiArCVBDQTk0 NTBfUkVHX1ZSRkxUMV9TVFMgICAgICA9IDB4MkIsDQo+ICsJUENBOTQ1MF9SRUdfVlJGTFQyX1NU UyAgICAgID0gMHgyQywNCj4gKwlQQ0E5NDUwX1JFR19WUkZMVDFfTUFTSyAgICAgPSAweDJELA0K PiArCVBDQTk0NTBfUkVHX1ZSRkxUMl9NQVNLICAgICA9IDB4MkUsDQo+ICsJUENBOTQ1MF9NQVhf UkVHSVNURVIJICAgID0gMHgyRiwNCj4gK307DQo+ICsNCj4gKy8qIFBDQTk0NTAgQlVDSyBFTk1P REUgYml0cyAqLw0KPiArI2RlZmluZSBCVUNLX0VOTU9ERV9PRkYJCQkweDAwDQo+ICsjZGVmaW5l IEJVQ0tfRU5NT0RFX09OUkVRCQkweDAxDQo+ICsjZGVmaW5lIEJVQ0tfRU5NT0RFX09OUkVRX1NU QllSRVEJMHgwMg0KPiArI2RlZmluZSBCVUNLX0VOTU9ERV9PTgkJCTB4MDMNCj4gKw0KPiArLyog UENBOTQ1MF9SRUdfQlVDSzFfQ1RSTCBiaXRzICovDQo+ICsjZGVmaW5lIEJVQ0sxX1JBTVBfTUFT SwkJCTB4QzANCj4gKyNkZWZpbmUgQlVDSzFfUkFNUF8yNU1WCQkJMHgwDQo+ICsjZGVmaW5lIEJV Q0sxX1JBTVBfMTJQNU1WCQkweDENCj4gKyNkZWZpbmUgQlVDSzFfUkFNUF82UDI1TVYJCTB4Mg0K PiArI2RlZmluZSBCVUNLMV9SQU1QXzNQMTI1TVYJCTB4Mw0KPiArI2RlZmluZSBCVUNLMV9EVlNf Q1RSTAkJCTB4MTANCj4gKyNkZWZpbmUgQlVDSzFfQUQJCQkweDA4DQo+ICsjZGVmaW5lIEJVQ0sx X0ZQV00JCQkweDA0DQo+ICsjZGVmaW5lIEJVQ0sxX0VOTU9ERV9NQVNLCQkweDAzDQo+ICsNCj4g Ky8qIFBDQTk0NTBfUkVHX0JVQ0syX0NUUkwgYml0cyAqLw0KPiArI2RlZmluZSBCVUNLMl9SQU1Q X01BU0sJCQkweEMwDQo+ICsjZGVmaW5lIEJVQ0syX1JBTVBfMjVNVgkJCTB4MA0KPiArI2RlZmlu ZSBCVUNLMl9SQU1QXzEyUDVNVgkJMHgxDQo+ICsjZGVmaW5lIEJVQ0syX1JBTVBfNlAyNU1WCQkw eDINCj4gKyNkZWZpbmUgQlVDSzJfUkFNUF8zUDEyNU1WCQkweDMNCj4gKyNkZWZpbmUgQlVDSzJf RFZTX0NUUkwJCQkweDEwDQo+ICsjZGVmaW5lIEJVQ0syX0FECQkJMHgwOA0KPiArI2RlZmluZSBC VUNLMl9GUFdNCQkJMHgwNA0KPiArI2RlZmluZSBCVUNLMl9FTk1PREVfTUFTSwkJMHgwMw0KPiAr DQo+ICsvKiBQQ0E5NDUwX1JFR19CVUNLM19DVFJMIGJpdHMgKi8NCj4gKyNkZWZpbmUgQlVDSzNf UkFNUF9NQVNLCQkJMHhDMA0KPiArI2RlZmluZSBCVUNLM19SQU1QXzI1TVYJCQkweDANCj4gKyNk ZWZpbmUgQlVDSzNfUkFNUF8xMlA1TVYJCTB4MQ0KPiArI2RlZmluZSBCVUNLM19SQU1QXzZQMjVN VgkJMHgyDQo+ICsjZGVmaW5lIEJVQ0szX1JBTVBfM1AxMjVNVgkJMHgzDQo+ICsjZGVmaW5lIEJV Q0szX0RWU19DVFJMCQkJMHgxMA0KPiArI2RlZmluZSBCVUNLM19BRAkJCTB4MDgNCj4gKyNkZWZp bmUgQlVDSzNfRlBXTQkJCTB4MDQNCj4gKyNkZWZpbmUgQlVDSzNfRU5NT0RFX01BU0sJCTB4MDMN Cj4gKw0KPiArLyogUENBOTQ1MF9SRUdfQlVDSzRfQ1RSTCBiaXRzICovDQo+ICsjZGVmaW5lIEJV Q0s0X0FECQkJMHgwOA0KPiArI2RlZmluZSBCVUNLNF9GUFdNCQkJMHgwNA0KPiArI2RlZmluZSBC VUNLNF9FTk1PREVfTUFTSwkJMHgwMw0KPiArDQo+ICsvKiBQQ0E5NDUwX1JFR19CVUNLNV9DVFJM IGJpdHMgKi8NCj4gKyNkZWZpbmUgQlVDSzVfQUQJCQkweDA4DQo+ICsjZGVmaW5lIEJVQ0s1X0ZQ V00JCQkweDA0DQo+ICsjZGVmaW5lIEJVQ0s1X0VOTU9ERV9NQVNLCQkweDAzDQo+ICsNCj4gKy8q IFBDQTk0NTBfUkVHX0JVQ0s2X0NUUkwgYml0cyAqLw0KPiArI2RlZmluZSBCVUNLNl9BRAkJCTB4 MDgNCj4gKyNkZWZpbmUgQlVDSzZfRlBXTQkJCTB4MDQNCj4gKyNkZWZpbmUgQlVDSzZfRU5NT0RF X01BU0sJCTB4MDMNCj4gKw0KPiArLyogUENBOTQ1MF9CVUNLMU9VVF9EVlMwIGJpdHMgKi8NCj4g KyNkZWZpbmUgQlVDSzFPVVRfRFZTMF9NQVNLCQkweDdGDQo+ICsjZGVmaW5lIEJVQ0sxT1VUX0RW UzBfREVGQVVMVAkJMHgxNA0KPiArDQo+ICsvKiBQQ0E5NDUwX0JVQ0sxT1VUX0RWUzEgYml0cyAq Lw0KPiArI2RlZmluZSBCVUNLMU9VVF9EVlMxX01BU0sJCTB4N0YNCj4gKyNkZWZpbmUgQlVDSzFP VVRfRFZTMV9ERUZBVUxUCQkweDE0DQo+ICsNCj4gKy8qIFBDQTk0NTBfQlVDSzJPVVRfRFZTMCBi aXRzICovDQo+ICsjZGVmaW5lIEJVQ0syT1VUX0RWUzBfTUFTSwkJMHg3Rg0KPiArI2RlZmluZSBC VUNLMk9VVF9EVlMwX0RFRkFVTFQJCTB4MTQNCj4gKw0KPiArLyogUENBOTQ1MF9CVUNLMk9VVF9E VlMxIGJpdHMgKi8NCj4gKyNkZWZpbmUgQlVDSzJPVVRfRFZTMV9NQVNLCQkweDdGDQo+ICsjZGVm aW5lIEJVQ0syT1VUX0RWUzFfREVGQVVMVAkJMHgxNA0KPiArDQo+ICsvKiBQQ0E5NDUwX0JVQ0sz T1VUX0RWUzAgYml0cyAqLw0KPiArI2RlZmluZSBCVUNLM09VVF9EVlMwX01BU0sJCTB4N0YNCj4g KyNkZWZpbmUgQlVDSzNPVVRfRFZTMF9ERUZBVUxUCQkweDE0DQo+ICsNCj4gKy8qIFBDQTk0NTBf QlVDSzNPVVRfRFZTMSBiaXRzICovDQo+ICsjZGVmaW5lIEJVQ0szT1VUX0RWUzFfTUFTSwkJMHg3 Rg0KPiArI2RlZmluZSBCVUNLM09VVF9EVlMxX0RFRkFVTFQJCTB4MTQNCj4gKw0KPiArLyogUENB OTQ1MF9SRUdfQlVDSzRPVVQgYml0cyAqLw0KPiArI2RlZmluZSBCVUNLNE9VVF9NQVNLCQkJMHg3 Rg0KPiArI2RlZmluZSBCVUNLNE9VVF9ERUZBVUxUCQkweDZDDQo+ICsNCj4gKy8qIFBDQTk0NTBf UkVHX0JVQ0s1T1VUIGJpdHMgKi8NCj4gKyNkZWZpbmUgQlVDSzVPVVRfTUFTSwkJCTB4N0YNCj4g KyNkZWZpbmUgQlVDSzVPVVRfREVGQVVMVAkJMHgzMA0KPiArDQo+ICsvKiBQQ0E5NDUwX1JFR19C VUNLNk9VVCBiaXRzICovDQo+ICsjZGVmaW5lIEJVQ0s2T1VUX01BU0sJCQkweDdGDQo+ICsjZGVm aW5lIEJVQ0s2T1VUX0RFRkFVTFQJCTB4MTQNCj4gKw0KPiArLyogUENBOTQ1MF9SRUdfTERPMV9W T0xUIGJpdHMgKi8NCj4gKyNkZWZpbmUgTERPMV9FTl9NQVNLCQkJMHhDMA0KPiArI2RlZmluZSBM RE8xT1VUX01BU0sJCQkweDA3DQo+ICsNCj4gKy8qIFBDQTk0NTBfUkVHX0xETzJfVk9MVCBiaXRz ICovDQo+ICsjZGVmaW5lIExETzJfRU5fTUFTSwkJCTB4QzANCj4gKyNkZWZpbmUgTERPMk9VVF9N QVNLCQkJMHgwNw0KPiArDQo+ICsvKiBQQ0E5NDUwX1JFR19MRE8zX1ZPTFQgYml0cyAqLw0KPiAr I2RlZmluZSBMRE8zX0VOX01BU0sJCQkweEMwDQo+ICsjZGVmaW5lIExETzNPVVRfTUFTSwkJCTB4 MEYNCj4gKw0KPiArLyogUENBOTQ1MF9SRUdfTERPNF9WT0xUIGJpdHMgKi8NCj4gKyNkZWZpbmUg TERPNF9FTl9NQVNLCQkJMHhDMA0KPiArI2RlZmluZSBMRE80T1VUX01BU0sJCQkweDBGDQo+ICsN Cj4gKy8qIFBDQTk0NTBfUkVHX0xETzVfVk9MVCBiaXRzICovDQo+ICsjZGVmaW5lIExETzVMX0VO X01BU0sJCQkweEMwDQo+ICsjZGVmaW5lIExETzVMT1VUX01BU0sJCQkweDBGDQo+ICsNCj4gKyNk ZWZpbmUgTERPNUhfRU5fTUFTSwkJCTB4QzANCj4gKyNkZWZpbmUgTERPNUhPVVRfTUFTSwkJCTB4 MEYNCj4gKw0KPiArLyogUENBOTQ1MF9SRUdfSVJRIGJpdHMgKi8NCj4gKyNkZWZpbmUgSVJRX1BX Uk9OCQkJMHg4MA0KPiArI2RlZmluZSBJUlFfV0RPR0IJCQkweDQwDQo+ICsjZGVmaW5lIElSUV9S U1ZECQkJMHgyMA0KPiArI2RlZmluZSBJUlFfVlJfRkxUMQkJCTB4MTANCj4gKyNkZWZpbmUgSVJR X1ZSX0ZMVDIJCQkweDA4DQo+ICsjZGVmaW5lIElSUV9MT1dWU1lTCQkJMHgwNA0KPiArI2RlZmlu ZSBJUlFfVEhFUk1fMTA1CQkJMHgwMg0KPiArI2RlZmluZSBJUlFfVEhFUk1fMTI1CQkJMHgwMQ0K PiArDQo+ICsjZW5kaWYgLyogX19MSU5VWF9SRUdfUENBOTQ1MF9IX18gKi8NCj4g