From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.5580.1667392512761876877 for ; Wed, 02 Nov 2022 05:35:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=l1dQe/44; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: maciej.rabeda@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667392512; x=1698928512; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=efzdPyMCgiKSeOvXDkTuxFeha9cfv5r3RnpwA0E1OIo=; b=l1dQe/44mUJe9jdtvz24ockx1BR7M+YGtfEtce+V6QT93bO6d0kd32wE RB+sl10Xh1xlePUA2mbbOV+6gvfYqL9FYPnt/MYH8MHmz7S0u5hSajZGE D8Yjm5vNMuDXg9U3m4uZBMtMOIVwjvJPyEBVDUdgXbMewZL7OswHloUAV 34TbeG7LiVDeOMftO52bya9C+UUNQ0nN9PSn7q/rv0wR35CuIJOL1899W 7/WA4v6s//pAoBEc9qZmjPnR8TEXLJvbDj8WmDLCO1jHnbAXO9EP3muHa TtQU8+YD6Nr2giwFVfz6dB8LIglDpddxB1g6Oiwphe5iQXufAHZ/F9xZV w==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="292706966" X-IronPort-AV: E=Sophos;i="5.95,232,1661842800"; d="scan'208";a="292706966" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2022 05:35:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="879458877" X-IronPort-AV: E=Sophos;i="5.95,232,1661842800"; d="scan'208";a="879458877" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga006.fm.intel.com with ESMTP; 02 Nov 2022 05:35:11 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Wed, 2 Nov 2022 05:35:11 -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; Wed, 2 Nov 2022 05:35:10 -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; Wed, 2 Nov 2022 05:35:10 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) 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; Wed, 2 Nov 2022 05:35:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R35FuSyCsVSdaH2xkATp3ihQUs6zx67kiYBH91f7AoTy/70CY2BFuJ/Bts6Irapt8UUtpNBSwLv2HRPxGGiG60wUYf/BNEKuHlkkKJlnn25Euh0MDCIkwYT4c9S+I6g48/t1tkMch4TBM9GDmofYjKLIK+sDSiMiU1EPiAcZjadZpwGnAFnG4b/594kpj9v0Mwb4Pc5EJ17SJDZ9bJJdvRI0H7gJQ8s1EVh+dUlSkJgP00IlViGgeD75tl5b5bp56HA3sp+1IzkKOm9gter3oTqN12piweXB/8t09Oly9wWHD9zP/QgE/w86IJp+iFCm0sGUAs6X44r9LLq2juk0AA== 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=DGOovET5M6DGRb6drRvkRJNxdcTcTsmZFvpDofTTjdg=; b=hGmYg4/tGiZIA66X21TNzyqNRQzQ/QGzrEtyAjAmL6X/SrG67prm4fWp10be4JoKAUZ1ZCsolmvdjYy3MK2QLzJRG+RJ+gyYX5wXQq8uV39ODaHChBX3Q1nyb06irqh+5QjpifdHRruSFcBV1PHIyXPO9NXI1TWcOSgC6DXWRpgu3hF7FjdPIDAroVmPEb1rfFqJU3NORR7LlT4up+wIf5Kz2VJuZVFiCt3LQIoerOzSivWlhYxeACJwEKiWB1ia3C8a9mMYha0a3crhVPMk0W91ItM/5LL1Y1bq1dPy7DXXM6YAfOTgOY9xJfYrB8N6DG6xAvhdj0GBYChtD8hIRA== 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 PH0PR11MB4773.namprd11.prod.outlook.com (2603:10b6:510:33::7) by DM4PR11MB5391.namprd11.prod.outlook.com (2603:10b6:5:396::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Wed, 2 Nov 2022 12:35:08 +0000 Received: from PH0PR11MB4773.namprd11.prod.outlook.com ([fe80::4ab9:3062:cc8f:9276]) by PH0PR11MB4773.namprd11.prod.outlook.com ([fe80::4ab9:3062:cc8f:9276%5]) with mapi id 15.20.5791.020; Wed, 2 Nov 2022 12:35:08 +0000 From: "Rabeda, Maciej" To: "Clark-williams, Zachary" , "Zimmer, Vincent" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "devel@edk2.groups.io" , "Wu, Jiaxin" , "Otcheretianski, Andrei" , "Kasbekar, Saloni" , "Kinney, Michael D" CC: "Alappat, Paul" , "Patil, Ajit" Subject: Re: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6j/moNgNJfw5E0esBnjmXBs5rq4iq1aAgAGR5jCAAADHwIAEq9RQgAAdggCAAVFMoIAABIYAgAAAoACAATn0oA== Date: Wed, 2 Nov 2022 12:35:07 +0000 Message-ID: References: <9102518d297546d349e9dcbaf9a87706ec8529e0.1664830666.git.zachary.clark-williams@intel.com> In-Reply-To: Accept-Language: pl-PL, en-US X-Mentions: zachary.clark-williams@intel.com,vincent.zimmer@intel.com,saloni.kasbekar@intel.com,michael.d.kinney@intel.com X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: PH0PR11MB4773:EE_|DM4PR11MB5391:EE_ x-ms-office365-filtering-correlation-id: cc3b0e86-296a-4a17-75e5-08dabccead23 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +PGSXnVQB0+hpxo1aCA+tNRE0gU2kaGXn11grqvfH6kvymglBi6Uc88YwpGzIaO6NQV5O5b1wtF1dn1fWS25Dp7nQdyXVfTopK66wTLpk0fOuUeC7+OXpqxLGrhpSbK933w2e+BkTR8SFEjScd5pSlyxsJmr7nRwZXEdFexKY79gGv+iZXeZBUY68lC2F7WPngCqFD1NiUJaOPOVN76PKRBkCHNKuB9R0IY+u6AZa/XldpaozCMDeZMqouHVoK1UVGcpcyqhacjKoMgq8YrIHEgjhJ5VgQnRGQSfQg2G8ycThifd/yEZOEB+0oXttMXmk4HwIZD0OO1OlKTBjN8dZ+WI/2V5VDWTVg2JNWisHPmVrGur8yZtlZwhT/JZ+R8k83G3/BQOmqFluVCFINoE01RhvCy8vvTC1Y4kRn6kkFTBn2BLVH3XwwTchCgzUJXr6B5nfvyR4jlnrS7tKMN12LVz5ctOgyOpQM+wJlsgJJWcGrcNPLCubkxNhA9wfdf9QRycUtQoCiHWmeO/qDwJHOPwIAh5LOEzly8PbVKJiE2wo+ORZbHubds8M6RRmqFo+p5y8L8uUcPIQh0MhQDzp9IZG6vRt6x1yXTJKgKkNMfJ+RDDw66RsIp4DKaBdzTi153TXtDHY9Cl8SKFLubrDGdVYZ4Sonp0GvLuWEAznVh1IGxUQsGevfLifQutXtrNtGZucZj9uTcYmb7XmiXOJIfeEPv2bX4h0uJ6jN2or8IuQ7otmyOd3P4RxpeOuRx7jiOdU5tETqsdc5JMD5dEVO0PusJFIPq1N9iTcRPtVLp+6zj5SKOd/I2RRwgC5dxnRQdvFKC/82lTu/aoJafjxYqe38WTEZkC+3Ag0k0f18JG6RAKvwZr0MNbSrKoqgX7 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4773.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(966005)(6636002)(316002)(478600001)(26005)(19627235002)(9686003)(6506007)(7696005)(53546011)(107886003)(38070700005)(71200400001)(186003)(110136005)(33656002)(921005)(86362001)(54906003)(83380400001)(122000001)(2906002)(82960400001)(55016003)(38100700002)(66899015)(66946007)(76116006)(8676002)(66476007)(66556008)(5660300002)(64756008)(52536014)(8936002)(66446008)(30864003)(4326008)(41300700001)(579004)(559001)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NkJEQmRTL0ZWdE9jeVAxa084RVRySXFzSXA4UlZ6b05GcHhmaE54ZXdFcVB6?= =?utf-8?B?bHRVZnU4akdHem1nT1FjenRld3V5ZDR5YmFKZDN4L25KdFRHM0R4cmN6cXJz?= =?utf-8?B?cHdIY1dmdjJDMWlSSVdkaGlWcW4xQU1VKzgzeG00UEJldHZxMFdzU3o4bUYw?= =?utf-8?B?SzJFZUc1TnRJcm0wSlVNOHdvTjZhL09XMmpML0JYMlp1MDBWR0ZDcUdGQjlt?= =?utf-8?B?MEdmejE4OW91S2NoMlcyQ1NFeGd4N3orQjJ6SVNCaUVnUVFIMlE3OUNJaGZj?= =?utf-8?B?VGhJTTRtQURqYUNqNVNPTERmRnNiT1k0ZGtRYXZ1Y0FUQVA0ekRqM1lYUnM2?= =?utf-8?B?L2JlanY4WlBVVk41M0lQNjF2YlYxWmdoRURXQVkvbTRFSElwN0FQV0lFMDFI?= =?utf-8?B?aEpYbytEQTA2RFpPRDZuSVFIV0toNityelZRVERvQjRYSnpGaU5iWTcrYVJn?= =?utf-8?B?RFArL0FGUG55aHpmQ1I2Sm8xRkpDWnRlaEh5dkJackZ1ZFl5Z25xcUZ1R2I2?= =?utf-8?B?aUVNMS8yajVYdGpKcjBEUFZYR1Nwc2g2cjFFclBYNFc2dlFrSHlsZ0pwNmZz?= =?utf-8?B?azdoU1FMVllKbGowOXAxZjNtWlN3NTlDSitPNkVCNDRkQlhQVVRpeVdBY21Y?= =?utf-8?B?Z0s1MGwrSkUvWFlleENqQXhmNEdhWUNqbG9QbUhmcmtMMUZpcmViM1BWa0da?= =?utf-8?B?Vysxc09VOHZIR3JXajQyWHRQY3ByV0hKd1I1YXJIWlRwcWYwYU82aGVxcUZy?= =?utf-8?B?RURHTElyZXExOHhhYlpEL3d0WW9ZK3lmNWhlMnE4MXhPTm1tLzdUc0JEUDJ4?= =?utf-8?B?cFVDV3Z2VDBGZCtOek9OUGdONklXQmM1Q2ZMOXUwUFVSbm90YU41Sk1pVmVK?= =?utf-8?B?MUZHZ29VTm5CNWorRGNBYXhOSmVBcEtDRktMUndsMFZsWnFnRGVRWjl0Nlkz?= =?utf-8?B?VmhFYURKZGZiamg2KzVyL21oanIvQ0M2WVovS2dqdE5NSUNiYmhXYUR3Nzhk?= =?utf-8?B?Z2RQRlZVK1ovUm94NGtpWjlLNDZXeHFUa3ZRSXFMV1B4U2JQM0g3a3FEeXJG?= =?utf-8?B?NE1oeFFVLy9xc0ZoYVZvdU1kaFV2OGNmK2NVNFR6SU5rdExObVppaUMvNU5C?= =?utf-8?B?RGtxdDg1T1A3ejNGTkRvbWRHVzlQcjh4UU9iSGU5NXBzTU81N1ZqZHZmRHJp?= =?utf-8?B?YjNzLzA3QTRGWk5nWTFrODZlWHNVdjV4NHZta2E2c2NWU21sbmVjMmNiVnR4?= =?utf-8?B?eXhDU2tsU0grOXliSkpyT0dpNlZHeUVvMXlqWk9XMTdWdzlPdWpqVEVjRmZk?= =?utf-8?B?c2tMTkIrZUU4RTUwSE15cHFpeU1OZnVQVEQ4aE0rT3AwYkd6dGtnSTlDaUF1?= =?utf-8?B?VUZOYk1jN0FjZThjdkpjeSszR2x3cHZxcEZtcHhRdmVZZlJkK0p0TWZ3c2xE?= =?utf-8?B?WitOL0dySkoyOUwvZUlUM29qTDlyM1ZuTUVLUVFXZHl5QiszeHJOTGRxQi9x?= =?utf-8?B?TWdLYkJCR2p4aXR6NkRsUmVscVVPa3VTOHZyazRMWmE0OTNzY3NSR1lBK2xu?= =?utf-8?B?VXluVXV3c3dxbWhudWJNOUZlNlRWTm0vbnlWVzF5T0hEbGhRMlk5dnp0ZW1Y?= =?utf-8?B?V3JVMHdOODhCV21UcWsyR2o4S2FsMUxqWHdSNUdCUmJ5UE4yajdNZlRsbWd0?= =?utf-8?B?SnYzbE5DY2xqcS9yc3NBRlZpTWE4UDVpUFZvMG1ScDJzZFFzTEVNaS9ML2hL?= =?utf-8?B?N21mWE1EYnFaUHg0VjYxVUp4OUE5QXFmU2VHN2VBNkJoRFpNUnU3Q1p3Z0h5?= =?utf-8?B?VE5UdzlETFJlalFpR1JJeEp2aDJtWEcreGM2VUtDQ1BiNjdHTEFEb0F4bEM4?= =?utf-8?B?Tm85Sk9keG5qYSszSnhyU2dLOWN4dnhvVDBFdWdhNUVURmxTYkpKTUpIWWgr?= =?utf-8?B?bjFSNG0wTEFyVFBhay9aN3BnT3ZhVHUxbXg1cWltMzBUZllBQk0xYzFVNmV3?= =?utf-8?B?M1BUS1N0WVNtTWhHS3cvUE9rNmQzczN4ZUhDSElDQVhNOGI1WU5hRlBnL0tp?= =?utf-8?B?Q2JVZ1BnVHVFZ0hNQlZCSk9yRnVsOXlZc2tYSUFhcWpVaExYSXZyS1dML2k1?= =?utf-8?Q?O/SgdgylcB8P8CiIFoq1o5n7z?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc3b0e86-296a-4a17-75e5-08dabccead23 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2022 12:35:08.0101 (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: t0op92we/CwBTaU3Q1lnd99x0wOsN77UI6jRGaV/nz0axlSFS+Tm7ofuzFuUjkCtHlfDgBSKss3oMxcJFJTAfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5391 Return-Path: maciej.rabeda@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QEtpbm5leSwgTWljaGFlbCBEDQpXaXRoIHRoZSBhbW91bnQgb2Ygd29yayBhcm91bmQgSVBVcywg SSBjYW4gaGFyZGx5IHNwYXJlIHRpbWUgKG1heWJlIDJoL3dlZWsgb24gYXZlcmFnZSAtIGluY2x1 ZGluZyBjb2RlKS4NCk15IHRpbWUgZm9yIEVESzIgaXMgY3VycmVudGx5IGZ1bGx5IGFsbG9jYXRl ZCB0bzoNCjEuIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1zdGFnaW5nL3RyZWUv SHR0cFByb3h5IChAS2FzYmVrYXIsIFNhbG9uaSkNCjIuIE5WTWUtb0YgYm9vdCBwcm90b3R5cGUg dW5kZXIgbnZtZS5vcmcgdW1icmVsbGEgKEBaaW1tZXIsIFZpbmNlbnQpDQoNCkBDbGFyay13aWxs aWFtcywgWmFjaGFyeQ0KWW91ciBwYXRjaCBpcyBub24tdHJpdmlhbCBhbmQgcmVxdWlyZXMgdW5k ZXJzdGFuZGluZyBvbiBteSBzaWRlLiBCYXNlZCBvbiB0aGF0IGFuZCB0aGUgYWJvdmUsIHRoaXMg d2lsbCB0YWtlIHRpbWUuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFy ay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+IA0K U2VudDogVHVlc2RheSwgTm92ZW1iZXIgMSwgMjAyMiA2OjQxIFBNDQpUbzogWmltbWVyLCBWaW5j ZW50IDx2aW5jZW50LnppbW1lckBpbnRlbC5jb20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJh YmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2Nv dHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29t PjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hl cmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQpDYzog QWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0QGludGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkg PHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+OyBQYXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRl bC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9X aWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoN CkdyZWF0IHRoYW5rIHlvdSBWaW5jZW50LCBJIHdpbGwgYWRkIHRoZW0gdG8gdGhlIHByb3RvY29s IGhlYWRlciBmaWxlIGFuZCBzZW5kIGFuIHVwZGF0ZWQgcGF0Y2ggdG9kYXkuDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVy QGludGVsLmNvbT4NClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDEsIDIwMjIgMTA6MzkgQU0NClRv OiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5j b20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcg PGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29t PjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNo YWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgV3UsIEppYXhp biA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5v dGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0 QGludGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+ OyBQYXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHBy b2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNClRoYXQncyBncmVhdA0KSWYgdGhlc2UgbGlu a3MgYXJlIG5vdCBhbHJlYWR5IGluIHRoZSAuaCBmaWxlcyBvZiB0aGUgcGF0Y2ggSSdkIGFkZCB0 aGVtLg0KVHlwaWNhbGx5IHRoZSB1ZWZpIG5ldHdvcmtpbmcgY29kZSBsZXZlcmFnZXMgdWVmaSBz cGVjIG9yIGlldGYgcmZjJ3Mgb3Igb3RoZXIgcHVibGljIGNvbGxhdGVyYWwuICBMZXR0aW5nIGZv bGtzIGtub3cgdGhlIGJhY2tncm91bmQgb2YgdGhlc2UgaW50ZXJmYWNlcyB3aXRoIGEgcmVmZXJl bmNlIHNob3VsZCBoZWxwIGNvbnN1bWVycyBJTUhPIFZpbmNlbnQNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDEsIDIwMjIgMTA6 MzUgQU0NClRvOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT47IFJh YmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5s dW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8s IFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRr aWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXdSwgSmlheGluIDxqaWF4 aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0 aWFuc2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQYXVsIDxwYXVsLmFsYXBwYXRAaW50ZWwu Y29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jla2FyQGludGVsLmNvbT47IFBhdGls LCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0g W1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIHN1cHBvcnQNCg0KSGV5IFZpbmNlbnQsDQoNClRoZSBkb2N1bWVudGF0aW9u IGZvciBkZXNjcmliaW5nIHRoZSBmZWF0dXJlcyBpbiB0aGUgUFIgZGVzY3JpcHRpb24gY2FuIGJl IGZvdW5kIGluIHRoZSBDU01FIGRvY3VtZW50YXRpb24gZm91bmQgb24gdGhlIHB1YmxpYyBhY2Nl c3NpYmxlIGludGVsIGxpbmsgYmVsb3cuDQoNCk9DUiAtIGh0dHBzOi8vc29mdHdhcmUuaW50ZWwu Y29tL3NpdGVzL21hbmFnZWFiaWxpdHkvQU1UX0ltcGxlbWVudGF0aW9uX2FuZF9SZWZlcmVuY2Vf R3VpZGUvZGVmYXVsdC5odG0/dHVybD1Xb3JkRG9jdW1lbnRzJTJGb25lY2xpY2tyZWNvdmVyeS5o dG0NCg0KS1ZNIC0gaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vc2l0ZXMvbWFuYWdlYWJpbGl0 eS9BTVRfSW1wbGVtZW50YXRpb25fYW5kX1JlZmVyZW5jZV9HdWlkZS9kZWZhdWx0Lmh0bT90dXJs PVdvcmREb2N1bWVudHMlMkZvbmVjbGlja3JlY292ZXJ5Lmh0bQ0KDQpUaGFua3MsDQpaYWNrDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNl bnQuemltbWVyQGludGVsLmNvbT4NClNlbnQ6IE1vbmRheSwgT2N0b2JlciAzMSwgMjAyMiAyOjE2 IFBNDQpUbzogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNA aW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQ a2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9y dA0KDQpRdWljayBxdWVzdGlvbg0KDQpBcmUgdGhlIGZlYXR1cmVzIGRlc2NyaWJlZCBpbiAiIEVu YWJsZXMgS1ZNIGFuZCBPbmUgQ2xpY2sgUmVjb3ZlcnkgV0xBTiBjYXBhYmlsaXR5IHdpdGggV2lG aSBQcm9maWxlIFN5bmMgZmVhdHVyZSBhbmQgcHJvdG9jb2wuIEFkZGluZyBXaUZpUHJvZmlsZVN5 bmNQcm90b2NvbCwgd2hpY2ggc3VwcG9ydHMgdGhlIHByb2ZpbGVzeW5jIGRyaXZlciBvcGVyYXRp b25zIGZvciB0cmFuc2ZlcnJpbmcgV2lGaSBwcm9maWxlcyBmcm9tIEFNVCB0byB0aGUgU3VwcGxp Y2FudC4gV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdpbGwgY2hlY2sgZm9yIHRoZSBXaWZpUHJvZmls ZVN5bmNQcm90b2NvbCBhbmQgaWYgZm91bmQgd2lsbCBvcGVyYXRlIG9uIHRoZSBwcmVtaXNlIG9m IGEgT25lIENsaWNrIFJlY292ZXJ5LCBvciBLVk0gZmxvdyB3aXRoIGEgV2lmaSBwcm9maWxlIHBy b3ZpZGVkIGJ5IEFNVC4iIGluIGEgcHVibGljIGRvY3VtZW50PyAgVGhpbmdzIGxpa2UgY29uY2Vw dCBvZiBwcm9maWxlIHN5bmM/ICBJJ20gZ3Vlc3NpbmcgdGhleSBhcmUgc2luY2UgTGludXggcHJv YmFibHkgZG9lcyB0aGUgc2FtZSBpbiB0aGUgaW50ZWwgaXdsIGRyaXZlcj8NCg0KVmluY2VudA0K DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8g PGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQ2xhcmstd2lsbGlhbXMsIFphY2hh cnkNClNlbnQ6IE1vbmRheSwgT2N0b2JlciAzMSwgMjAyMiAxMjozMSBQTQ0KVG86IEtpbm5leSwg TWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxt YWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPjsg S3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVkLmt1b0Bp bnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGludGVsLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyAnRnUsIFNpeXVhbicgPHNpeXVhbi5mdUBpbnRlbC5j b20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFu ZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQYXVs IDxwYXVsLmFsYXBwYXRAaW50ZWwuY29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jl a2FyQGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3lu YzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KKysgdmlzaWJpbGl0 eQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFph Y2hhcnkNClNlbnQ6IEZyaWRheSwgT2N0b2JlciAyOCwgMjAyMiAxOjEzIFBNDQpUbzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWog PG1hY2llai5yYWJlZGFAaW50ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+ OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3Vv QGludGVsLmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwu Y29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5j b20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFu ZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbUEFU Q0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMg cHJvdG9jb2wgc3VwcG9ydA0KDQorK01vcmUgZm9yIHJldmlld2FsIQ0KDQotLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkNClNlbnQ6IEZyaWRh eSwgT2N0b2JlciAyOCwgMjAyMiAxOjEwIFBNDQpUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50 ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNj b3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtp ZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW8NClN1YmplY3Q6IFJFOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVT eW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpUaGFua3MgZm9y IHRoZSBmb3J3YXJkIE1pa2UhDQoNCk1hY2llaiBhbmQgQWxsLCANCg0KSWYgeW91IGNvdWxkIHBs ZWFzZSByZXZpZXcgdGhlIFBSIGJlbG93LiBJIHdvdWxkIGxpa2UgdG8gZ2V0IHRoaXMgcmV2aWV3 IGNvbXBsZXRlZCB3aXRoaW4gdGhlIHdlZWsuDQoNClRoYW5rcywNClphY2sNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NClNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDE6MDkgUE0N ClRvOiBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBDbGFyay13aWxsaWFtcywgWmFj aGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTdWJqZWN0OiBGVzogW1BB VENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5j IHByb3RvY29sIHN1cHBvcnQNCg0KSGkgTWFjaWVqLA0KDQpDYW4geW91IHBsZWFzZSBoZWxwIHJl dmlldyB0aGVzZSBOZXR3b3JrUGtnIGNoYW5nZXMuDQoNCkkgYW0gbm90IHN1cmUgaWYgeW91IG1v bml0b3IgeW91ciBsaW51eC5pbnRlbC5jb20gYWNjb3VudCBhcyBjbG9zZWx5IGFzIHlvdXIgaW50 ZWwuY29tIGFjY291bnQuDQoNClRoYW5rcywNCg0KTWlrZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2ls bGlhbXNAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMjIgMTI6MzMg UE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpT dWJqZWN0OiBGVzogW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdp RmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KSGV5IE1pa2UsDQoNCkknbSBzdHJ1 Z2dsaW5nIHRvIGdldCBhbnkgZmVlZGJhY2sgb24gdGhpcyBQUi4gRG8geW91IGhhdmUgYW55IHN1 Z2dlc3Rpb25zIHRvIGdldCBiZXR0ZXIgdmlzaWJpbGl0eSBhbmQgcmVzcG9uc2VzIHNvIEkgY2Fu IGdldCB0aGlzIG1pdmluZz8NCg0KVGhhbmtzLA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2ls bGlhbXNAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMjIgMTI6MzEg UE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KQ2M6IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMg PHpjbGFya3cxMTJAZ21haWwuY29tPjsgTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51 eC5pbnRlbC5jb20+OyBGdSBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBXdSwgSmlheGlu IDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90 Y2hlcmV0aWFuc2tpQGludGVsLmNvbT47IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5 LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT4NClN1YmplY3Q6IFtQQVRDSCB2NF0gTmV0d29ya1Br Zy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0 DQoNCkZyb206IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMgPHpjbGFya3cxMTJAZ21haWwuY29tPg0K DQpSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg0 NQ0KDQpFbmFibGVzIEtWTSBhbmQgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gY2FwYWJpbGl0eSB3 aXRoIFdpRmkgUHJvZmlsZSBTeW5jIGZlYXR1cmUgYW5kIHByb3RvY29sLiBBZGRpbmcgV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wsIHdoaWNoIHN1cHBvcnRzIHRoZSBwcm9maWxlc3luYyBkcml2ZXIg b3BlcmF0aW9ucyBmb3IgdHJhbnNmZXJyaW5nIFdpRmkgcHJvZmlsZXMgZnJvbSBBTVQgdG8gdGhl IFN1cHBsaWNhbnQuIFdpRmlDb25uZWN0aW9uTWFuYWdlciB3aWxsIGNoZWNrIGZvciB0aGUgV2lm aVByb2ZpbGVTeW5jUHJvdG9jb2wgYW5kIGlmIGZvdW5kIHdpbGwgb3BlcmF0ZSBvbiB0aGUgcHJl bWlzZSBvZiBhIE9uZSBDbGljayBSZWNvdmVyeSwgb3IgS1ZNIGZsb3cgd2l0aCBhIFdpZmkgcHJv ZmlsZSBwcm92aWRlZCBieSBBTVQuDQoNCkNjOiBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFiZWRh QGxpbnV4LmludGVsLmNvbT4NCkNjOiBGdSBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+DQpD YzogV3UgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KQ2M6IEFuZHJlaSBPdGNoZXJldGlh bnNraSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NCg0KU2lnbmVkLW9mZi1ieTog WmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+ DQotLS0NCiAuLi4vUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaCAgICAgICAgfCAg ODMgKysrKysrKysNCiBOZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjICAgICAgICAgICAgICAgICAg ICAgfCAgIDMgKw0KIC4uLi9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mICAgICAgICAgICAg ICB8ICAgMyArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oICAg ICB8ICAgMiArLQ0KIC4uLi9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jICAgICAgICAgICAgICAg ICB8IDEyNiArKysrKysrKy0tLS0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JEeGUuaCAgICAgICAg ICAgICAgICAgICAgfCAgIDQgKy0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JJbXBsLmMgICAgICAg ICAgICAgICAgICAgfCAxOTMgKysrKysrKysrKysrKysrKy0tDQogLi4uL1dpZmlDb25uZWN0aW9u TWdyTWlzYy5jICAgICAgICAgICAgICAgICAgIHwgIDEzICsrDQogOCBmaWxlcyBjaGFuZ2VkLCAz NjcgaW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9kZSAxMDA2NDQgTmV0 d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmgNCg0KZGlm ZiAtLWdpdCBhL05ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90 b2NvbC5oIGIvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3Rv Y29sLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5lMzZkYWNlYWJm DQotLS0gL2Rldi9udWxsDQorKysgYi9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wuaA0KQEAgLTAsMCArMSw4MyBAQA0KKy8qKiBAZmlsZQ0KKyAgV2lG aSBwcm9maWxlIHN5bmMgcHJvdG9jb2wuIFN1cHBvcnRzIE9uZSBDbGljayBSZWNvdmVyeSBvciBL Vk0gT1MgDQorcmVjb3ZlcnkNCisgIGJvb3QgZmxvdyBvdmVyIFdpRmkuDQorDQorICBDb3B5cmln aHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N CisNCisgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICoqLw0K Kw0KKyNpZm5kZWYgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfSF8NCisjZGVmaW5lIFdJRklf UFJPRklMRV9TWU5DX1BST1RPQ09MX0hfDQorDQorI2luY2x1ZGUgPFdpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZy5oPg0KKw0KKy8vDQorLy8gIFdpRmkgUHJv ZmlsZSBTeW5jIFByb3RvY29sIEdVSUQgdmFyaWFibGUuDQorLy8NCitleHRlcm4gRUZJX0dVSUQg IGdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQ7DQorDQorLyoqDQorICBVc2VkIGJ5IHRo ZSBXaUZpIGNvbm5lY3Rpb24gbWFuYWdlciB0byBnZXQgdGhlIFdpRmkgcHJvZmlsZSB0aGF0IEFN VCANCitzaGFyZWQNCisgIGFuZCB3YXMgc3RvcmVkIGluIFdpRmkgcHJvZmlsZSBwcm90b2NvbC4g QWxpZ25zIHRoZSBBTVQgV2lGaSBwcm9maWxlIA0KK2RhdGEgdG8NCisgIHRoZSBXaUZpIGNvbm5l Y3Rpb24gbWFuYWdlciBwcm9maWxlIHN0cnVjdHVyZSBmbyBjb25uZWN0aW9uIHVzZS4NCisNCisg IEBwYXJhbVtpbiwgb3V0XSAgV2NtUHJvZmlsZSAgICAgICBXaUZpIENvbm5lY3Rpb24gTWFuYWdl ciBwcm9maWxlIHN0cnVjdHVyZQ0KKyAgQHBhcmFtW2luLCBvdXRdICBNYWNBZGRyZXNzICAgICAg IE1BQyBhZGRyZXNzIGZyb20gQU1UIHNhdmVkIHRvIE5pQyBNQUMgYWRkcmVzcw0KKw0KKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFN0b3JlZCBXaUZpIHByb2ZpbGUgY29udmVy dGVkIGFuZCByZXR1cm5lZCBzdWNjZWZ1bGx5DQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAg ICAgICAgICAgUHJvZmlsZSBwcm90b2NvbCBzaGFyaW5nIG5vdCBzdXBwb3J0ZWQgb3IgZW5hYmxl ZA0KKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICAgIE5vIHByb2ZpbGVzIHRvIHJl dHVybmVkDQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICAgRXJyb3IgT2NjdXJy ZWQNCisqKi8NCit0eXBlZGVmDQorRUZJX1NUQVRVUw0KKyhFRklBUEkgKldJRklfUFJPRklMRV9H RVQpKA0KKyAgSU4gT1VUICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICpQcm9maWxlLA0KKyAg SU4gT1VUICBFRklfODAyMTFfTUFDX0FERFJFU1MgICAgIE1hY0FkZHJlc3MNCisgICk7DQorDQor LyoqDQorICBTYXZlcyB0aGUgV2lGaSBjb25uZWN0aW9uIHN0YXR1cyByZWNpZXZlZCBieSB0aGUg DQorV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdoZW4NCisgIGluIGEgS1ZNIE9SIE9uZSBDbGljayBS ZWNvdmVyeSBXTEFOIHJlY292ZXJ5IGZsb3cuIElucHV0IGFzDQorICBFRklfODAyMTFfQ09OTkVD VF9ORVRXT1JLX1JFU1VMVF9DT0RFIHRoZW4gY29udmVydGVkIGFuZCBzdG9yZWQgYXMgRUZJX1NU QVRVUyB0eXBlLg0KKw0KKyAgQHBhcmFtW2luXSBDb25uZWN0aW9uU3RhdHVzICAgICBXaUZpIGNv bm5lY3Rpb24gYXR0ZW1wdCByZXN1bHRzDQorKiovDQordHlwZWRlZg0KK1ZPSUQNCisoRUZJQVBJ ICpXSUZJX1NFVF9DT05ORUNUX1NUQVRFKSgNCisgIElOICBFRklfODAyMTFfQ09OTkVDVF9ORVRX T1JLX1JFU1VMVF9DT0RFIENvbm5lY3Rpb25TdGF0dXMNCisgICk7DQorDQorLyoqDQorICBSZXRy aWV2ZXMgdGhlIHN0b3JlZCBXaUZpIGNvbm5lY3Rpb24gc3RhdHVzIHdoZW4gaW4gZWl0aGVyIEtW TSBPUiBPbmUgDQorQ2xpY2sNCisgIFJlY292ZXJ5IFdMQU4gcmVjb3ZlcnkgZmxvdy4NCisNCisg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICBXaUZpIGNvbm5lY3Rpb24gY29tcGxl dGVkIHN1Y2Nlc2Z1bGx5DQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICAgQ29u bmVjdGlvbiBmYWlsdXJlIG9jY3VycmVkDQorKiovDQordHlwZWRlZg0KK0VGSV9TVEFUVVMNCiso RUZJQVBJICpXSUZJX0dFVF9DT05ORUNUX1NUQVRFKSgNCisgIFZPSUQNCisgICk7DQorDQorLy8N CisvLyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wgc3RydWN0dXJlLg0KKy8vDQordHlwZWRl ZiBzdHJ1Y3Qgew0KKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCisgIFdJ RklfU0VUX0NPTk5FQ1RfU1RBVEUgICAgV2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlOw0K KyAgV0lGSV9HRVRfQ09OTkVDVF9TVEFURSAgICBXaWZpUHJvZmlsZVN5bmNHZXRDb25uZWN0U3Rh dGU7DQorICBXSUZJX1BST0ZJTEVfR0VUICAgICAgICAgIFdpZmlQcm9maWxlU3luY0dldFByb2Zp bGU7DQorfSBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0w7DQorDQorLyoqDQorICBXaUZp IFByb2ZpbGUgUHJvdG9jb2wgcmV2aXNpb24gbnVtYmVyLg0KKw0KKyAgUmV2aXNpb24gMTogICBJ bml0aWFsIHZlcnNpb24NCisqKi8NCisjZGVmaW5lIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9U T0NPTF9SRVZJU0lPTiAgMQ0KKw0KKyNlbmRpZiAvLyAgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9D T0xfSF8NCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGIvTmV0d29ya1Br Zy9OZXR3b3JrUGtnLmRlYyBpbmRleCA1ZTQzZWJmOGM1Li41M2ZiMzRjNGEwIDEwMDY0NA0KLS0t IGEvTmV0d29ya1BrZy9OZXR3b3JrUGtnLmRlYw0KKysrIGIvTmV0d29ya1BrZy9OZXR3b3JrUGtn LmRlYw0KQEAgLTkxLDYgKzkxLDkgQEANCiAgICMjIEluY2x1ZGUvUHJvdG9jb2wvSHR0cENhbGxi YWNrLmgNCiAgIGdFZGtpaUh0dHBDYWxsYmFja1Byb3RvY29sR3VpZCAgPSB7MHg2MTExMTRmMSwg MHhhMzdiLCAweDQ0NjgsIHsweGE0LCAweDM2LCAweDViLCAweGRkLCAweGExLCAweDZhLCAweGEy LCAweDQwfX0NCiANCisgICMjIEluY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2wuaA0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCA9IHsweDM5OWEyYjhhLCAw eGMyNjcsIDB4NDRhYSwgezB4OWEsIA0KKyAweGI0LCAweDMwLCAweDU4LCAweDhjLCAweGQyLCAw eDJkLCAweGNjfX0NCisNCiBbUGNkc0ZpeGVkQXRCdWlsZF0NCiAgICMjIFRoZSBtYXggYXR0ZW1w dCBudW1iZXIgd2lsbCBiZSBjcmVhdGVkIGJ5IGlTQ1NJIGRyaXZlci4NCiAgICMgQFByb21wdCBN YXggYXR0ZW1wdCBudW1iZXIuDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlv bk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZiBiL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYNCmluZGV4 IDQzOTRiNmY0YmIuLjdlMzYwMTZjZjggMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25u ZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mDQorKysgYi9OZXR3 b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUu aW5mDQpAQCAtOSw3ICs5LDcgQEANCiAjICAyKS4gV1BBMiBQZXJzb25hbCBOZXR3b3JrDQogIyAg MykuIEVBUCBOZXR3b3JrcyAoRUFQLVRMUywgRUFQLVRUTFMvTVNDSEFQdjIgYW5kIFBFQVB2MC9N U0NIQVB2MikgICMgLSMgIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgIENvcHlyaWdodCAoYykgMjAxOSAtIDIwMjIsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KK3Jlc2VydmVkLjxCUj4NCiAjDQogIyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgICMgQEAgLTcxLDYgKzcx LDcgQEANCiAgIGdFZmlBZGFwdGVySW5mb3JtYXRpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAj IyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlTdXBwbGljYW50UHJvdG9jb2xHdWlkICAgICAg ICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlFYXBDb25maWd1cmF0 aW9uUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCisgIGdF ZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAjIyBTT01FVElNRVNf Q09OU1VNRVMNCiANCiBbR3VpZHNdDQogICBnV2lmaUNvbmZpZ0d1aWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyMgUFJPRFVDRVMgICMjIEdVSUQNCmRpZmYgLS1naXQgYS9OZXR3b3Jr UGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0 YVN0cnVjdC5oIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5l Y3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaA0KaW5kZXggYjU1MThhNzRkOC4uZGNjNGJmN2Uy NyAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlD b25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmgNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNv bm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhUw0KKysrIHRy dWN0LmgNCkBAIC0yNSw3ICsyNSw3IEBADQogDQogI2RlZmluZSBQQVNTV09SRF9NSU5fTEVOICAg ICAgIDgNCiAjZGVmaW5lIFBBU1NXT1JEX01BWF9MRU4gICAgICAgNjMNCi0jZGVmaW5lIFBBU1NX T1JEX1NUT1JBR0VfU0laRSAgNjQNCisjZGVmaW5lIFBBU1NXT1JEX1NUT1JBR0VfU0laRSAgNjUN CiANCiAjZGVmaW5lIEVBUF9JREVOVElUWV9MRU4gICA2Mw0KICNkZWZpbmUgRUFQX0lERU5USVRZ X1NJWkUgIDY0DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJE eGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25N YW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCmluZGV4IDY3YTAxY2EwNTguLjk3 Y2E3YTlmMGIgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4 ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jDQpAQCAtMSw3ICsxLDcgQEAN CiAvKiogQGZpbGUNCiAgIFRoZSBkcml2ZXIgYmluZGluZyBwcm90b2NvbCBmb3IgdGhlIFdpRmkg Q29ubmVjdGlvbiBNYW5hZ2VyLg0KIA0KLSAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorICBDb3B5cmlnaHQgKGMpIDIwMTkg LSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCisgcmVzZXJ2ZWQuPEJSPg0K IA0KICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCkBA IC0zOSw2ICszOSwxMSBAQCBFRklfR1VJRCAgbVdpZmlDb25maWdOZXR3b3JrTGlzdFJlZnJlc2hH dWlkID0gV0lGSV9DT05GSUdfTkVUV09SS19MSVNUX1JFRlJFU0hfRw0KIEVGSV9HVUlEICBtV2lm aUNvbmZpZ0Nvbm5lY3RGb3JtUmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19DT05ORUNUX0ZPUk1f UkVGUkVTSF9HVUlEOw0KIEVGSV9HVUlEICBtV2lmaUNvbmZpZ01haW5Gb3JtUmVmcmVzaEd1aWQg ICAgPSBXSUZJX0NPTkZJR19NQUlOX0ZPUk1fUkVGUkVTSF9HVUlEOw0KIA0KKy8vDQorLy8gV2lm aSBjb25uZWN0aW9uIGF0dGVtcHQgY291bnRlciBmb3IgcmV0cmllcyAvLyBleHRlcm4gVUlOVDgg DQorbVdpZmlDb25uZWN0aW9uQ291bnQ7DQorDQogLyoqDQogICBUZXN0cyB0byBzZWUgaWYgdGhp cyBkcml2ZXIgc3VwcG9ydHMgYSBnaXZlbiBjb250cm9sbGVyLiBJZiBhIGNoaWxkIGRldmljZSBp cyBwcm92aWRlZCwNCiAgIGl0IGZ1cnRoZXIgdGVzdHMgdG8gc2VlIGlmIHRoaXMgZHJpdmVyIHN1 cHBvcnRzIGNyZWF0aW5nIGEgaGFuZGxlIGZvciB0aGUgc3BlY2lmaWVkIGNoaWxkIGRldmljZS4N CkBAIC0xNjcsOCArMTcyLDEwIEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RhcnQgKA0KICAg RUZJX1dJUkVMRVNTX01BQ19DT05ORUNUSU9OX0lJX1BST1RPQ09MICAqV21wOw0KICAgRUZJX1NV UFBMSUNBTlRfUFJPVE9DT0wgICAgICAgICAgICAgICAgICAqU3VwcGxpY2FudDsNCiAgIEVGSV9F QVBfQ09ORklHVVJBVElPTl9QUk9UT0NPTCAgICAgICAgICAgKkVhcENvbmZpZzsNCisgIEVGSV9X SUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgICAgICAgICAgKldpRmlQcm9maWxlU3luY1Byb3Rv Y29sOw0KIA0KLSAgTmljID0gTlVMTDsNCisgIG1XaWZpQ29ubmVjdGlvbkNvdW50ID0gMDsNCisg IE5pYyAgICAgICAgICAgICAgICAgID0gTlVMTDsNCiANCiAgIC8vDQogICAvLyBPcGVuIFByb3Rv Y29scw0KQEAgLTIzNiw0NyArMjQzLDczIEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RhcnQg KA0KICAgSW5pdGlhbGl6ZUxpc3RIZWFkICgmTmljLT5Qcm9maWxlTGlzdCk7DQogDQogICAvLw0K LSAgLy8gUmVjb3JkIHRoZSBNQUMgYWRkcmVzcyBvZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgLy8g V2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgaW5zdGFsbGF0aW9uIGNoZWNrIGZvciBPUyByZWNv dmVyeSBmbG93Lg0KICAgLy8NCi0gIFN0YXR1cyA9IE5ldExpYkdldE1hY0FkZHJlc3MgKA0KLSAg ICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KLSAgICAgICAgICAgICAoRUZJX01BQ19BRERS RVNTICopJk5pYy0+TWFjQWRkcmVzcywNCi0gICAgICAgICAgICAgJkFkZHJlc3NTaXplDQotICAg ICAgICAgICAgICk7DQotICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQotICAgIGdvdG8gRVJS T1IyOw0KLSAgfQ0KLQ0KLSAgLy8NCi0gIC8vIENyZWF0ZSBhbmQgc3RhcnQgdGhlIHRpbWVyIGZv ciB0aGUgc3RhdHVzIGNoZWNrDQotICAvLw0KLSAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAo DQotICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdOQUwgfCBFVlRfVElNRVIsDQotICAg ICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KLSAgICAgICAgICAgICAgICAgIFdpZmlNZ3JP blRpbWVyVGljaywNCi0gICAgICAgICAgICAgICAgICBOaWMsDQotICAgICAgICAgICAgICAgICAg Jk5pYy0+VGlja1RpbWVyDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAg ICAgICAgICAgICAgICAmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwNCisgICAgICAg ICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZXaUZpUHJvZmls ZVN5bmNQcm90b2NvbA0KICAgICAgICAgICAgICAgICAgICk7DQotICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQotICAgIGdvdG8gRVJST1IyOw0KLSAgfQ0KKyAgaWYgKCFFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPSAoV0lGSV9NR1JfTkVU V09SS19QUk9GSUxFICopQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mIChXSUZJX01HUl9ORVRXT1JL X1BST0ZJTEUpKTsNCisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrID09IE5VTEwp IHsNCisgICAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCisgICAgICBnb3RvIEVS Uk9SMTsNCisgICAgfQ0KIA0KLSAgU3RhdHVzID0gZ0JTLT5TZXRUaW1lciAoTmljLT5UaWNrVGlt ZXIsIFRpbWVyUGVyaW9kaWMsIEVGSV9USU1FUl9QRVJJT0RfTUlMTElTRUNPTkRTICg1MDApKTsN Ci0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjM7DQotICB9DQor ICAgIFdpRmlQcm9maWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNHZXRQcm9maWxlIChO aWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yaywgTmljLT5NYWNBZGRyZXNzKTsNCisgICAgaWYgKE5p Yy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpIHsNCisgICAgICBTdGF0dXMgPSBXaWZp TWdyQ29ubmVjdFRvTmV0d29yayAoTmljLCBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayk7DQor ICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0ZSAoU3RhdHVzKTsNCisgICAg ICB9DQorICAgIH0gZWxzZSB7DQorICAgICAgZ290byBFUlJPUjE7DQorICAgIH0NCisgIH0gZWxz ZSB7DQorICAgIC8vDQorICAgIC8vIFJlY29yZCB0aGUgTUFDIGFkZHJlc3Mgb2YgdGhlIGluY29t aW5nIE5JQy4NCisgICAgLy8NCisgICAgU3RhdHVzID0gTmV0TGliR2V0TWFjQWRkcmVzcyAoDQor ICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCisgICAgICAgICAgICAgICAoRUZJX01B Q19BRERSRVNTICopJk5pYy0+TWFjQWRkcmVzcywNCisgICAgICAgICAgICAgICAmQWRkcmVzc1Np emUNCisgICAgICAgICAgICAgICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgICAgZ290byBFUlJPUjI7DQorICAgIH0NCiANCi0gIE5pYy0+Q29ubmVjdFN0YXRlID0gV2lm aU1nckRpc2Nvbm5lY3RlZDsNCi0gIE5pYy0+U2NhblN0YXRlICAgID0gV2lmaU1nclNjYW5GaW5p c2hlZDsNCisgICAgLy8NCisgICAgLy8gQ3JlYXRlIGFuZCBzdGFydCB0aGUgdGltZXIgZm9yIHRo ZSBzdGF0dXMgY2hlY2sNCisgICAgLy8NCisgICAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAo DQorICAgICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCB8IEVWVF9USU1FUiwNCisg ICAgICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCisgICAgICAgICAgICAgICAgICAgIFdp ZmlNZ3JPblRpbWVyVGljaywNCisgICAgICAgICAgICAgICAgICAgIE5pYywNCisgICAgICAgICAg ICAgICAgICAgICZOaWMtPlRpY2tUaW1lcg0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIGdvdG8gRVJST1IyOw0KKyAgICB9DQog DQotICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KLSAgSW5zZXJ0VGFp bExpc3QgKCZtUHJpdmF0ZS0+TmljTGlzdCwgJk5pYy0+TGluayk7DQotICBOaWMtPk5pY0luZGV4 ID0gbVByaXZhdGUtPk5pY0NvdW50Kys7DQotICBpZiAobVByaXZhdGUtPkN1cnJlbnROaWMgPT0g TlVMTCkgew0KLSAgICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9IE5pYzsNCi0gIH0NCisgICAgU3Rh dHVzID0gZ0JTLT5TZXRUaW1lciAoTmljLT5UaWNrVGltZXIsIFRpbWVyUGVyaW9kaWMsIEVGSV9U SU1FUl9QRVJJT0RfTUlMTElTRUNPTkRTICg1MDApKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KKyAgICAgIGdvdG8gRVJST1IzOw0KKyAgICB9DQogDQotICBnQlMtPlJlc3RvcmVU UEwgKE9sZFRwbCk7DQorICAgIE5pYy0+Q29ubmVjdFN0YXRlID0gV2lmaU1nckRpc2Nvbm5lY3Rl ZDsNCisgICAgTmljLT5TY2FuU3RhdGUgICAgPSBXaWZpTWdyU2NhbkZpbmlzaGVkOw0KKw0KKyAg ICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FMTEJBQ0spOw0KKyAgICBJbnNlcnRUYWls TGlzdCAoJm1Qcml2YXRlLT5OaWNMaXN0LCAmTmljLT5MaW5rKTsNCisgICAgTmljLT5OaWNJbmRl eCA9IG1Qcml2YXRlLT5OaWNDb3VudCsrOw0KKyAgICBpZiAobVByaXZhdGUtPkN1cnJlbnROaWMg PT0gTlVMTCkgew0KKyAgICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0gTmljOw0KKyAgICB9DQor DQorICAgIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgIH0NCiANCiAgIFN0YXR1cyA9IGdC Uy0+SW5zdGFsbFByb3RvY29sSW50ZXJmYWNlICgNCiAgICAgICAgICAgICAgICAgICAmQ29udHJv bGxlckhhbmRsZSwNCkBAIC0zODUsMTAgKzQxOCwxMSBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGlu Z1N0b3AgKA0KICAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAqQ2hpbGRIYW5kbGVC dWZmZXIgT1BUSU9OQUwNCiAgICkNCiB7DQotICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICBT dGF0dXM7DQotICBFRklfVFBMICAgICAgICAgICAgICAgICAgICBPbGRUcGw7DQotICBXSUZJX01H Ul9QUklWQVRFX1BST1RPQ09MICAqV2lmaU1ncklkZW50aWZpZXI7DQotICBXSUZJX01HUl9ERVZJ Q0VfREFUQSAgICAgICAqTmljOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBT dGF0dXM7DQorICBFRklfVFBMICAgICAgICAgICAgICAgICAgICAgICAgIE9sZFRwbDsNCisgIFdJ RklfTUdSX1BSSVZBVEVfUFJPVE9DT0wgICAgICAgKldpZmlNZ3JJZGVudGlmaWVyOw0KKyAgV0lG SV9NR1JfREVWSUNFX0RBVEEgICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJRklfUFJPRklMRV9T WU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQogICBTdGF0dXMgPSBn QlMtPk9wZW5Qcm90b2NvbCAoDQogICAgICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwN CkBAIC00ODEsNyArNTE1LDE1IEBAIFdpZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RvcCAoDQogICAv Lw0KICAgT2xkVHBsID0gZ0JTLT5SYWlzZVRQTCAoVFBMX0NBTExCQUNLKTsNCiANCi0gIFJlbW92 ZUVudHJ5TGlzdCAoJk5pYy0+TGluayk7DQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29s ICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwN CisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZX aUZpUHJvZmlsZVN5bmNQcm90b2NvbA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFJlbW92ZUVudHJ5TGlzdCAoJk5pYy0+TGluayk7DQor ICB9DQorDQogICBtUHJpdmF0ZS0+TmljQ291bnQtLTsNCiAgIGlmIChtUHJpdmF0ZS0+Q3VycmVu dE5pYyA9PSBOaWMpIHsNCiAgICAgbVByaXZhdGUtPkN1cnJlbnROaWMgPSBOVUxMOw0KZGlmZiAt LWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9u TWdyRHhlLmggYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckR4ZS5oDQppbmRleCA3YjJlNDFlMTU1Li4wNDdmODVkYmMyIDEwMDY0NA0KLS0tIGEv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEeGUu aA0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JEeGUuaA0KQEAgLTQ3LDYgKzQ3LDcgQEANCiAjaW5jbHVkZSA8UHJvdG9jb2wvU2ltcGxl TmV0d29yay5oPg0KICNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+DQogI2lu Y2x1ZGUgPFByb3RvY29sL0VhcENvbmZpZ3VyYXRpb24uaD4NCisjaW5jbHVkZSA8UHJvdG9jb2wv V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaD4NCiANCiAvLw0KIC8vIFByb2R1Y2VkIFByb3RvY29s cw0KQEAgLTczLDcgKzc0LDggQEANCiAvLw0KICNkZWZpbmUgV0lGSV9NR1JfRFhFX1ZFUlNJT04g IDB4Yg0KIA0KLSNkZWZpbmUgT1VJX0lFRUVfODAyMTFJICAweEFDMEYwMA0KKyNkZWZpbmUgT1VJ X0lFRUVfODAyMTFJICAgICAgICAgICAgICAweEFDMEYwMA0KKyNkZWZpbmUgTUFYX1dJRklfQ09O TkVUSU9OX0FUVEVNUFRTICAzDQogDQogdHlwZWRlZiBlbnVtIHsNCiAgIEllZWU4MDIxMVBhaXJ3 aXNlQ2lwaGVyU3VpdGVVc2VHcm91cENpcGhlclN1aXRlID0gMCwgZGlmZiAtLWdpdCBhL05ldHdv cmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBs LmMNCmluZGV4IDU5YmFjNDhjNDIuLmE3M2FiOWY3MTAgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwuYw0KKysrIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBs LmMNCkBAIC0xOSw2ICsxOSw4IEBAIEVGSV9FQVBfVFlQRSAgbUVhcFNlY29uZEF1dGhNZXRob2Rb XSA9IHsNCiAgIEVGSV9FQVBfVFlQRV9NU0NIQVBWMg0KIH07DQogDQorVUlOVDggIG1XaWZpQ29u bmVjdGlvbkNvdW50ID0gMDsNCisNCiAvKioNCiAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3Ig c2NhbiBvcGVyYXRpb24uIFRoaXMgZnVuY3Rpb24gdXBkYXRlcyBuZXR3b3Jrcw0KICAgYWNjb3Jk aW5nIHRvIHRoZSBsYXRlc3Qgc2NhbiByZXN1bHQsIGFuZCB0cmlnZ2VyIFVJIHJlZnJlc2guDQpA QCAtNDI0LDE4ICs0MjYsMjYgQEAgV2lmaU1nckNvbmZpZ1Bhc3N3b3JkICgNCiAgICAgcmV0dXJu IEVGSV9OT1RfRk9VTkQ7DQogICB9DQogDQotICBBc2NpaVBhc3N3b3JkID0gQWxsb2NhdGVaZXJv UG9vbCAoKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiBzaXplb2YgKFVJTlQ4KSk7 DQorICBpZiAoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgPj0gUEFTU1dPUkRfU1RPUkFHRV9T SVpFKSB7DQorICAgIEFTU0VSVCAoRUZJX0lOVkFMSURfUEFSQU1FVEVSKTsNCisgICAgcmV0dXJu IEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCisgIH0NCisNCisgIEFzY2lpUGFzc3dvcmQgPSBBbGxv Y2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIA0KKyBzaXpl b2YgKENIQVI4KSk7DQogICBpZiAoQXNjaWlQYXNzd29yZCA9PSBOVUxMKSB7DQogICAgIHJldHVy biBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgIH0NCiANCi0gIFVuaWNvZGVTdHJUb0FzY2lpU3Ry UyAoUHJvZmlsZS0+UGFzc3dvcmQsIChDSEFSOCAqKUFzY2lpUGFzc3dvcmQsIFBBU1NXT1JEX1NU T1JBR0VfU0laRSk7DQotICBTdGF0dXMgPSBTdXBwbGljYW50LT5TZXREYXRhICgNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgU3VwcGxpY2FudCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAg RWZpU3VwcGxpY2FudDgwMjExUHNrUGFzc3dvcmQsDQotICAgICAgICAgICAgICAgICAgICAgICAg IEFzY2lpUGFzc3dvcmQsDQotICAgICAgICAgICAgICAgICAgICAgICAgIChTdHJMZW4gKFByb2Zp bGUtPlBhc3N3b3JkKSArIDEpICogc2l6ZW9mIChVSU5UOCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgKTsNCisgIFN0YXR1cyA9IFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+UGFz c3dvcmQsIChDSEFSOCANCisgKilBc2NpaVBhc3N3b3JkLCAoU3RyTGVuIChQcm9maWxlLT5QYXNz d29yZCkgKyAxKSk7ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBTdGF0dXMgPSBT dXBwbGljYW50LT5TZXREYXRhICgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwbGlj YW50LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEVmaVN1cHBsaWNhbnQ4MDIxMVBza1Bh c3N3b3JkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzY2lpUGFzc3dvcmQsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkg KiBzaXplb2YgKENIQVI4KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICB9DQor DQogICBaZXJvTWVtIChBc2NpaVBhc3N3b3JkLCBBc2NpaVN0ckxlbiAoKENIQVI4ICopQXNjaWlQ YXNzd29yZCkgKyAxKTsNCiAgIEZyZWVQb29sIChBc2NpaVBhc3N3b3JkKTsNCiANCkBAIC00NjYs NiArNDc2LDcgQEAgV2lmaU1nckNvbmZpZ0VhcCAoDQogICApDQogew0KICAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJP VE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiAgIEVGSV9FQVBfQ09ORklHVVJBVElP Tl9QUk9UT0NPTCAgKkVhcENvbmZpZzsNCiAgIEVGSV9FQVBfVFlQRSAgICAgICAgICAgICAgICAg ICAgRWFwQXV0aE1ldGhvZDsNCiAgIEVGSV9FQVBfVFlQRSAgICAgICAgICAgICAgICAgICAgRWFw U2Vjb25kQXV0aE1ldGhvZDsNCkBAIC01NjcsNyArNTc4LDEzIEBAIFdpZmlNZ3JDb25maWdFYXAg KA0KICAgICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgICAgfQ0KIA0KLSAgICBV bmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPkVhcElkZW50aXR5LCBJZGVudGl0eSwgSWRl bnRpdHlTaXplKTsNCisgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlXaUZp UHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEICoqKSZXaUZpUHJvZmlsZVN5bmNQ cm90b2NvbCk7DQorICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgQ29weU1l bSAoSWRlbnRpdHksICZQcm9maWxlLT5FYXBJZGVudGl0eSwgSWRlbnRpdHlTaXplKTsNCisgICAg fSBlbHNlIHsNCisgICAgICBVbmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUtPkVhcElkZW50 aXR5LCBJZGVudGl0eSwgSWRlbnRpdHlTaXplKTsNCisgICAgfQ0KKw0KICAgICBTdGF0dXMgPSBF YXBDb25maWctPlNldERhdGEgKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFwQ29uZmln LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0VBUF9UWVBFX0lERU5USVRZLCBAQCAt ODkyLDYgKzkwOSwxMzMgQEAgV2lmaU1nclByZXBhcmVDb25uZWN0aW9uICgNCiAgIHJldHVybiBF RklfU1VDQ0VTUzsNCiB9DQogDQorLyoqDQorICBXaWxsIHJlc2V0IE5pQyBkYXRhLCBnZXQgcHJv ZmlsZSBmcm9tIHByb2ZpbGUgc3luYyBkcml2ZXIsIGFuZCBzZW5kIA0KK2Zvcg0KKyAgYW5vdGhl ciBjb25uZWN0aW9uIGF0dGVtcHQuVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNhbGxlZCBt b3JlIA0KK3RoYW4NCisgIDMgdGltZXMuDQorDQorICBAcGFyYW1baW5dICBXaUZpUHJvZmlsZVN5 bmNQcm90b2NvbCAgVGhlIHRhcmdldCBuZXR3b3JrIHByb2ZpbGUgdG8gY29ubmVjdC4NCisNCisg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGNv bXBsZXRlZC4NCisgIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgICAgICAgICAgICBPcGVyYXRp b24gZmFpbHVyZS4NCisNCisqKi8NCitFRklfU1RBVFVTDQorQ29ubmVjdGlvblJldHJ5ICgNCisg IElOICAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2wNCisgICkNCit7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXR1czsNCisgIFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICAgICAgICAgICAgICAg Kk5pYzsNCisgIEVGSV9XSVJFTEVTU19NQUNfQ09OTkVDVElPTl9JSV9QUk9UT0NPTCAgKldtcDsN CisgIEVGSV9TVVBQTElDQU5UX1BST1RPQ09MICAgICAgICAgICAgICAgICAgKlN1cHBsaWNhbnQ7 DQorICBFRklfRUFQX0NPTkZJR1VSQVRJT05fUFJPVE9DT0wgICAgICAgICAgICpFYXBDb25maWc7 DQorDQorICBOaWMgPSBOVUxMOw0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAo DQorICAgICAgICAgICAgICAgICAgJmdFZmlXaUZpMlByb3RvY29sR3VpZCwNCisgICAgICAgICAg ICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZXbXANCisgICAgICAg ICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICByZXR1cm4g U3RhdHVzOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAg ICAgICAgICAgICAgICAgJmdFZmlTdXBwbGljYW50UHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAg ICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJlN1cHBsaWNhbnQNCisg ICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBT dXBwbGljYW50ID0gTlVMTDsNCisgIH0NCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpRWFwQ29uZmlndXJhdGlvblByb3RvY29sR3Vp ZCwNCisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoq KSZFYXBDb25maWcNCisgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KKyAgICBFYXBDb25maWcgPSBOVUxMOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIElu aXRpYWxpemUgTmljIGRldmljZSBkYXRhDQorICAvLw0KKyAgTmljID0gQWxsb2NhdGVaZXJvUG9v bCAoc2l6ZW9mIChXSUZJX01HUl9ERVZJQ0VfREFUQSkpOyAgaWYgKE5pYyA9PQ0KKyBOVUxMKSB7 DQorICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICByZXR1cm4gU3RhdHVz Ow0KKyAgfQ0KKw0KKyAgTmljLT5TaWduYXR1cmUgICAgICAgICAgID0gV0lGSV9NR1JfREVWSUNF X0RBVEFfU0lHTkFUVVJFOw0KKyAgTmljLT5Qcml2YXRlICAgICAgICAgICAgID0gbVByaXZhdGU7 DQorICBOaWMtPldtcCAgICAgICAgICAgICAgICAgPSBXbXA7DQorICBOaWMtPlN1cHBsaWNhbnQg ICAgICAgICAgPSBTdXBwbGljYW50Ow0KKyAgTmljLT5FYXBDb25maWcgICAgICAgICAgID0gRWFw Q29uZmlnOw0KKyAgTmljLT5Vc2VyU2VsZWN0ZWRQcm9maWxlID0gTlVMTDsNCisgIE5pYy0+T25l VGltZVNjYW5SZXF1ZXN0ICA9IEZBTFNFOw0KKw0KKyAgaWYgKE5pYy0+U3VwcGxpY2FudCAhPSBO VUxMKSB7DQorICAgIFN0YXR1cyA9IFdpZmlNZ3JHZXRTdXBwb3J0ZWRTdWl0ZXMgKE5pYyk7ICB9 DQorDQorICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBJbml0aWFsaXplTGlzdEhl YWQgKCZOaWMtPlByb2ZpbGVMaXN0KTsNCisNCisgICAgTmljLT5Db25uZWN0UGVuZGluZ05ldHdv cmsgPSAoV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICopQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9m IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUpKTsNCisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRp bmdOZXR3b3JrID09IE5VTEwpIHsNCisgICAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNF UzsNCisgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2Vy XSBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBDb25uZWN0UGVuZGluZ05ldHdvcmtcbiIp KTsNCisgICAgICBnb3RvIEVSUk9SOw0KKyAgICB9DQorDQorICAgIFN0YXR1cyA9IFdpRmlQcm9m aWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNHZXRQcm9maWxlIChOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yaywgTmljLT5NYWNBZGRyZXNzKTsNCisgICAgaWYgKCFFRklfRVJST1IgKFN0 YXR1cykgJiYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpKSB7DQorICAgICAg U3RhdHVzID0gV2lmaU1nckNvbm5lY3RUb05ldHdvcmsgKE5pYywgTmljLT5Db25uZWN0UGVuZGlu Z05ldHdvcmspOw0KKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgICBy ZXR1cm4gU3RhdHVzOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBERUJVRyAoKERF QlVHX0VSUk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2VyXSBGYWlsZWQgdG8gZ2V0IFdpRmkg cHJvZmlsZSB3aXRoIHN0YXR1cyAlclxuIiwgU3RhdHVzKSk7DQorICAgIH0NCisgIH0gZWxzZSB7 DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJdIEZh aWxlZCB0byBnZXQgDQorIFN1cHBvcnRlZCBzdWl0ZXMgd2l0aCBzdGF0dXMgJXJcbiIsIFN0YXR1 cykpOyAgfQ0KKw0KKyAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrICE9IE5VTEwpIHsN CisgICAgaWYgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkFLTVN1aXRlICE9 IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5l dHdvcmsuQUtNU3VpdGUpOw0KKyAgICB9DQorDQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5n TmV0d29yay0+TmV0d29yay5DaXBoZXJTdWl0ZSAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wg KE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNpcGhlclN1aXRlKTsNCisgICAg fQ0KKw0KKyAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmspOyAgfQ0KKw0K K0VSUk9SOg0KKyAgaWYgKE5pYy0+U3VwcGxpY2FudCAhPSBOVUxMKSB7DQorICAgIGlmIChOaWMt PlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRBS01TdWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZy ZWVQb29sIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRBS01TdWl0ZXMpOw0KKyAgICB9 DQorDQorICAgIGlmIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRTd0NpcGhlclN1aXRl cyAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBv cnRlZFN3Q2lwaGVyU3VpdGVzKTsNCisgICAgfQ0KKw0KKyAgICBpZiAoTmljLT5TdXBwb3J0ZWRT dWl0ZXMuU3VwcG9ydGVkSHdDaXBoZXJTdWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29s IChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0NpcGhlclN1aXRlcyk7DQorICAgIH0N CisgIH0NCisNCisgIEZyZWVQb29sIChOaWMpOw0KKw0KKyAgcmV0dXJuIFN0YXR1czsNCit9DQor DQogLyoqDQogICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNvbm5lY3Qgb3BlcmF0aW9uLg0K IA0KQEAgLTkwOCwxMiArMTA1MiwxMyBAQCBXaWZpTWdyT25Db25uZWN0RmluaXNoZWQgKA0KICAg SU4gIFZPSUQgICAgICAgKkNvbnRleHQNCiAgICkNCiB7DQotICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgICBTdGF0dXM7DQotICBXSUZJX01HUl9NQUNfQ09ORklHX1RPS0VOICAqQ29uZmlnVG9r ZW47DQotICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICAqQ29ubmVjdGVkUHJvZmlsZTsNCi0g IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgIFNlY3VyaXR5VHlwZTsNCi0gIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgIFNTSWRMZW47DQotICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAq QXNjaWlTU0lkOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQor ICBXSUZJX01HUl9NQUNfQ09ORklHX1RPS0VOICAgICAgICpDb25maWdUb2tlbjsNCisgIFdJRklf TUdSX05FVFdPUktfUFJPRklMRSAgICAgICAgKkNvbm5lY3RlZFByb2ZpbGU7DQorICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNlY3VyaXR5VHlwZTsNCisgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgU1NJZExlbjsNCisgIENIQVI4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgKkFzY2lpU1NJZDsNCisgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldp RmlQcm9maWxlU3luY1Byb3RvY29sOw0KIA0KICAgQVNTRVJUIChDb250ZXh0ICE9IE5VTEwpOw0K IA0KQEAgLTkyNSw2ICsxMDcwLDI0IEBAIFdpZmlNZ3JPbkNvbm5lY3RGaW5pc2hlZCAoDQogICBB U1NFUlQgKENvbmZpZ1Rva2VuLT5UeXBlID09IFRva2VuVHlwZUNvbm5lY3ROZXR3b3JrVG9rZW4p Ow0KIA0KICAgQVNTRVJUIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtUb2tlbiAh PSBOVUxMKTsNCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2xHdWlkLCBOVUxMLCANCisgKFZPSUQgKiopJldpRmlQcm9maWxlU3lu Y1Byb3RvY29sKTsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIFdpRmlQcm9maWxl U3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGUgKENvbmZpZ1Rva2Vu LT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5SZXN1bHRDb2RlKTsNCisgICAgaWYgKChtV2lm aUNvbm5lY3Rpb25Db3VudCA8IE1BWF9XSUZJX0NPTk5FVElPTl9BVFRFTVBUUykgJiYNCisgICAg ICAgIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtUb2tlbi0+UmVzdWx0Q29kZSAh PSBDb25uZWN0U3VjY2VzcykpDQorICAgIHsNCisgICAgICBtV2lmaUNvbm5lY3Rpb25Db3VudCsr Ow0KKyAgICAgIGdCUy0+Q2xvc2VFdmVudCAoRXZlbnQpOw0KKyAgICAgIFN0YXR1cyA9IENvbm5l Y3Rpb25SZXRyeSAoV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOw0KKyAgICAgIGlmICghRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQorICAgICAgICByZXR1cm47DQorICAgICAgfQ0KKw0KKyAgICAgIFdp RmlQcm9maWxlU3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGUgKFN0 YXR1cyk7DQorICAgIH0NCisgIH0NCisNCiAgIGlmIChDb25maWdUb2tlbi0+VG9rZW4uQ29ubmVj dE5ldHdvcmtUb2tlbi0+U3RhdHVzICE9IEVGSV9TVUNDRVNTKSB7DQogICAgIGlmIChDb25maWdU b2tlbi0+TmljLT5PbmVUaW1lQ29ubmVjdFJlcXVlc3QpIHsNCiAgICAgICAvLw0KZGlmZiAtLWdp dCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy TWlzYy5jIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JNaXNjLmMNCmluZGV4IDRhZDU2NDNjMjQuLjg3YWRmYzUwMzMgMTAwNjQ0DQotLS0gYS9O ZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2Mu Yw0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rp b25NZ3JNaXNjLmMNCkBAIC02NzIsMTAgKzY3MiwyMyBAQCBXaWZpTWdyQ2xlYW5Qcm9maWxlU2Vj cmV0cyAoDQogICBJTiAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAqUHJvZmlsZQ0KICAgKQ0K IHsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgRUZJX1dJ RklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQorDQog ICBaZXJvTWVtIChQcm9maWxlLT5QYXNzd29yZCwgc2l6ZW9mIChDSEFSMTYpICogUEFTU1dPUkRf U1RPUkFHRV9TSVpFKTsNCiAgIFplcm9NZW0gKFByb2ZpbGUtPkVhcFBhc3N3b3JkLCBzaXplb2Yg KENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAgWmVyb01lbSAoUHJvZmlsZS0+ UHJpdmF0ZUtleVBhc3N3b3JkLCBzaXplb2YgKENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJ WkUpOw0KIA0KKyAgLy8NCisgIC8vICBXaGVuIEVGSSBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2Nv bCBpcyBmb3VuZCB0aGUgc3lzdGVtIGlzIA0KKyBwZXJmb3JtaW5nIGEgcmVjb3ZlcnkgYm9vdCBp biBzZWN1cmUgIC8vICBib290IG1vZGUuIFRoZSBwcm9maWxlIHN5bmMgDQorIGRyaXZlciB3aWxs IG1hbmFnZSB0aGUgQ0EgY2VydGlmaWNhdGUsIGNsaWVudCBjZXJ0aWZpY2F0ZSwgYW5kIGtleSAg Ly8gIGRhdGEsIGNsZWFuaW5nIHRoZW0gYXQgZXhpdCBib290IHNlcnZpY2VzLg0KKyAgLy8NCisg IFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9j b2xHdWlkLCBOVUxMLCANCisgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sKTsgIGlm ICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIHJldHVybjsNCisgIH0NCisNCiAgIGlmIChQ cm9maWxlLT5DQUNlcnREYXRhICE9IE5VTEwpIHsNCiAgICAgWmVyb01lbSAoUHJvZmlsZS0+Q0FD ZXJ0RGF0YSwgUHJvZmlsZS0+Q0FDZXJ0U2l6ZSk7DQogICAgIEZyZWVQb29sIChQcm9maWxlLT5D QUNlcnREYXRhKTsNCi0tDQoyLjM3LjMud2luZG93cy4xDQoNCg0KDQoNCg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KSW50ZWwgVGVjaG5vbG9neSBQb2xhbmQgc3AuIHogby5vLgp1bC4gU2xvd2Fja2llZ28gMTcz IHwgODAtMjk4IEdkYW5zayB8IFNhZCBSZWpvbm93eSBHZGFuc2sgUG9sbm9jIHwgVklJIFd5ZHpp YWwgR29zcG9kYXJjenkgS3Jham93ZWdvIFJlamVzdHJ1IFNhZG93ZWdvIC0gS1JTIDEwMTg4MiB8 IE5JUCA5NTctMDctNTItMzE2IHwgS2FwaXRhbCB6YWtsYWRvd3kgMjAwLjAwMCBQTE4uClNwb2xr YSBvc3dpYWRjemEsIHplIHBvc2lhZGEgc3RhdHVzIGR1emVnbyBwcnplZHNpZWJpb3JjeSB3IHJv enVtaWVuaXUgdXN0YXd5IHogZG5pYSA4IG1hcmNhIDIwMTMgci4gbyBwcnplY2l3ZHppYWxhbml1 IG5hZG1pZXJueW0gb3Bvem5pZW5pb20gdyB0cmFuc2FrY2phY2ggaGFuZGxvd3ljaC4KClRhIHdp YWRvbW9zYyB3cmF6IHogemFsYWN6bmlrYW1pIGplc3QgcHJ6ZXpuYWN6b25hIGRsYSBva3Jlc2xv bmVnbyBhZHJlc2F0YSBpIG1vemUgemF3aWVyYWMgaW5mb3JtYWNqZSBwb3VmbmUuIFcgcmF6aWUg cHJ6eXBhZGtvd2VnbyBvdHJ6eW1hbmlhIHRlaiB3aWFkb21vc2NpLCBwcm9zaW15IG8gcG93aWFk b21pZW5pZSBuYWRhd2N5IG9yYXogdHJ3YWxlIGplaiB1c3VuaWVjaWU7IGpha2lla29sd2llayBw cnplZ2xhZGFuaWUgbHViIHJvenBvd3N6ZWNobmlhbmllIGplc3QgemFicm9uaW9uZS4KVGhpcyBl LW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJp YWwgZm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBJZiB5b3Ug YXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVy IGFuZCBkZWxldGUgYWxsIGNvcGllczsgYW55IHJldmlldyBvciBkaXN0cmlidXRpb24gYnkgb3Ro ZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuCg==