From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.60]) by mx.groups.io with SMTP id smtpd.web11.110830.1669613075207386935 for ; Sun, 27 Nov 2022 21:24:35 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@ami.com header.s=selector1 header.b=UdayO9Hr; spf=pass (domain: ami.com, ip: 40.107.93.60, mailfrom: richardho@ami.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f3rVk31f0d99lVZMvDWxsuIW6q4dhOOKC707GQFsNvk2tj/PUbgg6sjVGohrv0/GGq73CVqfw+10XhO7B2Epig+HfH1CL6HUXi3KWavaS0rMBJS6D+HR3hATNSxXbUEEdOBtMz5gMqY2lNsvjFWvllu7Fj3UBeDQPwBksexq5sr007g0AWslA9GIL9RRB9kFAbNfw49/D15dW9ENTMY4+PgvYfDkFaFoai5AzwiB6qse13jQTJPtAaekKthCHVNVdM2H4pjbNP0nEG38YB7fQpHSz5td4XbwQMAQOU4G8k1/rxHwEKNbvA8BpVGC7SfGN90NLCY7eXI1Xo22Ij4vuA== 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=P+xIENC4pmpU7g1FzDpLLneKx6qS6e3nk57J3xt63U0=; b=jIqMTeh9QaihG3u3QI+m7AuKYxWUaTeMOhLkz4q1UWbg7T62eFB+ZZUV6wMjmWMX716lZmLmRk2hHcxY89ULjJ3mXrromoCMWQhsno4p3Y6bDPHVQBLnsoEEoKUFbvuQdgTZuWhfTWLI3XUT+sILwXS47ANGSEHDiLaM9mbWk28e1teJzg0992MT+BstulP6OSAEMsYkg7gtoPQBecLHxgG7Ab0/2MhjGMeP5gxzjq2fVyfMSPAt7pbhaqOWregs5NLWTV2QdUj3fVYuompSu2hSI2O3hNTLUzXqtSXRYLelZLom6Qv9FI6mVmpx0lRUSI2e/2ID+3HGBtq4TIxmjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ami.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P+xIENC4pmpU7g1FzDpLLneKx6qS6e3nk57J3xt63U0=; b=UdayO9Hrdrr6+CXvz+A3csbkvU9RoPP/dxsSXdEaO3u5Pr8V5EK1ygnmy9hGt3vh2rwx98q4CLolI0XsQPwVyYqSOWXt18RmEzcEEE5BRKRL7OsMgXu9Cl0SPeDH0NDxMoVB5pBds2W0hLvQRqDL4UuqCl0bQa4m37CjrzWtCcA= Received: from DM5PR10MB1660.namprd10.prod.outlook.com (2603:10b6:4:6::13) by PH0PR10MB5706.namprd10.prod.outlook.com (2603:10b6:510:148::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Mon, 28 Nov 2022 05:24:32 +0000 Received: from DM5PR10MB1660.namprd10.prod.outlook.com ([fe80::7201:ec72:469e:86fe]) by DM5PR10MB1660.namprd10.prod.outlook.com ([fe80::7201:ec72:469e:86fe%9]) with mapi id 15.20.5857.022; Mon, 28 Nov 2022 05:24:31 +0000 From: =?UTF-8?B?UmljaGFyZEhvIFvkvZXmmI7lv6Bd?= To: Rebecca Cran , "devel@edk2.groups.io" CC: Andrew Fish , Leif Lindholm , Michael D Kinney , Michael Kubacki , Zhiguang Liu , Liming Gao , =?utf-8?B?VG9ueSBMbyAo576F6YeR5p2+KQ==?= Subject: Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support Thread-Topic: [EXTERNAL] Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support Thread-Index: AQHYvoxJHCaS+XfGmkKn0h/vNPlrZ65SFF8AgAIH2YA= Date: Mon, 28 Nov 2022 05:24:31 +0000 Message-ID: References: <20220902052418.2253-1-richardho@ami.com> In-Reply-To: Accept-Language: zh-TW, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ami.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR10MB1660:EE_|PH0PR10MB5706:EE_ x-ms-office365-filtering-correlation-id: 430abed1-8bf5-4140-537b-08dad100d44d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zqirn1UxT/kb4by9PzebDsQH/GXa9365iGyXQv3byuWkAwRIWfULapgoF6Bm4hU5RFh/1ryZdlKTq4ZD62dmPyLS5eFvihzzErhe1elNMoyezNmgMYduyfwe4HId+rIl/LWGJ2nI77Gfzj71ZCaAw76EKVOegXNx7wQaNwV8OSbCC/qdfhVvs+dN5Lb3Dzgqb2HlCh5raTNWtYOtSHbcudIOMiyie5b2oP9X+X6qIqzveEZN/OFMcm2lBQwnKDpAXGrkUf5zuzBKFEQMk8SP/OYVLO2ou3B+K8iUHlDhyxi7pzrsNgMsAzI108IXhAdnobp+EX71A52jrhy8evcoP4m6V+l288DhmXg7fEvlhdTO4xD/Ae3osqz3Rcjo1jWX2uk6OudwoGGPDN1PCqEk5r2BO0XnqbyPCJpVSYzEkbUN+wovZP5cB8zF4TWWpy34nAPk9uEVfSOSAFNTgjYw5D3UhBWNIYZVBLQY92NRf2UfbUFGsdP/xKGmUxdcn0LzueWJ18Qv+2aBthDMsYaALpOSPzjWPvKmoktqMou9skIUHn7aMCu1m6O3XRlvZ6/M+EA9WLzQRRyxShjR/cSjkOj8D5McUkfwW1uga1S7caaP55QYfiK7pFkadJSWSrKUbL6UOSjqzsVv1hbVqMxZRrpzywh2AX2K/sD4BFO+zTmQjhGqW2h/HwogLbOqJNA1isVk5l7p4F691xa64kJiKA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1660.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(366004)(136003)(39840400004)(451199015)(85182001)(83380400001)(33656002)(40140700001)(5660300002)(52536014)(86362001)(2906002)(186003)(8936002)(53546011)(4326008)(41300700001)(38070700005)(7696005)(66556008)(64756008)(76116006)(26005)(8676002)(9686003)(66476007)(66446008)(6506007)(122000001)(71200400001)(316002)(110136005)(38100700002)(478600001)(54906003)(66946007)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NnVxQitObjV4NDh6UDVwcTBsMHdCZGJkMmZDRWdBemd3TU9lYXd2STlEeUE0?= =?utf-8?B?NFkwZVA0a0FtbnMydjdiTnBCN2hXT3lwbi9xTnR0RHdSQTc2OWVoYU9vK3A4?= =?utf-8?B?ckdnM1dDaWlUZUxvZm4zamJxcUhpWkRYdGc2MDYrdVRJeDBzQS8waU1odXAv?= =?utf-8?B?K2xJdm1URzlHaU8yTUlmUHR5VmhqSUgrd1hMQ0l5b3hTUHBsaHBRbGxvR1pT?= =?utf-8?B?Q1lmQnNsTmJHTHIxdEV3TmdxZWZNR3czSmI4VDlwSTVNdW9CMERqMzg3bWdC?= =?utf-8?B?SVZXYnBWcS9iWE9ROGgzVXpQaVNWK1lmM2tMWEJ2V0hqVEpkUFNSMjlOQTRj?= =?utf-8?B?d3hPalVWMGF5NjNydzhydlJtREJKRFFYWHJGamlkYTFsaWFqK3NmaTBkZWQ5?= =?utf-8?B?aGVsZzU0VjRhTisvaEtGcFJRaDkvMFNCN0swT04zcnd5RHNoK3JEb0llTEV6?= =?utf-8?B?VlRqNUZTZkRucmd3RWxuVm1aaWlaSXlyVm1zUHEvcVZOQ2VUVlplY0JvVTNk?= =?utf-8?B?OWR5cEZaYkhJQ2hscE5GWC9TczYxdUI3SFBabWluVzBPTFBWSzVQSFZTQWMy?= =?utf-8?B?UXAvTHBhOXB1MkxiT0d1NW1ZMjdkY1ZSMy9tUVFmbGRlMUlGNGx5TjkvT0Q5?= =?utf-8?B?NmxYcmQvOVE5eWhnT0JHRWt0YnZCVU9OTW9TdEZSVkU4eEd3NXhnd21aZmNu?= =?utf-8?B?Vmc0UkVpWXpydDhCSE13eVBNKy9BREFkbGxKVVJaREdxamxadStHa3M0eWxL?= =?utf-8?B?cXRIbTVlSXltZEp3YnVrdnhia2E4NHVURXJDTHIxaHdWMldVU0ZsRklvTjZV?= =?utf-8?B?d1E0TnVIUTROSDlTcGNncW54eW5GWVdWcVgvRUdjN0Zva0QxdzBsTzd5bzVk?= =?utf-8?B?aVR2YjZDcklIVEdlb3p6Q2RpSXVuSTlxcjNDcEhwU3UxUTV3WVA4NzV2T2k1?= =?utf-8?B?Y2pqUWxwZmNTakd1T3JuejlrZXR5VGZFcnpJNEovSVEwaFZVekdJbEZNNER3?= =?utf-8?B?clczNXB5OHVGWm1LazNBV0lySEpFSmZONHBvMUMxNTZ3aTQzMHhQRlYyaUtH?= =?utf-8?B?L3lJVGxKekdkdTZQZStFNmgwVUhmQjRhaWhRNWxzMlc2S2ZRNExwcjcwLzAw?= =?utf-8?B?dm5Zam83a0NxbjlRUnlGSGtzWFgzUXBycnZuV25tbXk1ZUw2aGVObFZJeDRG?= =?utf-8?B?MW1ZSTlTLzFZSTNYNHQyZWdaZ1F5b0Z4ekZKU3h2bFFWSFozdWdHcTZDUTNu?= =?utf-8?B?RWVrWXJVRXZNQy9VMmtjWkhta0lja3d2QWEwVzd4aDZJRlk2eVFlRk8ya05u?= =?utf-8?B?ZlVvZmJjNThDRDRXZHNFdVRYSVdGQkUwUDdkaFIzWXZ3RXJzRjNDOVE0MGg5?= =?utf-8?B?ampIbkZHZUxaWlQvWE5ZQkpOOGRPNlVFa3BTUVN1NHFOOXAxZi9XWmYxWnht?= =?utf-8?B?ekdCdUtPaFd4WFV2Vkc5aWQzdGVvL1F4NHk4OFAyVjhlK1JMRElFbWo0UDUv?= =?utf-8?B?SXpuWkdTZ0lUSmN6eDArK3BuU2NZVDNwaUNtcFhSaUJKcWlsbitxUFFlOFlN?= =?utf-8?B?OE83ZkZhdzBhbytjSWVJQlFCdFBWQ1lYcjQzVjhZQjdiUTQvL2NSMDU2d1Qw?= =?utf-8?B?Z1IyQTNsQzI2SnAyclFPRVl5dHZzYjg1L1dUc0lLMnVjOXBrajE4eCtyN0Nm?= =?utf-8?B?VE01TE5vU0Vya3NTQlVTb3NkSnpycGVxa01rb1l6cWlLMG1nSzVGdVN2SVB2?= =?utf-8?B?aG4xaVowcFNKNGN3RUVKMzdtWXRxUmY4bm4velNrQ2N2WGlMTURmLytUcFp4?= =?utf-8?B?Z0QvalplWHN2dWYzazhqKy9zMWQ0cWdlSGdyZmkrOHZYQ04rV0s3TUM0cFZa?= =?utf-8?B?NWtQalNiaklxYVgzTzlZSlJsTTRWQ1A4NE9FVkloUTE3ZlBnVlhheFo4RkI0?= =?utf-8?B?d2FMSWV1SVdCajZSMTRBaHpXeVJKZGxQN01LREJ6d3A5T2hFTDQrZDVDSldB?= =?utf-8?B?a3FnM2xxSTY3aGk3TVJnZW1McWVybjVZYm9yU2JiWXp1YTBEdll3UkJ4UFQy?= =?utf-8?B?M1NaS0FQWXM4OC9OeFJFcW00dkJhVFpaY1Z2MU9JU2FyUGJzcW9MN2dzb2NI?= =?utf-8?Q?vKFYdUVZvKSuJA10o8sB6bO7E?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1660.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 430abed1-8bf5-4140-537b-08dad100d44d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2022 05:24:31.7764 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6lbWMebzMAMn/dCN0RchRVp2lX0O+j1o3YEqlc6l/yn0/dyIkMUOov8UkzZthVFo9pTCgg9qKM5VHqm0YxE5Pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB5706 Content-Language: zh-TW Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUmViZWNjYSwNCg0KVGhhbmtzIGZvciB5b3VyIHJlc3BvbnNlLg0KDQojMS4gVGhlIE5DTSwg RUNNLCBhbmQgUk5ESVMgZmVhdHVyZSBjb3VsZCBlbmFibGUgYXQgdGhlIHNhbWUgdGltZS4NCg0K IzIuIFVzYkV0aGVybmV0UHJvdG9jb2wuaCwgUHhlRnVuY3Rpb24uYyB0aGUgVFlQTyB3aWxsIGJl IGZpeGVkIG5leHQuDQoNCiMzIFJlY2VpdmUgYnVmZmVyIHdpbGwgYmUgYWxsb2NhdGUgZHVyaW5n IGRyaXZlciBpbml0aWFsaXplLg0KDQpUaGFua3MsDQpSaWNoYXJkDQoNCi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQpGcm9tOiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAcXVpY2luYy5jb20+DQpT ZW50OiAyMDIy5bm0MTHmnIgyN+aXpSAyOjU2IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87 IFJpY2hhcmQgSG8gKOS9leaYjuW/oCkgPFJpY2hhcmRIb0BhbWkuY29tPg0KQ2M6IEFuZHJldyBG aXNoIDxhZmlzaEBhcHBsZS5jb20+OyBMZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNp bmMuY29tPjsgTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBN aWNoYWVsIEt1YmFja2kgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPjsgWmhpZ3Vhbmcg TGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3Nv ZnQuY29tLmNuPjsgVG9ueSBMbyAo576F6YeR5p2+KSA8VG9ueUxvQGFtaS5jb20+DQpTdWJqZWN0 OiBbRVhURVJOQUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVc2JOZXR3b3JrUGtnOiBhZGQg VVNCIG5ldHdvcmsgZGV2aWNlcyBzdXBwb3J0DQoNCg0KKipDQVVUSU9OOiBUaGUgZS1tYWlsIGJl bG93IGlzIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLiBQbGVhc2UgZXhlcmNpc2UgY2F1dGlvbiBi ZWZvcmUgb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tpbmcgbGlua3MsIG9yIGZvbGxvd2luZyBn dWlkYW5jZS4qKg0KDQpPbiA5LzEvMjIgMjM6MjQsIFJpY2hhcmRIbyBb5L2V5piO5b+gXSB2aWEg Z3JvdXBzLmlvIHdyb3RlOg0KPiBkaWZmIC0tZ2l0IGEvVXNiTmV0d29ya1BrZy9Db25maWcvVXNi TmV0d29ya1BrZ0NvbXBvbmVudHNEeGUuaW5jLmRzYw0KPiBiL1VzYk5ldHdvcmtQa2cvQ29uZmln L1VzYk5ldHdvcmtQa2dDb21wb25lbnRzRHhlLmluYy5kc2MNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzRiNWEzYzFiMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1VzYk5ldHdvcmtQa2cvQ29uZmlnL1VzYk5ldHdvcmtQa2dDb21wb25lbnRzRHhlLmluYy5k c2MNCj4gQEAgLTAsMCArMSwyMCBAQA0KPiArIyMgQGZpbGUNCj4gKyMgTGlzdCBvZiBDb3JlIENv bXBvbmVudHMuDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAyMiwgQW1lcmljYW4gTWVnYXRy ZW5kcyBJbnRlcm5hdGlvbmFsIExMQy4gQWxsDQo+ICtyaWdodHMgcmVzZXJ2ZWQuPEJSPiAjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjIw0KPiArDQo+ ICsgIFVzYk5ldHdvcmtQa2cvTmV0d29ya0NvbW1vbi9OZXR3b3JrQ29tbW9uLmluZg0KPiArDQo+ ICshaWYgZ1VzYk5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5Vc2JDZGNFY21TdXBwb3J0DQo+ICsg IFVzYk5ldHdvcmtQa2cvVXNiQ2RjRWNtL1VzYkNkY0VjbS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ ICshaWYgZ1VzYk5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5Vc2JDZGNOY21TdXBwb3J0DQo+ICsg IFVzYk5ldHdvcmtQa2cvVXNiQ2RjTmNtL1VzYkNkY05jbS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ ICshaWYgZ1VzYk5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5Vc2JSbmRpc1N1cHBvcnQNCj4gKyAg VXNiTmV0d29ya1BrZy9Vc2JSbmRpcy9Vc2JSbmRpcy5pbmYNCj4gKyFlbmRpZg0KDQpTaW5jZSBz b21lIG9mIHRoZSBmdW5jdGlvbnMgaGF2ZSB0aGUgc2FtZSBuYW1lIGFuZCBhcmVuJ3Qgc3RhdGlj LCBzaG91bGQgdGhlcmUgYmUgY29kZSB0byBhdm9pZCBhbGxvd2luZyBtb3JlIHRoYW4gb25lIHBy b3RvY29sIHRvIGJlIGVuYWJsZWQgYXQgdGhlIHNhbWUgdGltZT8NCg0KDQo+IGRpZmYgLS1naXQg YS9Vc2JOZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvVXNiRXRoZXJuZXRQcm90b2NvbC5oDQo+ IGIvVXNiTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1VzYkV0aGVybmV0UHJvdG9jb2wuaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xYzFhNDUwOTIwDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvVXNiTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1Vz YkV0aGVybmV0UHJvdG9jb2wuaA0KDQo+ICsvLyBSZXF1ZXN0IFR5cGUgQ29kZXMgZm9yIFVTQiBF dGhlcm5ldCAjZGVmaW5lDQo+ICtVU0JfRVRIRVJORVRfR0VUX1JFUV9UWVBFICAweEExICNkZWZp bmUgVVNCX0VUSFJUTkVUX1NFVF9SRVFfVFlQRQ0KPiArMHgyMQ0KDQpUeXBvLg0KDQo+ICsvLyBU aGUgVVNCX0VUSEVSTkVUX1BST1RPQ09MIHByb3ZpZGVzIHNvbWUgYmFzaWMgVVNCIEV0aGVybmV0 IGRldmljZQ0KPiArcmVsZXZhbnQgLy8gZGVzY3JpcHRvciBhbmQgc3BlY2lmaWMgcmVxdWVzdHMu DQo+ICtzdHJ1Y3QgX1VTQl9FVEhFUk5FVF9QUk9UT0NPTCB7DQo+ICsgIFVTQl9FVEhFUk5FVF9V TkRJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2JFdGhVbmRpOw0KPiArICAv LyBmb3IgY2FsbGluZyB0aGUgVU5ESSBjaGlsZCBmdW5jdGlvbnMNCj4gKyAgVVNCX0VUSEVSTkVU X0lOSVRJQUxJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzYkV0aEluaXRpYWxpemU7 DQo+ICsgIFVTQl9FVEhFUk5FVF9TVEFUSVNUSUNTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBVc2JFdGhTdGF0aXN0aWNzOw0KPiArICBVU0JfRVRIRVJORVRfUkVDRUlWRSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVXNiRXRoUmVjZWl2ZTsNCj4gKyAgVVNCX0VUSEVSTkVUX1RS QU5TTUlUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzYkV0aFRyYW5zbWl0Ow0KPiAr ICBVU0JfRVRIRVJORVRfSU5URVJSVVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNi RXRoSW50ZXJydXB0Ow0KPiArICBVU0JfR0VUX0VUSF9NQUNfQUREUkVTUyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVXNiRXRoTWFjQWRkcmVzczsNCj4gKyAgVVNCX0VUSF9NQVhfQlVMS19T SVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzYkV0aE1heEJ1bGtTaXplOw0KPiAr ICBVU0JfSEVBREVSX0ZVTkNUSU9OQUxfREVTQ1JJUFRPUiAgICAgICAgICAgICAgICAgICAgVXNi SGVhZGVyRnVuRGVzY3JpcHRvcjsNCj4gKyAgVVNCX1VOSU9OX0ZVTkNUSU9OQUxfREVTQ1JJUFRP UiAgICAgICAgICAgICAgICAgICAgIFVzYlVuaW9uRnVuRGVzY3JpcHRvcjsNCj4gKyAgVVNCX0VU SEVSTkVUX0ZVTkNUSU9OQUxfREVTQ1JJUFRPUiAgICAgICAgICAgICAgICAgIFVzYkV0aEZ1bkRl c2NyaXB0b3I7DQo+ICsgIFVTQl9FVEhFUk5FVF9TRVRfRVRIX01VTFRJQ0FTVF9GSUxURVJTICAg ICAgICAgICAgICBTZXRVc2JFdGhNY2FzdEZpbHRlcjsNCj4gKyAgVVNCX0VUSEVSTkVUX1NFVF9F VEhfUE9XRVJfTUFOQUdFX1BBVFRFUk5fRklMVEVSICAgIFNldFVzYkV0aFBvd2VyUGF0dGVybkZp bHRlcjsNCj4gKyAgVVNCX0VUSEVSTkVUX0dFVF9FVEhfUE9XRVJfTUFOQUdFX1BBVFRFUk5fRklM VEVSICAgIEdldFVzYkV0aFBvZXdyUGF0dGVybkZpbHRlcjsNCg0KVHlwby4NCg0KPiBkaWZmIC0t Z2l0IGEvVXNiTmV0d29ya1BrZy9OZXR3b3JrQ29tbW9uL1B4ZUZ1bmN0aW9uLmMNCj4gYi9Vc2JO ZXR3b3JrUGtnL05ldHdvcmtDb21tb24vUHhlRnVuY3Rpb24uYw0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mNjUwNWY3MDE4DQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvVXNiTmV0d29ya1BrZy9OZXR3b3JrQ29tbW9uL1B4ZUZ1bmN0aW9uLmMNCg0KPiArLyoq DQo+ICsgIFNldCBQWEUgcmVjZWl2ZSBmaWx0ZXIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgTmlj ICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBOZXR3b3JrIGludGVyZmFjZSBjb250cm9sbGVyIGRh dGEuDQo+ICsgIEBwYXJhbVtpbl0gIFNldEZpbHRlciAgIFBYRSByZWNlaXZlIGZpbHRlcg0KPiAr ICBAcGFyYW1baW5dICBDcGJBZGRyICAgICBDb21tYW5kIFBhcmFtZXRlciBCbG9jayBBZGRyZXNz DQo+ICsgIEBwYXJhbVtpbl0gIENwYlNpemUgICAgIENvbW1hbmQgUGFyYW1ldGVyIEJsb2NrIFNp emUNCj4gKw0KPiArKiovDQo+ICtVSU5UMTYNCj4gK1NldGZpbHRlciAoDQo+ICsgIElOICBOSUNf REFUQSAgKk5pYywNCj4gKyAgSU4gIFVJTlQxNiAgICBTZXRGaWx0ZXIsDQo+ICsgIElOICBVSU5U NjQgICAgQ3BiQWRkciwNCj4gKyAgSU4gIFVJTlQzMiAgICBDcGJTaXplDQo+ICsgICkNCg0KRm9s bG93aW5nIG5hbWluZyBjb252ZW50aW9ucywgdGhpcyBzaG91bGQgcHJvYmFibHkgYmUgIlNldEZp bHRlciIsIHdpdGggYW4gdXBwZXJjYXNlICdGJz8NCg0KPiArKiovDQo+ICtVSU5UMTYNCj4gK1Jl Y2VpdmUgKA0KPiArICBJTiBQWEVfQ0RCICAgICAgICpDZGIsDQo+ICsgIElOIE9VVCBOSUNfREFU QSAgKk5pYywNCj4gKyAgSU4gVUlOVDY0ICAgICAgICBDcGJBZGRyLA0KPiArICBJTiBPVVQgVUlO VDY0ICAgIERiQWRkcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgU3RhdHVz Ow0KPiArICBVSU5UTiAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UMTYgICAgICAgICAgIFN0 YXRDb2RlICA9IFBYRV9TVEFUQ09ERV9OT19EQVRBOw0KPiArICBQWEVfRlJBTUVfVFlQRSAgIEZy YW1lVHlwZSA9IFBYRV9GUkFNRV9UWVBFX05PTkU7DQo+ICsgIFBYRV9DUEJfUkVDRUlWRSAgKkNw YjsNCj4gKyAgUFhFX0RCX1JFQ0VJVkUgICAqRGI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgKkJ1 bGtJbkRhdGE7DQo+ICsgIFVJTlROICAgICAgICAgICAgRGF0YUxlbmd0aCA9IChVSU5UTilOaWMt Pk1heFNlZ21lbnRTaXplOw0KPiArICBFdGhlcm5ldEhlYWRlciAgICpIZWFkZXI7DQo+ICsNCj4g KyAgQ3BiID0gKFBYRV9DUEJfUkVDRUlWRSAqKShVSU5UTilDcGJBZGRyOyAgRGIgID0gKFBYRV9E Ql9SRUNFSVZFDQo+ICsgKikoVUlOVE4pRGJBZGRyOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+ QWxsb2NhdGVQb29sIChFZmlCb290U2VydmljZXNEYXRhLCBEYXRhTGVuZ3RoLCAoVk9JRA0KPiAr ICoqKSZCdWxrSW5EYXRhKTsNCg0KQWxsb2NhdGluZyBhbmQgZnJlZWluZyBtZW1vcnkgb24gZXZl cnkgcG9sbCAoaS5lLiAxMG1zKSBkb2Vzbid0IHNlZW0gbGlrZSBhIGdvb2QgaWRlYS4gQ291bGQg d2UgYWxsb2NhdGUgaXQgZHVyaW5nIGluaXRpYWxpemUgaW5zdGVhZD8NCg0KLS0NClJlYmVjY2Eg Q3Jhbg0KLVRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBtZXNzYWdlIG1heSBiZSBj b25maWRlbnRpYWwgYW5kIHByb3ByaWV0YXJ5IHRvIEFtZXJpY2FuIE1lZ2F0cmVuZHMgKEFNSSku IFRoaXMgY29tbXVuaWNhdGlvbiBpcyBpbnRlbmRlZCB0byBiZSByZWFkIG9ubHkgYnkgdGhlIGlu ZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdob20gaXQgaXMgYWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRl c2lnbmVlLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVk IHJlY2lwaWVudCwgeW91IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIHRo aXMgbWVzc2FnZSwgaW4gYW55IGZvcm0sIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIFBsZWFzZSBw cm9tcHRseSBub3RpZnkgdGhlIHNlbmRlciBieSByZXBseSBlLW1haWwgb3IgYnkgdGVsZXBob25l IGF0IDc3MC0yNDYtODYwMCwgYW5kIHRoZW4gZGVsZXRlIG9yIGRlc3Ryb3kgYWxsIGNvcGllcyBv ZiB0aGUgdHJhbnNtaXNzaW9uLg0K