Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntNCp-0007ri-35 for pgsql-hackers@arkaria.postgresql.org; Tue, 24 May 2022 05:35:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ntNCn-0002LD-Vc for pgsql-hackers@arkaria.postgresql.org; Tue, 24 May 2022 05:35:41 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntNBC-0005J8-8Z for pgsql-hackers@lists.postgresql.org; Tue, 24 May 2022 05:34:02 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntNB7-0001Ee-DS for pgsql-hackers@lists.postgresql.org; Tue, 24 May 2022 05:34:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1653370438; x=1684906438; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=rnMujyuTgLPzV7DJKINugGScntwUMQbgpFjuZFv7Xi0=; b=hOmwZyiQoHVl1TjsiTZ/5FydJlYFiMhS6hr8Gbwr9t48Q1YmFcAs7mTN v9u25Y+uvHGS+RrJQ68ORplZGAsKqBEdSHEeKhvqyeRdVALYIBzGFxHVS 3Cp71q9OIgwOSCZACfHNgYwyoxVqi3RylUYxG+XhXIBx9mM1ZTzgmMgxq INcU0A63BiwEBzxOHJGF7frSwsRviFjbPMzaEfWHZ6jvvwMdceOkII8s1 LpCc0/5ffTDXjBMh7Wac7RuVmCuwC8OqTmwkcytCwRCGZFAi1SvtgaT12 D+WTqEaBomm43SXFKprt32gmwtVRtVu1U73vvgVqTqY+M/2sWuhlmzeEm Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="64684825" X-IronPort-AV: E=Sophos;i="5.91,248,1647270000"; d="scan'208,223";a="64684825" Received: from mail-tycjpn01lp2175.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.175]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 14:33:53 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HjfzYTZRX9nU1jZtkMWRzX1WgI1t3vrKxzDOwseKdF0oFvVPp8fvqIz7m0Ek0sQtPOy+2iack6CdiOtrX6oSyDixFOBtjcOBKBOaBypmGimGuQDLI3AG6RBb7Zo/qsU8jQnIBuk9RLvov2aQJA5vazyJFg0cHuq1Rg9mHr13NOh3wpkM/wmWkRbmEFOZJDD3GB0npZjx+Wycv/KiBq7nZq4AoduCOTHKpa9zHHMlmbYwrExbAXq/yo368rR6fQ+25+0aFrx4/XpCicASdPh5PWgsFqxxULFZlY7AGIZqgF9EtjuUpJnvC7kVRWXV1CaBSwF0sjXzTRoaBYFX8tc5Ag== 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=R/qOssFXU6B6uH75CVq5yvllgK1bbN71jq/n0B2fu9o=; b=oesUzxWQ+Ci+bd5t/Bl0CNWOqYtcGyuOYUPEBN8Glw6xoF1vlLtcGO4gaVtAg+Atm/5kb5wGasmW2d0PipKDuoCCar3V16GUv8Fmag4QxkcDrL1/WGoQiTeEqmUx77Uj3SFIJ5VYIrItm+Ogww+eQpCkUyS9dvhM7K6dRfMYgwSF+bycDjOZZLZsLKz6IEXAZJhapQ5NjzUZ8rFHBykNqJ1Dz7XxlzJxVGIVmtHZYqcyWyp0gT9r2ACfvpBnltkMhqsEn++Th9UsMhhL7Yod67RNut8Kgqcti+ChcZHJIKsNhVOMikMMMcSsUVWcSoBklIYaIPUQtIQLgL/lN0g7dg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R/qOssFXU6B6uH75CVq5yvllgK1bbN71jq/n0B2fu9o=; b=dWGPiKlDrngN5Be2Veu9tVeXF+tmPO78oamwzeMoshbFel2ms9rzQ/zxVQSfRtd0lu4C4fAAwHlG7nXBUzEWgQQtHNyLAX0yBGt2dIvLALRN+TFAseAhG193ErEXNJqgcnY41zSgJZsEPA7PMFMtJVzq8CXgheXEsMzZSrsd3ZE= Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYCPR01MB9957.jpnprd01.prod.outlook.com (2603:1096:400:1e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Tue, 24 May 2022 05:33:50 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5%5]) with mapi id 15.20.5273.023; Tue, 24 May 2022 05:33:50 +0000 From: "houzj.fnst@fujitsu.com" To: Amit Kapila CC: Justin Pryzby , Alvaro Herrera , Tomas Vondra , Peter Eisentraut , PostgreSQL Hackers , Tom Lane Subject: RE: bogus: logical replication rows/cols combinations Thread-Topic: bogus: logical replication rows/cols combinations Thread-Index: AQHYWLvr7qvS4uM3yUKV0WvFroYQ260BNqCAgAJOWACAAA3ygIABsfiAgABU3ACAAL2rgIABB3iAgABQf4CAAIkuAIAAC2YAgAJXawCAAH7VgIAARB0AgAAL/ACAAAGAAIAADnIAgAAILoCAB3TIAIACZU0AgACgnACAApNYgIAAjccAgAA9WkCAAYqnAIABhIMQgAS6/QCAAHg7gIAELAqAgAB2hACAACZiAIAA1MIAgAZvn1A= Date: Tue, 24 May 2022 05:33:50 +0000 Message-ID: References: <202205161320.butjtubabvgj@alvherre.pgsql> <20220519120724.GO19626@telsasoft.com> <165764.1652970286@sss.pgh.pa.us> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 877f81af-2d74-4fc0-dbb9-08da3d46fbbb x-ms-traffictypediagnostic: TYCPR01MB9957:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9zVSg2B4X4Zpui6bF5GbfDxh+2C3+NrInuDP0JioP9JbLZE04AxFzVXCz9OBYX1zacPiFgFtb+GDLY404phEMsPnioEFuyT+Dg60XyLRN6hptg0CK/cqv4DdEfjHvCf3Cb241iEjaZEsGyDFrz3pA9Xdf5rTqrI6z0xyuEluVYQlURz92UQ8VVWu1gGZFJJRlSpxNjOkFev2yWqc7iWhJB25hAb69zHZkJ5HlZg5C40jTNxdlG9nCfzJwr37fmZXbiL4hwWa8lAbd9Dm1kuQsPs0UbPgOHSx9ESpY1XBf08vuatxB1GmjNS59JA4ZfNxDw2iVpfXaJN8UheLklcM6JUEie6ezgxWxcOIJ6T+tuBWORxYboxRXj1bLFqHiyQOJVIG5hvK8Qf1JZ3SWFTiMd3ZolpNobCrcKL4ZkSx/M1+6DgHFUO3YJ1Qth8VNgcjEZcBVitkhpmvXQcrRwEwwvSs0UKM44donNhJbJ/pmJu4SnR5pIEumgfFmAZ19miOJ3an8mnEy+xeoxKraQq+e/NV72CqYgx0yYHxSa+X53IQdDxWPPL+VMefTz7QzYAe+iz7KC8ZZ0icXijQIuynb/IPzNCeWEDmD3ZVVkYXbEs1bkPDI6aYbWiwEKMtRnKsacwOVsojZws68kItYAcguUtGFGxqHYqukYpCWsq3VEgVlo3t6JDsNpjx0iLFhrSGYwyuoSiJ9yhKilGm+QS6KA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(2906002)(38070700005)(55016003)(54906003)(66946007)(64756008)(66446008)(99936003)(4326008)(122000001)(76116006)(82960400001)(4744005)(66556008)(66476007)(8676002)(6916009)(5660300002)(52536014)(8936002)(508600001)(316002)(86362001)(71200400001)(33656002)(9686003)(186003)(26005)(6506007)(53546011)(85182001)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M2JkZFdRTmt6OHZ4WkpISG1KM0xUSHVxV1daamZvUDhXUllIdkhTdzFGLzR2?= =?utf-8?B?RVQ5Z3hSeENpdmJPSVh6dkQrMTVmVXlHMVVPTlMwZHJ3VWhjSi9ObCtsYVNJ?= =?utf-8?B?eng4cExKWS9JaXljdGhHanhYanpCeFZoL2xtdVdQdnNoYTFQY2dzbDlNV29I?= =?utf-8?B?ektRcEovV2QxODlCTExNcEVvMndXdXdFNldQRmVUUjBUSnBDWUlvL2VWeVEv?= =?utf-8?B?c1psVVZQSHp5S0dWUUdFMlh1UWhKRHE5NVk3YlpBb3ZFT2dOODd4U2NvdCto?= =?utf-8?B?K1RpZ3R0T1lMdjkxb0JvQVlyWmtUVjRWZXArTDMvRStPMkRGa0xUYTZzTktV?= =?utf-8?B?K2pZb1FoeWFoZ2dPZnh0TVJhNVRHYmFkWDJCajFEVUFuN25iSEZwVkJ2VEhR?= =?utf-8?B?YzlaRzNQMjR4RUhMVEl0Y0FIamVTYTZjcDlJdSswOGlzSHR5LzVZSzJkd3FC?= =?utf-8?B?RjdzYU5EVWVGTitRQWZEbGlZTFJObnZncWVkR3UvNFZqb0doTmtGOXFrOWl2?= =?utf-8?B?WkROa0o0WmhEUGhvRWxudUFaT2RYYXNmTzBLclJOa2lIY0RENGwwc2d2UWNF?= =?utf-8?B?eFhJT0lQSTZrODF6SFoxa1F0d3ZRS1NQalEvTEtDRTkvaEt6OTVaZDc3RllO?= =?utf-8?B?bStWL3JaMUg2UnJXd3VYNHhsQ1haL25CeTNDdGZrZXRKc052SmpLaG0zOTdj?= =?utf-8?B?Yzdja3VIZHhremwwMkdSRHFDZXk4ZHFEOFVKUjNNZHh4dW5xRzF2Wm5ITGhE?= =?utf-8?B?WDg3RnNnRDcxc25hMWd5NFNacElWM1ZEUng4YU1CMG9RcU91UHZrT3lML1Ru?= =?utf-8?B?YURydzJBRDIyS3ZJc2JrT1ZkZDloL0xBWmYvQWhvR0dNWU9vRzlxMDZDN0lm?= =?utf-8?B?U1RlZHY5cmd4WUVsRk1RZk1KTGNrc29QU2xFNm82RWVpVndIb2xINk1kWndn?= =?utf-8?B?OExMeWswY2g5YnJBSW5BYWoxR0VwcjBYVUZqQng0OGVIcW9NUHZTT3hBVzlX?= =?utf-8?B?VnhjREJibW9GZ1duTUg1SmNzT3dJOTRwYlBmUmR4S3VqajNhWm5kcjVLcFlF?= =?utf-8?B?RHRaOGVzOU92cWxrRTQ2bkhIVFJIL28vdGlIai9md3c4aHk1RTF6clFtK1Rn?= =?utf-8?B?YUJYTUw5amFnY0t6N2xxTXgySXhza3J4ZHJWd2JmNkVNcSsrMlErMWh0M3RV?= =?utf-8?B?SlpNcDVuRmhaSUFhQkoweWVweEdaV01Jd2ZrKzN0b1pkenByNVJRTUZWZEF1?= =?utf-8?B?dHRJbE5aSTdjM3VZSm45dGlGN1NKenk0QXdPeWlleFV4aGdMUzJKelU0dU8r?= =?utf-8?B?ZnVad1g1M2FUR016SUlKR1Jqcmk3K1BnTmh0azI3SlFVTmtreDRNbkdoVG1z?= =?utf-8?B?MTFKeVZrK1lxZkIyYm0wKzFHQXQxNGp2blJLUHpKakxONkxXSmVRckk2b0Vw?= =?utf-8?B?bC9LMDA4M05EMXlxbU5CaDBjL0NEVG1tRmhhSGFLWkVJOG10UjB2VUxTNVBj?= =?utf-8?B?ZmVhS3JMS0tqT3FVblJ3aWtNSW95d2VmN0lzNDFEWmFJbUJON1RQVXdpZUxj?= =?utf-8?B?RFFaVE5NU21xTnA1am9Tb1M5MldLdzN4bGp0Ykg5bEE0Q21aMTd0dnVSeW1L?= =?utf-8?B?TCs3ZWR5aEczcXRaeGxDUXNtWXErZ3kwTmNCVGYrYkFjdHVGUW9iUXVLV3NL?= =?utf-8?B?c00yZEMvNjBJeEY1YS82STcxVkVGRW9vRWNaam1maXJ3WllvbWlCRStTTzA5?= =?utf-8?B?M3VlNERwSS94Ky9ZZVZRQkJMZjhUWENCSzAyRm0ySkc2eDFpZmVpVXdXd2ZT?= =?utf-8?B?NDQ2dGt5WFZGT2N3OUxudnlsNUNxTm5rRjV3RjFITWcyUjlQTkFjc2NXOTRv?= =?utf-8?B?WDFmNXpldVYxTVBTQTg1cllNaC9XcWVPNEx6VGZUZ1JzQ2Z1OFhkaG9CZmJN?= =?utf-8?B?RmJid2JJaGVPRWR2ZGhRUmJPOGZNODVLNHBieDVNcWMvZE9kTEZVM3JxK0pE?= =?utf-8?B?VUUwajFlZitEUmIwQ1JIMWd4L3pua01tMy9ETHpCNENHZjhIQ3laWW1BbkN1?= =?utf-8?B?SjIvc1YrR0NrOXFmVHlodFQ4Vmp0SFFYaUFGK0dBWGNUUzV5SUFxdW5iUXR6?= =?utf-8?B?emNJaXFWc1dHZDlGbWphY3hLWXAwSTlsS2FRclhUR3BFeUJwQ0dNV1BGaEc4?= =?utf-8?B?U1IybHBWS3J4KzRIL1BPVTZka3NzdjJlNmVvL01HdnlYa1I5aGNaOElnNWt6?= =?utf-8?B?MUt4M3JhWTdHR1BuMExYcnZQTGc1MGM5M29COXZCWCtHdVBGQ2phNnhreFZV?= =?utf-8?B?NzIrc1VHMVFFcEF3V296aFRLVmY5RUozM3N3QVYyNjV6bHRDQnJPUT09?= Content-Type: multipart/mixed; boundary="_002_OS0PR01MB5716AD7C0FE7386630BDBAAB94D79OS0PR01MB5716jpnp_" MIME-Version: 1.0 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: 877f81af-2d74-4fc0-dbb9-08da3d46fbbb X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2022 05:33:50.6588 (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: e8CAD00P9+iM6KzSVG09kp72Q58G8prQn8c6iktWtg7UCUpSsZoHR+XuROdZPbHGqqIZ+Fwecck70GxpK9lUUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB9957 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OS0PR01MB5716AD7C0FE7386630BDBAAB94D79OS0PR01MB5716jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gRnJpZGF5LCBNYXkgMjAsIDIwMjIgMTE6MDYgQU0gQW1pdCBLYXBpbGEgPGFtaXQua2FwaWxh MTZAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IE9uIFRodSwgTWF5IDE5LCAyMDIyIGF0IDc6NTQg UE0gVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPiB3cm90ZToNCj4gDQo+ID4gIEV2ZW4gbW9y ZSB0byB0aGUgcG9pbnQsIGhvdyBjYW4gd2UNCj4gPiBoYXZlIGEgc3Vic2NyaWJlciBkbyB0aGF0 IGJ5IHJlbHlpbmcgb24gdmlldyBjb2x1bW5zIHRoYXQgZG9uJ3QgZXhpc3QNCj4gPiBpbiBvbGRl ciB2ZXJzaW9ucz8NCj4gPg0KPiANCj4gV2UgbmVlZCBhIHZlcnNpb24gY2hlY2sgbGlrZSAoaWYN Cj4gKHdhbHJjdl9zZXJ2ZXJfdmVyc2lvbihMb2dSZXBXb3JrZXJXYWxSY3ZDb25uKSA+PSAxNTAw MDApKSBmb3IgdGhhdC4NCg0KVGhhbmtzIGZvciBwb2ludGluZyBpdCBvdXQuIEhlcmUgaXMgdGhl IG5ldyB2ZXJzaW9uIHBhdGNoIHdoaWNoIGFkZCB0aGlzIHZlcnNpb24gY2hlY2suDQoNCkJlc3Qg cmVnYXJkcywNCkhvdSB6ag0K --_002_OS0PR01MB5716AD7C0FE7386630BDBAAB94D79OS0PR01MB5716jpnp_ Content-Type: application/octet-stream; name="v4-0002-Prohibit-combining-publications-with-different-colum.patch" Content-Description: v4-0002-Prohibit-combining-publications-with-different-colum.patch Content-Disposition: attachment; filename="v4-0002-Prohibit-combining-publications-with-different-colum.patch"; size=22849; creation-date="Tue, 24 May 2022 05:28:00 GMT"; modification-date="Tue, 24 May 2022 05:33:49 GMT" Content-Transfer-Encoding: base64 RnJvbSAwODBkM2U4YWM1ZDllYzQ0YjUyZjBhMDNlNmQyMDRkN2Y0NTFhNzc5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiaG91emouZm5zdCIgPGhvdXpqLmZuc3RAY24uZnVqaXRzdS5j b20+CkRhdGU6IEZyaSwgMTMgTWF5IDIwMjIgMTM6MTk6NDkgKzA4MDAKU3ViamVjdDogW1BBVENI XSBQcm9oaWJpdCBjb21iaW5pbmcgcHVibGljYXRpb25zIHdpdGggZGlmZmVyZW50IGNvbHVtbiBs aXN0cy4KClRoZSBtYWluIHB1cnBvc2Ugb2YgaW50cm9kdWNpbmcgYSBjb2x1bW4gbGlzdCBpcyB0 byBoYXZlIHN0YXRpY2FsbHkKZGlmZmVyZW50IHNoYXBlcyBvbiBwdWJsaXNoZXIgYW5kIHN1YnNj cmliZXIgb3IgaGlkZSBzZW5zaXRpdmUgY29sdW1uCmRhdGEuIEluIGJvdGggY2FzZXMsIGl0IGRv ZXNuJ3Qgc2VlbSB0byBtYWtlIHNlbnNlIHRvIGNvbWJpbmUgY29sdW1uCmxpc3RzLgoKU28sIHdl IGRpc2FsbG93IHRoZSBjYXNlcyB3aGVyZSB0aGUgY29sdW1uIGxpc3QgaXMgZGlmZmVyZW50IGZv ciB0aGUgc2FtZQp0YWJsZSB3aGVuIGNvbWJpbmluZyBwdWJsaWNhdGlvbnMuIEl0IGNhbiBiZSBs YXRlciBleHRlbmRlZCB0byBjb21iaW5lIHRoZQpjb2x1bW4gbGlzdHMgZm9yIHNlbGVjdGl2ZSBj YXNlcyB3aGVyZSByZXF1aXJlZC4KClJlcG9ydGVkLWJ5OiBBbHZhcm8gSGVycmVyYQpBdXRob3I6 IEhvdSBaaGlqaWUKUmV2aWV3ZWQtYnk6IEFtaXQgS2FwaWxhLCBBbHZhcm8gSGVycmVyYSwgU2hp IFl1LCBUYWthbWljaGkgT3N1bWkKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS8yMDIy MDQyNTE1NDgubXVkcTdqYnFuaDdyQGFsdmhlcnJlLnBnc3FsCi0tLQogZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgICB8ICAxMiArKy0KIGRvYy9zcmMvc2dtbC9yZWYv Y3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sICAgfCAgIDUgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jICAgICB8ICAzMCArKysrLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMgfCAgNzIgKysrKysrLS0tLS0tLQogc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyB8ICA4MCArKysrKysrLS0tLS0tLS0KIHNy Yy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMV9jb2x1bW5fbGlzdC5wbCAgfCAxNTAgKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxODIgaW5zZXJ0aW9ucygrKSwg MTY3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVi bGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbApp bmRleCBlMmNjZTQ5Li5mMDM5MzNhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVy X3B1YmxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlv bi5zZ21sCkBAIC0xMTYsNyArMTE2LDE3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAKICAg ICAgPHBhcmE+CiAgICAgICBPcHRpb25hbGx5LCBhIGNvbHVtbiBsaXN0IGNhbiBiZSBzcGVjaWZp ZWQuICBTZWUgPHhyZWYKLSAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbiIvPiBm b3IgZGV0YWlscy4KKyAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbiIvPiBmb3Ig ZGV0YWlscy4gTm90ZSB0aGF0IGEgc3Vic2NyaXB0aW9uCisgICAgICBoYXZpbmcgc2V2ZXJhbCBw dWJsaWNhdGlvbnMgaW4gd2hpY2ggdGhlIHNhbWUgdGFibGUgaGFzIGJlZW4gcHVibGlzaGVkCisg ICAgICB3aXRoIGRpZmZlcmVudCBjb2x1bW4gbGlzdHMgaXMgbm90IHN1cHBvcnRlZC4gU28sIGNo YW5naW5nIHRoZSBjb2x1bW4KKyAgICAgIGxpc3RzIG9mIHRoZSB0YWJsZXMgYmVpbmcgc3Vic2Ny aWJlZCBjb3VsZCBjYXVzZSBpbmNvbnNpc3RlbmN5IG9mIGNvbHVtbgorICAgICAgbGlzdHMgYW1v bmcgcHVibGljYXRpb25zIGluIHdoaWNoIGNhc2UgPGNvbW1hbmQ+QUxURVIgUFVCTElDQVRJT048 L2NvbW1hbmQ+CisgICAgICBjb21tYW5kIHdpbGwgYmUgc3VjY2Vzc2Z1bCBidXQgbGF0ZXIgdGhl IFdhbFNlbmRlciBpbiBwdWJsaXNoZXIgb3IgdGhlCisgICAgICBzdWJzY3JpYmVyIG1heSB0aHJv dyBhbiBlcnJvci4gSW4gdGhpcyBzY2VuYXJpbywgdGhlIHVzZXIgbmVlZHMgdG8KKyAgICAgIHJl Y3JlYXRlIHRoZSBzdWJzY3JpcHRpb24gYWZ0ZXIgYWRqdXN0aW5nIHRoZSBjb2x1bW4gbGlzdCBv ciBkcm9wIHRoZQorICAgICAgcHJvYmxlbWF0aWMgcHVibGljYXRpb24gdXNpbmcKKyAgICAgIDxs aXRlcmFsPkFMVEVSIFNVQlNDUklQVElPTiAuLi4gRFJPUCBQVUJMSUNBVElPTjwvbGl0ZXJhbD4g YW5kIHRoZW4gYWRkCisgICAgICBpdCBiYWNrIGFmdGVyIGFkanVzdGluZyB0aGUgY29sdW1uIGxp c3QuCiAgICAgIDwvcGFyYT4KIAogICAgICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVf c3Vic2NyaXB0aW9uLnNnbWwKaW5kZXggMjAzYmI0MS4uZjZmODJhMCAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKQEAgLTM1Niw2ICszNTYsMTEgQEAgQ1JFQVRF IFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3Vic2NyaXB0aW9u X25hbWU8L3JlcGxhY2VhYmwKICAgPC9wYXJhPgogCiAgIDxwYXJhPgorICAgU3Vic2NyaXB0aW9u IGhhdmluZyBzZXZlcmFsIHB1YmxpY2F0aW9ucyBpbiB3aGljaCB0aGUgc2FtZSB0YWJsZSBoYXMg YmVlbgorICAgcHVibGlzaGVkIHdpdGggZGlmZmVyZW50IGNvbHVtbiBsaXN0cyBpcyBub3Qgc3Vw cG9ydGVkLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CiAgICBXZSBhbGxvdyBub24tZXhpc3RlbnQg cHVibGljYXRpb25zIHRvIGJlIHNwZWNpZmllZCBzbyB0aGF0IHVzZXJzIGNhbiBhZGQKICAgIHRo b3NlIGxhdGVyLiBUaGlzIG1lYW5zCiAgICA8bGluayBsaW5rZW5kPSJjYXRhbG9nLXBnLXN1YnNj cmlwdGlvbiI+PHN0cnVjdG5hbWU+cGdfc3Vic2NyaXB0aW9uPC9zdHJ1Y3RuYW1lPjwvbGluaz4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCA2OTBjZGFhLi42NDFj YWY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBAIC0xNzUzLDcg KzE3NTMsOCBAQCBBbHRlclN1YnNjcmlwdGlvbk93bmVyX29pZChPaWQgc3ViaWQsIE9pZCBuZXdP d25lcklkKQogCiAvKgogICogR2V0IHRoZSBsaXN0IG9mIHRhYmxlcyB3aGljaCBiZWxvbmcgdG8g c3BlY2lmaWVkIHB1YmxpY2F0aW9ucyBvbiB0aGUKLSAqIHB1Ymxpc2hlciBjb25uZWN0aW9uLgor ICogcHVibGlzaGVyIGNvbm5lY3Rpb24uIEFsc28gZ2V0IHRoZSBjb2x1bW4gbGlzdCBmb3IgZWFj aCB0YWJsZSBhbmQgY2hlY2sgaWYKKyAqIGNvbHVtbiBsaXN0cyBhcmUgdGhlIHNhbWUgaW4gZGlm ZmVyZW50IHB1YmxpY2F0aW9ucy4KICAqLwogc3RhdGljIExpc3QgKgogZmV0Y2hfdGFibGVfbGlz dChXYWxSZWNlaXZlckNvbm4gKndyY29ubiwgTGlzdCAqcHVibGljYXRpb25zKQpAQCAtMTc2MSwx NyArMTc2MiwyMyBAQCBmZXRjaF90YWJsZV9saXN0KFdhbFJlY2VpdmVyQ29ubiAqd3Jjb25uLCBM aXN0ICpwdWJsaWNhdGlvbnMpCiAJV2FsUmN2RXhlY1Jlc3VsdCAqcmVzOwogCVN0cmluZ0luZm9E YXRhIGNtZDsKIAlUdXBsZVRhYmxlU2xvdCAqc2xvdDsKLQlPaWQJCQl0YWJsZVJvd1syXSA9IHtU RVhUT0lELCBURVhUT0lEfTsKKwlPaWQJCQl0YWJsZVJvd1szXSA9IHtURVhUT0lELCBURVhUT0lE LCBOQU1FQVJSQVlPSUR9OwogCUxpc3QJICAgKnRhYmxlbGlzdCA9IE5JTDsKKwlib29sCQljaGVj a19jb2x1bW5saXN0ID0gKHdhbHJjdl9zZXJ2ZXJfdmVyc2lvbih3cmNvbm4pID49IDE1MDAwMCk7 CiAKIAlpbml0U3RyaW5nSW5mbygmY21kKTsKLQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQs ICJTRUxFQ1QgRElTVElOQ1QgdC5zY2hlbWFuYW1lLCB0LnRhYmxlbmFtZVxuIgotCQkJCQkJICAg IiAgRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3RhYmxlcyB0XG4iCisJYXBwZW5kU3Ry aW5nSW5mb1N0cmluZygmY21kLCAiU0VMRUNUIERJU1RJTkNUIHQuc2NoZW1hbmFtZSwgdC50YWJs ZW5hbWUgXG4iKTsKKworCS8qIEdldCBjb2x1bW4gbGlzdHMgZm9yIGVhY2ggcmVsYXRpb24gaWYg dGhlIHB1Ymxpc2hlciBzdXBwb3J0cyBpdCAqLworCWlmIChjaGVja19jb2x1bW5saXN0KQorCQlh cHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICIsIHQuYXR0bmFtZXNcbiIpOworCisJYXBwZW5k U3RyaW5nSW5mb1N0cmluZygmY21kLCAiRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3Rh YmxlcyB0XG4iCiAJCQkJCQkgICAiIFdIRVJFIHQucHVibmFtZSBJTiAoIik7CiAJZ2V0X3B1Ymxp Y2F0aW9uc19zdHIocHVibGljYXRpb25zLCAmY21kLCB0cnVlKTsKIAlhcHBlbmRTdHJpbmdJbmZv Q2hhcigmY21kLCAnKScpOwogCi0JcmVzID0gd2FscmN2X2V4ZWMod3Jjb25uLCBjbWQuZGF0YSwg MiwgdGFibGVSb3cpOworCXJlcyA9IHdhbHJjdl9leGVjKHdyY29ubiwgY21kLmRhdGEsIGNoZWNr X2NvbHVtbmxpc3QgPyAzIDogMiwgdGFibGVSb3cpOwogCXBmcmVlKGNtZC5kYXRhKTsKIAogCWlm IChyZXMtPnN0YXR1cyAhPSBXQUxSQ1ZfT0tfVFVQTEVTKQpAQCAtMTc5NSw3ICsxODAyLDE4IEBA IGZldGNoX3RhYmxlX2xpc3QoV2FsUmVjZWl2ZXJDb25uICp3cmNvbm4sIExpc3QgKnB1YmxpY2F0 aW9ucykKIAkJQXNzZXJ0KCFpc251bGwpOwogCiAJCXJ2ID0gbWFrZVJhbmdlVmFyKG5zcG5hbWUs IHJlbG5hbWUsIC0xKTsKLQkJdGFibGVsaXN0ID0gbGFwcGVuZCh0YWJsZWxpc3QsIHJ2KTsKKwor CQkvKgorCQkgKiBXZSBkb24ndCBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlIGNvbHVtbiBsaXN0IGlz IGRpZmZlcmVudCBmb3IgdGhlCisJCSAqIHNhbWUgdGFibGUgaW4gZGlmZmVyZW50IHB1YmxpY2F0 aW9ucy4KKwkJICovCisJCWlmIChjaGVja19jb2x1bW5saXN0ICYmIGxpc3RfbWVtYmVyKHRhYmxl bGlzdCwgcnYpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJyY29kZShFUlJDT0RFX0ZFQVRV UkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCWVycm1zZygiY2Fubm90IHVzZSBkaWZmZXJlbnQgY29s dW1uIGxpc3RzIGZvciB0YWJsZSBcIiVzLiVzXCIgaW4gZGlmZmVyZW50IHB1YmxpY2F0aW9ucyIs CisJCQkJCQkgICBuc3BuYW1lLCByZWxuYW1lKSk7CisJCWVsc2UKKwkJCXRhYmxlbGlzdCA9IGxh cHBlbmQodGFibGVsaXN0LCBydik7CiAKIAkJRXhlY0NsZWFyVHVwbGUoc2xvdCk7CiAJfQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKaW5kZXggOTk0YzdhMC4u ZTQ2MzNiZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJs ZXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5j CkBAIC03NTMsMTcgKzc1Myw2IEBAIGZldGNoX3JlbW90ZV90YWJsZV9pbmZvKGNoYXIgKm5zcG5h bWUsIGNoYXIgKnJlbG5hbWUsCiAJLyoKIAkgKiBHZXQgY29sdW1uIGxpc3RzIGZvciBlYWNoIHJl bGF0aW9uLgogCSAqCi0JICogRm9yIGluaXRpYWwgc3luY2hyb25pemF0aW9uLCBjb2x1bW4gbGlz dHMgY2FuIGJlIGlnbm9yZWQgaW4gZm9sbG93aW5nCi0JICogY2FzZXM6Ci0JICoKLQkgKiAxKSBv bmUgb2YgdGhlIHN1YnNjcmliZWQgcHVibGljYXRpb25zIGZvciB0aGUgdGFibGUgaGFzbid0IHNw ZWNpZmllZAotCSAqIGFueSBjb2x1bW4gbGlzdAotCSAqCi0JICogMikgb25lIG9mIHRoZSBzdWJz Y3JpYmVkIHB1YmxpY2F0aW9ucyBoYXMgcHViYWxsdGFibGVzIHNldCB0byB0cnVlCi0JICoKLQkg KiAzKSBvbmUgb2YgdGhlIHN1YnNjcmliZWQgcHVibGljYXRpb25zIGlzIGRlY2xhcmVkIGFzIEFM TCBUQUJMRVMgSU4KLQkgKiBTQ0hFTUEgdGhhdCBpbmNsdWRlcyB0aGlzIHJlbGF0aW9uCi0JICoK IAkgKiBXZSBuZWVkIHRvIGRvIHRoaXMgYmVmb3JlIGZldGNoaW5nIGluZm8gYWJvdXQgY29sdW1u IG5hbWVzIGFuZCB0eXBlcywKIAkgKiBzbyB0aGF0IHdlIGNhbiBza2lwIGNvbHVtbnMgdGhhdCBz aG91bGQgbm90IGJlIHJlcGxpY2F0ZWQuCiAJICovCkBAIC03NzEsNyArNzYwLDcgQEAgZmV0Y2hf cmVtb3RlX3RhYmxlX2luZm8oY2hhciAqbnNwbmFtZSwgY2hhciAqcmVsbmFtZSwKIAl7CiAJCVdh bFJjdkV4ZWNSZXN1bHQgKnB1YnJlczsKIAkJVHVwbGVUYWJsZVNsb3QgKnNsb3Q7Ci0JCU9pZAkJ CWF0dHJzUm93W10gPSB7SU5UMk9JRH07CisJCU9pZAkJCWF0dHJzUm93W10gPSB7SU5UMlZFQ1RP Uk9JRH07CiAJCVN0cmluZ0luZm9EYXRhIHB1Yl9uYW1lczsKIAkJYm9vbAkJZmlyc3QgPSB0cnVl OwogCkBAIC03ODYsMTkgKzc3NSwxNyBAQCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpu c3BuYW1lLCBjaGFyICpyZWxuYW1lLAogCiAJCS8qCiAJCSAqIEZldGNoIGluZm8gYWJvdXQgY29s dW1uIGxpc3RzIGZvciB0aGUgcmVsYXRpb24gKGZyb20gYWxsIHRoZQotCQkgKiBwdWJsaWNhdGlv bnMpLiBXZSB1bm5lc3QgdGhlIGludDJ2ZWN0b3IgdmFsdWVzLCBiZWNhdXNlIHRoYXQgbWFrZXMK LQkJICogaXQgZWFzaWVyIHRvIGNvbWJpbmUgbGlzdHMgYnkgc2ltcGx5IGFkZGluZyB0aGUgYXR0 bnVtcyB0byBhIG5ldwotCQkgKiBiaXRtYXAgKHdpdGhvdXQgaGF2aW5nIHRvIHBhcnNlIHRoZSBp bnQydmVjdG9yIGRhdGEpLiBUaGlzCi0JCSAqIHByZXNlcnZlcyBOVUxMIHZhbHVlcywgc28gdGhh dCBpZiBvbmUgb2YgdGhlIHB1YmxpY2F0aW9ucyBoYXMgbm8KLQkJICogY29sdW1uIGxpc3QsIHdl J2xsIGtub3cgdGhhdC4KKwkJICogcHVibGljYXRpb25zKS4KIAkJICovCiAJCXJlc2V0U3RyaW5n SW5mbygmY21kKTsKIAkJYXBwZW5kU3RyaW5nSW5mbygmY21kLAotCQkJCQkJICJTRUxFQ1QgRElT VElOQ1QgdW5uZXN0IgorCQkJCQkJICJTRUxFQ1QgRElTVElOQ1QiCisJCQkJCQkgIiAgKENBU0Ug V0hFTiAoYXJyYXlfbGVuZ3RoKGdwdC5hdHRycywgMSkgPSBjLnJlbG5hdHRzKSIKKwkJCQkJCSAi ICAgVEhFTiBOVUxMIEVMU0UgZ3B0LmF0dHJzIEVORCkiCiAJCQkJCQkgIiAgRlJPTSBwZ19wdWJs aWNhdGlvbiBwLCIKLQkJCQkJCSAiICBMQVRFUkFMIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMo cC5wdWJuYW1lKSBncHQiCi0JCQkJCQkgIiAgTEVGVCBPVVRFUiBKT0lOIHVubmVzdChncHQuYXR0 cnMpIE9OIFRSVUUiCi0JCQkJCQkgIiBXSEVSRSBncHQucmVsaWQgPSAldSIKKwkJCQkJCSAiICBM QVRFUkFMIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMocC5wdWJuYW1lKSBncHQsIgorCQkJCQkJ ICIgIHBnX2NsYXNzIGMiCisJCQkJCQkgIiBXSEVSRSBncHQucmVsaWQgPSAldSBBTkQgYy5vaWQg PSBncHQucmVsaWQiCiAJCQkJCQkgIiAgIEFORCBwLnB1Ym5hbWUgSU4gKCAlcyApIiwKIAkJCQkJ CSBscmVsLT5yZW1vdGVpZCwKIAkJCQkJCSBwdWJfbmFtZXMuZGF0YSk7CkBAIC04MTMsMjYgKzgw MCw0MyBAQCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpuc3BuYW1lLCBjaGFyICpyZWxu YW1lLAogCQkJCQkJCW5zcG5hbWUsIHJlbG5hbWUsIHB1YnJlcy0+ZXJyKSkpOwogCiAJCS8qCi0J CSAqIE1lcmdlIHRoZSBjb2x1bW4gbGlzdHMgKGZyb20gZGlmZmVyZW50IHB1YmxpY2F0aW9ucykg YnkgY3JlYXRpbmcgYQotCQkgKiBzaW5nbGUgYml0bWFwIHdpdGggYWxsIHRoZSBhdHRudW1zLiBJ ZiB3ZSBmaW5kIGEgTlVMTCB2YWx1ZSwgdGhhdAotCQkgKiBtZWFucyBvbmUgb2YgdGhlIHB1Ymxp Y2F0aW9ucyBoYXMgbm8gY29sdW1uIGxpc3QgZm9yIHRoZSB0YWJsZQotCQkgKiB3ZSdyZSBzeW5j aW5nLgorCQkgKiBXZSBkb24ndCBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlIHRoZSBjb2x1bW4gbGlz dCBpcyBkaWZmZXJlbnQgZm9yIHRoZQorCQkgKiBzYW1lIHRhYmxlIHdoZW4gY29tYmluaW5nIHB1 YmxpY2F0aW9ucy4gU28gdGhlcmUgc2hvdWxkIGJlIG9ubHkgb25lCisJCSAqIHJvdyByZXR1cm5l ZC4gQWx0aG91Z2ggd2UgYWxyZWFkeSBjaGVja2VkIHRoaXMgd2hlbiBjcmVhdGluZworCQkgKiBz dWJzY3JpcHRpb24sIHdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaGVyZSBpbiBjYXNlIHRoZSBjb2x1 bW4gbGlzdAorCQkgKiB3YXMgY2hhbmdlZCBhZnRlciBjcmVhdGluZyB0aGUgc3Vic2NyaXB0aW9u IGFuZCBiZWZvcmUgdGhlIHN5bmMKKwkJICogd29ya2VyIGlzIHN0YXJ0ZWQuCisJCSAqLworCQlp ZiAodHVwbGVzdG9yZV90dXBsZV9jb3VudChwdWJyZXMtPnR1cGxlc3RvcmUpID4gMSkKKwkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQp LAorCQkJCQllcnJtc2coImNhbm5vdCB1c2UgZGlmZmVyZW50IGNvbHVtbiBsaXN0cyBmb3IgdGFi bGUgXCIlcy4lc1wiIGluIGRpZmZlcmVudCBwdWJsaWNhdGlvbnMiLAorCQkJCQkJICAgbnNwbmFt ZSwgcmVsbmFtZSkpOworCisJCS8qCisJCSAqIEdldCB0aGUgY29sdW1uIGxpc3QgYW5kIGJ1aWxk IGEgc2luZ2xlIGJpdG1hcCB3aXRoIHRoZSBhdHRudW1zLgorCQkgKgorCQkgKiBJZiB3ZSBmaW5k IGEgTlVMTCB2YWx1ZSwgaXQgbWVhbnMgYWxsIHRoZSBjb2x1bW5zIHNob3VsZCBiZQorCQkgKiBy ZXBsaWNhdGVkLgogCQkgKi8KIAkJc2xvdCA9IE1ha2VTaW5nbGVUdXBsZVRhYmxlU2xvdChwdWJy ZXMtPnR1cGxlZGVzYywgJlRUU09wc01pbmltYWxUdXBsZSk7Ci0JCXdoaWxlICh0dXBsZXN0b3Jl X2dldHR1cGxlc2xvdChwdWJyZXMtPnR1cGxlc3RvcmUsIHRydWUsIGZhbHNlLCBzbG90KSkKKwkJ aWYgKHR1cGxlc3RvcmVfZ2V0dHVwbGVzbG90KHB1YnJlcy0+dHVwbGVzdG9yZSwgdHJ1ZSwgZmFs c2UsIHNsb3QpKQogCQl7CiAJCQlEYXR1bQkJY2Z2YWwgPSBzbG90X2dldGF0dHIoc2xvdCwgMSwg JmlzbnVsbCk7CiAKLQkJCS8qIE5VTEwgbWVhbnMgZW1wdHkgY29sdW1uIGxpc3QsIHNvIHdlJ3Jl IGRvbmUuICovCi0JCQlpZiAoaXNudWxsKQorCQkJaWYgKCFpc251bGwpCiAJCQl7Ci0JCQkJYm1z X2ZyZWUoaW5jbHVkZWRfY29scyk7Ci0JCQkJaW5jbHVkZWRfY29scyA9IE5VTEw7Ci0JCQkJYnJl YWs7Ci0JCQl9CisJCQkJQXJyYXlUeXBlICAqYXJyOworCQkJCWludAkJCW5lbGVtczsKKwkJCQlp bnQxNgkgICAqZWxlbXM7CiAKLQkJCWluY2x1ZGVkX2NvbHMgPSBibXNfYWRkX21lbWJlcihpbmNs dWRlZF9jb2xzLAotCQkJCQkJCQkJCSAgIERhdHVtR2V0SW50MTYoY2Z2YWwpKTsKKwkJCQlhcnIg PSBEYXR1bUdldEFycmF5VHlwZVAoY2Z2YWwpOworCQkJCW5lbGVtcyA9IEFSUl9ESU1TKGFycilb MF07CisJCQkJZWxlbXMgPSAoaW50MTYgKikgQVJSX0RBVEFfUFRSKGFycik7CisKKwkJCQlmb3Ig KG5hdHQgPSAwOyBuYXR0IDwgbmVsZW1zOyBuYXR0KyspCisJCQkJCWluY2x1ZGVkX2NvbHMgPSBi bXNfYWRkX21lbWJlcihpbmNsdWRlZF9jb2xzLCBlbGVtc1tuYXR0XSk7CisJCQl9CiAKIAkJCUV4 ZWNDbGVhclR1cGxlKHNsb3QpOwogCQl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9wZ291dHB1dC9wZ291dHB1dC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRw dXQvcGdvdXRwdXQuYwppbmRleCA0MmMwNmFmLi5lOTA3OWJkIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCisrKyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKQEAgLTk3OSwzMCArOTc5LDMxIEBAIHBnb3V0 cHV0X2NvbHVtbl9saXN0X2luaXQoUEdPdXRwdXREYXRhICpkYXRhLCBMaXN0ICpwdWJsaWNhdGlv bnMsCiAJCQkJCQkgIFJlbGF0aW9uU3luY0VudHJ5ICplbnRyeSkKIHsKIAlMaXN0Q2VsbCAgICps YzsKKwlib29sCQlmaXJzdCA9IHRydWU7CisJUmVsYXRpb24JcmVsYXRpb24gPSBSZWxhdGlvbklk R2V0UmVsYXRpb24oZW50cnktPnB1Ymxpc2hfYXNfcmVsaWQpOwogCiAJLyoKIAkgKiBGaW5kIGlm IHRoZXJlIGFyZSBhbnkgY29sdW1uIGxpc3RzIGZvciB0aGlzIHJlbGF0aW9uLiBJZiB0aGVyZSBh cmUsCi0JICogYnVpbGQgYSBiaXRtYXAgbWVyZ2luZyBhbGwgdGhlIGNvbHVtbiBsaXN0cy4KLQkg KgotCSAqIEFsbCB0aGUgZ2l2ZW4gcHVibGljYXRpb24tdGFibGUgbWFwcGluZ3MgbXVzdCBiZSBj aGVja2VkLgorCSAqIGJ1aWxkIGEgYml0bWFwIHVzaW5nIHRoZSBjb2x1bW4gbGlzdHMuCiAJICoK IAkgKiBNdWx0aXBsZSBwdWJsaWNhdGlvbnMgbWlnaHQgaGF2ZSBtdWx0aXBsZSBjb2x1bW4gbGlz dHMgZm9yIHRoaXMKIAkgKiByZWxhdGlvbi4KIAkgKgorCSAqIE5vdGUgdGhhdCB3ZSBkb24ndCBz dXBwb3J0IHRoZSBjYXNlIHdoZXJlIHRoZSBjb2x1bW4gbGlzdCBpcyBkaWZmZXJlbnQKKwkgKiBm b3IgdGhlIHNhbWUgdGFibGUgd2hlbiBjb21iaW5pbmcgcHVibGljYXRpb25zLiBCdXQgb25lIGNh biBsYXRlciBjaGFuZ2UKKwkgKiB0aGUgcHVibGljYXRpb24gc28gd2Ugc3RpbGwgbmVlZCB0byBj aGVjayBhbGwgdGhlIGdpdmVuCisJICogcHVibGljYXRpb24tdGFibGUgbWFwcGluZ3MgYW5kIHJl cG9ydCBhbiBlcnJvciBpZiBhbnkgcHVibGljYXRpb25zIGhhdmUKKwkgKiBhIGRpZmZlcmVudCBj b2x1bW4gbGlzdC4KKwkgKgogCSAqIEZPUiBBTEwgVEFCTEVTIGFuZCBGT1IgQUxMIFRBQkxFUyBJ TiBTQ0hFTUEgaW1wbGllcyAiZG9uJ3QgdXNlIGNvbHVtbgotCSAqIGxpc3QiIHNvIGl0IHRha2Vz IHByZWNlZGVuY2UuCisJICogbGlzdCIuCiAJICovCiAJZm9yZWFjaChsYywgcHVibGljYXRpb25z KQogCXsKIAkJUHVibGljYXRpb24gKnB1YiA9IGxmaXJzdChsYyk7CiAJCUhlYXBUdXBsZQljZnR1 cGxlID0gTlVMTDsKIAkJRGF0dW0JCWNmZGF0dW0gPSAwOwotCi0JCS8qCi0JCSAqIEFzc3VtZSB0 aGVyZSdzIG5vIGNvbHVtbiBsaXN0LiBPbmx5IGlmIHdlIGZpbmQgcGdfcHVibGljYXRpb25fcmVs Ci0JCSAqIGVudHJ5IHdpdGggYSBjb2x1bW4gbGlzdCB3ZSdsbCBzd2l0Y2ggaXQgdG8gZmFsc2Uu Ci0JCSAqLwotCQlib29sCQlwdWJfbm9fbGlzdCA9IHRydWU7CisJCUJpdG1hcHNldAkqY29scyA9 IE5VTEw7CiAKIAkJLyoKIAkJICogSWYgdGhlIHB1YmxpY2F0aW9uIGlzIEZPUiBBTEwgVEFCTEVT IHRoZW4gaXQgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcwpAQCAtMTAxMSw2ICsxMDEyLDggQEAgcGdv dXRwdXRfY29sdW1uX2xpc3RfaW5pdChQR091dHB1dERhdGEgKmRhdGEsIExpc3QgKnB1YmxpY2F0 aW9ucywKIAkJICovCiAJCWlmICghcHViLT5hbGx0YWJsZXMpCiAJCXsKKwkJCWJvb2wJCXB1Yl9u b19saXN0ID0gdHJ1ZTsKKwogCQkJLyoKIAkJCSAqIENoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2Yg YSBjb2x1bW4gbGlzdCBpbiB0aGlzIHB1YmxpY2F0aW9uLgogCQkJICoKQEAgLTEwMjQsNTEgKzEw MjcsNDggQEAgcGdvdXRwdXRfY29sdW1uX2xpc3RfaW5pdChQR091dHB1dERhdGEgKmRhdGEsIExp c3QgKnB1YmxpY2F0aW9ucywKIAogCQkJaWYgKEhlYXBUdXBsZUlzVmFsaWQoY2Z0dXBsZSkpCiAJ CQl7Ci0JCQkJLyoKLQkJCQkgKiBMb29rdXAgdGhlIGNvbHVtbiBsaXN0IGF0dHJpYnV0ZS4KLQkJ CQkgKgotCQkJCSAqIE5vdGU6IFdlIHVwZGF0ZSB0aGUgcHViX25vX2xpc3QgdmFsdWUgZGlyZWN0 bHksIGJlY2F1c2UgaWYKLQkJCQkgKiB0aGUgdmFsdWUgaXMgTlVMTCwgd2UgaGF2ZSBubyBsaXN0 IChhbmQgdmljZSB2ZXJzYSkuCi0JCQkJICovCisJCQkJLyogTG9va3VwIHRoZSBjb2x1bW4gbGlz dCBhdHRyaWJ1dGUuICovCiAJCQkJY2ZkYXR1bSA9IFN5c0NhY2hlR2V0QXR0cihQVUJMSUNBVElP TlJFTE1BUCwgY2Z0dXBsZSwKIAkJCQkJCQkJCQkgIEFudW1fcGdfcHVibGljYXRpb25fcmVsX3By YXR0cnMsCiAJCQkJCQkJCQkJICAmcHViX25vX2xpc3QpOwogCi0JCQkJLyoKLQkJCQkgKiBCdWls ZCB0aGUgY29sdW1uIGxpc3QgYml0bWFwIGluIHRoZSBwZXItZW50cnkgY29udGV4dC4KLQkJCQkg KgotCQkJCSAqIFdlIG5lZWQgdG8gbWVyZ2UgY29sdW1uIGxpc3RzIGZyb20gYWxsIHB1YmxpY2F0 aW9ucywgc28gd2UKLQkJCQkgKiB1cGRhdGUgdGhlIHNhbWUgYml0bWFwc2V0LiBJZiB0aGUgY29s dW1uIGxpc3QgaXMgbnVsbCwgd2UKLQkJCQkgKiBpbnRlcnByZXQgaXQgYXMgcmVwbGljYXRpbmcg YWxsIGNvbHVtbnMuCi0JCQkJICovCisJCQkJLyogQnVpbGQgdGhlIGNvbHVtbiBsaXN0IGJpdG1h cCBpbiB0aGUgcGVyLWVudHJ5IGNvbnRleHQuICovCiAJCQkJaWYgKCFwdWJfbm9fbGlzdCkJLyog d2hlbiBub3QgbnVsbCAqLwogCQkJCXsKIAkJCQkJcGdvdXRwdXRfZW5zdXJlX2VudHJ5X2N4dChk YXRhLCBlbnRyeSk7CiAKLQkJCQkJZW50cnktPmNvbHVtbnMgPSBwdWJfY29sbGlzdF90b19iaXRt YXBzZXQoZW50cnktPmNvbHVtbnMsCi0JCQkJCQkJCQkJCQkJCQkgIGNmZGF0dW0sCi0JCQkJCQkJ CQkJCQkJCQkgIGVudHJ5LT5lbnRyeV9jeHQpOworCQkJCQljb2xzID0gcHViX2NvbGxpc3RfdG9f Yml0bWFwc2V0KGNvbHMsIGNmZGF0dW0sCisJCQkJCQkJCQkJCQkJZW50cnktPmVudHJ5X2N4dCk7 CisKKwkJCQkJLyoKKwkJCQkJICogSWYgY29sdW1uIGxpc3QgaW5jbHVkZXMgYWxsIHRoZSBjb2x1 bW5zIG9mIHRoZSB0YWJsZSwKKwkJCQkJICogc2V0IGl0IHRvIE5VTEwuCisJCQkJCSAqLworCQkJ CQlpZiAoYm1zX251bV9tZW1iZXJzKGNvbHMpID09IFJlbGF0aW9uR2V0TnVtYmVyT2ZBdHRyaWJ1 dGVzKHJlbGF0aW9uKSkKKwkJCQkJeworCQkJCQkJYm1zX2ZyZWUoY29scyk7CisJCQkJCQljb2xz ID0gTlVMTDsKKwkJCQkJfQogCQkJCX0KKworCQkJCVJlbGVhc2VTeXNDYWNoZShjZnR1cGxlKTsK IAkJCX0KIAkJfQogCi0JCS8qCi0JCSAqIEZvdW5kIGEgcHVibGljYXRpb24gd2l0aCBubyBjb2x1 bW4gbGlzdCwgc28gd2UncmUgZG9uZS4gQnV0IGZpcnN0Ci0JCSAqIGRpc2NhcmQgY29sdW1uIGxp c3Qgd2UgbWlnaHQgaGF2ZSBmcm9tIHByZWNlZGluZyBwdWJsaWNhdGlvbnMuCi0JCSAqLwotCQlp ZiAocHViX25vX2xpc3QpCisJCWlmIChmaXJzdCkKIAkJewotCQkJaWYgKGNmdHVwbGUpCi0JCQkJ UmVsZWFzZVN5c0NhY2hlKGNmdHVwbGUpOwotCi0JCQlibXNfZnJlZShlbnRyeS0+Y29sdW1ucyk7 Ci0JCQllbnRyeS0+Y29sdW1ucyA9IE5VTEw7Ci0KLQkJCWJyZWFrOworCQkJZW50cnktPmNvbHVt bnMgPSBjb2xzOworCQkJZmlyc3QgPSBmYWxzZTsKIAkJfQotCi0JCVJlbGVhc2VTeXNDYWNoZShj ZnR1cGxlKTsKKwkJZWxzZSBpZiAoIWJtc19lcXVhbChlbnRyeS0+Y29sdW1ucywgY29scykpCisJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9S VEVEKSwKKwkJCQkJZXJybXNnKCJjYW5ub3QgdXNlIGRpZmZlcmVudCBjb2x1bW4gbGlzdHMgZm9y IHRhYmxlIFwiJXMuJXNcIiBpbiBkaWZmZXJlbnQgcHVibGljYXRpb25zIiwKKwkJCQkJCSAgIGdl dF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWxhdGlvbikpLAorCQkJCQkJ ICAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsYXRpb24pKSk7CiAJfQkJCQkJCQkvKiBsb29w IGFsbCBzdWJzY3JpYmVkIHB1YmxpY2F0aW9ucyAqLworCisJUmVsYXRpb25DbG9zZShyZWxhdGlv bik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzFfY29s dW1uX2xpc3QucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzFfY29sdW1uX2xpc3QucGwK aW5kZXggMTk4MTJlMS4uN2YwMzFiYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMxX2NvbHVtbl9saXN0LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMV9j b2x1bW5fbGlzdC5wbApAQCAtMjAsNiArMjAsNyBAQCAkbm9kZV9zdWJzY3JpYmVyLT5hcHBlbmRf Y29uZigncG9zdGdyZXNxbC5jb25mJywKICRub2RlX3N1YnNjcmliZXItPnN0YXJ0OwogCiBteSAk cHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNoZXItPmNvbm5zdHIgLiAnIGRibmFtZT1w b3N0Z3Jlcyc7CitteSAkb2Zmc2V0ID0gMDsKIAogc3ViIHdhaXRfZm9yX3N1YnNjcmlwdGlvbl9z eW5jCiB7CkBAIC0zNjEsMTMgKzM2MiwxMyBAQCBpcyggJHJlc3VsdCwgcXEoMXxhYmMKIDJ8eHl6 KSwgJ3VwZGF0ZSBvbiBjb2x1bW4gdGFiMi5jIGlzIG5vdCByZXBsaWNhdGVkJyk7CiAKIAotIyBU RVNUOiBhZGQgYSB0YWJsZSB0byB0d28gcHVibGljYXRpb25zIHdpdGggZGlmZmVyZW50IGNvbHVt biBsaXN0cywgYW5kCisjIFRFU1Q6IGFkZCBhIHRhYmxlIHRvIHR3byBwdWJsaWNhdGlvbnMgd2l0 aCBzYW1lIGNvbHVtbiBsaXN0cywgYW5kCiAjIGNyZWF0ZSBhIHNpbmdsZSBzdWJzY3JpcHRpb24g cmVwbGljYXRpbmcgYm90aCBwdWJsaWNhdGlvbnMKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KAogCSdwb3N0Z3JlcycsIHFxKAogCUNSRUFURSBUQUJMRSB0YWI1IChhIGludCBQUklNQVJZIEtF WSwgYiBpbnQsIGMgaW50LCBkIGludCk7CiAJQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjIgRk9SIFRB QkxFIHRhYjUgKGEsIGIpOwotCUNSRUFURSBQVUJMSUNBVElPTiBwdWIzIEZPUiBUQUJMRSB0YWI1 IChhLCBkKTsKKwlDUkVBVEUgUFVCTElDQVRJT04gcHViMyBGT1IgVEFCTEUgdGFiNSAoYSwgYik7 CiAKIAktLSBpbnNlcnQgYSBjb3VwbGUgaW5pdGlhbCByZWNvcmRzCiAJSU5TRVJUIElOVE8gdGFi NSBWQUxVRVMgKDEsIDExLCAxMTEsIDExMTEpOwpAQCAtMzg4LDggKzM4OSw3IEBAIHdhaXRfZm9y X3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3N1YnNjcmliZXIpOwogCiAkbm9kZV9wdWJsaXNoZXIt PndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIAotIyBpbnNlcnQgZGF0YSBhbmQgbWFrZSBzdXJl IGFsbCB0aGUgY29sdW1ucyAodW5pb24gb2YgdGhlIGNvbHVtbnMgbGlzdHMpCi0jIGdldCBmdWxs eSByZXBsaWNhdGVkCisjIGluc2VydCBkYXRhIGFuZCBtYWtlIHN1cmUgdGhlIGNvbHVtbnMgaW4g Y29sdW1uIGxpc3QgZ2V0IGZ1bGx5IHJlcGxpY2F0ZWQKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKAogCSdwb3N0Z3JlcycsIHFxKAogCUlOU0VSVCBJTlRPIHRhYjUgVkFMVUVTICgzLCAzMywg MzMzLCAzMzMzKTsKQEAgLTM5OSw0MiArMzk5LDEyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKIGlzKCAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGFi NSBPUkRFUiBCWSBhIiksCi0JcXEoMXwxMXwxMTExCi0yfDIyfDIyMjIKLTN8MzN8MzMzMwotNHw0 NHw0NDQ0KSwKKwlxcSgxfDExfAorMnwyMnwKKzN8MzN8Cis0fDQ0fCksCiAJJ292ZXJsYXBwaW5n IHB1YmxpY2F0aW9ucyB3aXRoIG92ZXJsYXBwaW5nIGNvbHVtbiBsaXN0cycpOwogCi0jIGFuZCBm aW5hbGx5LCByZW1vdmUgdGhlIGNvbHVtbiBsaXN0IGZvciBvbmUgb2YgdGhlIHB1YmxpY2F0aW9u cywgd2hpY2gKLSMgbWVhbnMgcmVwbGljYXRpbmcgYWxsIGNvbHVtbnMgKHJlbW92aW5nIHRoZSBj b2x1bW4gbGlzdCksIGJ1dCBmaXJzdCBhZGQKLSMgdGhlIG1pc3NpbmcgY29sdW1uIHRvIHRoZSB0 YWJsZSBvbiBzdWJzY3JpYmVyCi0kbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKLQkncG9zdGdy ZXMnLCBxcSgKLQlBTFRFUiBQVUJMSUNBVElPTiBwdWIzIFNFVCBUQUJMRSB0YWI1OwotKSk7Ci0K LSRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKLQkncG9zdGdyZXMnLCBxcSgKLQlBTFRFUiBT VUJTQ1JJUFRJT04gc3ViMSBSRUZSRVNIIFBVQkxJQ0FUSU9OOwotCUFMVEVSIFRBQkxFIHRhYjUg QUREIENPTFVNTiBjIElOVDsKLSkpOwotCi13YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3luYygkbm9k ZV9zdWJzY3JpYmVyKTsKLQotJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCi0JJ3Bvc3RncmVz JywgcXEoCi0JSU5TRVJUIElOVE8gdGFiNSBWQUxVRVMgKDUsIDU1LCA1NTUsIDU1NTUpOwotKSk7 Ci0KLSRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwotCi1pcyggJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgKiBGUk9NIHRhYjUg T1JERVIgQlkgYSIpLAotCXFxKDF8MTF8MTExMXwKLTJ8MjJ8MjIyMnwKLTN8MzN8MzMzM3wKLTR8 NDR8NDQ0NHwKLTV8NTV8NTU1NXw1NTUpLAotCSdvdmVybGFwcGluZyBwdWJsaWNhdGlvbnMgd2l0 aCBvdmVybGFwcGluZyBjb2x1bW4gbGlzdHMnKTsKIAogIyBURVNUOiBjcmVhdGUgYSB0YWJsZSB3 aXRoIGEgY29sdW1uIGxpc3QsIHRoZW4gY2hhbmdlIHRoZSByZXBsaWNhCiAjIGlkZW50aXR5IGJ5 IHJlcGxhY2luZyBhIHByaW1hcnkga2V5IChidXQgdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBpbgpA QCAtOTAwLDU3ICs4NzAsMjEgQEAgaXMoICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKIDN8 KSwKIAkncGFydGl0aW9ucyB3aXRoIGRpZmZlcmVudCByZXBsaWNhIGlkZW50aXRpZXMgbm90IHJl cGxpY2F0ZWQgY29ycmVjdGx5Jyk7CiAKLSMgVEVTVDogV2l0aCBhIHRhYmxlIGluY2x1ZGVkIGlu IG11bHRpcGxlIHB1YmxpY2F0aW9ucywgd2Ugc2hvdWxkIHVzZSBhCi0jIHVuaW9uIG9mIHRoZSBj b2x1bW4gbGlzdHMuIFNvIHdpdGggY29sdW1uIGxpc3RzIChhLGIpIGFuZCAoYSxjKSB3ZQotIyBz aG91bGQgcmVwbGljYXRlIChhLGIsYykuCi0KLSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAot CSdwb3N0Z3JlcycsIHFxKAotCUNSRUFURSBUQUJMRSB0ZXN0X21peF8xIChhIGludCBQUklNQVJZ IEtFWSwgYiBpbnQsIGMgaW50KTsKLQlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8xIEZPUiBU QUJMRSB0ZXN0X21peF8xIChhLCBiKTsKLQlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8yIEZP UiBUQUJMRSB0ZXN0X21peF8xIChhLCBjKTsKLQotCS0tIGluaXRpYWwgZGF0YQotCUlOU0VSVCBJ TlRPIHRlc3RfbWl4XzEgVkFMVUVTICgxLCAyLCAzKTsKLSkpOwotCi0kbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoCi0JJ3Bvc3RncmVzJywgcXEoCi0JQ1JFQVRFIFRBQkxFIHRlc3RfbWl4XzEg KGEgaW50IFBSSU1BUlkgS0VZLCBiIGludCwgYyBpbnQpOwotCUFMVEVSIFNVQlNDUklQVElPTiBz dWIxIFNFVCBQVUJMSUNBVElPTiBwdWJfbWl4XzEsIHB1Yl9taXhfMjsKLSkpOwotCi13YWl0X2Zv cl9zdWJzY3JpcHRpb25fc3luYygkbm9kZV9zdWJzY3JpYmVyKTsKLQotJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoCi0JJ3Bvc3RncmVzJywgcXEoCi0JSU5TRVJUIElOVE8gdGVzdF9taXhfMSBW QUxVRVMgKDQsIDUsIDYpOwotKSk7Ci0KLSRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1 cCgnc3ViMScpOwotCi1pcyggJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKAotCQkncG9zdGdy ZXMnLCAiU0VMRUNUICogRlJPTSB0ZXN0X21peF8xIE9SREVSIEJZIGEiKSwKLQlxcSgxfDJ8Mwot NHw1fDYpLAotCSdhIG1peCBvZiBwdWJsaWNhdGlvbnMgc2hvdWxkIHVzZSBhIHVuaW9uIG9mIGNv bHVtbiBsaXN0Jyk7Ci0KIAotIyBURVNUOiBXaXRoIGEgdGFibGUgaW5jbHVkZWQgaW4gbXVsdGlw bGUgcHVibGljYXRpb25zLCB3ZSBzaG91bGQgdXNlIGEKLSMgdW5pb24gb2YgdGhlIGNvbHVtbiBs aXN0cy4gSWYgYW55IG9mIHRoZSBwdWJsaWNhdGlvbnMgaXMgRk9SIEFMTAotIyBUQUJMRVMsIHdl IHNob3VsZCByZXBsaWNhdGUgYWxsIGNvbHVtbnMuCisjIFRFU1Q6IFdpdGggYSB0YWJsZSBpbmNs dWRlZCBpbiB0aGUgcHVibGljYXRpb25zIHdoaWNoIGlzIEZPUiBBTEwgVEFCTEVTLCBpdAorIyBt ZWFucyByZXBsaWNhdGUgYWxsIGNvbHVtbnMuCiAKICMgZHJvcCB1bm5lY2Vzc2FyeSB0YWJsZXMs IHNvIGFzIG5vdCB0byBpbnRlcmZlcmUgd2l0aCB0aGUgRk9SIEFMTCBUQUJMRVMKICRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKAotCURST1AgVEFCTEUgdGFiMSwg dGFiMiwgdGFiMywgdGFiNCwgdGFiNSwgdGFiNiwgdGFiNywgdGVzdF9taXhfMSwKKwlEUk9QIFRB QkxFIHRhYjEsIHRhYjIsIHRhYjMsIHRhYjQsIHRhYjUsIHRhYjYsIHRhYjcsCiAJCQkgICB0ZXN0 X3BhcnQsIHRlc3RfcGFydF9hLCB0ZXN0X3BhcnRfYiwgdGVzdF9wYXJ0X2MsIHRlc3RfcGFydF9k OwogKSk7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKAog CUNSRUFURSBUQUJMRSB0ZXN0X21peF8yIChhIGludCBQUklNQVJZIEtFWSwgYiBpbnQsIGMgaW50 KTsKLQlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8zIEZPUiBUQUJMRSB0ZXN0X21peF8yIChh LCBiKTsKKwlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8zIEZPUiBUQUJMRSB0ZXN0X21peF8y IChhLCBiLCBjKTsKIAlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF80IEZPUiBBTEwgVEFCTEVT OwogCiAJLS0gaW5pdGlhbCBkYXRhCkBAIC05NzYsMTIgKzkxMCwxMSBAQCAkbm9kZV9wdWJsaXNo ZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIGlzKCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGVzdF9taXhfMiIpLAogCXFxKDF8Mnwz CiA0fDV8NiksCi0JJ2EgbWl4IG9mIHB1YmxpY2F0aW9ucyBzaG91bGQgdXNlIGEgdW5pb24gb2Yg Y29sdW1uIGxpc3QnKTsKKwknYWxsIGNvbHVtbnMgc2hvdWxkIGJlIHJlcGxpY2F0ZWQnKTsKIAog Ci0jIFRFU1Q6IFdpdGggYSB0YWJsZSBpbmNsdWRlZCBpbiBtdWx0aXBsZSBwdWJsaWNhdGlvbnMs IHdlIHNob3VsZCB1c2UgYQotIyB1bmlvbiBvZiB0aGUgY29sdW1uIGxpc3RzLiBJZiBhbnkgb2Yg dGhlIHB1YmxpY2F0aW9ucyBpcyBGT1IgQUxMCi0jIFRBQkxFUyBJTiBTQ0hFTUEsIHdlIHNob3Vs ZCByZXBsaWNhdGUgYWxsIGNvbHVtbnMuCisjIFRFU1Q6IFdpdGggYSB0YWJsZSBpbmNsdWRlZCBp biB0aGUgcHVibGljYXRpb24gd2hpY2ggaXMgRk9SIEFMTCBUQUJMRVMKKyMgSU4gU0NIRU1BLCBp dCBtZWFucyByZXBsaWNhdGUgYWxsIGNvbHVtbnMuCiAKICRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKQEAgLTk5Myw3ICs5MjYsNyBAQCAkbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKIAlEUk9QIFRBQkxFIHRlc3RfbWl4XzI7 CiAJQ1JFQVRFIFRBQkxFIHRlc3RfbWl4XzMgKGEgaW50IFBSSU1BUlkgS0VZLCBiIGludCwgYyBp bnQpOwotCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzUgRk9SIFRBQkxFIHRlc3RfbWl4XzMg KGEsIGIpOworCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzUgRk9SIFRBQkxFIHRlc3RfbWl4 XzMgKGEsIGIsIGMpOwogCUNSRUFURSBQVUJMSUNBVElPTiBwdWJfbWl4XzYgRk9SIEFMTCBUQUJM RVMgSU4gU0NIRU1BIHB1YmxpYzsKIAogCS0tIGluaXRpYWwgZGF0YQpAQCAtMTAxNyw3ICs5NTAs NyBAQCAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIGlzKCAkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGVzdF9t aXhfMyIpLAogCXFxKDF8MnwzCiA0fDV8NiksCi0JJ2EgbWl4IG9mIHB1YmxpY2F0aW9ucyBzaG91 bGQgdXNlIGEgdW5pb24gb2YgY29sdW1uIGxpc3QnKTsKKwknYWxsIGNvbHVtbnMgc2hvdWxkIGJl IHJlcGxpY2F0ZWQnKTsKIAogCiAjIFRFU1Q6IENoZWNrIGhhbmRsaW5nIG9mIHB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290IC0gaWYgYSBwYXJ0aXRpb24gaXMKQEAgLTEwNzQsNyArMTAwNyw3IEBA IGlzKCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoCiAjIFRFU1Q6IE11bHRpcGxlIHB1Ymxp Y2F0aW9ucyB3aGljaCBwdWJsaXNoIHNjaGVtYSBvZiBwYXJlbnQgdGFibGUgYW5kCiAjIHBhcnRp dGlvbi4gVGhlIHBhcnRpdGlvbiBpcyBwdWJsaXNoZWQgdGhyb3VnaCB0d28gcHVibGljYXRpb25z LCBvbmNlCiAjIHRocm91Z2ggYSBzY2hlbWEgKHNvIG5vIGNvbHVtbiBsaXN0KSBjb250YWluaW5n IHRoZSBwYXJlbnQsIGFuZCB0aGVuCi0jIGFsc28gZGlyZWN0bHkgKHdpdGggYSBjb2x1bW5zIGxp c3QpLiBUaGUgZXhwZWN0ZWQgb3V0Y29tZSBpcyB0aGVyZSBpcworIyBhbHNvIGRpcmVjdGx5ICh3 aXRoIGFsbCBjb2x1bW5zKS4gVGhlIGV4cGVjdGVkIG91dGNvbWUgaXMgdGhlcmUgaXMKICMgbm8g Y29sdW1uIGxpc3QuCiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKApAQCAtMTA4Niw3ICsx MDE5LDcgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJQ1JFQVRFIFRBQkxFIHRfMSBQ QVJUSVRJT04gT0YgczEudCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgxMCk7CiAKIAlDUkVBVEUg UFVCTElDQVRJT04gcHViMSBGT1IgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgczE7Ci0JQ1JFQVRFIFBV QkxJQ0FUSU9OIHB1YjIgRk9SIFRBQkxFIHRfMShiKTsKKwlDUkVBVEUgUFVCTElDQVRJT04gcHVi MiBGT1IgVEFCTEUgdF8xKGEsIGIsIGMpOwogCiAJLS0gaW5pdGlhbCBkYXRhCiAJSU5TRVJUIElO VE8gczEudCBWQUxVRVMgKDEsIDIsIDMpOwpAQCAtMTIzMyw2ICsxMTY2LDUxIEBAIGlzKCAkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoCiAJJ3B1YmxpY2F0aW9uIGNvbnRhaW5pbmcgYm90aCBw YXJlbnQgYW5kIGNoaWxkIHJlbGF0aW9uJyk7CiAKIAorIyBURVNUOiBXaXRoIGEgdGFibGUgaW5j bHVkZWQgaW4gbXVsdGlwbGUgcHVibGljYXRpb25zIHdpdGggZGlmZmVyZW50IGNvbHVtbgorIyBs aXN0cywgd2Ugc2hvdWxkIGNhdGNoIHRoZSBlcnJvciB3aGVuIGNyZWF0aW5nIHRoZSBzdWJzY3Jp cHRpb24uCisKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAorCUNS RUFURSBUQUJMRSB0ZXN0X21peF8xIChhIGludCBQUklNQVJZIEtFWSwgYiBpbnQsIGMgaW50KTsK KwlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8xIEZPUiBUQUJMRSB0ZXN0X21peF8xIChhLCBi KTsKKwlDUkVBVEUgUFVCTElDQVRJT04gcHViX21peF8yIEZPUiBUQUJMRSB0ZXN0X21peF8xIChh LCBjKTsKKykpOworCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXEo CisJRFJPUCBTVUJTQ1JJUFRJT04gc3ViMTsKKwlDUkVBVEUgVEFCTEUgdGVzdF9taXhfMSAoYSBp bnQgUFJJTUFSWSBLRVksIGIgaW50LCBjIGludCk7CispKTsKKworbXkgKCRjbWRyZXQsICRzdGRv dXQsICRzdGRlcnIpID0gJG5vZGVfc3Vic2NyaWJlci0+cHNxbCgKKwkncG9zdGdyZXMnLCBxcSgK KwlDUkVBVEUgU1VCU0NSSVBUSU9OIHN1YjEgQ09OTkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3Ry JyBQVUJMSUNBVElPTiBwdWJfbWl4XzEsIHB1Yl9taXhfMjsKKykpOworCitvayggJHN0ZGVyciA9 fgorCSAgcXIvY2Fubm90IHVzZSBkaWZmZXJlbnQgY29sdW1uIGxpc3RzIGZvciB0YWJsZSAicHVi bGljLnRlc3RfbWl4XzEiIGluIGRpZmZlcmVudCBwdWJsaWNhdGlvbnMvLAorCSdkaWZmZXJlbnQg Y29sdW1uIGxpc3RzIGRldGVjdGVkJyk7CisKKyMgVEVTVDogSWYgdGhlIGNvbHVtbiBsaXN0IGlz IGNoYW5nZWQgYWZ0ZXIgY3JlYXRpbmcgdGhlIHN1YnNjcmlwdGlvbiwgd2UKKyMgc2hvdWxkIGNh dGNoIHRoZSBlcnJvciByZXBvcnRlZCBieSB3YWxzZW5kZXIuCisKKyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAorCUFMVEVSIFBVQkxJQ0FUSU9OIHB1Yl9taXhfMSBT RVQgVEFCTEUgdGVzdF9taXhfMSAoYSwgYyk7CispKTsKKworJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAorCUNSRUFURSBTVUJTQ1JJUFRJT04gc3ViMSBDT05ORUNU SU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIHB1Yl9taXhfMSwgcHViX21peF8y OworKSk7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOworCisk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxcSgKKwlBTFRFUiBQVUJMSUNB VElPTiBwdWJfbWl4XzEgU0VUIFRBQkxFIHRlc3RfbWl4XzEgKGEsIGIpOworCUlOU0VSVCBJTlRP IHRlc3RfbWl4XzEgVkFMVUVTKDEsIDEsIDEpOworKSk7CisKKyRvZmZzZXQgPSAkbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2xvZygKKwlxci9jYW5ub3QgdXNlIGRpZmZlcmVudCBjb2x1bW4gbGlz dHMgZm9yIHRhYmxlICJwdWJsaWMudGVzdF9taXhfMSIgaW4gZGlmZmVyZW50IHB1YmxpY2F0aW9u cy8sCisJJG9mZnNldCk7CisKICRub2RlX3N1YnNjcmliZXItPnN0b3AoJ2Zhc3QnKTsKICRub2Rl X3B1Ymxpc2hlci0+c3RvcCgnZmFzdCcpOwogCi0tIAoyLjcuMi53aW5kb3dzLjEKCg== --_002_OS0PR01MB5716AD7C0FE7386630BDBAAB94D79OS0PR01MB5716jpnp_--