From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.5402.1650013937213987738 for ; Fri, 15 Apr 2022 02:12:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ivU9HzJO; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: zhihao.li@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650013937; x=1681549937; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jnymtHVZkcg5iOJLN+nOBpVPtJUGliFFg5hWWbKj928=; b=ivU9HzJOmQr37PH3rrF4VomrqTXgWSSmKWgLmvrsgfiDvmR3EAI6iQ9G /N36/MeB5/dNojcZ1WLMv7zT2NI9JzF5YKyI7mSDmC9Yj3HclX0IcsKR8 eWE4hTEqb5LIsaHighTuwnsPwFMcGYYZC67wQ0kiFr01g299rqtw/Md9S saPXDxeuyG9OLY7bbK0jbagwbB/FpbG/rHbTvMaZPSUJx+xWDq1DnU0Ph b2ykRrHvtX9StkWGBZLNX92hPk+O52NUUfguRMCNWkemlaDusnwq/EjOP fTG6hlnGCzJpK+rzgmWjFha+OOF5zZ7lFRDm1szHCo29b4lahQt7Vos6I A==; X-IronPort-AV: E=McAfee;i="6400,9594,10317"; a="261969467" X-IronPort-AV: E=Sophos;i="5.90,262,1643702400"; d="scan'208";a="261969467" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2022 02:12:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,262,1643702400"; d="scan'208";a="553079231" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP; 15 Apr 2022 02:12:11 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 15 Apr 2022 02:12:11 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 15 Apr 2022 02:12:11 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 15 Apr 2022 02:12:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lNRB+Xhn/osWd4x9U1b2VUL5NDScaHZbWep92TFb8hQdc04oPlsbkten25amdkbcADAaSyUpR5pjNS9KbTSzZIfIQMscM688ZSyGqNMvX0W89JQR1h0lYMYxJiys1sHmJsCXnZoh2L3S7uJtI1UbaqrOsqhHVRKHyk2md0s74/c0RDtkngElbn6mPedAmO9RKSVjlY87txiZ9gH+UPt4/eVuYfc2FyInbHLohQPTibqlO5GWOoHc9B2SNWFH+scN99U390FnUEcaSagK6cE/T4ZihrGRwxN33yr1t68iMsvD3TQRbO/ZMUeqTdCaag0Hp4Q5QQ3p9spkc0sG/6+rRw== 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=jnymtHVZkcg5iOJLN+nOBpVPtJUGliFFg5hWWbKj928=; b=Mzf2o4YXw+Cts8asPAW448IkxTXXkf/vzg1qrHC6+CS0KG5596T0WWcoWPsm0Le1jypGxCTm3SPskG1OxEP7cBXMd7MtWQIl8Sl35l0BoeFah4tW1c0jQtZz13mMh0mtEmh4kdroFSXPKhBcf+9VXEbxUfqmUdJ9tb4RyoSGFYXTgbglpMOfe0WUWWMt2TCo5+GZPHMZY3Xs0pyrW2BrxQrNR3nq7UFQzLIh3gjshY5gy+w0qMRt31wQP9PBJJDABBLuwLj2ntYWV8vDC2GlnS+DRQ6pGp951tN94jKjSmwOzpHIJmHV7f3GBgSzVbD7oz/LKvNbtnd8263qpgy5uA== 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 DM6PR11MB4738.namprd11.prod.outlook.com (2603:10b6:5:2a3::18) by DM5PR11MB1324.namprd11.prod.outlook.com (2603:10b6:3:15::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Fri, 15 Apr 2022 09:12:03 +0000 Received: from DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::e816:62aa:5e21:56e6]) by DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::e816:62aa:5e21:56e6%5]) with mapi id 15.20.5164.020; Fri, 15 Apr 2022 09:12:03 +0000 From: "Li, Zhihao" To: "Gao, Liming" , "devel@edk2.groups.io" , 'Michael Kubacki' , 'Ard Biesheuvel' , 'Leif Lindholm' , 'Sean Brogan' CC: "Wang, Jian J" , "Fu, Siyuan" , "Ni, Ray" , "Kinney, Michael D" , "Yao, Jiewen" Subject: Re: [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Use SmmWaitForAllProcessor() in VariableSmm driver. Thread-Topic: [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Use SmmWaitForAllProcessor() in VariableSmm driver. Thread-Index: AQFtCTG1UWK9uDQ6I7Bl2eh6XmYNfa3B/j3QgABwhyCAASr1AIADgFBg Date: Fri, 15 Apr 2022 09:12:03 +0000 Message-ID: References: <20220411070631.1266-1-zhihao.li@intel.com> <011201d84e08$9e123d50$da36b7f0$@byosoft.com.cn> <001601d84ed6$0f46dda0$2dd498e0$@byosoft.com.cn> In-Reply-To: <001601d84ed6$0f46dda0$2dd498e0$@byosoft.com.cn> 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-office365-filtering-correlation-id: 1d9b012a-96a4-40f8-ffec-08da1ec0017c x-ms-traffictypediagnostic: DM5PR11MB1324:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PWJs6tU/vIFnfYNmML07PLk8kq+WBIq1ZJuEWgVrRCShd/30B/iYeEIfjKGzpi68+bzZ05w0Z8IH0x+r3V+ZyqHagaLXiXPMlLwA1emwKPAZVTV9Aj9B2C5sd4+DD8ZJIqBd9oTxGOnZlc8r8Y5fswAHUMXX3O92+D6yP8a5O4DtUiYTP8Jo8+rI1SmbC8dhCHsAp9rSwaf/2w1kEEORUtQeueaIXW3MCeAKuooP27YYV67cCeda9zCALPPeDtdxDKKDMAs40DYWMDKvmHzbjmyHz+8RzMp9hb1PDuo3BLYjLWvHZsXHwt5oXVeGbpzYhrRtvL4PcjL3l1iUdCqoz+xtyigb6Ptn+AMpbUMm2KWffVXV2j0+uBEIdvNTdzeVNoA4EDTcpjM3eTdnZleBMi8sh8pYvrtnHcHtiuUxJIMvSLgq+1kJS+KV45AAXoYSkirc0JGbLvmy8JZogX0qBP8lyg6d9UTWztXMu8c4HS/pnlN5Bd8/kYhasuK/oM3wSTFbGRPngSbaUbnGaguGVZrjXCz78e1r7AtshI60XS/lH4vk9ay23OvHGv9pRmwvTSSxe5MfIMUgUOTaeImCSvkgAF4b2geoN+nq5+s17wACIuoEYTruWptGAowwoNOV2uWWGwH3+ojgohITf0fSOf21Vvq+06bIKVFzwEwE238f/7lS6YOLmAmh1UGqehKxl9uuXMWuTaC8VUTOqVJEc+YJcBgnvXhF/vO7E3JnmY8Gxs28g2hff/J4QKpkZZogC8d2O/q/WiHh6KhO06NCI9yW8Yqba9CYz9twjVvI5IGp3G7ai9JuzT6q8OzdYwco7knGjQrLO2kwxDi9Iagb4PjmMsOsMsdCL6d0gxR1s48= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4738.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(55016003)(54906003)(38070700005)(82960400001)(8936002)(110136005)(83380400001)(122000001)(316002)(8676002)(4326008)(45080400002)(66446008)(64756008)(66556008)(30864003)(66946007)(2906002)(76116006)(66476007)(186003)(107886003)(7696005)(5660300002)(508600001)(86362001)(966005)(6506007)(52536014)(53546011)(33656002)(26005)(9686003)(71200400001)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dUpRa3gxY0tHbXF2OFdyWkNZNnE3RnllMmZEeEVublYyWTQrTGJKZ0s5V0p5?= =?utf-8?B?bmMwdk5mQ3ZFYzhVTGZHS3h3ZVhaNTh4Uy9HWExoYmJMc25KdzBXM1g4WnlG?= =?utf-8?B?cEd6VS9ramVDaG5ub0pwaG8vQStlQktvNW9NV04wc3NiTlVxd1NxQkJEWlVh?= =?utf-8?B?Nk9pUWRqQnlsSzdlOG1yOFJncTcyZ0ZBdGdJTmRVRnRFZEJpdmkwSTJiNVBl?= =?utf-8?B?akVWYllIdFJJUENwdTBhTVJ3MlhmenJpbkhEQXNPeS9aMUY0ekUwZkpHQWVD?= =?utf-8?B?L0cxZmtPZzdwZW1Jb3FXRTNKV1Yzd3lCMkRucHFnU2xJd3ExSXJCWGJhUXhi?= =?utf-8?B?dDIyMCtSM2UraHk0N2dNMDVEL3N5M0hZeXhDYzluN2t2V0FRMG1NdkZxK0dJ?= =?utf-8?B?R250end1Z2dUUG13TG5XbXR1Q3FOR1gyU0JPTkNKRmdCTkgyVEpPZlZDSXc1?= =?utf-8?B?Ymc4M3dDL05ySkRQbzVxQkFKRjVsQk54ZmxFOVR5U3plZzlBWkpoNXN4aW5r?= =?utf-8?B?TFo3VnNQcVU4K2RoTC8wTWx5RVRnSXZnUkVvTG9semhEcDZ4QjZJR01MS2Mz?= =?utf-8?B?Rk15VGt0V3RybHkzendJWC9rVVF2NTMraU9WNTdsaDlQQkJGY0x0TEducnp1?= =?utf-8?B?SEZQN2JWS2VuNFJFYzlPSlFOOFEwc3kycC9Ra0JMeW9vSUJ5RmRYWVIvR2ll?= =?utf-8?B?OWhuK3ZDMUVvTlFVVUVrVEtVN2x1YjM1RDRZV2g0Ni9aZ3NZTzhKZlJ3Ym9T?= =?utf-8?B?OEtPWVhqOHlMSUYvdjNreUZiQVV6S0MyckpEWkYwWFY2OWQrd1VXemlZS2d3?= =?utf-8?B?UVFwU3RhbWNMRHhpb1Z1MkxiL3lJZXdZS05GSWxwbks5aEtacFMvRXVHV3Qy?= =?utf-8?B?aWRyOE9zNi9idmVid2pDV1VuZ3FDMy9hT1R4dHZSWFQxdklVUk1TOGJpT29t?= =?utf-8?B?SEFkNU5INm1EUGo4aWZKZ1pQUTY3TitnTkdYeHl0Z1JtallkNFVqS0xNbFNS?= =?utf-8?B?TEFqUnEvYjRORnUwNmVIM0VjVDZhbDNuTEpMNDFvRzRQL3cvb3Jxa0ZTUnQw?= =?utf-8?B?cWRnampTemRnNmJxOEY2TDBTS1A5alFMUHNEZFVva0s2WVRJQnJKbW5POXlp?= =?utf-8?B?Z0lSaXdwUUhLdExWaGx6ZnEyOHJLOTk0RnpYK1o5aEhPa3NFMWYwSVlYM1Jh?= =?utf-8?B?bGd5aXFHOEV5ZWtvc0FuUTdPTC8rNXN3ajNCT3hHWkxIUmpHbk85TU52b3Jj?= =?utf-8?B?aWp3UXBwSm54WjN0UjR4T0xPLzdrdk56ZElaektDeitDKytoQzJTek12TnRG?= =?utf-8?B?V09ZTzkyRXJiOExQVkxwRnlsUFZzRFN5c0tCc1JFNUtTTUJsL01vcDAvTDN4?= =?utf-8?B?T09DbVYvbElkaHpuZHUxWWtVY3hRSThKeFd2UytlTXMvekMzSE44bkQ1WjVR?= =?utf-8?B?MCtQcHNjL0tFcnAwRkxaUnFDaGMxRE9SUy9GVDVVc25BNTFwNDh2ODBOYWNu?= =?utf-8?B?MnBoV252aUpPMjlkQ0xnSmhUNitiOC8ydG85bzJLVi9BRmI3RzlOWkswT3Rq?= =?utf-8?B?ODRNL0FmaTRCczBkakVyNFZvem5xZlY3N1ozemFUMXNYNDRvdzNJcjJqRFMv?= =?utf-8?B?NkpxQW1xSTJSMHNpaUpEQUJlbjAvdS9WbW5qOHBUTTc3T3IyTnhLSUlPblMz?= =?utf-8?B?ZGtZU0FaemxEeWk4TUxMUzRpSStpNEttRkx1UEQrMjY5RTdhNUhtWFhmcXFW?= =?utf-8?B?Wks3WStXMENCV0QvbnBtZTFpcVF1eXIraVMxVXg5OU5MUzJ2V2pmNzZMY3l3?= =?utf-8?B?cmJHcUdhd09UbDJzUXpJU1Y0WlRpaWY0YWFGdnp1Nmd2RllzcS94ZmJEOUpB?= =?utf-8?B?T2lvVmJMS0JXSmZ4ZGdkYTRvMW1Ea3Z1b292VXpLUEwvQmNDY2kwUU5HWWw1?= =?utf-8?B?Z1pUdU9oNlIweTd1Q0NDL0NxcTVXemZTdXpVUUtER3lBS2hQT1ZQT3pocFl5?= =?utf-8?B?S1l6Y2hsRXd0aktvelVubTdibTZnd284TnZpU3lNZ1ByZUVFdncxclFERXFR?= =?utf-8?B?SkdsRlNSdGFsZ2RNQnNlZDhtdVdIN3RwNDJzSHgvVktnSHFiTnZxenNNc05C?= =?utf-8?B?bml6bzdVRnIvWnBWamgvRnZ2RzFtOEx4YWlrWVNFdTBuaUIvM1NLVXN6Wk9T?= =?utf-8?B?cTlOY055ZkhoTHdSR1p0djczOGhGc3R4UXNObUt5VUM2eURBcGNNb0Q4YzV6?= =?utf-8?B?T21ZeGRZZUVTeGhpWVd5ZERIWFBQd1ZPbDlHTHlxU29YNkJuSVdVSHoxTWpm?= =?utf-8?B?T0tZZlMzWGtyOU1lbFl0d29yTk5VdFVyQkJsWkZkbzhxY2JGWVNRdz09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4738.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d9b012a-96a4-40f8-ffec-08da1ec0017c X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2022 09:12:03.2776 (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: +be13e6sY5yWn1Gk+iSwd5QsXk81MjdYdSojVZIvf3NXGC+ssv3m0ZBk5wn+JxDhnzGv6uBIW5jSZvZbEjz+JQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1324 Return-Path: zhihao.li@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBzZWUgdGhlIGNvbmZpZ3VyYXRpb24gaW4gTWRlTW9kdWxlUGtnXE1kZU1vZHVsZVBrZy5jaS55 YW1sLiBJIGFkZCBTbW1DcHVSZW5kZXp2b3VzTGliLmggaW4NCk1kZU1vZHVsZVBrZy9JbmNsdWRl L0xpYnJhcnkgZm9sZGVyIHNvIHRoYXQgaXQgZG9lc24ndCBuZWVkIGFkZCBVZWZpQ3B1UGtnLmRl YyBpbiBbUGFja2FnZXNdIGFuZCBieXBhc3MgdGhlIGNoZWNrLg0KDQpGb3IgdGhlIHNlY29uZCBw b2ludCwgZHVlIHRvIHRoZSBwYXRjaCBwYXNzIHRoZSBDSSB0ZXN0LCBpdCBhbHNvIHBhc3MgdGhl IFBsYXRmb3JtQ0lfQXJtVmlydFBrZy4gSSBkb24ndCByZWFsaXplIHRoYXQgYW55IHByb2JsZW0g aW4NCkFybSBwbGF0Zm9ybSBidWlsZC4NCkxlaWYgYW5kIEFyZA0KRG9lcyB0aGUgcGF0Y2ggaGFz IGFueSBpbmZsdWVuY2Ugb24gYXJtIHBsYXRmb3JtIGJ1aWxkPw0KDQpMaW1pbmc6DQpJZiB0aGUg c29sdXRpb24gaXMgbm90IGFjY2VwdGFibGUsIGhvdyBhYm91dCBJIGNyZWF0ZSBOVUxMIHZlcnNp b24gb2YgU21tQ3B1UmVuZGV6dm91c0xpYiBpbiBNZGVNb2R1bGVQa2cgYW5kIHVzZSBpdCBpbiBN ZGVNb2R1bGVQa2cuZHNjPyBJcyB0aGF0IGEgYWNjZXB0YWJsZSBzb2x1dGlvbiBmb3IgeW91Pw0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGdhb2xpbWluZyA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBTZW50OiBXZWRuZXNkYXksIEFwcmlsIDEzLCAyMDIyIDk6 MzAgQU0NCj4gVG86IExpLCBaaGloYW8gPHpoaWhhby5saUBpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgJ01pY2hhZWwgS3ViYWNraScNCj4gPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29m dC5jb20+OyAnQXJkIEJpZXNoZXV2ZWwnDQo+IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsg J0xlaWYgTGluZGhvbG0nIDxsZWlmQG51dmlhaW5jLmNvbT47ICdTZWFuDQo+IEJyb2dhbicgPHNl YW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT47IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBOaSwNCj4gUmF5 IDxyYXkubmlAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgWWFvLA0KPiBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiDlm57lpI06IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBNZGVNb2R1bGVQa2c6IFVz ZQ0KPiBTbW1XYWl0Rm9yQWxsUHJvY2Vzc29yKCkgaW4gVmFyaWFibGVTbW0gZHJpdmVyLg0KPiAN Cj4gWmhpaGFvOg0KPiAgIEkgcmVtZW1iZXIgQ0kgaGFzIHRoZSBjaGVjayBmb3IgdGhlIHBhY2th Z2UgZGVwZW5kZW5jeS4gSWYgdGhpcyBwYXRjaCBwYXNzZXMNCj4gQ0ksIHNlZW1seSB0aGlzIGNo ZWNrZXIgZG9lc24ndCBkby4gWW91IGNhbiBzZWUgRGVwZW5kZW5jeUNoZWNrIGluDQo+IE1kZU1v ZHVsZVBrZ1xNZGVNb2R1bGVQa2cuY2kueWFtbC4NCj4gICBBbmQsIHRoaXMgcGF0Y2ggaW50cm9k dWNlcyBuZXcgZGVwZW5kZW5jeSBpbiBWYXJpYWJsZVN0YW5kYWxvbmVNbS4gSXQgaGFzDQo+IGJl ZW4gdXNlZCBpbiBlZGsyIHBsYXRmb3JtIEFSTSBwbGF0Zm9ybS4gVGhpcyBjaGFuZ2Ugd2lsbCBi cmVhayB0aGVzZSBwbGF0Zm9ybQ0KPiBidWlsZC4gUGxlYXNlIG5vdGlmeSB0aGUgcGxhdGZvcm0g b3duZXJzLg0KPiANCj4gU2VhbiBhbmQgTWljaGFlbDoNCj4gICBUaGlzIHBhdGNoIGFkZHMgVWVm aUNwdVBrZyBsaWJyYXJ5IGluc3RhbmNlIFNtbUNwdVJlbmRlenZvdXNMaWIgaW50bw0KPiBNZGVN b2R1bGVQa2cuZHNjLiBCdXQsIENJIGNhbiBwYXNzLiBJcyB0aGlzIHRoZSBleHBlY3RlZCBiZWhh dmlvcj8NCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0t DQo+ID4g5Y+R5Lu25Lq6OiBMaSwgWmhpaGFvIDx6aGloYW8ubGlAaW50ZWwuY29tPg0KPiA+IOWP kemAgeaXtumXtDogMjAyMuW5tDTmnIgxM+aXpSAyOjE0DQo+ID4g5pS25Lu25Lq6OiBHYW8sIExp bWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g PiDmioTpgIE6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgRnUsIFNpeXVh bg0KPiA+IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47 IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ IOS4u+mimDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBNZGVNb2R1bGVQa2c6IFVz ZQ0KPiA+IFNtbVdhaXRGb3JBbGxQcm9jZXNzb3IoKSBpbiBWYXJpYWJsZVNtbSBkcml2ZXIuDQo+ ID4NCj4gPiAxLiBBbHRob3VnaCBTbW1DcHVSZW5kZXp2b3VzTGliIGluIFVlZmlDcHVQa2csIGFk ZCBTbW1SZW5kZXp2b3VzTGliLmgNCj4gPiBpbnRvIE1kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJh cnkgZm9sZGVyIGJ5cGFzcyB0aGUgY2hlY2suDQo+ID4gMi4gVGhlIFNtbVJlbmRlenZvdXNMaWIg aXMgYSBzdGFuZGFsb25lIE1NIGxpYnJhcnkgYW5kIGRvZXNu4oCZdCBoYXZlDQo+ID4gYW55IERY RSBzZXJ2aWNlIGRlcGVuZGVuY3kuIEl0IGNhbiBiZSB1c2VkIGJ5IFNNTSB2YXJpYWJsZSBtb2R1 bGUgYW5kDQo+ID4gTU0gdmFyaWFibGUgbW9kdWxlLg0KPiA+DQo+ID4gQXMgdGhlIHBhdGNoIGZv bGxvd2luZywgaXQgaGF2ZSBwYXNzZWQgdGhlIEVkazIgQ0kgdGVzdC4gVGhlIGNvZGUgY2FuDQo+ ID4gcnVuIHN1Y2Nlc3NmdWxseSBpbiBwcmFjdGljZSwgYnV0IEknbSBub3Qgc3VyZSBpZiB0aGlz IGlzIGFjY2VwdGFibGUNCj4gPiBpbiB0ZXJtcyBvZiB0aGUgc3RhbmRhcmQuDQo+ID4NCj4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGdhb2xpbWluZyA8Z2FvbGltaW5n QGJ5b3NvZnQuY29tLmNuPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDEyLCAyMDIyIDk6MDAg QU0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IExpLCBaaGloYW8gPHpoaWhhby5saUBp bnRlbC5jb20+DQo+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg RnUsIFNpeXVhbg0KPiA+IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPiA+IFN1YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAxLzFdIE1k ZU1vZHVsZVBrZzogVXNlDQo+ID4gU21tV2FpdEZvckFsbFByb2Nlc3NvcigpIGluIFZhcmlhYmxl U21tIGRyaXZlci4NCj4gPg0KPiA+IFpoaWhhbzoNCj4gPiAgIFRoaXMgcGF0Y2ggYnJlYWtzIHR3 byB0aGluZ3MuIE9uZSBpcyB0byBsZXQgTWRlTW9kdWxlUGtnIGRlcGVuZCBvbg0KPiA+IFVlZmlD cHVQa2csIGFub3RoZXIgaXMgdG8gbGV0IFZhcmlhYmxlU3RhbmRhbG9uZU1tIGRlcGVuZCBvbg0K PiA+IFVlZmlDcHVQa2cgU21tQ3B1UmVuZGV6dm91c0xpYi4gUGxlYXNlIHByb3ZpZGUgeW91ciBw cm9wb3NhbCB0bw0KPiA+IHJlc29sdmUgdGhlc2UgdHdvIGRlcGVuZGVuY3kgZmlyc3QuDQo+ID4N Cj4gPiBUaGFua3MNCj4gPiBMaW1pbmcNCj4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g PiA+IOWPkeS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiDku6PooaggTGksIFpoaWhhbw0KPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIy5bm0NOaciDEx5pel IDE1OjA3DQo+ID4gPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiDmioTp gIE6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMaW1pbmcgR2FvDQo+ID4g PiA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgU2l5dWFuIEZ1IDxzaXl1YW4uZnVAaW50ZWwu Y29tPjsgTmkgUmF5DQo+ID4gPiA8cmF5Lm5pQGludGVsLmNvbT47IE1pY2hhZWwgRCBLaW5uZXkg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4g5Li76aKYOiBbZWRrMi1kZXZlbF0g W1BBVENIIHYxIDEvMV0gTWRlTW9kdWxlUGtnOiBVc2UNCj4gPiA+IFNtbVdhaXRGb3JBbGxQcm9j ZXNzb3IoKSBpbiBWYXJpYWJsZVNtbSBkcml2ZXIuDQo+ID4gPg0KPiA+ID4gUkVG77yaIGh0dHBz Oi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg1NA0KPiA+ID4NCj4g PiA+IEluIFVlZmlDcHVQa2csIHRoZXJlIGFyZSBhIG5ldyBQcm90b2NvbCB3aXRoIHRoZSBuZXcg c2VydmljZQ0KPiA+ID4gU21tV2FpdEZvckFsbFByb2Nlc3NvcigpLCB3aGljaCBjYW4gYmUgdXNl ZCBieSBTTUkgaGFuZGxlciB0bw0KPiA+ID4gb3B0aW9uYWxseSB3YWl0IGZvciBvdGhlciBBUHMg dG8gY29tcGxldGUgU01NIHJlbmRlenZvdXMgaW4gcmVsYXhlZA0KPiA+ID4gQVAgbW9kZS4NCj4g PiA+DQo+ID4gPiBUaGlzIHBhdGNoIHVzZSB0aGUgbmV3IHNlcnZpY2UgdG8gbGV0IFZhcmlhYmxl U21tIGRyaXZlciB3b3JrDQo+ID4gPiBub3JtYWxseSBpbiByZWxheGVkIEFQIG1vZGUuDQo+ID4g Pg0KPiA+ID4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiBD YzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+ID4gQ2M6IFNpeXVh biBGdSA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiA+IENjOiBOaSBSYXkgPHJheS5uaUBpbnRl bC5jb20+DQo+ID4gPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+DQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogWmhpaGFvIExpIDx6aGloYW8ubGlA aW50ZWwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJp YWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmMNCj4gPiA+IHwgMTAgKysrKysrKy0NCj4gPiA+ ICBNZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIuaA0KPiA+ ID4gfCAyNyArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjDQo+ID4gPiB8ICA1ICsrKy0NCj4gPiA+ICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxl UGtnLmRzYw0KPiA+ID4gfCAgNCArKy0NCj4gPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1Zh cmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mDQo+ID4gPiB8ICAzICsrLQ0KPiA+ID4N Cj4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVT dGFuZGFsb25lTW0uaW5mDQo+ID4gPiB8ICAzICsrLQ0KPiA+ID4gIDYgZmlsZXMgY2hhbmdlZCwg NDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0 DQo+ID4gPiBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZVNtbS5jDQo+ID4gPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGlt ZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gPiBpbmRleCA1MTdjYWU3YjAwZjguLjUyYTliMGU2YjIw MiAxMDA2NDQNCj4gPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVu dGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gPiArKysgYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0KPiA+ID4gQEAgLTE0LDcgKzE0LDcg QEANCj4gPiA+ICAgIFZhcmlhYmxlU2VydmljZVNldFZhcmlhYmxlKCksIFZhcmlhYmxlU2Vydmlj ZVF1ZXJ5VmFyaWFibGVJbmZvKCksDQo+ID4gPiBSZWNsYWltRm9yT1MoKSwNCj4gPiA+DQo+ID4g PiAgICBTbW1WYXJpYWJsZUdldFN0YXRpc3RpY3MoKSBzaG91bGQgYWxzbyBkbyB2YWxpZGF0aW9u IGJhc2VkIG9uIGl0cw0KPiA+ID4gb3duIGtub3dsZWRnZS4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+IC1Db3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cw0KPiA+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICtDb3B5cmlnaHQgKGMp IDIwMTAgLSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gK3Jlc2Vy dmVkLjxCUj4NCj4gPiA+DQo+ID4gPiAgQ29weXJpZ2h0IChjKSAyMDE4LCBMaW5hcm8sIEx0ZC4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPg0KPiA+ID4gIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBA QCAtMjgsNiArMjgsNyBAQCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgI2luY2x1ZGUgPExpYnJhcnkvTW1TZXJ2aWNlc1Rh YmxlTGliLmg+DQo+ID4gPg0KPiA+ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1ZhcmlhYmxlUG9saWN5 TGliLmg+DQo+ID4gPg0KPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNM aWIuaD4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICAjaW5jbHVkZSA8R3VpZC9TbW1WYXJp YWJsZUNvbW1vbi5oPg0KPiA+ID4NCj4gPiA+ICAjaW5jbHVkZSAiVmFyaWFibGUuaCINCj4gPiA+ DQo+ID4gPiBAQCAtNjU2LDYgKzY1NywxMyBAQCBTbW1WYXJpYWJsZUhhbmRsZXIgKA0KPiA+ID4g ICAgICAgICAgZ290byBFWElUOw0KPiA+ID4NCj4gPiA+ICAgICAgICB9DQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPiArICAgICAgaWYgKChTbW1WYXJpYWJsZUhlYWRlci0+QXR0cmlidXRlcyAm DQo+ID4gPiBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFKSAhPSAwKSB7DQo+ID4gPg0KPiA+ID4g KyAgICAgICAgaWYgKEVGSV9FUlJPUiAoU21tV2FpdEZvckFsbFByb2Nlc3NvciAoVFJVRSkpKSB7 DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiU2V0VmFyaWFi bGU6IGZhaWwgdG8gd2FpdCBmb3IgYWxsDQo+ID4gPiArIEFQDQo+ID4gPiBjaGVjayBpbiBTTU0h XG4iKSk7DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICBnb3RvIEVYSVQ7DQo+ID4gPg0KPiA+ID4g KyAgICAgICAgfQ0KPiA+ID4NCj4gPiA+ICsgICAgICB9DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4N Cj4gPiA+ICAgICAgICBTdGF0dXMgPSBWYXJpYWJsZVNlcnZpY2VTZXRWYXJpYWJsZSAoDQo+ID4g Pg0KPiA+ID4gICAgICAgICAgICAgICAgICAgU21tVmFyaWFibGVIZWFkZXItPk5hbWUsDQo+ID4g Pg0KPiA+ID4gICAgICAgICAgICAgICAgICAgJlNtbVZhcmlhYmxlSGVhZGVyLT5HdWlkLA0KPiA+ ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1NtbUNw dVJlbmRlenZvdXNMaWIuaA0KPiA+ID4gYi9NZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1Nt bUNwdVJlbmRlenZvdXNMaWIuaA0KPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uODJlNDU5ZTkxMDZlDQo+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4g PiArKysgYi9NZGVNb2R1bGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIu aA0KPiA+ID4gQEAgLTAsMCArMSwyNyBAQA0KPiA+ID4gKy8qKiBAZmlsZQ0KPiA+ID4NCj4gPiA+ ICsgIFNNTSBDUFUgUmVuZGV6dm91cyBsaWJyYXJ5IGhlYWRlciBmaWxlLg0KPiA+ID4NCj4gPiA+ ICsNCj4gPiA+DQo+ID4gPiArICBDb3B5cmlnaHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ ID4gPiArKiovDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsjaWZuZGVmIFNNTV9DUFVf UkVOREVaVk9VU19IXw0KPiA+ID4NCj4gPiA+ICsjZGVmaW5lIFNNTV9DUFVfUkVOREVaVk9VU19I Xw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArLyoqDQo+ID4gPg0KPiA+ID4gKyAgVGhp cyByb3V0aW5lIHdhaXQgZm9yIGFsbCBBUCBwcm9jZXNzb3JzIHRvIGFycml2ZSBpbiBTTU0uDQo+ ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIEBwYXJhbVtpbl0gIEJsb2NraW5nTW9kZSAg QmxvY2tpbmcgbW9kZSBvciBub24tYmxvY2tpbmcgbW9kZS4NCj4gPiA+DQo+ID4gPiArDQo+ID4g Pg0KPiA+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBBbGwgcHJvY2Vzc29ycyBjaGVj a2VkIGluIHRvIFNNTS4NCj4gPiA+DQo+ID4gPiArICBAcmV0dmFsIEVGSV9USU1FT1VUICAgICAg IFdhaXQgZm9yIGFsbCBBUHMgdW50aWwgdGltZW91dC4NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0K PiA+ID4gKyoqLw0KPiA+ID4NCj4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPg0KPiA+ID4gK0VGSUFQ SQ0KPiA+ID4NCj4gPiA+ICtTbW1XYWl0Rm9yQWxsUHJvY2Vzc29yICgNCj4gPiA+DQo+ID4gPiAr ICBJTiAgQk9PTEVBTiAgQmxvY2tpbmdNb2RlDQo+ID4gPg0KPiA+ID4gKyAgKTsNCj4gPiA+DQo+ ID4gPiArDQo+ID4gPg0KPiA+ID4gKyNlbmRpZg0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9N ZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+ID4gYi9NZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLmRlYyBpbmRleA0KPiA+IDQ2M2U4ODllOWE2OC4uMDZhZGE0MWI3MzQ0DQo+ID4gPiAx MDA2NDQNCj4gPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gPiAr KysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+ID4gQEAgLTQsNyArNCw3IEBA DQo+ID4gPiAgIyBhbmQgbGlicmFyaWVzIGluc3RhbmNlcywgd2hpY2ggYXJlIHVzZWQgZm9yIHRo b3NlIG1vZHVsZXMuDQo+ID4gPg0KPiA+ID4gICMNCj4gPiA+DQo+ID4gPiAgIyBDb3B5cmlnaHQg KGMpIDIwMTksIE5WSURJQSBDT1JQT1JBVElPTi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPiA+ DQo+ID4gPiAtIyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cw0KPiA+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICsjIENvcHlyaWdo dCAoYykgMjAwNyAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiAr cmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICAjIENvcHlyaWdodCAoYykgMjAxNiwgTGluYXJv IEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPg0KPiA+ID4gICMgKEMpIENvcHly aWdodCAyMDE2IC0gMjAxOSBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudA0K PiA+ID4gTFA8QlI+DQo+ID4gPg0KPiA+ID4gICMgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5j b3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiBAQCAtMTU0 LDYgKzE1NCw5IEBADQo+ID4gPiAgICAjDQo+ID4gPg0KPiA+ID4gICAgVmFyaWFibGVQb2xpY3lI ZWxwZXJMaWJ8SW5jbHVkZS9MaWJyYXJ5L1ZhcmlhYmxlUG9saWN5SGVscGVyTGliLmgNCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICsgICMjIEBsaWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGZ1bmN0 aW9uIGZvciBTTU0gQ1BVIFJlbmRlenZvdXMgTGlicmFyeS4NCj4gPiA+DQo+ID4gPiArICBTbW1D cHVSZW5kZXp2b3VzTGlifEluY2x1ZGUvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliLmgNCj4g PiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gIFtHdWlkc10NCj4gPiA+DQo+ID4gPiAgICAjIyBN ZGVNb2R1bGUgcGFja2FnZSB0b2tlbiBzcGFjZSBndWlkDQo+ID4gPg0KPiA+ID4gICAgIyBJbmNs dWRlL0d1aWQvTWRlTW9kdWxlUGtnVG9rZW5TcGFjZS5oDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdp dCBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjDQo+ID4gPiBiL01kZU1vZHVsZVBrZy9N ZGVNb2R1bGVQa2cuZHNjIGluZGV4DQo+ID4gYjFkODM0NjE4NjVlLi5hMTVkZDVkN2IyM2QNCj4g PiA+IDEwMDY0NA0KPiA+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kc2MNCj4g PiA+ICsrKyBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjDQo+ID4gPiBAQCAtMiw3ICsy LDcgQEANCj4gPiA+ICAjIEVGSS9QSSBSZWZlcmVuY2UgTW9kdWxlIFBhY2thZ2UgZm9yIEFsbCBB cmNoaXRlY3R1cmVzDQo+ID4gPg0KPiA+ID4gICMNCj4gPiA+DQo+ID4gPiAgIyAoQykgQ29weXJp Z2h0IDIwMTQgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC48QlI+DQo+ ID4gPg0KPiA+ID4gLSMgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMNCj4gPiA+IHJlc2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiArIyBDb3B5 cmlnaHQgKGMpIDIwMDcgLSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiAgIyBDb3B5cmlnaHQgKGMpIE1pY3Jvc29m dCBDb3Jwb3JhdGlvbi4NCj4gPiA+DQo+ID4gPiAgIw0KPiA+ID4NCj4gPiA+ICAjICAgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPg0KPiA+ID4gQEAg LTE1Miw2ICsxNTIsNyBAQA0KPiA+ID4NCj4gPiA+DQo+ID4gU21tU2VydmljZXNUYWJsZUxpYnxN ZGVQa2cvTGlicmFyeS9TbW1TZXJ2aWNlc1RhYmxlTGliL1NtbVNlcnZpY2VzVGENCj4gPiA+IGJs ZUxpYi5pbmYNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiBMb2NrQm94TGlifE1kZU1vZHVsZVBr Zy9MaWJyYXJ5L1NtbUxvY2tCb3hMaWIvU21tTG9ja0JveFNtbUxpYi5pDQo+ID4gPiBuZg0KPiA+ ID4NCj4gPiA+ICAgIFNtbU1lbUxpYnxNZGVQa2cvTGlicmFyeS9TbW1NZW1MaWIvU21tTWVtTGli LmluZg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gU21tQ3B1UmVuZGV6dm91c0xpYnxVZWZp Q3B1UGtnL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi9TbW1DcA0KPiA+ID4gdVJlbmRlenZv dXNMaWIuaW5mDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgW0xpYnJhcnlDbGFzc2VzLmNv bW1vbi5VRUZJX0RSSVZFUl0NCj4gPiA+DQo+ID4gPiAgICBIb2JMaWJ8TWRlUGtnL0xpYnJhcnkv RHhlSG9iTGliL0R4ZUhvYkxpYi5pbmYNCj4gPiA+DQo+ID4gPiBAQCAtMTcyLDYgKzE3Myw3IEBA DQo+ID4gPg0KPiA+ID4NCj4gPiBNbVNlcnZpY2VzVGFibGVMaWJ8TWRlUGtnL0xpYnJhcnkvU3Rh bmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi9TdGFuZA0KPiA+ID4gYWxvbmVNbVNlcnZpY2VzVGFi bGVMaWIuaW5mDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gTG9ja0JveExpYnxNZGVNb2R1bGVQ a2cvTGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTdGFuZGFsb24NCj4gPiA+IGVNbUxp Yi5pbmYNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiBNZW1MaWJ8U3RhbmRhbG9uZU1tUGtnL0xp YnJhcnkvU3RhbmRhbG9uZU1tTWVtTGliL1N0YW5kYWxvbmVNbQ0KPiA+ID4gTWVtTGliLmluZg0K PiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gU21tQ3B1UmVuZGV6dm91c0xpYnxVZWZpQ3B1UGtn L0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi9TbW1DcA0KPiA+ID4gdVJlbmRlenZvdXNMaWIu aW5mDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgW0xpYnJhcnlDbGFzc2VzLkFSTSwgTGli cmFyeUNsYXNzZXMuQUFSQ0g2NF0NCj4gPiA+DQo+ID4gPiAgICBBcm1MaWJ8QXJtUGtnL0xpYnJh cnkvQXJtTGliL0FybUJhc2VMaWIuaW5mDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4g YS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0u aW5mDQo+ID4gPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9W YXJpYWJsZVNtbS5pbmYNCj4gPiA+IGluZGV4IGVhYTk3YTAxYzZlNS4uMGJlYmQ5MmIxNjI2IDEw MDY0NA0KPiA+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1l RHhlL1ZhcmlhYmxlU21tLmluZg0KPiA+ID4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9W YXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZg0KPiA+ID4gQEAgLTE4LDcgKzE4LDcg QEANCj4gPiA+ICAjICBtYXkgbm90IGJlIG1vZGlmaWVkIHdpdGhvdXQgYXV0aG9yaXphdGlvbi4g SWYgcGxhdGZvcm0gZmFpbHMgdG8NCj4gPiA+IHByb3RlY3QgdGhlc2UgcmVzb3VyY2VzLA0KPiA+ ID4NCj4gPiA+ICAjICB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZSBwcm92aWRlZCBpbiB0aGlz IGRyaXZlciB3aWxsIGJlDQo+ID4gPiBicm9rZW4sIGFuZCB0aGUgYmVoYXZpb3IgaXMgdW5kZWZp bmVkLg0KPiA+ID4NCj4gPiA+ICAjDQo+ID4gPg0KPiA+ID4gLSMgQ29weXJpZ2h0IChjKSAyMDEw IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+IHJlc2VydmVkLjxC Uj4NCj4gPiA+DQo+ID4gPiArIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDIyLCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiAg IyBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4NCj4gPiA+DQo+ID4gPiAgIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4NCj4gPiA+ ICAjDQo+ID4gPg0KPiA+ID4gQEAgLTgyLDYgKzgyLDcgQEANCj4gPiA+ICAgIFVlZmlCb290U2Vy dmljZXNUYWJsZUxpYg0KPiA+ID4NCj4gPiA+ICAgIFZhcmlhYmxlUG9saWN5TGliDQo+ID4gPg0K PiA+ID4gICAgVmFyaWFibGVQb2xpY3lIZWxwZXJMaWINCj4gPiA+DQo+ID4gPiArICBTbW1DcHVS ZW5kZXp2b3VzTGliDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgW1Byb3RvY29sc10NCj4g PiA+DQo+ID4gPiAgICBnRWZpU21tRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3VpZCAgICAg ICAgIyMgQ09OU1VNRVMNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPg0KPiA+IGEvTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9u ZU1tLmluDQo+ID4gPiBmDQo+ID4gPg0KPiA+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJp YWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmluDQo+ID4gPiBmDQo+ID4gPiBp bmRleCBkOGM0Zjc3ZTdmMWYuLjU5NWJhYWY3MDE2NCAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4N Cj4gPiBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJs ZVN0YW5kYWxvbmVNbS5pbg0KPiA+ID4gZg0KPiA+ID4gKysrDQo+ID4gPg0KPiA+IGIvTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1t LmluDQo+ID4gPiBmDQo+ID4gPiBAQCAtMTgsNyArMTgsNyBAQA0KPiA+ID4gICMgIG1heSBub3Qg YmUgbW9kaWZpZWQgd2l0aG91dCBhdXRob3JpemF0aW9uLiBJZiBwbGF0Zm9ybSBmYWlscyB0bw0K PiA+ID4gcHJvdGVjdCB0aGVzZSByZXNvdXJjZXMsDQo+ID4gPg0KPiA+ID4gICMgIHRoZSBhdXRo ZW50aWNhdGlvbiBzZXJ2aWNlIHByb3ZpZGVkIGluIHRoaXMgZHJpdmVyIHdpbGwgYmUNCj4gPiA+ IGJyb2tlbiwgYW5kIHRoZSBiZWhhdmlvciBpcyB1bmRlZmluZWQuDQo+ID4gPg0KPiA+ID4gICMN Cj4gPiA+DQo+ID4gPiAtIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE5LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICsjIENv cHlyaWdodCAoYykgMjAxMCAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ ID4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICAjIENvcHlyaWdodCAoYykgMjAxOCwg TGluYXJvLCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICAjIENv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KPiA+ID4NCj4gPiA+ICAjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPg0KPiA+ID4gQEAg LTc4LDYgKzc4LDcgQEANCj4gPiA+ICAgIFZhckNoZWNrTGliDQo+ID4gPg0KPiA+ID4gICAgVmFy aWFibGVQb2xpY3lMaWINCj4gPiA+DQo+ID4gPiAgICBWYXJpYWJsZVBvbGljeUhlbHBlckxpYg0K PiA+ID4NCj4gPiA+ICsgIFNtbUNwdVJlbmRlenZvdXNMaWINCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+ICBbUHJvdG9jb2xzXQ0KPiA+ID4NCj4gPiA+ICAgIGdFZmlTbW1GaXJtd2FyZVZvbHVt ZUJsb2NrUHJvdG9jb2xHdWlkICAgICAgICAjIyBDT05TVU1FUw0KPiA+ID4NCj4gPiA+IC0tDQo+ ID4gPiAyLjI2LjIud2luZG93cy4xDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiANCj4gPiA+ DQo+ID4NCj4gPg0KPiANCj4gDQoNCg==