From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.1897.1682490737074713519 for ; Tue, 25 Apr 2023 23:32:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=TZ2w0bWh; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682490737; x=1714026737; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=uSzry9lRft6xBwy9F95Erdhmossarwpd2+7kZ0lL3nw=; b=TZ2w0bWh8y3tW3+QUvUGQkT5R665+xDnw6Z/hYNIno/mHn9uAFDQvXdR VRJimFHKqJPvrtHGt607zU/gZEs64Qw3A2NQ5VIULIehS4zxGofWwUdYn NyirnEcbvDHzcNKI2IV+fSXAp9n2zrUdxt98evOKwulxaRF45Jn8ScAKA 6rtuPuAbBCAAaRAZNNimYBXvKAY1ZkjBBP3cxyWyucmUwpxDBgf04zdr4 L+l88/0b0LVwZi+o4/aU/Ikh+Fh2m5KKAKtPJyXD4mzPNKTEP4+GSvDBi kxvuSflNA37ap6TVe30Z1lN16LSPv4qL1tPnCsu9S7R6nekhyN81YB+mx w==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="374965499" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="374965499" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 23:32:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="783168904" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="783168904" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 25 Apr 2023 23:32:15 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.23; Tue, 25 Apr 2023 23:32:14 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 25 Apr 2023 23:32:14 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 25 Apr 2023 23:32:14 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.173) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 25 Apr 2023 23:32:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ul72V1QcUl9girnqIy5yOm++6xfhgRzHTFMkOj5IxGXDz4oesrHAcux2JRhU+LjmGd/49IW1oDTZyszdUeQ2IVMhOZxHRo6xcM4ty1R9u7V+VphroJElyXYYAU+RBE/llyzPrFtCMBJZ3tGNmXeLV8lMc4vxpCtLH98MxQhfGK2x91PPpB6TuTS1FtSoKcVfjzUm/zpd3LFL6nnW8ffzAnieWWqOLvPhgRZBP9cSDxGFobFxlgfk8ioQA6DPc42XpSAlYmQtq69HjRYyrB5FWYGzEAupPC9piUDJKgPK5oO8PeCEXIESu4xZ/QCkONebehWDiaKDG/nCL9Pj+am3Ig== 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=uSzry9lRft6xBwy9F95Erdhmossarwpd2+7kZ0lL3nw=; b=nX910aC92KZ4OxxVNw8cBveX7PbltXd5pZhfPy00/znMmv0DUF45iA0ZQK7wX8uQ7J77uEaUR6uYn9u9Sw1j+na4BioUgjcV5DSiEMj3ZRsgUxetN8761vM1A8cV00ybBR5INS5sLmtUo9+AKVpfhnckd3JE4VeFdYFtzdepxZI+dydu3Wf4ex/X9i2CUhy2Mzemm7H2bCa6QcM9PVM4yVGb+mMEoxhsM7HwvkcVJzV3VVdQbY4CAqFrNa3/i+G3phpAqyoUHXdXwMwFjNPN8ATjHNEC+als8JGVvJGBmsHELn9JtxBlR4p5Cl0OTEiKMnC37deeVhxO+4GrP0IX9Q== 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 DM6PR11MB4025.namprd11.prod.outlook.com (2603:10b6:5:197::31) by DM4PR11MB8178.namprd11.prod.outlook.com (2603:10b6:8:18f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Wed, 26 Apr 2023 06:32:09 +0000 Received: from DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::1b49:874e:7c04:1e00]) by DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::1b49:874e:7c04:1e00%5]) with mapi id 15.20.6319.020; Wed, 26 Apr 2023 06:32:02 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "osde@linux.microsoft.com" , "Ni, Ray" CC: "Wang, Jian J" , "Gao, Liming" , Michael Kubacki , Sean Brogan Subject: Re: [edk2-devel] [PATCH v1 1/2] Add the volatile keyword to NvmExpressDxe's Passthru CQs and SQs. Thread-Topic: [edk2-devel] [PATCH v1 1/2] Add the volatile keyword to NvmExpressDxe's Passthru CQs and SQs. Thread-Index: AQHZc5+W4SlRMzO9fU+dU5BXoZFj3a89JruQ Date: Wed, 26 Apr 2023 06:32:02 +0000 Message-ID: References: <20230419234108.10243-1-osde@linux.microsoft.com> <20230419234108.10243-2-osde@linux.microsoft.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: DM6PR11MB4025:EE_|DM4PR11MB8178:EE_ x-ms-office365-filtering-correlation-id: 82f356c1-7715-402f-b4b5-08db461ff259 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: 8dH+hH1EtiwCKOmmbcJnwnKAjUUoGwMgFjF0JLu4lLAXCj+k+z0YSCIjD8uS/Dlre4e4YG1aTgoRSHqd8N0Xut1vMDReMuFkqEChwOGuu1SCKSKRBZb+moOqwM7b6WsNLGAQDJX5R08LDLql9+pikRbW/TZRqVty361ld/Gf/UKNlHSjUpyaLjGTy69iwcnUJkkw4fgK8RlL/5imEp6p8s9ZwrIqD9N9XjzBcfKhUVus3GM748ZCDrsfzb7GvmHw10pxLdupk8GDtUl+FO9g6bCTlSp7DNcP+BMkuKSdVe1Wypr153LyWKFMLVW/vezrWva+4oQgG+7lo9PNXAI80dYxl1KSPUKhmdfZgXeHtHleGqIn2Jq72O872OxrQ8a7IQbeDpXY4M+x5gm0AQRz0jR1d+0RyQQ/J1pcWqmEi8bcw2m8QPs9eFIATiRBly5BOt0/clQ03IdunpKf5oYMQd/ules9NaAll0E806u7p77WSZrLIpRHL3aIAM0DE0zTvCpje9rPxy2SniDulZwDHxUhI5NHAEUcKEicgjiTOcB5TG8oZNpJ09Pu7uWcXw8fT/mdl+dHDSRAckdA1+DUpED3YLgF1RgfQE8tdWTH+2Ann08iF3SJOYzwxCGD7zanJ+8/pw/A9evFaZCKC8uJOw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4025.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199021)(83380400001)(33656002)(86362001)(9686003)(53546011)(6506007)(26005)(966005)(7696005)(71200400001)(478600001)(45080400002)(54906003)(66899021)(316002)(66476007)(64756008)(76116006)(66946007)(66556008)(66446008)(110136005)(6636002)(4326008)(8936002)(8676002)(41300700001)(38070700005)(38100700002)(186003)(2906002)(122000001)(52536014)(55016003)(5660300002)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QkFiWnVLSkZlWnJZakdNTE5BVFJHQlk5UGJOdWNuTXlYem8xWEw3SVZrc0NK?= =?utf-8?B?RWlmaFNoOWQ0a0dBS2pvS2wyMzlJbjgycmtMdUlyQWoyVGpyY2dPNXFDblZY?= =?utf-8?B?TUJVUVd4dWVvNzNtbkVmUW1OWk9Zc1prRFcvU0l5RkExZk5NNHVFWjRkQ0xY?= =?utf-8?B?T1hQMzB0NzExY25KMWdJWjlvMWJXUDhoMERUTkNpR2JmNlZ2T1I4WWdSK2Za?= =?utf-8?B?d0xWVUlrUmZocGhrN1Q4WVlwSTZWTEJYeWdES2Q4bncrS29rMi9qRTNrVHB0?= =?utf-8?B?ZVkrb3pZbGZpQjdMWkRPZkpSUGZmeHl3OUJObGs3WjUwY2tsMDF5M1R2MXNm?= =?utf-8?B?QVdteE5LZmlWV1cyR05lQzBYRHAyZmVYSDVLUFRWVVR3S2NDM3BmN1pabXJJ?= =?utf-8?B?VnFwVVQ3ZFFqT3dKcnFPUlhMZDU2cGd3WmFSSGFXcXNoWUZUUlNwbVR6OC9O?= =?utf-8?B?Y1c1ZXEyMS9HSG53QU9YRi9remNHUXgxWkdpNWRCT0taU1dDWkk0K3FmUWJX?= =?utf-8?B?VWQyWlVmZzFpZ2loYmtieHlWSkN1RTJGTFRNdEp0aGpvS2ZPS2l6ZUR6dkJo?= =?utf-8?B?KzJxT3NxWlR5WWk4dUg0bXZnZDh1cloraDVRc3plbVdvOEJmTERXOUd3Y1RR?= =?utf-8?B?ZmZkQU9QYmZlWVhjL1Y2STZWQk02Nk1KT2pXRXFDLzA0by9yelhxanhQT1Vl?= =?utf-8?B?MFRlU2pJTGY4SGhuT2VGeUFGdG9ZY0lMZXppeWdWaDUxSnQxVDdweHl4b0x0?= =?utf-8?B?ZzZsM3F0VmpXUEczVkdBS3JvT1RxYlFyVSs3Z0hCaGJYVndtRXM0ZFlPenlW?= =?utf-8?B?Y3RyNmkvSFlHcW55bkF3R1MzeWI1U3d1dzhCLzR3UytTNlhocVBCWUlYeG5p?= =?utf-8?B?VC9FMzh0c1cyOWc3ZmVaWGN5RjZiT1dCclRRZm1NWHpHS0kzNEVpTk1LcnhB?= =?utf-8?B?WVROdWF3UEliZ1N3ZllmMFJtTjRWaE5JL01lbTR1TGxLeFpvQlA1bWxtczB4?= =?utf-8?B?Z0I0V2lIb2gyd0RER1llOWNyUHBBRWdTZFRCdk8ycmFlN3ZYemRydjBDaTAw?= =?utf-8?B?MDE5d2pRcGkxazFhYkROSVlIUDBKT1AxamU5d3JEaW4xWkJJMFAreEx4NkJQ?= =?utf-8?B?a25yclpGRUJDL01NWE1vN00vYzRrZ295RjVPV3BxcnIvRzNxV0xLR2hEOGtB?= =?utf-8?B?NDVCdnZ6MXk3TkVkL1NSb0RVSm5Rb0xGU0NvK3BPZXVXc294ekd5QUxwZS9R?= =?utf-8?B?OUhjTmYzcmtNZU91dHRUVHV2NGtoUzIvU1UxeCt2a0doY3ZEbVgydzJ6MS9h?= =?utf-8?B?dmtIUjlMSTZNaklabFA4bmxnUDg3azR5SzMzMy9hNDRzNnkxcjJBbUI4UE9n?= =?utf-8?B?d05pNzlENEU5OXRVWmE4NENUQzFyckpHNVNJeWxLZmxoMzJvNDdma1pCbHc2?= =?utf-8?B?Z3k5Ym03NzJQazFMWFlkbVB1YU55dGZpSlpMNzlReWZRaDhpMDBWSm1wMEoz?= =?utf-8?B?QWVoK2xwMm1wSHdwWXhPV3dseTh0ZHhHQmZXOFRVRXF4bE85LzBBeDAwZlFD?= =?utf-8?B?b244R3FWZThxbFg5RS92Z1pSOTVnTGUzNHQ4UTFDTHB2V2hpRDY0SzR2QnNa?= =?utf-8?B?Y2V0OWpudWZ6VlZoZ2pMQnBScE0wcG1ubndRZWVSaFZibFBtOHMwNjk3MTdw?= =?utf-8?B?bWlRRGQzQ0s0a0lWY2xHd3A4cFB0OGhEL3loY3F1bmVlamwvbzEydFVlTE9T?= =?utf-8?B?N3U0VFBQSFFpUXFIWU5CVndDYTFjc2xOWFp1djgrSWFLTmxDZC9iRGdUdUdk?= =?utf-8?B?bFRlQVc1M3YxVDRCczd6aW9aVXRwTm5TNC9ZMFNKSGF5ZEVhSHdka0ZjTXcr?= =?utf-8?B?L0MyZnNtcjMzTStpQUVwbUpSYUdaQkhaRzJFVnFrN25zV0NWRUhRaHB5bFpS?= =?utf-8?B?dnFCM1VISnRsZ3ZrdVVYRW9JallLa2xKNVkvK0p5ZEtmRTFHcDYvd0R6bzZm?= =?utf-8?B?STIrM2ZDS0tzVUhzVVVETkx0QmFXWFozd1NBMFozNmFUejdENFZqZDl5czht?= =?utf-8?B?TWd3eGt2aWRtTSsreEZMOHZvZXFZdnRYUmY0YXZHSmMzanIvOTZLeSt3c1Uz?= =?utf-8?Q?b4IlsGfl9iXVxv10ezXyjWeDt?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4025.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82f356c1-7715-402f-b4b5-08db461ff259 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 06:32:02.6594 (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: wWgQqJvVXdZLmr3HxqtTVG0dAEpUoOSWAp3VchPLqfXckuug//uMaoGYVwL28LfyRV6fXPV3TDPPLwJwmhKJQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB8178 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIE9saXZlciwNCg0KRm9yIHRoZSBTdWJtaXNzaW9uIFF1ZXVlIHBvaW50ZXIgIlNxIiwg SSB0aGluayBpdCBpcyBiZWluZyB1c2VkIHRvIGZvcm1hdCB0aGUgY29tbWFuZCB0aGF0IHdpbGwg YmUgc2VudCB0byB0aGUgTlZNRSBjb250cm9sbGVyLg0KTnZtRXhwcmVzc1Bhc3NUaHJ1KCkgZG9l cyBub3QgcmVhZCBiYWNrIGl0cyBjb250ZW50IGZvciBjaGVja2luZyBhZnRlciB0aGUgY29tbWFu ZCBnZXRzIHN1Ym1pdHRlZC4NCk15IG9waW5pb24gaXMgdGhhdCBpdCBtaWdodCBiZSBub3QgbmVj ZXNzYXJ5IHRvIGFkZCB2b2xhdGlsZSBhdHRyaWJ1dGUgZm9yIGl0Lg0KDQpGb3IgdGhlIENvbXBs ZXRpb24gUXVldWUgcG9pbnRlciAiQ3EiLCBJIGFtIG5vdCBzdXJlIHdoaWNoIG9mIHRoZSBmb2xs b3dpbmcgaXMgYmV0dGVyOg0KYSkgSW50cm9kdWNlIGEgdm9sYXRpbGUgcG9pbnRlciB0byAiQ3Et PlB0Iiwgb3INCmIpIE1hcmsgIkNxIiBhcyB2b2xhdGlsZQ0KV291bGQgbGlrZSB0byBnZXQgeW91 ciBmZWVkYmFjayBvbiB0aGlzLiBUaGFua3MuIA0KDQpCZXN0IFJlZ2FyZHMsDQpIYW8gV3UNCg0K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBPbGl2ZXINCj4gU21pdGgtRGVu bnkNCj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDIwLCAyMDIzIDExOjQ4IFBNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gQ2M6IFd1LCBI YW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+Ow0KPiBHYW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgTWljaGFl bCBLdWJhY2tpDQo+IDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPjsgU2VhbiBCcm9nYW4g PHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g W1BBVENIIHYxIDEvMl0gQWRkIHRoZSB2b2xhdGlsZSBrZXl3b3JkIHRvDQo+IE52bUV4cHJlc3NE eGUncyBQYXNzdGhydSBDUXMgYW5kIFNRcy4NCj4gDQo+IEhpIFJheSwNCj4gDQo+IFRoaXMgaXMg bm90IGEgcHVyZSBjb3B5IGZyb20gSFcgdG8gU1cgbWVtb3J5LCB3ZSBhcmUgYWxzbyBwb2xsaW5n IHRoZSBDUSB0bw0KPiBzZWUgaWYgYSB0cmFuc2FjdGlvbiBoYXMgY29tcGxldGVkOg0KPiANCj4g ICAgLy8NCj4gICAgLy8gV2FpdCBmb3IgY29tcGxldGlvbiBxdWV1ZSB0byBnZXQgZmlsbGVkIGlu Lg0KPiAgICAvLw0KPiAgICBTdGF0dXMgPSBFRklfVElNRU9VVDsNCj4gICAgd2hpbGUgKEVGSV9F UlJPUiAoZ0JTLT5DaGVja0V2ZW50IChUaW1lckV2ZW50KSkpIHsNCj4gICAgICBpZiAoQ3EtPlB0 ICE9IFByaXZhdGUtPlB0W1F1ZXVlSWRdKSB7DQo+ICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VT UzsNCj4gICAgICAgIGJyZWFrOw0KPiAgICAgIH0NCj4gICAgfQ0KPiANCj4gDQo+IFdoYXQgd2Ug aGF2ZSBzZWVuIGhhcHBlbiBpcyB0aGF0IHdpdGhvdXQgdGhlIHZvbGF0aWxlIGtleXdvcmQsIHRo ZSBjb21waWxlcg0KPiBjYW4gbW92ZSB0aGUgQ3EtPlB0IHJlYWQgb3V0c2lkZSBvZiB0aGUgbG9v cCBhbmQgb25seSBkbyByZWdpc3RlciBjb21wYXJlcw0KPiBpbnNpZGUgdGhlIGxvb3AsIGkuZS4g d2UgZW5kIHVwIGdvaW5nIHRoZSBmdWxsIHRpbWVvdXQgZXZlbiBpZiB0aGUgQ1EgcmVwb3J0cyBp dCBpcw0KPiBmaW5pc2hlZC4NCj4gDQo+IEhlcmUgaXMgdGhlIGlzc3VlIHRoYXQgd2FzIGZpbGVk IG9uIHRoZSBwcm9qZWN0IE11IHNpZGU6DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQv bXVfYmFzZWNvcmUvaXNzdWVzLzMyNC4NCj4gDQo+IFRoYW5rcywNCj4gT2xpdmVyDQo+IA0KPiBP biA0LzE5LzIwMjMgNTo0OCBQTSwgTmksIFJheSB3cm90ZToNCj4gPiBJZiBpdCdzIHRvIGNvcHkg ZnJvbSBodyB0byBzdyBtZW1vcnksIHdoeSBkbyB3ZSBuZWVkIHZvbGF0aWxlPw0KPiA+DQo+ID4g VGhhbmtzLA0KPiA+IFJheQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24g QmVoYWxmIE9mIE9saXZlcg0KPiA+PiBTbWl0aC1EZW5ueQ0KPiA+PiBTZW50OiBUaHVyc2RheSwg QXByaWwgMjAsIDIwMjMgNzo0MSBBTQ0KPiA+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g Pj4gQ2M6IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT47IFdhbmcsDQo+ID4+IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgR2Fv LCBMaW1pbmcNCj4gPj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IE1pY2hhZWwgS3ViYWNr aQ0KPiA+PiA8bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT47IFNlYW4gQnJvZ2FuDQo+ID4+ IDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPg0KPiA+PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF1b UEFUQ0ggdjEgMS8yXSBBZGQgdGhlIHZvbGF0aWxlIGtleXdvcmQgdG8NCj4gPj4gTnZtRXhwcmVz c0R4ZSdzIFBhc3N0aHJ1IENRcyBhbmQgU1FzLg0KPiA+Pg0KPiA+PiBUaGlzIHVwZGF0ZXMgdGhl IHJlbGV2YW50IGZ1bmN0aW9ucyB0aGF0IGV4cGVjdCBhIG5vbi12b2xhdGlsZQ0KPiA+Pg0KPiA+ PiBzdHJ1Y3R1cmUgdG8gYmUgcGFzc2VkIHRvIHRoZW0gdG8gdGFrZSBjYXN0cyBvZiB0aGUgQ1Eg YW5kIFNRLA0KPiA+Pg0KPiA+PiBub3cgdGhhdCB0aGV5IGFyZSB2b2xhdGlsZS4NCj4gPj4NCj4g Pj4NCj4gPj4NCj4gPj4gQ2M6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQo+ID4+DQo+ ID4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+DQo+ID4+IENjOiBKaWFuIEog V2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+Pg0KPiA+PiBDYzogTGltaW5nIEdhbyA8 Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+Pg0KPiA+PiBDYzogTWljaGFlbCBLdWJhY2tp IDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+Pg0KPiA+PiBDYzogU2VhbiBCcm9n YW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQo+ID4+DQo+ID4+IFNpZ25lZC1vZmYtYnk6 IE9saXZlciBTbWl0aC1EZW5ueSA8b3NkZUBsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+Pg0KPiA+ PiAtLS0NCj4gPj4NCj4gPj4gICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNzRHhlL052 bUV4cHJlc3NQYXNzdGhydS5jIHwgMTANCj4gPj4gKysrKystLS0tLQ0KPiA+Pg0KPiA+PiAgIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ID4+DQo+ID4+ DQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNz RHhlL052bUV4cHJlc3NQYXNzdGhydS5jDQo+ID4+IGIvTWRlTW9kdWxlUGtnL0J1cy9QY2kvTnZt RXhwcmVzc0R4ZS9Odm1FeHByZXNzUGFzc3RocnUuYw0KPiA+Pg0KPiA+PiBpbmRleCBmMzdiYWE2 MjZhMTYuLjFhN2UzOTUwMGFjMCAxMDA2NDQNCj4gPj4NCj4gPj4gLS0tIGEvTWRlTW9kdWxlUGtn L0J1cy9QY2kvTnZtRXhwcmVzc0R4ZS9Odm1FeHByZXNzUGFzc3RocnUuYw0KPiA+Pg0KPiA+PiAr KysgYi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNzRHhlL052bUV4cHJlc3NQYXNzdGhy dS5jDQo+ID4+DQo+ID4+IEBAIC00NTksOCArNDU5LDggQEAgTnZtRXhwcmVzc1Bhc3NUaHJ1ICgN Cj4gPj4NCj4gPj4gICAgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ ID4+DQo+ID4+ICAgICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgUHJldmlvdXNTdGF0 dXM7DQo+ID4+DQo+ID4+ICAgICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgICAgKlBjaUlv Ow0KPiA+Pg0KPiA+PiAtICBOVk1FX1NRICAgICAgICAgICAgICAgICAgICAgICAgKlNxOw0KPiA+ Pg0KPiA+PiAtICBOVk1FX0NRICAgICAgICAgICAgICAgICAgICAgICAgKkNxOw0KPiA+Pg0KPiA+ PiArICB2b2xhdGlsZSBOVk1FX1NRICAgICAgICAgICAgICAgKlNxOw0KPiA+Pg0KPiA+PiArICB2 b2xhdGlsZSBOVk1FX0NRICAgICAgICAgICAgICAgKkNxOw0KPiA+Pg0KPiA+PiAgICAgVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSWQ7DQo+ID4+DQo+ID4+ICAgICBVSU5UMTYg ICAgICAgICAgICAgICAgICAgICAgICAgUXVldWVTaXplOw0KPiA+Pg0KPiA+PiAgICAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzOw0KPiA+Pg0KPiA+PiBAQCAtNTgxLDcgKzU4 MSw3IEBAIE52bUV4cHJlc3NQYXNzVGhydSAoDQo+ID4+DQo+ID4+ICAgICAgIHJldHVybiBFRklf SU5WQUxJRF9QQVJBTUVURVI7DQo+ID4+DQo+ID4+ICAgICB9DQo+ID4+DQo+ID4+DQo+ID4+DQo+ ID4+IC0gIFplcm9NZW0gKFNxLCBzaXplb2YgKE5WTUVfU1EpKTsNCj4gPj4NCj4gPj4gKyAgWmVy b01lbSAoKFZPSUQgKilTcSwgc2l6ZW9mIChOVk1FX1NRKSk7DQo+ID4+DQo+ID4+ICAgICBTcS0+ T3BjICA9IChVSU5UOClQYWNrZXQtPk52bWVDbWQtPkNkdzAuT3Bjb2RlOw0KPiA+Pg0KPiA+PiAg ICAgU3EtPkZ1c2UgPSAoVUlOVDgpUGFja2V0LT5Odm1lQ21kLT5DZHcwLkZ1c2VkT3BlcmF0aW9u Ow0KPiA+Pg0KPiA+PiAgICAgU3EtPkNpZCAgPSBQcml2YXRlLT5DaWRbUXVldWVJZF0rKzsNCj4g Pj4NCj4gPj4gQEAgLTgxNSwxNCArODE1LDE0IEBAIE52bUV4cHJlc3NQYXNzVGhydSAoDQo+ID4+ DQo+ID4+ICAgICAgICAgLy8gRHVtcCBldmVyeSBjb21wbGV0aW9uIGVudHJ5IHN0YXR1cyBmb3Ig ZGVidWdnaW5nLg0KPiA+Pg0KPiA+PiAgICAgICAgIC8vDQo+ID4+DQo+ID4+ICAgICAgICAgREVC VUdfQ09ERV9CRUdJTiAoKTsNCj4gPj4NCj4gPj4gLSAgICAgIE52bWVEdW1wU3RhdHVzIChDcSk7 DQo+ID4+DQo+ID4+ICsgICAgICBOdm1lRHVtcFN0YXR1cyAoKE5WTUVfQ1EgKilDcSk7DQo+ID4+ DQo+ID4+ICAgICAgICAgREVCVUdfQ09ERV9FTkQgKCk7DQo+ID4+DQo+ID4+ICAgICAgIH0NCj4g Pj4NCj4gPj4NCj4gPj4NCj4gPj4gICAgICAgLy8NCj4gPj4NCj4gPj4gICAgICAgLy8gQ29weSB0 aGUgUmVzcG9zZSBRdWV1ZSBlbnRyeSBmb3IgdGhpcyBjb21tYW5kIHRvIHRoZSBjYWxsZXJzDQo+ ID4+IHJlc3BvbnNlIGJ1ZmZlcg0KPiA+Pg0KPiA+PiAgICAgICAvLw0KPiA+Pg0KPiA+PiAtICAg IENvcHlNZW0gKFBhY2tldC0+TnZtZUNvbXBsZXRpb24sIENxLCBzaXplb2YNCj4gPj4gKEVGSV9O Vk1fRVhQUkVTU19DT01QTEVUSU9OKSk7DQo+ID4+DQo+ID4+ICsgICAgQ29weU1lbSAoUGFja2V0 LT5Odm1lQ29tcGxldGlvbiwgKFZPSUQgKilDcSwgc2l6ZW9mDQo+ID4+IChFRklfTlZNX0VYUFJF U1NfQ09NUExFVElPTikpOw0KPiA+Pg0KPiA+PiAgICAgfSBlbHNlIHsNCj4gPj4NCj4gPj4gICAg ICAgLy8NCj4gPj4NCj4gPj4gICAgICAgLy8gVGltZW91dCBvY2N1cnMgZm9yIGFuIE5WTWUgY29t bWFuZC4gUmVzZXQgdGhlIGNvbnRyb2xsZXIgdG8NCj4gPj4gYWJvcnQgdGhlDQo+ID4+DQo+ID4+ IC0tDQo+ID4+DQo+ID4+IDIuMzkuMg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+ PiAtPS09LT0tPS09LT0NCj4gPj4gR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVz c2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiA+PiBWaWV3L1JlcGx5IE9ubGluZSAoIzEwMzI2 Myk6DQo+ID4+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzEwMzI2Mw0K PiA+PiBNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210Lzk4Mzc4OTQ4LzE3MTI5 MzcNCj4gPj4gR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvDQo+ID4+IFVu c3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JheS5uaUBp bnRlbC5jb21dDQo+ID4+IC09LT0tPS09LT0tPQ0KPiA+Pg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ ID4NCj4gDQo+IA0KPiANCj4gDQoNCg==