From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.230.1667244668767329926 for ; Mon, 31 Oct 2022 12:31:09 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=F8NSinAy; spf=pass (domain: intel.com, ip: 134.134.136.20, 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=1667244668; x=1698780668; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=RgCckjOAH2rAH6Fy5i+06rs6A0dGHm0aMQPniab9Rlc=; b=F8NSinAyoAgbNo+lI5DopMzFWpf1PKzbOWAZYGM5+bDOt3kp07mcdvJg UXuYEKzvhs209f8lP833zhvJxw0mUisyCcYuxxlrccKQ0uQnImTg2qxcg KEqJEm0aHD0mD2bTJzWXTVIdztY3cD8HSI/xSwk9l8aJPQ+UCBKNa+/5p BgllPezOwdOUii5OBDD1qX28sgn8Njt3xb3MBVe2odt2scpuytpGOoIjJ cDY3oMttfmzRKiuhsC0OO2I/iVIkMMLGu7CnXKJdP0BWbB2amMz5aZtH5 vxVTMnHp8d7WJVDx9ArQGz/h4UFokOC5lnFcSSCaKMb0l0cQdk4V6Nst3 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10517"; a="296401846" X-IronPort-AV: E=Sophos;i="5.95,228,1661842800"; d="scan'208";a="296401846" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Oct 2022 12:31:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10517"; a="633638489" X-IronPort-AV: E=Sophos;i="5.95,228,1661842800"; d="scan'208";a="633638489" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga002.jf.intel.com with ESMTP; 31 Oct 2022 12:31:07 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2375.31; Mon, 31 Oct 2022 12:31:07 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 31 Oct 2022 12:31:06 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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; Mon, 31 Oct 2022 12:31:06 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 31 Oct 2022 12:31:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UsafbHit1kitIVvjQQOX86Sv8q01jhL2hYJqFt99gJIuKV7OqbU8EMU3SkNFKfDuIPDr9qBK7wWlGNITGlPc6oFFrXyH8CK6Ylhumnr16ZSKaLKsd7+8NkaGmBuhu4Xci6NHkb5LczccitlWegkCgTWawc7uWgshRGtErfVOukba65v3ko39mo+HRTLtsNZkgr/50aPcWFhAReoUnZXXGFEQoh3oaszpp7Am7reOpZt0NRVUSIwhQsmssQAK3bT3FBC6D8UZjLoDZfFP5Z1gScYrMCGz2nwXGBTaoUUPYAoNExKP8e9BrgAzK1wZ1EeIP2Ug2T1xkG9NEvplcljBDw== 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=RgCckjOAH2rAH6Fy5i+06rs6A0dGHm0aMQPniab9Rlc=; b=OZdpJ4i+crjumh8irE7YLCa6iM6aQtJV1aVPkjmEUyUrdlAPtgm8951t/84yUQ3LvXMTQF0t3p3vN/fFhbZuQ2b7sImUVIcqfbRzaQ5NA8dGVINWIxG0mxmvYi7uJC18VtUIVq8Ef3Th8QmOwOwr4ahEUyM+XNoSX3iYh7oxEmUVhSsxsMl1wZK6b9y5QIBcZCBw/+FREm0Jj20un7BQrPm1xe4wodPtvDk9M1TYO0SAuakUXbeMRwx29ZIBntkR5Oi/mAuYdT3F/wJbqo5SQOP5GL8wKybkEYHkri7PMsryGbgp9Ld+LXoDfraqj4Bo+ZDVVDqEpQ+7AzrqYlMOfQ== 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 CY5PR11MB6367.namprd11.prod.outlook.com (2603:10b6:930:39::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Mon, 31 Oct 2022 19:31:03 +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.5769.016; Mon, 31 Oct 2022 19:31:03 +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" CC: "Alappat, Paul" , "Kasbekar, Saloni" , "Patil, Ajit" 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+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwIAEq9RQ Date: Mon, 31 Oct 2022 19:31:03 +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_|CY5PR11MB6367:EE_ x-ms-office365-filtering-correlation-id: 84d1801c-ef2b-42aa-a604-08dabb7672b3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: b1Rgwd36x2dGUyl9VYQyj0btvb/rKqpRPHF+VPFyvmblGS6mK8rQ5a2zuPBV2pbkj+FY1yYvKfMDaWT3HVP3ObpZy7MP6ESwwtd9K1RI6qpJv2iw6NKOAihz+U1uzB1Vv9qRhsFDdprdEaSt62xEnQ4wCIAkU2SXv2sxMYjYtpUUWkNLVyH2gV9+ZYq/IlAiI4Zr2XSqmEaYBmSWHw/J3XXRGwHXK79I0jm1yfzJPYNH79mApjFmif8qMju+ZW/i9mXo8tNYNvw353SfnAOJNjvTgT6Z6ddeZy3oG3UADywcu8F1uJZWUT63+ny66+hfijN1TrCK47AJfJJYTj+bZcO9ZMdfOvTwDOu3zKfNrYC+yJlaI40es4kPCx715+PCKoe3bw/zPKJq+JUvXickaBYrpZwgE4pULjSrT/jPwAuw+tlt9oVwenmAxpLBtgd6odG71bbKDb/uK5IrpCjB3oEgRfmQiLeUYvp3PNozz1FRXfdCXi5TeC/SryS+SZa1NvLxz0UGlqx+1fQOgtsYvIZkKcUtQeK6APEc4jBrf7xqngxeSLtbp9D6t4yoDX5AEl4lKBvGw458GuJS8FSkCsDXejC1wzowK+bViRxAgA8CucLwJ5iUnJTZ4E3uKAuHR96UTmoBLctSPRg3mogw5DSwA7bIbkW2th6XJ8gJLLCkLH+nYspirsRsbYyPe/6PcCgUcfAKFRCVRtHlCIbXQnBIdHaGH0QMwQagMCrdfKZzNU/3/0EKU26OUfoaMYuF8HcwP3c9Wwpx5TjZFXW1lqekxai1ONVoeiEoUDVWhc421negoRnpcKl1Ym4mRIVLlpsVaAnUFNqQYY/sdBTR1Q== 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)(376002)(396003)(39860400002)(346002)(136003)(366004)(451199015)(83380400001)(26005)(2906002)(30864003)(186003)(5660300002)(966005)(41300700001)(9686003)(122000001)(6636002)(86362001)(54906003)(110136005)(19627235002)(316002)(33656002)(66446008)(38070700005)(38100700002)(478600001)(82960400001)(64756008)(8676002)(107886003)(66476007)(66946007)(71200400001)(66556008)(52536014)(8936002)(55016003)(921005)(76116006)(7696005)(4326008)(53546011)(6506007)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K281QlovbGRNMlpjNHhKSloxR0xQQXlWR1lwWEsrTEhyS1RhcURBTTlvNFA4?= =?utf-8?B?NlA1RFlGbFA2RmY0VFQzUDBTaEZRVUNMUU5veUYvRjdac2hIWUxpd2NNeUtM?= =?utf-8?B?ajZGRVU4c0VWcC91eDJCb0thN1JYV1h0ZzB2UkFUV1lydjFDYnQwYVdBVnd5?= =?utf-8?B?QnJ6cmlYR0FWQWluR2tCdEVpQ01tcU01ejY5d1pncUc0WWtqSWkvR0hhbVp3?= =?utf-8?B?alJuYlRrdG80YjJQbFRVOVpWWnp3VkIxNW5Vd1BibDV4Snl0RG1NbHorSUtH?= =?utf-8?B?clFselFqWFdNVzBKcmtyUEQrcS8yczNiQXRpQ1lrWkN5ZUNSSnRXeXlab3Jt?= =?utf-8?B?T2V4cGlyNzUwTzNDeHFycUVDZmtSTXRyTkxoc2NzdExBUC9IMVFmQ0FuVFN1?= =?utf-8?B?Wnd0bUpZVTdlYm1MczZhekNFL0ZHZHJmRjR4ZCtkSWV3YXk4YnRzTFJDRlFa?= =?utf-8?B?S3hJcHNoY0hSTmlCRllRcXkyV0xYaUZqL051TGt2dUlaRzRSbWZRejVrdElI?= =?utf-8?B?RHBsY05JWWhlTXM5YVJSdU5sY25NSURZSGVRdUhjd1VYakJQSHRDZUNOa2ZB?= =?utf-8?B?TUFnVnlCbVJPMkI0UHUvK1lKV1FWM3VxemNUK21mOWMzdFc1MHhjcjRSTVpG?= =?utf-8?B?THFNamR6d1R3VVhXMjJxaDg3YXp6UjZpSGh2ZDFqYWY0ODF6ZnVsQklsZFJI?= =?utf-8?B?VFRheWFSNDFuRkdJQTZkZnY1SGREVnlHemltS1pySFVjaWdNRmYwOVJIanNh?= =?utf-8?B?V2FUWWhjR2llSUZIYnRUMExhVUtYSkdsTUJnelNUQjR2bjZQYXV6Ukt4SkQ3?= =?utf-8?B?b0FsWjJieGNrVW9xRDZicnEzWndXZy9Ud0s4TDVOUGpXdmJJSWlHVSs3Z2pn?= =?utf-8?B?VGVpbFZBd01WRzIzcE4zbnJDdVVmNGV5TGRDK3NwVnIra2VqdlpCdEFmUGk5?= =?utf-8?B?ak54WHF2MkVKVWJPd25PVm1kcHRwOEFrc1hzcjFmMGFtSkEwVk9qYlRUcEt2?= =?utf-8?B?VDZUcit2dEpBYU8rV01CRVJka09UMWxncXU3em5GNlZEOElQWml5STlvZXd1?= =?utf-8?B?ZFliUHhDemJ1SGlsTGdlM256SUJHdVNYU3lJV2RBdnMvZHlFWjFjNGhQU1Yw?= =?utf-8?B?cmptbkZQVHVNQ0d6cHd0cFk1YnlTZGZUNDBrSERlUlllWVpFajA5b0FVMG5L?= =?utf-8?B?SGc2cDZzZUtFL2Q1MHdVUTNQajFMaGR4REUySDBJOVNlSmVERHA5SVh1YVQw?= =?utf-8?B?L1pHbGFOTEpqV2dnRXdnV2habDJlWkMxbGJwZ3ovWUVjR2FhSlhSQjNFTHVY?= =?utf-8?B?UjNudnN5RjN6cGdHc1NJK043OFpHbWFDZXR4VllhUmNHYXM3SC91bnNONkZi?= =?utf-8?B?STFzS0ZzT2hML1kwa1F0azB6RmlIVGdsZS9vTklhSExYM1ZuSG4wK1ZQVWVS?= =?utf-8?B?UUIxU1FxZ1NKRHRXdUY1cWQ0UnlKOWQ2bVBMK3h5SUd6djFMaDkvajFsaE1o?= =?utf-8?B?ZjRRcUhSOTM1K0xZWHE0dkVIeC9XcXdFZDNDRWRXUjNUc1NCQXEvZ3ZLWE9D?= =?utf-8?B?bkhGL0Z1cmF3aDBqdjVjbUJ4Z29ZWDdndzlIenpVaTRzbFJiYS9wYkZoS0Zz?= =?utf-8?B?Y3RPbjlRUjkwNjQzZEZQb1Vzb0xEV1hOZG42MGd6Z3puaFgzTzRMcXBmeis5?= =?utf-8?B?cjdFRElSZ2dnNlFJSlk4U1BlUlMwb1JSc2UzUUxEcDFFcG93U3ZpellBTVRG?= =?utf-8?B?YlJncDBDWm1WQlJ6N2FVU0NGS0lQZ2ZuZUhJUk5Ua2hMZFFYNHVxTmhaNng3?= =?utf-8?B?bHRmUWpwZkNUMS9EaHp4WGtOWDVuZllGY0JRWE80M0lhNHV2VUZ1cnl6WDJJ?= =?utf-8?B?L1RUUG94dDlFMUcyNjFvU2xGOEFYdWY3VzhEUk5lMGplZWwvb3Mvb1QydmtJ?= =?utf-8?B?Wm9HL3FSTGY3b3dYOUlzZVJGTlVnK0RQZjdzM1JrdTZqeG9MUHh4NFZ4VWlk?= =?utf-8?B?eTdaazhvQUM1RWErZnI1b29IRWs5bXdwazZmS2FUT2ZOZ3QwcEdIdFcxNGNT?= =?utf-8?B?Z0FzV3Q0UDlsRUR5UGdwK2pnaS94ZVlWMkdqQUtseHZ1dDJDeUlTT29nOFNu?= =?utf-8?B?dm1UWG1ONEt1Zm50RTlUMmhOTjBLOEw3UmVIVVhoSExDWDc0ZHpWcUJLbDZa?= =?utf-8?Q?rccg0rzhVFWbcEAZkBIJPUQ=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: 84d1801c-ef2b-42aa-a604-08dabb7672b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2022 19:31:03.0788 (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: 96VmajCMAyEk0MrYDUb/XUi8sAjoLyQjiaGlVxQu+kjubWZlOK9r0p+mORvUQfp/SX67wsvjnm32uXWGRbUUzxUA07qHlvF1MOxYppj52An4ppJsotZ7TexEjcQoFZBU X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6367 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 KysgdmlzaWJpbGl0eSANCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENsYXJr LXdpbGxpYW1zLCBaYWNoYXJ5IA0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDI4LCAyMDIyIDE6MTMg UE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBS YWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcu bHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3Vv LCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0 a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNpeXVhbiA8c2l5 dWFuLmZ1QGludGVsLmNvbT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNo ZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0KU3Vi amVjdDogUkU6IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZp IHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCisrTW9yZSBmb3IgcmV2aWV3YWwhDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFy eQ0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDI4LCAyMDIyIDE6MTAgUE0NClRvOiBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBSYWJlZGEsIE1hY2llaiA8bWFj aWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT47IEt1 bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50 ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRlbC5jb20+ OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KU3ViamVjdDogUkU6IFtQQVRDSCB2NF0gTmV0d29ya1Br Zy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0 DQoNClRoYW5rcyBmb3IgdGhlIGZvcndhcmQgTWlrZSENCg0KTWFjaWVqIGFuZCBBbGwsIA0KDQpJ ZiB5b3UgY291bGQgcGxlYXNlIHJldmlldyB0aGUgUFIgYmVsb3cuIEkgd291bGQgbGlrZSB0byBn ZXQgdGhpcyByZXZpZXcgY29tcGxldGVkIHdpdGhpbiB0aGUgd2Vlay4NCg0KVGhhbmtzLA0KWmFj aw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogS2lubmV5LCBNaWNoYWVsIEQg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcs IDIwMjIgMTowOSBQTQ0KVG86IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNv bT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IENsYXJr LXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClN1 YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lG aSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIaSBNYWNpZWosDQoNCkNhbiB5b3Ug cGxlYXNlIGhlbHAgcmV2aWV3IHRoZXNlIE5ldHdvcmtQa2cgY2hhbmdlcy4NCg0KSSBhbSBub3Qg c3VyZSBpZiB5b3UgbW9uaXRvciB5b3VyIGxpbnV4LmludGVsLmNvbSBhY2NvdW50IGFzIGNsb3Nl bHkgYXMgeW91ciBpbnRlbC5jb20gYWNjb3VudC4NCg0KVGhhbmtzLA0KDQpNaWtlDQoNCi0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFj aGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0b2JlciAy NywgMjAyMiAxMjozMyBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NClN1YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2Zp bGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIZXkgTWlr ZSwNCg0KSSdtIHN0cnVnZ2xpbmcgdG8gZ2V0IGFueSBmZWVkYmFjayBvbiB0aGlzIFBSLiBEbyB5 b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMgdG8gZ2V0IGJldHRlciB2aXNpYmlsaXR5IGFuZCByZXNw b25zZXMgc28gSSBjYW4gZ2V0IHRoaXMgbWl2aW5nPw0KDQpUaGFua3MsDQpaYWNrDQoNCi0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFj aGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0b2JlciAy NywgMjAyMiAxMjozMSBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogWmFjaGFyeSBD bGFyay1XaWxsaWFtcyA8emNsYXJrdzExMkBnbWFpbC5jb20+OyBNYWNpZWogUmFiZWRhIDxtYWNp ZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT47IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNoZXJldGlhbnNraSwgQW5k cmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPjsgQ2xhcmstd2lsbGlhbXMsIFph Y2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KU3ViamVjdDogW1BBVENI IHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHBy b3RvY29sIHN1cHBvcnQNCg0KRnJvbTogWmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emNsYXJrdzEx MkBnbWFpbC5jb20+DQoNClJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0zODQ1DQoNCkVuYWJsZXMgS1ZNIGFuZCBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xB TiBjYXBhYmlsaXR5IHdpdGggV2lGaSBQcm9maWxlIFN5bmMgZmVhdHVyZSBhbmQgcHJvdG9jb2wu IEFkZGluZyBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCwgd2hpY2ggc3VwcG9ydHMgdGhlIHByb2Zp bGVzeW5jIGRyaXZlciBvcGVyYXRpb25zIGZvciB0cmFuc2ZlcnJpbmcgV2lGaSBwcm9maWxlcyBm cm9tIEFNVCB0byB0aGUgU3VwcGxpY2FudC4gV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdpbGwgY2hl Y2sgZm9yIHRoZSBXaWZpUHJvZmlsZVN5bmNQcm90b2NvbCBhbmQgaWYgZm91bmQgd2lsbCBvcGVy YXRlIG9uIHRoZSBwcmVtaXNlIG9mIGEgT25lIENsaWNrIFJlY292ZXJ5LCBvciBLVk0gZmxvdyB3 aXRoIGEgV2lmaSBwcm9maWxlIHByb3ZpZGVkIGJ5IEFNVC4NCg0KQ2M6IE1hY2llaiBSYWJlZGEg PG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPg0KQ2M6IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1 QGludGVsLmNvbT4NCkNjOiBXdSBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+DQpDYzogQW5k cmVpIE90Y2hlcmV0aWFuc2tpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0KDQpT aWduZWQtb2ZmLWJ5OiBaYWNoYXJ5IENsYXJrLVdpbGxpYW1zIDx6YWNoYXJ5LmNsYXJrLXdpbGxp YW1zQGludGVsLmNvbT4NCi0tLQ0KIC4uLi9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2Nv bC5oICAgICAgICB8ICA4MyArKysrKysrKw0KIE5ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArDQogLi4uL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5p bmYgICAgICAgICAgICAgIHwgICAzICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZE YXRhU3RydWN0LmggICAgIHwgICAyICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMg ICAgICAgICAgICAgICAgIHwgMTI2ICsrKysrKysrLS0tLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1n ckR4ZS5oICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1n ckltcGwuYyAgICAgICAgICAgICAgICAgICB8IDE5MyArKysrKysrKysrKysrKysrLS0NCiAuLi4v V2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMgICAgICAgICAgICAgICAgICAgfCAgMTMgKysNCiA4IGZp bGVzIGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkgIGNyZWF0ZSBt b2RlIDEwMDY0NCBOZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2wuaA0KDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQ cm9maWxlU3luY1Byb3RvY29sLmggYi9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw MDAuLmUzNmRhY2VhYmYNCi0tLSAvZGV2L251bGwNCisrKyBiL05ldHdvcmtQa2cvSW5jbHVkZS9Q cm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQpAQCAtMCwwICsxLDgzIEBADQorLyoq IEBmaWxlDQorICBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbC4gU3VwcG9ydHMgT25lIENsaWNr IFJlY292ZXJ5IG9yIEtWTSBPUyANCityZWNvdmVyeQ0KKyAgYm9vdCBmbG93IG92ZXIgV2lGaS4N CisNCisgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQgKiovDQorDQorI2lmbmRlZiBXSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0K KyNkZWZpbmUgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfSF8NCisNCisjaW5jbHVkZSA8V2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnLmg+DQorDQorLy8N CisvLyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wgR1VJRCB2YXJpYWJsZS4NCisvLw0KK2V4 dGVybiBFRklfR1VJRCAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZDsNCisNCisvKioN CisgIFVzZWQgYnkgdGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHRvIGdldCB0aGUgV2lGaSBw cm9maWxlIHRoYXQgQU1UIA0KK3NoYXJlZA0KKyAgYW5kIHdhcyBzdG9yZWQgaW4gV2lGaSBwcm9m aWxlIHByb3RvY29sLiBBbGlnbnMgdGhlIEFNVCBXaUZpIHByb2ZpbGUgDQorZGF0YSB0bw0KKyAg dGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlIGZvIGNvbm5lY3Rp b24gdXNlLg0KKw0KKyAgQHBhcmFtW2luLCBvdXRdICBXY21Qcm9maWxlICAgICAgIFdpRmkgQ29u bmVjdGlvbiBNYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlDQorICBAcGFyYW1baW4sIG91dF0gIE1h Y0FkZHJlc3MgICAgICAgTUFDIGFkZHJlc3MgZnJvbSBBTVQgc2F2ZWQgdG8gTmlDIE1BQyBhZGRy ZXNzDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgU3RvcmVkIFdpRmkg cHJvZmlsZSBjb252ZXJ0ZWQgYW5kIHJldHVybmVkIHN1Y2NlZnVsbHkNCisgIEByZXR2YWwgRUZJ X1VOU1VQUE9SVEVEICAgICAgICAgICBQcm9maWxlIHByb3RvY29sIHNoYXJpbmcgbm90IHN1cHBv cnRlZCBvciBlbmFibGVkDQorICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAgICAgTm8g cHJvZmlsZXMgdG8gcmV0dXJuZWQNCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAg ICBFcnJvciBPY2N1cnJlZA0KKyoqLw0KK3R5cGVkZWYNCitFRklfU1RBVFVTDQorKEVGSUFQSSAq V0lGSV9QUk9GSUxFX0dFVCkoDQorICBJTiBPVVQgIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAg KlByb2ZpbGUsDQorICBJTiBPVVQgIEVGSV84MDIxMV9NQUNfQUREUkVTUyAgICAgTWFjQWRkcmVz cw0KKyAgKTsNCisNCisvKioNCisgIFNhdmVzIHRoZSBXaUZpIGNvbm5lY3Rpb24gc3RhdHVzIHJl Y2lldmVkIGJ5IHRoZSANCitXaUZpQ29ubmVjdGlvbk1hbmFnZXIgd2hlbg0KKyAgaW4gYSBLVk0g T1IgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gcmVjb3ZlcnkgZmxvdy4gSW5wdXQgYXMNCisgIEVG SV84MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgdGhlbiBjb252ZXJ0ZWQgYW5kIHN0 b3JlZCBhcyBFRklfU1RBVFVTIHR5cGUuDQorDQorICBAcGFyYW1baW5dIENvbm5lY3Rpb25TdGF0 dXMgICAgIFdpRmkgY29ubmVjdGlvbiBhdHRlbXB0IHJlc3VsdHMNCisqKi8NCit0eXBlZGVmDQor Vk9JRA0KKyhFRklBUEkgKldJRklfU0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAgSU4gIEVGSV84MDIx MV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgQ29ubmVjdGlvblN0YXR1cw0KKyAgKTsNCisN CisvKioNCisgIFJldHJpZXZlcyB0aGUgc3RvcmVkIFdpRmkgY29ubmVjdGlvbiBzdGF0dXMgd2hl biBpbiBlaXRoZXIgS1ZNIE9SIE9uZSANCitDbGljaw0KKyAgUmVjb3ZlcnkgV0xBTiByZWNvdmVy eSBmbG93Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFdpRmkgY29u bmVjdGlvbiBjb21wbGV0ZWQgc3VjY2VzZnVsbHkNCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAg ICAgICAgICAgICBDb25uZWN0aW9uIGZhaWx1cmUgb2NjdXJyZWQNCisqKi8NCit0eXBlZGVmDQor RUZJX1NUQVRVUw0KKyhFRklBUEkgKldJRklfR0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAgVk9JRA0K KyAgKTsNCisNCisvLw0KKy8vICBXaUZpIFByb2ZpbGUgU3luYyBQcm90b2NvbCBzdHJ1Y3R1cmUu DQorLy8NCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIFJl dmlzaW9uOw0KKyAgV0lGSV9TRVRfQ09OTkVDVF9TVEFURSAgICBXaWZpUHJvZmlsZVN5bmNTZXRD b25uZWN0U3RhdGU7DQorICBXSUZJX0dFVF9DT05ORUNUX1NUQVRFICAgIFdpZmlQcm9maWxlU3lu Y0dldENvbm5lY3RTdGF0ZTsNCisgIFdJRklfUFJPRklMRV9HRVQgICAgICAgICAgV2lmaVByb2Zp bGVTeW5jR2V0UHJvZmlsZTsNCit9IEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTDsNCisN CisvKioNCisgIFdpRmkgUHJvZmlsZSBQcm90b2NvbCByZXZpc2lvbiBudW1iZXIuDQorDQorICBS ZXZpc2lvbiAxOiAgIEluaXRpYWwgdmVyc2lvbg0KKyoqLw0KKyNkZWZpbmUgRUZJX1dJRklfUFJP RklMRV9TWU5DX1BST1RPQ09MX1JFVklTSU9OICAxDQorDQorI2VuZGlmIC8vICBXSUZJX1BST0ZJ TEVfU1lOQ19QUk9UT0NPTF9IXw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvTmV0d29ya1BrZy5k ZWMgYi9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGluZGV4IDVlNDNlYmY4YzUuLjUzZmIzNGM0 YTAgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjDQorKysgYi9OZXR3b3Jr UGtnL05ldHdvcmtQa2cuZGVjDQpAQCAtOTEsNiArOTEsOSBAQA0KICAgIyMgSW5jbHVkZS9Qcm90 b2NvbC9IdHRwQ2FsbGJhY2suaA0KICAgZ0Vka2lpSHR0cENhbGxiYWNrUHJvdG9jb2xHdWlkICA9 IHsweDYxMTExNGYxLCAweGEzN2IsIDB4NDQ2OCwgezB4YTQsIDB4MzYsIDB4NWIsIDB4ZGQsIDB4 YTEsIDB4NmEsIDB4YTIsIDB4NDB9fQ0KIA0KKyAgIyMgSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJv ZmlsZVN5bmNQcm90b2NvbC5oDQorICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkID0g ezB4Mzk5YTJiOGEsIDB4YzI2NywgMHg0NGFhLCB7MHg5YSwgDQorIDB4YjQsIDB4MzAsIDB4NTgs IDB4OGMsIDB4ZDIsIDB4MmQsIDB4Y2N9fQ0KKw0KIFtQY2RzRml4ZWRBdEJ1aWxkXQ0KICAgIyMg VGhlIG1heCBhdHRlbXB0IG51bWJlciB3aWxsIGJlIGNyZWF0ZWQgYnkgaVNDU0kgZHJpdmVyLg0K ICAgIyBAUHJvbXB0IE1heCBhdHRlbXB0IG51bWJlci4NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2Vy RHhlLmluZg0KaW5kZXggNDM5NGI2ZjRiYi4uN2UzNjAxNmNmOCAxMDA2NDQNCi0tLSBhL05ldHdv cmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5p bmYNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS5pbmYNCkBAIC05LDcgKzksNyBAQA0KICMgIDIpLiBXUEEyIFBlcnNvbmFs IE5ldHdvcmsNCiAjICAzKS4gRUFQIE5ldHdvcmtzIChFQVAtVExTLCBFQVAtVFRMUy9NU0NIQVB2 MiBhbmQgUEVBUHYwL01TQ0hBUHYyKSAgIyAtIyAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorIyAgQ29weXJpZ2h0IChjKSAy MDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQorcmVzZXJ2ZWQuPEJS Pg0KICMNCiAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAg IyBAQCAtNzEsNiArNzEsNyBAQA0KICAgZ0VmaUFkYXB0ZXJJbmZvcm1hdGlvblByb3RvY29sR3Vp ZCAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgZ0VmaVN1cHBsaWNhbnRQcm90 b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgZ0Vm aUVhcENvbmZpZ3VyYXRpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19D T05TVU1FUw0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCAgICAgICAgICAgICAg ICMjIFNPTUVUSU1FU19DT05TVU1FUw0KIA0KIFtHdWlkc10NCiAgIGdXaWZpQ29uZmlnR3VpZCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUyAgIyMgR1VJRA0KZGlmZiAt LWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9u TWdyQ29uZmlnTlZEYXRhU3RydWN0LmggYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdl ckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oDQppbmRleCBiNTUxOGE3 NGQ4Li5kY2M0YmY3ZTI3IDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1h bmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaA0KKysrIGIvTmV0 d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdO VkRhdGFTDQorKysgdHJ1Y3QuaA0KQEAgLTI1LDcgKzI1LDcgQEANCiANCiAjZGVmaW5lIFBBU1NX T1JEX01JTl9MRU4gICAgICAgOA0KICNkZWZpbmUgUEFTU1dPUkRfTUFYX0xFTiAgICAgICA2Mw0K LSNkZWZpbmUgUEFTU1dPUkRfU1RPUkFHRV9TSVpFICA2NA0KKyNkZWZpbmUgUEFTU1dPUkRfU1RP UkFHRV9TSVpFICA2NQ0KIA0KICNkZWZpbmUgRUFQX0lERU5USVRZX0xFTiAgIDYzDQogI2RlZmlu ZSBFQVBfSURFTlRJVFlfU0laRSAgNjQNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jIGIvTmV0d29ya1BrZy9X aWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYw0KaW5kZXgg NjdhMDFjYTA1OC4uOTdjYTdhOWYwYiAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5l Y3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCisrKyBiL05ldHdvcmtQ a2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCkBA IC0xLDcgKzEsNyBAQA0KIC8qKiBAZmlsZQ0KICAgVGhlIGRyaXZlciBiaW5kaW5nIHByb3RvY29s IGZvciB0aGUgV2lGaSBDb25uZWN0aW9uIE1hbmFnZXIuDQogDQotICBDb3B5cmlnaHQgKGMpIDIw MTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisgIENvcHly aWdodCAoYykgMjAxOSAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KKyBy ZXNlcnZlZC48QlI+DQogDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KIA0KQEAgLTM5LDYgKzM5LDExIEBAIEVGSV9HVUlEICBtV2lmaUNvbmZpZ05ldHdv cmtMaXN0UmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19ORVRXT1JLX0xJU1RfUkVGUkVTSF9HDQog RUZJX0dVSUQgIG1XaWZpQ29uZmlnQ29ubmVjdEZvcm1SZWZyZXNoR3VpZCA9IFdJRklfQ09ORklH X0NPTk5FQ1RfRk9STV9SRUZSRVNIX0dVSUQ7DQogRUZJX0dVSUQgIG1XaWZpQ29uZmlnTWFpbkZv cm1SZWZyZXNoR3VpZCAgICA9IFdJRklfQ09ORklHX01BSU5fRk9STV9SRUZSRVNIX0dVSUQ7DQog DQorLy8NCisvLyBXaWZpIGNvbm5lY3Rpb24gYXR0ZW1wdCBjb3VudGVyIGZvciByZXRyaWVzIC8v IGV4dGVybiBVSU5UOCANCittV2lmaUNvbm5lY3Rpb25Db3VudDsNCisNCiAvKioNCiAgIFRlc3Rz IHRvIHNlZSBpZiB0aGlzIGRyaXZlciBzdXBwb3J0cyBhIGdpdmVuIGNvbnRyb2xsZXIuIElmIGEg Y2hpbGQgZGV2aWNlIGlzIHByb3ZpZGVkLA0KICAgaXQgZnVydGhlciB0ZXN0cyB0byBzZWUgaWYg dGhpcyBkcml2ZXIgc3VwcG9ydHMgY3JlYXRpbmcgYSBoYW5kbGUgZm9yIHRoZSBzcGVjaWZpZWQg Y2hpbGQgZGV2aWNlLg0KQEAgLTE2Nyw4ICsxNzIsMTAgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRp bmdTdGFydCAoDQogICBFRklfV0lSRUxFU1NfTUFDX0NPTk5FQ1RJT05fSUlfUFJPVE9DT0wgICpX bXA7DQogICBFRklfU1VQUExJQ0FOVF9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICpTdXBwbGlj YW50Ow0KICAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAgICAgICAgICAqRWFwQ29u ZmlnOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAgICAgICAgICAqV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2w7DQogDQotICBOaWMgPSBOVUxMOw0KKyAgbVdpZmlDb25uZWN0aW9u Q291bnQgPSAwOw0KKyAgTmljICAgICAgICAgICAgICAgICAgPSBOVUxMOw0KIA0KICAgLy8NCiAg IC8vIE9wZW4gUHJvdG9jb2xzDQpAQCAtMjM2LDQ3ICsyNDMsNzMgQEAgV2lmaU1nckR4ZURyaXZl ckJpbmRpbmdTdGFydCAoDQogICBJbml0aWFsaXplTGlzdEhlYWQgKCZOaWMtPlByb2ZpbGVMaXN0 KTsNCiANCiAgIC8vDQotICAvLyBSZWNvcmQgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBpbmNvbWlu ZyBOSUMuDQorICAvLyBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBpbnN0YWxsYXRpb24gY2hl Y2sgZm9yIE9TIHJlY292ZXJ5IGZsb3cuDQogICAvLw0KLSAgU3RhdHVzID0gTmV0TGliR2V0TWFj QWRkcmVzcyAoDQotICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQotICAgICAgICAgICAg IChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KLSAgICAgICAgICAgICAmQWRk cmVzc1NpemUNCi0gICAgICAgICAgICAgKTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN Ci0gICAgZ290byBFUlJPUjI7DQotICB9DQotDQotICAvLw0KLSAgLy8gQ3JlYXRlIGFuZCBzdGFy dCB0aGUgdGltZXIgZm9yIHRoZSBzdGF0dXMgY2hlY2sNCi0gIC8vDQotICBTdGF0dXMgPSBnQlMt PkNyZWF0ZUV2ZW50ICgNCi0gICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCB8IEVW VF9USU1FUiwNCi0gICAgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQotICAgICAgICAgICAg ICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KLSAgICAgICAgICAgICAgICAgIE5pYywNCi0gICAg ICAgICAgICAgICAgICAmTmljLT5UaWNrVGltZXINCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJv dG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xH dWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQg KiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQogICAgICAgICAgICAgICAgICAgKTsNCi0gIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjI7DQotICB9DQorICBpZiAo IUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9 IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJ RklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05l dHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0K KyAgICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQogDQotICBTdGF0dXMgPSBnQlMtPlNldFRpbWVy IChOaWMtPlRpY2tUaW1lciwgVGltZXJQZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNF Q09ORFMgKDUwMCkpOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBnb3RvIEVS Uk9SMzsNCi0gIH0NCisgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3lu Y0dldFByb2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3Mp Ow0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkgew0KKyAgICAg IFN0YXR1cyA9IFdpZmlNZ3JDb25uZWN0VG9OZXR3b3JrIChOaWMsIE5pYy0+Q29ubmVjdFBlbmRp bmdOZXR3b3JrKTsNCisgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgICBX aUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlIChT dGF0dXMpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBnb3RvIEVSUk9SMTsNCisg ICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgLy8NCisgICAgLy8gUmVjb3JkIHRoZSBNQUMgYWRkcmVz cyBvZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgICAvLw0KKyAgICBTdGF0dXMgPSBOZXRMaWJHZXRN YWNBZGRyZXNzICgNCisgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KKyAgICAgICAg ICAgICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KKyAgICAgICAgICAg ICAgICZBZGRyZXNzU2l6ZQ0KKyAgICAgICAgICAgICAgICk7DQorICAgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMjsNCisgICAgfQ0KIA0KLSAgTmljLT5Db25u ZWN0U3RhdGUgPSBXaWZpTWdyRGlzY29ubmVjdGVkOw0KLSAgTmljLT5TY2FuU3RhdGUgICAgPSBX aWZpTWdyU2NhbkZpbmlzaGVkOw0KKyAgICAvLw0KKyAgICAvLyBDcmVhdGUgYW5kIHN0YXJ0IHRo ZSB0aW1lciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KKyAgICAvLw0KKyAgICBTdGF0dXMgPSBnQlMt PkNyZWF0ZUV2ZW50ICgNCisgICAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMIHwg RVZUX1RJTUVSLA0KKyAgICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KKyAgICAgICAg ICAgICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KKyAgICAgICAgICAgICAgICAgICAgTmlj LA0KKyAgICAgICAgICAgICAgICAgICAgJk5pYy0+VGlja1RpbWVyDQorICAgICAgICAgICAgICAg ICAgICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFUlJP UjI7DQorICAgIH0NCiANCi0gIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7 DQotICBJbnNlcnRUYWlsTGlzdCAoJm1Qcml2YXRlLT5OaWNMaXN0LCAmTmljLT5MaW5rKTsNCi0g IE5pYy0+TmljSW5kZXggPSBtUHJpdmF0ZS0+TmljQ291bnQrKzsNCi0gIGlmIChtUHJpdmF0ZS0+ Q3VycmVudE5pYyA9PSBOVUxMKSB7DQotICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0gTmljOw0K LSAgfQ0KKyAgICBTdGF0dXMgPSBnQlMtPlNldFRpbWVyIChOaWMtPlRpY2tUaW1lciwgVGltZXJQ ZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNFQ09ORFMgKDUwMCkpOw0KKyAgICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFUlJPUjM7DQorICAgIH0NCiANCi0g IGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgICAgTmljLT5Db25uZWN0U3RhdGUgPSBXaWZp TWdyRGlzY29ubmVjdGVkOw0KKyAgICBOaWMtPlNjYW5TdGF0ZSAgICA9IFdpZmlNZ3JTY2FuRmlu aXNoZWQ7DQorDQorICAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQor ICAgIEluc2VydFRhaWxMaXN0ICgmbVByaXZhdGUtPk5pY0xpc3QsICZOaWMtPkxpbmspOw0KKyAg ICBOaWMtPk5pY0luZGV4ID0gbVByaXZhdGUtPk5pY0NvdW50Kys7DQorICAgIGlmIChtUHJpdmF0 ZS0+Q3VycmVudE5pYyA9PSBOVUxMKSB7DQorICAgICAgbVByaXZhdGUtPkN1cnJlbnROaWMgPSBO aWM7DQorICAgIH0NCisNCisgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KKyAgfQ0KIA0K ICAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KICAgICAgICAgICAg ICAgICAgICZDb250cm9sbGVySGFuZGxlLA0KQEAgLTM4NSwxMCArNDE4LDExIEBAIFdpZmlNZ3JE eGVEcml2ZXJCaW5kaW5nU3RvcCAoDQogICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAgICAg ICpDaGlsZEhhbmRsZUJ1ZmZlciBPUFRJT05BTA0KICAgKQ0KIHsNCi0gIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9UUEwgICAgICAgICAgICAgICAgICAgIE9sZFRw bDsNCi0gIFdJRklfTUdSX1BSSVZBVEVfUFJPVE9DT0wgICpXaWZpTWdySWRlbnRpZmllcjsNCi0g IFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICpOaWM7DQorICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9UUEwgICAgICAgICAgICAgICAgICAgICAgICAg T2xkVHBsOw0KKyAgV0lGSV9NR1JfUFJJVkFURV9QUk9UT0NPTCAgICAgICAqV2lmaU1ncklkZW50 aWZpZXI7DQorICBXSUZJX01HUl9ERVZJQ0VfREFUQSAgICAgICAgICAgICpOaWM7DQorICBFRklf V0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiAN CiAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgNCiAgICAgICAgICAgICAgICAgICBDb250 cm9sbGVySGFuZGxlLA0KQEAgLTQ4MSw3ICs1MTUsMTUgQEAgV2lmaU1nckR4ZURyaXZlckJpbmRp bmdTdG9wICgNCiAgIC8vDQogICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0sp Ow0KIA0KLSAgUmVtb3ZlRW50cnlMaXN0ICgmTmljLT5MaW5rKTsNCisgIFN0YXR1cyA9IGdCUy0+ TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAg ICAgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQorICAgICAgICAgICAgICAgICAg KTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgUmVtb3ZlRW50cnlMaXN0ICgm TmljLT5MaW5rKTsNCisgIH0NCisNCiAgIG1Qcml2YXRlLT5OaWNDb3VudC0tOw0KICAgaWYgKG1Q cml2YXRlLT5DdXJyZW50TmljID09IE5pYykgew0KICAgICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9 IE5VTEw7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUv V2lmaUNvbm5lY3Rpb25NZ3JEeGUuaCBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2Vy RHhlL1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCmluZGV4IDdiMmU0MWUxNTUuLjA0N2Y4NWRiYzIg MTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29u bmVjdGlvbk1nckR4ZS5oDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oDQpAQCAtNDcsNiArNDcsNyBAQA0KICNpbmNsdWRlIDxQ cm90b2NvbC9TaW1wbGVOZXR3b3JrLmg+DQogI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZUZpbGVT eXN0ZW0uaD4NCiAjaW5jbHVkZSA8UHJvdG9jb2wvRWFwQ29uZmlndXJhdGlvbi5oPg0KKyNpbmNs dWRlIDxQcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oPg0KIA0KIC8vDQogLy8gUHJv ZHVjZWQgUHJvdG9jb2xzDQpAQCAtNzMsNyArNzQsOCBAQA0KIC8vDQogI2RlZmluZSBXSUZJX01H Ul9EWEVfVkVSU0lPTiAgMHhiDQogDQotI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgIDB4QUMwRjAw DQorI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgICAgICAgICAgICAgIDB4QUMwRjAwDQorI2RlZmlu ZSBNQVhfV0lGSV9DT05ORVRJT05fQVRURU1QVFMgIDMNCiANCiB0eXBlZGVmIGVudW0gew0KICAg SWVlZTgwMjExUGFpcndpc2VDaXBoZXJTdWl0ZVVzZUdyb3VwQ2lwaGVyU3VpdGUgPSAwLCBkaWZm IC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JJbXBsLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29u bmVjdGlvbk1nckltcGwuYw0KaW5kZXggNTliYWM0OGM0Mi4uYTczYWI5ZjcxMCAxMDA2NDQNCi0t LSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy SW1wbC5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29u bmVjdGlvbk1nckltcGwuYw0KQEAgLTE5LDYgKzE5LDggQEAgRUZJX0VBUF9UWVBFICBtRWFwU2Vj b25kQXV0aE1ldGhvZFtdID0gew0KICAgRUZJX0VBUF9UWVBFX01TQ0hBUFYyDQogfTsNCiANCitV SU5UOCAgbVdpZmlDb25uZWN0aW9uQ291bnQgPSAwOw0KKw0KIC8qKg0KICAgVGhlIGNhbGxiYWNr IGZ1bmN0aW9uIGZvciBzY2FuIG9wZXJhdGlvbi4gVGhpcyBmdW5jdGlvbiB1cGRhdGVzIG5ldHdv cmtzDQogICBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBzY2FuIHJlc3VsdCwgYW5kIHRyaWdnZXIg VUkgcmVmcmVzaC4NCkBAIC00MjQsMTggKzQyNiwyNiBAQCBXaWZpTWdyQ29uZmlnUGFzc3dvcmQg KA0KICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCiAgIH0NCiANCi0gIEFzY2lpUGFzc3dvcmQg PSBBbGxvY2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIHNp emVvZiAoVUlOVDgpKTsNCisgIGlmIChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSA+PSBQQVNT V09SRF9TVE9SQUdFX1NJWkUpIHsNCisgICAgQVNTRVJUIChFRklfSU5WQUxJRF9QQVJBTUVURVIp Ow0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgQXNjaWlQ YXNzd29yZCA9IEFsbG9jYXRlWmVyb1Bvb2wgKChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSAr IDEpICogDQorIHNpemVvZiAoQ0hBUjgpKTsNCiAgIGlmIChBc2NpaVBhc3N3b3JkID09IE5VTEwp IHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgfQ0KIA0KLSAgVW5pY29k ZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4ICopQXNjaWlQYXNzd29y ZCwgUEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCi0gIFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERh dGEgKA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwbGljYW50LA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQc2tQYXNzd29yZCwNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgQXNjaWlQYXNzd29yZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAg KFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiBzaXplb2YgKFVJTlQ4KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICApOw0KKyAgU3RhdHVzID0gVW5pY29kZVN0clRvQXNjaWlTdHJT IChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4IA0KKyAqKUFzY2lpUGFzc3dvcmQsIChTdHJMZW4g KFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpKTsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgIFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEgKA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN1cHBsaWNhbnQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRWZpU3VwcGxp Y2FudDgwMjExUHNrUGFzc3dvcmQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQXNjaWlQ YXNzd29yZCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoU3RyTGVuIChQcm9maWxlLT5Q YXNzd29yZCkgKyAxKSAqIHNpemVvZiAoQ0hBUjgpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgKTsNCisgIH0NCisNCiAgIFplcm9NZW0gKEFzY2lpUGFzc3dvcmQsIEFzY2lpU3RyTGVuICgo Q0hBUjggKilBc2NpaVBhc3N3b3JkKSArIDEpOw0KICAgRnJlZVBvb2wgKEFzY2lpUGFzc3dvcmQp Ow0KIA0KQEAgLTQ2Niw2ICs0NzYsNyBAQCBXaWZpTWdyQ29uZmlnRWFwICgNCiAgICkNCiB7DQog ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9XSUZJX1BS T0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0KICAgRUZJX0VB UF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAqRWFwQ29uZmlnOw0KICAgRUZJX0VBUF9UWVBFICAg ICAgICAgICAgICAgICAgICBFYXBBdXRoTWV0aG9kOw0KICAgRUZJX0VBUF9UWVBFICAgICAgICAg ICAgICAgICAgICBFYXBTZWNvbmRBdXRoTWV0aG9kOw0KQEAgLTU2Nyw3ICs1NzgsMTMgQEAgV2lm aU1nckNvbmZpZ0VhcCAoDQogICAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAg ICB9DQogDQotICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+RWFwSWRlbnRpdHks IElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3Rv Y29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopJldp RmlQcm9maWxlU3luY1Byb3RvY29sKTsNCisgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN CisgICAgICBDb3B5TWVtIChJZGVudGl0eSwgJlByb2ZpbGUtPkVhcElkZW50aXR5LCBJZGVudGl0 eVNpemUpOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJv ZmlsZS0+RWFwSWRlbnRpdHksIElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICB9DQorDQog ICAgIFN0YXR1cyA9IEVhcENvbmZpZy0+U2V0RGF0YSAoDQogICAgICAgICAgICAgICAgICAgICAg ICAgICBFYXBDb25maWcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfRUFQX1RZUEVf SURFTlRJVFksIEBAIC04OTIsNiArOTA5LDEzMyBAQCBXaWZpTWdyUHJlcGFyZUNvbm5lY3Rpb24g KA0KICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiANCisvKioNCisgIFdpbGwgcmVzZXQgTmlD IGRhdGEsIGdldCBwcm9maWxlIGZyb20gcHJvZmlsZSBzeW5jIGRyaXZlciwgYW5kIHNlbmQgDQor Zm9yDQorICBhbm90aGVyIGNvbm5lY3Rpb24gYXR0ZW1wdC5UaGlzIGZ1bmN0aW9uIHNob3VsZCBu b3QgYmUgY2FsbGVkIG1vcmUgDQordGhhbg0KKyAgMyB0aW1lcy4NCisNCisgIEBwYXJhbVtpbl0g IFdpRmlQcm9maWxlU3luY1Byb3RvY29sICBUaGUgdGFyZ2V0IG5ldHdvcmsgcHJvZmlsZSB0byBj b25uZWN0Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAgIFRoZSBv cGVyYXRpb24gaXMgY29tcGxldGVkLg0KKyAgQHJldHZhbCBvdGhlciAgICAgICAgICAgICAgICAg ICAgICAgIE9wZXJhdGlvbiBmYWlsdXJlLg0KKw0KKyoqLw0KK0VGSV9TVEFUVVMNCitDb25uZWN0 aW9uUmV0cnkgKA0KKyAgSU4gICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZp UHJvZmlsZVN5bmNQcm90b2NvbA0KKyAgKQ0KK3sNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgV0lGSV9NR1JfREVWSUNFX0RBVEEgICAgICAg ICAgICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJUkVMRVNTX01BQ19DT05ORUNUSU9OX0lJX1BS T1RPQ09MICAqV21wOw0KKyAgRUZJX1NVUFBMSUNBTlRfUFJPVE9DT0wgICAgICAgICAgICAgICAg ICAqU3VwcGxpY2FudDsNCisgIEVGSV9FQVBfQ09ORklHVVJBVElPTl9QUk9UT0NPTCAgICAgICAg ICAgKkVhcENvbmZpZzsNCisNCisgIE5pYyA9IE5VTEw7DQorDQorICBTdGF0dXMgPSBnQlMtPkxv Y2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVdpRmkyUHJvdG9jb2xHdWlk LA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiop JldtcA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVBy b3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVN1cHBsaWNhbnRQcm90b2NvbEd1aWQs DQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikm U3VwcGxpY2FudA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQorICAgIFN1cHBsaWNhbnQgPSBOVUxMOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JT LT5Mb2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAgICAgICAgJmdFZmlFYXBDb25maWd1cmF0 aW9uUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAg ICAgICAgKFZPSUQgKiopJkVhcENvbmZpZw0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIEVhcENvbmZpZyA9IE5VTEw7DQorICB9DQorDQor ICAvLw0KKyAgLy8gSW5pdGlhbGl6ZSBOaWMgZGV2aWNlIGRhdGENCisgIC8vDQorICBOaWMgPSBB bGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX0RFVklDRV9EQVRBKSk7ICBpZiAoTmlj ID09DQorIE5VTEwpIHsNCisgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICAg IHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBOaWMtPlNpZ25hdHVyZSAgICAgICAgICAgPSBX SUZJX01HUl9ERVZJQ0VfREFUQV9TSUdOQVRVUkU7DQorICBOaWMtPlByaXZhdGUgICAgICAgICAg ICAgPSBtUHJpdmF0ZTsNCisgIE5pYy0+V21wICAgICAgICAgICAgICAgICA9IFdtcDsNCisgIE5p Yy0+U3VwcGxpY2FudCAgICAgICAgICA9IFN1cHBsaWNhbnQ7DQorICBOaWMtPkVhcENvbmZpZyAg ICAgICAgICAgPSBFYXBDb25maWc7DQorICBOaWMtPlVzZXJTZWxlY3RlZFByb2ZpbGUgPSBOVUxM Ow0KKyAgTmljLT5PbmVUaW1lU2NhblJlcXVlc3QgID0gRkFMU0U7DQorDQorICBpZiAoTmljLT5T dXBwbGljYW50ICE9IE5VTEwpIHsNCisgICAgU3RhdHVzID0gV2lmaU1nckdldFN1cHBvcnRlZFN1 aXRlcyAoTmljKTsgIH0NCisNCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIElu aXRpYWxpemVMaXN0SGVhZCAoJk5pYy0+UHJvZmlsZUxpc3QpOw0KKw0KKyAgICBOaWMtPkNvbm5l Y3RQZW5kaW5nTmV0d29yayA9IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxvY2F0ZVpl cm9Qb29sIChzaXplb2YgKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBpZiAoTmlj LT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IEVGSV9P VVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25u ZWN0aW9uIE1hbmFnZXJdIEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIENvbm5lY3RQZW5k aW5nTmV0d29ya1xuIikpOw0KKyAgICAgIGdvdG8gRVJST1I7DQorICAgIH0NCisNCisgICAgU3Rh dHVzID0gV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY0dldFByb2ZpbGUg KE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3MpOw0KKyAgICBpZiAo IUVGSV9FUlJPUiAoU3RhdHVzKSAmJiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVM TCkpIHsNCisgICAgICBTdGF0dXMgPSBXaWZpTWdyQ29ubmVjdFRvTmV0d29yayAoTmljLCBOaWMt PkNvbm5lY3RQZW5kaW5nTmV0d29yayk7DQorICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykp IHsNCisgICAgICAgIHJldHVybiBTdGF0dXM7DQorICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAg ICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJdIEZhaWxl ZCB0byBnZXQgV2lGaSBwcm9maWxlIHdpdGggc3RhdHVzICVyXG4iLCBTdGF0dXMpKTsNCisgICAg fQ0KKyAgfSBlbHNlIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIltXaUZpIENvbm5lY3Rp b24gTWFuYWdlcl0gRmFpbGVkIHRvIGdldCANCisgU3VwcG9ydGVkIHN1aXRlcyB3aXRoIHN0YXR1 cyAlclxuIiwgU3RhdHVzKSk7ICB9DQorDQorICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdv cmsgIT0gTlVMTCkgew0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdv cmsuQUtNU3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5k aW5nTmV0d29yay0+TmV0d29yay5BS01TdWl0ZSk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+ Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNpcGhlclN1aXRlICE9IE5VTEwpIHsNCisg ICAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsuQ2lwaGVy U3VpdGUpOw0KKyAgICB9DQorDQorICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0 d29yayk7ICB9DQorDQorRVJST1I6DQorICBpZiAoTmljLT5TdXBwbGljYW50ICE9IE5VTEwpIHsN CisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1aXRlcyAhPSBOVUxM KSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1 aXRlcyk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRl ZFN3Q2lwaGVyU3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0 ZWRTdWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJTdWl0ZXMpOw0KKyAgICB9DQorDQorICAgIGlmIChO aWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0NpcGhlclN1aXRlcyAhPSBOVUxMKSB7DQor ICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEh3Q2lwaGVyU3Vp dGVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgRnJlZVBvb2wgKE5pYyk7DQorDQorICByZXR1cm4g U3RhdHVzOw0KK30NCisNCiAvKioNCiAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgY29ubmVj dCBvcGVyYXRpb24uDQogDQpAQCAtOTA4LDEyICsxMDUyLDEzIEBAIFdpZmlNZ3JPbkNvbm5lY3RG aW5pc2hlZCAoDQogICBJTiAgVk9JRCAgICAgICAqQ29udGV4dA0KICAgKQ0KIHsNCi0gIEVGSV9T VEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIFdJRklfTUdSX01BQ19DT05GSUdfVE9L RU4gICpDb25maWdUb2tlbjsNCi0gIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAgICpDb25uZWN0 ZWRQcm9maWxlOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlUeXBlOw0K LSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU1NJZExlbjsNCi0gIENIQVI4ICAgICAgICAg ICAgICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAg ICAgIFN0YXR1czsNCisgIFdJRklfTUdSX01BQ19DT05GSUdfVE9LRU4gICAgICAgKkNvbmZpZ1Rv a2VuOw0KKyAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAgICAgICAqQ29ubmVjdGVkUHJvZmls ZTsNCisgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlUeXBlOw0KKyAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBTU0lkTGVuOw0KKyAgQ0hBUjggICAgICAg ICAgICAgICAgICAgICAgICAgICAqQXNjaWlTU0lkOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5D X1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQogICBBU1NFUlQgKENvbnRl eHQgIT0gTlVMTCk7DQogDQpAQCAtOTI1LDYgKzEwNzAsMjQgQEAgV2lmaU1nck9uQ29ubmVjdEZp bmlzaGVkICgNCiAgIEFTU0VSVCAoQ29uZmlnVG9rZW4tPlR5cGUgPT0gVG9rZW5UeXBlQ29ubmVj dE5ldHdvcmtUb2tlbik7DQogDQogICBBU1NFUlQgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0 TmV0d29ya1Rva2VuICE9IE5VTEwpOw0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2Nv bCAoJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikm V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisg ICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0 ZSAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4tPlJlc3VsdENvZGUpOw0K KyAgICBpZiAoKG1XaWZpQ29ubmVjdGlvbkNvdW50IDwgTUFYX1dJRklfQ09OTkVUSU9OX0FUVEVN UFRTKSAmJg0KKyAgICAgICAgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2Vu LT5SZXN1bHRDb2RlICE9IENvbm5lY3RTdWNjZXNzKSkNCisgICAgew0KKyAgICAgIG1XaWZpQ29u bmVjdGlvbkNvdW50Kys7DQorICAgICAgZ0JTLT5DbG9zZUV2ZW50IChFdmVudCk7DQorICAgICAg U3RhdHVzID0gQ29ubmVjdGlvblJldHJ5IChXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7DQorICAg ICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgIHJldHVybjsNCisgICAgICB9 DQorDQorICAgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENv bm5lY3RTdGF0ZSAoU3RhdHVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KICAgaWYgKENvbmZpZ1Rva2Vu LT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5TdGF0dXMgIT0gRUZJX1NVQ0NFU1MpIHsNCiAg ICAgaWYgKENvbmZpZ1Rva2VuLT5OaWMtPk9uZVRpbWVDb25uZWN0UmVxdWVzdCkgew0KICAgICAg IC8vDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lm aUNvbm5lY3Rpb25NZ3JNaXNjLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KaW5kZXggNGFkNTY0M2MyNC4uODdhZGZjNTAzMyAx MDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25u ZWN0aW9uTWdyTWlzYy5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KQEAgLTY3MiwxMCArNjcyLDIzIEBAIFdpZmlNZ3JD bGVhblByb2ZpbGVTZWNyZXRzICgNCiAgIElOICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICpQ cm9maWxlDQogICApDQogew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0 dXM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQ cm90b2NvbDsNCisNCiAgIFplcm9NZW0gKFByb2ZpbGUtPlBhc3N3b3JkLCBzaXplb2YgKENIQVIx NikgKiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAgWmVyb01lbSAoUHJvZmlsZS0+RWFwUGFz c3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQogICBaZXJv TWVtIChQcm9maWxlLT5Qcml2YXRlS2V5UGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NX T1JEX1NUT1JBR0VfU0laRSk7DQogDQorICAvLw0KKyAgLy8gIFdoZW4gRUZJIFdpRmkgcHJvZmls ZSBzeW5jIHByb3RvY29sIGlzIGZvdW5kIHRoZSBzeXN0ZW0gaXMgDQorIHBlcmZvcm1pbmcgYSBy ZWNvdmVyeSBib290IGluIHNlY3VyZSAgLy8gIGJvb3QgbW9kZS4gVGhlIHByb2ZpbGUgc3luYyAN CisgZHJpdmVyIHdpbGwgbWFuYWdlIHRoZSBDQSBjZXJ0aWZpY2F0ZSwgY2xpZW50IGNlcnRpZmlj YXRlLCBhbmQga2V5ICAvLyAgZGF0YSwgY2xlYW5pbmcgdGhlbSBhdCBleGl0IGJvb3Qgc2Vydmlj ZXMuDQorICAvLw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlXaUZpUHJv ZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikmV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0dXJuOw0KKyAg fQ0KKw0KICAgaWYgKFByb2ZpbGUtPkNBQ2VydERhdGEgIT0gTlVMTCkgew0KICAgICBaZXJvTWVt IChQcm9maWxlLT5DQUNlcnREYXRhLCBQcm9maWxlLT5DQUNlcnRTaXplKTsNCiAgICAgRnJlZVBv b2wgKFByb2ZpbGUtPkNBQ2VydERhdGEpOw0KLS0NCjIuMzcuMy53aW5kb3dzLjENCg0K