Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rggiF-007SMG-K2 for pgsql-hackers@arkaria.postgresql.org; Sun, 03 Mar 2024 07:56:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rggiE-000cv3-6n for pgsql-hackers@arkaria.postgresql.org; Sun, 03 Mar 2024 07:56:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rggiD-000cuv-NW for pgsql-hackers@lists.postgresql.org; Sun, 03 Mar 2024 07:56:46 +0000 Received: from esa3.fujitsucc.c3s2.iphmx.com ([68.232.151.212]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rggi9-002WdJ-CO for pgsql-hackers@postgresql.org; Sun, 03 Mar 2024 07:56:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1709452601; x=1740988601; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=92yUQa8wdJVKtwlbQQKV2R39vshY2BBjlI+qEU4u8ZI=; b=PcG227KWuukv/xtxQI1Tt8Nr/NtJBYm+wDT45/CRpGsVW0NohwohlZOb QvcEcjmgWRrnljcnE3H4xE/DsF4Z6Aw9Uh/i8UYD8mgu/otKFddC+J/QQ 6tIz2/1gHaWqk+kL9it7i0318p3LB2PHlmEf6veUJAOL+Mpr8F1qIckA3 cQhQ8spJdvI3uXikfI28UiV4ofQuRNUzl6yGdiznfHmOptwRXT+c1n5w7 W4tN4oYYr2fE+UlAZvq+oV0DdhV8gCZSAgSSRv0Y42fU4coaVQ0DvKrVK 5dFwPhFpASZHbW8PWYFoUuKAdbbM6BtTiF1QC6uecUKarr/Iy9jUxPtJR g==; X-IronPort-AV: E=McAfee;i="6600,9927,11001"; a="23963068" X-IronPort-AV: E=Sophos;i="6.06,200,1705330800"; d="scan'208,223";a="23963068" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2024 16:56:36 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cz2qTb7aMA2cwhM7eqsR+JqzckaP/MCuWYUtBlOyWxq7BGRDfSnJE6un8HBDnA4jefF5HWDlYSZEKOVMxUHIU5MxMt5sDZra3W9sujDK2nLALUoMVUp24wqEa6Dx7bZN0Rsba7jdQQ6N2WyE91t9FFq0YswKpuaddZc/2+1PIgy5Oesh/aDWr8WS9yzWQPrnj1HReWIxE8YVnPWEUti+XBFKDSXmq3KTIZ6m27qV4AH+RqoMd+7GlMyFsxukGJC4CkM8pXjdRXIR1RkDMS4XyVQzpHWpu3j2Qknmp2lqY/67H6YI3Vmc+dE1igbrfmQRwYxPNRNnWn0y2ig1bFn9ig== 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=JmEobLbVkkc05eI+gJJhB2ydi7Z5rOG6y1z+gd7RqTA=; b=TwoQkbv05tOsoCkPjYEkSpILNWSpM8LhhxJYYYCMsgNXfOuMj39do9IDUg97ETYF9uzL8W14EVQ6KSEjnaI5QNkzxGWjBt7s40Nd5vQ5996Bgcn4PcJczDJtwYiZoV57ZpLGcKl2v2AfhLLuFAu4v1veAUWYukAHydpH5HoPRwLo4QycQ63lmRWWms90NgsWIwtUD9yob7mEEtE2q0LFS1Gem1Knbg7vGfaWD4Ksj2qxifwQpfdEFGDB4k23eyahoR90t3+DvcfOX+iSxySK0bRO4a7MGDSii6dggZFI1SGIw/TfpiJdgyT0Z0FS+iaPn5Fjmuf5h8ioJyBnjcXzuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYTPR01MB11090.jpnprd01.prod.outlook.com (2603:1096:400:39b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Sun, 3 Mar 2024 07:56:33 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::d2f6:a9ef:5983:3bce]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::d2f6:a9ef:5983:3bce%5]) with mapi id 15.20.7339.035; Sun, 3 Mar 2024 07:56:33 +0000 From: "Zhijie Hou (Fujitsu)" To: Amit Kapila CC: Peter Smith , shveta malik , Masahiko Sawada , Ajin Cherian , Dilip Kumar , Nisha Moond , "Hayato Kuroda (Fujitsu)" , Bertrand Drouvot , Bharath Rupireddy , Peter Eisentraut , Bruce Momjian , Ashutosh Sharma , Andres Freund , pgsql-hackers , Alvaro Herrera Subject: RE: Synchronizing slots from primary to standby Thread-Topic: Synchronizing slots from primary to standby Thread-Index: AQHaX9lazCPjRaetGEm/P2Mg4oLwUbELWX4AgABM5YCAASMPgIADXjpQgADi9ICAAAHVUIAACJOAgACCH4CAABAGAIAA6Y0AgAAKtICAAJtCAIABLJeAgABU4gCAASCOAIAAHVYAgAA6HwCAAAS+AIAACW6AgAANmYCAAA03gIAAAkYggADbnECAAAWL8IAAJtnAgAANTYCAAEd7EIAAG2iAgARTMQCAAVMOgIAAYI0AgAExYWCAAasVgIAAc7kAgAAXd4CAAPexoIAAJtCAgAGBCcCAAH7JAIABXM8Q Date: Sun, 3 Mar 2024 07:56:32 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-AS, ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9MDBmNjI2ZDctNTVkNy00MzU0LTljYjUtNjk4MDU5ZGVh?= =?utf-8?B?NmMzO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFROKAiztNU0lQ?= =?utf-8?B?X0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0ZmVjZTA1MF9T?= =?utf-8?B?ZXREYXRlPTIwMjQtMDMtMDNUMDc6NDM6MTNaO01TSVBfTGFiZWxfYTcyOTVj?= =?utf-8?B?YzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX1NpdGVJZD1hMTlmMTIx?= =?utf-8?Q?d-81e1-4858-a9d8-736e267fd4c7;?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB5716:EE_|TYTPR01MB11090:EE_ x-ms-office365-filtering-correlation-id: fac34eea-84fa-4806-df20-08dc3b577168 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ekKDtqdDaIiQmj1fupzNq2dDXB0o5kahM/KSi8nantgPSCWkei4uoQIHo1j41Uz2GEf6SROn30w+JBEzD6LpfeQZwThixR4ZvzhG8EZstSQedqQS+zcHW/bdUlVEnyPRY8Nf/+DS9RGVn9w9vrsgA5jT3mC6zGcozten3r4sDuR50dn6paGlfsplclv4Iwb8TG1uKgIJcroWlHmTnDWVpmlNObtM701oLYdhJttHnobWvh06smUBYZYyOdOHTMvZmKzKuNhkA0CFiMmpAzB5BBZ+WNrXCW4MmRtO/Ow90IR0g7hC74Gasjw/o2XoPrxcD6P9+RTvRo+V3HjaVItyiKC9MqXJ6Z2vV0UiiCNxv37pATEzFnNuTsk2x4p/r+Q5+Cr3tD08DMeczugoPj47eTx7+KzqaobQq5iaN+PpluK7xjTzoNCxk4h2OLr8ZdlfieVhU/W8G5Rx5EVOYQoXWnYyCDYpEDtl8bKTNnJRwbZp+BQ1Z4pSyfzCHVJZE70MlrHCohxSgwsAmI2JAx0Ep04JUcKHMxhxujBTZD0wGZSttHx8s2HtbU3YmKVknWOdVi40Up4npnl+nDksVHmUTPF1bI3KEnJnNoCeNnSJHxTI6PP8m/Y/k3JrEy9tCEOmFl77deLL1ugk6n43ecVAaEgpovvVtHa0WZNmo3o0iWo+/520hoJfUINIt7qQCTvs x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1580799018)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHZUVGd2L3BkTkhVZnc1UVFRTlVaK1JVQXhqMTdiRlJPODRwZ0hpVUJVR21z?= =?utf-8?B?NDJpcFFNWXh2b0Q4cnlFK1ZNNmxpbkJYbm9oeFU5aVhnSjRQUU5DNVJ3aWpi?= =?utf-8?B?elpxakVPZnBKcGhOYTdGdTR2YkRIbldWUitPRkpac0VmeGpEa0pocnNTRDBC?= =?utf-8?B?MkNXS1h4ak1QdkVBMVhsUVJhdmxxamNKTUFwYUlQYlFNREFPd0RiY3V4bVFB?= =?utf-8?B?dDNZRmZ5MDFWVHF4czZ0cHpLeU9Cei9XRGlmdDRyejZVdHJxQmZ4TGpnU3lM?= =?utf-8?B?SXFGOS9RbGFBVTd2RFZ6NE5jWTU1bUR1YVZFa3BGN1RFUWpQZi9JWW04bEsx?= =?utf-8?B?ZVR3RnJkUkE1L1FDUlI0bHJUT1FYR1dCZGUxc3BuRy93M0drUGpFOVc2NlNJ?= =?utf-8?B?NXRkRUJRR29JVWowUGZ5V1RvcW80K3VpZnpsbnYrd21WNXpFSk5OV2JTcUVw?= =?utf-8?B?NkV6YU1GK3lESi9VV0dvRHVXVm4yb1doYnp6RVZlVnNSNU02bzYvNm45UlZX?= =?utf-8?B?ZDByUFNIaVZ4RFB6Rmo1N1dRV3g0c2x6TjZJaGdSWG1rVEtPOW84ZEVEbHJB?= =?utf-8?B?bnM0UW9ETndtSE5MTk1FNFpYYk9yWWc2M1A4SmtZdi91amhxWTFPeW80T2hi?= =?utf-8?B?VlM1RDU0VlBmMFdLV2p1b1J6Z0FFc3p6dko1RWdVZnVWTUdwVEJKNXhpSTJY?= =?utf-8?B?N2s5cmhXcTh6K1dzTFd2cWRVWUM3UXVJQlRVVVMweCtPd0FGYkU3OTFTYVdY?= =?utf-8?B?M0pwVHVPQS83cVZoM3BQeEVHWXBLVGk1N2JnNTJkLzVTTGNHbUJhZWRITVpB?= =?utf-8?B?TllvSS8yYTY4dHpMaFIyVk9CNTJrRUZQZ1BuRkdDb2lENURlaUpYS2ZwVHlS?= =?utf-8?B?UlUreUY3eHNCamQrbzhjVS9ZWEFhU3NwZy9raEp2QWdyVndpUk5LZHVvNlQ5?= =?utf-8?B?cXBGckRRbDdXSWJ0RiszVHMzSUwzRGliR2N6bFg3T3Vqa0VaSVpybHEvV2dE?= =?utf-8?B?cllKVy9HaXB5Z0xMby93YjNhVjFNdFNJWThNMVJyS0J0TFZESjNDcGNmSDNr?= =?utf-8?B?dUttTDB6by9PYUU3T2hnSm1zcm9IYkt6b1B1RkdQUW9wcXFvSlFXMHE3NG0z?= =?utf-8?B?VVZxUTJCUkdMajArVHpTUnB5VGNwb1Z6ZlYyZ1QrZDgzR2xCYzFXOXdIbTlX?= =?utf-8?B?aTJ0UXhiakhiUlJRYzIyWk02Qlc2U2FWZEpma0gwSFZYOHRrRkRyVGgzVjRl?= =?utf-8?B?aE85dW5mZ1J0OE1nT0Iwd2NOQit5M2pnaU16OXVvUkRvNm9NM2l1dFdyQS9R?= =?utf-8?B?RVQ3Q2ZwaTBOZ08yRUhGQUpYSHRrQnQwZy9VZ24vN1l4UEtsL0tXZjRFc0VL?= =?utf-8?B?NDRZUXlzaVpnMjBrTUtCSFRlVmNWTnV6clI3Rml5STRtbG5pUU5kR1pxeTJp?= =?utf-8?B?QTlPZHFkTitYUFJXK3FxVTlubFZsNXR1eWNXeXM5Qkx4QjYrQnhDa2dHQzAr?= =?utf-8?B?cUsxNGJOOTFYb250d3Uvczd0THBQTjFTR0RYRzhuc0FwZ2Q1cHVqQ0J3TDk5?= =?utf-8?B?TXBxSUVpZ0QxNHN2cG43L1FNU0pZUTF3ZUVWMjRaaDBLWXFNdzZrZ25tK1NC?= =?utf-8?B?K0xPV1BiMi81K0lya0YzVE16NEo0ZUNFRWpzOWhmMHA4SXNta2oyS2VuZEha?= =?utf-8?B?N0tsRksyTURLWWFsZWZtVFRZWTMrMHhZdENVSkp5NlVBWU9JSDh6eitYaDcv?= =?utf-8?B?RVJ0SkFWTlRLQi9uZFVyUU9wci9NaHU3cHBGN1Z5NWQwMUtZU0JxYWdoZ1ZN?= =?utf-8?B?ZGdCc2NuS29OYWF6OWZrcjRsS2NXa1prd2RzZm90K3lHUXU4M3FVWG9NNUUx?= =?utf-8?B?d2xWelB0TjZJL3ltNXdUZWkrS1FyalBOZEZlT21JYTNvaUZlRXUyaW00cmxX?= =?utf-8?B?RTdaL2wrSHJnOXFDN1RZeVA0eTNCZkhJSnlSeTR0eGtBVUVRcFFKVzFva2FR?= =?utf-8?B?bDk5Z0ZMU0hWSkhjL25nK1IvcGRzNDNYcjhiR3pPMk0reFY4QVFqbnR5TXBN?= =?utf-8?B?dHhpOXJ6NFVBbnpJN3hVMVFkN3BKSDkreHhOK3hDYm4xNGRUZk5jMzU1R1cz?= =?utf-8?Q?zTfHd2BzEmpGt7y/7nYmIoMLz?= Content-Type: multipart/mixed; boundary="_003_OS0PR01MB5716CD1AB0090155B2ED5C3F945C2OS0PR01MB5716jpnp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TsHNCUZ0vNNH/lGTqwYijSugzelhTCU7/2zOLSTx/C3x1sdI07ui3+RtnZ2oE4ZNDWY09RM7YfnRMo5Uzi4PeRc6SINWnxy+208VtToWB/vYWwB9JlijfydSBZtWgDH1+hnCXe7SIPXhLNFu6Tq+1s3a5SG7YhD3vgeIJN16+p9dVApvHEtd3N+l5iNT8BACEET0VigWOqI4SN9Wyz/+zftvPRFLPHi8l2yBvvelftHwHXGrKsHTrQnUF9xbntaB/iS1d2/ZQJ1AnoqXyCJz7+lcRgILbRgyOYoAH7nVgLbp26UzK8iFGkWnSH2mEjXpIO7mjKZvcEJdorS7WwAVvuy+t0vqzP+NdYopCXhlSJFxFNASsMHNkekiqeYd7P7QRZLAEEn8YloXSAjKVSd8iEDDHvc6gu6trlmkAOx7LFmo9ygqW5aKLPnoZWVDLwWjXVT+tlYlHLXq+SJgW6nUmM8nIHrAexwGKmlzdMa25HEGcKTQA6uRu2a3wnFzAosG1TE8UnkndlIje2AgS8MV0GQmQNECfYVGRRvHZL0Xm8MnL4bubm8VitIZe0Q4Ut9gOaeIB3sRuO5B7bEZrG0MPbG3LTcx1riEISUSqE8oYaDOompnIN/7IX2WRpUDuMS2 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fac34eea-84fa-4806-df20-08dc3b577168 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2024 07:56:33.0156 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JHNjFy5aCzIBGjj7UXmovuybFuviw4hiL+mPCyzoJg0stgesQ71qes68LaIEodB8tVAUC+HcOQGqjpQbq5JT0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTPR01MB11090 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_OS0PR01MB5716CD1AB0090155B2ED5C3F945C2OS0PR01MB5716jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gU2F0dXJkYXksIE1hcmNoIDIsIDIwMjQgNjo1NSBQTSBBbWl0IEthcGlsYSA8YW1pdC5rYXBp bGExNkBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gT24gU2F0LCBNYXIgMiwgMjAyNCBhdCA5OjIx 4oCvQU0gWmhpamllIEhvdSAoRnVqaXRzdSkgPGhvdXpqLmZuc3RAZnVqaXRzdS5jb20+DQo+IHdy b3RlOg0KPiA+DQo+ID4gQXBhcnQgZnJvbSB0aGUgY29tbWVudHMsIHRoZSBjb2RlIGluIFdhbFNu ZFdhaXRGb3JXYWwgd2FzIHJlZmFjdG9yZWQgYQ0KPiA+IGJpdCB0byBtYWtlIGl0IG5lYXRlci4g VGhhbmtzIFNodmV0YSBmb3IgaGVscGluZyB3cml0aW5nIHRoZSBjb2RlIGFuZCBkb2MuDQo+ID4N Cj4gDQo+IEEgZmV3IG1vcmUgY29tbWVudHM6DQoNClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzLg0K DQo+ID09PT09PT09PT09PT09PT09PQ0KPiAxLg0KPiArIyBXYWl0IHVudGlsIHRoZSBwcmltYXJ5 IHNlcnZlciBsb2dzIGEgd2FybmluZyBpbmRpY2F0aW5nIHRoYXQgaXQgaXMNCj4gK3dhaXRpbmcg IyBmb3IgdGhlIHNiMV9zbG90IHRvIGNhdGNoIHVwLg0KPiArJHByaW1hcnktPndhaXRfZm9yX2xv ZygNCj4gKyBxci9yZXBsaWNhdGlvbiBzbG90IFwic2IxX3Nsb3RcIiBzcGVjaWZpZWQgaW4gcGFy YW1ldGVyDQo+IHN0YW5kYnlfc2xvdF9uYW1lcyBkb2VzIG5vdCBoYXZlIGFjdGl2ZV9waWQvLA0K PiArICRvZmZzZXQpOw0KPiANCj4gU2hvdWxkbid0IHdlIHdhaXQgZm9yIHN1Y2ggYSBMT0cgZXZl biBpbiB0aGUgZmlyc3QgdGVzdCBhcyB3ZWxsIHdoaWNoIGludm9sdmVzIHR3bw0KPiBzdGFuZGJ5 cyBhbmQgdHdvIGxvZ2ljYWwgc3Vic2NyaWJlcnM/DQoNClllcywgd2Ugc2hvdWxkLiBBZGRlZC4N Cg0KPiANCj4gMi4NCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjDQo+ICsjIFRlc3QgdGhhdCBsb2dpY2FsIHJlcGxpY2F0aW9uIHdpbGwgd2FpdCBm b3IgdGhlIHVzZXItY3JlYXRlZCBpbmFjdGl2ZQ0KPiArIyBwaHlzaWNhbCBzbG90IHRvIGNhdGNo IHVwIHVudGlsIHdlIHJlbW92ZSB0aGUgc2xvdCBmcm9tIHN0YW5kYnlfc2xvdF9uYW1lcy4NCj4g KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IA0K PiANCj4gSSBkb24ndCBzZWUgYW55dGhpbmcgZGlmZmVyZW50IHRlc3RlZCBpbiB0aGlzIHRlc3Qg ZnJvbSB3aGF0IHdlIGFscmVhZHkgdGVzdGVkIGluDQo+IHRoZSBmaXJzdCB0ZXN0IGludm9sdmlu ZyB0d28gc3RhbmRieXMgYW5kIHR3byBsb2dpY2FsIHN1YnNjcmliZXJzLiBDYW4geW91DQo+IHBs ZWFzZSBjbGFyaWZ5IGlmIEkgYW0gbWlzc2luZyBzb21ldGhpbmc/DQoNCkkgdGhpbmsgdGhlIGlu dGVudGlvbiB3YXMgdG8gdGVzdCB0aGF0IHRoZSB3YWl0IGxvb3AgaXMgZW5kZWQgZHVlIHRvIEdV QyBjb25maWcNCnJlbG9hZCwgd2hpbGUgdGhlIGZpcnN0IHRlc3QgaXMgZm9yIHRoZSBjYXNlIHdo ZW4gdGhlIGxvb3AgaXMgZW5kZWQgZHVlIHRvDQpyZXN0YXJ0X2xzbiBtb3ZlbWVudC4gQnV0IGl0 IHNlZW1zIHdlIHRlc3RlZCB0aGUgY29uZmlnIHJlbG9hZCB3aXRoIHh4X2dldF9jaGFuZ2VzKCkg YXMNCndlbGwsIHNvIEkgY2FuIHJlbW92ZSBpdCBpZiB5b3UgYWdyZWUuDQoNCj4gDQo+IDMuDQo+ IE5vdGUgdGhhdCBhZnRlciByZWNlaXZpbmcgdGhlIHNodXRkb3duIHNpZ25hbCwgYW4gRVJST1IN Cj4gKyAqIGlzIHJlcG9ydGVkIGlmIGFueSBzbG90cyBhcmUgZHJvcHBlZCwgaW52YWxpZGF0ZWQs IG9yIGluYWN0aXZlLiBUaGlzDQo+ICsgKiBtZWFzdXJlIGlzIHRha2VuIHRvIHByZXZlbnQgdGhl IHdhbHNlbmRlciBmcm9tIHdhaXRpbmcgaW5kZWZpbml0ZWx5Lg0KPiArICovDQo+ICsgaWYgKE5l ZWRUb1dhaXRGb3JTdGFuZGJ5KHRhcmdldF9sc24sIGZsdXNoZWRfbHNuLCB3YWl0X2V2ZW50KSkN Cj4gDQo+IElzbid0IHRoaXMgcGFydCBvZiB0aGUgY29tbWVudCBzaG91bGQgYmUgbW92ZWQgaW5z aWRlDQo+IE5lZWRUb1dhaXRGb3JTdGFuZGJ5KCk/DQoNCk1vdmVkLg0KDQo+IA0KPiA0Lg0KPiAr IC8qDQo+ICsgKiBVcGRhdGUgb3VyIGlkZWEgb2YgdGhlIGN1cnJlbnRseSBmbHVzaGVkIHBvc2l0 aW9uIG9ubHkgaWYgd2UgYXJlDQo+ICsgKiBub3Qgd2FpdGluZyBmb3Igc3RhbmRieXMgdG8gY2F0 Y2ggdXAsIG90aGVyd2lzZSB0aGUgc3RhbmRieSB3b3VsZA0KPiArICogaGF2ZSB0byBjYXRjaCB1 cCB0byBhIG5ld2VyIFdBTCBsb2NhdGlvbiBpbiBlYWNoIGN5Y2xlLg0KPiArICovDQo+ICsgaWYg KHdhaXRfZXZlbnQgIT0gV0FJVF9FVkVOVF9XQUlUX0ZPUl9TVEFOREJZX0NPTkZJUk1BVElPTikN Cj4gKyB7DQo+IA0KPiBUaGlzIGZ1bmN0aW9uYWxpdHkgKGluIGZ1bmN0aW9uIFdhbFNuZFdhaXRG b3JXYWwoKSkgc2VlbXMgdG8gZW5zdXJlIHRoYXQgd2UNCj4gZmlyc3Qgd2FpdCBmb3IgdGhlIHJl cXVpcmVkIFdBTCB0byBiZSBmbHVzaGVkIGFuZCB0aGVuIHdhaXQgZm9yIHN0YW5kYnlzLiBJZiB0 cnVlLA0KPiB3ZSBzaG91bGQgY292ZXIgdGhhdCBwb2ludCBpbiB0aGUgY29tbWVudHMgaGVyZSBv ciBzb21ld2hlcmUgaW4gdGhlIGZ1bmN0aW9uDQo+IFdhbFNuZFdhaXRGb3JXYWwoKS4NCj4gDQo+ IEFwYXJ0IGZyb20gdGhpcywgSSBoYXZlIG1hZGUgYSBmZXcgbW9kaWZpY2F0aW9ucyBpbiB0aGUg Y29tbWVudHMuDQoNClRoYW5rcy4gSSBoYXZlIHJldmlld2VkIGFuZCBtZXJnZWQgdGhlbS4NCg0K SGVyZSBpcyB0aGUgVjEwNCBwYXRjaCB3aGljaCBhZGRyZXNzZWQgYWJvdmUgYW5kIFBldGVyJ3Mg Y29tbWVudHMuDQoNCkJlc3QgUmVnYXJkcywNCkhvdSB6ag0K --_003_OS0PR01MB5716CD1AB0090155B2ED5C3F945C2OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="v104-0001-Allow-logical-walsenders-to-wait-for-the-physic.patch" Content-Description: v104-0001-Allow-logical-walsenders-to-wait-for-the-physic.patch Content-Disposition: attachment; filename="v104-0001-Allow-logical-walsenders-to-wait-for-the-physic.patch"; size=48092; creation-date="Sun, 03 Mar 2024 07:56:19 GMT"; modification-date="Sun, 03 Mar 2024 07:56:31 GMT" Content-Transfer-Encoding: base64 RnJvbSAyNWZiYTYyNjUzMjNhNWNjMzJjMmQ2ODJmYzFjZTlmNWJjNTZlMDIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIb3UgWmhpamllIDxzaGVybG9ja2NwcEBmb3htYWlsLmNvbT4K RGF0ZTogRnJpLCAyMyBGZWIgMjAyNCAwODoyOTozMCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjEw NCAxLzJdIEFsbG93IGxvZ2ljYWwgd2Fsc2VuZGVycyB0byB3YWl0IGZvciB0aGUgcGh5c2ljYWwK IHN0YW5kYnkKClRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG1lY2hhbmlzbSB0byBlbnN1cmUgdGhh dCBwaHlzaWNhbCBzdGFuZGJ5IHNlcnZlcnMsCndoaWNoIGFyZSBwb3RlbnRpYWwgZmFpbG92ZXIg Y2FuZGlkYXRlcywgaGF2ZSByZWNlaXZlZCBhbmQgZmx1c2hlZCBjaGFuZ2VzCmJlZm9yZSBtYWtp bmcgdGhlbSB2aXNpYmxlIHRvIHN1YnNjcmliZXJzLiBCeSBkb2luZyBzbywgaXQgZ3VhcmFudGVl cyB0aGF0CnRoZSBwcm9tb3RlZCBzdGFuZGJ5IHNlcnZlciBpcyBub3QgbGFnZ2luZyBiZWhpbmQg dGhlIHN1YnNjcmliZXJzIHdoZW4gYQpmYWlsb3ZlciBpcyBuZWNlc3NhcnkuCgpBIG5ldyBwYXJh bWV0ZXIgbmFtZWQgJ3N0YW5kYnlfc2xvdF9uYW1lcycgaXMgaW50cm9kdWNlZC4gVGhlIGxvZ2lj YWwKd2Fsc2VuZGVyIG5vdyBndWFyYW50ZWVzIHRoYXQgYWxsIGxvY2FsIGNoYW5nZXMgYXJlIHNl bnQgYW5kIGZsdXNoZWQgdG8KdGhlIHN0YW5kYnkgc2VydmVycyBjb3JyZXNwb25kaW5nIHRvIHRo ZSByZXBsaWNhdGlvbiBzbG90cyBzcGVjaWZpZWQgaW4KJ3N0YW5kYnlfc2xvdF9uYW1lcycgYmVm b3JlIHNlbmRpbmcgdGhvc2UgY2hhbmdlcyB0byB0aGUgc3Vic2NyaWJlci4KCkFkZGl0aW9uYWxs eSwgVGhlIFNRTCBmdW5jdGlvbnMgcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzLApwZ19sb2dp Y2FsX3Nsb3RfcGVla19jaGFuZ2VzIGFuZCBwZ19yZXBsaWNhdGlvbl9zbG90X2FkdmFuY2UgYXJl IG1vZGlmaWVkCnRvIHdhaXQgZm9yIHRoZSByZXBsaWNhdGlvbiBzbG90cyBzcGVjaWZpZWQgaW4g J3N0YW5kYnlfc2xvdF9uYW1lcycgdG8KY2F0Y2ggdXAgYmVmb3JlIHJldHVybmluZy4KLS0tCiBk b2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgICAgICAgICAgICAgICAgICAgICAgfCAgMzkgKysKIGRv Yy9zcmMvc2dtbC9mdW5jLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNCArLQogZG9j L3NyYy9zZ21sL2xvZ2ljYWxkZWNvZGluZy5zZ21sICAgICAgICAgICAgIHwgIDEyICsKIC4uLi9y ZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWxmdW5jcy5jICAgICAgICB8ICAxMiArCiBzcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgICAgfCAgMTEgKwogc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vc2xvdC5jICAgICAgICAgICAgICAgIHwgMzc0ICsrKysrKysrKysrKysr KysrLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdGZ1bmNzLmMgICAgICAgICAgIHwgIDEy ICsKIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jICAgICAgICAgICB8IDE2OCAr KysrKysrLQogLi4uL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMudHh0ICAgICAgIHwg ICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8ICAx NCArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgfCAgIDIg Kwogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oICAgICAgICAgICAgICAgIHwgICA1ICsK IHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5oICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93YWxzZW5kZXJfcHJpdmF0ZS5oICAgfCAgIDcgKwogc3Jj L2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmggICAgICAgICAgICAgICAgIHwgICAzICsKIHNyYy90 ZXN0L3JlY292ZXJ5L3QvMDA2X2xvZ2ljYWxfZGVjb2RpbmcucGwgICB8ICAgMyArLQogLi4uL3Qv MDQwX3N0YW5kYnlfZmFpbG92ZXJfc2xvdHNfc3luYy5wbCAgICAgIHwgMjE5ICsrKysrKysrKysK IDE3IGZpbGVzIGNoYW5nZWQsIDg3MiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY29uZmln LnNnbWwKaW5kZXggNDNiMWExMzJhMi4uMTQ1NTJhYmIyMiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbApAQCAtNDU1OSw2 ICs0NTU5LDQ1IEBAIHJlc3RvcmVfY29tbWFuZCA9ICdjb3B5ICJDOlxcc2VydmVyXFxhcmNoaXZl ZGlyXFwlZiIgIiVwIicgICMgV2luZG93cwogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJs aXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLXN0YW5kYnktc2xvdC1uYW1l cyIgeHJlZmxhYmVsPSJzdGFuZGJ5X3Nsb3RfbmFtZXMiPgorICAgICAgPHRlcm0+PHZhcm5hbWU+ c3RhbmRieV9zbG90X25hbWVzPC92YXJuYW1lPiAoPHR5cGU+c3RyaW5nPC90eXBlPikKKyAgICAg IDxpbmRleHRlcm0+CisgICAgICAgPHByaW1hcnk+PHZhcm5hbWU+c3RhbmRieV9zbG90X25hbWVz PC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjwvcHJpbWFyeT4KKyAgICAgIDwvaW5k ZXh0ZXJtPgorICAgICAgPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgor ICAgICAgICBMaXN0cyB0aGUgc3RyZWFtaW5nIHJlcGxpY2F0aW9uIHN0YW5kYnkgc2VydmVyIHNs b3QgbmFtZXMgdGhhdCBsb2dpY2FsCisgICAgICAgIFdBTCBzZW5kZXIgcHJvY2Vzc2VzIHdpbGwg d2FpdCBmb3IuIExvZ2ljYWwgV0FMIHNlbmRlciBwcm9jZXNzZXMgd2lsbAorICAgICAgICBzZW5k IGRlY29kZWQgY2hhbmdlcyB0byBwbHVnaW5zIG9ubHkgYWZ0ZXIgdGhlIHNwZWNpZmllZCByZXBs aWNhdGlvbgorICAgICAgICBzbG90cyBjb25maXJtIHJlY2VpdmluZyBXQUwuIFRoaXMgZ3VhcmFu dGVlcyB0aGF0IGxvZ2ljYWwgcmVwbGljYXRpb24KKyAgICAgICAgc2xvdHMgd2l0aCBmYWlsb3Zl ciBlbmFibGVkIGRvIG5vdCBjb25zdW1lIGNoYW5nZXMgdW50aWwgdGhvc2UgY2hhbmdlcworICAg ICAgICBhcmUgcmVjZWl2ZWQgYW5kIGZsdXNoZWQgdG8gY29ycmVzcG9uZGluZyBwaHlzaWNhbCBz dGFuZGJ5cy4gSWYgYQorICAgICAgICBsb2dpY2FsIHJlcGxpY2F0aW9uIGNvbm5lY3Rpb24gaXMg bWVhbnQgdG8gc3dpdGNoIHRvIGEgcGh5c2ljYWwgc3RhbmRieQorICAgICAgICBhZnRlciB0aGUg c3RhbmRieSBpcyBwcm9tb3RlZCwgdGhlIHBoeXNpY2FsIHJlcGxpY2F0aW9uIHNsb3QgZm9yIHRo ZQorICAgICAgICBzdGFuZGJ5IHNob3VsZCBiZSBsaXN0ZWQgaGVyZS4gTm90ZSB0aGF0IGxvZ2lj YWwgcmVwbGljYXRpb24gd2lsbCBub3QKKyAgICAgICAgcHJvY2VlZCBpZiB0aGUgc2xvdHMgc3Bl Y2lmaWVkIGluIHRoZQorICAgICAgICA8dmFybmFtZT5zdGFuZGJ5X3Nsb3RfbmFtZXM8L3Zhcm5h bWU+IGRvIG5vdCBleGlzdCBvciBhcmUgaW52YWxpZGF0ZWQuCisgICAgICAgIEFkZGl0aW9uYWxs eSwgdGhlIHJlcGxpY2F0aW9uIG1hbmFnZW1lbnQgZnVuY3Rpb25zCisgICAgICAgIDxsaW5rIGxp bmtlbmQ9InBnLXJlcGxpY2F0aW9uLXNsb3QtYWR2YW5jZSI+CisgICAgICAgIDxmdW5jdGlvbj5w Z19yZXBsaWNhdGlvbl9zbG90X2FkdmFuY2U8L2Z1bmN0aW9uPjwvbGluaz4sCisgICAgICAgIDxs aW5rIGxpbmtlbmQ9InBnLWxvZ2ljYWwtc2xvdC1nZXQtY2hhbmdlcyI+CisgICAgICAgIDxmdW5j dGlvbj5wZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXM8L2Z1bmN0aW9uPjwvbGluaz4sIGFuZAor ICAgICAgICA8bGluayBsaW5rZW5kPSJwZy1sb2dpY2FsLXNsb3QtcGVlay1jaGFuZ2VzIj4KKyAg ICAgICAgPGZ1bmN0aW9uPnBnX2xvZ2ljYWxfc2xvdF9wZWVrX2NoYW5nZXM8L2Z1bmN0aW9uPjwv bGluaz4sCisgICAgICAgIHdoZW4gdXNlZCB3aXRoIGZhaWxvdmVyIGVuYWJsZWQgbG9naWNhbCBz bG90cywgd2lsbCBibG9jayB1bnRpbCBhbGwKKyAgICAgICAgcGh5c2ljYWwgc2xvdHMgc3BlY2lm aWVkIGluIDx2YXJuYW1lPnN0YW5kYnlfc2xvdF9uYW1lczwvdmFybmFtZT4gaGF2ZQorICAgICAg ICBjb25maXJtZWQgV0FMIHJlY2VpcHQuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJhPgor ICAgICAgICBUaGUgc3RhbmRieXMgY29ycmVzcG9uZGluZyB0byB0aGUgcGh5c2ljYWwgcmVwbGlj YXRpb24gc2xvdHMgaW4KKyAgICAgICAgPHZhcm5hbWU+c3RhbmRieV9zbG90X25hbWVzPC92YXJu YW1lPiBtdXN0IGNvbmZpZ3VyZQorICAgICAgICA8bGl0ZXJhbD5zeW5jX3JlcGxpY2F0aW9uX3Ns b3RzID0gdHJ1ZTwvbGl0ZXJhbD4gc28gdGhleSBjYW4gcmVjZWl2ZQorICAgICAgICBmYWlsb3Zl ciBsb2dpY2FsIHNsb3RzIGNoYW5nZXMgZnJvbSB0aGUgcHJpbWFyeS4KKyAgICAgICA8L3BhcmE+ CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8L3Zhcmlh YmxlbGlzdD4KICAgICA8L3NlY3QyPgogCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZnVuYy5z Z21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAppbmRleCBlNWZhODJjMTYxLi5kMzJlZGJjMmUy IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9m dW5jLnNnbWwKQEAgLTI4MTUwLDcgKzI4MTUwLDcgQEAgcG9zdGdyZXM9IyBTRUxFQ1QgJzAvMCc6 OnBnX2xzbiArIHBkLnNlZ21lbnRfbnVtYmVyICogcHMuc2V0dGluZzo6aW50ICsgOm9mZnNldAog ICAgICAgPC9yb3c+CiAKICAgICAgIDxyb3c+Ci0gICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICA8ZW50cnkgaWQ9 InBnLWxvZ2ljYWwtc2xvdC1nZXQtY2hhbmdlcyIgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgogICAgICAgICA8aW5kZXh0ZXJtPgogICAgICAgICAg PHByaW1hcnk+cGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzPC9wcmltYXJ5PgogICAgICAgICA8 L2luZGV4dGVybT4KQEAgLTI4MTczLDExICsyODE3MywxNCBAQCBwb3N0Z3Jlcz0jIFNFTEVDVCAn MC8wJzo6cGdfbHNuICsgcGQuc2VnbWVudF9udW1iZXIgKiBwcy5zZXR0aW5nOjppbnQgKyA6b2Zm c2V0CiAgICAgICAgIHRoZSBzcGVjaWZpZWQgdmFsdWUuICBOb3RlLCBob3dldmVyLCB0aGF0IHRo ZSBhY3R1YWwgbnVtYmVyIG9mCiAgICAgICAgIHJvd3MgcmV0dXJuZWQgbWF5IGJlIGxhcmdlciwg c2luY2UgdGhpcyBsaW1pdCBpcyBvbmx5IGNoZWNrZWQgYWZ0ZXIKICAgICAgICAgYWRkaW5nIHRo ZSByb3dzIHByb2R1Y2VkIHdoZW4gZGVjb2RpbmcgZWFjaCBuZXcgdHJhbnNhY3Rpb24gY29tbWl0 LgorICAgICAgICBUaGUgZnVuY3Rpb24gbWF5IGJlIGJsb2NrZWQgaWYgdGhlIHNwZWNpZmllZCBz bG90IGlzIGEgZmFpbG92ZXIgZW5hYmxlZAorICAgICAgICBzbG90IGFuZCA8bGluayBsaW5rZW5k PSJndWMtc3RhbmRieS1zbG90LW5hbWVzIj48dmFybmFtZT5zdGFuZGJ5X3Nsb3RfbmFtZXM8L3Zh cm5hbWU+PC9saW5rPgorICAgICAgICBpcyBjb25maWd1cmVkLgogICAgICAgIDwvcGFyYT48L2Vu dHJ5PgogICAgICAgPC9yb3c+CiAKICAgICAgIDxyb3c+Ci0gICAgICAgPGVudHJ5IHJvbGU9ImZ1 bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICA8ZW50 cnkgaWQ9InBnLWxvZ2ljYWwtc2xvdC1wZWVrLWNoYW5nZXMiIHJvbGU9ImZ1bmNfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImZ1bmNfc2lnbmF0dXJlIj4KICAgICAgICAgPGluZGV4dGVybT4KICAg ICAgICAgIDxwcmltYXJ5PnBnX2xvZ2ljYWxfc2xvdF9wZWVrX2NoYW5nZXM8L3ByaW1hcnk+CiAg ICAgICAgIDwvaW5kZXh0ZXJtPgpAQCAtMjgyMzIsNyArMjgyMzUsNyBAQCBwb3N0Z3Jlcz0jIFNF TEVDVCAnMC8wJzo6cGdfbHNuICsgcGQuc2VnbWVudF9udW1iZXIgKiBwcy5zZXR0aW5nOjppbnQg KyA6b2Zmc2V0CiAgICAgICA8L3Jvdz4KIAogICAgICAgPHJvdz4KLSAgICAgICA8ZW50cnkgcm9s ZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAg IDxlbnRyeSBpZD0icGctcmVwbGljYXRpb24tc2xvdC1hZHZhbmNlIiByb2xlPSJmdW5jX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+CiAgICAgICAgIDxpbmRleHRlcm0+ CiAgICAgICAgICA8cHJpbWFyeT5wZ19yZXBsaWNhdGlvbl9zbG90X2FkdmFuY2U8L3ByaW1hcnk+ CiAgICAgICAgIDwvaW5kZXh0ZXJtPgpAQCAtMjgyNDgsNyArMjgyNTEsMTAgQEAgcG9zdGdyZXM9 IyBTRUxFQ1QgJzAvMCc6OnBnX2xzbiArIHBkLnNlZ21lbnRfbnVtYmVyICogcHMuc2V0dGluZzo6 aW50ICsgOm9mZnNldAogICAgICAgICB0aGUgbmFtZSBvZiB0aGUgc2xvdCBhbmQgdGhlIGFjdHVh bCBwb3NpdGlvbiB0aGF0IGl0IHdhcyBhZHZhbmNlZCB0by4KICAgICAgICAgVGhlIHVwZGF0ZWQg c2xvdCBwb3NpdGlvbiBpbmZvcm1hdGlvbiBpcyB3cml0dGVuIG91dCBhdCB0aGUgbmV4dAogICAg ICAgICBjaGVja3BvaW50IGlmIGFueSBhZHZhbmNpbmcgaXMgZG9uZS4gU28gaW4gdGhlIGV2ZW50 IG9mIGEgY3Jhc2gsIHRoZQotICAgICAgICBzbG90IG1heSByZXR1cm4gdG8gYW4gZWFybGllciBw b3NpdGlvbi4KKyAgICAgICAgc2xvdCBtYXkgcmV0dXJuIHRvIGFuIGVhcmxpZXIgcG9zaXRpb24u IFRoZSBmdW5jdGlvbiBtYXkgYmUgYmxvY2tlZCBpZgorICAgICAgICB0aGUgc3BlY2lmaWVkIHNs b3QgaXMgYSBmYWlsb3ZlciBlbmFibGVkIHNsb3QgYW5kCisgICAgICAgIDxsaW5rIGxpbmtlbmQ9 Imd1Yy1zdGFuZGJ5LXNsb3QtbmFtZXMiPjx2YXJuYW1lPnN0YW5kYnlfc2xvdF9uYW1lczwvdmFy bmFtZT48L2xpbms+CisgICAgICAgIGlzIGNvbmZpZ3VyZWQuCiAgICAgICAgPC9wYXJhPjwvZW50 cnk+CiAgICAgICA8L3Jvdz4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWxkZWNv ZGluZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWxkZWNvZGluZy5zZ21sCmluZGV4IDkzMGMw ZmE4YTYuLjVkYTNhYzdmNGMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9sb2dpY2FsZGVjb2Rp bmcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbG9naWNhbGRlY29kaW5nLnNnbWwKQEAgLTM4NCw2 ICszODQsMTggQEAgcG9zdGdyZXM9IyBzZWxlY3QgKiBmcm9tIHBnX2xvZ2ljYWxfc2xvdF9nZXRf Y2hhbmdlcygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlUKICAgICAgbXVzdCBiZSBlbmFibGVk IG9uIHRoZSBzdGFuZGJ5LiBJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBzcGVjaWZ5IGEgdmFsaWQK ICAgICAgPGxpdGVyYWw+ZGJuYW1lPC9saXRlcmFsPiBpbiB0aGUKICAgICAgPGxpbmsgbGlua2Vu ZD0iZ3VjLXByaW1hcnktY29ubmluZm8iPjx2YXJuYW1lPnByaW1hcnlfY29ubmluZm88L3Zhcm5h bWU+PC9saW5rPi4KKyAgICAgSXQncyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgc2FpZCBw aHlzaWNhbCByZXBsaWNhdGlvbiBzbG90IGlzIG5hbWVkIGluCisgICAgIDxsaW5rIGxpbmtlbmQ9 Imd1Yy1zdGFuZGJ5LXNsb3QtbmFtZXMiPjx2YXJuYW1lPnN0YW5kYnlfc2xvdF9uYW1lczwvdmFy bmFtZT48L2xpbms+CisgICAgIGxpc3Qgb24gdGhlIHByaW1hcnksIHRvIHByZXZlbnQgdGhlIHN1 YnNjcmliZXIgZnJvbSBjb25zdW1pbmcgY2hhbmdlcworICAgICBmYXN0ZXIgdGhhbiB0aGUgaG90 IHN0YW5kYnkuIEV2ZW4gd2hlbiBjb3JyZWN0bHkgY29uZmlndXJlZCwgc29tZSBsYXRlbmN5Cisg ICAgIGlzIGV4cGVjdGVkIHdoZW4gc2VuZGluZyBjaGFuZ2VzIHRvIGxvZ2ljYWwgc3Vic2NyaWJl cnMgZHVlIHRvIHRoZSB3YWl0aW5nCisgICAgIG9uIHNsb3RzIG5hbWVkIGluCisgICAgIDxsaW5r IGxpbmtlbmQ9Imd1Yy1zdGFuZGJ5LXNsb3QtbmFtZXMiPjx2YXJuYW1lPnN0YW5kYnlfc2xvdF9u YW1lczwvdmFybmFtZT48L2xpbms+LgorICAgICBXaGVuIDx2YXJuYW1lPnN0YW5kYnlfc2xvdF9u YW1lczwvdmFybmFtZT4gaXMgdXRpbGl6ZWQsIHRoZQorICAgICBwcmltYXJ5IHNlcnZlciB3aWxs IG5vdCBjb21wbGV0ZWx5IHNodXQgZG93biB1bnRpbCB0aGUgY29ycmVzcG9uZGluZworICAgICBz dGFuZGJ5cywgYXNzb2NpYXRlZCB3aXRoIHRoZSBwaHlzaWNhbCByZXBsaWNhdGlvbiBzbG90cyBz cGVjaWZpZWQKKyAgICAgaW4gPHZhcm5hbWU+c3RhbmRieV9zbG90X25hbWVzPC92YXJuYW1lPiwg aGF2ZSBjb25maXJtZWQKKyAgICAgcmVjZWl2aW5nIHRoZSBXQUwgdXAgdG8gdGhlIGxhdGVzdCBm bHVzaGVkIHBvc2l0aW9uIG9uIHRoZSBwcmltYXJ5IHNlcnZlci4KICAgICA8L3BhcmE+CiAKICAg ICA8cGFyYT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbG9n aWNhbGZ1bmNzLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWxmdW5j cy5jCmluZGV4IGIwMDgxZDNjZTUuLmYyOGQ2YzkwMTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvbG9naWNhbGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9sb2dpY2FsZnVuY3MuYwpAQCAtMTA5LDYgKzEwOSw3IEBAIHBnX2xv Z2ljYWxfc2xvdF9nZXRfY2hhbmdlc19ndXRzKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBib29s IGNvbmZpcm0sIGJvb2wgYmluCiAJTWVtb3J5Q29udGV4dCBwZXJfcXVlcnlfY3R4OwogCU1lbW9y eUNvbnRleHQgb2xkY29udGV4dDsKIAlYTG9nUmVjUHRyCWVuZF9vZl93YWw7CisJWExvZ1JlY1B0 cgl3YWl0X2Zvcl93YWxfbHNuOwogCUxvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eDsKIAlSZXNv dXJjZU93bmVyIG9sZF9yZXNvd25lciA9IEN1cnJlbnRSZXNvdXJjZU93bmVyOwogCUFycmF5VHlw ZSAgKmFycjsKQEAgLTIyOCw2ICsyMjksMTcgQEAgcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2Vz X2d1dHMoRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIGJvb2wgY29uZmlybSwgYm9vbCBiaW4KIAkJ CQkJCQlOYW1lU3RyKE15UmVwbGljYXRpb25TbG90LT5kYXRhLnBsdWdpbiksCiAJCQkJCQkJZm9y bWF0X3Byb2NlZHVyZShmY2luZm8tPmZsaW5mby0+Zm5fb2lkKSkpKTsKIAorCQkvKgorCQkgKiBX YWl0IGZvciBzcGVjaWZpZWQgc3RyZWFtaW5nIHJlcGxpY2F0aW9uIHN0YW5kYnkgc2VydmVycyAo aWYgYW55KQorCQkgKiB0byBjb25maXJtIHJlY2VpcHQgb2YgV0FMIHVwIHRvIHdhaXRfZm9yX3dh bF9sc24uCisJCSAqLworCQlpZiAoWExvZ1JlY1B0cklzSW52YWxpZCh1cHRvX2xzbikpCisJCQl3 YWl0X2Zvcl93YWxfbHNuID0gZW5kX29mX3dhbDsKKwkJZWxzZQorCQkJd2FpdF9mb3Jfd2FsX2xz biA9IE1pbih1cHRvX2xzbiwgZW5kX29mX3dhbCk7CisKKwkJV2FpdEZvclN0YW5kYnlDb25maXJt YXRpb24od2FpdF9mb3Jfd2FsX2xzbik7CisKIAkJY3R4LT5vdXRwdXRfd3JpdGVyX3ByaXZhdGUg PSBwOwogCiAJCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3Nsb3RzeW5jLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMK aW5kZXggOGVjYjg1Yjg2YS4uZDE1NjJjZjdiMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvc2xvdHN5bmMuYwpAQCAtNDkxLDYgKzQ5MSwxMCBAQCBzeW5jaHJvbml6ZV9vbmVf c2xvdChSZW1vdGVTbG90ICpyZW1vdGVfc2xvdCwgT2lkIHJlbW90ZV9kYmlkKQogCWxhdGVzdEZs dXNoUHRyID0gR2V0U3RhbmRieUZsdXNoUmVjUHRyKE5VTEwpOwogCWlmIChyZW1vdGVfc2xvdC0+ Y29uZmlybWVkX2xzbiA+IGxhdGVzdEZsdXNoUHRyKQogCXsKKwkJLyoKKwkJICogQ2FuIGdldCBo ZXJlIG9ubHkgaWYgR1VDICdzdGFuZGJ5X3Nsb3RfbmFtZXMnIG9uIHRoZSBwcmltYXJ5IHNlcnZl cgorCQkgKiB3YXMgbm90IGNvbmZpZ3VyZWQgY29ycmVjdGx5LgorCQkgKi8KIAkJZXJlcG9ydChh bV9zbG90c3luY193b3JrZXIgPyBMT0cgOiBFUlJPUiwKIAkJCQllcnJjb2RlKEVSUkNPREVfT0JK RUNUX05PVF9JTl9QUkVSRVFVSVNJVEVfU1RBVEUpLAogCQkJCWVycm1zZygic2tpcHBpbmcgc2xv dCBzeW5jaHJvbml6YXRpb24gYXMgdGhlIHJlY2VpdmVkIHNsb3Qgc3luYyIKQEAgLTg2MCw2ICs4 NjQsMTMgQEAgdmFsaWRhdGVfcmVtb3RlX2luZm8oV2FsUmVjZWl2ZXJDb25uICp3cmNvbm4pCiAJ cmVtb3RlX2luX3JlY292ZXJ5ID0gRGF0dW1HZXRCb29sKHNsb3RfZ2V0YXR0cih0dXBzbG90LCAx LCAmaXNudWxsKSk7CiAJQXNzZXJ0KCFpc251bGwpOwogCisJLyoKKwkgKiBTbG90IHN5bmMgaXMg Y3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgb24gYSBjYXNjYWRpbmcgc3RhbmRieS4gVGhpcyBpcwor CSAqIGJlY2F1c2UgaWYgd2UgYWxsb3cgaXQsIHRoZSBwcmltYXJ5IHNlcnZlciBuZWVkcyB0byB3 YWl0IGZvciBhbGwgdGhlCisJICogY2FzY2FkaW5nIHN0YW5kYnlzLCBvdGhlcndpc2UsIGxvZ2lj YWwgc3Vic2NyaWJlcnMgY2FuIHN0aWxsIGJlIGFoZWFkCisJICogb2Ygb25lIG9mIHRoZSBjYXNj YWRpbmcgc3RhbmRieXMgd2hpY2ggd2UgcGxhbiB0byBwcm9tb3RlLiBUaHVzLCB0bworCSAqIGF2 b2lkIHRoaXMgYWRkaXRpb25hbCBjb21wbGV4aXR5LCB3ZSByZXN0cmljdCBpdCBmb3IgdGhlIHRp bWUgYmVpbmcuCisJICovCiAJaWYgKHJlbW90ZV9pbl9yZWNvdmVyeSkKIAkJZXJlcG9ydChFUlJP UiwKIAkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3Nsb3QuYwppbmRleCAwZjE3M2Y2M2EyLi43N2VmMDgzYTdmIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v c2xvdC5jCkBAIC00NiwxMyArNDYsMTggQEAKICNpbmNsdWRlICJjb21tb24vc3RyaW5nLmgiCiAj aW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCisjaW5jbHVkZSAicG9z dG1hc3Rlci9pbnRlcnJ1cHQuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbG90c3luYy5oIgog I2luY2x1ZGUgInJlcGxpY2F0aW9uL3Nsb3QuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi93YWxz ZW5kZXJfcHJpdmF0ZS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvZmQuaCIKICNpbmNsdWRlICJzdG9y YWdlL2lwYy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv cHJvY2FycmF5LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGls cy9ndWNfaG9va3MuaCIKKyNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgorI2luY2x1ZGUgInV0 aWxzL3ZhcmxlbmEuaCIKIAogLyoKICAqIFJlcGxpY2F0aW9uIHNsb3Qgb24tZGlzayBkYXRhIHN0 cnVjdHVyZS4KQEAgLTExNSwxMCArMTIwLDI1IEBAIFJlcGxpY2F0aW9uU2xvdEN0bERhdGEgKlJl cGxpY2F0aW9uU2xvdEN0bCA9IE5VTEw7CiAvKiBNeSBiYWNrZW5kJ3MgcmVwbGljYXRpb24gc2xv dCBpbiB0aGUgc2hhcmVkIG1lbW9yeSBhcnJheSAqLwogUmVwbGljYXRpb25TbG90ICpNeVJlcGxp Y2F0aW9uU2xvdCA9IE5VTEw7CiAKLS8qIEdVQyB2YXJpYWJsZSAqLworLyogR1VDIHZhcmlhYmxl cyAqLwogaW50CQkJbWF4X3JlcGxpY2F0aW9uX3Nsb3RzID0gMTA7IC8qIHRoZSBtYXhpbXVtIG51 bWJlciBvZiByZXBsaWNhdGlvbgogCQkJCQkJCQkJCSAqIHNsb3RzICovCiAKKy8qCisgKiBUaGlz IEdVQyBsaXN0cyBzdHJlYW1pbmcgcmVwbGljYXRpb24gc3RhbmRieSBzZXJ2ZXIgc2xvdCBuYW1l cyB0aGF0CisgKiBsb2dpY2FsIFdBTCBzZW5kZXIgcHJvY2Vzc2VzIHdpbGwgd2FpdCBmb3IuCisg Ki8KK2NoYXIJICAgKnN0YW5kYnlfc2xvdF9uYW1lczsKKworLyogVGhpcyBpcyBwYXJzZWQgYW5k IGNhY2hlZCBsaXN0IGZvciByYXcgc3RhbmRieV9zbG90X25hbWVzLiAqLworc3RhdGljIExpc3Qg KnN0YW5kYnlfc2xvdF9uYW1lc19saXN0ID0gTklMOworCisvKgorICogT2xkZXN0IExTTiB0aGF0 IGhhcyBiZWVuIGNvbmZpcm1lZCB0byBiZSBmbHVzaGVkIHRvIHRoZSBzdGFuZGJ5cworICogY29y cmVzcG9uZGluZyB0byB0aGUgcGh5c2ljYWwgc2xvdHMgc3BlY2lmaWVkIGluIHRoZSBzdGFuZGJ5 X3Nsb3RfbmFtZXMgR1VDLgorICovCitzdGF0aWMgWExvZ1JlY1B0ciBzdGFuZGJ5X3Nsb3Rfb2xk ZXN0X2ZsdXNoX2xzbiA9IEludmFsaWRYTG9nUmVjUHRyOworCiBzdGF0aWMgdm9pZCBSZXBsaWNh dGlvblNsb3RTaG1lbUV4aXQoaW50IGNvZGUsIERhdHVtIGFyZyk7CiBzdGF0aWMgdm9pZCBSZXBs aWNhdGlvblNsb3REcm9wUHRyKFJlcGxpY2F0aW9uU2xvdCAqc2xvdCk7CiAKQEAgLTIzNDUsMyAr MjM2NSwzNTUgQEAgR2V0U2xvdEludmFsaWRhdGlvbkNhdXNlKGNvbnN0IGNoYXIgKmNvbmZsaWN0 X3JlYXNvbikKIAlBc3NlcnQoZm91bmQpOwogCXJldHVybiByZXN1bHQ7CiB9CisKKy8qCisgKiBB IGhlbHBlciBmdW5jdGlvbiB0byB2YWxpZGF0ZSBzbG90cyBzcGVjaWZpZWQgaW4gR1VDIHN0YW5k Ynlfc2xvdF9uYW1lcy4KKyAqLworc3RhdGljIGJvb2wKK3ZhbGlkYXRlX3N0YW5kYnlfc2xvdHMo Y2hhciAqKm5ld3ZhbCkKK3sKKwljaGFyCSAgICpyYXduYW1lOworCUxpc3QJICAgKmVsZW1saXN0 OworCWJvb2wJCW9rOworCisJLyogTmVlZCBhIG1vZGlmaWFibGUgY29weSBvZiBzdHJpbmcgKi8K KwlyYXduYW1lID0gcHN0cmR1cCgqbmV3dmFsKTsKKworCS8qIFZlcmlmeSBzeW50YXggYW5kIHBh cnNlIHN0cmluZyBpbnRvIGEgbGlzdCBvZiBpZGVudGlmaWVycyAqLworCW9rID0gU3BsaXRJZGVu dGlmaWVyU3RyaW5nKHJhd25hbWUsICcsJywgJmVsZW1saXN0KTsKKworCWlmICghb2spCisJewor CQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJMaXN0IHN5bnRheCBpcyBpbnZhbGlkLiIpOworCX0KKwll bHNlIGlmICghUmVwbGljYXRpb25TbG90Q3RsKQorCXsKKwkJLyoKKwkJICogV2UgY2Fubm90IHZh bGlkYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90IGlmIHRoZSByZXBsaWNhdGlvbiBzbG90cycKKwkJ ICogZGF0YSBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQuIFRoaXMgaXMgb2sgYXMgd2Ugd2lsbCB2 YWxpZGF0ZSB0aGUKKwkJICogc3BlY2lmaWVkIHNsb3Qgd2hlbiB3YWl0aW5nIGZvciB0aGVtIHRv IGNhdGNoIHVwLiBTZWUKKwkJICogU3RhbmRieVNsb3RzSGF2ZUNhdWdodHVwIGZvciBkZXRhaWxz LgorCQkgKi8KKwl9CisJZWxzZQorCXsKKwkJLyogQ2hlY2sgdGhhdCB0aGUgc3BlY2lmaWVkIHNs b3RzIGV4aXN0IGFuZCBhcmUgbG9naWNhbCBzbG90cyAqLworCQlMV0xvY2tBY3F1aXJlKFJlcGxp Y2F0aW9uU2xvdENvbnRyb2xMb2NrLCBMV19TSEFSRUQpOworCisJCWZvcmVhY2hfcHRyKGNoYXIs IG5hbWUsIGVsZW1saXN0KQorCQl7CisJCQlSZXBsaWNhdGlvblNsb3QgKnNsb3Q7CisKKwkJCXNs b3QgPSBTZWFyY2hOYW1lZFJlcGxpY2F0aW9uU2xvdChuYW1lLCBmYWxzZSk7CisKKwkJCWlmICgh c2xvdCkKKwkJCXsKKwkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJyZXBsaWNhdGlvbiBzbG90IFwi JXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJCQluYW1lKTsKKwkJCQlvayA9IGZhbHNlOwor CQkJCWJyZWFrOworCQkJfQorCisJCQlpZiAoIVNsb3RJc1BoeXNpY2FsKHNsb3QpKQorCQkJewor CQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIlwiJXNcIiBpcyBub3QgYSBwaHlzaWNhbCByZXBsaWNh dGlvbiBzbG90IiwKKwkJCQkJCQkJCW5hbWUpOworCQkJCW9rID0gZmFsc2U7CisJCQkJYnJlYWs7 CisJCQl9CisJCX0KKworCQlMV0xvY2tSZWxlYXNlKFJlcGxpY2F0aW9uU2xvdENvbnRyb2xMb2Nr KTsKKwl9CisKKwlwZnJlZShyYXduYW1lKTsKKwlsaXN0X2ZyZWUoZWxlbWxpc3QpOworCXJldHVy biBvazsKK30KKworLyoKKyAqIEdVQyBjaGVja19ob29rIGZvciBzdGFuZGJ5X3Nsb3RfbmFtZXMK KyAqLworYm9vbAorY2hlY2tfc3RhbmRieV9zbG90X25hbWVzKGNoYXIgKipuZXd2YWwsIHZvaWQg KipleHRyYSwgR3VjU291cmNlIHNvdXJjZSkKK3sKKwlpZiAoKCpuZXd2YWwpWzBdID09ICdcMCcp CisJCXJldHVybiB0cnVlOworCisJLyoKKwkgKiAiKiIgaXMgbm90IGFjY2VwdGVkIGFzIGluIHRo YXQgY2FzZSB0aGUgcHJpbWFyeSB3aWxsIG5vdCBiZSBhYmxlIHRvCisJICoga25vdyBmb3Igd2hp Y2ggYWxsIHN0YW5kYnlzIHRvIHdhaXQgZm9yLiBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIGJsb2Nr CisJICogbG9naWNhbCByZXBsaWNhdGlvbiBmb3IgcGh5c2ljYWwgc2xvdHMgdGhhdCBlaXRoZXIg bGFjayBhc3NvY2lhdGVkCisJICogc3RhbmRieXMgb3IgaGF2ZSBzdGFuZGJ5cyBhc3NvY2lhdGVk IHRoYXQgYXJlIG5vdCBlbmFibGVkIGZvcgorCSAqIHJlcGxpY2F0aW9uIHNsb3Qgc3luY2hyb25p emF0aW9uLgorCSAqLworCWlmIChzdHJjbXAoKm5ld3ZhbCwgIioiKSA9PSAwKQorCXsKKwkJR1VD X2NoZWNrX2VycmRldGFpbCgiXCIqXCIgaXMgbm90IGFjY2VwdGVkIGZvciBzdGFuZGJ5X3Nsb3Rf bmFtZXMiKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qIE5vdyB2ZXJpZnkgaWYgdGhlIHNw ZWNpZmllZCBzbG90cyByZWFsbHkgZXhpc3QgYW5kIGhhdmUgY29ycmVjdCB0eXBlICovCisJaWYg KCF2YWxpZGF0ZV9zdGFuZGJ5X3Nsb3RzKG5ld3ZhbCkpCisJCXJldHVybiBmYWxzZTsKKworCSpl eHRyYSA9IGd1Y19zdHJkdXAoRVJST1IsICpuZXd2YWwpOworCisJcmV0dXJuIHRydWU7Cit9CisK Ky8qCisgKiBHVUMgYXNzaWduX2hvb2sgZm9yIHN0YW5kYnlfc2xvdF9uYW1lcworICovCit2b2lk Cithc3NpZ25fc3RhbmRieV9zbG90X25hbWVzKGNvbnN0IGNoYXIgKm5ld3ZhbCwgdm9pZCAqZXh0 cmEpCit7CisJTGlzdAkgICAqc3RhbmRieV9zbG90czsKKwlNZW1vcnlDb250ZXh0IG9sZGN4dDsK KwljaGFyCSAgICpzdGFuZGJ5X3Nsb3RfbmFtZXNfY3B5ID0gZXh0cmE7CisKKwkvKgorCSAqIFRo ZSBzdGFuZGJ5IHNsb3RzIG1heSBoYXZlIGNoYW5nZWQsIHNvIHdlIG5lZWQgdG8gcmVjb21wdXRl IHRoZSBvbGRlc3QKKwkgKiBMU04uCisJICovCisJc3RhbmRieV9zbG90X29sZGVzdF9mbHVzaF9s c24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKKworCWxpc3RfZnJlZShzdGFuZGJ5X3Nsb3RfbmFtZXNf bGlzdCk7CisJc3RhbmRieV9zbG90X25hbWVzX2xpc3QgPSBOSUw7CisKKwkvKiBObyB2YWx1ZSBp cyBzcGVjaWZpZWQgZm9yIHN0YW5kYnlfc2xvdF9uYW1lcy4gKi8KKwlpZiAoc3RhbmRieV9zbG90 X25hbWVzX2NweSA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlpZiAoIVNwbGl0SWRlbnRpZmllclN0 cmluZyhzdGFuZGJ5X3Nsb3RfbmFtZXNfY3B5LCAnLCcsICZzdGFuZGJ5X3Nsb3RzKSkKKwl7CisJ CS8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gaWYgR1VDIGNoZWNrZWQgY2hlY2tfc3RhbmRieV9z bG90X25hbWVzLiAqLworCQllbG9nKEVSUk9SLCAiaW52YWxpZCBsaXN0IHN5bnRheCIpOworCX0K KworCS8qCisJICogU3dpdGNoIHRvIHRoZSBtZW1vcnkgY29udGV4dCB1bmRlciB3aGljaCBHVUMg dmFyaWFibGVzIGFyZSBhbGxvY2F0ZWQKKwkgKiAoR1VDTWVtb3J5Q29udGV4dCkuCisJICovCisJ b2xkY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKEdldE1lbW9yeUNodW5rQ29udGV4dChzdGFu ZGJ5X3Nsb3RfbmFtZXNfY3B5KSk7CisJc3RhbmRieV9zbG90X25hbWVzX2xpc3QgPSBsaXN0X2Nv cHkoc3RhbmRieV9zbG90cyk7CisJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7Cit9CisK Ky8qCisgKiBSZXR1cm4gdGhlIHN0YW5kYnlfc2xvdF9uYW1lc19saXN0LgorICoKKyAqIE5vdGUg dGhhdCBzaW5jZSB3ZSBkbyBub3Qgc3VwcG9ydCBzeW5jaW5nIHNsb3RzIHRvIGNhc2NhZGluZyBz dGFuZGJ5cywgd2UKKyAqIHJldHVybiBOSUwgaWYgd2UgYXJlIHJ1bm5pbmcgaW4gYSBzdGFuZGJ5 IHRvIGluZGljYXRlIHRoYXQgbm8gc3RhbmRieSBzbG90cworICogbmVlZCB0byBiZSB3YWl0ZWQg Zm9yLgorICovCitMaXN0ICoKK0dldFN0YW5kYnlTbG90TGlzdCh2b2lkKQoreworCWlmIChSZWNv dmVyeUluUHJvZ3Jlc3MoKSkKKwkJcmV0dXJuIE5JTDsKKworCXJldHVybiBzdGFuZGJ5X3Nsb3Rf bmFtZXNfbGlzdDsKK30KKworLyoKKyAqIFJldHVybiB0cnVlIGlmIHRoZSBzbG90cyBzcGVjaWZp ZWQgaW4gc3RhbmRieV9zbG90X25hbWVzIGhhdmUgY2F1Z2h0IHVwIHRvCisgKiB0aGUgZ2l2ZW4g V0FMIGxvY2F0aW9uLCBmYWxzZSBvdGhlcndpc2UuCisgKgorICogVGhlIGVsZXZlbCBwYXJhbWV0 ZXIgc3BlY2lmaWVzIHRoZSBlcnJvciBsZXZlbCB1c2VkIGZvciBsb2dnaW5nIG1lc3NhZ2VzCisg KiByZWxhdGVkIHRvIHNsb3RzIHRoYXQgZG8gbm90IGV4aXN0LCBhcmUgaW52YWxpZGF0ZWQsIG9y IGFyZSBpbmFjdGl2ZS4KKyAqLworYm9vbAorU3RhbmRieVNsb3RzSGF2ZUNhdWdodHVwKFhMb2dS ZWNQdHIgd2FpdF9mb3JfbHNuLCBpbnQgZWxldmVsKQoreworCWludAkJCWNhdWdodF91cF9zbG90 X251bSA9IDA7CisJWExvZ1JlY1B0cgltaW5fcmVzdGFydF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0 cjsKKworCS8qCisJICogRG9uJ3QgbmVlZCB0byB3YWl0IGZvciB0aGUgc3RhbmRieXMgdG8gY2F0 Y2ggdXAgaWYgdGhlcmUgaXMgbm8gdmFsdWUgaW4KKwkgKiBzdGFuZGJ5X3Nsb3RfbmFtZXMuCisJ ICovCisJaWYgKHN0YW5kYnlfc2xvdF9uYW1lc19saXN0ID09IE5JTCkKKwkJcmV0dXJuIHRydWU7 CisKKwkvKgorCSAqIERvbid0IG5lZWQgdG8gd2FpdCBmb3IgdGhlIHN0YW5kYnlzIHRvIGNhdGNo IHVwIGlmIHdlIGFyZSBvbiBhIHN0YW5kYnkKKwkgKiBzZXJ2ZXIsIHNpbmNlIHdlIGRvIG5vdCBz dXBwb3J0IHN5bmNpbmcgc2xvdHMgdG8gY2FzY2FkaW5nIHN0YW5kYnlzLgorCSAqLworCWlmIChS ZWNvdmVyeUluUHJvZ3Jlc3MoKSkKKwkJcmV0dXJuIHRydWU7CisKKwkvKgorCSAqIERvbid0IG5l ZWQgdG8gd2FpdCBmb3IgdGhlIHN0YW5kYnlzIHRvIGNhdGNoIHVwIGlmIHRoZXkgYXJlIGFscmVh ZHkKKwkgKiBiZXlvbmQgdGhlIHNwZWNpZmllZCBXQUwgbG9jYXRpb24uCisJICovCisJaWYgKCFY TG9nUmVjUHRySXNJbnZhbGlkKHN0YW5kYnlfc2xvdF9vbGRlc3RfZmx1c2hfbHNuKSAmJgorCQlz dGFuZGJ5X3Nsb3Rfb2xkZXN0X2ZsdXNoX2xzbiA+PSB3YWl0X2Zvcl9sc24pCisJCXJldHVybiB0 cnVlOworCisJLyoKKwkgKiBUbyBwcmV2ZW50IGNvbmN1cnJlbnQgc2xvdCBkcm9wcGluZyBhbmQg Y3JlYXRpb24gd2hpbGUgZmlsdGVyaW5nIHRoZQorCSAqIHNsb3RzLCB0YWtlIHRoZSBSZXBsaWNh dGlvblNsb3RDb250cm9sTG9jayBvdXRzaWRlIG9mIHRoZSBsb29wLgorCSAqLworCUxXTG9ja0Fj cXVpcmUoUmVwbGljYXRpb25TbG90Q29udHJvbExvY2ssIExXX1NIQVJFRCk7CisKKwlmb3JlYWNo X3B0cihjaGFyLCBuYW1lLCBzdGFuZGJ5X3Nsb3RfbmFtZXNfbGlzdCkKKwl7CisJCVhMb2dSZWNQ dHIJcmVzdGFydF9sc247CisJCWJvb2wJCWludmFsaWRhdGVkOworCQlib29sCQlpbmFjdGl2ZTsK KwkJUmVwbGljYXRpb25TbG90ICpzbG90OworCisJCXNsb3QgPSBTZWFyY2hOYW1lZFJlcGxpY2F0 aW9uU2xvdChuYW1lLCBmYWxzZSk7CisKKwkJaWYgKCFzbG90KQorCQl7CisJCQkvKgorCQkJICog SWYgYSBzbG90IG5hbWUgcHJvdmlkZWQgaW4gc3RhbmRieV9zbG90X25hbWVzIGRvZXMgbm90IGV4 aXN0LAorCQkJICogcmVwb3J0IGEgbWVzc2FnZSBhbmQgZXhpdCB0aGUgbG9vcC4gQSB1c2VyIGNh biBzcGVjaWZ5IGEgc2xvdAorCQkJICogbmFtZSB0aGF0IGRvZXMgbm90IGV4aXN0IGp1c3QgYmVm b3JlIHRoZSBzZXJ2ZXIgc3RhcnR1cC4gVGhlCisJCQkgKiBHVUMgY2hlY2tfaG9vayh2YWxpZGF0 ZV9zdGFuZGJ5X3Nsb3RzKSBjYW5ub3QgdmFsaWRhdGUgc3VjaCBhCisJCQkgKiBzbG90IGR1cmlu ZyBzdGFydHVwIGFzIHRoZSBSZXBsaWNhdGlvblNsb3RDdGwgc2hhcmVkIG1lbW9yeSBpcworCQkJ ICogbm90IGluaXRpYWxpemVkIGF0IHRoYXQgdGltZS4gSXQgaXMgYWxzbyBwb3NzaWJsZSBmb3Ig YSB1c2VyIHRvCisJCQkgKiBkcm9wIHRoZSBzbG90IGluIHN0YW5kYnlfc2xvdF9uYW1lcyBhZnRl cndhcmRzLgorCQkJICovCisJCQllcmVwb3J0KGVsZXZlbCwKKwkJCQkJZXJyY29kZShFUlJDT0RF X0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJCQkJZXJybXNnKCJyZXBsaWNhdGlvbiBzbG90 IFwiJXNcIiBzcGVjaWZpZWQgaW4gcGFyYW1ldGVyICVzIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJ CSAgIG5hbWUsICJzdGFuZGJ5X3Nsb3RfbmFtZXMiKSwKKwkJCQkJZXJyZGV0YWlsKCJMb2dpY2Fs IHJlcGxpY2F0aW9uIGlzIHdhaXRpbmcgb24gdGhlIHN0YW5kYnkgYXNzb2NpYXRlZCB3aXRoIFwi JXNcIi4iLAorCQkJCQkJCSAgbmFtZSksCisJCQkJCWVycmhpbnQoIkNvbnNpZGVyIGNyZWF0aW5n IHRoZSBzbG90IFwiJXNcIiBvciBhbWVuZCBwYXJhbWV0ZXIgJXMuIiwKKwkJCQkJCQluYW1lLCAi c3RhbmRieV9zbG90X25hbWVzIikpOworCQkJYnJlYWs7CisJCX0KKworCQlpZiAoU2xvdElzTG9n aWNhbChzbG90KSkKKwkJeworCQkJLyoKKwkJCSAqIElmIGEgbG9naWNhbCBzbG90IG5hbWUgaXMg cHJvdmlkZWQgaW4gc3RhbmRieV9zbG90X25hbWVzLAorCQkJICogcmVwb3J0IGEgbWVzc2FnZSBh bmQgZXhpdCB0aGUgbG9vcC4gU2ltaWxhciB0byB0aGUgbm9uLWV4aXN0ZW50CisJCQkgKiBjYXNl LCBhIHVzZXIgY2FuIHNwZWNpZnkgYSBsb2dpY2FsIHNsb3QgbmFtZSBpbgorCQkJICogc3RhbmRi eV9zbG90X25hbWVzIGJlZm9yZSB0aGUgc2VydmVyIHN0YXJ0dXAsIG9yIGRyb3AgYW4KKwkJCSAq IGV4aXN0aW5nIHBoeXNpY2FsIHNsb3QgYW5kIHJlY3JlYXRlIGEgbG9naWNhbCBzbG90IHdpdGgg dGhlCisJCQkgKiBzYW1lIG5hbWUuCisJCQkgKi8KKwkJCWVyZXBvcnQoZWxldmVsLAorCQkJCQll cnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQllcnJtc2coImNh bm5vdCBoYXZlIGxvZ2ljYWwgcmVwbGljYXRpb24gc2xvdCBcIiVzXCIgaW4gcGFyYW1ldGVyICVz IiwKKwkJCQkJCSAgIG5hbWUsICJzdGFuZGJ5X3Nsb3RfbmFtZXMiKSwKKwkJCQkJZXJyZGV0YWls KCJMb2dpY2FsIHJlcGxpY2F0aW9uIGlzIHdhaXRpbmcgZm9yIGNvcnJlY3Rpb24gb24gXCIlc1wi LiIsCisJCQkJCQkJICBuYW1lKSwKKwkJCQkJZXJyaGludCgiQ29uc2lkZXIgcmVtb3ZpbmcgbG9n aWNhbCBzbG90IFwiJXNcIiBmcm9tIHBhcmFtZXRlciAlcy4iLAorCQkJCQkJCW5hbWUsICJzdGFu ZGJ5X3Nsb3RfbmFtZXMiKSk7CisJCQlicmVhazsKKwkJfQorCisJCVNwaW5Mb2NrQWNxdWlyZSgm c2xvdC0+bXV0ZXgpOworCQlyZXN0YXJ0X2xzbiA9IHNsb3QtPmRhdGEucmVzdGFydF9sc247CisJ CWludmFsaWRhdGVkID0gc2xvdC0+ZGF0YS5pbnZhbGlkYXRlZCAhPSBSU19JTlZBTF9OT05FOwor CQlpbmFjdGl2ZSA9IHNsb3QtPmFjdGl2ZV9waWQgPT0gMDsKKwkJU3BpbkxvY2tSZWxlYXNlKCZz bG90LT5tdXRleCk7CisKKwkJaWYgKGludmFsaWRhdGVkKQorCQl7CisJCQkvKiBTcGVjaWZpZWQg cGh5c2ljYWwgc2xvdCBoYXMgYmVlbiBpbnZhbGlkYXRlZCAqLworCQkJZXJlcG9ydChlbGV2ZWws CisJCQkJCWVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSks CisJCQkJCWVycm1zZygicGh5c2ljYWwgc2xvdCBcIiVzXCIgc3BlY2lmaWVkIGluIHBhcmFtZXRl ciAlcyBoYXMgYmVlbiBpbnZhbGlkYXRlZCIsCisJCQkJCQkgICBuYW1lLCAic3RhbmRieV9zbG90 X25hbWVzIiksCisJCQkJCWVycmRldGFpbCgiTG9naWNhbCByZXBsaWNhdGlvbiBpcyB3YWl0aW5n IG9uIHRoZSBzdGFuZGJ5IGFzc29jaWF0ZWQgd2l0aCBcIiVzXCIuIiwKKwkJCQkJCQkgIG5hbWUp LAorCQkJCQllcnJoaW50KCJDb25zaWRlciBkcm9wcGluZyBhbmQgcmVjcmVhdGluZyB0aGUgc2xv dCBcIiVzXCIgb3IgYW1lbmQgcGFyYW1ldGVyICVzLiIsCisJCQkJCQkJbmFtZSwgInN0YW5kYnlf c2xvdF9uYW1lcyIpKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKFhMb2dSZWNQdHJJc0ludmFs aWQocmVzdGFydF9sc24pIHx8IHJlc3RhcnRfbHNuIDwgd2FpdF9mb3JfbHNuKQorCQl7CisJCQkv KiBMb2cgYSBtZXNzYWdlIGlmIG5vIGFjdGl2ZV9waWQgZm9yIHRoaXMgcGh5c2ljYWwgc2xvdCAq LworCQkJaWYgKGluYWN0aXZlKQorCQkJCWVyZXBvcnQoZWxldmVsLAorCQkJCQkJZXJyY29kZShF UlJDT0RFX09CSkVDVF9OT1RfSU5fUFJFUkVRVUlTSVRFX1NUQVRFKSwKKwkJCQkJCWVycm1zZygi cmVwbGljYXRpb24gc2xvdCBcIiVzXCIgc3BlY2lmaWVkIGluIHBhcmFtZXRlciAlcyBkb2VzIG5v dCBoYXZlIGFjdGl2ZV9waWQiLAorCQkJCQkJCSAgIG5hbWUsICJzdGFuZGJ5X3Nsb3RfbmFtZXMi KSwKKwkJCQkJCWVycmRldGFpbCgiTG9naWNhbCByZXBsaWNhdGlvbiBpcyB3YWl0aW5nIG9uIHRo ZSBzdGFuZGJ5IGFzc29jaWF0ZWQgd2l0aCBcIiVzXCIuIiwKKwkJCQkJCQkJICBuYW1lKSwKKwkJ CQkJCWVycmhpbnQoIkNvbnNpZGVyIHN0YXJ0aW5nIHN0YW5kYnkgYXNzb2NpYXRlZCB3aXRoIFwi JXNcIiBvciBhbWVuZCBwYXJhbWV0ZXIgJXMuIiwKKwkJCQkJCQkJbmFtZSwgInN0YW5kYnlfc2xv dF9uYW1lcyIpKTsKKworCQkJLyogQ29udGludWUgaWYgdGhlIGN1cnJlbnQgc2xvdCBoYXNuJ3Qg Y2F1Z2h0IHVwLiAqLworCQkJYnJlYWs7CisJCX0KKworCQlBc3NlcnQocmVzdGFydF9sc24gPj0g d2FpdF9mb3JfbHNuKTsKKworCQlpZiAoWExvZ1JlY1B0cklzSW52YWxpZChtaW5fcmVzdGFydF9s c24pIHx8CisJCQltaW5fcmVzdGFydF9sc24gPiByZXN0YXJ0X2xzbikKKwkJCW1pbl9yZXN0YXJ0 X2xzbiA9IHJlc3RhcnRfbHNuOworCisJCWNhdWdodF91cF9zbG90X251bSsrOworCX0KKworCUxX TG9ja1JlbGVhc2UoUmVwbGljYXRpb25TbG90Q29udHJvbExvY2spOworCisJLyoKKwkgKiBSZXR1 cm4gZmFsc2UgaWYgbm90IGFsbCB0aGUgc3RhbmRieXMgaGF2ZSBjYXVnaHQgdXAgdG8gdGhlIHNw ZWNpZmllZAorCSAqIFdBTCBsb2NhdGlvbi4KKwkgKi8KKwlpZiAoY2F1Z2h0X3VwX3Nsb3RfbnVt ICE9IGxpc3RfbGVuZ3RoKHN0YW5kYnlfc2xvdF9uYW1lc19saXN0KSkKKwkJcmV0dXJuIGZhbHNl OworCisJQXNzZXJ0KFhMb2dSZWNQdHJJc0ludmFsaWQoc3RhbmRieV9zbG90X29sZGVzdF9mbHVz aF9sc24pIHx8CisJCSAgIG1pbl9yZXN0YXJ0X2xzbiA+PSBzdGFuZGJ5X3Nsb3Rfb2xkZXN0X2Zs dXNoX2xzbik7CisKKwlzdGFuZGJ5X3Nsb3Rfb2xkZXN0X2ZsdXNoX2xzbiA9IG1pbl9yZXN0YXJ0 X2xzbjsKKworCXJldHVybiB0cnVlOworfQorCisvKgorICogV2FpdCBmb3IgcGh5c2ljYWwgc3Rh bmRieXMgdG8gY29uZmlybSByZWNlaXZpbmcgdGhlIGdpdmVuIGxzbi4KKyAqCisgKiBVc2VkIGJ5 IGxvZ2ljYWwgZGVjb2RpbmcgU1FMIGZ1bmN0aW9ucyB0aGF0IGFjcXVpcmVkIGZhaWxvdmVyIGVu YWJsZWQgc2xvdC4KKyAqIEl0IHdhaXRzIGZvciBwaHlzaWNhbCBzdGFuZGJ5cyBjb3JyZXNwb25k aW5nIHRvIHRoZSBwaHlzaWNhbCBzbG90cyBzcGVjaWZpZWQKKyAqIGluIHRoZSBzdGFuZGJ5X3Ns b3RfbmFtZXMgR1VDLgorICovCit2b2lkCitXYWl0Rm9yU3RhbmRieUNvbmZpcm1hdGlvbihYTG9n UmVjUHRyIHdhaXRfZm9yX2xzbikKK3sKKwkvKgorCSAqIERvbid0IG5lZWQgdG8gd2FpdCBmb3Ig dGhlIHN0YW5kYnkgdG8gY2F0Y2ggdXAgaWYgdGhlIGN1cnJlbnQgYWNxdWlyZWQKKwkgKiBzbG90 IGlzIG5vdCBhIGZhaWxvdmVyIGVuYWJsZWQgc2xvdCwgb3IgdGhlcmUgaXMgbm8gdmFsdWUgaW4K KwkgKiBzdGFuZGJ5X3Nsb3RfbmFtZXMuCisJICovCisJaWYgKCFNeVJlcGxpY2F0aW9uU2xvdC0+ ZGF0YS5mYWlsb3ZlciB8fCBzdGFuZGJ5X3Nsb3RfbmFtZXNfbGlzdCA9PSBOSUwpCisJCXJldHVy bjsKKworCUNvbmRpdGlvblZhcmlhYmxlUHJlcGFyZVRvU2xlZXAoJldhbFNuZEN0bC0+d2FsX2Nv bmZpcm1fcmN2X2N2KTsKKworCWZvciAoOzspCisJeworCQlDSEVDS19GT1JfSU5URVJSVVBUUygp OworCisJCWlmIChDb25maWdSZWxvYWRQZW5kaW5nKQorCQl7CisJCQlDb25maWdSZWxvYWRQZW5k aW5nID0gZmFsc2U7CisJCQlQcm9jZXNzQ29uZmlnRmlsZShQR0NfU0lHSFVQKTsKKwkJfQorCisJ CS8qIEV4aXQgaWYgZG9uZSB3YWl0aW5nIGZvciBldmVyeSBzbG90LiAqLworCQlpZiAoU3RhbmRi eVNsb3RzSGF2ZUNhdWdodHVwKHdhaXRfZm9yX2xzbiwgV0FSTklORykpCisJCQlicmVhazsKKwor CQkvKgorCQkgKiBXYWl0IGZvciB0aGUgc2xvdHMgaW4gdGhlIHN0YW5kYnlfc2xvdF9uYW1lcyB0 byBjYXRjaCB1cCwgYnV0IHVzZSBhCisJCSAqIHRpbWVvdXQgKDFzKSBzbyB3ZSBjYW4gYWxzbyBj aGVjayBpZiB0aGUgc3RhbmRieV9zbG90X25hbWVzIGhhcworCQkgKiBiZWVuIGNoYW5nZWQuCisJ CSAqLworCQlDb25kaXRpb25WYXJpYWJsZVRpbWVkU2xlZXAoJldhbFNuZEN0bC0+d2FsX2NvbmZp cm1fcmN2X2N2LCAxMDAwLAorCQkJCQkJCQkJV0FJVF9FVkVOVF9XQUlUX0ZPUl9TVEFOREJZX0NP TkZJUk1BVElPTik7CisJfQorCisJQ29uZGl0aW9uVmFyaWFibGVDYW5jZWxTbGVlcCgpOworfQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdGZ1bmNzLmMgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwppbmRleCA3NjhhMzA0NzIzLi5kODY0ZmU0MTMz IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwpAQCAtNDY0LDYgKzQ2NCwxMiBAQCBw Z19waHlzaWNhbF9yZXBsaWNhdGlvbl9zbG90X2FkdmFuY2UoWExvZ1JlY1B0ciBtb3ZldG8pCiAJ CSAqIGNyYXNoLCBidXQgdGhpcyBtYWtlcyB0aGUgZGF0YSBjb25zaXN0ZW50IGFmdGVyIGEgY2xl YW4gc2h1dGRvd24uCiAJCSAqLwogCQlSZXBsaWNhdGlvblNsb3RNYXJrRGlydHkoKTsKKworCQkv KgorCQkgKiBXYWtlIHVwIGxvZ2ljYWwgd2Fsc2VuZGVycyBob2xkaW5nIGZhaWxvdmVyIGVuYWJs ZWQgc2xvdHMgYWZ0ZXIKKwkJICogdXBkYXRpbmcgdGhlIHJlc3RhcnRfbHNuIG9mIHRoZSBwaHlz aWNhbCBzbG90LgorCQkgKi8KKwkJUGh5c2ljYWxXYWtldXBMb2dpY2FsV2FsU25kKCk7CiAJfQog CiAJcmV0dXJuIHJldGxzbjsKQEAgLTUwNCw2ICs1MTAsMTIgQEAgcGdfbG9naWNhbF9yZXBsaWNh dGlvbl9zbG90X2FkdmFuY2UoWExvZ1JlY1B0ciBtb3ZldG8pCiAJCQkJCQkJCQkJCSAgIC5zZWdt ZW50X2Nsb3NlID0gd2FsX3NlZ21lbnRfY2xvc2UpLAogCQkJCQkJCQkJTlVMTCwgTlVMTCwgTlVM TCk7CiAKKwkJLyoKKwkJICogV2FpdCBmb3Igc3BlY2lmaWVkIHN0cmVhbWluZyByZXBsaWNhdGlv biBzdGFuZGJ5IHNlcnZlcnMgKGlmIGFueSkKKwkJICogdG8gY29uZmlybSByZWNlaXB0IG9mIFdB TCB1cCB0byBtb3ZldG8gbHNuLgorCQkgKi8KKwkJV2FpdEZvclN0YW5kYnlDb25maXJtYXRpb24o bW92ZXRvKTsKKwogCQkvKgogCQkgKiBTdGFydCByZWFkaW5nIGF0IHRoZSBzbG90J3MgcmVzdGFy dF9sc24sIHdoaWNoIHdlIGtub3cgdG8gcG9pbnQgdG8KIAkJICogYSB2YWxpZCByZWNvcmQuCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIuYyBiL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jCmluZGV4IDEzYmMzZTBhZWUuLmE3OTVhNGFmNzYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jCisrKyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5jCkBAIC0xNzI4LDI2ICsxNzI4LDEyMSBA QCBXYWxTbmRVcGRhdGVQcm9ncmVzcyhMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFhMb2dS ZWNQdHIgbHNuLCBUcmFuc2FjdGlvbklkCiAJCVByb2Nlc3NQZW5kaW5nV3JpdGVzKCk7CiB9CiAK Ky8qCisgKiBXYWtlIHVwIHRoZSBsb2dpY2FsIHdhbHNlbmRlciBwcm9jZXNzZXMgd2l0aCBmYWls b3ZlciBlbmFibGVkIHNsb3RzIGlmIHRoZQorICogY3VycmVudGx5IGFjcXVpcmVkIHBoeXNpY2Fs IHNsb3QgaXMgc3BlY2lmaWVkIGluIHN0YW5kYnlfc2xvdF9uYW1lcyBHVUMuCisgKi8KK3ZvaWQK K1BoeXNpY2FsV2FrZXVwTG9naWNhbFdhbFNuZCh2b2lkKQoreworCUxpc3QJICAgKnN0YW5kYnlf c2xvdHM7CisKKwlBc3NlcnQoTXlSZXBsaWNhdGlvblNsb3QgJiYgU2xvdElzUGh5c2ljYWwoTXlS ZXBsaWNhdGlvblNsb3QpKTsKKworCXN0YW5kYnlfc2xvdHMgPSBHZXRTdGFuZGJ5U2xvdExpc3Qo KTsKKworCWZvcmVhY2hfcHRyKGNoYXIsIG5hbWUsIHN0YW5kYnlfc2xvdHMpCisJeworCQlpZiAo c3RyY21wKG5hbWUsIE5hbWVTdHIoTXlSZXBsaWNhdGlvblNsb3QtPmRhdGEubmFtZSkpID09IDAp CisJCXsKKwkJCUNvbmRpdGlvblZhcmlhYmxlQnJvYWRjYXN0KCZXYWxTbmRDdGwtPndhbF9jb25m aXJtX3Jjdl9jdik7CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKKy8qCisgKiBSZXR1cm5zIHRy dWUgaWYgbm90IGFsbCBzdGFuZGJ5cyBoYXZlIGNhdWdodCB1cCB0byB0aGUgZmx1c2hlZCBwb3Np dGlvbgorICogKGZsdXNoZWRfbHNuKSB3aGVuIHRoZSBjdXJyZW50IGFjcXVpcmVkIHNsb3QgaXMg YSBmYWlsb3ZlciBlbmFibGVkIGxvZ2ljYWwKKyAqIHNsb3QgYW5kIHdlIGFyZSBzdHJlYW1pbmc7 IG90aGVyd2lzZSwgcmV0dXJucyBmYWxzZS4KKyAqCisgKiBJZiByZXR1cm5pbmcgdHJ1ZSwgdGhl IGZ1bmN0aW9uIHNldHMgdGhlIGFwcHJvcHJpYXRlIHdhaXQgZXZlbnQgaW4KKyAqIHdhaXRfZXZl bnQ7IG90aGVyd2lzZSwgd2FpdF9ldmVudCBpcyBzZXQgdG8gMC4KKyAqLworc3RhdGljIGJvb2wK K05lZWRUb1dhaXRGb3JTdGFuZGJ5KFhMb2dSZWNQdHIgdGFyZ2V0X2xzbiwgWExvZ1JlY1B0ciBm bHVzaGVkX2xzbiwKKwkJCQkJIHVpbnQzMiAqd2FpdF9ldmVudCkKK3sKKwlpbnQJCQllbGV2ZWwg PSBnb3RfU1RPUFBJTkcgPyBFUlJPUiA6IFdBUk5JTkc7CisJYm9vbAkJZmFpbG92ZXJfc2xvdDsK KworCWZhaWxvdmVyX3Nsb3QgPSAocmVwbGljYXRpb25fYWN0aXZlICYmIE15UmVwbGljYXRpb25T bG90LT5kYXRhLmZhaWxvdmVyKTsKKworCS8qCisJICogTm90ZSB0aGF0IGFmdGVyIHJlY2Vpdmlu ZyB0aGUgc2h1dGRvd24gc2lnbmFsLCBhbiBFUlJPUiBpcyByZXBvcnRlZCBpZgorCSAqIGFueSBz bG90cyBhcmUgZHJvcHBlZCwgaW52YWxpZGF0ZWQsIG9yIGluYWN0aXZlLiBUaGlzIG1lYXN1cmUg aXMgdGFrZW4KKwkgKiB0byBwcmV2ZW50IHRoZSB3YWxzZW5kZXIgZnJvbSB3YWl0aW5nIGluZGVm aW5pdGVseS4KKwkgKi8KKwlpZiAoZmFpbG92ZXJfc2xvdCAmJiAhU3RhbmRieVNsb3RzSGF2ZUNh dWdodHVwKGZsdXNoZWRfbHNuLCBlbGV2ZWwpKQorCXsKKwkJKndhaXRfZXZlbnQgPSBXQUlUX0VW RU5UX1dBSVRfRk9SX1NUQU5EQllfQ09ORklSTUFUSU9OOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisK Kwkqd2FpdF9ldmVudCA9IDA7CisJcmV0dXJuIGZhbHNlOworfQorCisvKgorICogUmV0dXJucyB0 cnVlIGlmIHdlIG5lZWQgdG8gd2FpdCBmb3IgV0FMcyB0byBiZSBmbHVzaGVkIHRvIGRpc2ssIG9y IGlmIG5vdAorICogYWxsIHN0YW5kYnlzIGhhdmUgY2F1Z2h0IHVwIHRvIHRoZSBmbHVzaGVkIHBv c2l0aW9uIChmbHVzaGVkX2xzbikgd2hlbiB0aGUKKyAqIGN1cnJlbnQgYWNxdWlyZWQgc2xvdCBp cyBhIGZhaWxvdmVyIGVuYWJsZWQgbG9naWNhbCBzbG90IGFuZCB3ZSBhcmUKKyAqIHN0cmVhbWlu Zzsgb3RoZXJ3aXNlLCByZXR1cm5zIGZhbHNlLgorICoKKyAqIElmIHJldHVybmluZyB0cnVlLCB0 aGUgZnVuY3Rpb24gc2V0cyB0aGUgYXBwcm9wcmlhdGUgd2FpdCBldmVudCBpbgorICogd2FpdF9l dmVudDsgb3RoZXJ3aXNlLCB3YWl0X2V2ZW50IGlzIHNldCB0byAwLgorICovCitzdGF0aWMgYm9v bAorTmVlZFRvV2FpdEZvcldhbChYTG9nUmVjUHRyIHRhcmdldF9sc24sIFhMb2dSZWNQdHIgZmx1 c2hlZF9sc24sCisJCQkJIHVpbnQzMiAqd2FpdF9ldmVudCkKK3sKKwkvKiBDaGVjayBpZiB3ZSBu ZWVkIHRvIHdhaXQgZm9yIFdBTHMgdG8gYmUgZmx1c2hlZCB0byBkaXNrLiAqLworCWlmICh0YXJn ZXRfbHNuID4gZmx1c2hlZF9sc24pCisJeworCQkqd2FpdF9ldmVudCA9IFdBSVRfRVZFTlRfV0FM X1NFTkRFUl9XQUlUX0ZPUl9XQUw7CisJCXJldHVybiB0cnVlOworCX0KKworCS8qCisJICogQ2hl Y2sgaWYgdGhlIHN0YW5kYnkgc2xvdHMgaGF2ZSBjYXVnaHQgdXAgdG8gdGhlIGZsdXNoZWQgcG9z aXRpb24uIEl0CisJICogaXMgZ29vZCB0byB3YWl0IHVwIHRvIGZsdXNoZWQgcG9zaXRpb24gYW5k IHRoZW4gbGV0IGl0IHNlbmQgdGhlIGNoYW5nZXMKKwkgKiB0byBsb2dpY2FsIHN1YnNjcmliZXJz IG9uZSBieSBvbmUgd2hpY2ggYXJlIGFscmVhZHkgY292ZXJlZCBpbiBmbHVzaGVkCisJICogcG9z aXRpb24gd2l0aG91dCBuZWVkaW5nIHRvIHdhaXQgb24gZXZlcnkgY2hhbmdlIGZvciBzdGFuZGJ5 CisJICogY29uZmlybWF0aW9uLgorCSAqLworCWlmIChOZWVkVG9XYWl0Rm9yU3RhbmRieSh0YXJn ZXRfbHNuLCBmbHVzaGVkX2xzbiwgd2FpdF9ldmVudCkpCisJCXJldHVybiB0cnVlOworCisJKndh aXRfZXZlbnQgPSAwOworCXJldHVybiBmYWxzZTsKK30KKwogLyoKICAqIFdhaXQgdGlsbCBXQUwg PCBsb2MgaXMgZmx1c2hlZCB0byBkaXNrIHNvIGl0IGNhbiBiZSBzYWZlbHkgc2VudCB0byBjbGll bnQuCiAgKgotICogUmV0dXJucyBlbmQgTFNOIG9mIGZsdXNoZWQgV0FMLiAgTm9ybWFsbHkgdGhp cyB3aWxsIGJlID49IGxvYywgYnV0Ci0gKiBpZiB3ZSBkZXRlY3QgYSBzaHV0ZG93biByZXF1ZXN0 IChlaXRoZXIgZnJvbSBwb3N0bWFzdGVyIG9yIGNsaWVudCkKLSAqIHdlIHdpbGwgcmV0dXJuIGVh cmx5LCBzbyBjYWxsZXIgbXVzdCBhbHdheXMgY2hlY2suCisgKiBJZiB0aGUgd2Fsc2VuZGVyIGhv bGRzIGEgbG9naWNhbCBzbG90IHRoYXQgaGFzIGVuYWJsZWQgZmFpbG92ZXIsIHdlIGFsc28KKyAq IHdhaXQgZm9yIGFsbCB0aGUgc3BlY2lmaWVkIHN0cmVhbWluZyByZXBsaWNhdGlvbiBzdGFuZGJ5 IHNlcnZlcnMgdG8KKyAqIGNvbmZpcm0gcmVjZWlwdCBvZiBXQUwgdXAgdG8gUmVjZW50Rmx1c2hQ dHIuCisgKgorICogUmV0dXJucyBlbmQgTFNOIG9mIGZsdXNoZWQgV0FMLiAgTm9ybWFsbHkgdGhp cyB3aWxsIGJlID49IGxvYywgYnV0IGlmIHdlCisgKiBkZXRlY3QgYSBzaHV0ZG93biByZXF1ZXN0 IChlaXRoZXIgZnJvbSBwb3N0bWFzdGVyIG9yIGNsaWVudCkgd2Ugd2lsbCByZXR1cm4KKyAqIGVh cmx5LCBzbyBjYWxsZXIgbXVzdCBhbHdheXMgY2hlY2suCiAgKi8KIHN0YXRpYyBYTG9nUmVjUHRy CiBXYWxTbmRXYWl0Rm9yV2FsKFhMb2dSZWNQdHIgbG9jKQogewogCWludAkJCXdha2VFdmVudHM7 CisJdWludDMyCQl3YWl0X2V2ZW50ID0gMDsKIAlzdGF0aWMgWExvZ1JlY1B0ciBSZWNlbnRGbHVz aFB0ciA9IEludmFsaWRYTG9nUmVjUHRyOwogCiAJLyoKIAkgKiBGYXN0IHBhdGggdG8gYXZvaWQg YWNxdWlyaW5nIHRoZSBzcGlubG9jayBpbiBjYXNlIHdlIGFscmVhZHkga25vdyB3ZQotCSAqIGhh dmUgZW5vdWdoIFdBTCBhdmFpbGFibGUuIFRoaXMgaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5n IGlmIHdlJ3JlCi0JICogZmFyIGJlaGluZC4KKwkgKiBoYXZlIGVub3VnaCBXQUwgYXZhaWxhYmxl IGFuZCBhbGwgdGhlIHN0YW5kYnkgc2VydmVycyBoYXZlIGNvbmZpcm1lZAorCSAqIHJlY2VpcHQg b2YgV0FMIHVwIHRvIFJlY2VudEZsdXNoUHRyLiBUaGlzIGlzIHBhcnRpY3VsYXJseSBpbnRlcmVz dGluZworCSAqIGlmIHdlJ3JlIGZhciBiZWhpbmQuCiAJICovCi0JaWYgKFJlY2VudEZsdXNoUHRy ICE9IEludmFsaWRYTG9nUmVjUHRyICYmCi0JCWxvYyA8PSBSZWNlbnRGbHVzaFB0cikKKwlpZiAo IVhMb2dSZWNQdHJJc0ludmFsaWQoUmVjZW50Rmx1c2hQdHIpICYmCisJCSFOZWVkVG9XYWl0Rm9y V2FsKGxvYywgUmVjZW50Rmx1c2hQdHIsICZ3YWl0X2V2ZW50KSkKIAkJcmV0dXJuIFJlY2VudEZs dXNoUHRyOwogCiAJLyogR2V0IGEgbW9yZSByZWNlbnQgZmx1c2ggcG9pbnRlci4gKi8KQEAgLTE3 NTgsNiArMTg1Myw3IEBAIFdhbFNuZFdhaXRGb3JXYWwoWExvZ1JlY1B0ciBsb2MpCiAKIAlmb3Ig KDs7KQogCXsKKwkJYm9vbAkJd2FpdF9mb3Jfc3RhbmRieV9hdF9zdG9wID0gZmFsc2U7CiAJCWxv bmcJCXNsZWVwdGltZTsKIAogCQkvKiBDbGVhciBhbnkgYWxyZWFkeS1wZW5kaW5nIHdha2V1cHMg Ki8KQEAgLTE3ODQsMjEgKzE4ODAsMzggQEAgV2FsU25kV2FpdEZvcldhbChYTG9nUmVjUHRyIGxv YykKIAkJaWYgKGdvdF9TVE9QUElORykKIAkJCVhMb2dCYWNrZ3JvdW5kRmx1c2goKTsKIAotCQkv KiBVcGRhdGUgb3VyIGlkZWEgb2YgdGhlIGN1cnJlbnRseSBmbHVzaGVkIHBvc2l0aW9uLiAqLwot CQlpZiAoIVJlY292ZXJ5SW5Qcm9ncmVzcygpKQotCQkJUmVjZW50Rmx1c2hQdHIgPSBHZXRGbHVz aFJlY1B0cihOVUxMKTsKLQkJZWxzZQotCQkJUmVjZW50Rmx1c2hQdHIgPSBHZXRYTG9nUmVwbGF5 UmVjUHRyKE5VTEwpOworCQkvKgorCQkgKiBXaXRoaW4gdGhlIGxvb3AsIHdlIHdhaXQgZm9yIHRo ZSBuZWNlc3NhcnkgV0FMcyB0byBiZSBmbHVzaGVkIHRvCisJCSAqIGRpc2sgZmlyc3QsIGZvbGxv d2VkIGJ5IHdhaXRpbmcgZm9yIHN0YW5kYnlzIHRvIGNhdGNoIHVwIGlmIHRoZXJlCisJCSAqIGFy ZSBlbm91Z2h0IFdBTHMgb3IgdXBvbiByZWNlaXZpbmcgdGhlIHNodXRkb3duIHNpZ25hbC4gVG8g YXZvaWQKKwkJICogdGhlIHNjZW5hcmlvIHdoZXJlIHN0YW5kYnlzIG5lZWQgdG8gY2F0Y2ggdXAg dG8gYSBuZXdlciBXQUwKKwkJICogbG9jYXRpb24gaW4gZWFjaCBpdGVyYXRpb24sIHdlIHVwZGF0 ZSBvdXIgaWRlYSBvZiB0aGUgY3VycmVudGx5CisJCSAqIGZsdXNoZWQgcG9zaXRpb24gb25seSBp ZiB3ZSBhcmUgbm90IHdhaXRpbmcgZm9yIHN0YW5kYnlzIHRvIGNhdGNoCisJCSAqIHVwLgorCQkg Ki8KKwkJaWYgKHdhaXRfZXZlbnQgIT0gV0FJVF9FVkVOVF9XQUlUX0ZPUl9TVEFOREJZX0NPTkZJ Uk1BVElPTikKKwkJeworCQkJaWYgKCFSZWNvdmVyeUluUHJvZ3Jlc3MoKSkKKwkJCQlSZWNlbnRG bHVzaFB0ciA9IEdldEZsdXNoUmVjUHRyKE5VTEwpOworCQkJZWxzZQorCQkJCVJlY2VudEZsdXNo UHRyID0gR2V0WExvZ1JlcGxheVJlY1B0cihOVUxMKTsKKwkJfQogCiAJCS8qCi0JCSAqIElmIHBv c3RtYXN0ZXIgYXNrZWQgdXMgdG8gc3RvcCwgZG9uJ3Qgd2FpdCBhbnltb3JlLgorCQkgKiBJZiBw b3N0bWFzdGVyIGFza2VkIHVzIHRvIHN0b3AgYW5kIHRoZSBzdGFuZGJ5IHNsb3RzIGhhdmUgY2F1 Z2h0IHVwCisJCSAqIHRvIHRoZSBmbHVzaGVkIHBvc2l0aW9uLCBkb24ndCB3YWl0IGFueW1vcmUu CiAJCSAqCiAJCSAqIEl0J3MgaW1wb3J0YW50IHRvIGRvIHRoaXMgY2hlY2sgYWZ0ZXIgdGhlIHJl Y29tcHV0YXRpb24gb2YKIAkJICogUmVjZW50Rmx1c2hQdHIsIHNvIHdlIGNhbiBzZW5kIGFsbCBy ZW1haW5pbmcgZGF0YSBiZWZvcmUgc2h1dHRpbmcKIAkJICogZG93bi4KIAkJICovCiAJCWlmIChn b3RfU1RPUFBJTkcpCi0JCQlicmVhazsKKwkJeworCQkJaWYgKE5lZWRUb1dhaXRGb3JTdGFuZGJ5 KGxvYywgUmVjZW50Rmx1c2hQdHIsICZ3YWl0X2V2ZW50KSkKKwkJCQl3YWl0X2Zvcl9zdGFuZGJ5 X2F0X3N0b3AgPSB0cnVlOworCQkJZWxzZQorCQkJCWJyZWFrOworCQl9CiAKIAkJLyoKIAkJICog V2Ugb25seSBzZW5kIHJlZ3VsYXIgbWVzc2FnZXMgdG8gdGhlIGNsaWVudCBmb3IgZnVsbCBkZWNv ZGVkCkBAIC0xODEzLDExICsxOTI2LDE4IEBAIFdhbFNuZFdhaXRGb3JXYWwoWExvZ1JlY1B0ciBs b2MpCiAJCQkhd2FpdGluZ19mb3JfcGluZ19yZXNwb25zZSkKIAkJCVdhbFNuZEtlZXBhbGl2ZShm YWxzZSwgSW52YWxpZFhMb2dSZWNQdHIpOwogCi0JCS8qIGNoZWNrIHdoZXRoZXIgd2UncmUgZG9u ZSAqLwotCQlpZiAobG9jIDw9IFJlY2VudEZsdXNoUHRyKQorCQkvKgorCQkgKiBFeGl0IHRoZSBs b29wIGlmIGFscmVhZHkgY2F1Z2h0IHVwIGFuZCBkb2Vzbid0IG5lZWQgdG8gd2FpdCBmb3IKKwkJ ICogc3RhbmRieSBzbG90cy4KKwkJICovCisJCWlmICghd2FpdF9mb3Jfc3RhbmRieV9hdF9zdG9w ICYmCisJCQkhTmVlZFRvV2FpdEZvcldhbChsb2MsIFJlY2VudEZsdXNoUHRyLCAmd2FpdF9ldmVu dCkpCiAJCQlicmVhazsKIAotCQkvKiBXYWl0aW5nIGZvciBuZXcgV0FMLiBTaW5jZSB3ZSBuZWVk IHRvIHdhaXQsIHdlJ3JlIG5vdyBjYXVnaHQgdXAuICovCisJCS8qCisJCSAqIFdhaXRpbmcgZm9y IG5ldyBXQUwgb3Igd2FpdGluZyBmb3Igc3RhbmRieXMgdG8gY2F0Y2ggdXAuIFNpbmNlIHdlCisJ CSAqIG5lZWQgdG8gd2FpdCwgd2UncmUgbm93IGNhdWdodCB1cC4KKwkJICovCiAJCVdhbFNuZENh dWdodFVwID0gdHJ1ZTsKIAogCQkvKgpAQCAtMTg1NSw3ICsxOTc1LDkgQEAgV2FsU25kV2FpdEZv cldhbChYTG9nUmVjUHRyIGxvYykKIAkJaWYgKHBxX2lzX3NlbmRfcGVuZGluZygpKQogCQkJd2Fr ZUV2ZW50cyB8PSBXTF9TT0NLRVRfV1JJVEVBQkxFOwogCi0JCVdhbFNuZFdhaXQod2FrZUV2ZW50 cywgc2xlZXB0aW1lLCBXQUlUX0VWRU5UX1dBTF9TRU5ERVJfV0FJVF9GT1JfV0FMKTsKKwkJQXNz ZXJ0KHdhaXRfZXZlbnQgIT0gMCk7CisKKwkJV2FsU25kV2FpdCh3YWtlRXZlbnRzLCBzbGVlcHRp bWUsIHdhaXRfZXZlbnQpOwogCX0KIAogCS8qIHJlYWN0aXZhdGUgbGF0Y2ggc28gV2FsU25kTG9v cCBrbm93cyB0byBjb250aW51ZSAqLwpAQCAtMjI2NSw2ICsyMzg3LDcgQEAgUGh5c2ljYWxDb25m aXJtUmVjZWl2ZWRMb2NhdGlvbihYTG9nUmVjUHRyIGxzbikKIAl7CiAJCVJlcGxpY2F0aW9uU2xv dE1hcmtEaXJ0eSgpOwogCQlSZXBsaWNhdGlvblNsb3RzQ29tcHV0ZVJlcXVpcmVkTFNOKCk7CisJ CVBoeXNpY2FsV2FrZXVwTG9naWNhbFdhbFNuZCgpOwogCX0KIAogCS8qCkBAIC0zNTM4LDYgKzM2 NjEsNyBAQCBXYWxTbmRTaG1lbUluaXQodm9pZCkKIAogCQlDb25kaXRpb25WYXJpYWJsZUluaXQo JldhbFNuZEN0bC0+d2FsX2ZsdXNoX2N2KTsKIAkJQ29uZGl0aW9uVmFyaWFibGVJbml0KCZXYWxT bmRDdGwtPndhbF9yZXBsYXlfY3YpOworCQlDb25kaXRpb25WYXJpYWJsZUluaXQoJldhbFNuZEN0 bC0+d2FsX2NvbmZpcm1fcmN2X2N2KTsKIAl9CiB9CiAKQEAgLTM2MDcsOCArMzczMSwxNCBAQCBX YWxTbmRXYWl0KHVpbnQzMiBzb2NrZXRfZXZlbnRzLCBsb25nIHRpbWVvdXQsIHVpbnQzMiB3YWl0 X2V2ZW50KQogCSAqCiAJICogQW5kLCB3ZSB1c2Ugc2VwYXJhdGUgc2hhcmVkIG1lbW9yeSBDVnMg Zm9yIHBoeXNpY2FsIGFuZCBsb2dpY2FsCiAJICogd2Fsc2VuZGVycyBmb3Igc2VsZWN0aXZlIHdh a2UgdXBzLCBzZWUgV2FsU25kV2FrZXVwKCkgZm9yIG1vcmUgZGV0YWlscy4KKwkgKgorCSAqIElm IHRoZSB3YWl0IGV2ZW50IGlzIFdBSVRfRk9SX1NUQU5EQllfQ09ORklSTUFUSU9OLCB3YWl0IG9u IGFub3RoZXIgQ1YKKwkgKiB1bnRpbCBhd2FrZW5lZCBieSBwaHlzaWNhbCB3YWxzZW5kZXJzIGFm dGVyIHRoZSB3YWxyZWNlaXZlciBjb25maXJtcworCSAqIHRoZSByZWNlaXB0IG9mIHRoZSBMU04u CiAJICovCi0JaWYgKE15V2FsU25kLT5raW5kID09IFJFUExJQ0FUSU9OX0tJTkRfUEhZU0lDQUwp CisJaWYgKHdhaXRfZXZlbnQgPT0gV0FJVF9FVkVOVF9XQUlUX0ZPUl9TVEFOREJZX0NPTkZJUk1B VElPTikKKwkJQ29uZGl0aW9uVmFyaWFibGVQcmVwYXJlVG9TbGVlcCgmV2FsU25kQ3RsLT53YWxf Y29uZmlybV9yY3ZfY3YpOworCWVsc2UgaWYgKE15V2FsU25kLT5raW5kID09IFJFUExJQ0FUSU9O X0tJTkRfUEhZU0lDQUwpCiAJCUNvbmRpdGlvblZhcmlhYmxlUHJlcGFyZVRvU2xlZXAoJldhbFNu ZEN0bC0+d2FsX2ZsdXNoX2N2KTsKIAllbHNlIGlmIChNeVdhbFNuZC0+a2luZCA9PSBSRVBMSUNB VElPTl9LSU5EX0xPR0lDQUwpCiAJCUNvbmRpdGlvblZhcmlhYmxlUHJlcGFyZVRvU2xlZXAoJldh bFNuZEN0bC0+d2FsX3JlcGxheV9jdik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4dCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3dhaXRfZXZlbnRfbmFtZXMudHh0CmluZGV4IGVjMmYzMWY4MmEuLmMwOGUwMGQxZDYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMudHh0Cisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMudHh0CkBAIC03 OCw2ICs3OCw3IEBAIEdTU19PUEVOX1NFUlZFUgkiV2FpdGluZyB0byByZWFkIGRhdGEgZnJvbSB0 aGUgY2xpZW50IHdoaWxlIGVzdGFibGlzaGluZyBhIEdTU0FQCiBMSUJQUVdBTFJFQ0VJVkVSX0NP Tk5FQ1QJIldhaXRpbmcgaW4gV0FMIHJlY2VpdmVyIHRvIGVzdGFibGlzaCBjb25uZWN0aW9uIHRv IHJlbW90ZSBzZXJ2ZXIuIgogTElCUFFXQUxSRUNFSVZFUl9SRUNFSVZFCSJXYWl0aW5nIGluIFdB TCByZWNlaXZlciB0byByZWNlaXZlIGRhdGEgZnJvbSByZW1vdGUgc2VydmVyLiIKIFNTTF9PUEVO X1NFUlZFUgkiV2FpdGluZyBmb3IgU1NMIHdoaWxlIGF0dGVtcHRpbmcgY29ubmVjdGlvbi4iCitX QUlUX0ZPUl9TVEFOREJZX0NPTkZJUk1BVElPTgkiV2FpdGluZyBmb3IgV0FMIHRvIGJlIHJlY2Vp dmVkIGFuZCBmbHVzaGVkIGJ5IHRoZSBwaHlzaWNhbCBzdGFuZGJ5LiIKIFdBTF9TRU5ERVJfV0FJ VF9GT1JfV0FMCSJXYWl0aW5nIGZvciBXQUwgdG8gYmUgZmx1c2hlZCBpbiBXQUwgc2VuZGVyIHBy b2Nlc3MuIgogV0FMX1NFTkRFUl9XUklURV9EQVRBCSJXYWl0aW5nIGZvciBhbnkgYWN0aXZpdHkg d2hlbiBwcm9jZXNzaW5nIHJlcGxpZXMgZnJvbSBXQUwgcmVjZWl2ZXIgaW4gV0FMIHNlbmRlciBw cm9jZXNzLiIKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVz LmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRleCA5M2RlZDMxZWQ5 Li42NzQxYjJhMTBjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJs ZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpAQCAtNDY3MCw2 ICs0NjcwLDIwIEBAIHN0cnVjdCBjb25maWdfc3RyaW5nIENvbmZpZ3VyZU5hbWVzU3RyaW5nW10g PQogCQljaGVja19kZWJ1Z19pb19kaXJlY3QsIGFzc2lnbl9kZWJ1Z19pb19kaXJlY3QsIE5VTEwK IAl9LAogCisJeworCQl7InN0YW5kYnlfc2xvdF9uYW1lcyIsIFBHQ19TSUdIVVAsIFJFUExJQ0FU SU9OX1BSSU1BUlksCisJCQlnZXR0ZXh0X25vb3AoIkxpc3RzIHN0cmVhbWluZyByZXBsaWNhdGlv biBzdGFuZGJ5IHNlcnZlciBzbG90ICIKKwkJCQkJCSAibmFtZXMgdGhhdCBsb2dpY2FsIFdBTCBz ZW5kZXIgcHJvY2Vzc2VzIHdpbGwgd2FpdCBmb3IuIiksCisJCQlnZXR0ZXh0X25vb3AoIkxvZ2lj YWwgV0FMIHNlbmRlciBwcm9jZXNzZXMgd2lsbCBzZW5kIGRlY29kZWQgIgorCQkJCQkJICJjaGFu Z2VzIHRvIHBsdWdpbnMgb25seSBhZnRlciB0aGUgc3BlY2lmaWVkICAiCisJCQkJCQkgInJlcGxp Y2F0aW9uIHNsb3RzIGNvbmZpcm0gcmVjZWl2aW5nIFdBTC4iKSwKKwkJCUdVQ19MSVNUX0lOUFVU CisJCX0sCisJCSZzdGFuZGJ5X3Nsb3RfbmFtZXMsCisJCSIiLAorCQljaGVja19zdGFuZGJ5X3Ns b3RfbmFtZXMsIGFzc2lnbl9zdGFuZGJ5X3Nsb3RfbmFtZXMsIE5VTEwKKwl9LAorCiAJLyogRW5k LW9mLWxpc3QgbWFya2VyICovCiAJewogCQl7TlVMTCwgMCwgMCwgTlVMTCwgTlVMTH0sIE5VTEws IE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdy ZXNxbC5jb25mLnNhbXBsZQppbmRleCBlZGNjMDI4MmIyLi4yMjQ0ZWU1MmY3IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC0zNDMsNiArMzQz LDggQEAKIAkJCQkjIG1ldGhvZCB0byBjaG9vc2Ugc3luYyBzdGFuZGJ5cywgbnVtYmVyIG9mIHN5 bmMgc3RhbmRieXMsCiAJCQkJIyBhbmQgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgYXBwbGljYXRp b25fbmFtZQogCQkJCSMgZnJvbSBzdGFuZGJ5KHMpOyAnKicgPSBhbGwKKyNzdGFuZGJ5X3Nsb3Rf bmFtZXMgPSAnJyAjIHN0cmVhbWluZyByZXBsaWNhdGlvbiBzdGFuZGJ5IHNlcnZlciBzbG90IG5h bWVzIHRoYXQKKwkJCQkjIGxvZ2ljYWwgd2Fsc2VuZGVyIHByb2Nlc3NlcyB3aWxsIHdhaXQgZm9y CiAKICMgLSBTdGFuZGJ5IFNlcnZlcnMgLQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi9zbG90LmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmgKaW5kZXggYWNi ZjU2NzE1MC4uNjFhNmI5Nzk1MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v c2xvdC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaApAQCAtMjI2LDYgKzIy Niw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBSZXBsaWNhdGlvblNsb3QgKk15UmVwbGljYXRpb25T bG90OwogCiAvKiBHVUNzICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50IG1heF9yZXBsaWNhdGlv bl9zbG90czsKK2V4dGVybiBQR0RMTElNUE9SVCBjaGFyICpzdGFuZGJ5X3Nsb3RfbmFtZXM7CiAK IC8qIHNobWVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAqLwogZXh0ZXJuIFNpemUgUmVwbGlj YXRpb25TbG90c1NobWVtU2l6ZSh2b2lkKTsKQEAgLTI3NCw0ICsyNzUsOCBAQCBleHRlcm4gdm9p ZCBDaGVja1Nsb3RQZXJtaXNzaW9ucyh2b2lkKTsKIGV4dGVybiBSZXBsaWNhdGlvblNsb3RJbnZh bGlkYXRpb25DYXVzZQogCQkJR2V0U2xvdEludmFsaWRhdGlvbkNhdXNlKGNvbnN0IGNoYXIgKmNv bmZsaWN0X3JlYXNvbik7CiAKK2V4dGVybiBMaXN0ICpHZXRTdGFuZGJ5U2xvdExpc3Qodm9pZCk7 CitleHRlcm4gYm9vbCBTdGFuZGJ5U2xvdHNIYXZlQ2F1Z2h0dXAoWExvZ1JlY1B0ciB3YWl0X2Zv cl9sc24sIGludCBlbGV2ZWwpOworZXh0ZXJuIHZvaWQgV2FpdEZvclN0YW5kYnlDb25maXJtYXRp b24oWExvZ1JlY1B0ciB3YWl0X2Zvcl9sc24pOworCiAjZW5kaWYJCQkJCQkJLyogU0xPVF9IICov CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93YWxzZW5kZXIuaCBiL3NyYy9p bmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5oCmluZGV4IDBjMzk5NmU5MjYuLmYyZDgyOTdm MDEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5oCisrKyBi L3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlci5oCkBAIC0zOSw2ICszOSw3IEBAIGV4 dGVybiB2b2lkIEluaXRXYWxTZW5kZXIodm9pZCk7CiBleHRlcm4gYm9vbCBleGVjX3JlcGxpY2F0 aW9uX2NvbW1hbmQoY29uc3QgY2hhciAqY21kX3N0cmluZyk7CiBleHRlcm4gdm9pZCBXYWxTbmRF cnJvckNsZWFudXAodm9pZCk7CiBleHRlcm4gdm9pZCBXYWxTbmRSZXNvdXJjZUNsZWFudXAoYm9v bCBpc0NvbW1pdCk7CitleHRlcm4gdm9pZCBQaHlzaWNhbFdha2V1cExvZ2ljYWxXYWxTbmQodm9p ZCk7CiBleHRlcm4gWExvZ1JlY1B0ciBHZXRTdGFuZGJ5Rmx1c2hSZWNQdHIoVGltZUxpbmVJRCAq dGxpKTsKIGV4dGVybiB2b2lkIFdhbFNuZFNpZ25hbHModm9pZCk7CiBleHRlcm4gU2l6ZSBXYWxT bmRTaG1lbVNpemUodm9pZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93 YWxzZW5kZXJfcHJpdmF0ZS5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd2Fsc2VuZGVyX3By aXZhdGUuaAppbmRleCAzMTEzZTllYTQ3Li4zYzEzNGM4ZWRmIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi93YWxzZW5kZXJfcHJpdmF0ZS5oCisrKyBiL3NyYy9pbmNsdWRlL3Jl cGxpY2F0aW9uL3dhbHNlbmRlcl9wcml2YXRlLmgKQEAgLTExMyw2ICsxMTMsMTMgQEAgdHlwZWRl ZiBzdHJ1Y3QKIAlDb25kaXRpb25WYXJpYWJsZSB3YWxfZmx1c2hfY3Y7CiAJQ29uZGl0aW9uVmFy aWFibGUgd2FsX3JlcGxheV9jdjsKIAorCS8qCisJICogVXNlZCBieSBwaHlzaWNhbCB3YWxzZW5k ZXJzIGhvbGRpbmcgc2xvdHMgc3BlY2lmaWVkIGluCisJICogc3RhbmRieV9zbG90X25hbWVzIHRv IHdha2UgdXAgbG9naWNhbCB3YWxzZW5kZXJzIGhvbGRpbmcgZmFpbG92ZXIKKwkgKiBlbmFibGVk IHNsb3RzIHdoZW4gYSB3YWxyZWNlaXZlciBjb25maXJtcyB0aGUgcmVjZWlwdCBvZiBMU04uCisJ ICovCisJQ29uZGl0aW9uVmFyaWFibGUgd2FsX2NvbmZpcm1fcmN2X2N2OworCiAJV2FsU25kCQl3 YWxzbmRzW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07CiB9IFdhbFNuZEN0bERhdGE7CiAKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2d1Y19ob29rcy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMv Z3VjX2hvb2tzLmgKaW5kZXggYzhhN2FhOWExMS4uZDY0ZGM1ZmNkYiAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjX2hv b2tzLmgKQEAgLTE3NCw1ICsxNzQsOCBAQCBleHRlcm4gYm9vbCBjaGVja193YWxfY29uc2lzdGVu Y3lfY2hlY2tpbmcoY2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLAogZXh0ZXJuIHZvaWQgYXNz aWduX3dhbF9jb25zaXN0ZW5jeV9jaGVja2luZyhjb25zdCBjaGFyICpuZXd2YWwsIHZvaWQgKmV4 dHJhKTsKIGV4dGVybiBib29sIGNoZWNrX3dhbF9zZWdtZW50X3NpemUoaW50ICpuZXd2YWwsIHZv aWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSk7CiBleHRlcm4gdm9pZCBhc3NpZ25fd2FsX3N5 bmNfbWV0aG9kKGludCBuZXdfd2FsX3N5bmNfbWV0aG9kLCB2b2lkICpleHRyYSk7CitleHRlcm4g Ym9vbCBjaGVja19zdGFuZGJ5X3Nsb3RfbmFtZXMoY2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJh LAorCQkJCQkJCQkJIEd1Y1NvdXJjZSBzb3VyY2UpOworZXh0ZXJuIHZvaWQgYXNzaWduX3N0YW5k Ynlfc2xvdF9uYW1lcyhjb25zdCBjaGFyICpuZXd2YWwsIHZvaWQgKmV4dHJhKTsKIAogI2VuZGlm CQkJCQkJCS8qIEdVQ19IT09LU19IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90 LzAwNl9sb2dpY2FsX2RlY29kaW5nLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMDZfbG9naWNh bF9kZWNvZGluZy5wbAppbmRleCA1YzdiNGNhNWUzLi5iOTVkOTVjMDZmIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWNvdmVyeS90LzAwNl9sb2dpY2FsX2RlY29kaW5nLnBsCisrKyBiL3NyYy90ZXN0 L3JlY292ZXJ5L3QvMDA2X2xvZ2ljYWxfZGVjb2RpbmcucGwKQEAgLTE3Miw5ICsxNzIsMTAgQEAg aXMoJG5vZGVfcHJpbWFyeS0+c2xvdCgnb3RoZXJkYl9zbG90JyktPnsnc2xvdF9uYW1lJ30sCiAJ dW5kZWYsICdsb2dpY2FsIHNsb3Qgd2FzIGFjdHVhbGx5IGRyb3BwZWQgd2l0aCBEQicpOwogCiAj IFRlc3QgbG9naWNhbCBzbG90IGFkdmFuY2luZyBhbmQgaXRzIGR1cmFiaWxpdHkuCisjIFBhc3Np bmcgZmFpbG92ZXI9dHJ1ZSAobGFzdCBhcmcpIHNob3VsZCBub3QgaGF2ZSBhbnkgaW1wYWN0IG9u IGFkdmFuY2luZy4KIG15ICRsb2dpY2FsX3Nsb3QgPSAnbG9naWNhbF9zbG90JzsKICRub2RlX3By aW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJTRUxFQ1QgcGdfY3JlYXRlX2xvZ2ljYWxf cmVwbGljYXRpb25fc2xvdCgnJGxvZ2ljYWxfc2xvdCcsICd0ZXN0X2RlY29kaW5nJywgZmFsc2Up OyIKKwkiU0VMRUNUIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJyRsb2dpY2Fs X3Nsb3QnLCAndGVzdF9kZWNvZGluZycsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IgogKTsKICRub2Rl X3ByaW1hcnktPnBzcWwoCiAJJ3Bvc3RncmVzJywgIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wNDBfc3RhbmRieV9mYWlsb3Zlcl9zbG90c19zeW5jLnBsIGIvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wNDBfc3RhbmRieV9mYWlsb3Zlcl9zbG90c19zeW5jLnBsCmluZGV4IDAyMWM1OGY2 MjEuLjRhYmVkN2MzMzUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDQwX3N0YW5k YnlfZmFpbG92ZXJfc2xvdHNfc3luYy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzA0MF9z dGFuZGJ5X2ZhaWxvdmVyX3Nsb3RzX3N5bmMucGwKQEAgLTUwNCwxMSArNTA0LDIzMCBAQCBvaygg JHN0YW5kYnkxLT5wb2xsX3F1ZXJ5X3VudGlsKAogCQkiU0VMRUNUICckcHJpbWFyeV9yZXN0YXJ0 X2xzbicgPSByZXN0YXJ0X2xzbiBBTkQgJyRwcmltYXJ5X2ZsdXNoX2xzbicgPSBjb25maXJtZWRf Zmx1c2hfbHNuIGZyb20gcGdfcmVwbGljYXRpb25fc2xvdHMgV0hFUkUgc2xvdF9uYW1lID0gJ2xz dWIxX3Nsb3QnIEFORCBzeW5jZWQgQU5EIE5PVCB0ZW1wb3Jhcnk7IiksCiAJJ3Jlc3RhcnRfbHNu IGFuZCBjb25maXJtZWRfZmx1c2hfbHNuIG9mIHNsb3QgbHN1YjFfc2xvdCBzeW5jZWQgdG8gc3Rh bmRieScpOwogCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIyBUZXN0IHRoYXQgbG9naWNhbCBmYWlsb3ZlciByZXBsaWNhdGlvbiBzbG90cyB3YWl0 IGZvciB0aGUgc3BlY2lmaWVkCisjIHBoeXNpY2FsIHJlcGxpY2F0aW9uIHNsb3RzIHRvIHJlY2Vp dmUgdGhlIGNoYW5nZXMgZmlyc3QuIEl0IHVzZXMgdGhlCisjIGZvbGxvd2luZyBzZXQgdXA6Cisj CisjCQkJCShwaHlzaWNhbCBzdGFuZGJ5cykKKyMJCQkJfCAtLS0tPiBzdGFuZGJ5MSAocHJpbWFy eV9zbG90X25hbWUgPSBzYjFfc2xvdCkKKyMJCQkJfCAtLS0tPiBzdGFuZGJ5MiAocHJpbWFyeV9z bG90X25hbWUgPSBzYjJfc2xvdCkKKyMgcHJpbWFyeSAtLS0tLQl8CisjCQkJCShsb2dpY2FsIHJl cGxpY2F0aW9uKQorIwkJCQl8IC0tLS0+IHN1YnNjcmliZXIxIChmYWlsb3ZlciA9IHRydWUsIHNs b3RfbmFtZSA9IGxzdWIxX3Nsb3QpCisjCQkJCXwgLS0tLT4gc3Vic2NyaWJlcjIgKGZhaWxvdmVy ID0gZmFsc2UsIHNsb3RfbmFtZSA9IGxzdWIyX3Nsb3QpCisjCisjIHN0YW5kYnlfc2xvdF9uYW1l cyA9ICdzYjFfc2xvdCcKKyMKKyMgVGhlIHNldHVwIGlzIGNvbmZpZ3VyZWQgaW4gc3VjaCBhIHdh eSB0aGF0IHRoZSBsb2dpY2FsIHNsb3Qgb2Ygc3Vic2NyaWJlcjEgaXMKKyMgZW5hYmxlZCBmb3Ig ZmFpbG92ZXIsIGFuZCB0aHVzIHRoZSBzdWJzY3JpYmVyMSB3aWxsIHdhaXQgZm9yIHRoZSBwaHlz aWNhbAorIyBzbG90IG9mIHN0YW5kYnkxKHNiMV9zbG90KSB0byBjYXRjaCB1cCBiZWZvcmUgcmVj ZWl2aW5nIHRoZSBkZWNvZGVkIGNoYW5nZXMuCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCiskYmFja3VwX25hbWUgPSAnYmFja3VwMyc7CisKKyRw cmltYXJ5LT5wc3FsKCdwb3N0Z3JlcycsCisJcXtTRUxFQ1QgcGdfY3JlYXRlX3BoeXNpY2FsX3Jl cGxpY2F0aW9uX3Nsb3QoJ3NiMl9zbG90Jyk7fSk7CisKKyRwcmltYXJ5LT5iYWNrdXAoJGJhY2t1 cF9uYW1lKTsKKworIyBDcmVhdGUgYW5vdGhlciBzdGFuZGJ5CitteSAkc3RhbmRieTIgPSBQb3N0 Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N0YW5kYnkyJyk7Ciskc3RhbmRieTItPmluaXRf ZnJvbV9iYWNrdXAoCisJJHByaW1hcnksICRiYWNrdXBfbmFtZSwKKwloYXNfc3RyZWFtaW5nID0+ IDEsCisJaGFzX3Jlc3RvcmluZyA9PiAxKTsKKyRzdGFuZGJ5Mi0+YXBwZW5kX2NvbmYoCisJJ3Bv c3RncmVzcWwuY29uZicsIHFxKAorcHJpbWFyeV9zbG90X25hbWUgPSAnc2IyX3Nsb3QnCispKTsK KyRzdGFuZGJ5Mi0+c3RhcnQ7CiskcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJHN0 YW5kYnkyKTsKKworIyBDb25maWd1cmUgcHJpbWFyeSB0byBkaXNhbGxvdyBhbnkgbG9naWNhbCBz bG90cyB0aGF0IGhhdmUgZW5hYmxlZCBmYWlsb3ZlcgorIyBmcm9tIGdldHRpbmcgYWhlYWQgb2Yg dGhlIHNwZWNpZmllZCBwaHlzaWNhbCByZXBsaWNhdGlvbiBzbG90IChzYjFfc2xvdCkuCiskcHJp bWFyeS0+YXBwZW5kX2NvbmYoCisJJ3Bvc3RncmVzcWwuY29uZicsIHFxKAorc3RhbmRieV9zbG90 X25hbWVzID0gJ3NiMV9zbG90JworKSk7CiskcHJpbWFyeS0+cmVsb2FkOworCisjIENyZWF0ZSBh bm90aGVyIHN1YnNjcmliZXIgbm9kZSB3aXRob3V0IGVuYWJsaW5nIGZhaWxvdmVyLCB3YWl0IGZv ciBzeW5jIHRvCisjIGNvbXBsZXRlCitteSAkc3Vic2NyaWJlcjIgPSBQb3N0Z3JlU1FMOjpUZXN0 OjpDbHVzdGVyLT5uZXcoJ3N1YnNjcmliZXIyJyk7Ciskc3Vic2NyaWJlcjItPmluaXQ7Ciskc3Vi c2NyaWJlcjItPnN0YXJ0OworJHN1YnNjcmliZXIyLT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywg cXFbCisJQ1JFQVRFIFRBQkxFIHRhYl9pbnQgKGEgaW50IFBSSU1BUlkgS0VZKTsKKwlDUkVBVEUg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfbXlzdWIyIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0 cicgUFVCTElDQVRJT04gcmVncmVzc19teXB1YiBXSVRIIChzbG90X25hbWUgPSBsc3ViMl9zbG90 KTsKK10pOworCiskc3Vic2NyaWJlcjItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jOworCisk c3Vic2NyaWJlcjEtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfbXlzdWIxIEVOQUJMRSIpOworCitteSAkb2Zmc2V0ID0gLXMgJHByaW1hcnktPmxvZ2Zp bGU7CisKKyMgU3RvcCB0aGUgc3RhbmRieSBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBw aHlzaWNhbCByZXBsaWNhdGlvbiBzbG90CisjIChzYjFfc2xvdCkgc28gdGhhdCB0aGUgbG9naWNh bCByZXBsaWNhdGlvbiBzbG90IChsc3ViMV9zbG90KSB3b24ndCByZWNlaXZlCisjIGNoYW5nZXMg dW50aWwgdGhlIHN0YW5kYnkgY29tZXMgdXAuCiskc3RhbmRieTEtPnN0b3A7CisKKyMgQ3JlYXRl IHNvbWUgZGF0YSBvbiB0aGUgcHJpbWFyeQorbXkgJHByaW1hcnlfcm93X2NvdW50ID0gMjA7Cisk cHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIHRhYl9pbnQgU0VM RUNUIGdlbmVyYXRlX3NlcmllcygxMSwgJHByaW1hcnlfcm93X2NvdW50KTsiKTsKKworIyBXYWl0 IHVudGlsIHRoZSBzdGFuZGJ5MiB0aGF0J3Mgc3RpbGwgcnVubmluZyBnZXRzIHRoZSBkYXRhIGZy b20gdGhlIHByaW1hcnkKKyRwcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkc3RhbmRi eTIpOworJHJlc3VsdCA9ICRzdGFuZGJ5Mi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVD VCBjb3VudCgqKSA9ICRwcmltYXJ5X3Jvd19jb3VudCBGUk9NIHRhYl9pbnQ7Iik7CitpcygkcmVz dWx0LCAndCcsICJzdGFuZGJ5MiBnZXRzIGRhdGEgZnJvbSBwcmltYXJ5Iik7CisKKyMgV2FpdCBm b3IgcmVncmVzc19teXN1YjIgdG8gZ2V0IHRoZSBkYXRhIGZyb20gdGhlIHByaW1hcnkuIFRoaXMg c3Vic2NyaXB0aW9uCisjIHdhcyBub3QgZW5hYmxlZCBmb3IgZmFpbG92ZXIgc28gaXQgZ2V0cyB0 aGUgZGF0YSB3aXRob3V0IHdhaXRpbmcgZm9yIGFueQorIyBzdGFuZGJ5cy4KKyRwcmltYXJ5LT53 YWl0X2Zvcl9jYXRjaHVwKCdyZWdyZXNzX215c3ViMicpOworJHJlc3VsdCA9ICRzdWJzY3JpYmVy Mi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgqKSA9ICRwcmltYXJ5X3Jv d19jb3VudCBGUk9NIHRhYl9pbnQ7Iik7CitpcygkcmVzdWx0LCAndCcsICJzdWJzY3JpYmVyMiBn ZXRzIGRhdGEgZnJvbSBwcmltYXJ5Iik7CisKKyMgV2FpdCB1bnRpbCB0aGUgcHJpbWFyeSBzZXJ2 ZXIgbG9ncyBhIHdhcm5pbmcgaW5kaWNhdGluZyB0aGF0IGl0IGlzIHdhaXRpbmcKKyMgZm9yIHRo ZSBzYjFfc2xvdCB0byBjYXRjaCB1cC4KKyRwcmltYXJ5LT53YWl0X2Zvcl9sb2coCisJcXIvcmVw bGljYXRpb24gc2xvdCBcInNiMV9zbG90XCIgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBzdGFuZGJ5 X3Nsb3RfbmFtZXMgZG9lcyBub3QgaGF2ZSBhY3RpdmVfcGlkLywKKwkkb2Zmc2V0KTsKKworIyBU aGUgcmVncmVzc19teXN1YjEgd2FzIGVuYWJsZWQgZm9yIGZhaWxvdmVyIHNvIGl0IGRvZXNuJ3Qg Z2V0IHRoZSBkYXRhIGZyb20KKyMgcHJpbWFyeSBhbmQga2VlcHMgd2FpdGluZyBmb3IgdGhlIHN0 YW5kYnkgc3BlY2lmaWVkIGluIHN0YW5kYnlfc2xvdF9uYW1lcworIyAoc2IxX3Nsb3QgYWthIHN0 YW5kYnkxKS4KKyRyZXN1bHQgPQorICAkc3Vic2NyaWJlcjEtPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiU0VMRUNUIGNvdW50KCopIDw+ICRwcmltYXJ5X3Jvd19jb3VudCBGUk9NIHRhYl9pbnQ7Iik7 CitpcygkcmVzdWx0LCAndCcsCisJInN1YnNjcmliZXIxIGRvZXNuJ3QgZ2V0IGRhdGEgZnJvbSBw cmltYXJ5IHVudGlsIHN0YW5kYnkxIGFja25vd2xlZGdlcyBjaGFuZ2VzIgorKTsKKworIyBTdGFy dCB0aGUgc3RhbmRieSBzcGVjaWZpZWQgaW4gc3RhbmRieV9zbG90X25hbWVzIChzYjFfc2xvdCBh a2Egc3RhbmRieTEpIGFuZAorIyB3YWl0IGZvciBpdCB0byBjYXRjaCB1cCB3aXRoIHRoZSBwcmlt YXJ5LgorJHN0YW5kYnkxLT5zdGFydDsKKyRwcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1 cCgkc3RhbmRieTEpOworJHJlc3VsdCA9ICRzdGFuZGJ5MS0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CisJIlNFTEVDVCBjb3VudCgqKSA9ICRwcmltYXJ5X3Jvd19jb3VudCBGUk9NIHRhYl9pbnQ7Iik7 CitpcygkcmVzdWx0LCAndCcsICJzdGFuZGJ5MSBnZXRzIGRhdGEgZnJvbSBwcmltYXJ5Iik7CisK KyMgTm93IHRoYXQgdGhlIHN0YW5kYnkgc3BlY2lmaWVkIGluIHN0YW5kYnlfc2xvdF9uYW1lcyBp cyB1cCBhbmQgcnVubmluZywgdGhlCisjIHByaW1hcnkgY2FuIHNlbmQgdGhlIGRlY29kZWQgY2hh bmdlcyB0byB0aGUgc3Vic2NyaXB0aW9uIGVuYWJsZWQgZm9yIGZhaWxvdmVyCisjIChpLmUuIHJl Z3Jlc3NfbXlzdWIxKS4gV2hpbGUgdGhlIHN0YW5kYnkgd2FzIGRvd24sIHJlZ3Jlc3NfbXlzdWIx IGRpZG4ndAorIyByZWNlaXZlIGFueSBkYXRhIGZyb20gdGhlIHByaW1hcnkuIGkuZS4gdGhlIHBy aW1hcnkgZGlkbid0IGFsbG93IGl0IHRvIGdvCisjIGFoZWFkIG9mIHN0YW5kYnkuCiskcHJpbWFy eS0+d2FpdF9mb3JfY2F0Y2h1cCgncmVncmVzc19teXN1YjEnKTsKKyRyZXN1bHQgPSAkc3Vic2Ny aWJlcjEtPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQoKikgPSAkcHJpbWFy eV9yb3dfY291bnQgRlJPTSB0YWJfaW50OyIpOworaXMoJHJlc3VsdCwgJ3QnLAorCSJzdWJzY3Jp YmVyMSBnZXRzIGRhdGEgZnJvbSBwcmltYXJ5IGFmdGVyIHN0YW5kYnkxIGFja25vd2xlZGdlcyBj aGFuZ2VzIik7CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisjIFZlcmlmeSB0aGF0IHdoZW4gdXNpbmcgcGdfbG9naWNhbF9zbG90X2dldF9jaGFu Z2VzIHRvIGNvbnN1bWUgY2hhbmdlcyBmcm9tIGEKKyMgbG9naWNhbCBzbG90IHdpdGggZmFpbG92 ZXIgZW5hYmxlZCwgaXQgd2lsbCBhbHNvIHdhaXQgZm9yIHRoZSBzbG90cyBzcGVjaWZpZWQKKyMg aW4gc3RhbmRieV9zbG90X25hbWVzIHRvIGNhdGNoIHVwLgorIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBTdG9wIHRoZSBzdGFuZGJ5IGFzc29j aWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHBoeXNpY2FsIHJlcGxpY2F0aW9uIHNsb3Qgc28KKyMg dGhhdCB0aGUgbG9naWNhbCByZXBsaWNhdGlvbiBzbG90IHdvbid0IHJlY2VpdmUgY2hhbmdlcyB1 bnRpbCB0aGUgc3RhbmRieQorIyBzbG90J3MgcmVzdGFydF9sc24gaXMgYWR2YW5jZWQgb3IgdGhl IHNsb3QgaXMgcmVtb3ZlZCBmcm9tIHRoZQorIyBzdGFuZGJ5X3Nsb3RfbmFtZXMgbGlzdC4KKyRw cmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlRSVU5DQVRFIHRhYl9pbnQ7Iik7CiskcHJp bWFyeS0+d2FpdF9mb3JfY2F0Y2h1cCgncmVncmVzc19teXN1YjEnKTsKKyRzdGFuZGJ5MS0+c3Rv cDsKKworIyBDcmVhdGUgYSBsb2dpY2FsICd0ZXN0X2RlY29kaW5nJyByZXBsaWNhdGlvbiBzbG90 IHdpdGggZmFpbG92ZXIgZW5hYmxlZAorJHByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAor CSJTRUxFQ1QgcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgndGVzdF9zbG90Jywg J3Rlc3RfZGVjb2RpbmcnLCBmYWxzZSwgZmFsc2UsIHRydWUpOyIKKyk7CisKK215ICRiYWNrX3Eg PSAkcHJpbWFyeS0+YmFja2dyb3VuZF9wc3FsKAorCSdwb3N0Z3JlcycsCisJb25fZXJyb3Jfc3Rv cCA9PiAwLAorCXRpbWVvdXQgPT4gJFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0aW1lb3V0X2Rl ZmF1bHQpOworCisjIFRyeSBhbmQgZ2V0IGNoYW5nZXMgZnJvbSB0aGUgbG9naWNhbCBzbG90IHdp dGggZmFpbG92ZXIgZW5hYmxlZC4KKyRvZmZzZXQgPSAtcyAkcHJpbWFyeS0+bG9nZmlsZTsKKyRi YWNrX3EtPnF1ZXJ5X3VudGlsKHFyLy8sCisJIlNFTEVDVCBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2No YW5nZXMoJ3Rlc3Rfc2xvdCcsIE5VTEwsIE5VTEwpO1xuIik7CisKKyMgV2FpdCB1bnRpbCB0aGUg cHJpbWFyeSBzZXJ2ZXIgbG9ncyBhIHdhcm5pbmcgaW5kaWNhdGluZyB0aGF0IGl0IGlzIHdhaXRp bmcKKyMgZm9yIHRoZSBzYjFfc2xvdCB0byBjYXRjaCB1cC4KKyRwcmltYXJ5LT53YWl0X2Zvcl9s b2coCisJcXIvcmVwbGljYXRpb24gc2xvdCBcInNiMV9zbG90XCIgc3BlY2lmaWVkIGluIHBhcmFt ZXRlciBzdGFuZGJ5X3Nsb3RfbmFtZXMgZG9lcyBub3QgaGF2ZSBhY3RpdmVfcGlkLywKKwkkb2Zm c2V0KTsKKworIyBSZW1vdmUgdGhlIHN0YW5kYnkgZnJvbSB0aGUgc3RhbmRieV9zbG90X25hbWVz IGxpc3QgYW5kIHJlbG9hZCB0aGUKKyMgY29uZmlndXJhdGlvbi4KKyRwcmltYXJ5LT5hZGp1c3Rf Y29uZigncG9zdGdyZXNxbC5jb25mJywgJ3N0YW5kYnlfc2xvdF9uYW1lcycsICInJyIpOworJHBy aW1hcnktPnJlbG9hZDsKKworIyBTaW5jZSB0aGVyZSBhcmUgbm8gc2xvdHMgaW4gc3RhbmRieV9z bG90X25hbWVzLCB0aGUgZnVuY3Rpb24KKyMgcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzIHNo b3VsZCBub3cgcmV0dXJuLCBhbmQgdGhlIHNlc3Npb24gY2FuIGJlCisjIHN0b3BwZWQuCiskYmFj a19xLT5xdWl0OworCiskcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBw Z19kcm9wX3JlcGxpY2F0aW9uX3Nsb3QoJ3Rlc3Rfc2xvdCcpOyIKKyk7CisKKyMgQWRkIHRoZSBw aHlzaWNhbCBzbG90IChzYjFfc2xvdCkgYmFjayB0byB0aGUgc3RhbmRieV9zbG90X25hbWVzIGZv ciBmdXJ0aGVyCisjIHRlc3RzLgorJHByaW1hcnktPmFkanVzdF9jb25mKCdwb3N0Z3Jlc3FsLmNv bmYnLCAnc3RhbmRieV9zbG90X25hbWVzJywgIidzYjFfc2xvdCciKTsKKyRwcmltYXJ5LT5yZWxv YWQ7CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjIFRlc3QgdGhhdCBsb2dpY2FsIHJlcGxpY2F0aW9uIHdpbGwgd2FpdCBmb3IgdGhlIHVzZXIt Y3JlYXRlZCBpbmFjdGl2ZQorIyBwaHlzaWNhbCBzbG90IHRvIGNhdGNoIHVwIHVudGlsIHdlIHJl bW92ZSB0aGUgc2xvdCBmcm9tIHN0YW5kYnlfc2xvdF9uYW1lcy4KKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyRvZmZzZXQgPSAtcyAkcHJpbWFy eS0+bG9nZmlsZTsKKworIyBDcmVhdGUgc29tZSBkYXRhIG9uIHRoZSBwcmltYXJ5CiskcHJpbWFy eV9yb3dfY291bnQgPSAxMDsKKyRwcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiSU5T RVJUIElOVE8gdGFiX2ludCBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsICRwcmltYXJ5X3Jvd19j b3VudCk7Iik7CisKKyMgV2FpdCB1bnRpbCB0aGUgcHJpbWFyeSBzZXJ2ZXIgbG9ncyBhIHdhcm5p bmcgaW5kaWNhdGluZyB0aGF0IGl0IGlzIHdhaXRpbmcKKyMgZm9yIHRoZSBzYjFfc2xvdCB0byBj YXRjaCB1cC4KKyRwcmltYXJ5LT53YWl0X2Zvcl9sb2coCisJcXIvcmVwbGljYXRpb24gc2xvdCBc InNiMV9zbG90XCIgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBzdGFuZGJ5X3Nsb3RfbmFtZXMgZG9l cyBub3QgaGF2ZSBhY3RpdmVfcGlkLywKKwkkb2Zmc2V0KTsKKworIyBUaGUgcmVncmVzc19teXN1 YjEgZG9lc24ndCBnZXQgdGhlIGRhdGEgZnJvbSBwcmltYXJ5IGJlY2F1c2UgdGhlIHNwZWNpZmll ZAorIyBzdGFuZGJ5IHNsb3QgKHNiMV9zbG90KSBpbiBzdGFuZGJ5X3Nsb3RfbmFtZXMgaXMgaW5h Y3RpdmUuCiskcmVzdWx0ID0KKyAgJHN1YnNjcmliZXIxLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IlNFTEVDVCBjb3VudCgqKSA9IDAgRlJPTSB0YWJfaW50OyIpOworaXMoJHJlc3VsdCwgJ3QnLAor CSJzdWJzY3JpYmVyMSBkb2Vzbid0IGdldCBkYXRhIGFzIHRoZSBzYjFfc2xvdCBkb2Vzbid0IGNh dGNoIHVwIik7CisKKyMgUmVtb3ZlIHRoZSBzdGFuZGJ5IGZyb20gdGhlIHN0YW5kYnlfc2xvdF9u YW1lcyBsaXN0IGFuZCByZWxvYWQgdGhlCisjIGNvbmZpZ3VyYXRpb24uCiskcHJpbWFyeS0+YWRq dXN0X2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsICdzdGFuZGJ5X3Nsb3RfbmFtZXMnLCAiJyciKTsK KyRwcmltYXJ5LT5yZWxvYWQ7CisKKyMgU2luY2UgdGhlcmUgYXJlIG5vIHNsb3RzIGluIHN0YW5k Ynlfc2xvdF9uYW1lcywgdGhlIHByaW1hcnkgc2VydmVyIHNob3VsZCBub3cKKyMgc2VuZCB0aGUg ZGVjb2RlZCBjaGFuZ2VzIHRvIHRoZSBzdWJzY3JpcHRpb24uCiskcHJpbWFyeS0+d2FpdF9mb3Jf Y2F0Y2h1cCgncmVncmVzc19teXN1YjEnKTsKKyRyZXN1bHQgPSAkc3Vic2NyaWJlcjEtPnNhZmVf cHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQoKikgPSAkcHJpbWFyeV9yb3dfY291bnQg RlJPTSB0YWJfaW50OyIpOworaXMoJHJlc3VsdCwgJ3QnLAorCSJzdWJzY3JpYmVyMSBnZXRzIGRh dGEgZnJvbSBwcmltYXJ5IGFmdGVyIHN0YW5kYnkxIGlzIHJlbW92ZWQgZnJvbSB0aGUgc3RhbmRi eV9zbG90X25hbWVzIGxpc3QiCispOworCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwogIyBQcm9tb3RlIHRoZSBzdGFuZGJ5MSB0byBwcmltYXJ5LiBD b25maXJtIHRoYXQ6CiAjIGEpIHRoZSBzbG90ICdsc3ViMV9zbG90JyBpcyByZXRhaW5lZCBvbiB0 aGUgbmV3IHByaW1hcnkKICMgYikgbG9naWNhbCByZXBsaWNhdGlvbiBmb3IgcmVncmVzc19teXN1 YjEgaXMgcmVzdW1lZCBzdWNjZXNzZnVsbHkgYWZ0ZXIgZmFpbG92ZXIKICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskc3RhbmRieTEtPnN0YXJ0Owor JHByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRzdGFuZGJ5MSk7CisKICRzdGFuZGJ5 MS0+cHJvbW90ZTsKIAogIyBVcGRhdGUgc3Vic2NyaXB0aW9uIHdpdGggdGhlIG5ldyBwcmltYXJ5 J3MgY29ubmVjdGlvbiBpbmZvCi0tIAoyLjMwLjAud2luZG93cy4yCgo= --_003_OS0PR01MB5716CD1AB0090155B2ED5C3F945C2OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="v104-0002-Document-the-steps-to-check-if-the-standby-is-r.patch" Content-Description: v104-0002-Document-the-steps-to-check-if-the-standby-is-r.patch Content-Disposition: attachment; filename="v104-0002-Document-the-steps-to-check-if-the-standby-is-r.patch"; size=7207; creation-date="Sun, 03 Mar 2024 07:56:19 GMT"; modification-date="Sun, 03 Mar 2024 07:56:32 GMT" Content-Transfer-Encoding: base64 RnJvbSA5ZWMyNWMxNmYzZWZiYzdlNTE2OTRkMjEzMmMxMTAyMWY1YTZiNjQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaHZldGEgTWFsaWsgPHNodmV0YS5tYWxpa0BnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTkgSmFuIDIwMjQgMTE6MDQ6MTYgKzA1MzAKU3ViamVjdDogW1BBVENIIHYx MDQgMi8yXSBEb2N1bWVudCB0aGUgc3RlcHMgdG8gY2hlY2sgaWYgdGhlIHN0YW5kYnkgaXMgcmVh ZHkKIGZvciBmYWlsb3ZlcgoKLS0tCiBkb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dt bCAgIHwgICA5ICsrCiBkb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sIHwgMTM2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwg Yi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbAppbmRleCAyMzZjMGFmNjVmLi4z NjIxNWFhNjhjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbApAQCAtMTQ4Nyw2ICsx NDg3LDE1IEBAIHN5bmNocm9ub3VzX3N0YW5kYnlfbmFtZXMgPSAnQU5ZIDIgKHMxLCBzMiwgczMp JwogICAgIFdyaXR0ZW4gYWRtaW5pc3RyYXRpb24gcHJvY2VkdXJlcyBhcmUgYWR2aXNlZC4KICAg IDwvcGFyYT4KIAorICAgPHBhcmE+CisgICAgSWYgeW91IGhhdmUgb3B0ZWQgZm9yIHN5bmNocm9u aXphdGlvbiBvZiBsb2dpY2FsIHNsb3RzIChzZWUKKyAgICA8eHJlZiBsaW5rZW5kPSJsb2dpY2Fs ZGVjb2RpbmctcmVwbGljYXRpb24tc2xvdHMtc3luY2hyb25pemF0aW9uIi8+KSwKKyAgICB0aGVu IGJlZm9yZSBzd2l0Y2hpbmcgdG8gdGhlIHN0YW5kYnkgc2VydmVyLCBpdCBpcyByZWNvbW1lbmRl ZCB0byBjaGVjaworICAgIGlmIHRoZSBsb2dpY2FsIHNsb3RzIHN5bmNocm9uaXplZCBvbiB0aGUg c3RhbmRieSBzZXJ2ZXIgYXJlIHJlYWR5CisgICAgZm9yIGZhaWxvdmVyLiBUaGlzIGNhbiBiZSBk b25lIGJ5IGZvbGxvd2luZyB0aGUgc3RlcHMgZGVzY3JpYmVkIGluCisgICAgPHhyZWYgbGlua2Vu ZD0ibG9naWNhbC1yZXBsaWNhdGlvbi1mYWlsb3ZlciIvPi4KKyAgIDwvcGFyYT4KKwogICAgPHBh cmE+CiAgICAgVG8gdHJpZ2dlciBmYWlsb3ZlciBvZiBhIGxvZy1zaGlwcGluZyBzdGFuZGJ5IHNl cnZlciwgcnVuCiAgICAgPGNvbW1hbmQ+cGdfY3RsIHByb21vdGU8L2NvbW1hbmQ+IG9yIGNhbGwg PGZ1bmN0aW9uPnBnX3Byb21vdGUoKTwvZnVuY3Rpb24+LgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxp Y2F0aW9uLnNnbWwKaW5kZXggZWMyMTMwNjY5ZS4uYmU1OWQzMDZhMSAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbG9n aWNhbC1yZXBsaWNhdGlvbi5zZ21sCkBAIC02ODcsNiArNjg3LDE0MiBAQCBBTFRFUiBTVUJTQ1JJ UFRJT04KIAogIDwvc2VjdDE+CiAKKyA8c2VjdDEgaWQ9ImxvZ2ljYWwtcmVwbGljYXRpb24tZmFp bG92ZXIiPgorICA8dGl0bGU+TG9naWNhbCBSZXBsaWNhdGlvbiBGYWlsb3ZlcjwvdGl0bGU+CisK KyAgPHBhcmE+CisgICBXaGVuIHRoZSBwdWJsaXNoZXIgc2VydmVyIGlzIHRoZSBwcmltYXJ5IHNl cnZlciBvZiBhIHN0cmVhbWluZyByZXBsaWNhdGlvbiwKKyAgIHRoZSBsb2dpY2FsIHNsb3RzIG9u IHRoYXQgcHJpbWFyeSBzZXJ2ZXIgY2FuIGJlIHN5bmNocm9uaXplZCB0byB0aGUgc3RhbmRieQor ICAgc2VydmVyIGJ5IHNwZWNpZnlpbmcgPGxpdGVyYWw+ZmFpbG92ZXIgPSB0cnVlPC9saXRlcmFs PiB3aGVuIGNyZWF0aW5nCisgICBzdWJzY3JpcHRpb25zIGZvciB0aG9zZSBwdWJsaWNhdGlvbnMu IEVuYWJsaW5nIGZhaWxvdmVyIGVuc3VyZXMgYSBzZWFtbGVzcworICAgdHJhbnNpdGlvbiBvZiB0 aG9zZSBzdWJzY3JpcHRpb25zIGFmdGVyIHRoZSBzdGFuZGJ5IGlzIHByb21vdGVkLiBUaGV5IGNh bgorICAgY29udGludWUgc3Vic2NyaWJpbmcgdG8gcHVibGljYXRpb25zIG5vdyBvbiB0aGUgbmV3 IHByaW1hcnkgc2VydmVyIHdpdGhvdXQKKyAgIGFueSBkYXRhIGxvc3MuCisgIDwvcGFyYT4KKwor ICA8cGFyYT4KKyAgIEJlY2F1c2UgdGhlIHNsb3Qgc3luY2hyb25pemF0aW9uIGxvZ2ljIGNvcGll cyBhc3luY2hyb25vdXNseSwgaXQgaXMKKyAgIG5lY2Vzc2FyeSB0byBjb25maXJtIHRoYXQgcmVw bGljYXRpb24gc2xvdHMgaGF2ZSBiZWVuIHN5bmNlZCB0byB0aGUgc3RhbmRieQorICAgc2VydmVy IGJlZm9yZSB0aGUgZmFpbG92ZXIgaGFwcGVucy4gRnVydGhlcm1vcmUsIHRvIGVuc3VyZSBhIHN1 Y2Nlc3NmdWwKKyAgIGZhaWxvdmVyLCB0aGUgc3RhbmRieSBzZXJ2ZXIgbXVzdCBub3QgYmUgbGFn Z2luZyBiZWhpbmQgdGhlIHN1YnNjcmliZXIuIEl0CisgICBpcyBoaWdobHkgcmVjb21tZW5kZWQg dG8gdXNlCisgICA8bGluayBsaW5rZW5kPSJndWMtc3RhbmRieS1zbG90LW5hbWVzIj48dmFybmFt ZT5zdGFuZGJ5X3Nsb3RfbmFtZXM8L3Zhcm5hbWU+PC9saW5rPgorICAgdG8gcHJldmVudCB0aGUg c3Vic2NyaWJlciBmcm9tIGNvbnN1bWluZyBjaGFuZ2VzIGZhc3RlciB0aGFuIHRoZSBob3Qgc3Rh bmRieS4KKyAgIFRvIGNvbmZpcm0gdGhhdCB0aGUgc3RhbmRieSBzZXJ2ZXIgaXMgaW5kZWVkIHJl YWR5IGZvciBmYWlsb3ZlciwgZm9sbG93CisgICB0aGVzZSAyIHN0ZXBzOgorICA8L3BhcmE+CisK KyAgPHByb2NlZHVyZT4KKyAgIDxzdGVwIHBlcmZvcm1hbmNlPSJyZXF1aXJlZCI+CisgICAgPHBh cmE+CisgICAgIENvbmZpcm0gdGhhdCBhbGwgdGhlIG5lY2Vzc2FyeSBsb2dpY2FsIHJlcGxpY2F0 aW9uIHNsb3RzIGhhdmUgYmVlbiBzeW5jZWQgdG8KKyAgICAgdGhlIHN0YW5kYnkgc2VydmVyLgor ICAgIDwvcGFyYT4KKyAgICA8c3Vic3RlcHM+CisgICAgIDxzdGVwIHBlcmZvcm1hbmNlPSJyZXF1 aXJlZCI+CisgICAgICA8cGFyYT4KKyAgICAgICBGaXJzdGx5LCBvbiB0aGUgc3Vic2NyaWJlciBu b2RlLCB1c2UgdGhlIGZvbGxvd2luZyBTUUwgdG8gaWRlbnRpZnkKKyAgICAgICB3aGljaCBzbG90 cyBzaG91bGQgYmUgc3luY2VkIHRvIHRoZSBzdGFuZGJ5IHRoYXQgd2UgcGxhbiB0byBwcm9tb3Rl LgorPHByb2dyYW1saXN0aW5nPgordGVzdF9zdWI9IyBTRUxFQ1QKKyAgICAgICAgICAgICAgIGFy cmF5X2FnZyhzbG90bmFtZSkgQVMgc2xvdHMKKyAgICAgICAgICAgRlJPTQorICAgICAgICAgICAo KAorICAgICAgICAgICAgICAgU0VMRUNUIHIuc3JzdWJpZCBBUyBzdWJpZCwgQ09OQ0FUKCdwZ18n LCBzcnN1YmlkLCAnX3N5bmNfJywgc3JyZWxpZCwgJ18nLCBjdGwuc3lzdGVtX2lkZW50aWZpZXIp IEFTIHNsb3RuYW1lCisgICAgICAgICAgICAgICBGUk9NIHBnX2NvbnRyb2xfc3lzdGVtKCkgY3Rs LCBwZ19zdWJzY3JpcHRpb25fcmVsIHIsIHBnX3N1YnNjcmlwdGlvbiBzCisgICAgICAgICAgICAg ICBXSEVSRSByLnNyc3Vic3RhdGUgPSAnZicgQU5EIHMub2lkID0gci5zcnN1YmlkIEFORCBzLnN1 YmZhaWxvdmVyCisgICAgICAgICAgICkgVU5JT04gKAorICAgICAgICAgICAgICAgU0VMRUNUIHMu b2lkIEFTIHN1YmlkLCBzLnN1YnNsb3RuYW1lIGFzIHNsb3RuYW1lCisgICAgICAgICAgICAgICBG Uk9NIHBnX3N1YnNjcmlwdGlvbiBzCisgICAgICAgICAgICAgICBXSEVSRSBzLnN1YmZhaWxvdmVy CisgICAgICAgICAgICkpOworIHNsb3RzCistLS0tLS0tCisge3N1YjEsc3ViMixzdWIzfQorKDEg cm93KQorPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CisgICAgIDwvc3RlcD4KKyAgICAgPHN0ZXAg cGVyZm9ybWFuY2U9InJlcXVpcmVkIj4KKyAgICAgIDxwYXJhPgorICAgICAgIE5leHQsIGNoZWNr IHRoYXQgdGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gc2xvdHMgaWRlbnRpZmllZCBhYm92ZSBleGlz dCBvbgorICAgICAgIHRoZSBzdGFuZGJ5IHNlcnZlciBhbmQgYXJlIHJlYWR5IGZvciBmYWlsb3Zl ci4KKzxwcm9ncmFtbGlzdGluZz4KK3Rlc3Rfc3RhbmRieT0jIFNFTEVDVCBzbG90X25hbWUsIChz eW5jZWQgQU5EIE5PVCB0ZW1wb3JhcnkgQU5EIGNvbmZsaWN0X3JlYXNvbiBJUyBOVUxMKSBBUyBm YWlsb3Zlcl9yZWFkeQorICAgICAgICAgICAgICAgRlJPTSBwZ19yZXBsaWNhdGlvbl9zbG90cwor ICAgICAgICAgICAgICAgV0hFUkUgc2xvdF9uYW1lIElOICgnc3ViMScsJ3N1YjInLCdzdWIzJyk7 CisgIHNsb3RfbmFtZSAgfCBmYWlsb3Zlcl9yZWFkeQorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tCisgIHN1YjEgICAgICAgfCB0CisgIHN1YjIgICAgICAgfCB0CisgIHN1YjMgICAgICAg fCB0CisoMyByb3dzKQorPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CisgICAgIDwvc3RlcD4KKyAg ICA8L3N1YnN0ZXBzPgorICAgPC9zdGVwPgorCisgICA8c3RlcCBwZXJmb3JtYW5jZT0icmVxdWly ZWQiPgorICAgIDxwYXJhPgorICAgICBDb25maXJtIHRoYXQgdGhlIHN0YW5kYnkgc2VydmVyIGlz IG5vdCBsYWdnaW5nIGJlaGluZCB0aGUgc3Vic2NyaWJlcnMuCisgICAgIFRoaXMgc3RlcCBjYW4g YmUgc2tpcHBlZCBpZgorICAgICA8bGluayBsaW5rZW5kPSJndWMtc3RhbmRieS1zbG90LW5hbWVz Ij48dmFybmFtZT5zdGFuZGJ5X3Nsb3RfbmFtZXM8L3Zhcm5hbWU+PC9saW5rPgorICAgICBoYXMg YmVlbiBjb3JyZWN0bHkgY29uZmlndXJlZC4gSWYgc3RhbmRieV9zbG90X25hbWVzIGlzIG5vdCBj b25maWd1cmVkCisgICAgIGNvcnJlY3RseSwgaXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRvIHJ1 biB0aGlzIHN0ZXAgYWZ0ZXIgdGhlIHByaW1hcnkKKyAgICAgc2VydmVyIGlzIGRvd24sIG90aGVy d2lzZSB0aGUgcmVzdWx0cyBvZiB0aGUgcXVlcnkgbWF5IHZhcnkgYXQgZGlmZmVyZW50CisgICAg IHBvaW50cyBvZiB0aW1lIGR1ZSB0byB0aGUgb25nb2luZyByZXBsaWNhdGlvbiBvbiB0aGUgbG9n aWNhbCBzdWJzY3JpYmVycworICAgICBmcm9tIHRoZSBwcmltYXJ5IHNlcnZlci4KKyAgICA8L3Bh cmE+CisgICAgIDxzdWJzdGVwcz4KKyAgICAgIDxzdGVwIHBlcmZvcm1hbmNlPSJyZXF1aXJlZCI+ CisgICAgICAgPHBhcmE+CisgICAgICAgIEZpcnN0bHksIG9uIHRoZSBzdWJzY3JpYmVyIG5vZGUg Y2hlY2sgdGhlIGxhc3QgcmVwbGF5ZWQgV0FMLgorICAgICAgICBUaGlzIHN0ZXAgbmVlZHMgdG8g YmUgcnVuIG9uIHRoZSBkYXRhYmFzZShzKSB0aGF0IGluY2x1ZGVzIHRoZSBmYWlsb3ZlcgorICAg ICAgICBlbmFibGVkIHN1YnNjcmlwdGlvbihzKSwgdG8gZmluZCB0aGUgbGFzdCByZXBsYXllZCBX QUwgb24gZWFjaCBkYXRhYmFzZS4KKzxwcm9ncmFtbGlzdGluZz4KK3Rlc3Rfc3ViPSMgU0VMRUNU CisgICAgICAgICAgICAgICBNQVgocmVtb3RlX2xzbikgQVMgcmVtb3RlX2xzbl9vbl9zdWJzY3Jp YmVyCisgICAgICAgICAgIEZST00KKyAgICAgICAgICAgKCgKKyAgICAgICAgICAgICAgIFNFTEVD VCAoQ0FTRSBXSEVOIHIuc3JzdWJzdGF0ZSA9ICdmJyBUSEVOIHBnX3JlcGxpY2F0aW9uX29yaWdp bl9wcm9ncmVzcyhDT05DQVQoJ3BnXycsIHIuc3JzdWJpZCwgJ18nLCByLnNycmVsaWQpLCBmYWxz ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRU4gci5zcnN1YnN0YXRlIElOICgncycs ICdyJykgVEhFTiByLnNyc3VibHNuIEVORCkgQVMgcmVtb3RlX2xzbgorICAgICAgICAgICAgICAg RlJPTSBwZ19zdWJzY3JpcHRpb25fcmVsIHIsIHBnX3N1YnNjcmlwdGlvbiBzCisgICAgICAgICAg ICAgICBXSEVSRSByLnNyc3Vic3RhdGUgSU4gKCdmJywgJ3MnLCAncicpIEFORCBzLm9pZCA9IHIu c3JzdWJpZCBBTkQgcy5zdWJmYWlsb3ZlcgorICAgICAgICAgICApIFVOSU9OICgKKyAgICAgICAg ICAgICAgIFNFTEVDVCBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fcHJvZ3Jlc3MoQ09OQ0FUKCdwZ18n LCBzLm9pZCksIGZhbHNlKSBBUyByZW1vdGVfbHNuCisgICAgICAgICAgICAgICBGUk9NIHBnX3N1 YnNjcmlwdGlvbiBzCisgICAgICAgICAgICAgICBXSEVSRSBzLnN1YmZhaWxvdmVyCisgICAgICAg ICAgICkpOworIHJlbW90ZV9sc25fb25fc3Vic2NyaWJlcgorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAwLzMwMDAzODgKKzwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorICAgIDwvc3RlcD4K KyAgICA8c3RlcCBwZXJmb3JtYW5jZT0icmVxdWlyZWQiPgorICAgICA8cGFyYT4KKyAgICAgIE5l eHQsIG9uIHRoZSBzdGFuZGJ5IHNlcnZlciBjaGVjayB0aGF0IHRoZSBsYXN0LXJlY2VpdmVkIFdB TCBsb2NhdGlvbgorICAgICAgaXMgYWhlYWQgb2YgdGhlIHJlcGxheWVkIFdBTCBsb2NhdGlvbihz KSBvbiB0aGUgc3Vic2NyaWJlciBpZGVudGlmaWVkCisgICAgICBhYm92ZS4gSWYgdGhlIGFib3Zl IFNRTCByZXN1bHQgd2FzIE5VTEwsIGl0IG1lYW5zIHRoZSBzdWJzY3JpYmVyIGhhcyBub3QKKyAg ICAgIHlldCByZXBsYXllZCBhbnkgV0FMLCBzbyB0aGUgc3RhbmRieSBzZXJ2ZXIgbXVzdCBiZSBh aGVhZCBvZiB0aGUKKyAgICAgIHN1YnNjcmliZXIsIGFuZCB0aGlzIHN0ZXAgY2FuIGJlIHNraXBw ZWQuCis8cHJvZ3JhbWxpc3Rpbmc+Cit0ZXN0X3N0YW5kYnk9IyBTRUxFQ1QgcGdfbGFzdF93YWxf cmVjZWl2ZV9sc24oKSA+PSAnMC8zMDAwMzg4Jzo6cGdfbHNuIEFTIGZhaWxvdmVyX3JlYWR5Owor IGZhaWxvdmVyX3JlYWR5CistLS0tLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQorPC9wcm9ncmFt bGlzdGluZz48L3BhcmE+CisgICAgIDwvc3RlcD4KKyAgICA8L3N1YnN0ZXBzPgorICAgPC9zdGVw PgorICA8L3Byb2NlZHVyZT4KKworICA8cGFyYT4KKyAgIElmIHRoZSByZXN1bHQgKDxsaXRlcmFs PmZhaWxvdmVyX3JlYWR5PC9saXRlcmFsPikgb2YgYm90aCBhYm92ZSBzdGVwcyBpcworICAgdHJ1 ZSwgZXhpc3Rpbmcgc3Vic2NyaXB0aW9ucyB3aWxsIGJlIGFibGUgdG8gY29udGludWUgd2l0aG91 dCBkYXRhIGxvc3MuCisgIDwvcGFyYT4KKworIDwvc2VjdDE+CisKICA8c2VjdDEgaWQ9ImxvZ2lj YWwtcmVwbGljYXRpb24tcm93LWZpbHRlciI+CiAgIDx0aXRsZT5Sb3cgRmlsdGVyczwvdGl0bGU+ CiAKLS0gCjIuMzAuMC53aW5kb3dzLjIKCg== --_003_OS0PR01MB5716CD1AB0090155B2ED5C3F945C2OS0PR01MB5716jpnp_--