From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 0CCC8385780A for ; Fri, 28 Oct 2022 08:57:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0CCC8385780A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666947428; x=1698483428; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=OmeEglqUfYPVaOQMR7ZNrkoy2G4xZjrnv1Jf2J6Uf2s=; b=EnHZyQSi9dYsgEiwDmZCKPWKQS5miKcCbZZ+fr7Fn5gzB6j8K3Ono/81 FvJpfFXw52Xdo6+eed+oL3gIMzscY8AKB1tFf/FHHemgVVg6T9rSbYYy4 90Ti3UpqnZe7WTYpfrEIPLQHOVkXsqE8hbxtezFAYj6Rjb4CfPI9iTWs3 rrW6mMw+ABR0tnx90CpT688/MGiSuhVlejUKQX7WDO+w/VQElaT2XHGDo Mdw8hsLrDPhKIJrJbCS5WRtCYwVX5qsEYQwBIZnE0dbgN5AlRg6rLlH/T ahaFkhHpDG1M9suSGxcwKtM6+Ohq3x+DR2BJEhy0zzmwzgZcOhiHTdCG4 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10513"; a="288842252" X-IronPort-AV: E=Sophos;i="5.95,220,1661842800"; d="scan'208,223";a="288842252" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Oct 2022 01:57:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10513"; a="696149444" X-IronPort-AV: E=Sophos;i="5.95,220,1661842800"; d="scan'208,223";a="696149444" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 28 Oct 2022 01:57:06 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 28 Oct 2022 01:57:05 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Fri, 28 Oct 2022 01:57:05 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Fri, 28 Oct 2022 01:57:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OYFEtEz7qhoo7vaomMbm2Oj+OTxPMLkldECAmlb1lCwZ+YKbAZ2If//cr/y8Y9PLcQFdqA2Xyw+La/r4WPun4ZXrxlOt2+olueK3yg0MG9Sh+jm5+qYSVrybg0n3sQTXHI9p2OjyypfixVQM+CLzezHrQF6341en2AauFFQQNbjQg3HURWo2iMdX3qdLy9nt5Go1GPUTC9fywgu+O4ulLCASvog/5Mnvw1D1fyqJZMnTPPiuFwg7BQJrT3vbGafP9wnlFUGbm7bozRkmYQDBlkv0r3Vq4BpN4LZUauE9sfunu7wqly+XiBctLdJvoZevHIIjXQ6uRXLf3StceSQnpw== 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=sQGIxyV62bnnntNKiWuMI6z7yKnLf1nAjrrAihoNzrI=; b=HZeCbL8fDNn6/thZB9rUPn2XSO9nXIZbxMIcFpD0WJ1SJriGi2gCVM2Jbcw8fMiXUJjCVP+4TZLRWv4bblXe2lTbq043lqS783qkMD4Fh0dPcJbiNXPahN7qR1iI0iJZbLuZoj3CiHBf9BbDSXDUVL/gFABLz+Rpl9AQ8Xu2qVW8uP6samRfgdWhezT18YHbeutlNeAYNg6AJi9AC5BA4MHnrfuACgWbkrrMMJgy+mP7JL2l5xPUB49JTLaaebH66ApVbbdhZd+Cu+rOabNHZmHkU1TIaE8rMfAzQ+iK1k9EShFQ9wWlaWDrU1+TLrnEVgj++c3UwO3fSL1wM/SlJw== 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 DM4PR11MB5487.namprd11.prod.outlook.com (2603:10b6:5:39f::22) by IA1PR11MB6097.namprd11.prod.outlook.com (2603:10b6:208:3d7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Fri, 28 Oct 2022 08:57:03 +0000 Received: from DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::dc50:e9a3:2270:4a70]) by DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::dc50:e9a3:2270:4a70%9]) with mapi id 15.20.5746.028; Fri, 28 Oct 2022 08:57:03 +0000 From: "Kong, Lingling" To: Hongtao Liu CC: "Liu, Hongtao" , "gcc-patches@gcc.gnu.org" , "Jiang, Haochen" Subject: RE: [PATCH 4/6] Support Intel AVX-NE-CONVERT Thread-Topic: [PATCH 4/6] Support Intel AVX-NE-CONVERT Thread-Index: AQHY36JW9l66Lpn+70CzKAV6u6hF6a4SGGgAgArUGJCAAbgMAIAE7/zQ Date: Fri, 28 Oct 2022 08:57:03 +0000 Message-ID: References: <20221014075445.7938-1-haochen.jiang@intel.com> <20221014075445.7938-5-haochen.jiang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action 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: DM4PR11MB5487:EE_|IA1PR11MB6097:EE_ x-ms-office365-filtering-correlation-id: 1d8593cd-cd24-40cf-d18e-08dab8c2623b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uRJYIzoU7sUq7fascXalq6796CSwRPFDovpL/eK8Fy+BoFo4gihSoSJpk/o48hIF/EAZKAkKTR06OxnE59SnK5nhKB6QMoQyU/TsRciTblkA12S9xko18TsDUTFjFJbJChvafRtsxbEreLOSflPIHMB1Y2EMm81fhPFmCFCr4JIGEzyVVnnMazWwq7Y0uMm14AyawQ7B2UuAJrlLGivNGD8yvCakqfFNhqHGRxuytGfOCjIDJoJGwIDRi41j0jlJzLhCeCePZ0ChssLc6eh6vIJMmhIHXK2fz3MGNVlfmJ5O7gP2cvYPFeuRlNap3fQvS/0SnxzsJ8dpdP/orijnWYigbhLYKDv7Y4JcquPOT9NAYTk5rKGYMMA5HiIz5LNOSB+UpEaHDhZPDu1oAyfjXwJ0tPYytoz2fwAlb5Uvs13rD1SNrBSEHW05Kq5dq0r7KNsr8T6v4UhUpiSpASYbdaJx2rbQHNLdXIevEuCkdwOuTPBAiThNGTgIP3i6zXRuuKxktK9uTaBvEzEcsXZstrZ2suMBPX26bCzjOkKI66I9yKI6dwf46HiuvYNxdNXC+48NjNAqyOSPrab/ewP5IXn6BNUufU2L/vW6Iff0f92AED67/Nx+PvK2gGNARevuVMALWXZwRhjmMpnPlUXnaERPaNlu6ChpME+q50SwqerxCgyPWDADmDz/5P1KEK6EbG+sVoGZLpWY/4lNYaKlCxmr33DT+M3+cA6Xt1UEQZa1jNGs+pBgnXWvUtUCVDE3M9jJdFlcWLpMpRLqfUL3sg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5487.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(366004)(376002)(39860400002)(136003)(451199015)(38100700002)(66476007)(8676002)(55016003)(52536014)(33656002)(64756008)(66946007)(38070700005)(5660300002)(83380400001)(71200400001)(41300700001)(66556008)(478600001)(4326008)(6916009)(54906003)(8936002)(316002)(66446008)(76116006)(2906002)(9686003)(122000001)(186003)(99936003)(82960400001)(86362001)(107886003)(7696005)(26005)(6506007)(53546011);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SW92MlZFZW8xMTdESkNyVHdLRldEc09iN21tN3pqOVdpdXNJSHRLR0d1TzJt?= =?utf-8?B?MEIvZTdMMVVQTExob3NSZHZqMVhUcEplMlZ6KzZ6blFzb1oyYyttd1pYc3Zi?= =?utf-8?B?VVZtT21reG1LRTU0UUNpRkh6aG9ESy91WUdPWnhKTjZjN3l6MjNRMnk3MnFv?= =?utf-8?B?eUlGalI0ZzVaVzRMUXlqQWI2SHB4N0dBRG1KaUgva3BrMklQcTBYTDlpNXZi?= =?utf-8?B?cTFsNVkwNGl2RE4rTUFoOThZS3I5NnM4UXdVSFZHaFpPZGczTUNCNDllbk5l?= =?utf-8?B?WXBGWG1HblJXTmRCc0ZYZTUxWm9IZ1lHSjFjVXdMUVlmN3dnYUpkZWNCWm42?= =?utf-8?B?b3BDalNoM1VBNHUzVS81YzhoZnMzbDZjQnN0QkZIeDBMaDJFOURmVEJGTUNE?= =?utf-8?B?MGxWbWpReUFodXdvY1lGT2xCUDBORGRjQlNoSW9HVHRxaFF2Y3RKYnBhU25Z?= =?utf-8?B?UUhtaFpVb3Q2TkNZRVI1Q2tFV3Y1NWpvMWkxa2ErY2ptNWRpaGNpZ3plRFZj?= =?utf-8?B?RkhEYW5qNlB3TC9jK3lxZnlXOUdod2g4N1JNOU0zeXpxTXpCa0JwVWQxRE5M?= =?utf-8?B?OE1QV2JDbGJsWkl5L2RRazNRQjBYaXQweGd1WkZZWWFndHBwdUVEci9CaFpB?= =?utf-8?B?OHpueittc0U1SCtJMjZZVG42cG9kd0k2TmhFc3E5WktJRjdHWjYxNmlTWC84?= =?utf-8?B?dTFsa08yQVhQTVNDaG5jdm03Z3dLK3Blc2tncjZid0E2ZHgrQVlIQkozTmEy?= =?utf-8?B?T2xVU2poSXVrSE1BWXltZmxVQmwwR2xDTlpWL2tLcVd1Q0hoMWJRaHZvc21P?= =?utf-8?B?dlIrb3JzV0x0eVI4OFJVekIvRFRaUTVVb3dxVkxJUnJrVnAzelBLVVNUazRr?= =?utf-8?B?cVY2VW8vYkFvMWRrTWR2RTNMbGIwVWgvcE03czdmVXV2UUhEVmVaU0tVVDNJ?= =?utf-8?B?Z3NSemhxL21Zd3NmZURBVkxGZndSSGl1QzBSaVFqckVlQUVxLzdjYkVyelR3?= =?utf-8?B?VW1wajZ4RXVubk81cE0wbVdUQVlaMHh3Y003Q3FIQmMzVGtMTno5QnhRRGtW?= =?utf-8?B?dm9UK0s4WVdsU05hWngreG5qdHhwbzcwUlhHUC9BMVVyNlNUN0dRZjJxR2NW?= =?utf-8?B?MEFNdzZPYjBvQlBOdUU1aGdla2pLZlBzT1Q3eW5SYytGVGVZV1o2cUdvMWkv?= =?utf-8?B?aENVeFErWXFEM0s0QTVPazFwUU84TitnbzZpaWNHeXNsRFhpZEhlTDRQVzJ2?= =?utf-8?B?ZExmRW5kYzhjYUJSVVdzenY0d3lJcHZTZVpmdUgvVnJKR0FPdE5CM0t3NVA1?= =?utf-8?B?YThoZC9tcm0vTlNXbUw4WUpwbStLeTQ4QlI4K2w1MW0wU21aRjNjSExJelFS?= =?utf-8?B?NkJmV1k2NmxtcHV0eTNjRkpRTVVhMnVIaW9Cc2lXTkwzVkg2UEJHMnNhZGR1?= =?utf-8?B?c2pNVGlMeUc5dWQrbk5ycEIremp0aWlNanBpRUwxQS9kQzkzRU9oMFhDYjJh?= =?utf-8?B?QUdqVlE5L1pEcFBNbDlTRlg0Y2tBQzBWWlFyRzBRY0JQZ3htQXpiNjFHMkpi?= =?utf-8?B?TWNsazBya0tQdnhaOEJUYmREY2wycXU3Y1RuTEJiWnV3N3M3a0RFVGpvWnl5?= =?utf-8?B?akNrbWRLTXhaQmQrWXFBYlJYaElIekJsbUkwZkNwL285MGpXbFl4emQ3VFlS?= =?utf-8?B?QTRXZ2kxeENqeFNxM3hjd3p2Y0NRTXVibG0wT1BJMFZqU3dhVjduWnFER0V1?= =?utf-8?B?Rm5DZmZMVkx6bkZCSWpKRE1QWTR4VWxQeW5VWFg3MXBNZ0h6KzVSNllDTy9K?= =?utf-8?B?VTNnMWM1WHp5MGJ3a1V1OUVVNVppUlRpQm5HaUdmTGYwcmxSS0ROamJWNGti?= =?utf-8?B?aUIxN0hHOVkwRFNiNkppcldZaFdWbUJROVQ0NHkxQ21jT2RBaXZBZmx6eGtT?= =?utf-8?B?MmF3TDM1OEVaaXJPamw1QmRTeDFOczdZeVVaQ2YrazBTNXlQMVNuTG02WWxw?= =?utf-8?B?MDBqdzNBSmcrMG9lVlplVE1KQ2ovbnd6MFdtb2xvbnh4Qm80djBwSFYyUy8z?= =?utf-8?B?MHdHNVA0MjZyck1sdVNYSGZjcjBhMGZ5aXVITWx0R0gwa2RDaWxFY2RRT3Fq?= =?utf-8?Q?cRJMU3TaljIItDOM9DbThZLm4?= Content-Type: multipart/mixed; boundary="_002_DM4PR11MB54870F92A2F3D0369B1CCBF1EC329DM4PR11MB5487namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5487.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d8593cd-cd24-40cf-d18e-08dab8c2623b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2022 08:57:03.7287 (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: QrhWu/txWO3IErm2yLWVXOiw4dvrBmX8ks7kk92tCsa6YkalDbR5XNKTzUq0Iibzpm9Pxo1NIE7KGH5Z5/Jquw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6097 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_DM4PR11MB54870F92A2F3D0369B1CCBF1EC329DM4PR11MB5487namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkJlY2F1c2Ugd2UgIHN3aXRjaCBpbnRyaW5zaWNzIGZvciBhdng1MTJiZjE2IHRvIHRo ZSBuZXcgdHlwZSBfX2JmMTYuIE5vdyB3ZSBjb3VsZCB1c2UgbTEyOC8yNTZiaCBmb3IgdmVjdG9y IGJmMTYgdHlwZSBpbnN0ZWFkIG9mIG0xMjgvMjU2YmYxNi4NCkFuZCB1bmlmaWVkIGJ1aWx0aW4g Zm9yIGF2eDUxMmJmMTYvYXZ4bmVjb252ZXJ0Lg0KDQpUaGFua3MsDQpMaW5nbGluZw0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEhvbmd0YW8gTGl1IDxjcmF6eWxodEBn bWFpbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjUsIDIwMjIgMToyMyBQTQ0KPiBU bzogS29uZywgTGluZ2xpbmcgPGxpbmdsaW5nLmtvbmdAaW50ZWwuY29tPg0KPiBDYzogTGl1LCBI b25ndGFvIDxob25ndGFvLmxpdUBpbnRlbC5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsg SmlhbmcsDQo+IEhhb2NoZW4gPGhhb2NoZW4uamlhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBS ZTogW1BBVENIIDQvNl0gU3VwcG9ydCBJbnRlbCBBVlgtTkUtQ09OVkVSVA0KPiANCj4gT24gTW9u LCBPY3QgMjQsIDIwMjIgYXQgMjoyMCBQTSBLb25nLCBMaW5nbGluZyA8bGluZ2xpbmcua29uZ0Bp bnRlbC5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4gPiBGcm9tOiBHY2MtcGF0Y2hlcw0KPiA+ID4g PGdjYy1wYXRjaGVzLWJvdW5jZXMrbGluZ2xpbmcua29uZz1pbnRlbC5jb21AZ2NjLmdudS5vcmc+ DQo+ID4gPiBPbiBCZWhhbGYgT2YgSG9uZ3RhbyBMaXUgdmlhIEdjYy1wYXRjaGVzDQo+ID4gPiBT ZW50OiBNb25kYXksIE9jdG9iZXIgMTcsIDIwMjIgMTo0NyBQTQ0KPiA+ID4gVG86IEppYW5nLCBI YW9jaGVuIDxoYW9jaGVuLmppYW5nQGludGVsLmNvbT4NCj4gPiA+IENjOiBMaXUsIEhvbmd0YW8g PGhvbmd0YW8ubGl1QGludGVsLmNvbT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4gPiBT dWJqZWN0OiBSZTogW1BBVENIIDQvNl0gU3VwcG9ydCBJbnRlbCBBVlgtTkUtQ09OVkVSVA0KPiA+ ID4NCj4gPiA+IE9uIEZyaSwgT2N0IDE0LCAyMDIyIGF0IDM6NTggUE0gSGFvY2hlbiBKaWFuZyB2 aWEgR2NjLXBhdGNoZXMNCj4gPiA+IDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6DQo+ ID4gPiA+DQo+ID4gPiA+IEZyb206IEtvbmcgTGluZ2xpbmcgPGxpbmdsaW5nLmtvbmdAaW50ZWwu Y29tPg0KPiA+ID4gPiArKGRlZmluZV9pbnNuICJ2YmNzdG5lPHZiY3N0bmV0eXBlPjJwc188bW9k ZT4iDQo+ID4gPiA+ICsgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZGMV8xMjhfMjU2IDAgInJlZ2lz dGVyX29wZXJhbmQiICI9eCIpDQo+ID4gPiA+ICsgICAgKHZlY19kdXBsaWNhdGU6VkYxXzEyOF8y NTYNCj4gPiA+ID4gKyAgICAgKHVuc3BlYzpTRg0KPiA+ID4gPiArICAgICAgWyhtYXRjaF9vcGVy YW5kOkhJIDEgIm1lbW9yeV9vcGVyYW5kIiAibSIpXQ0KPiA+ID4gPiArICAgICAgVkJDU1RORSkp KV0NCj4gPiA+ID4gKyAgIlRBUkdFVF9BVlhORUNPTlZFUlQiDQo+ID4gPiA+ICsgICJ2YmNzdG5l PHZiY3N0bmV0eXBlPjJwc1x0eyUxLCAlMHwlMCwgJTF9Ig0KPiA+ID4gPiArICBbKHNldF9hdHRy ICJwcmVmaXgiICJ2ZXgiKQ0KPiA+ID4gPiArICAoc2V0X2F0dHIgIm1vZGUiICI8c3NlaW5zbm1v ZGU+IildKQ0KPiA+ID4gU2luY2UgamFrdWIgaGFzIHN1cHBvcnQgYmYxNiBzb2Z0d2FyZSBlbXVs YXRpb24sIGNhbiB3ZSByZXdyaXRlIGl0DQo+ID4gPiB3aXRoIGdlbmVyYWwgcnRsIGlyIHdpdGhv dXQgdW5zcGVjPw0KPiA+ID4gTGlrZSAoZmxvYXRfZXh0ZW5kOlNGIChtYXRjaF9vcGVyYW5kOkJG ICJtZW1vcnlfb3BlcmFuZCIgIm0iKQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsoZGVmaW5lX2ludF9p dGVyYXRvciBWQ1ZUTkVCRjE2DQo+ID4gPiA+ICsgIFtVTlNQRUNfVkNWVE5FRUJGMTZTRg0KPiA+ ID4gPiArICAgVU5TUEVDX1ZDVlRORU9CRjE2U0ZdKQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsoZGVm aW5lX2ludF9hdHRyIHZjdnRuZWJmMTZ0eXBlDQo+ID4gPiA+ICsgIFsoVU5TUEVDX1ZDVlRORUVC RjE2U0YgImViZjE2IikNCj4gPiA+ID4gKyAgIChVTlNQRUNfVkNWVE5FT0JGMTZTRiAib2JmMTYi KV0pIChkZWZpbmVfaW5zbg0KPiA+ID4gPiArInZjdnRuZTx2Y3Z0bmViZjE2dHlwZT4ycHNfPG1v ZGU+Ig0KPiA+ID4gPiArICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRjFfMTI4XzI1NiAwICJyZWdp c3Rlcl9vcGVyYW5kIiAiPXgiKQ0KPiA+ID4gPiArICAgICh1bnNwZWM6VkYxXzEyOF8yNTYNCj4g PiA+ID4gKyAgICAgIFsobWF0Y2hfb3BlcmFuZDo8c2ZfYmZsb2F0MTY+IDEgIm1lbW9yeV9vcGVy YW5kIiAibSIpXQ0KPiA+ID4gPiArICAgICBWQ1ZUTkVCRjE2KSldDQo+ID4gPiA+ICsgICJUQVJH RVRfQVZYTkVDT05WRVJUIg0KPiA+ID4gPiArICAidmN2dG5lPHZjdnRuZWJmMTZ0eXBlPjJwc1x0 eyUxLCAlMHwlMCwgJTF9Ig0KPiA+ID4gPiArICBbKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQ0K PiA+ID4gPiArICAgKHNldF9hdHRyICJtb2RlIiAiPHNzZWluc25tb2RlPiIpXSkNCj4gPiA+IFNp bWlsYXIgZm9yIHRoaXMgb25lIGFuZCBhbGwgdGhvc2UgcGF0dGVybnMgYmVsb3cuDQo+ID4NCj4g PiBUaGF0J3MgZ3JlYXQhIFRoYW5rcyBmb3IgdGhlIHJldmlldyENCj4gPiBOb3cgcmV3cml0ZSBp dCB3aXRob3V0IHVuc3BlYyBhbmQgdXNlIGZsb2F0X2V4dGVuZCBmb3IgbmV3IGRlZmluZV9pbnNu Lg0KPiBPay4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IExpbmdsaW5nDQo+ID4NCj4gPg0KPiANCj4g DQo+IC0tDQo+IEJSLA0KPiBIb25ndGFvDQo= --_002_DM4PR11MB54870F92A2F3D0369B1CCBF1EC329DM4PR11MB5487namp_ Content-Type: application/octet-stream; name="0001-Support-Intel-AVX-NE-CONVERT.patch" Content-Description: 0001-Support-Intel-AVX-NE-CONVERT.patch Content-Disposition: attachment; filename="0001-Support-Intel-AVX-NE-CONVERT.patch"; size=69649; creation-date="Fri, 28 Oct 2022 08:45:48 GMT"; modification-date="Fri, 28 Oct 2022 08:57:03 GMT" Content-Transfer-Encoding: base64 RnJvbSBmNDA5ZDY5N2E1MjljMzYwODc5MmZmODAwY2RlOWZjNzQyNWZjZDJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25nIExpbmdsaW5nIDxsaW5nbGluZy5rb25nQGludGVsLmNv bT4KRGF0ZTogV2VkLCA3IEp1bCAyMDIxIDE1OjE0OjM1ICswODAwClN1YmplY3Q6IFtQQVRDSF0g U3VwcG9ydCBJbnRlbCBBVlgtTkUtQ09OVkVSVAoKZ2NjL0NoYW5nZUxvZzoKCgkqIGNvbW1vbi9j b25maWcvaTM4Ni9pMzg2LWNvbW1vbi5jYwoJKE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJU X1NFVCwKCU9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUX1VOU0VUKTogTmV3LgoJKGl4ODZf aGFuZGxlX29wdGlvbik6IEhhbmRsZSAtbWF2eG5lY29udmVydCwgdW5zZXQKCWF2eG5lY29udmVy dCB3aGVuIGF2eDIgaXMgZGlzYWJsZWQuCgkqIGNvbW1vbi9jb25maWcvaTM4Ni9pMzg2LWNwdWlu Zm8uaCAocHJvY2Vzc29yX3R5cGVzKTogQWRkCglGRUFUVVJFX0FWWE5FQ09OVkVSVC4KCSogY29t bW9uL2NvbmZpZy9pMzg2L2kzODYtaXNhcy5oOiBBZGQgSVNBX05BTUVfVEFCTEVfRU5UUlkgZm9y CglhdnhuZWNvbnZlcnQuCgkqIGNvbW1vbi9jb25maWcvaTM4Ni9jcHVpbmZvLmggKGdldF9hdmFp bGFibGVfZmVhdHVyZXMpOgoJRGV0ZWN0IGF2eG5lY29udmVydC4KCSogY29uZmlnLmdjYzogQWRk IGF2eG5lY29udmVydGludHJpbi5oCgkqIGNvbmZpZy9pMzg2L2F2eG5lY29udmVydGludHJpbi5o OiBOZXcuCgkqIGNvbmZpZy9pMzg2L2F2eDUxMmJmMTZ2bGludHJpbi5oIChfbW0yNTZfY3Z0bmVw c19wYmgpOgoJVW5pZmllZCBidWlsdGluIHdpdGggYXZ4bmVjb252ZXJ0LgoJKF9tbV9jdnRuZXBz X3BiaCk6IERpdHRvLgoJKiBjb25maWcvaTM4Ni9jcHVpZC5oIChiaXRfQVZYTkVDT05WRVJUKTog TmV3LgoJKiBjb25maWcvaTM4Ni9pMzg2LWJ1aWx0aW4tdHlwZXMuZGVmOiBBZGQKCURFRl9QT0lO VEVSX1RZUEUgKFBDVjhIRiwgVjhIRiwgQ09OU1QpLAoJREVGX1BPSU5URVJfVFlQRSAoUENWOEJG LCBWOEJGLCBDT05TVCksCglERUZfUE9JTlRFUl9UWVBFIChQQ1YxNkhGLCBWMTZIRiwgQ09OU1Qp LAoJREVGX1BPSU5URVJfVFlQRSAoUENWMTZCRiwgVjE2QkYsIENPTlNUKSwKCURFRl9GVU5DVElP Tl9UWVBFIChWNFNGLCBQQ0JGTE9BVDE2KSwKCURFRl9GVU5DVElPTl9UWVBFIChWNFNGLCBQQ0ZM T0FUMTYpLAoJREVGX0ZVTkNUSU9OX1RZUEUgKFY4U0YsIFBDQkZMT0FUMTYpLAoJREVGX0ZVTkNU SU9OX1RZUEUgKFY4U0YsIFBDRkxPQVQxNiksCglERUZfRlVOQ1RJT05fVFlQRSAoVjRTRiwgUENW OEJGKSwKCURFRl9GVU5DVElPTl9UWVBFIChWNFNGLCBQQ1Y4SEYpLAoJREVGX0ZVTkNUSU9OX1RZ UEUgKFY4U0YsIFBDVjE2SEYpLAoJREVGX0ZVTkNUSU9OX1RZUEUgKFY4U0YsIFBDVjE2QkYpLAoJ KiBjb25maWcvaTM4Ni9pMzg2LWJ1aWx0aW4uZGVmOiBBZGQgbmV3IGJ1aWx0aW5zLgoJKiBjb25m aWcvaTM4Ni9pMzg2LWMuY2MgKGl4ODZfdGFyZ2V0X21hY3Jvc19pbnRlcm5hbCk6IERlZmluZQoJ X19BVlhORUNPTlZFUlRfXy4KCSogY29uZmlnL2kzODYvaTM4Ni1leHBhbmQuY2MgKGl4ODZfZXhw YW5kX3NwZWNpYWxfYXJnc19idWlsdGluKToKCUhhbmRsZSBWNFNGX0ZUWVBFX1BDQkZMT0FUMTYs VjhTRl9GVFlQRV9QQ0JGTE9BVDE2LCBWNFNGX0ZUWVBFX1BDRkxPQVQxNiwKCVY4U0ZfRlRZUEVf UENGTE9BVDE2LFY0U0ZfRlRZUEVfUENWOEJGLAoJVjRTRl9GVFlQRV9QQ1Y4SEYsVjhTRl9GVFlQ RV9QQ1YxNkJGLFY4U0ZfRlRZUEVfUENWMTZIRi4KCSogY29uZmlnL2kzODYvaTM4Ni1pc2EuZGVm IDogQWRkIERFRl9QVEEoQVZYTkVDT05WRVJUKSBOZXcuCgkqIGNvbmZpZy9pMzg2L2kzODYtb3B0 aW9ucy5jYyAoaXNhMl9vcHRzKTogQWRkIC1tYXZ4bmVjb252ZXJ0LgoJKGl4ODZfdmFsaWRfdGFy Z2V0X2F0dHJpYnV0ZV9pbm5lcl9wKTogSGFuZGxlIGF2eG5lY29udmVydC4KCSogY29uZmlnL2kz ODYvaTM4Ni5tZDogQWRkIGF0dHIgYXZ4NTEyYmYxNnZsIGFuZCBhdnhuZWNvbnZlcnQuCgkqIGNv bmZpZy9pMzg2L2kzODYub3B0OiBBZGQgb3B0aW9uIC1tYXZ4bmVjb252ZXJ0LgoJKiBjb25maWcv aTM4Ni9pbW1pbnRyaW4uaDogSW5jdWxkZSBhdnhuZWNvbnZlcnRpbnRyaW4uaC4KCSogY29uZmln L2kzODYvc3NlLm1kICh2YmNzdG5lYmYxNjJwc188bW9kZT4pOiBOZXcgZGVmaW5lX2luc24uCgko dmJjc3RuZXNoMnBzXzxtb2RlPik6IERpdHRvLgoJKHZjdnRuZWU8YmYxNl9waD4ycHNfPG1vZGU+ KTpEaXR0by4KCSh2Y3Z0bmVvPGJmMTZfcGg+MnBzXzxtb2RlPik6RGl0dG8uCgkodmN2dG5lcHMy YmYxNl92NHNmKTogRGl0dG8uCgkoKnZjdnRuZXBzMmJmMTZfdjRzZik6IERpdHRvLgoJKHZjdnRu ZXBzMmJmMTZfdjhzZik6IERpdHRvLgoJKiBkb2MvaW52b2tlLnRleGk6IERvY3VtZW50IC1tYXZ4 bmVjb252ZXJ0LgoJKiBkb2MvZXh0ZW5kLnRleGk6IERvY3VtZW50IGF2eG5lY29udmVydC4KCSog ZG9jL3NvdXJjZWJ1aWxkLnRleGk6IERvY3VtZW50IHRhcmdldCBhdnhuZWNvbnZlcnQuCgpnY2Mv dGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGdjYy50YXJnZXQvaTM4Ni9hdngtY2hlY2suaDogQWRk IGF2eG5lY29udmVydCBjaGVjay4KCSogZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTU2LmluYzog QWRkIG5ldyB0YXJnZXQgYXR0cmlidXRlLgoJKiBnY2MudGFyZ2V0L2kzODYvc3NlLTEyLmM6IEFk ZCAtbWF2eG5lY29udmVydC4KCSogZ2NjLnRhcmdldC9pMzg2L3NzZS0xMy5jOiBEaXR0by4KCSog Z2NjLnRhcmdldC9pMzg2L3NzZS0xNC5jOiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L3NzZS0y Mi5jOiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L3NzZS0yMy5jOiBEaXR0by4KCSogZysrLmRn L290aGVyL2kzODYtMi5DOiBEaXR0by4KCSogZysrLmRnL290aGVyL2kzODYtMy5DOiBEaXR0by4K CSogbGliL3RhcmdldC1zdXBwb3J0cy5leHA6YWRkIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfYXZ4 bmVjb252ZXJ0LgoJKiBnY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtMS5jOiBOZXcgdGVz dC4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZiY3N0bmViZjE2MnBzLTIuYzog RGl0dG8uCgkqIGdjYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12YmNzdG5lc2gycHMtMi5j OiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZWViZjE2MnBz LTIuYzogRGl0dG8uCgkqIGdjYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12Y3Z0bmVlcGgy cHMtMi5jOiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZW9i ZjE2MnBzLTIuYzogRGl0dG8uCgkqIGdjYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12Y3Z0 bmVvcGgycHMtMi5jOiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZj dnRuZXBzMmJmMTYtMi5jOiBEaXR0by4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmJmMTZ2bC12 Y3Z0bmVwczJiZjE2LTEuYzogUmVuYW1lLi4KCSogZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmJmMTZ2 bC12Y3Z0bmVwczJiZjE2LTFhLmM6IFRvIHRoaXMuCgkqIGdjYy50YXJnZXQvaTM4Ni9hdng1MTJi ZjE2dmwtdmN2dG5lcHMyYmYxNi0xYi5jOiBOZXcgdGVzdC4KLS0tCiBnY2MvY29tbW9uL2NvbmZp Zy9pMzg2L2NwdWluZm8uaCAgICAgICAgICAgICAgfCAgIDIgKwogZ2NjL2NvbW1vbi9jb25maWcv aTM4Ni9pMzg2LWNvbW1vbi5jYyAgICAgICAgIHwgIDIxICsrLQogZ2NjL2NvbW1vbi9jb25maWcv aTM4Ni9pMzg2LWNwdWluZm8uaCAgICAgICAgIHwgICAxICsKIGdjYy9jb21tb24vY29uZmlnL2kz ODYvaTM4Ni1pc2FzLmggICAgICAgICAgICB8ICAgMiArCiBnY2MvY29uZmlnLmdjYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGdjYy9jb25maWcvaTM4Ni9hdng1MTJi ZjE2dmxpbnRyaW4uaCAgICAgICAgICB8ICAxOSArLS0KIGdjYy9jb25maWcvaTM4Ni9hdnhuZWNv bnZlcnRpbnRyaW4uaCAgICAgICAgICB8IDE0MCArKysrKysrKysrKysrKysrKysKIGdjYy9jb25m aWcvaTM4Ni9jcHVpZC5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBnY2MvY29uZmln L2kzODYvaTM4Ni1idWlsdGluLXR5cGVzLmRlZiAgICAgICAgfCAgMTUgKysKIGdjYy9jb25maWcv aTM4Ni9pMzg2LWJ1aWx0aW4uZGVmICAgICAgICAgICAgICB8ICAxOCArKy0KIGdjYy9jb25maWcv aTM4Ni9pMzg2LWMuY2MgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBnY2MvY29uZmlnL2kz ODYvaTM4Ni1leHBhbmQuY2MgICAgICAgICAgICAgICAgfCAgMjEgKysrCiBnY2MvY29uZmlnL2kz ODYvaTM4Ni1pc2EuZGVmICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZ2NjL2NvbmZpZy9pMzg2 L2kzODYtb3B0aW9ucy5jYyAgICAgICAgICAgICAgIHwgICA0ICstCiBnY2MvY29uZmlnL2kzODYv aTM4Ni5tZCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIGdjYy9jb25maWcvaTM4Ni9p Mzg2Lm9wdCAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArCiBnY2MvY29uZmlnL2kzODYvaW1t aW50cmluLmggICAgICAgICAgICAgICAgICAgfCAgIDIgKwogZ2NjL2NvbmZpZy9pMzg2L3NzZS5t ZCAgICAgICAgICAgICAgICAgICAgICAgIHwgMTA4ICsrKysrKysrKysrKystCiBnY2MvZG9jL2V4 dGVuZC50ZXhpICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKwogZ2NjL2RvYy9pbnZv a2UudGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA5ICstCiBnY2MvZG9jL3NvdXJj ZWJ1aWxkLnRleGkgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKwogZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvb3RoZXIvaTM4Ni0yLkMgICAgICAgICAgIHwgICAyICstCiBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9vdGhlci9pMzg2LTMuQyAgICAgICAgICAgfCAgIDIgKy0KIGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L2F2eC1jaGVjay5oICAgICB8ICAgMyArCiAuLi4vZ2NjLnRhcmdldC9pMzg2 L2F2eC1uZS1jb252ZXJ0LTEuYyAgICAgICAgfCAgNDUgKysrKysrCiAuLi4vaTM4Ni9hdngtbmUt Y29udmVydC12YmNzdG5lYmYxNjJwcy0yLmMgICAgfCAgNTQgKysrKysrKwogLi4uL2kzODYvYXZ4 LW5lLWNvbnZlcnQtdmJjc3RuZXNoMnBzLTIuYyAgICAgIHwgIDQyICsrKysrKwogLi4uL2kzODYv YXZ4LW5lLWNvbnZlcnQtdmN2dG5lZWJmMTYycHMtMi5jICAgIHwgIDczICsrKysrKysrKwogLi4u L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZXBoMnBzLTIuYyAgICAgIHwgIDY2ICsrKysrKysr KwogLi4uL2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lb2JmMTYycHMtMi5jICAgIHwgIDc1ICsr KysrKysrKysKIC4uLi9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZW9waDJwcy0yLmMgICAgICB8 ICA2NiArKysrKysrKysKIC4uLi9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZXBzMmJmMTYtMi5j ICAgICB8ICA1OCArKysrKysrKwogLi4uMTYtMS5jID0+IGF2eDUxMmJmMTZ2bC12Y3Z0bmVwczJi ZjE2LTFhLmN9IHwgICAwCiAuLi4vaTM4Ni9hdng1MTJiZjE2dmwtdmN2dG5lcHMyYmYxNi0xYi5j ICAgICAgfCAgMjcgKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMt NTYuaW5jIHwgICAyICsKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS0xMi5jICAg ICAgICB8ICAgMiArLQogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTEzLmMgICAg ICAgIHwgICAyICstCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMTQuYyAgICAg ICAgfCAgIDIgKy0KIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS0yMi5jICAgICAg ICB8ICAgNCArLQogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTIzLmMgICAgICAg IHwgICAyICstCiBnY2MvdGVzdHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwICAgICAgICAg fCAgMTIgKysKIDQxIGZpbGVzIGNoYW5nZWQsIDg4NyBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvY29uZmlnL2kzODYvYXZ4bmVjb252ZXJ0aW50 cmluLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9h dngtbmUtY29udmVydC0xLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12YmNzdG5lYmYxNjJwcy0yLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12YmNz dG5lc2gycHMtMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZWJmMTYycHMtMi5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZXBo MnBzLTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2F2eC1uZS1jb252ZXJ0LXZjdnRuZW9iZjE2MnBzLTIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZW9waDJwcy0y LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngt bmUtY29udmVydC12Y3Z0bmVwczJiZjE2LTIuYwogcmVuYW1lIGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3thdng1MTJiZjE2dmwtdmN2dG5lcHMyYmYxNi0xLmMgPT4gYXZ4NTEyYmYxNnZs LXZjdnRuZXBzMmJmMTYtMWEuY30gKDEwMCUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyYmYxNnZsLXZjdnRuZXBzMmJmMTYtMWIuYwoKZGlm ZiAtLWdpdCBhL2djYy9jb21tb24vY29uZmlnL2kzODYvY3B1aW5mby5oIGIvZ2NjL2NvbW1vbi9j b25maWcvaTM4Ni9jcHVpbmZvLmgKaW5kZXggZDQ1NDUxYzU3MDQuLjc3ZDdlMzE1NjQwIDEwMDY0 NAotLS0gYS9nY2MvY29tbW9uL2NvbmZpZy9pMzg2L2NwdWluZm8uaAorKysgYi9nY2MvY29tbW9u L2NvbmZpZy9pMzg2L2NwdWluZm8uaApAQCAtODExLDYgKzgxMSw4IEBAIGdldF9hdmFpbGFibGVf ZmVhdHVyZXMgKHN0cnVjdCBfX3Byb2Nlc3Nvcl9tb2RlbCAqY3B1X21vZGVsLAogCSAgICBzZXRf ZmVhdHVyZSAoRkVBVFVSRV9BVlhJRk1BKTsKIAkgIGlmIChlZHggJiBiaXRfQVZYVk5OSUlOVDgp CiAJICAgIHNldF9mZWF0dXJlIChGRUFUVVJFX0FWWFZOTklJTlQ4KTsKKwkgIGlmIChlZHggJiBi aXRfQVZYTkVDT05WRVJUKQorCSAgICBzZXRfZmVhdHVyZSAoRkVBVFVSRV9BVlhORUNPTlZFUlQp OwogCX0KICAgICAgIGlmIChhdng1MTJfdXNhYmxlKQogCXsKZGlmZiAtLWdpdCBhL2djYy9jb21t b24vY29uZmlnL2kzODYvaTM4Ni1jb21tb24uY2MgYi9nY2MvY29tbW9uL2NvbmZpZy9pMzg2L2kz ODYtY29tbW9uLmNjCmluZGV4IGY2NmJkZDVhMmFmLi5jZDZhZDJjNDc3YiAxMDA2NDQKLS0tIGEv Z2NjL2NvbW1vbi9jb25maWcvaTM4Ni9pMzg2LWNvbW1vbi5jYworKysgYi9nY2MvY29tbW9uL2Nv bmZpZy9pMzg2L2kzODYtY29tbW9uLmNjCkBAIC0xMDksNiArMTA5LDcgQEAgYWxvbmcgd2l0aCBH Q0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKICNkZWZpbmUgT1BUSU9OX01B U0tfSVNBMl9BTVhfSU5UOF9TRVQgT1BUSU9OX01BU0tfSVNBMl9BTVhfSU5UOAogI2RlZmluZSBP UFRJT05fTUFTS19JU0EyX0FNWF9CRjE2X1NFVCBPUFRJT05fTUFTS19JU0EyX0FNWF9CRjE2CiAj ZGVmaW5lIE9QVElPTl9NQVNLX0lTQTJfQVZYVk5OSUlOVDhfU0VUIE9QVElPTl9NQVNLX0lTQTJf QVZYVk5OSUlOVDgKKyNkZWZpbmUgT1BUSU9OX01BU0tfSVNBMl9BVlhORUNPTlZFUlRfU0VUIE9Q VElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUCiAKIC8qIFNTRTQgaW5jbHVkZXMgYm90aCBTU0U0 LjEgYW5kIFNTRTQuMi4gLW1zc2U0IHNob3VsZCBiZSB0aGUgc2FtZQogICAgYXMgLW1zc2U0LjIu ICAqLwpAQCAtMjE1LDcgKzIxNiw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09Q WUlORzMuICBJZiBub3Qgc2VlCiAgIChPUFRJT05fTUFTS19JU0FfQVZYMiB8IE9QVElPTl9NQVNL X0lTQV9BVlg1MTJGX1VOU0VUKQogI2RlZmluZSBPUFRJT05fTUFTS19JU0EyX0FWWDJfVU5TRVQg XAogICAoT1BUSU9OX01BU0tfSVNBMl9BVlhJRk1BX1VOU0VUIHwgT1BUSU9OX01BU0tfSVNBMl9B VlhWTk5JX1VOU0VUIFwKLSAgIHwgT1BUSU9OX01BU0tfSVNBMl9BVlhWTk5JSU5UOF9VTlNFVCB8 IE9QVElPTl9NQVNLX0lTQTJfQVZYNTEyRl9VTlNFVCkKKyAgIHwgT1BUSU9OX01BU0tfSVNBMl9B VlhWTk5JSU5UOF9VTlNFVCB8IE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUX1VOU0VUIFwK KyAgIHwgT1BUSU9OX01BU0tfSVNBMl9BVlg1MTJGX1VOU0VUKQogI2RlZmluZSBPUFRJT05fTUFT S19JU0FfQVZYNTEyRl9VTlNFVCBcCiAgIChPUFRJT05fTUFTS19JU0FfQVZYNTEyRiB8IE9QVElP Tl9NQVNLX0lTQV9BVlg1MTJDRF9VTlNFVCBcCiAgICB8IE9QVElPTl9NQVNLX0lTQV9BVlg1MTJQ Rl9VTlNFVCB8IE9QVElPTl9NQVNLX0lTQV9BVlg1MTJFUl9VTlNFVCBcCkBAIC0yODAsNiArMjgy LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUK ICAgKE9QVElPTl9NQVNLX0lTQTJfS0wgfCBPUFRJT05fTUFTS19JU0EyX1dJREVLTF9VTlNFVCkK ICNkZWZpbmUgT1BUSU9OX01BU0tfSVNBMl9XSURFS0xfVU5TRVQgT1BUSU9OX01BU0tfSVNBMl9X SURFS0wKICNkZWZpbmUgT1BUSU9OX01BU0tfSVNBMl9BVlhWTk5JSU5UOF9VTlNFVCBPUFRJT05f TUFTS19JU0EyX0FWWFZOTklJTlQ4CisjZGVmaW5lIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05W RVJUX1VOU0VUIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUCiAKIC8qIFNTRTQgaW5jbHVk ZXMgYm90aCBTU0U0LjEgYW5kIFNTRTQuMi4gIC1tbm8tc3NlNCBzaG91bGQgdGhlIHNhbWUKICAg IGFzIC1tbm8tc3NlNC4xLiAqLwpAQCAtMTE2Miw2ICsxMTY1LDIyIEBAIGl4ODZfaGFuZGxlX29w dGlvbiAoc3RydWN0IGdjY19vcHRpb25zICpvcHRzLAogCX0KICAgICAgIHJldHVybiB0cnVlOwog CisgICAgY2FzZSBPUFRfbWF2eG5lY29udmVydDoKKyAgICAgIGlmICh2YWx1ZSkKKwl7CisJICBv cHRzLT54X2l4ODZfaXNhX2ZsYWdzMiB8PSBPUFRJT05fTUFTS19JU0EyX0FWWE5FQ09OVkVSVF9T RVQ7CisJICBvcHRzLT54X2l4ODZfaXNhX2ZsYWdzMl9leHBsaWNpdCB8PSBPUFRJT05fTUFTS19J U0EyX0FWWE5FQ09OVkVSVF9TRVQ7CisJICBvcHRzLT54X2l4ODZfaXNhX2ZsYWdzIHw9IE9QVElP Tl9NQVNLX0lTQV9BVlgyX1NFVDsKKwkgIG9wdHMtPnhfaXg4Nl9pc2FfZmxhZ3NfZXhwbGljaXQg fD0gT1BUSU9OX01BU0tfSVNBX0FWWDJfU0VUOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBvcHRz LT54X2l4ODZfaXNhX2ZsYWdzMiAmPSB+T1BUSU9OX01BU0tfSVNBMl9BVlhORUNPTlZFUlRfVU5T RVQ7CisJICBvcHRzLT54X2l4ODZfaXNhX2ZsYWdzMl9leHBsaWNpdAorCSAgICB8PSBPUFRJT05f TUFTS19JU0EyX0FWWE5FQ09OVkVSVF9VTlNFVDsKKwl9CisgICAgICByZXR1cm4gdHJ1ZTsKKwog ICAgIGNhc2UgT1BUX21mbWE6CiAgICAgICBpZiAodmFsdWUpCiAJewpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbW1vbi9jb25maWcvaTM4Ni9pMzg2LWNwdWluZm8uaCBiL2djYy9jb21tb24vY29uZmlnL2kz ODYvaTM4Ni1jcHVpbmZvLmgKaW5kZXggNzYxYWYyNzE1ZjAuLjRmYmJmYTViNzAxIDEwMDY0NAot LS0gYS9nY2MvY29tbW9uL2NvbmZpZy9pMzg2L2kzODYtY3B1aW5mby5oCisrKyBiL2djYy9jb21t b24vY29uZmlnL2kzODYvaTM4Ni1jcHVpbmZvLmgKQEAgLTI0NSw2ICsyNDUsNyBAQCBlbnVtIHBy b2Nlc3Nvcl9mZWF0dXJlcwogICBGRUFUVVJFX1g4Nl82NF9WNCwKICAgRkVBVFVSRV9BVlhJRk1B LAogICBGRUFUVVJFX0FWWFZOTklJTlQ4LAorICBGRUFUVVJFX0FWWE5FQ09OVkVSVCwKICAgQ1BV X0ZFQVRVUkVfTUFYCiB9OwogCmRpZmYgLS1naXQgYS9nY2MvY29tbW9uL2NvbmZpZy9pMzg2L2kz ODYtaXNhcy5oIGIvZ2NjL2NvbW1vbi9jb25maWcvaTM4Ni9pMzg2LWlzYXMuaAppbmRleCA4YzFm MzUxMDU2Yy4uYmNlYWVlNTg5ZWUgMTAwNjQ0Ci0tLSBhL2djYy9jb21tb24vY29uZmlnL2kzODYv aTM4Ni1pc2FzLmgKKysrIGIvZ2NjL2NvbW1vbi9jb25maWcvaTM4Ni9pMzg2LWlzYXMuaApAQCAt MTc4LDQgKzE3OCw2IEBAIElTQV9OQU1FU19UQUJMRV9TVEFSVAogICBJU0FfTkFNRVNfVEFCTEVf RU5UUlkoImF2eGlmbWEiLCBGRUFUVVJFX0FWWElGTUEsIFBfTk9ORSwgIi1tYXZ4aWZtYSIpCiAg IElTQV9OQU1FU19UQUJMRV9FTlRSWSgiYXZ4dm5uaWludDgiLCBGRUFUVVJFX0FWWFZOTklJTlQ4 LAogCQkJUF9OT05FLCAiLW1hdnh2bm5paW50OCIpCisgIElTQV9OQU1FU19UQUJMRV9FTlRSWSgi YXZ4bmVjb252ZXJ0IiwgRkVBVFVSRV9BVlhORUNPTlZFUlQsCisJCQlQX05PTkUsICItbWF2eG5l Y29udmVydCIpCiBJU0FfTkFNRVNfVEFCTEVfRU5ECmRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdj YyBiL2djYy9jb25maWcuZ2NjCmluZGV4IGU4ZmU2MjNjNmZlLi5lMTU0NTJhZGIwOSAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZy5nY2MKKysrIGIvZ2NjL2NvbmZpZy5nY2MKQEAgLTQyMiw3ICs0MjIs NyBAQCBpWzM0NTY3XTg2LSotKiB8IHg4Nl82NC0qLSopCiAJCSAgICAgICBhbXhiZjE2aW50cmlu LmggeDg2Z3ByaW50cmluLmggdWludHJpbnRyaW4uaAogCQkgICAgICAgaHJlc2V0aW50cmluLmgg a2V5bG9ja2VyaW50cmluLmggYXZ4dm5uaWludHJpbi5oCiAJCSAgICAgICBtd2FpdGludHJpbi5o IGF2eDUxMmZwMTZpbnRyaW4uaCBhdng1MTJmcDE2dmxpbnRyaW4uaAotCQkgICAgICAgYXZ4aWZt YWludHJpbi5oIGF2eHZubmlpbnQ4aW50cmluLmgiCisJCSAgICAgICBhdnhpZm1haW50cmluLmgg YXZ4dm5uaWludDhpbnRyaW4uaCBhdnhuZWNvbnZlcnRpbnRyaW4uaCIKIAk7OwogaWE2NC0qLSop CiAJZXh0cmFfaGVhZGVycz1pYTY0aW50cmluLmgKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4 Ni9hdng1MTJiZjE2dmxpbnRyaW4uaCBiL2djYy9jb25maWcvaTM4Ni9hdng1MTJiZjE2dmxpbnRy aW4uaAppbmRleCA1NmMyOGYxNGNmNi4uZTcwNjkwMzQyY2YgMTAwNjQ0Ci0tLSBhL2djYy9jb25m aWcvaTM4Ni9hdng1MTJiZjE2dmxpbnRyaW4uaAorKysgYi9nY2MvY29uZmlnL2kzODYvYXZ4NTEy YmYxNnZsaW50cmluLmgKQEAgLTQ1LDYgKzQ1LDExIEBAIHR5cGVkZWYgX19iZjE2IF9fbTEyOGJo IF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDE2KSwgX19tYXlfYWxpYXNfXykpOwog CiB0eXBlZGVmIF9fYmYxNiBfX2JmbG9hdDE2OwogCisjZGVmaW5lIF9tbTI1Nl9jdnRuZXBzX3Bi aChBKSBcCisgIChfX20xMjhiaCkgX19idWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2YgKEEp CisjZGVmaW5lIF9tbV9jdnRuZXBzX3BiaChBKSBcCisgIChfX20xMjhiaCkgX19idWlsdGluX2lh MzJfY3Z0bmVwczJiZjE2X3Y0c2YgKEEpCisKIC8qIHZjdnRuZTJwczJiZjE2ICovCiAKIGV4dGVy biBfX2lubGluZSBfX20yNTZiaApAQCAtOTEsMTMgKzk2LDYgQEAgX21tX21hc2t6X2N2dG5lMnBz X3BiaCAoX19tbWFzazggX19BLCBfX20xMjggX19CLCBfX20xMjggX19DKQogCiAvKiB2Y3Z0bmVw czJiZjE2ICovCiAKLWV4dGVybiBfX2lubGluZSBfX20xMjhiaAotX19hdHRyaWJ1dGVfXygoX19n bnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCi1fbW0yNTZf Y3Z0bmVwc19wYmggKF9fbTI1NiBfX0EpCi17Ci0gIHJldHVybiAoX19tMTI4YmgpX19idWlsdGlu X2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2YoX19BKTsKLX0KLQogZXh0ZXJuIF9faW5saW5lIF9fbTEy OGJoCiBfX2F0dHJpYnV0ZV9fKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9f YXJ0aWZpY2lhbF9fKSkKIF9tbTI1Nl9tYXNrX2N2dG5lcHNfcGJoIChfX20xMjhiaCBfX0EsIF9f bW1hc2s4IF9fQiwgX19tMjU2IF9fQykKQEAgLTExMiwxMyArMTEwLDYgQEAgX21tMjU2X21hc2t6 X2N2dG5lcHNfcGJoIChfX21tYXNrOCBfX0EsIF9fbTI1NiBfX0IpCiAgIHJldHVybiAoX19tMTI4 YmgpX19idWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2ZfbWFza3ooX19CLCBfX0EpOwogfQog Ci1leHRlcm4gX19pbmxpbmUgX19tMTI4YmgKLV9fYXR0cmlidXRlX18oKF9fZ251X2lubGluZV9f LCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQotX21tX2N2dG5lcHNfcGJoIChf X20xMjggX19BKQotewotICByZXR1cm4gKF9fbTEyOGJoKV9fYnVpbHRpbl9pYTMyX2N2dG5lcHMy YmYxNl92NHNmKF9fQSk7Ci19Ci0KIGV4dGVybiBfX2lubGluZSBfX20xMjhiaAogX19hdHRyaWJ1 dGVfXygoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykp CiBfbW1fbWFza19jdnRuZXBzX3BiaCAoX19tMTI4YmggX19BLCBfX21tYXNrOCBfX0IsIF9fbTEy OCBfX0MpCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvYXZ4bmVjb252ZXJ0aW50cmluLmgg Yi9nY2MvY29uZmlnL2kzODYvYXZ4bmVjb252ZXJ0aW50cmluLmgKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkxNmYwMGE2Njc2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L2NvbmZpZy9pMzg2L2F2eG5lY29udmVydGludHJpbi5oCkBAIC0wLDAgKzEsMTQwIEBACisvKiBD b3B5cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4KKworICAgR0NDIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBv cHRpb24pCisgICBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgR0NDIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgVW5kZXIg U2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisg ICBwZXJtaXNzaW9ucyBkZXNjcmliZWQgaW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0 aW9uLCB2ZXJzaW9uCisgICAzLjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQKKyAgIGEgY29weSBvZiB0aGUgR0NDIFJ1bnRp bWUgTGlicmFyeSBFeGNlcHRpb24gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07CisgICBzZWUgdGhl IGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90 LCBzZWUKKyAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpZm5kZWYg X0lNTUlOVFJJTl9IX0lOQ0xVREVECisjZXJyb3IgIk5ldmVyIHVzZSA8YXZ4bmVjb252ZXJ0aW50 cmluLmg+IGRpcmVjdGx5OyBpbmNsdWRlIDxpbW1pbnRyaW4uaD4gaW5zdGVhZC4iCisjZW5kaWYK KworI2lmbmRlZiBfQVZYTkVDT05WRVJUSU5UUklOX0hfSU5DTFVERUQKKyNkZWZpbmUgX0FWWE5F Q09OVkVSVElOVFJJTl9IX0lOQ0xVREVECisKKyNpZm5kZWYgX19BVlhORUNPTlZFUlRfXworI3By YWdtYSBHQ0MgcHVzaF9vcHRpb25zCisjcHJhZ21hIEdDQyB0YXJnZXQgKCJhdnhuZWNvbnZlcnQi KQorI2RlZmluZSBfX0RJU0FCTEVfQVZYTkVDT05WRVJUX18KKyNlbmRpZiAvKiBfX0FWWE5FQ09O VkVSVF9fICovCisKK2V4dGVybiBfX2lubGluZSBfX20xMjgKK19fYXR0cmlidXRlX18gKChfX2du dV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKK19tbV9iY3N0 bmViZjE2X3BzIChjb25zdCB2b2lkICpfX1ApCit7CisgIHJldHVybiAoX19tMTI4KSBfX2J1aWx0 aW5faWEzMl92YmNzdG5lYmYxNjJwczEyOCAoKGNvbnN0IF9fYmYxNiAqKSBfX1ApOworfQorCitl eHRlcm4gX19pbmxpbmUgX19tMjU2CitfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9f YWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCitfbW0yNTZfYmNzdG5lYmYxNl9wcyAo Y29uc3Qgdm9pZCAqX19QKQoreworICByZXR1cm4gKF9fbTI1NikgX19idWlsdGluX2lhMzJfdmJj c3RuZWJmMTYycHMyNTYgKChjb25zdCBfX2JmMTYgKikgX19QKTsKK30KKworZXh0ZXJuIF9faW5s aW5lIF9fbTEyOAorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQorX21tX2Jjc3RuZXNoX3BzIChjb25zdCB2b2lkICpfX1Ap Cit7CisgIHJldHVybiAoX19tMTI4KSBfX2J1aWx0aW5faWEzMl92YmNzdG5lc2gycHMxMjggKChj b25zdCBfRmxvYXQxNiAqKSBfX1ApOworfQorCitleHRlcm4gX19pbmxpbmUgX19tMjU2CitfX2F0 dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18sIF9fYWx3YXlzX2lubGluZV9fLCBfX2FydGlmaWNp YWxfXykpCitfbW0yNTZfYmNzdG5lc2hfcHMgKGNvbnN0IHZvaWQgKl9fUCkKK3sKKyAgcmV0dXJu IChfX20yNTYpIF9fYnVpbHRpbl9pYTMyX3ZiY3N0bmVzaDJwczI1NiAoKGNvbnN0IF9GbG9hdDE2 ICopIF9fUCk7Cit9CisKK2V4dGVybiBfX2lubGluZSBfX20xMjgKK19fYXR0cmlidXRlX18gKChf X2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKK19tbV9j dnRuZWViZjE2X3BzIChjb25zdCBfX20xMjhiaCAqX19BKQoreworICByZXR1cm4gKF9fbTEyOCkg X19idWlsdGluX2lhMzJfdmN2dG5lZWJmMTYycHMxMjggKChjb25zdCBfX3Y4YmYgKikgX19BKTsK K30KKworZXh0ZXJuIF9faW5saW5lIF9fbTI1NgorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGlu ZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21tMjU2X2N2dG5lZWJm MTZfcHMgKGNvbnN0IF9fbTI1NmJoICpfX0EpCit7CisgIHJldHVybiAoX19tMjU2KSBfX2J1aWx0 aW5faWEzMl92Y3Z0bmVlYmYxNjJwczI1NiAoKGNvbnN0IF9fdjE2YmYgKikgX19BKTsKK30KKwor ZXh0ZXJuIF9faW5saW5lIF9fbTEyOAorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBf X2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21tX2N2dG5lZXBoX3BzIChjb25z dCBfX20xMjhoICpfX0EpCit7CisgIHJldHVybiAoX19tMTI4KSBfX2J1aWx0aW5faWEzMl92Y3Z0 bmVlcGgycHMxMjggKChjb25zdCBfX3Y4aGYgKikgX19BKTsKK30KKworZXh0ZXJuIF9faW5saW5l IF9fbTI1NgorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVf XywgX19hcnRpZmljaWFsX18pKQorX21tMjU2X2N2dG5lZXBoX3BzIChjb25zdCBfX20yNTZoICpf X0EpCit7CisgIHJldHVybiAoX19tMjU2KSBfX2J1aWx0aW5faWEzMl92Y3Z0bmVlcGgycHMyNTYg KChjb25zdCBfX3YxNmhmICopIF9fQSk7Cit9CisKK2V4dGVybiBfX2lubGluZSBfX20xMjgKK19f YXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVfXywgX19hbHdheXNfaW5saW5lX18sIF9fYXJ0aWZp Y2lhbF9fKSkKK19tbV9jdnRuZW9iZjE2X3BzIChjb25zdCBfX20xMjhiaCAqX19BKQoreworICBy ZXR1cm4gKF9fbTEyOCkgX19idWlsdGluX2lhMzJfdmN2dG5lb2JmMTYycHMxMjggKChjb25zdCBf X3Y4YmYgKikgX19BKTsKK30KKworZXh0ZXJuIF9faW5saW5lIF9fbTI1NgorX19hdHRyaWJ1dGVf XyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQor X21tMjU2X2N2dG5lb2JmMTZfcHMgKGNvbnN0IF9fbTI1NmJoICpfX0EpCit7CisgIHJldHVybiAo X19tMjU2KSBfX2J1aWx0aW5faWEzMl92Y3Z0bmVvYmYxNjJwczI1NiAoKGNvbnN0IF9fdjE2YmYg KikgX19BKTsKK30KKworZXh0ZXJuIF9faW5saW5lIF9fbTEyOAorX19hdHRyaWJ1dGVfXyAoKF9f Z251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21tX2N2 dG5lb3BoX3BzIChjb25zdCBfX20xMjhoICpfX0EpCit7CisgIHJldHVybiAoX19tMTI4KSBfX2J1 aWx0aW5faWEzMl92Y3Z0bmVvcGgycHMxMjggKChjb25zdCBfX3Y4aGYgKikgX19BKTsKK30KKwor ZXh0ZXJuIF9faW5saW5lIF9fbTI1NgorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBf X2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21tMjU2X2N2dG5lb3BoX3BzIChj b25zdCBfX20yNTZoICpfX0EpCit7CisgIHJldHVybiAoX19tMjU2KSBfX2J1aWx0aW5faWEzMl92 Y3Z0bmVvcGgycHMyNTYgKChjb25zdCBfX3YxNmhmICopIF9fQSk7Cit9CisKK2V4dGVybiBfX2lu bGluZSBfX20xMjhiaAorX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21tX2N2dG5lcHNfYXZ4X3BiaCAoX19tMTI4IF9f QSkKK3sKKyAgcmV0dXJuIChfX20xMjhiaCkgX19idWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y0 c2YgKF9fQSk7Cit9CisKK2V4dGVybiBfX2lubGluZSBfX20xMjhiaAorX19hdHRyaWJ1dGVfXyAo KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorX21t MjU2X2N2dG5lcHNfYXZ4X3BiaCAoX19tMjU2IF9fQSkKK3sKKyAgcmV0dXJuIChfX20xMjhiaCkg X19idWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2YgKF9fQSk7Cit9CisKKyNpZmRlZiBfX0RJ U0FCTEVfQVZYTkVDT05WRVJUX18KKyN1bmRlZiBfX0RJU0FCTEVfQVZYTkVDT05WRVJUX18KKyNw cmFnbWEgR0NDIHBvcF9vcHRpb25zCisjZW5kaWYgLyogX19ESVNBQkxFX0FWWE5FQ09OVkVSVF9f ICovCisKKyNlbmRpZiAvKiBfQVZYTkVDT05WRVJUSU5UUklOX0hfSU5DTFVERUQgKi8KZGlmZiAt LWdpdCBhL2djYy9jb25maWcvaTM4Ni9jcHVpZC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2NwdWlkLmgK aW5kZXggZjVmYWQyMjE0OWEuLjE4YmJjMGNiN2JlIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2kz ODYvY3B1aWQuaAorKysgYi9nY2MvY29uZmlnL2kzODYvY3B1aWQuaApAQCAtNTAsNiArNTAsNyBA QAogCiAvKiAlZWR4ICovCiAjZGVmaW5lIGJpdF9BVlhWTk5JSU5UOCAoMSA8PCA0KQorI2RlZmlu ZSBiaXRfQVZYTkVDT05WRVJUICgxIDw8IDUpCiAjZGVmaW5lIGJpdF9DTVBYQ0hHOEIJKDEgPDwg OCkKICNkZWZpbmUgYml0X0NNT1YJKDEgPDwgMTUpCiAjZGVmaW5lIGJpdF9NTVgJCSgxIDw8IDIz KQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYtYnVpbHRpbi10eXBlcy5kZWYgYi9n Y2MvY29uZmlnL2kzODYvaTM4Ni1idWlsdGluLXR5cGVzLmRlZgppbmRleCBhZWRhZTJkNzc1MC4u YWJiYjUwYjExOTIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWJ1aWx0aW4tdHlw ZXMuZGVmCisrKyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LWJ1aWx0aW4tdHlwZXMuZGVmCkBAIC0x MzksNiArMTM5LDcgQEAgREVGX1BPSU5URVJfVFlQRSAoUFZPSUQsIFZPSUQpCiBERUZfUE9JTlRF Ul9UWVBFIChQRE9VQkxFLCBET1VCTEUpCiBERUZfUE9JTlRFUl9UWVBFIChQRkxPQVQsIEZMT0FU KQogREVGX1BPSU5URVJfVFlQRSAoUENGTE9BVDE2LCBGTE9BVDE2LCBDT05TVCkKK0RFRl9QT0lO VEVSX1RZUEUgKFBDQkZMT0FUMTYsIEJGTE9BVDE2LCBDT05TVCkKIERFRl9QT0lOVEVSX1RZUEUg KFBTSE9SVCwgU0hPUlQpCiBERUZfUE9JTlRFUl9UWVBFIChQVVNIT1JULCBVU0hPUlQpCiBERUZf UE9JTlRFUl9UWVBFIChQSU5ULCBJTlQpCkBAIC0xODIsNiArMTgzLDEwIEBAIERFRl9QT0lOVEVS X1RZUEUgKFBDVjRERiwgVjRERiwgQ09OU1QpCiBERUZfUE9JTlRFUl9UWVBFIChQQ1Y0U0YsIFY0 U0YsIENPTlNUKQogREVGX1BPSU5URVJfVFlQRSAoUENWOERGLCBWOERGLCBDT05TVCkKIERFRl9Q T0lOVEVSX1RZUEUgKFBDVjhTRiwgVjhTRiwgQ09OU1QpCitERUZfUE9JTlRFUl9UWVBFIChQQ1Y4 SEYsIFY4SEYsIENPTlNUKQorREVGX1BPSU5URVJfVFlQRSAoUENWOEJGLCBWOEJGLCBDT05TVCkK K0RFRl9QT0lOVEVSX1RZUEUgKFBDVjE2SEYsIFYxNkhGLCBDT05TVCkKK0RFRl9QT0lOVEVSX1RZ UEUgKFBDVjE2QkYsIFYxNkJGLCBDT05TVCkKIERFRl9QT0lOVEVSX1RZUEUgKFBDVjE2U0YsIFYx NlNGLCBDT05TVCkKIAogREVGX1BPSU5URVJfVFlQRSAoUENWMkRJLCBWMkRJLCBDT05TVCkKQEAg LTEzOTIsMyArMTM5NywxMyBAQCBERUZfRlVOQ1RJT05fVFlQRSAoVjMySEYsIFYzMkhGKQogREVG X0ZVTkNUSU9OX1RZUEVfQUxJQVMgKFY4SEZfRlRZUEVfVjhIRiwgUk9VTkQpCiBERUZfRlVOQ1RJ T05fVFlQRV9BTElBUyAoVjE2SEZfRlRZUEVfVjE2SEYsIFJPVU5EKQogREVGX0ZVTkNUSU9OX1RZ UEVfQUxJQVMgKFYzMkhGX0ZUWVBFX1YzMkhGLCBST1VORCkKKworIyBBVlhORUNPTlZFUlQgYnVp bHRpbnMKK0RFRl9GVU5DVElPTl9UWVBFIChWNFNGLCBQQ0JGTE9BVDE2KQorREVGX0ZVTkNUSU9O X1RZUEUgKFY4U0YsIFBDQkZMT0FUMTYpCitERUZfRlVOQ1RJT05fVFlQRSAoVjRTRiwgUENGTE9B VDE2KQorREVGX0ZVTkNUSU9OX1RZUEUgKFY4U0YsIFBDRkxPQVQxNikKK0RFRl9GVU5DVElPTl9U WVBFIChWNFNGLCBQQ1Y4SEYpCitERUZfRlVOQ1RJT05fVFlQRSAoVjhTRiwgUENWMTZIRikKK0RF Rl9GVU5DVElPTl9UWVBFIChWNFNGLCBQQ1Y4QkYpCitERUZfRlVOQ1RJT05fVFlQRSAoVjhTRiwg UENWMTZCRikKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWJ1aWx0aW4uZGVmIGIv Z2NjL2NvbmZpZy9pMzg2L2kzODYtYnVpbHRpbi5kZWYKaW5kZXggNTgwMmUyMDQ5YTguLjkzNDVi OGM1ZDY5IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2kzODYvaTM4Ni1idWlsdGluLmRlZgorKysg Yi9nY2MvY29uZmlnL2kzODYvaTM4Ni1idWlsdGluLmRlZgpAQCAtMjc0LDYgKzI3NCwyMCBAQCBC REVTQyAoT1BUSU9OX01BU0tfSVNBX1JUTSwgMCwgQ09ERV9GT1JfeGJlZ2luLCAiX19idWlsdGlu X2lhMzJfeGJlZ2luIiwgSVg4Nl9CVQogQkRFU0MgKE9QVElPTl9NQVNLX0lTQV9SVE0sIDAsIENP REVfRk9SX3hlbmQsICJfX2J1aWx0aW5faWEzMl94ZW5kIiwgSVg4Nl9CVUlMVElOX1hFTkQsIFVO S05PV04sIChpbnQpIFZPSURfRlRZUEVfVk9JRCkKIEJERVNDIChPUFRJT05fTUFTS19JU0FfUlRN LCAwLCBDT0RFX0ZPUl94dGVzdCwgIl9fYnVpbHRpbl9pYTMyX3h0ZXN0IiwgSVg4Nl9CVUlMVElO X1hURVNULCBVTktOT1dOLCAoaW50KSBJTlRfRlRZUEVfVk9JRCkKIAorLyogQVZYLU5FLUNPTlZF UlQgKi8KK0JERVNDICgwLCBPUFRJT05fTUFTS19JU0EyX0FWWE5FQ09OVkVSVCwgQ09ERV9GT1Jf dmJjc3RuZWJmMTYycHNfdjRzZiwgIl9fYnVpbHRpbl9pYTMyX3ZiY3N0bmViZjE2MnBzMTI4Iiwg SVg4Nl9CVUlMVElOX1ZCQ1NUTkVCRjE2MlBTMTI4LCBVTktOT1dOLCAoaW50KSBWNFNGX0ZUWVBF X1BDQkZMT0FUMTYpCitCREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9BVlhORUNPTlZFUlQsIENP REVfRk9SX3ZiY3N0bmViZjE2MnBzX3Y4c2YsICJfX2J1aWx0aW5faWEzMl92YmNzdG5lYmYxNjJw czI1NiIsIElYODZfQlVJTFRJTl9WQkNTVE5FQkYxNjJQUzI1NiwgVU5LTk9XTiwgKGludCkgVjhT Rl9GVFlQRV9QQ0JGTE9BVDE2KQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05W RVJULCBDT0RFX0ZPUl92YmNzdG5lc2gycHNfdjRzZiwgIl9fYnVpbHRpbl9pYTMyX3ZiY3N0bmVz aDJwczEyOCIsIElYODZfQlVJTFRJTl9WQkNTVE5FU0gyUFMxMjgsIFVOS05PV04sIChpbnQpIFY0 U0ZfRlRZUEVfUENGTE9BVDE2KQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05W RVJULCBDT0RFX0ZPUl92YmNzdG5lc2gycHNfdjhzZiwgIl9fYnVpbHRpbl9pYTMyX3ZiY3N0bmVz aDJwczI1NiIsIElYODZfQlVJTFRJTl9WQkNTVE5FU0gyUFMyNTYsIFVOS05PV04sIChpbnQpIFY4 U0ZfRlRZUEVfUENGTE9BVDE2KQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05W RVJULCBDT0RFX0ZPUl92Y3Z0bmVlYmYxNjJwc192OGJmLCAiX19idWlsdGluX2lhMzJfdmN2dG5l ZWJmMTYycHMxMjgiLCBJWDg2X0JVSUxUSU5fVkNWVE5FRUJGMTYyUFMxMjgsIFVOS05PV04sIChp bnQpIFY0U0ZfRlRZUEVfUENWOEJGKQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVD T05WRVJULCBDT0RFX0ZPUl92Y3Z0bmVlYmYxNjJwc192MTZiZiwgIl9fYnVpbHRpbl9pYTMyX3Zj dnRuZWViZjE2MnBzMjU2IiwgSVg4Nl9CVUlMVElOX1ZDVlRORUVCRjE2MlBTMjU2LCBVTktOT1dO LCAoaW50KSBWOFNGX0ZUWVBFX1BDVjE2QkYpCitCREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9B VlhORUNPTlZFUlQsIENPREVfRk9SX3ZjdnRuZWVwaDJwc192OGhmLCAiX19idWlsdGluX2lhMzJf dmN2dG5lZXBoMnBzMTI4IiwgSVg4Nl9CVUlMVElOX1ZDVlRORUVQSDJQUzEyOCwgVU5LTk9XTiwg KGludCkgVjRTRl9GVFlQRV9QQ1Y4SEYpCitCREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9BVlhO RUNPTlZFUlQsIENPREVfRk9SX3ZjdnRuZWVwaDJwc192MTZoZiwgIl9fYnVpbHRpbl9pYTMyX3Zj dnRuZWVwaDJwczI1NiIsIElYODZfQlVJTFRJTl9WQ1ZUTkVFUEgyUFMyNTYsIFVOS05PV04sIChp bnQpIFY4U0ZfRlRZUEVfUENWMTZIRikKK0JERVNDICgwLCBPUFRJT05fTUFTS19JU0EyX0FWWE5F Q09OVkVSVCwgQ09ERV9GT1JfdmN2dG5lb2JmMTYycHNfdjhiZiwgIl9fYnVpbHRpbl9pYTMyX3Zj dnRuZW9iZjE2MnBzMTI4IiwgSVg4Nl9CVUlMVElOX1ZDVlRORU9CRjE2MlBTMTI4LCBVTktOT1dO LCAoaW50KSBWNFNGX0ZUWVBFX1BDVjhCRikKK0JERVNDICgwLCBPUFRJT05fTUFTS19JU0EyX0FW WE5FQ09OVkVSVCwgQ09ERV9GT1JfdmN2dG5lb2JmMTYycHNfdjE2YmYsICJfX2J1aWx0aW5faWEz Ml92Y3Z0bmVvYmYxNjJwczI1NiIsIElYODZfQlVJTFRJTl9WQ1ZUTkVPQkYxNjJQUzI1NiwgVU5L Tk9XTiwgKGludCkgVjhTRl9GVFlQRV9QQ1YxNkJGKQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lT QTJfQVZYTkVDT05WRVJULCBDT0RFX0ZPUl92Y3Z0bmVvcGgycHNfdjhoZiwgIl9fYnVpbHRpbl9p YTMyX3ZjdnRuZW9waDJwczEyOCIsIElYODZfQlVJTFRJTl9WQ1ZUTkVPUEgyUFMxMjgsIFVOS05P V04sIChpbnQpIFY0U0ZfRlRZUEVfUENWOEhGKQorQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJf QVZYTkVDT05WRVJULCBDT0RFX0ZPUl92Y3Z0bmVvcGgycHNfdjE2aGYsICJfX2J1aWx0aW5faWEz Ml92Y3Z0bmVvcGgycHMyNTYiLCBJWDg2X0JVSUxUSU5fVkNWVE5FT1BIMlBTMjU2LCBVTktOT1dO LCAoaW50KSBWOFNGX0ZUWVBFX1BDVjE2SEYpCisKIC8qIEFWWDUxMkJXICovCiBCREVTQyAoT1BU SU9OX01BU0tfSVNBX0FWWDUxMkJXLCAwLCBDT0RFX0ZPUl9hdng1MTJid19sb2FkdjMyaGlfbWFz aywgIl9fYnVpbHRpbl9pYTMyX2xvYWRkcXVoaTUxMl9tYXNrIiwgSVg4Nl9CVUlMVElOX0xPQURE UVVISTUxMl9NQVNLLCBVTktOT1dOLCAoaW50KSBWMzJISV9GVFlQRV9QQ1NIT1JUX1YzMkhJX1VT SSkKIEJERVNDIChPUFRJT05fTUFTS19JU0FfQVZYNTEyQlcsIDAsIENPREVfRk9SX2F2eDUxMmJ3 X2xvYWR2NjRxaV9tYXNrLCAiX19idWlsdGluX2lhMzJfbG9hZGRxdXFpNTEyX21hc2siLCBJWDg2 X0JVSUxUSU5fTE9BRERRVVFJNTEyX01BU0ssIFVOS05PV04sIChpbnQpIFY2NFFJX0ZUWVBFX1BD Q0hBUl9WNjRRSV9VREkpCkBAIC0yNzkxLDEwICsyODA1LDEwIEBAIEJERVNDICgwLCBPUFRJT05f TUFTS19JU0EyX0FWWDUxMkJGMTYsIENPREVfRk9SX2F2eDUxMmZfY3Z0bmUycHMyYmYxNl92OGJm X21hc2t6CiBCREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9BVlg1MTJCRjE2LCBDT0RFX0ZPUl9h dng1MTJmX2N2dG5lcHMyYmYxNl92MTZzZiwgIl9fYnVpbHRpbl9pYTMyX2N2dG5lcHMyYmYxNl92 MTZzZiIsIElYODZfQlVJTFRJTl9DVlRORVBTMkJGMTZfVjE2U0YsIFVOS05PV04sIChpbnQpIFYx NkJGX0ZUWVBFX1YxNlNGKQogQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYNTEyQkYxNiwg Q09ERV9GT1JfYXZ4NTEyZl9jdnRuZXBzMmJmMTZfdjE2c2ZfbWFzaywgIl9fYnVpbHRpbl9pYTMy X2N2dG5lcHMyYmYxNl92MTZzZl9tYXNrIiwgSVg4Nl9CVUlMVElOX0NWVE5FUFMyQkYxNl9WMTZT Rl9NQVNLLCBVTktOT1dOLCAoaW50KSBWMTZCRl9GVFlQRV9WMTZTRl9WMTZCRl9VSEkpCiBCREVT QyAoMCwgT1BUSU9OX01BU0tfSVNBMl9BVlg1MTJCRjE2LCBDT0RFX0ZPUl9hdng1MTJmX2N2dG5l cHMyYmYxNl92MTZzZl9tYXNreiwgIl9fYnVpbHRpbl9pYTMyX2N2dG5lcHMyYmYxNl92MTZzZl9t YXNreiIsIElYODZfQlVJTFRJTl9DVlRORTJQUzJCRjE2X1YxNlNGX01BU0taLCBVTktOT1dOLCAo aW50KSBWMTZCRl9GVFlQRV9WMTZTRl9VSEkpCi1CREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9B Vlg1MTJCRjE2LCBDT0RFX0ZPUl9hdng1MTJmX2N2dG5lcHMyYmYxNl92OHNmLCAiX19idWlsdGlu X2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2YiLCBJWDg2X0JVSUxUSU5fQ1ZUTkVQUzJCRjE2X1Y4U0Ys IFVOS05PV04sIChpbnQpIFY4QkZfRlRZUEVfVjhTRikKK0JERVNDIChPUFRJT05fTUFTS19JU0Ff QVZYNTEyVkwsIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUIHwgT1BUSU9OX01BU0tfSVNB Ml9BVlg1MTJCRjE2LCBDT0RFX0ZPUl92Y3Z0bmVwczJiZjE2X3Y4c2YsICJfX2J1aWx0aW5faWEz Ml9jdnRuZXBzMmJmMTZfdjhzZiIsIElYODZfQlVJTFRJTl9DVlRORVBTMkJGMTZfVjhTRiwgVU5L Tk9XTiwgKGludCkgVjhCRl9GVFlQRV9WOFNGKQogQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJf QVZYNTEyQkYxNiwgQ09ERV9GT1JfYXZ4NTEyZl9jdnRuZXBzMmJmMTZfdjhzZl9tYXNrLCAiX19i dWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y4c2ZfbWFzayIsIElYODZfQlVJTFRJTl9DVlRORVBT MkJGMTZfVjhTRl9NQVNLLCBVTktOT1dOLCAoaW50KSBWOEJGX0ZUWVBFX1Y4U0ZfVjhCRl9VUUkp CiBCREVTQyAoMCwgT1BUSU9OX01BU0tfSVNBMl9BVlg1MTJCRjE2LCBDT0RFX0ZPUl9hdng1MTJm X2N2dG5lcHMyYmYxNl92OHNmX21hc2t6LCAiX19idWlsdGluX2lhMzJfY3Z0bmVwczJiZjE2X3Y4 c2ZfbWFza3oiLCBJWDg2X0JVSUxUSU5fQ1ZUTkUyUFMyQkYxNl9WOFNGX01BU0taLCBVTktOT1dO LCAoaW50KSBWOEJGX0ZUWVBFX1Y4U0ZfVVFJKQotQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJf QVZYNTEyQkYxNiwgQ09ERV9GT1JfYXZ4NTEyZl9jdnRuZXBzMmJmMTZfdjRzZiwgIl9fYnVpbHRp bl9pYTMyX2N2dG5lcHMyYmYxNl92NHNmIiwgSVg4Nl9CVUlMVElOX0NWVE5FUFMyQkYxNl9WNFNG LCBVTktOT1dOLCAoaW50KSBWOEJGX0ZUWVBFX1Y0U0YpCitCREVTQyAoT1BUSU9OX01BU0tfSVNB X0FWWDUxMlZMLCBPUFRJT05fTUFTS19JU0EyX0FWWE5FQ09OVkVSVCB8IE9QVElPTl9NQVNLX0lT QTJfQVZYNTEyQkYxNiwgQ09ERV9GT1JfdmN2dG5lcHMyYmYxNl92NHNmLCAiX19idWlsdGluX2lh MzJfY3Z0bmVwczJiZjE2X3Y0c2YiLCBJWDg2X0JVSUxUSU5fQ1ZUTkVQUzJCRjE2X1Y0U0YsIFVO S05PV04sIChpbnQpIFY4QkZfRlRZUEVfVjRTRikKIEJERVNDICgwLCBPUFRJT05fTUFTS19JU0Ey X0FWWDUxMkJGMTYsIENPREVfRk9SX2F2eDUxMmZfY3Z0bmVwczJiZjE2X3Y0c2ZfbWFzaywgIl9f YnVpbHRpbl9pYTMyX2N2dG5lcHMyYmYxNl92NHNmX21hc2siLCBJWDg2X0JVSUxUSU5fQ1ZUTkVQ UzJCRjE2X1Y0U0ZfTUFTSywgVU5LTk9XTiwgKGludCkgVjhCRl9GVFlQRV9WNFNGX1Y4QkZfVVFJ KQogQkRFU0MgKDAsIE9QVElPTl9NQVNLX0lTQTJfQVZYNTEyQkYxNiwgQ09ERV9GT1JfYXZ4NTEy Zl9jdnRuZXBzMmJmMTZfdjRzZl9tYXNreiwgIl9fYnVpbHRpbl9pYTMyX2N2dG5lcHMyYmYxNl92 NHNmX21hc2t6IiwgSVg4Nl9CVUlMVElOX0NWVE5FMlBTMkJGMTZfVjRTRl9NQVNLWiwgVU5LTk9X TiwgKGludCkgVjhCRl9GVFlQRV9WNFNGX1VRSSkKIEJERVNDICgwLCBPUFRJT05fTUFTS19JU0Ey X0FWWDUxMkJGMTYsIENPREVfRk9SX2F2eDUxMmZfZHBiZjE2cHNfdjE2c2YsICJfX2J1aWx0aW5f aWEzMl9kcGJmMTZwc192MTZzZiIsIElYODZfQlVJTFRJTl9EUEJGMTZQU19WMTZTRiwgVU5LTk9X TiwgKGludCkgVjE2U0ZfRlRZUEVfVjE2U0ZfVjMyQkZfVjMyQkYpCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL2kzODYvaTM4Ni1jLmNjIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtYy5jYwppbmRleCBm NzBmODkxOGRhOS4uZmExOTVlNzM5YTYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2 LWMuY2MKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtYy5jYwpAQCAtNjQ0LDYgKzY0NCw4IEBA IGl4ODZfdGFyZ2V0X21hY3Jvc19pbnRlcm5hbCAoSE9TVF9XSURFX0lOVCBpc2FfZmxhZywKICAg ICBkZWZfb3JfdW5kZWYgKHBhcnNlX2luLCAiX19BVlhJRk1BX18iKTsKICAgaWYgKGlzYV9mbGFn MiAmIE9QVElPTl9NQVNLX0lTQTJfQVZYVk5OSUlOVDgpCiAgICAgZGVmX29yX3VuZGVmIChwYXJz ZV9pbiwgIl9fQVZYVk5OSUlOVDhfXyIpOworICBpZiAoaXNhX2ZsYWcyICYgT1BUSU9OX01BU0tf SVNBMl9BVlhORUNPTlZFUlQpCisgICAgZGVmX29yX3VuZGVmIChwYXJzZV9pbiwgIl9fQVZYTkVD T05WRVJUX18iKTsKICAgaWYgKFRBUkdFVF9JQU1DVSkKICAgICB7CiAgICAgICBkZWZfb3JfdW5k ZWYgKHBhcnNlX2luLCAiX19pYW1jdSIpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kz ODYtZXhwYW5kLmNjIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtZXhwYW5kLmNjCmluZGV4IDhlMWVm MGI0YzRhLi43ZDE3YmZlYWRlYSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYtZXhw YW5kLmNjCisrKyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jYwpAQCAtMTE4OTcsNiAr MTE4OTcsMTQgQEAgaXg4Nl9leHBhbmRfc3BlY2lhbF9hcmdzX2J1aWx0aW4gKGNvbnN0IHN0cnVj dCBidWlsdGluX2Rlc2NyaXB0aW9uICpkLAogICAgIGNhc2UgVjhTRl9GVFlQRV9QQ1Y0U0Y6CiAg ICAgY2FzZSBWOFNGX0ZUWVBFX1BDRkxPQVQ6CiAgICAgY2FzZSBWNFNGX0ZUWVBFX1BDRkxPQVQ6 CisgICAgY2FzZSBWNFNGX0ZUWVBFX1BDRkxPQVQxNjoKKyAgICBjYXNlIFY0U0ZfRlRZUEVfUENC RkxPQVQxNjoKKyAgICBjYXNlIFY0U0ZfRlRZUEVfUENWOEJGOgorICAgIGNhc2UgVjRTRl9GVFlQ RV9QQ1Y4SEY6CisgICAgY2FzZSBWOFNGX0ZUWVBFX1BDRkxPQVQxNjoKKyAgICBjYXNlIFY4U0Zf RlRZUEVfUENCRkxPQVQxNjoKKyAgICBjYXNlIFY4U0ZfRlRZUEVfUENWMTZIRjoKKyAgICBjYXNl IFY4U0ZfRlRZUEVfUENWMTZCRjoKICAgICBjYXNlIFY0REZfRlRZUEVfUENWMkRGOgogICAgIGNh c2UgVjRERl9GVFlQRV9QQ0RPVUJMRToKICAgICBjYXNlIFYyREZfRlRZUEVfUENET1VCTEU6CkBA IC0xMjQwNiw2ICsxMjQxNCw4IEBAIGl4ODZfY2hlY2tfYnVpbHRpbl9pc2FfbWF0Y2ggKHVuc2ln bmVkIGludCBmY29kZSwKICAgICAgICBPUFRJT05fTUFTS19JU0EyX0FWWFZOTkkKICAgICAgKE9Q VElPTl9NQVNLX0lTQV9BVlg1MTJJRk1BIHwgT1BUSU9OX01BU0tfSVNBX0FWWDUxMklGTUEpIG9y CiAgICAgICAgT1BUSU9OX01BU0tfSVNBMl9BVlhJRk1BCisgICAgIChPUFRJT05fTUFTS19JU0Ff QVZYTkVDT05WRVJUIHwgT1BUSU9OX01BU0tfSVNBMl9BVlg1MTJCRjE2KSBvcgorICAgICAgIE9Q VElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUCiAgICAgIHdoZXJlIGZvciBlYWNoIHN1Y2ggcGFp ciBpdCBpcyBzdWZmaWNpZW50IGlmIGVpdGhlciBvZiB0aGUgSVNBcyBpcwogICAgICBlbmFibGVk LCBwbHVzIGlmIGl0IGlzIG9yZWQgd2l0aCBvdGhlciBvcHRpb25zIGFsc28gdGhvc2Ugb3RoZXJz LgogICAgICBPUFRJT05fTUFTS19JU0FfTU1YIGluIGJpc2EgaXMgc2F0aXNmaWVkIGFsc28gaWYg VEFSR0VUX01NWF9XSVRIX1NTRS4gICovCkBAIC0xMjQ0Niw2ICsxMjQ1NiwxNyBAQCBpeDg2X2No ZWNrX2J1aWx0aW5faXNhX21hdGNoICh1bnNpZ25lZCBpbnQgZmNvZGUsCiAgICAgICBpc2EyIHw9 IE9QVElPTl9NQVNLX0lTQTJfQVZYSUZNQTsKICAgICB9CiAKKyAgaWYgKCgoKGJpc2EgJiBPUFRJ T05fTUFTS19JU0FfQVZYNTEyVkwpICE9IDAKKwkgJiYgKGJpc2EyICYgT1BUSU9OX01BU0tfSVNB Ml9BVlg1MTJCRjE2KSAhPSAwKQorCSYmIChiaXNhMiAmIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVD T05WRVJUKSAhPSAwKQorICAgICAgICYmICgoKGlzYSAmIE9QVElPTl9NQVNLX0lTQV9BVlg1MTJW TCkgIT0gMAorCSAgICAmJiAoaXNhMiAmIE9QVElPTl9NQVNLX0lTQTJfQVZYNTEyQkYxNikgIT0g MCkKKwkgICB8fCAoaXNhMiAmIE9QVElPTl9NQVNLX0lTQTJfQVZYTkVDT05WRVJUKSAhPSAwKSkK KyAgICB7CisgICAgICBpc2EgfD0gT1BUSU9OX01BU0tfSVNBX0FWWDUxMlZMOworICAgICAgaXNh MiB8PSBPUFRJT05fTUFTS19JU0EyX0FWWE5FQ09OVkVSVCB8IE9QVElPTl9NQVNLX0lTQTJfQVZY NTEyQkYxNjsKKyAgICB9CisKICAgaWYgKChiaXNhICYgT1BUSU9OX01BU0tfSVNBX01NWCkgJiYg IVRBUkdFVF9NTVggJiYgVEFSR0VUX01NWF9XSVRIX1NTRQogICAgICAgLyogX19idWlsdGluX2lh MzJfbWFza21vdnEgcmVxdWlyZXMgTU1YIHJlZ2lzdGVycy4gICovCiAgICAgICAmJiBmY29kZSAh PSBJWDg2X0JVSUxUSU5fTUFTS01PVlEpCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4 Ni1pc2EuZGVmIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtaXNhLmRlZgppbmRleCBjOTViOTE3YzZj ZS4uNGVhM2Y5NmY2OWYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWlzYS5kZWYK KysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtaXNhLmRlZgpAQCAtMTExLDMgKzExMSw0IEBAIERF Rl9QVEEoQVZYVk5OSSkKIERFRl9QVEEoQVZYNTEyRlAxNikKIERFRl9QVEEoQVZYSUZNQSkKIERF Rl9QVEEoQVZYVk5OSUlOVDgpCitERUZfUFRBKEFWWE5FQ09OVkVSVCkKZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvaTM4Ni9pMzg2LW9wdGlvbnMuY2MgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni1vcHRp b25zLmNjCmluZGV4IDFmMTRkNjkxN2Q4Li5lZjljODg4OTgwYyAxMDA2NDQKLS0tIGEvZ2NjL2Nv bmZpZy9pMzg2L2kzODYtb3B0aW9ucy5jYworKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni1vcHRp b25zLmNjCkBAIC0yMjksNyArMjI5LDggQEAgc3RhdGljIHN0cnVjdCBpeDg2X3RhcmdldF9vcHRz IGlzYTJfb3B0c1tdID0KICAgeyAiLW1hdnh2bm5pIiwJT1BUSU9OX01BU0tfSVNBMl9BVlhWTk5J IH0sCiAgIHsgIi1tYXZ4NTEyZnAxNiIsCU9QVElPTl9NQVNLX0lTQTJfQVZYNTEyRlAxNiB9LAog ICB7ICItbWF2eGlmbWEiLAlPUFRJT05fTUFTS19JU0EyX0FWWElGTUEgfSwKLSAgeyAiLW1hdnh2 bm5paW50OCIsCU9QVElPTl9NQVNLX0lTQTJfQVZYVk5OSUlOVDggfQorICB7ICItbWF2eHZubmlp bnQ4IiwJT1BUSU9OX01BU0tfSVNBMl9BVlhWTk5JSU5UOCB9LAorICB7ICItbWF2eG5lY29udmVy dCIsICAgT1BUSU9OX01BU0tfSVNBMl9BVlhORUNPTlZFUlQgfQogfTsKIHN0YXRpYyBzdHJ1Y3Qg aXg4Nl90YXJnZXRfb3B0cyBpc2Ffb3B0c1tdID0KIHsKQEAgLTEwNzgsNiArMTA3OSw3IEBAIGl4 ODZfdmFsaWRfdGFyZ2V0X2F0dHJpYnV0ZV9pbm5lcl9wICh0cmVlIGZuZGVjbCwgdHJlZSBhcmdz LCBjaGFyICpwX3N0cmluZ3NbXSwKICAgICBJWDg2X0FUVFJfSVNBICgiYXZ4NTEyZnAxNiIsIE9Q VF9tYXZ4NTEyZnAxNiksCiAgICAgSVg4Nl9BVFRSX0lTQSAoImF2eGlmbWEiLCBPUFRfbWF2eGlm bWEpLAogICAgIElYODZfQVRUUl9JU0EgKCJhdnh2bm5paW50OCIsIE9QVF9tYXZ4dm5uaWludDgp LAorICAgIElYODZfQVRUUl9JU0EgKCJhdnhuZWNvbnZlcnQiLCBPUFRfbWF2eG5lY29udmVydCks CiAKICAgICAvKiBlbnVtIG9wdGlvbnMgKi8KICAgICBJWDg2X0FUVFJfRU5VTSAoImZwbWF0aD0i LAlPUFRfbWZwbWF0aF8pLApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYubWQgYi9n Y2MvY29uZmlnL2kzODYvaTM4Ni5tZAppbmRleCBiYWYxZjFmOGZhMi4uYjRiOTk0MDYzMjcgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2Lm1kCisrKyBiL2djYy9jb25maWcvaTM4Ni9p Mzg2Lm1kCkBAIC04MzYsNyArODM2LDcgQEAKIAkJICAgIGF2eCxub2F2eCxhdngyLG5vYXZ4Mixi bWksYm1pMixmbWE0LGZtYSxhdng1MTJmLG5vYXZ4NTEyZiwKIAkJICAgIGF2eDUxMmJ3LG5vYXZ4 NTEyYncsYXZ4NTEyZHEsbm9hdng1MTJkcSxmbWFfb3JfYXZ4NTEydmwsCiAJCSAgICBhdng1MTJ2 bCxub2F2eDUxMnZsLGF2eHZubmksYXZ4NTEydm5uaXZsLGF2eDUxMmZwMTYsYXZ4aWZtYSwKLQkJ ICAgIGF2eDUxMmlmbWF2bCIKKwkJICAgIGF2eDUxMmlmbWF2bCxhdnhuZWNvbnZlcnQsYXZ4NTEy YmYxNnZsIgogICAoY29uc3Rfc3RyaW5nICJiYXNlIikpCiAKIDs7IERlZmluZSBpbnN0cnVjdGlv biBzZXQgb2YgTU1YIGluc3RydWN0aW9ucwpAQCAtODk1LDYgKzg5NSw5IEBACiAJIChlcV9hdHRy ICJpc2EiICJhdnhpZm1hIikgKHN5bWJvbF9yZWYgIlRBUkdFVF9BVlhJRk1BIikKIAkgKGVxX2F0 dHIgImlzYSIgImF2eDUxMmlmbWF2bCIpCiAJICAgKHN5bWJvbF9yZWYgIlRBUkdFVF9BVlg1MTJJ Rk1BICYmIFRBUkdFVF9BVlg1MTJWTCIpCisJIChlcV9hdHRyICJpc2EiICJhdnhuZWNvbnZlcnQi KSAoc3ltYm9sX3JlZiAiVEFSR0VUX0FWWE5FQ09OVkVSVCIpCisJIChlcV9hdHRyICJpc2EiICJh dng1MTJiZjE2dmwiKQorCSAgIChzeW1ib2xfcmVmICJUQVJHRVRfQVZYNTEyQkYxNiAmJiBUQVJH RVRfQVZYNTEyVkwiKQogCiAJIChlcV9hdHRyICJtbXhfaXNhIiAibmF0aXZlIikKIAkgICAoc3lt Ym9sX3JlZiAiIVRBUkdFVF9NTVhfV0lUSF9TU0UiKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9p Mzg2L2kzODYub3B0IGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0CmluZGV4IDUzZDUzNGY2Mzky Li42ZTA3Yjg5YWM0YyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0CisrKyBi L2djYy9jb25maWcvaTM4Ni9pMzg2Lm9wdApAQCAtMTIyNCwzICsxMjI0LDggQEAgbWF2eHZubmlp bnQ4CiBUYXJnZXQgTWFzayhJU0EyX0FWWFZOTklJTlQ4KSBWYXIoaXg4Nl9pc2FfZmxhZ3MyKSBT YXZlCiBTdXBwb3J0IE1NWCwgU1NFLCBTU0UyLCBTU0UzLCBTU1NFMywgU1NFNC4xLCBTU0U0LjIs IEFWWCwgQVZYMiBhbmQKIEFWWFZOTklJTlQ4IGJ1aWx0LWluIGZ1bmN0aW9ucyBhbmQgY29kZSBn ZW5lcmF0aW9uLgorCittYXZ4bmVjb252ZXJ0CitUYXJnZXQgTWFzayhJU0EyX0FWWE5FQ09OVkVS VCkgVmFyKGl4ODZfaXNhX2ZsYWdzMikgU2F2ZQorU3VwcG9ydCBNTVgsIFNTRSwgU1NFMiwgU1NF MywgU1NTRTMsIFNTRTQuMSwgU1NFNC4yLCBBVlgsIEFWWDIsIGFuZAorQVZYTkVDT05WRVJUIGJ1 aWxkLWluIGZ1bmN0aW9ucyBhbmQgY29kZSBnZW5lcmF0aW9uLgpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9pMzg2L2ltbWludHJpbi5oIGIvZ2NjL2NvbmZpZy9pMzg2L2ltbWludHJpbi5oCmluZGV4 IGM2MmQ1MGYxOTUxLi44NjI5YWJhZjMwYyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2lt bWludHJpbi5oCisrKyBiL2djYy9jb25maWcvaTM4Ni9pbW1pbnRyaW4uaApAQCAtMTIyLDYgKzEy Miw4IEBACiAjaW5jbHVkZSA8YXZ4NTEyYmYxNnZsaW50cmluLmg+CiAKICNpbmNsdWRlIDxhdng1 MTJiZjE2aW50cmluLmg+CisKKyNpbmNsdWRlIDxhdnhuZWNvbnZlcnRpbnRyaW4uaD4KICNlbmRp ZgogCiAjaW5jbHVkZSA8YW14dGlsZWludHJpbi5oPgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9p Mzg2L3NzZS5tZCBiL2djYy9jb25maWcvaTM4Ni9zc2UubWQKaW5kZXggZmJhODFhOTNjMWEuLjNk ZjllMDdlMmNhIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2kzODYvc3NlLm1kCisrKyBiL2djYy9j b25maWcvaTM4Ni9zc2UubWQKQEAgLTI4OTUwLDIzICsyODk1MCwyNyBAQAogICAiVEFSR0VUX0FW WDUxMkJGMTYiCiAgICJ2Y3Z0bmUycHMyYmYxNlx0eyUyLCAlMSwgJTA8bWFza19vcGVyYW5kMz58 JTA8bWFza19vcGVyYW5kMz4sICUxLCAlMn0iKQogCi0oZGVmaW5lX2V4cGFuZCAiYXZ4NTEyZl9j dnRuZXBzMmJmMTZfdjRzZiIKKyhkZWZpbmVfZXhwYW5kICJ2Y3Z0bmVwczJiZjE2X3Y0c2YiCiAg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4QkYgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHZlY19j b25jYXQ6VjhCRgogCSAgKGZsb2F0X3RydW5jYXRlOlY0QkYKIAkgICAgKG1hdGNoX29wZXJhbmQ6 VjRTRiAxICJub25pbW1lZGlhdGVfb3BlcmFuZCIpKQogCSAgKG1hdGNoX2R1cCAyKSkpXQotICAi VEFSR0VUX0FWWDUxMkJGMTYgJiYgVEFSR0VUX0FWWDUxMlZMIgorICAiVEFSR0VUX0FWWE5FQ09O VkVSVCB8fCAoVEFSR0VUX0FWWDUxMkJGMTYgJiYgVEFSR0VUX0FWWDUxMlZMKSIKICAgIm9wZXJh bmRzWzJdID0gQ09OU1QwX1JUWCAoVjRCRm1vZGUpOyIpCiAKLShkZWZpbmVfaW5zbiAiKmF2eDUx MmZfY3Z0bmVwczJiZjE2X3Y0c2YiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4QkYgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj12IikKKyhkZWZpbmVfaW5zbiAiKnZjdnRuZXBzMmJmMTZfdjRzZiIK KyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhCRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgsdiIp CiAJKHZlY19jb25jYXQ6VjhCRgogCSAgKGZsb2F0X3RydW5jYXRlOlY0QkYKLQkgICAgKG1hdGNo X29wZXJhbmQ6VjRTRiAxICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInZtIikpCisJICAgIChtYXRj aF9vcGVyYW5kOlY0U0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSx2bSIpKQogCSAgKG1h dGNoX29wZXJhbmQ6VjRCRiAyICJjb25zdDBfb3BlcmFuZCIpKSldCi0gICJUQVJHRVRfQVZYNTEy QkYxNiAmJiBUQVJHRVRfQVZYNTEyVkwiCi0gICJ2Y3Z0bmVwczJiZjE2e3h9XHR7JTEsICUwfCUw LCAlMX0iKQorICAiVEFSR0VUX0FWWE5FQ09OVkVSVCB8fCAoVEFSR0VUX0FWWDUxMkJGMTYgJiYg VEFSR0VUX0FWWDUxMlZMKSIKKyAgIkAKKyAgJXt2ZXglfSB2Y3Z0bmVwczJiZjE2e3h9XHR7JTEs ICUwfCUwLCAlMX0KKyAgdmN2dG5lcHMyYmYxNnt4fVx0eyUxLCAlMHwlMCwgJTF9IgorICBbKHNl dF9hdHRyICJpc2EiICJhdnhuZWNvbnZlcnQsYXZ4NTEyYmYxNnZsIikKKyAgIChzZXRfYXR0ciAi cHJlZml4IiAidmV4LGV2ZXgiKV0pCiAKIChkZWZpbmVfZXhwYW5kICJhdng1MTJmX2N2dG5lcHMy YmYxNl92NHNmX21hc2t6IgogICBbKG1hdGNoX29wZXJhbmQ6VjhCRiAwICJyZWdpc3Rlcl9vcGVy YW5kIikKQEAgLTI5MDE5LDYgKzI5MDIzLDE4IEBACiAgIERPTkU7CiB9KQogCisoZGVmaW5lX2lu c24gInZjdnRuZXBzMmJmMTZfdjhzZiIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhCRiAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPXgsdiIpCisJKGZsb2F0X3RydW5jYXRlOlY4QkYKKwkgIChtYXRj aF9vcGVyYW5kOlY4U0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSx2bSIpKSldCisgICJU QVJHRVRfQVZYTkVDT05WRVJUIHx8IChUQVJHRVRfQVZYNTEyQkYxNiAmJiBUQVJHRVRfQVZYNTEy VkwpIgorICAiQAorICAle3ZleCV9IHZjdnRuZXBzMmJmMTZ7eX1cdHslMSwgJTB8JTAsICUxfQor ICB2Y3Z0bmVwczJiZjE2e3l9XHR7JTEsICUwfCUwLCAlMX0iCisgIFsoc2V0X2F0dHIgImlzYSIg ImF2eG5lY29udmVydCxhdng1MTJiZjE2dmwiKQorICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgs ZXZleCIpXSkKKworCiAoZGVmaW5lX2luc24gImF2eDUxMmZfY3Z0bmVwczJiZjE2Xzxtb2RlPjxt YXNrX25hbWU+IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8c2ZfY3Z0X2JmMTY+IDAgInJlZ2lz dGVyX29wZXJhbmQiICI9diIpCiAJKGZsb2F0X3RydW5jYXRlOjxzZl9jdnRfYmYxNj4KQEAgLTI5 MzYyLDMgKzI5Mzc4LDgxIEBACiAgICJUQVJHRVRfQVZYVk5OSUlOVDgiCiAgICJ2cGRwPHZwZG90 cHJvZHR5cGU+XHR7JTMsICUyLCAlMHwlMCwgJTIsICUzfSIKICAgIFsoc2V0X2F0dHIgInByZWZp eCIgInZleCIpXSkKKworKGRlZmluZV9pbnNuICJ2YmNzdG5lYmYxNjJwc188bW9kZT4iCisgIFso c2V0IChtYXRjaF9vcGVyYW5kOlZGMV8xMjhfMjU2IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIp CisJKHZlY19kdXBsaWNhdGU6VkYxXzEyOF8yNTYKKwkgIChmbG9hdF9leHRlbmQ6U0YKKwkgICAg KG1hdGNoX29wZXJhbmQ6QkYgMSAibWVtb3J5X29wZXJhbmQiICJtIikpKSldCisgICJUQVJHRVRf QVZYTkVDT05WRVJUIgorICAidmJjc3RuZWJmMTYycHNcdHslMSwgJTB8JTAsICUxfSIKKyAgWyhz ZXRfYXR0ciAicHJlZml4IiAidmV4IikKKyAgIChzZXRfYXR0ciAibW9kZSIgIjxzc2VpbnNubW9k ZT4iKV0pCisKKyhkZWZpbmVfaW5zbiAidmJjc3RuZXNoMnBzXzxtb2RlPiIKKyAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6VkYxXzEyOF8yNTYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKKwkodmVj X2R1cGxpY2F0ZTpWRjFfMTI4XzI1NgorCSAgKGZsb2F0X2V4dGVuZDpTRgorCSAgICAobWF0Y2hf b3BlcmFuZDpIRiAxICJtZW1vcnlfb3BlcmFuZCIgIm0iKSkpKV0KKyAgIlRBUkdFVF9BVlhORUNP TlZFUlQiCisgICJ2YmNzdG5lc2gycHNcdHslMSwgJTB8JTAsICUxfSIKKyAgWyhzZXRfYXR0ciAi cHJlZml4IiAidmV4IikKKyAgIChzZXRfYXR0ciAibW9kZSIgIjxzc2VpbnNubW9kZT4iKV0pCisK KyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWMTZCRkhfMjU2IFtWMTZIRiBWMTZCRl0pCisKKyhkZWZp bmVfbW9kZV9hdHRyIGJmMTZfcGgKKyAgWyhWOEhGICJwaCIpIChWMTZIRiAicGgiKQorICAgKFY4 QkYgImJmMTYiKSAoVjE2QkYgImJmMTYiKV0pCisKKyhkZWZpbmVfaW5zbiAidmN2dG5lZTxiZjE2 X3BoPjJwc188bW9kZT4iCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY0U0YgMCAicmVnaXN0ZXJf b3BlcmFuZCIgIj14IikKKwkoZmxvYXRfZXh0ZW5kOlY0U0YKKwkgICh2ZWNfc2VsZWN0Ojxzc2Vo YWxmdmVjbW9kZT4KKwkgICAgKG1hdGNoX29wZXJhbmQ6VjhCRkhfMTI4IDEgIm1lbW9yeV9vcGVy YW5kIiAibSIpCisJICAgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKSAoY29uc3RfaW50IDIpCisJ CSAgICAgICAoY29uc3RfaW50IDQpIChjb25zdF9pbnQgNildKSkpKV0KKyAgIlRBUkdFVF9BVlhO RUNPTlZFUlQiCisgICJ2Y3Z0bmVlPGJmMTZfcGg+MnBzXHR7JTEsICUwfCUwLCAlMX0iCisgIFso c2V0X2F0dHIgInByZWZpeCIgInZleCIpCisgICAoc2V0X2F0dHIgIm1vZGUiICI8c3NlaW5zbm1v ZGU+IildKQorCisoZGVmaW5lX2luc24gInZjdnRuZWU8YmYxNl9waD4ycHNfPG1vZGU+IgorICBb KHNldCAobWF0Y2hfb3BlcmFuZDpWOFNGIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCisJKGZs b2F0X2V4dGVuZDpWOFNGCisJICAodmVjX3NlbGVjdDo8c3NlaGFsZnZlY21vZGU+CisJICAgICht YXRjaF9vcGVyYW5kOlYxNkJGSF8yNTYgMSAibWVtb3J5X29wZXJhbmQiICJtIikKKwkgICAgKHBh cmFsbGVsIFsoY29uc3RfaW50IDApIChjb25zdF9pbnQgMikKKwkJICAgICAgIChjb25zdF9pbnQg NCkgKGNvbnN0X2ludCA2KQorCQkgICAgICAgKGNvbnN0X2ludCA4KSAoY29uc3RfaW50IDEwKQor CQkgICAgICAgKGNvbnN0X2ludCAxMikgKGNvbnN0X2ludCAxNCldKSkpKV0KKyAgIlRBUkdFVF9B VlhORUNPTlZFUlQiCisgICJ2Y3Z0bmVlPGJmMTZfcGg+MnBzXHR7JTEsICUwfCUwLCAlMX0iCisg IFsoc2V0X2F0dHIgInByZWZpeCIgInZleCIpCisgICAoc2V0X2F0dHIgIm1vZGUiICI8c3NlaW5z bm1vZGU+IildKQorCisoZGVmaW5lX2luc24gInZjdnRuZW88YmYxNl9waD4ycHNfPG1vZGU+Igor ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWNFNGIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCisJ KGZsb2F0X2V4dGVuZDpWNFNGCisJICAodmVjX3NlbGVjdDo8c3NlaGFsZnZlY21vZGU+CisJICAg IChtYXRjaF9vcGVyYW5kOlY4QkZIXzEyOCAxICJtZW1vcnlfb3BlcmFuZCIgIm0iKQorCSAgICAo cGFyYWxsZWwgWyhjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAzKQorCQkgICAgICAgKGNvbnN0X2lu dCA1KSAoY29uc3RfaW50IDcpXSkpKSldCisgICJUQVJHRVRfQVZYTkVDT05WRVJUIgorICAidmN2 dG5lbzxiZjE2X3BoPjJwc1x0eyUxLCAlMHwlMCwgJTF9IgorICBbKHNldF9hdHRyICJwcmVmaXgi ICJ2ZXgiKQorICAgKHNldF9hdHRyICJtb2RlIiAiPHNzZWluc25tb2RlPiIpXSkKKworKGRlZmlu ZV9pbnNuICJ2Y3Z0bmVvPGJmMTZfcGg+MnBzXzxtb2RlPiIKKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VjhTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgiKQorCShmbG9hdF9leHRlbmQ6VjhTRgor CSAgKHZlY19zZWxlY3Q6PHNzZWhhbGZ2ZWNtb2RlPgorCSAgICAobWF0Y2hfb3BlcmFuZDpWMTZC RkhfMjU2IDEgIm1lbW9yeV9vcGVyYW5kIiAibSIpCisJICAgIChwYXJhbGxlbCBbKGNvbnN0X2lu dCAxKSAoY29uc3RfaW50IDMpCisJCSAgICAgICAoY29uc3RfaW50IDUpIChjb25zdF9pbnQgNykK KwkJICAgICAgIChjb25zdF9pbnQgOSkgKGNvbnN0X2ludCAxMSkKKwkJICAgICAgIChjb25zdF9p bnQgMTMpIChjb25zdF9pbnQgMTUpXSkpKSldCisgICJUQVJHRVRfQVZYTkVDT05WRVJUIgorICAi dmN2dG5lbzxiZjE2X3BoPjJwc1x0eyUxLCAlMHwlMCwgJTF9IgorICBbKHNldF9hdHRyICJwcmVm aXgiICJ2ZXgiKQorICAgKHNldF9hdHRyICJtb2RlIiAiPHNzZWluc25tb2RlPiIpXSkKZGlmZiAt LWdpdCBhL2djYy9kb2MvZXh0ZW5kLnRleGkgYi9nY2MvZG9jL2V4dGVuZC50ZXhpCmluZGV4IGJh OTBiZmE2YjE1Li43OWVkODkxYmQyOCAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9leHRlbmQudGV4aQor KysgYi9nY2MvZG9jL2V4dGVuZC50ZXhpCkBAIC03MDcwLDYgKzcwNzAsMTEgQEAgRW5hYmxlL2Rp c2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIEFWWElGTUEgaW5zdHJ1Y3Rpb25zLgogQGNpbmRl eCBAY29kZXt0YXJnZXQoImF2eHZubmlpbnQ4Iil9IGZ1bmN0aW9uIGF0dHJpYnV0ZSwgeDg2CiBF bmFibGUvZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgQVZYVk5OSUlOVDggaW5zdHJ1Y3Rp b25zLgogCitAaXRlbSBhdnhuZWNvbnZlcnQKK0BpdGVteCBuby1hdnhuZWNvbnZlcnQKK0BjaW5k ZXggQGNvZGV7dGFyZ2V0KCJhdnhuZWNvbnZlcnQiKX0gZnVuY3Rpb24gYXR0cmlidXRlLCB4ODYK K0VuYWJsZS9kaXNhYmxlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBBVlhORUNPTlZFUlQgaW5zdHJ1 Y3Rpb25zLgorCiBAaXRlbSBjbGQKIEBpdGVteCBuby1jbGQKIEBjaW5kZXggQGNvZGV7dGFyZ2V0 KCJjbGQiKX0gZnVuY3Rpb24gYXR0cmlidXRlLCB4ODYKZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52 b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCmluZGV4IDY0Zjc3ZTgzNjdhLi5lMzBjZTFk N2M5ZSAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysgYi9nY2MvZG9jL2ludm9r ZS50ZXhpCkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBTZWUgUlMvNjAwMCBhbmQgUG93ZXJQQyBPcHRp b25zLgogLW1hdng1MTI0Zm1hcHMgIC1tYXZ4NTEydm5uaSAgLW1hdng1MTI0dm5uaXcgIC1tcHJm Y2h3ICAtbXJkcGlkIEBnb2wKIC1tcmRzZWVkICAtbXNneCAtbWF2eDUxMnZwMmludGVyc2VjdCAt bXNlcmlhbGl6ZSAtbXRzeGxkdHJrQGdvbAogLW1hbXgtdGlsZSAgLW1hbXgtaW50OCAgLW1hbXgt YmYxNiAtbXVpbnRyIC1taHJlc2V0IC1tYXZ4dm5uaUBnb2wKLS1tYXZ4NTEyZnAxNiAtbWF2eGlm bWEgLW1hdnh2bm5paW50OCBAZ29sCistbWF2eDUxMmZwMTYgLW1hdnhpZm1hIC1tYXZ4dm5uaWlu dDggLW1hdnhuZWNvbnZlcnQgQGdvbAogLW1jbGRlbW90ZSAgLW1tcy1iaXRmaWVsZHMgIC1tbm8t YWxpZ24tc3RyaW5nb3BzICAtbWlubGluZS1hbGwtc3RyaW5nb3BzIEBnb2wKIC1taW5saW5lLXN0 cmluZ29wcy1keW5hbWljYWxseSAgLW1zdHJpbmdvcC1zdHJhdGVneT1AdmFye2FsZ30gQGdvbAog LW1rbCAtbXdpZGVrbCBAZ29sCkBAIC0zMjkyMiw2ICszMjkyMiw5IEBAIHByZWZlcnJlZCBhbGln bm1lbnQgdG8gQG9wdGlvbnstbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0yfS4KIEBuZWVkIDIw MAogQGl0ZW14IC1tYXZ4dm5uaWludDgKIEBvcGluZGV4IG1hdnh2bm5paW50OAorQG5lZWQgMjAw CitAaXRlbXggLW1hdnhuZWNvbnZlcnQKK0BvcGluZGV4IG1hdnhuZWNvbnZlcnQKIFRoZXNlIHN3 aXRjaGVzIGVuYWJsZSB0aGUgdXNlIG9mIGluc3RydWN0aW9ucyBpbiB0aGUgTU1YLCBTU0UsCiBT U0UyLCBTU0UzLCBTU1NFMywgU1NFNCwgU1NFNEEsIFNTRTQuMSwgU1NFNC4yLCBBVlgsIEFWWDIs IEFWWDUxMkYsIEFWWDUxMlBGLAogQVZYNTEyRVIsIEFWWDUxMkNELCBBVlg1MTJWTCwgQVZYNTEy QlcsIEFWWDUxMkRRLCBBVlg1MTJJRk1BLCBBVlg1MTJWQk1JLCBTSEEsCkBAIC0zMjkzMiw4ICsz MjkzNSw4IEBAIFhTQVZFT1BULCBYU0FWRUMsIFhTQVZFUywgUlRNLCBITEUsIFRCTSwgTVdBSVRY LCBDTFpFUk8sIFBLVSwgQVZYNTEyVkJNSTIsCiBHRk5JLCBWQUVTLCBXQUlUUEtHLCBWUENMTVVM UURRLCBBVlg1MTJCSVRBTEcsIE1PVkRJUkksIE1PVkRJUjY0QiwgQVZYNTEyQkYxNiwKIEVOUUNN RCwgQVZYNTEyVlBPUENOVERRLCBBVlg1MTI0Rk1BUFMsIEFWWDUxMlZOTkksIEFWWDUxMjRWTk5J VywgU0VSSUFMSVpFLAogVUlOVFIsIEhSRVNFVCwgQU1YVElMRSwgQU1YSU5UOCwgQU1YQkYxNiwg S0wsIFdJREVLTCwgQVZYVk5OSSwgQVZYNTEyRlAxNiwKLUFWWElGTUEsIEFWWFZOTklJTlQ4IG9y IENMREVNT1RFIGV4dGVuZGVkIGluc3RydWN0aW9uIHNldHMuIEVhY2ggaGFzIGEKLWNvcnJlc3Bv bmRpbmcgQG9wdGlvbnstbW5vLX0gb3B0aW9uIHRvIGRpc2FibGUgdXNlIG9mIHRoZXNlIGluc3Ry dWN0aW9ucy4KK0FWWElGTUEsIEFWWFZOTklJTlQ4LCBBVlhORUNPTlZFUlQgb3IgQ0xERU1PVEUg ZXh0ZW5kZWQgaW5zdHJ1Y3Rpb24gc2V0cy4gRWFjaAoraGFzIGEgY29ycmVzcG9uZGluZyBAb3B0 aW9uey1tbm8tfSBvcHRpb24gdG8gZGlzYWJsZSB1c2Ugb2YgdGhlc2UgaW5zdHJ1Y3Rpb25zLgog CiBUaGVzZSBleHRlbnNpb25zIGFyZSBhbHNvIGF2YWlsYWJsZSBhcyBidWlsdC1pbiBmdW5jdGlv bnM6IHNlZQogQHJlZnt4ODYgQnVpbHQtaW4gRnVuY3Rpb25zfSwgZm9yIGRldGFpbHMgb2YgdGhl IGZ1bmN0aW9ucyBlbmFibGVkIGFuZApkaWZmIC0tZ2l0IGEvZ2NjL2RvYy9zb3VyY2VidWlsZC50 ZXhpIGIvZ2NjL2RvYy9zb3VyY2VidWlsZC50ZXhpCmluZGV4IGUyMWExZDM4MWUwLi5hMTIxNzVi NjQ5OCAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9zb3VyY2VidWlsZC50ZXhpCisrKyBiL2djYy9kb2Mv c291cmNlYnVpbGQudGV4aQpAQCAtMjQ5Myw2ICsyNDkzLDkgQEAgVGFyZ2V0IHN1cHBvcnRzIHRo ZSBleGVjdXRpb24gb2YgQGNvZGV7YXZ4NTEydnAyaW50ZXJzZWN0fSBpbnN0cnVjdGlvbnMuCiBA aXRlbSBhdnhpZm1hCiBUYXJnZXQgc3VwcG9ydHMgdGhlIGV4ZWN1dGlvbiBvZiBAY29kZXthdnhp Zm1hfSBpbnN0cnVjdGlvbnMuCiAKK0BpdGVtIGF2eG5lY29udmVydAorVGFyZ2V0IHN1cHBvcnRz IHRoZSBleGVjdXRpb24gb2YgQGNvZGV7YXZ4bmVjb252ZXJ0fSBpbnN0cnVjdGlvbnMuCisKIEBp dGVtIGF2eHZubmlpbnQ4CiBUYXJnZXQgc3VwcG9ydHMgdGhlIGV4ZWN1dGlvbiBvZiBAY29kZXth dnh2bm5paW50OH0gaW5zdHJ1Y3Rpb25zLgogCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2cr Ky5kZy9vdGhlci9pMzg2LTIuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL290aGVyL2kzODYtMi5D CmluZGV4IGViZDAxZmU0N2JjLi5kZDNlNzFmMjVlZCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvb3RoZXIvaTM4Ni0yLkMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3RoZXIv aTM4Ni0yLkMKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgaT84 Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLS8qIHsgZGctb3B0aW9ucyAiLU8gLXBlZGFudGljLWVy cm9ycyAtbWFyY2g9azggLW1zc2U0YSAtbTNkbm93IC1tYXZ4IC1tYXZ4MiAtbWZtYTQgLW14b3Ag LW1hZXMgLW1wY2xtdWwgLW1wb3BjbnQgLW1hYm0gLW1semNudCAtbWJtaSAtbWJtaTIgLW10Ym0g LW1sd3AgLW1mc2dzYmFzZSAtbXJkcm5kIC1tZjE2YyAtbWZtYSAtbXJ0bSAtbXJkc2VlZCAtbXBy ZmNodyAtbWFkeCAtbWZ4c3IgLW14c2F2ZW9wdCAtbWF2eDUxMmYgLW1hdng1MTJlciAtbWF2eDUx MmNkIC1tYXZ4NTEycGYgLW1zaGEgLW1wcmVmZXRjaHd0MSAtbXhzYXZlYyAtbXhzYXZlcyAtbWNs Zmx1c2hvcHQgIC1tYXZ4NTEyZHEgLW1hdng1MTJidyAtbWF2eDUxMnZsIC1tYXZ4NTEyaWZtYSAt bWF2eDUxMnZibWkgLW1hdng1MTJ2Ym1pMiAtbWF2eDUxMjRmbWFwcyAtbWF2eDUxMjR2bm5pdyAt bWF2eDUxMnZwb3BjbnRkcSAtbWNsd2IgLW1td2FpdHggLW1jbHplcm8gLW1wa3UgLW1zZ3ggLW1y ZHBpZCAtbWdmbmkgLW1hdng1MTJiaXRhbGcgLW1wY29uZmlnIC1td2Jub2ludmQgLW1hdng1MTJi ZjE2IC1tZW5xY21kIC1tYXZ4NTEydnAyaW50ZXJzZWN0IC1tc2VyaWFsaXplIC1tdHN4bGR0cmsg LW1hbXgtdGlsZSAtbWFteC1pbnQ4IC1tYW14LWJmMTYgLW1rbCAtbXdpZGVrbCAtbWF2eHZubmkg LW1hdng1MTJmcDE2IC1tYXZ4aWZtYSAtbWF2eHZubmlpbnQ4IiB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1PIC1wZWRhbnRpYy1lcnJvcnMgLW1hcmNoPWs4IC1tc3NlNGEgLW0zZG5vdyAtbWF2eCAt bWF2eDIgLW1mbWE0IC1teG9wIC1tYWVzIC1tcGNsbXVsIC1tcG9wY250IC1tYWJtIC1tbHpjbnQg LW1ibWkgLW1ibWkyIC1tdGJtIC1tbHdwIC1tZnNnc2Jhc2UgLW1yZHJuZCAtbWYxNmMgLW1mbWEg LW1ydG0gLW1yZHNlZWQgLW1wcmZjaHcgLW1hZHggLW1meHNyIC1teHNhdmVvcHQgLW1hdng1MTJm IC1tYXZ4NTEyZXIgLW1hdng1MTJjZCAtbWF2eDUxMnBmIC1tc2hhIC1tcHJlZmV0Y2h3dDEgLW14 c2F2ZWMgLW14c2F2ZXMgLW1jbGZsdXNob3B0ICAtbWF2eDUxMmRxIC1tYXZ4NTEyYncgLW1hdng1 MTJ2bCAtbWF2eDUxMmlmbWEgLW1hdng1MTJ2Ym1pIC1tYXZ4NTEydmJtaTIgLW1hdng1MTI0Zm1h cHMgLW1hdng1MTI0dm5uaXcgLW1hdng1MTJ2cG9wY250ZHEgLW1jbHdiIC1tbXdhaXR4IC1tY2x6 ZXJvIC1tcGt1IC1tc2d4IC1tcmRwaWQgLW1nZm5pIC1tYXZ4NTEyYml0YWxnIC1tcGNvbmZpZyAt bXdibm9pbnZkIC1tYXZ4NTEyYmYxNiAtbWVucWNtZCAtbWF2eDUxMnZwMmludGVyc2VjdCAtbXNl cmlhbGl6ZSAtbXRzeGxkdHJrIC1tYW14LXRpbGUgLW1hbXgtaW50OCAtbWFteC1iZjE2IC1ta2wg LW13aWRla2wgLW1hdnh2bm5pIC1tYXZ4NTEyZnAxNiAtbWF2eGlmbWEgLW1hdnh2bm5paW50OCAt bWF2eG5lY29udmVydCIgfSAqLwogCiAvKiBUZXN0IHRoYXQgeyx4LGUscCx0LHMsdyxhLGIsaX1t bWludHJpbi5oLCBtbTNkbm93LmgsIGZtYTRpbnRyaW4uaCwKICAgIHhvcGludHJpbi5oLCBhYm1p bnRyaW4uaCwgYm1paW50cmluLmgsIHRibWludHJpbi5oLCBsd3BpbnRyaW4uaCwKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL290aGVyL2kzODYtMy5DIGIvZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvb3RoZXIvaTM4Ni0zLkMKaW5kZXggYjY2NDk4ZjFkNGMuLmNkNzA0NWNjNGU0IDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9vdGhlci9pMzg2LTMuQworKysgYi9nY2MvdGVz dHN1aXRlL2crKy5kZy9vdGhlci9pMzg2LTMuQwpAQCAtMSw1ICsxLDUgQEAKIC8qIHsgZGctZG8g Y29tcGlsZSB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotLyogeyBkZy1vcHRp b25zICItTyAtZmtlZXAtaW5saW5lLWZ1bmN0aW9ucyAtbWFyY2g9azggLW1zc2U0YSAtbTNkbm93 IC1tYXZ4IC1tYXZ4MiAtbWZtYTQgLW14b3AgLW1hZXMgLW1wY2xtdWwgLW1wb3BjbnQgLW1hYm0g LW1semNudCAtbWJtaSAtbWJtaTIgLW10Ym0gLW1sd3AgLW1mc2dzYmFzZSAtbXJkcm5kIC1tZjE2 YyAtbWZtYSAtbXJ0bSAtbXJkc2VlZCAtbXByZmNodyAtbWFkeCAtbWZ4c3IgLW14c2F2ZW9wdCAt bWF2eDUxMmYgLW1hdng1MTJlciAtbWF2eDUxMmNkIC1tYXZ4NTEycGYgLW1zaGEgLW1wcmVmZXRj aHd0MSAtbXhzYXZlYyAtbXhzYXZlcyAtbWNsZmx1c2hvcHQgLW1hdng1MTJkcSAtbWF2eDUxMmJ3 IC1tYXZ4NTEydmwgLW1hdng1MTJpZm1hIC1tYXZ4NTEydmJtaSAtbWF2eDUxMnZibWkyIC1tYXZ4 NTEyNGZtYXBzIC1tYXZ4NTEyNHZubml3IC1tYXZ4NTEydnBvcGNudGRxIC1tY2x3YiAtbW13YWl0 eCAtbWNsemVybyAtbXBrdSAtbXNneCAtbXJkcGlkIC1tZ2ZuaSAtbWF2eDUxMmJpdGFsZyAtbXBj b25maWcgLW13Ym5vaW52ZCAtbWF2eDUxMmJmMTYgLW1lbnFjbWQgLW1hdng1MTJ2cDJpbnRlcnNl Y3QgLW1zZXJpYWxpemUgLW10c3hsZHRyayAtbWFteC10aWxlIC1tYW14LWludDggLW1hbXgtYmYx NiAtbWtsIC1td2lkZWtsIC1tYXZ4dm5uaSAtbWF2eDUxMmZwMTYgLW1hdnhpZm1hIC1tYXZ4dm5u aWludDgiIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLWZrZWVwLWlubGluZS1mdW5jdGlvbnMg LW1hcmNoPWs4IC1tc3NlNGEgLW0zZG5vdyAtbWF2eCAtbWF2eDIgLW1mbWE0IC1teG9wIC1tYWVz IC1tcGNsbXVsIC1tcG9wY250IC1tYWJtIC1tbHpjbnQgLW1ibWkgLW1ibWkyIC1tdGJtIC1tbHdw IC1tZnNnc2Jhc2UgLW1yZHJuZCAtbWYxNmMgLW1mbWEgLW1ydG0gLW1yZHNlZWQgLW1wcmZjaHcg LW1hZHggLW1meHNyIC1teHNhdmVvcHQgLW1hdng1MTJmIC1tYXZ4NTEyZXIgLW1hdng1MTJjZCAt bWF2eDUxMnBmIC1tc2hhIC1tcHJlZmV0Y2h3dDEgLW14c2F2ZWMgLW14c2F2ZXMgLW1jbGZsdXNo b3B0IC1tYXZ4NTEyZHEgLW1hdng1MTJidyAtbWF2eDUxMnZsIC1tYXZ4NTEyaWZtYSAtbWF2eDUx MnZibWkgLW1hdng1MTJ2Ym1pMiAtbWF2eDUxMjRmbWFwcyAtbWF2eDUxMjR2bm5pdyAtbWF2eDUx MnZwb3BjbnRkcSAtbWNsd2IgLW1td2FpdHggLW1jbHplcm8gLW1wa3UgLW1zZ3ggLW1yZHBpZCAt bWdmbmkgLW1hdng1MTJiaXRhbGcgLW1wY29uZmlnIC1td2Jub2ludmQgLW1hdng1MTJiZjE2IC1t ZW5xY21kIC1tYXZ4NTEydnAyaW50ZXJzZWN0IC1tc2VyaWFsaXplIC1tdHN4bGR0cmsgLW1hbXgt dGlsZSAtbWFteC1pbnQ4IC1tYW14LWJmMTYgLW1rbCAtbXdpZGVrbCAtbWF2eHZubmkgLW1hdng1 MTJmcDE2IC1tYXZ4aWZtYSAtbWF2eHZubmlpbnQ4IC1tYXZ4bmVjb252ZXJ0IiB9ICovCiAKIC8q IFRlc3QgdGhhdCB7LHgsZSxwLHQscyx3LGEsYixpfW1taW50cmluLmgsIG1tM2Rub3cuaCwgZm1h NGludHJpbi5oLAogICAgeG9waW50cmluLmgsIGFibWludHJpbi5oLCBibWlpbnRyaW4uaCwgdGJt aW50cmluLmgsIGx3cGludHJpbi5oLApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvYXZ4LWNoZWNrLmggYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngt Y2hlY2suaAppbmRleCA3NzUwN2NhMmVkYy4uNjY2ZWZmNTA3ODAgMTAwNjQ0Ci0tLSBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1jaGVjay5oCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2F2eC1jaGVjay5oCkBAIC0yOCw2ICsyOCw5IEBAIG1haW4gKCkKICNl bmRpZgogI2lmZGVmIEFWWFZOTklJTlQ4CiAgICAgICAmJiBfX2J1aWx0aW5fY3B1X3N1cHBvcnRz ICgiYXZ4dm5uaWludDgiKQorI2VuZGlmCisjaWZkZWYgQVZYTkVDT05WRVJUCisgICAgICAmJiBf X2J1aWx0aW5fY3B1X3N1cHBvcnRzICgiYXZ4bmVjb252ZXJ0IikKICNlbmRpZgogICAgICAgKQog ICAgIHsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1j b252ZXJ0LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0 LTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjcxODhhNjVmYTkK LS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngtbmUt Y29udmVydC0xLmMKQEAgLTAsMCArMSw0NSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLW1hdnhuZWNvbnZlcnQgLU8yIiB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgInZiY3N0bmViZjE2MnBzXFsgXFx0XF0rXFteXHtcblxdKiV4 bW1cWzAtOVxdKyg/OlxufFxbIFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJ2YmNzdG5lYmYxNjJwc1xbIFxcdFxdK1xbXlx7XG5cXSoleW1t XFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyAidmJjc3RuZXNoMnBzXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAt OVxdKyg/OlxufFxbIFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzICJ2YmNzdG5lc2gycHNcWyBcXHRcXStcW15ce1xuXF0qJXltbVxbMC05XF0r KD86XG58XFsgXFx0XF0rIykiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMgInZjdnRuZWViZjE2MnBzXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdKyg/ OlxufFxbIFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJ2Y3Z0bmVlYmYxNjJwc1xbIFxcdFxdK1xbXlx7XG5cXSoleW1tXFswLTlcXSsoPzpc bnxcWyBcXHRcXSsjKSIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAidmN2dG5lZXBoMnBzXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdKyg/OlxufFxb IFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJ2Y3Z0bmVlcGgycHNcWyBcXHRcXStcW15ce1xuXF0qJXltbVxbMC05XF0rKD86XG58XFsgXFx0 XF0rIykiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZj dnRuZW9iZjE2MnBzXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdKyg/OlxufFxbIFxcdFxd KyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2Y3Z0 bmVvYmYxNjJwc1xbIFxcdFxdK1xbXlx7XG5cXSoleW1tXFswLTlcXSsoPzpcbnxcWyBcXHRcXSsj KSIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidmN2dG5l b3BoMnBzXFsgXFx0XF0rXFteXHtcblxdKiV4bW1cWzAtOVxdKyg/OlxufFxbIFxcdFxdKyMpIiAx IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2Y3Z0bmVvcGgy cHNcWyBcXHRcXStcW15ce1xuXF0qJXltbVxbMC05XF0rKD86XG58XFsgXFx0XF0rIykiIDEgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIlx7dmV4XH0gdmN2dG5l cHMyYmYxNnhcWyBcXHRcXStcW15ce1xuXF0qJXhtbVxbMC05XF0rXFteXG5ccl0qJXhtbVxbMC05 XF0rKD86XG58XFsgXFx0XF0rIykiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgIlx7dmV4XH0gdmN2dG5lcHMyYmYxNnlcWyBcXHRcXStcW15ce1xuXF0qJXlt bVxbMC05XF0rXFteXG5ccl0qJXhtbVxbMC05XF0rKD86XG58XFsgXFx0XF0rIykiIDEgfSB9ICov CisjaW5jbHVkZSA8aW1taW50cmluLmg+CisKK3ZvbGF0aWxlIF9fbTEyOCB4MTsKK3ZvbGF0aWxl IF9fbTI1NiB4MjsKK3ZvbGF0aWxlIF9fbTEyOGJoIHJlczEsIHJlczI7Citjb25zdCB2b2lkICph OworX19tMTI4YmggKmI7CitfX20yNTZiaCAqYzsKK19fbTEyOGggKmQ7CitfX20yNTZoICplOwor Cit2b2lkIGV4dGVybgorYXZ4X25lX2NvbnZlcnRfdGVzdCAodm9pZCkKK3sKKyAgeDEgPSBfbW1f YmNzdG5lYmYxNl9wcyAoYSk7CisgIHgyID0gX21tMjU2X2Jjc3RuZWJmMTZfcHMgKGEpOworICB4 MSA9IF9tbV9iY3N0bmVzaF9wcyAoYSk7CisgIHgyID0gX21tMjU2X2Jjc3RuZXNoX3BzIChhKTsK KyAgeDEgPSBfbW1fY3Z0bmVlYmYxNl9wcyAoYik7CisgIHgyID0gX21tMjU2X2N2dG5lZWJmMTZf cHMgKGMpOworICB4MSA9IF9tbV9jdnRuZWVwaF9wcyAoZCk7CisgIHgyID0gX21tMjU2X2N2dG5l ZXBoX3BzIChlKTsKKyAgeDEgPSBfbW1fY3Z0bmVvYmYxNl9wcyAoYik7CisgIHgyID0gX21tMjU2 X2N2dG5lb2JmMTZfcHMgKGMpOworICB4MSA9IF9tbV9jdnRuZW9waF9wcyAoZCk7CisgIHgyID0g X21tMjU2X2N2dG5lb3BoX3BzIChlKTsKKyAgcmVzMSA9IF9tbV9jdnRuZXBzX2F2eF9wYmggKHgx KTsKKyAgcmVzMiA9IF9tbTI1Nl9jdnRuZXBzX2F2eF9wYmggKHgyKTsKK30KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZiY3N0bmViZjE2 MnBzLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZi Y3N0bmViZjE2MnBzLTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u MjcwN2M1OGY3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9hdngtbmUtY29udmVydC12YmNzdG5lYmYxNjJwcy0yLmMKQEAgLTAsMCArMSw1NCBAQAor LyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1vcHRpb25zICItbWF2eG5lY29udmVydCAtTzIi IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGF2eG5lY29udmVydCB9ICov CisjZGVmaW5lIEFWWE5FQ09OVkVSVAorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZuZGVmIENI RUNLCisjZGVmaW5lIENIRUNLICJhdngtY2hlY2suaCIKKyNlbmRpZgorCisjaWZuZGVmIFRFU1QK KyNkZWZpbmUgVEVTVCBhdnhfdGVzdAorI2VuZGlmCisKKyNpbmNsdWRlIENIRUNLCisKK3R5cGVk ZWYgdW5pb24KK3sKKyAgdWludDMyX3QgaW50MzI7CisgIGZsb2F0IGZsdDsKK30gZmxvYXRfaW50 X3Q7CisKK3N0YXRpYyB1aW50MTZfdCBjb252ZXJ0X2ZwMzJfdG9fYmYxNiAoZmxvYXQgZnApCit7 CisgIGZsb2F0X2ludF90IGZpOworICBmaS5mbHQgPSBmcDsKKyAgcmV0dXJuICgoZmkuaW50MzIg Pj4gMTYpICYgMHhmZmZmKTsKK30KKwordm9pZCBURVNUICh2b2lkKQoreworICB1bmlvbjEyOCBk c3RfMTI4OworICB1bmlvbjI1NiBkc3RfMjU2OworICBmbG9hdCByZXNfcmVmXzEyOFs0XSwgcmVz X3JlZl8yNTZbOF0sIGZwMzI7CisgIHVpbnQxNl90IHZhcjsKKyAgZnAzMiA9IChmbG9hdCkgMyAq IDIgKyA1LjU7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgNDsgaSsrKQorICB7CisgICAgcmVzX3Jl Zl8xMjhbaV0gPSBmcDMyOworICAgIGRzdF8xMjguYVtpXSA9IDExNzsKKyAgfQorICBmb3IgKGlu dCBpID0gMDsgaSA8IDg7IGkrKykKKyAgeworICAgIHJlc19yZWZfMjU2W2ldID0gZnAzMjsKKyAg ICBkc3RfMjU2LmFbaV0gPSAxMTc7CisgIH0KKyAgdmFyID0gY29udmVydF9mcDMyX3RvX2JmMTYg KGZwMzIpOworICBkc3RfMTI4LnggPSBfbW1fYmNzdG5lYmYxNl9wcyAoJnZhcik7CisgIGRzdF8y NTYueCA9IF9tbTI1Nl9iY3N0bmViZjE2X3BzICgmdmFyKTsKKyAgaWYgKGNoZWNrX3VuaW9uMTI4 IChkc3RfMTI4LCByZXNfcmVmXzEyOCkpCisgICAgYWJvcnQoKTsKKyAgaWYgKGNoZWNrX3VuaW9u MjU2IChkc3RfMjU2LCByZXNfcmVmXzI1NikpCisgICAgYWJvcnQoKTsKK30KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZiY3N0bmVzaDJw cy0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12YmNz dG5lc2gycHMtMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wZTZm MzgzMzRiOAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2F2eC1uZS1jb252ZXJ0LXZiY3N0bmVzaDJwcy0yLmMKQEAgLTAsMCArMSw0MiBAQAorLyogeyBk Zy1kbyBydW4gfSAqLworLyogeyBkZy1vcHRpb25zICItbWF2eG5lY29udmVydCAtbWYxNmMgLU8y IiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhdnhuZWNvbnZlcnQgfSAq LworI2RlZmluZSBBVlhORUNPTlZFUlQKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxp bW1pbnRyaW4uaD4KKworI2lmbmRlZiBDSEVDSworI2RlZmluZSBDSEVDSyAiYXZ4LWNoZWNrLmgi CisjZW5kaWYKKworI2lmbmRlZiBURVNUCisjZGVmaW5lIFRFU1QgYXZ4X3Rlc3QKKyNlbmRpZgor CisjaW5jbHVkZSBDSEVDSworCit2b2lkIFRFU1QgKHZvaWQpCit7CisgIHVuaW9uMTI4IGRzdF8x Mjg7CisgIHVuaW9uMjU2IGRzdF8yNTY7CisgIGZsb2F0IHJlc19yZWZfMTI4WzRdLCByZXNfcmVm XzI1Nls4XSwgZnAzMjsKKyAgdWludDE2X3QgdmFyOworICBmcDMyID0gKGZsb2F0KSAzICogMiAr IDguNTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspCisgIHsKKyAgICByZXNfcmVmXzEy OFtpXSA9IGZwMzI7CisgICAgZHN0XzEyOC5hW2ldID0gMTE3OworICB9CisgIGZvciAoaW50IGkg PSAwOyBpIDwgODsgaSsrKQorICB7CisgICAgcmVzX3JlZl8yNTZbaV0gPSBmcDMyOworICAgIGRz dF8yNTYuYVtpXSA9IDExNzsKKyAgfQorICB2YXIgPSBfY3Z0c3Nfc2ggKGZwMzIsIDApOworICBk c3RfMTI4LnggPSBfbW1fYmNzdG5lc2hfcHMgKCZ2YXIpOworICBkc3RfMjU2LnggPSBfbW0yNTZf YmNzdG5lc2hfcHMgKCZ2YXIpOworICBpZiAoY2hlY2tfdW5pb24xMjggKGRzdF8xMjgsIHJlc19y ZWZfMTI4KSkKKyAgICBhYm9ydCgpOworICBpZiAoY2hlY2tfdW5pb24yNTYgKGRzdF8yNTYsIHJl c19yZWZfMjU2KSkKKyAgICBhYm9ydCgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZWJmMTYycHMtMi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZWJmMTYycHMtMi5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZDAyNjE2N2I3MAotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252 ZXJ0LXZjdnRuZWViZjE2MnBzLTIuYwpAQCAtMCwwICsxLDczIEBACisvKiB7IGRnLWRvIHJ1biB9 ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXZ4bmVjb252ZXJ0IC1PMiIgfSAqLworLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYXZ4bmVjb252ZXJ0IH0gKi8KKyNkZWZpbmUgQVZYTkVD T05WRVJUCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZm5kZWYgQ0hFQ0sKKyNkZWZpbmUgQ0hF Q0sgImF2eC1jaGVjay5oIgorI2VuZGlmCisKKyNpZm5kZWYgVEVTVAorI2RlZmluZSBURVNUIGF2 eF90ZXN0CisjZW5kaWYKKworI2luY2x1ZGUgQ0hFQ0sKKwordHlwZWRlZiB1bmlvbgoreworICB1 aW50MzJfdCBpbnQzMjsKKyAgZmxvYXQgZmx0OworfSBmbG9hdF9pbnRfdDsKKwordHlwZWRlZiB1 bmlvbgoreworICBfX20xMjhiaCB4OworICB1aW50MzJfdCBhWzRdOworfSB1bmlvbjEyOGJmMTZf aTsKKwordHlwZWRlZiB1bmlvbgoreworICBfX20yNTZiaCB4OworICB1aW50MzJfdCBhWzhdOwor fSB1bmlvbjI1NmJmMTZfaTsKKworc3RhdGljIHVpbnQxNl90IGNvbnZlcnRfZnAzMl90b19iZjE2 IChmbG9hdCBmcCkKK3sKKyAgZmxvYXRfaW50X3QgZmk7CisgIGZpLmZsdCA9IGZwOworICByZXR1 cm4gKChmaS5pbnQzMiA+PiAxNikgJiAweGZmZmYpOworfQorCit2b2lkIFRFU1QgKHZvaWQpCit7 CisgIHVuaW9uMTI4IGRzdF8xMjg7CisgIHVuaW9uMjU2IGRzdF8yNTY7CisgIGZsb2F0IHJlc19y ZWZfMTI4WzRdLCByZXNfcmVmXzI1Nls4XSwgZnAzMjsKKyAgdWludDE2X3QgYmYxNjsKKyAgdW5p b24xMjhiZjE2X2kgc3JjXzEyOGJoOworICB1bmlvbjI1NmJmMTZfaSBzcmNfMjU2Ymg7CisKKyAg Zm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspCisgIHsKKyAgICBmcDMyID0gKGZsb2F0KSAzICog aSArIDUgKyBpICogMC41OworICAgIGJmMTYgPSBjb252ZXJ0X2ZwMzJfdG9fYmYxNiAoZnAzMik7 CisgICAgc3JjXzEyOGJoLmFbaV0gPSBiZjE2OyAvLyBzdG9yZSBiZjE2IGF0IHRoZSBsb3dlciBw YXJ0IG9mIHRoZSBkd29yZAorICAgIHJlc19yZWZfMTI4W2ldID0gZnAzMjsKKyAgICBkc3RfMTI4 LmFbaV0gPSAxMTc7CisgIH0KKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA4OyBpKyspCisgIHsKKyAg ICBmcDMyID0gKGZsb2F0KSAzICogaSArIDUgKyBpICogMC41OworICAgIGJmMTYgPSBjb252ZXJ0 X2ZwMzJfdG9fYmYxNiAoZnAzMik7CisgICAgc3JjXzI1NmJoLmFbaV0gPSBiZjE2OyAvLyBzdG9y ZSBiZjE2IGF0IHRoZSBsb3dlciBwYXJ0IG9mIHRoZSBkd29yZAorICAgIHJlc19yZWZfMjU2W2ld ID0gZnAzMjsKKyAgICBkc3RfMjU2LmFbaV0gPSAxMTc7CisgIH0KKyAgZHN0XzEyOC54ID0gX21t X2N2dG5lZWJmMTZfcHMgKCZzcmNfMTI4YmgueCk7CisgIGRzdF8yNTYueCA9IF9tbTI1Nl9jdnRu ZWViZjE2X3BzICgmc3JjXzI1NmJoLngpOworICBpZiAoY2hlY2tfdW5pb24xMjggKGRzdF8xMjgs IHJlc19yZWZfMTI4KSkKKyAgICBhYm9ydCgpOworICBpZiAoY2hlY2tfdW5pb24yNTYgKGRzdF8y NTYsIHJlc19yZWZfMjU2KSkKKyAgICBhYm9ydCgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lZXBoMnBzLTIuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZWVwaDJwcy0y LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmE4NjI4OTQ3NDZkCi0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNv bnZlcnQtdmN2dG5lZXBoMnBzLTIuYwpAQCAtMCwwICsxLDY2IEBACisvKiB7IGRnLWRvIHJ1biB9 ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXZ4bmVjb252ZXJ0IC1tZjE2YyAtTzIiIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGF2eG5lY29udmVydCB9ICovCisjZGVmaW5l IEFWWE5FQ09OVkVSVAorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZuZGVmIENIRUNLCisjZGVm aW5lIENIRUNLICJhdngtY2hlY2suaCIKKyNlbmRpZgorCisjaWZuZGVmIFRFU1QKKyNkZWZpbmUg VEVTVCBhdnhfdGVzdAorI2VuZGlmCisKKyNpbmNsdWRlIENIRUNLCisKK3R5cGVkZWYgdW5pb24K K3sKKyAgdWludDMyX3QgaW50MzI7CisgIGZsb2F0IGZsdDsKK30gZmxvYXRfaW50X3Q7CisKK3R5 cGVkZWYgdW5pb24KK3sKKyAgX19tMTI4aCB4OworICB1aW50MzJfdCBhWzRdOworfSB1bmlvbjEy OGg7CisKK3R5cGVkZWYgdW5pb24KK3sKKyAgX19tMjU2aCB4OworICB1aW50MzJfdCBhWzhdOwor fSB1bmlvbjI1Nmg7CisKK3ZvaWQgVEVTVCAodm9pZCkKK3sKKyAgdW5pb24xMjggZHN0XzEyODsK KyAgdW5pb24yNTYgZHN0XzI1NjsKKyAgZmxvYXQgcmVzX3JlZl8xMjhbNF0sIHJlc19yZWZfMjU2 WzhdLCBmcDMyOworICB1aW50MTZfdCBmcDE2OworICB1bmlvbjEyOGggc3JjXzEyOGg7CisgIHVu aW9uMjU2aCBzcmNfMjU2aDsKKworICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykKKyAgewor ICAgIGZwMzIgPSAoZmxvYXQpIDMgKiBpICsgNSArIGkgKiAwLjU7CisgICAgZnAxNiA9IF9jdnRz c19zaCAoZnAzMiwgMCk7CisgICAgc3JjXzEyOGguYVtpXSA9IGZwMTY7CisgICAgcmVzX3JlZl8x MjhbaV0gPSBmcDMyOworICAgIGRzdF8xMjguYVtpXSA9IDExNzsKKyAgfQorICBmb3IgKGludCBp ID0gMDsgaSA8IDg7IGkrKykKKyAgeworICAgIGZwMzIgPSAoZmxvYXQpIDMgKiBpICsgNSArIGkg KiAwLjU7CisgICAgZnAxNiA9IF9jdnRzc19zaCAoZnAzMiwgMCk7CisgICAgc3JjXzI1NmguYVtp XSA9IGZwMTY7CisgICAgcmVzX3JlZl8yNTZbaV0gPSBmcDMyOworICAgIGRzdF8yNTYuYVtpXSA9 IDExNzsKKyAgfQorICBkc3RfMTI4LnggPSBfbW1fY3Z0bmVlcGhfcHMgKCZzcmNfMTI4aC54KTsK KyAgZHN0XzI1Ni54ID0gX21tMjU2X2N2dG5lZXBoX3BzICgmc3JjXzI1NmgueCk7CisgIGlmIChj aGVja191bmlvbjEyOCAoZHN0XzEyOCwgcmVzX3JlZl8xMjgpKQorICAgIGFib3J0KCk7CisgIGlm IChjaGVja191bmlvbjI1NiAoZHN0XzI1NiwgcmVzX3JlZl8yNTYpKQorICAgIGFib3J0KCk7Cit9 CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVy dC12Y3Z0bmVvYmYxNjJwcy0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngt bmUtY29udmVydC12Y3Z0bmVvYmYxNjJwcy0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmE2ZjcyMmUxNGVmCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lb2JmMTYycHMtMi5jCkBAIC0w LDAgKzEsNzUgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1hdnhu ZWNvbnZlcnQgLU8yIiB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhdnhu ZWNvbnZlcnQgfSAqLworI2RlZmluZSBBVlhORUNPTlZFUlQKKyNpbmNsdWRlIDxzdGRpbnQuaD4K KworI2lmbmRlZiBDSEVDSworI2RlZmluZSBDSEVDSyAiYXZ4LWNoZWNrLmgiCisjZW5kaWYKKwor I2lmbmRlZiBURVNUCisjZGVmaW5lIFRFU1QgYXZ4X3Rlc3QKKyNlbmRpZgorCisjaW5jbHVkZSBD SEVDSworCit0eXBlZGVmIHVuaW9uCit7CisgIHVpbnQzMl90IGludDMyOworICBmbG9hdCBmbHQ7 Cit9IGZsb2F0X2ludF90OworCit0eXBlZGVmIHVuaW9uCit7CisgIF9fbTEyOGJoIHg7CisgIHVp bnQzMl90IGFbNF07Cit9IHVuaW9uMTI4YmYxNl9pOworCit0eXBlZGVmIHVuaW9uCit7CisgIF9f bTI1NmJoIHg7CisgIHVpbnQzMl90IGFbOF07Cit9IHVuaW9uMjU2YmYxNl9pOworCitzdGF0aWMg dWludDE2X3QgY29udmVydF9mcDMyX3RvX2JmMTYgKGZsb2F0IGZwKQoreworICBmbG9hdF9pbnRf dCBmaTsKKyAgZmkuZmx0ID0gZnA7CisgIHJldHVybiAoKGZpLmludDMyID4+IDE2KSAmIDB4ZmZm Zik7Cit9CisKK3ZvaWQgVEVTVCAodm9pZCkKK3sKKyAgdW5pb24xMjggZHN0XzEyODsKKyAgdW5p b24yNTYgZHN0XzI1NjsKKyAgZmxvYXQgcmVzX3JlZl8xMjhbNF0sIHJlc19yZWZfMjU2WzhdLCBm cDMyOworICB1aW50MTZfdCBiZjE2OworICB1bmlvbjEyOGJmMTZfaSBzcmNfMTI4Ymg7CisgIHVu aW9uMjU2YmYxNl9pIHNyY18yNTZiaDsKKworICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykK KyAgeworICAgIGZwMzIgPSAoZmxvYXQpIDMgKiBpICsgNSArIGkgKiAwLjU7CisgICAgYmYxNiA9 IGNvbnZlcnRfZnAzMl90b19iZjE2IChmcDMyKTsKKyAgICAvLyBzdG9yZSBiZjE2IGF0IHRoZSB1 cHBlciBwYXJ0IG9mIHRoZSBkd29yZAorICAgIHNyY18xMjhiaC5hW2ldID0gKGJmMTYgPDwgMTYp ICYgMHhmZmZmMDAwMDsKKyAgICByZXNfcmVmXzEyOFtpXSA9IGZwMzI7CisgICAgZHN0XzEyOC5h W2ldID0gMTE3OworICB9CisgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKQorICB7CisgICAg ZnAzMiA9IChmbG9hdCkgMyAqIGkgKyA1ICsgaSAqIDAuNTsKKyAgICBiZjE2ID0gY29udmVydF9m cDMyX3RvX2JmMTYgKGZwMzIpOworICAgIC8vIHN0b3JlIGJmMTYgYXQgdGhlIHVwcGVyIHBhcnQg b2YgdGhlIGR3b3JkCisgICAgc3JjXzI1NmJoLmFbaV0gPSAoYmYxNiA8PCAxNikgJiAweGZmZmYw MDAwOworICAgIHJlc19yZWZfMjU2W2ldID0gZnAzMjsKKyAgICBkc3RfMjU2LmFbaV0gPSAxMTc7 CisgIH0KKyAgZHN0XzEyOC54ID0gX21tX2N2dG5lb2JmMTZfcHMgKCZzcmNfMTI4YmgueCk7Cisg IGRzdF8yNTYueCA9IF9tbTI1Nl9jdnRuZW9iZjE2X3BzICgmc3JjXzI1NmJoLngpOworICBpZiAo Y2hlY2tfdW5pb24xMjggKGRzdF8xMjgsIHJlc19yZWZfMTI4KSkKKyAgICBhYm9ydCgpOworICBp ZiAoY2hlY2tfdW5pb24yNTYgKGRzdF8yNTYsIHJlc19yZWZfMjU2KSkKKyAgICBhYm9ydCgpOwor fQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZl cnQtdmN2dG5lb3BoMnBzLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1u ZS1jb252ZXJ0LXZjdnRuZW9waDJwcy0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjk1ZWI1ZDc0NzY1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvYXZ4LW5lLWNvbnZlcnQtdmN2dG5lb3BoMnBzLTIuYwpAQCAtMCwwICsx LDY2IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXZ4bmVjb252 ZXJ0IC1tZjE2YyAtTzIiIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGF2 eG5lY29udmVydCB9ICovCisjZGVmaW5lIEFWWE5FQ09OVkVSVAorI2luY2x1ZGUgPHN0ZGludC5o PgorCisjaWZuZGVmIENIRUNLCisjZGVmaW5lIENIRUNLICJhdngtY2hlY2suaCIKKyNlbmRpZgor CisjaWZuZGVmIFRFU1QKKyNkZWZpbmUgVEVTVCBhdnhfdGVzdAorI2VuZGlmCisKKyNpbmNsdWRl IENIRUNLCisKK3R5cGVkZWYgdW5pb24KK3sKKyAgdWludDMyX3QgaW50MzI7CisgIGZsb2F0IGZs dDsKK30gZmxvYXRfaW50X3Q7CisKK3R5cGVkZWYgdW5pb24KK3sKKyAgX19tMTI4aCB4OworICB1 aW50MzJfdCBhWzRdOworfSB1bmlvbjEyOGg7CisKK3R5cGVkZWYgdW5pb24KK3sKKyAgX19tMjU2 aCB4OworICB1aW50MzJfdCBhWzhdOworfSB1bmlvbjI1Nmg7CisKK3ZvaWQgVEVTVCAodm9pZCkK K3sKKyAgdW5pb24xMjggZHN0XzEyODsKKyAgdW5pb24yNTYgZHN0XzI1NjsKKyAgZmxvYXQgcmVz X3JlZl8xMjhbNF0sIHJlc19yZWZfMjU2WzhdLCBmcDMyOworICB1aW50MTZfdCBmcDE2OworICB1 bmlvbjEyOGggc3JjXzEyOGg7CisgIHVuaW9uMjU2aCBzcmNfMjU2aDsKKworICBmb3IgKGludCBp ID0gMDsgaSA8IDQ7IGkrKykKKyAgeworICAgIGZwMzIgPSAoZmxvYXQpIDMgKiBpICsgNSArIGkg KiAwLjU7CisgICAgZnAxNiA9IF9jdnRzc19zaCAoZnAzMiwgMCk7CisgICAgc3JjXzEyOGguYVtp XSA9IGZwMTYgPDwgMTY7CisgICAgcmVzX3JlZl8xMjhbaV0gPSBmcDMyOworICAgIGRzdF8xMjgu YVtpXSA9IDExNzsKKyAgfQorICBmb3IgKGludCBpID0gMDsgaSA8IDg7IGkrKykKKyAgeworICAg IGZwMzIgPSAoZmxvYXQpIDMgKiBpICsgNSArIGkgKiAwLjU7CisgICAgZnAxNiA9IF9jdnRzc19z aCAoZnAzMiwgMCk7CisgICAgc3JjXzI1NmguYVtpXSA9IGZwMTYgPDwgMTY7CisgICAgcmVzX3Jl Zl8yNTZbaV0gPSBmcDMyOworICAgIGRzdF8yNTYuYVtpXSA9IDExNzsKKyAgfQorICBkc3RfMTI4 LnggPSBfbW1fY3Z0bmVvcGhfcHMgKCZzcmNfMTI4aC54KTsKKyAgZHN0XzI1Ni54ID0gX21tMjU2 X2N2dG5lb3BoX3BzICgmc3JjXzI1NmgueCk7CisgIGlmIChjaGVja191bmlvbjEyOCAoZHN0XzEy OCwgcmVzX3JlZl8xMjgpKQorICAgIGFib3J0KCk7CisgIGlmIChjaGVja191bmlvbjI1NiAoZHN0 XzI1NiwgcmVzX3JlZl8yNTYpKQorICAgIGFib3J0KCk7Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngtbmUtY29udmVydC12Y3Z0bmVwczJiZjE2LTIuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1uZS1jb252ZXJ0LXZjdnRuZXBzMmJm MTYtMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lNjczMTIzMzhh YwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eC1u ZS1jb252ZXJ0LXZjdnRuZXBzMmJmMTYtMi5jCkBAIC0wLDAgKzEsNTggQEAKKy8qIHsgZGctZG8g cnVuIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1hdnhuZWNvbnZlcnQgLU8yIiB9ICovCisvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhdnhuZWNvbnZlcnQgfSAqLworI2RlZmluZSBB VlhORUNPTlZFUlQKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmbmRlZiBDSEVDSworI2RlZmlu ZSBDSEVDSyAiYXZ4LWNoZWNrLmgiCisjZW5kaWYKKworI2lmbmRlZiBURVNUCisjZGVmaW5lIFRF U1QgYXZ4X3Rlc3QKKyNlbmRpZgorCisjaW5jbHVkZSBDSEVDSworCit0eXBlZGVmIHVuaW9uCit7 CisgIHVpbnQzMl90IGludDMyOworICBmbG9hdCBmbHQ7Cit9IGZsb2F0X2ludF90OworCit0eXBl ZGVmIHVuaW9uCit7CisgIF9fbTEyOGJoICB4OworICB1bnNpZ25lZCBzaG9ydCBhWzhdOworfSB1 bmlvbjEyOGJmMTY7CisKK3ZvaWQgVEVTVCAodm9pZCkKK3sKKyAgdW5pb24xMjggc3JjXzEyODsK KyAgdW5pb24yNTYgc3JjXzI1NjsKKyAgdW5pb24xMjhiZjE2IGRzdF8xMjgsIGRzdF8yNTY7Cisg IHVpbnQxNl90IHJlc19yZWZfMTI4WzhdID0gezB9LCByZXNfcmVmXzI1Nls4XTsKKyAgZmxvYXRf aW50X3QgZnAzMjsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspCisgIHsKKyAgICBmcDMy LmZsdCA9IChmbG9hdCkgMiAqIGkgKyA3ICsgaSAqIDAuMjU7CisgICAgc3JjXzEyOC5hW2ldID0g ZnAzMi5mbHQ7CisgICAgcmVzX3JlZl8xMjhbaV0gPSBmcDMyLmludDMyID4+IDE2OworICAgIGRz dF8xMjguYVtpXSA9IDExNzsKKyAgfQorCisgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKQor ICB7CisgICAgZnAzMi5mbHQgPSAoZmxvYXQpIDIgKiBpICsgNyArIGkgKiAwLjI1OworICAgIHNy Y18yNTYuYVtpXSA9IGZwMzIuZmx0OworICAgIHJlc19yZWZfMjU2W2ldID0gZnAzMi5pbnQzMiA+ PiAxNjsKKyAgICBkc3RfMjU2LmFbaV0gPSAxMTc7CisgIH0KKyAgZHN0XzEyOC54ID0gX21tX2N2 dG5lcHNfYXZ4X3BiaCAoc3JjXzEyOC54KTsKKyAgZHN0XzI1Ni54ID0gX21tMjU2X2N2dG5lcHNf YXZ4X3BiaCAoc3JjXzI1Ni54KTsKKworICBpZiAoY2hlY2tWdXMgKGRzdF8xMjguYSwgcmVzX3Jl Zl8xMjgsIDgpKQorICAgIGFib3J0KCk7CisgIGlmIChjaGVja1Z1cyAoZHN0XzEyOC5hLCByZXNf cmVmXzEyOCwgOCkpCisgICAgYWJvcnQoKTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L2F2eDUxMmJmMTZ2bC12Y3Z0bmVwczJiZjE2LTEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmJmMTZ2bC12Y3Z0bmVwczJiZjE2LTFhLmMKc2lt aWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2F2eDUxMmJmMTZ2bC12Y3Z0bmVwczJiZjE2LTEuYwpyZW5hbWUgdG8gZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyYmYxNnZsLXZjdnRuZXBzMmJmMTYtMWEuYwpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4NTEyYmYxNnZsLXZjdnRuZXBz MmJmMTYtMWIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDUxMmJmMTZ2bC12 Y3Z0bmVwczJiZjE2LTFiLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmUwNjg3ZmE0MWExCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvYXZ4NTEyYmYxNnZsLXZjdnRuZXBzMmJmMTYtMWIuYwpAQCAtMCwwICsxLDI3IEBACisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWF2eDUxMmJmMTYgLW1h dng1MTJ2bCAtbWF2eG5lY29udmVydCAtTzIiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyAiXHt2ZXhcfSB2Y3Z0bmVwczJiZjE2eVxbIFxcdFxdK1xbXlx7XG5cXSol eW1tXFswLTlcXStcW15cblxyXSoleG1tXFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgMSB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidmN2dG5lcHMyYmYxNnlc WyBcXHRcXStcW15ce1xuXF0qJXltbVxbMC05XF0rXFteXG5ccl0qJXhtbVxbMC05XF0rXHsla1xb MC05XF1cfSg/OlxufFxbIFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJ2Y3Z0bmVwczJiZjE2eVxbIFxcdFxdK1xbXlx7XG5cXSoleW1tXFsw LTlcXStcW15cblxyXSoleG1tXFswLTlcXStceyVrXFswLTlcXVx9XHt6XH1cW15cblxyXSooPzpc bnxcWyBcXHRcXSsjKSIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAiXHt2ZXhcfSB2Y3Z0bmVwczJiZjE2eFxbIFxcdFxdK1xbXlx7XG5cXSoleG1tXFswLTlc XStcW15cblxyXSoleG1tXFswLTlcXSsoPzpcbnxcWyBcXHRcXSsjKSIgMSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidmN2dG5lcHMyYmYxNnhcWyBcXHRcXStc W15ce1xuXF0qJXhtbVxbMC05XF0rXFteXG5ccl0qJXhtbVxbMC05XF0rXHsla1xbMC05XF1cfSg/ OlxufFxbIFxcdFxdKyMpIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJ2Y3Z0bmVwczJiZjE2eFxbIFxcdFxdK1xbXlx7XG5cXSoleG1tXFswLTlcXStcW15c blxyXSoleG1tXFswLTlcXStceyVrXFswLTlcXVx9XHt6XH1cW15cblxyXSooPzpcbnxcWyBcXHRc XSsjKSIgMSB9IH0gKi8KKworI2luY2x1ZGUgPGltbWludHJpbi5oPgorCit2b2xhdGlsZSBfX20x MjhiaCByZXMxLCByZXMyOwordm9sYXRpbGUgX19tMTI4IHgxOwordm9sYXRpbGUgX19tMjU2IHgy Owordm9sYXRpbGUgX19tbWFzazggbTg7CisKK3ZvaWQgZXh0ZXJuCithdng1MTJiZjE2X3Rlc3Qg KHZvaWQpCit7CisgIHJlczIgPSBfbW0yNTZfY3Z0bmVwc19wYmggKHgyKTsKKyAgcmVzMiA9IF9t bTI1Nl9tYXNrX2N2dG5lcHNfcGJoIChyZXMyLCBtOCwgeDIpOworICByZXMyID0gX21tMjU2X21h c2t6X2N2dG5lcHNfcGJoIChtOCwgeDIpOworCisgIHJlczEgPSBfbW1fY3Z0bmVwc19wYmggKHgx KTsKKyAgcmVzMSA9IF9tbV9tYXNrX2N2dG5lcHNfcGJoIChyZXMxLCBtOCwgeDEpOworICByZXMx ID0gX21tX21hc2t6X2N2dG5lcHNfcGJoIChtOCwgeDEpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNTYuaW5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNTYuaW5jCmluZGV4IGZhZGE2NmJiOGJjLi41NjU1YzVi MTkxOSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMt NTYuaW5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTU2Lmlu YwpAQCAtODIsNiArODIsNyBAQCBleHRlcm4gdm9pZCB0ZXN0X2F2eHZubmkgKHZvaWQpCQkJX19h dHRyaWJ1dGVfXygoX190YXJnZXRfXygiYXZ4dm5uaSIpKSk7CiBleHRlcm4gdm9pZCB0ZXN0X2F2 eDUxMmZwMTYgKHZvaWQpCQlfX2F0dHJpYnV0ZV9fKChfX3RhcmdldF9fKCJhdng1MTJmcDE2Iikp KTsKIGV4dGVybiB2b2lkIHRlc3RfYXZ4aWZtYSAodm9pZCkJCQlfX2F0dHJpYnV0ZV9fKChfX3Rh cmdldF9fKCJhdnhpZm1hIikpKTsKIGV4dGVybiB2b2lkIHRlc3RfYXZ4dm5uaWludDggKHZvaWQp CQlfX2F0dHJpYnV0ZV9fKChfX3RhcmdldF9fKCJhdnh2bm5paW50OCIpKSk7CitleHRlcm4gdm9p ZCB0ZXN0X2F2eG5lY29udmVydCAodm9pZCkJCV9fYXR0cmlidXRlX18oKF9fdGFyZ2V0X18oImF2 eG5lY29udmVydCIpKSk7CiAKIGV4dGVybiB2b2lkIHRlc3Rfbm9fc2d4ICh2b2lkKQkJCV9fYXR0 cmlidXRlX18oKF9fdGFyZ2V0X18oIm5vLXNneCIpKSk7CiBleHRlcm4gdm9pZCB0ZXN0X25vX2F2 eDUxMjRmbWFwcyh2b2lkKQkJX19hdHRyaWJ1dGVfXygoX190YXJnZXRfXygibm8tYXZ4NTEyNGZt YXBzIikpKTsKQEAgLTE2NSw2ICsxNjYsNyBAQCBleHRlcm4gdm9pZCB0ZXN0X25vX2F2eHZubmkg KHZvaWQpCQlfX2F0dHJpYnV0ZV9fKChfX3RhcmdldF9fKCJuby1hdnh2bm5pIikpKTsKIGV4dGVy biB2b2lkIHRlc3Rfbm9fYXZ4NTEyZnAxNiAodm9pZCkJCV9fYXR0cmlidXRlX18oKF9fdGFyZ2V0 X18oIm5vLWF2eDUxMmZwMTYiKSkpOwogZXh0ZXJuIHZvaWQgdGVzdF9ub19hdnhpZm1hICh2b2lk KQkJX19hdHRyaWJ1dGVfXygoX190YXJnZXRfXygibm8tYXZ4aWZtYSIpKSk7CiBleHRlcm4gdm9p ZCB0ZXN0X25vX2F2eHZubmlpbnQ4ICh2b2lkKQkJX19hdHRyaWJ1dGVfXygoX190YXJnZXRfXygi bm8tYXZ4dm5uaWludDgiKSkpOworZXh0ZXJuIHZvaWQgdGVzdF9ub19hdnhuZWNvbnZlcnQgKHZv aWQpCQlfX2F0dHJpYnV0ZV9fKChfX3RhcmdldF9fKCJuby1hdnhuZWNvbnZlcnQiKSkpOwogCiBl eHRlcm4gdm9pZCB0ZXN0X2FyY2hfbm9jb25hICh2b2lkKQkJX19hdHRyaWJ1dGVfXygoX190YXJn ZXRfXygiYXJjaD1ub2NvbmEiKSkpOwogZXh0ZXJuIHZvaWQgdGVzdF9hcmNoX2NvcmUyICh2b2lk KQkJX19hdHRyaWJ1dGVfXygoX190YXJnZXRfXygiYXJjaD1jb3JlMiIpKSk7CmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMTIuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L3NzZS0xMi5jCmluZGV4IGRkZGUyZGY2NjU3Li4zZWFiYzQ5YTZhYiAx MDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTEyLmMKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTEyLmMKQEAgLTMsNyArMyw3IEBACiAg ICBwb3BjbnRpbnRyaW4uaCBnZm5paW50cmluLmggYW5kIG1tX21hbGxvYy5oIGFyZSB1c2FibGUK ICAgIHdpdGggLU8gLXN0ZD1jODkgLXBlZGFudGljLWVycm9ycy4gICovCiAvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLwotLyogeyBkZy1vcHRpb25zICItTyAtc3RkPWM4OSAtcGVkYW50aWMtZXJyb3Jz IC1tYXJjaD1rOCAtbXNzZTRhIC1tM2Rub3cgLW1hdnggLW1hdngyIC1tZm1hNCAtbXhvcCAtbWFl cyAtbXBjbG11bCAtbXBvcGNudCAtbWFibSAtbWx6Y250IC1tYm1pIC1tYm1pMiAtbXRibSAtbWx3 cCAtbWZzZ3NiYXNlIC1tcmRybmQgLW1mMTZjIC1tZm1hIC1tcnRtIC1tcmRzZWVkIC1tcHJmY2h3 IC1tYWR4IC1tZnhzciAtbXhzYXZlb3B0IC1tYXZ4NTEyZiAtbWF2eDUxMmVyIC1tYXZ4NTEyY2Qg LW1hdng1MTJwZiAtbXNoYSAtbXByZWZldGNod3QxIC1teHNhdmVjIC1teHNhdmVzIC1tY2xmbHVz aG9wdCAtbWF2eDUxMmJ3IC1tYXZ4NTEyZHEgLW1hdng1MTJ2bCAtbWF2eDUxMnZibWkgLW1hdng1 MTJ2Ym1pMiAtbWF2eDUxMmlmbWEgLW1hdng1MTI0Zm1hcHMgLW1hdng1MTI0dm5uaXcgLW1hdng1 MTJ2cG9wY250ZHEgLW1jbHdiIC1tbXdhaXR4IC1tY2x6ZXJvIC1tcGt1IC1tc2d4IC1tcmRwaWQg LW1nZm5pIC1tYXZ4NTEyYml0YWxnIC1tcGNvbmZpZyAtbXdibm9pbnZkIC1tYXZ4NTEyYmYxNiAt bWVucWNtZCAtbWF2eDUxMnZwMmludGVyc2VjdCAtbXNlcmlhbGl6ZSAtbXRzeGxkdHJrIC1tYW14 LXRpbGUgLW1hbXgtaW50OCAtbWFteC1iZjE2IC1ta2wgLW13aWRla2wgLW1hdnh2bm5pIC1tYXZ4 aWZtYSAtbWF2eHZubmlpbnQ4IiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PIC1zdGQ9Yzg5IC1w ZWRhbnRpYy1lcnJvcnMgLW1hcmNoPWs4IC1tc3NlNGEgLW0zZG5vdyAtbWF2eCAtbWF2eDIgLW1m bWE0IC1teG9wIC1tYWVzIC1tcGNsbXVsIC1tcG9wY250IC1tYWJtIC1tbHpjbnQgLW1ibWkgLW1i bWkyIC1tdGJtIC1tbHdwIC1tZnNnc2Jhc2UgLW1yZHJuZCAtbWYxNmMgLW1mbWEgLW1ydG0gLW1y ZHNlZWQgLW1wcmZjaHcgLW1hZHggLW1meHNyIC1teHNhdmVvcHQgLW1hdng1MTJmIC1tYXZ4NTEy ZXIgLW1hdng1MTJjZCAtbWF2eDUxMnBmIC1tc2hhIC1tcHJlZmV0Y2h3dDEgLW14c2F2ZWMgLW14 c2F2ZXMgLW1jbGZsdXNob3B0IC1tYXZ4NTEyYncgLW1hdng1MTJkcSAtbWF2eDUxMnZsIC1tYXZ4 NTEydmJtaSAtbWF2eDUxMnZibWkyIC1tYXZ4NTEyaWZtYSAtbWF2eDUxMjRmbWFwcyAtbWF2eDUx MjR2bm5pdyAtbWF2eDUxMnZwb3BjbnRkcSAtbWNsd2IgLW1td2FpdHggLW1jbHplcm8gLW1wa3Ug LW1zZ3ggLW1yZHBpZCAtbWdmbmkgLW1hdng1MTJiaXRhbGcgLW1wY29uZmlnIC1td2Jub2ludmQg LW1hdng1MTJiZjE2IC1tZW5xY21kIC1tYXZ4NTEydnAyaW50ZXJzZWN0IC1tc2VyaWFsaXplIC1t dHN4bGR0cmsgLW1hbXgtdGlsZSAtbWFteC1pbnQ4IC1tYW14LWJmMTYgLW1rbCAtbXdpZGVrbCAt bWF2eHZubmkgLW1hdnhpZm1hIC1tYXZ4dm5uaWludDggLW1hdnhuZWNvbnZlcnQiIH0gKi8KIAog I2luY2x1ZGUgPHg4NmludHJpbi5oPgogCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvaTM4Ni9zc2UtMTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS0x My5jCmluZGV4IDJiMjkzMjE2YzZmLi5iOWNkZmI2OTBkMSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTEzLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvc3NlLTEzLmMKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LwotLyogeyBkZy1vcHRpb25zICItTzIgLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJh dGlvbiAtbWFyY2g9azggLW1zc2U0YSAtbTNkbm93IC1tYXZ4IC1tYXZ4MiAtbWZtYTQgLW14b3Ag LW1hZXMgLW1wY2xtdWwgLW1wb3BjbnQgLW1hYm0gLW1semNudCAtbWJtaSAtbWJtaTIgLW10Ym0g LW1sd3AgLW1mc2dzYmFzZSAtbXJkcm5kIC1tZjE2YyAtbWZtYSAtbXJ0bSAtbXJkc2VlZCAtbXBy ZmNodyAtbWFkeCAtbWZ4c3IgLW14c2F2ZW9wdCAtbWF2eDUxMmYgLW1hdng1MTJlciAtbWF2eDUx MmNkIC1tYXZ4NTEycGYgLW1zaGEgLW1wcmVmZXRjaHd0MSAtbXhzYXZlYyAtbXhzYXZlcyAtbWNs Zmx1c2hvcHQgLW1hdng1MTJ2bCAtbWF2eDUxMmRxIC1tYXZ4NTEyYncgLW1hdng1MTJ2Ym1pIC1t YXZ4NTEydmJtaTIgLW1hdng1MTJpZm1hIC1tYXZ4NTEyNGZtYXBzIC1tYXZ4NTEyNHZubml3IC1t YXZ4NTEydnBvcGNudGRxIC1tYXZ4NTEydnAyaW50ZXJzZWN0IC1tY2x3YiAtbW13YWl0eCAtbWNs emVybyAtbXBrdSAtbXNneCAtbXJkcGlkIC1tZ2ZuaSAtbWF2eDUxMmJpdGFsZyAtbXBjb25maWcg LW13Ym5vaW52ZCAtbWF2eDUxMmJmMTYgLW1lbnFjbWQgLW1zZXJpYWxpemUgLW10c3hsZHRyayAt bWFteC10aWxlIC1tYW14LWludDggLW1hbXgtYmYxNiAtbWtsIC1td2lkZWtsIC1tYXZ4dm5uaSAt bWF2eDUxMmZwMTYgLW1hdnhpZm1hIC1tYXZ4dm5uaWludDgiIH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8yIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gLW1hcmNoPWs4IC1t c3NlNGEgLW0zZG5vdyAtbWF2eCAtbWF2eDIgLW1mbWE0IC1teG9wIC1tYWVzIC1tcGNsbXVsIC1t cG9wY250IC1tYWJtIC1tbHpjbnQgLW1ibWkgLW1ibWkyIC1tdGJtIC1tbHdwIC1tZnNnc2Jhc2Ug LW1yZHJuZCAtbWYxNmMgLW1mbWEgLW1ydG0gLW1yZHNlZWQgLW1wcmZjaHcgLW1hZHggLW1meHNy IC1teHNhdmVvcHQgLW1hdng1MTJmIC1tYXZ4NTEyZXIgLW1hdng1MTJjZCAtbWF2eDUxMnBmIC1t c2hhIC1tcHJlZmV0Y2h3dDEgLW14c2F2ZWMgLW14c2F2ZXMgLW1jbGZsdXNob3B0IC1tYXZ4NTEy dmwgLW1hdng1MTJkcSAtbWF2eDUxMmJ3IC1tYXZ4NTEydmJtaSAtbWF2eDUxMnZibWkyIC1tYXZ4 NTEyaWZtYSAtbWF2eDUxMjRmbWFwcyAtbWF2eDUxMjR2bm5pdyAtbWF2eDUxMnZwb3BjbnRkcSAt bWF2eDUxMnZwMmludGVyc2VjdCAtbWNsd2IgLW1td2FpdHggLW1jbHplcm8gLW1wa3UgLW1zZ3gg LW1yZHBpZCAtbWdmbmkgLW1hdng1MTJiaXRhbGcgLW1wY29uZmlnIC1td2Jub2ludmQgLW1hdng1 MTJiZjE2IC1tZW5xY21kIC1tc2VyaWFsaXplIC1tdHN4bGR0cmsgLW1hbXgtdGlsZSAtbWFteC1p bnQ4IC1tYW14LWJmMTYgLW1rbCAtbXdpZGVrbCAtbWF2eHZubmkgLW1hdng1MTJmcDE2IC1tYXZ4 aWZtYSAtbWF2eHZubmlpbnQ4IC1tYXZ4bmVjb252ZXJ0IiB9ICovCiAvKiB7IGRnLWFkZC1vcHRp b25zIGJpbmRfcGljX2xvY2FsbHkgfSAqLwogCiAjaW5jbHVkZSA8bW1fbWFsbG9jLmg+CmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMTQuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS0xNC5jCmluZGV4IDc4YjUxMDQ4YjkwLi5iNmVlMzgw NmRjYyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTE0LmMK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTE0LmMKQEAgLTEsNSArMSw1 IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLyogeyBkZy1vcHRpb25zICItTzAgLVdlcnJv ci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtbWFyY2g9azggLW1zc2U0YSAtbTNkbm93 IC1tYXZ4IC1tYXZ4MiAtbWZtYTQgLW14b3AgLW1hZXMgLW1wY2xtdWwgLW1wb3BjbnQgLW1hYm0g LW1semNudCAtbWJtaSAtbWJtaTIgLW10Ym0gLW1sd3AgLW1mc2dzYmFzZSAtbXJkcm5kIC1tZjE2 YyAtbWZtYSAtbXJ0bSAtbXJkc2VlZCAtbXByZmNodyAtbWFkeCAtbWZ4c3IgLW14c2F2ZW9wdCAt bWF2eDUxMmYgLW1hdng1MTJlciAtbWF2eDUxMmNkIC1tYXZ4NTEycGYgLW1zaGEgLW1wcmVmZXRj aHd0MSAtbXhzYXZlYyAtbXhzYXZlcyAtbWNsZmx1c2hvcHQgLW1hdng1MTJkcSAtbWF2eDUxMmJ3 IC1tYXZ4NTEydmwgLW1hdng1MTJpZm1hIC1tYXZ4NTEydmJtaSAtbWF2eDUxMnZibWkyIC1tYXZ4 NTEyNGZtYXBzIC1tYXZ4NTEyNHZubml3IC1tYXZ4NTEydnBvcGNudGRxIC1tY2x3YiAtbW13YWl0 eCAtbWNsemVybyAtbXBrdSAtbXNneCAtbXJkcGlkIC1tZ2ZuaSAtbXBjb25maWcgLW13Ym5vaW52 ZCAtbWF2eDUxMnZsIC1tYXZ4NTEyYmYxNiAtbWVucWNtZCAtbWF2eDUxMnZwMmludGVyc2VjdCAt bXNlcmlhbGl6ZSAtbXRzeGxkdHJrIC1tYW14LXRpbGUgLW1hbXgtaW50OCAtbWFteC1iZjE2IC1t a2wgLW13aWRla2wgLW1hdnh2bm5pIC1tYXZ4NTEyZnAxNiAtbWF2eGlmbWEgLW1hdnh2bm5paW50 OCIgfSAqLworLyogeyBkZy1vcHRpb25zICItTzAgLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbiAtbWFyY2g9azggLW1zc2U0YSAtbTNkbm93IC1tYXZ4IC1tYXZ4MiAtbWZtYTQg LW14b3AgLW1hZXMgLW1wY2xtdWwgLW1wb3BjbnQgLW1hYm0gLW1semNudCAtbWJtaSAtbWJtaTIg LW10Ym0gLW1sd3AgLW1mc2dzYmFzZSAtbXJkcm5kIC1tZjE2YyAtbWZtYSAtbXJ0bSAtbXJkc2Vl ZCAtbXByZmNodyAtbWFkeCAtbWZ4c3IgLW14c2F2ZW9wdCAtbWF2eDUxMmYgLW1hdng1MTJlciAt bWF2eDUxMmNkIC1tYXZ4NTEycGYgLW1zaGEgLW1wcmVmZXRjaHd0MSAtbXhzYXZlYyAtbXhzYXZl cyAtbWNsZmx1c2hvcHQgLW1hdng1MTJkcSAtbWF2eDUxMmJ3IC1tYXZ4NTEydmwgLW1hdng1MTJp Zm1hIC1tYXZ4NTEydmJtaSAtbWF2eDUxMnZibWkyIC1tYXZ4NTEyNGZtYXBzIC1tYXZ4NTEyNHZu bml3IC1tYXZ4NTEydnBvcGNudGRxIC1tY2x3YiAtbW13YWl0eCAtbWNsemVybyAtbXBrdSAtbXNn eCAtbXJkcGlkIC1tZ2ZuaSAtbXBjb25maWcgLW13Ym5vaW52ZCAtbWF2eDUxMnZsIC1tYXZ4NTEy YmYxNiAtbWVucWNtZCAtbWF2eDUxMnZwMmludGVyc2VjdCAtbXNlcmlhbGl6ZSAtbXRzeGxkdHJr IC1tYW14LXRpbGUgLW1hbXgtaW50OCAtbWFteC1iZjE2IC1ta2wgLW13aWRla2wgLW1hdnh2bm5p IC1tYXZ4NTEyZnAxNiAtbWF2eGlmbWEgLW1hdnh2bm5paW50OCAtbWF2eG5lY29udmVydCIgfSAq LwogLyogeyBkZy1hZGQtb3B0aW9ucyBiaW5kX3BpY19sb2NhbGx5IH0gKi8KIAogI2luY2x1ZGUg PG1tX21hbGxvYy5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv c3NlLTIyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMjIuYwppbmRleCBj YzFjOGNmYTRiZS4uNzFhYzBmM2RhMTkgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L3NzZS0yMi5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3Nz ZS0yMi5jCkBAIC0xMDMsNyArMTAzLDcgQEAKIAogCiAjaWZuZGVmIERJRkZFUkVOVF9QUkFHTUFT Ci0jcHJhZ21hIEdDQyB0YXJnZXQgKCJzc2U0YSwzZG5vdyxhdngsYXZ4MixmbWE0LHhvcCxhZXMs cGNsbXVsLHBvcGNudCxhYm0sbHpjbnQsYm1pLGJtaTIsdGJtLGx3cCxmc2dzYmFzZSxyZHJuZCxm MTZjLHJ0bSxyZHNlZWQscHJmY2h3LGFkeCxmeHNyLHhzYXZlb3B0LGF2eDUxMmYsYXZ4NTEyZXIs YXZ4NTEyY2QsYXZ4NTEycGYsc2hhLHByZWZldGNod3QxLGF2eDUxMnZsLGF2eDUxMmJ3LGF2eDUx MmRxLGF2eDUxMnZibWksYXZ4NTEydmJtaTIsYXZ4NTEyaWZtYSxhdng1MTI0Zm1hcHMsYXZ4NTEy NHZubml3LGF2eDUxMnZwb3BjbnRkcSxnZm5pLGF2eDUxMmJpdGFsZyxhdng1MTJiZjE2LGF2eDUx MnZwMmludGVyc2VjdCxzZXJpYWxpemUsdHN4bGR0cmssYW14LXRpbGUsYW14LWludDgsYW14LWJm MTYsa2wsd2lkZWtsLGF2eHZubmksYXZ4NTEyZnAxNixhdnhpZm1hLGF2eHZubmlpbnQ4IikKKyNw cmFnbWEgR0NDIHRhcmdldCAoInNzZTRhLDNkbm93LGF2eCxhdngyLGZtYTQseG9wLGFlcyxwY2xt dWwscG9wY250LGFibSxsemNudCxibWksYm1pMix0Ym0sbHdwLGZzZ3NiYXNlLHJkcm5kLGYxNmMs cnRtLHJkc2VlZCxwcmZjaHcsYWR4LGZ4c3IseHNhdmVvcHQsYXZ4NTEyZixhdng1MTJlcixhdng1 MTJjZCxhdng1MTJwZixzaGEscHJlZmV0Y2h3dDEsYXZ4NTEydmwsYXZ4NTEyYncsYXZ4NTEyZHEs YXZ4NTEydmJtaSxhdng1MTJ2Ym1pMixhdng1MTJpZm1hLGF2eDUxMjRmbWFwcyxhdng1MTI0dm5u aXcsYXZ4NTEydnBvcGNudGRxLGdmbmksYXZ4NTEyYml0YWxnLGF2eDUxMmJmMTYsYXZ4NTEydnAy aW50ZXJzZWN0LHNlcmlhbGl6ZSx0c3hsZHRyayxhbXgtdGlsZSxhbXgtaW50OCxhbXgtYmYxNixr bCx3aWRla2wsYXZ4dm5uaSxhdng1MTJmcDE2LGF2eGlmbWEsYXZ4dm5uaWludDgsYXZ4bmVjb252 ZXJ0IikKICNlbmRpZgogCiAvKiBGb2xsb3dpbmcgaW50cmluc2ljcyByZXF1aXJlIGltbWVkaWF0 ZSBhcmd1bWVudHMuICBUaGV5CkBAIC0yMjAsNyArMjIwLDcgQEAgdGVzdF80IChfbW1fY21wZXN0 cnosIGludCwgX19tMTI4aSwgaW50LCBfX20xMjhpLCBpbnQsIDEpCiAKIC8qIGltbWludHJpbi5o IChBVlgvQVZYMi9SRFJORC9GU0dTQkFTRS9GMTZDL1JUTS9BVlg1MTJGL1NIQSkgKi8KICNpZmRl ZiBESUZGRVJFTlRfUFJBR01BUwotI3ByYWdtYSBHQ0MgdGFyZ2V0ICgiYXZ4LGF2eDIscmRybmQs ZnNnc2Jhc2UsZjE2YyxydG0sYXZ4NTEyZixhdng1MTJlcixhdng1MTJjZCxhdng1MTJwZixzaGEs YXZ4NTEydmwsYXZ4NTEyYncsYXZ4NTEyZHEsYXZ4NTEyaWZtYSxhdng1MTJ2Ym1pLGF2eDUxMnZi bWkyLGF2eDUxMjRmbWFwcyxhdng1MTI0dm5uaXcsYXZ4NTEydnBvcGNudGRxLGdmbmksYXZ4NTEy Yml0YWxnLGF2eDUxMmJmMTYsYXZ4NTEydnAyaW50ZXJzZWN0LHNlcmlhbGl6ZSx0c3hsZHRyayxh bXgtdGlsZSxhbXgtaW50OCxhbXgtYmYxNixrbCx3aWRla2wsYXZ4dm5uaSxhdng1MTJmcDE2LGF2 eGlmbWEsYXZ4dm5uaWludDgiKQorI3ByYWdtYSBHQ0MgdGFyZ2V0ICgiYXZ4LGF2eDIscmRybmQs ZnNnc2Jhc2UsZjE2YyxydG0sYXZ4NTEyZixhdng1MTJlcixhdng1MTJjZCxhdng1MTJwZixzaGEs YXZ4NTEydmwsYXZ4NTEyYncsYXZ4NTEyZHEsYXZ4NTEyaWZtYSxhdng1MTJ2Ym1pLGF2eDUxMnZi bWkyLGF2eDUxMjRmbWFwcyxhdng1MTI0dm5uaXcsYXZ4NTEydnBvcGNudGRxLGdmbmksYXZ4NTEy Yml0YWxnLGF2eDUxMmJmMTYsYXZ4NTEydnAyaW50ZXJzZWN0LHNlcmlhbGl6ZSx0c3hsZHRyayxh bXgtdGlsZSxhbXgtaW50OCxhbXgtYmYxNixrbCx3aWRla2wsYXZ4dm5uaSxhdng1MTJmcDE2LGF2 eGlmbWEsYXZ4dm5uaWludDgsYXZ4bmVjb252ZXJ0IikKICNlbmRpZgogI2luY2x1ZGUgPGltbWlu dHJpbi5oPgogdGVzdF8xIChfY3Z0c3Nfc2gsIHVuc2lnbmVkIHNob3J0LCBmbG9hdCwgMSkKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3NzZS0yMy5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvc3NlLTIzLmMKaW5kZXggMjcwZjQ0ODM0OTEuLjg5OGRk ZTgwYzhmIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMjMu YworKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zc2UtMjMuYwpAQCAtODQzLDYg Kzg0Myw2IEBACiAjZGVmaW5lIF9fYnVpbHRpbl9pYTMyX3ZwY2xtdWxxZHFfdjJkaShBLCBCLCBD KSAgX19idWlsdGluX2lhMzJfdnBjbG11bHFkcV92MmRpKEEsIEIsIDEpIAogI2RlZmluZSBfX2J1 aWx0aW5faWEzMl92cGNsbXVscWRxX3Y4ZGkoQSwgQiwgQykgIF9fYnVpbHRpbl9pYTMyX3ZwY2xt dWxxZHFfdjhkaShBLCBCLCAxKSAKIAotI3ByYWdtYSBHQ0MgdGFyZ2V0ICgic3NlNGEsM2Rub3cs YXZ4LGF2eDIsZm1hNCx4b3AsYWVzLHBjbG11bCxwb3BjbnQsYWJtLGx6Y250LGJtaSxibWkyLHRi bSxsd3AsZnNnc2Jhc2UscmRybmQsZjE2YyxmbWEscnRtLHJkc2VlZCxwcmZjaHcsYWR4LGZ4c3Is eHNhdmVvcHQsYXZ4NTEyZixhdng1MTJlcixhdng1MTJjZCxhdng1MTJwZixzaGEscHJlZmV0Y2h3 dDEseHNhdmVjLHhzYXZlcyxjbGZsdXNob3B0LGF2eDUxMmJ3LGF2eDUxMmRxLGF2eDUxMnZsLGF2 eDUxMnZibWksYXZ4NTEyaWZtYSxhdng1MTI0Zm1hcHMsYXZ4NTEyNHZubml3LGF2eDUxMnZwb3Bj bnRkcSxjbHdiLG13YWl0eCxjbHplcm8scGt1LHNneCxyZHBpZCxnZm5pLGF2eDUxMnZibWkyLHZw Y2xtdWxxZHEsYXZ4NTEyYml0YWxnLHBjb25maWcsd2Jub2ludmQsYXZ4NTEyYmYxNixlbnFjbWQs YXZ4NTEydnAyaW50ZXJzZWN0LHNlcmlhbGl6ZSx0c3hsZHRyayxhbXgtdGlsZSxhbXgtaW50OCxh bXgtYmYxNixrbCx3aWRla2wsYXZ4dm5uaSxhdng1MTJmcDE2LGF2eGlmbWEsYXZ4dm5uaWludDgi KQorI3ByYWdtYSBHQ0MgdGFyZ2V0ICgic3NlNGEsM2Rub3csYXZ4LGF2eDIsZm1hNCx4b3AsYWVz LHBjbG11bCxwb3BjbnQsYWJtLGx6Y250LGJtaSxibWkyLHRibSxsd3AsZnNnc2Jhc2UscmRybmQs ZjE2YyxmbWEscnRtLHJkc2VlZCxwcmZjaHcsYWR4LGZ4c3IseHNhdmVvcHQsYXZ4NTEyZixhdng1 MTJlcixhdng1MTJjZCxhdng1MTJwZixzaGEscHJlZmV0Y2h3dDEseHNhdmVjLHhzYXZlcyxjbGZs dXNob3B0LGF2eDUxMmJ3LGF2eDUxMmRxLGF2eDUxMnZsLGF2eDUxMnZibWksYXZ4NTEyaWZtYSxh dng1MTI0Zm1hcHMsYXZ4NTEyNHZubml3LGF2eDUxMnZwb3BjbnRkcSxjbHdiLG13YWl0eCxjbHpl cm8scGt1LHNneCxyZHBpZCxnZm5pLGF2eDUxMnZibWkyLHZwY2xtdWxxZHEsYXZ4NTEyYml0YWxn LHBjb25maWcsd2Jub2ludmQsYXZ4NTEyYmYxNixlbnFjbWQsYXZ4NTEydnAyaW50ZXJzZWN0LHNl cmlhbGl6ZSx0c3hsZHRyayxhbXgtdGlsZSxhbXgtaW50OCxhbXgtYmYxNixrbCx3aWRla2wsYXZ4 dm5uaSxhdng1MTJmcDE2LGF2eGlmbWEsYXZ4dm5uaWludDgsYXZ4bmVjb252ZXJ0IikKIAogI2lu Y2x1ZGUgPHg4NmludHJpbi5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0 LXN1cHBvcnRzLmV4cCBiL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAKaW5k ZXggY2NiYmVlODQ3ZjcuLjc1MDg5N2QwODU0IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2xp Yi90YXJnZXQtc3VwcG9ydHMuZXhwCisrKyBiL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBw b3J0cy5leHAKQEAgLTk1NDksNiArOTU0OSwxOCBAQCBwcm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJn ZXRfYXZ4dm5uaWludDggeyB9IHsKICAgICB9ICItTzAgLW1hdnh2bm5paW50OCIgXQogfQogCisj IFJldHVybiAxIGlmIGF2eG5lY29udmVydCBpbnN0cnVjdGlvbnMgY2FuIGJlIGNvbXBpbGVkLgor cHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0X2F2eG5lY29udmVydCB7IH0geworICAgIHJldHVy biBbY2hlY2tfbm9fY29tcGlsZXJfbWVzc2FnZXMgYXZ4bmVjb252ZXJ0IG9iamVjdCB7CisJdHlw ZWRlZiBmbG9hdCBfX20xMjggX19hdHRyaWJ1dGVfXyAoKF9fdmVjdG9yX3NpemVfXyAoMTYpLCBf X21heV9hbGlhc19fKSk7CisJX19tMTI4CisJX21tX2Jjc3RuZWJmMTZfcHMgKGNvbnN0IHZvaWQg Kl9fUCkKKwl7CisJICAgcmV0dXJuIChfX20xMjgpIF9fYnVpbHRpbl9pYTMyX3ZiY3N0bmViZjE2 MnBzMTI4ICgoY29uc3QgX19iZjE2ICopIF9fUCk7CisJfQorICAgIH0gIi1PMCAtbWF2eG5lY29u dmVydCIgXQorfQorCiAjIFJldHVybiAxIGlmIHNzZSBpbnN0cnVjdGlvbnMgY2FuIGJlIGNvbXBp bGVkLgogcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0X3NzZSB7IH0gewogICAgIHJldHVybiBb Y2hlY2tfbm9fY29tcGlsZXJfbWVzc2FnZXMgc3NlIG9iamVjdCB7Ci0tIAoyLjI3LjAKCg== --_002_DM4PR11MB54870F92A2F3D0369B1CCBF1EC329DM4PR11MB5487namp_--