From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.98]) by mx.groups.io with SMTP id smtpd.web10.25076.1675584269740311716 for ; Sun, 05 Feb 2023 00:04:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@os.amperecomputing.com header.s=selector2 header.b=TInrThX7; spf=pass (domain: os.amperecomputing.com, ip: 40.107.237.98, mailfrom: tinhnguyen@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hpZL/aTvq1G1k+OEwQtgyc0Ufk9MG8OzZM3qGXcfWJeC//Y5HuI+U7pnvUX8PktCFwoC0IejU4+07wTxOdJ+7PVFItLzOKrC0eKUSO5eIkAH0ZA9Ook21a/9qQa8aIB79hIZuLYaXJM59YyWv5EwGOLqPwDRV6jrP5P9UcsjRE5+eJ+5jgszmgROLA94u7PkKigHrN45T5CAkoMcvqCcHYZjfyxjKqD9+Vhnc7AeEGSPJAthqwspe1BpRUZNUoGeP2F7ytI52p948QTAuY2k4vqFfoXxajaJ/qCgy1iYcrexoxI4yuIarexE74CksX61k4MvHZkHGt9LNTXg3YD71Q== 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=pD7sI19REkOfoqL+x5SvHh807rWhl0B+rEuh54cz5cc=; b=n+31ZKj6jSPsGbSrCigLcA2mrQW48yBJkiJlrYmD4WrKN0glJSy787OM/Tjr78bXZJNazFk68I0FnF/SwTGHGqCHwhsYAYx5luGjL7xye08t7b7L0IBKiv4OwT9JCsvO6rGsRbrJPy7MwD5N1WqAFVY5x6grlzqjE4Pxr0DHYLxNkOfX2KwKXn9tvIV87HDesJEF/7qWJo86CIN/O7+y07pwIuvcWtNgKh8LxX1vqwjY7wWqcALm1+iWRaOZgdiOOM7qwgQj56lCYRRo/aguSxdGLC2qdqrA7zkWQ9t96GC4MeElfSISheo0jN+OcXCMHPecxusN5oZf+/LKp7UkHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pD7sI19REkOfoqL+x5SvHh807rWhl0B+rEuh54cz5cc=; b=TInrThX7pwdCclaeHczhOxCwgqFR2oRRX//GNUSk8SA0wVLSMcIboi7PZ/IALA2rqIqAPDFcwWLy78FOi7IPr9Ymmek6v/l8IbkSDOUcF3Ci7gq17knXJqLn+w6WsyczWU1KI2W0j0hHhg0MJehqlbZHLqc4n7WpBLuLWBahdWU= Received: from PH0PR01MB7506.prod.exchangelabs.com (2603:10b6:510:f5::22) by DM6PR01MB3659.prod.exchangelabs.com (2603:10b6:5:92::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Sun, 5 Feb 2023 08:04:23 +0000 Received: from PH0PR01MB7506.prod.exchangelabs.com ([fe80::485d:36cc:9dc3:7dff]) by PH0PR01MB7506.prod.exchangelabs.com ([fe80::485d:36cc:9dc3:7dff%6]) with mapi id 15.20.6064.032; Sun, 5 Feb 2023 08:04:22 +0000 From: "Tinh Nguyen" To: =?utf-8?B?UmljaGFyZCBIbyAo5L2V5piO5b+gKQ==?= , Michael Brown , "devel@edk2.groups.io" , Tinh Nguyen OS Subject: Re: [edk2-devel] [PATCH 1/3] UsbNetworkPkg/UsbRndis: Add USB RNDIS devices support Thread-Topic: [EXTERNAL] Re: [edk2-devel] [PATCH 1/3] UsbNetworkPkg/UsbRndis: Add USB RNDIS devices support Thread-Index: AQHZCrdOPRl+yF7EMU+hNE/5zh4Zca5jbdIAgAZWweCAKsGPgIACbq+AgAOuQLCAJbhogA== Date: Sun, 5 Feb 2023 08:04:22 +0000 Message-ID: <645b9e08-b55c-0413-c932-63cfe258764a@amperemail.onmicrosoft.com> References: <1271.1673174497155150644@groups.io> <0102018598f12261-59c6c0fd-55a7-4b2d-9517-0470d71bb36a-000000@eu-west-1.amazonses.com> In-Reply-To: Accept-Language: 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=os.amperecomputing.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR01MB7506:EE_|DM6PR01MB3659:EE_ x-ms-office365-filtering-correlation-id: 90351ded-292f-4fc3-622d-08db074f973b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /S77pyXKVz0s2a8y0MJ53iPvLMjgjG5VQV2Pog6hRrozhlh5Y5VhCcPIaue2TxDXLaeIl19x4kcENsddnNQI+ZgY6XaTiADjCu3Y9a23zFK9Ljb0wIT1uv2sPfzacuQ+MdwYNt7+XAASE0A1Ce9r3T1EkIXKllzQhXCl2xnTVjn18eyXjnThOL9u/mNMgM7m4a5grHS2aJXjAn3xo+sxd1eoIFPKDV+bog/OVWTL9Ef4cWbAoSc0iz0u5/BWdRtGiB5jGPNDW2o0r6jLofLiT6omd4BrueU1rBzlMN3DhVTXGrLkmhufs5bl3sk6oXOF/6vpOk810sNNbbZem+YYUgtjbTOg57iePpUQ+hlFGuFn/jlrCzUz418y4fYluPbPmP8zl9lN5+/XB7Pt2cKs2WuK/9rG3swDlEcaIFSr/aO+Z9lrlI6Ovuw6W3wmu4UH9BboX/RQPuQwu52GkSwHCX37BP5P5gpxru2zVFMmXu3T1nzuMJsh5JaMjX0WQjShPRj05l3QNcHo4TwmLDNlMGgGX/MFAdo4ylp8v1BmgxF2Uw2RQg5Q4yz/f32ssE9kbPismcWNSAqRtSQIeVtVpKZ34Jpf2gINRpQrnbW0hcC7IkcGj3GWl6m8/4c8+IFBU0DGOw1AXctOTRfYkWcx/fhXxYYH9WOGii+oe5fHVqOr4atb6atSH22+URrwBsxnxWdJQbrLukqtVv+KDD6mWA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB7506.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39840400004)(136003)(396003)(366004)(376002)(346002)(451199018)(316002)(110136005)(26005)(6512007)(186003)(40140700001)(86362001)(31696002)(71200400001)(31686004)(66946007)(2906002)(66556008)(66476007)(66446008)(64756008)(8676002)(5660300002)(41300700001)(478600001)(9686003)(6486002)(53546011)(6506007)(8936002)(38100700002)(76116006)(91956017)(38070700005)(83380400001)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RTBIWDVZRHlwTXFjREU3a0M1RndWeEpZZFdnNXFLMitjd2o5T29yZWJGMlRs?= =?utf-8?B?OUdheTExdEhRZ0s1RVNIV293ZklkeWxRLzJDOHhROXJjd3pJaHorMFczZ2w5?= =?utf-8?B?Wm01bzYwUEZjYkhTYTlDdXdCemtRRmMyOVNac0thbVR4VHZXYU1KdlBXYjho?= =?utf-8?B?ZFZqZXAwaG1adUY4Z050OXhqSEM2Q0V2RUYrL1prUnJqcE9UdVByMlFDNmxZ?= =?utf-8?B?d0NYNmplSHFzY1VmSjNPQVJiajlBalNoRGx0K2grU3BSU1JtM1F4Yk95Mmhm?= =?utf-8?B?OUhPY2w2dE1ldmZmTStSZmdubkh4dmFYVndwWlFOR2I2QmtBZncvaE1uNnBz?= =?utf-8?B?eGRKamNPT3JkUTJFdWVtOFdHM3Z6ZjkwYXlQN000NDhLUkxSUSt1cm54L0Ny?= =?utf-8?B?QXRvNEcxSUhuUkJPZm9wWW00MmIrMlpQMGJla0pRQTROSUIzemhydDhKWUdN?= =?utf-8?B?K081SGdTaUhzOGxFQjE4dVpNSWQxKzR0L1Q5RklheldNdHlLRm9scDI0WU5s?= =?utf-8?B?Y2F0OHR3YnRXUG8yVjljdnJsMmtvalJ0M29wZm1DUXVqaHZtZFl1Q0FlNm1r?= =?utf-8?B?aDhjcFFPcW5nOW5yajh6bXNHdDhEaGhscVp1SkRncEVjT0tUWUhhOFZXMUZo?= =?utf-8?B?cjVNdjBSZnlWbERQYXhjNUVHaHJuSnEySzZaWGtZSVlmQ0N1NkNwNXh5M1Vr?= =?utf-8?B?VHQxOTlyNkxpejRUZzhIWFJRVkZ6Qm9oUk5XMDBDUGhROGQxcXYyNURoUjhi?= =?utf-8?B?WldEcmdCbXdqUWNjTE92T25rbXZoQ3hzbng2a09PMno4N2Q1WXlobTY0MDA1?= =?utf-8?B?RWJUcXZsYUlhMVBTUit4dUFhMkQ3UklpVGNjQ094T1V2NGpoejJ6cW1SK2FR?= =?utf-8?B?UGJKeXRZTElEeFZBbTFRNU9YOWZPQnoxYUhCd2RCRlVmZ1dLYzFib2ZHLzZU?= =?utf-8?B?enBrdWRjQmZpTkE1dk92Vy85ZWdGN0pQR3BRS0lwWm5GOTg1aGR4Q2lXWThF?= =?utf-8?B?dTZaaTRWeUxUVXNNSDFzWHpvRDQyWGNaeVc0ZWEzeE1ZekM0OVpyTVZ5bXBq?= =?utf-8?B?OFdJYzRINE8zZGg1WThMU3RQVFoyYkZobnE1cWNUaytWK2FvL3lrUWlrMUMz?= =?utf-8?B?ZEZXT3RMMFBaamx0S2dDQUpoYlpEYWorVkVMcnYxY1J4RkNQK1I0SEhNUWFT?= =?utf-8?B?VUtnNFVlcTIvYmRuWWF5SG04VUVXMTh3OTZFSEFUcWJteC9EOE1PamNQQ0Q4?= =?utf-8?B?TlFxMHVmRmpGOTJwWTdMVWZLNi9oYjFlaS9zTGpqYnVzSmJzdjNIRDZrT2h4?= =?utf-8?B?RVlGMGN5dFZwemMrU3k2K1RkZFQvVThRYTZRQWY5NDNhdGxHMHVDbWd2ZkFz?= =?utf-8?B?aXdxcHppdk5rMEMrcGNSbzFKTURRYmRiblhSSS8zUjZ0L2tqUzFEdWtiOGVk?= =?utf-8?B?dlMwQ3RUUXE3bkJXeGdwMW5JS002T1paWU13OENob1FXS0RiaHA5RUdacURq?= =?utf-8?B?aU4yUzM5cEEwOW4zamNJM2tMLzcyVW55OW5MaGJ3a3JaRzVsYWgrSE9LaDV0?= =?utf-8?B?MG03RkpNM3hwdnJ4Ty81U0xER1NSQnpxTmVYM0xKdjR0V3pmOFYyQWZIRUQz?= =?utf-8?B?Y1Q3N0FITmdzUUViaHFpRUJhOHNBWVVTZW5XTEtCMlBPdDZmOStISW1Rd2xq?= =?utf-8?B?V0tMTStTN294SWJ0dzV2VUx6OEVMR3NqOEZEY2pJZE1tUXE5QlNEd2VJcFdP?= =?utf-8?B?bkh0TWtRQUdZTlljalZ0UmpIRlBLUDN6RVVjSE9EYUNuSE1JWk5ESC9PLzlz?= =?utf-8?B?SWk1MzBxcndmRDZpazk4Qi9ucjU3ZUhRMjhSZEgrZktLaTVvNlB1S21xVUJU?= =?utf-8?B?NEZ2ZVE1N2tFeERJT0Y5czZzTStSWFFxZFR5K21pUm44Zzl6VytaalFSOUh0?= =?utf-8?B?TnlUMGw5S3pJNlpvMWJtYjdndzg1QlFiM2NwQjZQOS8rYXd6S3hXV1Q0ZmR6?= =?utf-8?B?Q0VJTlZjK1JHRzA5U2NGd252WUVMaTY2QWRMR0ZWcnJidmJPODAvbXpsN0Ev?= =?utf-8?B?cXlqUkhJRVo4elFsTWJkTDI4RTJQNFRNN0FFUEFEd2VxZlQrK2RFNlFDZDZM?= =?utf-8?B?cCs2MXpTWEFuakFiSGlsdGZWVkd2aWVHTVlaOEp0dGJ6R3VkM0pOQzZRVkQ5?= =?utf-8?Q?rFwiEw/s/Br5/tEGFuDvT54=3D?= MIME-Version: 1.0 X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7506.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90351ded-292f-4fc3-622d-08db074f973b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Feb 2023 08:04:22.3649 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9OINuZLtOv1PuYbgWqKhuMTKyOzAp43zoaD+8R0GdTd0KqQY37+DDEZCKiXDF9qDQFFe9bGnY0Kj1ZlRGsgy8L8ZuUoRr0tm0iD9n6SBAdL5rqgflnQwBqJbI+U9IUOd X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR01MB3659 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gMS8xMi8yMDIzIDM6MzYgUE0sIFJpY2hhcmQgSG8gKOS9leaYjuW/oCkgd3JvdGU6DQo+IEhp IE1pY2hhZWwsDQo+DQo+IFdlIGFkZCB0aGlzIHBhdGNoIGluIG15IFg4NiBwbGF0Zm9ybSBhbmQg dXNlIHRoZSBOQ00gZGV2aWNlIHRvIHRlc3QgSVBWNCBQWEUgYm9vdCBmcm9tIDEzMzBNQiBJU08g ZmlsZS4NCj4NCj4gTm8gdGhpcyBwYXRjaDogMzUgc2VjIHRvIGRvd25sb2FkIDEzMzBNIElTTyBm aWxlDQo+IEFkZCB0aGlzIHBhdGNoOiAxODEgIHNlYyB0byBkb3dubG9hZCAxMzMwTSBJU08gZmls ZQ0KPg0KPiBUaGUgcGF0Y2ggd2lsbCBpbmNyZWFzZSBib290IHRpbWUgaW4gbXkgWDg2IHBsYXRm b3JtLg0KPg0KPiBUaGFua3MsDQo+IFJpY2hhcmQNCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogTWljaGFlbCBCcm93biA8bWNiMzBAaXB4ZS5vcmc+DQo+IFNlbnQ6IDIw MjPlubQx5pyIMTDml6UgNzo1MCBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IHRpbmhu Z3V5ZW5Ab3MuYW1wZXJlY29tcHV0aW5nLmNvbTsgUmljaGFyZCBIbyAo5L2V5piO5b+gKSA8Umlj aGFyZEhvQGFtaS5jb20+DQo+IFN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggMS8zXSBVc2JOZXR3b3JrUGtnL1VzYlJuZGlzOiBBZGQgVVNCIFJORElTIGRldmljZXMg c3VwcG9ydA0KPg0KPg0KPiAqKkNBVVRJT046IFRoZSBlLW1haWwgYmVsb3cgaXMgZnJvbSBhbiBl eHRlcm5hbCBzb3VyY2UuIFBsZWFzZSBleGVyY2lzZSBjYXV0aW9uIGJlZm9yZSBvcGVuaW5nIGF0 dGFjaG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgZm9sbG93aW5nIGd1aWRhbmNlLioqDQo+DQo+ IE9uIDA4LzAxLzIwMjMgMTA6NDEsIHRpbmhuZ3V5ZW4gdmlhIGdyb3Vwcy5pbyB3cm90ZToNCj4+ IFRoZSByb290IGNhdXNlIGlzIHRoYXQgd2Ugc3BlbmQgYSBsb25nIHRpbWUgd2FpdGluZyBmb3Ig VVNCDQo+PiBVc2JCdWxrVHJhbnNmZXIgdG8gY29tcGxldGUsIGJ1dCBpZiB0aGVyZSBpcyBubyBk YXRhIHRvIGNvbW11bmljYXRlDQo+PiAtPiBpdCB3aWxsIGFsd2F5cyB0aW1lIG91dC4NCj4gQ29p bmNpZGVudGFsbHksIEkgaGF2ZSBqdXN0IGltcGxlbWVudGVkIGEgZml4IGZvciB0aGlzLiAgSXQg d29ya3MgYnkgaW1wbGVtZW50aW5nIGEgc2ltcGxlIGNyZWRpdC1iYXNlZCByYXRlIGxpbWl0ZXIu ICBDYWxscyB0bw0KPiBVc2JFdGhSZWNlaXZlKCkgYXJlIGxpbWl0ZWQgdG8gMTAgcGVyIHNlY29u ZCB3aGlsZSB0aGUgcmVjZWl2ZSBkYXRhcGF0aCBpcyBpZGxlLiAgTm8gbGltaXRpbmcgdGFrZXMg cGxhY2Ugd2hpbGUgdGhlIHJlY2VpdmUgZGF0YXBhdGggaXMgYWN0aXZlLg0KPg0KPiBJIGhhdmUg dHJpZWQgdG8gbWF0Y2ggdGhlIGV4aXN0aW5nIGNvZGUgc3R5bGUgKGkuZS4gemVybyBleHBsYW5h dG9yeSBjb21tZW50cykuDQo+DQo+IFJpY2hhcmQgSG86IHBsZWFzZSBjb25zaWRlciB1c2luZyB0 aGlzIHJhdGUgbGltaXRpbmcgYXBwcm9hY2ggKG9yIHNvbWV0aGluZyB2ZXJ5IHNpbWlsYXIpLg0K Pg0KPiBQYXRjaCBpbmxpbmUgYmVsb3c6DQo+DQo+IGRpZmYgLS1naXQgYS9Vc2JOZXR3b3JrUGtn L0luY2x1ZGUvUHJvdG9jb2wvRWRrSUlVc2JFdGhlcm5ldFByb3RvY29sLmgNCj4gYi9Vc2JOZXR3 b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvRWRrSUlVc2JFdGhlcm5ldFByb3RvY29sLmgNCj4gaW5k ZXggZGY2ZWJjNjRlZi4uZDBlMjA0ODExNCAxMDA2NDQNCj4gLS0tIGEvVXNiTmV0d29ya1BrZy9J bmNsdWRlL1Byb3RvY29sL0Vka0lJVXNiRXRoZXJuZXRQcm90b2NvbC5oDQo+ICsrKyBiL1VzYk5l dHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9FZGtJSVVzYkV0aGVybmV0UHJvdG9jb2wuaA0KPiBA QCAtMTYwLDYgKzE2MCw4IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3VycmVudE5vZGVBZGRyZXNzW1BYRV9NQUNfTEVOR1RIXTsNCj4g ICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvYWRjYXN0Tm9kZUFkZHJlc3Nb UFhFX01BQ19MRU5HVEhdOw0KPiAgICAgIEVGSV9VU0JfREVWSUNFX1JFUVVFU1QgICAgICAgICBS ZXF1ZXN0Ow0KPiArICBFRklfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0ZXI7 DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRDcmVkaXQ7DQo+ ICAgIH0gTklDX0RBVEE7DQo+DQo+ICAgICNkZWZpbmUgTklDX0RBVEFfU0lHTkFUVVJFICBTSUdO QVRVUkVfMzIoJ24nLCAnaScsICdjJywgJ2QnKSBkaWZmIC0tZ2l0IGEvVXNiTmV0d29ya1BrZy9O ZXR3b3JrQ29tbW9uL0RyaXZlckJpbmRpbmcuaA0KPiBiL1VzYk5ldHdvcmtQa2cvTmV0d29ya0Nv bW1vbi9Ecml2ZXJCaW5kaW5nLmgNCj4gaW5kZXggOTQ2NzI3ZmZjOS4uYWUxZDNjMjAxZSAxMDA2 NDQNCj4gLS0tIGEvVXNiTmV0d29ya1BrZy9OZXR3b3JrQ29tbW9uL0RyaXZlckJpbmRpbmcuaA0K PiArKysgYi9Vc2JOZXR3b3JrUGtnL05ldHdvcmtDb21tb24vRHJpdmVyQmluZGluZy5oDQo+IEBA IC0yNSw2ICsyNSw4IEBADQo+ICAgICNkZWZpbmUgUlhfQlVGRkVSX0NPVU5UICAgICAgICAgICAg ICAgICAgMzINCj4gICAgI2RlZmluZSBUWF9CVUZGRVJfQ09VTlQgICAgICAgICAgICAgICAgICAz Mg0KPiAgICAjZGVmaW5lIE1FTU9SWV9SRVFVSVJFICAgICAgICAgICAgICAgICAgIDANCj4gKyNk ZWZpbmUgUkFURV9MSU1JVEVSX0lOVEVSVkFMICAgICAgICAgICAgMTAwMDAwMCAgLy8gMTBIeg0K PiArI2RlZmluZSBSQVRFX0xJTUlURVJfQlVSU1QgICAgICAgICAgICAgICAxMA0KPg0KPiAgICAj ZGVmaW5lIFVORElfREVWX1NJR05BVFVSRSAgU0lHTkFUVVJFXzMyKCd1JywnbicsJ2QnLCdpJykN Cj4gICAgI2RlZmluZSBVTkRJX0RFVl9GUk9NX1RISVMoYSkgIENSKGEsIE5JQ19ERVZJQ0UsIE5p aVByb3RvY29sLA0KPiBVTkRJX0RFVl9TSUdOQVRVUkUpDQo+IGRpZmYgLS1naXQgYS9Vc2JOZXR3 b3JrUGtnL05ldHdvcmtDb21tb24vUHhlRnVuY3Rpb24uYw0KPiBiL1VzYk5ldHdvcmtQa2cvTmV0 d29ya0NvbW1vbi9QeGVGdW5jdGlvbi5jDQo+IGluZGV4IGZkNTNhMjE1YTQuLjJhOWI0ZjYxMTEg MTAwNjQ0DQo+IC0tLSBhL1VzYk5ldHdvcmtQa2cvTmV0d29ya0NvbW1vbi9QeGVGdW5jdGlvbi5j DQo+ICsrKyBiL1VzYk5ldHdvcmtQa2cvTmV0d29ya0NvbW1vbi9QeGVGdW5jdGlvbi5jDQo+IEBA IC0yOSw2ICsyOSwyMSBAQCBBUElfRlVOQyAgZ1VuZGlBcGlUYWJsZVtdID0gew0KPiAgICAgIFVu ZGlSZWNlaXZlDQo+ICAgIH07DQo+DQo+ICtTVEFUSUMNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiAr VW5kaVJhdGVMaW1pdGVyQ2FsbGJhY2sgKA0KPiArICBJTiAgRUZJX0VWRU5UIEV2ZW50LA0KPiAr ICBJTiAgVk9JRCAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgTklDX0RBVEEgKk5p YyA9IENvbnRleHQ7DQo+ICsNCj4gKyAgaWYgKE5pYy0+UmF0ZUxpbWl0Q3JlZGl0IDwgUkFURV9M SU1JVEVSX0JVUlNUKSB7DQo+ICsgICAgTmljLT5SYXRlTGltaXRDcmVkaXQrKzsNCj4gKyAgfQ0K PiArfQ0KPiArDQo+ICAgIC8qKg0KPiAgICAgIFRoaXMgY29tbWFuZCBpcyB1c2VkIHRvIGRldGVy bWluZSB0aGUgb3BlcmF0aW9uYWwgc3RhdGUgb2YgdGhlIFVOREkuDQo+DQo+IEBAIC0xMDAsOSAr MTE1LDYgQEAgVW5kaVN0YXJ0ICgNCj4gICAgICAgIENkYi0+U3RhdEZsYWdzID0gUFhFX1NUQVRG TEFHU19DT01NQU5EX0ZBSUxFRDsNCj4gICAgICAgIENkYi0+U3RhdENvZGUgID0gUFhFX1NUQVRD T0RFX0lOVkFMSURfQ0RCOw0KPiAgICAgICAgcmV0dXJuOw0KPiAtICB9IGVsc2Ugew0KPiAtICAg IENkYi0+U3RhdEZsYWdzID0gUFhFX1NUQVRGTEFHU19DT01NQU5EX0NPTVBMRVRFOw0KPiAtICAg IENkYi0+U3RhdENvZGUgID0gUFhFX1NUQVRDT0RFX1NVQ0NFU1M7DQo+ICAgICAgfQ0KPg0KPiAg ICAgIGlmIChOaWMtPlN0YXRlICE9IFBYRV9TVEFURkxBR1NfR0VUX1NUQVRFX1NUT1BQRUQpIHsg QEAgLTEyMCwxNCArMTMyLDQ2IEBAIFVuZGlTdGFydCAoDQo+ICAgICAgTmljLT5QeGVTdGFydC5V bk1hcF9NZW0gPSAwOw0KPiAgICAgIE5pYy0+UHhlU3RhcnQuU3luY19NZW0gID0gQ3BiLT5TeW5j X01lbTsNCj4gICAgICBOaWMtPlB4ZVN0YXJ0LlVuaXF1ZV9JRCA9IENwYi0+VW5pcXVlX0lEOw0K PiAtICBOaWMtPlN0YXRlICAgICAgICAgICAgICA9IFBYRV9TVEFURkxBR1NfR0VUX1NUQVRFX1NU QVJURUQ7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAoDQo+ICsgICAgRVZU X1RJTUVSIHwgRVZUX05PVElGWV9TSUdOQUwsDQo+ICsgICAgVFBMX0NBTExCQUNLLA0KPiArICAg IFVuZGlSYXRlTGltaXRlckNhbGxiYWNrLA0KPiArICAgIE5pYywNCj4gKyAgICAmTmljLT5SYXRl TGltaXRlcg0KPiArICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICBnb3RvIEVycm9yQ3JlYXRlRXZlbnQ7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBnQlMt PlNldFRpbWVyICgNCj4gKyAgICBOaWMtPlJhdGVMaW1pdGVyLA0KPiArICAgIFRpbWVyUGVyaW9k aWMsDQo+ICsgICAgUkFURV9MSU1JVEVSX0lOVEVSVkFMDQo+ICsgICAgKTsNCj4gKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGdvdG8gRXJyb3JTZXRUaW1lcjsNCj4gKyAgfQ0K Pg0KPiAgICAgIGlmIChOaWMtPlVzYkV0aC0+VXNiRXRoVW5kaS5Vc2JFdGhVbmRpU3RhcnQgIT0g TlVMTCkgew0KPiAgICAgICAgU3RhdHVzID0gTmljLT5Vc2JFdGgtPlVzYkV0aFVuZGkuVXNiRXRo VW5kaVN0YXJ0IChDZGIsIE5pYyk7DQo+ICAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+IC0gICAgICBDZGItPlN0YXRGbGFncyA9IFBYRV9TVEFURkxBR1NfQ09NTUFORF9GQUlMRUQ7 DQo+ICsgICAgICBnb3RvIEVycm9yVW5kaVN0YXJ0Ow0KPiAgICAgICAgfQ0KPiAgICAgIH0NCj4g Kw0KPiArICBOaWMtPlN0YXRlICAgICA9IFBYRV9TVEFURkxBR1NfR0VUX1NUQVRFX1NUQVJURUQ7 DQo+ICsgIENkYi0+U3RhdEZsYWdzID0gUFhFX1NUQVRGTEFHU19DT01NQU5EX0NPTVBMRVRFOyAg Q2RiLT5TdGF0Q29kZSAgPQ0KPiArIFBYRV9TVEFUQ09ERV9TVUNDRVNTOyAgcmV0dXJuOw0KPiAr DQo+ICsgRXJyb3JVbmRpU3RhcnQ6DQo+ICsgIGdCUy0+U2V0VGltZXIgKCZOaWMtPlJhdGVMaW1p dGVyLCBUaW1lckNhbmNlbCwgMCk7DQo+ICsgRXJyb3JTZXRUaW1lcjoNCj4gKyAgZ0JTLT5DbG9z ZUV2ZW50ICgmTmljLT5SYXRlTGltaXRlcik7DQo+ICsgRXJyb3JDcmVhdGVFdmVudDoNCj4gKyAg Q2RiLT5TdGF0RmxhZ3MgPSBQWEVfU1RBVEZMQUdTX0NPTU1BTkRfRkFJTEVEOyAgQ2RiLT5TdGF0 Q29kZSAgPQ0KPiArIFBYRV9TVEFUQ09ERV9ERVZJQ0VfRkFJTFVSRTsNCj4gICAgfQ0KPg0KPiAg ICAvKioNCj4gQEAgLTE4Myw2ICsyMjcsMTAgQEAgVW5kaVN0b3AgKA0KPiAgICAgIE5pYy0+UHhl U3RhcnQuU3luY19NZW0gID0gMDsNCj4gICAgICBOaWMtPlN0YXRlICAgICAgICAgICAgICA9IFBY RV9TVEFURkxBR1NfR0VUX1NUQVRFX1NUT1BQRUQ7DQo+DQo+ICsgIGdCUy0+U2V0VGltZXIgKCZO aWMtPlJhdGVMaW1pdGVyLCBUaW1lckNhbmNlbCwgMCk7DQo+ICsNCj4gKyAgZ0JTLT5DbG9zZUV2 ZW50ICgmTmljLT5SYXRlTGltaXRlcik7DQo+ICsNCj4gICAgICBpZiAoTmljLT5Vc2JFdGgtPlVz YkV0aFVuZGkuVXNiRXRoVW5kaVN0b3AgIT0gTlVMTCkgew0KPiAgICAgICAgU3RhdHVzID0gTmlj LT5Vc2JFdGgtPlVzYkV0aFVuZGkuVXNiRXRoVW5kaVN0b3AgKENkYiwgTmljKTsNCj4gICAgICAg IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gQEAgLTE1MDYsOCArMTU1NCwxMyBAQCBSZWNl aXZlICgNCj4gICAgICB9DQo+DQo+ICAgICAgd2hpbGUgKDEpIHsNCj4gKyAgICBpZiAoTmljLT5S YXRlTGltaXRDcmVkaXQgPT0gMCkgew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ ICAgICAgICBTdGF0dXMgPSBOaWMtPlVzYkV0aC0+VXNiRXRoUmVjZWl2ZSAoQ2RiLCBOaWMtPlVz YkV0aCwgKFZPSUQgKilCdWxrSW5EYXRhLCAmRGF0YUxlbmd0aCk7DQo+ICAgICAgICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBOaWMtPlJhdGVMaW1pdENyZWRpdC0tOw0KPiAg ICAgICAgICBicmVhazsNCj4gICAgICAgIH0NCj4NCj4NCj4gVGhhbmtzLA0KPg0KPiBNaWNoYWVs DQo+DQo+IC1UaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUg Y29uZmlkZW50aWFsIGFuZCBwcm9wcmlldGFyeSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkp LiBUaGlzIGNvbW11bmljYXRpb24gaXMgaW50ZW5kZWQgdG8gYmUgcmVhZCBvbmx5IGJ5IHRoZSBp bmRpdmlkdWFsIG9yIGVudGl0eSB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZCBvciBieSB0aGVpciBk ZXNpZ25lZS4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRl ZCByZWNpcGllbnQsIHlvdSBhcmUgb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0 aGlzIG1lc3NhZ2UsIGluIGFueSBmb3JtLCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBQbGVhc2Ug cHJvbXB0bHkgbm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9u ZSBhdCA3NzAtMjQ2LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMg b2YgdGhlIHRyYW5zbWlzc2lvbi4NCg0KSGksDQoNClNvcnJ5IGZvciB0aGUgbGF0ZSByZXNwb25z ZSB0byB0aGlzIHRocmVhZC7CoCBNeSBwbGF0Zm9ybSBjYW5ub3QgdXRpbGl6ZSANCnRoaXMgZHJp dmVyIHdpdGhvdXQgdGhpcyBmaXgsIHdoZXRoZXIgd2UgY2FuIHN1cHBvcnQgYSBQQ0QgdG8gDQpl bmFibGUvZGlzYWJsZSB0aGlzIHJhdGUgbGltaXRpbmc/DQoNClRoYW5rcywNCg0KLSBUaW5oDQoN Cg==