From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.3804.1675906774578693939 for ; Wed, 08 Feb 2023 17:39:34 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=hOkyXe6G; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675906774; x=1707442774; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=2IC/KUWlqA1Otktq5dDxhcqk8S+kSmWEGewBKYjJpGA=; b=hOkyXe6GGEKiDVlAhJagQ9oAaImKiE5dMo4YNILH1F85sql/EwUYKvEj DCk8w7dswVM6TsXS2jleZhdcyF1JP1TPwKUhGH7e3oEOwnUrDYLxWjIZU BA4WdlMoiy1yy0QKHq/mmY7BnxhC/Yv+6mcGQxIvLYPTcgEo7lOPqy4cf kq2rSlr59oz3PcfidJIR0kThwS21Gh6ZqY7dL28Rzp/h2quVUXgknHEHN /GEcBlqjAr7j3gigrFHuCNCmMYx9XQhwHn/ecakjFT0CMEhhmwPJ9WTWc Bc/KmKx1e1ywtOMMdMEmWqx43+30TapRW7WBDc8/OJm5u7xH84NaksDZ2 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="310340154" X-IronPort-AV: E=Sophos;i="5.97,281,1669104000"; d="scan'208";a="310340154" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2023 17:39:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="669410623" X-IronPort-AV: E=Sophos;i="5.97,281,1669104000"; d="scan'208";a="669410623" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga007.fm.intel.com with ESMTP; 08 Feb 2023 17:39:34 -0800 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.2507.16; Wed, 8 Feb 2023 17:39:33 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) 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.2507.16; Wed, 8 Feb 2023 17:39:33 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2507.16 via Frontend Transport; Wed, 8 Feb 2023 17:39:33 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) 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.2507.16; Wed, 8 Feb 2023 17:39:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U4HMnBkre1HttuqpgA14SV7SjTIMhTOZjaiY7vA7MUNmNL88Fzn3n7XUvU4H0iMeETmNPFQAJTneU1eRjdczXzzAYp2WBodW3/lreJ49qqlajjHzt9WZMi2mUSnchKkdEzIRChDMSaGJy/rkJu2nmEX5FEW73HxJAGoF5nR+Tmh+zuxT5EIi4uUCQOR085o6EKoWg6f5eGiejmKV/Ty8jHsH9N6d4aBzaw+QKLMdDCYhS8HKaMqPqIZ28Q55mAsAyDSx8kILWTlrJ9UOoJS3bQ0cGHQfhaVhYHK8P6zcQNfrOMkW80IauwAZntm0siJnm6EYgymRTzU4qofj/bBOlg== 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=2IC/KUWlqA1Otktq5dDxhcqk8S+kSmWEGewBKYjJpGA=; b=SCbsIWPErOX5XPkhwVTnvHme5UorOTobS0smEEVCsABQFIxy5UxyZ4hvMPUvU4/y7i7adJFPTUH6t7gjO6NBtcElTbVpFAgO+Mjd/7vPNf4S5RBSk/ohjGXNa5FpT1YVeyxmx646mV3UVxJZzF6ru6pZUqHvY1UED/pKzhYXyVxcl5DLOEQ87ykg9POa/Wf8/6Zmbso/TgcSQ5ccxkhi/qGrclOa2GJa7T0q1dryZEHKv5JYBgfNPfpYX5lVCTmjkoZNM8pp/7dhEWWPOvZULfnz0OueVvwgsZzyGjE8JDTxyn3RY1rxpc7LgdYa6WlmjdC//M3a1dDYFlROEBkhcw== 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 SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by CH0PR11MB5691.namprd11.prod.outlook.com (2603:10b6:610:110::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.17; Thu, 9 Feb 2023 01:39:28 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5%7]) with mapi id 15.20.6064.031; Thu, 9 Feb 2023 01:39:28 +0000 From: "Isaac Oram" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "Chiu, Chasel" CC: "S, Ashraf Ali" , "Chaganty, Rangasai V" , "Ni, Ray" , "Kubacki, Michael" Subject: Re: [edk2-devel] [edk2-platforms: PATCH v4] IntelSiliconPkg/SpiFvbServiceSmm: Rewrite VariableStore header. Thread-Topic: [edk2-devel] [edk2-platforms: PATCH v4] IntelSiliconPkg/SpiFvbServiceSmm: Rewrite VariableStore header. Thread-Index: AQHZPAstWYAgXmlYWkmW3aSjYvXt9K7FxiqAgAAQY+A= Date: Thu, 9 Feb 2023 01:39:27 +0000 Message-ID: References: <20230208221723.917-1-chasel.chiu@intel.com> <379f9b9e-de97-ffd5-c313-6246604d9c95@linux.microsoft.com> In-Reply-To: <379f9b9e-de97-ffd5-c313-6246604d9c95@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB5801:EE_|CH0PR11MB5691:EE_ x-ms-office365-filtering-correlation-id: bf647ef4-d5e1-4c54-dc33-08db0a3e7b7d x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: L2Vp+MQASLR2hj3hop3YkG5Ixf9J+PrwNB6Vt/27KXnXrCK+DLlHag3os4DkMqCOeJCw48N8IURhJ0g9VfYaexTVNNyoYYsuaD9rZ1mkkaqUw2l72O9E3viu36WkslLkheAV6TchetLpxVy95AvQwor1QMILOKW/xDQ7exUJIfNeCqo78Rf7cMlq0VUkwHc0zReBnRB2QeAcdJA0Zc7QtyVE1bmEmAONDa1TIw40scvEj18n4D+bxG4RHhltYwL+DAP3GpNfyCZxkUOdDfbnQnimhE9eEbJW/GZ8+JAxkHRtEZa1DmvFQ/lqtGxzO+OvNl76Emcb6wBw1t9Zq/Fmkp0gYwCeiLiv3yj/4i3RPrk01UEVpEavk/UXNL0NGVC6pLaXc+OSrF4I8x+iGkKuJIQvrXokCbJkqQEemiZMemVeCYmZ4Djpq7cvmYXzHe7GGD5cM+rxZrYXqXk5DV/IXnOlppTgbr1wxi8m1Va88pjm0sZHXXwGHrOkWw1R0dExLUOfon6/IzvfS+fA0DfLMcIlDGMZuklNqM0ORdHr9gZLaYiP/a8ZIBeu3i19WJKvwYjsHbwqyGmgTQH7j5np1ytdXMG6q0CStluF3ezOjFCEKwl+3JbjZ5IJjMNsIHmOHqAPx9ZpqA8oTT8e4rEG5XFClnXEnKoJos5nrS8y9dcGVGDLrffN7PSxZ2/x/Y8q34JKJmje4EVYREsxfrhZqm/EMJPTz+/X6U41EnD9aUFBikaO+Ky3law1N2EohN1QpdvGy9h5PSAcjZx3qpznqA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(39860400002)(376002)(366004)(396003)(451199018)(66899018)(316002)(19627235002)(110136005)(66476007)(4326008)(41300700001)(8936002)(66556008)(66946007)(64756008)(8676002)(186003)(6636002)(76116006)(52536014)(5660300002)(66446008)(38100700002)(38070700005)(86362001)(82960400001)(122000001)(33656002)(53546011)(9686003)(6506007)(26005)(54906003)(2906002)(55016003)(7696005)(478600001)(83380400001)(71200400001)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NnlCK015K0JIbUdIMUFEL1g4ZXdob1hoN3lMdnl4ZzhnNGtlbklMN2FZamFR?= =?utf-8?B?bEt6QzIzR2JmSzgxSEFSV2ZCU3o1dVpSS29BUThNRXNxbDdacnJ0bnpOc0h0?= =?utf-8?B?N1hUSkRMTWVydFlnZlpXVXBJNi9WRjNFMCtFWVdvZnRveUFvNXNPQ2FaSFgz?= =?utf-8?B?bkZIYTM0TTN4THkvcmprYjRNUGhXV2I4NWprY0hNY1ZNdVhTVE9uVi9OZnNE?= =?utf-8?B?WXljSVd6a09pb1ZOK25JSk5acWNja1R2Ty9CU01WSFcwNzlXd1NJd2JZR2Iw?= =?utf-8?B?NGhhbllIZDkwTHFvSGVycG5nL0pJTWNaNGVrL3UrRkJxQjFqcVF3YjJ6TDRR?= =?utf-8?B?Y2lxQ2NoUnFvbzIzZUw0Q0ZBRXVkSnNzalcrb1d6RmZKSXcxSWhHNk1ET1pX?= =?utf-8?B?ZEpLNXhueUZPSzdvM1BDUngvaWVSRnNFM2lxNHQ3SytOb1N4T21abFd6NGtF?= =?utf-8?B?cDBTTXA0bHpRekdoWWNienY2aHg2TXYzdW5xTzhHRE03VE5rT3ZkaU80WExJ?= =?utf-8?B?bHhMaXFLZXBnYWNvSW5MNW9PS2R0QkhKcmQ0S08ybS8raGw2RlZuK1lKS2h1?= =?utf-8?B?eEtZbGxVR3IzSVNxSWZDWEw5eHRoQ0tPVzdNTW80VTNWb1ZoVDZiVWM3dmMz?= =?utf-8?B?TE9vT1RpNGRHbFZTYUl2cC90OEJrZUN3RFR4UUtEQm9mN0R4RXY4cFYzTm9u?= =?utf-8?B?bisvVDhOd3ZhN1BGWlJ1Ynk3c0J2YUl5S3QvWFFnSGdFMGJuVWxnWVRBYUUz?= =?utf-8?B?THZSWUxEcUloWTl5TmtuYW5nR2w0ZmZlRzVZTUp5ZWFQODlDTWdVNmtMcDRz?= =?utf-8?B?bXFsQmJnQTVCVGJWQ0Z3aHBkelhMWisxdEVpOWZSUkxJTWFabysyZytROXdE?= =?utf-8?B?QkxjU2phMWFCMjVnT1JOaDVvb0hxKzZ1V1JXdjl3blh5cW9kV1o0U0tVekI1?= =?utf-8?B?RU9TTEg5ZldqU3N5aUk2Z2oyRytuaHVWdTlCaTdCaUJTMG5HUlR2NURkUk1W?= =?utf-8?B?SWpFb3phS3JQVi9MNkFjdkRrbjlFSms1L2VWdjdHZDdWd2pITThnMVFmR0xz?= =?utf-8?B?YUNDbE42blhtQmFKcXJpZHdnUWRENjV4NUR4amJkbG1jV2hrejFCNXF6V1k1?= =?utf-8?B?ai9pK0xTRGk1OGx6RU1MNzJMU0t5eHI5dFBrTTVDKytjQWJNSTBqMHJPTTBQ?= =?utf-8?B?QVdtc2RVNkpNUXJ4Z3U2RElwZ2lXSThSY0FnQllkZ0o1VzI4dWhwT2FLZnR3?= =?utf-8?B?bzA0RGliTVZaUTVrRHk2d2RJanZoWVNDUHBYa1J0TzZrUTdjdTZpUVBwTU12?= =?utf-8?B?R2llRFhzMkptRUhCZmFmSlBaNllzbXpjNjNtQ2lhWjJpcHNUdTk1SWltalB4?= =?utf-8?B?NVJYNnpMdCtJamx4MFpOSjVLL1BxUExvUVdjRlIrNytkajM2K29lUUJGcllN?= =?utf-8?B?RkREblkzSEc2MW5lQXRRZFFOM2F6ZU0xQUgzTVJnTUhTSlphRlVoVUEyVWE5?= =?utf-8?B?c0t2eXJXbTRoZzdqc1pZMVVhaXpZM3J5SnMzMDd5UEJvL0Y4WWFiRDk5WTZr?= =?utf-8?B?aHRoUmJaOWxsTEw2eXVneE1NRWVTN212emJ4MU1mNys2eGcvVVNpK0I1VWFX?= =?utf-8?B?NVc2enlMQURWYWI5dW1MaFBLRWpxVmpsMXY2THJhUUFoT2NKbzdWNXhMMFNL?= =?utf-8?B?Sms2MUcva21HRTQvOG5UYStZeG1SekVDcTZ5emVSZmlIOGFJUkM2Z25DR3Fn?= =?utf-8?B?dE8yZGNZdEZ6TEpXWldEWUF5Rjg1Smg5OVRVRGJlTzkwaW84WUhnWFFaWmVl?= =?utf-8?B?Z2VnWGlkNk9MaWRPVjh0RWhDcXZTemtzWTBTd2VubkQ2cnNoRTFlbStGQ1Rh?= =?utf-8?B?azRXT0NBVGhtTlB2SHp4NFdYak9qQjJ2UnZTWDNzd1l4K210UXdsRlY1L0tS?= =?utf-8?B?R0JJMXpDaElJQ0xacUpiUWNJQmVpS201T1MrQkdVdW5lelZLcDMyaWFVN0o1?= =?utf-8?B?dGE2eitxcmNxVmxMVjNKUkYxT2dtTkVsbHJnZXFuSUJ3NWV0Z3FLTTI0czNh?= =?utf-8?B?a1E3ZW5ZS3RPbmljYmZYZDRYOTFQb3ZaRks3d2UvZjdKYnd5dURIU0dBV1BW?= =?utf-8?Q?KZReks2dJJSrbcNsUb05RMO9C?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf647ef4-d5e1-4c54-dc33-08db0a3e7b7d X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 01:39:27.8684 (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: Bm9tMvzbzkR9VYuO4lvMnfPU75A3uWzLpqjdp4v6wkbCD91omGdtC0z+3dW8tWKovwMI8LVuQFxg8vHhneRCCQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5691 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IElzYWFjIE9yYW0gPGlzYWFjLncub3JhbUBpbnRlbC5jb20+DQoNCkF0IHNv bWUgcG9pbnQsIHdlIHNob3VsZCB3b3JrIHRvIGNvbW1lbnQgdGhlIHJlbGF0ZWQgZmxvd3MgYmV0 dGVyIHNvIHRoYXQgY29kZSBpcyBjbGVhciBvbiB0aGUgZGlmZmVyZW50IHJlc3BvbnNpYmlsaXRp ZXMgZm9yIHRoZSBkaWZmZXJlbnQgcGF0aHMgdGhyb3VnaCBmaXJzdCBib290cywgbm9ybWFsIHNj ZW5hcmlvcywgcmVjbGFpbXMsIGFuZCBlcnJvciByZW1lZGlhdGlvbi4gIEZvciBub3cgdGhvdWdo LCB0aGlzIGlzIGZpbmUuDQoNClJlZ2FyZHMsDQpJc2FhYw0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgTWljaGFlbCBLdWJhY2tpDQpTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5 IDgsIDIwMjMgNDo0MSBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGl1LCBDaGFzZWwg PGNoYXNlbC5jaGl1QGludGVsLmNvbT4NCkNjOiBTLCBBc2hyYWYgQWxpIDxhc2hyYWYuYWxpLnNA aW50ZWwuY29tPjsgT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IENoYWdh bnR5LCBSYW5nYXNhaSBWIDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT47IE5pLCBSYXkg PHJheS5uaUBpbnRlbC5jb20+OyBLdWJhY2tpLCBNaWNoYWVsIDxtaWNoYWVsLmt1YmFja2lAbWlj cm9zb2Z0LmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zOiBQ QVRDSCB2NF0gSW50ZWxTaWxpY29uUGtnL1NwaUZ2YlNlcnZpY2VTbW06IFJld3JpdGUgVmFyaWFi bGVTdG9yZSBoZWFkZXIuDQoNClJldmlld2VkLWJ5OiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwu a3ViYWNraUBtaWNyb3NvZnQuY29tPg0KDQpPbiB0aGUgZm9sbG93aW5nIGxpbmVzLCBJIHJlY29t bWVuZCBtb3ZpbmcgdGhlIGFzc2lnbm1lbnQgdW50aWwgYWZ0ZXIgdGhlIGlmIGJsb2NrLiBJdCBz ZWVtcyB1bm5lY2Vzc2FyeSB0byBhc3NpZ24gYSBwb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIHRv IGEgbG9jYWwgdmFyaWFibGUgYmVmb3JlIGNoZWNraW5nIHRoZSB2YWxpZGF0aW9uIHJlc3VsdC4N Cg0KICAgU3RhdHVzID0gU2FmZVVpbnQ2NFRvVWludDMyIChCYXNlQWRkcmVzcywgJm1QbGF0Zm9y bUZ2QmFzZUFkZHJlc3NbMF0uRnZCYXNlKTsNCiAgIE52U3RvcmFnZUJhc2VBZGRyZXNzID0gbVBs YXRmb3JtRnZCYXNlQWRkcmVzc1swXS5GdkJhc2U7DQogICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQogICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQogICAgIERFQlVHICgoREVCVUdf RVJST1IsICJbJWFdIC0gNjQtYml0IHZhcmlhYmxlIHN0b3JhZ2UgYmFzZSBhZGRyZXNzIG5vdCBz dXBwb3J0ZWQuXG4iLCBfX0ZVTkNUSU9OX18pKTsNCiAgICAgcmV0dXJuOw0KICAgfQ0KDQotLS0N Cg0KKHNpbWlsYXIgZm9yIE52U3RvcmFnZUZ2U2l6ZSkNCg0KVGhhbmtzLA0KTWljaGFlbA0KDQpP biAyLzgvMjAyMyA1OjE3IFBNLCBDaGl1LCBDaGFzZWwgd3JvdGU6DQo+IFdoZW4gaW52YWxpZCBW YXJpYWJsZVN0b3JlIEZWIGhlYWRlciBkZXRlY3RlZCwgY3VycmVudCBTcGlGdmJTZXJ2aWNlIA0K PiB3aWxsIGVyYXNlIGJvdGggRlYgYW5kIFZhcmlhYmxlU3RvcmUgaGVhZGVycyBmcm9tIGZsYXNo LCBob3dldmVyLCBpdCANCj4gd2lsbCBvbmx5IHJld3JpdGUgRlYgaGVhZGVyIGJhY2sgYW5kIGNh dXNlIGludmFsaWQgVmFyaWFibGVTdG9yZSANCj4gaGVhZGVyLg0KPiANCj4gVGhpcyBwYXRjaCBh ZGRpbmcgdGhlIHN1cHBvcnQgZm9yIHJld3JpdGluZyBib3RoIEZWIGhlYWRlciBhbmQgDQo+IFZh cmlhYmxlU3RvcmUgaGVhZGVyIHdoZW4gVmFyaWFibGVTdG9yZSBjb3JydXB0aW9uIGhhcHBlbmVk Lg0KPiBUaGUgQ29ycnVwdGVkIHZhcmlhYmxlIGNvbnRlbnQgc2hvdWxkIGJlIHRha2VuIGNhcmUg YnkgDQo+IEZhdWx0VG9sZXJhbnRXcml0ZSBkcml2ZXIgbGF0ZXIuDQo+IA0KPiBQbGF0Zm9ybSBo YXMgdG8gc2V0IFBjZEZsYXNoVmFyaWFibGVTdG9yZVR5cGUgdG8gaW5mb3JtIFNwaUZ2YlNlcnZp Y2UgDQo+IHdoaWNoIFZhcmlhYmxlU3RvcmVUeXBlIHNob3VsZCBiZSByZXdyaXR0ZW4uDQo+IA0K PiBDYzogQXNocmFmIEFsaSBTIDxhc2hyYWYuYWxpLnNAaW50ZWwuY29tPg0KPiBDYzogSXNhYWMg T3JhbSA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gQ2M6IFJhbmdhc2FpIFYgQ2hhZ2FudHkg PHJhbmdhc2FpLnYuY2hhZ2FudHlAaW50ZWwuY29tPg0KPiBDYzogUmF5IE5pIDxyYXkubmlAaW50 ZWwuY29tPg0KPiBDYzogTWljaGFlbCBLdWJhY2tpIDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0 LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogQ2hhc2VsIENoaXUgPGNoYXNlbC5jaGl1QGludGVsLmNv bT4NCj4gLS0tDQo+ICAgU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFz aC9TcGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnZpY2VNbS5jICAgIHwgNjkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tDQo+ ICAgU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJTZXJ2 aWNlL1NwaUZ2YlNlcnZpY2VTbW0uaW5mIHwgIDMgKysrDQo+ICAgU2lsaWNvbi9JbnRlbC9JbnRl bFNpbGljb25Qa2cvSW50ZWxTaWxpY29uUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDggKysrKysrKysNCj4gICAzIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IA0KPiBhL1NpbGljb24vSW50ZWwvSW50 ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmJTZXJ2DQo+IGlj ZU1tLmMgDQo+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9GbGFzaC9T cGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlTW0uYw0KPiBpbmRleCA2YjRiY2RjZmUzLi4w NTJiZTk3ODcyIDEwMDY0NA0KPiAtLS0gDQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Q a2cvRmVhdHVyZS9GbGFzaC9TcGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlTW0uYw0KPiAr KysgYi9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNl cnZpY2UvU3BpRnZiDQo+ICsrKyBTZXJ2aWNlTW0uYw0KPiBAQCAtMTIsNiArMTIsNyBAQA0KPiAg ICNpbmNsdWRlIDxMaWJyYXJ5L01tU2VydmljZXNUYWJsZUxpYi5oPg0KPiANCj4gICAjaW5jbHVk ZSA8TGlicmFyeS9VZWZpRHJpdmVyRW50cnlQb2ludC5oPg0KPiANCj4gICAjaW5jbHVkZSA8UHJv dG9jb2wvU21tRmlybXdhcmVWb2x1bWVCbG9jay5oPg0KPiANCj4gKyNpbmNsdWRlIDxHdWlkL1Zh cmlhYmxlRm9ybWF0Lmg+DQo+IA0KPiAgIA0KPiANCj4gICAvKioNCj4gDQo+ICAgICBUaGUgZnVu Y3Rpb24gaW5zdGFsbHMgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DSyBwcm90b2NvbA0KPiANCj4g QEAgLTExMyw3ICsxMTQsMTIgQEAgRnZiSW5pdGlhbGl6ZSAoDQo+ICAgICBVSU5UMzIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1heExiYVNpemU7DQo+IA0KPiAgICAgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeXRlc1dyaXR0ZW47DQo+IA0KPiAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeXRlc0VyYXNlZDsNCj4gDQo+ICsg IEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICAgICAgTnZTdG9yYWdlQmFzZUFkZHJl c3M7DQo+IA0KPiAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdlN0 b3JhZ2VGdlNpemU7DQo+IA0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEV4cGVjdGVkQnl0ZXNXcml0dGVuOw0KPiANCj4gKyAgVkFSSUFCTEVfU1RPUkVfSEVBREVS ICAgICAgICAgICAgICAgICAqVmFyaWFibGVTdG9yZUhlYWRlcjsNCj4gDQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVTdG9yZVR5cGU7DQo+IA0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpOdlN0b3JlQnVmZmVyOw0K PiANCj4gICANCj4gDQo+ICAgICBTdGF0dXMgPSBHZXRWYXJpYWJsZUZsYXNoTnZTdG9yYWdlSW5m byAoJkJhc2VBZGRyZXNzLCANCj4gJk52U3RvcmFnZUZ2U2l6ZSk7DQo+IA0KPiAgICAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiANCj4gQEAgLTEyNCwxMiArMTMwLDE0IEBAIEZ2YkluaXRp YWxpemUgKA0KPiAgIA0KPiANCj4gICAgIC8vIFN0YXkgd2l0aGluIHRoZSBjdXJyZW50IFVJTlQz MiBzaXplIGFzc3VtcHRpb25zIGluIHRoZSB2YXJpYWJsZSBzdGFjay4NCj4gDQo+ICAgICBTdGF0 dXMgPSBTYWZlVWludDY0VG9VaW50MzIgKEJhc2VBZGRyZXNzLCANCj4gJm1QbGF0Zm9ybUZ2QmFz ZUFkZHJlc3NbMF0uRnZCYXNlKTsNCj4gDQo+ICsgIE52U3RvcmFnZUJhc2VBZGRyZXNzID0gbVBs YXRmb3JtRnZCYXNlQWRkcmVzc1swXS5GdkJhc2U7DQo+IA0KPiAgICAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiANCj4gICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gDQo+ ICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbJWFdIC0gNjQtYml0IHZhcmlhYmxlIHN0b3Jh Z2UgYmFzZSANCj4gYWRkcmVzcyBub3Qgc3VwcG9ydGVkLlxuIiwgX19GVU5DVElPTl9fKSk7DQo+ IA0KPiAgICAgICByZXR1cm47DQo+IA0KPiAgICAgfQ0KPiANCj4gICAgIFN0YXR1cyA9IFNhZmVV aW50NjRUb1VpbnQzMiAoTnZTdG9yYWdlRnZTaXplLCANCj4gJm1QbGF0Zm9ybUZ2QmFzZUFkZHJl c3NbMF0uRnZTaXplKTsNCj4gDQo+ICsgIE52U3RvcmFnZUZ2U2l6ZSA9IG1QbGF0Zm9ybUZ2QmFz ZUFkZHJlc3NbMF0uRnZTaXplOw0KPiANCj4gICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gDQo+ICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+IA0KPiAgICAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiWyVhXSAtIDY0LWJpdCB2YXJpYWJsZSBzdG9yYWdlIHNpemUgbm90 IA0KPiBzdXBwb3J0ZWQuXG4iLCBfX0ZVTkNUSU9OX18pKTsNCj4gDQo+IEBAIC0xODYsOCArMTk0 LDU5IEBAIEZ2YkluaXRpYWxpemUgKA0KPiAgICAgICAgICAgICB9DQo+IA0KPiAgICAgICAgICAg ICBjb250aW51ZTsNCj4gDQo+ICAgICAgICAgICB9DQo+IA0KPiAtICAgICAgICBCeXRlc1dyaXR0 ZW4gPSBGdkhlYWRlci0+SGVhZGVyTGVuZ3RoOw0KPiANCj4gLSAgICAgICAgU3RhdHVzID0gU3Bp Rmxhc2hXcml0ZSAoKFVJTlROKUJhc2VBZGRyZXNzLCAmQnl0ZXNXcml0dGVuLCAoVUlOVDgqKUZ2 SGVhZGVyKTsNCj4gDQo+ICsNCj4gDQo+ICsgICAgICAgIEJ5dGVzV3JpdHRlbiAgICAgICAgID0g RnZIZWFkZXItPkhlYWRlckxlbmd0aDsNCj4gDQo+ICsgICAgICAgIEV4cGVjdGVkQnl0ZXNXcml0 dGVuID0gQnl0ZXNXcml0dGVuOw0KPiANCj4gKyAgICAgICAgaWYgKEJhc2VBZGRyZXNzICE9IE52 U3RvcmFnZUJhc2VBZGRyZXNzKSB7DQo+IA0KPiArICAgICAgICAgIFN0YXR1cyA9IFNwaUZsYXNo V3JpdGUgKChVSU5UTilCYXNlQWRkcmVzcywgJkJ5dGVzV3JpdHRlbiwgDQo+ICsgKFVJTlQ4ICop RnZIZWFkZXIpOw0KPiANCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gDQo+ICsgICAgICAgICAgLy8N Cj4gDQo+ICsgICAgICAgICAgLy8gVGhpcyBpcyBWYXJpYWJsZSBTdG9yZSwgcmV3cml0ZSBib3Ro IEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSIGFuZCBWQVJJQUJMRV9TVE9SRV9IRUFERVIuDQo+ IA0KPiArICAgICAgICAgIC8vIFRoZSBjb3JydXB0ZWQgVmFyaWFibGUgY29udGVudCBzaG91bGQg YmUgdGFrZW4gY2FyZSBieSBGYXVsdFRvbGVyYW50V3JpdGUgZHJpdmVyIGxhdGVyLg0KPiANCj4g KyAgICAgICAgICAvLw0KPiANCj4gKyAgICAgICAgICBOdlN0b3JlQnVmZmVyID0gTlVMTDsNCj4g DQo+ICsgICAgICAgICAgTnZTdG9yZUJ1ZmZlciA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAN Cj4gKyAoVkFSSUFCTEVfU1RPUkVfSEVBREVSKSArIEZ2SGVhZGVyLT5IZWFkZXJMZW5ndGgpOw0K PiANCj4gKyAgICAgICAgICBpZiAoTnZTdG9yZUJ1ZmZlciAhPSBOVUxMKSB7DQo+IA0KPiArICAg ICAgICAgICAgLy8NCj4gDQo+ICsgICAgICAgICAgICAvLyBDb21iaW5lIEZWIGhlYWRlciBhbmQg VmFyaWFibGVTdG9yZSBoZWFkZXIgaW50byB0aGUgYnVmZmVyLg0KPiANCj4gKyAgICAgICAgICAg IC8vDQo+IA0KPiArICAgICAgICAgICAgQ29weU1lbSAoTnZTdG9yZUJ1ZmZlciwgRnZIZWFkZXIs IA0KPiArIEZ2SGVhZGVyLT5IZWFkZXJMZW5ndGgpOw0KPiANCj4gKyAgICAgICAgICAgIFZhcmlh YmxlU3RvcmVIZWFkZXIgPSAoVkFSSUFCTEVfU1RPUkVfSEVBREVSIA0KPiArICopKE52U3RvcmVC dWZmZXIgKyBGdkhlYWRlci0+SGVhZGVyTGVuZ3RoKTsNCj4gDQo+ICsgICAgICAgICAgICBWYXJp YWJsZVN0b3JlVHlwZSAgID0gUGNkR2V0OCAoUGNkRmxhc2hWYXJpYWJsZVN0b3JlVHlwZSk7DQo+ IA0KPiArICAgICAgICAgICAgc3dpdGNoIChWYXJpYWJsZVN0b3JlVHlwZSkgew0KPiANCj4gKyAg ICAgICAgICAgICAgY2FzZSAwOg0KPiANCj4gKyAgICAgICAgICAgICAgICBERUJVRyAoKERFQlVH X0VSUk9SLCAiVHlwZTogZ0VmaVZhcmlhYmxlR3VpZFxuIikpOw0KPiANCj4gKyAgICAgICAgICAg ICAgICBDb3B5R3VpZCAoJlZhcmlhYmxlU3RvcmVIZWFkZXItPlNpZ25hdHVyZSwgDQo+ICsgJmdF ZmlWYXJpYWJsZUd1aWQpOw0KPiANCj4gKyAgICAgICAgICAgICAgICBicmVhazsNCj4gDQo+ICsg ICAgICAgICAgICAgIGNhc2UgMToNCj4gDQo+ICsgICAgICAgICAgICAgICAgREVCVUcgKChERUJV R19FUlJPUiwgIlR5cGU6IA0KPiArIGdFZmlBdXRoZW50aWNhdGVkVmFyaWFibGVHdWlkXG4iKSk7 DQo+IA0KPiArICAgICAgICAgICAgICAgIENvcHlHdWlkICgmVmFyaWFibGVTdG9yZUhlYWRlci0+ U2lnbmF0dXJlLCANCj4gKyAmZ0VmaUF1dGhlbnRpY2F0ZWRWYXJpYWJsZUd1aWQpOw0KPiANCj4g KyAgICAgICAgICAgICAgICBicmVhazsNCj4gDQo+ICsgICAgICAgICAgICAgIGRlZmF1bHQ6DQo+ IA0KPiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiANCj4gKyAgICAgICAgICAgIH0NCj4gDQo+ ICsNCj4gDQo+ICsgICAgICAgICAgICAvLw0KPiANCj4gKyAgICAgICAgICAgIC8vIEluaXRpYWxp emUgY29tbW9uIFZhcmlhYmxlU3RvcmUgaGVhZGVyIGZpZWxkcw0KPiANCj4gKyAgICAgICAgICAg IC8vDQo+IA0KPiArICAgICAgICAgICAgVmFyaWFibGVTdG9yZUhlYWRlci0+U2l6ZSAgICAgID0g KFVJTlQzMikgKE52U3RvcmFnZUZ2U2l6ZSAtIEZ2SGVhZGVyLT5IZWFkZXJMZW5ndGgpOw0KPiAN Cj4gKyAgICAgICAgICAgIFZhcmlhYmxlU3RvcmVIZWFkZXItPkZvcm1hdCAgICA9IFZBUklBQkxF X1NUT1JFX0ZPUk1BVFRFRDsNCj4gDQo+ICsgICAgICAgICAgICBWYXJpYWJsZVN0b3JlSGVhZGVy LT5TdGF0ZSAgICAgPSBWQVJJQUJMRV9TVE9SRV9IRUFMVEhZOw0KPiANCj4gKyAgICAgICAgICAg IFZhcmlhYmxlU3RvcmVIZWFkZXItPlJlc2VydmVkICA9IDA7DQo+IA0KPiArICAgICAgICAgICAg VmFyaWFibGVTdG9yZUhlYWRlci0+UmVzZXJ2ZWQxID0gMDsNCj4gDQo+ICsNCj4gDQo+ICsgICAg ICAgICAgICAvLw0KPiANCj4gKyAgICAgICAgICAgIC8vIFdyaXRlIGJ1ZmZlciB0byBmbGFzaA0K PiANCj4gKyAgICAgICAgICAgIC8vDQo+IA0KPiArICAgICAgICAgICAgQnl0ZXNXcml0dGVuICAg ICAgICAgPSBGdkhlYWRlci0+SGVhZGVyTGVuZ3RoICsgc2l6ZW9mIChWQVJJQUJMRV9TVE9SRV9I RUFERVIpOw0KPiANCj4gKyAgICAgICAgICAgIEV4cGVjdGVkQnl0ZXNXcml0dGVuID0gQnl0ZXNX cml0dGVuOw0KPiANCj4gKyAgICAgICAgICAgIFN0YXR1cyAgICAgICAgICAgICAgID0gU3BpRmxh c2hXcml0ZSAoKFVJTlROKUJhc2VBZGRyZXNzLCAmQnl0ZXNXcml0dGVuLCBOdlN0b3JlQnVmZmVy KTsNCj4gDQo+ICsgICAgICAgICAgICBGcmVlUG9vbCAoTnZTdG9yZUJ1ZmZlcik7DQo+IA0KPiAr ICAgICAgICAgIH0gZWxzZSB7DQo+IA0KPiArICAgICAgICAgICAgU3RhdHVzID0gRUZJX09VVF9P Rl9SRVNPVVJDRVM7DQo+IA0KPiArICAgICAgICAgIH0NCj4gDQo+ICsgICAgICAgIH0NCj4gDQo+ ICsNCj4gDQo+ICAgICAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+IA0KPiAgICAg ICAgICAgICBERUJVRyAoKERFQlVHX1dBUk4sICJFUlJPUiAtIFNwaUZsYXNoV3JpdGUgRXJyb3Ig ICVyXG4iLCANCj4gU3RhdHVzKSk7DQo+IA0KPiAgICAgICAgICAgICBpZiAoRnZIZWFkZXIgIT0g TlVMTCkgew0KPiANCj4gQEAgLTE5NSw5ICsyNTQsOSBAQCBGdmJJbml0aWFsaXplICgNCj4gICAg ICAgICAgICAgfQ0KPiANCj4gICAgICAgICAgICAgY29udGludWU7DQo+IA0KPiAgICAgICAgICAg fQ0KPiANCj4gLSAgICAgICAgaWYgKEJ5dGVzV3JpdHRlbiAhPSBGdkhlYWRlci0+SGVhZGVyTGVu Z3RoKSB7DQo+IA0KPiAtICAgICAgICAgIERFQlVHICgoREVCVUdfV0FSTiwgIkVSUk9SIC0gQnl0 ZXNXcml0dGVuICE9IEhlYWRlckxlbmd0aFxuIikpOw0KPiANCj4gLSAgICAgICAgICBERUJVRyAo KERFQlVHX0lORk8sICIgQnl0ZXNXcml0dGVuID0gMHglWFxuIEhlYWRlckxlbmd0aCA9IDB4JVhc biIsIEJ5dGVzV3JpdHRlbiwgRnZIZWFkZXItPkhlYWRlckxlbmd0aCkpOw0KPiANCj4gKyAgICAg ICAgaWYgKEJ5dGVzV3JpdHRlbiAhPSBFeHBlY3RlZEJ5dGVzV3JpdHRlbikgew0KPiANCj4gKyAg ICAgICAgICBERUJVRyAoKERFQlVHX1dBUk4sICJFUlJPUiAtIEJ5dGVzV3JpdHRlbiAhPSANCj4g KyBFeHBlY3RlZEJ5dGVzV3JpdHRlblxuIikpOw0KPiANCj4gKyAgICAgICAgICBERUJVRyAoKERF QlVHX0lORk8sICIgQnl0ZXNXcml0dGVuID0gMHglWFxuIA0KPiArIEV4cGVjdGVkQnl0ZXNXcml0 dGVuID0gMHglWFxuIiwgQnl0ZXNXcml0dGVuLCANCj4gKyBFeHBlY3RlZEJ5dGVzV3JpdHRlbikp Ow0KPiANCj4gICAgICAgICAgICAgaWYgKEZ2SGVhZGVyICE9IE5VTEwpIHsNCj4gDQo+ICAgICAg ICAgICAgICAgRnJlZVBvb2wgKEZ2SGVhZGVyKTsNCj4gDQo+ICAgICAgICAgICAgIH0NCj4gDQo+ IGRpZmYgLS1naXQgDQo+IGEvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9G bGFzaC9TcGlGdmJTZXJ2aWNlL1NwaUZ2YlNlcnYNCj4gaWNlU21tLmluZiANCj4gYi9TaWxpY29u L0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNoL1NwaUZ2YlNlcnZpY2UvU3BpRnZi U2Vydg0KPiBpY2VTbW0uaW5mDQo+IGluZGV4IDBjZmEzZjkwOWIuLjczMDQ5ZWNlYjIgMTAwNjQ0 DQo+IC0tLSANCj4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL0ZsYXNo L1NwaUZ2YlNlcnZpY2UvU3BpRnZiU2Vydg0KPiBpY2VTbW0uaW5mDQo+ICsrKyBiL1NpbGljb24v SW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvRmxhc2gvU3BpRnZiU2VydmljZS9TcGlGdmIN Cj4gKysrIFNlcnZpY2VTbW0uaW5mDQo+IEBAIC00NSw2ICs0NSw3IEBADQo+ICAgW1BjZF0NCj4g DQo+ICAgICBnSW50ZWxTaWxpY29uUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hNaWNyb2NvZGVG dkJhc2UgICAgICAgICAjIyBDT05TVU1FUw0KPiANCj4gICAgIGdJbnRlbFNpbGljb25Qa2dUb2tl blNwYWNlR3VpZC5QY2RGbGFzaE1pY3JvY29kZUZ2U2l6ZSAgICAgICAgICMjIENPTlNVTUVTDQo+ IA0KPiArICBnSW50ZWxTaWxpY29uUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hWYXJpYWJsZVN0 b3JlVHlwZSAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gDQo+ICAgDQo+IA0KPiAgIFtT b3VyY2VzXQ0KPiANCj4gICAgIEZ2YkluZm8uYw0KPiANCj4gQEAgLTYxLDYgKzYyLDggQEANCj4g ICBbR3VpZHNdDQo+IA0KPiAgICAgZ0VmaUZpcm13YXJlRmlsZVN5c3RlbTJHdWlkICAgICAgICAg ICAgICAgICAgICMjIENPTlNVTUVTDQo+IA0KPiAgICAgZ0VmaVN5c3RlbU52RGF0YUZ2R3VpZCAg ICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQo+IA0KPiArICBnRWZpVmFyaWFibGVH dWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ IA0KPiArICBnRWZpQXV0aGVudGljYXRlZFZhcmlhYmxlR3VpZCAgICAgICAgICAgICAgICAgIyMg U09NRVRJTUVTX0NPTlNVTUVTDQo+IA0KPiAgIA0KPiANCj4gICBbRGVwZXhdDQo+IA0KPiAgICAg VFJVRQ0KPiANCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0lu dGVsU2lsaWNvblBrZy5kZWMgDQo+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNpbGljb25Qa2cvSW50 ZWxTaWxpY29uUGtnLmRlYw0KPiBpbmRleCA0ODVjYjNlODBhLi42M2RhZTc1NmFkIDEwMDY0NA0K PiAtLS0gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9JbnRlbFNpbGljb25Qa2cuZGVj DQo+ICsrKyBiL1NpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ludGVsU2lsaWNvblBrZy5k ZWMNCj4gQEAgLTE4NiwzICsxODYsMTEgQEANCj4gICAgICMgQFByb21wdCBWVGQgYWJvcnQgRE1B IG1vZGUgc3VwcG9ydC4NCj4gDQo+ICAgICANCj4gZ0ludGVsU2lsaWNvblBrZ1Rva2VuU3BhY2VH dWlkLlBjZFZUZFN1cHBvcnRBYm9ydERtYU1vZGV8RkFMU0V8Qk9PTEVBTg0KPiB8MHgwMDAwMDAw Qw0KPiANCj4gICANCj4gDQo+ICsgICMjIERlZmluZSBGbGFzaCBWYXJpYWJsZSBTdG9yZSB0eXBl LjxCUj48QlI+DQo+IA0KPiArICAjICBXaGVuIEZsYXNoIFZhcmlhYmxlIFN0b3JlIGNvcnJ1cHRp b24gaGFwcGVuZWQsIHRoZSBTcGlGdmJTZXJ2aWNlIA0KPiArIHdpbGwgcmVjcmVhdGUgVmFyaWFi bGUgU3RvcmUNCj4gDQo+ICsgICMgIHdpdGggdmFsaWQgaGVhZGVyIGluZm9ybWF0aW9uIHByb3Zp ZGVkIGJ5IHRoaXMgUENEIHZhbHVlLjxCUj4NCj4gDQo+ICsgICMgIDA6IFZhcmlhYmxlIFN0b3Jl IGlzIGdFZmlWYXJpYWJsZUd1aWQgdHlwZS48QlI+DQo+IA0KPiArICAjICAxOiBWYXJpYWJsZSBT dG9yZSBpcyBnRWZpQXV0aGVudGljYXRlZFZhcmlhYmxlR3VpZCB0eXBlLjxCUj4NCj4gDQo+ICsg ICMgIE90aGVyIHZhbHVlOiByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS48QlI+DQo+IA0KPiArICAj IEBQcm9tcHQgRmxhc2ggVmFyaWFibGUgU3RvcmUgdHlwZS4NCj4gDQo+ICsgIA0KPiArIGdJbnRl bFNpbGljb25Qa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaFZhcmlhYmxlU3RvcmVUeXBlfDB4MDB8 VUlOVDh8DQo+ICsgMHgwMDAwMDAwRQ0KPiANCg0KDQoNCg0KDQo=