From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A9870405A1 for ; Mon, 24 Apr 2023 05:33:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 11D6C68BEA2; Mon, 24 Apr 2023 08:33:01 +0300 (EEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EC96A689D6F for ; Mon, 24 Apr 2023 08:32:53 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682314379; x=1713850379; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=D2vrfmoOnqiwMrZohP5rtJ1PWF5WJebLdA/lsEHjaic=; b=FHcNH5qp+UssPrgWdX1QpxFxcs+bQOEzr/xdUxTapqWruvfca0IYyCo8 N4qh0ftkevlkmAoEteKIJzf1qss5484bC1Z3jhUZbpj52Ny4mWIakfT56 rUPDn5Wb95wLAfgVdHLI5f9B9bidE5AYSOnG3+VZ+Ldqs7sb4r3NjXoZw XpclyoqcLtwtbVOy9eQZzcJ1ZAC24QEnWmMcEWyLYDs8hVJ35/Fc1+E/S dbLZ6IwyUvL3SBKJHNEdXatgLgHEcMCf+AlPQrxrZqmi08m4F/YTn+lRd +fOAohmQ1MahW2I6jmXNJyh2zEVYIrAyFh0nek7LRg4RR5H8dlANlOO03 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10689"; a="343846693" X-IronPort-AV: E=Sophos;i="5.99,221,1677571200"; d="scan'208";a="343846693" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2023 22:32:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10689"; a="782271590" X-IronPort-AV: E=Sophos;i="5.99,221,1677571200"; d="scan'208";a="782271590" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 23 Apr 2023 22:32:49 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sun, 23 Apr 2023 22:32:49 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sun, 23 Apr 2023 22:32:49 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Sun, 23 Apr 2023 22:32:49 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.46) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sun, 23 Apr 2023 22:32:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mo1bkq/lYqWfO7BUWkijQDFSNRqKsmEdtC7D8yjFbDZ6ed7b5qsuqkFc/b7EOQOgbBocOjcuOmDCmSJ2t9KbMQ/aewq/vMH4LRIpYNAkiPfL0Trgal2EBGspWxx32hP4187Mh8RbRP3ZJOSkkoeVIbaS4RHEiW+scPnstmQ44e9kT3vrGWV1CJIekFYPflFwTS480ehsgnvQo4o67EkEpXEP7CfU7RPq80YFDIahXUFsvO9eJuTXoFCwzQqeuK6lRn89eTM5CsffXlYojZfZArKvWkSoTOj+QyHy58BuCanV34oAjGH0fVKIT79EPeOYV9reHx36578R9uqp67U8mA== 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=D2vrfmoOnqiwMrZohP5rtJ1PWF5WJebLdA/lsEHjaic=; b=BnoI4qG379GMObgHh02YxchExd/OnHvIHTKGQaeE59FllZMab9ZDkReU0jOymepwv4Npi8eth1W++Ftfzu2KbHF+/pkyq6VwmVB+os8YW1bxT+BhxURqm64E0y8X0LQS6cdfIpGdr3coJDrVoEFlxoQ3AM869mVaTJq0n++qFnhSDjqVR8CR/ExfyHKOxG/o1ubh9N3u++Y4HfO10Unu5cDeb5MepsgELV9imy+/tVWwsV+MOjrgAMrcjZSe1aPZL5cfYeujjA8dDpV5wytaQe0AfKuOAtZttq9TrpfShLQX224XO28CzAlqz4liKN/hjNWp4vL9eXHl9R13SkMLHQ== 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 BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by DM8PR11MB5589.namprd11.prod.outlook.com (2603:10b6:8:26::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Mon, 24 Apr 2023 05:32:41 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::ac50:68be:828f:19d9]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::ac50:68be:828f:19d9%8]) with mapi id 15.20.6319.033; Mon, 24 Apr 2023 05:32:41 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v4 1/3] lavu/hwcontext_vaapi: Add Windows/VAAPI support with vaGetDisplayWin32 Thread-Index: AQHZbt79mxRE2C3B6U2fzZfHWHYTxK8wcJuAgAmOBIA= Date: Mon, 24 Apr 2023 05:32:41 +0000 Message-ID: <808a643d85eb3d7e0ce448d53463610d51de7a60.camel@intel.com> References: <20230414143906.1582-1-sivileri@linux.microsoft.com> In-Reply-To: Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5515:EE_|DM8PR11MB5589:EE_ x-ms-office365-filtering-correlation-id: 1fb91a52-7389-4322-9e02-08db448552ce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hL/+7NbFUQRm7/WeubT1VHc+ExlSHMQfy7PSYOIKRwOXq/R7AkKfcVRHGHkRavcf6RIzQ+BwDyU+MQm7g5ZayzOfGE9b1CIQpGWJw3MDHW8zC7hnzPfpOsYjbOaal1Yt5uJGIAJ/90/vVNhdw+QFPOntLygXk0cc1viSW53I4tivz/zPegvoYCOAZNN5UsXmy9hwNqXsVB5Bb1H9pmpcQkzhXHVfRlvz0FHGHvPuYJpBtKpi5VGNbkMXD9CV66VEk6waVy3/H+dNKV4VSoIetJaB7x/1Vkr0LEHY+igrBhDCD0lvSm1UyNmmtMcTyISOn8CB/CZS3ns/dgF4ctjlb4v4JmYZB0yRmYnalYiJpGwMrf0+/yxm96OhO4VfYhhST04nglvj39vYr21Vqpe22WG2H/rHC9TDhofpPYg2r61oPxciWqMFdDy0w8bQKx/ia0V6U9a3JHwKlj5jflSSLzVtGwuKpnpal+XOtCk0uyMAJH8Jc2o1yRvWhgQbqqOzduCeJqoxJg7N/aFCGf1WjTgozSmBOBZ636hQWkuwick9eS0NA9W62uPKGIuedGohAY995PkVk5EFqk/L5HXT0UmEtnEUUG9Kwg7SzbR5eN4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(376002)(346002)(136003)(39860400002)(366004)(451199021)(2906002)(71200400001)(6486002)(966005)(2616005)(6512007)(6506007)(26005)(186003)(91956017)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(8676002)(8936002)(316002)(41300700001)(6916009)(478600001)(45080400002)(5660300002)(38070700005)(82960400001)(38100700002)(122000001)(36756003)(86362001)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bGNqcTFoY2c4Y2V3SnpDdFA4N3JoS21IN1hyczdUT0paaTJENVRvSy9MajBI?= =?utf-8?B?cEN6ekFFQ1o3OFc5SlY4cm9oTHJmcUIxMXVIS3gxVC9tQ1BIQ3c3cTdnTFZ1?= =?utf-8?B?MjZLVEljZjdoTVN3dWkzaXJ2SWpaY3BxYUpZR2VKUE9Eb3NRaVE2RFFid0My?= =?utf-8?B?NDRzVXNsdjc2S3JKUEJwOXNhYVN3bTRRVU5sOXBsMnhTVWZQdkhKZEJ5eEFX?= =?utf-8?B?MXBoMnY2OFZibFFhck9TM1JVdlhOUGd2dm9uU0N3MGZkQWFTNE5oWkdVdy9J?= =?utf-8?B?Y0dVWTZsUUxMZm9SQVRXK2RaKzRKMVIya2NDdThQZHROYWJtTlFaT2pVam1Q?= =?utf-8?B?Qnd1dStSRCs0dWRFS0R1eEI4b2I3cUNETXZpcXZuMlZ6RU8yOTB4dFNtQUdS?= =?utf-8?B?VXcvOVZ5NzN1K1VRMzVyeWtRWlFFN3kvZks1ZS9teFVhZFJPdUxlUGxESklI?= =?utf-8?B?MGR1Tmk1YWVDSWV0VkNSK2JJMVpuSVhSUFFTUGsxYXlwRjJ2djNkRnRZbHhk?= =?utf-8?B?eGxuVHo3RTlDb3I5d0NDSFhJMUluYTlaUzRmdFBtTEtrVjZydGwrZ0JBakta?= =?utf-8?B?NmpjcFZvd2lQc2J2SWlGaDA5d1dwVmk4Nk90VjVhYzhKTENmaGNSZ0RINDJt?= =?utf-8?B?bnhtSEkwYnB0ZWVEUE9QaXpodlg5UnFTQUxXSUVHaWRwbjRrQ25hb25tTGpP?= =?utf-8?B?RGxQTzQzRHJuNVhuUmxQbmJ4dGhzZ1FGdmJScVM0cHRPWmVicmttQ21JQ1RO?= =?utf-8?B?anFqRWNQY01IdkE0ZzRKOGllQkpBZCtCTUwzc2JCY1YvcjNTTXdFeWZJUVA0?= =?utf-8?B?U21BNTlkVTFkYnVrRFZ4cVBVMm9KakJaenlsWVpENmR5Z3FrSTJtbHBpR08y?= =?utf-8?B?MDNhSHpuZmpNb2dzZWw1cjZVbi9WNzluL3lPUUFQRjFBT3dKYS9jMXM0M2ZF?= =?utf-8?B?b0EwQWhVTjVtdllxNGN5Qkw0ME5qMTFFbk1sa2daVnpON1FmZWpWd21DenFV?= =?utf-8?B?U1A0RTRNdUFzZzJYc2JKUUpkWFpzY0diS2ZOYTVzRExZU0luRXVkVmJjTXZL?= =?utf-8?B?K2sySUliOGcvY0FXYmVobi95V1VLNG5KMDk1N1J3WkRQUkZCYmVmbTBJd3BZ?= =?utf-8?B?RFBuS3paNllROWQycVJ0Zi9LcUtYcXNBeS9CQ3I2eWgyRlBmN1JKWnQreHZL?= =?utf-8?B?RlZUN1E0aEQzaENpRnNoam5aTDV4WDd1dE94V3JVZDE3bVJqVFdneVZSTHRE?= =?utf-8?B?YUlyNWRWSjdkKzNWajFHQXZNY1U3WUdpWk1KQUphU2ZHUzFQRnFmcGJwNE9w?= =?utf-8?B?aU91NVA0YzN4OU4xWU13NzNvTjlHTnU4WW1zdVFHWWtqLzF2cFhnQkpuUUdF?= =?utf-8?B?RFFhS0FFcDlsSlBQY0N4TzJpdVdKN1VESnhTSnFlVnE4MlIxMVJvNE8yOXVH?= =?utf-8?B?bk51RU1RbWJ0ajB4citTb0tHL3cydHAvZTFpN0RLR2E1bmQvSHljY3lZUXY4?= =?utf-8?B?bHNKU1pONnZTVkh3eXdZamVab1FCUHpFZlJsR2x1NXNnaHY0VWU3T2x4QWZW?= =?utf-8?B?Q1VPdzRkVnlZSUtGa3N6YmlBOUswMnZSYlVPRE5rUnVtTVRmT0hQQWxwMlcw?= =?utf-8?B?N0lIeUxVcDlueXUwb3FlaE9ub2dsOG9xYS9uaVlzcUNKUGhHNnRQZlFncjgz?= =?utf-8?B?Vm41eTY4UldwOUptVFNHcHZnRDhRWk9qaDgvK0EraVVPMStYc3hMUVdyRnhh?= =?utf-8?B?d0NsVlUzZERSUlNqcnlLSW1RaDdRTlpuNSszbCtXYmJScHV3Zkd4MDVHWGxT?= =?utf-8?B?dXVtcGhHMlhPQ21GaVNCdHQ1c0lnMWNCWjRhL1RiUjQyMzJuN2xVSFZCTU9E?= =?utf-8?B?dlN4aTNwd1IxclBVbnJFVEtZOW45VWhhNnZmVzhLNVRPZWUwelF5KzZVL1ps?= =?utf-8?B?SjVobm5KOEdHY2xUVUo2ZGdOcURaUDlubGRCYXB0WGY0azVERDRiWS9Ma1d1?= =?utf-8?B?QWplQjhsQXlCaWtSai8vRHlQZVFrbldVZlZvODlOdHMxSXhBOUo3cmgrRkNy?= =?utf-8?B?cjJjbnJWemwzbzVwdDBhZkV2aWM2c2lXNTV3SmF2YVBQOS9HWWV1cm9ER20x?= =?utf-8?B?WHpYcDhTNzdRaDJDN3ZhRGxITXdBeUxpbEZodjV6cDNGZEJJNitXQlN6d0hC?= =?utf-8?B?V1E9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fb91a52-7389-4322-9e02-08db448552ce X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2023 05:32:41.3636 (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: 54BF20yrLqvLtfylgFYMNKIgMAtO7Wh90Lssu/mipOPPeB+isVu2f9kIRj9rAEB5mLYG4u+PiyXxcyRwnuBtNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5589 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v4 1/3] lavu/hwcontext_vaapi: Add Windows/VAAPI support with vaGetDisplayWin32 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gRGksIDIwMjMtMDQtMTggYXQgMDM6MzggKzAwMDAsIFhpYW5nLCBIYWloYW8gd3JvdGU6Cj4g T24gVnIsIDIwMjMtMDQtMTQgYXQgMTA6MzkgLTA0MDAsIFNpbCBWaWxlcmlubyB3cm90ZToKPiA+ IEZyb206IFNpbCBWaWxlcmlubyA8c2l2aWxlcmlAbWljcm9zb2Z0LmNvbT4KPiA+IAo+ID4gTGli dmEgMi4xNysgYWRkcyBhIG5ldyBsaWJ2YS13aW4zMiBub2RlIGFuZCBNZXNhIDIyLjMgYWRkcyBh IFZBQVBJIGRyaXZlcgo+ID4gYmFzZWQgb24gRGlyZWN0M0QgMTIgZm9yIFdpbmRvd3MuIEJvdGgg b2YgdGhlbSBhcmUgYXZhaWxhYmxlIGF0Ogo+ID4gaHR0cHM6Ly93d3cubnVnZXQub3JnL3BhY2th Z2VzL01pY3Jvc29mdC5EaXJlY3QzRC5WaWRlb0FjY2VsZXJhdGlvbkNvbXBhdGliaWxpdHlQYWNr Cj4gPiAKPiA+IEluaXRpYWwgcmV2aWV3IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC1tZWRp YS1jaS9mZm1wZWcvcHVsbC82MTkvCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFNpbCBWaWxlcmlu byA8c2l2aWxlcmlAbWljcm9zb2Z0LmNvbT4KPiA+IFJldmlld2VkLWJ5OiBEbWl0cnkgUm9nb3po a2luIDxkbWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPgo+ID4gUmV2aWV3ZWQtYnk6IFd1LCBU b25nMSA8dG9uZzEud3VAaW50ZWwuY29tPgo+ID4gLS0tCj4gPiDCoENoYW5nZWxvZ8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMSArCj4gPiDCoGNvbmZpZ3VyZcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDI3ICsrKysrKysrKysrKy0KPiA+IMKg bGliYXZ1dGlsL2h3Y29udGV4dF92YWFwaS5jIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQo+ID4gwqBsaWJhdnV0aWwvdGVzdHMvaHdkZXZpY2UuY8KgIHzCoCAyICst Cj4gPiDCoDQgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9DaGFuZ2Vsb2cgYi9DaGFuZ2Vsb2cKPiA+IGluZGV4IGE0 MGYzMmMyM2YuLjRhZThhNGZlMjAgMTAwNjQ0Cj4gPiAtLS0gYS9DaGFuZ2Vsb2cKPiA+ICsrKyBi L0NoYW5nZWxvZwo+ID4gQEAgLTMsNiArMyw3IEBAIHJlbGVhc2VzIGFyZSBzb3J0ZWQgZnJvbSB5 b3VuZ2VzdCB0byBvbGRlc3QuCj4gPiDCoAo+ID4gwqB2ZXJzaW9uIDxuZXh0PjoKPiA+IMKgLSBs aWJhcmliY2FwdGlvbiBkZWNvZGVyCj4gPiArLSBFeHRlbmQgVkFBUEkgc3VwcG9ydCBmb3IgbGli dmEtd2luMzIgb24gV2luZG93cwo+ID4gwqAKPiA+IMKgdmVyc2lvbiA2LjA6Cj4gPiDCoC0gUmFk aWFuY2UgSERSIGltYWdlIHN1cHBvcnQKPiA+IGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25m aWd1cmUKPiA+IGluZGV4IDAzM2RiNzQ0MmQuLjJhNDViMTFhYTQgMTAwNzU1Cj4gPiAtLS0gYS9j b25maWd1cmUKPiA+ICsrKyBiL2NvbmZpZ3VyZQo+ID4gQEAgLTIzMTYsNiArMjMxNiw3IEBAIFNZ U1RFTV9MSUJSQVJJRVM9Igo+ID4gwqDCoMKgwqAgYmNyeXB0Cj4gPiDCoMKgwqDCoCB2YWFwaV9k cm0KPiA+IMKgwqDCoMKgIHZhYXBpX3gxMQo+ID4gK8KgwqDCoCB2YWFwaV93aW4zMgo+ID4gwqDC oMKgwqAgdmRwYXVfeDExCj4gPiDCoCIKPiA+IMKgCj4gPiBAQCAtMzgyNiw3ICszODI3LDcgQEAg c3dzY2FsZV9zdWdnZXN0PSJsaWJtIHN0ZGF0b21pYyIKPiA+IMKgCj4gPiDCoGF2Y29kZWNfZXh0 cmFsaWJzPSJwdGhyZWFkc19leHRyYWxpYnMgaWNvbnZfZXh0cmFsaWJzIGR4dmEyX2V4dHJhbGli cwo+ID4gbGNtczJfZXh0cmFsaWJzIgo+ID4gwqBhdmZpbHRlcl9leHRyYWxpYnM9InB0aHJlYWRz X2V4dHJhbGlicyIKPiA+IC1hdnV0aWxfZXh0cmFsaWJzPSJkM2QxMXZhX2V4dHJhbGlicyBtZWRp YWNvZGVjX2V4dHJhbGlicwo+ID4gbmFub3NsZWVwX2V4dHJhbGlicwo+ID4gcHRocmVhZHNfZXh0 cmFsaWJzIHZhYXBpX2RybV9leHRyYWxpYnMgdmFhcGlfeDExX2V4dHJhbGlicwo+ID4gdmRwYXVf eDExX2V4dHJhbGlicyIKPiA+ICthdnV0aWxfZXh0cmFsaWJzPSJkM2QxMXZhX2V4dHJhbGlicyBt ZWRpYWNvZGVjX2V4dHJhbGlicwo+ID4gbmFub3NsZWVwX2V4dHJhbGlicwo+ID4gcHRocmVhZHNf ZXh0cmFsaWJzIHZhYXBpX2RybV9leHRyYWxpYnMgdmFhcGlfeDExX2V4dHJhbGlicwo+ID4gdmFh cGlfd2luMzJfZXh0cmFsaWJzIHZkcGF1X3gxMV9leHRyYWxpYnMiCj4gPiDCoAo+ID4gwqAjIHBy b2dyYW1zCj4gPiDCoGZmbXBlZ19kZXBzPSJhdmNvZGVjIGF2ZmlsdGVyIGF2Zm9ybWF0IHRocmVh ZHMiCj4gPiBAQCAtNjk0Nyw2ICs2OTQ4LDIxIEBAIHRlc3RfY3BwIDw8RU9GICYmIGVuYWJsZSB1 d3AgJiYgZDNkMTF2YV9leHRyYWxpYnM9Ii0KPiA+IGxkeGdpIC1sZDNkMTEiCj4gPiDCoCNlbmRp Zgo+ID4gwqBFT0YKPiA+IMKgCj4gPiArIyB2YWFwaV93aW4zMiByZXF1aXJlcyBsaW5raW5nIGRp cmVjdGx5IHRvIGR4Z2kgaWYgbm90IGJ1aWxkaW5nIGZvcgo+ID4gKyMgdGhlIGRlc2t0b3AgYXBp IHBhcnRpdGlvbgo+ID4gK3Rlc3RfY3BwIDw8RU9GICYmIGVuYWJsZSB1d3AgJiYgdmFhcGlfd2lu MzJfZXh0cmFsaWJzPSItbGR4Z2kiCj4gPiArI2lmZGVmIFdJTkFQSV9GQU1JTFkKPiA+ICsjaW5j bHVkZSA8d2luYXBpZmFtaWx5Lmg+Cj4gPiArI2lmIFdJTkFQSV9GQU1JTFlfUEFSVElUSU9OKFdJ TkFQSV9QQVJUSVRJT05fREVTS1RPUCkKPiA+ICsjZXJyb3IgZGVza3RvcCwgbm90IHV3cAo+ID4g KyNlbHNlCj4gPiArLy8gV0lOQVBJX0ZBTUlMWV9BUFAsIFdJTkFQSV9GQU1JTFlfUEhPTkVfQVBQ ID0+IFVXUAo+ID4gKyNlbmRpZgo+ID4gKyNlbHNlCj4gPiArI2Vycm9yIG5vIGZhbWlseSBzZXQK PiA+ICsjZW5kaWYKPiA+ICtFT0YKPiA+ICsKPiA+IMKgIyBtZWRpYWZvdW5kYXRpb24gcmVxdWly ZXMgbGlua2luZyBkaXJlY3RseSB0byBtZnBsYXQgaWYgYnVpbGRpbmcgZm9yIHV3cAo+ID4gdGFy Z2V0Cj4gPiDCoGVuYWJsZWQgdXdwICYmIG1lZGlhZm91bmRhdGlvbl9leHRyYWxpYnM9Ii1sbWZw bGF0IC1sbWZ1dWlkIC1sb2xlMzIgLQo+ID4gbHN0cm1paWRzIiB8fCBtZWRpYWZvdW5kYXRpb25f ZXh0cmFsaWJzPSItbG1mdXVpZCAtbG9sZTMyIC1sc3RybWlpZHMiCj4gPiDCoAo+ID4gQEAgLTY5 NTcsNyArNjk3MywxNCBAQCBlbmFibGVkIHZhYXBpICYmCj4gPiDCoMKgwqDCoCBjaGVja19wa2df Y29uZmlnIHZhYXBpICJsaWJ2YSA+PSAwLjM1LjAiICJ2YS92YS5oIiB2YUluaXRpYWxpemUKPiA+ IMKgCj4gPiDCoGlmIGVuYWJsZWQgdmFhcGk7IHRoZW4KPiA+IC3CoMKgwqAgY2hlY2tfcGtnX2Nv bmZpZyB2YWFwaV9kcm0gImxpYnZhLWRybSIgInZhL3ZhX2RybS5oIiB2YUdldERpc3BsYXlEUk0K PiA+ICvCoMKgwqAgY2FzZSAkdGFyZ2V0X29zIGluCj4gPiArwqDCoMKgwqDCoMKgwqAgbWluZ3cz Mip8bWluZ3c2NCp8d2luMzJ8d2luNjQpCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjaGVj a19wa2dfY29uZmlnIHZhYXBpX3dpbjMyICJsaWJ2YS13aW4zMiIgInZhL3ZhX3dpbjMyLmgiCj4g PiB2YUdldERpc3BsYXlXaW4zMgo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOzsKPiA+ICvC oMKgwqDCoMKgwqDCoCAqKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2hlY2tfcGtnX2Nv bmZpZyB2YWFwaV9kcm0gImxpYnZhLWRybSIgInZhL3ZhX2RybS5oIgo+ID4gdmFHZXREaXNwbGF5 RFJNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA7Owo+ID4gK8KgwqDCoCBlc2FjCj4gPiDC oAo+ID4gwqDCoMKgwqAgaWYgZW5hYmxlZCB4bGliX3gxMTsgdGhlbgo+ID4gwqDCoMKgwqDCoMKg wqDCoCBjaGVja19wa2dfY29uZmlnIHZhYXBpX3gxMSAibGlidmEteDExIiAidmEvdmFfeDExLmgi IHZhR2V0RGlzcGxheQo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfdmFhcGku YyBiL2xpYmF2dXRpbC9od2NvbnRleHRfdmFhcGkuYwo+ID4gaW5kZXggOTBjMmMxOTFkOS4uNmMz YTIyN2RkZCAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfdmFhcGkuYwo+ID4g KysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF92YWFwaS5jCj4gPiBAQCAtMTgsNiArMTgsMTUgQEAK PiA+IMKgCj4gPiDCoCNpbmNsdWRlICJjb25maWcuaCIKPiA+IMKgCj4gPiArI2lmIEhBVkVfVkFB UElfV0lOMzIKPiA+ICsjwqDCoCBpbmNsdWRlIDx3aW5kb3dzLmg+Cj4gPiArI2RlZmluZSBDT0JK TUFDUk9TCj4gPiArI8KgwqAgaW5jbHVkZSA8aW5pdGd1aWQuaD4KPiA+ICsjwqDCoCBpbmNsdWRl IDxkeGdpMV8yLmg+Cj4gPiArI8KgwqAgaW5jbHVkZSAiY29tcGF0L3czMmRsZmNuLmgiCj4gPiAr I8KgwqAgaW5jbHVkZSA8dmEvdmFfd2luMzIuaD4KPiA+ICt0eXBlZGVmIEhSRVNVTFQgKFdJTkFQ SSAqUEZOX0NSRUFURV9EWEdJX0ZBQ1RPUlkpKFJFRklJRCByaWlkLCB2b2lkCj4gPiAqKnBwRmFj dG9yeSk7Cj4gPiArI2VuZGlmCj4gPiDCoCNpZiBIQVZFX1ZBQVBJX1gxMQo+ID4gwqAjwqDCoCBp bmNsdWRlIDx2YS92YV94MTEuaD4KPiA+IMKgI2VuZGlmCj4gPiBAQCAtMTY2Myw3ICsxNjcyLDcg QEAgc3RhdGljIGludCB2YWFwaV9kZXZpY2VfY3JlYXRlKEFWSFdEZXZpY2VDb250ZXh0ICpjdHgs Cj4gPiBjb25zdCBjaGFyICpkZXZpY2UsCj4gPiDCoMKgwqDCoCBWQUFQSURldmljZVByaXYgKnBy aXY7Cj4gPiDCoMKgwqDCoCBWQURpc3BsYXkgZGlzcGxheSA9IE5VTEw7Cj4gPiDCoMKgwqDCoCBj b25zdCBBVkRpY3Rpb25hcnlFbnRyeSAqZW50Owo+ID4gLcKgwqDCoCBpbnQgdHJ5X2RybSwgdHJ5 X3gxMSwgdHJ5X2FsbDsKPiA+ICvCoMKgwqAgaW50IHRyeV9kcm0sIHRyeV94MTEsIHRyeV93aW4z MiwgdHJ5X2FsbDsKPiA+IMKgCj4gPiDCoMKgwqDCoCBwcml2ID0gYXZfbWFsbG9jeihzaXplb2Yo KnByaXYpKTsKPiA+IMKgwqDCoMKgIGlmICghcHJpdikKPiA+IEBAIC0xNjc2LDExICsxNjg1LDEz IEBAIHN0YXRpYyBpbnQgdmFhcGlfZGV2aWNlX2NyZWF0ZShBVkhXRGV2aWNlQ29udGV4dAo+ID4g KmN0eCwKPiA+IGNvbnN0IGNoYXIgKmRldmljZSwKPiA+IMKgCj4gPiDCoMKgwqDCoCBlbnQgPSBh dl9kaWN0X2dldChvcHRzLCAiY29ubmVjdGlvbl90eXBlIiwgTlVMTCwgMCk7Cj4gPiDCoMKgwqDC oCBpZiAoZW50KSB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgdHJ5X2FsbCA9IHRyeV9kcm0gPSB0cnlf eDExID0gMDsKPiA+ICvCoMKgwqDCoMKgwqDCoCB0cnlfYWxsID0gdHJ5X2RybSA9IHRyeV94MTEg PSB0cnlfd2luMzIgPSAwOwo+ID4gwqDCoMKgwqDCoMKgwqDCoCBpZiAoIXN0cmNtcChlbnQtPnZh bHVlLCAiZHJtIikpIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0cnlfZHJtID0gMTsK PiA+IMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlmICghc3RyY21wKGVudC0+dmFsdWUsICJ4MTEi KSkgewo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRyeV94MTEgPSAxOwo+ID4gK8KgwqDC oMKgwqDCoMKgIH0gZWxzZSBpZiAoIXN0cmNtcChlbnQtPnZhbHVlLCAid2luMzIiKSkgewo+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdHJ5X3dpbjMyID0gMTsKPiA+IMKgwqDCoMKgwqDCoMKg wqAgfSBlbHNlIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhdl9sb2coY3R4LCBBVl9M T0dfRVJST1IsICJJbnZhbGlkIGNvbm5lY3Rpb24gdHlwZSAlcy5cbiIsCj4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbnQtPnZhbHVlKTsKPiA+IEBAIC0xNjkwLDYg KzE3MDEsNyBAQCBzdGF0aWMgaW50IHZhYXBpX2RldmljZV9jcmVhdGUoQVZIV0RldmljZUNvbnRl eHQgKmN0eCwKPiA+IGNvbnN0IGNoYXIgKmRldmljZSwKPiA+IMKgwqDCoMKgwqDCoMKgwqAgdHJ5 X2FsbCA9IDE7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgIHRyeV9kcm0gPSBIQVZFX1ZBQVBJX0RSTTsK PiA+IMKgwqDCoMKgwqDCoMKgwqAgdHJ5X3gxMSA9IEhBVkVfVkFBUElfWDExOwo+ID4gK8KgwqDC oMKgwqDCoMKgIHRyeV93aW4zMiA9IEhBVkVfVkFBUElfV0lOMzI7Cj4gPiDCoMKgwqDCoCB9Cj4g PiDCoAo+ID4gwqAjaWYgSEFWRV9WQUFQSV9EUk0KPiA+IEBAIC0xNzk3LDYgKzE4MDksNjggQEAg c3RhdGljIGludCB2YWFwaV9kZXZpY2VfY3JlYXRlKEFWSFdEZXZpY2VDb250ZXh0Cj4gPiAqY3R4 LAo+ID4gY29uc3QgY2hhciAqZGV2aWNlLAo+ID4gwqDCoMKgwqAgfQo+ID4gwqAjZW5kaWYKPiA+ IMKgCj4gPiArI2lmIEhBVkVfVkFBUElfV0lOMzIKPiA+ICvCoMKgwqAgaWYgKCFkaXNwbGF5ICYm IHRyeV93aW4zMikgewo+ID4gK8KgwqDCoMKgwqDCoMKgIC8vIFRyeSB0byBjcmVhdGUgYSBkaXNw bGF5IGZyb20gdGhlIHNwZWNpZmllZCBkZXZpY2UsIGlmIGFueS4KPiA+ICvCoMKgwqDCoMKgwqDC oCBpZiAoIWRldmljZSkgewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGlzcGxheSA9IHZh R2V0RGlzcGxheVdpbjMyKE5VTEwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJRFhHSUZhY3RvcnkyICpwRFhHSUZhY3RvcnkgPSBOVUxM Owo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSURYR0lBZGFwdGVyICpwQWRhcHRlciA9IE5V TEw7Cj4gPiArI2lmICFIQVZFX1VXUAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFORExF IGR4Z2kgPSBkbG9wZW4oImR4Z2kuZGxsIiwgMCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBpZiAoIWR4Z2kpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9n KGN0eCwgQVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRvIGxvYWQgZHhnaS5kbGxcbiIpOwo+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUl9VTktOT1dOOwo+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUEZO X0NSRUFURV9EWEdJX0ZBQ1RPUlkgcGZuQ3JlYXRlRFhHSUZhY3RvcnkgPQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoUEZOX0NSRUFURV9EWEdJX0ZBQ1RPUlkpZGxzeW0oZHhn aSwgIkNyZWF0ZURYR0lGYWN0b3J5Iik7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAo IXBmbkNyZWF0ZURYR0lGYWN0b3J5KSB7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkNyZWF0ZURYR0lGYWN0b3J5IGxvYWQKPiA+ IGZhaWxlZFxuIik7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRsY2xvc2Uo ZHhnaSk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBBVkVSUk9S X1VOS05PV047Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiArI2Vsc2UKPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIEluIFVXUCAod2hpY2ggbGFja3MgTG9hZExpYnJhcnkp LCBDcmVhdGVEWEdJRmFjdG9yeSBpc24ndAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8g YXZhaWxhYmxlLCBvbmx5IENyZWF0ZURYR0lGYWN0b3J5MQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgUEZOX0NSRUFURV9EWEdJX0ZBQ1RPUlkgcGZuQ3JlYXRlRFhHSUZhY3RvcnkgPQo+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoUEZOX0NSRUFURV9EWEdJX0ZBQ1RPUlkp Q3JlYXRlRFhHSUZhY3RvcnkxOwo+ID4gKyNlbmRpZgo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaWYgKFNVQ0NFRURFRChwZm5DcmVhdGVEWEdJRmFjdG9yeSgmSUlEX0lEWEdJRmFjdG9yeTIs Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh2b2lkICoqKSZwRFhHSUZh Y3RvcnkpKSkgewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnQgYWRhcHRl ciA9IGF0b2koZGV2aWNlKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYg KFNVQ0NFRURFRChJRFhHSUZhY3RvcnkyX0VudW1BZGFwdGVycyhwRFhHSUZhY3RvcnksCj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBh ZGFwdGVyLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgJnBBZGFwdGVyKSkpIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBEWEdJX0FEQVBURVJfREVTQyBkZXNjOwo+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChTVUNDRUVERUQoSURYR0lBZGFwdGVyMl9HZXRE ZXNjKHBBZGFwdGVyLCAmZGVzYykpKQo+ID4gewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sCj4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAi VXNpbmcgZGV2aWNlICUwNHg6JTA0eCAoJWxzKSAtIExVSUQgJWx1Cj4gPiAlbGQuXG4iLAo+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgZGVzYy5WZW5kb3JJZCwgZGVzYy5EZXZpY2VJZCwKPiA+IGRlc2MuRGVzY3JpcHRpb24sCj4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBkZXNjLkFkYXB0ZXJMdWlkLkxvd1BhcnQsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZXNjLkFkYXB0ZXJMdWlkLkhp Z2hQYXJ0KTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGRpc3BsYXkgPSB2YUdldERpc3BsYXlXaW4zMigmZGVzYy5BZGFwdGVyTHVpZCk7Cj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElEWEdJQWRhcHRlcl9SZWxlYXNlKHBBZGFwdGVy KTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBJRFhHSUZhY3RvcnkyX1JlbGVhc2UocERYR0lGYWN0b3J5KTsK PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPiA+ICsjaWYgIUhBVkVfVVdQCj4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBkbGNsb3NlKGR4Z2kpOwo+ID4gKyNlbmRpZgo+ID4gK8KgwqDC oMKgwqDCoMKgIH0KPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIWRpc3BsYXkpIHsKPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkNhbm5v dCBvcGVuIGEgVkEgZGlzcGxheSAiCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgImZyb20gV2luMzIgZGlzcGxheS5cbiIpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuIEFWRVJST1JfVU5LTk9XTjsKPiA+ICvCoMKgwqDCoMKgwqDCoCB9Cj4gPiAr Cj4gPiArwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGN0eCwgQVZfTE9HX1ZFUkJPU0UsICJPcGVuZWQg VkEgZGlzcGxheSB2aWEgIgo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiV2lu MzIgZGlzcGxheS5cbiIpOwo+ID4gK8KgwqDCoCB9Cj4gPiArI2VuZGlmCj4gPiArCj4gPiDCoMKg wqDCoCBpZiAoIWRpc3BsYXkpIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqAgaWYgKGRldmljZSkKPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJObyBW QSBkaXNwbGF5IGZvdW5kIGZvciAiCj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3Rlc3RzL2h3 ZGV2aWNlLmMgYi9saWJhdnV0aWwvdGVzdHMvaHdkZXZpY2UuYwo+ID4gaW5kZXggN2ViMzU1Yzk4 OC4uYzU3NTg2NjEzYSAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2dXRpbC90ZXN0cy9od2RldmljZS5j Cj4gPiArKysgYi9saWJhdnV0aWwvdGVzdHMvaHdkZXZpY2UuYwo+ID4gQEAgLTE0MCw3ICsxNDAs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKPiA+IMKgwqDCoMKgIHsgQVZfSFdERVZJQ0VfVFlQ RV9PUEVOQ0wsCj4gPiDCoMKgwqDCoMKgwqAgeyAiMC4wIiwgIjAuMSIsICIxLjAiLCAiMS4xIiB9 IH0sCj4gPiDCoMKgwqDCoCB7IEFWX0hXREVWSUNFX1RZUEVfVkFBUEksCj4gPiAtwqDCoMKgwqDC oCB7ICIvZGV2L2RyaS9yZW5kZXJEMTI4IiwgIi9kZXYvZHJpL3JlbmRlckQxMjkiLCAiOjAiIH0g fSwKPiA+ICvCoMKgwqDCoMKgIHsgIi9kZXYvZHJpL3JlbmRlckQxMjgiLCAiL2Rldi9kcmkvcmVu ZGVyRDEyOSIsICI6MCIsICIwIiwgIjEiIH0gfSwKPiA+IMKgfTsKPiA+IMKgCj4gPiDCoHN0YXRp YyBpbnQgdGVzdF9kZXZpY2VfdHlwZShlbnVtIEFWSFdEZXZpY2VUeXBlIHR5cGUpCj4gCj4gTEdU TSwgSSdsbCBwdXNoIHRoaXMgcGF0Y2hzZXQgaWYgdGhlIG5leHQgZmV3IGRheXMgaWYgbm8gb3Ro ZXIgY29tbWVudHMgb3IKPiBvYmplY3Rpb25zLgo+IAoKUHVzaGVkLgoKLSBIYWloYW8KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1h aWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFi b3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVj dCAidW5zdWJzY3JpYmUiLgo=