From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B916EC43334 for ; Thu, 30 Jun 2022 17:13:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A1F711ABDF; Thu, 30 Jun 2022 17:13:04 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10FD111AB96; Thu, 30 Jun 2022 17:13:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656609183; x=1688145183; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=3hdZnGNsyFafZeRxvJWEapqdjoyXNgwHPV+KjvtLO6w=; b=RyNT57xWU4cgD3D1myFdm7ndUF/C3MrjcgmO9rfHcLJ7ZI1wxql9mo7u +zTyTMInDUglVbq3zsmfmIN5LfGgavwZ5spFt+JOFzTAxWECcAtIBEBsr NTyVj1zVZRwXhYn/QsGnZOTtiyxaFfyI/HK3TSbcHWy0PmP0tIdNY7MQy MnEX/KBukWzwIiIJATLxoUs/sK5138mRP/MSkkAhqJakIlUrmRD1glUWg dHpdyadQhR6O45jgE9dDvpf/Hbit/pgiIi9DkiqW9rF/xjkc10g7PUK6E LcF2hV46WgEchK/jfPQBHjzQEQvMxPLsyeM+Bbtp+LB1Q3S1kYHBLBsbo A==; X-IronPort-AV: E=McAfee;i="6400,9594,10394"; a="265443316" X-IronPort-AV: E=Sophos;i="5.92,235,1650956400"; d="scan'208";a="265443316" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2022 10:12:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,235,1650956400"; d="scan'208";a="591323726" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP; 30 Jun 2022 10:12:52 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 30 Jun 2022 10:12:51 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 30 Jun 2022 10:12:51 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 30 Jun 2022 10:12:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtQTYLs487X7MsZ5CIjNz1uG6irjs+H6EAmQsj//QVkOKTh3wuZngZH0Zmr4vTs+xHEMrtSen5I75jXGdf2KgF33d1fIXKYNOZgRUsU9L22QDrRPYqRZQDt3Y5J687rcrP3Je3gUlqS9vNhAapJiigaUwKlvBd1+2wO5DKucwGffN1lZqDK+zLoLQtOfMnMEUwDRZSzeW6V8IGKj/FKsJ2/c3pxnCkv0Vu1JftfdD4t3wqPlsgAK1/s/IvUal78wnmZn9Aa0mj+u7aigxMJRsrX4X//aiL8jjtekmHXkHeZ5ZlpOLOVDmFQOThy2eFlwUpYqJ9FB2nI8MQRTK5XPCg== 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=3hdZnGNsyFafZeRxvJWEapqdjoyXNgwHPV+KjvtLO6w=; b=MIM2UfcQ5/dtS4HkBKDDfwhZhgb940+PURXt2CHyK1WZOkzUx7m3s3moJXt6THcEHEP+iET7Vg5ErE13zbZ74otv1ul4mGzuwmKDwN5c5B2DywfQPo9T5qbgecxE7fM1bWAzR7TbFUQCBvm3C+tPs1p4UVhURswBQKg+k8AoDKy2bHrGVgtPnMvoxBLs9EJBIM701JC5Hz/vm63NeUmoEdqevj480puSuj/uBCzqwm+RERPWKV61S7gEtjlj9tbdB/Ej5iHCPWkYj/Zuaxs8dfZ5vamObDrk75x9xikvq8ZMY9ckupnfahCXzdcwrydsjz40HhBsHNobFlgswEYBdw== 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 CO6PR11MB5620.namprd11.prod.outlook.com (2603:10b6:303:13e::17) by BL1PR11MB5543.namprd11.prod.outlook.com (2603:10b6:208:317::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Thu, 30 Jun 2022 17:12:47 +0000 Received: from CO6PR11MB5620.namprd11.prod.outlook.com ([fe80::d96c:55bb:9ddc:9340]) by CO6PR11MB5620.namprd11.prod.outlook.com ([fe80::d96c:55bb:9ddc:9340%4]) with mapi id 15.20.5395.014; Thu, 30 Jun 2022 17:12:47 +0000 From: "Zanoni, Paulo R" To: "Vishwanathapura, Niranjana" Thread-Topic: [PATCH v6 3/3] drm/doc/rfc: VM_BIND uapi definition Thread-Index: AQHYiP8Bnss2T+Oi7EaJxxVfLuy0G61nICOAgABdeICAAAjNgIAAoZWAgAAPQoA= Date: Thu, 30 Jun 2022 17:12:47 +0000 Message-ID: References: <20220626014916.5130-1-niranjana.vishwanathapura@intel.com> <20220626014916.5130-4-niranjana.vishwanathapura@intel.com> <20220630060820.GB14039@nvishwa1-DESK> <406c2c67ad85258d1f8ee0fa918706a7e8b6605d.camel@intel.com> <20220630161811.GF14039@nvishwa1-DESK> In-Reply-To: <20220630161811.GF14039@nvishwa1-DESK> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.3-1 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: 74195b21-9554-4231-fd74-08da5abbc163 x-ms-traffictypediagnostic: BL1PR11MB5543:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RaqOPtZJgS8gosQaYDoYc9Ntg/UkAtXaQjiBmwBEZDYgOyIsj5YT+Fwlc9rtb10/ULpZykPRM3H/mtyAjySXXhfLK9meP6eLpviuMKHBVyQ2z1pRYw5GPZDQcQYY+G931gTsTWxhm0D25/3l/BZEtbwyCJUEzKRjhhtjRfSsVSx523CEg3GV/Is3eA0wqluQ7bl1wO/P/HBInkJ/8hxuMbIcXLo+dNOE9v31fuUpG6eZ7nxr1XoIn30UBxHpwp8Df+VW90kkiuptPAvEe6Y7wMB112Q7AmmUWqtAhHnPIaqQWTeTadahaqmMQWOba1MlU3blQiaCRrus8rglJak42zVaZ0rUk7I1AtqtDVjwvQI5HdlHlLjZWdCY3gExL7N/g29Fck8fovoAVTTaO7AO+4VqoQGwyCrmtj5oR2Aprz1y2YvAi35y2KdkMM6kbxvscqKxsOQJ02USVt7coC3BtipcAJXb7YKnMD1SM5o+1+HRpHn658fIUAXSAq5+c9FuJZvcByQIp+yyhz80XKc9QyL2FnAskc9BbwvZXfox/FTFJBYnQVvn6Wv2BcbFvJvDxvMr1QRA9rInOWz1FT5wMxVT15bUkwwKCx4Qb7GplquQlfgIEKEqYLSkNzliw4BnARz7WB0FXDsif04VLG+IeFaR+VUk8wHRdrH6vRt3Ge2W8OPbx7yPVDHMZtLEn0XbkrpYhcm0eXxihe/g7Kb2TSNNVf45fXS/8wjWw7SSMmNkMBzl4/4PzovPffdhekCLcI2inlRepTcbh8GpcMNF4T6W8iydydOVTScpPJem3a7tF1BU1haT1x5LpF3uzYGq x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR11MB5620.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(39860400002)(376002)(346002)(136003)(396003)(66946007)(37006003)(54906003)(6636002)(36756003)(41300700001)(64756008)(478600001)(71200400001)(316002)(76116006)(86362001)(122000001)(38100700002)(82960400001)(38070700005)(30864003)(83380400001)(186003)(6506007)(6512007)(2616005)(2906002)(5660300002)(6486002)(6862004)(66556008)(4326008)(66476007)(66446008)(8676002)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eURXNFJPcVZkSWRtQXVLWkdYS2pwdHJSMndPS001ai9pNmNGRmpuVUJDbDd6?= =?utf-8?B?QkR5QXFkU0xiWGNtNnVjWWJ3SXZNWmFyYjFkclJpT3hNUnErdHllaCt5R1BS?= =?utf-8?B?SDZkek1qMyt1MURFQjkrYXY1L2VlcjIwYXlTTEhyUTVPNHpZZnY0SkRhZHRi?= =?utf-8?B?Qjd2bmZZWDNGOVJJZnd6eVYvTk1wbWtsVlJxeTg4d1pNcCt6d1ByK04xZE1y?= =?utf-8?B?RWJBdHh2WWJja3h1cmdqb2xMRzh0dlY5Q1lEQ0hyaTlBblg4Y0psOHpQelhv?= =?utf-8?B?Unc4SjgvVm01QVFqTnk5dEVpbHJkWFExSEpvT0NqVlk5bWdjVzJ2MnFjWlZa?= =?utf-8?B?MCswQ2JVSVAxMTA5cnBBdDRQaU5TdHgzL3h6MUtHVWRnOENNb1Q1dnF3Q2h6?= =?utf-8?B?N3R6TFdQb1p3NkhkMExZbGJEcEdLbTZvdTdUdGY3MFozZXdUTlN0WmlycEtX?= =?utf-8?B?clB1THNHWkk3WGtib2JDanhkYkdjNVdsQjRGNjVKSzRpQVVMS0x2Q05XUXVk?= =?utf-8?B?YTloVnRMdEhMVlVhTGNuUndEQnBsMWxscWNVckgwQkl1QVBCTk5TaElqTXBX?= =?utf-8?B?ek9TbThNNFR2ckJiV0RWbXNuLzUxTlNBa2VWVzh1UlB0KzFkdEk5b21yRUU4?= =?utf-8?B?c1pEYXZDRHRna2c4U0s0L3hoTDlwQldpUGFWbTk5SG5kNFVRb2V4Y1drLzd3?= =?utf-8?B?NUJ6VmM4L05CNGJmdmMyUzRYdHVXYWRDcit5endlYzZUSms3bC9ZU0h5NXZC?= =?utf-8?B?RVpLUFZoVmQ1Qm9lMUVseGJ4UlhUdy9pcytKZ1pwd0FpeHFocVd2WEtva0JS?= =?utf-8?B?dnd1U2k2SkpDTUFwRHhQcHRvVGlzYjZmdzFNT3ByWk1oL0JTclZyMS8xMW5a?= =?utf-8?B?bFBETm5FZ3Y0Mys3ZTJIYWpPRTdJYSs5R0Y0U3JWQ0RVOG54OU0rRzdOcWZ2?= =?utf-8?B?RkVELzRXc016dk1QenJLaUhjbEFOalRESUZha2xQSlZmMURZcGR6RklyQmc1?= =?utf-8?B?Vks3QmlzOXlkT05nTFZHLzZlQjAwODZNZVpaY3JvSXIwdzBOc2dTUmZ0NGZZ?= =?utf-8?B?blBJVHNwVFFWSk9SSHUyRjQzc3VZbU8rVFA2a1V2NWxGY3JsU0tGMVBpcW1R?= =?utf-8?B?eG1keGNqbW5ZdUNRd1FqcytDTkYvL05jb0QwOXk2WDNyYm1LZ2ZwaWl0UE9C?= =?utf-8?B?dnhQZEdBWFBhQVFYOWNUa0h1aExuSERUWUV5QTloa0xEaGE2dDVuRWhiR0tt?= =?utf-8?B?anhMV0ZrV3l5ODZLMzRQWDRwc2o3a2NISVFSNDBhcHNrZVYvZnA5YzUxelQz?= =?utf-8?B?MnA1ZWJFS2puTk5FYW5YWVM3endCMEc0WUY0amRLTytXVngzMTFhUmdSUUlo?= =?utf-8?B?cXpHZmtCMzluWlBEa1ZySG1vcG93RkRjUWJFSzYzY1I5UnZVa212OU8vVE5X?= =?utf-8?B?NGJRQWtKZTNxOXZxRWMvTFhibUhtTVh3b0wwNmg0dlB5QzM0d2UwVEh5dDk1?= =?utf-8?B?SlNrTkdJMnREQUt2bU9ZN0hpc2JCMW10Ulh3Qjh2M3lnVGM4Nk5qYUcrWGYx?= =?utf-8?B?VVdoRW85djc5cVZSdTJMT0JHcFE0cjZ2bFJzWVBXNi9LQnMzb1BqcjFsV2Nz?= =?utf-8?B?TS9SMGVVdXFhOCtac3NLTkp5Vlcrc3YvemFYUU8yczF3cEVJM1ZHc2ZHbW40?= =?utf-8?B?RE9pTUJaK21nQU04MXVWQ1czMkk5YjNQcHN5dkNtSHZqd3FnMmkwa214N0xs?= =?utf-8?B?UEorTEJOa2RGcndhdWpFQzRLczVMNkZRckxtT3duTXNlWGZQdWlVWnlKWmIw?= =?utf-8?B?NGRuZnBFSCs1YjYyRjhoZW1NdU4zaWJmNU5YWlROMy80bXdZb3VsUXJPWG9h?= =?utf-8?B?VVpzSDU5UXVaME44RWYxNmpVeGVJa3p5RG94WisrQW9XNnhsbzYyZkZoaTFT?= =?utf-8?B?L2dmR2VHeGtsUllNSEhkaUdYUTVlcTlXNlVqVGkwTnk1ZVVhZ1RDS3ROaU5U?= =?utf-8?B?aGJXSW4wRUEyZWc4b1ltUVBmUEJLcS9rUW9HQzVvNTFrRDNtNCtReWc0TmtG?= =?utf-8?B?d2dvS1ZxSGl0NmxLa3VsdjVIbnE4Nkx3dkJvbnMxRjNSeGNLTFJDaW5VbWpX?= =?utf-8?B?WUUyUVMxK3ZoYXl4YWtralpUTnhOSEpvZXNmUyt6L0RYTnY2Z0RYdUkwdmx3?= =?utf-8?B?bWNGaFlVUU8xUjlKNHprY1RlZXd3TjA0aXg2YjdyR29LWGpsTHByQUViMWxV?= =?utf-8?B?bTVzMStWQS85SWdCRnJ0YXBmb0hRPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5620.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74195b21-9554-4231-fd74-08da5abbc163 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2022 17:12:47.5661 (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: KF0AsI9VIceisTUofhPqQUYQhOMGUlc9S4/cGNVWD1fMXrX0Vv3/wAX0rIGgr5YlBCjZU+RU/Vxl1cYbHO/YS2y3/L9XfEver0c4mNhMnVI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5543 X-OriginatorOrg: intel.com Subject: Re: [Intel-gfx] [PATCH v6 3/3] drm/doc/rfc: VM_BIND uapi definition X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Wilson, Chris P" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Hellstrom, Thomas" , "Auld, Matthew" , "Vetter, Daniel" , "christian.koenig@amd.com" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVGh1LCAyMDIyLTA2LTMwIGF0IDA5OjE4IC0wNzAwLCBOaXJhbmphbmEgVmlzaHdhbmF0aGFw dXJhIHdyb3RlOg0KPiBPbiBXZWQsIEp1biAyOSwgMjAyMiBhdCAxMTozOTo1MlBNIC0wNzAwLCBa YW5vbmksIFBhdWxvIFIgd3JvdGU6DQo+ID4gT24gV2VkLCAyMDIyLTA2LTI5IGF0IDIzOjA4IC0w NzAwLCBOaXJhbmphbmEgVmlzaHdhbmF0aGFwdXJhIHdyb3RlOg0KPiA+ID4gT24gV2VkLCBKdW4g MjksIDIwMjIgYXQgMDU6MzM6NDlQTSAtMDcwMCwgWmFub25pLCBQYXVsbyBSIHdyb3RlOg0KPiA+ ID4gPiBPbiBTYXQsIDIwMjItMDYtMjUgYXQgMTg6NDkgLTA3MDAsIE5pcmFuamFuYSBWaXNod2Fu YXRoYXB1cmEgd3JvdGU6DQo+ID4gPiA+ID4gVk1fQklORCBhbmQgcmVsYXRlZCB1YXBpIGRlZmlu aXRpb25zDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gdjI6IFJlZHVjZSB0aGUgc2NvcGUgdG8gc2lt cGxlIE1lc2EgdXNlIGNhc2UuDQo+ID4gPiA+ID4gdjM6IEV4cGFuZCBWTV9VTkJJTkQgZG9jdW1l bnRhdGlvbiBhbmQgYWRkDQo+ID4gPiA+ID4gwqDCoMKgwqBJOTE1X0dFTV9WTV9CSU5EL1VOQklO RF9GRU5DRV9WQUxJRA0KPiA+ID4gPiA+IMKgwqDCoMKgYW5kIEk5MTVfR0VNX1ZNX0JJTkRfVExC X0ZMVVNIIGZsYWdzLg0KPiA+ID4gPiA+IHY0OiBSZW1vdmUgSTkxNV9HRU1fVk1fQklORF9UTEJf RkxVU0ggZmxhZyBhbmQgYWRkIGFkZGl0aW9uYWwNCj4gPiA+ID4gPiDCoMKgwqDCoGRvY3VtZW50 YXRpb24gZm9yIHZtX2JpbmQvdW5iaW5kLg0KPiA+ID4gPiA+IHY1OiBSZW1vdmUgVExCIGZsdXNo IHJlcXVpcmVtZW50IG9uIFZNX1VOQklORC4NCj4gPiA+ID4gPiDCoMKgwqDCoEFkZCB2ZXJzaW9u IHN1cHBvcnQgdG8gc3RhZ2UgaW1wbGVtZW50YXRpb24uDQo+ID4gPiA+ID4gdjY6IERlZmluZSBh bmQgdXNlIGRybV9pOTE1X2dlbV90aW1lbGluZV9mZW5jZSBzdHJ1Y3R1cmUgZm9yDQo+ID4gPiA+ ID4gwqDCoMKgwqBhbGwgdGltZWxpbmUgZmVuY2VzLg0KPiA+ID4gPiA+IHY3OiBSZW5hbWUgSTkx NV9QQVJBTV9IQVNfVk1fQklORCB0byBJOTE1X1BBUkFNX1ZNX0JJTkRfVkVSU0lPTi4NCj4gPiA+ ID4gPiDCoMKgwqDCoFVwZGF0ZSBkb2N1bWVudGF0aW9uIG9uIGFzeW5jIHZtX2JpbmQvdW5iaW5k IGFuZCB2ZXJzaW9uaW5nLg0KPiA+ID4gPiA+IMKgwqDCoMKgUmVtb3ZlIHJlZHVuZGFudCB2bV9i aW5kL3VuYmluZCBGRU5DRV9WQUxJRCBmbGFnLCBleGVjYnVmMw0KPiA+ID4gPiA+IMKgwqDCoMKg YmF0Y2hfY291bnQgZmllbGQgYW5kIEk5MTVfRVhFQzNfU0VDVVJFIGZsYWcuDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTmlyYW5qYW5hIFZpc2h3YW5hdGhhcHVyYSA8bmly YW5qYW5hLnZpc2h3YW5hdGhhcHVyYUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gUmV2aWV3ZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+DQo+ID4gPiA+ID4gLS0tDQo+ ID4gPiA+ID4gwqBEb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV92bV9iaW5kLmggfCAyODAgKysr KysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+ID4gwqAxIGZpbGUgY2hhbmdlZCwgMjgw IGluc2VydGlvbnMoKykNCj4gPiA+ID4gPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0 aW9uL2dwdS9yZmMvaTkxNV92bV9iaW5kLmgNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfdm1fYmluZC5oIGIvRG9jdW1lbnRhdGlv bi9ncHUvcmZjL2k5MTVfdm1fYmluZC5oDQo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmE5M2UwOGJjZWVlNg0KPiA+ID4gPiA+IC0t LSAvZGV2L251bGwNCj4gPiA+ID4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV92 bV9iaW5kLmgNCj4gPiA+ID4gPiBAQCAtMCwwICsxLDI4MCBAQA0KPiA+ID4gPiA+ICsvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovDQo+ID4gPiA+ID4gKy8qDQo+ID4gPiA+ID4gKyAq IENvcHlyaWdodCDCqSAyMDIyIEludGVsIENvcnBvcmF0aW9uDQo+ID4gPiA+ID4gKyAqLw0KPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4gPiA+ID4gKyAqIERPQzogSTkxNV9QQVJBTV9W TV9CSU5EX1ZFUlNJT04NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogVk1fQklORCBmZWF0 dXJlIHZlcnNpb24gc3VwcG9ydGVkLg0KPiA+ID4gPiA+ICsgKiBTZWUgdHlwZWRlZiBkcm1faTkx NV9nZXRwYXJhbV90IHBhcmFtLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBTcGVjaWZp ZXMgdGhlIFZNX0JJTkQgZmVhdHVyZSB2ZXJzaW9uIHN1cHBvcnRlZC4NCj4gPiA+ID4gPiArICog VGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiBWTV9CSU5EIGhhdmUgYmVlbiBkZWZpbmVkOg0KPiA+ ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiAwOiBObyBWTV9CSU5EIHN1cHBvcnQuDQo+ID4gPiA+ ID4gKyAqDQo+ID4gPiA+ID4gKyAqIDE6IEluIFZNX1VOQklORCBjYWxscywgdGhlIFVNRCBtdXN0 IHNwZWNpZnkgdGhlIGV4YWN0IG1hcHBpbmdzIGNyZWF0ZWQNCj4gPiA+ID4gPiArICogICAgcHJl dmlvdXNseSB3aXRoIFZNX0JJTkQsIHRoZSBpb2N0bCB3aWxsIG5vdCBzdXBwb3J0IHVuYmluZGlu ZyBtdWx0aXBsZQ0KPiA+ID4gPiA+ICsgKiAgICBtYXBwaW5ncyBvciBzcGxpdHRpbmcgdGhlbS4g U2ltaWxhcmx5LCBWTV9CSU5EIGNhbGxzIHdpbGwgbm90IHJlcGxhY2UNCj4gPiA+ID4gPiArICog ICAgYW55IGV4aXN0aW5nIG1hcHBpbmdzLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiAy OiBUaGUgcmVzdHJpY3Rpb25zIG9uIHVuYmluZGluZyBwYXJ0aWFsIG9yIG11bHRpcGxlIG1hcHBp bmdzIGlzDQo+ID4gPiA+ID4gKyAqICAgIGxpZnRlZCwgU2ltaWxhcmx5LCBiaW5kaW5nIHdpbGwg cmVwbGFjZSBhbnkgbWFwcGluZ3MgaW4gdGhlIGdpdmVuIHJhbmdlLg0KPiA+ID4gPiA+ICsgKg0K PiA+ID4gPiA+ICsgKiBTZWUgc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIGFuZCBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3ZtX3VuYmluZC4NCj4gPiA+ID4gPiArICovDQo+ID4gPiA+ID4gKyNkZWZp bmUgSTkxNV9QQVJBTV9WTV9CSU5EX1ZFUlNJT04gICA1Nw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArLyoqDQo+ID4gPiA+ID4gKyAqIERPQzogSTkxNV9WTV9DUkVBVEVfRkxBR1NfVVNFX1ZNX0JJ TkQNCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogRmxhZyB0byBvcHQtaW4gZm9yIFZNX0JJ TkQgbW9kZSBvZiBiaW5kaW5nIGR1cmluZyBWTSBjcmVhdGlvbi4NCj4gPiA+ID4gPiArICogU2Vl IHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fY29udHJvbCBmbGFncy4NCj4gPiA+ID4gPiArICoNCj4g PiA+ID4gPiArICogVGhlIG9sZGVyIGV4ZWNidWYyIGlvY3RsIHdpbGwgbm90IHN1cHBvcnQgVk1f QklORCBtb2RlIG9mIG9wZXJhdGlvbi4NCj4gPiA+ID4gPiArICogRm9yIFZNX0JJTkQgbW9kZSwg d2UgaGF2ZSBuZXcgZXhlY2J1ZjMgaW9jdGwgd2hpY2ggd2lsbCBub3QgYWNjZXB0IGFueQ0KPiA+ ID4gPiA+ICsgKiBleGVjbGlzdCAoU2VlIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjMg Zm9yIG1vcmUgZGV0YWlscykuDQo+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5 MTVfVk1fQ1JFQVRFX0ZMQUdTX1VTRV9WTV9CSU5EICAgICAoMSA8PCAwKQ0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArLyogVk1fQklORCByZWxhdGVkIGlvY3RscyAqLw0KPiA+ID4gPiA+ICsjZGVm aW5lIERSTV9JOTE1X0dFTV9WTV9CSU5EICAgICAgICAgMHgzZA0KPiA+ID4gPiA+ICsjZGVmaW5l IERSTV9JOTE1X0dFTV9WTV9VTkJJTkQgICAgICAgICAgICAgICAweDNlDQo+ID4gPiA+ID4gKyNk ZWZpbmUgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzICAgICAweDNmDQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICsjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9WTV9CSU5EICAgICAgICAgICBEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0JJTkQsIHN0cnVjdCBkcm1f aTkxNV9nZW1fdm1fYmluZCkNCj4gPiA+ID4gPiArI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1f Vk1fVU5CSU5EICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dF TV9WTV9VTkJJTkQsIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fYmluZCkNCj4gPiA+ID4gPiArI2Rl ZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fRVhFQ0JVRkZFUjMgICAgICAgICAgICAgICBEUk1fSU9X UihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzLCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2V4ZWNidWZmZXIzKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4g PiA+ID4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fdGltZWxpbmVfZmVuY2UgLSBBbiBpbnB1dCBv ciBvdXRwdXQgdGltZWxpbmUgZmVuY2UuDQo+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gKyAqIFRo ZSBvcGVyYXRpb24gd2lsbCB3YWl0IGZvciBpbnB1dCBmZW5jZSB0byBzaWduYWwuDQo+ID4gPiA+ ID4gKyAqDQo+ID4gPiA+ID4gKyAqIFRoZSByZXR1cm5lZCBvdXRwdXQgZmVuY2Ugd2lsbCBiZSBz aWduYWxlZCBhZnRlciB0aGUgY29tcGxldGlvbiBvZiB0aGUNCj4gPiA+ID4gPiArICogb3BlcmF0 aW9uLg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV90aW1l bGluZV9mZW5jZSB7DQo+ID4gPiA+ID4gKyAgICAgLyoqIEBoYW5kbGU6IFVzZXIncyBoYW5kbGUg Zm9yIGEgZHJtX3N5bmNvYmogdG8gd2FpdCBvbiBvciBzaWduYWwuICovDQo+ID4gPiA+ID4gKyAg ICAgX191MzIgaGFuZGxlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAvKioNCj4gPiA+ ID4gPiArICAgICAgKiBAZmxhZ3M6IFN1cHBvcnRlZCBmbGFncyBhcmU6DQo+ID4gPiA+ID4gKyAg ICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBJOTE1X1RJTUVMSU5FX0ZFTkNFX1dBSVQ6DQo+ID4g PiA+ID4gKyAgICAgICogV2FpdCBmb3IgdGhlIGlucHV0IGZlbmNlIGJlZm9yZSB0aGUgb3BlcmF0 aW9uLg0KPiA+ID4gPiA+ICsgICAgICAqDQo+ID4gPiA+ID4gKyAgICAgICogSTkxNV9USU1FTElO RV9GRU5DRV9TSUdOQUw6DQo+ID4gPiA+ID4gKyAgICAgICogUmV0dXJuIG9wZXJhdGlvbiBjb21w bGV0aW9uIGZlbmNlIGFzIG91dHB1dC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiAr ICAgICBfX3UzMiBmbGFnczsNCj4gPiA+ID4gPiArI2RlZmluZSBJOTE1X1RJTUVMSU5FX0ZFTkNF X1dBSVQgICAgICAgICAgICAoMSA8PCAwKQ0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5MTVfVElNRUxJ TkVfRkVOQ0VfU0lHTkFMICAgICAgICAgICgxIDw8IDEpDQo+ID4gPiA+ID4gKyNkZWZpbmUgX19J OTE1X1RJTUVMSU5FX0ZFTkNFX1VOS05PV05fRkxBR1MgKC0oSTkxNV9USU1FTElORV9GRU5DRV9T SUdOQUwgPDwgMSkpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ ICsgICAgICAqIEB2YWx1ZTogQSBwb2ludCBpbiB0aGUgdGltZWxpbmUuDQo+ID4gPiA+ID4gKyAg ICAgICogVmFsdWUgbXVzdCBiZSAwIGZvciBhIGJpbmFyeSBkcm1fc3luY29iai4gQSBWYWx1ZSBv ZiAwIGZvciBhDQo+ID4gPiA+ID4gKyAgICAgICogdGltZWxpbmUgZHJtX3N5bmNvYmogaXMgaW52 YWxpZCBhcyBpdCB0dXJucyBhIGRybV9zeW5jb2JqIGludG8gYQ0KPiA+ID4gPiA+ICsgICAgICAq IGJpbmFyeSBvbmUuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4gPiA+ID4gKyAgICAgX191NjQg dmFsdWU7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIC0gVkEgdG8gb2JqZWN0IG1hcHBp bmcgdG8gYmluZC4NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogVGhpcyBzdHJ1Y3R1cmUg aXMgcGFzc2VkIHRvIFZNX0JJTkQgaW9jdGwgYW5kIHNwZWNpZmllcyB0aGUgbWFwcGluZyBvZiBH UFUNCj4gPiA+ID4gPiArICogdmlydHVhbCBhZGRyZXNzIChWQSkgcmFuZ2UgdG8gdGhlIHNlY3Rp b24gb2YgYW4gb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGJvdW5kDQo+ID4gPiA+ID4gKyAqIGluIHRo ZSBkZXZpY2UgcGFnZSB0YWJsZSBvZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3Mgc3BhY2UgKFZNKS4N Cj4gPiA+ID4gPiArICogVGhlIFZBIHJhbmdlIHNwZWNpZmllZCBtdXN0IGJlIHVuaXF1ZSAoaWUu LCBub3QgY3VycmVudGx5IGJvdW5kKSBhbmQgY2FuDQo+ID4gPiA+ID4gKyAqIGJlIG1hcHBlZCB0 byB3aG9sZSBvYmplY3Qgb3IgYSBzZWN0aW9uIG9mIHRoZSBvYmplY3QgKHBhcnRpYWwgYmluZGlu ZykuDQo+ID4gPiA+ID4gKyAqIE11bHRpcGxlIFZBIG1hcHBpbmdzIGNhbiBiZSBjcmVhdGVkIHRv IHRoZSBzYW1lIHNlY3Rpb24gb2YgdGhlIG9iamVjdA0KPiA+ID4gPiA+ICsgKiAoYWxpYXNpbmcp Lg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBUaGUgQHN0YXJ0LCBAb2Zmc2V0IGFuZCBA bGVuZ3RoIG11c3QgYmUgNEsgcGFnZSBhbGlnbmVkLiBIb3dldmVyIHRoZSBERzINCj4gPiA+ID4g PiArICogYW5kIFhFSFBTRFYgaGFzIDY0SyBwYWdlIHNpemUgZm9yIGRldmljZSBsb2NhbC1tZW1v cnkgYW5kIGhhcyBjb21wYWN0IHBhZ2UNCj4gPiA+ID4gPiArICogdGFibGUuIE9uIHRob3NlIHBs YXRmb3JtcywgZm9yIGJpbmRpbmcgZGV2aWNlIGxvY2FsLW1lbW9yeSBvYmplY3RzLCB0aGUNCj4g PiA+ID4gPiArICogQHN0YXJ0IG11c3QgYmUgMk0gYWxpZ25lZCwgQG9mZnNldCBhbmQgQGxlbmd0 aCBtdXN0IGJlIDY0SyBhbGlnbmVkLg0KPiA+ID4gPiA+ICsgKiBBbHNvLCBmb3Igc3VjaCBtYXBw aW5ncywgaTkxNSB3aWxsIHJlc2VydmUgdGhlIHdob2xlIDJNIHJhbmdlIGZvciBpdCBzbyBhcw0K PiA+ID4gPiA+ICsgKiB0byBub3QgYWxsb3cgbXVsdGlwbGUgbWFwcGluZ3MgaW4gdGhhdCAyTSBy YW5nZSAoQ29tcGFjdCBwYWdlIHRhYmxlcyBkbyBub3QNCj4gPiA+ID4gPiArICogYWxsb3cgNjRL IHBhZ2UgYW5kIDRLIHBhZ2UgYmluZGluZ3MgaW4gdGhlIHNhbWUgMk0gcmFuZ2UpLg0KPiA+ID4g PiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBFcnJvciBjb2RlIC1FSU5WQUwgd2lsbCBiZSByZXR1cm5l ZCBpZiBAc3RhcnQsIEBvZmZzZXQgYW5kIEBsZW5ndGggYXJlIG5vdA0KPiA+ID4gPiA+ICsgKiBw cm9wZXJseSBhbGlnbmVkLiBJbiB2ZXJzaW9uIDEgKFNlZSBJOTE1X1BBUkFNX1ZNX0JJTkRfVkVS U0lPTiksIGVycm9yIGNvZGUNCj4gPiA+ID4gPiArICogLUVOT1NQQyB3aWxsIGJlIHJldHVybmVk IGlmIHRoZSBWQSByYW5nZSBzcGVjaWZpZWQgY2FuJ3QgYmUgcmVzZXJ2ZWQuDQo+ID4gPiA+ID4g KyAqDQo+ID4gPiA+ID4gKyAqIFZNX0JJTkQvVU5CSU5EIGlvY3RsIGNhbGxzIGV4ZWN1dGVkIG9u IGRpZmZlcmVudCBDUFUgdGhyZWFkcyBjb25jdXJyZW50bHkNCj4gPiA+ID4gPiArICogYXJlIG5v dCBvcmRlcmVkLiBGdXJ0aGVybW9yZSwgcGFydHMgb2YgdGhlIFZNX0JJTkQgb3BlcmF0aW9uIGNh biBiZSBkb25lDQo+ID4gPiA+ID4gKyAqIGFzeW5jaHJvbm91c2x5LCBpZiB2YWxpZCBAZmVuY2Ug aXMgc3BlY2lmaWVkLg0KPiA+ID4gPiANCj4gPiA+ID4gRG9lcyB0aGF0IG1lYW4gdGhhdCBpZiBJ IGRvbid0IHByb3ZpZGUgQGZlbmNlLCB0aGVuIHRoaXMgaW9jdGwgd2lsbCBiZQ0KPiA+ID4gPiBz eW5jaHJvbm91cyAoaS5lLiwgd2hlbiBpdCByZXR1cm5zLCB0aGUgbWVtb3J5IHdpbGwgYmUgZ3Vh cmFudGVlZCB0byBiZQ0KPiA+ID4gPiBib3VuZCk/IFRoZSB0ZXh0IGlzIGtpbmRhIGltcGx5aW5n IHRoYXQsIGJ1dCBmcm9tIG9uZSBvZiB5b3VyIGVhcmxpZXINCj4gPiA+ID4gcmVwbGllcyB0byBU dnJ0a28sIHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIHRoZSBjYXNlLiBJIGd1ZXNzIHdlIGNvdWxk DQo+ID4gPiA+IGNoYW5nZSB0aGUgdGV4dCB0byBtYWtlIHRoaXMgbW9yZSBleHBsaWNpdC4NCj4g PiA+ID4gDQo+ID4gPiANCj4gPiA+IFllcywgSSB0aG91Z2h0LCBpZiB1c2VyIGRvZXNuJ3Qgc3Bl Y2lmeSB0aGUgb3V0IGZlbmNlLCBLTUQgYmV0dGVyIG1ha2UNCj4gPiA+IHRoZSBpb2N0bCBzeW5j aHJvbm91cyBieSB3YWl0aW5nIHVudGlsIHRoZSBiaW5kaW5nIGZpbmlzaGVzIGJlZm9yZQ0KPiA+ ID4gcmV0dXJuaW5nLiBPdGhlcndpc2UsIFVNRCBoYXMgbm8gd2F5IHRvIGVuc3VyZSBiaW5kaW5n IGlzIGNvbXBsZXRlIGFuZA0KPiA+ID4gVU1EIG11c3QgcGFzcyBpbiBvdXQgZmVuY2UgZm9yIFZN X0JJTkQgY2FsbHMuDQo+ID4gPiANCj4gPiA+IEJ1dCBsYXRlc3QgY29tbWVudCBmb3JtIERhbmll bCBvbiBvdGhlciB0aHJlYWQgbWlnaHQgc3VnZ2VzdCBzb21ldGhpbmcgZWxzZS4NCj4gPiA+IERh bmllbCwgY2FuIHlvdSBjb21tZW50Pw0KPiA+IA0KPiA+IFdoYXRldmVyIHdlIGRlY2lkZSwgbGV0 J3MgbWFrZSBzdXJlIGl0J3MgZG9jdW1lbnRlZC4NCj4gPiANCj4gPiA+IA0KPiA+ID4gPiBJbiBh ZGRpdGlvbiwgcHJldmlvdXNseSB3ZSBoYWQgdGhlIGd1YXJhbnRlZSB0aGF0IGFuIGV4ZWNidWYg aW9jdGwNCj4gPiA+ID4gd291bGQgd2FpdCBmb3IgYWxsIHRoZSBwZW5kaW5nIHZtX2JpbmQgb3Bl cmF0aW9ucyB0byBmaW5pc2ggYmVmb3JlDQo+ID4gPiA+IGRvaW5nIGFueXRoaW5nLiBEbyB3ZSBz dGlsbCBoYXZlIHRoaXMgZ3VhcmFudGVlIG9yIGRvIHdlIGhhdmUgdG8gbWFrZQ0KPiA+ID4gPiB1 c2Ugb2YgdGhlIGZlbmNlcyBub3c/DQo+ID4gPiA+IA0KPiA+ID4gDQo+ID4gPiBObywgd2UgZG9u J3QgaGF2ZSB0aGF0IGFueW1vcmUgKGV4ZWNidWYgaXMgZGVjb3VwbGVkIGZyb20gVk1fQklORCku DQo+ID4gPiBFeGVjYnVmMyBzdWJtaXNzaW9uIHdpbGwgbm90IHdhaXQgZm9yIGFueSBwcmV2aW91 cyBWTV9CSU5EIHRvIGZpbmlzaC4NCj4gPiA+IFVNRCBtdXN0IHBhc3MgaW4gVk1fQklORCBvdXQg ZmVuY2UgYXMgaW4gZmVuY2UgZm9yIGV4ZWNidWYzIHRvIGVuc3VyZQ0KPiA+ID4gdGhhdC4NCj4g PiANCj4gPiBHb3QgaXQsIHRoYW5rcy4NCj4gPiANCj4gPiA+IA0KPiA+ID4gPiA+ICsgKi8NCj4g PiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIHsNCj4gPiA+ID4gPiArICAgICAv KiogQHZtX2lkOiBWTSAoYWRkcmVzcyBzcGFjZSkgaWQgdG8gYmluZCAqLw0KPiA+ID4gPiA+ICsg ICAgIF9fdTMyIHZtX2lkOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAvKiogQGhhbmRs ZTogT2JqZWN0IGhhbmRsZSAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTMyIGhhbmRsZTsNCj4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBzdGFydDogVmlydHVhbCBBZGRyZXNzIHN0YXJ0 IHRvIGJpbmQgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBzdGFydDsNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gKyAgICAgLyoqIEBvZmZzZXQ6IE9mZnNldCBpbiBvYmplY3QgdG8gYmluZCAqLw0K PiA+ID4gPiA+ICsgICAgIF9fdTY0IG9mZnNldDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAg ICAgLyoqIEBsZW5ndGg6IExlbmd0aCBvZiBtYXBwaW5nIHRvIGJpbmQgKi8NCj4gPiA+ID4gPiAr ICAgICBfX3U2NCBsZW5ndGg7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ ID4gPiA+ICsgICAgICAqIEBmbGFnczogU3VwcG9ydGVkIGZsYWdzIGFyZToNCj4gPiA+ID4gPiAr ICAgICAgKg0KPiA+ID4gPiA+ICsgICAgICAqIEk5MTVfR0VNX1ZNX0JJTkRfUkVBRE9OTFk6DQo+ ID4gPiA+ID4gKyAgICAgICogTWFwcGluZyBpcyByZWFkLW9ubHkuDQo+ID4gPiA+IA0KPiA+ID4g PiBDYW4geW91IHBsZWFzZSBleHBsYWluIHdoYXQgaGFwcGVucyB3aGVuIHdlIHRyeSB0byB3cml0 ZSB0byBhIHJhbmdlDQo+ID4gPiA+IHRoYXQncyBib3VuZCBhcyByZWFkLW9ubHk/DQo+ID4gPiA+ IA0KPiA+ID4gDQo+ID4gPiBJdCB3aWxsIGJlIG1hcHBlZCBhcyByZWFkLW9ubHkgaW4gZGV2aWNl IHBhZ2UgdGFibGUuIEhlbmNlIGFueQ0KPiA+ID4gd3JpdGUgYWNjZXNzIHdpbGwgZmFpbC4gSSB3 b3VsZCBleHBlY3QgYSBDQVQgZXJyb3IgcmVwb3J0ZWQuDQo+ID4gDQo+ID4gV2hhdCdzIGEgQ0FU IGVycm9yPyBEb2VzIHRoaXMgbGVhZCB0byBtYWNoaW5lIGZyZWV6ZSBvciBhIEdQVSBoYW5nPw0K PiA+IExldCdzIG1ha2Ugc3VyZSB3ZSBkb2N1bWVudCB0aGlzLg0KPiA+IA0KPiANCj4gQ2F0YXN0 cm9waGljIGVycm9yLg0KPiANCj4gPiA+IA0KPiA+ID4gSSBhbSBzZWVpbmcgdGhhdCBjdXJyZW50 bHkgdGhlIHBhZ2UgdGFibGUgUi9XIHNldHRpbmcgaXMgYmFzZWQNCj4gPiA+IG9uIHdoZXRoZXIg Qk8gaXMgcmVhZG9ubHkgb3Igbm90IChVTURzIGNhbiByZXF1ZXN0IGEgdXNlcnB0cg0KPiA+ID4g Qk8gdG8gcmVhZG9ubHkpLiBXZSBjYW4gbWFrZSB0aGlzIFJFQURPTkxZIGhlcmUgYXMgYSBzdWJz ZXQuDQo+ID4gPiBpZS4sIGlmIEJPIGlzIHJlYWRvbmx5LCB0aGUgbWFwcGluZ3MgbXVzdCBiZSBy ZWFkb25seS4gSWYgQk8NCj4gPiA+IGlzIG5vdCByZWFkb25seSwgdGhlbiB0aGUgbWFwcGluZyBj YW4gYmUgZWl0aGVyIHJlYWRvbmx5IG9yDQo+ID4gPiBub3QuDQo+ID4gPiANCj4gPiA+IEJ1dCBp ZiBNZXNhIGRvZXNuJ3QgaGF2ZSBhIHVzZSBmb3IgdGhpcywgdGhlbiB3ZSBjYW4gcmVtb3ZlDQo+ ID4gPiB0aGlzIGZsYWcgZm9yIG5vdy4NCj4gPiA+IA0KPiA+IA0KPiA+IEkgd2FzIGNvbnNpZGVy aW5nIHVzaW5nIGl0IGZvciBWdWxrYW4ncyBTcGFyc2UNCj4gPiByZXNpZGVuY3lOb25SZXNpZGVu dFN0cmljdCwgc28gd2UgbWFwIGFsbCB1bmJvdW5kIHBhZ2VzIHRvIGEgcmVhZC1vbmx5DQo+ID4g cGFnZS4gQnV0IGZvciB0aGF0IHRvIHdvcmssIHRoZSByZXF1aXJlZCBiZWhhdmlvciB3b3VsZCBo YXZlIHRvIGJlOg0KPiA+IHJlYWRzIGFsbCByZXR1cm4gemVybywgd3JpdGVzIGFyZSBpZ25vcmVk IHdpdGhvdXQgYW55IHNvcnQgb2YgZXJyb3IuDQo+ID4gDQo+ID4gQnV0IG1heWJlIG91ciBoYXJk d2FyZSBwcm92aWRlcyBvdGhlciB3YXlzIHRvIGltcGxlbWVudCB0aGlzLCBJIGhhdmVuJ3QNCj4g PiBjaGVja2VkIHlldC4NCj4gPiANCj4gDQo+IEkgYW0gbm90IHN1cmUgd2hhdCB0aGUgYmVoYXZp b3IgaXMuIFByb2JhYmx5IHdyaXRlcyBhcmUgbm90IHNpbXBseSBpZ25vcmVkLA0KPiB3aWxsIGNo ZWNrLg0KPiBMb29rcyBsaWtlIHdlIGNhbiByZW1vdmUgdGhpcyBmbGFnIGZvciBub3cuIFdlIGNh biBhbHdheXMgYWRkIGl0IGJhY2sNCj4gbGF0ZXIgaWYgd2UgbmVlZCBpdC4gSXMgdGhhdCBPayB3 aXRoIHlvdT8NCg0KSSB3b3VsZCBwcmVmZXIgd2Uga2VlcCBpdCBpZiB0aGF0IG1lYW5zIHdyaXRl cyB3aWxsIGp1c3QgYmUgaWdub3JlZA0Kd2l0aG91dCBhbnl0aGluZyBleHBsb2RpbmcsIGJlY2F1 c2UgaXQgd291bGQgYmUgdmVyeSB1c2VmdWwuDQoNCj4gDQo+IE5pcmFuamFuYQ0KPiANCj4gPiAN Cj4gPiA+ID4gDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBJOTE1X0dF TV9WTV9CSU5EX0NBUFRVUkU6DQo+ID4gPiA+ID4gKyAgICAgICogQ2FwdHVyZSB0aGlzIG1hcHBp bmcgaW4gdGhlIGR1bXAgdXBvbiBHUFUgZXJyb3IuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4g PiA+ID4gKyAgICAgX191NjQgZmxhZ3M7DQo+ID4gPiA+ID4gKyNkZWZpbmUgSTkxNV9HRU1fVk1f QklORF9SRUFET05MWSAgICAoMSA8PCAxKQ0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5MTVfR0VNX1ZN X0JJTkRfQ0FQVFVSRSAgICAgKDEgPDwgMikNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAg LyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGZlbmNlOiBUaW1lbGluZSBmZW5jZSBmb3IgYmluZCBj b21wbGV0aW9uIHNpZ25hbGluZy4NCj4gPiA+ID4gPiArICAgICAgKg0KPiA+ID4gPiA+ICsgICAg ICAqIEl0IGlzIGFuIG91dCBmZW5jZSwgaGVuY2UgdXNpbmcgSTkxNV9USU1FTElORV9GRU5DRV9X QUlUIGZsYWcNCj4gPiA+ID4gPiArICAgICAgKiBpcyBpbnZhbGlkLCBhbmQgYW4gZXJyb3Igd2ls bCBiZSByZXR1cm5lZC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3RpbWVsaW5lX2ZlbmNlIGZlbmNlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiArICAgICAvKioNCj4gPiA+ID4gPiArICAgICAgKiBAZXh0ZW5zaW9uczogWmVyby10ZXJt aW5hdGVkIGNoYWluIG9mIGV4dGVuc2lvbnMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4g PiArICAgICAgKiBGb3IgZnV0dXJlIGV4dGVuc2lvbnMuIFNlZSBzdHJ1Y3QgaTkxNV91c2VyX2V4 dGVuc2lvbi4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBleHRl bnNpb25zOw0KPiA+ID4gPiA+ICt9Ow0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4g PiA+ID4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fdW5iaW5kIC0gVkEgdG8gb2JqZWN0IG1h cHBpbmcgdG8gdW5iaW5kLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBUaGlzIHN0cnVj dHVyZSBpcyBwYXNzZWQgdG8gVk1fVU5CSU5EIGlvY3RsIGFuZCBzcGVjaWZpZXMgdGhlIEdQVSB2 aXJ0dWFsDQo+ID4gPiA+ID4gKyAqIGFkZHJlc3MgKFZBKSByYW5nZSB0aGF0IHNob3VsZCBiZSB1 bmJvdW5kIGZyb20gdGhlIGRldmljZSBwYWdlIHRhYmxlIG9mIHRoZQ0KPiA+ID4gPiA+ICsgKiBz cGVjaWZpZWQgYWRkcmVzcyBzcGFjZSAoVk0pLiBWTV9VTkJJTkQgd2lsbCBmb3JjZSB1bmJpbmQg dGhlIHNwZWNpZmllZA0KPiA+ID4gPiA+ICsgKiByYW5nZSBmcm9tIGRldmljZSBwYWdlIHRhYmxl IHdpdGhvdXQgd2FpdGluZyBmb3IgYW55IEdQVSBqb2IgdG8gY29tcGxldGUuDQo+ID4gPiA+ID4g KyAqIEl0IGlzIFVNRHMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSBtYXBwaW5nIGlzIG5v IGxvbmdlciBpbiB1c2UgYmVmb3JlDQo+ID4gPiA+ID4gKyAqIGNhbGxpbmcgVk1fVU5CSU5ELg0K PiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBJZiB0aGUgc3BlY2lmaWVkIG1hcHBpbmcgaXMg bm90IGZvdW5kLCB0aGUgaW9jdGwgd2lsbCBzaW1wbHkgcmV0dXJuIHdpdGhvdXQNCj4gPiA+ID4g PiArICogYW55IGVycm9yLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBWTV9CSU5EL1VO QklORCBpb2N0bCBjYWxscyBleGVjdXRlZCBvbiBkaWZmZXJlbnQgQ1BVIHRocmVhZHMgY29uY3Vy cmVudGx5DQo+ID4gPiA+ID4gKyAqIGFyZSBub3Qgb3JkZXJlZC4gRnVydGhlcm1vcmUsIHBhcnRz IG9mIHRoZSBWTV9VTkJJTkQgb3BlcmF0aW9uIGNhbiBiZSBkb25lDQo+ID4gPiA+ID4gKyAqIGFz eW5jaHJvbm91c2x5LCBpZiB2YWxpZCBAZmVuY2UgaXMgc3BlY2lmaWVkLg0KPiA+ID4gPiA+ICsg Ki8NCj4gPiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV92bV91bmJpbmQgew0KPiA+ID4gPiA+ ICsgICAgIC8qKiBAdm1faWQ6IFZNIChhZGRyZXNzIHNwYWNlKSBpZCB0byBiaW5kICovDQo+ID4g PiA+ID4gKyAgICAgX191MzIgdm1faWQ7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8q KiBAcnN2ZDogUmVzZXJ2ZWQsIE1CWiAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTMyIHJzdmQ7DQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAc3RhcnQ6IFZpcnR1YWwgQWRkcmVzcyBz dGFydCB0byB1bmJpbmQgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBzdGFydDsNCj4gPiA+ID4g PiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBsZW5ndGg6IExlbmd0aCBvZiBtYXBwaW5nIHRvIHVu YmluZCAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IGxlbmd0aDsNCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gKyAgICAgLyoqIEBmbGFnczogQ3VycmVudGx5IHJlc2VydmVkLCBNQlogKi8NCj4gPiA+ ID4gPiArICAgICBfX3U2NCBmbGFnczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoq DQo+ID4gPiA+ID4gKyAgICAgICogQGZlbmNlOiBUaW1lbGluZSBmZW5jZSBmb3IgdW5iaW5kIGNv bXBsZXRpb24gc2lnbmFsaW5nLg0KPiA+ID4gPiA+ICsgICAgICAqDQo+ID4gPiA+ID4gKyAgICAg ICogSXQgaXMgYW4gb3V0IGZlbmNlLCBoZW5jZSB1c2luZyBJOTE1X1RJTUVMSU5FX0ZFTkNFX1dB SVQgZmxhZw0KPiA+ID4gPiA+ICsgICAgICAqIGlzIGludmFsaWQsIGFuZCBhbiBlcnJvciB3aWxs IGJlIHJldHVybmVkLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fdGltZWxpbmVfZmVuY2UgZmVuY2U7DQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ICsgICAgICAqIEBleHRlbnNpb25zOiBaZXJvLXRlcm1p bmF0ZWQgY2hhaW4gb2YgZXh0ZW5zaW9ucy4NCj4gPiA+ID4gPiArICAgICAgKg0KPiA+ID4gPiA+ ICsgICAgICAqIEZvciBmdXR1cmUgZXh0ZW5zaW9ucy4gU2VlIHN0cnVjdCBpOTE1X3VzZXJfZXh0 ZW5zaW9uLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IGV4dGVu c2lvbnM7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMyAtIFN0cnVjdHVyZSBmb3Ig RFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzDQo+ID4gPiA+ID4gKyAqIGlvY3RsLg0KPiA+ID4gPiA+ ICsgKg0KPiA+ID4gPiA+ICsgKiBEUk1fSTkxNV9HRU1fRVhFQ0JVRkZFUjMgaW9jdGwgb25seSB3 b3JrcyBpbiBWTV9CSU5EIG1vZGUgYW5kIFZNX0JJTkQgbW9kZQ0KPiA+ID4gPiA+ICsgKiBvbmx5 IHdvcmtzIHdpdGggdGhpcyBpb2N0bCBmb3Igc3VibWlzc2lvbi4NCj4gPiA+ID4gPiArICogU2Vl IEk5MTVfVk1fQ1JFQVRFX0ZMQUdTX1VTRV9WTV9CSU5ELg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMyB7DQo+ID4gPiA+ID4gKyAgICAg LyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGN0eF9pZDogQ29udGV4dCBpZA0KPiA+ID4gPiA+ICsg ICAgICAqDQo+ID4gPiA+ID4gKyAgICAgICogT25seSBjb250ZXh0cyB3aXRoIHVzZXIgZW5naW5l IG1hcCBhcmUgYWxsb3dlZC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBf X3UzMiBjdHhfaWQ7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ ICsgICAgICAqIEBlbmdpbmVfaWR4OiBFbmdpbmUgaW5kZXgNCj4gPiA+ID4gPiArICAgICAgKg0K PiA+ID4gPiA+ICsgICAgICAqIEFuIGluZGV4IGluIHRoZSB1c2VyIGVuZ2luZSBtYXAgb2YgdGhl IGNvbnRleHQgc3BlY2lmaWVkIGJ5IEBjdHhfaWQuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4g PiA+ID4gKyAgICAgX191MzIgZW5naW5lX2lkeDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAg ICAgLyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGJhdGNoX2FkZHJlc3M6IEJhdGNoIGdwdSB2aXJ0 dWFsIGFkZHJlc3MvZXMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBG b3Igbm9ybWFsIHN1Ym1pc3Npb24sIGl0IGlzIHRoZSBncHUgdmlydHVhbCBhZGRyZXNzIG9mIHRo ZSBiYXRjaA0KPiA+ID4gPiA+ICsgICAgICAqIGJ1ZmZlci4gRm9yIHBhcmFsbGVsIHN1Ym1pc3Np b24sIGl0IGlzIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZg0KPiA+ID4gPiA+ICsgICAgICAqIGJh dGNoIGJ1ZmZlciBncHUgdmlydHVhbCBhZGRyZXNzZXMgd2l0aCBhcnJheSBzaXplIGVxdWFsIHRv IHRoZQ0KPiA+ID4gPiA+ICsgICAgICAqIG51bWJlciBvZiAocGFyYWxsZWwpIGVuZ2luZXMgaW52 b2x2ZWQgaW4gdGhhdCBzdWJtaXNzaW9uIChTZWUNCj4gPiA+ID4gPiArICAgICAgKiBzdHJ1Y3Qg aTkxNV9jb250ZXh0X2VuZ2luZXNfcGFyYWxsZWxfc3VibWl0KS4NCj4gPiA+ID4gPiArICAgICAg Ki8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBiYXRjaF9hZGRyZXNzOw0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArICAgICAvKiogQGZsYWdzOiBDdXJyZW50bHkgcmVzZXJ2ZWQsIE1CWiAqLw0KPiA+ ID4gPiA+ICsgICAgIF9fdTY0IGZsYWdzOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAv KiogQHJzdmQxOiBSZXNlcnZlZCwgTUJaICovDQo+ID4gPiA+ID4gKyAgICAgX191MzIgcnN2ZDE7 DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAZmVuY2VfY291bnQ6IE51bWJlciBv ZiBmZW5jZXMgaW4gQHRpbWVsaW5lX2ZlbmNlcyBhcnJheS4gKi8NCj4gPiA+ID4gPiArICAgICBf X3UzMiBmZW5jZV9jb3VudDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqDQo+ID4g PiA+ID4gKyAgICAgICogQHRpbWVsaW5lX2ZlbmNlczogUG9pbnRlciB0byBhbiBhcnJheSBvZiB0 aW1lbGluZSBmZW5jZXMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBU aW1lbGluZSBmZW5jZXMgYXJlIG9mIGZvcm1hdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3RpbWVsaW5l X2ZlbmNlLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IHRpbWVs aW5lX2ZlbmNlczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEByc3ZkMjogUmVz ZXJ2ZWQsIE1CWiAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IHJzdmQyOw0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gDQo+ID4gPiA+IEp1c3Qgb3V0IG9mIGN1cmlvc2l0eTogaWYgd2UgY2FuIGV4dGVu ZCBiZWhhdmlvciB3aXRoIEBleHRlbnNpb25zIGFuZA0KPiA+ID4gPiBldmVuIEBmbGFncywgd2h5 IHdvdWxkIHdlIG5lZWQgYSByc3ZkMj8gUGVyaGFwcyB3ZSBjb3VsZCBraWxsIHJzdmQyPw0KPiA+ ID4gPiANCj4gPiA+IA0KPiA+ID4gVHJ1ZS4gSSBhZGRlZCBpdCBqdXN0IGluIGNhc2Ugc29tZSBy ZXF1ZXN0cyBjYW1lIHVwIHRoYXQgd291bGQgcmVxdWlyZQ0KPiA+ID4gc29tZSBhZGRpdGlvbmFs IGZpZWxkcy4gRHVyaW5nIHRoaXMgcmV2aWV3IHByb2Nlc3MgaXRzZWxmIHRoZXJlIHdlcmUNCj4g PiA+IHNvbWUgcmVxdWVzdHMuIEFkZGluZyBkaXJlY3RseSBoZXJlIHNob3VsZCBoYXZlIGEgc2xp Z2h0IHBlcmZvcm1hbmNlDQo+ID4gPiBlZGdlIG92ZXIgYWRkaW5nIGl0IGFzIGFuIGV4dGVuc2lv biAob25lIGxlc3MgY29weV9mcm9tX3VzZXIpLg0KPiA+ID4gDQo+ID4gPiBCdXQgaWYgZm9sa3Mg dGhpbmsgdGhpcyBpcyBhbiBvdmVya2lsbCwgSSB3aWxsIHJlbW92ZSBpdC4NCj4gPiANCj4gPiBJ IGRvIG5vdCBoYXZlIHN0cm9uZyBvcGluaW9ucyBoZXJlLCBJJ20ganVzdCBjdXJpb3VzLg0KPiA+ IA0KPiA+IFRoYW5rcywNCj4gPiBQYXVsbw0KPiA+IA0KPiA+ID4gDQo+ID4gPiBOaXJhbmphbmEN Cj4gPiA+IA0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ICsgICAgICAqIEBleHRlbnNp b25zOiBaZXJvLXRlcm1pbmF0ZWQgY2hhaW4gb2YgZXh0ZW5zaW9ucy4NCj4gPiA+ID4gPiArICAg ICAgKg0KPiA+ID4gPiA+ICsgICAgICAqIEZvciBmdXR1cmUgZXh0ZW5zaW9ucy4gU2VlIHN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsg ICAgIF9fdTY0IGV4dGVuc2lvbnM7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICsvKioNCj4gPiA+ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0X3Zt X3ByaXZhdGUgLSBFeHRlbnNpb24gdG8gbWFrZSB0aGUgb2JqZWN0DQo+ID4gPiA+ID4gKyAqIHBy aXZhdGUgdG8gdGhlIHNwZWNpZmllZCBWTS4NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICog U2VlIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dC4NCj4gPiA+ID4gPiArICovDQo+ID4g PiA+ID4gK3N0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF92bV9wcml2YXRlIHsNCj4gPiA+ ID4gPiArI2RlZmluZSBJOTE1X0dFTV9DUkVBVEVfRVhUX1ZNX1BSSVZBVEUgICAgICAgICAgICAg ICAyDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBiYXNlOiBFeHRlbnNpb24gbGluay4gU2VlIHN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uLiAqLw0KPiA+ID4gPiA+ICsgICAgIHN0cnVjdCBpOTE1X3Vz ZXJfZXh0ZW5zaW9uIGJhc2U7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAdm1f aWQ6IElkIG9mIHRoZSBWTSB0byB3aGljaCB0aGUgb2JqZWN0IGlzIHByaXZhdGUgKi8NCj4gPiA+ ID4gPiArICAgICBfX3UzMiB2bV9pZDsNCj4gPiA+ID4gPiArfTsNCj4gPiA+ID4gDQo+ID4gDQoN Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0700AC433EF for ; Thu, 30 Jun 2022 17:13:05 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 09F1B11ABB6; Thu, 30 Jun 2022 17:13:04 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10FD111AB96; Thu, 30 Jun 2022 17:13:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656609183; x=1688145183; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=3hdZnGNsyFafZeRxvJWEapqdjoyXNgwHPV+KjvtLO6w=; b=RyNT57xWU4cgD3D1myFdm7ndUF/C3MrjcgmO9rfHcLJ7ZI1wxql9mo7u +zTyTMInDUglVbq3zsmfmIN5LfGgavwZ5spFt+JOFzTAxWECcAtIBEBsr NTyVj1zVZRwXhYn/QsGnZOTtiyxaFfyI/HK3TSbcHWy0PmP0tIdNY7MQy MnEX/KBukWzwIiIJATLxoUs/sK5138mRP/MSkkAhqJakIlUrmRD1glUWg dHpdyadQhR6O45jgE9dDvpf/Hbit/pgiIi9DkiqW9rF/xjkc10g7PUK6E LcF2hV46WgEchK/jfPQBHjzQEQvMxPLsyeM+Bbtp+LB1Q3S1kYHBLBsbo A==; X-IronPort-AV: E=McAfee;i="6400,9594,10394"; a="265443316" X-IronPort-AV: E=Sophos;i="5.92,235,1650956400"; d="scan'208";a="265443316" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2022 10:12:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,235,1650956400"; d="scan'208";a="591323726" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP; 30 Jun 2022 10:12:52 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 30 Jun 2022 10:12:51 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 30 Jun 2022 10:12:51 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 30 Jun 2022 10:12:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtQTYLs487X7MsZ5CIjNz1uG6irjs+H6EAmQsj//QVkOKTh3wuZngZH0Zmr4vTs+xHEMrtSen5I75jXGdf2KgF33d1fIXKYNOZgRUsU9L22QDrRPYqRZQDt3Y5J687rcrP3Je3gUlqS9vNhAapJiigaUwKlvBd1+2wO5DKucwGffN1lZqDK+zLoLQtOfMnMEUwDRZSzeW6V8IGKj/FKsJ2/c3pxnCkv0Vu1JftfdD4t3wqPlsgAK1/s/IvUal78wnmZn9Aa0mj+u7aigxMJRsrX4X//aiL8jjtekmHXkHeZ5ZlpOLOVDmFQOThy2eFlwUpYqJ9FB2nI8MQRTK5XPCg== 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=3hdZnGNsyFafZeRxvJWEapqdjoyXNgwHPV+KjvtLO6w=; b=MIM2UfcQ5/dtS4HkBKDDfwhZhgb940+PURXt2CHyK1WZOkzUx7m3s3moJXt6THcEHEP+iET7Vg5ErE13zbZ74otv1ul4mGzuwmKDwN5c5B2DywfQPo9T5qbgecxE7fM1bWAzR7TbFUQCBvm3C+tPs1p4UVhURswBQKg+k8AoDKy2bHrGVgtPnMvoxBLs9EJBIM701JC5Hz/vm63NeUmoEdqevj480puSuj/uBCzqwm+RERPWKV61S7gEtjlj9tbdB/Ej5iHCPWkYj/Zuaxs8dfZ5vamObDrk75x9xikvq8ZMY9ckupnfahCXzdcwrydsjz40HhBsHNobFlgswEYBdw== 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 CO6PR11MB5620.namprd11.prod.outlook.com (2603:10b6:303:13e::17) by BL1PR11MB5543.namprd11.prod.outlook.com (2603:10b6:208:317::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Thu, 30 Jun 2022 17:12:47 +0000 Received: from CO6PR11MB5620.namprd11.prod.outlook.com ([fe80::d96c:55bb:9ddc:9340]) by CO6PR11MB5620.namprd11.prod.outlook.com ([fe80::d96c:55bb:9ddc:9340%4]) with mapi id 15.20.5395.014; Thu, 30 Jun 2022 17:12:47 +0000 From: "Zanoni, Paulo R" To: "Vishwanathapura, Niranjana" Subject: Re: [PATCH v6 3/3] drm/doc/rfc: VM_BIND uapi definition Thread-Topic: [PATCH v6 3/3] drm/doc/rfc: VM_BIND uapi definition Thread-Index: AQHYiP8Bnss2T+Oi7EaJxxVfLuy0G61nICOAgABdeICAAAjNgIAAoZWAgAAPQoA= Date: Thu, 30 Jun 2022 17:12:47 +0000 Message-ID: References: <20220626014916.5130-1-niranjana.vishwanathapura@intel.com> <20220626014916.5130-4-niranjana.vishwanathapura@intel.com> <20220630060820.GB14039@nvishwa1-DESK> <406c2c67ad85258d1f8ee0fa918706a7e8b6605d.camel@intel.com> <20220630161811.GF14039@nvishwa1-DESK> In-Reply-To: <20220630161811.GF14039@nvishwa1-DESK> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.3-1 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: 74195b21-9554-4231-fd74-08da5abbc163 x-ms-traffictypediagnostic: BL1PR11MB5543:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RaqOPtZJgS8gosQaYDoYc9Ntg/UkAtXaQjiBmwBEZDYgOyIsj5YT+Fwlc9rtb10/ULpZykPRM3H/mtyAjySXXhfLK9meP6eLpviuMKHBVyQ2z1pRYw5GPZDQcQYY+G931gTsTWxhm0D25/3l/BZEtbwyCJUEzKRjhhtjRfSsVSx523CEg3GV/Is3eA0wqluQ7bl1wO/P/HBInkJ/8hxuMbIcXLo+dNOE9v31fuUpG6eZ7nxr1XoIn30UBxHpwp8Df+VW90kkiuptPAvEe6Y7wMB112Q7AmmUWqtAhHnPIaqQWTeTadahaqmMQWOba1MlU3blQiaCRrus8rglJak42zVaZ0rUk7I1AtqtDVjwvQI5HdlHlLjZWdCY3gExL7N/g29Fck8fovoAVTTaO7AO+4VqoQGwyCrmtj5oR2Aprz1y2YvAi35y2KdkMM6kbxvscqKxsOQJ02USVt7coC3BtipcAJXb7YKnMD1SM5o+1+HRpHn658fIUAXSAq5+c9FuJZvcByQIp+yyhz80XKc9QyL2FnAskc9BbwvZXfox/FTFJBYnQVvn6Wv2BcbFvJvDxvMr1QRA9rInOWz1FT5wMxVT15bUkwwKCx4Qb7GplquQlfgIEKEqYLSkNzliw4BnARz7WB0FXDsif04VLG+IeFaR+VUk8wHRdrH6vRt3Ge2W8OPbx7yPVDHMZtLEn0XbkrpYhcm0eXxihe/g7Kb2TSNNVf45fXS/8wjWw7SSMmNkMBzl4/4PzovPffdhekCLcI2inlRepTcbh8GpcMNF4T6W8iydydOVTScpPJem3a7tF1BU1haT1x5LpF3uzYGq x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR11MB5620.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(39860400002)(376002)(346002)(136003)(396003)(66946007)(37006003)(54906003)(6636002)(36756003)(41300700001)(64756008)(478600001)(71200400001)(316002)(76116006)(86362001)(122000001)(38100700002)(82960400001)(38070700005)(30864003)(83380400001)(186003)(6506007)(6512007)(2616005)(2906002)(5660300002)(6486002)(6862004)(66556008)(4326008)(66476007)(66446008)(8676002)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eURXNFJPcVZkSWRtQXVLWkdYS2pwdHJSMndPS001ai9pNmNGRmpuVUJDbDd6?= =?utf-8?B?QkR5QXFkU0xiWGNtNnVjWWJ3SXZNWmFyYjFkclJpT3hNUnErdHllaCt5R1BS?= =?utf-8?B?SDZkek1qMyt1MURFQjkrYXY1L2VlcjIwYXlTTEhyUTVPNHpZZnY0SkRhZHRi?= =?utf-8?B?Qjd2bmZZWDNGOVJJZnd6eVYvTk1wbWtsVlJxeTg4d1pNcCt6d1ByK04xZE1y?= =?utf-8?B?RWJBdHh2WWJja3h1cmdqb2xMRzh0dlY5Q1lEQ0hyaTlBblg4Y0psOHpQelhv?= =?utf-8?B?Unc4SjgvVm01QVFqTnk5dEVpbHJkWFExSEpvT0NqVlk5bWdjVzJ2MnFjWlZa?= =?utf-8?B?MCswQ2JVSVAxMTA5cnBBdDRQaU5TdHgzL3h6MUtHVWRnOENNb1Q1dnF3Q2h6?= =?utf-8?B?N3R6TFdQb1p3NkhkMExZbGJEcEdLbTZvdTdUdGY3MFozZXdUTlN0WmlycEtX?= =?utf-8?B?clB1THNHWkk3WGtib2JDanhkYkdjNVdsQjRGNjVKSzRpQVVMS0x2Q05XUXVk?= =?utf-8?B?YTloVnRMdEhMVlVhTGNuUndEQnBsMWxscWNVckgwQkl1QVBCTk5TaElqTXBX?= =?utf-8?B?ek9TbThNNFR2ckJiV0RWbXNuLzUxTlNBa2VWVzh1UlB0KzFkdEk5b21yRUU4?= =?utf-8?B?c1pEYXZDRHRna2c4U0s0L3hoTDlwQldpUGFWbTk5SG5kNFVRb2V4Y1drLzd3?= =?utf-8?B?NUJ6VmM4L05CNGJmdmMyUzRYdHVXYWRDcit5endlYzZUSms3bC9ZU0h5NXZC?= =?utf-8?B?RVpLUFZoVmQ1Qm9lMUVseGJ4UlhUdy9pcytKZ1pwd0FpeHFocVd2WEtva0JS?= =?utf-8?B?dnd1U2k2SkpDTUFwRHhQcHRvVGlzYjZmdzFNT3ByWk1oL0JTclZyMS8xMW5a?= =?utf-8?B?bFBETm5FZ3Y0Mys3ZTJIYWpPRTdJYSs5R0Y0U3JWQ0RVOG54OU0rRzdOcWZ2?= =?utf-8?B?RkVELzRXc016dk1QenJLaUhjbEFOalRESUZha2xQSlZmMURZcGR6RklyQmc1?= =?utf-8?B?Vks3QmlzOXlkT05nTFZHLzZlQjAwODZNZVpaY3JvSXIwdzBOc2dTUmZ0NGZZ?= =?utf-8?B?blBJVHNwVFFWSk9SSHUyRjQzc3VZbU8rVFA2a1V2NWxGY3JsU0tGMVBpcW1R?= =?utf-8?B?eG1keGNqbW5ZdUNRd1FqcytDTkYvL05jb0QwOXk2WDNyYm1LZ2ZwaWl0UE9C?= =?utf-8?B?dnhQZEdBWFBhQVFYOWNUa0h1aExuSERUWUV5QTloa0xEaGE2dDVuRWhiR0tt?= =?utf-8?B?anhMV0ZrV3l5ODZLMzRQWDRwc2o3a2NISVFSNDBhcHNrZVYvZnA5YzUxelQz?= =?utf-8?B?MnA1ZWJFS2puTk5FYW5YWVM3endCMEc0WUY0amRLTytXVngzMTFhUmdSUUlo?= =?utf-8?B?cXpHZmtCMzluWlBEa1ZySG1vcG93RkRjUWJFSzYzY1I5UnZVa212OU8vVE5X?= =?utf-8?B?NGJRQWtKZTNxOXZxRWMvTFhibUhtTVh3b0wwNmg0dlB5QzM0d2UwVEh5dDk1?= =?utf-8?B?SlNrTkdJMnREQUt2bU9ZN0hpc2JCMW10Ulh3Qjh2M3lnVGM4Nk5qYUcrWGYx?= =?utf-8?B?VVdoRW85djc5cVZSdTJMT0JHcFE0cjZ2bFJzWVBXNi9LQnMzb1BqcjFsV2Nz?= =?utf-8?B?TS9SMGVVdXFhOCtac3NLTkp5Vlcrc3YvemFYUU8yczF3cEVJM1ZHc2ZHbW40?= =?utf-8?B?RE9pTUJaK21nQU04MXVWQ1czMkk5YjNQcHN5dkNtSHZqd3FnMmkwa214N0xs?= =?utf-8?B?UEorTEJOa2RGcndhdWpFQzRLczVMNkZRckxtT3duTXNlWGZQdWlVWnlKWmIw?= =?utf-8?B?NGRuZnBFSCs1YjYyRjhoZW1NdU4zaWJmNU5YWlROMy80bXdZb3VsUXJPWG9h?= =?utf-8?B?VVpzSDU5UXVaME44RWYxNmpVeGVJa3p5RG94WisrQW9XNnhsbzYyZkZoaTFT?= =?utf-8?B?L2dmR2VHeGtsUllNSEhkaUdYUTVlcTlXNlVqVGkwTnk1ZVVhZ1RDS3ROaU5U?= =?utf-8?B?aGJXSW4wRUEyZWc4b1ltUVBmUEJLcS9rUW9HQzVvNTFrRDNtNCtReWc0TmtG?= =?utf-8?B?d2dvS1ZxSGl0NmxLa3VsdjVIbnE4Nkx3dkJvbnMxRjNSeGNLTFJDaW5VbWpX?= =?utf-8?B?WUUyUVMxK3ZoYXl4YWtralpUTnhOSEpvZXNmUyt6L0RYTnY2Z0RYdUkwdmx3?= =?utf-8?B?bWNGaFlVUU8xUjlKNHprY1RlZXd3TjA0aXg2YjdyR29LWGpsTHByQUViMWxV?= =?utf-8?B?bTVzMStWQS85SWdCRnJ0YXBmb0hRPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5620.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74195b21-9554-4231-fd74-08da5abbc163 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2022 17:12:47.5661 (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: KF0AsI9VIceisTUofhPqQUYQhOMGUlc9S4/cGNVWD1fMXrX0Vv3/wAX0rIGgr5YlBCjZU+RU/Vxl1cYbHO/YS2y3/L9XfEver0c4mNhMnVI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5543 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Brost, Matthew" , "Wilson, Chris P" , "Landwerlin, Lionel G" , "Ursulin, Tvrtko" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Hellstrom, Thomas" , "Zeng, Oak" , "Auld, Matthew" , "jason@jlekstrand.net" , "Vetter, Daniel" , "christian.koenig@amd.com" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCAyMDIyLTA2LTMwIGF0IDA5OjE4IC0wNzAwLCBOaXJhbmphbmEgVmlzaHdhbmF0aGFw dXJhIHdyb3RlOg0KPiBPbiBXZWQsIEp1biAyOSwgMjAyMiBhdCAxMTozOTo1MlBNIC0wNzAwLCBa YW5vbmksIFBhdWxvIFIgd3JvdGU6DQo+ID4gT24gV2VkLCAyMDIyLTA2LTI5IGF0IDIzOjA4IC0w NzAwLCBOaXJhbmphbmEgVmlzaHdhbmF0aGFwdXJhIHdyb3RlOg0KPiA+ID4gT24gV2VkLCBKdW4g MjksIDIwMjIgYXQgMDU6MzM6NDlQTSAtMDcwMCwgWmFub25pLCBQYXVsbyBSIHdyb3RlOg0KPiA+ ID4gPiBPbiBTYXQsIDIwMjItMDYtMjUgYXQgMTg6NDkgLTA3MDAsIE5pcmFuamFuYSBWaXNod2Fu YXRoYXB1cmEgd3JvdGU6DQo+ID4gPiA+ID4gVk1fQklORCBhbmQgcmVsYXRlZCB1YXBpIGRlZmlu aXRpb25zDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gdjI6IFJlZHVjZSB0aGUgc2NvcGUgdG8gc2lt cGxlIE1lc2EgdXNlIGNhc2UuDQo+ID4gPiA+ID4gdjM6IEV4cGFuZCBWTV9VTkJJTkQgZG9jdW1l bnRhdGlvbiBhbmQgYWRkDQo+ID4gPiA+ID4gwqDCoMKgwqBJOTE1X0dFTV9WTV9CSU5EL1VOQklO RF9GRU5DRV9WQUxJRA0KPiA+ID4gPiA+IMKgwqDCoMKgYW5kIEk5MTVfR0VNX1ZNX0JJTkRfVExC X0ZMVVNIIGZsYWdzLg0KPiA+ID4gPiA+IHY0OiBSZW1vdmUgSTkxNV9HRU1fVk1fQklORF9UTEJf RkxVU0ggZmxhZyBhbmQgYWRkIGFkZGl0aW9uYWwNCj4gPiA+ID4gPiDCoMKgwqDCoGRvY3VtZW50 YXRpb24gZm9yIHZtX2JpbmQvdW5iaW5kLg0KPiA+ID4gPiA+IHY1OiBSZW1vdmUgVExCIGZsdXNo IHJlcXVpcmVtZW50IG9uIFZNX1VOQklORC4NCj4gPiA+ID4gPiDCoMKgwqDCoEFkZCB2ZXJzaW9u IHN1cHBvcnQgdG8gc3RhZ2UgaW1wbGVtZW50YXRpb24uDQo+ID4gPiA+ID4gdjY6IERlZmluZSBh bmQgdXNlIGRybV9pOTE1X2dlbV90aW1lbGluZV9mZW5jZSBzdHJ1Y3R1cmUgZm9yDQo+ID4gPiA+ ID4gwqDCoMKgwqBhbGwgdGltZWxpbmUgZmVuY2VzLg0KPiA+ID4gPiA+IHY3OiBSZW5hbWUgSTkx NV9QQVJBTV9IQVNfVk1fQklORCB0byBJOTE1X1BBUkFNX1ZNX0JJTkRfVkVSU0lPTi4NCj4gPiA+ ID4gPiDCoMKgwqDCoFVwZGF0ZSBkb2N1bWVudGF0aW9uIG9uIGFzeW5jIHZtX2JpbmQvdW5iaW5k IGFuZCB2ZXJzaW9uaW5nLg0KPiA+ID4gPiA+IMKgwqDCoMKgUmVtb3ZlIHJlZHVuZGFudCB2bV9i aW5kL3VuYmluZCBGRU5DRV9WQUxJRCBmbGFnLCBleGVjYnVmMw0KPiA+ID4gPiA+IMKgwqDCoMKg YmF0Y2hfY291bnQgZmllbGQgYW5kIEk5MTVfRVhFQzNfU0VDVVJFIGZsYWcuDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTmlyYW5qYW5hIFZpc2h3YW5hdGhhcHVyYSA8bmly YW5qYW5hLnZpc2h3YW5hdGhhcHVyYUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gUmV2aWV3ZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+DQo+ID4gPiA+ID4gLS0tDQo+ ID4gPiA+ID4gwqBEb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV92bV9iaW5kLmggfCAyODAgKysr KysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+ID4gwqAxIGZpbGUgY2hhbmdlZCwgMjgw IGluc2VydGlvbnMoKykNCj4gPiA+ID4gPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0 aW9uL2dwdS9yZmMvaTkxNV92bV9iaW5kLmgNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfdm1fYmluZC5oIGIvRG9jdW1lbnRhdGlv bi9ncHUvcmZjL2k5MTVfdm1fYmluZC5oDQo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmE5M2UwOGJjZWVlNg0KPiA+ID4gPiA+IC0t LSAvZGV2L251bGwNCj4gPiA+ID4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV92 bV9iaW5kLmgNCj4gPiA+ID4gPiBAQCAtMCwwICsxLDI4MCBAQA0KPiA+ID4gPiA+ICsvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovDQo+ID4gPiA+ID4gKy8qDQo+ID4gPiA+ID4gKyAq IENvcHlyaWdodCDCqSAyMDIyIEludGVsIENvcnBvcmF0aW9uDQo+ID4gPiA+ID4gKyAqLw0KPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4gPiA+ID4gKyAqIERPQzogSTkxNV9QQVJBTV9W TV9CSU5EX1ZFUlNJT04NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogVk1fQklORCBmZWF0 dXJlIHZlcnNpb24gc3VwcG9ydGVkLg0KPiA+ID4gPiA+ICsgKiBTZWUgdHlwZWRlZiBkcm1faTkx NV9nZXRwYXJhbV90IHBhcmFtLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBTcGVjaWZp ZXMgdGhlIFZNX0JJTkQgZmVhdHVyZSB2ZXJzaW9uIHN1cHBvcnRlZC4NCj4gPiA+ID4gPiArICog VGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiBWTV9CSU5EIGhhdmUgYmVlbiBkZWZpbmVkOg0KPiA+ ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiAwOiBObyBWTV9CSU5EIHN1cHBvcnQuDQo+ID4gPiA+ ID4gKyAqDQo+ID4gPiA+ID4gKyAqIDE6IEluIFZNX1VOQklORCBjYWxscywgdGhlIFVNRCBtdXN0 IHNwZWNpZnkgdGhlIGV4YWN0IG1hcHBpbmdzIGNyZWF0ZWQNCj4gPiA+ID4gPiArICogICAgcHJl dmlvdXNseSB3aXRoIFZNX0JJTkQsIHRoZSBpb2N0bCB3aWxsIG5vdCBzdXBwb3J0IHVuYmluZGlu ZyBtdWx0aXBsZQ0KPiA+ID4gPiA+ICsgKiAgICBtYXBwaW5ncyBvciBzcGxpdHRpbmcgdGhlbS4g U2ltaWxhcmx5LCBWTV9CSU5EIGNhbGxzIHdpbGwgbm90IHJlcGxhY2UNCj4gPiA+ID4gPiArICog ICAgYW55IGV4aXN0aW5nIG1hcHBpbmdzLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiAy OiBUaGUgcmVzdHJpY3Rpb25zIG9uIHVuYmluZGluZyBwYXJ0aWFsIG9yIG11bHRpcGxlIG1hcHBp bmdzIGlzDQo+ID4gPiA+ID4gKyAqICAgIGxpZnRlZCwgU2ltaWxhcmx5LCBiaW5kaW5nIHdpbGwg cmVwbGFjZSBhbnkgbWFwcGluZ3MgaW4gdGhlIGdpdmVuIHJhbmdlLg0KPiA+ID4gPiA+ICsgKg0K PiA+ID4gPiA+ICsgKiBTZWUgc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIGFuZCBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3ZtX3VuYmluZC4NCj4gPiA+ID4gPiArICovDQo+ID4gPiA+ID4gKyNkZWZp bmUgSTkxNV9QQVJBTV9WTV9CSU5EX1ZFUlNJT04gICA1Nw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArLyoqDQo+ID4gPiA+ID4gKyAqIERPQzogSTkxNV9WTV9DUkVBVEVfRkxBR1NfVVNFX1ZNX0JJ TkQNCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogRmxhZyB0byBvcHQtaW4gZm9yIFZNX0JJ TkQgbW9kZSBvZiBiaW5kaW5nIGR1cmluZyBWTSBjcmVhdGlvbi4NCj4gPiA+ID4gPiArICogU2Vl IHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fY29udHJvbCBmbGFncy4NCj4gPiA+ID4gPiArICoNCj4g PiA+ID4gPiArICogVGhlIG9sZGVyIGV4ZWNidWYyIGlvY3RsIHdpbGwgbm90IHN1cHBvcnQgVk1f QklORCBtb2RlIG9mIG9wZXJhdGlvbi4NCj4gPiA+ID4gPiArICogRm9yIFZNX0JJTkQgbW9kZSwg d2UgaGF2ZSBuZXcgZXhlY2J1ZjMgaW9jdGwgd2hpY2ggd2lsbCBub3QgYWNjZXB0IGFueQ0KPiA+ ID4gPiA+ICsgKiBleGVjbGlzdCAoU2VlIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjMg Zm9yIG1vcmUgZGV0YWlscykuDQo+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5 MTVfVk1fQ1JFQVRFX0ZMQUdTX1VTRV9WTV9CSU5EICAgICAoMSA8PCAwKQ0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArLyogVk1fQklORCByZWxhdGVkIGlvY3RscyAqLw0KPiA+ID4gPiA+ICsjZGVm aW5lIERSTV9JOTE1X0dFTV9WTV9CSU5EICAgICAgICAgMHgzZA0KPiA+ID4gPiA+ICsjZGVmaW5l IERSTV9JOTE1X0dFTV9WTV9VTkJJTkQgICAgICAgICAgICAgICAweDNlDQo+ID4gPiA+ID4gKyNk ZWZpbmUgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzICAgICAweDNmDQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICsjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9WTV9CSU5EICAgICAgICAgICBEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0JJTkQsIHN0cnVjdCBkcm1f aTkxNV9nZW1fdm1fYmluZCkNCj4gPiA+ID4gPiArI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1f Vk1fVU5CSU5EICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dF TV9WTV9VTkJJTkQsIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fYmluZCkNCj4gPiA+ID4gPiArI2Rl ZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fRVhFQ0JVRkZFUjMgICAgICAgICAgICAgICBEUk1fSU9X UihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzLCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2V4ZWNidWZmZXIzKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4g PiA+ID4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fdGltZWxpbmVfZmVuY2UgLSBBbiBpbnB1dCBv ciBvdXRwdXQgdGltZWxpbmUgZmVuY2UuDQo+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gKyAqIFRo ZSBvcGVyYXRpb24gd2lsbCB3YWl0IGZvciBpbnB1dCBmZW5jZSB0byBzaWduYWwuDQo+ID4gPiA+ ID4gKyAqDQo+ID4gPiA+ID4gKyAqIFRoZSByZXR1cm5lZCBvdXRwdXQgZmVuY2Ugd2lsbCBiZSBz aWduYWxlZCBhZnRlciB0aGUgY29tcGxldGlvbiBvZiB0aGUNCj4gPiA+ID4gPiArICogb3BlcmF0 aW9uLg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV90aW1l bGluZV9mZW5jZSB7DQo+ID4gPiA+ID4gKyAgICAgLyoqIEBoYW5kbGU6IFVzZXIncyBoYW5kbGUg Zm9yIGEgZHJtX3N5bmNvYmogdG8gd2FpdCBvbiBvciBzaWduYWwuICovDQo+ID4gPiA+ID4gKyAg ICAgX191MzIgaGFuZGxlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAvKioNCj4gPiA+ ID4gPiArICAgICAgKiBAZmxhZ3M6IFN1cHBvcnRlZCBmbGFncyBhcmU6DQo+ID4gPiA+ID4gKyAg ICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBJOTE1X1RJTUVMSU5FX0ZFTkNFX1dBSVQ6DQo+ID4g PiA+ID4gKyAgICAgICogV2FpdCBmb3IgdGhlIGlucHV0IGZlbmNlIGJlZm9yZSB0aGUgb3BlcmF0 aW9uLg0KPiA+ID4gPiA+ICsgICAgICAqDQo+ID4gPiA+ID4gKyAgICAgICogSTkxNV9USU1FTElO RV9GRU5DRV9TSUdOQUw6DQo+ID4gPiA+ID4gKyAgICAgICogUmV0dXJuIG9wZXJhdGlvbiBjb21w bGV0aW9uIGZlbmNlIGFzIG91dHB1dC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiAr ICAgICBfX3UzMiBmbGFnczsNCj4gPiA+ID4gPiArI2RlZmluZSBJOTE1X1RJTUVMSU5FX0ZFTkNF X1dBSVQgICAgICAgICAgICAoMSA8PCAwKQ0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5MTVfVElNRUxJ TkVfRkVOQ0VfU0lHTkFMICAgICAgICAgICgxIDw8IDEpDQo+ID4gPiA+ID4gKyNkZWZpbmUgX19J OTE1X1RJTUVMSU5FX0ZFTkNFX1VOS05PV05fRkxBR1MgKC0oSTkxNV9USU1FTElORV9GRU5DRV9T SUdOQUwgPDwgMSkpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ ICsgICAgICAqIEB2YWx1ZTogQSBwb2ludCBpbiB0aGUgdGltZWxpbmUuDQo+ID4gPiA+ID4gKyAg ICAgICogVmFsdWUgbXVzdCBiZSAwIGZvciBhIGJpbmFyeSBkcm1fc3luY29iai4gQSBWYWx1ZSBv ZiAwIGZvciBhDQo+ID4gPiA+ID4gKyAgICAgICogdGltZWxpbmUgZHJtX3N5bmNvYmogaXMgaW52 YWxpZCBhcyBpdCB0dXJucyBhIGRybV9zeW5jb2JqIGludG8gYQ0KPiA+ID4gPiA+ICsgICAgICAq IGJpbmFyeSBvbmUuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4gPiA+ID4gKyAgICAgX191NjQg dmFsdWU7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIC0gVkEgdG8gb2JqZWN0IG1hcHBp bmcgdG8gYmluZC4NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogVGhpcyBzdHJ1Y3R1cmUg aXMgcGFzc2VkIHRvIFZNX0JJTkQgaW9jdGwgYW5kIHNwZWNpZmllcyB0aGUgbWFwcGluZyBvZiBH UFUNCj4gPiA+ID4gPiArICogdmlydHVhbCBhZGRyZXNzIChWQSkgcmFuZ2UgdG8gdGhlIHNlY3Rp b24gb2YgYW4gb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGJvdW5kDQo+ID4gPiA+ID4gKyAqIGluIHRo ZSBkZXZpY2UgcGFnZSB0YWJsZSBvZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3Mgc3BhY2UgKFZNKS4N Cj4gPiA+ID4gPiArICogVGhlIFZBIHJhbmdlIHNwZWNpZmllZCBtdXN0IGJlIHVuaXF1ZSAoaWUu LCBub3QgY3VycmVudGx5IGJvdW5kKSBhbmQgY2FuDQo+ID4gPiA+ID4gKyAqIGJlIG1hcHBlZCB0 byB3aG9sZSBvYmplY3Qgb3IgYSBzZWN0aW9uIG9mIHRoZSBvYmplY3QgKHBhcnRpYWwgYmluZGlu ZykuDQo+ID4gPiA+ID4gKyAqIE11bHRpcGxlIFZBIG1hcHBpbmdzIGNhbiBiZSBjcmVhdGVkIHRv IHRoZSBzYW1lIHNlY3Rpb24gb2YgdGhlIG9iamVjdA0KPiA+ID4gPiA+ICsgKiAoYWxpYXNpbmcp Lg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBUaGUgQHN0YXJ0LCBAb2Zmc2V0IGFuZCBA bGVuZ3RoIG11c3QgYmUgNEsgcGFnZSBhbGlnbmVkLiBIb3dldmVyIHRoZSBERzINCj4gPiA+ID4g PiArICogYW5kIFhFSFBTRFYgaGFzIDY0SyBwYWdlIHNpemUgZm9yIGRldmljZSBsb2NhbC1tZW1v cnkgYW5kIGhhcyBjb21wYWN0IHBhZ2UNCj4gPiA+ID4gPiArICogdGFibGUuIE9uIHRob3NlIHBs YXRmb3JtcywgZm9yIGJpbmRpbmcgZGV2aWNlIGxvY2FsLW1lbW9yeSBvYmplY3RzLCB0aGUNCj4g PiA+ID4gPiArICogQHN0YXJ0IG11c3QgYmUgMk0gYWxpZ25lZCwgQG9mZnNldCBhbmQgQGxlbmd0 aCBtdXN0IGJlIDY0SyBhbGlnbmVkLg0KPiA+ID4gPiA+ICsgKiBBbHNvLCBmb3Igc3VjaCBtYXBw aW5ncywgaTkxNSB3aWxsIHJlc2VydmUgdGhlIHdob2xlIDJNIHJhbmdlIGZvciBpdCBzbyBhcw0K PiA+ID4gPiA+ICsgKiB0byBub3QgYWxsb3cgbXVsdGlwbGUgbWFwcGluZ3MgaW4gdGhhdCAyTSBy YW5nZSAoQ29tcGFjdCBwYWdlIHRhYmxlcyBkbyBub3QNCj4gPiA+ID4gPiArICogYWxsb3cgNjRL IHBhZ2UgYW5kIDRLIHBhZ2UgYmluZGluZ3MgaW4gdGhlIHNhbWUgMk0gcmFuZ2UpLg0KPiA+ID4g PiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBFcnJvciBjb2RlIC1FSU5WQUwgd2lsbCBiZSByZXR1cm5l ZCBpZiBAc3RhcnQsIEBvZmZzZXQgYW5kIEBsZW5ndGggYXJlIG5vdA0KPiA+ID4gPiA+ICsgKiBw cm9wZXJseSBhbGlnbmVkLiBJbiB2ZXJzaW9uIDEgKFNlZSBJOTE1X1BBUkFNX1ZNX0JJTkRfVkVS U0lPTiksIGVycm9yIGNvZGUNCj4gPiA+ID4gPiArICogLUVOT1NQQyB3aWxsIGJlIHJldHVybmVk IGlmIHRoZSBWQSByYW5nZSBzcGVjaWZpZWQgY2FuJ3QgYmUgcmVzZXJ2ZWQuDQo+ID4gPiA+ID4g KyAqDQo+ID4gPiA+ID4gKyAqIFZNX0JJTkQvVU5CSU5EIGlvY3RsIGNhbGxzIGV4ZWN1dGVkIG9u IGRpZmZlcmVudCBDUFUgdGhyZWFkcyBjb25jdXJyZW50bHkNCj4gPiA+ID4gPiArICogYXJlIG5v dCBvcmRlcmVkLiBGdXJ0aGVybW9yZSwgcGFydHMgb2YgdGhlIFZNX0JJTkQgb3BlcmF0aW9uIGNh biBiZSBkb25lDQo+ID4gPiA+ID4gKyAqIGFzeW5jaHJvbm91c2x5LCBpZiB2YWxpZCBAZmVuY2Ug aXMgc3BlY2lmaWVkLg0KPiA+ID4gPiANCj4gPiA+ID4gRG9lcyB0aGF0IG1lYW4gdGhhdCBpZiBJ IGRvbid0IHByb3ZpZGUgQGZlbmNlLCB0aGVuIHRoaXMgaW9jdGwgd2lsbCBiZQ0KPiA+ID4gPiBz eW5jaHJvbm91cyAoaS5lLiwgd2hlbiBpdCByZXR1cm5zLCB0aGUgbWVtb3J5IHdpbGwgYmUgZ3Vh cmFudGVlZCB0byBiZQ0KPiA+ID4gPiBib3VuZCk/IFRoZSB0ZXh0IGlzIGtpbmRhIGltcGx5aW5n IHRoYXQsIGJ1dCBmcm9tIG9uZSBvZiB5b3VyIGVhcmxpZXINCj4gPiA+ID4gcmVwbGllcyB0byBU dnJ0a28sIHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIHRoZSBjYXNlLiBJIGd1ZXNzIHdlIGNvdWxk DQo+ID4gPiA+IGNoYW5nZSB0aGUgdGV4dCB0byBtYWtlIHRoaXMgbW9yZSBleHBsaWNpdC4NCj4g PiA+ID4gDQo+ID4gPiANCj4gPiA+IFllcywgSSB0aG91Z2h0LCBpZiB1c2VyIGRvZXNuJ3Qgc3Bl Y2lmeSB0aGUgb3V0IGZlbmNlLCBLTUQgYmV0dGVyIG1ha2UNCj4gPiA+IHRoZSBpb2N0bCBzeW5j aHJvbm91cyBieSB3YWl0aW5nIHVudGlsIHRoZSBiaW5kaW5nIGZpbmlzaGVzIGJlZm9yZQ0KPiA+ ID4gcmV0dXJuaW5nLiBPdGhlcndpc2UsIFVNRCBoYXMgbm8gd2F5IHRvIGVuc3VyZSBiaW5kaW5n IGlzIGNvbXBsZXRlIGFuZA0KPiA+ID4gVU1EIG11c3QgcGFzcyBpbiBvdXQgZmVuY2UgZm9yIFZN X0JJTkQgY2FsbHMuDQo+ID4gPiANCj4gPiA+IEJ1dCBsYXRlc3QgY29tbWVudCBmb3JtIERhbmll bCBvbiBvdGhlciB0aHJlYWQgbWlnaHQgc3VnZ2VzdCBzb21ldGhpbmcgZWxzZS4NCj4gPiA+IERh bmllbCwgY2FuIHlvdSBjb21tZW50Pw0KPiA+IA0KPiA+IFdoYXRldmVyIHdlIGRlY2lkZSwgbGV0 J3MgbWFrZSBzdXJlIGl0J3MgZG9jdW1lbnRlZC4NCj4gPiANCj4gPiA+IA0KPiA+ID4gPiBJbiBh ZGRpdGlvbiwgcHJldmlvdXNseSB3ZSBoYWQgdGhlIGd1YXJhbnRlZSB0aGF0IGFuIGV4ZWNidWYg aW9jdGwNCj4gPiA+ID4gd291bGQgd2FpdCBmb3IgYWxsIHRoZSBwZW5kaW5nIHZtX2JpbmQgb3Bl cmF0aW9ucyB0byBmaW5pc2ggYmVmb3JlDQo+ID4gPiA+IGRvaW5nIGFueXRoaW5nLiBEbyB3ZSBz dGlsbCBoYXZlIHRoaXMgZ3VhcmFudGVlIG9yIGRvIHdlIGhhdmUgdG8gbWFrZQ0KPiA+ID4gPiB1 c2Ugb2YgdGhlIGZlbmNlcyBub3c/DQo+ID4gPiA+IA0KPiA+ID4gDQo+ID4gPiBObywgd2UgZG9u J3QgaGF2ZSB0aGF0IGFueW1vcmUgKGV4ZWNidWYgaXMgZGVjb3VwbGVkIGZyb20gVk1fQklORCku DQo+ID4gPiBFeGVjYnVmMyBzdWJtaXNzaW9uIHdpbGwgbm90IHdhaXQgZm9yIGFueSBwcmV2aW91 cyBWTV9CSU5EIHRvIGZpbmlzaC4NCj4gPiA+IFVNRCBtdXN0IHBhc3MgaW4gVk1fQklORCBvdXQg ZmVuY2UgYXMgaW4gZmVuY2UgZm9yIGV4ZWNidWYzIHRvIGVuc3VyZQ0KPiA+ID4gdGhhdC4NCj4g PiANCj4gPiBHb3QgaXQsIHRoYW5rcy4NCj4gPiANCj4gPiA+IA0KPiA+ID4gPiA+ICsgKi8NCj4g PiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV92bV9iaW5kIHsNCj4gPiA+ID4gPiArICAgICAv KiogQHZtX2lkOiBWTSAoYWRkcmVzcyBzcGFjZSkgaWQgdG8gYmluZCAqLw0KPiA+ID4gPiA+ICsg ICAgIF9fdTMyIHZtX2lkOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAvKiogQGhhbmRs ZTogT2JqZWN0IGhhbmRsZSAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTMyIGhhbmRsZTsNCj4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBzdGFydDogVmlydHVhbCBBZGRyZXNzIHN0YXJ0 IHRvIGJpbmQgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBzdGFydDsNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gKyAgICAgLyoqIEBvZmZzZXQ6IE9mZnNldCBpbiBvYmplY3QgdG8gYmluZCAqLw0K PiA+ID4gPiA+ICsgICAgIF9fdTY0IG9mZnNldDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAg ICAgLyoqIEBsZW5ndGg6IExlbmd0aCBvZiBtYXBwaW5nIHRvIGJpbmQgKi8NCj4gPiA+ID4gPiAr ICAgICBfX3U2NCBsZW5ndGg7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ ID4gPiA+ICsgICAgICAqIEBmbGFnczogU3VwcG9ydGVkIGZsYWdzIGFyZToNCj4gPiA+ID4gPiAr ICAgICAgKg0KPiA+ID4gPiA+ICsgICAgICAqIEk5MTVfR0VNX1ZNX0JJTkRfUkVBRE9OTFk6DQo+ ID4gPiA+ID4gKyAgICAgICogTWFwcGluZyBpcyByZWFkLW9ubHkuDQo+ID4gPiA+IA0KPiA+ID4g PiBDYW4geW91IHBsZWFzZSBleHBsYWluIHdoYXQgaGFwcGVucyB3aGVuIHdlIHRyeSB0byB3cml0 ZSB0byBhIHJhbmdlDQo+ID4gPiA+IHRoYXQncyBib3VuZCBhcyByZWFkLW9ubHk/DQo+ID4gPiA+ IA0KPiA+ID4gDQo+ID4gPiBJdCB3aWxsIGJlIG1hcHBlZCBhcyByZWFkLW9ubHkgaW4gZGV2aWNl IHBhZ2UgdGFibGUuIEhlbmNlIGFueQ0KPiA+ID4gd3JpdGUgYWNjZXNzIHdpbGwgZmFpbC4gSSB3 b3VsZCBleHBlY3QgYSBDQVQgZXJyb3IgcmVwb3J0ZWQuDQo+ID4gDQo+ID4gV2hhdCdzIGEgQ0FU IGVycm9yPyBEb2VzIHRoaXMgbGVhZCB0byBtYWNoaW5lIGZyZWV6ZSBvciBhIEdQVSBoYW5nPw0K PiA+IExldCdzIG1ha2Ugc3VyZSB3ZSBkb2N1bWVudCB0aGlzLg0KPiA+IA0KPiANCj4gQ2F0YXN0 cm9waGljIGVycm9yLg0KPiANCj4gPiA+IA0KPiA+ID4gSSBhbSBzZWVpbmcgdGhhdCBjdXJyZW50 bHkgdGhlIHBhZ2UgdGFibGUgUi9XIHNldHRpbmcgaXMgYmFzZWQNCj4gPiA+IG9uIHdoZXRoZXIg Qk8gaXMgcmVhZG9ubHkgb3Igbm90IChVTURzIGNhbiByZXF1ZXN0IGEgdXNlcnB0cg0KPiA+ID4g Qk8gdG8gcmVhZG9ubHkpLiBXZSBjYW4gbWFrZSB0aGlzIFJFQURPTkxZIGhlcmUgYXMgYSBzdWJz ZXQuDQo+ID4gPiBpZS4sIGlmIEJPIGlzIHJlYWRvbmx5LCB0aGUgbWFwcGluZ3MgbXVzdCBiZSBy ZWFkb25seS4gSWYgQk8NCj4gPiA+IGlzIG5vdCByZWFkb25seSwgdGhlbiB0aGUgbWFwcGluZyBj YW4gYmUgZWl0aGVyIHJlYWRvbmx5IG9yDQo+ID4gPiBub3QuDQo+ID4gPiANCj4gPiA+IEJ1dCBp ZiBNZXNhIGRvZXNuJ3QgaGF2ZSBhIHVzZSBmb3IgdGhpcywgdGhlbiB3ZSBjYW4gcmVtb3ZlDQo+ ID4gPiB0aGlzIGZsYWcgZm9yIG5vdy4NCj4gPiA+IA0KPiA+IA0KPiA+IEkgd2FzIGNvbnNpZGVy aW5nIHVzaW5nIGl0IGZvciBWdWxrYW4ncyBTcGFyc2UNCj4gPiByZXNpZGVuY3lOb25SZXNpZGVu dFN0cmljdCwgc28gd2UgbWFwIGFsbCB1bmJvdW5kIHBhZ2VzIHRvIGEgcmVhZC1vbmx5DQo+ID4g cGFnZS4gQnV0IGZvciB0aGF0IHRvIHdvcmssIHRoZSByZXF1aXJlZCBiZWhhdmlvciB3b3VsZCBo YXZlIHRvIGJlOg0KPiA+IHJlYWRzIGFsbCByZXR1cm4gemVybywgd3JpdGVzIGFyZSBpZ25vcmVk IHdpdGhvdXQgYW55IHNvcnQgb2YgZXJyb3IuDQo+ID4gDQo+ID4gQnV0IG1heWJlIG91ciBoYXJk d2FyZSBwcm92aWRlcyBvdGhlciB3YXlzIHRvIGltcGxlbWVudCB0aGlzLCBJIGhhdmVuJ3QNCj4g PiBjaGVja2VkIHlldC4NCj4gPiANCj4gDQo+IEkgYW0gbm90IHN1cmUgd2hhdCB0aGUgYmVoYXZp b3IgaXMuIFByb2JhYmx5IHdyaXRlcyBhcmUgbm90IHNpbXBseSBpZ25vcmVkLA0KPiB3aWxsIGNo ZWNrLg0KPiBMb29rcyBsaWtlIHdlIGNhbiByZW1vdmUgdGhpcyBmbGFnIGZvciBub3cuIFdlIGNh biBhbHdheXMgYWRkIGl0IGJhY2sNCj4gbGF0ZXIgaWYgd2UgbmVlZCBpdC4gSXMgdGhhdCBPayB3 aXRoIHlvdT8NCg0KSSB3b3VsZCBwcmVmZXIgd2Uga2VlcCBpdCBpZiB0aGF0IG1lYW5zIHdyaXRl cyB3aWxsIGp1c3QgYmUgaWdub3JlZA0Kd2l0aG91dCBhbnl0aGluZyBleHBsb2RpbmcsIGJlY2F1 c2UgaXQgd291bGQgYmUgdmVyeSB1c2VmdWwuDQoNCj4gDQo+IE5pcmFuamFuYQ0KPiANCj4gPiAN Cj4gPiA+ID4gDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBJOTE1X0dF TV9WTV9CSU5EX0NBUFRVUkU6DQo+ID4gPiA+ID4gKyAgICAgICogQ2FwdHVyZSB0aGlzIG1hcHBp bmcgaW4gdGhlIGR1bXAgdXBvbiBHUFUgZXJyb3IuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4g PiA+ID4gKyAgICAgX191NjQgZmxhZ3M7DQo+ID4gPiA+ID4gKyNkZWZpbmUgSTkxNV9HRU1fVk1f QklORF9SRUFET05MWSAgICAoMSA8PCAxKQ0KPiA+ID4gPiA+ICsjZGVmaW5lIEk5MTVfR0VNX1ZN X0JJTkRfQ0FQVFVSRSAgICAgKDEgPDwgMikNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAg LyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGZlbmNlOiBUaW1lbGluZSBmZW5jZSBmb3IgYmluZCBj b21wbGV0aW9uIHNpZ25hbGluZy4NCj4gPiA+ID4gPiArICAgICAgKg0KPiA+ID4gPiA+ICsgICAg ICAqIEl0IGlzIGFuIG91dCBmZW5jZSwgaGVuY2UgdXNpbmcgSTkxNV9USU1FTElORV9GRU5DRV9X QUlUIGZsYWcNCj4gPiA+ID4gPiArICAgICAgKiBpcyBpbnZhbGlkLCBhbmQgYW4gZXJyb3Igd2ls bCBiZSByZXR1cm5lZC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3RpbWVsaW5lX2ZlbmNlIGZlbmNlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiArICAgICAvKioNCj4gPiA+ID4gPiArICAgICAgKiBAZXh0ZW5zaW9uczogWmVyby10ZXJt aW5hdGVkIGNoYWluIG9mIGV4dGVuc2lvbnMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4g PiArICAgICAgKiBGb3IgZnV0dXJlIGV4dGVuc2lvbnMuIFNlZSBzdHJ1Y3QgaTkxNV91c2VyX2V4 dGVuc2lvbi4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBleHRl bnNpb25zOw0KPiA+ID4gPiA+ICt9Ow0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4g PiA+ID4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fdW5iaW5kIC0gVkEgdG8gb2JqZWN0IG1h cHBpbmcgdG8gdW5iaW5kLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBUaGlzIHN0cnVj dHVyZSBpcyBwYXNzZWQgdG8gVk1fVU5CSU5EIGlvY3RsIGFuZCBzcGVjaWZpZXMgdGhlIEdQVSB2 aXJ0dWFsDQo+ID4gPiA+ID4gKyAqIGFkZHJlc3MgKFZBKSByYW5nZSB0aGF0IHNob3VsZCBiZSB1 bmJvdW5kIGZyb20gdGhlIGRldmljZSBwYWdlIHRhYmxlIG9mIHRoZQ0KPiA+ID4gPiA+ICsgKiBz cGVjaWZpZWQgYWRkcmVzcyBzcGFjZSAoVk0pLiBWTV9VTkJJTkQgd2lsbCBmb3JjZSB1bmJpbmQg dGhlIHNwZWNpZmllZA0KPiA+ID4gPiA+ICsgKiByYW5nZSBmcm9tIGRldmljZSBwYWdlIHRhYmxl IHdpdGhvdXQgd2FpdGluZyBmb3IgYW55IEdQVSBqb2IgdG8gY29tcGxldGUuDQo+ID4gPiA+ID4g KyAqIEl0IGlzIFVNRHMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoZSBtYXBwaW5nIGlzIG5v IGxvbmdlciBpbiB1c2UgYmVmb3JlDQo+ID4gPiA+ID4gKyAqIGNhbGxpbmcgVk1fVU5CSU5ELg0K PiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBJZiB0aGUgc3BlY2lmaWVkIG1hcHBpbmcgaXMg bm90IGZvdW5kLCB0aGUgaW9jdGwgd2lsbCBzaW1wbHkgcmV0dXJuIHdpdGhvdXQNCj4gPiA+ID4g PiArICogYW55IGVycm9yLg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBWTV9CSU5EL1VO QklORCBpb2N0bCBjYWxscyBleGVjdXRlZCBvbiBkaWZmZXJlbnQgQ1BVIHRocmVhZHMgY29uY3Vy cmVudGx5DQo+ID4gPiA+ID4gKyAqIGFyZSBub3Qgb3JkZXJlZC4gRnVydGhlcm1vcmUsIHBhcnRz IG9mIHRoZSBWTV9VTkJJTkQgb3BlcmF0aW9uIGNhbiBiZSBkb25lDQo+ID4gPiA+ID4gKyAqIGFz eW5jaHJvbm91c2x5LCBpZiB2YWxpZCBAZmVuY2UgaXMgc3BlY2lmaWVkLg0KPiA+ID4gPiA+ICsg Ki8NCj4gPiA+ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV92bV91bmJpbmQgew0KPiA+ID4gPiA+ ICsgICAgIC8qKiBAdm1faWQ6IFZNIChhZGRyZXNzIHNwYWNlKSBpZCB0byBiaW5kICovDQo+ID4g PiA+ID4gKyAgICAgX191MzIgdm1faWQ7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8q KiBAcnN2ZDogUmVzZXJ2ZWQsIE1CWiAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTMyIHJzdmQ7DQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAc3RhcnQ6IFZpcnR1YWwgQWRkcmVzcyBz dGFydCB0byB1bmJpbmQgKi8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBzdGFydDsNCj4gPiA+ID4g PiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBsZW5ndGg6IExlbmd0aCBvZiBtYXBwaW5nIHRvIHVu YmluZCAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IGxlbmd0aDsNCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gKyAgICAgLyoqIEBmbGFnczogQ3VycmVudGx5IHJlc2VydmVkLCBNQlogKi8NCj4gPiA+ ID4gPiArICAgICBfX3U2NCBmbGFnczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoq DQo+ID4gPiA+ID4gKyAgICAgICogQGZlbmNlOiBUaW1lbGluZSBmZW5jZSBmb3IgdW5iaW5kIGNv bXBsZXRpb24gc2lnbmFsaW5nLg0KPiA+ID4gPiA+ICsgICAgICAqDQo+ID4gPiA+ID4gKyAgICAg ICogSXQgaXMgYW4gb3V0IGZlbmNlLCBoZW5jZSB1c2luZyBJOTE1X1RJTUVMSU5FX0ZFTkNFX1dB SVQgZmxhZw0KPiA+ID4gPiA+ICsgICAgICAqIGlzIGludmFsaWQsIGFuZCBhbiBlcnJvciB3aWxs IGJlIHJldHVybmVkLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fdGltZWxpbmVfZmVuY2UgZmVuY2U7DQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ICsgICAgICAqIEBleHRlbnNpb25zOiBaZXJvLXRlcm1p bmF0ZWQgY2hhaW4gb2YgZXh0ZW5zaW9ucy4NCj4gPiA+ID4gPiArICAgICAgKg0KPiA+ID4gPiA+ ICsgICAgICAqIEZvciBmdXR1cmUgZXh0ZW5zaW9ucy4gU2VlIHN0cnVjdCBpOTE1X3VzZXJfZXh0 ZW5zaW9uLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IGV4dGVu c2lvbnM7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMyAtIFN0cnVjdHVyZSBmb3Ig RFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIzDQo+ID4gPiA+ID4gKyAqIGlvY3RsLg0KPiA+ID4gPiA+ ICsgKg0KPiA+ID4gPiA+ICsgKiBEUk1fSTkxNV9HRU1fRVhFQ0JVRkZFUjMgaW9jdGwgb25seSB3 b3JrcyBpbiBWTV9CSU5EIG1vZGUgYW5kIFZNX0JJTkQgbW9kZQ0KPiA+ID4gPiA+ICsgKiBvbmx5 IHdvcmtzIHdpdGggdGhpcyBpb2N0bCBmb3Igc3VibWlzc2lvbi4NCj4gPiA+ID4gPiArICogU2Vl IEk5MTVfVk1fQ1JFQVRFX0ZMQUdTX1VTRV9WTV9CSU5ELg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ ID4gPiArc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMyB7DQo+ID4gPiA+ID4gKyAgICAg LyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGN0eF9pZDogQ29udGV4dCBpZA0KPiA+ID4gPiA+ICsg ICAgICAqDQo+ID4gPiA+ID4gKyAgICAgICogT25seSBjb250ZXh0cyB3aXRoIHVzZXIgZW5naW5l IG1hcCBhcmUgYWxsb3dlZC4NCj4gPiA+ID4gPiArICAgICAgKi8NCj4gPiA+ID4gPiArICAgICBf X3UzMiBjdHhfaWQ7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ ICsgICAgICAqIEBlbmdpbmVfaWR4OiBFbmdpbmUgaW5kZXgNCj4gPiA+ID4gPiArICAgICAgKg0K PiA+ID4gPiA+ICsgICAgICAqIEFuIGluZGV4IGluIHRoZSB1c2VyIGVuZ2luZSBtYXAgb2YgdGhl IGNvbnRleHQgc3BlY2lmaWVkIGJ5IEBjdHhfaWQuDQo+ID4gPiA+ID4gKyAgICAgICovDQo+ID4g PiA+ID4gKyAgICAgX191MzIgZW5naW5lX2lkeDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAg ICAgLyoqDQo+ID4gPiA+ID4gKyAgICAgICogQGJhdGNoX2FkZHJlc3M6IEJhdGNoIGdwdSB2aXJ0 dWFsIGFkZHJlc3MvZXMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBG b3Igbm9ybWFsIHN1Ym1pc3Npb24sIGl0IGlzIHRoZSBncHUgdmlydHVhbCBhZGRyZXNzIG9mIHRo ZSBiYXRjaA0KPiA+ID4gPiA+ICsgICAgICAqIGJ1ZmZlci4gRm9yIHBhcmFsbGVsIHN1Ym1pc3Np b24sIGl0IGlzIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZg0KPiA+ID4gPiA+ICsgICAgICAqIGJh dGNoIGJ1ZmZlciBncHUgdmlydHVhbCBhZGRyZXNzZXMgd2l0aCBhcnJheSBzaXplIGVxdWFsIHRv IHRoZQ0KPiA+ID4gPiA+ICsgICAgICAqIG51bWJlciBvZiAocGFyYWxsZWwpIGVuZ2luZXMgaW52 b2x2ZWQgaW4gdGhhdCBzdWJtaXNzaW9uIChTZWUNCj4gPiA+ID4gPiArICAgICAgKiBzdHJ1Y3Qg aTkxNV9jb250ZXh0X2VuZ2luZXNfcGFyYWxsZWxfc3VibWl0KS4NCj4gPiA+ID4gPiArICAgICAg Ki8NCj4gPiA+ID4gPiArICAgICBfX3U2NCBiYXRjaF9hZGRyZXNzOw0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArICAgICAvKiogQGZsYWdzOiBDdXJyZW50bHkgcmVzZXJ2ZWQsIE1CWiAqLw0KPiA+ ID4gPiA+ICsgICAgIF9fdTY0IGZsYWdzOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAv KiogQHJzdmQxOiBSZXNlcnZlZCwgTUJaICovDQo+ID4gPiA+ID4gKyAgICAgX191MzIgcnN2ZDE7 DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAZmVuY2VfY291bnQ6IE51bWJlciBv ZiBmZW5jZXMgaW4gQHRpbWVsaW5lX2ZlbmNlcyBhcnJheS4gKi8NCj4gPiA+ID4gPiArICAgICBf X3UzMiBmZW5jZV9jb3VudDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqDQo+ID4g PiA+ID4gKyAgICAgICogQHRpbWVsaW5lX2ZlbmNlczogUG9pbnRlciB0byBhbiBhcnJheSBvZiB0 aW1lbGluZSBmZW5jZXMuDQo+ID4gPiA+ID4gKyAgICAgICoNCj4gPiA+ID4gPiArICAgICAgKiBU aW1lbGluZSBmZW5jZXMgYXJlIG9mIGZvcm1hdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3RpbWVsaW5l X2ZlbmNlLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IHRpbWVs aW5lX2ZlbmNlczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgLyoqIEByc3ZkMjogUmVz ZXJ2ZWQsIE1CWiAqLw0KPiA+ID4gPiA+ICsgICAgIF9fdTY0IHJzdmQyOw0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gDQo+ID4gPiA+IEp1c3Qgb3V0IG9mIGN1cmlvc2l0eTogaWYgd2UgY2FuIGV4dGVu ZCBiZWhhdmlvciB3aXRoIEBleHRlbnNpb25zIGFuZA0KPiA+ID4gPiBldmVuIEBmbGFncywgd2h5 IHdvdWxkIHdlIG5lZWQgYSByc3ZkMj8gUGVyaGFwcyB3ZSBjb3VsZCBraWxsIHJzdmQyPw0KPiA+ ID4gPiANCj4gPiA+IA0KPiA+ID4gVHJ1ZS4gSSBhZGRlZCBpdCBqdXN0IGluIGNhc2Ugc29tZSBy ZXF1ZXN0cyBjYW1lIHVwIHRoYXQgd291bGQgcmVxdWlyZQ0KPiA+ID4gc29tZSBhZGRpdGlvbmFs IGZpZWxkcy4gRHVyaW5nIHRoaXMgcmV2aWV3IHByb2Nlc3MgaXRzZWxmIHRoZXJlIHdlcmUNCj4g PiA+IHNvbWUgcmVxdWVzdHMuIEFkZGluZyBkaXJlY3RseSBoZXJlIHNob3VsZCBoYXZlIGEgc2xp Z2h0IHBlcmZvcm1hbmNlDQo+ID4gPiBlZGdlIG92ZXIgYWRkaW5nIGl0IGFzIGFuIGV4dGVuc2lv biAob25lIGxlc3MgY29weV9mcm9tX3VzZXIpLg0KPiA+ID4gDQo+ID4gPiBCdXQgaWYgZm9sa3Mg dGhpbmsgdGhpcyBpcyBhbiBvdmVya2lsbCwgSSB3aWxsIHJlbW92ZSBpdC4NCj4gPiANCj4gPiBJ IGRvIG5vdCBoYXZlIHN0cm9uZyBvcGluaW9ucyBoZXJlLCBJJ20ganVzdCBjdXJpb3VzLg0KPiA+ IA0KPiA+IFRoYW5rcywNCj4gPiBQYXVsbw0KPiA+IA0KPiA+ID4gDQo+ID4gPiBOaXJhbmphbmEN Cj4gPiA+IA0KPiA+ID4gPiA+ICsgICAgIC8qKg0KPiA+ID4gPiA+ICsgICAgICAqIEBleHRlbnNp b25zOiBaZXJvLXRlcm1pbmF0ZWQgY2hhaW4gb2YgZXh0ZW5zaW9ucy4NCj4gPiA+ID4gPiArICAg ICAgKg0KPiA+ID4gPiA+ICsgICAgICAqIEZvciBmdXR1cmUgZXh0ZW5zaW9ucy4gU2VlIHN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uLg0KPiA+ID4gPiA+ICsgICAgICAqLw0KPiA+ID4gPiA+ICsg ICAgIF9fdTY0IGV4dGVuc2lvbnM7DQo+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICsvKioNCj4gPiA+ID4gPiArICogc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0X3Zt X3ByaXZhdGUgLSBFeHRlbnNpb24gdG8gbWFrZSB0aGUgb2JqZWN0DQo+ID4gPiA+ID4gKyAqIHBy aXZhdGUgdG8gdGhlIHNwZWNpZmllZCBWTS4NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICog U2VlIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dC4NCj4gPiA+ID4gPiArICovDQo+ID4g PiA+ID4gK3N0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF92bV9wcml2YXRlIHsNCj4gPiA+ ID4gPiArI2RlZmluZSBJOTE1X0dFTV9DUkVBVEVfRVhUX1ZNX1BSSVZBVEUgICAgICAgICAgICAg ICAyDQo+ID4gPiA+ID4gKyAgICAgLyoqIEBiYXNlOiBFeHRlbnNpb24gbGluay4gU2VlIHN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uLiAqLw0KPiA+ID4gPiA+ICsgICAgIHN0cnVjdCBpOTE1X3Vz ZXJfZXh0ZW5zaW9uIGJhc2U7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIC8qKiBAdm1f aWQ6IElkIG9mIHRoZSBWTSB0byB3aGljaCB0aGUgb2JqZWN0IGlzIHByaXZhdGUgKi8NCj4gPiA+ ID4gPiArICAgICBfX3UzMiB2bV9pZDsNCj4gPiA+ID4gPiArfTsNCj4gPiA+ID4gDQo+ID4gDQoN Cg==