From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.1442.1666988021682950817 for ; Fri, 28 Oct 2022 13:13:41 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Py2vfLRR; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: zachary.clark-williams@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666988021; x=1698524021; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=z53FTTiWjgKUqbmg23yTSdmew+8cLU5c8WE0OpJckMQ=; b=Py2vfLRR8Wl829iRVOWpSuxAr3NiHd9u5d6Nu4c8y4i3UfzKdDqZVH7B K/L2+ZUYhWdmZG5Mcm7cgM+BIidhPzXfjvsYz2zBPyZAGwWArny5i5I5Y iPQs/5vzhDYoONaWeFMbv05YlfqQlUHtnMglsjqPXQc6QbM4GNiFDrqvg o7auOuNHduz+g8nv0YjM4YQO8EqHFQCIiSNo3Uyjk6K41F2rIUAH0BpbW YVrHnxEQenuC1YMFeapZf5jEjqBK7Cazaay1zi8hW0iLFmm0pfE14k7hf lebfaq04OiPqjz5xFvtcRvx4ZJmyEAE73qlWowJF0YqLIW7mt38b2OlfS w==; X-IronPort-AV: E=McAfee;i="6500,9779,10514"; a="370656488" X-IronPort-AV: E=Sophos;i="5.95,222,1661842800"; d="scan'208";a="370656488" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Oct 2022 13:13:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10514"; a="878100758" X-IronPort-AV: E=Sophos;i="5.95,222,1661842800"; d="scan'208";a="878100758" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga006.fm.intel.com with ESMTP; 28 Oct 2022 13:13:23 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 28 Oct 2022 13:13:22 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 28 Oct 2022 13:13:21 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2375.31 via Frontend Transport; Fri, 28 Oct 2022 13:13:21 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Fri, 28 Oct 2022 13:13:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PZkz5s9PVMVDtdz2ezXKsqlDfkaD65w5vxrOkV9G9wOtGW955ZfrayBDCxVqeuNvzZk8blfuYrH0U3SpsBHSxKrFi4/yq7OEdl62PHxT5fXERMZilycstQTSZv5T5IOo/wK6KJWmA4q2kjelFAPIFejOfa9rUWNP4zKdU7h/63Z1M56+aqM32foFsI5dZuVNgJVzIe7jC0Mnl03F7eo1+YFSTYdZ/E/LlgSGnFMDvQOtgqdXgyi2l4BOEnm94ZnsTxdZv+OIPpjae1YxZBxMqOuFMQGlVdAmJR6Cuf9SjTGykqwAXeVaOXURhlu3wlT2jvY3U0iqL9Lh8J5Q2xRIEQ== 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=z53FTTiWjgKUqbmg23yTSdmew+8cLU5c8WE0OpJckMQ=; b=VO2oTf+3jtnonJ8NmOqTMpbcGK0qzSpzIpvseeqq0ESRU4OXTQ5ysNDstNitzjW5X1BJQwzUiV9g7UBcI/zS2bY7FRjhMLV1ANlWYudpAxZ3qhZzTKTczWtHtRW+Tx9YPwG3lhhzoYhw1bjF7+xr+lkOGKEVDAc0vSB07UDP+AaMWoYoqUeNyU3V86Cyo/umafx4Go9+Rp3lUcTtEAr7hbYh9k+/SuT9ClKP7w2Rinq1lqxOf8Eif78RFw8hJ/99TQ6YqBO1n/KJ1PSm0oP/pmCaXOoYF4nHIg/1stvczbxyc5DYIvp7wvsH999dGbIwXlKEYEtVYkfQNggILVmNbg== 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 CO6PR11MB5601.namprd11.prod.outlook.com (2603:10b6:303:13d::7) by MW3PR11MB4698.namprd11.prod.outlook.com (2603:10b6:303:5a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 20:13:20 +0000 Received: from CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::f060:2583:1c93:13c7]) by CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::f060:2583:1c93:13c7%3]) with mapi id 15.20.5746.028; Fri, 28 Oct 2022 20:13:19 +0000 From: "Clark-williams, Zachary" To: "Kinney, Michael D" , "Rabeda, Maciej" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "devel@edk2.groups.io" , "Fu, Siyuan" , "Wu, Jiaxin" , "Otcheretianski, Andrei" Subject: Re: [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6jr1YBx+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwA== Date: Fri, 28 Oct 2022 20:13:19 +0000 Message-ID: References: <9102518d297546d349e9dcbaf9a87706ec8529e0.1664830666.git.zachary.clark-williams@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows 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: CO6PR11MB5601:EE_|MW3PR11MB4698:EE_ x-ms-office365-filtering-correlation-id: a2f716ba-66a4-4899-d50b-08dab920db75 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: amwRacSGQH91yI20MiFwpIb7GRjSIAkiWC23xFu1bo+dZhjZapNXglM55Ifad2hC55jsq9HRtsdTpmBwU2Adl2FmjOoDjmyuY5I37OERoKlw0K+NjcA315DRy/tesKq6A+Q8/I9xwh3CKsfwMksKXxrBKYKBQU/UsZWUsTMcsJ3F+VybQEVCWQa8enBxIc7cArF2kDscvTF9TkPKedMQOHeoBqTeGeh21Q4IRjVr9Dnsx1QapYlgX7l/KGIaNNNApQq4zqndUW2pECcCkniBh4ZMAPpf/kyqB14k3UY9TNqAapHCYB92vWQFHW0oSl0hZkPFOLR3sqsrvE4wthVM11g5fMY29n5/OCs3u2BaRv7eaTJv7Uy7lv2UzLiAo9uRKTWMuaxrLIcr8pkI3MDb3pquBQDpMb98EMAyxFrTTf3X9CV78JKDUlrHq35MJXjxwbusI7AEgFY7+Exn6MwXVDBDiNiZELUgfKMKPWgUrukID4OPCGIxvw7QAYuz+31UbJpPo3aRTVNVJDsoXq/1F2OSK+g/olJY3F+7+YKmkWOjyDQBo/effeSecJ1dgMuOsHijDm7kkcQ3ScdEZc8dwgmYq9lx4zxESWWMO2+640vwVXfa+mqgN5QBbF4g38lzlr59KUqoSibC2+h1uD8B7hL7xVR78B9+tGnIpIz4uoWs32HTvJMNkG0IuhCDOOQQKRyOwSZdvekYOXbD8Nb5vX2eX9BrNzPhkxpgtRQw4PT7HLessCntx02XodBh8HfCU6SPgKNvaJI6X6R4QBV5/dHZiv/Eouv43qEPhahgQkMYB2Ncnx1otv4qOi84u9/x7h7Tul1oM8VJemj3mUoEvg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5601.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(366004)(39860400002)(346002)(376002)(396003)(136003)(451199015)(2940100002)(6636002)(86362001)(55016003)(921005)(38070700005)(478600001)(71200400001)(966005)(110136005)(19627235002)(316002)(82960400001)(122000001)(38100700002)(33656002)(83380400001)(26005)(6506007)(186003)(9686003)(7696005)(53546011)(52536014)(5660300002)(66446008)(8936002)(41300700001)(64756008)(30864003)(66476007)(76116006)(66946007)(8676002)(66556008)(2906002)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0EraU9yaVFqV1FlemJtb29ibHY5OHdId1o1Y2FpNVJrdm9rbEZ0ZVNMcUlH?= =?utf-8?B?MWErVG1wWFRaWVloM3NHSFpsQm5EK0dLdHZlRFlzdDJwYkRlamUvaXZKbzl4?= =?utf-8?B?c0Q0cjRtM2NPR1FFeFRtbmJiWUxIWk56eThER3o2K0FGaWk5YmRLVDh1M2tC?= =?utf-8?B?M2xFdzB2cDIzMm9sYUNRWVI2dFBIWGV1SDczZVJGUGNCRktMbnB1ZXlWWVkw?= =?utf-8?B?QkgrOWtYckRxdDZMbUJubXhYQVFmZDRab2JyRG5YSm0yaHlraS9xeGJ3Ri83?= =?utf-8?B?WXVkRUZmc3NkU245c2FFRDFLbzhMTXZKaUNJaDNYRUhMY3c2UnhwcGlSNG90?= =?utf-8?B?ZHUyTHk1RTBwZVZ2R2k3SFNETzBXM0wrb3dVTmVyWTBGMjA5bTJyV0FtOWh5?= =?utf-8?B?bjZuQUNVWUZUZ1p1Y3h0Q2VubXd3MEQwQ0ZwcS9MYmE2ZUpFeUE5MTlNNGpU?= =?utf-8?B?MWo2SEMxU3VrN2E3SUpja25uSFd4d0s5QUIzdndva2lybUdTbE5jK28vVE9i?= =?utf-8?B?MS9qb3o1Nll5a1FlSHVzQStvZTNUcm5YZUlYS2dRWXlLMXRTUFdYLzZ6ZU9i?= =?utf-8?B?OFl2cDIzT1QwK0hTeFBhcUNJaUhsSzd4Tk1VN0VDdnUzZkNmNTR6Zm1LcUVN?= =?utf-8?B?d05wTmhzZlVXdmw0OCtNUWtnY2tXSmpIUU8rWEIwZnpFYXJNWXUxa1dWdWNS?= =?utf-8?B?Q09lazhrc1dQRXNwL3NGZUFjYUpFTHRzeDVzVW1NeGtNMlNtQ29DZEhldnE1?= =?utf-8?B?ZWhIS1BkRXEwdmlMYnU4VldSaDM3NmsybG5GZDdmTEhQSHFtK2piUEN2Ry9x?= =?utf-8?B?bDhsSUE3WWhHSWhTSHBXcUdGKzIrYWNONHNnbEhvdkdaUzVHbGlwbUwzR3ps?= =?utf-8?B?cVJJTHlpZlJyUVJmUHozcERqVWprc2pqaG5oTnkwZ1ZITzBhbEVyV09iSzVu?= =?utf-8?B?L29IaHdTYTZWY2JKTHZsVjRpb2Njd1UrbUFCeU83N1Yxb253TFFOZGg3Rzdx?= =?utf-8?B?aGxXMU9NZVBQeWdtNWVwN2V2MU5UTTdjM1M2NHZpbHpvemlxL24wek0vcmR3?= =?utf-8?B?TDF6cVBKbW1PT01pUzJYa3pzMkNXa0t2a3RtT0hQSlJRZVg5cmN5ZW1KZlVG?= =?utf-8?B?eFZYc3gzOGRmcEhrZEJuNWFzRUh1Qkp1TEFLSDFKdVpUd3FzMklDRGQvSUJv?= =?utf-8?B?WExlRnNyNGR1MjJkeGZLb2k2dVJXWnAyWG16M0dtd1QwTmplemM2SDRzczdx?= =?utf-8?B?YjA0akp4QVJvMk5ZazZ0MTdDQUJScCtTd0dkM1VidjEvNlZKZVpiKzdmWWNE?= =?utf-8?B?QW9FQXZpYTk5ZS9lZUZpc1dSK1BIbXFwMzArYUFDSkVVb3lTYklOdTduUTJ5?= =?utf-8?B?MHNzSVl0TGx4TnhKbFNxTThMbzFiYzVSWnJTVnBmOHRkbHpucXdhdnFxVUN5?= =?utf-8?B?QnZNQjZFWWFGZUN4Y1p1aVBNWnpPdnpMRXBEMlNjZmhDRlZTUVJSL1N5ejJz?= =?utf-8?B?SXpLbkhiVjNmc3ZFMjBPb0s5NG1hNkFuME5WWk1peExVUnBzOXJXTDZiS3h4?= =?utf-8?B?aVhkd3JIcVljb3k4Rm5JOEhNNDcybEg2ZEJiR280UGI3dllrVHFXRkZZS043?= =?utf-8?B?dU5ROFhWRlgwNjB1djJrOVFmTnNOOGpPWDFUMXBvZVd3MXAvQXVDcGU5YWhy?= =?utf-8?B?aXFocE9PLzVRTWtxeGJKRlhoUlVmQ3krYnJ2WjJnd3psbjBOZTJmRmMxbHBk?= =?utf-8?B?UzRDWGl2MmQzZEw5UXZUMGtxVTd2R2hEdU1rQUM1MHVQQlZDQ1RKalFwT21m?= =?utf-8?B?dTZ0Ykw3eWpxcUEyYWVsajVXTUZCL2pFNklZY1BZNWp2cUV2OXdiblZuaE1S?= =?utf-8?B?NmZRN2o4QmtHaVRhOEluVThqTW5nYkllRlRPV2dIVTFubDJSOHdoajMrVHM4?= =?utf-8?B?NnhjUVNWWEpIcnpoUkgwdjN4bEtuTW1pVGFiZXcrMnFZN0FEWVJVMDBzM2Jp?= =?utf-8?B?bmp2UkEvZDZyZ0NwZ0tzSE51YUhheDEzUnNLTDZsQ3lveER2a0NnV1RUa2g1?= =?utf-8?B?VTZITzNvaTRDMVRHZ3gzVXZkbXVCVzV3d0JzRnh6c2NFczhCaUVrc1pjMWxo?= =?utf-8?B?L09ZZmxCUGQzZmgxNkRvRFVGZHV6U2ZUMXRIeTE3elZYMU94Y0ZaaURhdTRj?= =?utf-8?Q?GPQnaXA0a2gsO5RJuJMKTfc=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5601.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2f716ba-66a4-4899-d50b-08dab920db75 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2022 20:13:19.7902 (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: 20huy9jUUgJZJrH4iBODjsPnmdlj1NKxdfkjRF+9ao+XISvu/5DljymarTMDfftY5ghWe5Dxsb1pMpCvCUMgcIRrxMeLzj5KzNmqRt+cWLMkMefVLEVxPXeYbSvl4qZW X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4698 Return-Path: zachary.clark-williams@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 KytNb3JlIGZvciByZXZpZXdhbCENCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206 IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IA0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDI4LCAyMDIy IDE6MTAgUE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcg PGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29t PjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNo YWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KU3ViamVjdDog UkU6IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2Zp bGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNClRoYW5rcyBmb3IgdGhlIGZvcndhcmQgTWlrZSEN Cg0KTWFjaWVqIGFuZCBBbGwsIA0KDQpJZiB5b3UgY291bGQgcGxlYXNlIHJldmlldyB0aGUgUFIg YmVsb3cuIEkgd291bGQgbGlrZSB0byBnZXQgdGhpcyByZXZpZXcgY29tcGxldGVkIHdpdGhpbiB0 aGUgd2Vlay4NCg0KVGhhbmtzLA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K RnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KU2Vu dDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMjIgMTowOSBQTQ0KVG86IFJhYmVkYSwgTWFjaWVq IDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NClN1YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cv V2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0K DQpIaSBNYWNpZWosDQoNCkNhbiB5b3UgcGxlYXNlIGhlbHAgcmV2aWV3IHRoZXNlIE5ldHdvcmtQ a2cgY2hhbmdlcy4NCg0KSSBhbSBub3Qgc3VyZSBpZiB5b3UgbW9uaXRvciB5b3VyIGxpbnV4Lmlu dGVsLmNvbSBhY2NvdW50IGFzIGNsb3NlbHkgYXMgeW91ciBpbnRlbC5jb20gYWNjb3VudC4NCg0K VGhhbmtzLA0KDQpNaWtlDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFy ay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpT ZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywgMjAyMiAxMjozMyBQTQ0KVG86IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NClN1YmplY3Q6IEZXOiBbUEFUQ0gg djRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJv dG9jb2wgc3VwcG9ydA0KDQpIZXkgTWlrZSwNCg0KSSdtIHN0cnVnZ2xpbmcgdG8gZ2V0IGFueSBm ZWVkYmFjayBvbiB0aGlzIFBSLiBEbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMgdG8gZ2V0IGJl dHRlciB2aXNpYmlsaXR5IGFuZCByZXNwb25zZXMgc28gSSBjYW4gZ2V0IHRoaXMgbWl2aW5nPw0K DQpUaGFua3MsDQpaYWNrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFy ay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpT ZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywgMjAyMiAxMjozMSBQTQ0KVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvDQpDYzogWmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emNsYXJrdzExMkBnbWFpbC5j b20+OyBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT47IEZ1IFNp eXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5j b20+OyBPdGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwu Y29tPjsgQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50 ZWwuY29tPg0KU3ViamVjdDogW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzog QWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KRnJvbTogWmFjaGFyeSBD bGFyay1XaWxsaWFtcyA8emNsYXJrdzExMkBnbWFpbC5jb20+DQoNClJFRjogaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zODQ1DQoNCkVuYWJsZXMgS1ZNIGFu ZCBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xBTiBjYXBhYmlsaXR5IHdpdGggV2lGaSBQcm9maWxlIFN5 bmMgZmVhdHVyZSBhbmQgcHJvdG9jb2wuIEFkZGluZyBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCwg d2hpY2ggc3VwcG9ydHMgdGhlIHByb2ZpbGVzeW5jIGRyaXZlciBvcGVyYXRpb25zIGZvciB0cmFu c2ZlcnJpbmcgV2lGaSBwcm9maWxlcyBmcm9tIEFNVCB0byB0aGUgU3VwcGxpY2FudC4gV2lGaUNv bm5lY3Rpb25NYW5hZ2VyIHdpbGwgY2hlY2sgZm9yIHRoZSBXaWZpUHJvZmlsZVN5bmNQcm90b2Nv bCBhbmQgaWYgZm91bmQgd2lsbCBvcGVyYXRlIG9uIHRoZSBwcmVtaXNlIG9mIGEgT25lIENsaWNr IFJlY292ZXJ5LCBvciBLVk0gZmxvdyB3aXRoIGEgV2lmaSBwcm9maWxlIHByb3ZpZGVkIGJ5IEFN VC4NCg0KQ2M6IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPg0K Q2M6IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCkNjOiBXdSBKaWF4aW4gPGppYXhp bi53dUBpbnRlbC5jb20+DQpDYzogQW5kcmVpIE90Y2hlcmV0aWFuc2tpIDxhbmRyZWkub3RjaGVy ZXRpYW5za2lAaW50ZWwuY29tPg0KDQpTaWduZWQtb2ZmLWJ5OiBaYWNoYXJ5IENsYXJrLVdpbGxp YW1zIDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NCi0tLQ0KIC4uLi9Qcm90b2Nv bC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oICAgICAgICB8ICA4MyArKysrKysrKw0KIE5ldHdv cmtQa2cvTmV0d29ya1BrZy5kZWMgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQogLi4uL1dp ZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYgICAgICAgICAgICAgIHwgICAzICstDQogLi4uL1dp ZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmggICAgIHwgICAyICstDQogLi4uL1dp ZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMgICAgICAgICAgICAgICAgIHwgMTI2ICsrKysrKysrLS0t LQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oICAgICAgICAgICAgICAgICAgICB8ICAgNCAr LQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckltcGwuYyAgICAgICAgICAgICAgICAgICB8IDE5MyAr KysrKysrKysrKysrKysrLS0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMgICAgICAgICAg ICAgICAgICAgfCAgMTMgKysNCiA4IGZpbGVzIGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCA2 MCBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlIDEwMDY0NCBOZXR3b3JrUGtnL0luY2x1ZGUvUHJv dG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaA0KDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1Br Zy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmggYi9OZXR3b3JrUGtn L0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaA0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLmUzNmRhY2VhYmYNCi0tLSAvZGV2L251bGwNCisr KyBiL05ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5o DQpAQCAtMCwwICsxLDgzIEBADQorLyoqIEBmaWxlDQorICBXaUZpIHByb2ZpbGUgc3luYyBwcm90 b2NvbC4gU3VwcG9ydHMgT25lIENsaWNrIFJlY292ZXJ5IG9yIEtWTSBPUyANCityZWNvdmVyeQ0K KyAgYm9vdCBmbG93IG92ZXIgV2lGaS4NCisNCisgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKw0KKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgKiovDQorDQorI2lmbmRlZiBXSUZJX1BS T0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0KKyNkZWZpbmUgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9D T0xfSF8NCisNCisjaW5jbHVkZSA8V2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0 aW9uTWdyQ29uZmlnLmg+DQorDQorLy8NCisvLyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wg R1VJRCB2YXJpYWJsZS4NCisvLw0KK2V4dGVybiBFRklfR1VJRCAgZ0VmaVdpRmlQcm9maWxlU3lu Y1Byb3RvY29sR3VpZDsNCisNCisvKioNCisgIFVzZWQgYnkgdGhlIFdpRmkgY29ubmVjdGlvbiBt YW5hZ2VyIHRvIGdldCB0aGUgV2lGaSBwcm9maWxlIHRoYXQgQU1UIA0KK3NoYXJlZA0KKyAgYW5k IHdhcyBzdG9yZWQgaW4gV2lGaSBwcm9maWxlIHByb3RvY29sLiBBbGlnbnMgdGhlIEFNVCBXaUZp IHByb2ZpbGUgDQorZGF0YSB0bw0KKyAgdGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHByb2Zp bGUgc3RydWN0dXJlIGZvIGNvbm5lY3Rpb24gdXNlLg0KKw0KKyAgQHBhcmFtW2luLCBvdXRdICBX Y21Qcm9maWxlICAgICAgIFdpRmkgQ29ubmVjdGlvbiBNYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJl DQorICBAcGFyYW1baW4sIG91dF0gIE1hY0FkZHJlc3MgICAgICAgTUFDIGFkZHJlc3MgZnJvbSBB TVQgc2F2ZWQgdG8gTmlDIE1BQyBhZGRyZXNzDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgICAgU3RvcmVkIFdpRmkgcHJvZmlsZSBjb252ZXJ0ZWQgYW5kIHJldHVybmVkIHN1 Y2NlZnVsbHkNCisgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgICBQcm9maWxlIHBy b3RvY29sIHNoYXJpbmcgbm90IHN1cHBvcnRlZCBvciBlbmFibGVkDQorICBAcmV0dmFsIEVGSV9O T1RfRk9VTkQgICAgICAgICAgICAgTm8gcHJvZmlsZXMgdG8gcmV0dXJuZWQNCisgIEByZXR2YWwg T3RoZXJzICAgICAgICAgICAgICAgICAgICBFcnJvciBPY2N1cnJlZA0KKyoqLw0KK3R5cGVkZWYN CitFRklfU1RBVFVTDQorKEVGSUFQSSAqV0lGSV9QUk9GSUxFX0dFVCkoDQorICBJTiBPVVQgIFdJ RklfTUdSX05FVFdPUktfUFJPRklMRSAgKlByb2ZpbGUsDQorICBJTiBPVVQgIEVGSV84MDIxMV9N QUNfQUREUkVTUyAgICAgTWFjQWRkcmVzcw0KKyAgKTsNCisNCisvKioNCisgIFNhdmVzIHRoZSBX aUZpIGNvbm5lY3Rpb24gc3RhdHVzIHJlY2lldmVkIGJ5IHRoZSANCitXaUZpQ29ubmVjdGlvbk1h bmFnZXIgd2hlbg0KKyAgaW4gYSBLVk0gT1IgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gcmVjb3Zl cnkgZmxvdy4gSW5wdXQgYXMNCisgIEVGSV84MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NP REUgdGhlbiBjb252ZXJ0ZWQgYW5kIHN0b3JlZCBhcyBFRklfU1RBVFVTIHR5cGUuDQorDQorICBA cGFyYW1baW5dIENvbm5lY3Rpb25TdGF0dXMgICAgIFdpRmkgY29ubmVjdGlvbiBhdHRlbXB0IHJl c3VsdHMNCisqKi8NCit0eXBlZGVmDQorVk9JRA0KKyhFRklBUEkgKldJRklfU0VUX0NPTk5FQ1Rf U1RBVEUpKA0KKyAgSU4gIEVGSV84MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgQ29u bmVjdGlvblN0YXR1cw0KKyAgKTsNCisNCisvKioNCisgIFJldHJpZXZlcyB0aGUgc3RvcmVkIFdp RmkgY29ubmVjdGlvbiBzdGF0dXMgd2hlbiBpbiBlaXRoZXIgS1ZNIE9SIE9uZSANCitDbGljaw0K KyAgUmVjb3ZlcnkgV0xBTiByZWNvdmVyeSBmbG93Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgICAgIFdpRmkgY29ubmVjdGlvbiBjb21wbGV0ZWQgc3VjY2VzZnVsbHkNCisg IEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgICBDb25uZWN0aW9uIGZhaWx1cmUgb2Nj dXJyZWQNCisqKi8NCit0eXBlZGVmDQorRUZJX1NUQVRVUw0KKyhFRklBUEkgKldJRklfR0VUX0NP Tk5FQ1RfU1RBVEUpKA0KKyAgVk9JRA0KKyAgKTsNCisNCisvLw0KKy8vICBXaUZpIFByb2ZpbGUg U3luYyBQcm90b2NvbCBzdHJ1Y3R1cmUuDQorLy8NCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5U MzIgICAgICAgICAgICAgICAgICAgIFJldmlzaW9uOw0KKyAgV0lGSV9TRVRfQ09OTkVDVF9TVEFU RSAgICBXaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGU7DQorICBXSUZJX0dFVF9DT05ORUNU X1NUQVRFICAgIFdpZmlQcm9maWxlU3luY0dldENvbm5lY3RTdGF0ZTsNCisgIFdJRklfUFJPRklM RV9HRVQgICAgICAgICAgV2lmaVByb2ZpbGVTeW5jR2V0UHJvZmlsZTsNCit9IEVGSV9XSUZJX1BS T0ZJTEVfU1lOQ19QUk9UT0NPTDsNCisNCisvKioNCisgIFdpRmkgUHJvZmlsZSBQcm90b2NvbCBy ZXZpc2lvbiBudW1iZXIuDQorDQorICBSZXZpc2lvbiAxOiAgIEluaXRpYWwgdmVyc2lvbg0KKyoq Lw0KKyNkZWZpbmUgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MX1JFVklTSU9OICAxDQor DQorI2VuZGlmIC8vICBXSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0KZGlmZiAtLWdpdCBh L05ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMgYi9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGlu ZGV4IDVlNDNlYmY4YzUuLjUzZmIzNGM0YTAgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL05ldHdv cmtQa2cuZGVjDQorKysgYi9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjDQpAQCAtOTEsNiArOTEs OSBAQA0KICAgIyMgSW5jbHVkZS9Qcm90b2NvbC9IdHRwQ2FsbGJhY2suaA0KICAgZ0Vka2lpSHR0 cENhbGxiYWNrUHJvdG9jb2xHdWlkICA9IHsweDYxMTExNGYxLCAweGEzN2IsIDB4NDQ2OCwgezB4 YTQsIDB4MzYsIDB4NWIsIDB4ZGQsIDB4YTEsIDB4NmEsIDB4YTIsIDB4NDB9fQ0KIA0KKyAgIyMg SW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQorICBnRWZpV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2xHdWlkID0gezB4Mzk5YTJiOGEsIDB4YzI2NywgMHg0NGFhLCB7MHg5 YSwgDQorIDB4YjQsIDB4MzAsIDB4NTgsIDB4OGMsIDB4ZDIsIDB4MmQsIDB4Y2N9fQ0KKw0KIFtQ Y2RzRml4ZWRBdEJ1aWxkXQ0KICAgIyMgVGhlIG1heCBhdHRlbXB0IG51bWJlciB3aWxsIGJlIGNy ZWF0ZWQgYnkgaVNDU0kgZHJpdmVyLg0KICAgIyBAUHJvbXB0IE1heCBhdHRlbXB0IG51bWJlci4N CmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29u bmVjdGlvbk1hbmFnZXJEeGUuaW5mIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJE eGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZg0KaW5kZXggNDM5NGI2ZjRiYi4uN2UzNjAx NmNmOCAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dp ZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rp b25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYNCkBAIC05LDcgKzksNyBA QA0KICMgIDIpLiBXUEEyIFBlcnNvbmFsIE5ldHdvcmsNCiAjICAzKS4gRUFQIE5ldHdvcmtzIChF QVAtVExTLCBFQVAtVFRMUy9NU0NIQVB2MiBhbmQgUEVBUHYwL01TQ0hBUHYyKSAgIyAtIyAgQ29w eXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQorIyAgQ29weXJpZ2h0IChjKSAyMDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgDQorcmVzZXJ2ZWQuPEJSPg0KICMNCiAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudCAgIyBAQCAtNzEsNiArNzEsNyBAQA0KICAgZ0VmaUFkYXB0 ZXJJbmZvcm1hdGlvblByb3RvY29sR3VpZCAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1F Uw0KICAgZ0VmaVN1cHBsaWNhbnRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNP TUVUSU1FU19DT05TVU1FUw0KICAgZ0VmaUVhcENvbmZpZ3VyYXRpb25Qcm90b2NvbEd1aWQgICAg ICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1By b3RvY29sR3VpZCAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KIA0KIFtHdWlk c10NCiAgIGdXaWZpQ29uZmlnR3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBQ Uk9EVUNFUyAgIyMgR1VJRA0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25N YW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmggYi9OZXR3b3Jr UGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0 YVN0cnVjdC5oDQppbmRleCBiNTUxOGE3NGQ4Li5kY2M0YmY3ZTI3IDEwMDY0NA0KLS0tIGEvTmV0 d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdO VkRhdGFTdHJ1Y3QuaA0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUv V2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTDQorKysgdHJ1Y3QuaA0KQEAgLTI1LDcgKzI1 LDcgQEANCiANCiAjZGVmaW5lIFBBU1NXT1JEX01JTl9MRU4gICAgICAgOA0KICNkZWZpbmUgUEFT U1dPUkRfTUFYX0xFTiAgICAgICA2Mw0KLSNkZWZpbmUgUEFTU1dPUkRfU1RPUkFHRV9TSVpFICA2 NA0KKyNkZWZpbmUgUEFTU1dPUkRfU1RPUkFHRV9TSVpFICA2NQ0KIA0KICNkZWZpbmUgRUFQX0lE RU5USVRZX0xFTiAgIDYzDQogI2RlZmluZSBFQVBfSURFTlRJVFlfU0laRSAgNjQNCmRpZmYgLS1n aXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1n ckRyaXZlci5jIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5l Y3Rpb25NZ3JEcml2ZXIuYw0KaW5kZXggNjdhMDFjYTA1OC4uOTdjYTdhOWYwYiAxMDA2NDQNCi0t LSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy RHJpdmVyLmMNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlD b25uZWN0aW9uTWdyRHJpdmVyLmMNCkBAIC0xLDcgKzEsNyBAQA0KIC8qKiBAZmlsZQ0KICAgVGhl IGRyaXZlciBiaW5kaW5nIHByb3RvY29sIGZvciB0aGUgV2lGaSBDb25uZWN0aW9uIE1hbmFnZXIu DQogDQotICBDb3B5cmlnaHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCisgIENvcHlyaWdodCAoYykgMjAxOSAtIDIwMjIsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIA0KKyByZXNlcnZlZC48QlI+DQogDQogICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KIA0KQEAgLTM5LDYgKzM5LDExIEBAIEVG SV9HVUlEICBtV2lmaUNvbmZpZ05ldHdvcmtMaXN0UmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19O RVRXT1JLX0xJU1RfUkVGUkVTSF9HDQogRUZJX0dVSUQgIG1XaWZpQ29uZmlnQ29ubmVjdEZvcm1S ZWZyZXNoR3VpZCA9IFdJRklfQ09ORklHX0NPTk5FQ1RfRk9STV9SRUZSRVNIX0dVSUQ7DQogRUZJ X0dVSUQgIG1XaWZpQ29uZmlnTWFpbkZvcm1SZWZyZXNoR3VpZCAgICA9IFdJRklfQ09ORklHX01B SU5fRk9STV9SRUZSRVNIX0dVSUQ7DQogDQorLy8NCisvLyBXaWZpIGNvbm5lY3Rpb24gYXR0ZW1w dCBjb3VudGVyIGZvciByZXRyaWVzIC8vIGV4dGVybiBVSU5UOCANCittV2lmaUNvbm5lY3Rpb25D b3VudDsNCisNCiAvKioNCiAgIFRlc3RzIHRvIHNlZSBpZiB0aGlzIGRyaXZlciBzdXBwb3J0cyBh IGdpdmVuIGNvbnRyb2xsZXIuIElmIGEgY2hpbGQgZGV2aWNlIGlzIHByb3ZpZGVkLA0KICAgaXQg ZnVydGhlciB0ZXN0cyB0byBzZWUgaWYgdGhpcyBkcml2ZXIgc3VwcG9ydHMgY3JlYXRpbmcgYSBo YW5kbGUgZm9yIHRoZSBzcGVjaWZpZWQgY2hpbGQgZGV2aWNlLg0KQEAgLTE2Nyw4ICsxNzIsMTAg QEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdTdGFydCAoDQogICBFRklfV0lSRUxFU1NfTUFDX0NP Tk5FQ1RJT05fSUlfUFJPVE9DT0wgICpXbXA7DQogICBFRklfU1VQUExJQ0FOVF9QUk9UT0NPTCAg ICAgICAgICAgICAgICAgICpTdXBwbGljYW50Ow0KICAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BS T1RPQ09MICAgICAgICAgICAqRWFwQ29uZmlnOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BS T1RPQ09MICAgICAgICAgICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQotICBOaWMgPSBO VUxMOw0KKyAgbVdpZmlDb25uZWN0aW9uQ291bnQgPSAwOw0KKyAgTmljICAgICAgICAgICAgICAg ICAgPSBOVUxMOw0KIA0KICAgLy8NCiAgIC8vIE9wZW4gUHJvdG9jb2xzDQpAQCAtMjM2LDQ3ICsy NDMsNzMgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdTdGFydCAoDQogICBJbml0aWFsaXplTGlz dEhlYWQgKCZOaWMtPlByb2ZpbGVMaXN0KTsNCiANCiAgIC8vDQotICAvLyBSZWNvcmQgdGhlIE1B QyBhZGRyZXNzIG9mIHRoZSBpbmNvbWluZyBOSUMuDQorICAvLyBXaUZpIHByb2ZpbGUgc3luYyBw cm90b2NvbCBpbnN0YWxsYXRpb24gY2hlY2sgZm9yIE9TIHJlY292ZXJ5IGZsb3cuDQogICAvLw0K LSAgU3RhdHVzID0gTmV0TGliR2V0TWFjQWRkcmVzcyAoDQotICAgICAgICAgICAgIENvbnRyb2xs ZXJIYW5kbGUsDQotICAgICAgICAgICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRy ZXNzLA0KLSAgICAgICAgICAgICAmQWRkcmVzc1NpemUNCi0gICAgICAgICAgICAgKTsNCi0gIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjI7DQotICB9DQotDQotICAv Lw0KLSAgLy8gQ3JlYXRlIGFuZCBzdGFydCB0aGUgdGltZXIgZm9yIHRoZSBzdGF0dXMgY2hlY2sN Ci0gIC8vDQotICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50ICgNCi0gICAgICAgICAgICAgICAg ICBFVlRfTk9USUZZX1NJR05BTCB8IEVWVF9USU1FUiwNCi0gICAgICAgICAgICAgICAgICBUUExf Q0FMTEJBQ0ssDQotICAgICAgICAgICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KLSAgICAg ICAgICAgICAgICAgIE5pYywNCi0gICAgICAgICAgICAgICAgICAmTmljLT5UaWNrVGltZXINCisg IFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZp V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQor ICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQogICAg ICAgICAgICAgICAgICAgKTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290 byBFUlJPUjI7DQotICB9DQorICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBOaWMt PkNvbm5lY3RQZW5kaW5nTmV0d29yayA9IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxv Y2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBp ZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9 IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQogDQot ICBTdGF0dXMgPSBnQlMtPlNldFRpbWVyIChOaWMtPlRpY2tUaW1lciwgVGltZXJQZXJpb2RpYywg RUZJX1RJTUVSX1BFUklPRF9NSUxMSVNFQ09ORFMgKDUwMCkpOw0KLSAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KLSAgICBnb3RvIEVSUk9SMzsNCi0gIH0NCisgICAgV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2wtPldpZmlQcm9maWxlU3luY0dldFByb2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdO ZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3MpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05l dHdvcmsgIT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IFdpZmlNZ3JDb25uZWN0VG9OZXR3b3Jr IChOaWMsIE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrKTsNCisgICAgICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQorICAgICAgICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2Zp bGVTeW5jU2V0Q29ubmVjdFN0YXRlIChTdGF0dXMpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsN CisgICAgICBnb3RvIEVSUk9SMTsNCisgICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgLy8NCisgICAg Ly8gUmVjb3JkIHRoZSBNQUMgYWRkcmVzcyBvZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgICAvLw0K KyAgICBTdGF0dXMgPSBOZXRMaWJHZXRNYWNBZGRyZXNzICgNCisgICAgICAgICAgICAgICBDb250 cm9sbGVySGFuZGxlLA0KKyAgICAgICAgICAgICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5N YWNBZGRyZXNzLA0KKyAgICAgICAgICAgICAgICZBZGRyZXNzU2l6ZQ0KKyAgICAgICAgICAgICAg ICk7DQorICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMjsN CisgICAgfQ0KIA0KLSAgTmljLT5Db25uZWN0U3RhdGUgPSBXaWZpTWdyRGlzY29ubmVjdGVkOw0K LSAgTmljLT5TY2FuU3RhdGUgICAgPSBXaWZpTWdyU2NhbkZpbmlzaGVkOw0KKyAgICAvLw0KKyAg ICAvLyBDcmVhdGUgYW5kIHN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KKyAg ICAvLw0KKyAgICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50ICgNCisgICAgICAgICAgICAgICAg ICAgIEVWVF9OT1RJRllfU0lHTkFMIHwgRVZUX1RJTUVSLA0KKyAgICAgICAgICAgICAgICAgICAg VFBMX0NBTExCQUNLLA0KKyAgICAgICAgICAgICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0K KyAgICAgICAgICAgICAgICAgICAgTmljLA0KKyAgICAgICAgICAgICAgICAgICAgJk5pYy0+VGlj a1RpbWVyDQorICAgICAgICAgICAgICAgICAgICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQorICAgICAgZ290byBFUlJPUjI7DQorICAgIH0NCiANCi0gIE9sZFRwbCA9IGdCUy0+ UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQotICBJbnNlcnRUYWlsTGlzdCAoJm1Qcml2YXRlLT5O aWNMaXN0LCAmTmljLT5MaW5rKTsNCi0gIE5pYy0+TmljSW5kZXggPSBtUHJpdmF0ZS0+TmljQ291 bnQrKzsNCi0gIGlmIChtUHJpdmF0ZS0+Q3VycmVudE5pYyA9PSBOVUxMKSB7DQotICAgIG1Qcml2 YXRlLT5DdXJyZW50TmljID0gTmljOw0KLSAgfQ0KKyAgICBTdGF0dXMgPSBnQlMtPlNldFRpbWVy IChOaWMtPlRpY2tUaW1lciwgVGltZXJQZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNF Q09ORFMgKDUwMCkpOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290 byBFUlJPUjM7DQorICAgIH0NCiANCi0gIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgICAg TmljLT5Db25uZWN0U3RhdGUgPSBXaWZpTWdyRGlzY29ubmVjdGVkOw0KKyAgICBOaWMtPlNjYW5T dGF0ZSAgICA9IFdpZmlNZ3JTY2FuRmluaXNoZWQ7DQorDQorICAgIE9sZFRwbCA9IGdCUy0+UmFp c2VUUEwgKFRQTF9DQUxMQkFDSyk7DQorICAgIEluc2VydFRhaWxMaXN0ICgmbVByaXZhdGUtPk5p Y0xpc3QsICZOaWMtPkxpbmspOw0KKyAgICBOaWMtPk5pY0luZGV4ID0gbVByaXZhdGUtPk5pY0Nv dW50Kys7DQorICAgIGlmIChtUHJpdmF0ZS0+Q3VycmVudE5pYyA9PSBOVUxMKSB7DQorICAgICAg bVByaXZhdGUtPkN1cnJlbnROaWMgPSBOaWM7DQorICAgIH0NCisNCisgICAgZ0JTLT5SZXN0b3Jl VFBMIChPbGRUcGwpOw0KKyAgfQ0KIA0KICAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJ bnRlcmZhY2UgKA0KICAgICAgICAgICAgICAgICAgICZDb250cm9sbGVySGFuZGxlLA0KQEAgLTM4 NSwxMCArNDE4LDExIEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RvcCAoDQogICBJTiBFRklf SEFORExFICAgICAgICAgICAgICAgICAgICpDaGlsZEhhbmRsZUJ1ZmZlciBPUFRJT05BTA0KICAg KQ0KIHsNCi0gIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9UUEwg ICAgICAgICAgICAgICAgICAgIE9sZFRwbDsNCi0gIFdJRklfTUdSX1BSSVZBVEVfUFJPVE9DT0wg ICpXaWZpTWdySWRlbnRpZmllcjsNCi0gIFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICpOaWM7 DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9UUEwg ICAgICAgICAgICAgICAgICAgICAgICAgT2xkVHBsOw0KKyAgV0lGSV9NR1JfUFJJVkFURV9QUk9U T0NPTCAgICAgICAqV2lmaU1ncklkZW50aWZpZXI7DQorICBXSUZJX01HUl9ERVZJQ0VfREFUQSAg ICAgICAgICAgICpOaWM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZp UHJvZmlsZVN5bmNQcm90b2NvbDsNCiANCiAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgN CiAgICAgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KQEAgLTQ4MSw3ICs1MTUsMTUg QEAgV2lmaU1nckR4ZURyaXZlckJpbmRpbmdTdG9wICgNCiAgIC8vDQogICBPbGRUcGwgPSBnQlMt PlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KIA0KLSAgUmVtb3ZlRW50cnlMaXN0ICgmTmljLT5M aW5rKTsNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAg ICAgICZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAg IE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3Rv Y29sDQorICAgICAgICAgICAgICAgICAgKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN CisgICAgUmVtb3ZlRW50cnlMaXN0ICgmTmljLT5MaW5rKTsNCisgIH0NCisNCiAgIG1Qcml2YXRl LT5OaWNDb3VudC0tOw0KICAgaWYgKG1Qcml2YXRlLT5DdXJyZW50TmljID09IE5pYykgew0KICAg ICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9IE5VTEw7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9X aWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEeGUuaCBiL05ldHdvcmtQ a2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCmluZGV4 IDdiMmU0MWUxNTUuLjA0N2Y4NWRiYzIgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oDQorKysgYi9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oDQpAQCAtNDcs NiArNDcsNyBAQA0KICNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVOZXR3b3JrLmg+DQogI2luY2x1 ZGUgPFByb3RvY29sL1NpbXBsZUZpbGVTeXN0ZW0uaD4NCiAjaW5jbHVkZSA8UHJvdG9jb2wvRWFw Q29uZmlndXJhdGlvbi5oPg0KKyNpbmNsdWRlIDxQcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90 b2NvbC5oPg0KIA0KIC8vDQogLy8gUHJvZHVjZWQgUHJvdG9jb2xzDQpAQCAtNzMsNyArNzQsOCBA QA0KIC8vDQogI2RlZmluZSBXSUZJX01HUl9EWEVfVkVSU0lPTiAgMHhiDQogDQotI2RlZmluZSBP VUlfSUVFRV84MDIxMUkgIDB4QUMwRjAwDQorI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgICAgICAg ICAgICAgIDB4QUMwRjAwDQorI2RlZmluZSBNQVhfV0lGSV9DT05ORVRJT05fQVRURU1QVFMgIDMN CiANCiB0eXBlZGVmIGVudW0gew0KICAgSWVlZTgwMjExUGFpcndpc2VDaXBoZXJTdWl0ZVVzZUdy b3VwQ2lwaGVyU3VpdGUgPSAwLCBkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlv bk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBsLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwuYw0KaW5kZXggNTliYWM0OGM0 Mi4uYTczYWI5ZjcxMCAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5h Z2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwuYw0KQEAgLTE5LDYgKzE5LDgg QEAgRUZJX0VBUF9UWVBFICBtRWFwU2Vjb25kQXV0aE1ldGhvZFtdID0gew0KICAgRUZJX0VBUF9U WVBFX01TQ0hBUFYyDQogfTsNCiANCitVSU5UOCAgbVdpZmlDb25uZWN0aW9uQ291bnQgPSAwOw0K Kw0KIC8qKg0KICAgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBzY2FuIG9wZXJhdGlvbi4gVGhp cyBmdW5jdGlvbiB1cGRhdGVzIG5ldHdvcmtzDQogICBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBz Y2FuIHJlc3VsdCwgYW5kIHRyaWdnZXIgVUkgcmVmcmVzaC4NCkBAIC00MjQsMTggKzQyNiwyNiBA QCBXaWZpTWdyQ29uZmlnUGFzc3dvcmQgKA0KICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCiAg IH0NCiANCi0gIEFzY2lpUGFzc3dvcmQgPSBBbGxvY2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9m aWxlLT5QYXNzd29yZCkgKyAxKSAqIHNpemVvZiAoVUlOVDgpKTsNCisgIGlmIChTdHJMZW4gKFBy b2ZpbGUtPlBhc3N3b3JkKSA+PSBQQVNTV09SRF9TVE9SQUdFX1NJWkUpIHsNCisgICAgQVNTRVJU IChFRklfSU5WQUxJRF9QQVJBTUVURVIpOw0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1F VEVSOw0KKyAgfQ0KKw0KKyAgQXNjaWlQYXNzd29yZCA9IEFsbG9jYXRlWmVyb1Bvb2wgKChTdHJM ZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpICogDQorIHNpemVvZiAoQ0hBUjgpKTsNCiAgIGlm IChBc2NpaVBhc3N3b3JkID09IE5VTEwpIHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VS Q0VTOw0KICAgfQ0KIA0KLSAgVW5pY29kZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5QYXNzd29y ZCwgKENIQVI4ICopQXNjaWlQYXNzd29yZCwgUEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCi0gIFN0 YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEgKA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBT dXBwbGljYW50LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQ c2tQYXNzd29yZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgQXNjaWlQYXNzd29yZCwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkg KiBzaXplb2YgKFVJTlQ4KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgU3RhdHVz ID0gVW5pY29kZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4IA0KKyAq KUFzY2lpUGFzc3dvcmQsIChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpKTsgIGlmICgh RUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEg KA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1cHBsaWNhbnQsDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWZpU3VwcGxpY2FudDgwMjExUHNrUGFzc3dvcmQsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgQXNjaWlQYXNzd29yZCwNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIHNpemVvZiAoQ0hBUjgpDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCisgIH0NCisNCiAgIFplcm9NZW0gKEFzY2lp UGFzc3dvcmQsIEFzY2lpU3RyTGVuICgoQ0hBUjggKilBc2NpaVBhc3N3b3JkKSArIDEpOw0KICAg RnJlZVBvb2wgKEFzY2lpUGFzc3dvcmQpOw0KIA0KQEAgLTQ2Niw2ICs0NzYsNyBAQCBXaWZpTWdy Q29uZmlnRWFwICgNCiAgICkNCiB7DQogICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg IFN0YXR1czsNCisgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxl U3luY1Byb3RvY29sOw0KICAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAqRWFwQ29u ZmlnOw0KICAgRUZJX0VBUF9UWVBFICAgICAgICAgICAgICAgICAgICBFYXBBdXRoTWV0aG9kOw0K ICAgRUZJX0VBUF9UWVBFICAgICAgICAgICAgICAgICAgICBFYXBTZWNvbmRBdXRoTWV0aG9kOw0K QEAgLTU2Nyw3ICs1NzgsMTMgQEAgV2lmaU1nckNvbmZpZ0VhcCAoDQogICAgICAgcmV0dXJuIEVG SV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgICB9DQogDQotICAgIFVuaWNvZGVTdHJUb0FzY2lpU3Ry UyAoUHJvZmlsZS0+RWFwSWRlbnRpdHksIElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICBT dGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29s R3VpZCwgTlVMTCwgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sKTsNCisgICAgaWYg KCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICBDb3B5TWVtIChJZGVudGl0eSwgJlByb2Zp bGUtPkVhcElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIFVu aWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+RWFwSWRlbnRpdHksIElkZW50aXR5LCBJZGVu dGl0eVNpemUpOw0KKyAgICB9DQorDQogICAgIFN0YXR1cyA9IEVhcENvbmZpZy0+U2V0RGF0YSAo DQogICAgICAgICAgICAgICAgICAgICAgICAgICBFYXBDb25maWcsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICBFRklfRUFQX1RZUEVfSURFTlRJVFksIEBAIC04OTIsNiArOTA5LDEzMyBAQCBX aWZpTWdyUHJlcGFyZUNvbm5lY3Rpb24gKA0KICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiAN CisvKioNCisgIFdpbGwgcmVzZXQgTmlDIGRhdGEsIGdldCBwcm9maWxlIGZyb20gcHJvZmlsZSBz eW5jIGRyaXZlciwgYW5kIHNlbmQgDQorZm9yDQorICBhbm90aGVyIGNvbm5lY3Rpb24gYXR0ZW1w dC5UaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgY2FsbGVkIG1vcmUgDQordGhhbg0KKyAgMyB0 aW1lcy4NCisNCisgIEBwYXJhbVtpbl0gIFdpRmlQcm9maWxlU3luY1Byb3RvY29sICBUaGUgdGFy Z2V0IG5ldHdvcmsgcHJvZmlsZSB0byBjb25uZWN0Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkLg0KKyAgQHJldHZh bCBvdGhlciAgICAgICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvbiBmYWlsdXJlLg0KKw0KKyoq Lw0KK0VGSV9TVEFUVVMNCitDb25uZWN0aW9uUmV0cnkgKA0KKyAgSU4gICBFRklfV0lGSV9QUk9G SUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbA0KKyAgKQ0KK3sNCisg IEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgV0lG SV9NR1JfREVWSUNFX0RBVEEgICAgICAgICAgICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJUkVM RVNTX01BQ19DT05ORUNUSU9OX0lJX1BST1RPQ09MICAqV21wOw0KKyAgRUZJX1NVUFBMSUNBTlRf UFJPVE9DT0wgICAgICAgICAgICAgICAgICAqU3VwcGxpY2FudDsNCisgIEVGSV9FQVBfQ09ORklH VVJBVElPTl9QUk9UT0NPTCAgICAgICAgICAgKkVhcENvbmZpZzsNCisNCisgIE5pYyA9IE5VTEw7 DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAg ICAmZ0VmaVdpRmkyUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAg ICAgICAgICAgICAgICAgKFZPSUQgKiopJldtcA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQor ICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0Vm aVN1cHBsaWNhbnRQcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAg ICAgICAgICAgICAgICAoVk9JRCAqKikmU3VwcGxpY2FudA0KKyAgICAgICAgICAgICAgICAgICk7 DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFN1cHBsaWNhbnQgPSBOVUxMOw0K KyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAg ICAgICAgJmdFZmlFYXBDb25maWd1cmF0aW9uUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAg ICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJkVhcENvbmZpZw0KKyAgICAg ICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIEVhcENv bmZpZyA9IE5VTEw7DQorICB9DQorDQorICAvLw0KKyAgLy8gSW5pdGlhbGl6ZSBOaWMgZGV2aWNl IGRhdGENCisgIC8vDQorICBOaWMgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdS X0RFVklDRV9EQVRBKSk7ICBpZiAoTmljID09DQorIE5VTEwpIHsNCisgICAgU3RhdHVzID0gRUZJ X09VVF9PRl9SRVNPVVJDRVM7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBOaWMt PlNpZ25hdHVyZSAgICAgICAgICAgPSBXSUZJX01HUl9ERVZJQ0VfREFUQV9TSUdOQVRVUkU7DQor ICBOaWMtPlByaXZhdGUgICAgICAgICAgICAgPSBtUHJpdmF0ZTsNCisgIE5pYy0+V21wICAgICAg ICAgICAgICAgICA9IFdtcDsNCisgIE5pYy0+U3VwcGxpY2FudCAgICAgICAgICA9IFN1cHBsaWNh bnQ7DQorICBOaWMtPkVhcENvbmZpZyAgICAgICAgICAgPSBFYXBDb25maWc7DQorICBOaWMtPlVz ZXJTZWxlY3RlZFByb2ZpbGUgPSBOVUxMOw0KKyAgTmljLT5PbmVUaW1lU2NhblJlcXVlc3QgID0g RkFMU0U7DQorDQorICBpZiAoTmljLT5TdXBwbGljYW50ICE9IE5VTEwpIHsNCisgICAgU3RhdHVz ID0gV2lmaU1nckdldFN1cHBvcnRlZFN1aXRlcyAoTmljKTsgIH0NCisNCisgIGlmICghRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQorICAgIEluaXRpYWxpemVMaXN0SGVhZCAoJk5pYy0+UHJvZmlsZUxp c3QpOw0KKw0KKyAgICBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9IChXSUZJX01HUl9ORVRX T1JLX1BST0ZJTEUgKilBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX05FVFdPUktf UFJPRklMRSkpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPT0gTlVMTCkg ew0KKyAgICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICAgIERFQlVHICgo REVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJdIEZhaWxlZCB0byBhbGxvY2F0 ZSBtZW1vcnkgZm9yIENvbm5lY3RQZW5kaW5nTmV0d29ya1xuIikpOw0KKyAgICAgIGdvdG8gRVJS T1I7DQorICAgIH0NCisNCisgICAgU3RhdHVzID0gV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldp ZmlQcm9maWxlU3luY0dldFByb2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMt Pk1hY0FkZHJlc3MpOw0KKyAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSAmJiAoTmljLT5Db25u ZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkpIHsNCisgICAgICBTdGF0dXMgPSBXaWZpTWdyQ29u bmVjdFRvTmV0d29yayAoTmljLCBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayk7DQorICAgICAg aWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgIHJldHVybiBTdGF0dXM7DQorICAg ICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBD b25uZWN0aW9uIE1hbmFnZXJdIEZhaWxlZCB0byBnZXQgV2lGaSBwcm9maWxlIHdpdGggc3RhdHVz ICVyXG4iLCBTdGF0dXMpKTsNCisgICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgREVCVUcgKChERUJV R19FUlJPUiwgIltXaUZpIENvbm5lY3Rpb24gTWFuYWdlcl0gRmFpbGVkIHRvIGdldCANCisgU3Vw cG9ydGVkIHN1aXRlcyB3aXRoIHN0YXR1cyAlclxuIiwgU3RhdHVzKSk7ICB9DQorDQorICBpZiAo TmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkgew0KKyAgICBpZiAoTmljLT5Db25u ZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsuQUtNU3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZy ZWVQb29sIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yay0+TmV0d29yay5BS01TdWl0ZSk7DQor ICAgIH0NCisNCisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNp cGhlclN1aXRlICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGlu Z05ldHdvcmstPk5ldHdvcmsuQ2lwaGVyU3VpdGUpOw0KKyAgICB9DQorDQorICAgIEZyZWVQb29s IChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayk7ICB9DQorDQorRVJST1I6DQorICBpZiAoTmlj LT5TdXBwbGljYW50ICE9IE5VTEwpIHsNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1 cHBvcnRlZEFLTVN1aXRlcyAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9y dGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1aXRlcyk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+ U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZFN3Q2lwaGVyU3VpdGVzICE9IE5VTEwpIHsNCisgICAg ICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJTdWl0ZXMp Ow0KKyAgICB9DQorDQorICAgIGlmIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0Np cGhlclN1aXRlcyAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3Vp dGVzLlN1cHBvcnRlZEh3Q2lwaGVyU3VpdGVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgRnJlZVBv b2wgKE5pYyk7DQorDQorICByZXR1cm4gU3RhdHVzOw0KK30NCisNCiAvKioNCiAgIFRoZSBjYWxs YmFjayBmdW5jdGlvbiBmb3IgY29ubmVjdCBvcGVyYXRpb24uDQogDQpAQCAtOTA4LDEyICsxMDUy LDEzIEBAIFdpZmlNZ3JPbkNvbm5lY3RGaW5pc2hlZCAoDQogICBJTiAgVk9JRCAgICAgICAqQ29u dGV4dA0KICAgKQ0KIHsNCi0gIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0g IFdJRklfTUdSX01BQ19DT05GSUdfVE9LRU4gICpDb25maWdUb2tlbjsNCi0gIFdJRklfTUdSX05F VFdPUktfUFJPRklMRSAgICpDb25uZWN0ZWRQcm9maWxlOw0KLSAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgU2VjdXJpdHlUeXBlOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU1NJ ZExlbjsNCi0gIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBFRklf U1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIFdJRklfTUdSX01BQ19DT05G SUdfVE9LRU4gICAgICAgKkNvbmZpZ1Rva2VuOw0KKyAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxF ICAgICAgICAqQ29ubmVjdGVkUHJvZmlsZTsNCisgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2VjdXJpdHlUeXBlOw0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBT U0lkTGVuOw0KKyAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAqQXNjaWlTU0lkOw0K KyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2w7DQogDQogICBBU1NFUlQgKENvbnRleHQgIT0gTlVMTCk7DQogDQpAQCAtOTI1LDYgKzEwNzAs MjQgQEAgV2lmaU1nck9uQ29ubmVjdEZpbmlzaGVkICgNCiAgIEFTU0VSVCAoQ29uZmlnVG9rZW4t PlR5cGUgPT0gVG9rZW5UeXBlQ29ubmVjdE5ldHdvcmtUb2tlbik7DQogDQogICBBU1NFUlQgKENv bmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuICE9IE5VTEwpOw0KKw0KKyAgU3Rh dHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1 aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQ cm9maWxlU3luY1NldENvbm5lY3RTdGF0ZSAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3 b3JrVG9rZW4tPlJlc3VsdENvZGUpOw0KKyAgICBpZiAoKG1XaWZpQ29ubmVjdGlvbkNvdW50IDwg TUFYX1dJRklfQ09OTkVUSU9OX0FUVEVNUFRTKSAmJg0KKyAgICAgICAgKENvbmZpZ1Rva2VuLT5U b2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5SZXN1bHRDb2RlICE9IENvbm5lY3RTdWNjZXNzKSkN CisgICAgew0KKyAgICAgIG1XaWZpQ29ubmVjdGlvbkNvdW50Kys7DQorICAgICAgZ0JTLT5DbG9z ZUV2ZW50IChFdmVudCk7DQorICAgICAgU3RhdHVzID0gQ29ubmVjdGlvblJldHJ5IChXaUZpUHJv ZmlsZVN5bmNQcm90b2NvbCk7DQorICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisg ICAgICAgIHJldHVybjsNCisgICAgICB9DQorDQorICAgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2wtPldpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0ZSAoU3RhdHVzKTsNCisgICAgfQ0KKyAg fQ0KKw0KICAgaWYgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5TdGF0 dXMgIT0gRUZJX1NVQ0NFU1MpIHsNCiAgICAgaWYgKENvbmZpZ1Rva2VuLT5OaWMtPk9uZVRpbWVD b25uZWN0UmVxdWVzdCkgew0KICAgICAgIC8vDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZp Q29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMgYi9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KaW5kZXgg NGFkNTY0M2MyNC4uODdhZGZjNTAzMyAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5l Y3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyTWlzYy5jDQorKysgYi9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KQEAgLTY3 MiwxMCArNjcyLDIzIEBAIFdpZmlNZ3JDbGVhblByb2ZpbGVTZWNyZXRzICgNCiAgIElOICBXSUZJ X01HUl9ORVRXT1JLX1BST0ZJTEUgICpQcm9maWxlDQogICApDQogew0KKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJP VE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCisNCiAgIFplcm9NZW0gKFByb2ZpbGUt PlBhc3N3b3JkLCBzaXplb2YgKENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAg WmVyb01lbSAoUHJvZmlsZS0+RWFwUGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JE X1NUT1JBR0VfU0laRSk7DQogICBaZXJvTWVtIChQcm9maWxlLT5Qcml2YXRlS2V5UGFzc3dvcmQs IHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQogDQorICAvLw0KKyAg Ly8gIFdoZW4gRUZJIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIGlzIGZvdW5kIHRoZSBzeXN0 ZW0gaXMgDQorIHBlcmZvcm1pbmcgYSByZWNvdmVyeSBib290IGluIHNlY3VyZSAgLy8gIGJvb3Qg bW9kZS4gVGhlIHByb2ZpbGUgc3luYyANCisgZHJpdmVyIHdpbGwgbWFuYWdlIHRoZSBDQSBjZXJ0 aWZpY2F0ZSwgY2xpZW50IGNlcnRpZmljYXRlLCBhbmQga2V5ICAvLyAgZGF0YSwgY2xlYW5pbmcg dGhlbSBhdCBleGl0IGJvb3Qgc2VydmljZXMuDQorICAvLw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2Nh dGVQcm90b2NvbCAoJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAo Vk9JRCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1 cykpIHsNCisgICAgcmV0dXJuOw0KKyAgfQ0KKw0KICAgaWYgKFByb2ZpbGUtPkNBQ2VydERhdGEg IT0gTlVMTCkgew0KICAgICBaZXJvTWVtIChQcm9maWxlLT5DQUNlcnREYXRhLCBQcm9maWxlLT5D QUNlcnRTaXplKTsNCiAgICAgRnJlZVBvb2wgKFByb2ZpbGUtPkNBQ2VydERhdGEpOw0KLS0NCjIu MzcuMy53aW5kb3dzLjENCg0K