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 1mniZV-0007Qh-TM for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Nov 2021 14:39:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mniZU-0007wj-Mh for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Nov 2021 14:39:28 +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 1mniZT-0007wZ-HV for pgsql-hackers@lists.postgresql.org; Thu, 18 Nov 2021 14:39:28 +0000 Received: from esa15.fujitsucc.c3s2.iphmx.com ([68.232.156.107]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mniZP-0006kC-4T for pgsql-hackers@lists.postgresql.org; Thu, 18 Nov 2021 14:39:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1637246364; x=1668782364; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=5Vh4S/OkZ1ry1Xb1bqIFDxKXtTnbHndwDMBmJU6Us5w=; b=M4rZgVUnw8P5PXuIoUthGQEu73AATd2KA5FofiWe+3YeYOohfmNNRO/W w+Jy7r/ZiVr+p406rnxbRy1hRwd4O9cEedMMxrar+YludCZuLI6f64iH7 SedA6u/PgVjZiS+a1e3QApMRMw1xODGZcyp5INyW6EMKe/LrHj2eBuNpo +OVbuSgL1cYMeuyCSUWdihQpr78D07eREzClSPl3D2C6Q3mM+J7L2Mq21 zWsL7pqUo9K/RUPUkHk+1Esomlsrd1w5dSiwxXmhLioBd714RnLzL1sbe qUc9Twr4SZiZxd7IUtPeblRBsutvXomiaXAqSQhKKkeidxy+vh3R8an8X g==; X-IronPort-AV: E=McAfee;i="6200,9189,10171"; a="43926770" X-IronPort-AV: E=Sophos;i="5.87,245,1631545200"; d="scan'208,223";a="43926770" Received: from mail-tycjpn01lp2169.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.169]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Nov 2021 23:39:18 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gzzOUbsvZ08EAmhonLm4bOoyuaGn9ZfNnyFzW2af5wYo1GnO5kleDpC+wXUlBaVldAC8z22ujGkOux0tFh5LnAS+YVFP7TCpLXpwZJ1AEPe3RLYMyyZ1xS9mFKJ6agA4hY9p+nNvzl7HGSQr0jc3UrS66Ws44ifK7vzE3S5STnSpx1GzEB3FKaLaJTXEgyLs/77XIj/pcJE1zdqPEIhUxH6tkcrSZ4rgR5cc5e0T5KrKGewaHam81Xhck/ewHpzduXOUDN1SiK/pI3llPfBNYqPeQzZnm4+lg0KRMJ9j/K0Bq4ASc+XZgvDxXdHyd6cW2Jrcoj31cLivIRfi9IOcTw== 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=Fox3bm+WntVA1N8+5SH5zzt3aMkeHjsCCtWAFTP+nUM=; b=Tj45eolZBvzDyk65n6YGJ0u8B2erdpsGty5PyxgnNjIVwFP8PEvr27AJODdxVsuVXo82lEkI0T6554JkV8lGZLeoF9XF7QUuSXUl2d6aZlJYGX5bS/3/TG7K8fPiLWSVLt9fnusSw2g0+2JEojKNEirBe0BYX1U/W2C69ptTn++1NDXws+lNs5NJ97cpY2TBExr4t1rPQqQzNhGklvk21lAbgSWt4ujFqC8Qt3EzDrMCTxGni1b5VVRkGC1RX/4nNbPg/3PM5u4qeY2nYEjf2vIIKQyP1lBek/bqe7e9nZ5FkV2261S64psQG3+EODyLXL9Lr5qu5zqk7+vHasaTVA== 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=Fox3bm+WntVA1N8+5SH5zzt3aMkeHjsCCtWAFTP+nUM=; b=e4Gym9qL09sD0NOQOUzbWN4/8kFoCxrwlU2XcPw1xJcwgGIzDP8/Ke/kfg06pXkPt/R7MsDx5p/7+rwWtUwFK4dt51ioHmxal0U4hL6DBzHxkvxDcvEYyjskQO8a52fzfm03hCunn83kHCw3mRfVQBQDGCXH0Q4oSEzM/wAxp8Q= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by TYCPR01MB7775.jpnprd01.prod.outlook.com (2603:1096:400:180::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Thu, 18 Nov 2021 14:39:12 +0000 Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5]) by TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5%8]) with mapi id 15.20.4713.021; Thu, 18 Nov 2021 14:39:12 +0000 From: "osumi.takamichi@fujitsu.com" To: 'vignesh C' CC: Greg Nancarrow , Masahiko Sawada , Amit Kapila , "houzj.fnst@fujitsu.com" , "pgsql-hackers@lists.postgresql.org" Subject: RE: Failed transaction statistics to measure the logical replication progress Thread-Topic: Failed transaction statistics to measure the logical replication progress Thread-Index: AddzxbV4E8towJomTkm1trqmHwIwlgQVlICAANF/lUAAA/6ZgAAn+wOAAAWfTgAAB8XmAAAgvB4AAAU0KgAAB+7hgAAMXNsABZwy4NABa8QD4ADxViZAAZV2mrAA+6DXgAAsU7aAAAZiVQAAAnmZAAAIXu+AAFRfhZAAA/2jgAK/RTlAANYpygAAhIjngAF7IiwAAMcV0oAAfP65gABBZ2kgAL69AQAAEaPLYAAvgi4AADeqboAAwid+sAAFx08QADMCznAAYo+sAAAGRoNQ Date: Thu, 18 Nov 2021 14:39:11 +0000 Message-ID: References: In-Reply-To: Accept-Language: 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?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMTEtMThUMTQ6Mzk6?= =?utf-8?B?MDlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD1kZTJjYjUwZS03MDAyLTQzYTIt?= =?utf-8?B?OGZlZi1lZTNhMjkyMTM0MDc7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b22bfb96-381b-4cc7-d774-08d9aaa12ff9 x-ms-traffictypediagnostic: TYCPR01MB7775: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RyNaLWs1UV2ZQwsFn0B+Mz1VBUiweLVRRMWIxhxGdfRUDOyCAWJAeLX/3jeji6PEydNdT+t92OpfqlFnsbEoJqRNkgbk9s6gSxk2X5O78/Wa+7AUE6x4/kXZ6mU59iP/rFMHd7jq2kWjO7bkxjK5hQaVkvWmdodXekdTpGvUUHbZiyMcP9J0+YSB7JV4Pu85UqZHqsqE/nk7kyPVYShtmj4W+MqnSd58WrOeSEUf/oCc6wrxbVkMJ3OnOy3MRmFgQIvD42QGhR08Zj2Y/2R2QPe9QT3qdMzImWIeJ+25TPwnoK1hSWNJDGor4u58+XB66s4wuCg/vjoXR0BJqhUXefcjwIW59qEPJEC9FWce3mbTKqvNS+gneWFjZ3YX41YwkpDWB5nXKK2+LiSm5CkdSBBeKd4hFFU4zlufNb+mvjcijw0BIKpIq7rhzXkpsHuFrKDvxqSzTsNdjnOFomTjl2ygB7PoOfoez8lyFDGpDuuBIVJdcJ21aMGNFX+CHwfu3IPmMmCnnmBgJi5hSg+n0VQtLCAnAXMvQQsSj5/U0VrCbwUb2+BE85GciCfjM01sl/LVc3rs9GKBUYNpKCrTAG38b48S39mH+L0Fh/qn97jSidY4G7BWKHxAr/p7fd+Nj9VOcuJ7uxgTDEn4xY99+Vo1QDBXt0OElnNYHFuOE78ro8eMb0w4CQO+Q/wk/q7EiCY3LHBwdeFWG43Yl/zMb2fsyW5ujNWAfeqI+oyBsrwn4RvVIb2QwZ+HlvFvYQjYccNJ8Lhazzpng5c3RqEUW12jJclliR768zvdVC8iID4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB8373.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(38070700005)(8676002)(2906002)(7696005)(82960400001)(26005)(33656002)(508600001)(52536014)(86362001)(966005)(55016002)(71200400001)(64756008)(6506007)(8936002)(38100700002)(9686003)(66476007)(66446008)(6916009)(54906003)(5660300002)(186003)(83380400001)(76116006)(4326008)(316002)(53546011)(85182001)(66946007)(99936003)(122000001)(66556008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QndVTGkyaFlXS3NMS1I0a2NDZ1d6UHBKb0xUN3hBek1kQ2FxdDEyUThuMVdv?= =?utf-8?B?dWlXcktOZ1Y2aENQTWRNNlZHOXNVdjk0SXhMYjNWM3FKR0NScnVCYzk1bU9h?= =?utf-8?B?VHJDZnZnUndNY0hzZ2dkUjQwRkhkejk2WjF6YkNhZ3BkcnJ3YnZETmhycEx4?= =?utf-8?B?cUtId0VyN051QW1zVDlBWCtvUW8yR1RNRmtQbDI3ajhpbmp4Tk85TWxJdHJE?= =?utf-8?B?eUpxNnowc2JBRUh5UUN5QkRzcmF5NDJIbXdJR0dxMVR1QWlTbkp5MmVEL3VM?= =?utf-8?B?Vk0zK3p4b2RSbE1MV2xqR2gyamhMYlloUXZsRk5ZSXA4d1N1eHo5R0xEajkw?= =?utf-8?B?V2hwMzBicXFUSENFV0dydzJvRFFLbEZoU1VvRHBNZDNPRW5nTTBnODNaNlBn?= =?utf-8?B?K2U1TDFqUHFEUU1WU2kyOVEvdytuTW1tTkVhWGlSVnFmT2UzMnhIdnlFYjc4?= =?utf-8?B?bjZvbVB0aWV2c3VNR3pWdStYUU9qZGkwTUxmNllWOEpTRjZldHk5aUhQWFNr?= =?utf-8?B?TzZOY2RCSUtnV1VQZGgwdGRSZW1WLzkvaWsvUVZLTW5PWktjbTRmT25PckM3?= =?utf-8?B?MnBwT2pyUXk5c3FXc05scXNjai9XNk5ya2lvc2lGd3pQNkg0alo2N3ZZR0Ju?= =?utf-8?B?emJFTmhmMTkwTVpEa0t1SXlFSkFIOFdMQVFwSmd5VjN2V1RsY3pMVE16dnNn?= =?utf-8?B?VVhkUkRucTYyWjdzMXFtUUNpeHZ1T1BZdUZjNnFqSW5Ydk5qaDJsMGtoL2dw?= =?utf-8?B?Y1BSU1cwMzdnc3BnZXZJS1I1aDVyOVVnMWtmZ2grT1dzbUYyWHhZeUg3TWVD?= =?utf-8?B?dDlsdU1EdWg3WVVvMHdlNkZncHVDMHdUR2RSWHpsZGpHN2Q4Si9pVWtDNTNL?= =?utf-8?B?NFp4WC9jZVNhMy9aYi81ZVdDM2s0T25DVi90ak12Wk9Tdys2dDdENVQ3YXdj?= =?utf-8?B?TVJNZTF1Y3U0R2xaQ1doZjZSVlpkTmwwQnRHZHd1dFNiVEtCUGZ3emdEQmhz?= =?utf-8?B?Q1dVVUppdjNzUTJidjRCREtXS1dyZXd2RDM1S2hoU0N3QllzVXg1NktsTFFS?= =?utf-8?B?ei9TeWtYQ3krSWdXVGVyUnl2TEhTNVlpU0VidHNSWW1Td2xmcnNZWjVzVXR3?= =?utf-8?B?aFRobkw5dEFXWXhKdmVFbDE5QWtWWSt1K1F4eW9JTVBzaEdQT0dVTkkzMGsz?= =?utf-8?B?QUNKMytVUW9KZE03ZkgvR2h6UG9OenpBNjQwVmlwWk83N1hCQWRaWkdpdHRQ?= =?utf-8?B?YkRrTjEyK3ptL0Myem5idUF0cjk3aXg4Sm9xekErOTVHRTA5d1B1eUdPUVY0?= =?utf-8?B?cEJkK2gyVEtkRlkvWlk3UmFNQVBuSTc1dDRqNGRaaThmenR3RTdONUJwQm1K?= =?utf-8?B?Mm5nZDdQcU0vZDNUdTIxeXJvd1RFeW1meUNjU0ZYMC9aVWNJS1RJMVdQUzNx?= =?utf-8?B?WEN1Sm5qSFNKczRDTjNxZWtjbHBGSFZaS3ZhNCszd1R6TlllbzVlZnZkVFZu?= =?utf-8?B?VW1SVU9CTDgwQ01FTXovZXZqRE8waWRhaE14OEdQRkVGcjdHNTdTT1BxdDVi?= =?utf-8?B?bEFNSFBWTmF4SUwwM2crSGpJOFNoRXJTeHZOd1E0N2RSUWFTZDlKeU8xNU4w?= =?utf-8?B?NmJFSGJKaEFZMWVNNEkzM2pDVjJOQzlPM08vWlR1ZWVHR1V0YjhRc0JER3k2?= =?utf-8?B?b3I2bWZKeXVvYnIxWnR6Zko2THJMS2x6Q2JvWXdOeDRVUXl3QkE3YVROUWRZ?= =?utf-8?B?UUtyR2FVQ2txc1V5aVZUYXZ4bTZYU1crdmZySXc0YUkvcGVBeE00dFkzay9Y?= =?utf-8?B?VWVKblYrZDY2dWxlRlBqQ0Z0N3JzNjlUV2wxazFSditnZVp2VkRNQ1lQZFpk?= =?utf-8?B?M3ZmWjhuR2FrVkFwT25xQUJ5L1JKL2tKTVpjQ2hERWtETG9vaGVyMUMrWll2?= =?utf-8?B?QVpJTnlyZm1TZkpERVMzSmZFNFRZRzJuU1Q5OGY4QkZ4S2p0Rks4cWRUcE1u?= =?utf-8?B?Ri9PaFlPREcwUm5TNmhKdDVmN3VmdVpyTFIzd1FRUEhRSzU4YlFWbDZ6N3JW?= =?utf-8?B?WnlndFQ5cy91UWxvMTN4bG4yZGZSVElBZndkYzJ5d1NheHRaZTVEbHBFNzZN?= =?utf-8?B?MGNsbzdRNHlsQ216Vk1pTVpHaGtad2w5b3BiYVJJbmhYak9HTFZWSHhsVW1m?= =?utf-8?B?VUVvSHRsbTVOWW1DcjB6NlIxaWxva0tXcXJRWDhTYzZRKzJWVTZ5ck1tYjY5?= =?utf-8?B?ZWluRkVqbmw2WGFEV3N3OGhMYmFnPT0=?= Content-Type: multipart/mixed; boundary="_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB8373.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b22bfb96-381b-4cc7-d774-08d9aaa12ff9 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Nov 2021 14:39:11.9641 (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: jBsBAtlyOIDBYvOBt/0OUvaRBaE4bb3k9ykCyymvdX4MTMGN95uY8jBF9J1O4uwsM/UmHNUYK/st/Y6q7yMeMj2NyXcK2tSReEuLuYo1xvQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB7775 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVGh1cnNkYXksIE5vdmVtYmVyIDE4LCAyMDIxIDg6MzUgUE0gdmlnbmVzaCBDIDx2aWduZXNo MjFAZ21haWwuY29tPiB3cm90ZToNCj4gT24gVHVlLCBOb3YgMTYsIDIwMjEgYXQgNjowNCBQTSBv c3VtaS50YWthbWljaGlAZnVqaXRzdS5jb20NCj4gPG9zdW1pLnRha2FtaWNoaUBmdWppdHN1LmNv bT4gd3JvdGU6DQo+ID4NCj4gPiBPbiBNb25kYXksIE5vdmVtYmVyIDE1LCAyMDIxIDk6MTQgUE0g SSB3cm90ZToNCj4gPiA+IEkndmUgY29uZHVjdGVkIHNvbWUgdXBkYXRlIGZvciB0aGlzLg0KPiA+ ID4gKFRoZSByZWJhc2VkIHBhcnQgaXMgb25seSBDIGNvZGUgYW5kIGNoZWNrZWQgYnkgcGdpbmRl bnQpDQo+ID4gSSdsbCB1cGRhdGUgbXkgcGF0Y2hlcyBzaW5jZSBhIG5ldyBza2lwIHhpZCBwYXRj aCBoYXMgYmVlbiBzaGFyZWQgaW4NCj4gPiBbMV0uDQo+ID4NCj4gPiBUaGlzIHZlcnNpb24gaW5j bHVkZXMgc29tZSBtaW5vciByZW5hbWVzIG9mIGZ1bmN0aW9ucyB0aGF0IGFyZSByZWxhdGVkDQo+ ID4gdG8gdHJhbnNhY3Rpb24gc2l6ZXMuDQo+IA0KPiBUaGFua3MgZm9yIHRoZSB1cGRhdGVkIHBh dGNoLCBGZXcgY29tbWVudHM6DQpUaGFuayB5b3UgZm9yIGNoZWNraW5nIHRoZSBwYXRjaGVzICEN Cg0KDQo+IDEpIHNpbmNlIHBnc3RhdF9nZXRfc3Vid29ya2VyX3ByZXBhcmVkX3R4biBpcyBjYWxs ZWQgZnJvbSBvbmx5IG9uZSBwbGFjZSBhbmQNCj4gY3JlYXRlIGlzIHBhc3NlZCBhcyB0cnVlLCB3 ZSBjYW4gcmVtb3ZlIGNyZWF0ZSBmdW5jdGlvbiBwYXJhbWV0ZXIgb3IgdGhlDQo+IGZ1bmN0aW9u IGNvdWxkIGJlIHJlbW92ZWQuDQo+ICsgKiBSZXR1cm4gc3Vic2NyaXB0aW9uIHdvcmtlciBlbnRy eSB3aXRoIHRoZSBnaXZlbiBzdWJzY3JpcHRpb24gT0lEIGFuZA0KPiArICogZ2lkLg0KPiArICog LS0tLS0tLS0tLQ0KPiArICovDQo+ICtzdGF0aWMgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5 ICoNCj4gK3Bnc3RhdF9nZXRfc3Vid29ya2VyX3ByZXBhcmVkX3R4bihPaWQgZGF0YWJhc2VpZCwg T2lkIHN1YmlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjaGFyDQo+ICpnaWQsIGJvb2wgY3JlYXRlKQ0KPiArew0K PiArICAgICAgIFBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeTsNCj4gKyAgICAgICBQZ1N0YXRf U1dfUHJlcGFyZWRYYWN0S2V5IGtleTsNClJlbW92ZWQgdGhlIHBhcmFtZXRlci4NCg0KDQo+ICAy KSBJbmNsdWRlIHN1YndvcmtlciBwcmVwYXJlZCB0cmFuc2FjdGlvbnMgYWxzbw0KPiAgIC8qDQo+ ICogRG9uJ3QgY3JlYXRlIHRhYmxlcy9mdW5jdGlvbnMvc3Vid29ya2VycyBoYXNodGFibGVzIGZv cg0KPiAqIHVuaW50ZXJlc3RpbmcgZGF0YWJhc2VzLg0KPiAqLw0KPiBpZiAob25seWRiICE9IElu dmFsaWRPaWQpDQo+IHsNCj4gaWYgKGRiYnVmLmRhdGFiYXNlaWQgIT0gb25seWRiICYmDQo+IGRi YnVmLmRhdGFiYXNlaWQgIT0gSW52YWxpZE9pZCkNCj4gYnJlYWs7DQo+IH0NCkZpeGVkLg0KDQoN Cj4gMykgU2ltaWxhcmx5IGl0IHNob3VsZCBiZSBtZW50aW9uZWQgaW46DQo+IHJlc2V0X2RiZW50 cnlfY291bnRlcnMgZnVuY3Rpb24gaGVhZGVyLCBwZ3N0YXRfcmVhZF9kYl9zdGF0c2ZpbGUgZnVu Y3Rpb24NCj4gaGVhZGVyIGFuZCBwZ3N0YXRfZ2V0X2RiX2VudHJ5IGZ1bmN0aW9uIGNvbW1lbnRz Lg0KRml4ZWQuDQoNCiANCj4gNCkgSSBmZWx0IHdlIGNhbiByZW1vdmUgIkNPTU1JVCBvZiBzdHJl YW1pbmcgdHJhbnNhY3Rpb24iLCBzaW5jZSBvbmx5IGNvbW1pdA0KPiBhbmQgY29tbWl0IHByZXBh cmVkIGFyZSB0aGUgdXNlciBvcGVyYXRpb25zLiBTaGFsbCB3ZSBjaGFuZ2UgaXQgdG8gIkNPTU1J VA0KPiBhbmQgQ09NTUlUIFBSRVBBUkVEIHdpbGwgaW5jcmVtZW50IHRoaXMgY291bnRlci4iDQo+ ICsgICAgICAgPHN0cnVjdGZpZWxkPmNvbW1pdF9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJp Z2ludDwvdHlwZT4NCj4gKyAgICAgIDwvcGFyYT4NCj4gKyAgICAgIDxwYXJhPg0KPiArICAgICAg IE51bWJlciBvZiB0cmFuc2FjdGlvbnMgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQgaW4gdGhpcyBzdWJz Y3JpcHRpb24uDQo+ICsgICAgICAgQ09NTUlULCBDT01NSVQgb2Ygc3RyZWFtaW5nIHRyYW5zYWN0 aW9uIGFuZCBDT01NSVQNCj4gUFJFUEFSRUQgaW5jcmVtZW50cw0KPiArICAgICAgIHRoaXMgY291 bnRlci4NCj4gKyAgICAgIDwvcGFyYT48L2VudHJ5Pg0KPiArICAgICA8L3Jvdz4NCllvdSBhcmUg cmlnaHQgISBGaXhlZC4NCg0KIA0KPiA1KSBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgc2hv dWxkIGJlIGJlZm9yZQ0KPiBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0S2V5ICBQZ1N0YXRfU3RhdFN1 YldvcmtlckVudHJ5DQo+IFBnU3RhdF9TdGF0U3ViV29ya2VyS2V5DQo+ICtQZ1N0YXRfU1dfUHJl cGFyZWRYYWN0S2V5DQo+ICtQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkNCj4gIFBnU3RhdF9T dGF0VGFiRW50cnkNCj4gIFBnU3RhdF9TdWJYYWN0U3RhdHVzDQpGaXhlZC4NCg0KPiA2KSAgVGhp cyBjaGFuZ2UgaXMgbm90IHJlcXVpcmVkDQo+IEBAIC0yOTMsNiArMzA2LDcgQEAgc3RhdGljIGlu bGluZSB2b2lkIGNsZWFudXBfc3VieGFjdF9pbmZvKHZvaWQpOyAgc3RhdGljDQo+IHZvaWQgc3Ry ZWFtX2NsZWFudXBfZmlsZXMoT2lkIHN1YmlkLCBUcmFuc2FjdGlvbklkIHhpZCk7ICBzdGF0aWMg dm9pZA0KPiBzdHJlYW1fb3Blbl9maWxlKE9pZCBzdWJpZCwgVHJhbnNhY3Rpb25JZCB4aWQsIGJv b2wgZmlyc3QpOyAgc3RhdGljIHZvaWQNCj4gc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFyIGFjdGlv biwgU3RyaW5nSW5mbyBzKTsNCj4gKw0KPiAgc3RhdGljIHZvaWQgc3RyZWFtX2Nsb3NlX2ZpbGUo dm9pZCk7DQpSZW1vdmVkLg0KDQoNCk90aGVyIGNoYW5nZXMgYXJlDQoxLiByZWZpbmVkIHRoZSBj b21taXQgbWVzc2FnZSBvZiB2MTMtMDAwMyouDQoyLiBtYWRlIHRoZSBhZGRpdGlvbmFsIGNvbW1l bnQgZm9yIEFwcGx5RXJyb3JDYWxsYmFja0FyZyBzaW1wbGUuDQozLiB3cm90ZSBtb3JlIGV4cGxh bmF0aW9ucyBhYm91dCB1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoKSBhcyBjb21tZW50Lg0KNC4g Y2hhbmdlZCB0aGUgYmVoYXZpb3Igb2YgcGdzdGF0X3JlY3Zfc3Vid29ya2VyX2Vycm9yIHNvIHRo YXQNCiAgIGl0IGNhbiBzdG9yZSBzdGF0cyBpbmZvIG9ubHkgb25jZSBwZXIgZXJyb3IuDQo1LiBh ZGRlZCBvbmUgc2ltcGxlIHRlc3QgZm9yIFBSRVBBUkUgYW5kIENPTU1JVCBQUkVQQVJFRC4NCg0K VGhpcyB1c2VkIHYyMyBza2lwIHhpZCBwYXRjaCBbMV0uDQooSSB3aWxsIHJlbW92ZSB2MTMtMDAw MSogd2hlbiB0aGUgY29sdW1uIG5hbWVzIGFyZSBmaXhlZA0KYW5kIFNhd2FkYS1zYW4gc3RhcnRz IHRvIHRha2UgY2FyZSBvZiB0aGUgY29sdW1uIG5hbWUgZGVmaW5pdGlvbnMpDQoNClsxXSAtIGh0 dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvQ0FEMjFBb0E1anVwTTZPJTNEcFlz eWZheFExYU1YLWVuOCUzRFFOZ3BXNktmWHNnN19DUzBDUSU0MG1haWwuZ21haWwuY29tDQoNCkJl c3QgUmVnYXJkcywNCglUYWthbWljaGkgT3N1bWkNCg0K --_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v13-0001-Rename-existing-columns-of-pg_stat_subscription_.patch" Content-Description: v13-0001-Rename-existing-columns-of-pg_stat_subscription_.patch Content-Disposition: attachment; filename="v13-0001-Rename-existing-columns-of-pg_stat_subscription_.patch"; size=9491; creation-date="Thu, 18 Nov 2021 14:36:34 GMT"; modification-date="Thu, 18 Nov 2021 14:36:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBjODE2ODVkOTNiMDVjZWVhNmRhMDRiZDFmOTNkYmM2NjFkYmViOTkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogVGh1LCAxOCBOb3YgMjAyMSAxMTo0Mzo0NiArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjEzIDEvM10gUmVuYW1lIGV4aXN0aW5nIGNvbHVtbnMgb2YKIHBnX3N0YXRfc3Vic2Ny aXB0aW9uX3dvcmtlcnMKCi0tLQogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAg ICAgICAgICB8IDI0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICB8IDEwICsrKysrLS0tLS0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQog c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICB8ICAyICstCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgIHwgMTIgKysrKysrLS0tLS0t CiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsIHwgIDggKysrKy0t LS0KIDYgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCBiL2RvYy9zcmMvc2dtbC9t b25pdG9yaW5nLnNnbWwKaW5kZXggZGFmOWZlOC4uNWIxMGQxOCAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL21vbml0b3Jpbmcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21s CkBAIC0zMTAzLDMxICszMTAzLDMxIEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2Fp dF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAg PHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+Ci0gICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5sYXN0X2Vycm9yX3Jl bGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAg PHBhcmE+CiAgICAgICAgT0lEIG9mIHRoZSByZWxhdGlvbiB0aGF0IHRoZSB3b3JrZXIgd2FzIHBy b2Nlc3Npbmcgd2hlbiB0aGUKLSAgICAgICBlcnJvciBvY2N1cnJlZAorICAgICAgIGxhc3QgZXJy b3Igb2NjdXJyZWQKICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8 cm93PgogICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KLSAgICAgICA8c3RydWN0ZmllbGQ+Y29tbWFuZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3Jf Y29tbWFuZDwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAg ICAgICA8cGFyYT4KLSAgICAgICBOYW1lIG9mIGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRo ZSBlcnJvciBvY2N1cnJlZC4gIFRoaXMgZmllbGQKLSAgICAgICBpcyBhbHdheXMgTlVMTCBpZiB0 aGUgZXJyb3Igd2FzIHJlcG9ydGVkIGR1cmluZyB0aGUgaW5pdGlhbCBkYXRhCi0gICAgICAgY29w eS4KKyAgICAgICBOYW1lIG9mIHRoZSBsYXN0IGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRo ZSBlcnJvciBvY2N1cnJlZC4KKyAgICAgICBUaGlzIGZpZWxkIGlzIGFsd2F5cyBOVUxMIGlmIHRo ZSBlcnJvciB3YXMgcmVwb3J0ZWQgZHVyaW5nIHRoZQorICAgICAgIGluaXRpYWwgZGF0YSBjb3B5 LgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgogCiAgICAgIDxyb3c+CiAgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgotICAgICAgIDxzdHJ1Y3RmaWVsZD54aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT54 aWQ8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfeGlkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+eGlkPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+Ci0gICAgICAg VHJhbnNhY3Rpb24gSUQgb2YgdGhlIHB1Ymxpc2hlciBub2RlIGJlaW5nIGFwcGxpZWQgd2hlbiB0 aGUgZXJyb3IKKyAgICAgICBUcmFuc2FjdGlvbiBJRCBvZiB0aGUgcHVibGlzaGVyIG5vZGUgYmVp bmcgYXBwbGllZCB3aGVuIHRoZSBsYXN0IGVycm9yCiAgICAgICAgb2NjdXJyZWQuICBUaGlzIGZp ZWxkIGlzIGFsd2F5cyBOVUxMIGlmIHRoZSBlcnJvciB3YXMgcmVwb3J0ZWQKICAgICAgICBkdXJp bmcgdGhlIGluaXRpYWwgZGF0YSBjb3B5LgogICAgICAgPC9wYXJhPjwvZW50cnk+CkBAIC0zMTM1 LDE5ICszMTM1LDE5IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBG Uk9NIHBnX3N0YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+Ci0gICAgICAgPHN0cnVjdGZpZWxkPmVycm9yX2NvdW50PC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+dWludDg8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfY291 bnQ8L3N0cnVjdGZpZWxkPiA8dHlwZT51aW50ODwvdHlwZT4KICAgICAgIDwvcGFyYT4KICAgICAg IDxwYXJhPgotICAgICAgIE51bWJlciBvZiBjb25zZWN1dGl2ZSB0aW1lcyB0aGUgZXJyb3Igb2Nj dXJyZWQKKyAgICAgICBOdW1iZXIgb2YgY29uc2VjdXRpdmUgdGltZXMgdGhlIGxhc3QgZXJyb3Ig b2NjdXJyZWQKICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8cm93 PgogICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KLSAgICAgICA8c3RydWN0ZmllbGQ+ZXJyb3JfbWVzc2FnZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJy b3JfbWVzc2FnZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+ CiAgICAgICA8cGFyYT4KLSAgICAgICBUaGUgZXJyb3IgbWVzc2FnZQorICAgICAgIFRoZSBsYXN0 IGVycm9yIG1lc3NhZ2UKICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGNiMmY3N2MuLmVjZjFhMGIgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTEyNjcsMTEgKzEyNjcsMTEgQEAgQ1JF QVRFIFZJRVcgcGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VycyBBUwogICAgICAgICB3LnN1Ymlk LAogICAgICAgICBzLnN1Ym5hbWUsCiAgICAgICAgIHcuc3VicmVsaWQsCi0gICAgICAgIHcucmVs aWQsCi0gICAgICAgIHcuY29tbWFuZCwKLSAgICAgICAgdy54aWQsCi0gICAgICAgIHcuZXJyb3Jf Y291bnQsCi0gICAgICAgIHcuZXJyb3JfbWVzc2FnZSwKKyAgICAgICAgdy5sYXN0X2Vycm9yX3Jl bGlkLAorICAgICAgICB3Lmxhc3RfZXJyb3JfY29tbWFuZCwKKyAgICAgICAgdy5sYXN0X2Vycm9y X3hpZCwKKyAgICAgICAgdy5sYXN0X2Vycm9yX2NvdW50LAorICAgICAgICB3Lmxhc3RfZXJyb3Jf bWVzc2FnZSwKICAgICAgICAgdy5maXJzdF9lcnJvcl90aW1lLAogICAgICAgICB3Lmxhc3RfZXJy b3JfdGltZQogICAgIEZST00gKFNFTEVDVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpp bmRleCBiMTk3MjlkLi5hMzRjMGI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpA QCAtMjQ0MSwxNSArMjQ0MSwxNSBAQCBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyKFBH X0ZVTkNUSU9OX0FSR1MpCiAJCQkJCSAgIE9JRE9JRCwgLTEsIDApOwogCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMiwgInN1YnJlbGlkIiwKIAkJCQkJICAgT0lET0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAi cmVsaWQiLAorCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMywgImxh c3RfZXJyb3JfcmVsaWQiLAogCQkJCQkgICBPSURPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDQsICJjb21tYW5kIiwKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDQsICJsYXN0X2Vycm9yX2NvbW1hbmQiLAogCQkJ CQkgICBURVhUT0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSA1LCAieGlkIiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpIDUsICJsYXN0X2Vycm9yX3hpZCIsCiAJCQkJCSAgIFhJRE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgNiwgImVycm9yX2NvdW50IiwKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDYsICJsYXN0X2Vycm9yX2Nv dW50IiwKIAkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgNywgImVycm9yX21lc3NhZ2UiLAorCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgNywgImxhc3RfZXJyb3JfbWVzc2FnZSIsCiAJCQkJCSAg IFRFWFRPSUQsIC0xLCAwKTsKIAlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpIDgsICJmaXJzdF9lcnJvcl90aW1lIiwKIAkJCQkJICAgVElNRVNUQU1QVFpPSUQsIC0xLCAw KTsKQEAgLTI0NzEsMjggKzI0NzEsMjggQEAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtl cihQR19GVU5DVElPTl9BUkdTKQogCWVsc2UKIAkJbnVsbHNbaSsrXSA9IHRydWU7CiAKLQkvKiBy ZWxpZCAqLworCS8qIGxhc3RfZXJyb3JfcmVsaWQgKi8KIAlpZiAoT2lkSXNWYWxpZCh3ZW50cnkt PnJlbGlkKSkKIAkJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHdlbnRyeS0+cmVsaWQp OwogCWVsc2UKIAkJbnVsbHNbaSsrXSA9IHRydWU7CiAKLQkvKiBjb21tYW5kICovCisJLyogbGFz dF9lcnJvcl9jb21tYW5kICovCiAJaWYgKHdlbnRyeS0+Y29tbWFuZCAhPSAwKQogCQl2YWx1ZXNb aSsrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0obG9naWNhbHJlcF9tZXNzYWdlX3R5cGUod2VudHJ5 LT5jb21tYW5kKSk7CiAJZWxzZQogCQludWxsc1tpKytdID0gdHJ1ZTsKIAotCS8qIHhpZCAqLwor CS8qIGxhc3RfZXJyb3JfeGlkICovCiAJaWYgKFRyYW5zYWN0aW9uSWRJc1ZhbGlkKHdlbnRyeS0+ eGlkKSkKIAkJdmFsdWVzW2krK10gPSBUcmFuc2FjdGlvbklkR2V0RGF0dW0od2VudHJ5LT54aWQp OwogCWVsc2UKIAkJbnVsbHNbaSsrXSA9IHRydWU7CiAKLQkvKiBlcnJvcl9jb3VudCAqLworCS8q IGxhc3RfZXJyb3JfY291bnQgKi8KIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0od2VudHJ5 LT5lcnJvcl9jb3VudCk7CiAKLQkvKiBlcnJvcl9tZXNzYWdlICovCisJLyogbGFzdF9lcnJvcl9t ZXNzYWdlICovCiAJdmFsdWVzW2krK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKHdlbnRyeS0+ZXJy b3JfbWVzc2FnZSk7CiAKIAkvKiBmaXJzdF9lcnJvcl90aW1lICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdAppbmRleCA1MGUxYzdiLi4yNWY2ODVmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAg LTUzOTEsNyArNTM5MSw3IEBACiAgIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQgb2lkJywKICAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLG9pZCxvaWQsb2lk LHRleHQseGlkLGludDgsdGV4dCx0aW1lc3RhbXB0eix0aW1lc3RhbXB0en0nLAogICBwcm9hcmdt b2RlcyA9PiAne2ksaSxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAne3N1 YmlkLHN1YnJlbGlkLHN1YmlkLHN1YnJlbGlkLHJlbGlkLGNvbW1hbmQseGlkLGVycm9yX2NvdW50 LGVycm9yX21lc3NhZ2UsZmlyc3RfZXJyb3JfdGltZSxsYXN0X2Vycm9yX3RpbWV9JywKKyAgcHJv YXJnbmFtZXMgPT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxsYXN0X2Vycm9yX3Jl bGlkLGxhc3RfZXJyb3JfY29tbWFuZCxsYXN0X2Vycm9yX3hpZCxsYXN0X2Vycm9yX2NvdW50LGxh c3RfZXJyb3JfbWVzc2FnZSxmaXJzdF9lcnJvcl90aW1lLGxhc3RfZXJyb3JfdGltZX0nLAogICBw cm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXInIH0sCiB7IG9pZCA9PiAn NjExOCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBpbmZvcm1hdGlvbiBhYm91dCBzdWJzY3JpcHRp b24nLAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb24nLCBwcm9yb3dzID0+ ICcxMCcsIHByb2lzc3RyaWN0ID0+ICdmJywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQK aW5kZXggY2I2ZGEyYy4uZDYwYzVhNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQK QEAgLTIwOTcsMTEgKzIwOTcsMTEgQEAgcGdfc3RhdF9zdWJzY3JpcHRpb258IFNFTEVDVCBzdS5v aWQgQVMgc3ViaWQsCiBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJp ZCwKICAgICBzLnN1Ym5hbWUsCiAgICAgdy5zdWJyZWxpZCwKLSAgICB3LnJlbGlkLAotICAgIHcu Y29tbWFuZCwKLSAgICB3LnhpZCwKLSAgICB3LmVycm9yX2NvdW50LAotICAgIHcuZXJyb3JfbWVz c2FnZSwKKyAgICB3Lmxhc3RfZXJyb3JfcmVsaWQsCisgICAgdy5sYXN0X2Vycm9yX2NvbW1hbmQs CisgICAgdy5sYXN0X2Vycm9yX3hpZCwKKyAgICB3Lmxhc3RfZXJyb3JfY291bnQsCisgICAgdy5s YXN0X2Vycm9yX21lc3NhZ2UsCiAgICAgdy5maXJzdF9lcnJvcl90aW1lLAogICAgIHcubGFzdF9l cnJvcl90aW1lCiAgICBGUk9NICggU0VMRUNUIHBnX3N1YnNjcmlwdGlvbi5vaWQgQVMgc3ViaWQs CkBAIC0yMTEyLDcgKzIxMTIsNyBAQCBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzfCBTRUxF Q1Qgdy5zdWJpZCwKICAgICAgICAgICAgIHBnX3N1YnNjcmlwdGlvbl9yZWwuc3JyZWxpZCBBUyBy ZWxpZAogICAgICAgICAgICBGUk9NIHBnX3N1YnNjcmlwdGlvbl9yZWwKICAgICAgICAgICBXSEVS RSAocGdfc3Vic2NyaXB0aW9uX3JlbC5zcnN1YnN0YXRlIDw+ICdyJzo6ImNoYXIiKSkgc3IsCi0g ICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcihzci5zdWJpZCwgc3Iu cmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCByZWxpZCwgY29tbWFuZCwgeGlkLCBlcnJvcl9jb3Vu dCwgZXJyb3JfbWVzc2FnZSwgZmlyc3RfZXJyb3JfdGltZSwgbGFzdF9lcnJvcl90aW1lKQorICAg IChMQVRFUkFMIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJl bGlkKSB3KHN1YmlkLCBzdWJyZWxpZCwgbGFzdF9lcnJvcl9yZWxpZCwgbGFzdF9lcnJvcl9jb21t YW5kLCBsYXN0X2Vycm9yX3hpZCwgbGFzdF9lcnJvcl9jb3VudCwgbGFzdF9lcnJvcl9tZXNzYWdl LCBmaXJzdF9lcnJvcl90aW1lLCBsYXN0X2Vycm9yX3RpbWUpCiAgICAgIEpPSU4gcGdfc3Vic2Ny aXB0aW9uIHMgT04gKCh3LnN1YmlkID0gcy5vaWQpKSk7CiBwZ19zdGF0X3N5c19pbmRleGVzfCBT RUxFQ1QgcGdfc3RhdF9hbGxfaW5kZXhlcy5yZWxpZCwKICAgICBwZ19zdGF0X2FsbF9pbmRleGVz LmluZGV4cmVsaWQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJy b3JfcmVwb3J0LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI2X2Vycm9yX3JlcG9ydC5w bAppbmRleCAxMjI3NjU0Li5jYTMwYWIyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAy Nl9lcnJvcl9yZXBvcnQucGwKQEAgLTE1LDggKzE1LDggQEAgc3ViIHRlc3Rfc3Vic2NyaXB0aW9u X2Vycm9yCiAKICAgICBteSAkY2hlY2tfc3FsID0gcXFbCiBTRUxFQ1QgY291bnQoMSkgPiAwIEZS T00gcGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VycwotV0hFUkUgcmVsaWQgPSAnJHJlbG5hbWUn OjpyZWdjbGFzc107Ci0gICAgJGNoZWNrX3NxbCAuPSAiIEFORCB4aWQgPSAnJHhpZCc6OnhpZDsi IGlmICR4aWQgbmUgJyc7CitXSEVSRSBsYXN0X2Vycm9yX3JlbGlkID0gJyRyZWxuYW1lJzo6cmVn Y2xhc3NdOworICAgICRjaGVja19zcWwgLj0gIiBBTkQgbGFzdF9lcnJvcl94aWQgPSAnJHhpZCc6 OnhpZDsiIGlmICR4aWQgbmUgJyc7CiAKICAgICAjIFdhaXQgZm9yIHRoZSBlcnJvciBzdGF0aXN0 aWNzIHRvIGJlIHVwZGF0ZWQuCiAgICAgJG5vZGUtPnBvbGxfcXVlcnlfdW50aWwoCkBAIC0yNiw5 ICsyNiw5IEBAIFdIRVJFIHJlbGlkID0gJyRyZWxuYW1lJzo6cmVnY2xhc3NdOwogICAgIG15ICRy ZXN1bHQgPSAkbm9kZS0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsCiAJcXFbCi1TRUxFQ1Qgc3Vi bmFtZSwgY29tbWFuZCwgcmVsaWQ6OnJlZ2NsYXNzLCBlcnJvcl9jb3VudCA+IDAKK1NFTEVDVCBz dWJuYW1lLCBsYXN0X2Vycm9yX2NvbW1hbmQsIGxhc3RfZXJyb3JfcmVsaWQ6OnJlZ2NsYXNzLCBs YXN0X2Vycm9yX2NvdW50ID4gMAogRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzCi1X SEVSRSByZWxpZCA9ICckcmVsbmFtZSc6OnJlZ2NsYXNzOworV0hFUkUgbGFzdF9lcnJvcl9yZWxp ZCA9ICckcmVsbmFtZSc6OnJlZ2NsYXNzOwogXSk7CiAgICAgaXMoJHJlc3VsdCwgJGV4cGVjdGVk X2Vycm9yLCAkbXNnKTsKIH0KLS0gCjIuMi4wCgo= --_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v13-0002-Export-PartitionTupleRouting-for-transaction-siz.patch" Content-Description: v13-0002-Export-PartitionTupleRouting-for-transaction-siz.patch Content-Disposition: attachment; filename="v13-0002-Export-PartitionTupleRouting-for-transaction-siz.patch"; size=6816; creation-date="Thu, 18 Nov 2021 14:36:34 GMT"; modification-date="Thu, 18 Nov 2021 14:36:34 GMT" Content-Transfer-Encoding: base64 RnJvbSA4NGZiMDNlN2NiYjdjODg3ZWM5MjY3MjRjODFjM2JhYTVhN2E3YjlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogVGh1LCAxOCBOb3YgMjAyMSAxMTo0NDo0NiArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjEzIDIvM10gRXhwb3J0IFBhcnRpdGlvblR1cGxlUm91dGluZyBmb3IgdHJhbnNhY3Rp b24gc2l6ZQogY2FsY3VsYXRpb24KCkFwcGx5IHdvcmtlciB1dGlsaXplcyBBcHBseUV4ZWN1dGlv bkRhdGEgYW5kIGl0cwpvbmUgb2YgdGhlIG1lbWJlcnMgaXMgUGFydGl0aW9uVHVwbGVSb3V0aW5n LgpUaGlzIGlzIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBkdXJpbmcgYXBwbHkKYW5kIG5lZWQgdG8g bWFrZSBpdCBleHBvcnRlZCBpZiB0aGUgdGFyZ2V0CnJlbGF0aW9uIGlzIHBhcnRpdGlvbmVkIHRv IGNhbGN1bGF0ZSB0cmFuc2FjdGlvbgptZW1vcnkgY29uc3VtcHRpb24uCi0tLQogc3JjL2JhY2tl bmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jIHwgNzAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBzcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmggfCA2OSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2OSBp bnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9l eGVjdXRvci9leGVjUGFydGl0aW9uLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0 aW9uLmMKaW5kZXggNWM3MjNiYy4uMjQ2N2Y0YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhl Y3V0b3IvZXhlY1BhcnRpdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0 aXRpb24uYwpAQCAtMzQsNzYgKzM0LDYgQEAKICNpbmNsdWRlICJ1dGlscy9ybHMuaCIKICNpbmNs dWRlICJ1dGlscy9ydWxldXRpbHMuaCIKIAotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g KiBQYXJ0aXRpb25UdXBsZVJvdXRpbmcgLSBFbmNhcHN1bGF0ZXMgYWxsIGluZm9ybWF0aW9uIHJl cXVpcmVkIHRvCi0gKiByb3V0ZSBhIHR1cGxlIGluc2VydGVkIGludG8gYSBwYXJ0aXRpb25lZCB0 YWJsZSB0byBvbmUgb2YgaXRzIGxlYWYKLSAqIHBhcnRpdGlvbnMuCi0gKgotICogcGFydGl0aW9u X3Jvb3QKLSAqCQlUaGUgcGFydGl0aW9uZWQgdGFibGUgdGhhdCdzIHRoZSB0YXJnZXQgb2YgdGhl IGNvbW1hbmQuCi0gKgotICogcGFydGl0aW9uX2Rpc3BhdGNoX2luZm8KLSAqCQlBcnJheSBvZiAn bWF4X2Rpc3BhdGNoJyBlbGVtZW50cyBjb250YWluaW5nIGEgcG9pbnRlciB0byBhCi0gKgkJUGFy dGl0aW9uRGlzcGF0Y2ggb2JqZWN0IGZvciBldmVyeSBwYXJ0aXRpb25lZCB0YWJsZSB0b3VjaGVk IGJ5IHR1cGxlCi0gKgkJcm91dGluZy4gIFRoZSBlbnRyeSBmb3IgdGhlIHRhcmdldCBwYXJ0aXRp b25lZCB0YWJsZSBpcyAqYWx3YXlzKgotICoJCXByZXNlbnQgaW4gdGhlIDB0aCBlbGVtZW50IG9m IHRoaXMgYXJyYXkuICBTZWUgY29tbWVudCBmb3IKLSAqCQlQYXJ0aXRpb25EaXNwYXRjaERhdGEt PmluZGV4ZXMgZm9yIGRldGFpbHMgb24gaG93IHRoaXMgYXJyYXkgaXMKLSAqCQlpbmRleGVkLgot ICoKLSAqIG5vbmxlYWZfcGFydGl0aW9ucwotICoJCUFycmF5IG9mICdtYXhfZGlzcGF0Y2gnIGVs ZW1lbnRzIGNvbnRhaW5pbmcgcG9pbnRlcnMgdG8gZmFrZQotICoJCVJlc3VsdFJlbEluZm8gb2Jq ZWN0cyBmb3Igbm9ubGVhZiBwYXJ0aXRpb25zLCB1c2VmdWwgZm9yIGNoZWNraW5nCi0gKgkJdGhl IHBhcnRpdGlvbiBjb25zdHJhaW50LgotICoKLSAqIG51bV9kaXNwYXRjaAotICoJCVRoZSBjdXJy ZW50IG51bWJlciBvZiBpdGVtcyBzdG9yZWQgaW4gdGhlICdwYXJ0aXRpb25fZGlzcGF0Y2hfaW5m bycKLSAqCQlhcnJheS4gIEFsc28gc2VydmVzIGFzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVl IGFycmF5IGVsZW1lbnQgZm9yCi0gKgkJbmV3IFBhcnRpdGlvbkRpc3BhdGNoIG9iamVjdHMgdGhh dCBuZWVkIHRvIGJlIHN0b3JlZC4KLSAqCi0gKiBtYXhfZGlzcGF0Y2gKLSAqCQlUaGUgY3VycmVu dCBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgJ3BhcnRpdGlvbl9kaXNwYXRjaF9pbmZvJyBhcnJheS4K LSAqCi0gKiBwYXJ0aXRpb25zCi0gKgkJQXJyYXkgb2YgJ21heF9wYXJ0aXRpb25zJyBlbGVtZW50 cyBjb250YWluaW5nIGEgcG9pbnRlciB0byBhCi0gKgkJUmVzdWx0UmVsSW5mbyBmb3IgZXZlcnkg bGVhZiBwYXJ0aXRpb24gdG91Y2hlZCBieSB0dXBsZSByb3V0aW5nLgotICoJCVNvbWUgb2YgdGhl c2UgYXJlIHBvaW50ZXJzIHRvIFJlc3VsdFJlbEluZm9zIHdoaWNoIGFyZSBib3Jyb3dlZCBvdXQg b2YKLSAqCQl0aGUgb3duaW5nIE1vZGlmeVRhYmxlU3RhdGUgbm9kZS4gIFRoZSByZW1haW5kZXIg aGF2ZSBiZWVuIGJ1aWx0Ci0gKgkJZXNwZWNpYWxseSBmb3IgdHVwbGUgcm91dGluZy4gIFNlZSBj b21tZW50IGZvcgotICoJCVBhcnRpdGlvbkRpc3BhdGNoRGF0YS0+aW5kZXhlcyBmb3IgZGV0YWls cyBvbiBob3cgdGhpcyBhcnJheSBpcwotICoJCWluZGV4ZWQuCi0gKgotICogaXNfYm9ycm93ZWRf cmVsCi0gKgkJQXJyYXkgb2YgJ21heF9wYXJ0aXRpb25zJyBib29sZWFucyByZWNvcmRpbmcgd2hl dGhlciBhIGdpdmVuIGVudHJ5Ci0gKgkJaW4gJ3BhcnRpdGlvbnMnIGlzIGEgUmVzdWx0UmVsSW5m byBwb2ludGVyIGJvcnJvd2VkIGZyb20gdGhlIG93bmluZwotICoJCU1vZGlmeVRhYmxlU3RhdGUg bm9kZSwgcmF0aGVyIHRoYW4gYmVpbmcgYnVpbHQgaGVyZS4KLSAqCi0gKiBudW1fcGFydGl0aW9u cwotICoJCVRoZSBjdXJyZW50IG51bWJlciBvZiBpdGVtcyBzdG9yZWQgaW4gdGhlICdwYXJ0aXRp b25zJyBhcnJheS4gIEFsc28KLSAqCQlzZXJ2ZXMgYXMgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGZy ZWUgYXJyYXkgZWxlbWVudCBmb3IgbmV3Ci0gKgkJUmVzdWx0UmVsSW5mbyBvYmplY3RzIHRoYXQg bmVlZCB0byBiZSBzdG9yZWQuCi0gKgotICogbWF4X3BhcnRpdGlvbnMKLSAqCQlUaGUgY3VycmVu dCBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgJ3BhcnRpdGlvbnMnIGFycmF5LgotICoKLSAqIG1lbWN4 dAotICoJCU1lbW9yeSBjb250ZXh0IHVzZWQgdG8gYWxsb2NhdGUgc3Vic2lkaWFyeSBzdHJ1Y3Rz LgotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICovCi1zdHJ1Y3QgUGFydGl0aW9uVHVwbGVS b3V0aW5nCi17Ci0JUmVsYXRpb24JcGFydGl0aW9uX3Jvb3Q7Ci0JUGFydGl0aW9uRGlzcGF0Y2gg KnBhcnRpdGlvbl9kaXNwYXRjaF9pbmZvOwotCVJlc3VsdFJlbEluZm8gKipub25sZWFmX3BhcnRp dGlvbnM7Ci0JaW50CQkJbnVtX2Rpc3BhdGNoOwotCWludAkJCW1heF9kaXNwYXRjaDsKLQlSZXN1 bHRSZWxJbmZvICoqcGFydGl0aW9uczsKLQlib29sCSAgICppc19ib3Jyb3dlZF9yZWw7Ci0JaW50 CQkJbnVtX3BhcnRpdGlvbnM7Ci0JaW50CQkJbWF4X3BhcnRpdGlvbnM7Ci0JTWVtb3J5Q29udGV4 dCBtZW1jeHQ7Ci19OwotCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBQYXJ0aXRpb25E aXNwYXRjaCAtIGluZm9ybWF0aW9uIGFib3V0IG9uZSBwYXJ0aXRpb25lZCB0YWJsZSBpbiBhIHBh cnRpdGlvbgogICogaGllcmFyY2h5IHJlcXVpcmVkIHRvIHJvdXRlIGEgdHVwbGUgdG8gYW55IG9m IGl0cyBwYXJ0aXRpb25zLiAgQQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhl Y1BhcnRpdGlvbi5oIGIvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5oCmluZGV4 IDY5NGUzOGIuLjRjNzk2YWIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQ YXJ0aXRpb24uaAorKysgYi9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKQEAg LTExMCw2ICsxMTAsNzUgQEAgdHlwZWRlZiBzdHJ1Y3QgUGFydGl0aW9uUHJ1bmVTdGF0ZQogCVBh cnRpdGlvblBydW5pbmdEYXRhICpwYXJ0cHJ1bmVkYXRhW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07 CiB9IFBhcnRpdGlvblBydW5lU3RhdGU7CiAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAq IFBhcnRpdGlvblR1cGxlUm91dGluZyAtIEVuY2Fwc3VsYXRlcyBhbGwgaW5mb3JtYXRpb24gcmVx dWlyZWQgdG8KKyAqIHJvdXRlIGEgdHVwbGUgaW5zZXJ0ZWQgaW50byBhIHBhcnRpdGlvbmVkIHRh YmxlIHRvIG9uZSBvZiBpdHMgbGVhZgorICogcGFydGl0aW9ucy4KKyAqCisgKiBwYXJ0aXRpb25f cm9vdAorICoJCVRoZSBwYXJ0aXRpb25lZCB0YWJsZSB0aGF0J3MgdGhlIHRhcmdldCBvZiB0aGUg Y29tbWFuZC4KKyAqCisgKiBwYXJ0aXRpb25fZGlzcGF0Y2hfaW5mbworICoJCUFycmF5IG9mICdt YXhfZGlzcGF0Y2gnIGVsZW1lbnRzIGNvbnRhaW5pbmcgYSBwb2ludGVyIHRvIGEKKyAqCQlQYXJ0 aXRpb25EaXNwYXRjaCBvYmplY3QgZm9yIGV2ZXJ5IHBhcnRpdGlvbmVkIHRhYmxlIHRvdWNoZWQg YnkgdHVwbGUKKyAqCQlyb3V0aW5nLiAgVGhlIGVudHJ5IGZvciB0aGUgdGFyZ2V0IHBhcnRpdGlv bmVkIHRhYmxlIGlzICphbHdheXMqCisgKgkJcHJlc2VudCBpbiB0aGUgMHRoIGVsZW1lbnQgb2Yg dGhpcyBhcnJheS4gIFNlZSBjb21tZW50IGZvcgorICoJCVBhcnRpdGlvbkRpc3BhdGNoRGF0YS0+ aW5kZXhlcyBmb3IgZGV0YWlscyBvbiBob3cgdGhpcyBhcnJheSBpcworICoJCWluZGV4ZWQuCisg KgorICogbm9ubGVhZl9wYXJ0aXRpb25zCisgKgkJQXJyYXkgb2YgJ21heF9kaXNwYXRjaCcgZWxl bWVudHMgY29udGFpbmluZyBwb2ludGVycyB0byBmYWtlCisgKgkJUmVzdWx0UmVsSW5mbyBvYmpl Y3RzIGZvciBub25sZWFmIHBhcnRpdGlvbnMsIHVzZWZ1bCBmb3IgY2hlY2tpbmcKKyAqCQl0aGUg cGFydGl0aW9uIGNvbnN0cmFpbnQuCisgKgorICogbnVtX2Rpc3BhdGNoCisgKgkJVGhlIGN1cnJl bnQgbnVtYmVyIG9mIGl0ZW1zIHN0b3JlZCBpbiB0aGUgJ3BhcnRpdGlvbl9kaXNwYXRjaF9pbmZv JworICoJCWFycmF5LiAgQWxzbyBzZXJ2ZXMgYXMgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGZyZWUg YXJyYXkgZWxlbWVudCBmb3IKKyAqCQluZXcgUGFydGl0aW9uRGlzcGF0Y2ggb2JqZWN0cyB0aGF0 IG5lZWQgdG8gYmUgc3RvcmVkLgorICoKKyAqIG1heF9kaXNwYXRjaAorICoJCVRoZSBjdXJyZW50 IGFsbG9jYXRlZCBzaXplIG9mIHRoZSAncGFydGl0aW9uX2Rpc3BhdGNoX2luZm8nIGFycmF5Lgor ICoKKyAqIHBhcnRpdGlvbnMKKyAqCQlBcnJheSBvZiAnbWF4X3BhcnRpdGlvbnMnIGVsZW1lbnRz IGNvbnRhaW5pbmcgYSBwb2ludGVyIHRvIGEKKyAqCQlSZXN1bHRSZWxJbmZvIGZvciBldmVyeSBs ZWFmIHBhcnRpdGlvbiB0b3VjaGVkIGJ5IHR1cGxlIHJvdXRpbmcuCisgKgkJU29tZSBvZiB0aGVz ZSBhcmUgcG9pbnRlcnMgdG8gUmVzdWx0UmVsSW5mb3Mgd2hpY2ggYXJlIGJvcnJvd2VkIG91dCBv ZgorICoJCXRoZSBvd25pbmcgTW9kaWZ5VGFibGVTdGF0ZSBub2RlLiAgVGhlIHJlbWFpbmRlciBo YXZlIGJlZW4gYnVpbHQKKyAqCQllc3BlY2lhbGx5IGZvciB0dXBsZSByb3V0aW5nLiAgU2VlIGNv bW1lbnQgZm9yCisgKgkJUGFydGl0aW9uRGlzcGF0Y2hEYXRhLT5pbmRleGVzIGZvciBkZXRhaWxz IG9uIGhvdyB0aGlzIGFycmF5IGlzCisgKgkJaW5kZXhlZC4KKyAqCisgKiBpc19ib3Jyb3dlZF9y ZWwKKyAqCQlBcnJheSBvZiAnbWF4X3BhcnRpdGlvbnMnIGJvb2xlYW5zIHJlY29yZGluZyB3aGV0 aGVyIGEgZ2l2ZW4gZW50cnkKKyAqCQlpbiAncGFydGl0aW9ucycgaXMgYSBSZXN1bHRSZWxJbmZv IHBvaW50ZXIgYm9ycm93ZWQgZnJvbSB0aGUgb3duaW5nCisgKgkJTW9kaWZ5VGFibGVTdGF0ZSBu b2RlLCByYXRoZXIgdGhhbiBiZWluZyBidWlsdCBoZXJlLgorICoKKyAqIG51bV9wYXJ0aXRpb25z CisgKgkJVGhlIGN1cnJlbnQgbnVtYmVyIG9mIGl0ZW1zIHN0b3JlZCBpbiB0aGUgJ3BhcnRpdGlv bnMnIGFycmF5LiAgQWxzbworICoJCXNlcnZlcyBhcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJl ZSBhcnJheSBlbGVtZW50IGZvciBuZXcKKyAqCQlSZXN1bHRSZWxJbmZvIG9iamVjdHMgdGhhdCBu ZWVkIHRvIGJlIHN0b3JlZC4KKyAqCisgKiBtYXhfcGFydGl0aW9ucworICoJCVRoZSBjdXJyZW50 IGFsbG9jYXRlZCBzaXplIG9mIHRoZSAncGFydGl0aW9ucycgYXJyYXkuCisgKgorICogbWVtY3h0 CisgKgkJTWVtb3J5IGNvbnRleHQgdXNlZCB0byBhbGxvY2F0ZSBzdWJzaWRpYXJ5IHN0cnVjdHMu CisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3N0cnVjdCBQYXJ0aXRpb25UdXBsZVJv dXRpbmcKK3sKKwlSZWxhdGlvbglwYXJ0aXRpb25fcm9vdDsKKwlQYXJ0aXRpb25EaXNwYXRjaCAq cGFydGl0aW9uX2Rpc3BhdGNoX2luZm87CisJUmVzdWx0UmVsSW5mbyAqKm5vbmxlYWZfcGFydGl0 aW9uczsKKwlpbnQJCQludW1fZGlzcGF0Y2g7CisJaW50CQkJbWF4X2Rpc3BhdGNoOworCVJlc3Vs dFJlbEluZm8gKipwYXJ0aXRpb25zOworCWJvb2wJICAgKmlzX2JvcnJvd2VkX3JlbDsKKwlpbnQJ CQludW1fcGFydGl0aW9uczsKKwlpbnQJCQltYXhfcGFydGl0aW9uczsKKwlNZW1vcnlDb250ZXh0 IG1lbWN4dDsKK307CisKIGV4dGVybiBQYXJ0aXRpb25UdXBsZVJvdXRpbmcgKkV4ZWNTZXR1cFBh cnRpdGlvblR1cGxlUm91dGluZyhFU3RhdGUgKmVzdGF0ZSwKIAkJCQkJCQkJCQkJCQkJCSBSZWxh dGlvbiByZWwpOwogZXh0ZXJuIFJlc3VsdFJlbEluZm8gKkV4ZWNGaW5kUGFydGl0aW9uKE1vZGlm eVRhYmxlU3RhdGUgKm10c3RhdGUsCi0tIAoyLjIuMAoK --_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v13-0003-Extend-pg_stat_subscription_workers-to-include-g.patch" Content-Description: v13-0003-Extend-pg_stat_subscription_workers-to-include-g.patch Content-Disposition: attachment; filename="v13-0003-Extend-pg_stat_subscription_workers-to-include-g.patch"; size=56388; creation-date="Thu, 18 Nov 2021 14:36:34 GMT"; modification-date="Thu, 18 Nov 2021 14:36:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBhYzMyYTk1YWM2N2NhNzYzYThlMWNkMTRjNzE3MTgwNGE4ODY4M2RjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogVGh1LCAxOCBOb3YgMjAyMSAxNDowNjozNyArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjEzIDMvM10gRXh0ZW5kIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgdG8gaW5j bHVkZQogZ2VuZXJhbCB0cmFuc2FjdGlvbiBzdGF0aXN0aWNzCgpDYXRlZ29yaXplIHRyYW5zYWN0 aW9ucyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHN1YnNjcmliZXIKaW50byB0aHJlZSB0eXBlcyAo Y29tbWl0LCBlcnJvciwgYWJvcnQpIGFuZCBpbnRyb2R1Y2UKY3VtdWxhdGl2ZSBjb2x1bW5zIG9m IHRob3NlIG51bWJlcnMgYW5kIGFtb3VudHMgb2YKY29uc3VtZWQgZGF0YSBkdXJpbmcgbWVzc2Fn ZSBhcHBseSByZXNwZWN0aXZlbHkuCgpUaGUgY2FsY3VsYXRpb24gb2YgY29uc3VtZWQgcmVzb3Vy Y2VzIGJ5IHN1YnNjcmliZXIncyBhcHBseQppcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgZGF0YSBz dHJ1Y3R1cmUgZm9yIG1lc3NhZ2UgYXBwbHksCndoaWNoIGlzIGRpZmZlcmVudCBmcm9tIHRoYXQg b2YgcHVibGlzaGVyJ3MgZGVjb2RpbmcgcHJvY2Vzc2luZwp3aGljaCB1dGlsaXplcyBSZW9yZGVy QnVmZmVyQ2hhbmdlU2l6ZSgpLiBOZXcgYnl0ZXMgc3RhdHMKaW5kaWNhdGUgaG93IG11Y2ggcmVz b3VyY2VzIGFwcGx5IHdvcmtlciB1c2VkIGZyb20gdGhlCnBlcnNwZWN0aXZlIG9mIG1lbW9yeS4g VHJhbnNhY3Rpb24gc2l6ZSBvZiB0YWJsZSBzeW5jIHdvcmtlcgppcyBub3QgcmVjb3JkZWQgYXMg ZG9jdW1lbnRlZC4KCkF0IHByZXNlbnQsIHRoZXJlJ3Mgbm8gc3BlY2lhbCBjb25zaWRlcmF0aW9u IHRvIHN0YXRpc3RpY3MKb2Ygc3Bvb2wgZmlsZSBsb2dpYyBzdWNoIGFzIGFtb3VudCBvZiBkYXRh IHNwb29sZWQgdG8gZGlzaywKaXRzIGNvdW50IG9yIGNvcnJlc3BvbmRpbmcgc3RhdGlzdGljcyBh c3NvY2lhdGVkIHdpdGgKU1RSRUFNIEFCT1JULiBIb3dldmVyLCB0aG9zZSBjYW4gYmUgYWRkZWQg bGF0ZXIuCgpPbiBzdWJzY3JpYmVyLCBvbmNlIGVpdGhlciBTVFJFQU0gQ09NTUlUIG1lc3NhZ2Ug b3IKU1RSRUFNIFBSRVBBUkUgbWVzc2FnZSBhcnJpdmVzLCBhcHBseSB3b3JrZXIgc3RhcnRzIHRv CmFwcGx5IGFsbCBzcG9vbGVkIG9wZXJhdGlvbnMgYnkgYXBwbHlfc3Bvb2xlZF9tZXNzYWdlcygp LgpUaGlzIHJlcGxheXMgdHJhbnNhY3Rpb24gYnkgcmVhZGluZyBlbnRyaWVzLiBUaGVyZWZvcmUs CnNpemUgb2Ygc3VjaCBraW5kIG9mIG1lc3NhZ2UgYXBwbHkgc2hvdWxkIGJlIHJlY29yZGVkCmlu dG8gb25lIG9mIHRoZSBjb2x1bW5zIGludHJvZHVjZWQgYnkgdGhpcyBjb21taXQuCgpUaGUgc2l6 ZSBvZiBib3RoIFBSRVBBUkUgYW5kIFNUUkVBTSBQUkVQQVJFIHRyYW5zYWN0aW9uCmJlY29tZSBw ZXJzaXN0ZW50IHRvIGNvbmNsdWRlIHRoZSBhcHByb3ByaWF0ZSBjYXRlZ29yeQpmb3IgdGhlIHRy YW5zYWN0aW9uIGF0IGVpdGhlciBjb21taXQgcHJlcGFyZWQgb3IKcm9sbGJhY2sgcHJlcGFyZWQg dGltZSwgZXZlbiBhZnRlciB0aGUgc2VydmVyIHJlc3RhcnQuCgpBdXRob3I6IFRha2FtaWNoaSBP c3VtaQpEaXNjdXNzZWQgJiBSZXZpZXdlZC1ieTogQW1pdCBLYXBpbGEsIE1hc2FoaWtvIFNhd2Fk YSwgSG91IFpoaWppZSwgR3JlZyBOYW5jYXJyb3csIFZpZ25lc2ggQywgQWppbiBDaGVyaWFuCkRp c2N1c3Npb246IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvT1NCUFIwMU1C NDg4ODdDQThGNDBDOEQ5ODRBNkRDMDBDRUQxOTklNDBPU0JQUjAxTUI0ODg4LmpwbnByZDAxLnBy b2Qub3V0bG9vay5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sICAgICAgICAg ICAgICAgICAgICAgfCAgNzAgKysrKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbCAgICAgICAgICAgICB8ICAgNiArCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bnc3RhdC5j ICAgICAgICAgICAgICAgICAgfCAzMzYgKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYyAgICAgICAgICB8ICAxMiArCiBzcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jICAgICAgfCAgIDYgKwogc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAgICAgICAgIHwgMTc4ICsrKysrKysr KysrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgICAgIHwg IDM2ICsrLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgICAg IHwgICA2ICstCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMDEgKysrKysrLQogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5o ICAgICAgICAgIHwgICA1ICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAg ICAgICAgICAgICB8ICAgOCArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94 YWN0X3N0YXRzLnBsIHwgMTUzICsrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgICAgfCAgIDQgKwogMTMgZmlsZXMgY2hhbmdlZCwgODkzIGlu c2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAyN193b3JrZXJfeGFjdF9zdGF0cy5wbAoKZGlmZiAtLWdpdCBhL2Rv Yy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21s CmluZGV4IDViMTBkMTguLjQ5NDRlZjAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9y aW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAtNjI5LDggKzYy OSw4IEBAIHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBT cyAgIDExOjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRy eT48c3RydWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzPC9zdHJ1Y3RuYW1lPjxp bmRleHRlcm0+PHByaW1hcnk+cGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VyczwvcHJpbWFyeT48 L2luZGV4dGVybT48L2VudHJ5PgotICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHN1YnNjcmlwdGlv biB3b3JrZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCBlcnJvcnMKLSAgICAgIHRoYXQgb2Nj dXJyZWQgb24gdGhhdCBzdWJzY3JpcHRpb24gd29ya2VyLgorICAgICAgPGVudHJ5Pk9uZSByb3cg cGVyIHN1YnNjcmlwdGlvbiB3b3JrZXIsIHNob3dpbmcgdHJhbnNhY3Rpb24gc3RhdGlzdGljcwor ICAgICAgYW5kIGluZm9ybWF0aW9uIGFib3V0IGVycm9ycyB0aGF0IG9jY3VycmVkIG9uIHRoYXQg c3Vic2NyaXB0aW9uIHdvcmtlci4KICAgICAgIFNlZSA8bGluayBsaW5rZW5kPSJtb25pdG9yaW5n LXBnLXN0YXQtc3Vic2NyaXB0aW9uLXdvcmtlcnMiPgogICAgICAgPHN0cnVjdG5hbWU+cGdfc3Rh dF9zdWJzY3JpcHRpb25fd29ya2Vyczwvc3RydWN0bmFtZT48L2xpbms+IGZvciBkZXRhaWxzLgog ICAgICAgPC9lbnRyeT4KQEAgLTMwNTIsMTAgKzMwNTIsMTIgQEAgU0VMRUNUIHBpZCwgd2FpdF9l dmVudF90eXBlLCB3YWl0X2V2ZW50IEZST00gcGdfc3RhdF9hY3Rpdml0eSBXSEVSRSB3YWl0X2V2 ZW50IGkKIAogICA8cGFyYT4KICAgIFRoZSA8c3RydWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlv bl93b3JrZXJzPC9zdHJ1Y3RuYW1lPiB2aWV3IHdpbGwgY29udGFpbgotICAgb25lIHJvdyBwZXIg c3Vic2NyaXB0aW9uIGVycm9yIHJlcG9ydGVkIGJ5IHdvcmtlcnMgYXBwbHlpbmcgbG9naWNhbAor ICAgb25lIHJvdyBwZXIgc3Vic2NyaXB0aW9uLCBzaG93aW5nIGNvcnJlc3BvbmRpbmcgdHJhbnNh Y3Rpb24gc3RhdGlzdGljcyBhbmQKKyAgIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvciByZXBv cnRlZCBieSB3b3JrZXJzIGFwcGx5aW5nIGxvZ2ljYWwKICAgIHJlcGxpY2F0aW9uIGNoYW5nZXMg YW5kIHdvcmtlcnMgaGFuZGxpbmcgdGhlIGluaXRpYWwgZGF0YSBjb3B5IG9mIHRoZQogICAgc3Vi c2NyaWJlZCB0YWJsZXMuICBUaGUgc3RhdGlzdGljcyBlbnRyeSBpcyByZW1vdmVkIHdoZW4gdGhl IHN1YnNjcmlwdGlvbgotICAgdGhlIHdvcmtlciBpcyBydW5uaW5nIG9uIGlzIHJlbW92ZWQuCisg ICB0aGUgd29ya2VyIGlzIHJ1bm5pbmcgb24gaXMgcmVtb3ZlZC4gVGhlIHN0YXRpc3RpY3Mgb2Yg dHJhbnNhY3Rpb24gc2l6ZSBpcworICAgdXRpbGl6ZWQgb25seSBieSB0aGUgYXBwbHkgd29ya2Vy LgogICA8L3BhcmE+CiAKICAgPHRhYmxlIGlkPSJwZy1zdGF0LXN1YnNjcmlwdGlvbi13b3JrZXJz IiB4cmVmbGFiZWw9InBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMiPgpAQCAtMzEwMyw2ICsz MTA1LDY2IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBn X3N0YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmNvbW1pdF9jb3VudDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51 bWJlciBvZiB0cmFuc2FjdGlvbnMgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQgaW4gdGhpcyBzdWJzY3Jp cHRpb24uCisgICAgICAgQ09NTUlUIGFuZCBDT01NSVQgUFJFUEFSRUQgaW5jcmVtZW50cyB0aGlz IGNvdW50ZXIuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmNvbW1pdF9ieXRlczwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgIEFtb3VudCBvZiBkYXRhIChpbiBieXRlcykgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQg aW4gdGhpcyBzdWJzY3JpcHRpb24sCisgICAgICAgYWNyb3NzIDxsaXRlcmFsPmNvbW1pdF9jb3Vu dDwvbGl0ZXJhbD4gdHJhbnNhY3Rpb25zLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5l cnJvcl9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiB0cmFuc2FjdGlvbnMgdGhhdCBmYWls ZWQgdG8gYmUgYXBwbGllZCBieSB0aGUgdGFibGUKKyAgICAgICBzeW5jIHdvcmtlciBvciBtYWlu IGFwcGx5IHdvcmtlciBpbiB0aGlzIHN1YnNjcmlwdGlvbi4KKyAgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPmVycm9yX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgQW1vdW50IG9mIGRhdGEgKGluIGJ5 dGVzKSB1bnN1Y2Nlc3NmdWxseSBhcHBsaWVkIGluIHRoaXMgc3Vic2NyaXB0aW9uLAorICAgICAg IGFjcm9zcyA8bGl0ZXJhbD5lcnJvcl9jb3VudDwvbGl0ZXJhbD4gdHJhbnNhY3Rpb25zLgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50 cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5hYm9ydF9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBl PmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJl ciBvZiB0cmFuc2FjdGlvbnMgYWJvcnRlZCBpbiB0aGlzIHN1YnNjcmlwdGlvbi4KKyAgICAgICBS T0xMQkFDSyBQUkVQQVJFRCBpbmNyZW1lbnRzIHRoaXMgY291bnRlci4KKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+YWJvcnRfYnl0ZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBBbW91bnQgb2YgZGF0YSAo aW4gYnl0ZXMpIGFib3J0ZWQgaW4gdGhpcyBzdWJzY3JpcHRpb24sCisgICAgICAgYWNyb3NzIDxs aXRlcmFsPmFib3J0X2NvdW50PC9saXRlcmFsPiB0cmFuc2FjdGlvbnMuCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CiAgICAg ICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfcmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8 L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbAppbmRleCBlY2YxYTBiLi5hODg4MGU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCkBAIC0xMjY3LDYgKzEyNjcsMTIgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9z dWJzY3JpcHRpb25fd29ya2VycyBBUwogICAgICAgICB3LnN1YmlkLAogICAgICAgICBzLnN1Ym5h bWUsCiAgICAgICAgIHcuc3VicmVsaWQsCisgICAgICAgIHcuY29tbWl0X2NvdW50LAorICAgICAg ICB3LmNvbW1pdF9ieXRlcywKKyAgICAgICAgdy5lcnJvcl9jb3VudCwKKyAgICAgICAgdy5lcnJv cl9ieXRlcywKKyAgICAgICAgdy5hYm9ydF9jb3VudCwKKyAgICAgICAgdy5hYm9ydF9ieXRlcywK ICAgICAgICAgdy5sYXN0X2Vycm9yX3JlbGlkLAogICAgICAgICB3Lmxhc3RfZXJyb3JfY29tbWFu ZCwKICAgICAgICAgdy5sYXN0X2Vycm9yX3hpZCwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bnc3RhdC5jCmluZGV4 IGVlM2IzOWEuLjAxN2Q5YzggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdz dGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYwpAQCAtNTMsNiArNTMs NyBAQAogI2luY2x1ZGUgInBvc3RtYXN0ZXIvZm9ya19wcm9jZXNzLmgiCiAjaW5jbHVkZSAicG9z dG1hc3Rlci9pbnRlcnJ1cHQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuaCIK KyNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgiCiAjaW5jbHVkZSAicmVwbGlj YXRpb24vc2xvdC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dhbHNlbmRlci5oIgogI2luY2x1 ZGUgInN0b3JhZ2UvYmFja2VuZGlkLmgiCkBAIC0zMjUsMTEgKzMyNiwxNCBAQCBzdGF0aWMgUGdT dGF0X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2dldF90YWJfZW50cnkoUGdTdGF0X1N0YXREQkVudHJ5 ICpkYmVudHJ5LAogc3RhdGljIFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgKnBnc3RhdF9nZXRf c3Vid29ya2VyX2VudHJ5KFBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeSwKIAkJCQkJCQkJCQkJ CQkJCSBPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwKIAkJCQkJCQkJCQkJCQkJCSBib29sIGNyZWF0 ZSk7CitzdGF0aWMgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICpwZ3N0YXRfZ2V0X3N1Yndv cmtlcl9wcmVwYXJlZF90eG4oT2lkIGRhdGFiYXNlaWQsIE9pZCBzdWJpZCwKKwkJCQkJCQkJCQkJ CQkJCQkJICBjaGFyICpnaWQpOworCiBzdGF0aWMgdm9pZCBwZ3N0YXRfd3JpdGVfc3RhdHNmaWxl cyhib29sIHBlcm1hbmVudCwgYm9vbCBhbGxEYnMpOwogc3RhdGljIHZvaWQgcGdzdGF0X3dyaXRl X2RiX3N0YXRzZmlsZShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksIGJvb2wgcGVybWFuZW50 KTsKIHN0YXRpYyBIVEFCICpwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBvbmx5ZGIsIGJvb2wg cGVybWFuZW50LCBib29sIGRlZXApOwogc3RhdGljIHZvaWQgcGdzdGF0X3JlYWRfZGJfc3RhdHNm aWxlKE9pZCBkYXRhYmFzZWlkLCBIVEFCICp0YWJoYXNoLCBIVEFCICpmdW5jaGFzaCwKLQkJCQkJ CQkJCSBIVEFCICpzdWJ3b3JrZXJoYXNoLCBib29sIHBlcm1hbmVudCk7CisJCQkJCQkJCQkgSFRB QiAqc3Vid29ya2VyaGFzaCwgSFRBQiAqcHJlcGFyZWR0eG5oYXNoLCBib29sIHBlcm1hbmVudCk7 CiBzdGF0aWMgdm9pZCBiYWNrZW5kX3JlYWRfc3RhdHNmaWxlKHZvaWQpOwogCiBzdGF0aWMgYm9v bCBwZ3N0YXRfd3JpdGVfc3RhdHNmaWxlX25lZWRlZCh2b2lkKTsKQEAgLTM4Miw2ICszODYsOSBA QCBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9yZXBsc2xvdChQZ1N0YXRfTXNnUmVwbFNsb3QgKm1z ZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl90ZW1wZmlsZShQZ1N0YXRfTXNn VGVtcEZpbGUgKm1zZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3Jp cHRpb25fcHVyZ2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlICptc2csIGludCBsZW4pOwog c3RhdGljIHZvaWQgcGdzdGF0X3JlY3Zfc3Vid29ya2VyX2Vycm9yKFBnU3RhdF9Nc2dTdWJXb3Jr ZXJFcnJvciAqbXNnLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9yZWN2X3N1Yndvcmtl cl94YWN0X2VuZChQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZCAqbXNnLCBpbnQgbGVuKTsKK3N0 YXRpYyB2b2lkIHBnc3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFzZV94YWN0KFBnU3RhdF9Nc2dT dWJXb3JrZXJUd29waGFzZVhhY3QgKm1zZywgaW50IGxlbik7CisKIAogLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBQdWJs aWMgZnVuY3Rpb25zIGNhbGxlZCBmcm9tIHBvc3RtYXN0ZXIgZm9sbG93CkBAIC0xOTMwLDYgKzE5 MzcsNjEgQEAgcGdzdGF0X3JlcG9ydF9yZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1l KQogfQogCiAvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2Vu ZCgpIC0KKyAqCisgKiAgVGVsbCB0aGUgY29sbGVjdG9yIHRoYXQgd29ya2VyIHRyYW5zYWN0aW9u IGhhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLgorICogLS0tLS0tLS0tLQorICovCit2b2lkCitw Z3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZChPaWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJ CQkJCQkJCSBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLCBQZ1N0YXRfQ291bnRlciB4YWN0X3Np emUpCit7CisJUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQgbXNnOworCisJQXNzZXJ0KGNvbW1h bmQgPT0gMCAvKiB0YWJsZSBzeW5jIHdvcmtlciAqLyB8fAorCQkgICBjb21tYW5kID09IExPR0lD QUxfUkVQX01TR19DT01NSVQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfU1RS RUFNX0NPTU1JVCk7CisKKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9oZHIsIFBHU1RBVF9NVFlQ RV9TVUJXT1JLRVJYQUNURU5EKTsKKwltc2cubV9kYXRhYmFzZWlkID0gTXlEYXRhYmFzZUlkOwor CW1zZy5tX3N1YmlkID0gc3ViaWQ7CisJbXNnLm1fc3VicmVsaWQgPSBzdWJyZWw7CisJbXNnLm1f Y29tbWFuZCA9IGNvbW1hbmQ7CisJbXNnLm1feGFjdF9ieXRlcyA9IHhhY3Rfc2l6ZTsKKwlwZ3N0 YXRfc2VuZCgmbXNnLCBzaXplb2YoUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQpKTsKKworCXJl c2V0X2FwcGx5X3hhY3Rfc2l6ZSgpOworfQorCisvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVw b3J0X3N1Yndvcmtlcl90d29waGFzZV94YWN0KCkgLQorICoKKyAqICBUZWxsIHRoZSBjb2xsZWN0 b3IgdGhhdCB3b3JrZXIgdHJhbnNhY3Rpb24gaGFzIGRvbmUgMlBDIHJlbGF0ZWQgb3BlcmF0aW9u LgorICogLS0tLS0tLS0tLQorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl90d29w aGFzZV94YWN0KE9pZCBzdWJpZCwgTG9naWNhbFJlcE1zZ1R5cGUgY29tbWFuZCwKKwkJCQkJCQkJ CSAgUGdTdGF0X0NvdW50ZXIgeGFjdF9zaXplLCBjaGFyICpnaWQpCit7CisJUGdTdGF0X01zZ1N1 YldvcmtlclR3b3BoYXNlWGFjdCBtc2c7CisKKwlBc3NlcnQoY29tbWFuZCA9PSBMT0dJQ0FMX1JF UF9NU0dfUFJFUEFSRSB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19TVFJFQU1f UFJFUEFSRSB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFS RUQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfUk9MTEJBQ0tfUFJFUEFSRUQp OworCisJLyogc2V0dXAgdGhlIG1lc3NhZ2UgKi8KKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9o ZHIsIFBHU1RBVF9NVFlQRV9TVUJXT1JLRVJUV09QSEFTRVhBQ1QpOworCW1zZy5tX2RhdGFiYXNl aWQgPSBNeURhdGFiYXNlSWQ7CisJbXNnLm1fc3ViaWQgPSBzdWJpZDsKKwltc2cubV9jb21tYW5k ID0gY29tbWFuZDsKKwlzdHJsY3B5KG1zZy5tX2dpZCwgZ2lkLCBzaXplb2YobXNnLm1fZ2lkKSk7 CisJbXNnLm1feGFjdF9ieXRlcyA9IHhhY3Rfc2l6ZTsKKwlwZ3N0YXRfc2VuZCgmbXNnLCBzaXpl b2YoUGdTdGF0X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdCkpOworCXJlc2V0X2FwcGx5X3hhY3Rf c2l6ZSgpOworfQorCisvKiAtLS0tLS0tLS0tCiAgKiBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl9l cnJvcigpIC0KICAqCiAgKglUZWxsIHRoZSBjb2xsZWN0b3IgYWJvdXQgdGhlIHN1YnNjcmlwdGlv biB3b3JrZXIgZXJyb3IuCkBAIC0xOTQ3LDYgKzIwMDksNyBAQCBwZ3N0YXRfcmVwb3J0X3N1Yndv cmtlcl9lcnJvcihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAogCW1zZy5tX2Rh dGFiYXNlaWQgPSBNeURhdGFiYXNlSWQ7CiAJbXNnLm1fc3ViaWQgPSBzdWJpZDsKIAltc2cubV9z dWJyZWxpZCA9IHN1YnJlbGlkOworCW1zZy5tX3hhY3RfZXJyb3JfYnl0ZXMgPSBnZXRfYXBwbHlf eGFjdF9zaXplKCk7CiAJbXNnLm1fcmVsaWQgPSByZWxpZDsKIAltc2cubV9jb21tYW5kID0gY29t bWFuZDsKIAltc2cubV94aWQgPSB4aWQ7CkBAIC0xOTU1LDYgKzIwMTgsOCBAQCBwZ3N0YXRfcmVw b3J0X3N1Yndvcmtlcl9lcnJvcihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAog CiAJbGVuID0gb2Zmc2V0b2YoUGdTdGF0X01zZ1N1YldvcmtlckVycm9yLCBtX21lc3NhZ2UpICsg c3RybGVuKG1zZy5tX21lc3NhZ2UpICsgMTsKIAlwZ3N0YXRfc2VuZCgmbXNnLCBsZW4pOworCisJ cmVzZXRfYXBwbHlfeGFjdF9zaXplKCk7CiB9CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTM3MjUsNiAr Mzc5MCwxNCBAQCBQZ3N0YXRDb2xsZWN0b3JNYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJ CQkJCXBnc3RhdF9yZWN2X3N1Yndvcmtlcl9lcnJvcigmbXNnLm1zZ19zdWJ3b3JrZXJlcnJvciwg bGVuKTsKIAkJCQkJYnJlYWs7CiAKKwkJCQljYXNlIFBHU1RBVF9NVFlQRV9TVUJXT1JLRVJYQUNU RU5EOgorCQkJCQlwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfeGFjdF9lbmQoJm1zZy5tc2dfc3Vid29y a2VyeGFjdGVuZCwgbGVuKTsKKwkJCQkJYnJlYWs7CisKKwkJCQljYXNlIFBHU1RBVF9NVFlQRV9T VUJXT1JLRVJUV09QSEFTRVhBQ1Q6CisJCQkJCXBnc3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFz ZV94YWN0KCZtc2cubXNnX3N1YndvcmtlcnR3b3BoYXNleGFjdCwgbGVuKTsKKwkJCQkJYnJlYWs7 CisKIAkJCQlkZWZhdWx0OgogCQkJCQlicmVhazsKIAkJCX0KQEAgLTM3NzAsNyArMzg0Myw4IEBA IFBnc3RhdENvbGxlY3Rvck1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIC8qCiAgKiBTdWJy b3V0aW5lIHRvIGNsZWFyIHN0YXRzIGluIGEgZGF0YWJhc2UgZW50cnkKICAqCi0gKiBUYWJsZXMs IGZ1bmN0aW9ucywgYW5kIHN1YnNjcmlwdGlvbiB3b3JrZXJzIGhhc2hlcyBhcmUgaW5pdGlhbGl6 ZWQKKyAqIFRhYmxlcywgZnVuY3Rpb25zLCBzdWJzY3JpcHRpb24gd29ya2VycyBhbmQgc3Vid29y a2VycworICogcHJlcGFyZWQgdHJhbnNhY3Rpb24gc2l6ZSBoYXNoZXMgYXJlIGluaXRpYWxpemVk CiAgKiB0byBlbXB0eS4KICAqLwogc3RhdGljIHZvaWQKQEAgLTM4MzEsNiArMzkwNSwxNCBAQCBy ZXNldF9kYmVudHJ5X2NvdW50ZXJzKFBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeSkKIAkJCQkJ CQkJCSAgUEdTVEFUX1NVQldPUktFUl9IQVNIX1NJWkUsCiAJCQkJCQkJCQkgICZoYXNoX2N0bCwK IAkJCQkJCQkJCSAgSEFTSF9FTEVNIHwgSEFTSF9CTE9CUyk7CisKKwloYXNoX2N0bC5rZXlzaXpl ID0gc2l6ZW9mKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RLZXkpOworCWhhc2hfY3RsLmVudHJ5c2l6 ZSA9IHNpemVvZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkpOworCWhhc2hfY3RsLmhjeHQg PSBwZ1N0YXRMb2NhbENvbnRleHQ7CisJZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVz ID0gaGFzaF9jcmVhdGUoIlN1YnNjcmlwdGlvbiB3b3JrZXIgc3RhdHMgb2YgcHJlcGFyZWQgdHhu IiwKKwkJCQkJCQkJCQkJCQlQR1NUQVRfU1VCV09SS0VSX0hBU0hfU0laRSwKKwkJCQkJCQkJCQkJ CQkmaGFzaF9jdGwsCisJCQkJCQkJCQkJCQkJSEFTSF9FTEVNIHwgSEFTSF9TVFJJTkdTIHwgSEFT SF9DT05URVhUKTsKIH0KIAogLyoKQEAgLTM4NTUsNyArMzkzNyw4IEBAIHBnc3RhdF9nZXRfZGJf ZW50cnkoT2lkIGRhdGFiYXNlaWQsIGJvb2wgY3JlYXRlKQogCiAJLyoKIAkgKiBJZiBub3QgZm91 bmQsIGluaXRpYWxpemUgdGhlIG5ldyBvbmUuICBUaGlzIGNyZWF0ZXMgZW1wdHkgaGFzaCB0YWJs ZXMKLQkgKiBmb3IgdGFibGVzLCBmdW5jdGlvbnMsIGFuZCBzdWJzY3JpcHRpb24gd29ya2VyLCB0 b28uCisJICogZm9yIHRhYmxlcywgZnVuY3Rpb25zLCBzdWJzY3JpcHRpb24gd29ya2VyIGFuZCBw cmVwYXJlZCB0cmFuc2FjdGlvbgorCSAqIHNpemUgb2Ygc3Vic2NyaXB0aW9uIHdvcmtlciwgdG9v LgogCSAqLwogCWlmICghZm91bmQpCiAJCXJlc2V0X2RiZW50cnlfY291bnRlcnMocmVzdWx0KTsK QEAgLTM5NDEsNiArNDAyNCwxMiBAQCBwZ3N0YXRfZ2V0X3N1Yndvcmtlcl9lbnRyeShQZ1N0YXRf U3RhdERCRW50cnkgKmRiZW50cnksIE9pZCBzdWJpZCwgT2lkIHN1YnJlbGlkLAogCS8qIElmIG5v dCBmb3VuZCwgaW5pdGlhbGl6ZSB0aGUgbmV3IG9uZSAqLwogCWlmIChjcmVhdGUgJiYgIWZvdW5k KQogCXsKKwkJc3Vid2VudHJ5LT54YWN0X2NvbW1pdF9jb3VudCA9IDA7CisJCXN1YndlbnRyeS0+ eGFjdF9jb21taXRfYnl0ZXMgPSAwOworCQlzdWJ3ZW50cnktPnhhY3RfZXJyb3JfY291bnQgPSAw OworCQlzdWJ3ZW50cnktPnhhY3RfZXJyb3JfYnl0ZXMgPSAwOworCQlzdWJ3ZW50cnktPnhhY3Rf YWJvcnRfY291bnQgPSAwOworCQlzdWJ3ZW50cnktPnhhY3RfYWJvcnRfYnl0ZXMgPSAwOwogCQlz dWJ3ZW50cnktPnJlbGlkID0gSW52YWxpZE9pZDsKIAkJc3Vid2VudHJ5LT5jb21tYW5kID0gMDsK IAkJc3Vid2VudHJ5LT54aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKQEAgLTQxNTIsOSArNDI0 MSwxMSBAQCBwZ3N0YXRfd3JpdGVfZGJfc3RhdHNmaWxlKFBnU3RhdF9TdGF0REJFbnRyeSAqZGJl bnRyeSwgYm9vbCBwZXJtYW5lbnQpCiAJSEFTSF9TRVFfU1RBVFVTIHRzdGF0OwogCUhBU0hfU0VR X1NUQVRVUyBmc3RhdDsKIAlIQVNIX1NFUV9TVEFUVVMgc3N0YXQ7CisJSEFTSF9TRVFfU1RBVFVT IHBzdGF0OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwogCVBnU3RhdF9TdGF0RnVu Y0VudHJ5ICpmdW5jZW50cnk7CiAJUGdTdGF0X1N0YXRTdWJXb3JrZXJFbnRyeSAqc3Vid2VudHJ5 OworCVBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqcGVudHJ5OwogCUZJTEUJICAgKmZwb3V0 OwogCWludDMyCQlmb3JtYXRfaWQ7CiAJT2lkCQkJZGJpZCA9IGRiZW50cnktPmRhdGFiYXNlaWQ7 CkBAIC00MjIxLDYgKzQzMTIsMTcgQEAgcGdzdGF0X3dyaXRlX2RiX3N0YXRzZmlsZShQZ1N0YXRf U3RhdERCRW50cnkgKmRiZW50cnksIGJvb2wgcGVybWFuZW50KQogCX0KIAogCS8qCisJICogV3Jp dGUgc3Vic2NyaXB0aW9uIHdvcmtlcidzIHByZXBhcmVkIHRyYW5zYWN0aW9uIHN0cnVjdAorCSAq LworCWhhc2hfc2VxX2luaXQoJnBzdGF0LCBkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6 ZXMpOworCXdoaWxlICgocGVudHJ5ID0gKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqKSBo YXNoX3NlcV9zZWFyY2goJnBzdGF0KSkgIT0gTlVMTCkKKwl7CisJCWZwdXRjKCdQJywgZnBvdXQp OworCQlyYyA9IGZ3cml0ZShwZW50cnksIHNpemVvZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50 cnkpLCAxLCBmcG91dCk7CisJCSh2b2lkKSByYzsJCQkJLyogd2UnbGwgY2hlY2sgZm9yIGVycm9y IHdpdGggZmVycm9yICovCisJfQorCisJLyoKIAkgKiBObyBtb3JlIG91dHB1dCB0byBiZSBkb25l LiBDbG9zZSB0aGUgdGVtcCBmaWxlIGFuZCByZXBsYWNlIHRoZSBvbGQKIAkgKiBwZ3N0YXQuc3Rh dCB3aXRoIGl0LiAgVGhlIGZlcnJvcigpIGNoZWNrIHJlcGxhY2VzIHRlc3RpbmcgZm9yIGVycm9y CiAJICogYWZ0ZXIgZWFjaCBpbmRpdmlkdWFsIGZwdXRjIG9yIGZ3cml0ZSBhYm92ZS4KQEAgLTQ0 NTksNiArNDU2MSw3IEBAIHBnc3RhdF9yZWFkX3N0YXRzZmlsZXMoT2lkIG9ubHlkYiwgYm9vbCBw ZXJtYW5lbnQsIGJvb2wgZGVlcCkKIAkJCQlkYmVudHJ5LT50YWJsZXMgPSBOVUxMOwogCQkJCWRi ZW50cnktPmZ1bmN0aW9ucyA9IE5VTEw7CiAJCQkJZGJlbnRyeS0+c3Vid29ya2VycyA9IE5VTEw7 CisJCQkJZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzID0gTlVMTDsKIAogCQkJCS8q CiAJCQkJICogSW4gdGhlIGNvbGxlY3RvciwgZGlzcmVnYXJkIHRoZSB0aW1lc3RhbXAgd2UgcmVh ZCBmcm9tIHRoZQpAQCAtNDQ3MCw4ICs0NTczLDkgQEAgcGdzdGF0X3JlYWRfc3RhdHNmaWxlcyhP aWQgb25seWRiLCBib29sIHBlcm1hbmVudCwgYm9vbCBkZWVwKQogCQkJCQlkYmVudHJ5LT5zdGF0 c190aW1lc3RhbXAgPSAwOwogCiAJCQkJLyoKLQkJCQkgKiBEb24ndCBjcmVhdGUgdGFibGVzL2Z1 bmN0aW9ucy9zdWJ3b3JrZXJzIGhhc2h0YWJsZXMgZm9yCi0JCQkJICogdW5pbnRlcmVzdGluZyBk YXRhYmFzZXMuCisJCQkJICogRG9uJ3QgY3JlYXRlCisJCQkJICogdGFibGVzL2Z1bmN0aW9ucy9z dWJ3b3JrZXJzL3N1YndvcmtlcnNfcHJlcGFyZWRzaXplcworCQkJCSAqIGhhc2h0YWJsZXMgZm9y IHVuaW50ZXJlc3RpbmcgZGF0YWJhc2VzLgogCQkJCSAqLwogCQkJCWlmIChvbmx5ZGIgIT0gSW52 YWxpZE9pZCkKIAkJCQl7CkBAIC00NTA0LDYgKzQ2MDgsMTQgQEAgcGdzdGF0X3JlYWRfc3RhdHNm aWxlcyhPaWQgb25seWRiLCBib29sIHBlcm1hbmVudCwgYm9vbCBkZWVwKQogCQkJCQkJCQkJCQkJ ICAmaGFzaF9jdGwsCiAJCQkJCQkJCQkJCQkgIEhBU0hfRUxFTSB8IEhBU0hfQkxPQlMgfCBIQVNI X0NPTlRFWFQpOwogCisJCQkJaGFzaF9jdGwua2V5c2l6ZSA9IHNpemVvZihQZ1N0YXRfU1dfUHJl cGFyZWRYYWN0S2V5KTsKKwkJCQloYXNoX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoUGdTdGF0X1NX X1ByZXBhcmVkWGFjdEVudHJ5KTsKKwkJCQloYXNoX2N0bC5oY3h0ID0gcGdTdGF0TG9jYWxDb250 ZXh0OworCQkJCWRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyA9IGhhc2hfY3JlYXRl KCJTdWJzY3JpcHRpb24gd29ya2VyIHN0YXRzIG9mIHByZXBhcmVkIHR4biIsCisJCQkJCQkJCQkJ CQkJCQkJUEdTVEFUX1NVQldPUktFUl9IQVNIX1NJWkUsCisJCQkJCQkJCQkJCQkJCQkJJmhhc2hf Y3RsLAorCQkJCQkJCQkJCQkJCQkJCUhBU0hfRUxFTSB8IEhBU0hfU1RSSU5HUyB8IEhBU0hfQ09O VEVYVCk7CisKIAkJCQkvKgogCQkJCSAqIElmIHJlcXVlc3RlZCwgcmVhZCB0aGUgZGF0YSBmcm9t IHRoZSBkYXRhYmFzZS1zcGVjaWZpYwogCQkJCSAqIGZpbGUuICBPdGhlcndpc2Ugd2UganVzdCBs ZWF2ZSB0aGUgaGFzaHRhYmxlcyBlbXB0eS4KQEAgLTQ1MTMsNiArNDYyNSw3IEBAIHBnc3RhdF9y ZWFkX3N0YXRzZmlsZXMoT2lkIG9ubHlkYiwgYm9vbCBwZXJtYW5lbnQsIGJvb2wgZGVlcCkKIAkJ CQkJCQkJCQkJIGRiZW50cnktPnRhYmxlcywKIAkJCQkJCQkJCQkJIGRiZW50cnktPmZ1bmN0aW9u cywKIAkJCQkJCQkJCQkJIGRiZW50cnktPnN1YndvcmtlcnMsCisJCQkJCQkJCQkJCSBkYmVudHJ5 LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMsCiAJCQkJCQkJCQkJCSBwZXJtYW5lbnQpOwogCiAJ CQkJYnJlYWs7CkBAIC00NTkwLDE0ICs0NzAzLDE1IEBAIGRvbmU6CiAgKglBcyBpbiBwZ3N0YXRf cmVhZF9zdGF0c2ZpbGVzLCBpZiB0aGUgcGVybWFuZW50IGZpbGUgaXMgcmVxdWVzdGVkLCBpdCBp cwogICoJcmVtb3ZlZCBhZnRlciByZWFkaW5nLgogICoKLSAqCU5vdGU6IHRoaXMgY29kZSBoYXMg dGhlIGFiaWxpdHkgdG8gc2tpcCBzdG9yaW5nIHBlci10YWJsZSwgcGVyLWZ1bmN0aW9uLCBvcgot ICoJcGVyLXN1YnNjcmlwdGlvbi13b3JrZXIgZGF0YSwgaWYgTlVMTCBpcyBwYXNzZWQgZm9yIHRo ZSBjb3JyZXNwb25kaW5nIGhhc2h0YWJsZS4KKyAqCU5vdGU6IHRoaXMgY29kZSBoYXMgdGhlIGFi aWxpdHkgdG8gc2tpcCBzdG9yaW5nIHBlci10YWJsZSwgcGVyLWZ1bmN0aW9uLAorICoJcGVyLXN1 YnNjcmlwdGlvbi13b3JrZXIgb3IgcGVyLXN1YnNjcmlwdGlvbi1wcmVwYXJlZC1zaXplIGRhdGEs IGlmIE5VTEwKKyAqCWlzIHBhc3NlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgaGFzaHRhYmxlLgog ICoJVGhhdCdzIG5vdCB1c2VkIGF0IHRoZSBtb21lbnQgdGhvdWdoLgogICogLS0tLS0tLS0tLQog ICovCiBzdGF0aWMgdm9pZAogcGdzdGF0X3JlYWRfZGJfc3RhdHNmaWxlKE9pZCBkYXRhYmFzZWlk LCBIVEFCICp0YWJoYXNoLCBIVEFCICpmdW5jaGFzaCwKLQkJCQkJCSBIVEFCICpzdWJ3b3JrZXJo YXNoLCBib29sIHBlcm1hbmVudCkKKwkJCQkJCSBIVEFCICpzdWJ3b3JrZXJoYXNoLCBIVEFCICpw cmVwYXJlZHR4bmhhc2gsIGJvb2wgcGVybWFuZW50KQogewogCVBnU3RhdF9TdGF0VGFiRW50cnkg KnRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgdGFiYnVmOwpAQCAtNDc1Myw2ICs0ODY3 LDMyIEBAIHBnc3RhdF9yZWFkX2RiX3N0YXRzZmlsZShPaWQgZGF0YWJhc2VpZCwgSFRBQiAqdGFi aGFzaCwgSFRBQiAqZnVuY2hhc2gsCiAJCQkJbWVtY3B5KHN1YndlbnRyeSwgJnN1YndidWYsIHNp emVvZihzdWJ3YnVmKSk7CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgJ1AnOgorCQkJCXsKKwkJCQkJ UGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5IGJ1ZmY7CisJCQkJCVBnU3RhdF9TV19QcmVwYXJl ZFhhY3RFbnRyeSAqcHJlcGFyZWRfeGFjdF9lbnRyeTsKKworCQkJCQlpZiAoZnJlYWQoJmJ1ZmYs IDEsIHNpemVvZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkpLAorCQkJCQkJCSAgZnBpbikg IT0gc2l6ZW9mKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSkpCisJCQkJCXsKKwkJCQkJCWVy ZXBvcnQocGdTdGF0UnVubmluZ0luQ29sbGVjdG9yID8gTE9HIDogV0FSTklORywKKwkJCQkJCQkJ KGVycm1zZygiY29ycnVwdGVkIHN0YXRpc3RpY3MgZmlsZSBcIiVzXCIiLAorCQkJCQkJCQkJCXN0 YXRmaWxlKSkpOworCQkJCQkJZ290byBkb25lOworCQkJCQl9CisKKwkJCQkJaWYgKHByZXBhcmVk dHhuaGFzaCA9PSBOVUxMKQorCQkJCQkJYnJlYWs7CisKKwkJCQkJcHJlcGFyZWRfeGFjdF9lbnRy eSA9CisJCQkJCQkoUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICopIGhhc2hfc2VhcmNoKHBy ZXBhcmVkdHhuaGFzaCwKKwkJCQkJCQkJCQkJCQkJCQkJKHZvaWQgKikgJmJ1ZmYua2V5LAorCQkJ CQkJCQkJCQkJCQkJCQlIQVNIX0VOVEVSLCBOVUxMKTsKKworCQkJCQltZW1jcHkocHJlcGFyZWRf eGFjdF9lbnRyeSwgJmJ1ZmYsIHNpemVvZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkpKTsK KwkJCQkJYnJlYWs7CisJCQkJfQorCiAJCQkJLyoKIAkJCQkgKiAnRScJVGhlIEVPRiBtYXJrZXIg b2YgYSBjb21wbGV0ZSBzdGF0cyBmaWxlLgogCQkJCSAqLwpAQCAtNTQyOCw2ICs1NTY4LDggQEAg cGdzdGF0X3JlY3ZfZHJvcGRiKFBnU3RhdF9Nc2dEcm9wZGIgKm1zZywgaW50IGxlbikKIAkJCWhh c2hfZGVzdHJveShkYmVudHJ5LT5mdW5jdGlvbnMpOwogCQlpZiAoZGJlbnRyeS0+c3Vid29ya2Vy cyAhPSBOVUxMKQogCQkJaGFzaF9kZXN0cm95KGRiZW50cnktPnN1YndvcmtlcnMpOworCQlpZiAo ZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzICE9IE5VTEwpCisJCQloYXNoX2Rlc3Ry b3koZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzKTsKIAogCQlpZiAoaGFzaF9zZWFy Y2gocGdTdGF0REJIYXNoLAogCQkJCQkJKHZvaWQgKikgJmRiaWQsCkBAIC01NDY3LDEwICs1NjA5 LDEzIEBAIHBnc3RhdF9yZWN2X3Jlc2V0Y291bnRlcihQZ1N0YXRfTXNnUmVzZXRjb3VudGVyICpt c2csIGludCBsZW4pCiAJCWhhc2hfZGVzdHJveShkYmVudHJ5LT5mdW5jdGlvbnMpOwogCWlmIChk YmVudHJ5LT5zdWJ3b3JrZXJzICE9IE5VTEwpCiAJCWhhc2hfZGVzdHJveShkYmVudHJ5LT5zdWJ3 b3JrZXJzKTsKKwlpZiAoZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzICE9IE5VTEwp CisJCWhhc2hfZGVzdHJveShkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMpOwogCiAJ ZGJlbnRyeS0+dGFibGVzID0gTlVMTDsKIAlkYmVudHJ5LT5mdW5jdGlvbnMgPSBOVUxMOwogCWRi ZW50cnktPnN1YndvcmtlcnMgPSBOVUxMOworCWRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRz aXplcyA9IE5VTEw7CiAKIAkvKgogCSAqIFJlc2V0IGRhdGFiYXNlLWxldmVsIHN0YXRzLCB0b28u ICBUaGlzIGNyZWF0ZXMgZW1wdHkgaGFzaCB0YWJsZXMgZm9yCkBAIC01NTQ2LDEwICs1NjkxLDI4 IEBAIHBnc3RhdF9yZWN2X3Jlc2V0c2luZ2xlY291bnRlcihQZ1N0YXRfTXNnUmVzZXRzaW5nbGVj b3VudGVyICptc2csIGludCBsZW4pCiAJZWxzZSBpZiAobXNnLT5tX3Jlc2V0dHlwZSA9PSBSRVNF VF9TVUJXT1JLRVIpCiAJewogCQlQZ1N0YXRfU3RhdFN1YldvcmtlcktleSBrZXk7CisJCVBnU3Rh dF9TV19QcmVwYXJlZFhhY3RLZXkgcGtleTsKIAogCQlrZXkuc3ViaWQgPSBtc2ctPm1fb2JqZWN0 aWQ7CiAJCWtleS5zdWJyZWxpZCA9IG1zZy0+bV9zdWJvYmplY3RpZDsKIAkJKHZvaWQpIGhhc2hf c2VhcmNoKGRiZW50cnktPnN1YndvcmtlcnMsICh2b2lkICopICZrZXksIEhBU0hfUkVNT1ZFLCBO VUxMKTsKKworCQkvKgorCQkgKiBDbGVhbiB1cCBlbnRyeSBvZiBwcmVwYXJlZCBzaXplIGhhc2gg YXMgd2VsbC4KKwkJICoKKwkJICogVGhlcmUncyBubyBnaWQgaW5wdXQgaGVyZSBhcyBhIHBhcnQg b2Yga2V5IGZvcgorCQkgKiBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkuIEFsc28gYW55IHZh bGlkICdyZWxpZCcgaW5kaWNhdGVzIHRoZQorCQkgKiBlbnRyeSBpcyBjcmVhdGVkIGJ5IHRhYmxl IHN5bmMgYnV0IGl0IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlCisJCSAqIHR3byBwaGFzZSBv cGVyYXRpb24gb2YgYXBwbHkuIFByb2NlZWQgd2l0aCB0aGlzIHJlbW92YWwgb25seSB3aGVuCisJ CSAqIHRoZSBzcGVjaWZpZWQgc3VicmVsaWQgaXNuJ3QgaW52YWxpZC4KKwkJICovCisJCWlmICht c2ctPm1fc3Vib2JqZWN0aWQgPT0gSW52YWxpZE9pZCkKKwkJeworCQkJcGtleS5zdWJpZCA9IG1z Zy0+bV9vYmplY3RpZDsKKwkJCSh2b2lkKSBoYXNoX3NlYXJjaChkYmVudHJ5LT5zdWJ3b3JrZXJz X3ByZXBhcmVkc2l6ZXMsCisJCQkJCQkJICAgKHZvaWQgKikgJnBrZXksIEhBU0hfUkVNT1ZFLCBO VUxMKTsKKwkJfQorCiAJfQogfQogCkBAIC02MTA1LDYgKzYyNjgsNyBAQCBwZ3N0YXRfcmVjdl9z dWJzY3JpcHRpb25fcHVyZ2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlICptc2csIGludCBs ZW4pCiAJSEFTSF9TRVFfU1RBVFVTIGhzdGF0OwogCVBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRy eTsKIAlQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5ICpzdWJ3ZW50cnk7CisJUGdTdGF0X1NXX1By ZXBhcmVkWGFjdEVudHJ5ICpwcmVwYXJlZF90eG5fZW50cnk7CiAKIAlkYmVudHJ5ID0gcGdzdGF0 X2dldF9kYl9lbnRyeShtc2ctPm1fZGF0YWJhc2VpZCwgZmFsc2UpOwogCkBAIC02MTI2LDYgKzYy OTAsMTI3IEBAIHBnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9wdXJnZShQZ1N0YXRfTXNnU3Vic2Ny aXB0aW9uUHVyZ2UgKm1zZywgaW50IGxlbikKIAkJCX0KIAkJfQogCX0KKworCS8qIFJlbW92ZSBh c3NvY2lhdGVkIHByZXBhcmVkIHRyYW5zYWN0aW9uIHN0YXRzICovCisJaWYgKCFkYmVudHJ5LT5z dWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMpCisJeworCQloYXNoX3NlcV9pbml0KCZoc3RhdCwgZGJl bnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzKTsKKwkJd2hpbGUgKChwcmVwYXJlZF90eG5f ZW50cnkgPSAoUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICopIGhhc2hfc2VxX3NlYXJjaCgm aHN0YXQpKSAhPSBOVUxMKQorCQl7CisJCQlmb3IgKGludCBpID0gMDsgaSA8IG1zZy0+bV9uZW50 cmllczsgaSsrKQorCQkJeworCQkJCWlmIChwcmVwYXJlZF90eG5fZW50cnktPmtleS5zdWJpZCA9 PSBtc2ctPm1fc3ViaWRzW2ldKQorCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goZGJlbnRyeS0+c3Vi d29ya2Vyc19wcmVwYXJlZHNpemVzLAorCQkJCQkJCQkJICAgKHZvaWQgKikgJihwcmVwYXJlZF90 eG5fZW50cnktPmtleSksCisJCQkJCQkJCQkgICBIQVNIX1JFTU9WRSwgTlVMTCk7CisJCQkJYnJl YWs7CisJCQl9CisJCX0KKwl9Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIHBnc3RhdF9yZWN2X3N1 Yndvcmtlcl94YWN0X2VuZCgpIC0KKyAqCisgKglQcm9jZXNzIGEgU1VCV09SS0VSWEFDVEVORCBt ZXNzYWdlLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorcGdzdGF0X3JlY3Zfc3Vi d29ya2VyX3hhY3RfZW5kKFBnU3RhdF9Nc2dTdWJXb3JrZXJYYWN0RW5kICptc2csIGludCBsZW4p Cit7CisJUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OworCVBnU3RhdF9TdGF0U3ViV29ya2Vy RW50cnkgKndlbnRyeTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZ2V0X2RiX2VudHJ5KG1zZy0+bV9k YXRhYmFzZWlkLCB0cnVlKTsKKwl3ZW50cnkgPSBwZ3N0YXRfZ2V0X3N1Yndvcmtlcl9lbnRyeShk YmVudHJ5LCBtc2ctPm1fc3ViaWQsCisJCQkJCQkJCQkJbXNnLT5tX3N1YnJlbGlkLCB0cnVlKTsK KwlBc3NlcnQod2VudHJ5KTsKKworCS8qIHRhYmxlIHN5bmMgd29ya2VyICovCisJaWYgKG1zZy0+ bV9jb21tYW5kID09IDApCisJCXdlbnRyeS0+eGFjdF9jb21taXRfY291bnQrKzsKKwllbHNlCisJ eworCQkvKiBhcHBseSB3b3JrZXIgKi8KKwkJc3dpdGNoIChtc2ctPm1fY29tbWFuZCkKKwkJewor CQkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUOgorCQkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df U1RSRUFNX0NPTU1JVDoKKwkJCQl3ZW50cnktPnhhY3RfY29tbWl0X2NvdW50Kys7CisJCQkJd2Vu dHJ5LT54YWN0X2NvbW1pdF9ieXRlcyArPSBtc2ctPm1feGFjdF9ieXRlczsKKwkJCQlicmVhazsK KwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgInVuZXhwZWN0ZWQgbG9naWNhbCBtZXNzYWdl IHR5cGUgYXMgbm9ybWFsIGFwcGx5IGVuZCIpOworCQkJCWJyZWFrOworCQl9CisJfQorfQorCisv KiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdCgpIC0K KyAqCisgKglQcm9jZXNzIGEgU1VCV09SS0VSVFdPUEhBU0VYQUNUIG1lc3NhZ2UuCisgKiAtLS0t LS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfdHdvcGhhc2Vf eGFjdChQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0ICptc2csIGludCBsZW4pCit7CisJ UGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OworCVBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRy eSAqcGVudHJ5OworCVBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgKndlbnRyeTsKKwlQZ1N0YXRf U1dfUHJlcGFyZWRYYWN0S2V5IGtleTsKKworCXBlbnRyeSA9IHBnc3RhdF9nZXRfc3Vid29ya2Vy X3ByZXBhcmVkX3R4bihtc2ctPm1fZGF0YWJhc2VpZCwKKwkJCQkJCQkJCQkJICAgbXNnLT5tX3N1 YmlkLAorCQkJCQkJCQkJCQkgICBtc2ctPm1fZ2lkKTsKKwlBc3NlcnQocGVudHJ5KTsKKwlzd2l0 Y2ggKG1zZy0+bV9jb21tYW5kKQorCXsKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfUFJFUEFSRToK KwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX1BSRVBBUkU6CisKKwkJCS8qCisJCQkgKiBN YWtlIGVhY2ggc2l6ZSBvZiBwcmVwYXJlZCB0cmFuc2FjdGlvbiBwZXJzaXN0ZW50IHNvIHRoYXQg d2UKKwkJCSAqIGNhbiB1cGRhdGUgc3RhdHMgb3ZlciB0aGUgc2VydmVyIHJlc3RhcnQgYW5kIG1h a2UgcHJlcGFyZWQKKwkJCSAqIHN0YXRzIHVwZGF0ZWQgd2hlbiBjb21taXQgcHJlcGFyZWQgb3Ig cm9sbGJhY2sgcHJlcGFyZWQKKwkJCSAqIGFycml2ZXMuCisJCQkgKi8KKwkJCXBlbnRyeS0+c3Vi aWQgPSBtc2ctPm1fc3ViaWQ7CisJCQlzdHJsY3B5KHBlbnRyeS0+Z2lkLCBtc2ctPm1fZ2lkLCBz aXplb2YocGVudHJ5LT5naWQpKTsKKwkJCXBlbnRyeS0+eGFjdF9zaXplID0gbXNnLT5tX3hhY3Rf Ynl0ZXM7CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFS RUQ6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1JPTExCQUNLX1BSRVBBUkVEOgorCQkJLyogVXBk YXRlIGV4cG9ydGVkIHhhY3Qgc3RhdHMgbm93ICovCisJCQlkYmVudHJ5ID0gcGdzdGF0X2dldF9k Yl9lbnRyeShtc2ctPm1fZGF0YWJhc2VpZCwgdHJ1ZSk7CisJCQl3ZW50cnkgPSBwZ3N0YXRfZ2V0 X3N1Yndvcmtlcl9lbnRyeShkYmVudHJ5LAorCQkJCQkJCQkJCQkJbXNnLT5tX3N1YmlkLAorCQkJ CQkJCQkJCQkJSW52YWxpZE9pZCAvKiBhcHBseSB3b3JrZXIgKi8gLAorCQkJCQkJCQkJCQkJdHJ1 ZSk7CisJCQlBc3NlcnQod2VudHJ5KTsKKwkJCWlmIChtc2ctPm1fY29tbWFuZCA9PSBMT0dJQ0FM X1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVEKQorCQkJeworCQkJCXdlbnRyeS0+eGFjdF9jb21taXRf Y291bnQrKzsKKwkJCQl3ZW50cnktPnhhY3RfY29tbWl0X2J5dGVzICs9IHBlbnRyeS0+eGFjdF9z aXplOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCXdlbnRyeS0+eGFjdF9hYm9ydF9jb3VudCsr OworCQkJCXdlbnRyeS0+eGFjdF9hYm9ydF9ieXRlcyArPSBwZW50cnktPnhhY3Rfc2l6ZTsKKwkJ CX0KKworCQkJLyogQ2xlYW4gdXAgdGhpcyBnaWQgZnJvbSB0cmFuc2FjdGlvbiBzaXplIGhhc2gg Ki8KKwkJCWtleS5zdWJpZCA9IHBlbnRyeS0+c3ViaWQ7CisJCQlzdHJsY3B5KGtleS5naWQsIG1z Zy0+bV9naWQsIHNpemVvZihrZXkuZ2lkKSk7CisJCQkodm9pZCkgaGFzaF9zZWFyY2goZGJlbnRy eS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzLAorCQkJCQkJCSAgICh2b2lkICopICZrZXksIEhB U0hfUkVNT1ZFLCBOVUxMKTsKKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQllbG9nKEVSUk9S LCAidW5leHBlY3RlZCBsb2dpY2FsIG1lc3NhZ2UgdHlwZSBhcyBwcmVwYXJlIHRyYW5zYWN0aW9u Iik7CisJCQlicmVhazsKKwl9CiB9CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTYxNjIsNiArNjQ0Nyw4 IEBAIHBnc3RhdF9yZWN2X3N1Yndvcmtlcl9lcnJvcihQZ1N0YXRfTXNnU3ViV29ya2VyRXJyb3Ig Km1zZywgaW50IGxlbikKIAl9CiAKIAkvKiBPdGhlcndpc2UsIHVwZGF0ZSB0aGUgZXJyb3IgaW5m b3JtYXRpb24gKi8KKwlzdWJ3ZW50cnktPnhhY3RfZXJyb3JfY291bnQrKzsKKwlzdWJ3ZW50cnkt PnhhY3RfZXJyb3JfYnl0ZXMgKz0gbXNnLT5tX3hhY3RfZXJyb3JfYnl0ZXM7CiAJc3Vid2VudHJ5 LT5yZWxpZCA9IG1zZy0+bV9yZWxpZDsKIAlzdWJ3ZW50cnktPmNvbW1hbmQgPSBtc2ctPm1fY29t bWFuZDsKIAlzdWJ3ZW50cnktPnhpZCA9IG1zZy0+bV94aWQ7CkBAIC02Mzk0LDMgKzY2ODEsMzYg QEAgcGdzdGF0X2NvdW50X3NscnVfdHJ1bmNhdGUoaW50IHNscnVfaWR4KQogewogCXNscnVfZW50 cnkoc2xydV9pZHgpLT5tX3RydW5jYXRlICs9IDE7CiB9CisKKyAvKiAtLS0tLS0tLS0tCisgKiBw Z3N0YXRfZ2V0X3N1Yndvcmtlcl9wcmVwYXJlZF90eG4KKyAqCisgKiBSZXR1cm4gc3Vic2NyaXB0 aW9uIHdvcmtlciBlbnRyeSB3aXRoIHRoZSBnaXZlbiBzdWJzY3JpcHRpb24gT0lEIGFuZAorICog Z2lkLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVu dHJ5ICoKK3Bnc3RhdF9nZXRfc3Vid29ya2VyX3ByZXBhcmVkX3R4bihPaWQgZGF0YWJhc2VpZCwg T2lkIHN1YmlkLAorCQkJCQkJCQkgIGNoYXIgKmdpZCkKK3sKKwlQZ1N0YXRfU3RhdERCRW50cnkg KmRiZW50cnk7CisJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleSBrZXk7CisJUGdTdGF0X1NXX1By ZXBhcmVkWGFjdEVudHJ5ICpwZW50cnk7CisJYm9vbAkJZm91bmQ7CisKKwlkYmVudHJ5ID0gcGdz dGF0X2dldF9kYl9lbnRyeShkYXRhYmFzZWlkLCB0cnVlKTsKKwlrZXkuc3ViaWQgPSBzdWJpZDsK KwlzdHJsY3B5KGtleS5naWQsIGdpZCwgc2l6ZW9mKGtleS5naWQpKTsKKwlwZW50cnkgPSAoUGdT dGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICopIGhhc2hfc2VhcmNoKGRiZW50cnktPnN1Yndvcmtl cnNfcHJlcGFyZWRzaXplcywKKwkJCQkJCQkJCQkJCQkJICh2b2lkICopICZrZXksCisJCQkJCQkJ CQkJCQkJCSBIQVNIX0VOVEVSLCAmZm91bmQpOworCisJaWYgKCFmb3VuZCkKKwl7CisJCXBlbnRy eS0+c3ViaWQgPSAwOworCQlwZW50cnktPmdpZFswXSA9ICdcMCc7CisJCXBlbnRyeS0+eGFjdF9z aXplID0gMDsKKwl9CisKKwlyZXR1cm4gcGVudHJ5OworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9wcm90by5jCmluZGV4IDlmNWJmNGIuLjgzMDY4NzYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYworKysgYi9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJsaWJwcS9wcWZvcm1hdC5oIgogI2luY2x1ZGUgInJl cGxpY2F0aW9uL2xvZ2ljYWxwcm90by5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9uL2xvZ2ljYWx3 b3JrZXIuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy9z eXNjYWNoZS5oIgogCkBAIC04NDIsNiArODQzLDcgQEAgbG9naWNhbHJlcF9yZWFkX3R1cGxlKFN0 cmluZ0luZm8gaW4sIExvZ2ljYWxSZXBUdXBsZURhdGEgKnR1cGxlKQogewogCWludAkJCWk7CiAJ aW50CQkJbmF0dHM7CisJU2l6ZQkJdG90YWxfc2l6ZTsKIAogCS8qIEdldCBudW1iZXIgb2YgYXR0 cmlidXRlcyAqLwogCW5hdHRzID0gcHFfZ2V0bXNnaW50KGluLCAyKTsKQEAgLTg1MCw2ICs4NTIs NyBAQCBsb2dpY2FscmVwX3JlYWRfdHVwbGUoU3RyaW5nSW5mbyBpbiwgTG9naWNhbFJlcFR1cGxl RGF0YSAqdHVwbGUpCiAJdHVwbGUtPmNvbHZhbHVlcyA9IChTdHJpbmdJbmZvRGF0YSAqKSBwYWxs b2MwKG5hdHRzICogc2l6ZW9mKFN0cmluZ0luZm9EYXRhKSk7CiAJdHVwbGUtPmNvbHN0YXR1cyA9 IChjaGFyICopIHBhbGxvYyhuYXR0cyAqIHNpemVvZihjaGFyKSk7CiAJdHVwbGUtPm5jb2xzID0g bmF0dHM7CisJdG90YWxfc2l6ZSA9IG5hdHRzICogKHNpemVvZihjaGFyKSArIHNpemVvZihTdHJp bmdJbmZvRGF0YSkpOwogCiAJLyogUmVhZCB0aGUgZGF0YSAqLwogCWZvciAoaSA9IDA7IGkgPCBu YXR0czsgaSsrKQpAQCAtODgwLDYgKzg4Myw5IEBAIGxvZ2ljYWxyZXBfcmVhZF90dXBsZShTdHJp bmdJbmZvIGluLCBMb2dpY2FsUmVwVHVwbGVEYXRhICp0dXBsZSkKIAkJCQl2YWx1ZS0+bGVuID0g bGVuOwogCQkJCXZhbHVlLT5jdXJzb3IgPSAwOwogCQkJCXZhbHVlLT5tYXhsZW4gPSBsZW47CisK KwkJCQkvKiBtZW1vcnkgZm9yIHR1cGxlICovCisJCQkJdG90YWxfc2l6ZSArPSBsZW4gKyAxOwog CQkJCWJyZWFrOwogCQkJY2FzZSBMT0dJQ0FMUkVQX0NPTFVNTl9CSU5BUlk6CiAJCQkJbGVuID0g cHFfZ2V0bXNnaW50KGluLCA0KTsJLyogcmVhZCBsZW5ndGggKi8KQEAgLTg5MywxMSArODk5LDE3 IEBAIGxvZ2ljYWxyZXBfcmVhZF90dXBsZShTdHJpbmdJbmZvIGluLCBMb2dpY2FsUmVwVHVwbGVE YXRhICp0dXBsZSkKIAkJCQl2YWx1ZS0+bGVuID0gbGVuOwogCQkJCXZhbHVlLT5jdXJzb3IgPSAw OwogCQkJCXZhbHVlLT5tYXhsZW4gPSBsZW47CisKKwkJCQkvKiBtZW1vcnkgZm9yIHR1cGxlICov CisJCQkJdG90YWxfc2l6ZSArPSBsZW4gKyAxOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKIAkJ CQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIGRhdGEgcmVwcmVzZW50YXRpb24gdHlwZSAnJWMn Iiwga2luZCk7CiAJCX0KIAl9CisKKwkvKiBSZWNvcmQgbWVtb3J5IGNvbnN1bXB0aW9uIGZvciB0 dXBsZSAqLworCWFkZF9hcHBseV94YWN0X3NpemUodG90YWxfc2l6ZSk7CiB9CiAKIC8qCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jIGIvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYwppbmRleCBmMDc5ODNhLi41 YmIxZDYzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxl c3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMK QEAgLTExNDksNiArMTE0OSwxMiBAQCBjb3B5X3RhYmxlX2RvbmU6CiAJTXlMb2dpY2FsUmVwV29y a2VyLT5yZWxzdGF0ZV9sc24gPSAqb3JpZ2luX3N0YXJ0cG9zOwogCVNwaW5Mb2NrUmVsZWFzZSgm TXlMb2dpY2FsUmVwV29ya2VyLT5yZWxtdXRleCk7CiAKKwkvKiBSZXBvcnQgdGhlIHN1Y2Nlc3Mg b2YgdGFibGUgc3luYy4gKi8KKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZChNeUxv Z2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJIE15TG9naWNhbFJlcFdvcmtlci0+cmVs aWQsCisJCQkJCQkJCQkgMCAvKiBubyBsb2dpY2FsIG1lc3NhZ2UgdHlwZSAqLyAsCisJCQkJCQkJ CQkgMCAvKiB4YWN0IHNpemUgKi8gKTsKKwogCS8qCiAJICogRmluYWxseSwgd2FpdCB1bnRpbCB0 aGUgbWFpbiBhcHBseSB3b3JrZXIgdGVsbHMgdXMgdG8gY2F0Y2ggdXAgYW5kIHRoZW4KIAkgKiBy ZXR1cm4gdG8gbGV0IExvZ2ljYWxSZXBBcHBseUxvb3AgZG8gaXQuCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCAyZTc5MzAyLi5jOGQ0MjU1IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCisrKyBiL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKQEAgLTIxNSwxMiArMjE1LDIwIEBAIHR5 cGVkZWYgc3RydWN0IEFwcGx5RXhlY3V0aW9uRGF0YQogCVBhcnRpdGlvblR1cGxlUm91dGluZyAq cHJvdXRlOwkvKiBwYXJ0aXRpb24gcm91dGluZyBpbmZvICovCiB9IEFwcGx5RXhlY3V0aW9uRGF0 YTsKIAotLyogU3RydWN0IGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyBhcHBseSBlcnJjb250ZXh0 IGluZm9ybWF0aW9uICovCisvKgorICogU3RydWN0IGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyBh cHBseSBlcnJjb250ZXh0IGluZm9ybWF0aW9uCisgKgorICogSW4gb3JkZXIgbm90IHRvIGxvc2Ug dHJhbnNhY3Rpb24gc2l6ZSBpbiB0aGUgY2FzZSBvZiBlcnJvciwKKyAqIGhhdmUgYSBtZW1iZXIg dG8gc3RvcmUgdHJhbnNhY3Rpb24gbWVtb3J5IGNvbnN1bXB0aW9uLgorICovCiB0eXBlZGVmIHN0 cnVjdCBBcHBseUVycm9yQ2FsbGJhY2tBcmcKIHsKIAlMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5k OwkvKiAwIGlmIGludmFsaWQgKi8KIAlMb2dpY2FsUmVwUmVsTWFwRW50cnkgKnJlbDsKIAorCS8q IHRyYW5zYWN0aW9uIHNpemUgKi8KKwlQZ1N0YXRfQ291bnRlciBieXRlczsKKwogCS8qIFJlbW90 ZSBub2RlIGluZm9ybWF0aW9uICovCiAJaW50CQkJcmVtb3RlX2F0dG51bTsJLyogLTEgaWYgaW52 YWxpZCAqLwogCVRyYW5zYWN0aW9uSWQgcmVtb3RlX3hpZDsKQEAgLTIzMSw2ICsyMzksNyBAQCBz dGF0aWMgQXBwbHlFcnJvckNhbGxiYWNrQXJnIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZyA9CiB7 CiAJLmNvbW1hbmQgPSAwLAogCS5yZWwgPSBOVUxMLAorCS5ieXRlcyA9IDAsCiAJLnJlbW90ZV9h dHRudW0gPSAtMSwKIAkucmVtb3RlX3hpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkLAogCS50cyA9 IDAsCkBAIC0zMDQsNiArMzEzLDkgQEAgc3RhdGljIHZvaWQgbWF5YmVfcmVyZWFkX3N1YnNjcmlw dGlvbih2b2lkKTsKIC8qIHByb3RvdHlwZSBuZWVkZWQgYmVjYXVzZSBvZiBzdHJlYW1fY29tbWl0 ICovCiBzdGF0aWMgdm9pZCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpOwogCitzdGF0aWMg dm9pZCB1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTG9naWNhbFJlcE1zZ1R5cGUgYWN0aW9uLAor CQkJCQkJCQkJIGJvb2wgaXNfcGFydGl0aW9uZWQpOworCiBzdGF0aWMgdm9pZCBhcHBseV9oYW5k bGVfY29tbWl0X2ludGVybmFsKExvZ2ljYWxSZXBDb21taXREYXRhICpjb21taXRfZGF0YSk7CiBz dGF0aWMgdm9pZCBhcHBseV9oYW5kbGVfaW5zZXJ0X2ludGVybmFsKEFwcGx5RXhlY3V0aW9uRGF0 YSAqZWRhdGEsCiAJCQkJCQkJCQkJIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sCkBAIC04MTgsNiAr ODMwLDExIEBAIGFwcGx5X2hhbmRsZV9jb21taXQoU3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3Mg YW55IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBzeW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJ cHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhjb21taXRfZGF0YS5lbmRfbHNuKTsKIAorCXBnc3RhdF9y ZXBvcnRfc3Vid29ya2VyX3hhY3RfZW5kKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJ CQkJCQkgSW52YWxpZE9pZCwKKwkJCQkJCQkJCSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlULAorCQkJ CQkJCQkJIGdldF9hcHBseV94YWN0X3NpemUoKSk7CisKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5 KFNUQVRFX0lETEUsIE5VTEwpOwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwog fQpAQCAtOTIyLDYgKzkzOSwxMyBAQCBhcHBseV9oYW5kbGVfcHJlcGFyZShTdHJpbmdJbmZvIHMp CiAJLyogUHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJlIGJlaW5nIHN5bmNocm9uaXplZCBpbiBw YXJhbGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFibGVzKHByZXBhcmVfZGF0YS5lbmRfbHNu KTsKIAorCS8qIFVwZGF0ZSB0aGUgbWVtb3J5IGNvbnN1bXB0aW9uIG9mIHByZXBhcmUgYW5kIHJl cG9ydCAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfUFJFUEFS RSwgZmFsc2UpOworCXBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoTXlMb2dp Y2FsUmVwV29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCQkgIExPR0lDQUxfUkVQX01TR19QUkVQQVJF LAorCQkJCQkJCQkJCSAgZ2V0X2FwcGx5X3hhY3Rfc2l6ZSgpLAorCQkJCQkJCQkJCSAgcHJlcGFy ZV9kYXRhLmdpZCk7CisKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwp OwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwogfQpAQCAtOTYzLDYgKzk4Nywx MyBAQCBhcHBseV9oYW5kbGVfY29tbWl0X3ByZXBhcmVkKFN0cmluZ0luZm8gcykKIAkvKiBQcm9j ZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAq LwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMocHJlcGFyZV9kYXRhLmVuZF9sc24pOwogCisJLyog VXBkYXRlIHRoZSB0cmFuc2FjdGlvbiBzaXplIGFuZCByZXBvcnQgKi8KKwl1cGRhdGVfYXBwbHlf Y2hhbmdlX3NpemUoTE9HSUNBTF9SRVBfTVNHX0NPTU1JVF9QUkVQQVJFRCwgZmFsc2UpOworCXBn c3RhdF9yZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoTXlMb2dpY2FsUmVwV29ya2VyLT5z dWJpZCwKKwkJCQkJCQkJCQkgIExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQsCisJCQkJ CQkJCQkJICBnZXRfYXBwbHlfeGFjdF9zaXplKCksCisJCQkJCQkJCQkJICBwcmVwYXJlX2RhdGEu Z2lkKTsKKwogCXBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoU1RBVEVfSURMRSwgTlVMTCk7CiAJcmVz ZXRfYXBwbHlfZXJyb3JfY29udGV4dF9pbmZvKCk7CiB9CkBAIC0xMDE0LDYgKzEwNDUsMTMgQEAg YXBwbHlfaGFuZGxlX3JvbGxiYWNrX3ByZXBhcmVkKFN0cmluZ0luZm8gcykKIAkvKiBQcm9jZXNz IGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAqLwog CXByb2Nlc3Nfc3luY2luZ190YWJsZXMocm9sbGJhY2tfZGF0YS5yb2xsYmFja19lbmRfbHNuKTsK IAorCS8qIFVwZGF0ZSB0aGUgdHJhbnNhY3Rpb24gc2l6ZSBhbmQgcmVwb3J0ICovCisJdXBkYXRl X2FwcGx5X2NoYW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRCwgZmFs c2UpOworCXBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoTXlMb2dpY2FsUmVw V29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCQkgIExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQ QVJFRCwKKwkJCQkJCQkJCQkgIGdldF9hcHBseV94YWN0X3NpemUoKSwKKwkJCQkJCQkJCQkgIHJv bGxiYWNrX2RhdGEuZ2lkKTsKKwogCXBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoU1RBVEVfSURMRSwg TlVMTCk7CiAJcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF9pbmZvKCk7CiB9CkBAIC0xMDY2LDYg KzExMDQsMTUgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9wcmVwYXJlKFN0cmluZ0luZm8gcykKIAkv KiBQcm9jZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFs bGVsLiAqLwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMocHJlcGFyZV9kYXRhLmVuZF9sc24pOwog CisJLyoKKwkgKiBSZXBvcnQgdGhlIHByZXBhcmVkIHN0cmVhbWluZyB4YWN0IHNpemUgdG8gdGhl IHN0YXRzIGNvbGxlY3RvciBpbiBhCisJICogcHJlcGFyZWQgeGFjdCBtYW5uZXIgdG8gbWFrZSBp dCBzdXJ2aXZlIG92ZXIgdGhlIHJlc3RhcnQuCisJICovCisJcGdzdGF0X3JlcG9ydF9zdWJ3b3Jr ZXJfdHdvcGhhc2VfeGFjdChNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJCSAg TE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9QUkVQQVJFLAorCQkJCQkJCQkJCSAgZ2V0X2FwcGx5X3hh Y3Rfc2l6ZSgpLAorCQkJCQkJCQkJCSAgcHJlcGFyZV9kYXRhLmdpZCk7CisKIAlwZ3N0YXRfcmVw b3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCiAJcmVzZXRfYXBwbHlfZXJyb3JfY29u dGV4dF9pbmZvKCk7CkBAIC0xNDM4LDYgKzE0ODUsMTIgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9j b21taXQoU3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0IGFyZSBiZWlu ZyBzeW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhj b21taXRfZGF0YS5lbmRfbHNuKTsKIAorCS8qIFJlcG9ydCBhbmQgY2xlYW4gdXAgdGhlIHhpZCAq LworCXBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX3hhY3RfZW5kKE15TG9naWNhbFJlcFdvcmtlci0+ c3ViaWQsCisJCQkJCQkJCQkgSW52YWxpZE9pZCwKKwkJCQkJCQkJCSBMT0dJQ0FMX1JFUF9NU0df U1RSRUFNX0NPTU1JVCwKKwkJCQkJCQkJCSBnZXRfYXBwbHlfeGFjdF9zaXplKCkpOworCiAJcGdz dGF0X3JlcG9ydF9hY3Rpdml0eShTVEFURV9JRExFLCBOVUxMKTsKIAogCXJlc2V0X2FwcGx5X2Vy cm9yX2NvbnRleHRfaW5mbygpOwpAQCAtMTU3OSw2ICsxNjMyLDEwIEBAIGFwcGx5X2hhbmRsZV9p bnNlcnQoU3RyaW5nSW5mbyBzKQogCXNsb3RfZmlsbF9kZWZhdWx0cyhyZWwsIGVzdGF0ZSwgcmVt b3Rlc2xvdCk7CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwkvKiBVcGRhdGUg dHJhbnNhY3Rpb24gc2l6ZSAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JF UF9NU0dfSU5TRVJULAorCQkJCQkJCSByZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0g UkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSk7CisKIAkvKiBGb3IgYSBwYXJ0aXRpb25lZCB0YWJs ZSwgaW5zZXJ0IHRoZSB0dXBsZSBpbnRvIGEgcGFydGl0aW9uLiAqLwogCWlmIChyZWwtPmxvY2Fs cmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKIAkJYXBw bHlfaGFuZGxlX3R1cGxlX3JvdXRpbmcoZWRhdGEsCkBAIC0xNzM2LDcgKzE3OTMsMTEgQEAgYXBw bHlfaGFuZGxlX3VwZGF0ZShTdHJpbmdJbmZvIHMpCiAJCQkJCWhhc19vbGR0dXAgPyAmb2xkdHVw IDogJm5ld3R1cCk7CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKLQkvKiBGb3Ig YSBwYXJ0aXRpb25lZCB0YWJsZSwgYXBwbHkgdXBkYXRlIHRvIGNvcnJlY3QgcGFydGl0aW9uLiAq LworCS8qIFVwZGF0ZSB0cmFuc2FjdGlvbiBzaXplICovCisJdXBkYXRlX2FwcGx5X2NoYW5nZV9z aXplKExPR0lDQUxfUkVQX01TR19VUERBVEUsCisJCQkJCQkJIHJlbC0+bG9jYWxyZWwtPnJkX3Jl bC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKTsKKworCS8qIEZvciBhIHBh cnRpdGlvbmVkIHRhYmxlLCBhcHBseSB1cGRhdGUgdG8gY29yZWN0IHBhcnRpdGlvbi4gKi8KIAlp ZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURf VEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRhLAogCQkJCQkJCQkgICBy ZW1vdGVzbG90LCAmbmV3dHVwLCBDTURfVVBEQVRFKTsKQEAgLTE4NzAsNiArMTkzMSwxMCBAQCBh cHBseV9oYW5kbGVfZGVsZXRlKFN0cmluZ0luZm8gcykKIAlzbG90X3N0b3JlX2RhdGEocmVtb3Rl c2xvdCwgcmVsLCAmb2xkdHVwKTsKIAlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3R4KTsKIAor CS8qIFVwZGF0ZSB0cmFuc2FjdGlvbiBzaXplICovCisJdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXpl KExPR0lDQUxfUkVQX01TR19ERUxFVEUsCisJCQkJCQkJIHJlbC0+bG9jYWxyZWwtPnJkX3JlbC0+ cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKTsKKwogCS8qIEZvciBhIHBhcnRp dGlvbmVkIHRhYmxlLCBhcHBseSBkZWxldGUgdG8gY29ycmVjdCBwYXJ0aXRpb24uICovCiAJaWYg KHJlbC0+bG9jYWxyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RB QkxFKQogCQlhcHBseV9oYW5kbGVfdHVwbGVfcm91dGluZyhlZGF0YSwKQEAgLTI0MjEsNiArMjQ4 Niw4OSBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiB9CiAKIC8qCisgKiBTdWJzY3Jp YmVyIHNpZGUgaW1wbGVtZW50YXRpb24gZXF1aXZhbGVudCB0byBSZW9yZGVyQnVmZmVyQ2hhbmdl U2l6ZQorICogb2YgdGhlIHB1Ymxpc2hlci4KKyAqCisgKiBUaGUgYnl0ZSBzaXplIG9mIHRyYW5z YWN0aW9uIG9uIHRoZSBwdWJsaXNoZXIgaXMgY2FsY3VsYXRlZCBieQorICogUmVvcmRlckJ1ZmZl ckNoYW5nZVNpemUoKSBiYXNlZCBvbiB0aGUgUmVvcmRlckJ1ZmZlckNoYW5nZSBzdHJ1Y3R1cmUu CisgKiBCdXQgb24gdGhlIHN1YnNjcmliZXIsIGNvbnN1bWVkIHJlc291cmNlcyBhcmUgbm90IHNh bWUgYXMgdGhlCisgKiBwdWJsaXNoZXIncyBkZWNvZGluZyBwcm9jZXNzc2luZyBhbmQgcmVxdWly ZWQgdG8gYmUgY29tcHV0ZWQgaW4KKyAqIGRpZmZlcmVudCB3YXkuIFRoZXJlZm9yZSwgdGhlIGV4 YWN0IHNhbWUgYnl0ZSBzaXplIGlzIG5vdCByZXN0b3JlZCBvbgorICogdGhlIHN1YnNjcmliZXIg dXN1YWxseS4KKyAqCisgKiBBY2NvcmRpbmcgdG8gdGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gbWVz c2FnZSB0eXBlLCByZWNvcmQgbWFqb3IKKyAqIHJlc291cmNlIGNvbnN1bXB0aW9ucyBvZiB0aGlz IHN1YnNjcmlwdGlvbiBmb3IgZWFjaCBtZXNzYWdlLgorICogQXQgcHJlc2VudCwgZG8gbm90IGNv bGxlY3QgZGF0YSBmcm9tIGdlbmVyaWMgZnVuY3Rpb25zIHRvIGtlZXAKKyAqIGNvZGUgc2ltcGxp Y2l0eSBleGNlcHQgZm9yIHR1cGxlIGxlbmd0aCwgc2luY2UgdGhlIGltcGxlbWVudGF0aW9uCisg KiBjb21wbGV4aXR5IHZlcnN1cyBiZW5lZml0IHRyYWRlb2ZmIHNob3VsZCBub3QgYmUgZ29vZC4K KyAqCisgKiBTZWUgbG9naWNhbHJlcF9yZWFkX3R1cGxlLCBpbiB0ZXJtcyBvZiB0dXBsZSBsZW5n dGggY29uc3VtcHRpb24uCisgKgorICogQWxzbywgYWRkIG11bHRpcGxlIHZhbHVlcyBhdCBvbmNl IGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgbnVtYmVyCisgKiBvZiBjYWxscyB0byB0aGlzIGZ1bmN0 aW9uLCBhbHRob3VnaCB0aGUgZGlzYWR2YW50YWdlIG9mIHRoaXMgd2F5CisgKiBpcyB3ZSBjYW5u b3QgZ2V0IGNvcnJlY3QgdHJhbnNhY3Rpb24gc2l6ZSB3aGVuIHdlIGdldCBhbiBlcnJvci4KKyAq CisgKiAnaXNfcGFydGl0aW9uZWQnIGlzIHVzZWQgdG8gYWRkIHNvbWUgZXh0cmEgc2l6ZS4KKyAq Lworc3RhdGljIHZvaWQKK3VwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMb2dpY2FsUmVwTXNnVHlw ZSBhY3Rpb24sIGJvb2wgaXNfcGFydGl0aW9uZWQpCit7CisJaW50NjQJCXNpemUgPSAwOworCisJ c3dpdGNoIChhY3Rpb24pCisJeworCQkJLyogTm8gc3BlY2lhbCBtZW1vcnkgY29uc3VtcHRpb24g Ki8KKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVHSU46CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNH X0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfVFJVTkNBVEU6CisJCWNhc2UgTE9HSUNB TF9SRVBfTVNHX1RZUEU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX09SSUdJTjoKKwkJY2FzZSBM T0dJQ0FMX1JFUF9NU0dfTUVTU0FHRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVHSU5fUFJF UEFSRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfUkVMQVRJT046CisJCQlicmVhazsKKworCQlj YXNlIExPR0lDQUxfUkVQX01TR19JTlNFUlQ6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1VQREFU RToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfREVMRVRFOgorCQkJQXNzZXJ0KCFpbl9zdHJlYW1l ZF90cmFuc2FjdGlvbik7CisKKwkJCS8qCisJCQkgKiBDb21wdXRlIHNpemUgYmFzZWQgb24gQXBw bHlFeGVjdXRpb25EYXRhLiBUaGUgc2l6ZSBvZgorCQkJICogTG9naWNhbFJlcFJlbE1hcEVudHJ5 IGNhbiBiZSBza2lwcGVkIGJlY2F1c2UgaXQgaXMgb2J0YWluZWQKKwkJCSAqIGZyb20gaGFzaF9z ZWFyY2ggaW4gbG9naWNhbHJlcF9yZWxfb3Blbi4KKwkJCSAqLworCQkJc2l6ZSArPSBzaXplb2Yo QXBwbHlFeGVjdXRpb25EYXRhKSArIHNpemVvZihFU3RhdGUpICsKKwkJCQlzaXplb2YoUmVzdWx0 UmVsSW5mbykgKyBzaXplb2YoUmVzdWx0UmVsSW5mbyk7CisKKwkJCS8qIEFkZCBzb21lIGV4dHJh IHNpemUgaWYgdGhlIHRhcmdldCByZWxhdGlvbiBpcyBwYXJ0aXRpb25lZC4gKi8KKwkJCWlmIChp c19wYXJ0aXRpb25lZCkKKwkJCQlzaXplICs9IHNpemVvZihNb2RpZnlUYWJsZVN0YXRlKSArIHNp emVvZihQYXJ0aXRpb25UdXBsZVJvdXRpbmcpOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FM X1JFUF9NU0dfUFJFUEFSRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVE OgorCQljYXNlIExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRDoKKwkJCXNpemUgKz0g c2l6ZW9mKEZsdXNoUG9zaXRpb24pOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9N U0dfU1RSRUFNX1NUQVJUOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fU1RPUDoKKwkJ Y2FzZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9N U0dfU1RSRUFNX1BSRVBBUkU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9BQk9SVDoK KwkJZGVmYXVsdDoKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfUFJP VE9DT0xfVklPTEFUSU9OKSwKKwkJCQkJIGVycm1zZygiaW52YWxpZCBsb2dpY2FsIHJlcGxpY2F0 aW9uIG1lc3NhZ2UgdHlwZSBcIiVjXCIiLCBhY3Rpb24pKSk7CisJfQorCisJLyogVXBkYXRlIHRo ZSB0b3RhbCBzaXplIG9mIGNvbnN1bXB0aW9uIHdoZW4gbmVjZXNzYXJ5ICovCisJaWYgKHNpemUg IT0gMCkKKwkJYWRkX2FwcGx5X3hhY3Rfc2l6ZShzaXplKTsKK30KKworLyoKICAqIEZpZ3VyZSBv dXQgd2hpY2ggd3JpdGUvZmx1c2ggcG9zaXRpb25zIHRvIHJlcG9ydCB0byB0aGUgd2Fsc2VuZGVy IHByb2Nlc3MuCiAgKgogICogV2UgY2FuJ3Qgc2ltcGx5IHJlcG9ydCBiYWNrIHRoZSBsYXN0IExT TiB0aGUgd2Fsc2VuZGVyIHNlbnQgdXMgYmVjYXVzZSB0aGUKQEAgLTM2MDUsNiArMzc1MywzMiBA QCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcpCiB9CiAKIC8qCisgKiBHZXQgdHJhbnNh Y3Rpb24gc2l6ZSBzdG9yZWQgb24gYXBwbHkgZXJyb3IgY2FsbGJhY2suCisgKiBUaGlzIGlzIHVz ZWQgbm90IG9ubHkgZm9yIGVycm9yIGJ1dCBhbHNvIGNvbW1pdCBhbmQKKyAqIHJvbGxiYWNrLiBF eHBvcnRlZCBzbyB0aGF0IHN0YXRzIGNvbGxlY3RvciBjYW4gdXRpbGl6ZQorICogdGhpcyB2YWx1 ZS4KKyAqLworaW50NjQKK2dldF9hcHBseV94YWN0X3NpemUodm9pZCkKK3sKKwlyZXR1cm4gYXBw bHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzOworfQorCisvKiBBZGQgc2l6ZSB0byBhcHBseSB0 cmFuc2FjdGlvbiBzaXplICovCit2b2lkCithZGRfYXBwbHlfeGFjdF9zaXplKGludDY0IHNpemUp Cit7CisJYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzICs9IHNpemU7Cit9CisKKy8qIFJl c2V0IHRyYW5zYWN0aW9uIHNpemUgb24gYXBwbHkgZXJyb3IgY2FsbGJhY2sgKi8KK3ZvaWQKK3Jl c2V0X2FwcGx5X3hhY3Rfc2l6ZSh2b2lkKQoreworCWFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5i eXRlcyA9IDA7Cit9CisKKy8qCiAgKiBJcyBjdXJyZW50IHByb2Nlc3MgYSBsb2dpY2FsIHJlcGxp Y2F0aW9uIHdvcmtlcj8KICAqLwogYm9vbApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpp bmRleCBhMzRjMGI2Li5kNzI2NGZjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpA QCAtMjQxNCw3ICsyNDE0LDcgQEAgcGdfc3RhdF9nZXRfcmVwbGljYXRpb25fc2xvdChQR19GVU5D VElPTl9BUkdTKQogRGF0dW0KIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXIoUEdfRlVO Q1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRfU1VCU0NSSVBUSU9OX1dPUktFUl9D T0xTCTkKKyNkZWZpbmUgUEdfU1RBVF9HRVRfU1VCU0NSSVBUSU9OX1dPUktFUl9DT0xTCTE1CiAJ T2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCU9pZAkJCXN1YnJlbGlkOwogCVR1cGxl RGVzYwl0dXBkZXNjOwpAQCAtMjQ0MSwxOSArMjQ0MSwzMSBAQCBwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25fd29ya2VyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJCSAgIE9JRE9JRCwgLTEsIDApOwog CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMiwgInN1YnJlbGlkIiwK IAkJCQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSAzLCAibGFzdF9lcnJvcl9yZWxpZCIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAiY29tbWl0X2NvdW50IiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgNCwgImNv bW1pdF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDUsICJlcnJvcl9jb3VudCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDYs ICJlcnJvcl9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJhYm9ydF9jb3VudCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp IDgsICJhYm9ydF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDksICJsYXN0X2Vycm9yX3JlbGlkIiwKIAkJ CQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSA0LCAibGFzdF9lcnJvcl9jb21tYW5kIiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpIDEwLCAibGFzdF9lcnJvcl9jb21tYW5kIiwKIAkJCQkJICAgVEVY VE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg NSwgImxhc3RfZXJyb3JfeGlkIiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpIDExLCAibGFzdF9lcnJvcl94aWQiLAogCQkJCQkgICBYSURPSUQsIC0xLCAwKTsKLQlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDYsICJsYXN0X2Vycm9yX2Nv dW50IiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDEyLCAibGFz dF9lcnJvcl9jb3VudCIsCiAJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJsYXN0X2Vycm9yX21lc3NhZ2UiLAorCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMTMsICJsYXN0X2Vycm9yX21l c3NhZ2UiLAogCQkJCQkgICBURVhUT0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSA4LCAiZmlyc3RfZXJyb3JfdGltZSIsCisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNCwgImZpcnN0X2Vycm9yX3RpbWUiLAogCQkJ CQkgICBUSU1FU1RBTVBUWk9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgOSwgImxhc3RfZXJyb3JfdGltZSIsCisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNSwgImxhc3RfZXJyb3JfdGltZSIsCiAJCQkJCSAgIFRJ TUVTVEFNUFRaT0lELCAtMSwgMCk7CiAJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CiAKQEAgLTI0 NzEsNiArMjQ4MywxNCBAQCBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyKFBHX0ZVTkNU SU9OX0FSR1MpCiAJZWxzZQogCQludWxsc1tpKytdID0gdHJ1ZTsKIAorCS8qIHRyYW5zYWN0aW9u IHN0YXRzICovCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHdlbnRyeS0+eGFjdF9jb21t aXRfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh3ZW50cnktPnhhY3RfY29t bWl0X2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0od2VudHJ5LT54YWN0X2Vy cm9yX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0od2VudHJ5LT54YWN0X2Vy cm9yX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0od2VudHJ5LT54YWN0X2Fi b3J0X2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0od2VudHJ5LT54YWN0X2Fi b3J0X2J5dGVzKTsKKwogCS8qIGxhc3RfZXJyb3JfcmVsaWQgKi8KIAlpZiAoT2lkSXNWYWxpZCh3 ZW50cnktPnJlbGlkKSkKIAkJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHdlbnRyeS0+ cmVsaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggMjVmNjg1Zi4uZmM2NTRiNCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01Mzg5LDkgKzUzODksOSBAQAogICBwcm9uYW1lID0+ ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyJywgcHJvcm93cyA9PiAnMScsIHByb2lz c3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBw cm9wYXJhbGxlbCA9PiAncicsCiAgIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQgb2lkJywKLSAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLG9pZCxvaWQsb2lk LHRleHQseGlkLGludDgsdGV4dCx0aW1lc3RhbXB0eix0aW1lc3RhbXB0en0nLAotICBwcm9hcmdt b2RlcyA9PiAne2ksaSxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAne3N1 YmlkLHN1YnJlbGlkLHN1YmlkLHN1YnJlbGlkLGxhc3RfZXJyb3JfcmVsaWQsbGFzdF9lcnJvcl9j b21tYW5kLGxhc3RfZXJyb3JfeGlkLGxhc3RfZXJyb3JfY291bnQsbGFzdF9lcnJvcl9tZXNzYWdl LGZpcnN0X2Vycm9yX3RpbWUsbGFzdF9lcnJvcl90aW1lfScsCisgIHByb2FsbGFyZ3R5cGVzID0+ ICd7b2lkLG9pZCxvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG9pZCx0ZXh0 LHhpZCxpbnQ4LHRleHQsdGltZXN0YW1wdHosdGltZXN0YW1wdHp9JywKKyAgcHJvYXJnbW9kZXMg PT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMg PT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxjb21taXRfY291bnQsY29tbWl0X2J5 dGVzLGVycm9yX2NvdW50LGVycm9yX2J5dGVzLGFib3J0X2NvdW50LGFib3J0X2J5dGVzLGxhc3Rf ZXJyb3JfcmVsaWQsbGFzdF9lcnJvcl9jb21tYW5kLGxhc3RfZXJyb3JfeGlkLGxhc3RfZXJyb3Jf Y291bnQsbGFzdF9lcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9yX3RpbWUsbGFzdF9lcnJvcl90aW1l fScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcicgfSwKIHsg b2lkID0+ICc2MTE4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGluZm9ybWF0aW9uIGFib3V0IHN1 YnNjcmlwdGlvbicsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbicsIHBy b3Jvd3MgPT4gJzEwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCAyYzI2YjFjLi4yNjY3MTFi IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0 YXQuaApAQCAtODYsNiArODYsOCBAQCB0eXBlZGVmIGVudW0gU3RhdE1zZ1R5cGUKIAlQR1NUQVRf TVRZUEVfRElTQ09OTkVDVCwKIAlQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9OUFVSR0UsCiAJUEdT VEFUX01UWVBFX1NVQldPUktFUkVSUk9SLAorCVBHU1RBVF9NVFlQRV9TVUJXT1JLRVJYQUNURU5E LAorCVBHU1RBVF9NVFlQRV9TVUJXT1JLRVJUV09QSEFTRVhBQ1QsCiB9IFN0YXRNc2dUeXBlOwog CiAvKiAtLS0tLS0tLS0tCkBAIC01NTgsNiArNTYwLDU2IEBAIHR5cGVkZWYgc3RydWN0IFBnU3Rh dF9Nc2dTdWJzY3JpcHRpb25QdXJnZQogfSBQZ1N0YXRfTXNnU3Vic2NyaXB0aW9uUHVyZ2U7CiAK IC8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25YYWN0RW5kCVNlbnQgYnkg dGhlIGFwcGx5IHdvcmtlciBvciB0aGUgdGFibGUgc3luYyB3b3JrZXIKKyAqCQkJCQkJCQkJdG8g cmVwb3J0IHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gZW5kcy4KKyAqIC0tLS0tLS0tLS0KKyAqLwor dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQKK3sKKwlQZ1N0YXRfTXNn SGRyIG1faGRyOworCisJLyogZGV0ZXJtaW5lIHRoZSB3b3JrZXIgZW50cnkgKi8KKwlPaWQJCQlt X2RhdGFiYXNlaWQ7CisJT2lkCQkJbV9zdWJpZDsKKwlPaWQJCQltX3N1YnJlbGlkOworCisJLyoK KwkgKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRyYW5zYWN0aW9uIGNvbW1pdHMgYW5kIHN0cmVhbWlu ZyB0cmFuc2FjdGlvbgorCSAqIGFib3J0cyB0aGF0IGFyZSBoYW5kbGVkIHdpdGhvdXQgZXJyb3Iu CisJICovCisJTG9naWNhbFJlcE1zZ1R5cGUgbV9jb21tYW5kOworCisJLyogbWVtb3J5IGNvbnN1 bXB0aW9uIHVzZWQgYnkgdHJhbnNhY3Rpb24gKi8KKwlQZ1N0YXRfQ291bnRlciBtX3hhY3RfYnl0 ZXM7CisKK30gUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQ7CisKKy8qIC0tLS0tLS0tLS0KKyAq IFBnU3RhdF9Nc2dTdWJXb3JrZXJUd29waGFzZVhhY3QJU2VudCBieSB0aGUgYXBwbHkgd29ya2Vy IHRvIG1ha2Ugc2l6ZSBvZiBwcmVwYXJlZAorICoJCQkJCQkJCQl0eG4gcGVyc2lzdGVudCBvdmVy IHRoZSBzZXJ2ZXIgcmVzdGFydCBhbmQgbWFrZSBpdAorICoJCQkJCQkJCQl2aXNpYmxlIGFmdGVy IGNvbW1pdCBwcmVwYXJlIG9yIHJvbGxiYWNrIHByZXBhcmVkLgorICoJCQkJCQkJCQlUaGlzIGlz IHNlcGFyYXRlZCBmcm9tIFBnU3RhdF9Nc2dTdWJXb3JrZXJYYWN0RW5kCisgKgkJCQkJCQkJCXNv IHRoYXQgd2UgY2FuIHJlZHVjZSBtZXNzYWdlIHNpemUgb2YgZ2lkIGZvciBvdGhlcgorICoJCQkJ CQkJCQlvcGVyYXRpb25zIChlLmcuIG5vcm1hbCBDT01NSVQpIHRoYXQgc2hvdWxkIGhhcHBlbiBt b3JlCisgKgkJCQkJCQkJCWZyZXF1ZW50bHkgdGhhbiBwcmVwYXJlIG9wZXJhdGlvbiB1c3VhbGx5 LgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfTXNnU3ViV29ya2Vy VHdvcGhhc2VYYWN0Cit7CisJUGdTdGF0X01zZ0hkciBtX2hkcjsKKworCS8qIGRldGVybWluZSB0 aGUgc3Vic2NyaXB0aW9uICovCisJT2lkCQkJbV9kYXRhYmFzZWlkOworCU9pZAkJCW1fc3ViaWQ7 CisKKwlMb2dpY2FsUmVwTXNnVHlwZSBtX2NvbW1hbmQ7CisJY2hhcgkJbV9naWRbR0lEU0laRV07 CisJaW50CQkJZ2lkX2xlbjsKKwlQZ1N0YXRfQ291bnRlciBtX3hhY3RfYnl0ZXM7CisKK30gUGdT dGF0X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdDsKKworLyogLS0tLS0tLS0tLQogICogUGdTdGF0 X01zZ1N1YldvcmtlckVycm9yCQlTZW50IGJ5IHRoZSBhcHBseSB3b3JrZXIgb3IgdGhlIHRhYmxl IHN5bmMgd29ya2VyIHRvCiAgKgkJCQkJCQkJcmVwb3J0IHRoZSBlcnJvciBvY2N1cnJlZCBkdXJp bmcgbG9naWNhbCByZXBsaWNhdGlvbi4KICAqIC0tLS0tLS0tLS0KQEAgLTU3Nyw2ICs2MjksMTIg QEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1YldvcmtlckVycm9yCiAJT2lkCQkJbV9zdWJy ZWxpZDsKIAogCS8qCisJICogVHJhbnNhY3Rpb24gc3RhdHMgb2Ygc3Vic2NyaXB0aW9uIG5lZWRz IHRvIGJlIHVwZGF0ZWQgd2hlbiBhbiBlcnJvcgorCSAqIG9jY3Vycy4KKwkgKi8KKwlQZ1N0YXRf Q291bnRlciBtX3hhY3RfZXJyb3JfYnl0ZXM7CisKKwkvKgogCSAqIE9pZCBvZiB0aGUgdGFibGUg dGhhdCB0aGUgcmVwb3J0ZXIgd2FzIGFjdHVhbGx5IHByb2Nlc3NpbmcuIG1fcmVsaWQgY2FuCiAJ ICogYmUgSW52YWxpZE9pZCBpZiBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgd29ya2VyIGFwcGx5 aW5nIGEKIAkgKiBub24tZGF0YS1tb2RpZmljYXRpb24gbWVzc2FnZSBzdWNoIGFzIFJFTEFUSU9O LgpAQCAtNzY4LDYgKzgyNiw4IEBAIHR5cGVkZWYgdW5pb24gUGdTdGF0X01zZwogCVBnU3RhdF9N c2dEaXNjb25uZWN0IG1zZ19kaXNjb25uZWN0OwogCVBnU3RhdF9Nc2dTdWJzY3JpcHRpb25QdXJn ZSBtc2dfc3Vic2NyaXB0aW9ucHVyZ2U7CiAJUGdTdGF0X01zZ1N1YldvcmtlckVycm9yIG1zZ19z dWJ3b3JrZXJlcnJvcjsKKwlQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZCBtc2dfc3Vid29ya2Vy eGFjdGVuZDsKKwlQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0IG1zZ19zdWJ3b3JrZXJ0 d29waGFzZXhhY3Q7CiB9IFBnU3RhdF9Nc2c7CiAKIApAQCAtODIyLDE2ICs4ODIsMjMgQEAgdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJVGltZXN0YW1wVHogc3RhdHNfdGltZXN0 YW1wOwkvKiB0aW1lIG9mIGRiIHN0YXRzIGZpbGUgdXBkYXRlICovCiAKIAkvKgotCSAqIHRhYmxl cywgZnVuY3Rpb25zLCBhbmQgc3Vic2NyaXB0aW9uIHdvcmtlcnMgbXVzdCBiZSBsYXN0IGluIHRo ZSBzdHJ1Y3QsCi0JICogYmVjYXVzZSB3ZSBkb24ndCB3cml0ZSB0aGUgcG9pbnRlcnMgb3V0IHRv IHRoZSBzdGF0cyBmaWxlLgorCSAqIHRhYmxlcywgZnVuY3Rpb25zLCBzdWJzY3JpcHRpb24gd29y a2VycyBhbmQgaXRzIHByZXBhcmVkIHRyYW5zYWN0aW9uCisJICogc3RhdHMgbXVzdCBiZSBsYXN0 IGluIHRoZSBzdHJ1Y3QsIGJlY2F1c2Ugd2UgZG9uJ3Qgd3JpdGUgdGhlIHBvaW50ZXJzCisJICog b3V0IHRvIHRoZSBzdGF0cyBmaWxlLgogCSAqCiAJICogc3Vid29ya2VyIGlzIHRoZSBoYXNoIHRh YmxlIG9mIFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgd2hpY2ggc3RvcmVzCiAJICogc3RhdGlz dGljcyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcnM6IGFwcGx5IHdvcmtlciBhbmQgdGFi bGUgc3luYwogCSAqIHdvcmtlci4KKwkgKgorCSAqIHN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyBz aG91bGQgZ2l2ZSBhcHByb3ByaWF0ZSB0cmFuc2FjdGlvbiBzaXplcyBhdAorCSAqIGVpdGhlciBj b21taXQgcHJlcGFyZWQgb3Igcm9sbGJhY2sgcHJlcGFyZWQgdGltZSwgZXZlbiB3aGVuIGl0J3Mg YWZ0ZXIKKwkgKiB0aGUgc2VydmVyIHJlc3RhcnQuIFdlIGhhdmUgdGhlIGFwcGx5IHdvcmtlciBz ZW5kIHRob3NlIHN0YXRpc3RpY3MgdG8KKwkgKiB0aGUgc3RhdHMgY29sbGVjdG9yIGF0IHByZXBh cmUgdGltZS4KIAkgKi8KIAlIVEFCCSAgICp0YWJsZXM7CiAJSFRBQgkgICAqZnVuY3Rpb25zOwog CUhUQUIJICAgKnN1YndvcmtlcnM7CisJSFRBQgkgICAqc3Vid29ya2Vyc19wcmVwYXJlZHNpemVz OwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIApAQCAtMTAwNSw2ICsxMDcyLDE2IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkKIAlQZ1N0YXRfU3RhdFN1Yldvcmtl cktleSBrZXk7CS8qIGhhc2gga2V5IChtdXN0IGJlIGZpcnN0KSAqLwogCiAJLyoKKwkgKiBDdW11 bGF0aXZlIHRyYW5zYWN0aW9uIHN0YXRpc3RpY3Mgb2Ygc3Vic2NyaXB0aW9uIHdvcmtlcgorCSAq LworCVBnU3RhdF9Db3VudGVyIHhhY3RfY29tbWl0X2NvdW50OworCVBnU3RhdF9Db3VudGVyIHhh Y3RfY29tbWl0X2J5dGVzOworCVBnU3RhdF9Db3VudGVyIHhhY3RfZXJyb3JfY291bnQ7CisJUGdT dGF0X0NvdW50ZXIgeGFjdF9lcnJvcl9ieXRlczsKKwlQZ1N0YXRfQ291bnRlciB4YWN0X2Fib3J0 X2NvdW50OworCVBnU3RhdF9Db3VudGVyIHhhY3RfYWJvcnRfYnl0ZXM7CisKKwkvKgogCSAqIFN1 YnNjcmlwdGlvbiB3b3JrZXIgZXJyb3Igc3RhdGlzdGljcyByZXByZXNlbnRpbmcgYW4gZXJyb3Ig dGhhdAogCSAqIG9jY3VycmVkIGR1cmluZyBhcHBsaWNhdGlvbiBvZiBsb2dpY2FsIHJlcGxpY2F0 aW9uIG9yIHRoZSBpbml0aWFsIHRhYmxlCiAJICogc3luY2hyb25pemF0aW9uLgpAQCAtMTAxOCw2 ICsxMDk1LDIyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkKIAlj aGFyCQllcnJvcl9tZXNzYWdlW1BHU1RBVF9TVUJXT1JLRVJFUlJPUl9NU0dMRU5dOwogfSBQZ1N0 YXRfU3RhdFN1YldvcmtlckVudHJ5OwogCisvKiBwcmVwYXJlZCB0cmFuc2FjdGlvbiAqLwordHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleQoreworCU9pZAkJCXN1YmlkOwor CWNoYXIJCWdpZFtHSURTSVpFXTsKK30gUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleTsKKwordHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5Cit7CisJUGdTdGF0X1NXX1By ZXBhcmVkWGFjdEtleSBrZXk7CS8qIGhhc2gga2V5ICovCisKKwlPaWQJCQlzdWJpZDsKKwljaGFy CQlnaWRbR0lEU0laRV07CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9zaXplOworfSBQZ1N0YXRfU1df UHJlcGFyZWRYYWN0RW50cnk7CisKIC8qCiAgKiBXb3JraW5nIHN0YXRlIG5lZWRlZCB0byBhY2N1 bXVsYXRlIHBlci1mdW5jdGlvbi1jYWxsIHRpbWluZyBzdGF0aXN0aWNzLgogICovCkBAIC0xMTI4 LDYgKzEyMjEsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9jaGVja3N1bV9mYWlsdXJl KHZvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9yZXBsc2xvdChjb25zdCBQZ1N0YXRf U3RhdFJlcGxTbG90RW50cnkgKnJlcFNsb3RTdGF0KTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBv cnRfcmVwbHNsb3RfY3JlYXRlKGNvbnN0IGNoYXIgKnNsb3RuYW1lKTsKIGV4dGVybiB2b2lkIHBn c3RhdF9yZXBvcnRfcmVwbHNsb3RfZHJvcChjb25zdCBjaGFyICpzbG90bmFtZSk7CitleHRlcm4g dm9pZCBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZChPaWQgc3ViaWQsIE9pZCBzdWJy ZWwsCisJCQkJCQkJCQkJCSBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLCBQZ1N0YXRfQ291bnRl ciB4YWN0X3NpemUpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJfdHdvcGhh c2VfeGFjdChPaWQgc3ViaWQsIExvZ2ljYWxSZXBNc2dUeXBlIGNvbW1hbmQsCisJCQkJCQkJCQkJ CQkgIFBnU3RhdF9Db3VudGVyIHhhY3Rfc2l6ZSwgY2hhciAqZ2lkKTsKIGV4dGVybiB2b2lkIHBn c3RhdF9yZXBvcnRfc3Vid29ya2VyX2Vycm9yKE9pZCBzdWJpZCwgT2lkIHN1YnJlbGlkLCBPaWQg cmVsaWQsCiAJCQkJCQkJCQkJICBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLAogCQkJCQkJCQkJ CSAgVHJhbnNhY3Rpb25JZCB4aWQsIGNvbnN0IGNoYXIgKmVycm1zZyk7CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmggYi9zcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgKaW5kZXggMmFkNjFhMC4uNDM1ODg0ZCAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oCisrKyBiL3NyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaApAQCAtMTYsNCArMTYsOSBAQCBleHRlcm4g dm9pZCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcpOwogCiBleHRlcm4gYm9vbCBJc0xv Z2ljYWxXb3JrZXIodm9pZCk7CiAKKy8qIGZvciB0cmFuc2FjdGlvbiBzdGF0cyAqLworZXh0ZXJu IGludDY0IGdldF9hcHBseV94YWN0X3NpemUodm9pZCk7CitleHRlcm4gdm9pZCBhZGRfYXBwbHlf eGFjdF9zaXplKGludDY0IHNpemUpOworZXh0ZXJuIHZvaWQgcmVzZXRfYXBwbHlfeGFjdF9zaXpl KHZvaWQpOworCiAjZW5kaWYJCQkJCQkJLyogTE9HSUNBTFdPUktFUl9IICovCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGQ2MGM1YTUuLmJkM2UyMjEgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yMDk3LDYgKzIwOTcsMTIgQEAgcGdfc3RhdF9zdWJzY3Jp cHRpb258IFNFTEVDVCBzdS5vaWQgQVMgc3ViaWQsCiBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3Jr ZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICBzLnN1Ym5hbWUsCiAgICAgdy5zdWJyZWxpZCwKKyAg ICB3LmNvbW1pdF9jb3VudCwKKyAgICB3LmNvbW1pdF9ieXRlcywKKyAgICB3LmVycm9yX2NvdW50 LAorICAgIHcuZXJyb3JfYnl0ZXMsCisgICAgdy5hYm9ydF9jb3VudCwKKyAgICB3LmFib3J0X2J5 dGVzLAogICAgIHcubGFzdF9lcnJvcl9yZWxpZCwKICAgICB3Lmxhc3RfZXJyb3JfY29tbWFuZCwK ICAgICB3Lmxhc3RfZXJyb3JfeGlkLApAQCAtMjExMiw3ICsyMTE4LDcgQEAgcGdfc3RhdF9zdWJz Y3JpcHRpb25fd29ya2Vyc3wgU0VMRUNUIHcuc3ViaWQsCiAgICAgICAgICAgICBwZ19zdWJzY3Jp cHRpb25fcmVsLnNycmVsaWQgQVMgcmVsaWQKICAgICAgICAgICAgRlJPTSBwZ19zdWJzY3JpcHRp b25fcmVsCiAgICAgICAgICAgV0hFUkUgKHBnX3N1YnNjcmlwdGlvbl9yZWwuc3JzdWJzdGF0ZSA8 PiAncic6OiJjaGFyIikpIHNyLAotICAgIChMQVRFUkFMIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlv bl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJlbGlkKSB3KHN1YmlkLCBzdWJyZWxpZCwgbGFzdF9lcnJv cl9yZWxpZCwgbGFzdF9lcnJvcl9jb21tYW5kLCBsYXN0X2Vycm9yX3hpZCwgbGFzdF9lcnJvcl9j b3VudCwgbGFzdF9lcnJvcl9tZXNzYWdlLCBmaXJzdF9lcnJvcl90aW1lLCBsYXN0X2Vycm9yX3Rp bWUpCisgICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcihzci5zdWJp ZCwgc3IucmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCBjb21taXRfY291bnQsIGNvbW1pdF9ieXRl cywgZXJyb3JfY291bnQsIGVycm9yX2J5dGVzLCBhYm9ydF9jb3VudCwgYWJvcnRfYnl0ZXMsIGxh c3RfZXJyb3JfcmVsaWQsIGxhc3RfZXJyb3JfY29tbWFuZCwgbGFzdF9lcnJvcl94aWQsIGxhc3Rf ZXJyb3JfY291bnQsIGxhc3RfZXJyb3JfbWVzc2FnZSwgZmlyc3RfZXJyb3JfdGltZSwgbGFzdF9l cnJvcl90aW1lKQogICAgICBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OICgody5zdWJpZCA9IHMu b2lkKSkpOwogcGdfc3RhdF9zeXNfaW5kZXhlc3wgU0VMRUNUIHBnX3N0YXRfYWxsX2luZGV4ZXMu cmVsaWQsCiAgICAgcGdfc3RhdF9hbGxfaW5kZXhlcy5pbmRleHJlbGlkLApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94YWN0X3N0YXRzLnBsIGIvc3JjL3Rl c3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94YWN0X3N0YXRzLnBsCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NTA0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMjdfd29ya2VyX3hhY3Rfc3RhdHMucGwKQEAgLTAsMCArMSwxNTMg QEAKKworIyBDb3B5cmlnaHQgKGMpIDIwMjEsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisKKyMgVGVzdHMgZm9yIHN1YnNjcmlwdGlvbiB3b3JrZXIgc3RhdGlzdGljcyBkdXJp bmcgYXBwbHkuCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNlIFBvc3RncmVTUUw6OlRl c3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVzdDo6TW9y ZSB0ZXN0cyA9PiAyOworCisjIENyZWF0ZSBwdWJsaXNoZXIgbm9kZQorbXkgJG5vZGVfcHVibGlz aGVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdwdWJsaXNoZXInKTsKKyRub2Rl X3B1Ymxpc2hlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9w dWJsaXNoZXItPmFwcGVuZF9jb25mKAorCSdwb3N0Z3Jlc3FsLmNvbmYnLCBxcVsKK2xvZ2ljYWxf ZGVjb2Rpbmdfd29ya19tZW0gPSA2NGtCCittYXhfcHJlcGFyZWRfdHJhbnNhY3Rpb25zID0gMTAK K21heF93YWxfc2VuZGVycyA9IDEwCit3YWxfc2VuZGVyX3RpbWVvdXQgPSAwCitdKTsKKyRub2Rl X3B1Ymxpc2hlci0+c3RhcnQ7CisKKyMgQ3JlYXRlIHN1YnNjcmliZXIgbm9kZQorbXkgJG5vZGVf c3Vic2NyaWJlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygnc3Vic2NyaWJlcicp OworJG5vZGVfc3Vic2NyaWJlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7 Ciskbm9kZV9zdWJzY3JpYmVyLT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25mJywgcXFb CittYXhfcHJlcGFyZWRfdHJhbnNhY3Rpb25zID0gMTAKK10pOworJG5vZGVfc3Vic2NyaWJlci0+ c3RhcnQ7CisKKyMgU2V0dXAgc3RydWN0dXJlcyBvbiB0aGUgcHVibGlzaGVyIGFuZCB0aGUgc3Vi c2NyaWJlcgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBU QUJMRSB0ZXN0X3RhYiAoYSBpbnQpIik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRlc3RfdGFiIChhIGludCBwcmltYXJ5IGtleSkiKTsK KworIyBTZXR1cCBsb2dpY2FsIHJlcGxpY2F0aW9uCitteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAk bm9kZV9wdWJsaXNoZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7Ciskbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1 YiBGT1IgVEFCTEUgdGVzdF90YWIiKTsKKworbXkgJGFwcG5hbWUgPSAndGFwX3N1Yic7CitteSAk c3Vib3B0cyA9ICdzdHJlYW1pbmcgPSBvbiwgdHdvX3BoYXNlID0gb24sIGNvcHlfZGF0YSA9IGZh bHNlJzsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxcVsKK0NS RUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YgorQ09OTkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3Ry IGFwcGxpY2F0aW9uX25hbWU9JGFwcG5hbWUnCitQVUJMSUNBVElPTiB0YXBfcHViIFdJVEggKCRz dWJvcHRzKTsKK10pOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJGFwcG5h bWUpOworCisjIFRoZXJlJ3Mgbm8gZW50cnkgYXQgdGhlIGJlZ2lubmluZworbXkgJHJlc3VsdCA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQo KikgRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIik7CitpcygkcmVzdWx0LCBxKDAp LCAnbm8gZW50cnkgZm9yIHRyYW5zYWN0aW9uIHN0YXRzIHlldCcpOworCisjIENPTU1JVAorJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQkVHSU47IElOU0VSVCBJTlRP IHRlc3RfdGFiIFZBTFVFUyAoMSk7IENPTU1JVDsiKTsKKworJG5vZGVfc3Vic2NyaWJlci0+cG9s bF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQoMSkgPSAxIEZST00gcGdf c3RhdF9zdWJzY3JpcHRpb25fd29ya2VycyB3aGVyZSBjb21taXRfY291bnQgPSAxIgorKSBvciBk aWUgImRpZG4ndCBnZXQgdXBkYXRlcyBvZiB4YWN0IHN0YXRzIGJ5IGNvbW1pdCI7CisKKyMgTm93 LCBzdGF0cyBjb2xsZWN0b3IgbWFrZSB0aGUgYnl0ZXMgdXBkYXRlZCBhbHNvLgorJHJlc3VsdCA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY29tbWl0 X2J5dGVzID4gMCBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMiKTsKK2lzKCRyZXN1 bHQsIHEodCksICdnb3QgY29uc3VtZWQgYnl0ZXMnKTsKKworIyBQUkVQQVJFICYgQ09NTUlUIFBS RVBBUkVECiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJCRUdJTjsg SU5TRVJUIElOVE8gdGVzdF90YWIgVkFMVUVTICgyKTsgUFJFUEFSRSBUUkFOU0FDVElPTiAnZ2lk MSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDT01NSVQgUFJF UEFSRUQgJ2dpZDEnOyIpOworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9z dGdyZXMnLAorCSJTRUxFQ1QgY291bnQoMSkgPSAxIEZST00gcGdfc3RhdF9zdWJzY3JpcHRpb25f d29ya2VycyB3aGVyZSBjb21taXRfY291bnQgPSAyIgorKSBvciBkaWUgImRpZG4ndCBnZXQgdXBk YXRlcyBvZiB4YWN0IHN0YXRzIGJ5IGNvbW1pdCBwcmVwYXJlZCI7CisKKyMgU1RSRUFNIENPTU1J VAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQkVHSU47IElOU0VS VCBJTlRPIHRlc3RfdGFiIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMoMTAwMSwgMjAwMCkpOyBDT01N SVQ7IgorKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywK KwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMg d2hlcmUgY29tbWl0X2NvdW50ID0gMyIKKykgb3IgZGllICJkaWRuJ3QgZ2V0IHVwZGF0ZXMgb2Yg eGFjdCBzdGF0cyBieSBzdHJlYW0gY29tbWl0IjsKKworIyBTVFJFQU0gUFJFUEFSRSAmIENPTU1J VCBQUkVQQVJFRAorIyBUaGlzIHNob3VsZCByZXN0b3JlIHRoZSB4YWN0IHNpemUgYmVmb3JlIHRo ZSBzaHV0ZG93bi4KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHFb CitCRUdJTjsKK0lOU0VSVCBJTlRPIHRlc3RfdGFiIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMoMjAw MSwgMzAwMCkpOworUFJFUEFSRSBUUkFOU0FDVElPTiAnZ2lkMic7CitdKTsKKworIyBUaGlzIHN0 cmVhbWVkIHByZXBhcmUgaXMgbm90IGRpc3BsYXllZCB1bnRpbCB0aGUgY29tbWl0IHByZXBhcmVk CisjIG9yIHJvbGxiYWNrIHByZXBhcmVkLiBIZW5jZSwgdGhlcmUncyBubyB3YXkgdG8gY29uZmly bSB0aGF0CisjIHN0YXRzIGNvbGxlY3RvciBoYXMgcmVjZWl2ZWQgdGhlIGJ5dGVzIG9mIHByZXBh cmVkIHRyYW5zYWN0aW9uLgorIyBTbywgaW5zdGVhZCBvZiBjaGVja2luZyB0aGUgdmlldywgaXNz dWUgb25lIG1vcmUgY29tbWl0dGVkIHRyYW5zYWN0aW9uCisjIGFmdGVyIHRoZSBwcmVwYXJlIGFu ZCBtYWtlIHN1cmUgdGhhdCB0aGlzIGNvbW1pdCdzIHVwZGF0ZSBpcyBkb25lLAorIyB3aGljaCBz aG91bGQgbWVhbiB0aGUgcHJldmlvdXMgc3RyZWFtZWQgcHJlcGFyZSBpcyBhbHJlYWR5IHByb2Nl c3NlZAorIyBieSB0aGUgc3RhdHMgY29sbGVjdG9yIGFzIHdlbGwuCiskbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJCRUdJTjsgSU5TRVJUIElOVE8gdGVzdF90YWIgVkFM VUVTICgzKTsgQ09NTUlUOyIpOworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgn cG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQoMSkgPSAxIEZST00gcGdfc3RhdF9zdWJzY3JpcHRp b25fd29ya2VycyB3aGVyZSBjb21taXRfY291bnQgPSA0IgorKSBvciBkaWUgImRpZG4ndCBwcm9j ZXNzIHRoZSB1cGRhdGVzIG9mIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiI7CisKKyRub2RlX3N1YnNj cmliZXItPnJlc3RhcnQ7CisKKyMgR2V0IGNvbW1pdF9ieXRlcyBiZWZvcmUgY29tbWl0IHByZXBh cmVkLgorbXkgJHRtcCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAor CSJTRUxFQ1QgY29tbWl0X2J5dGVzIEZST00gcGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VycyB3 aGVyZSBjb21taXRfY291bnQgPSA0IgorKTsKKworIyBDb21taXQgcHJlcGFyZWQgaW5jcmVtZW50 cyB0aGUgY29tbWl0X2NvdW50LgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIkNPTU1JVCBQUkVQQVJFRCAnZ2lkMiciKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVl cnlfdW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRf c3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0X2NvdW50ID0gNSIKKyAgKQorICBvciBk aWUKKyAgImRpZG4ndCBnZXQgdXBkYXRlcyBvZiB4YWN0IHN0YXRzIGJ5IHN0cmVhbSBwcmVwYXJl IGFuZCBjb21taXQgcHJlcGFyZWQiOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3Vu dGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb21taXRfYnl0ZXMgPiAkdG1wIEZST00gcGdfc3Rh dF9zdWJzY3JpcHRpb25fd29ya2VycyB3aGVyZSBjb21taXRfY291bnQgPSA1IgorKTsKKworIyBS T0xMQkFDSyBQUkVQQVJFRAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVz JywgcVsKK0JFR0lOOworSU5TRVJUIElOVE8gdGVzdF90YWIgVkFMVUVTICg0KTsKK1BSRVBBUkUg VFJBTlNBQ1RJT04gJ2dpZDMnOworXSk7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLCAiUk9MTEJBQ0sgUFJFUEFSRUQgJ2dpZDMnIik7Ciskbm9kZV9zdWJzY3JpYmVyLT5w b2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBw Z19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIHdoZXJlIGFib3J0X2NvdW50ID0gMSIKKykgb3Ig ZGllICJkaWRuJ3QgZ2V0IHVwZGF0ZXMgb2YgeGFjdCBzdGF0cyBieSByb2xsYmFjayBwcmVwYXJl ZCI7CisKKyMgZXJyb3Igc3RhdHMgKGJ5IGR1cGxpY2F0aW9uIGVycm9yKQorJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcVsKK0JFR0lOOworSU5TRVJUIElOVE8gdGVz dF90YWIgVkFMVUVTICgxKTsKK0NPTU1JVDsKK10pOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xs X3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBwZ19z dGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIFdIRVJFIGVycm9yX2NvdW50ID4gMCBBTkQgZXJyb3Jf Ynl0ZXMgPiAwIgorKSBvciBkaWUgImRpZG4ndCBnZXQgdXBkYXRlcyBvZiB4YWN0IHN0YXRzIGJ5 IGVycm9yIjsKKworJG5vZGVfc3Vic2NyaWJlci0+c3RvcCgnZmFzdCcpOworJG5vZGVfcHVibGlz aGVyLT5zdG9wKCdmYXN0Jyk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IGY0MWVmMGQu LjI4MTU0YTMgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0Cisr KyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0xOTQ1LDYgKzE5NDUsOCBA QCBQZ1N0YXRfTXNnUmVzZXRzbHJ1Y291bnRlcgogUGdTdGF0X01zZ1NMUlUKIFBnU3RhdF9Nc2dT dWJzY3JpcHRpb25QdXJnZQogUGdTdGF0X01zZ1N1YldvcmtlckVycm9yCitQZ1N0YXRfTXNnU3Vi V29ya2VyVHdvcGhhc2VYYWN0CitQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZAogUGdTdGF0X01z Z1RhYnB1cmdlCiBQZ1N0YXRfTXNnVGFic3RhdAogUGdTdGF0X01zZ1RlbXBGaWxlCkBAIC0xOTU4 LDYgKzE5NjAsOCBAQCBQZ1N0YXRfU3RhdEZ1bmNFbnRyeQogUGdTdGF0X1N0YXRSZXBsU2xvdEVu dHJ5CiBQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5CiBQZ1N0YXRfU3RhdFN1YldvcmtlcktleQor UGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5CitQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0S2V5CiBQ Z1N0YXRfU3RhdFRhYkVudHJ5CiBQZ1N0YXRfU3ViWGFjdFN0YXR1cwogUGdTdGF0X1RhYmxlQ291 bnRzCi0tIAoyLjIuMAoK --_004_TYCPR01MB8373533A5C24BDDA516DA7E1ED9B9TYCPR01MB8373jpnp_--