From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id A23B8941EB7 for ; Mon, 6 Nov 2023 22:00:12 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=g4QKoXhdRYN7dGwIwELDh1TzETQSFdQwywQQsjP615E=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1699308011; v=1; b=by9r6STg3u3KZpR3hTm2g6XUR9B6vW7KrdlKjoGyWwOOhpg7nM0yAzeKJUZBTtsMatSrAVet 78QfD42tCjw273gf/aobfR8uHznzox9Rq6v/8ukeqEK8glEyiQFtwIFJxcM7paHdti4JNONrxS2 L6G/zQOaDUWOk2fmI2b0QphY= X-Received: by 127.0.0.2 with SMTP id ycEdYY7687511xDOeDH1tZTe; Mon, 06 Nov 2023 14:00:11 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.69113.1699308010776243060 for ; Mon, 06 Nov 2023 14:00:10 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10886"; a="369576530" X-IronPort-AV: E=Sophos;i="6.03,282,1694761200"; d="scan'208";a="369576530" X-Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:00:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10886"; a="879580811" X-IronPort-AV: E=Sophos;i="6.03,282,1694761200"; d="scan'208";a="879580811" X-Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Nov 2023 14:00:09 -0800 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 6 Nov 2023 14:00:09 -0800 X-Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Mon, 6 Nov 2023 14:00:08 -0800 X-Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Mon, 6 Nov 2023 14:00:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f87m0zOSZkbdKQW9LRCUfFPKYZ5vQ9d3OUQz9AnqLSIH7jXvzQ061M4b/OpZZBiAjL/Pb2KMM0cYXbrl5MRglQnX3AyTu/CNvgLgOz7Y18A4Xq6imvEm5XoPWwSASp/hDZgFHlAyCtQOA/Y5U+1M6DhFX4YSgCELkJe6oY1pehl3RCyVVRzFCVbo5rhv8EV6upEYC1YB3b/cRvd5GnWAwau92xAjqMng/8zc/bgmHSU1TzdzzPW+cYvHi2mP2FU2p0SStpw8LYDq1coOJaIdDI1+3GkrlQuN0gbq1j2VXM7n2ItG5Aim4tPk6ZhsKvM1QUQTl9U1sQnQOzP7h0Dt+Q== 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=y7H1aQiGTBtmFBnJTLXDu6xZz4vVuNXiYddvkclO+ug=; b=ibMUn9llOeNJmgdIwuM1mhUYaCzKzQkvaUejDWLVg6i6CAe9bBMkQpJkCcnvhxouL6M1n3QwHm5FaycwjqLASEMf4boY4O/OmY0ANi9TX3PnDc5oZB1PPUtgL7b3Qph3Z8HKZXr8hqxb7SaED6oRgKL1H00LCA+aMtURUTBS4NDF7uYAc1hjhZTfopO5L39s3AzNnK9Q23QVJelo3phJ36ZTdV9HhxxusF4UY6UUGfYwCbLJBOvLsi5MWbmXOqiEd0u5TGBhBYInkh2LOgE16/qKWgctKrwEvTMMcH2NFgXrScXrlc0kf+PM41Vb/9yFUoyfdqJ12K72mUkXTXLlYA== 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 X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SA2PR11MB4907.namprd11.prod.outlook.com (2603:10b6:806:111::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Mon, 6 Nov 2023 22:00:05 +0000 X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::a2a0:3c59:8d07:7f]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::a2a0:3c59:8d07:7f%6]) with mapi id 15.20.6954.028; Mon, 6 Nov 2023 22:00:04 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Chen, Tina" CC: "Chen, Xiao X" , "Chen, Arthur G" , "Ni, Ray" , "Gao, Liming" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH V1] MdePkg:Add NVME Sanitize command support to Nvme.h Thread-Topic: [edk2-devel] [PATCH V1] MdePkg:Add NVME Sanitize command support to Nvme.h Thread-Index: AQHaEMdjkUI1XyB4EkSE1BoTZRuxS7Bt1z7w Date: Mon, 6 Nov 2023 22:00:04 +0000 Message-ID: References: <20231106140105.1678-1-tina.chen@intel.com> In-Reply-To: <20231106140105.1678-1-tina.chen@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SA2PR11MB4907:EE_ x-ms-office365-filtering-correlation-id: 3f61a8c3-37cc-4fc9-d924-08dbdf13bbb5 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: DIARJL3zPyudZBDkiuwASCjdx3+g175oZsSIFRTBHHnMMPAK/LJf/j/kDjvTBRhnGsDyY8SJwMSEHpCfr2pgNkwAFpb78Ub+bbOu1r2+XtyjrE3kWVeOalC+4+mdswjV3FzSizBNqwAXKBUW8SvJeFOhQ/f5mXshTHrsEfhRM3lkeQkIz9D31SH3a4nWUBb4/Qby5XOhMdg2m+BSP9PXmFq9lBdrjnD68M6pwjrtDv46CEvkDZFLyHAEnBGqeYUVASh6Wwq20F1hW6Ad+TuYL2QOKKsdxt7m1vN0JV3oIbqDiqKfzu3AFAKzzhYAFcbfeNHyuChsEpi1SkAKMffpKXJgjdQ0kfAK21Vb+8OliWRoL6BLXf+a7YdBRJWKNKipMB11+F1jq86OnFQsmK7za2+gJ6TkFAhqgjUX0SlFnTV9QbL/Dm4FgFdmGMf9/F1Uu88AH/qFjNo+pgLWiHOWMZfmrQfYIqYxqqzvsJ9U6n/A32URO7jp3OzwICgvx7+EKjHjVgnkRjrEhGlrtWV+ftm2XqDX8WGwHRVOMzYXx16Kh9STWK9NUyHHLNjFRFSSa8vmVDOL9dDc+8U4Axf4BzF4GPm2wbVXQkXb5KONUsUcZBIbv3ZzUhzLje/jQoWpyVa+JsrujUv6S2ux9gSW+A== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NkllVDdLL1lhOGxYVUxXekVFNCtnNGlVaFdvdjBZN3RmS1g2RE5kZWU4T1Vv?= =?utf-8?B?ZldOd0dmaTNPMUg2OEN2OW9oajgvV0FxTDdlTEYvR0crN1RVYzNuYnByVzFq?= =?utf-8?B?dDAxMjBBcll1ZnluOVJVemZrVmk1VjdlNytDc0RCdnFET2pNVmVabVRPNGhQ?= =?utf-8?B?akxzcm5IKzczYk9KVVF4aGFJcE1aZWJDMnZjZ05GcXc3czBxTGUyU241NldR?= =?utf-8?B?ejI2STNSWUxGNFd4NjdqUk9nUExLcFd3TUdPOXZNSDZvcXd1YUdwVnhneSs3?= =?utf-8?B?dndFcm9oelJtTFI4YzVZZVpNeGg1cXhYZ0hQNWZGd1ExSDNMcWtVNTVWYlJz?= =?utf-8?B?V2JibWVSdlZiNWtTdFFwT2RPRWJUMkQ2OVJ2YzlneWFJYXpING51ZGpIalFF?= =?utf-8?B?alFPL0FGWUxINFBCNjB6Y003Ni9lazZRcXpISGIydVdOZi9XS1JKUnFpOUU5?= =?utf-8?B?dk9nNDk2eGpPSjFGNnRRK3JhRGI4SUh5ZDBQWUQ0Rjl0UkgvSUxlUGtJZFRY?= =?utf-8?B?dUNBYXlqRkxKRXpDNm9HekUwSk44amUrSk5Dc1VCVHBOR1NHVy8wTk5uVGIr?= =?utf-8?B?bTFUMFlUdDZDbHRSd0h5UDlNNnV3cmZaZlE4SjYvZ2Y4NTVaY2dZQldMMm40?= =?utf-8?B?ZnVma01CK1RvTkg2K1JEV1J3WGJQbVBrcXNaT3Q4aU93bnBRL2huaUZrbzFa?= =?utf-8?B?djhaV3pjOWFwZ05zT2dmVzVlRXRZWlNaVy8rZTRWYWRqMkR4TUkwMlk2YzAx?= =?utf-8?B?U2t6NWxQaVZUcGhZdUx6UlUwdU9Sd0t4QnBDNHBPcHl6U1hCV3ZndkVQbDRB?= =?utf-8?B?eXJzMnI5aUw2T0QrZEp2RW1sRkxBWWVkdUlTcFN0RVZOS0Q5NWRsRTJ4UUx5?= =?utf-8?B?aStvSk1sUXVpM05ZYXpzRzBtSGRtV1dzUGxnN2ljSUpZekYzakVTNzQ2c0s4?= =?utf-8?B?Rm02TkZGTis4dnR3KzJiN3drUHhTU2MxVCtBMDFyT05LRHRPOUduYVVZYk1o?= =?utf-8?B?dklLMldyVjNOTUY1dEpLejFBc2d0cTh0MCtSbXZJNHpjbU5HVWx3VW1ieW9a?= =?utf-8?B?L3N2bE40aFNNZzJWTTd4ME9BUmpvRHBJNXJYVXppN2tOc1JwdWJpTUpGaTRp?= =?utf-8?B?RFdidGZqYzlXM2h2YXdlOXJ5UzNEalBmVFhZU2JLeHAxNzltS3dEaGI1UzQ4?= =?utf-8?B?S2tqL1d4U1I1dUxsQU5IRU4zUFVFUFJWNnY5WkFJNlp4bXVFVWRIVXVQYmRD?= =?utf-8?B?MUxHU3dPaXdaM2NaSjdraGE1b1d0NHg4VEN0NTFVVCsrK253ajlFam0wdnRs?= =?utf-8?B?MEp2bTZ3T2Vna0VNaEpXMHBERzlzTkJ3VWRaTit2TFRFRDU5djkvVEhrbEEx?= =?utf-8?B?L3gybnBBK0dDNURYK0o2QnFkdXFtZ1NQQ1ZrV0R5YWVzR0c5L3hJM0g5ZWNQ?= =?utf-8?B?VC9UWE0yVXhBcUxYQUkrV0MrN2ZGU05hOVNxTnNsR3A4TDBxbThUeXBMaDhQ?= =?utf-8?B?VHJPZFAxSXZQNUJWVWMrL0ZzQXdDdThFRFh0dHRZbnh6aEphNkdMS1cyWVhp?= =?utf-8?B?Z3EzUjU4VkZpUitZcnpuQzdUNW9lWUNYR1FvUXFYWUl5bHdhWG90TmpPbktk?= =?utf-8?B?UlNUQVNneFBPdzZEMGt3bjROUFM3bkh6cTZ0T003b1U1UFdRVGduYmtJSzJt?= =?utf-8?B?OFJLN2xiQUF4Qnh2cG1qRHhCaGR6VGFoKzNFV1hQQjZGUUczRHI2TnNrdHI2?= =?utf-8?B?R1ZLRUhWZjlZMnZ6aGtwUk4vZG5kL3NMVDdtcFhHQ3NxZ1E1cVNpVHdtakw0?= =?utf-8?B?SklVa0psVzFBTUtQQWhaMnkzeWNGNlloRnVpNjE2Z1B1Z1FqU05tWnhFNi9U?= =?utf-8?B?S0ZIcWtoS0FiWHljU1d5MGp2VVNydUFHWHJhY1kxdnBhYktsb2ZmVzJiZFpC?= =?utf-8?B?NFV1YmhKRWhJaTFaVVVyaGtHY0h6N2JrZDR3cElZTlJWM09WdkxXNTJmdFR0?= =?utf-8?B?K1lBZVJHd1FhbmJPTHYrdXN3OFVBUG5GVTNLRzF4TytsSG44b3IvUkt4Wm1G?= =?utf-8?B?cXVBWGpIc2MyREJBNnFpbmhLMWp0Ulg4dTlKQWdHTmVGVFN5WTZPMlVweXYv?= =?utf-8?B?Z2N6K0pKaDE3QnU3U0VVYS85VWp6QTBFZDNxTjJkaWVlRFl0WnJ6V1MvM2J2?= =?utf-8?B?M0E9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f61a8c3-37cc-4fc9-d924-08dbdf13bbb5 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2023 22:00:04.9612 (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: 8qh7bjBqFZOd5g9Vp+Ur6YPCkNRBqnaYlLLm0567bFk0cOgbBBnWy54+y1fsAUP8YzXUGNTTG3ZpQPmuHrjB2N+X9MCj1lBmSEUXsH2YmmI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4907 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: r2FTV7KBV18J4RRG3TDn0qO3x7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=by9r6STg; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io UGxlYXNlIHVwZGF0ZSB0aGUgTnZtZS5oIGZpbGUgaGVhZGVyIHRoYXQgdGhlIHZlcnNpb24gYmVp bmcNCnVzZWQgaXMgMi4wYy4NCg0KVGhhbmtzLA0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3Jv dXBzLmlvPiBPbiBCZWhhbGYgT2YgVGluYQ0KPiBDaGVuDQo+IFNlbnQ6IE1vbmRheSwgTm92ZW1i ZXIgNiwgMjAyMyA2OjAxIEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogQ2hl biwgVGluYSA8dGluYS5jaGVuQGludGVsLmNvbT47IENoZW4sIFhpYW8gWA0KPiA8eGlhby54LmNo ZW5AaW50ZWwuY29tPjsgQ2hlbiwgQXJ0aHVyIEcgPGFydGh1ci5nLmNoZW5AaW50ZWwuY29tPjsg TmksDQo+IFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlv c29mdC5jb20uY24+DQo+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjFdIE1kZVBrZzpB ZGQgTlZNRSBTYW5pdGl6ZSBjb21tYW5kDQo+IHN1cHBvcnQgdG8gTnZtZS5oDQo+IA0KPiBSRUY6 IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU5MQ0KPiAN Cj4gMS4gUmVmZXIgTlZNRSBzcGVjIDIuMGMgY2hhcHRlciA1LjI0LCBhZGQgU2FuaXRpemUgQ29t bWFuZCByZWxhdGVkDQo+IGRlZmluaXRpb24uDQo+IDIuIFJlZmVyIE5WTUUgc3BlYyAyLjBjIGNo YXB0ZXIgNS4xNiwgYWRkIEdldCBMb2cgUGFnZSBDb21tYW5kIHJlbGF0ZWQNCj4gZGVmaW5pdGlv biBmb3IgU2FuaXRpemUgc3RhdHVzIHN1cHBvcnQuDQo+IA0KPiBDYzogWGlhbyBYIENoZW4gPHhp YW8ueC5jaGVuQGludGVsLmNvbT4NCj4gQ2M6IEFydGh1ciBDaGVuIDxhcnRodXIuZy5jaGVuQGlu dGVsLmNvbT4NCj4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gQ2M6IExpbWluZyBH YW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gU2lnbmVkLW9mZi1ieTogVGluYSBDaGVu IDx0aW5hLmNoZW5AaW50ZWwuY29tPg0KPiAtLS0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvUGNpL052 bUV4cHJlc3NEeGUvTnZtRXhwcmVzc0hjaS5jICAgIHwgICAxICsNCj4gIE1kZU1vZHVsZVBrZy9C dXMvUGNpL052bUV4cHJlc3NQZWkvTnZtRXhwcmVzc1BlaUhjaS5jIHwgICAxICsNCj4gIE1kZVBr Zy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvTnZtZS5oICAgICAgICAgICAgICAgIHwgMTA2DQo+ ICsrKysrKysrKysrKysrKysrKy0tDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMo KyksIDEwIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMv UGNpL052bUV4cHJlc3NEeGUvTnZtRXhwcmVzc0hjaS5jDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9Q Y2kvTnZtRXhwcmVzc0R4ZS9Odm1FeHByZXNzSGNpLmMNCj4gaW5kZXggYjkwYzQ4NzMxYy4uMmVj YWEyYmJiZSAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9QY2kvTnZtRXhwcmVzc0R4 ZS9Odm1FeHByZXNzSGNpLmMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9QY2kvTnZtRXhwcmVz c0R4ZS9Odm1FeHByZXNzSGNpLmMNCj4gQEAgLTkwOCw2ICs5MDgsNyBAQCBOdm1lQ29udHJvbGxl ckluaXQgKA0KPiAgICBERUJVRyAoKERFQlVHX0lORk8sICIgICAgUkFCICAgICAgIDogMHgleFxu IiwgUHJpdmF0ZS0NCj4gPkNvbnRyb2xsZXJEYXRhLT5SYWIpKTsNCj4gDQo+ICAgIERFQlVHICgo REVCVUdfSU5GTywgIiAgICBJRUVFICAgICAgOiAweCV4XG4iLCAqKFVJTlQzMiAqKVByaXZhdGUt DQo+ID5Db250cm9sbGVyRGF0YS0+SWVlZV9vdWkpKTsNCj4gDQo+ICAgIERFQlVHICgoREVCVUdf SU5GTywgIiAgICBBRVJMICAgICAgOiAweCV4XG4iLCBQcml2YXRlLQ0KPiA+Q29udHJvbGxlckRh dGEtPkFlcmwpKTsNCj4gDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBTYW5pY2FwICAg OiAweCV4XG4iLCBQcml2YXRlLQ0KPiA+Q29udHJvbGxlckRhdGEtPlNhbmljYXApKTsNCj4gDQo+ ICAgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBTUUVTICAgICAgOiAweCV4XG4iLCBQcml2YXRl LQ0KPiA+Q29udHJvbGxlckRhdGEtPlNxZXMpKTsNCj4gDQo+ICAgIERFQlVHICgoREVCVUdfSU5G TywgIiAgICBDUUVTICAgICAgOiAweCV4XG4iLCBQcml2YXRlLQ0KPiA+Q29udHJvbGxlckRhdGEt PkNxZXMpKTsNCj4gDQo+ICAgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBOTiAgICAgICAgOiAw eCV4XG4iLCBQcml2YXRlLQ0KPiA+Q29udHJvbGxlckRhdGEtPk5uKSk7DQo+IA0KPiBkaWZmIC0t Z2l0IGEvTWRlTW9kdWxlUGtnL0J1cy9QY2kvTnZtRXhwcmVzc1BlaS9Odm1FeHByZXNzUGVpSGNp LmMNCj4gYi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNzUGVpL052bUV4cHJlc3NQZWlI Y2kuYw0KPiBpbmRleCBmYzdiNjg0OTQwLi42MWVmMDZlNDJmIDEwMDY0NA0KPiAtLS0gYS9NZGVN b2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNzUGVpL052bUV4cHJlc3NQZWlIY2kuYw0KPiArKysg Yi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9Odm1FeHByZXNzUGVpL052bUV4cHJlc3NQZWlIY2kuYw0K PiBAQCAtNDM2LDYgKzQzNiw3IEBAIE52bWVEdW1wQ29udHJvbGxlckRhdGEgKA0KPiAgICBERUJV RyAoKERFQlVHX0lORk8sICIgICAgUkFCICAgICAgIDogMHgleFxuIiwgQ29udHJvbGxlckRhdGEt DQo+ID5SYWIpKTsNCj4gDQo+ICAgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBJRUVFICAgICAg OiAweCV4XG4iLCAqKFVJTlQzMg0KPiAqKUNvbnRyb2xsZXJEYXRhLT5JZWVlX291aSkpOw0KPiAN Cj4gICAgREVCVUcgKChERUJVR19JTkZPLCAiICAgIEFFUkwgICAgICA6IDB4JXhcbiIsIENvbnRy b2xsZXJEYXRhLQ0KPiA+QWVybCkpOw0KPiANCj4gKyAgREVCVUcgKChERUJVR19JTkZPLCAiICAg IFNhbmljYXAgICA6IDB4JXhcbiIsIENvbnRyb2xsZXJEYXRhLQ0KPiA+U2FuaWNhcCkpOw0KPiAN Cj4gICAgREVCVUcgKChERUJVR19JTkZPLCAiICAgIFNRRVMgICAgICA6IDB4JXhcbiIsIENvbnRy b2xsZXJEYXRhLQ0KPiA+U3FlcykpOw0KPiANCj4gICAgREVCVUcgKChERUJVR19JTkZPLCAiICAg IENRRVMgICAgICA6IDB4JXhcbiIsIENvbnRyb2xsZXJEYXRhLQ0KPiA+Q3FlcykpOw0KPiANCj4g ICAgREVCVUcgKChERUJVR19JTkZPLCAiICAgIE5OICAgICAgICA6IDB4JXhcbiIsIENvbnRyb2xs ZXJEYXRhLT5ObikpOw0KPiANCj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5 U3RhbmRhcmQvTnZtZS5oDQo+IGIvTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9Odm1l LmgNCj4gaW5kZXggOGI4YTFiYjdmMy4uZDE1OGQ2YzI2NyAxMDA2NDQNCj4gLS0tIGEvTWRlUGtn L0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9Odm1lLmgNCj4gKysrIGIvTWRlUGtnL0luY2x1ZGUv SW5kdXN0cnlTdGFuZGFyZC9Odm1lLmgNCj4gQEAgLTQwMyw3ICs0MDMsMTUgQEAgdHlwZWRlZiBz dHJ1Y3Qgew0KPiAgICBVSU5UMTYgICAgICAgICAgICAgICBFZHN0dDsgICAgICAgLyogRXh0ZW5k ZWQgRGV2aWNlIFNlbGYtdGVzdCBUaW1lDQo+ICovDQo+IA0KPiAgICBVSU5UOCAgICAgICAgICAg ICAgICBEc3RvOyAgICAgICAgLyogRGV2aWNlIFNlbGYtdGVzdCBPcHRpb25zICAqLw0KPiANCj4g ICAgVUlOVDggICAgICAgICAgICAgICAgRnd1ZzsgICAgICAgIC8qIEZpcm13YXJlIFVwZGF0ZSBH cmFudWxhcml0eSAqLw0KPiANCj4gLSAgVUlOVDggICAgICAgICAgICAgICAgUnN2ZDJbMTkyXTsg IC8qIFJlc2VydmVkIGFzIG9mIE52bSBFeHByZXNzIDEuNA0KPiBTcGVjICovDQo+IA0KPiArICBV SU5UMTYgICAgICAgICAgICAgICBLYXM7ICAgICAgICAgLyogS2VlcCBBbGl2ZSBTdXBwb3J0ICov DQo+IA0KPiArICBVSU5UMTYgICAgICAgICAgICAgICBIY3RtYTsgICAgICAgLyogSG9zdCBDb250 cm9sbGVkIFRoZXJtYWwNCj4gTWFuYWdlbWVudCBBdHRyaWJ1dGVzICovDQo+IA0KPiArICBVSU5U MTYgICAgICAgICAgICAgICBNbnRtdDsgICAgICAgLyogTWluaW11bSBUaGVybWFsIE1hbmFnZW1l bnQNCj4gVGVtcGVyYXR1cmUgKi8NCj4gDQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgIE14dG10 OyAgICAgICAvKiBNYXhpbXVtIFRoZXJtYWwgTWFuYWdlbWVudA0KPiBUZW1wZXJhdHVyZSAqLw0K PiANCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgU2FuaWNhcDsgICAgIC8qIFNhbml0aXplIENh cGFiaWxpdGllcyAqLw0KPiANCj4gKyAgI2RlZmluZSBTQU5JVElaRV9PVkVSV1JJVEVfRVJBU0Vf U1VQUE9SVEVEICBCSVQyDQo+IA0KPiArICAjZGVmaW5lIFNBTklUSVpFX0JMT0NLX0VSQVNFX1NV UFBPUlRFRCAgICAgIEJJVDENCj4gDQo+ICsgICNkZWZpbmUgU0FOSVRJWkVfQ1JZUFRPX0VSQVNF X1NVUFBPUlRFRCAgICAgQklUMA0KPiANCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgUnN2ZDJb MTgwXTsgIC8qIFJlc2VydmVkIGFzIG9mIE52bSBFeHByZXNzIDEuNA0KPiBTcGVjICovDQo+IA0K PiAgICAvLw0KPiANCj4gICAgLy8gTlZNIENvbW1hbmQgU2V0IEF0dHJpYnV0ZXMNCj4gDQo+ICAg IC8vDQo+IA0KPiBAQCAtNjg3LDEwICs2OTUsMTEgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiAgICAv LyBDRFcgMTANCj4gDQo+ICAgIC8vDQo+IA0KPiAgICBVSU5UMzIgICAgTGlkICAgOiA4OyAgICAg ICAgLyogTG9nIFBhZ2UgSWRlbnRpZmllciAqLw0KPiANCj4gLSAgI2RlZmluZSBMSURfRVJST1Jf SU5GTyAgICAweDENCj4gDQo+IC0gICNkZWZpbmUgTElEX1NNQVJUX0lORk8gICAgMHgyDQo+IA0K PiAtICAjZGVmaW5lIExJRF9GV19TTE9UX0lORk8gIDB4Mw0KPiANCj4gLSAgI2RlZmluZSBMSURf QlBfSU5GTyAgICAgICAweDE1DQo+IA0KPiArICAjZGVmaW5lIExJRF9FUlJPUl9JTkZPICAgICAg ICAgICAgMHgxDQo+IA0KPiArICAjZGVmaW5lIExJRF9TTUFSVF9JTkZPICAgICAgICAgICAgMHgy DQo+IA0KPiArICAjZGVmaW5lIExJRF9GV19TTE9UX0lORk8gICAgICAgICAgMHgzDQo+IA0KPiAr ICAjZGVmaW5lIExJRF9CUF9JTkZPICAgICAgICAgICAgICAgMHgxNQ0KPiANCj4gKyAgI2RlZmlu ZSBMSURfU0FOSVRJWkVfU1RBVFVTX0lORk8gIDB4ODENCj4gDQo+ICAgIFVJTlQzMiAgICBSc3Zk MSA6IDg7DQo+IA0KPiAgICBVSU5UMzIgICAgTnVtZCAgOiAxMjsgICAgICAgLyogTnVtYmVyIG9m IER3b3JkcyAqLw0KPiANCj4gICAgVUlOVDMyICAgIFJzdmQyIDogNDsgICAgICAgIC8qIFJlc2Vy dmVkIGFzIG9mIE52bSBFeHByZXNzIDEuMSBTcGVjDQo+ICovDQo+IA0KPiBAQCAtNzA4LDYgKzcx NywyNSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgIFVJTlQzMiAgICBTdiAgICA6IDE7ICAgICAg ICAvKiBTYXZlICovDQo+IA0KPiAgfSBOVk1FX0FETUlOX1NFVF9GRUFUVVJFUzsNCj4gDQo+IA0K PiANCj4gKy8vDQo+IA0KPiArLy8gTnZtRXhwcmVzcyBBZG1pbiBTYW5pdGl6ZSBDb21tYW5kDQo+ IA0KPiArLy8NCj4gDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+IA0KPiArICAvLw0KPiANCj4gKyAg Ly8gQ0RXIDEwDQo+IA0KPiArICAvLw0KPiANCj4gKyAgVUlOVDMyICAgIFNhbmFjdCA6IDM7ICAg ICAgIC8qIFNhbml0aXplIEFjdGlvbiAqLw0KPiANCj4gKyAgVUlOVDMyICAgIEF1c2UgICA6IDE7 ICAgICAgIC8qIEFsbG93IFVucmVzdHJpY3RlZCBTYW5pdGl6ZSBFeGl0ICovDQo+IA0KPiArICBV SU5UMzIgICAgT3dwYXNzIDogNDsgICAgICAgLyogT3ZlcndyaXRlIFBhc3MgQ291bnQgKi8NCj4g DQo+ICsgIFVJTlQzMiAgICBPaXBicCAgOiAxOyAgICAgICAvKiBPdmVyd3JpdGUgSW52ZXJ0IFBh dHRlcm4gQmV0d2Vlbg0KPiBQYXNzZXMgKi8NCj4gDQo+ICsgIFVJTlQzMiAgICBOb2RhcyAgOiAx OyAgICAgICAvKiBOby1EZWFsbG9jYXRlIEFmdGVyIFNhbml0aXplICovDQo+IA0KPiArICBVSU5U MzIgICAgUnN2ZDEgIDogMjI7DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gQ0RXIDExDQo+IA0K PiArICAvLw0KPiANCj4gKyAgVUlOVDMyICAgIE92cnBhdDsgICAgICAgICAgIC8qIE92ZXJ3cml0 ZSBQYXR0ZXJuICovDQo+IA0KPiArfSBOVk1FX0FETUlOX1NBTklUSVpFOw0KPiANCj4gKw0KPiAN Cj4gIC8vDQo+IA0KPiAgLy8gTnZtRXhwcmVzcyBBZG1pbiBGb3JtYXQgTlZNIENvbW1hbmQNCj4g DQo+ICAvLw0KPiANCj4gQEAgLTc3MCw2ICs3OTgsNyBAQCB0eXBlZGVmIHVuaW9uIHsNCj4gICAg TlZNRV9BRE1JTl9GT1JNQVRfTlZNICAgICAgICAgICAgICAgICBGb3JtYXROdm07DQo+IA0KPiAg ICBOVk1FX0FETUlOX1NFQ1VSSVRZX1JFQ0VJVkUgICAgICAgICAgIFNlY3VyaXR5UmVjZWl2ZTsN Cj4gDQo+ICAgIE5WTUVfQURNSU5fU0VDVVJJVFlfU0VORCAgICAgICAgICAgICAgU2VjdXJpdHlT ZW5kOw0KPiANCj4gKyAgTlZNRV9BRE1JTl9TQU5JVElaRSAgICAgICAgICAgICAgICAgICBTYW5p dGl6ZTsNCj4gDQo+ICB9IE5WTUVfQURNSU5fQ01EOw0KPiANCj4gDQo+IA0KPiAgdHlwZWRlZiBz dHJ1Y3Qgew0KPiANCj4gQEAgLTg3Miw2ICs5MDEsNyBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAj ZGVmaW5lIE5WTUVfQURNSU5fRk9STUFUX05WTV9DTUQgICAgICAgICAgIDB4ODANCj4gDQo+ICAj ZGVmaW5lIE5WTUVfQURNSU5fU0VDVVJJVFlfU0VORF9DTUQgICAgICAgIDB4ODENCj4gDQo+ICAj ZGVmaW5lIE5WTUVfQURNSU5fU0VDVVJJVFlfUkVDRUlWRV9DTUQgICAgIDB4ODINCj4gDQo+ICsj ZGVmaW5lIE5WTUVfQURNSU5fU0FOSVRJWkVfQ01EICAgICAgICAgICAgIDB4ODQNCj4gDQo+IA0K PiANCj4gICNkZWZpbmUgTlZNRV9JT19GTFVTSF9PUEMgIDANCj4gDQo+ICAjZGVmaW5lIE5WTUVf SU9fV1JJVEVfT1BDICAxDQo+IA0KPiBAQCAtODk0LDcgKzkyNCw4IEBAIHR5cGVkZWYgZW51bSB7 DQo+ICAgIE5hbWVzcGFjZUF0dGFjaG1lbnRPcGNvZGUgICAgID0gTlZNRV9BRE1JTl9OQU1FU0FD RV9BVFRBQ0hNRU5UX0NNRCwNCj4gDQo+ICAgIEZvcm1hdE52bU9wY29kZSAgICAgICAgICAgICAg ID0gTlZNRV9BRE1JTl9GT1JNQVRfTlZNX0NNRCwNCj4gDQo+ICAgIFNlY3VyaXR5U2VuZE9wY29k ZSAgICAgICAgICAgID0gTlZNRV9BRE1JTl9TRUNVUklUWV9TRU5EX0NNRCwNCj4gDQo+IC0gIFNl Y3VyaXR5UmVjZWl2ZU9wY29kZSAgICAgICAgID0gTlZNRV9BRE1JTl9TRUNVUklUWV9SRUNFSVZF X0NNRA0KPiANCj4gKyAgU2VjdXJpdHlSZWNlaXZlT3Bjb2RlICAgICAgICAgPSBOVk1FX0FETUlO X1NFQ1VSSVRZX1JFQ0VJVkVfQ01ELA0KPiANCj4gKyAgU2FuaXRpemVPcGNvZGUgICAgICAgICAg ICAgICAgPSBOVk1FX0FETUlOX1NBTklUSVpFX0NNRA0KPiANCj4gIH0gTlZNRV9BRE1JTl9DT01N QU5EX09QQ09ERTsNCj4gDQo+IA0KPiANCj4gIC8vDQo+IA0KPiBAQCAtOTM0LDEyICs5NjUsMTQg QEAgdHlwZWRlZiBlbnVtIHsNCj4gDQo+IA0KPiAgLy8NCj4gDQo+ICAvLyBHZXQgTG9nIFBhZ2Ug PyBMb2cgUGFnZSBJZGVudGlmaWVycw0KPiANCj4gLS8vIChyZWYuIHNwZWMuIHYxLjEgRmlndXJl IDczKS4NCj4gDQo+ICsvLyAocmVmLiBzcGVjLiB2Mi4wIEZpZ3VyZSAyMDIpLg0KPiANCj4gIC8v DQo+IA0KPiAgdHlwZWRlZiBlbnVtIHsNCj4gDQo+IC0gIEVycm9ySW5mb0xvZ0lEICAgICAgICA9 IExJRF9FUlJPUl9JTkZPLA0KPiANCj4gLSAgU21hcnRIZWFsdGhJbmZvTG9nSUQgID0gTElEX1NN QVJUX0lORk8sDQo+IA0KPiAtICBGaXJtd2FyZVNsb3RJbmZvTG9nSUQgPSBMSURfRldfU0xPVF9J TkZPDQo+IA0KPiArICBFcnJvckluZm9Mb2dJRCAgICAgICAgICA9IExJRF9FUlJPUl9JTkZPLA0K PiANCj4gKyAgU21hcnRIZWFsdGhJbmZvTG9nSUQgICAgPSBMSURfU01BUlRfSU5GTywNCj4gDQo+ ICsgIEZpcm13YXJlU2xvdEluZm9Mb2dJRCAgID0gTElEX0ZXX1NMT1RfSU5GTywNCj4gDQo+ICsg IEJvb3RQYXJ0aXRpb25JbmZvTG9nSUQgID0gTElEX0JQX0lORk8sDQo+IA0KPiArICBTYW5pdGl6 ZVN0YXR1c0luZm9Mb2dJRCA9IExJRF9TQU5JVElaRV9TVEFUVVNfSU5GTw0KPiANCj4gIH0gTlZN RV9MT0dfSUQ7DQo+IA0KPiANCj4gDQo+ICAvLw0KPiANCj4gQEAgLTEwNjIsNiArMTA5NSw1OSBA QCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgIFVJTlQ4ICAgICBSZXNlcnZlZDJbMjk2XTsNCj4gDQo+ ICB9IE5WTUVfU01BUlRfSEVBTFRIX0lORk9fTE9HOw0KPiANCj4gDQo+IA0KPiArLy8NCj4gDQo+ ICsvLyBTYW5pdGl6ZSBTdGF0dXMgKExvZyBJZGVudGlmaWVyIDgxaCkNCj4gDQo+ICsvLyAocmVm LiBzcGVjLiB2Mi4wIDUuMTYuMS4yNSkuDQo+IA0KPiArLy8NCj4gDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzIHRoZSBmcmFjdGlvbiBjb21w bGV0ZSBvZiB0aGUgc2FuaXRpemUgb3BlcmF0aW9uLg0KPiAoU1BST0cpDQo+IA0KPiArICAvLw0K PiANCj4gKyAgVUlOVDE2ICAgIFNhbml0aXplUHJvZ3Jlc3M7DQo+IA0KPiArICAvLw0KPiANCj4g KyAgLy8gSW5kaWNhdGVzIHRoZSBzdGF0dXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBtb3N0IHJlY2Vu dCBzYW5pdGl6ZQ0KPiBvcGVyYXRpb24uIChTU1RBVCkNCj4gDQo+ICsgIC8vDQo+IA0KPiArICBV SU5UMTYgICAgU2FuaXRpemVTdGF0dXMgICAgICAgICAgICAgICAgICAgOiAzOw0KPiANCj4gKyAg VUlOVDE2ICAgIE92ZXJ3cml0ZVNhbml0aXplQ29tcGxldGVkTnVtYmVyIDogNTsNCj4gDQo+ICsg IFVJTlQxNiAgICBHbG9iYWxEYXRhRXJhc2VkICAgICAgICAgICAgICAgICA6IDE7DQo+IA0KPiAr ICBVSU5UMTYgICAgU2FuaXRpemVTdGF0dXNSc3ZkICAgICAgICAgICAgICAgOiA3Ow0KPiANCj4g KyAgLy8NCj4gDQo+ICsgIC8vIENvbnRhaW5zIHRoZSB2YWx1ZSBvZiB0aGUgQ29tbWFuZCBEd29y ZCAxMCBmaWVsZCBvZiB0aGUgU2FuaXRpemUNCj4gY29tbWFuZCB0aGF0IHN0YXJ0ZWQgdGhlIHNh bml0aXplIG9wZXJhdGlvbiB3aG9zZSBzdGF0dXMgaXMgcmVwb3J0ZWQNCj4gaW4gdGhlIFNTVEFU IGZpZWxkLiAoU0NEVzEwKQ0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBTYW5pdGl6 ZUNtZER3MTBJbmZvOw0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIC8vIEluZGljYXRlcyB0aGUgbnVt YmVyIG9mIHNlY29uZHMgcmVxdWlyZWQgdG8gY29tcGxldGUgYW4NCj4gT3ZlcndyaXRlIHNhbml0 aXplIG9wZXJhdGlvbiB3aXRoIDE2IHBhc3NlcyBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHRoZQ0K PiBOby1EZWFsbG9jYXRlIE1vZGlmaWVzIE1lZGlhIEFmdGVyIFNhbml0aXplIGZpZWxkIGlzIG5v dCBzZXQgdG8gMTBiLg0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBPdmVyd3JpdGVF c3RpbWF0ZWRUaW1lOw0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIC8vIEluZGljYXRlcyB0aGUgbnVt YmVyIG9mIHNlY29uZHMgcmVxdWlyZWQgdG8gY29tcGxldGUgYSBCbG9jaw0KPiBFcmFzZSBzYW5p dGl6ZSBvcGVyYXRpb24gaW4gdGhlIGJhY2tncm91bmQgd2hlbiB0aGUgTm8tRGVhbGxvY2F0ZQ0K PiBNb2RpZmllcyBNZWRpYSBBZnRlciBTYW5pdGl6ZSBmaWVsZCBpcyBub3Qgc2V0IHRvIDEwYi4N Cj4gDQo+ICsgIC8vDQo+IA0KPiArICBVSU5UMzIgICAgQmxvY2tFcmFzZUVzdGltYXRlZFRpbWU7 DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzIHRoZSBudW1iZXIgb2Ygc2Vjb25k cyByZXF1aXJlZCB0byBjb21wbGV0ZSBhIENyeXB0bw0KPiBFcmFzZSBzYW5pdGl6ZSBvcGVyYXRp b24gaW4gdGhlIGJhY2tncm91bmQgd2hlbiB0aGUgTm8tRGVhbGxvY2F0ZQ0KPiBNb2RpZmllcyBN ZWRpYSBBZnRlciBTYW5pdGl6ZSBmaWVsZCBpcyBub3Qgc2V0IHRvIDEwYi4NCj4gDQo+ICsgIC8v DQo+IA0KPiArICBVSU5UMzIgICAgQ3J5cHRvRXJhc2VFc3RpbWF0ZWRUaW1lOw0KPiANCj4gKyAg Ly8NCj4gDQo+ICsgIC8vIEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgcmVxdWlyZWQg dG8gY29tcGxldGUgYW4NCj4gT3ZlcndyaXRlIHNhbml0aXplIG9wZXJhdGlvbiBhbmQgdGhlIGFz c29jaWF0ZWQgYWRkaXRpb25hbCBtZWRpYQ0KPiBtb2RpZmljYXRpb24gYWZ0ZXIgdGhlIE92ZXJ3 cml0ZSBzYW5pdGl6ZSBvcGVyYXRpb24gaW4gdGhlIGJhY2tncm91bmQuDQo+IA0KPiArICAvLyBU aGUgTm8tRGVhbGxvY2F0ZSBBZnRlciBTYW5pdGl6ZSBiaXQgd2FzIHNldCB0byDigJgx4oCZIGlu IHRoZQ0KPiBTYW5pdGl6ZSBjb21tYW5kIHRoYXQgcmVxdWVzdGVkIHRoZSBPdmVyd3JpdGUgc2Fu aXRpemUgb3BlcmF0aW9uLg0KPiANCj4gKyAgLy8gVGhlIE5vLURlYWxsb2NhdGUgTW9kaWZpZXMg TWVkaWEgQWZ0ZXIgU2FuaXRpemUgZmllbGQgaXMgc2V0IHRvDQo+IDEwYi4NCj4gDQo+ICsgIC8v DQo+IA0KPiArICBVSU5UMzIgICAgT3ZlcndyaXRlRXN0aW1hdGVkVGltZVdpdGhOb2RtbTsNCj4g DQo+ICsgIC8vDQo+IA0KPiArICAvLyBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHJl cXVpcmVkIHRvIGNvbXBsZXRlIGEgQmxvY2sNCj4gRXJhc2Ugc2FuaXRpemUgb3BlcmF0aW9uIGFu ZCB0aGUgYXNzb2NpYXRlZCBhZGRpdGlvbmFsIG1lZGlhDQo+IG1vZGlmaWNhdGlvbiBhZnRlciB0 aGUgQmxvY2sgRXJhc2Ugc2FuaXRpemUgb3BlcmF0aW9uIGluIHRoZQ0KPiBiYWNrZ3JvdW5kLg0K PiANCj4gKyAgLy8gVGhlIE5vLURlYWxsb2NhdGUgQWZ0ZXIgU2FuaXRpemUgYml0IHdhcyBzZXQg dG8g4oCYMeKAmSBpbiB0aGUNCj4gU2FuaXRpemUgY29tbWFuZCB0aGF0IHJlcXVlc3RlZCB0aGUg QmxvY2sgRXJhc2Ugc2FuaXRpemUgb3BlcmF0aW9uLg0KPiANCj4gKyAgLy8gVGhlIE5vLURlYWxs b2NhdGUgTW9kaWZpZXMgTWVkaWEgQWZ0ZXIgU2FuaXRpemUgZmllbGQgaXMgc2V0IHRvDQo+IDEw Yi4NCj4gDQo+ICsgIC8vDQo+IA0KPiArICBVSU5UMzIgICAgQmxvY2tFcmFzZUVzdGltYXRlZFRp bWVXaXRoTm9kbW07DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzICB0aGUgbnVt YmVyIG9mIHNlY29uZHMgcmVxdWlyZWQgdG8gY29tcGxldGUgYSBDcnlwdG8NCj4gRXJhc2Ugc2Fu aXRpemUgb3BlcmF0aW9uIGFuZCB0aGUgYXNzb2NpYXRlZCBhZGRpdGlvbmFsIG1lZGlhDQo+IG1v ZGlmaWNhdGlvbiBhZnRlciB0aGUgQ3J5cHRvIEVyYXNlIHNhbml0aXplIG9wZXJhdGlvbiBpbiB0 aGUNCj4gYmFja2dyb3VuZC4NCj4gDQo+ICsgIC8vIFRoZSBOby1EZWFsbG9jYXRlIEFmdGVyIFNh bml0aXplIGJpdCB3YXMgc2V0IHRvIOKAmDHigJkgaW4gdGhlDQo+IFNhbml0aXplIGNvbW1hbmQg dGhhdCByZXF1ZXN0ZWQgdGhlIENyeXB0byBFcmFzZSBzYW5pdGl6ZSBvcGVyYXRpb24uDQo+IA0K PiArICAvLyBUaGUgTm8tRGVhbGxvY2F0ZSBNb2RpZmllcyBNZWRpYSBBZnRlciBTYW5pdGl6ZSBm aWVsZCBpcyBzZXQgdG8NCj4gMTBiLg0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBD cnlwdG9FcmFzZUVzdGltYXRlZFRpbWVXaXRoTm9kbW07DQo+IA0KPiArICBVSU5UOCAgICAgUmVz ZXJ2ZWRbNDgwXTsNCj4gDQo+ICt9IE5WTUVfU0FOSVRJWkVfU1RBVFVTX0lORk9fTE9HOw0KPiAN Cj4gKw0KPiANCj4gICNwcmFnbWEgcGFjaygpDQo+IA0KPiANCj4gDQo+ICAjZW5kaWYNCj4gDQo+ IC0tDQo+IDIuMzUuMi53aW5kb3dzLjENCj4gDQo+IA0KPiANCj4gLS0NCj4gVGluYSBDaGVuDQo+ IA0KPiANCj4gDQo+IA0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8gTGlu a3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVw bHkgT25saW5lICgjMTEwNzY1KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3Nh Z2UvMTEwNzY1Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTAyNDIyNTYw Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vic2Ny aWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbGVhdmUvMTIzNjcxMTEvNzY4NjE3 Ni8xOTEzNDU2MjEyL3h5enp5IFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0tPS09 LT0tPS0KCg0K