From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 39798A04FD; Mon, 23 May 2022 19:53:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CDB734067B; Mon, 23 May 2022 19:53:20 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 6683240156 for ; Mon, 23 May 2022 19:53:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653328398; x=1684864398; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=E513kqAzND652ie+JimxUjkNuJ0E+N9qG4Lev3b6X3s=; b=IscT5tbcoBAZPHxOPylTtvA+erz7ZOC+PE0CwDYLBBATkifnb1iq0ezO 9CpNF2qDeKR41USO13jOBdEQ5AAKEdD0cBrUGRj9GA5k6KvHVf3w3byrS R7joCo4Dpqy7jql4CSEFY35gSGxveU+Xs+p11SIZOBf/sFOyVj5XbllXu Yxkn3S7icTY+xFG5xpMzx/Gu9YCvHzJPnh9PXmj9X1VDj9b1jMB2nXVmF 74PqmP8h/sW9DFUlaJv1mKRkNketgZv641D8wKWhU/R9HG7F2i0ju/siO AwUuomBUXUwrepfVOYUbKSjfRfoFE2XShpWdEyrsFCLpi33frtsvpCLU6 A==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="255371256" X-IronPort-AV: E=Sophos;i="5.91,246,1647327600"; d="scan'208";a="255371256" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 10:53:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,246,1647327600"; d="scan'208";a="716817583" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 23 May 2022 10:53:16 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 23 May 2022 10:53:16 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 23 May 2022 10:53:15 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 23 May 2022 10:53:15 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 23 May 2022 10:53:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LV+isPCTjxBR8G2xakbYGJWu7a9iCYIfjpiPAiMhIoCDCPKbeEiy57hj0kYrfYYYt6dibD5GNExQE3wuqJr0yr87Bh0C68DNOOG1tMiK7STICs2gqr2+laPKb+TnzoTLXm59vW2v0jQdz6mtPQl1bUmD+tAd/wqnbf2V+lppKhgVQNgYmG1cWp76uiWieZxgBe/iwGjHGp33chcc0bJIUW69v/GdrflvHHs3J/j0X+gZELJ5yXQOmt4w52R8rtK1dF+kBJ+qo3mMeuIw5Htt4Gdeygzoo7spHu/LBg2ZO2WMbnKEjEpenVr+F7nsrPg/9PwfylMpRTSu48m2bw/7RQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E513kqAzND652ie+JimxUjkNuJ0E+N9qG4Lev3b6X3s=; b=gSh2rfqzhemWcRFG1aVI4bGU6RvN2b2l4gdVse3/PCiGDH3QhodMA2TTbFydxBMkXhbq/XNDt8DM9ZzmfPDIqlvI/lmzx/EQZstOzWTEiMQZfzWeyCcQQv3sUk0yqLBZEsNEQfFJKqWq5hWEPRwinIHFWDbSi6jC1BR5R71bhOzTCK5KIoecTK5hQ0slPJO5Zlh+h8KuJ6PzIPTGiUwkMrav3Epj97Szx9mhbtv2tcYp9HhpEBng6IUb4Oz/jfCg0Gln7MdT9IwgD0EHfJkNF/GMpSfddMSzA/VCib6gZ082s0G4HAlorvRQpQ1gHVetyJse/TMAf0w7p0gDwqUtpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by DM6PR11MB4459.namprd11.prod.outlook.com (2603:10b6:5:1de::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.17; Mon, 23 May 2022 17:53:13 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::40f:170c:c586:7219]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::40f:170c:c586:7219%2]) with mapi id 15.20.5273.023; Mon, 23 May 2022 17:53:13 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "gakhil@marvell.com" CC: "thomas@monjalon.net" , "Kinsella, Ray" , "Richardson, Bruce" , "hemant.agrawal@nxp.com" , "Zhang, Mingshan" , "david.marchand@redhat.com" Subject: RE: [PATCH v2 1/5] baseband/acc100: introduce PMD for ACC101 Thread-Topic: [PATCH v2 1/5] baseband/acc100: introduce PMD for ACC101 Thread-Index: AQHYWmPF7LUpBYm9FUiaxxC9iYOhDa0VAwQAgAIcJHCAAPXLAIAU0BNA Date: Mon, 23 May 2022 17:53:13 +0000 Message-ID: References: <1651083423-33202-1-git-send-email-nicolas.chautru@intel.com> <1651083423-33202-2-git-send-email-nicolas.chautru@intel.com> <04c28045-69ff-a8fc-b092-589e916407dc@redhat.com> In-Reply-To: <04c28045-69ff-a8fc-b092-589e916407dc@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e8b727bc-b832-4bbc-fe99-08da3ce51bb9 x-ms-traffictypediagnostic: DM6PR11MB4459:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1sav8IWIugIeFjXMDQNRVYU1etc2XH0t2TEZ5iyBAB5y/1QCvPO1OpI6teruily11pYkRtBijOqZeE5E7ysA5ynrfVYns0nUvuyUe7Fx8DpSUDinGA0Llco7ZDyNhCjcCW5s+sr4HoLF3OXOLFi0q1gG52SXN8AkxBxDrwWZLmOf2VtaQzi15hqNyt4nXrkwbboRwAImB3osBJF+CdQo+KFnExaUCf99G51p7+bif9Jq/LLk0nk/JZ5bhKwKtI9Zbwcr6L72L3Aa/RamTXQuhp+Uyv4q9FwIbZvKZIXDBvF2C2BXK3PGqLQ7952WO1eO/TNF6EeHOIoSZN7sOdbUea3AMOP82URVs3RGesTKPahMgv3KKlTdOR7qaycYr2ik/mSvJsTVcydOvPVem/v8EkZ5RzJJyhc/DV9oD5H5Y0kzpfskMGD3l46Z4IN1+4vLZ0vKnLESSWMWnUKsiwFOKzLKO1mqiGgRxbo10PCS58hEFsUCq1HvL8TujPd398awxgscN+qFK4d6KAsfZ69nYPT8oTovh+kTeynFRB7LqrqLJfdXjLbu2mGcR42J9iXO2+gCSloxdHqKbqoOSICRVmO9Dp1mTYrikQ5UKEAgLb5tM7Isthx2Uz4UCEr77Jry1eTM01xoX1mVApdO96eVUwVwirMAX+LRNIvBS3khDP8nRepq+EKxije1TZ1U3X6j/vdKmeZ0pXmFgeDSEBUrZw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(186003)(71200400001)(66556008)(110136005)(4326008)(76116006)(66946007)(83380400001)(64756008)(66446008)(66476007)(33656002)(508600001)(5660300002)(8936002)(8676002)(52536014)(26005)(9686003)(54906003)(38070700005)(6506007)(53546011)(38100700002)(2906002)(7696005)(55016003)(30864003)(82960400001)(122000001)(86362001)(316002)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3hPdkk4cGd0Yi8rTnlJSlkzT3ZiMmRtZXFWWXgyanpFMUZUQVlyVTFvSFJt?= =?utf-8?B?dFlwUGNJWkVveXFvU1VZd0ZDT2kxK1VSc1UyMU9taHFQdHI4ZVZvVHZoRjZ6?= =?utf-8?B?QUY4QlNORG0wajhFR1U5TlNFTTNUTmFlU0JlWUU0dGNwdXhQOXdSR0U0d011?= =?utf-8?B?a25OcnFtNGNtKzVvUThIV3UyOWV3dmlTdkVqcHJoZDgwK2s4eS84bzd2WEIr?= =?utf-8?B?Y09Ld0VqTmlralQ4SjNtTnRMdTdncEdHM01LVFlqakJwM1pLSCtMNVJGSzFk?= =?utf-8?B?R3Nvd2R1Rjc4VzZOUmNvYzVRb0hwejJZNDBJNjhYcDNtNTRkRUlFa1VuK3pk?= =?utf-8?B?czlsaEpqNUZOTllmcDJGLzZCVEZIOUlUdmh4cnl3bmN1eUl5d3lYdXU4Y3BP?= =?utf-8?B?QnUvS2hjK0N4OWV0OTZIVVlkRUU3SUhVS2FpVTdMdDZMV1dLa1dtRk1NdW56?= =?utf-8?B?QkJaSEZibHBXWEZ4RVo4Y0U4eGVyK2dab1RqbGRaZlRFbzJ2MUtIcENpRlQz?= =?utf-8?B?RzZaN005UU5hR2FncUN1ZisyWHFlTG0wOVBJZjJNaXpRMWpEc1FQdHN0UVR4?= =?utf-8?B?ay93Z2kyMXc2elh6SWZDT1BHcGZLWFVjWFFRcVdKZnZBOCs1bTluR2JLa3l4?= =?utf-8?B?NUJFaFFtUmRPZHgvTEdQZ0pGU0VPY2t2aVdiTWE4cG9wZXkxUkNvc0lPd3ps?= =?utf-8?B?QVErTlNKVW52bmhrSitLOEtEVkVCblVJa1IzdG1Va05YYmZlZ2VHMXQrVlFk?= =?utf-8?B?QXJyUm5UcE5qL3lhOUxjaUtNdHB4QlpOWFJwNGRUR0o0cElUTThSaU5MR0xC?= =?utf-8?B?TkR4VnhYSzNHN2wwQnhURTBZaEhxYkx3c1hGOG42S2o3STRvaFZIczhBSHcw?= =?utf-8?B?dDZWeCsyeW9wa0l2MnZJRGZBSDllRHJoaUpmclhtZ0pFTFB2QThEQ01wRmRk?= =?utf-8?B?RGpnWFRUVHBCa1VmUGJVcmVEcGJYckY1WlNxWTF6blBuZFpET2RUUzArQlRG?= =?utf-8?B?WHBLdCtzT09aQmFRdHZ4cVFaRk9HTkcvWDgzWE8zeTJmaTJXZ1RyL1BaV1dO?= =?utf-8?B?TS9zTnJBR1FGQ1hURmJ2enJJNytOOGVOSFlHcHhJaVZMQkpHb1BiMjk2NE12?= =?utf-8?B?clgrUWZHNEt4TFRRWTFnTFF2eFVQZTBtTjhoYVRqdXpPd2srQ2d2T2o0QXJh?= =?utf-8?B?SUNTcHdWbk1VZVR1ZVVGOXVZRXR4blFLMFdjTEtvWTkyOWd3eW93d1prSWFO?= =?utf-8?B?cUw1WVhTYUtnQ2g5T3pYaUFLaUttemRyUE80bURuNTk3Y1hNQUpaR1NoQ2lt?= =?utf-8?B?ek9LK0gvVnEyaVlWSGd5NWtlYUtQYzlCNEpFWm5nV2QzVzVoRXp0Vk9kcnND?= =?utf-8?B?cmtEMFJwdlcvMWh0bmJod2YzYUszNkJmZUdaVmQ0QmdDVWpuTjd2R1AxM1lu?= =?utf-8?B?bHpIZVN4dWYzaTNUYWRFcjN5VXR4dFBGZ1lhSy9JNlJiOU8vclhNdTZhQlZH?= =?utf-8?B?TWJHSkxFRk1yVlVudGVPb25tdDlsQ3ZobHRWd3RMTWwxZ3VhdURYaWlXaTRE?= =?utf-8?B?VmtSZWxWUVQvc3dqZTZRNmVyVFAyd05uV2QwbG5HWWNBWFpScjVaSU5GaGZR?= =?utf-8?B?VWxoZ1Q1d09RS0xCUm44d0VvK1dKTEkxYTVxTUlNOHlsWVdROFJ2Wktpb2Er?= =?utf-8?B?NXVMcEZxOE5xNm5UYUxhck0vWlFBQ1VtZGp2YXZvdFd1VFd6Si9Qb2dsUUdN?= =?utf-8?B?eG9vSTBsWWIzaEN1d2xOYnY0QkFCQlhONkRzTTlxVGZHdnVacGZjNXhIYWRm?= =?utf-8?B?TWtNVnl5YXZBV2JlWFc1YzEvc3hVakl5WFdTOXgwRk81dnZKbVlxZ1lkWW16?= =?utf-8?B?aUsrTFM2ckpqemcyWjdzQUZxSUZlK2QrdVNKc2VtQ3JCcDd0ZS9Tck5HRGR3?= =?utf-8?B?cmQ1bHlwOC9qNWVMOENTaHltR001NHdxV2huR1hDVnQ4Wk81WEZHZ2tFTDhP?= =?utf-8?B?Yk5mR2JoQ25PYXRZWWRrdUVBeWFWWHBBbjFMMVlTZnhRS1lhWkpqU251WFJF?= =?utf-8?B?WUZVK2xRSnRFeDdkMXViSmorZi9FdGlycHpJN0ZDOTUvMWFJSzl1K3BOZitL?= =?utf-8?B?Uzhud0dZcVRSaGFqNzBwWDRrUUhOVDl0eXpHRDhLcW9PSWQyVHVaQzZ4TWg4?= =?utf-8?B?OVRISlkxZlEySm5hZlBSQmxSY2IxOXRqOXBxOEVEdHZQQWxwNVJFakExMHBo?= =?utf-8?B?YWZTd3pFYXJPc1pJdW1hMDdkQ29DSEFDZmRmR1ZCSXczVEU5VVFzWktFNmU0?= =?utf-8?B?ckZLR0VadVc5OVYvUkVvTkdIdngycHFKYkJxTE9oSGFnMURBczBpK01kYWxk?= =?utf-8?Q?sc0OTewTynt1bS38=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8b727bc-b832-4bbc-fe99-08da3ce51bb9 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2022 17:53:13.6385 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Aw+rcjlaHnzDyNPGppWKJRKFOpga4KlvsueD7PQyu87UzhHuGuNz28LuhKGYUDYf8YA6/tRGByErWmIk7Jwuwr+NAqp204MCqbNkevGtKrU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4459 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgVG9tLCANCkkgcmVhbGl6ZSBJIGhhZCBub3QgcmVwbGllZCB0byB0aGF0IG9uZQ0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRvbSBSaXggPHRyaXhAcmVkaGF0LmNv bT4NCj4gU2VudDogVHVlc2RheSwgTWF5IDEwLCAyMDIyIDQ6NTYgQU0NCj4gVG86IENoYXV0cnUs IE5pY29sYXMgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7DQo+IGdh a2hpbEBtYXJ2ZWxsLmNvbQ0KPiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgS2luc2VsbGEsIFJh eSA8cmF5LmtpbnNlbGxhQGludGVsLmNvbT47DQo+IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbT47DQo+IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IFpoYW5nLCBN aW5nc2hhbiA8bWluZ3NoYW4uemhhbmdAaW50ZWwuY29tPjsNCj4gZGF2aWQubWFyY2hhbmRAcmVk aGF0LmNvbQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvNV0gYmFzZWJhbmQvYWNjMTAwOiBp bnRyb2R1Y2UgUE1EIGZvciBBQ0MxMDENCj4gDQo+IA0KPiBPbiA1LzkvMjIgMjoyMyBQTSwgQ2hh dXRydSwgTmljb2xhcyB3cm90ZToNCj4gPiBIaSBUb20sDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogVG9tIFJpeCA8dHJpeEByZWRoYXQuY29tPg0KPiA+ PiBTZW50OiBTdW5kYXksIE1heSA4LCAyMDIyIDY6MDMgQU0NCj4gPj4gVG86IENoYXV0cnUsIE5p Y29sYXMgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7DQo+ID4+IGdh a2hpbEBtYXJ2ZWxsLmNvbQ0KPiA+PiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgS2luc2VsbGEs IFJheSA8cmF5LmtpbnNlbGxhQGludGVsLmNvbT47DQo+ID4+IFJpY2hhcmRzb24sIEJydWNlIDxi cnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47DQo+ID4+IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207 IFpoYW5nLCBNaW5nc2hhbg0KPiA8bWluZ3NoYW4uemhhbmdAaW50ZWwuY29tPjsNCj4gPj4gZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvNV0g YmFzZWJhbmQvYWNjMTAwOiBpbnRyb2R1Y2UgUE1EIGZvciBBQ0MxMDENCj4gPj4NCj4gPj4gVGhp cyBpcyBhIGdvb2Qgc3RhcnQgcmV1c2luZyBjb2RlLCBidXQgSSB0aGluayBpdCBuZWVkcyB0byBk byBtb3JlIHJldXNlLg0KPiA+Pg0KPiA+PiBUaGVzZSBjYXJkcyBzaG91bGQgYmUgdmVyeSBjbG9z ZSBhbmQgbGlrZWx5IHJlcHJlc2VudCBhIGZhbWlseSBvZiBjYXJkcy4NCj4gPj4NCj4gPj4gT24g NC8yNy8yMiAxMToxNiBBTSwgTmljb2xhcyBDaGF1dHJ1IHdyb3RlOg0KPiA+Pj4gU3VwcG9ydCBm b3IgQUNDMTAxIGFzIGEgZGVyaXZhdGl2ZSBvZiBBQ0MxMDAuDQo+ID4+PiBSZXVzaW5nIGV4aXN0 aW5nIGNvZGUgd2hlbiBwb3NzaWJsZS4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBOaWNv bGFzIENoYXV0cnUgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ ICAgIGRvYy9ndWlkZXMvYmJkZXZzL2FjYzEwMS5yc3QgICAgICAgICAgICAgfCAyMzcNCj4gPj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+Pj4gICAgZG9jL2d1aWRlcy9iYmRl dnMvZmVhdHVyZXMvYWNjMTAxLmluaSAgICB8ICAxMyArKw0KPiA+Pj4gICAgZG9jL2d1aWRlcy9i YmRldnMvaW5kZXgucnN0ICAgICAgICAgICAgICB8ICAgMSArDQo+ID4+PiAgICBkb2MvZ3VpZGVz L3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdCAgIHwgICA0ICsNCj4gPj4+ICAgIGRyaXZlcnMv YmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmMgfCAxOTQNCj4gPj4gKysrKysrKysrKysr KysrKysrKysrKysrLQ0KPiA+Pj4gICAgZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEw MF9wbWQuaCB8ICAgNiArDQo+ID4+PiAgICBkcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNj MTAxX3BtZC5oIHwgIDYxICsrKysrKysrDQo+ID4+PiAgICA3IGZpbGVzIGNoYW5nZWQsIDUxMSBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pj4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRvYy9ndWlkZXMvYmJkZXZzL2FjYzEwMS5yc3QNCj4gPj4+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkb2MvZ3VpZGVzL2JiZGV2cy9mZWF0dXJlcy9hY2MxMDEuaW5pDQo+ID4+PiAgICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMV9wbWQuaA0KPiA+ Pj4NCj4gPj4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2JiZGV2cy9hY2MxMDEucnN0DQo+ID4+ PiBiL2RvYy9ndWlkZXMvYmJkZXZzL2FjYzEwMS5yc3QgbmV3IGZpbGUgbW9kZSAxMDA2NDQgaW5k ZXgNCj4gPj4+IDAwMDAwMDAuLjQ2YzMxMGINCj4gPj4+IC0tLSAvZGV2L251bGwNCj4gPj4+ICsr KyBiL2RvYy9ndWlkZXMvYmJkZXZzL2FjYzEwMS5yc3QNCj4gPj4+IEBAIC0wLDAgKzEsMjM3IEBA DQo+ID4+PiArLi4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPj4+ ICsgICAgQ29weXJpZ2h0KGMpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24NCj4gPj4+ICsNCj4gPj4+ ICtJbnRlbChSKSBBQ0MxMDEgNUcvNEcgRkVDIFBvbGwgTW9kZSBEcml2ZXINCj4gPj4+ICs9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPj4+ICsNCj4gPj4+ICtU aGUgQkJERVYgQUNDMTAxIDVHLzRHIEZFQyBwb2xsIG1vZGUgZHJpdmVyIChQTUQpIHN1cHBvcnRz IGFuDQo+ID4+PiAraW1wbGVtZW50YXRpb24gb2YgYSBWUkFOIEZFQyB3aXJlbGVzcyBhY2NlbGVy YXRpb24gZnVuY3Rpb24uDQo+ID4+PiArVGhpcyBkZXZpY2UgaXMgYWxzbyBrbm93biBhcyBNb3Vu dCBDaXJydXMuDQo+ID4+PiArVGhpcyBpcyBhIGZvbGxvdy11cCB0byBNb3VudCBCcnljZSAoQUND MTAwKSBhbmQgaW5jbHVkZXMgZml4ZXMsDQo+ID4+PiAraW1wcm92ZWQgZmVhdHVyZSBzZXQgZm9y IGVycm9yIHNjZW5hcmlvcyBhbmQgcGVyZm9ybWFuY2UgY2FwYWNpdHkNCj4gaW5jcmVhc2UuDQo+ ID4+IGluY2x1ZGVzIGZpeGVzLCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgYW5kIGluY3JlYXNlZCBw ZXJmb3JtYW5jZS4NCj4gPj4NCj4gPj4gQSBxdWljayBsb29rIGF0IGFjYzEwMC5yc3QgYW5kIHRo ZSBidWxrIG9mIGFjYzEwMS5yc3QgbG9va3MgdGhlIHNhbWUuDQo+ID4+DQo+ID4+IENvbnNpZGVy IGEgdXNlciBvZiB0aGUgYWNjMTAwIGlzIHVwZ3JhZGluZyB0byBhY2MxMDEsIHRoZXkgd2lsbA0K PiA+Pg0KPiA+PiB3YW50IHRvIGtub3cgd2hhdCBpcyB0aGUgc2FtZSBhbmQgd2hhdCBoYXMgY2hh bmdlZCBhbmQgdGVzdA0KPiBhY2NvcmRpbmdseS4NCj4gPj4NCj4gPj4gVGhlc2UgdHdvIGRvY3Vt ZW50cyBzaG91bGQgYmUgY29tYmluZWQuDQo+ID4+DQo+ID4gV2VsbCBpbiB0ZXJtIG9mIGRvY3Vt ZW50YXRpb24sIGZvciB0aGUgdXNlcnMgaXQgaGVscHMgdG8gYmUgYWJsZSB0byBmb2xsb3cNCj4g c3RlcHMgYXMgdGhleSBhcmUgZm9yIGEgZ2l2ZW4gdmFyaWFudC4NCj4gPiBBcyBvcHBvc2VkIHRv IGhhdmUgdG8gaGF2ZSBtdWx0aXBsZSBvcHRpb25zIHRocm91Z2ggdGhlIGRvY3VtZW50IHdoZW4N Cj4gdXNpbmcgQUNDMTAwIHZzIEFDQzEwMS4NCj4gPiBFeGNlcHQgaWYgdGhleSBhcmUgb3RoZXIg b2JqZWN0aW9ucywgSSB3b3VsZCBzZWUgdGhpcyBtb3JlIHVzZWZ1bCBmb3IgdGhlDQo+IHVzZXIg YXMgaXMgYW5kIGxlc3Mgc291cmNlIG9mIGVycm9ycy4NCj4gPg0KPiBNeSBwZXJzcGVjdGl2ZSBp cyBoYXZpbmcgZXhpc3RpbmcgYWNjMTAwIHVzZXJzIHRoYXQgYXJlIHVwZ3JhZGluZyBhbmQvb3IN Cj4gaGF2aW5nIHRvIHN1cHBvcnQgYm90aCBhY2MxMDAgYW5kIGFjYzEwMQ0KPiANCj4gZm9yIGEg dmVyeSBsb25nIHRpbWUuwqAgSW4gdGhlIGZpcnN0IGNhc2UgdXNlcnMgb2YgZXhpc3RpbmcgYWNj MTAwIHVzZXJzIHdpbGwgd2FudA0KPiB0byBrbm93IG9ubHkgdGhlIHBhcnRzIHRoYXQgaGF2ZSBj aGFuZ2VkLg0KPiANCj4gSW4gdGhlIHNlY29uZCwgbGF0ZXIgY2hhbmdlcyB0aGF0IGFyZSBjb21t b24gdG8gYm90aCBhY2MxMDAgYW5kIGFjYzEwMSBhbmQNCj4gbGF0ZXIgYWNjWFhYIHdpbGwgYmUg aGF2ZSB0byBmaXhlZCBpbg0KPiANCj4gbXVsdGlwbGUgcGxhY2VzLsKgIEFzIG15c2VsZiBvciBz b21lb25lIGF0IFJlZCBIYXQgd2lsbCBiZSBvbiB0aGUgaG9vayBmb3INCj4gYm90aCwgSSB3b3Vs ZCBwcmVmZXIgaWYgdGhlIHJlZmFjdG9yaW5nDQo+IA0KPiBvZiB0aGUgY29tbW9uIHBhcnRzIGFj YzEwMCxhY2MxMDEgd2VyZSBpbiBnb29kIHNoYXBlIG92ZXIgdGhlIGV4cGVkaWVuY3kNCj4gb2Yg aGF2aW5nIGFjYzEwMSBzb29uZXIuDQoNCldpbGwgbWVyZ2UgZG9jdW1lbnRhdGlvbg0KDQoNCj4g DQo+ID4+PiArDQo+ID4+PiArRmVhdHVyZXMNCj4gPj4+ICstLS0tLS0tLQ0KPiA+Pj4gKw0KPiAN Cj4gPj4+IGluZGV4IDAwMDAwMDAuLjBlMmMyMWENCj4gPj4+IC0tLSAvZGV2L251bGwNCj4gPj4+ ICsrKyBiL2RvYy9ndWlkZXMvYmJkZXZzL2ZlYXR1cmVzL2FjYzEwMS5pbmkNCj4gPj4+IEBAIC0w LDAgKzEsMTMgQEANCj4gPj4+ICs7DQo+ID4+PiArOyBTdXBwb3J0ZWQgZmVhdHVyZXMgb2YgdGhl ICdhY2MxMDEnIGJiZGV2IGRyaXZlci4NCj4gPj4+ICs7DQo+ID4+PiArOyBSZWZlciB0byBkZWZh dWx0LmluaSBmb3IgdGhlIGZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgUE1EIGZlYXR1cmVzLg0KPiA+ Pj4gKzsNCj4gPj4+ICtbRmVhdHVyZXNdDQo+ID4+PiArVHVyYm8gRGVjb2RlciAoNEcpICAgICA9 IFkNCj4gPj4+ICtUdXJibyBFbmNvZGVyICg0RykgICAgID0gWQ0KPiA+Pj4gK0xEUEMgRGVjb2Rl ciAoNUcpICAgICAgPSBZDQo+ID4+PiArTERQQyBFbmNvZGVyICg1RykgICAgICA9IFkNCj4gPj4+ ICtMTFIvSEFSUSBDb21wcmVzc2lvbiAgID0gWQ0KPiA+Pj4gK0V4dGVybmFsIEREUiBBY2Nlc3Mg ICAgPSBZDQo+ID4+PiArSFcgQWNjZWxlcmF0ZWQgICAgICAgICA9IFkNCj4gPj4gVGhpcyBpcyB0 aGUgc2FtZSBhcyBhY2MxMDAuaW5pLCB3aHkgZG8gd2UgbmVlZCAyID8NCj4gPiBUaGlzIGlzIGEg ZGlmZmVyZW50IHByb2R1Y3QsIG5lZWRzIHRvIGJlIGNvbnNpc3RlbnQuDQo+IG9rDQo+ID4NCj4g Pj4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2JiZGV2cy9pbmRleC5yc3QNCj4gPj4+IGIvZG9j L2d1aWRlcy9iYmRldnMvaW5kZXgucnN0IGluZGV4IGNlZGQ3MDYuLmU3Njg4M2MgMTAwNjQ0DQo+ ID4+PiAtLS0gYS9kb2MvZ3VpZGVzL2JiZGV2cy9pbmRleC5yc3QNCj4gPj4+ICsrKyBiL2RvYy9n dWlkZXMvYmJkZXZzL2luZGV4LnJzdA0KPiA+Pj4gQEAgLTE0LDQgKzE0LDUgQEAgQmFzZWJhbmQg RGV2aWNlIERyaXZlcnMNCj4gPj4+ICAgICAgICBmcGdhX2x0ZV9mZWMNCj4gPj4+ICAgICAgICBm cGdhXzVnbnJfZmVjDQo+ID4+PiAgICAgICAgYWNjMTAwDQo+ID4+PiArICAgIGFjYzEwMQ0KPiA+ Pj4gICAgICAgIGxhMTJ4eA0KPiA+Pj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVz L3JlbGVhc2VfMjJfMDcucnN0DQo+ID4+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2Vf MjJfMDcucnN0DQo+ID4+PiBpbmRleCA0MmE1ZjJkLi5lZjk5MDZiIDEwMDY0NA0KPiA+Pj4gLS0t IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3QNCj4gPj4+ICsrKyBiL2Rv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMDcucnN0DQo+ID4+PiBAQCAtNTUsNiArNTUs MTAgQEAgTmV3IEZlYXR1cmVzDQo+ID4+PiAgICAgICAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFy dCB0aGUgYWN0dWFsIHRleHQgYXQgdGhlIG1hcmdpbi4NCj4gPj4+ICAgICAgICAgPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+Pj4NCj4g Pj4+ICsqICoqQWRkZWQgSW50ZWwgQUNDMTAxIGJhc2ViYW5kIFBNRC4qKg0KPiA+Pj4gKw0KPiA+ Pj4gKyAgKiBBZGRlZCBhIG5ldyBiYXNlYmFuZCBQTUQgZm9yIEludGVsIEFDQzEwMSBkZXZpY2Ug KE1vdW50IENpcnJ1cykuDQo+ID4+PiArICAqIFNlZSB0aGUgOmRvYzpgLi4vYmJkZXZzL2FjYzEw MWAgZm9yIG1vcmUgZGV0YWlscy4NCj4gPj4+DQo+ID4+PiAgICBSZW1vdmVkIEl0ZW1zDQo+ID4+ PiAgICAtLS0tLS0tLS0tLS0tDQo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlYmFuZC9h Y2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+Pj4gYi9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9y dGVfYWNjMTAwX3BtZC5jDQo+ID4+PiBpbmRleCBkZTdlNGJjLi5mY2EyN2VmIDEwMDY0NA0KPiA+ Pj4gLS0tIGEvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+Pj4g KysrIGIvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+Pj4gQEAg LTIyLDYgKzIyLDcgQEANCj4gPj4+ICAgICNpbmNsdWRlIDxydGVfYmJkZXYuaD4NCj4gPj4+ICAg ICNpbmNsdWRlIDxydGVfYmJkZXZfcG1kLmg+DQo+ID4+PiAgICAjaW5jbHVkZSAicnRlX2FjYzEw MF9wbWQuaCINCj4gPj4+ICsjaW5jbHVkZSAicnRlX2FjYzEwMV9wbWQuaCINCj4gPj4+DQo+ID4+ PiAgICAjaWZkZWYgUlRFX0xJQlJURV9CQkRFVl9ERUJVRw0KPiA+Pj4gICAgUlRFX0xPR19SRUdJ U1RFUl9ERUZBVUxUKGFjYzEwMF9sb2d0eXBlLCBERUJVRyk7IEBAIC0xMjg2LDYNCj4gPj4gKzEy ODcsMTINCj4gPj4+IEBADQo+ID4+PiAgICAJCQlSVEVfQkJERVZfVFVSQk9fSEFMRl9JVEVSQVRJ T05fRVZFTik7DQo+ID4+PiAgICB9DQo+ID4+Pg0KPiA+Pj4gK3N0YXRpYyBpbmxpbmUgYm9vbA0K PiA+Pj4gK2lzX2FjYzEwMChzdHJ1Y3QgYWNjMTAwX3F1ZXVlICpxKQ0KPiA+Pj4gK3sNCj4gPj4+ ICsJcmV0dXJuIChxLT5kLT5kZXZpY2VfdmFyaWFudCA9PSBBQ0MxMDBfVkFSSUFOVCk7IH0NCj4g Pj4+ICsNCj4gPj4+ICAgIC8qIEZpbGwgaW4gYSBmcmFtZSBjb250cm9sIHdvcmQgZm9yIExEUEMg ZGVjb2RpbmcuICovDQo+ID4+PiAgICBzdGF0aWMgaW5saW5lIHZvaWQNCj4gPj4+ICAgIGFjYzEw MF9mY3dfbGRfZmlsbChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X2RlY19vcCAqb3AsIHN0cnVjdA0K PiA+Pj4gYWNjMTAwX2Zjd19sZCAqZmN3LCBAQCAtMTQxMiw2ICsxNDE5LDEzOSBAQA0KPiA+Pj4g ICAgCX0NCj4gPj4+ICAgIH0NCj4gPj4+DQo+ID4+PiArLyogQ29udmVydCBvZmZzZXQgdG8gaGFy cSBpbmRleCBmb3IgaGFycV9sYXlvdXQgc3RydWN0dXJlICovIHN0YXRpYw0KPiA+Pj4gK2lubGlu ZSB1aW50MzJfdCBocV9pbmRleCh1aW50MzJfdCBvZmZzZXQpIHsNCj4gPj4+ICsJcmV0dXJuIChv ZmZzZXQgPj4gQUNDMTAwX0hBUlFfT0ZGU0VUX1NISUZUKSAmDQo+ID4+PiArQUNDMTAwX0hBUlFf T0ZGU0VUX01BU0s7IH0NCj4gPj4+ICsNCj4gPj4+ICsvKiBGaWxsIGluIGEgZnJhbWUgY29udHJv bCB3b3JkIGZvciBMRFBDIGRlY29kaW5nIGZvciBBQ0MxMDEgKi8NCj4gPj4+ICtzdGF0aWMgaW5s aW5lIHZvaWQgYWNjMTAxX2Zjd19sZF9maWxsKHN0cnVjdCBydGVfYmJkZXZfZGVjX29wICpvcCwN Cj4gPj4+ICtzdHJ1Y3QgYWNjMTAwX2Zjd19sZCAqZmN3LA0KPiA+Pj4gKwkJdW5pb24gYWNjMTAw X2hhcnFfbGF5b3V0X2RhdGEgKmhhcnFfbGF5b3V0KQ0KPiA+PiBUaGlzIGxvb2tzIGV4dHJlbWVs eSBzaW1pbGFyIHRvIHRoZSBhY2MxMDAqLCB3aHkgaXNuJ3QgdGhpcyBjb21iaW5lZCA/DQo+IA0K PiBQbGVhc2UgYW5zd2VyLg0KPiANCj4gRnVuY3Rpb25zIHRoYXQgbG9vayBzaW1pbGFyIHNob3Vs ZCBiZSBjb21iaW5lZC4NCg0KTW9zdCBvZiB0aGUgY29kZSBpcyBjb21tb24gZXhjZXB0IHRoYXQg dmVyeSBmdW5jdGlvbiBzaW5jZSB0aGV5IGFyZSBIVyBkaWZmZXJlbmNlcyAgd2hpY2ggd291bGQg bmVlZCB0byBiZSBtYW5hZ2VkIGRpZmZlcmVudGx5IGluY2x1ZGluZyB0aHJvdWdoIGZ1dHVyZSBw YXRjaGVzIGFuZC9vciBtYWludGVuYW5jZS4NCkhvcGVmdWxseSB5b3Ugd291bGQgYWdyZWUgdGhh dCB0aGlzIGRpZmZlcmVuY2UgaXMga2VwdCB2ZXJ5IHNtYWxsIChvbmUgZnVuY3Rpb24pLiANCg0K DQo+IA0KPiBUaGlzIGdldHMgdG8gZG9pbmcgbW9yZSB0byByZWZhY3RvciB0aGUgcGFydHMgdGhh dCBhcmUgY29tbW9uIGJldHdlZW4NCj4gYWNjMTAwIGFuZCBhY2MxMDEuDQo+IA0KPiA+Pj4gK3sN Cj4gPj4+ICsJdWludDE2X3QgaGFycV9vdXRfbGVuZ3RoLCBoYXJxX2luX2xlbmd0aCwgbmNiX3As IGswX3AsDQo+IHBhcml0eV9vZmZzZXQ7DQo+ID4+PiArCXVpbnQzMl90IGhhcnFfaW5kZXg7DQo+ ID4+PiArCXVpbnQzMl90IGw7DQo+ID4+PiArDQo+ID4+PiArCWZjdy0+cW0gPSBvcC0+bGRwY19k ZWMucV9tOw0KPiA+Pj4gKwlmY3ctPm5maWxsZXIgPSBvcC0+bGRwY19kZWMubl9maWxsZXI7DQo+ ID4+PiArCWZjdy0+QkcgPSAob3AtPmxkcGNfZGVjLmJhc2VncmFwaCAtIDEpOw0KPiA+Pj4gKwlm Y3ctPlpjID0gb3AtPmxkcGNfZGVjLnpfYzsNCj4gPj4+ICsJZmN3LT5uY2IgPSBvcC0+bGRwY19k ZWMubl9jYjsNCj4gPj4+ICsJZmN3LT5rMCA9IGdldF9rMChmY3ctPm5jYiwgZmN3LT5aYywgb3At PmxkcGNfZGVjLmJhc2VncmFwaCwNCj4gPj4+ICsJCQlvcC0+bGRwY19kZWMucnZfaW5kZXgpOw0K PiA+Pj4gKwlpZiAob3AtPmxkcGNfZGVjLmNvZGVfYmxvY2tfbW9kZSA9PSBSVEVfQkJERVZfQ09E RV9CTE9DSykNCj4gPj4+ICsJCWZjdy0+cm1fZSA9IG9wLT5sZHBjX2RlYy5jYl9wYXJhbXMuZTsN Cj4gPj4+ICsJZWxzZQ0KPiA+Pj4gKwkJZmN3LT5ybV9lID0gKG9wLT5sZHBjX2RlYy50Yl9wYXJh bXMuciA8DQo+ID4+PiArCQkJCW9wLT5sZHBjX2RlYy50Yl9wYXJhbXMuY2FiKSA/DQo+ID4+PiAr CQkJCQkJb3AtPmxkcGNfZGVjLnRiX3BhcmFtcy5lYSA6DQo+ID4+PiArCQkJCQkJb3AtPmxkcGNf ZGVjLnRiX3BhcmFtcy5lYjsNCj4gPj4+ICsNCj4gPj4+ICsJaWYgKHVubGlrZWx5KGNoZWNrX2Jp dChvcC0+bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4+PiArCQkJUlRFX0JCREVWX0xEUENfSFFfQ09N QklORV9JTl9FTkFCTEUpICYmDQo+ID4+PiArCQkJKG9wLT5sZHBjX2RlYy5oYXJxX2NvbWJpbmVk X2lucHV0Lmxlbmd0aCA9PSAwKSkpIHsNCj4gPj4+ICsJCXJ0ZV9iYmRldl9sb2coV0FSTklORywg Ik51bGwgSEFSUSBpbnB1dCBzaXplIHByb3ZpZGVkIik7DQo+ID4+PiArCQkvKiBEaXNhYmxlIEhB UlEgaW5wdXQgaW4gdGhhdCBjYXNlIHRvIGNhcnJ5IGZvcndhcmQgKi8NCj4gPj4+ICsJCW9wLT5s ZHBjX2RlYy5vcF9mbGFncyBePQ0KPiA+PiBSVEVfQkJERVZfTERQQ19IUV9DT01CSU5FX0lOX0VO QUJMRTsNCj4gPj4+ICsJfQ0KPiA+Pj4gKw0KPiA+Pj4gKwlmY3ctPmhjaW5fZW4gPSBjaGVja19i aXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLA0KPiA+Pj4gKwkJCVJURV9CQkRFVl9MRFBDX0hRX0NP TUJJTkVfSU5fRU5BQkxFKTsNCj4gPj4+ICsJZmN3LT5oY291dF9lbiA9IGNoZWNrX2JpdChvcC0+ bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4+PiArCQkJUlRFX0JCREVWX0xEUENfSFFfQ09NQklORV9P VVRfRU5BQkxFKTsNCj4gPj4+ICsJZmN3LT5jcmNfc2VsZWN0ID0gY2hlY2tfYml0KG9wLT5sZHBj X2RlYy5vcF9mbGFncywNCj4gPj4+ICsJCQlSVEVfQkJERVZfTERQQ19DUkNfVFlQRV8yNEJfQ0hF Q0spOw0KPiA+Pj4gKwlmY3ctPmJ5cGFzc19kZWMgPSBjaGVja19iaXQob3AtPmxkcGNfZGVjLm9w X2ZsYWdzLA0KPiA+Pj4gKwkJCVJURV9CQkRFVl9MRFBDX0RFQ09ERV9CWVBBU1MpOw0KPiA+Pj4g KwlmY3ctPmJ5cGFzc19pbnRsdiA9IGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsDQo+ ID4+PiArCQkJUlRFX0JCREVWX0xEUENfREVJTlRFUkxFQVZFUl9CWVBBU1MpOw0KPiA+Pj4gKwlp ZiAob3AtPmxkcGNfZGVjLnFfbSA9PSAxKSB7DQo+ID4+PiArCQlmY3ctPmJ5cGFzc19pbnRsdiA9 IDE7DQo+ID4+PiArCQlmY3ctPnFtID0gMjsNCj4gPj4+ICsJfQ0KPiA+Pj4gKwlmY3ctPmhjaW5f ZGVjb21wX21vZGUgPSBjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLA0KPiA+Pj4gKwkJ CVJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTik7DQo+ID4+PiArCWZjdy0+aGNv dXRfY29tcF9tb2RlID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPj4+ICsJ CQlSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04pOw0KPiA+Pj4gKwlmY3ctPmxs cl9wYWNrX21vZGUgPSBjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLA0KPiA+Pj4gKwkJ CVJURV9CQkRFVl9MRFBDX0xMUl9DT01QUkVTU0lPTik7DQo+ID4+PiArCWhhcnFfaW5kZXggPSBo cV9pbmRleChvcC0NCj4gPmxkcGNfZGVjLmhhcnFfY29tYmluZWRfb3V0cHV0Lm9mZnNldCk7DQo+ ID4+PiArCWlmIChmY3ctPmhjaW5fZW4gPiAwKSB7DQo+ID4+PiArCQloYXJxX2luX2xlbmd0aCA9 IG9wLQ0KPiA+bGRwY19kZWMuaGFycV9jb21iaW5lZF9pbnB1dC5sZW5ndGg7DQo+ID4+PiArCQlp ZiAoZmN3LT5oY2luX2RlY29tcF9tb2RlID4gMCkNCj4gPj4+ICsJCQloYXJxX2luX2xlbmd0aCA9 IGhhcnFfaW5fbGVuZ3RoICogOCAvIDY7DQo+ID4+PiArCQloYXJxX2luX2xlbmd0aCA9IFJURV9N SU4oaGFycV9pbl9sZW5ndGgsIG9wLQ0KPiA+Pj4gbGRwY19kZWMubl9jYg0KPiA+Pj4gKwkJCQkt IG9wLT5sZHBjX2RlYy5uX2ZpbGxlcik7DQo+ID4+PiArCQkvKiBBbGlnbm1lbnQgb24gbmV4dCA2 NEIgLSBBbHJlYWR5IGVuZm9yY2VkIGZyb20gSEMgb3V0cHV0DQo+ICovDQo+ID4+PiArCQloYXJx X2luX2xlbmd0aCA9IFJURV9BTElHTl9GTE9PUihoYXJxX2luX2xlbmd0aCwgNjQpOw0KPiA+Pj4g KwkJZmN3LT5oY2luX3NpemUwID0gaGFycV9pbl9sZW5ndGg7DQo+ID4+PiArCQlmY3ctPmhjaW5f b2Zmc2V0ID0gMDsNCj4gPj4+ICsJCWZjdy0+aGNpbl9zaXplMSA9IDA7DQo+ID4+PiArCX0gZWxz ZSB7DQo+ID4+PiArCQlmY3ctPmhjaW5fc2l6ZTAgPSAwOw0KPiA+Pj4gKwkJZmN3LT5oY2luX29m ZnNldCA9IDA7DQo+ID4+PiArCQlmY3ctPmhjaW5fc2l6ZTEgPSAwOw0KPiA+Pj4gKwl9DQo+ID4+ PiArDQo+ID4+PiArCWZjdy0+aXRtYXggPSBvcC0+bGRwY19kZWMuaXRlcl9tYXg7DQo+ID4+PiAr CWZjdy0+aXRzdG9wID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPj4+ICsJ CQlSVEVfQkJERVZfTERQQ19JVEVSQVRJT05fU1RPUF9FTkFCTEUpOw0KPiA+Pj4gKwlmY3ctPnN5 bmRfcHJlY29kZXIgPSBmY3ctPml0c3RvcDsNCj4gPj4+ICsJLyoNCj4gPj4+ICsJICogVGhlc2Ug YXJlIGFsbCBpbXBsaWNpdGx5IHNldA0KPiA+Pj4gKwkgKiBmY3ctPnN5bmRfcG9zdCA9IDA7DQo+ ID4+PiArCSAqIGZjdy0+c29fZW4gPSAwOw0KPiA+Pj4gKwkgKiBmY3ctPnNvX2J5cGFzc19ybSA9 IDA7DQo+ID4+PiArCSAqIGZjdy0+c29fYnlwYXNzX2ludGx2ID0gMDsNCj4gPj4+ICsJICogZmN3 LT5kZWNfY29udmxsciA9IDA7DQo+ID4+PiArCSAqIGZjdy0+aGNvdXRfY29udmxsciA9IDA7DQo+ ID4+PiArCSAqIGZjdy0+aGNvdXRfc2l6ZTEgPSAwOw0KPiA+Pj4gKwkgKiBmY3ctPnNvX2l0ID0g MDsNCj4gPj4+ICsJICogZmN3LT5oY291dF9vZmZzZXQgPSAwOw0KPiA+Pj4gKwkgKiBmY3ctPm5l Z3N0b3BfdGggPSAwOw0KPiA+Pj4gKwkgKiBmY3ctPm5lZ3N0b3BfaXQgPSAwOw0KPiA+Pj4gKwkg KiBmY3ctPm5lZ3N0b3BfZW4gPSAwOw0KPiA+Pj4gKwkgKiBmY3ctPmdhaW5faSA9IDE7DQo+ID4+ PiArCSAqIGZjdy0+Z2Fpbl9oID0gMTsNCj4gPj4+ICsJICovDQo+ID4+PiArCWlmIChmY3ctPmhj b3V0X2VuID4gMCkgew0KPiA+Pj4gKwkJcGFyaXR5X29mZnNldCA9IChvcC0+bGRwY19kZWMuYmFz ZWdyYXBoID09IDEgPyAyMCA6IDgpDQo+ID4+PiArCQkJKiBvcC0+bGRwY19kZWMuel9jIC0gb3At PmxkcGNfZGVjLm5fZmlsbGVyOw0KPiA+Pj4gKwkJazBfcCA9IChmY3ctPmswID4gcGFyaXR5X29m ZnNldCkgPw0KPiA+Pj4gKwkJCQlmY3ctPmswIC0gb3AtPmxkcGNfZGVjLm5fZmlsbGVyIDogZmN3 LT5rMDsNCj4gPj4+ICsJCW5jYl9wID0gZmN3LT5uY2IgLSBvcC0+bGRwY19kZWMubl9maWxsZXI7 DQo+ID4+PiArCQlsID0gUlRFX01JTihrMF9wICsgZmN3LT5ybV9lLCBJTlQxNl9NQVgpOw0KPiA+ Pj4gKwkJaGFycV9vdXRfbGVuZ3RoID0gKHVpbnQxNl90KSBmY3ctPmhjaW5fc2l6ZTA7DQo+ID4+ PiArCQloYXJxX291dF9sZW5ndGggPSBSVEVfTUFYKGhhcnFfb3V0X2xlbmd0aCwgbCk7DQo+ID4+ PiArCQkvKiBDYW5ub3QgZXhjZWVkIHRoZSBwcnVuZWQgTmNiIGNpcmN1bGFyIGJ1ZmZlciAqLw0K PiA+Pj4gKwkJaGFycV9vdXRfbGVuZ3RoID0gUlRFX01JTihoYXJxX291dF9sZW5ndGgsIG5jYl9w KTsNCj4gPj4+ICsJCS8qIEFsaWdubWVudCBvbiBuZXh0IDY0QiAqLw0KPiA+Pj4gKwkJaGFycV9v dXRfbGVuZ3RoID0gUlRFX0FMSUdOX0NFSUwoaGFycV9vdXRfbGVuZ3RoLCA2NCk7DQo+ID4+PiAr CQlmY3ctPmhjb3V0X3NpemUwID0gaGFycV9vdXRfbGVuZ3RoOw0KPiA+Pj4gKwkJZmN3LT5oY291 dF9zaXplMSA9IDA7DQo+ID4+PiArCQlmY3ctPmhjb3V0X29mZnNldCA9IDA7DQo+ID4+PiArCQlo YXJxX2xheW91dFtoYXJxX2luZGV4XS5vZmZzZXQgPSBmY3ctPmhjb3V0X29mZnNldDsNCj4gPj4+ ICsJCWhhcnFfbGF5b3V0W2hhcnFfaW5kZXhdLnNpemUwID0gZmN3LT5oY291dF9zaXplMDsNCj4g Pj4+ICsJfSBlbHNlIHsNCj4gPj4+ICsJCWZjdy0+aGNvdXRfc2l6ZTAgPSAwOw0KPiA+Pj4gKwkJ ZmN3LT5oY291dF9zaXplMSA9IDA7DQo+ID4+PiArCQlmY3ctPmhjb3V0X29mZnNldCA9IDA7DQo+ ID4+PiArCX0NCj4gPj4+ICt9DQo+ID4+PiArDQo+ID4+PiArc3RhdGljIGlubGluZSB2b2lkDQo+ ID4+PiArYWNjMTB4X2Zjd19sZF9maWxsKHN0cnVjdCBydGVfYmJkZXZfZGVjX29wICpvcCwgc3Ry dWN0DQo+ID4+PiArYWNjMTAwX2Zjd19sZA0KPiA+PiAqZmN3LA0KPiA+Pj4gKwkJdW5pb24gYWNj MTAwX2hhcnFfbGF5b3V0X2RhdGEgKmhhcnFfbGF5b3V0LCBzdHJ1Y3QNCj4gPj4gYWNjMTAwX3F1 ZXVlICpxKQ0KPiA+Pj4gK3sNCj4gPj4+ICsJaWYgKGlzX2FjYzEwMChxKSkNCj4gPj4gY29uc2lk ZXIgaGF2aW5nIGEgZnVuY3Rpb24gdGFibGUgaW4gdGhlIHByaXZhdGUgZGF0YSBzbyB0aGUgY2Fs bCBjYW4NCj4gPj4gYmUgbWFkZSB3aXRob3V0IHRoaXMgaWYtY2hlY2sNCj4gUGxlYXNlIGFuc3dl ci4NCg0KQW5zd2VyZWQgb2ZmbGluZSBJIGJlbGlldmUuIFRoaXMgd2FzIGxlZnQgZm9yIGNvbnNp ZGVyYXRpb24gYnV0IEkgdGVuZCB0byBiZWxpZXZlIHRoYXQgYm90aCBvcHRpb25zIGFyZSBzaW1p bGFyLCB0aGlzIHdhcyBzbGlnaHRseSBsZXNzIGNvbnZvbHV0ZWQuDQoNCj4gPj4+ICsJCXJldHVy biBhY2MxMDBfZmN3X2xkX2ZpbGwob3AsIGZjdywgaGFycV9sYXlvdXQpOw0KPiA+Pj4gKwllbHNl DQo+ID4+PiArCQlyZXR1cm4gYWNjMTAxX2Zjd19sZF9maWxsKG9wLCBmY3csIGhhcnFfbGF5b3V0 KTsgfQ0KPiA+Pj4gKw0KPiA+Pj4gKw0KPiA+Pj4gICAgLyoqDQo+ID4+PiAgICAgKiBGaWxscyBk ZXNjcmlwdG9yIHdpdGggZGF0YSBwb2ludGVycyBvZiBvbmUgYmxvY2sgdHlwZS4NCj4gPj4+ICAg ICAqDQo+ID4+PiBAQCAtMjk2MCw3ICszMTAwLDcgQEANCj4gPj4+ICAgIAkJc3RydWN0IGFjYzEw MF9mY3dfbGQgKmZjdzsNCj4gPj4+ICAgIAkJdWludDMyX3Qgc2VnX3RvdGFsX2xlZnQ7DQo+ID4+ PiAgICAJCWZjdyA9ICZkZXNjLT5yZXEuZmN3X2xkOw0KPiA+Pj4gLQkJYWNjMTAwX2Zjd19sZF9m aWxsKG9wLCBmY3csIGhhcnFfbGF5b3V0KTsNCj4gPj4+ICsJCWFjYzEweF9mY3dfbGRfZmlsbChv cCwgZmN3LCBoYXJxX2xheW91dCwgcSk7DQo+ID4+Pg0KPiA+Pj4gICAgCQkvKiBTcGVjaWFsIGhh bmRsaW5nIHdoZW4gb3ZlcnVzaW5nIG1idWYgKi8NCj4gPj4+ICAgIAkJaWYgKGZjdy0+cm1fZSA8 IEFDQzEwMF9NQVhfRV9NQlVGKSBAQCAtMzAyNyw3ICszMTY3LDcNCj4gPj4gQEANCj4gPj4+ICAg IAlkZXNjID0gcS0+cmluZ19hZGRyICsgZGVzY19pZHg7DQo+ID4+PiAgICAJdWludDY0X3QgZmN3 X29mZnNldCA9IChkZXNjX2lkeCA8PCA4KSArIEFDQzEwMF9ERVNDX0ZDV19PRkZTRVQ7DQo+ID4+ PiAgICAJdW5pb24gYWNjMTAwX2hhcnFfbGF5b3V0X2RhdGEgKmhhcnFfbGF5b3V0ID0gcS0+ZC0+ aGFycV9sYXlvdXQ7DQo+ID4+PiAtCWFjYzEwMF9mY3dfbGRfZmlsbChvcCwgJmRlc2MtPnJlcS5m Y3dfbGQsIGhhcnFfbGF5b3V0KTsNCj4gPj4+ICsJYWNjMTB4X2Zjd19sZF9maWxsKG9wLCAmZGVz Yy0+cmVxLmZjd19sZCwgaGFycV9sYXlvdXQsIHEpOw0KPiA+Pj4NCj4gPj4+ICAgIAlpbnB1dCA9 IG9wLT5sZHBjX2RlYy5pbnB1dC5kYXRhOw0KPiA+Pj4gICAgCWhfb3V0cHV0X2hlYWQgPSBoX291 dHB1dCA9IG9wLT5sZHBjX2RlYy5oYXJkX291dHB1dC5kYXRhOyBAQA0KPiA+Pj4gLTQxMzksOSAr NDI3OSwxNyBAQA0KPiA+Pj4gICAgCWRldi0+ZGVxdWV1ZV9sZHBjX2VuY19vcHMgPSBhY2MxMDBf ZGVxdWV1ZV9sZHBjX2VuYzsNCj4gPj4+ICAgIAlkZXYtPmRlcXVldWVfbGRwY19kZWNfb3BzID0g YWNjMTAwX2RlcXVldWVfbGRwY19kZWM7DQo+ID4+Pg0KPiA+Pj4gLQkoKHN0cnVjdCBhY2MxMDBf ZGV2aWNlICopIGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpLT5wZl9kZXZpY2UgPQ0KPiA+Pj4gLQkJ CSFzdHJjbXAoZHJ2LT5kcml2ZXIubmFtZSwNCj4gPj4+IC0JCQkJCVJURV9TVFIoQUNDMTAwUEZf RFJJVkVSX05BTUUpKTsNCj4gPj4+ICsJaWYgKCghc3RyY21wKGRydi0+ZHJpdmVyLm5hbWUsIFJU RV9TVFIoQUNDMTAwUEZfRFJJVkVSX05BTUUpKSkNCj4gPj4gfHwNCj4gPj4+ICsJCQkoIXN0cmNt cChkcnYtPmRyaXZlci5uYW1lLA0KPiA+PiBSVEVfU1RSKEFDQzEwMFZGX0RSSVZFUl9OQU1FKSkp KSB7DQo+ID4+PiArCQkoKHN0cnVjdCBhY2MxMDBfZGV2aWNlICopIGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpLT5wZl9kZXZpY2UNCj4gPj4gPQ0KPiA+Pj4gKwkJCQkhc3RyY21wKGRydi0+ZHJpdmVy Lm5hbWUsDQo+ID4+IFJURV9TVFIoQUNDMTAwUEZfRFJJVkVSX05BTUUpKTsNCj4gPj4+ICsJCSgo c3RydWN0IGFjYzEwMF9kZXZpY2UgKikgZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSktDQo+ID4+PiBk ZXZpY2VfdmFyaWFudCA9IEFDQzEwMF9WQVJJQU5UOw0KPiA+Pj4gKwl9IGVsc2Ugew0KPiA+Pj4g KwkJKChzdHJ1Y3QgYWNjMTAwX2RldmljZSAqKSBkZXYtPmRhdGEtPmRldl9wcml2YXRlKS0+cGZf ZGV2aWNlDQo+ID4+ID0NCj4gPj4+ICsJCQkJIXN0cmNtcChkcnYtPmRyaXZlci5uYW1lLA0KPiA+ PiBSVEVfU1RSKEFDQzEwMVBGX0RSSVZFUl9OQU1FKSk7DQo+ID4+PiArCQkoKHN0cnVjdCBhY2Mx MDBfZGV2aWNlICopIGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpLQ0KPiA+Pj4gZGV2aWNlX3Zhcmlh bnQgPSBBQ0MxMDFfVkFSSUFOVDsNCj4gPj4+ICsJfQ0KPiA+Pj4gKw0KPiA+Pj4gICAgCSgoc3Ry dWN0IGFjYzEwMF9kZXZpY2UgKikgZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSktPm1taW9fYmFzZSA9 DQo+ID4+PiAgICAJCQlwY2lfZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCj4gPj4+DQo+ID4+ PiBAQCAtNDI1MSw2ICs0Mzk5LDQyIEBAIHN0YXRpYyBpbnQgYWNjMTAwX3BjaV9yZW1vdmUoc3Ry dWN0DQo+ID4+IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0KPiA+Pj4gICAgUlRFX1BNRF9SRUdJ U1RFUl9QQ0koQUNDMTAwVkZfRFJJVkVSX05BTUUsDQo+ID4+IGFjYzEwMF9wY2lfdmZfZHJpdmVy KTsNCj4gPj4+ICAgIFJURV9QTURfUkVHSVNURVJfUENJX1RBQkxFKEFDQzEwMFZGX0RSSVZFUl9O QU1FLA0KPiA+Pj4gcGNpX2lkX2FjYzEwMF92Zl9tYXApOw0KPiA+Pj4NCj4gPj4+ICsvKiBBQ0Mx MDEgUENJIFBGIGFkZHJlc3MgbWFwICovDQo+ID4+PiArc3RhdGljIHN0cnVjdCBydGVfcGNpX2lk IHBjaV9pZF9hY2MxMDFfcGZfbWFwW10gPSB7DQo+ID4+PiArCXsNCj4gPj4+ICsJCVJURV9QQ0lf REVWSUNFKFJURV9BQ0MxMDFfVkVORE9SX0lELA0KPiA+PiBSVEVfQUNDMTAxX1BGX0RFVklDRV9J RCkNCj4gPj4+ICsJfSwNCj4gPj4+ICsJey5kZXZpY2VfaWQgPSAwfSwNCj4gPj4+ICt9Ow0KPiA+ Pj4gKw0KPiA+Pj4gKy8qIEFDQzEwMSBQQ0kgVkYgYWRkcmVzcyBtYXAgKi8NCj4gPj4+ICtzdGF0 aWMgc3RydWN0IHJ0ZV9wY2lfaWQgcGNpX2lkX2FjYzEwMV92Zl9tYXBbXSA9IHsNCj4gPj4+ICsJ ew0KPiA+Pj4gKwkJUlRFX1BDSV9ERVZJQ0UoUlRFX0FDQzEwMV9WRU5ET1JfSUQsDQo+ID4+IFJU RV9BQ0MxMDFfVkZfREVWSUNFX0lEKQ0KPiA+Pj4gKwl9LA0KPiA+Pj4gKwl7LmRldmljZV9pZCA9 IDB9LA0KPiA+Pj4gK307DQo+ID4+PiArDQo+ID4+PiArDQo+ID4+PiArc3RhdGljIHN0cnVjdCBy dGVfcGNpX2RyaXZlciBhY2MxMDFfcGNpX3BmX2RyaXZlciA9IHsNCj4gPj4+ICsJCS5wcm9iZSA9 IGFjYzEwMF9wY2lfcHJvYmUsDQo+ID4+PiArCQkucmVtb3ZlID0gYWNjMTAwX3BjaV9yZW1vdmUs DQo+ID4+PiArCQkuaWRfdGFibGUgPSBwY2lfaWRfYWNjMTAxX3BmX21hcCwNCj4gPj4+ICsJCS5k cnZfZmxhZ3MgPSBSVEVfUENJX0RSVl9ORUVEX01BUFBJTkcgfTsNCj4gPj4+ICsNCj4gPj4+ICtz dGF0aWMgc3RydWN0IHJ0ZV9wY2lfZHJpdmVyIGFjYzEwMV9wY2lfdmZfZHJpdmVyID0gew0KPiA+ Pj4gKwkJLnByb2JlID0gYWNjMTAwX3BjaV9wcm9iZSwNCj4gPj4+ICsJCS5yZW1vdmUgPSBhY2Mx MDBfcGNpX3JlbW92ZSwNCj4gPj4+ICsJCS5pZF90YWJsZSA9IHBjaV9pZF9hY2MxMDFfdmZfbWFw LA0KPiA+Pj4gKwkJLmRydl9mbGFncyA9IFJURV9QQ0lfRFJWX05FRURfTUFQUElORyB9Ow0KPiA+ Pj4gKw0KPiA+Pj4gK1JURV9QTURfUkVHSVNURVJfUENJKEFDQzEwMVBGX0RSSVZFUl9OQU1FLA0K PiA+PiBhY2MxMDFfcGNpX3BmX2RyaXZlcik7DQo+ID4+PiArUlRFX1BNRF9SRUdJU1RFUl9QQ0lf VEFCTEUoQUNDMTAxUEZfRFJJVkVSX05BTUUsDQo+ID4+PiArcGNpX2lkX2FjYzEwMV9wZl9tYXAp Ow0KPiA+PiBSVEVfUE1EX1JFR0lTVEVSX1BDSShBQ0MxMDFWRl9EUklWRVJfTkFNRSwNCj4gPj4+ ICthY2MxMDFfcGNpX3ZmX2RyaXZlcik7DQo+ID4+PiArUlRFX1BNRF9SRUdJU1RFUl9QQ0lfVEFC TEUoQUNDMTAxVkZfRFJJVkVSX05BTUUsDQo+ID4+PiArcGNpX2lkX2FjYzEwMV92Zl9tYXApOw0K PiA+Pj4gKw0KPiA+Pj4gICAgLyoNCj4gPj4+ICAgICAqIFdvcmthcm91bmQgaW1wbGVtZW50YXRp b24gdG8gZml4IHRoZSBwb3dlciBvbiBzdGF0dXMgb2Ygc29tZQ0KPiA+Pj4gNUdVTA0KPiA+PiBl bmdpbmVzDQo+ID4+PiAgICAgKiBUaGlzIHJlcXVpcmVzIERNQSBwZXJtaXNzaW9uIGlmIHBvcnRl ZCBvdXRzaWRlIERQREsgZGlmZiAtLWdpdA0KPiA+Pj4gYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEw MC9ydGVfYWNjMTAwX3BtZC5oDQo+ID4+PiBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9h Y2MxMDBfcG1kLmgNCj4gPj4+IGluZGV4IGNiY2VjZTIuLjY0MzgwMzEgMTAwNjQ0DQo+ID4+PiAt LS0gYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5oDQo+ID4+PiArKysg Yi9kcml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5oDQo+ID4+PiBAQCAtMjIs NiArMjIsOSBAQA0KPiA+Pj4gICAgI2RlZmluZSBydGVfYmJkZXZfbG9nX2RlYnVnKGZtdCwgLi4u KQ0KPiA+Pj4gICAgI2VuZGlmDQo+ID4+Pg0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAwX1ZBUklBTlQg MA0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAxX1ZBUklBTlQgMQ0KPiA+Pj4gKw0KPiA+Pj4gICAgLyog QUNDMTAwIFBGIGFuZCBWRiBkcml2ZXIgbmFtZXMgKi8NCj4gPj4+ICAgICNkZWZpbmUgQUNDMTAw UEZfRFJJVkVSX05BTUUgICAgICAgICAgIGludGVsX2FjYzEwMF9wZg0KPiA+Pj4gICAgI2RlZmlu ZSBBQ0MxMDBWRl9EUklWRVJfTkFNRSAgICAgICAgICAgaW50ZWxfYWNjMTAwX3ZmDQo+ID4+PiBA QCAtNjcsNiArNzAsOCBAQA0KPiA+Pj4gICAgI2RlZmluZSBBQ0MxMDBfSEFSUV9MQVlPVVQgICAg ICAgICAgICAgKDY0KjEwMjQqMTAyNCkNCj4gPj4+ICAgIC8qIEFzc3VtZSBvZmZzZXQgZm9yIEhB UlEgaW4gbWVtb3J5ICovDQo+ID4+PiAgICAjZGVmaW5lIEFDQzEwMF9IQVJRX09GRlNFVCAgICAg ICAgICAgICAoMzIqMTAyNCkNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMF9IQVJRX09GRlNFVF9TSElG VCAgICAgICAxNQ0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAwX0hBUlFfT0ZGU0VUX01BU0sgICAgICAg IDB4N2ZmZmZmZg0KPiA+Pj4gICAgLyogTWFzayB1c2VkIHRvIGNhbGN1bGF0ZSBhbiBpbmRleCBp biBhbiBJbmZvIFJpbmcgYXJyYXkgKG5vdCBhIGJ5dGUNCj4gb2Zmc2V0KSAqLw0KPiA+Pj4gICAg I2RlZmluZSBBQ0MxMDBfSU5GT19SSU5HX01BU0sNCj4gPj4gKEFDQzEwMF9JTkZPX1JJTkdfTlVN X0VOVFJJRVMtMSkNCj4gPj4+ICAgIC8qIE51bWJlciBvZiBWaXJ0dWFsIEZ1bmN0aW9ucyBBQ0Mx MDAgc3VwcG9ydHMgKi8gQEAgLTU5MCw2DQo+ID4+PiArNTk1LDcgQEAgc3RydWN0IGFjYzEwMF9k ZXZpY2Ugew0KPiA+Pj4gICAgCXVpbnQxNl90IHFfYXNzaWduZWRfYml0X21hcFtBQ0MxMDBfTlVN X1FHUlBTXTsNCj4gPj4+ICAgIAlib29sIHBmX2RldmljZTsgLyoqPCBUcnVlIGlmIHRoaXMgaXMg YSBQRiBBQ0MxMDAgZGV2aWNlICovDQo+ID4+PiAgICAJYm9vbCBjb25maWd1cmVkOyAvKio8IFRy dWUgaWYgdGhpcyBBQ0MxMDAgZGV2aWNlIGlzIGNvbmZpZ3VyZWQNCj4gPj4+ICovDQo+ID4+PiAr CXVpbnQxNl90IGRldmljZV92YXJpYW50OyAgLyoqPCBEZXZpY2UgdmFyaWFudCAqLw0KPiA+PiB0 aGlzIGlzIG5vdCBuZWVkZWQsIGNoZWNrIHRoZSBwY2kgaWQNCj4gPiBUaGF0IGRldmljZV92YXJp YW50IGlzIHNlbnQgb25jZSBkdXJpbmcgcHJvYmluZyB0aGVuIHdlIGNhbiByZXVzZSB0aGF0DQo+ IGZsZXhpYmx5IHRocm91Z2ggdGhlIGNvZGUuDQo+IA0KPiBJbiB0aGUgc2FtZSB3YXkgdGhlIHBj aSBpZCBpcyBzZXQgb25jZS4NCj4gDQo+IEdlbmVyYWxseSBpZiB0aGVyZSBpcyBhIHdheSB0byB1 c2UgZXhpc3RpbmcgZGF0YSB0byBmaWd1cmUgc29tZXRoaW5nIG91dCwgdGhlbg0KPiB1c2UgdGhl IGV4aXN0aW5nIGRhdGEuDQo+IA0KPiBTcGVjaWFsIHB1cnBvc2UgZGF0YSBpbmNyZWFzZXMgdGhl IHNpemUgYW5kIGNvbXBsZXhpdHkgYXMgd2VsbCBhcw0KPiBkZXN0YWJpbGl6aW5nIHRoZSBhcGkN Cg0KSW4gdGhhdCB2ZXJ5IGNhc2UgaXQgaGVscHMgdG8ga2VlcCBpbiBvbmUgcGxhY2UgSSBiZWxp ZXZlLCB0aGUgZGV2aWNlIGlkcyB3b3VsZCBiZSBkaWZmZXJlbnQgZnJvbSBQRiBhbmQgVkYuDQpU aGUgQVBJIGlzIG5vdCBpbXBhY3RlZCBoZXJlLCBvbmx5IHVuZGVybHlpbmcgc3RydWN0dXJlIHdp dGhpbiB0aGUgUE1ELiANCg0KPiANCj4gPg0KPiA+DQo+ID4+PiAgICB9Ow0KPiA+Pj4NCj4gPj4+ ICAgIC8qKg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9h Y2MxMDFfcG1kLmgNCj4gPj4+IGIvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMV9w bWQuaA0KPiA+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPj4+IGluZGV4IDAwMDAwMDAuLmVm YWI0MDANCj4gPj4+IC0tLSAvZGV2L251bGwNCj4gPj4+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQv YWNjMTAwL3J0ZV9hY2MxMDFfcG1kLmgNCj4gPj4gTmV3IGZpbGVzIG5lZWQgbGljZW5zZSwgY29w eXJpZ2h0cy4NCj4gPiBUaGFua3MhIQ0KPiA+DQo+ID4+IFRoaXMgZmlsZSBsb29rcyB2ZXJ5IHNp bWlsYXIgdG8gcnRlX2FjYzEwMF9wbWQuaA0KPiA+IEFjdHVhbGx5IHRoZSBjb25maWd1cmF0aW9u IG9mIHRoZSBkZXZpY2UgZGlmZmVycyBhbmQgY291bGQgZGl2ZXJnZSBmdXJ0aGVyIGluDQo+IHRo ZSBmdXR1cmUuIFRoaXMgaXMgbGltaXRlZCB0byB0aGUgcGFydCB0aGF0IHdvdWxkIGJlIHNwZWNp ZmljIHRvIHRoZSBkZXZpY2UNCj4gY29uZmlndXJhdGlvbi4NCj4gPiBBbHJlYWR5IGtlcHQgdG8g ZXh0cmVtZWx5IHJlZHVjZWQgc2V0LiBEb2luZyBpdCBtb3JlIHdvdWxkIGJlIGFydGlmaWNpYWwN Cj4gYW5kIHNvdXJjZSBvZiBwb3NzaWJsZSBlcnJvcnMuDQo+ID4NCj4gPj4gVGhlIGNvbW1vbiBw YXJ0cyBzaG91bGQgYmUgaW4gb25seSBvbmUgZmlsZSwgbWF5YmUgYSBydGVfYWNjMTB4X3BtZC5o DQo+ID4+DQo+ID4+PiBAQCAtMCwwICsxLDYxIEBADQo+ID4+PiArLyogQUNDMTAxIFBGIGFuZCBW RiBkcml2ZXIgbmFtZXMgKi8NCj4gPj4+ICsjZGVmaW5lIEFDQzEwMVBGX0RSSVZFUl9OQU1FICAg ICAgICAgICBpbnRlbF9hY2MxMDFfcGYNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMVZGX0RSSVZFUl9O QU1FICAgICAgICAgICBpbnRlbF9hY2MxMDFfdmYNCj4gPj4gdGhpcyBtYXliZSBjaGFuZ2VzIHRv IGludGVsX2FjYzEweF9wci92ZiA/DQo+ID4gVGhhdCBzdHJpbmcgd291bGQgYmUgZGlmZmVyZW50 IGZyb20gdGhlIDIgcHJvZHVjdHMgb24gcHVycG9zZSBldmVuIGlmDQo+IHVuZGVyIHRoZSBib25u ZXQgd2UgdHJ5IHRvIHJldXNlIGNvZGUgYXMgbXVjaCBhcyBwb3NzaWJsZS4NCj4gDQo+IFRoZXNl IHR3byBkZXZpY2VzIGNvdWxkIGJlIHJ1biBmcm9tIHRoZSBzYW1lIGRyaXZlci4NCj4gDQo+IEkg YW0gdXNlZCB0byBsaW51eCBrZXJuZWwgZHJpdmVycyB0aGF0IGhhbmRsZSBtdWx0aXBsZSBkZXZp Y2VzIHdpdGggdGhlIHNhbWUNCj4gZHJpdmVyLg0KPiANCj4gVGhlIHJldXNlIGluIHRoZSBsaW51 eCBrZXJuZWwgaXMgYWJvdXQgOTUlLg0KPiANCj4gVGhlIHJldXNlIGhlcmUgaXMgYWJvdXQgMzAl LCBpdCBzaG91bGQgYmUgYXQgbGVhc3QgODAlDQoNCldoZXJlIGRpZCB5b3UgZ2V0IHRoaXMgMzAl IG51bWJlcj8gSSBiZWxpZXZlIHRoZSByZXVzZSBhYm92ZSBpcyBhbHJlYWR5ID44MCUgb2YgdGhl IFBNRCBjb2RlLiAoVGhlIGNvbXBhbmlvbiBjb25maWd1cmUgZnVuY3Rpb24gYmVpbmcgb3V0c2lk ZSBvZiB0aGUgUE1EIHBlciBzZSkuIA0KDQpUaGFua3MNCk5pYw0KDQo+IA0KPiBUb20NCj4gDQo+ ID4NCj4gPj4gVG9tDQo+ID4+DQo+ID4+PiArDQo+ID4+PiArLyogQUNDMTAxIFBDSSB2ZW5kb3Ig JiBkZXZpY2UgSURzICovDQo+ID4+PiArI2RlZmluZSBSVEVfQUNDMTAxX1ZFTkRPUl9JRCAgICAg ICAgICAgKDB4ODA4NikNCj4gPj4+ICsjZGVmaW5lIFJURV9BQ0MxMDFfUEZfREVWSUNFX0lEICAg ICAgICAoMHg1N2M0KQ0KPiA+Pj4gKyNkZWZpbmUgUlRFX0FDQzEwMV9WRl9ERVZJQ0VfSUQgICAg ICAgICgweDU3YzUpDQo+ID4+PiArDQo+ID4+PiArLyogRGVmaW5lIGFzIDEgdG8gdXNlIG9ubHkg YSBzaW5nbGUgRkVDIGVuZ2luZSAqLyAjaWZuZGVmDQo+ID4+PiArUlRFX0FDQzEwMV9TSU5HTEVf RkVDICNkZWZpbmUgUlRFX0FDQzEwMV9TSU5HTEVfRkVDIDAgI2VuZGlmDQo+ID4+PiArDQo+ID4+ PiArLyogVmFsdWVzIHVzZWQgaW4gd3JpdGluZyB0byB0aGUgcmVnaXN0ZXJzICovDQo+ID4+PiAr I2RlZmluZSBBQ0MxMDFfUkVHX0lSUV9FTl9BTEwgICAgICAgICAgMHgxRkY4M0ZGICAvKiBFbmFi bGUgYWxsDQo+IGludGVycnVwdHMNCj4gPj4gKi8NCj4gPj4+ICsNCj4gPj4+ICsvKiBOdW1iZXIg b2YgVmlydHVhbCBGdW5jdGlvbnMgQUNDMTAxIHN1cHBvcnRzICovDQo+ID4+PiArI2RlZmluZSBB Q0MxMDFfTlVNX1ZGUyAgICAgICAgICAgICAgICAgIDE2DQo+ID4+PiArI2RlZmluZSBBQ0MxMDFf TlVNX1FHUlBTICAgICAgICAgICAgICAgIDgNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9OVU1fQVFT ICAgICAgICAgICAgICAgICAgMTYNCj4gPj4+ICsvKiBBbGwgQUNDMTAxIFJlZ2lzdGVycyBhbGln bm1lbnQgYXJlIDMyYml0cyA9IDRCICovDQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfQllURVNfSU5f V09SRCAgICAgICAgICAgICAgICAgNA0KPiA+Pj4gKw0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAxX0dS UF9JRF9TSElGVCAgICAxMCAvKiBRdWV1ZSBJbmRleCBIaWVyYXJjaHkgKi8NCj4gPj4+ICsjZGVm aW5lIEFDQzEwMV9WRl9JRF9TSElGVCAgICAgNCAgLyogUXVldWUgSW5kZXggSGllcmFyY2h5ICov DQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfVkZfT0ZGU0VUX1FPUyAgIDE2IC8qIG9mZnNldCBpbiBN ZW1vcnkgc3BlY2lmaWMgdG8NCj4gUW9TDQo+ID4+IE1vbiAqLw0KPiA+Pj4gKyNkZWZpbmUgQUND MTAxX1RNUExfUFJJXzAgICAgICAweDAzMDIwMTAwDQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfVE1Q TF9QUklfMSAgICAgIDB4MDcwNjA1MDQNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9UTVBMX1BSSV8y ICAgICAgMHgwYjBhMDkwOA0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAxX1RNUExfUFJJXzMgICAgICAw eDBmMGUwZDBjDQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfV09SRFNfSU5fQVJBTV9TSVpFICgxMjgg KiAxMDI0IC8gNCkNCj4gPj4+ICsNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9OVU1fVE1QTCAgICAg ICAzMg0KPiA+Pj4gKy8qIE1hcHBpbmcgb2Ygc2lnbmFscyBmb3IgdGhlIGF2YWlsYWJsZSBlbmdp bmVzICovDQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfU0lHX1VMXzVHICAgICAgMA0KPiA+Pj4gKyNk ZWZpbmUgQUNDMTAxX1NJR19VTF81R19MQVNUIDgNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9TSUdf RExfNUcgICAgICAxMw0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAxX1NJR19ETF81R19MQVNUIDE1DQo+ ID4+PiArI2RlZmluZSBBQ0MxMDFfU0lHX1VMXzRHICAgICAgMTYNCj4gPj4+ICsjZGVmaW5lIEFD QzEwMV9TSUdfVUxfNEdfTEFTVCAxOQ0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAxX1NJR19ETF80RyAg ICAgIDI3DQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfU0lHX0RMXzRHX0xBU1QgMzENCj4gPj4+ICsj ZGVmaW5lIEFDQzEwMV9OVU1fQUNDUyAgICAgICA1DQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfUEZf VkFMICAgICAgICAgMg0KPiA+Pj4gKw0KPiA+Pj4gKy8qIEFDQzEwMSBDb25maWd1cmF0aW9uICov DQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfQ0ZHX0RNQV9FUlJPUiAgICAweDNENw0KPiA+Pj4gKyNk ZWZpbmUgQUNDMTAxX0NGR19BWElfQ0FDSEUgICAgMHgxMQ0KPiA+Pj4gKyNkZWZpbmUgQUNDMTAx X0NGR19RTUdSX0hJX1AgICAgMHgwRjBGDQo+ID4+PiArI2RlZmluZSBBQ0MxMDFfQ0ZHX1BDSV9B WEkgICAgICAweEMwMDMNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9DRkdfUENJX0JSSURHRSAgIDB4 NDAwMDYwMzMNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9FTkdJTkVfT0ZGU0VUICAgIDB4MTAwMA0K PiA+Pj4gKyNkZWZpbmUgQUNDMTAxX0xPTkdfV0FJVCAgICAgICAgMTAwMA0KPiA+Pj4gKyNkZWZp bmUgQUNDMTAxX0dQRVhfQVhJTUFQX05VTSAgMTcNCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9DTE9D S19HQVRJTkdfRU4gIDB4MzAwMDANCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9ETUFfSU5CT1VORCAg ICAgIDB4MTA0DQo+ID4+PiArLyogRERSIFNpemUgcGVyIFZGIC0gNTEyTUIgYnkgZGVmYXVsdA0K PiA+Pj4gKyAqIENhbiBiZSBpbmNyZWFzZWQgdXAgdG8gNCBHQiB3aXRoIHNpbmdsZSBQRi9WRiAg Ki8NCj4gPj4+ICsjZGVmaW5lIEFDQzEwMV9IQVJRX0REUiAgICAgICAgICg1MTIgKiAxKQ0KDQo=