From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3B6D8A0540; Wed, 21 Sep 2022 11:52:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 258B740697; Wed, 21 Sep 2022 11:52:22 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id D90834014F for ; Wed, 21 Sep 2022 11:52:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663753940; x=1695289940; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vXQJLckXd567x8BtMi+SJQcCEW1V3VudJiiuiZg1Ivo=; b=YZtXYm+RNQpPkwZPFA/RDD2cjgUr3R9Di3wti8sjtN4QifQrUwQhRJ1p VfHtALRbF3KD1u74MxDiVBgAuKRycZuyChZTqE6UW2jq4UrlPv4gUse7N EAPNrBA6IJnLb7jZWlANA/EWbRC0Zmobf+3nT0OPcLawLxjXgPOsBOxvR b6e9uEuzvdjZiuo6OfxM3TBEv6SWYpj2PJ9sbZHKGDW1EXggeHV2nA6jv iVw9vfp39qmPoBwmQB5W/Qb/N3+eUZHWHdpHecb4QEmgJj11Erx0gRLKr wp+VenKkJz4lCUUvDXEO1gfdWfc+Tg2lLB95w4Y0KOV8J6FoicDk6Hp/Y w==; X-IronPort-AV: E=McAfee;i="6500,9779,10476"; a="283002820" X-IronPort-AV: E=Sophos;i="5.93,333,1654585200"; d="scan'208";a="283002820" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2022 02:52:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,333,1654585200"; d="scan'208";a="596911192" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 21 Sep 2022 02:52:18 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 21 Sep 2022 02:52:18 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 21 Sep 2022 02:52:18 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 21 Sep 2022 02:52:18 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.47) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 21 Sep 2022 02:52:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L6oqf5M4pr1I+fEhQFbgcC8exF8FAYgzVGW0s+v8lzif6jy9JXw+91xxwTzQ3hglQDa4zZB6DVi6AW9PYSAC9L7AfThJurvSqBpPGMplXTtt7o295mf6SE7xPDKkD+g4+riE/PVciXxKC66gd882RFOz69QoS5AuJRQjFcAPavj5v06QEiMNv/0tkhDO717JzJtjaqyuqaXOxmZAOVibTHS18JsCrWr1XxdPgfuBZ100G9lSAHOv2HAg5+iBkvoAkt72J4TALgojm8iTdlxfPqpnaI5oLHkrbdz8pyDfsr4mZ2zpe6g/r9J5JvknGWIYXscGnb/5xxAmvFZ+Cf55bQ== 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=vXQJLckXd567x8BtMi+SJQcCEW1V3VudJiiuiZg1Ivo=; b=BcqIWomHSVqN4mT6BVMXJ0vdXZxu4TuBK6nvuWXrfjLa3sB4KRaC5WfP7n+tobvyn/hlqfqK+nTPs6Oj2VpNL3OXM7Dc9dcYVQWksQANnj4AwltGr1RGUYwVmTVZdYzDq6esslZs/2llkR2WAJRHwzudSL7MjOxIdTPFAFYMxl36VTcXT/nzlRMNy9ZTV2uSNeHI8CEXzVs3FKn6xnGTSYJ7+74qN+4I/RdoyRJIF9RKpaG2Y029SUi4OvhJnA4vpjO6N3Ua3AXPFF90kRui+XEdocbnaDmLDD0dNi+VYMcZPh/ysCMm4buWdQnTCGgodRWsXr3LOlMwmSxn5CUPaQ== 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 PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23) by CO1PR11MB4818.namprd11.prod.outlook.com (2603:10b6:303:93::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.21; Wed, 21 Sep 2022 09:52:15 +0000 Received: from PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d5ee:238c:c9e8:788b]) by PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d5ee:238c:c9e8:788b%6]) with mapi id 15.20.5654.016; Wed, 21 Sep 2022 09:52:15 +0000 From: "Liu, Changpeng" To: Maxime Coquelin , "dev@dpdk.org" CC: "Xia, Chenbo" Subject: RE: [PATCH] vhost: use try_lock in rte_vhost_vring_call Thread-Topic: [PATCH] vhost: use try_lock in rte_vhost_vring_call Thread-Index: AQHYwZeRjf3mjtMrEkOd0Zp5P1Nw9a3n/2SAgAABQgCAAAMEAIAAAn+QgAAILoCAAAC10IABqlWAgAABaXA= Date: Wed, 21 Sep 2022 09:52:15 +0000 Message-ID: References: <20220906022225.17215-1-changpeng.liu@intel.com> <2a63f996-84f4-434f-1b19-5dd035870e9d@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action 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: PH0PR11MB5093:EE_|CO1PR11MB4818:EE_ x-ms-office365-filtering-correlation-id: b2706018-fde3-4e84-c950-08da9bb6f6ce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Pa6kp1JIfRHT5fXMVnxB/r9scxO1MPPLwbiPqm428L0fFpJOKSTa3SKoiCbCRE/YLuEPEBn2oYoPNHvyu208KotaVS8y/ja3gdlGXtkeI4WMtKC0M3RdgQpA8U73PlZql6+jEDEy5p2n3jO3wWVlf3q+/YiG/GLp3rAgrSHO1+ZF6pYkYLibWwnzukmXd1IHyhdXcrEUn87Qtrjj8JwTHP4O3AetnTE4DpFOKbxng28j0PrwUc9ZS4IEZM8PEZPp5+dkb/mszLo3zh9J62oaeHOxk9KeuK8WpBXjpWW20BnadEtEAPDN1ZzrJsfmC65zxRRq0u6UK3Om9KciepVz6STSDDXAr7yHfJCsrdk+3Da3r8WcgnXYVMJ2tmw8N7EuEJARdsNUqOvMhGkudnxf7pGmKVaa5jQlLf2yCQ1AZs6YSHMxJ4lN0/+Ren7Bb8GfwyB8CglJHb83cTy/hTj/OV/6gcb+OsvIUuLxx3XaQZQnqt89ClPDWwIhtd++7uQ33uvteKLzhhPAyx24uh+RpQ9TyBRxbK2pnBFa2g9omsYWC9UmaGbyPQ9PRGNZygYL8x1zZWqA7MFXMLNBuoSVmkcRaJ3I53H9uPDwdVc4UeL4QHEooRAQxt9FYR6a+MWcwhRseJhq/bEoxI5xZy9kxjeow3oztCHgJoJP1X3egeDg4H2KVnOYIx44DIjltjN7DXQtPL/0+wpmdvD4Qf9yInW++I8za5KopYy7KqS8keGQKqNOF9lKzOmpSZOh96rUWsdCbfHMN9AvGxDqUIq3/A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5093.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(396003)(376002)(39860400002)(346002)(136003)(451199015)(83380400001)(66899012)(2906002)(316002)(110136005)(52536014)(66556008)(5660300002)(33656002)(4326008)(76116006)(66946007)(66476007)(66446008)(64756008)(478600001)(107886003)(71200400001)(86362001)(41300700001)(8936002)(6506007)(7696005)(53546011)(9686003)(186003)(26005)(8676002)(38070700005)(38100700002)(55016003)(82960400001)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aWNCYmlHRnlRS2g0TFdaUm5oU1I2V2JOZzVlWTh1dmZjcnE4QUxzaklDTXpx?= =?utf-8?B?RTBxclRBeElzVUZsSDN0cDhnS2lvUzFCaDRZdTBVOUZGeEtWdHhlSVhvMUlQ?= =?utf-8?B?c0trNzRmYmg1QmJNUHN3eVkrY3JMSmNzdHQxSGl5WkFLK0xETnVocWEyMHk1?= =?utf-8?B?U2QydmJQNzFNeWc4enBNdVdHcDlLRGVEczMwZEhJUENmL2N1VFhBeTRKZmhI?= =?utf-8?B?V045NGQraXV0bDFxTEUvaU54aEpnOFpjZk5CZ2hybno2dVRGampaTmRkckdB?= =?utf-8?B?TE5YbjdaeTNJaENxYWhoNkdiS3ZFZHl1b2d0QUM1ZkhjNHVHZFBkVjFMZlpI?= =?utf-8?B?YURJR1J1Sld5UHdxR0NVTFI5YlpXcVAyMGJWWjRyY0hpV0FPcERwOHFmNEVO?= =?utf-8?B?ZUs5N3BFVGlyYnVEbUxUSDJRQSs2M0JrNDAyTkt5RjVIcnFFbXZGT2FQd0ZW?= =?utf-8?B?dEczNVZqZW5DdU43S1gxQ05NTysvaGx5bDg0dDMrZDJXODc3MFpWUUtCME9L?= =?utf-8?B?Q1JJcDk2VXNHeENoay9ESlNFS3BXNG5sdCtVTTFQK2FYWFpMVTlzcEhIWDdS?= =?utf-8?B?NWVaRGpkUTFBWkptUWZiSkdYc3MvNG9UakVHb0llQWIvWjFhd0d3Y2M1T29y?= =?utf-8?B?eTQ0K05jM1FobmVzTi8wYlJsUzE5am9UOVVWWUFUYmx4TzIxVGRjUjZITDJl?= =?utf-8?B?VFBnMm9VY2xwVEU5ZnQ0TFhxMUdSVTlEY1dScW9uVldiajVEaGxQTWhmYXgw?= =?utf-8?B?cmo3KzM4UFBpOEhiQ2VPbEVkc1BWc0xhZmZicXI3dk5UaHIyWmJvTWRpRUMw?= =?utf-8?B?S1E1THRoekszc24xS2Y4R2FLSDJVNThDcURzRnRjOXNtak9vN2ZPRUhiU3Jh?= =?utf-8?B?UjBia2J2VGxYN2Q5SVhkNjVURUhtZW9jV2g4L2o1ZkI4S2pWRGwrUUJhKzBT?= =?utf-8?B?TFN4TXhPaHBnck53aDN6TisrRkJuN2NoR0RkM1d5MEtCMGhhSUF6MCtaNXhS?= =?utf-8?B?eGNTUjhCcXl4Y2ptQzNQYWtnWnoyZlp5Sm1adkhVaE1QQ091MnFGOE0xbFVq?= =?utf-8?B?WWx0dWo0UE5lcWJqMlJaUVR5R1NnN2pGdE1CRCtRcDNEczhWY0QxcTZWeEtp?= =?utf-8?B?dVdRS0JLTGxnU3JOdVN2UkIxMGFmbHFIa2p3WWtmYXpaaVpZeVd2Z1o2aFpV?= =?utf-8?B?UEF4cHYwNUJIMEJUT3kxdVI3NWxZR0l2NXJzNkxQZEx0bVFybi91Uy9jc09u?= =?utf-8?B?d1dRS0swTDFmd1FzUEJjcTNhbS8xZWpnQmYyL0Rsd2d3RXozYkQ1UC8yT2Ez?= =?utf-8?B?TmVEdUxtZDk0REFjQ2p0RTNQQ21sb0JaTzc0d3VTdUdiMDdUenRXbWRyR1hG?= =?utf-8?B?ZjNveU9FU1l2WEFrUFZtbmd5c0Q1MGpoZGxVb1lVdGd5RVNURkEyVHk5TGNP?= =?utf-8?B?QVJDUlFRSmVjQ1BiZUtic0FVa3M1azUyQkYzWDRBK0xSaUo3dnlKTXlocjhE?= =?utf-8?B?akN5SUozNTRRZ0lCZXQzZDVOUmRKVWtldnhYc2pmMjlrb0VhbFcwM2UvUE1h?= =?utf-8?B?Y1lpejlLVmJFN29CZDZZU0pTc1Y3SDF4OWx3eWZTd3dTeTdlNTJMUXJ6QjJF?= =?utf-8?B?U0Vta3dRSVRrMEdPRHRsQ3hYRWJqNDZvK3h6ZkVMRDNnSmJjTU5tOHhxcS8y?= =?utf-8?B?dTNNd25XS0VUcEsxOHFpUWVqQXN3b1NmVFdoMmpFYzIwVERDUXB1MEpJOGdG?= =?utf-8?B?Vzh1NXdVU2ZBSXRDcmRTWmhFZEcraTE0WW5tbEUzYnJDNlVid2hZSC9ZRHVn?= =?utf-8?B?M2hsdFRGaGFMbEpGME9JVDg3TWs5UE41NG94MmRrSjNHcUhacDBuMkxrR21v?= =?utf-8?B?M3gzWkFkb3g4VGczbEVYZnhOUDd2RG1QVWNjVUlkK08zcE1EUmNyWmNDaDZv?= =?utf-8?B?N2FiUEt1dnFqZG9GYWRjZE1lVjFIdWRhWXlBOWR0bWJiUmNKVTdscnp3L2R1?= =?utf-8?B?OThKRGYvN2JES2w0eG0xVlpzKzFSdklidW54cnFWNS9ESis5L2kxanNKTlZN?= =?utf-8?B?YTVROTBvV3ZaVFZGSjZOS05BUWh0MVc3azM2UzBNWCtUeW80ZmxaN0FFeG1L?= =?utf-8?Q?HvwOYNua+MC7Ce96buj30LfCf?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5093.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2706018-fde3-4e84-c950-08da9bb6f6ce X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2022 09:52:15.3134 (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: IQfLiZrRHei6LTWx78ZUm+993bhVK9ZQ8qIQSMJXBJ+m0Mwq6A+9DCEV11ho3wNBu/KwJrmlS7rHfiMsmYSsRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4818 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1i ZXIgMjEsIDIwMjIgNTo0MSBQTQ0KPiBUbzogTGl1LCBDaGFuZ3BlbmcgPGNoYW5ncGVuZy5saXVA aW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHZob3N0OiB1c2UgdHJ5X2xvY2sgaW4g cnRlX3Zob3N0X3ZyaW5nX2NhbGwNCj4gDQo+IA0KPiANCj4gT24gOS8yMC8yMiAxMDo0MywgTGl1 LCBDaGFuZ3Blbmcgd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+PiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQu Y29tPg0KPiA+PiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMjAsIDIwMjIgNDoxMyBQTQ0KPiA+ PiBUbzogTGl1LCBDaGFuZ3BlbmcgPGNoYW5ncGVuZy5saXVAaW50ZWwuY29tPjsgZGV2QGRwZGsu b3JnDQo+ID4+IENjOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ID4+IFN1 YmplY3Q6IFJlOiBbUEFUQ0hdIHZob3N0OiB1c2UgdHJ5X2xvY2sgaW4gcnRlX3Zob3N0X3ZyaW5n X2NhbGwNCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gT24gOS8yMC8yMiAwOTo0NSwgTGl1LCBDaGFu Z3Blbmcgd3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+Pj4+IEZyb206IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhh dC5jb20+DQo+ID4+Pj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDIyIDM6MzUgUE0N Cj4gPj4+PiBUbzogTGl1LCBDaGFuZ3BlbmcgPGNoYW5ncGVuZy5saXVAaW50ZWwuY29tPjsgZGV2 QGRwZGsub3JnDQo+ID4+Pj4gQ2M6IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4N Cj4gPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSB2aG9zdDogdXNlIHRyeV9sb2NrIGluIHJ0ZV92 aG9zdF92cmluZ19jYWxsDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gT24gOS8yMC8y MiAwOToyOSwgTGl1LCBDaGFuZ3Blbmcgd3JvdGU6DQo+ID4+Pj4+IEhpIE1heGltZSwNCj4gPj4+ Pj4NCj4gPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBN YXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+Pj4+Pj4gU2Vu dDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDIyIDM6MTkgUE0NCj4gPj4+Pj4+IFRvOiBMaXUs IENoYW5ncGVuZyA8Y2hhbmdwZW5nLmxpdUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+ Pj4+IENjOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ID4+Pj4+PiBTdWJq ZWN0OiBSZTogW1BBVENIXSB2aG9zdDogdXNlIHRyeV9sb2NrIGluIHJ0ZV92aG9zdF92cmluZ19j YWxsDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBPbiA5LzYvMjIgMDQ6 MjIsIENoYW5ncGVuZyBMaXUgd3JvdGU6DQo+ID4+Pj4+Pj4gTm90ZSB0aGF0IHRoaXMgZnVuY3Rp b24gaXMgaW4gZGF0YSBwYXRoLCBzbyB0aGUgdGhyZWFkIGNvbnRleHQNCj4gPj4+Pj4+PiBtYXkg bm90IHNhbWUgYXMgc29ja2V0IG1lc3NhZ2VzIHByb2Nlc3NpbmcgY29udGV4dCwgYnkgdXNpbmcN Cj4gPj4+Pj4+PiB0cnlfbG9jayBoZXJlLCB1c2VycyBjYW4gaGF2ZSBhbm90aGVyIHRyeSBpbiBj YXNlIG9mIFZRJ3MgYWNjZXNzDQo+ID4+Pj4+Pj4gbG9jayBpcyBoZWxkIGJ5IGB2aG9zdC1ldmVu dHNgIHRocmVhZC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IENoYW5ncGVu ZyBMaXUgPGNoYW5ncGVuZy5saXVAaW50ZWwuY29tPg0KPiA+Pj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4+ ICAgICAgbGliL3Zob3N0L3Zob3N0LmMgfCA2ICsrKysrLQ0KPiA+Pj4+Pj4+ICAgICAgMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+Pj4+Pj4+DQo+ID4+ Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92aG9zdC5jIGIvbGliL3Zob3N0L3Zob3N0LmMN Cj4gPj4+Pj4+PiBpbmRleCA2MGNiMDVhMGZmLi4wNzJkMmFjYjdiIDEwMDY0NA0KPiA+Pj4+Pj4+ IC0tLSBhL2xpYi92aG9zdC92aG9zdC5jDQo+ID4+Pj4+Pj4gKysrIGIvbGliL3Zob3N0L3Zob3N0 LmMNCj4gPj4+Pj4+PiBAQCAtMTMyOSw3ICsxMzI5LDExIEBAIHJ0ZV92aG9zdF92cmluZ19jYWxs KGludCB2aWQsIHVpbnQxNl90DQo+IHZyaW5nX2lkeCkNCj4gPj4+Pj4+PiAgICAgIAlpZiAoIXZx KQ0KPiA+Pj4+Pj4+ICAgICAgCQlyZXR1cm4gLTE7DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiAtCXJ0 ZV9zcGlubG9ja19sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiA+Pj4+Pj4+ICsJaWYgKCFydGVf c3BpbmxvY2tfdHJ5bG9jaygmdnEtPmFjY2Vzc19sb2NrKSkgew0KPiA+Pj4+Pj4+ICsJCVZIT1NU X0xPR19DT05GSUcoZGV2LT5pZm5hbWUsIERFQlVHLA0KPiA+Pj4+Pj4+ICsJCQkiZmFpbGVkIHRv IGtpY2sgZ3Vlc3QsIHZpcnRxdWV1ZSBidXN5LlxuIik7DQo+ID4+Pj4+Pj4gKwkJcmV0dXJuIC0x Ow0KPiA+Pj4+Pj4+ICsJfQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gICAgICAJaWYgKHZxX2lzX3Bh Y2tlZChkZXYpKQ0KPiA+Pj4+Pj4+ICAgICAgCQl2aG9zdF92cmluZ19jYWxsX3BhY2tlZChkZXYs IHZxKTsNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJIHRoaW5rIHRoYXQncyBwcm9ibGVtYXRpYywgYmVj YXVzZSBpdCB3aWxsIGJyZWFrIG90aGVyIGFwcGxpY2F0aW9ucw0KPiA+Pj4+Pj4gdGhhdCBjdXJy ZW50bHkgcmVseSBvbiB0aGUgQVBJIHRvIGJsb2NrIHVudGlsIHRoZSBjYWxsIGlzIGRvbmUuDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gSnVzdCBzb21lIGludGVybmFsIERQREsgdXNhZ2Ugb2YgdGhpcyBB UEk6DQo+ID4+Pj4+PiAuL2RyaXZlcnMvdmRwYS9pZmMvaWZjdmZfdmRwYS5jOjg3MToJcnRlX3Zo b3N0X3ZyaW5nX2NhbGwoaW50ZXJuYWwtPnZpZCwNCj4gPj4+Pj4+IHFpZCk7DQo+ID4+Pj4+PiAu L2V4YW1wbGVzL3Zob3N0L3ZpcnRpb19uZXQuYzoyMzY6CXJ0ZV92aG9zdF92cmluZ19jYWxsKGRl di0+dmlkLA0KPiA+PiBxdWV1ZV9pZCk7DQo+ID4+Pj4+PiAuL2V4YW1wbGVzL3Zob3N0L3ZpcnRp b19uZXQuYzo0NDY6CXJ0ZV92aG9zdF92cmluZ19jYWxsKGRldi0+dmlkLA0KPiA+PiBxdWV1ZV9p ZCk7DQo+ID4+Pj4+PiAuL2V4YW1wbGVzL3Zob3N0X2Jsay92aG9zdF9ibGsuYzo5OToNCj4gPj4+ Pj4+IHJ0ZV92aG9zdF92cmluZ19jYWxsKHRhc2stPmN0cmxyLT52aWQsIHZxLT5pZCk7DQo+ID4+ Pj4+PiAuL2V4YW1wbGVzL3Zob3N0X2Jsay92aG9zdF9ibGsuYzoxMzQ6DQo+ID4+Pj4+PiBydGVf dmhvc3RfdnJpbmdfY2FsbCh0YXNrLT5jdHJsci0+dmlkLCB2cS0+aWQpOw0KPiA+Pj4+Pj4NCj4g Pj4+Pj4+IFRoaXMgY2hhbmdlIHdpbGwgYnJlYWsgYWxsIHRoZSBhYm92ZSB1c2VzLg0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+IEFuZCB0aGF0J3Mgbm90IGNvdW50aW5nIGV4dGVybmFsIHByb2plY3RzLg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+IG91IHNob3VsZCBiZXR0ZXIgaW50cm9kdWNlIGEgbmV3IEFQSSB0 aGF0IGRvZXMgbm90IGJsb2NrLg0KPiA+Pj4+PiBDb3VsZCB5b3UgYWRkIGEgbmV3IEFQSSB0byBk byB0aGlzPw0KPiA+Pj4+ICAgID4NCj4gPj4+Pj4gSSB0aGluayB3ZSBjYW4gdXNlIHRoZSBuZXcg QVBJIGluIFNQREsgYXMgYSB3b3JrYXJvdW5kLCBub3RlIHRoYXQgU1BESw0KPiA+PiBwcm9qZWN0 DQo+ID4+Pj4gaXMgYmxvY2tlZCBmb3INCj4gPj4+Pj4gYSB3aGlsZSB3aGljaCBjYW4ndCBiZSB1 c2VkIHdpdGggRFBESyAyMi4wNSBvciBuZXdlci4NCj4gPj4+Pg0KPiA+Pj4+IERQREsgdjIyLjA1 Pw0KPiA+Pj4+IFdoYXQgaXMgdGhlIGNvbW1pdCBpbnRyb2R1Y2luZyB0aGUgcmVncmVzc2lvbj8N Cj4gPj4+IEhlcmUgaXMgdGhlIGNvbW1pdCBpbnRyb2R1Y2luZyB0aGlzIGlzc3VlDQo+ID4+PiBj NTczNjk5ODMwNWQgKCJ2aG9zdDogZml4IG1pc3NpbmcgdmlydHF1ZXVlIGxvY2sgcHJvdGVjdGlv biIpDQo+ID4+PiBCdWd6aWxsYSBJRDogMTAxNQ0KPiA+Pg0KPiA+PiBPaywgaXQgY2Fubm90IGJl IHJldmVydGVkLCBhcyBpdCBwcmV2ZW50cyBzb21lIHVuZGVmaW5lZA0KPiA+PiBiZWhhdmlvcnMv Y3Jhc2hlcy4NCj4gPj4NCj4gPj4+Pg0KPiA+Pj4+IE5vdGUgdGhhdCBpZiB3ZSBpbnRyb2R1Y2Ug YSBuZXcgQVBJLCBpdCB3b24ndCBiZSBiYWNrcG9ydGVkIHRvIHN0YWJsZQ0KPiA+Pj4+IGJyYW5j aGVzLg0KPiA+Pj4gSSB1bmRlcnN0YW5kLCBidXQgZG8gd2UgaGF2ZSBiZXR0ZXIgaWRlYSBpbiBz aG9ydCB0aW1lPyB3ZSdyZSBwbGFubmluZw0KPiA+Pj4gdG8gcmVsZWFzZSBTUERLIDIyLjA5IHJl Y2VudGx5Lg0KPiA+Pg0KPiA+PiBZb3UgY2FuIGhhdmUgYW5vdGhlciB0aHJlYWQgdGhhdCBzZW5k cyB0aGUgY2FsbD8NCj4gPiBXZSBhbHJlYWR5IHVzZSB0d28gdGhyZWFkcyB0byBkbyB0aGlzLiBI ZXJlIGlzIHRoZSBleGFtcGxlIGZvciBleGlzdGluZyBjb2RlIGluDQo+IFNQREs6DQo+ID4NCj4g PiBEUERLIHZob3N0LWV2ZW50cyB0aHJlYWQgICAgICAgICAgICAgICAgICAgICAgICBTUERLIHRo cmVhZA0KPiA+DQo+ID4gICAgICBTRVRfVlJJTkdfS0lDSyBWUTEgICAgICAgLS0tLT4gICAgICAg ICAgICBTdGFydCBwb2xsaW5nIFZRMQ0KPiA+ICAgICAgUmVwbHkgdG8gRFBESyAgICAgICAgICAg ICAgICAgICAgPC0tLS0gICAgICAgICAgICAgIERvbmUNCj4gPiAgICAgIFNFVF9WUklOR19LSUNL IFZRMiAgICAgICAtLS0tPiAgICAgICAgICAgIHRocmVhZCBpcyBibG9ja2VkIG9uIFZRJ3MgYWNj ZXNzIGxvY2ssDQo+IFNQREsgdGhyZWFkIGNhbid0IHByb3ZpZGUgcmVwbHkgbWVzc2FnZQ0KPiA+ DQo+ID4gRm9yIGV4YW1wbGUsIHdlIGNhbiBqdXN0IHJldHVybiBmb3IgIFNFVF9WUklOR19LSUNL IFZRMiBtZXNzYWdlIHdpdGhvdXQNCj4gY2hlY2tpbmcgU1BESyB0aHJlYWQsIGJ1dCB0aGlzIGxl YXZlDQo+ID4gdW5jZXJ0YWluIHJlcGxpZXMgdG8gVk0uDQo+IA0KPiBJJ20gc29ycnkgYnV0IHlv dSB3aWxsIGhhdmUgdG8gZmluZCBhIHdvcmthcm91bmQgd2hpbGUgdjIyLjExIGlzIG91dCBhbmQN Cj4geW91IGNhbiBjb25zdW1lIGl0LiBXZSBjYW4gbmVpdGhlciBiYWNrcG9ydCBuZXcgQVBJIG5v ciB3ZSBjYW4gYnJlYWsgYWxsDQo+IHRoZSBvdGhlciBhcHBsaWNhdGlvbnMgbm90IGhhbmRsaW5n IGxvY2tpbmcgZmFpbHVyZS4NCkJ5IHByb2Nlc3Npbmcgdmhvc3QtdXNlciBtZXNzYWdlIGluIGFz eW5jaHJvbm91cyB3YXkgaW4gU1BESyBjYW4gYmUgYQ0Kd29ya2Fyb3VuZCBub3csIHdlIGNhbiBi YWNrcG9ydCB0aGUgd29ya2Fyb3VuZCB0byBTUERLIGVhcmxpZXIgdmVyc2lvbg0Kc28gdGhhdCBp dCBjYW4gd29yayB3aXRoIGRpc3RybyBEUERLIHJlbGVhc2VzLg0KPiANCj4gUmVnYXJkaW5nIHRo ZSBuZXcgQVBJIGZvciB2MjIuMTEsIEkgc2hvdWxkIGJlIG5hbWVkIHNvbWV0aGluZyBsaWtlDQo+ IHJ0ZV92aG9zdF92cmluZ19jYWxsX25vbmJsb2NrKCksIGFuZCBpZGVhbGx5IHNob3VsZCByZXR1 cm4gc29tZSBsaWtlDQo+IC1FQUdBSU4gaW5zdGVhZCBvZiAtMSBvIHRoYXQgdGhlIGFwcGxpY2F0 aW9ucyBjYW4gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhDQo+IHJlYWwgZmFpbHVyZSBhbmQgYSBuZWVk IGZvciByZXRyeS4NCkFncmVlZCwgdGhlbiB3ZSBjYW4gc3dpdGNoIHRvIHRoZSBuZXcgQVBJIGZp bmFsbHkuDQo+IA0KPiBSZWdhcmRzLA0KPiBNYXhpbWUNCj4gDQo+ID4+DQo+ID4+Pj4NCj4gPj4+ Pg0KPiA+Pj4+PiBWaG9zdC1ibGsgYW5kIHNjc2kgZGV2aWNlcyBhcmUgbm90IHNhbWUgd2l0aCB2 aG9zdC1uZXQsIHdlIG5lZWQgdG8gY292ZXINCj4gPj4+PiBTZWFCSU9TIGFuZCBWTQ0KPiA+Pj4+ PiBjYXNlcywgc28gd2UgbmVlZCB0byBzdGFydCBwcm9jZXNzaW5nIHZyaW5ncyBhZnRlciAxIHZy aW5nIGlzIHJlYWR5Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFJlZ2FyZHMsDQo+ID4+Pj4+PiBNYXhp bWUNCj4gPj4+Pj4NCj4gPj4+DQo+ID4NCg0K