From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web12.7067.1645621208225170008 for ; Wed, 23 Feb 2022 05:00:08 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HNcHjMO+; spf=pass (domain: intel.com, ip: 134.134.136.65, 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=1645621208; x=1677157208; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=JYaOXoAfm+eL+4TwVZ1rBN6bApzqkiLu1s0kkR0FtBw=; b=HNcHjMO+nTmvCa1N4YQjrQEB/VHKFEHz+DMjQiXFJr40OVJ22cpOFZe9 P2NE7nvt1rV+/ypUgoqclcc9poQfJTnY0Gn2hLqj/ceFikoIf7Rra1EeR POigXkUIo/XXNE1s0LLexeZ+6/Nf39pOevU4T6ql/SzGbvQUgfNerL5l2 na7ig+PPnCN68otj2krORbIwJ9UseoVUFw3/SA9GclkJDUAi0VQFFoYFO 6rDaA6Um3M1ZRP+NtxfNTiRGJiQUd2ZYjpetAZIGbMsqIrLhEKp3hyrzJ yEGckN+gAIviyaQThAsQXNR0IFxjA4dcPUOTgUbn0uFSHuxNcyyNKEvVm w==; X-IronPort-AV: E=McAfee;i="6200,9189,10266"; a="251874611" X-IronPort-AV: E=Sophos;i="5.88,391,1635231600"; d="scan'208";a="251874611" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Feb 2022 05:00:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,391,1635231600"; d="scan'208";a="707021300" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP; 23 Feb 2022 05:00:07 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) 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.21; Wed, 23 Feb 2022 05:00:07 -0800 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 23 Feb 2022 05:00:06 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Wed, 23 Feb 2022 05:00:06 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) 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.20; Wed, 23 Feb 2022 05:00:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RQdlioKQ1i31G1mj36v2mUndT6uwbgvjjS5Eln+AcaLnI9VRqCKj0i2DOuq+Wqw5ld2h82BR4C0k1wOb+61Bwv0o1JGlUuzh4KlAQXuSM9bx9ADgXy6LmYlnVoRRgGLsz0vFlSJFTpwt4vyVoQyED3XQHXGWyxpU7OMWU2f3eRrcJFgUpLzOfyjNsVgQ3MX7GeXNQVSvGlCOjWI4J/heZZCe3XXaeueELGOK82vuRpRNbHiwYbKPCpyZwkLhXS2lNbbPTttAXnKnEN0HZy0A3m7Cy8hjxfcDS5wyMgd64zd9rSWJkD+uPrw6Vp/b8dmusD0p8RCEJZUj0C09G5csDQ== 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=JYaOXoAfm+eL+4TwVZ1rBN6bApzqkiLu1s0kkR0FtBw=; b=mB/+ZDy7NOWZAa5uxhaQyDfWCCop8ONN96CFaJLjwjBpd2bWGbbWHp7FyJRswxo9p7No/H1I7CxkR0PEnzNKhD1tHINodzw6+KH1/gkJ6g+hZsqViQWRAPb43bg2EErJ8ig67bOcplaXvV0BZ7zxrofPKd2Jal1K5ha1ChIAE2wSencPntsKYpukNgWbc9TV70XOlW1lvv+Q1nVpHH+uivzqOBej811Q47zI/L2zJm2SlaqvLchYESgMTu5p3SwFSEr2sfuPi+f/FaO2X+qA4Y+HHTU8LgS/OL3YVBwsxJRWbvCSCKJnUTwFEPJvgpv51fKImIiQqXRTrjugOEtAMA== 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 CY4PR11MB1624.namprd11.prod.outlook.com (2603:10b6:910:8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 23 Feb 2022 13:00:04 +0000 Received: from DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::1527:223f:8a2d:4f5e]) by DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::1527:223f:8a2d:4f5e%8]) with mapi id 15.20.5017.022; Wed, 23 Feb 2022 13:00:04 +0000 From: "Li, Zhihao" To: "Fu, Siyuan" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Ni, Ray" , "Kumar, Rahul1" Subject: Re: [edk2-devel] [PATCH v2 1/1] UefiCpuPkg: Extend SMM CPU Service with rendezvous support. Thread-Topic: [edk2-devel] [PATCH v2 1/1] UefiCpuPkg: Extend SMM CPU Service with rendezvous support. Thread-Index: AQHYKICHFrvmCEdWVE6YwdHj357IUqyg7B4ggAAtMCA= Date: Wed, 23 Feb 2022 13:00:04 +0000 Message-ID: References: <20220223064215.3570-1-zhihao.li@intel.com> In-Reply-To: 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: 4cf27842-4b3b-4e9f-4f47-08d9f6cc68f1 x-ms-traffictypediagnostic: CY4PR11MB1624:EE_ 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: GRNyIvCidZNHSq90DG/pepBTaKl+Ai4EotfakgI3bLgcUIg9RQhjtvWZKKCiCHRGewcOw86ReSBu/pT1A8CJmQa3lA80SJOw1yBYlltG49uML/q8PrFMtlrWztyvX0gmS2IGBteZyewVAZLkvqb60X/7+Fy6BGGLB9UlN+LUGm0k4BeSFXxeFOzK4l54vNc67uiyQCgwX+Ms1BS5aq5hpQEWVZ0V7qxvnvWDS4aUbnz41GCdgpW6d5S4/smJ1Pkpp3EhKyp4bgj0i0PXj5ffE0uchVyF1kqY9oFubXNwZ5aMDxH2JVADn54+T1Qi0s3vfDGcQ8Gru/cb3xty096BNqgWjVYJXqTu5RIX14jKPzbYQP6kTglAArEs8xbElbvEROoVe+vF+PGb/Mx4Y0P5oLwYbaAisK0fbrrt93yUrWFI0+ekeCnt3zZAWcvy+NH7TRs6f+LQ4uKBkPGK0xpo4jJfs02GViJUR1j5rOFCSuOiyp0ZsVOtJBHVqwRKOfEjPPjcOasGT7eJEj1MWwg+Y3slWGtiN2O4iL5W7DfZdnJ4yVbf7yF6numyU56b1R36qqjxnjNX332Kb+/6zfAPNLTyKdGlD2jJkNaJRSvwq2nlFFcbRjbdIByF7lxKZVKLeRS4/B+OeU79nkR/yp5wA5umNW8C3R3H6T8TPAdkt29q+rYrsBm8sOHEaXFVZcoqgsCnhecN4s6RLe4dbpBNcep+FVgQhbb8GkttJSEgJdYfhNBWKNNQ4ly0v14hfxRP/aXu5B9nQFVCQcxDxw/k9EUIxX6P7XfzueJymPGTGAYM97km4jdFQiDNRjHVGRWqdK3vCuSQL1hTk4flD95IJw== 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)(4326008)(66476007)(83380400001)(966005)(64756008)(9686003)(110136005)(508600001)(54906003)(316002)(76116006)(55016003)(8676002)(19627235002)(66946007)(33656002)(66556008)(30864003)(8936002)(66446008)(5660300002)(52536014)(107886003)(38070700005)(82960400001)(122000001)(6506007)(186003)(7696005)(26005)(53546011)(86362001)(38100700002)(71200400001)(2906002)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dCtBWVJRS1dZNEY1NGNVdTd0c3RybmxCKzk4MlpIaEhhZUhHTWZRNEtkWG1Y?= =?utf-8?B?YXNtMjhBbmgrbHQ3RnRsOWQ3R0o4UXBCTWpERk1vbU1OUDNQOEx0c08yaHds?= =?utf-8?B?K2pBR0N6ZTJIS1RaaC96UGVhZU53NHJYRFdudk9zcEx1bTF1aFRHclJGNlA2?= =?utf-8?B?bmttRFVtcXQ5L3BKcjFXQzZCQlFRUm5tWHdkTENTcFY2Y3M0d2wvR2MwWGFj?= =?utf-8?B?cHdsWUhsMU45YVloT2F4MVZSc0tQY0V2ZDNrc2ppSnhRM3ZMMFdHMHhGVlR2?= =?utf-8?B?TUxHR1pwQVlscTY5SVEwRXVsRktYUlkwc2drd0FDVTVrVkhXZExQWWZOa0Yy?= =?utf-8?B?UmZ5dno5ckJialI4QUVTdFpoSFlwMHd5S0kvU2Y2dnBnRWk1RFhVRFI0Nk5S?= =?utf-8?B?dHF2cFd1KzZ3OC8yQmdMRWpRRmhRNFBYS0pWeW0ybnRpeXhHQXR6T21aUFcy?= =?utf-8?B?UmZRY3U2TW9SSTJ1SFdueTJaa2VHK1Q4OUxIWXBPNW44YU1qZUtGejFVWlVL?= =?utf-8?B?U0Y5NXByUzFxMStHWkl1OEVMOHFjaHJGYTF2WXN4WDBpcUpuWTZTK2JFYWpP?= =?utf-8?B?Yk94S1YxSVF5NzFlcFN5ZG1zQ0hMbWRVamlscS9lbTdabVpLalAxamF2Zlp0?= =?utf-8?B?ZGZOQ2NaaGJUaXlOVXpYYkR0UXk2VkJpb3NyNFBNd1c5MlMzbVc2cGVQN3Ry?= =?utf-8?B?R3JBQnZoT3N4M0tNMHg3WWVnSkRWRnlLazk2cm1hZUQyYXlUYW9YVmpkMUZC?= =?utf-8?B?UVRnYjBHUkpibEdFL2FVNExZZ01GelVNNjJoWStCeExzMWVuVytNdzM3RE1L?= =?utf-8?B?MzVFYThCN0w5UVY1QzF2TmtpQVBpMVNqRDI3VERjSnpSUlpYQlpzbzJieUh5?= =?utf-8?B?ZWE4VTJGTTZjTzVQdVNQVXM4Rm1VZGU4UVZuNWgrUjNRbHBQOHhlK0xKRkVE?= =?utf-8?B?WlA4MDhzcTh2TUFXMy8vdC9HeTZEbW5BMkpwNW05TEgxSmtPUlJKYmRJQ2g0?= =?utf-8?B?R3hyWWFRbW5nQlhoUG93TWFib05CR2dEb3NoaThBaFg0dFNsS3kxRmI1M0Fw?= =?utf-8?B?NjdsdE15ZWxwdXNnc0FUdXgyR2cycnd4UStzaUp0cXY5anozYWZid0NwbGNH?= =?utf-8?B?YlpiM2JVQ2lFcGRXUUtvdk8wbUpPSmZvMGJlR3VxNFpZcWI3MXY4SUE5Q25o?= =?utf-8?B?TTRrN2JpaEJod2ttZlQwMmdENndkeW5GeE8velVib2h5bDJLbk9ndG03QnBh?= =?utf-8?B?OXA3UTNlZWZyVktlQ04wRDhQQlJwSUozKzlncU5zaU5iSjVQbzFuOUNrZ1JJ?= =?utf-8?B?UE4rWjVLaDVXUEt5anBTQ0I1cVYzUzhYbkk2S2FqWVlvQjM3S08wR01DTENH?= =?utf-8?B?YjRjOWdidVptYm5zMEh5N0NvTFJ2VjJmVVJWd3kvTzRQYlQvZTZQdmo0RThZ?= =?utf-8?B?bFNUKzhTM0ZIaHVYWWJ5QTdhc0l2UzRMcWR4ZWpwamtNTFl6dENGWWE1cmVO?= =?utf-8?B?U041YXFQYlJZRHgyZ2dxd3VzYTBIU3o2OVZWaG1IL05LbXFRTEdmRGtEaitq?= =?utf-8?B?dmNGaG5tQzZ0NEl5RVRVQk5qS3Z1MzY1OWRXaGdmL3hjVE1PMWhQYjVUaXE1?= =?utf-8?B?OUovV2xRUzEyZE43WmtsVURpSXhqTHlPUFcvR3A3ckM2eCtKclJSeUFWQjZI?= =?utf-8?B?V3g1bWVRa1YrUGw1UHZ0cXkwZ3F4d28za0xrRzdweW91TFl0bjlGT0l3c0Nl?= =?utf-8?B?eVpwQ3dXY0NzUUJkcUVvc0F2VjZmbzVIM3FhMEF6SnRSUTU1cTYvMHFSUXBn?= =?utf-8?B?cUN3Uk9oZWVCeTdLcTNVSm12a1BNOENUaEFmUXlCMGRzWURvTWRaWGJaUjBN?= =?utf-8?B?K2dqSzFwWDhKYkJrTGhIbTA3cDNMWWx2VTNGRjVXL1AxREdHd1k1WnJhcmlQ?= =?utf-8?B?Ui82b2tSNFJsYkNjNW12U3RnaXpMaFBRd2ZBQmxYdGYwREo4R0djVjJwcTFa?= =?utf-8?B?ejlKMTdLeTl1TG1iTzlDZEtLQ0xVT2pBL0VYSXE3cTd2TldobURUZ2plRlMy?= =?utf-8?B?cjMzaVgxNXozOHhJTTZOUm0rbnNtMERQeDFoZVE1c3NmZU1rVWVaOHZQMmhw?= =?utf-8?B?MVcxb0xXUlB6SmNFd1pMcXVFWGFwSjBoUGsrMmJwc2pFQUprRHFiRmZWN2NI?= =?utf-8?B?dGc9PQ==?= 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: 4cf27842-4b3b-4e9f-4f47-08d9f6cc68f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Feb 2022 13:00:04.2636 (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: arh6cBMEYY8AnwQGKXsh154um0pjA+qNdTDcCaz2iJPkki9i2+OIx6pOyx4prS3Wel8Sq27OoehclFd+aWA4MA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1624 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 U2VuZCBwYXRjaCB2NCBmb2xsb3dpbmcgU2l5dWFuIGNvbW1lbnRzLg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+ DQo+IFNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMjMsIDIwMjIgNjoyMCBQTQ0KPiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IExpLCBaaGloYW8gPHpoaWhhby5saUBpbnRlbC5jb20+DQo+IENj OiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT47IEt1bWFyLA0KPiBSYWh1bDEgPHJhaHVsMS5rdW1hckBpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDEvMV0gVWVmaUNwdVBrZzogRXh0ZW5kIFNN TSBDUFUNCj4gU2VydmljZSB3aXRoIHJlbmRlenZvdXMgc3VwcG9ydC4NCj4gDQo+IEhpLCBaaGlo YW8NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMaSwNCj4g PiBaaGloYW8NCj4gPiBTZW50OiAyMDIy5bm0MuaciDIz5pelIDE0OjQyDQo+ID4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+ID4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+ OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gPiBLdW1hciwNCj4gPiBSYWh1bDEgPHJh aHVsMS5rdW1hckBpbnRlbC5jb20+OyBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPg0K PiA+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjIgMS8xXSBVZWZpQ3B1UGtnOiBFeHRl bmQgU01NIENQVQ0KPiA+IFNlcnZpY2Ugd2l0aCByZW5kZXp2b3VzIHN1cHBvcnQuDQo+ID4NCj4g PiBSRUbvvJogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0z ODE1DQo+ID4NCj4gPiBUaGlzIHBhdGNoIGRlZmluZSBhIG5ldyBQcm90b2NvbCB3aXRoIHRoZSBu ZXcgc2VydmljZXMNCj4gPiBTbW1XYWl0Rm9yQWxsUHJvY2Vzc29yKCksIHdoaWNoIGNhbiBiZSB1 c2VkIGJ5IFNNSSBoYW5kbGVyIHRvDQo+ID4gb3B0aW9uYWxseSB3YWl0IGZvciBvdGhlciBBUHMg dG8gY29tcGxldGUgU01NIHJlbmRlenZvdXMgaW4gcmVsYXhlZCBBUA0KPiA+IG1vZGUuDQo+ID4N Cj4gPiBBIG5ldyBsaWJyYXJ5IFNtbUNwdVJlbmRlenZvdXNMaWIgaXMgcHJvdmlkZWQgdG8gYWJz dHJhY3QgdGhlIHNlcnZpY2UNCj4gPiBpbnRvIGxpYnJhcnkgQVBJIHRvIHNpbXBsZSBTTUkgaGFu ZGxlciBjb2RlLg0KPiA+DQo+ID4gUGF0Y2hfdjMgbW9kaWZpZWQgdG8gcGFzcyBDSSB0ZXN0LiAo MSlBZGQgU21tQ3B1UmVuZGV6dm91c0xpYi5pbmYgaW50bw0KPiA+IFVlZmlDcHVQa2cuZHNjIDxM aWJyYXJ5Q2xhc3Nlcz4vPENvbXBvbmVudD4gKDIpQWRkDQo+ID4gU21tQ3B1UmVuZGV6dm91c0xp Yi5oIGluIFVlZmlDcHVQa2cuZGVjIFtMaWJyYXJ5Y2xhc3Nlcy5JQTMyLA0KPiA+IExpYnJhcnlj bGFzc2VzLng2NF0gKDMpIFNvbWUgVW5jcnVzdGlmeUNoZWNrIG1vZGlmaWNhdGlvbnMuDQo+ID4N Cj4gPiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+IENjOiBSYXkgTmkg PHJheS5uaUBpbnRlbC5jb20+DQo+ID4gQ2M6IFJhaHVsIEt1bWFyIDxyYWh1bDEua3VtYXJAaW50 ZWwuY29tPg0KPiA+IENjOiBTaXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+ID4NCj4g PiBTaWduZWQtb2ZmLWJ5OiBaaGloYW8gTGkgPHpoaWhhby5saUBpbnRlbC5jb20+DQo+ID4gLS0t DQo+ID4gIFVlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliL1NtbUNwdVJlbmRl enZvdXNMaWIuYyAgIHwNCj4gOTgNCj4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ICBVZWZp Q3B1UGtnL1BpU21tQ3B1RHhlU21tL0NwdVNlcnZpY2UuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8IDY4DQo+ID4gKysrKysrKysrKysrKy0NCj4gPiAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNt bS9NcFNlcnZpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKy0NCj4gPiAgVWVm aUNwdVBrZy9JbmNsdWRlL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi5oICAgICAgICAgICAg ICAgfCAyNyArKysrKysNCj4gPiAgVWVmaUNwdVBrZy9JbmNsdWRlL1Byb3RvY29sL1NtbUNwdVNl cnZpY2UuaCAgICAgICAgICAgICAgICAgICAgfCAzNiArKysrKystDQo+ID4gIFVlZmlDcHVQa2cv TGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliL1NtbUNwdVJlbmRlenZvdXNMaWIuaW5mIHwNCj4g MzUNCj4gPiArKysrKysrDQo+ID4gIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVE eGVTbW0uaCAgICAgICAgICAgICAgICAgICAgIHwgMzANCj4gKysrKystDQo+ID4gIFVlZmlDcHVQ a2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mICAgICAgICAgICAgICAgICAgIHwg IDUgKy0NCj4gPiAgVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgOCArLQ0KPiA+ICBVZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZHNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsNCj4gPiAgMTAgZmls ZXMgY2hhbmdlZCwgMzE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4g ZGlmZiAtLWdpdA0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIv U21tQ3B1UmVuZGV6dm91c0xpYi5jDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UmVu ZGV6dm91c0xpYi9TbW1DcHVSZW5kZXp2b3VzTGliLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTUzYTVhOGYzMDFhDQo+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ICsrKw0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliL1Nt bUNwdVJlbmRlenZvdXNMaWIuYw0KPiA+IEBAIC0wLDAgKzEsOTggQEANCj4gPiArLyoqIEBmaWxl DQo+ID4NCj4gPiArICBTTU0gQ1BVIFJlbmRlenZvdXMgc2V2aWNlIGltcGxlbWVudC4NCj4gPg0K PiA+ICsNCj4gPg0KPiA+ICsgIENvcHlyaWdodCAoYykgMjAyMSAtIDIwMjIsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gKyByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyoqLw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ID4N Cj4gPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gPg0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNl TGliLmg+DQo+ID4NCj4gPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gPg0KPiA+ ICsjaW5jbHVkZSA8TGlicmFyeS9NbVNlcnZpY2VzVGFibGVMaWIuaD4NCj4gPg0KPiA+ICsjaW5j bHVkZSA8UHJvdG9jb2wvU21tQ3B1U2VydmljZS5oPg0KPiA+DQo+ID4gKyNpbmNsdWRlIDxMaWJy YXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIuaD4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICtTVEFUSUMg RURLSUlfU01NX0NQVV9SRU5ERVpWT1VTX1BST1RPQ09MDQo+ICptU21tQ3B1UmVuZGV6dm91cyA9 DQo+ID4gTlVMTDsNCj4gPg0KPiA+ICtTVEFUSUMgVk9JRCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqbVJlZ2lzdHJhdGlvbiAgICAgPSBOVUxMOw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4g Ky8qKg0KPiA+DQo+ID4gKyAgUmVnaXN0ZXIgc3RhdHVzIGNvZGUgY2FsbGJhY2sgZnVuY3Rpb24g b25seSB3aGVuIFJlcG9ydCBTdGF0dXMgQ29kZQ0KPiA+ICsgcHJvdG9jb2wNCj4gPg0KPiA+ICsg IGlzIGluc3RhbGxlZC4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEBwYXJhbVtpbl0gUHJvdG9j b2wgICBQb2ludHMgdG8gdGhlIHByb3RvY29sJ3MgdW5pcXVlIGlkZW50aWZpZXIuDQo+ID4NCj4g PiArICBAcGFyYW1baW5dIEludGVyZmFjZSAgUG9pbnRzIHRvIHRoZSBpbnRlcmZhY2UgaW5zdGFu Y2UuDQo+ID4NCj4gPiArICBAcGFyYW1baW5dIEhhbmRsZSAgICAgVGhlIGhhbmRsZSBvbiB3aGlj aCB0aGUgaW50ZXJmYWNlIHdhcyBpbnN0YWxsZWQuDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICBOb3RpZmljYXRpb24gcnVucyBzdWNjZXNzZnVsbHkuDQo+ID4N Cj4gPiArDQo+ID4NCj4gPiArKiovDQo+ID4NCj4gPiArRUZJX1NUQVRVUw0KPiA+DQo+ID4gK0VG SUFQSQ0KPiA+DQo+ID4gK1NtbUNwdVJlbmRlenZvdXNQcm90b2NvbE5vdGlmeSAoDQo+ID4NCj4g PiArICBJTiBDT05TVCBFRklfR1VJRCAgICAqUHJvdG9jb2wsDQo+ID4NCj4gPiArICBJTiAgICAg ICBWT0lEICAgICAgICAqSW50ZXJmYWNlLA0KPiA+DQo+ID4gKyAgSU4gICAgICAgRUZJX0hBTkRM RSAgSGFuZGxlDQo+ID4NCj4gPiArICApDQo+ID4NCj4gPiArew0KPiA+DQo+ID4gKyAgRUZJX1NU QVRVUyAgU3RhdHVzOw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgU3RhdHVzID0gZ01tc3QtPk1t TG9jYXRlUHJvdG9jb2wgKA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgJmdFZGtpaVNt bUNwdVJlbmRlenZvdXNQcm90b2NvbEd1aWQsDQo+ID4NCj4gPiArICAgICAgICAgICAgICAgICAg ICBOVUxMLA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJm1TbW1DcHVS ZW5kZXp2b3VzDQo+ID4NCj4gPiArICAgICAgICAgICAgICAgICAgICApOw0KPiA+DQo+ID4gKyAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gPg0KPiA+ICt9DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArLyoqDQo+ ID4NCj4gPiArICBUaGlzIHJvdXRpbmUgd2FpdCBmb3IgYWxsIEFQIHByb2Nlc3NvcnMgdG8gYXJy aXZlIGluIFNNTS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEBwYXJhbVtpbl0gQmxvY2tpbmdN b2RlICBCbG9ja2luZyBtb2RlIG9yIG5vbi1ibG9ja2luZyBtb2RlLg0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgQWxsIGF2YWlhYmxlIEFQcyBhcnJpdmVkLg0K PiA+DQo+ID4gKyAgQHJldHZhbCBFRklfVElNRU9VVCAgV2FpdCBmb3IgYWxsIEFQcyB1bnRpbCB0 aW1lb3V0Lg0KPiA+DQo+ID4gKyAgQHJldHZhbCBPVEhFUiAgICAgICAgRmFpbCB0byByZWdpc3Rl ciBTTU0gQ1BVIFJlbmRlenZvdXMgc2VydmljZSBQcm90b2NvbC4NCj4gPg0KPiA+ICsqKi8NCj4g Pg0KPiA+ICtFRklfU1RBVFVTDQo+ID4NCj4gPiArRUZJQVBJDQo+ID4NCj4gPiArU21tV2FpdEZv ckFsbFByb2Nlc3NvciAoDQo+ID4NCj4gPiArICBJTiBCT09MRUFOICBCbG9ja2luZ01vZGUNCj4g Pg0KPiA+ICsgICkNCj4gPg0KPiA+ICt7DQo+ID4NCj4gPiArICBFRklfU1RBVFVTICBTdGF0dXM7 DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArICBpZiAoKG1SZWdpc3RyYXRpb24gPT0gTlVMTCkgJiYg KG1TbW1DcHVSZW5kZXp2b3VzID09IE5VTEwpKSB7DQo+ID4NCj4gPiArICAgIC8vDQo+ID4NCj4g PiArICAgIC8vIExvY2F0ZSBTTU0gY3B1IHJlbmRlenZvdXMgcHJvdG9jb2wgZm9yIHRoZSBmaXJz dCB0aW1lIGV4ZWN1dGUNCj4gPiArIHRoZQ0KPiA+IGZ1bmN0aW9uLg0KPiA+DQo+ID4gKyAgICAv Lw0KPiA+DQo+ID4gKyAgICBTdGF0dXMgPSBnTW1zdC0+TW1Mb2NhdGVQcm90b2NvbCAoDQo+ID4N Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICZnRWRraWlTbW1DcHVSZW5kZXp2b3VzUHJvdG9j b2xHdWlkLA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiA+DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmbVNtbUNwdVJlbmRlenZvdXMNCj4gPg0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gPg0KPiA+ICsgICAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiA+DQo+ID4gKyAgICAgIFN0YXR1cyA9IGdNbXN0LT5NbVJlZ2lzdGVy UHJvdG9jb2xOb3RpZnkgKA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICZnRWRr aWlTbW1DcHVSZW5kZXp2b3VzUHJvdG9jb2xHdWlkLA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgIFNtbUNwdVJlbmRlenZvdXNQcm90b2NvbE5vdGlmeSwNCj4gPg0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAmbVJlZ2lzdHJhdGlvbg0KPiA+DQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ID4NCj4gPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiA+DQo+ID4gKyAgICAgICAgcmV0dXJuIFN0YXR1czsNCj4gPg0KPiA+ICsgICAgICB9DQo+ ID4NCj4gPiArICAgIH0NCj4gPg0KPiA+ICsgIH0NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIGlm IChtU21tQ3B1UmVuZGV6dm91cyA9PSBOVUxMKSB7DQo+ID4NCj4gPiArICAgIHJldHVybiBFRklf U1VDQ0VTUzsNCj4gPg0KPiA+ICsgIH0NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIFN0YXR1cyA9 IG1TbW1DcHVSZW5kZXp2b3VzLT5XYWl0Rm9yQWxsUHJvY2Vzc29yICgNCj4gPg0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TbW1DcHVSZW5kZXp2b3VzLA0KPiA+DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tpbmdNb2RlDQo+ID4NCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+DQo+ID4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gPg0KPiA+ICt9DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9QaVNt bUNwdUR4ZVNtbS9DcHVTZXJ2aWNlLmMNCj4gPiBiL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0v Q3B1U2VydmljZS5jDQo+ID4gaW5kZXggNWQ2MjRmOGU5ZWQ2Li5mY2ViNjYzZmI3NGYgMTAwNjQ0 DQo+ID4gLS0tIGEvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9DcHVTZXJ2aWNlLmMNCj4gPiAr KysgYi9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0NwdVNlcnZpY2UuYw0KPiA+IEBAIC0xLDcg KzEsNyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPg0KPiA+ICBJbXBsZW1lbnRhdGlvbiBvZiBTTU0g Q1BVIFNlcnZpY2VzIFByb3RvY29sLg0KPiA+DQo+ID4NCj4gPg0KPiA+IC1Db3B5cmlnaHQgKGMp IDIwMTEgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+IHJlc2VydmVk LjxCUj4NCj4gPg0KPiA+ICtDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDIyLCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cw0KPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4NCj4gPiAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+DQo+ID4NCj4gPiAg KiovDQo+ID4NCj4gPiBAQCAtMjAsNiArMjAsMTMgQEAgRUZJX1NNTV9DUFVfU0VSVklDRV9QUk9U T0NPTA0KPiBtU21tQ3B1U2VydmljZSA9IHsNCj4gPiAgICBTbW1SZWdpc3RlckV4Y2VwdGlvbkhh bmRsZXINCj4gPg0KPiA+ICB9Ow0KPiA+DQo+ID4NCj4gPg0KPiA+ICsvLw0KPiA+DQo+ID4gKy8v IEVES0lJIFNNTSBDUFUgUmVuZGV6dm91cyBTZXJ2aWNlIFByb3RvY29sIGluc3RhbmNlDQo+ID4N Cj4gPiArLy8NCj4gPg0KPiA+ICtFREtJSV9TTU1fQ1BVX1JFTkRFWlZPVVNfUFJPVE9DT0wNCj4g bVNtbUNwdVJlbmRlenZvdXNTZXJ2aWNlID0gew0KPiA+DQo+ID4gKyAgU21tV2FpdEZvckFsbFBy b2Nlc3Nvcg0KPiA+DQo+ID4gK307DQo+ID4NCj4gPiArDQo+ID4NCj4gPiAgLyoqDQo+ID4NCj4g PiAgICBHZXRzIHByb2Nlc3NvciBpbmZvcm1hdGlvbiBvbiB0aGUgcmVxdWVzdGVkIHByb2Nlc3Nv ciBhdCB0aGUNCj4gPiBpbnN0YW50IHRoaXMgY2FsbCBpcyBtYWRlLg0KPiA+DQo+ID4NCj4gPg0K PiA+IEBAIC0zNTAsNiArMzU3LDcgQEAgU21tUmVnaXN0ZXJFeGNlcHRpb25IYW5kbGVyICgNCj4g PiAgICBAcGFyYW0gSW1hZ2VIYW5kbGUgVGhlIGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9y IHRoZSBFRkkgaW1hZ2UuDQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICBFRkkgU01NIENQVSBTZXJ2aWNlcyBQcm90b2NvbCB3YXMgaW5zdGFsbGVkDQo+ID4gc3Vj Y2Vzc2Z1bGx5Lg0KPiA+DQo+ID4gKyAgQHJldHZhbCBPVEhFUiAgICAgICAgICBGYWlsIHRvIGlu c3RhbGwgUHJvdG9jb2wuDQo+ID4NCj4gPiAgKiovDQo+ID4NCj4gPiAgRUZJX1NUQVRVUw0KPiA+ DQo+ID4gIEluaXRpYWxpemVTbW1DcHVTZXJ2aWNlcyAoDQo+ID4NCj4gPiBAQCAtMzY0LDYgKzM3 Miw2NCBAQCBJbml0aWFsaXplU21tQ3B1U2VydmljZXMgKA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgIEVGSV9OQVRJVkVfSU5URVJGQUNFLA0KPiA+DQo+ID4gICAgICAgICAgICAgICAgICAgICAg Jm1TbW1DcHVTZXJ2aWNlDQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+DQo+ ID4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+DQo+ID4gKyAgICByZXR1cm4gU3Rh dHVzOw0KPiA+DQo+ID4gKyAgfQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgU3RhdHVzID0gZ1Nt c3QtPlNtbUluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ID4NCj4gPiArICAgICAgICAgICAg ICAgICAgICAmSGFuZGxlLA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgJmdFZGtpaVNt bUNwdVJlbmRlenZvdXNQcm90b2NvbEd1aWQsDQo+ID4NCj4gPiArICAgICAgICAgICAgICAgICAg ICBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCj4gPg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICZt U21tQ3B1UmVuZGV6dm91c1NlcnZpY2UNCj4gPg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICk7 DQo+ID4NCj4gPiAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+DQo+ID4gICAgcmV0 dXJuIFN0YXR1czsNCj4gPg0KPiA+ICB9DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArLyoqDQo+ID4N Cj4gPiArICBXYWl0IGZvciBhbGwgcHJvY2Vzc29ycyBlbnRlcnJpbmcgU01NIHVudGlsIGFsbCBD UFVzIGFyZSBhbHJlYWR5DQo+ID4gKyBzeW5jaHJvbml6ZWQNCj4gPiBvciBub3QuDQo+ID4NCj4g PiArDQo+ID4NCj4gPiArICBJZiBCbG9ja2luZ01vZGUgaXMgRmFsc2UsIHRpbWVvdXQgdmFsdWUg aXMgemVyby4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEBwYXJhbSBUaGlzICAgICAgICAgIEEg cG9pbnRlciB0byB0aGUNCj4gPiBFREtJSV9TTU1fQ1BVX1JFTkRFWlZPVVNfUFJPVE9DT0wgaW5z dGFuY2UuDQo+ID4NCj4gPiArICBAcGFyYW0gQmxvY2tpbmdNb2RlICBCbG9ja2luZyBtb2RlIG9y IG5vbi1ibG9ja2luZyBtb2RlLg0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgQWxsIGF2YWlhYmxlIEFQcyBhcnJpdmVkLg0KPiA+DQo+ID4gKyAgQHJldHZhbCBF RklfVElNRU9VVCAgV2FpdCBmb3IgYWxsIEFQcyB1bnRpbCB0aW1lb3V0Lg0KPiA+DQo+ID4gKw0K PiA+DQo+ID4gKyoqLw0KPiA+DQo+ID4gK0VGSV9TVEFUVVMNCj4gPg0KPiA+ICtFRklBUEkNCj4g Pg0KPiA+ICtTbW1XYWl0Rm9yQWxsUHJvY2Vzc29yICgNCj4gPg0KPiA+ICsgIElOIEVES0lJX1NN TV9DUFVfUkVOREVaVk9VU19QUk9UT0NPTCAgKlRoaXMsDQo+ID4NCj4gPiArICBJTiBCT09MRUFO ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NraW5nTW9kZQ0KPiA+DQo+ID4gKyAgKQ0K PiA+DQo+ID4gK3sNCj4gPg0KPiA+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICsgIC8vDQo+ID4NCj4gPiArICAvLyBSZXR1cm4gc3VjY2VzcyBpbW1lZGlhdGVs eSBpZiBhbGwgQ1BVcyBhcmUgYWxyZWFkeSBzeW5jaHJvbml6ZWQuDQo+ID4NCj4gPiArICAvLw0K PiA+DQo+ID4gKyAgaWYgKG1TbW1NcFN5bmNEYXRhLT5BbGxBcEFycml2ZWRXaXRoRXhjZXB0aW9u KSB7DQo+ID4NCj4gPiArICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiA+DQo+ID4gKyAgICBn b3RvIE9OX0VYSVQ7DQo+ID4NCj4gPiArICB9DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArICBpZiAo IUJsb2NraW5nTW9kZSkgew0KPiA+DQo+ID4gKyAgICBTdGF0dXMgPSBFRklfVElNRU9VVDsNCj4g Pg0KPiA+ICsgICAgZ290byBPTl9FWElUOw0KPiA+DQo+ID4gKyAgfQ0KPiA+DQo+ID4gKw0KPiA+ DQo+ID4gKyAgLy8NCj4gPg0KPiA+ICsgIC8vIFRoZXJlIGFyZSBzb21lIEFQcyBvdXRzaWRlIFNN TSwgV2FpdCBmb3IgYWxsIGF2YWlhYmxlIEFQcyB0byBhcnJpdmUuDQo+ID4NCj4gPiArICAvLw0K PiA+DQo+ID4gKyAgU21tV2FpdEZvckFwQXJyaXZhbCAoQmxvY2tpbmdNb2RlKTsNCj4gPg0KPiA+ ICsgIFN0YXR1cyA9IG1TbW1NcFN5bmNEYXRhLT5BbGxBcEFycml2ZWRXaXRoRXhjZXB0aW9uID8N Cj4gRUZJX1NVQ0NFU1MgOg0KPiA+IEVGSV9USU1FT1VUOw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4g K09OX0VYSVQ6DQo+ID4NCj4gPiArICBpZiAoIW1TbW1NcFN5bmNEYXRhLT5BbGxBcEFycml2ZWRX aXRoRXhjZXB0aW9uKSB7DQo+ID4NCj4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywgIkVka2lp U21tV2FpdEZvckFsbEFwQXJyaXZhbDogVGltZW91dCB0byB3YWl0DQo+ID4gKyBhbGwNCj4gPiBB UHMgYXJyaXZhbFxuIikpOw0KPiA+DQo+ID4gKyAgfQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAg cmV0dXJuIFN0YXR1czsNCj4gPg0KPiA+ICt9DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNw dVBrZy9QaVNtbUNwdUR4ZVNtbS9NcFNlcnZpY2UuYw0KPiA+IGIvVWVmaUNwdVBrZy9QaVNtbUNw dUR4ZVNtbS9NcFNlcnZpY2UuYw0KPiA+IGluZGV4IDg4MmRlZTRmZTI0Ni4uNmE4NjkzZGFlOTg5 IDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vTXBTZXJ2aWNlLmMN Cj4gPiArKysgYi9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL01wU2VydmljZS5jDQo+ID4gQEAg LTEsNyArMSw3IEBADQo+ID4gIC8qKiBAZmlsZQ0KPiA+DQo+ID4gIFNNTSBNUCBzZXJ2aWNlIGlt cGxlbWVudGF0aW9uDQo+ID4NCj4gPg0KPiA+DQo+ID4gLUNvcHlyaWdodCAoYykgMjAwOSAtIDIw MjEsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ DQo+ID4gK0NvcHlyaWdodCAoYykgMjAwOSAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPg0KPiA+ICBDb3B5cmlnaHQgKGMpIDIwMTcs IEFNRCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4NCj4g Pg0KPiA+ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ DQo+ID4gQEAgLTI2MSw3ICsyNjEsNyBAQCBJc0xtY2VTaWduYWxlZCAoDQo+ID4gICoqLw0KPiA+ DQo+ID4gIFZPSUQNCj4gPg0KPiA+ICBTbW1XYWl0Rm9yQXBBcnJpdmFsICgNCj4gPg0KPiA+IC0g IFZPSUQNCj4gPg0KPiA+ICsgIElOIEJPT0xFQU4gIEJsb2NraW5nTW9kZQ0KPiBEbyB3ZSByZWFs bHkgbmVlZCB0byBhZGQgdGhlIHBhcmFtZXRlciBCbG9ja2luZ01vZGUgZm9yIHRoaXMgZnVuY3Rp b24/IEkNCj4gZm91bmQgaXQncyBzZXQgdG8gRkFMU0UgaW4gYWxsIHRoZSBjb2RlIHBhdGguDQo+ IA0KPiBUaGFua3MuDQo+IA0KPiA+DQo+ID4gICAgKQ0KPiA+DQo+ID4gIHsNCj4gPg0KPiA+ICAg IFVJTlQ2NCAgIFRpbWVyOw0KPiA+DQo+ID4gQEAgLTI3MSw2ICsyNzEsMTMgQEAgU21tV2FpdEZv ckFwQXJyaXZhbCAoDQo+ID4NCj4gPg0KPiA+ICAgIEFTU0VSVCAoKm1TbW1NcFN5bmNEYXRhLT5D b3VudGVyIDw9IG1OdW1iZXJPZkNwdXMpOw0KPiA+DQo+ID4NCj4gPg0KPiA+ICsgIC8vDQo+ID4N Cj4gPiArICAvLyBJZiBibG9jayBpcyBGYWxzZSwgZG8gbm90IHdhaXQgYW5kIHJldHVybiBpbW1l ZGlhdGVseS4NCj4gPg0KPiA+ICsgIC8vDQo+ID4NCj4gPiArICBpZiAoIUJsb2NraW5nTW9kZSkg ew0KPiA+DQo+ID4gKyAgICByZXR1cm47DQo+ID4NCj4gPiArICB9DQo+ID4NCj4gPiArDQo+ID4N Cj4gPiAgICBMbWNlRW4gICAgID0gRkFMU0U7DQo+ID4NCj4gPiAgICBMbWNlU2lnbmFsID0gRkFM U0U7DQo+ID4NCj4gPiAgICBpZiAobU1hY2hpbmVDaGVja1N1cHBvcnRlZCkgew0KPiA+DQo+ID4g QEAgLTUxMSw3ICs1MTgsNyBAQCBCU1BIYW5kbGVyICgNCj4gPiAgICAgIC8vDQo+ID4NCj4gPiAg ICAgIC8vIFdhaXQgZm9yIEFQcyB0byBhcnJpdmUNCj4gPg0KPiA+ICAgICAgLy8NCj4gPg0KPiA+ IC0gICAgU21tV2FpdEZvckFwQXJyaXZhbCAoKTsNCj4gPg0KPiA+ICsgICAgU21tV2FpdEZvckFw QXJyaXZhbCAoVFJVRSk7DQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAvLw0KPiA+DQo+ID4gICAg ICAvLyBMb2NrIHRoZSBjb3VudGVyIGRvd24gYW5kIHJldHJpZXZlIHRoZSBudW1iZXIgb2YgQVBz DQo+ID4NCj4gPiBAQCAtMTg4Nyw2ICsxODk0LDggQEAgSW5pdGlhbGl6ZU1wU3luY0RhdGEgKA0K PiA+ICAgICAgKm1TbW1NcFN5bmNEYXRhLT5JbnNpZGVTbW0gICAgID0gRkFMU0U7DQo+ID4NCj4g PiAgICAgICptU21tTXBTeW5jRGF0YS0+QWxsQ3B1c0luU3luYyA9IEZBTFNFOw0KPiA+DQo+ID4N Cj4gPg0KPiA+ICsgICAgbVNtbU1wU3luY0RhdGEtPkFsbEFwQXJyaXZlZFdpdGhFeGNlcHRpb24g PSBGQUxTRTsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICAgICAgZm9yIChDcHVJbmRleCA9IDA7IENw dUluZGV4IDwgZ1NtbUNwdVByaXZhdGUtDQo+ID4gPlNtbUNvcmVFbnRyeUNvbnRleHQuTnVtYmVy T2ZDcHVzOyBDcHVJbmRleCsrKSB7DQo+ID4NCj4gPiAgICAgICAgbVNtbU1wU3luY0RhdGEtPkNw dURhdGFbQ3B1SW5kZXhdLkJ1c3kgPQ0KPiA+DQo+ID4gICAgICAgICAgKFNQSU5fTE9DSyAqKSgo VUlOVE4pbVNtbUNwdVNlbWFwaG9yZXMuU2VtYXBob3JlQ3B1LkJ1c3kNCj4gKw0KPiA+IG1TZW1h cGhvcmVTaXplICogQ3B1SW5kZXgpOw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cv SW5jbHVkZS9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIuaA0KPiA+IGIvVWVmaUNwdVBrZy9J bmNsdWRlL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi5oDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQwYTk4N2RjN2QwYQ0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9VZWZpQ3B1UGtnL0luY2x1ZGUvTGlicmFyeS9TbW1DcHVSZW5kZXp2 b3VzTGliLmgNCj4gPiBAQCAtMCwwICsxLDI3IEBADQo+ID4gKy8qKiBAZmlsZQ0KPiA+DQo+ID4g KyAgU01NIENQVSBSZW5kZXp2b3VzIGxpYnJhcnkgaGVhZGVyIGZpbGUuDQo+ID4NCj4gPiArDQo+ ID4NCj4gPiArICBDb3B5cmlnaHQgKGMpIDIwMjEgLSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cw0KPiA+ICsgcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsq Ki8NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsjaWZuZGVmIFNNTV9DUFVfUkVOREVaVk9VU19IXw0K PiA+DQo+ID4gKyNkZWZpbmUgU01NX0NQVV9SRU5ERVpWT1VTX0hfDQo+ID4NCj4gPiArDQo+ID4N Cj4gPiArLyoqDQo+ID4NCj4gPiArICBUaGlzIHJvdXRpbmUgd2FpdCBmb3IgYWxsIEFQIHByb2Nl c3NvcnMgdG8gYXJyaXZlIGluIFNNTS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsgIEBwYXJhbVtp bl0gIEJsb2NraW5nTW9kZSAgQmxvY2tpbmcgbW9kZSBvciBub24tYmxvY2tpbmcgbW9kZS4NCj4g Pg0KPiA+ICsNCj4gPg0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgQWxsIHByb2Nl c3NvcnMgY2hlY2tlZCBpbiB0byBTTU0uDQo+ID4NCj4gPiArICBAcmV0dmFsIEVGSV9USU1FT1VU ICAgICAgIFdhaXQgZm9yIGFsbCBBUHMgdW50aWwgdGltZW91dC4NCj4gPg0KPiA+ICsNCj4gPg0K PiA+ICsqKi8NCj4gPg0KPiA+ICtFRklfU1RBVFVTDQo+ID4NCj4gPiArRUZJQVBJDQo+ID4NCj4g PiArU21tV2FpdEZvckFsbFByb2Nlc3NvciAoDQo+ID4NCj4gPiArICBJTiAgQk9PTEVBTiAgQmxv Y2tpbmdNb2RlDQo+ID4NCj4gPiArICApOw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyNlbmRpZg0K PiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvSW5jbHVkZS9Qcm90b2NvbC9TbW1DcHVT ZXJ2aWNlLmgNCj4gPiBiL1VlZmlDcHVQa2cvSW5jbHVkZS9Qcm90b2NvbC9TbW1DcHVTZXJ2aWNl LmgNCj4gPiBpbmRleCA5NTI3NjdhZmNlNzUuLjNkOTNkMjQzNDA5YyAxMDA2NDQNCj4gPiAtLS0g YS9VZWZpQ3B1UGtnL0luY2x1ZGUvUHJvdG9jb2wvU21tQ3B1U2VydmljZS5oDQo+ID4gKysrIGIv VWVmaUNwdVBrZy9JbmNsdWRlL1Byb3RvY29sL1NtbUNwdVNlcnZpY2UuaA0KPiA+IEBAIC0xLDcg KzEsNyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPg0KPiA+ICBTTU0gQ1BVIFNlcnZpY2UgcHJvdG9j b2wgZGVmaW5pdGlvbi4NCj4gPg0KPiA+DQo+ID4NCj4gPiAtQ29weXJpZ2h0IChjKSAyMDEzIC0g MjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ ID4NCj4gPiArQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMNCj4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPg0KPiA+DQo+ID4gICoqLw0KPiA+ DQo+ID4gQEAgLTIwMCw0ICsyMDAsMzggQEAgc3RydWN0IF9FRklfU01NX0NQVV9TRVJWSUNFX1BS T1RPQ09MIHsNCj4gPg0KPiA+DQo+ID4gIGV4dGVybiBFRklfR1VJRCAgZ0VmaVNtbUNwdVNlcnZp Y2VQcm90b2NvbEd1aWQ7DQo+ID4NCj4gPg0KPiA+DQo+ID4gKy8vDQo+ID4NCj4gPiArLy8gIEVE S0lJX1NNTV9DUFVfUkVOREVaVk9VU19QUk9UT0NPTCBwcm92aWRlIFNNTSBDUFUNCj4gPg0KPiA+ ICsvLyAgcmVuZGV6dm91cyBzZXJ2aWNlIHN1cHBvcnQuDQo+ID4NCj4gPiArLy8NCj4gPg0KPiA+ ICsjZGVmaW5lIEVES0lJX1NNTV9DUFVfUkVOREVaVk9VU19QUk9UT0NPTF9HVUlEIFwNCj4gPg0K PiA+ICsgIHsgXA0KPiA+DQo+ID4gKyAgICAweGFhMDBkNTBiLCAweDQ5MTEsIDB4NDI4ZiwgeyAw eGI5LCAweDFhLCAweGE1LCAweDlkLCAweGRiLCAweDEzLA0KPiA+ICsgMHhlMiwNCj4gPiAweDRj IH0gXA0KPiA+DQo+ID4gKyAgfQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gK3R5cGVkZWYgc3RydWN0 IF9FREtJSV9TTU1fQ1BVX1JFTkRFWlZPVVNfUFJPVE9DT0wNCj4gPiBFREtJSV9TTU1fQ1BVX1JF TkRFWlZPVVNfUFJPVE9DT0w7DQo+ID4NCj4gPiArDQo+ID4NCj4gPiArLyoqDQo+ID4NCj4gPiAr ICBXYWl0IGZvciBhbGwgQVBzIHRvIGFycml2ZSBTTU0gbW9kZSBpbiBnaXZlbiB0aW1lb3V0IGNv bnN0cmFpbnQuDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArICBAcGFyYW1baW5dICBUaGlzICAgICAg ICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZQ0KPiA+IEVES0lJX1NNTV9DUFVfUkVOREVaVk9V U19QUk9UT0NPTCBpbnN0YW5jZS4NCj4gPg0KPiA+ICsgIEBwYXJhbVtpbl0gIEJsb2NraW5nTW9k ZSAgICAgICAgICBCbG9jayBvciBub24tYmxvY2sgbW9kZS4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICBBbGwgQVBzIGhhdmUgYXJyaXZl ZCBTTU0gbW9kZSBleGNlcHQgU01JDQo+ID4gZGlzYWJsZWQgQVBzLg0KPiA+DQo+ID4gKyAgQHJl dHZhbCBFRklfVElNRU9VVCAgICAgICAgICAgICAgIFRoZXJlIGFyZSBBUHMgbm90IGluIFNNTSBt b2RlIGluIGdpdmVuDQo+ID4gdGltZW91dCBjb25zdHJhaW50Lg0KPiA+DQo+ID4gKw0KPiA+DQo+ ID4gKyoqLw0KPiA+DQo+ID4gK3R5cGVkZWYNCj4gPg0KPiA+ICtFRklfU1RBVFVTDQo+ID4NCj4g PiArKEVGSUFQSSAqRURLSUlfV0FJVF9GT1JfQUxMX1BST0NFU1NPUikoDQo+ID4NCj4gPiArICBJ TiAgRURLSUlfU01NX0NQVV9SRU5ERVpWT1VTX1BST1RPQ09MICAqVGhpcywNCj4gPg0KPiA+ICsg IElOICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NraW5nTW9kZQ0KPiA+ DQo+ID4gKyAgKTsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICtzdHJ1Y3QgX0VES0lJX1NNTV9DUFVf UkVOREVaVk9VU19QUk9UT0NPTCB7DQo+ID4NCj4gPiArICBFREtJSV9XQUlUX0ZPUl9BTExfUFJP Q0VTU09SICAgIFdhaXRGb3JBbGxQcm9jZXNzb3I7DQo+ID4NCj4gPiArfTsNCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICtleHRlcm4gRUZJX0dVSUQgIGdFZGtpaVNtbUNwdVJlbmRlenZvdXNQcm90b2Nv bEd1aWQ7DQo+ID4NCj4gPiArDQo+ID4NCj4gPiAgI2VuZGlmDQo+ID4NCj4gPiBkaWZmIC0tZ2l0 DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi9TbW1DcHVSZW5k ZXp2b3VzTGliLmluZg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNM aWIvU21tQ3B1UmVuZGV6dm91c0xpYi5pbmYNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ IGluZGV4IDAwMDAwMDAwMDAwMC4uNzY4OTZhNWIwZTFhDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ ICsrKw0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliL1NtbUNwdVJl bmRlenZvdXNMaWIuaW5mDQo+ID4gQEAgLTAsMCArMSwzNSBAQA0KPiA+ICsjIyBAZmlsZQ0KPiA+ DQo+ID4gKyMgU01NIENQVSBSZW5kZXp2b3VzIHNlcnZpY2UgbGliLg0KPiA+DQo+ID4gKyMNCj4g Pg0KPiA+ICsjIFRoaXMgaXMgU01NIENQVSByZW5kZXp2b3VzIHNlcnZpY2UgbGliIHRoYXQgd2Fp dCBmb3IgYWxsDQo+ID4NCj4gPiArIyBBUHMgdG8gZW50ZXIgU01NIG1vZGUuDQo+ID4NCj4gPiAr Iw0KPiA+DQo+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDIxIC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMNCj4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICsjDQo+ID4NCj4g PiArIyMNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICtbRGVmaW5lc10NCj4gPg0KPiA+ICsgIElORl9W RVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gPg0KPiA+ICsgIEJBU0Vf TkFNRSAgICAgICAgICAgICAgICAgICAgICA9IFNtbUNwdVJlbmRlenZvdXNMaWINCj4gPg0KPiA+ ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDE1MDlCYjM2LTlCYTQtNDM4Qi1C MTk1LUFjNTkxNERiMTRFMg0KPiA+DQo+ID4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAg ICAgID0gRFhFX1NNTV9EUklWRVINCj4gPg0KPiA+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAg ICAgICAgICA9IFNtbUNwdVJlbmRlenZvdXNMaWJ8TU1fU1RBTkRBTE9ORQ0KPiA+IERYRV9TTU1f RFJJVkVSDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArW1NvdXJjZXNdDQo+ID4NCj4gPiArICBTbW1D cHVSZW5kZXp2b3VzTGliLmMNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICtbUGFja2FnZXNdDQo+ID4N Cj4gPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+DQo+ID4gKyAgVWVmaUNwdVBrZy9VZWZpQ3B1 UGtnLmRlYw0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gPg0KPiA+ ICsgIEJhc2VMaWINCj4gPg0KPiA+ICsgIERlYnVnTGliDQo+ID4NCj4gPiArICBNbVNlcnZpY2Vz VGFibGVMaWINCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICtbUGNkXQ0KPiA+DQo+ID4gKyAgZ1VlZmlD cHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTbW1BcFN5bmNUaW1lb3V0ICAgICAgICAgICAgICAg ICAjIw0KPiA+IENPTlNVTUVTDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArW1Byb3RvY29sc10NCj4g Pg0KPiA+ICsgIGdFZGtpaVNtbUNwdVJlbmRlenZvdXNQcm90b2NvbEd1aWQNCj4gPg0KPiA+IGRp ZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmgNCj4g PiBiL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaA0KPiA+IGluZGV4 IDI2ZDA3YzViNWVhMC4uMTk2MGJiNDAxNWVmIDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cv UGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaA0KPiA+ICsrKyBiL1VlZmlDcHVQa2cvUGlT bW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaA0KPiA+IEBAIC0xLDcgKzEsNyBAQA0KPiA+ICAv KiogQGZpbGUNCj4gPg0KPiA+ICBBZ2VudCBNb2R1bGUgdG8gbG9hZCBvdGhlciBtb2R1bGVzIHRv IGRlcGxveSBTTU0gRW50cnkgVmVjdG9yIGZvciBYODYNCj4gQ1BVLg0KPiA+DQo+ID4NCj4gPg0K PiA+IC1Db3B5cmlnaHQgKGMpIDIwMDkgLSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cw0KPiA+IHJlc2VydmVkLjxCUj4NCj4gPg0KPiA+ICtDb3B5cmlnaHQgKGMpIDIwMDkgLSAy MDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ICtyZXNlcnZlZC48QlI+DQo+ ID4NCj4gPiAgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+IEBAIC00MjgsNiArNDI4LDcgQEAgdHlw ZWRlZiBzdHJ1Y3Qgew0KPiA+ICAgIHZvbGF0aWxlIFNNTV9DUFVfU1lOQ19NT0RFICAgIEVmZmVj dGl2ZVN5bmNNb2RlOw0KPiA+DQo+ID4gICAgdm9sYXRpbGUgQk9PTEVBTiAgICAgICAgICAgICAg U3dpdGNoQnNwOw0KPiA+DQo+ID4gICAgdm9sYXRpbGUgQk9PTEVBTiAgICAgICAgICAgICAgKkNh bmRpZGF0ZUJzcDsNCj4gPg0KPiA+ICsgIHZvbGF0aWxlIEJPT0xFQU4gICAgICAgICAgICAgIEFs bEFwQXJyaXZlZFdpdGhFeGNlcHRpb247DQo+ID4NCj4gPiAgICBFRklfQVBfUFJPQ0VEVVJFICAg ICAgICAgICAgICBTdGFydHVwUHJvY2VkdXJlOw0KPiA+DQo+ID4gICAgVk9JRCAgICAgICAgICAg ICAgICAgICAgICAgICAgKlN0YXJ0dXBQcm9jQXJnczsNCj4gPg0KPiA+ICB9IFNNTV9ESVNQQVRD SEVSX01QX1NZTkNfREFUQTsNCj4gPg0KPiA+IEBAIC0xNDg4LDQgKzE0ODksMzEgQEAgSXNSZXN0 cmljdGVkTWVtb3J5QWNjZXNzICgNCj4gPiAgICBWT0lEDQo+ID4NCj4gPiAgICApOw0KPiA+DQo+ ID4NCj4gPg0KPiA+ICsvKioNCj4gPg0KPiA+ICsgIENob29zZSBibG9ja2luZyBvciBub24tYmxv Y2tpbmcgbW9kZSB0byBXYWl0IGZvciBhbGwgQVBzLg0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAg QHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUNCj4gPiBF REtJSV9TTU1fQ1BVX1JFTkRFWlZPVVNfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4NCj4gPiArICBA cGFyYW1baW5dICBCbG9ja2luZ01vZGUgICAgICAgICAgQmxvY2tpbmcgb3Igbm9uLWJsb2NraW5n IG1vZGUuDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICAgICAgQWxsIEFQcyBoYXZlIGFycml2ZWQgU01NIG1vZGUgZXhjZXB0IFNNSQ0KPiA+IGRp c2FibGVkIEFQcy4NCj4gPg0KPiA+ICsgIEByZXR2YWwgRUZJX1RJTUVPVVQgICAgICAgICAgICAg ICBUaGVyZSBhcmUgQVBzIG5vdCBpbiBTTU0gbW9kZSBpbiBnaXZlbg0KPiA+IHRpbWVvdXQgY29u c3RyYWludC4NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsqKi8NCj4gPg0KPiA+ICtFRklfU1RBVFVT DQo+ID4NCj4gPiArRUZJQVBJDQo+ID4NCj4gPiArU21tV2FpdEZvckFsbFByb2Nlc3NvciAoDQo+ ID4NCj4gPiArICBJTiAgRURLSUlfU01NX0NQVV9SRU5ERVpWT1VTX1BST1RPQ09MICAqVGhpcywN Cj4gPg0KPiA+ICsgIElOICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2Nr aW5nTW9kZQ0KPiA+DQo+ID4gKyAgKTsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICsvKioNCj4gPg0K PiA+ICsgIENob29zZSBibG9ja2luZyBvciBub24tYmxvY2tpbmcgbW9kZSB0byB3YWl0IGZvciBh bGwgQVBzLiBUcnVlIGZvcg0KPiA+ICsgQmxvY2tpbmcNCj4gPiBhbmQgZmFsc2UgZm9yIG5vdC4N Cj4gPg0KPiA+ICsgIEluc3VyZSB3aGVuIHRoaXMgZnVuY3Rpb24gcmV0dXJucywgbm8gQVAgd2ls bCBleGVjdXRlIG5vcm1hbCBtb2RlDQo+ID4gKyBjb2RlDQo+ID4gYmVmb3JlIGVudGVyaW5nIFNN TSwgZXhjZXB0IFNNSSBkaXNhYmxlZCBBUHMuDQo+ID4NCj4gPiArDQo+ID4NCj4gPiArKiovDQo+ ID4NCj4gPiArVk9JRA0KPiA+DQo+ID4gK1NtbVdhaXRGb3JBcEFycml2YWwgKA0KPiA+DQo+ID4g KyAgSU4gIEJPT0xFQU4gIEJsb2NraW5nTW9kZQ0KPiA+DQo+ID4gKyAgKTsNCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICAjZW5kaWYNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1BpU21t Q3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZg0KPiA+IGIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4 ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmYNCj4gPiBpbmRleCAwZTg4MDcxYzcwNzkuLmRlZWYwMGY5 YzZlOSAxMDA2NDQNCj4gPiAtLS0gYS9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1 RHhlU21tLmluZg0KPiA+ICsrKyBiL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVE eGVTbW0uaW5mDQo+ID4gQEAgLTQsNyArNCw3IEBADQo+ID4gICMgVGhpcyBTTU0gZHJpdmVyIHBl cmZvcm1zIFNNTSBpbml0aWFsaXphdGlvbiwgZGVwbG95IFNNTSBFbnRyeQ0KPiA+IFZlY3RvciwN Cj4gPg0KPiA+ICAjIHByb3ZpZGVzIENQVSBzcGVjaWZpYyBzZXJ2aWNlcyBpbiBTTU0uDQo+ID4N Cj4gPiAgIw0KPiA+DQo+ID4gLSMgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAyMSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4NCj4gPiArIyBDb3B5 cmlnaHQgKGMpIDIwMDkgLSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ ICtyZXNlcnZlZC48QlI+DQo+ID4NCj4gPiAgIyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJbmNv cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+DQo+ID4gICMNCj4gPg0KPiA+ ICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4g PiBAQCAtMTA3LDcgKzEwNyw4IEBADQo+ID4gICAgZ0VmaVNtbVJlYWR5VG9Mb2NrUHJvdG9jb2xH dWlkICAgICAgICAgICAjIyBOT1RJRlkNCj4gPg0KPiA+ICAgIGdFZmlTbW1DcHVTZXJ2aWNlUHJv dG9jb2xHdWlkICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4gPg0KPiA+ICAgIGdFZGtpaVNtbU1l bW9yeUF0dHJpYnV0ZVByb3RvY29sR3VpZCAgICAgIyMgUFJPRFVDRVMNCj4gPg0KPiA+IC0gIGdF ZmlNbU1wUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUw0KPiA+DQo+ ID4gKyAgZ0VmaU1tTXBQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNF Uw0KPiA+DQo+ID4gKyAgZ0Vka2lpU21tQ3B1UmVuZGV6dm91c1Byb3RvY29sR3VpZCAgICAgICAj IyBQUk9EVUNFUw0KPiA+DQo+ID4NCj4gPg0KPiA+ICBbR3VpZHNdDQo+ID4NCj4gPiAgICBnRWZp QWNwaVZhcmlhYmxlR3VpZCAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1F UyAjIyBIT0IgIyBpdCBpcw0KPiA+IHVzZWQgZm9yIFMzIGJvb3QuDQo+ID4NCj4gPiBkaWZmIC0t Z2l0IGEvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYyBiL1VlZmlDcHVQa2cvVWVmaUNwdVBrZy5k ZWMNCj4gPiBpbmRleCA3ZGU2NmZkZTY3NGMuLjUyNWNkZTQ2MzQzNSAxMDA2NDQNCj4gPiAtLS0g YS9VZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZGVjDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9VZWZpQ3B1 UGtnLmRlYw0KPiA+IEBAIC0xLDcgKzEsNyBAQA0KPiA+ICAjIyBAZmlsZSAgVWVmaUNwdVBrZy5k ZWMNCj4gPg0KPiA+ICAjIFRoaXMgUGFja2FnZSBwcm92aWRlcyBVRUZJIGNvbXBhdGlibGUgQ1BV IG1vZHVsZXMgYW5kIGxpYnJhcmllcy4NCj4gPg0KPiA+ICAjDQo+ID4NCj4gPiAtIyBDb3B5cmln aHQgKGMpIDIwMDcgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+IHJl c2VydmVkLjxCUj4NCj4gPg0KPiA+ICsjIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMjIsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPg0KPiA+ICAj DQo+ID4NCj4gPiAgIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiA+DQo+ID4gICMNCj4gPg0KPiA+IEBAIC02Miw2ICs2Miw5IEBADQo+ID4gICAgIyMgIEBs aWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGZ1bmN0aW9uIGZvciBsb2FkaW5nIG1pY3JvY29kZS4NCj4g Pg0KPiA+ICAgIE1pY3JvY29kZUxpYnxJbmNsdWRlL0xpYnJhcnkvTWljcm9jb2RlTGliLmgNCj4g Pg0KPiA+DQo+ID4NCj4gPiArICAjIyBAbGlicmFyeWNsYXNzICBQcm92aWRlcyBmdW5jdGlvbiBm b3IgU01NIENQVSBSZW5kZXp2b3VzIExpYnJhcnkuDQo+ID4NCj4gPiArICBTbW1DcHVSZW5kZXp2 b3VzTGlifEluY2x1ZGUvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliLmgNCj4gPg0KPiA+ICsN Cj4gPg0KPiA+ICBbR3VpZHNdDQo+ID4NCj4gPiAgICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlk ICAgICAgPSB7IDB4YWMwNWJmMzMsIDB4OTk1YSwgMHg0ZWQ0LCB7IDB4YWEsDQo+IDB4YjgsDQo+ ID4gMHhlZiwgMHg3YSwgMHhlOCwgMHhmLCAweDVjLCAweGIwIH19DQo+ID4NCj4gPiAgICBnTXNl Z1NtcmFtR3VpZCAgICAgICAgICAgICAgICAgPSB7IDB4NTgwMmJjZTQsIDB4ZWVlZSwgMHg0ZTMz LCB7IDB4YTEsIDB4MzAsDQo+ID4gMHhlYiwgMHhhZCwgMHgyNywgMHhmMCwgMHhlNCwgMHgzOSB9 fQ0KPiA+DQo+ID4gQEAgLTc3LDcgKzgwLDggQEANCj4gPg0KPiA+DQo+ID4gIFtQcm90b2NvbHNd DQo+ID4NCj4gPiAgICAjIyBJbmNsdWRlL1Byb3RvY29sL1NtbUNwdVNlcnZpY2UuaA0KPiA+DQo+ ID4gLSAgZ0VmaVNtbUNwdVNlcnZpY2VQcm90b2NvbEd1aWQgID0geyAweDFkMjAyY2FiLCAweGM4 YWIsIDB4NGQ1Yywgew0KPiA+IDB4OTQsIDB4ZjcsIDB4M2MsIDB4ZmMsIDB4YzAsIDB4ZDMsIDB4 ZDMsIDB4MzUgfX0NCj4gPg0KPiA+ICsgIGdFZmlTbW1DcHVTZXJ2aWNlUHJvdG9jb2xHdWlkICAg PSB7IDB4MWQyMDJjYWIsIDB4YzhhYiwgMHg0ZDVjLCB7IDB4OTQsDQo+ID4gMHhmNywgMHgzYywg MHhmYywgMHhjMCwgMHhkMywgMHhkMywgMHgzNSB9fQ0KPiA+DQo+ID4gKyAgZ0Vka2lpU21tQ3B1 UmVuZGV6dm91c1Byb3RvY29sR3VpZCA9IHsgMHhhYTAwZDUwYiwgMHg0OTExLCAweDQyOGYsDQo+ ID4geyAweGI5LCAweDFhLCAweGE1LCAweDlkLCAweGRiLCAweDEzLCAweGUyLCAweDRjIH19DQo+ ID4NCj4gPg0KPiA+DQo+ID4gICAgIyMgSW5jbHVkZS9Qcm90b2NvbC9TbU1vbml0b3JJbml0LmgN Cj4gPg0KPiA+ICAgIGdFZmlTbU1vbml0b3JJbml0UHJvdG9jb2xHdWlkICA9IHsgMHgyMjhmMzQ0 ZCwgMHhiM2RlLCAweDQzYmIsIHsNCj4gPiAweGE0LCAweGQ3LCAweGVhLCAweDIwLCAweGIsIDB4 MWIsIDB4MTQsIDB4ODIgfX0NCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1VlZmlD cHVQa2cuZHNjIGIvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRzYw0KPiA+IGluZGV4IGQxZDYxZGQ2 YTAzYi4uYTBiYmRlOTk4NWQzIDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvVWVmaUNwdVBr Zy5kc2MNCj4gPiArKysgYi9VZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZHNjDQo+ID4gQEAgLTYxLDYg KzYxLDcgQEANCj4gPg0KPiA+DQo+IFRwbU1lYXN1cmVtZW50TGlifE1kZU1vZHVsZVBrZy9MaWJy YXJ5L1RwbU1lYXN1cmVtZW50TGliTnVsbC9UcA0KPiBtTQ0KPiA+IGVhc3VyZW1lbnRMaWJOdWxs LmluZg0KPiA+DQo+ID4gICAgVm1nRXhpdExpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvVm1nRXhpdExp Yk51bGwvVm1nRXhpdExpYk51bGwuaW5mDQo+ID4NCj4gPiAgICBNaWNyb2NvZGVMaWJ8VWVmaUNw dVBrZy9MaWJyYXJ5L01pY3JvY29kZUxpYi9NaWNyb2NvZGVMaWIuaW5mDQo+ID4NCj4gPiArDQo+ ID4NCj4gU21tQ3B1UmVuZGV6dm91c0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UmVuZGV6 dm91c0xpYi9TbW0NCj4gQ3B1Ug0KPiA+IGVuZGV6dm91c0xpYi5pbmYNCj4gPg0KPiA+DQo+ID4N Cj4gPiAgW0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5TRUNdDQo+ID4NCj4gPg0KPiA+IFBsYXRmb3Jt U2VjTGlifFVlZmlDcHVQa2cvTGlicmFyeS9QbGF0Zm9ybVNlY0xpYk51bGwvUGxhdGZvcm1TZWNM aWJOdWwNCj4gPiBsLmluZg0KPiA+DQo+ID4gQEAgLTE3Myw2ICsxNzQsNyBAQA0KPiA+ICAgIH0N Cj4gPg0KPiA+ICAgIFVlZmlDcHVQa2cvVW5pdmVyc2FsL0FjcGkvUzNSZXN1bWUyUGVpL1MzUmVz dW1lMlBlaS5pbmYNCj4gPg0KPiA+ICAgIFVlZmlDcHVQa2cvUmVzZXRWZWN0b3IvVnRmMC9CaW4v UmVzZXRWZWN0b3IuaW5mDQo+ID4NCj4gPiArICBVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UmVu ZGV6dm91c0xpYi9TbW1DcHVSZW5kZXp2b3VzTGliLmluZg0KPiA+DQo+ID4NCj4gPg0KPiA+ICBb QnVpbGRPcHRpb25zXQ0KPiA+DQo+ID4gICAgKl8qXypfQ0NfRkxBR1MgPSAtRCBESVNBQkxFX05F V19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4gPg0KPiA+IC0tDQo+ID4gMi4yNi4yLndpbmRvd3Mu MQ0KPiA+DQo+ID4NCj4gPg0KPiA+IA0KPiA+DQoNCg==