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 1mmxfP-0002mH-MQ for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Nov 2021 12:34:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mmxfO-0003eR-Mc for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Nov 2021 12:34:26 +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 1mmxfN-0003eD-KM for pgsql-hackers@lists.postgresql.org; Tue, 16 Nov 2021 12:34:26 +0000 Received: from esa18.fujitsucc.c3s2.iphmx.com ([216.71.158.38]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mmxfI-0007o6-UR for pgsql-hackers@lists.postgresql.org; Tue, 16 Nov 2021 12:34:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1637066061; x=1668602061; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=xk52ANI7l0+2YB2elr9uuMmPv8YGsPHEiIw6F5d+9Ds=; b=SaLcf9hDMoi0wFl0smfGGDq08mcyFRutxVK5Ofm2Mer4Zebtma446eEb xFSQKne/w6vKFhpTt2FS5CT3Y2z9uTz5I+mv/Ce06yAQk/+D+DEaGjWPi 3fH3PF+8r0DfhHBFeffUaIj0BkfH77nWB78yAb7OMErWal3cE6Xvoz9/H lvSIArlnezY5Qx6T5g6dZ9egBtVkP11x8oDnNSLDtqAwOlC2X1X1qogMa MufnlJma3C/6rOTRFl4x8spntG5t3MHIqFY6SW3USwQ3ZynkzibO3b3Rj 0coEcPUIWJlMOvhq7Lw/FUQbqD6t2UVzLtF7crxP+Fh4gms/BnydlGa9r g==; X-IronPort-AV: E=McAfee;i="6200,9189,10169"; a="44520015" X-IronPort-AV: E=Sophos;i="5.87,239,1631545200"; d="scan'208,223";a="44520015" Received: from mail-os0jpn01lp2106.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.106]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Nov 2021 21:34:15 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zaf5Rihdu8tZkwmUVlUaF+76CNi2GxQBj0g031NB+8yBkkM19CZ5zj7J8UexDVDJ7vxSKf7XUYay5kpcuwmmqqkrf70DaG+tQ5SfNOeQvFSzay6V58DC5xP5+hKJ8gVCqo3ofuyD1m1MLpjOVRQr81pTLgYknNXkLOuJZcCNyvyEGAFRm5TE2mX6c0en9GFU8uyCMwanCVyfHlnlJwGKmkxH9jkq/FghnzMzESrkO8NY4o6wqQgiQMrc7oikA4NEn6hfeSGTBVKqzZ8siyaMf/1g7yrRbNHflcUpLqHnTgK2kbmKVIL+ohHbCDakzd1ti6eQHKHKGRRFh2OcAzDcsA== 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=Ri927WQmL3tBut1+1dCsKIG103+hEKxy6T+QHiozKFw=; b=JRTpHq4hzGFaMLr0nnPaVMdqZseYfu/iMuJcQYad/++M6ASaFNz/8iAIpOd2g0uv0Bxl70uQaP33nAXOJP3UvUiiRFMg/huex6re7ldn3okbSiYkFkAsKJJNi8011WuEKe0wp0GN2fmUe3v92ARaecQ/UQ25EtKVwVKUMxX5H7uWRS737ZSb34kfpKbuogbvLO1AfZ24mxoiCzp/4d9DxpI8jishQO/OTOxENkiz7LWVynRTZgJmVgxIHWQBz6xaZstWsq5HO/sz48/Owi9bmOds5Lxb01wTLeO1d9WKtFjT9sD+zW/Sif2UBELPOehbBPnJbFS/XAiGKRLvQAS4oA== 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=Ri927WQmL3tBut1+1dCsKIG103+hEKxy6T+QHiozKFw=; b=I5Mgr5MsOnDg2ZspuOj2tT/8cgfXvMugnlwSF9wGyX9Fkxy0CSGD25GSlBoaAf81rmXEH63OOtILgAwXoxPfnoWujxC+YhFOJ86USMRIEatmyZE4ILdAXjQF2vW4cqrBVklGCRD1AW11xkJbFEZu8D5e4zPAr5LeP66pE/CnJc8= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by TYYPR01MB8093.jpnprd01.prod.outlook.com (2603:1096:400:f9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26; Tue, 16 Nov 2021 12:34:11 +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.4690.027; Tue, 16 Nov 2021 12:34:11 +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+sAAFx08QADMCznA= Date: Tue, 16 Nov 2021 12:34: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?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMTEtMTVUMDk6Mjc6?= =?utf-8?B?NDlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD0zMmQwMjQ4MS0zZmEzLTQxZDIt?= =?utf-8?B?YTQ4Yy0xOGYzOWE1YWE2ODA7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 63417d09-b2b8-49de-96b7-08d9a8fd6492 x-ms-traffictypediagnostic: TYYPR01MB8093: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1169; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XUfnX8TnvSV+FTbhtxJAOUgproOslQjiErIerwEOHK636z/6lX+z6UmHNfmecLjBQwAAvO9U+bprnQga2eNZY+uYNoc0Y9I9cSitt1jzHlWn6XLj7kXXHGVRkhSYTNc5M2pSxzJqCQzcsMxScZnJOcbgQwLArxfMBJGXkU2AtL6bXuVuehcIuLmKPzMfcOgLWZ0bTSseLttV9RVdirJB5bkTEH3fnrBmR8SoYjLUvRQudpvuwDazFe5/nBrL99DWx+ug9bDrSR+vDXlL9Ykp871A/Sm8NyUdgeRiLW4dl9yADKpZd82m64UZKGSzK/ElcnVFQAAlQwrQGA0Qrc984GuHzd2zEZdT/XESsk7TMWGivzge6CfDnHFpx5Fxv5iLu1qfQCGV1ECxDL/bNk4h/tqAzD26XLPV2GZlxk8VQO/fNCgcLaf5OsLxwo2Rfa1CUg/Fv4FlzB3e65Tp5nHR9paNU8jf+jgfry7Ml7MX7YLw5U/G4YzFwxVJzFuCV/yUa8EaNJ534mBnycs0772iRkgQQvl0sQx5FL924M99ql5/TpoQ3al59jyMW1aat5YSfE0hkDOgxyo+DTULA5DIOdLOIMbgsDgIWNEy9bhqXbqKR/MsTkZhRWS+yjkCB87Zk/GDhlAobbFNnLxWhSqSoXjsL9uzewBjQ7KymZh0dSQAWKvOCtYij2T4vdVLnfRWe1cKgapwjmacmJJNldTxmk8Rg5GOhYZjIQgUW2zFwFRGYIfDcWZH4HN6hWRZZFCAkArg0NaMtq8My2cgg5tcGJChcMNt27va52LUTaF8O2Q= 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)(8676002)(85182001)(186003)(38070700005)(52536014)(83380400001)(966005)(71200400001)(6916009)(2906002)(66556008)(66446008)(508600001)(64756008)(33656002)(4744005)(82960400001)(99936003)(9686003)(66476007)(316002)(66946007)(8936002)(86362001)(55016002)(76116006)(4326008)(7696005)(5660300002)(54906003)(6506007)(38100700002)(53546011)(122000001)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MDNtV0ZGZmdWMU9EVlYzenlFcFNFNU0wb21iRm56MnJ3L2hZS2pzeVUvWGxN?= =?utf-8?B?bWJVeVZyaFZUZkt6YmhjTzF4cnRoMG9aTDdBalFDM1Qwa1lRcU9kK3ZMVkw5?= =?utf-8?B?OE56cGduc09jOG1NeTZxQVBrRlZXZzJ5OG5rRVdQZVY2WVZxMWRCZmdTdmVX?= =?utf-8?B?S05sTmNLQ2NHYlovb042NCsyZGFyMjNMb0tJVTdCQ0ZmTTFXVWkzMDZYM1Bs?= =?utf-8?B?aDd6MHZhQ0NYZlNPZzNhcXVaN0E2VVBhdlE0K2xrY0FsZ2VVYjRCZEM5aS9m?= =?utf-8?B?R25MeUVSR2tPSDFOMEVINTN1UERhcjEzU1Q3dndhbm45TXpXOHQvR2ptMVlM?= =?utf-8?B?RHEzOXBXemFCN0dncnBkeE5Nb0xDM2FLZlI3NkFmRDlVV2pzUVg1QTFpeVR0?= =?utf-8?B?TGlmSTdlRS8zbjJES0NmcURSTXVXYlFYSTJVNTNlVjFXcW45cC9vYmhVaEtP?= =?utf-8?B?Y3BRWkM4aFVDNjRjMEk1YmE4eWtra2EvbDVvK0xnTVhoOVVMaVVKNlF0QWwx?= =?utf-8?B?NDRaUkx5bVRhSFVpSHl2WHJNVVZxTVpGcTJNVWVZd0lBSHduaENZVEE0Mk9V?= =?utf-8?B?and3T0tDRWErVUdJdDVxYWtTTmZTbHI3SisvQVpvZFlHYmtvL05Ga256ay9p?= =?utf-8?B?akFIMjhOL1RCZkpnOUhiQ2ZJUTkvUTkyTFZmZFZpMGhEOFAxSUpWd0JpRWNG?= =?utf-8?B?MDluYzByYWJQdTErYmlRaGpENFFTc0RUT1doRlVFcWVJa0RYOEx3anE2cm1a?= =?utf-8?B?UzA5TXlNZjRUTVF5S0pNSFhkRWxGRGNwNHdGVTdCUGN5emtUY3ppemk2M2gr?= =?utf-8?B?YkhXOXc4eXdIcFh3QjlLTWwxRG1UcVNvakhMNjdHTDdkVnVKbGtidWdUZ08v?= =?utf-8?B?VXExVElzSEpyVy9GRUw3dTBYTzRPTHZrcG9Pem0rWS9vVFQ4UlFKTDZ1Z3dF?= =?utf-8?B?OUppelVJeTA4dkRsMmZNaWlaMUxLdzh3RldiRzN2SWNTVGtGdFlTNXhrVm9J?= =?utf-8?B?Y2Z0d0t1YmhQWVhHMjI3cGtVUnBDM0NoNTIwVVEvKzl6dzE3WUNPWHFvQmRC?= =?utf-8?B?dmtIbUdxV21hd1kxWUZCQjh6a0FMZk54Y1V0MS9VTW9uRTE2U0pzLy9zUDhI?= =?utf-8?B?dmRkb00zb0dSRTI0NFF0a25BbE5MZ25tcDVOSWZMaU9Vb2NuN243NXlIcU1v?= =?utf-8?B?T0dBbERsdkpvdDFvZnpBamRnS2RTemRLd3FxZXFhUEtSUnAvai85ZCtFODM0?= =?utf-8?B?NzY1TFNYUkRZaW1XYlFGNllVbSt0bjAxc05ZZ1VUK2J4ZkZ2cTJkQXl4LzVl?= =?utf-8?B?bXYzc1lyUnAxNnVKSnFqbkRJZWx1UnhaZ2ZDWDhkbFJER0I1a2s1Q05LMnhr?= =?utf-8?B?QURLQ0RkT3lBanFRMXY2dDZ5MmlMZkVMVEUvRXRDdHV5R0RRSG9FSW5Ud2tE?= =?utf-8?B?Y0I4NHFUVXk5TG5mS1ZsaHBMU2w4VThNNW8zVkRWZEw4RVpLRndqY1IvYXVy?= =?utf-8?B?eXNRaHppK0tiTmJ1NWRNeDlkV2FVTld0ZWt6WUR4RndXR0VvSkpsRGZvYmtR?= =?utf-8?B?ZkVnYlVSQVl3SDE3bkcrUVNhcXVic0RnQXhBQ05qZVRDa0N3NitDTXNrUUMv?= =?utf-8?B?bTNUSGl0Q3JHa29mSExjMDVtVWRJODJKaFRaT2lpZ0R3YlhwWjZ6VDJRUCs4?= =?utf-8?B?T2U3TEJFVUhTdk5jQTZCNllTSW1QR2lVRkVUUUhJTU4yVWZtNEduUndsNW9E?= =?utf-8?B?ek5sMjBDTFd4dElxYlhjeC9TQmJiQ3oyNEhIU2J2bkhnb3VycHB2Nm1YMDZQ?= =?utf-8?B?ZHN3czgvMm5nU2FLRStTMWVIZ3dWSkxyWHdIZTZSdTJRQXBDZm9YbnRJWlo1?= =?utf-8?B?ZVpmemZLSW83MWJyeDQ4NzZpTWZ0Y3RpWkRBNHVMazdWbzduQVNZbHVKV2Zo?= =?utf-8?B?cTNpRUJINy8rTmdvYWQxVzllYUd5Qnl0ZzV2R3Z1VndzVVZGbThxUTJHbFgw?= =?utf-8?B?dkxFcFhPMVd5TGV0YU1zcVV3TmlkNnZHamtoczNiemM1ZDhtNHExVEZGL0tH?= =?utf-8?B?a2xROGhRbEt2YjhvVm40TTBPZG02cGdyWDJGNW1sd0hTOFJDalBnUjJFMldO?= =?utf-8?B?MEFwNU5lcDl1QVp5U0dSdWo2bHhJRW8zd0ltL0IrVmQ0V0I5ZSt3eitQZFE2?= =?utf-8?B?TVVTVERaajMzaWlEem1jYSt6anF0WGRNbko2UnhNeEpXZWpZL2N1NGV3c1lJ?= =?utf-8?B?Y2FvQm5KS0pieG5pM3M0TktQL1NBPT0=?= Content-Type: multipart/mixed; boundary="_003_TYCPR01MB8373CFDCD60CCDB1C35CFA45ED999TYCPR01MB8373jpnp_" 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: 63417d09-b2b8-49de-96b7-08d9a8fd6492 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2021 12:34:11.6200 (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: QL+MzLp0015B8DGI/g002NrL99JzqN/EeLHTYlJ94F7hTvLQ3nI9pY35yC9tlxboGp32zo9zBJhpTKzKyEQgi0woxqoB+gvvZTX9Ge/Fcds= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYPR01MB8093 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_TYCPR01MB8373CFDCD60CCDB1C35CFA45ED999TYCPR01MB8373jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gTW9uZGF5LCBOb3ZlbWJlciAxNSwgMjAyMSA5OjE0IFBNIEkgd3JvdGU6DQo+IEkndmUgY29u ZHVjdGVkIHNvbWUgdXBkYXRlIGZvciB0aGlzLg0KPiAoVGhlIHJlYmFzZWQgcGFydCBpcyBvbmx5 IEMgY29kZSBhbmQgY2hlY2tlZCBieSBwZ2luZGVudCkNCkknbGwgdXBkYXRlIG15IHBhdGNoZXMg c2luY2UgYSBuZXcgc2tpcCB4aWQgcGF0Y2gNCmhhcyBiZWVuIHNoYXJlZCBpbiBbMV0uDQoNClRo aXMgdmVyc2lvbiBpbmNsdWRlcyBzb21lIG1pbm9yIHJlbmFtZXMgb2YgZnVuY3Rpb25zDQp0aGF0 IGFyZSByZWxhdGVkIHRvIHRyYW5zYWN0aW9uIHNpemVzLg0KDQpbMV0gLSBodHRwczovL3d3dy5w b3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0NBRDIxQW9BNWp1cE02TyUzRHBZc3lmYXhRMWFNWC1l bjglM0RRTmdwVzZLZlhzZzdfQ1MwQ1ElNDBtYWlsLmdtYWlsLmNvbQ0KDQpCZXN0IFJlZ2FyZHMs DQoJVGFrYW1pY2hpIE9zdW1pDQoNCg== --_003_TYCPR01MB8373CFDCD60CCDB1C35CFA45ED999TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v12-0001-Rename-existing-columns-of-pg_stat_subscription_.patch" Content-Description: v12-0001-Rename-existing-columns-of-pg_stat_subscription_.patch Content-Disposition: attachment; filename="v12-0001-Rename-existing-columns-of-pg_stat_subscription_.patch"; size=15734; creation-date="Tue, 16 Nov 2021 12:33:19 GMT"; modification-date="Tue, 16 Nov 2021 12:33:19 GMT" Content-Transfer-Encoding: base64 RnJvbSBjZWFkYTRkMGZlOWFkNTM2NzQxYTg3Yzc2NTE3MTI5M2MzZmE4ZjM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogTW9uLCAxNSBOb3YgMjAyMSAwODo0NTo1NSArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjEyIDEvMl0gUmVuYW1lIGV4aXN0aW5nIGNvbHVtbnMgb2YKIHBnX3N0YXRfc3Vic2Ny aXB0aW9uX3dvcmtlcnMgYW5kIGV4cG9ydCBQYXJ0aXRpb25UdXBsZVJvdXRpbmcKCi0tLQogZG9j L3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAgICAgICAgICB8IDI0ICsrKysrLS0tLS0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgfCAxMCArKy0tLQog c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jICAgICAgICB8IDcwIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyAgICAgICAgIHwgMjAgKysrKy0tLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 ICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24u aCAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgIHwgMTIgKystLS0KIHNyYy90ZXN0L3N1YnNj cmlwdGlvbi90LzAyNl9lcnJvcl9yZXBvcnQucGwgfCAgOCArKy0tCiA4IGZpbGVzIGNoYW5nZWQs IDEwNyBpbnNlcnRpb25zKCspLCAxMDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL21vbml0b3Jpbmcuc2dtbCBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKaW5k ZXggZGFmOWZlOC4uNWIxMGQxOCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCkBAIC0zMTAzLDMxICszMTAz LDMxIEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0 YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+Ci0gICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90 eXBlPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5sYXN0X2Vycm9yX3JlbGlkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+b2lkPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAgICAgT0lE IG9mIHRoZSByZWxhdGlvbiB0aGF0IHRoZSB3b3JrZXIgd2FzIHByb2Nlc3Npbmcgd2hlbiB0aGUK LSAgICAgICBlcnJvciBvY2N1cnJlZAorICAgICAgIGxhc3QgZXJyb3Igb2NjdXJyZWQKICAgICAg IDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8cm93PgogICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KLSAgICAgICA8c3RydWN0ZmllbGQ+Y29tbWFuZDwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8 L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfY29tbWFuZDwvc3RydWN0Zmll bGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KLSAgICAg ICBOYW1lIG9mIGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRoZSBlcnJvciBvY2N1cnJlZC4g IFRoaXMgZmllbGQKLSAgICAgICBpcyBhbHdheXMgTlVMTCBpZiB0aGUgZXJyb3Igd2FzIHJlcG9y dGVkIGR1cmluZyB0aGUgaW5pdGlhbCBkYXRhCi0gICAgICAgY29weS4KKyAgICAgICBOYW1lIG9m IHRoZSBsYXN0IGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRoZSBlcnJvciBvY2N1cnJlZC4K KyAgICAgICBUaGlzIGZpZWxkIGlzIGFsd2F5cyBOVUxMIGlmIHRoZSBlcnJvciB3YXMgcmVwb3J0 ZWQgZHVyaW5nIHRoZQorICAgICAgIGluaXRpYWwgZGF0YSBjb3B5LgogICAgICAgPC9wYXJhPjwv ZW50cnk+CiAgICAgIDwvcm93PgogCiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgotICAgICAg IDxzdHJ1Y3RmaWVsZD54aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT54aWQ8L3R5cGU+CisgICAgICAg PHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfeGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+eGlkPC90eXBl PgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+Ci0gICAgICAgVHJhbnNhY3Rpb24gSUQgb2Yg dGhlIHB1Ymxpc2hlciBub2RlIGJlaW5nIGFwcGxpZWQgd2hlbiB0aGUgZXJyb3IKKyAgICAgICBU cmFuc2FjdGlvbiBJRCBvZiB0aGUgcHVibGlzaGVyIG5vZGUgYmVpbmcgYXBwbGllZCB3aGVuIHRo ZSBsYXN0IGVycm9yCiAgICAgICAgb2NjdXJyZWQuICBUaGlzIGZpZWxkIGlzIGFsd2F5cyBOVUxM IGlmIHRoZSBlcnJvciB3YXMgcmVwb3J0ZWQKICAgICAgICBkdXJpbmcgdGhlIGluaXRpYWwgZGF0 YSBjb3B5LgogICAgICAgPC9wYXJhPjwvZW50cnk+CkBAIC0zMTM1LDE5ICszMTM1LDE5IEBAIFNF TEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZp dHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Ci0gICAg ICAgPHN0cnVjdGZpZWxkPmVycm9yX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dWludDg8L3R5 cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfY291bnQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT51aW50ODwvdHlwZT4KICAgICAgIDwvcGFyYT4KICAgICAgIDxwYXJhPgotICAgICAgIE51 bWJlciBvZiBjb25zZWN1dGl2ZSB0aW1lcyB0aGUgZXJyb3Igb2NjdXJyZWQKKyAgICAgICBOdW1i ZXIgb2YgY29uc2VjdXRpdmUgdGltZXMgdGhlIGxhc3QgZXJyb3Igb2NjdXJyZWQKICAgICAgIDwv cGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K LSAgICAgICA8c3RydWN0ZmllbGQ+ZXJyb3JfbWVzc2FnZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRl eHQ8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfbWVzc2FnZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KLSAg ICAgICBUaGUgZXJyb3IgbWVzc2FnZQorICAgICAgIFRoZSBsYXN0IGVycm9yIG1lc3NhZ2UKICAg ICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsCmluZGV4IGNiMmY3N2MuLmVjZjFhMGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwKQEAgLTEyNjcsMTEgKzEyNjcsMTEgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9z dWJzY3JpcHRpb25fd29ya2VycyBBUwogICAgICAgICB3LnN1YmlkLAogICAgICAgICBzLnN1Ym5h bWUsCiAgICAgICAgIHcuc3VicmVsaWQsCi0gICAgICAgIHcucmVsaWQsCi0gICAgICAgIHcuY29t bWFuZCwKLSAgICAgICAgdy54aWQsCi0gICAgICAgIHcuZXJyb3JfY291bnQsCi0gICAgICAgIHcu ZXJyb3JfbWVzc2FnZSwKKyAgICAgICAgdy5sYXN0X2Vycm9yX3JlbGlkLAorICAgICAgICB3Lmxh c3RfZXJyb3JfY29tbWFuZCwKKyAgICAgICAgdy5sYXN0X2Vycm9yX3hpZCwKKyAgICAgICAgdy5s YXN0X2Vycm9yX2NvdW50LAorICAgICAgICB3Lmxhc3RfZXJyb3JfbWVzc2FnZSwKICAgICAgICAg dy5maXJzdF9lcnJvcl90aW1lLAogICAgICAgICB3Lmxhc3RfZXJyb3JfdGltZQogICAgIEZST00g KFNFTEVDVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCmluZGV4IDVjNzIzYmMuLjI0 NjdmNGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uYwor KysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0aW9uLmMKQEAgLTM0LDc2ICszNCw2 IEBACiAjaW5jbHVkZSAidXRpbHMvcmxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcnVsZXV0aWxzLmgi CiAKLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogUGFydGl0aW9uVHVwbGVSb3V0aW5n IC0gRW5jYXBzdWxhdGVzIGFsbCBpbmZvcm1hdGlvbiByZXF1aXJlZCB0bwotICogcm91dGUgYSB0 dXBsZSBpbnNlcnRlZCBpbnRvIGEgcGFydGl0aW9uZWQgdGFibGUgdG8gb25lIG9mIGl0cyBsZWFm Ci0gKiBwYXJ0aXRpb25zLgotICoKLSAqIHBhcnRpdGlvbl9yb290Ci0gKgkJVGhlIHBhcnRpdGlv bmVkIHRhYmxlIHRoYXQncyB0aGUgdGFyZ2V0IG9mIHRoZSBjb21tYW5kLgotICoKLSAqIHBhcnRp dGlvbl9kaXNwYXRjaF9pbmZvCi0gKgkJQXJyYXkgb2YgJ21heF9kaXNwYXRjaCcgZWxlbWVudHMg Y29udGFpbmluZyBhIHBvaW50ZXIgdG8gYQotICoJCVBhcnRpdGlvbkRpc3BhdGNoIG9iamVjdCBm b3IgZXZlcnkgcGFydGl0aW9uZWQgdGFibGUgdG91Y2hlZCBieSB0dXBsZQotICoJCXJvdXRpbmcu ICBUaGUgZW50cnkgZm9yIHRoZSB0YXJnZXQgcGFydGl0aW9uZWQgdGFibGUgaXMgKmFsd2F5cyoK LSAqCQlwcmVzZW50IGluIHRoZSAwdGggZWxlbWVudCBvZiB0aGlzIGFycmF5LiAgU2VlIGNvbW1l bnQgZm9yCi0gKgkJUGFydGl0aW9uRGlzcGF0Y2hEYXRhLT5pbmRleGVzIGZvciBkZXRhaWxzIG9u IGhvdyB0aGlzIGFycmF5IGlzCi0gKgkJaW5kZXhlZC4KLSAqCi0gKiBub25sZWFmX3BhcnRpdGlv bnMKLSAqCQlBcnJheSBvZiAnbWF4X2Rpc3BhdGNoJyBlbGVtZW50cyBjb250YWluaW5nIHBvaW50 ZXJzIHRvIGZha2UKLSAqCQlSZXN1bHRSZWxJbmZvIG9iamVjdHMgZm9yIG5vbmxlYWYgcGFydGl0 aW9ucywgdXNlZnVsIGZvciBjaGVja2luZwotICoJCXRoZSBwYXJ0aXRpb24gY29uc3RyYWludC4K LSAqCi0gKiBudW1fZGlzcGF0Y2gKLSAqCQlUaGUgY3VycmVudCBudW1iZXIgb2YgaXRlbXMgc3Rv cmVkIGluIHRoZSAncGFydGl0aW9uX2Rpc3BhdGNoX2luZm8nCi0gKgkJYXJyYXkuICBBbHNvIHNl cnZlcyBhcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJlZSBhcnJheSBlbGVtZW50IGZvcgotICoJ CW5ldyBQYXJ0aXRpb25EaXNwYXRjaCBvYmplY3RzIHRoYXQgbmVlZCB0byBiZSBzdG9yZWQuCi0g KgotICogbWF4X2Rpc3BhdGNoCi0gKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25fZGlzcGF0Y2hfaW5mbycgYXJyYXkuCi0gKgotICogcGFydGl0aW9ucwotICoJ CUFycmF5IG9mICdtYXhfcGFydGl0aW9ucycgZWxlbWVudHMgY29udGFpbmluZyBhIHBvaW50ZXIg dG8gYQotICoJCVJlc3VsdFJlbEluZm8gZm9yIGV2ZXJ5IGxlYWYgcGFydGl0aW9uIHRvdWNoZWQg YnkgdHVwbGUgcm91dGluZy4KLSAqCQlTb21lIG9mIHRoZXNlIGFyZSBwb2ludGVycyB0byBSZXN1 bHRSZWxJbmZvcyB3aGljaCBhcmUgYm9ycm93ZWQgb3V0IG9mCi0gKgkJdGhlIG93bmluZyBNb2Rp ZnlUYWJsZVN0YXRlIG5vZGUuICBUaGUgcmVtYWluZGVyIGhhdmUgYmVlbiBidWlsdAotICoJCWVz cGVjaWFsbHkgZm9yIHR1cGxlIHJvdXRpbmcuICBTZWUgY29tbWVudCBmb3IKLSAqCQlQYXJ0aXRp b25EaXNwYXRjaERhdGEtPmluZGV4ZXMgZm9yIGRldGFpbHMgb24gaG93IHRoaXMgYXJyYXkgaXMK LSAqCQlpbmRleGVkLgotICoKLSAqIGlzX2JvcnJvd2VkX3JlbAotICoJCUFycmF5IG9mICdtYXhf cGFydGl0aW9ucycgYm9vbGVhbnMgcmVjb3JkaW5nIHdoZXRoZXIgYSBnaXZlbiBlbnRyeQotICoJ CWluICdwYXJ0aXRpb25zJyBpcyBhIFJlc3VsdFJlbEluZm8gcG9pbnRlciBib3Jyb3dlZCBmcm9t IHRoZSBvd25pbmcKLSAqCQlNb2RpZnlUYWJsZVN0YXRlIG5vZGUsIHJhdGhlciB0aGFuIGJlaW5n IGJ1aWx0IGhlcmUuCi0gKgotICogbnVtX3BhcnRpdGlvbnMKLSAqCQlUaGUgY3VycmVudCBudW1i ZXIgb2YgaXRlbXMgc3RvcmVkIGluIHRoZSAncGFydGl0aW9ucycgYXJyYXkuICBBbHNvCi0gKgkJ c2VydmVzIGFzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVlIGFycmF5IGVsZW1lbnQgZm9yIG5l dwotICoJCVJlc3VsdFJlbEluZm8gb2JqZWN0cyB0aGF0IG5lZWQgdG8gYmUgc3RvcmVkLgotICoK LSAqIG1heF9wYXJ0aXRpb25zCi0gKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25zJyBhcnJheS4KLSAqCi0gKiBtZW1jeHQKLSAqCQlNZW1vcnkgY29udGV4dCB1 c2VkIHRvIGFsbG9jYXRlIHN1YnNpZGlhcnkgc3RydWN0cy4KLSAqLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KLSAqLwotc3RydWN0IFBhcnRpdGlvblR1cGxlUm91dGluZwotewotCVJlbGF0aW9uCXBh cnRpdGlvbl9yb290OwotCVBhcnRpdGlvbkRpc3BhdGNoICpwYXJ0aXRpb25fZGlzcGF0Y2hfaW5m bzsKLQlSZXN1bHRSZWxJbmZvICoqbm9ubGVhZl9wYXJ0aXRpb25zOwotCWludAkJCW51bV9kaXNw YXRjaDsKLQlpbnQJCQltYXhfZGlzcGF0Y2g7Ci0JUmVzdWx0UmVsSW5mbyAqKnBhcnRpdGlvbnM7 Ci0JYm9vbAkgICAqaXNfYm9ycm93ZWRfcmVsOwotCWludAkJCW51bV9wYXJ0aXRpb25zOwotCWlu dAkJCW1heF9wYXJ0aXRpb25zOwotCU1lbW9yeUNvbnRleHQgbWVtY3h0OwotfTsKLQogLyotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICogUGFydGl0aW9uRGlzcGF0Y2ggLSBpbmZvcm1hdGlvbiBh Ym91dCBvbmUgcGFydGl0aW9uZWQgdGFibGUgaW4gYSBwYXJ0aXRpb24KICAqIGhpZXJhcmNoeSBy ZXF1aXJlZCB0byByb3V0ZSBhIHR1cGxlIHRvIGFueSBvZiBpdHMgcGFydGl0aW9ucy4gIEEKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggYjE5NzI5ZC4uYTM0YzBiNiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTI0NDEsMTUgKzI0NDEsMTUgQEAgcGdfc3Rh dF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcihQR19GVU5DVElPTl9BUkdTKQogCQkJCQkgICBPSURP SUQsIC0xLCAwKTsKIAlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDIs ICJzdWJyZWxpZCIsCiAJCQkJCSAgIE9JRE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMywgInJlbGlkIiwKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpIDMsICJsYXN0X2Vycm9yX3JlbGlkIiwKIAkJCQkJICAgT0lE T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0 LCAiY29tbWFuZCIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0 LCAibGFzdF9lcnJvcl9jb21tYW5kIiwKIAkJCQkJICAgVEVYVE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgNSwgInhpZCIsCisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA1LCAibGFzdF9lcnJvcl94aWQiLAogCQkJ CQkgICBYSURPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpIDYsICJlcnJvcl9jb3VudCIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSA2LCAibGFzdF9lcnJvcl9jb3VudCIsCiAJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJlcnJvcl9t ZXNzYWdlIiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJs YXN0X2Vycm9yX21lc3NhZ2UiLAogCQkJCQkgICBURVhUT0lELCAtMSwgMCk7CiAJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA4LCAiZmlyc3RfZXJyb3JfdGltZSIsCiAJ CQkJCSAgIFRJTUVTVEFNUFRaT0lELCAtMSwgMCk7CkBAIC0yNDcxLDI4ICsyNDcxLDI4IEBAIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXIoUEdfRlVOQ1RJT05fQVJHUykKIAllbHNlCiAJ CW51bGxzW2krK10gPSB0cnVlOwogCi0JLyogcmVsaWQgKi8KKwkvKiBsYXN0X2Vycm9yX3JlbGlk ICovCiAJaWYgKE9pZElzVmFsaWQod2VudHJ5LT5yZWxpZCkpCiAJCXZhbHVlc1tpKytdID0gT2Jq ZWN0SWRHZXREYXR1bSh3ZW50cnktPnJlbGlkKTsKIAllbHNlCiAJCW51bGxzW2krK10gPSB0cnVl OwogCi0JLyogY29tbWFuZCAqLworCS8qIGxhc3RfZXJyb3JfY29tbWFuZCAqLwogCWlmICh3ZW50 cnktPmNvbW1hbmQgIT0gMCkKIAkJdmFsdWVzW2krK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKGxv Z2ljYWxyZXBfbWVzc2FnZV90eXBlKHdlbnRyeS0+Y29tbWFuZCkpOwogCWVsc2UKIAkJbnVsbHNb aSsrXSA9IHRydWU7CiAKLQkvKiB4aWQgKi8KKwkvKiBsYXN0X2Vycm9yX3hpZCAqLwogCWlmIChU cmFuc2FjdGlvbklkSXNWYWxpZCh3ZW50cnktPnhpZCkpCiAJCXZhbHVlc1tpKytdID0gVHJhbnNh Y3Rpb25JZEdldERhdHVtKHdlbnRyeS0+eGlkKTsKIAllbHNlCiAJCW51bGxzW2krK10gPSB0cnVl OwogCi0JLyogZXJyb3JfY291bnQgKi8KKwkvKiBsYXN0X2Vycm9yX2NvdW50ICovCiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKHdlbnRyeS0+ZXJyb3JfY291bnQpOwogCi0JLyogZXJyb3Jf bWVzc2FnZSAqLworCS8qIGxhc3RfZXJyb3JfbWVzc2FnZSAqLwogCXZhbHVlc1tpKytdID0gQ1N0 cmluZ0dldFRleHREYXR1bSh3ZW50cnktPmVycm9yX21lc3NhZ2UpOwogCiAJLyogZmlyc3RfZXJy b3JfdGltZSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNTBlMWM3Yi4uMjVmNjg1ZiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01MzkxLDcgKzUzOTEsNyBAQAogICBwcm9yZXR0 eXBlID0+ICdyZWNvcmQnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCiAgIHByb2FsbGFyZ3R5 cGVzID0+ICd7b2lkLG9pZCxvaWQsb2lkLG9pZCx0ZXh0LHhpZCxpbnQ4LHRleHQsdGltZXN0YW1w dHosdGltZXN0YW1wdHp9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxv LG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxy ZWxpZCxjb21tYW5kLHhpZCxlcnJvcl9jb3VudCxlcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9yX3Rp bWUsbGFzdF9lcnJvcl90aW1lfScsCisgIHByb2FyZ25hbWVzID0+ICd7c3ViaWQsc3VicmVsaWQs c3ViaWQsc3VicmVsaWQsbGFzdF9lcnJvcl9yZWxpZCxsYXN0X2Vycm9yX2NvbW1hbmQsbGFzdF9l cnJvcl94aWQsbGFzdF9lcnJvcl9jb3VudCxsYXN0X2Vycm9yX21lc3NhZ2UsZmlyc3RfZXJyb3Jf dGltZSxsYXN0X2Vycm9yX3RpbWV9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25fd29ya2VyJyB9LAogeyBvaWQgPT4gJzYxMTgnLCBkZXNjciA9PiAnc3RhdGlzdGljczog aW5mb3JtYXRpb24gYWJvdXQgc3Vic2NyaXB0aW9uJywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uJywgcHJvcm93cyA9PiAnMTAnLCBwcm9pc3N0cmljdCA9PiAnZicsCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmggYi9zcmMvaW5j bHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKaW5kZXggNjk0ZTM4Yi4uNGM3OTZhYiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5oCisrKyBiL3NyYy9p bmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaApAQCAtMTEwLDYgKzExMCw3NSBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJ0aXRpb25QcnVuZVN0YXRlCiAJUGFydGl0aW9uUHJ1bmluZ0RhdGEgKnBh cnRwcnVuZWRhdGFbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTsKIH0gUGFydGl0aW9uUHJ1bmVTdGF0 ZTsKIAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUGFydGl0aW9uVHVwbGVSb3V0aW5n IC0gRW5jYXBzdWxhdGVzIGFsbCBpbmZvcm1hdGlvbiByZXF1aXJlZCB0bworICogcm91dGUgYSB0 dXBsZSBpbnNlcnRlZCBpbnRvIGEgcGFydGl0aW9uZWQgdGFibGUgdG8gb25lIG9mIGl0cyBsZWFm CisgKiBwYXJ0aXRpb25zLgorICoKKyAqIHBhcnRpdGlvbl9yb290CisgKgkJVGhlIHBhcnRpdGlv bmVkIHRhYmxlIHRoYXQncyB0aGUgdGFyZ2V0IG9mIHRoZSBjb21tYW5kLgorICoKKyAqIHBhcnRp dGlvbl9kaXNwYXRjaF9pbmZvCisgKgkJQXJyYXkgb2YgJ21heF9kaXNwYXRjaCcgZWxlbWVudHMg Y29udGFpbmluZyBhIHBvaW50ZXIgdG8gYQorICoJCVBhcnRpdGlvbkRpc3BhdGNoIG9iamVjdCBm b3IgZXZlcnkgcGFydGl0aW9uZWQgdGFibGUgdG91Y2hlZCBieSB0dXBsZQorICoJCXJvdXRpbmcu ICBUaGUgZW50cnkgZm9yIHRoZSB0YXJnZXQgcGFydGl0aW9uZWQgdGFibGUgaXMgKmFsd2F5cyoK KyAqCQlwcmVzZW50IGluIHRoZSAwdGggZWxlbWVudCBvZiB0aGlzIGFycmF5LiAgU2VlIGNvbW1l bnQgZm9yCisgKgkJUGFydGl0aW9uRGlzcGF0Y2hEYXRhLT5pbmRleGVzIGZvciBkZXRhaWxzIG9u IGhvdyB0aGlzIGFycmF5IGlzCisgKgkJaW5kZXhlZC4KKyAqCisgKiBub25sZWFmX3BhcnRpdGlv bnMKKyAqCQlBcnJheSBvZiAnbWF4X2Rpc3BhdGNoJyBlbGVtZW50cyBjb250YWluaW5nIHBvaW50 ZXJzIHRvIGZha2UKKyAqCQlSZXN1bHRSZWxJbmZvIG9iamVjdHMgZm9yIG5vbmxlYWYgcGFydGl0 aW9ucywgdXNlZnVsIGZvciBjaGVja2luZworICoJCXRoZSBwYXJ0aXRpb24gY29uc3RyYWludC4K KyAqCisgKiBudW1fZGlzcGF0Y2gKKyAqCQlUaGUgY3VycmVudCBudW1iZXIgb2YgaXRlbXMgc3Rv cmVkIGluIHRoZSAncGFydGl0aW9uX2Rpc3BhdGNoX2luZm8nCisgKgkJYXJyYXkuICBBbHNvIHNl cnZlcyBhcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJlZSBhcnJheSBlbGVtZW50IGZvcgorICoJ CW5ldyBQYXJ0aXRpb25EaXNwYXRjaCBvYmplY3RzIHRoYXQgbmVlZCB0byBiZSBzdG9yZWQuCisg KgorICogbWF4X2Rpc3BhdGNoCisgKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25fZGlzcGF0Y2hfaW5mbycgYXJyYXkuCisgKgorICogcGFydGl0aW9ucworICoJ CUFycmF5IG9mICdtYXhfcGFydGl0aW9ucycgZWxlbWVudHMgY29udGFpbmluZyBhIHBvaW50ZXIg dG8gYQorICoJCVJlc3VsdFJlbEluZm8gZm9yIGV2ZXJ5IGxlYWYgcGFydGl0aW9uIHRvdWNoZWQg YnkgdHVwbGUgcm91dGluZy4KKyAqCQlTb21lIG9mIHRoZXNlIGFyZSBwb2ludGVycyB0byBSZXN1 bHRSZWxJbmZvcyB3aGljaCBhcmUgYm9ycm93ZWQgb3V0IG9mCisgKgkJdGhlIG93bmluZyBNb2Rp ZnlUYWJsZVN0YXRlIG5vZGUuICBUaGUgcmVtYWluZGVyIGhhdmUgYmVlbiBidWlsdAorICoJCWVz cGVjaWFsbHkgZm9yIHR1cGxlIHJvdXRpbmcuICBTZWUgY29tbWVudCBmb3IKKyAqCQlQYXJ0aXRp b25EaXNwYXRjaERhdGEtPmluZGV4ZXMgZm9yIGRldGFpbHMgb24gaG93IHRoaXMgYXJyYXkgaXMK KyAqCQlpbmRleGVkLgorICoKKyAqIGlzX2JvcnJvd2VkX3JlbAorICoJCUFycmF5IG9mICdtYXhf cGFydGl0aW9ucycgYm9vbGVhbnMgcmVjb3JkaW5nIHdoZXRoZXIgYSBnaXZlbiBlbnRyeQorICoJ CWluICdwYXJ0aXRpb25zJyBpcyBhIFJlc3VsdFJlbEluZm8gcG9pbnRlciBib3Jyb3dlZCBmcm9t IHRoZSBvd25pbmcKKyAqCQlNb2RpZnlUYWJsZVN0YXRlIG5vZGUsIHJhdGhlciB0aGFuIGJlaW5n IGJ1aWx0IGhlcmUuCisgKgorICogbnVtX3BhcnRpdGlvbnMKKyAqCQlUaGUgY3VycmVudCBudW1i ZXIgb2YgaXRlbXMgc3RvcmVkIGluIHRoZSAncGFydGl0aW9ucycgYXJyYXkuICBBbHNvCisgKgkJ c2VydmVzIGFzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVlIGFycmF5IGVsZW1lbnQgZm9yIG5l dworICoJCVJlc3VsdFJlbEluZm8gb2JqZWN0cyB0aGF0IG5lZWQgdG8gYmUgc3RvcmVkLgorICoK KyAqIG1heF9wYXJ0aXRpb25zCisgKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25zJyBhcnJheS4KKyAqCisgKiBtZW1jeHQKKyAqCQlNZW1vcnkgY29udGV4dCB1 c2VkIHRvIGFsbG9jYXRlIHN1YnNpZGlhcnkgc3RydWN0cy4KKyAqLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAqLworc3RydWN0IFBhcnRpdGlvblR1cGxlUm91dGluZworeworCVJlbGF0aW9uCXBh cnRpdGlvbl9yb290OworCVBhcnRpdGlvbkRpc3BhdGNoICpwYXJ0aXRpb25fZGlzcGF0Y2hfaW5m bzsKKwlSZXN1bHRSZWxJbmZvICoqbm9ubGVhZl9wYXJ0aXRpb25zOworCWludAkJCW51bV9kaXNw YXRjaDsKKwlpbnQJCQltYXhfZGlzcGF0Y2g7CisJUmVzdWx0UmVsSW5mbyAqKnBhcnRpdGlvbnM7 CisJYm9vbAkgICAqaXNfYm9ycm93ZWRfcmVsOworCWludAkJCW51bV9wYXJ0aXRpb25zOworCWlu dAkJCW1heF9wYXJ0aXRpb25zOworCU1lbW9yeUNvbnRleHQgbWVtY3h0OworfTsKKwogZXh0ZXJu IFBhcnRpdGlvblR1cGxlUm91dGluZyAqRXhlY1NldHVwUGFydGl0aW9uVHVwbGVSb3V0aW5nKEVT dGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJCQkJCQkJIFJlbGF0aW9uIHJlbCk7CiBleHRlcm4gUmVz dWx0UmVsSW5mbyAqRXhlY0ZpbmRQYXJ0aXRpb24oTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0ZSwK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggY2I2ZGEyYy4uZDYwYzVhNSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIwOTcsMTEgKzIwOTcsMTEgQEAgcGdf c3RhdF9zdWJzY3JpcHRpb258IFNFTEVDVCBzdS5vaWQgQVMgc3ViaWQsCiBwZ19zdGF0X3N1YnNj cmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICBzLnN1Ym5hbWUsCiAgICAgdy5z dWJyZWxpZCwKLSAgICB3LnJlbGlkLAotICAgIHcuY29tbWFuZCwKLSAgICB3LnhpZCwKLSAgICB3 LmVycm9yX2NvdW50LAotICAgIHcuZXJyb3JfbWVzc2FnZSwKKyAgICB3Lmxhc3RfZXJyb3JfcmVs aWQsCisgICAgdy5sYXN0X2Vycm9yX2NvbW1hbmQsCisgICAgdy5sYXN0X2Vycm9yX3hpZCwKKyAg ICB3Lmxhc3RfZXJyb3JfY291bnQsCisgICAgdy5sYXN0X2Vycm9yX21lc3NhZ2UsCiAgICAgdy5m aXJzdF9lcnJvcl90aW1lLAogICAgIHcubGFzdF9lcnJvcl90aW1lCiAgICBGUk9NICggU0VMRUNU IHBnX3N1YnNjcmlwdGlvbi5vaWQgQVMgc3ViaWQsCkBAIC0yMTEyLDcgKzIxMTIsNyBAQCBwZ19z dGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICAgICAgICAgIHBn X3N1YnNjcmlwdGlvbl9yZWwuc3JyZWxpZCBBUyByZWxpZAogICAgICAgICAgICBGUk9NIHBnX3N1 YnNjcmlwdGlvbl9yZWwKICAgICAgICAgICBXSEVSRSAocGdfc3Vic2NyaXB0aW9uX3JlbC5zcnN1 YnN0YXRlIDw+ICdyJzo6ImNoYXIiKSkgc3IsCi0gICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vi c2NyaXB0aW9uX3dvcmtlcihzci5zdWJpZCwgc3IucmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCBy ZWxpZCwgY29tbWFuZCwgeGlkLCBlcnJvcl9jb3VudCwgZXJyb3JfbWVzc2FnZSwgZmlyc3RfZXJy b3JfdGltZSwgbGFzdF9lcnJvcl90aW1lKQorICAgIChMQVRFUkFMIHBnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJlbGlkKSB3KHN1YmlkLCBzdWJyZWxpZCwgbGFz dF9lcnJvcl9yZWxpZCwgbGFzdF9lcnJvcl9jb21tYW5kLCBsYXN0X2Vycm9yX3hpZCwgbGFzdF9l cnJvcl9jb3VudCwgbGFzdF9lcnJvcl9tZXNzYWdlLCBmaXJzdF9lcnJvcl90aW1lLCBsYXN0X2Vy cm9yX3RpbWUpCiAgICAgIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gKCh3LnN1YmlkID0gcy5v aWQpKSk7CiBwZ19zdGF0X3N5c19pbmRleGVzfCBTRUxFQ1QgcGdfc3RhdF9hbGxfaW5kZXhlcy5y ZWxpZCwKICAgICBwZ19zdGF0X2FsbF9pbmRleGVzLmluZGV4cmVsaWQsCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsIGIvc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDI2X2Vycm9yX3JlcG9ydC5wbAppbmRleCAxMjI3NjU0Li5jYTMwYWIyIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsCisr KyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyNl9lcnJvcl9yZXBvcnQucGwKQEAgLTE1LDgg KzE1LDggQEAgc3ViIHRlc3Rfc3Vic2NyaXB0aW9uX2Vycm9yCiAKICAgICBteSAkY2hlY2tfc3Fs ID0gcXFbCiBTRUxFQ1QgY291bnQoMSkgPiAwIEZST00gcGdfc3RhdF9zdWJzY3JpcHRpb25fd29y a2VycwotV0hFUkUgcmVsaWQgPSAnJHJlbG5hbWUnOjpyZWdjbGFzc107Ci0gICAgJGNoZWNrX3Nx bCAuPSAiIEFORCB4aWQgPSAnJHhpZCc6OnhpZDsiIGlmICR4aWQgbmUgJyc7CitXSEVSRSBsYXN0 X2Vycm9yX3JlbGlkID0gJyRyZWxuYW1lJzo6cmVnY2xhc3NdOworICAgICRjaGVja19zcWwgLj0g IiBBTkQgbGFzdF9lcnJvcl94aWQgPSAnJHhpZCc6OnhpZDsiIGlmICR4aWQgbmUgJyc7CiAKICAg ICAjIFdhaXQgZm9yIHRoZSBlcnJvciBzdGF0aXN0aWNzIHRvIGJlIHVwZGF0ZWQuCiAgICAgJG5v ZGUtPnBvbGxfcXVlcnlfdW50aWwoCkBAIC0yNiw5ICsyNiw5IEBAIFdIRVJFIHJlbGlkID0gJyRy ZWxuYW1lJzo6cmVnY2xhc3NdOwogICAgIG15ICRyZXN1bHQgPSAkbm9kZS0+c2FmZV9wc3FsKAog CSdwb3N0Z3JlcycsCiAJcXFbCi1TRUxFQ1Qgc3VibmFtZSwgY29tbWFuZCwgcmVsaWQ6OnJlZ2Ns YXNzLCBlcnJvcl9jb3VudCA+IDAKK1NFTEVDVCBzdWJuYW1lLCBsYXN0X2Vycm9yX2NvbW1hbmQs IGxhc3RfZXJyb3JfcmVsaWQ6OnJlZ2NsYXNzLCBsYXN0X2Vycm9yX2NvdW50ID4gMAogRlJPTSBw Z19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzCi1XSEVSRSByZWxpZCA9ICckcmVsbmFtZSc6OnJl Z2NsYXNzOworV0hFUkUgbGFzdF9lcnJvcl9yZWxpZCA9ICckcmVsbmFtZSc6OnJlZ2NsYXNzOwog XSk7CiAgICAgaXMoJHJlc3VsdCwgJGV4cGVjdGVkX2Vycm9yLCAkbXNnKTsKIH0KLS0gCjIuMi4w Cgo= --_003_TYCPR01MB8373CFDCD60CCDB1C35CFA45ED999TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v12-0002-Extend-pg_stat_subscription_workers-to-include-g.patch" Content-Description: v12-0002-Extend-pg_stat_subscription_workers-to-include-g.patch Content-Disposition: attachment; filename="v12-0002-Extend-pg_stat_subscription_workers-to-include-g.patch"; size=54311; creation-date="Tue, 16 Nov 2021 12:33:19 GMT"; modification-date="Tue, 16 Nov 2021 12:33:19 GMT" Content-Transfer-Encoding: base64 RnJvbSA5ZTVhNGVkYTIzY2EyM2RjYzMzZjkwMTM5ZTExZGQyNzc2MTc2M2MxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogVHVlLCAxNiBOb3YgMjAyMSAxMjowMTo1NCArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjEyIDIvMl0gRXh0ZW5kIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgdG8gaW5j bHVkZQogZ2VuZXJhbCB0cmFuc2FjdGlvbiBzdGF0aXN0aWNzCgpDYXRlZ29yaXplIHRyYW5zYWN0 aW9ucyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHN1YnNjcmliZXIKaW50byB0aHJlZSB0eXBlcyAo Y29tbWl0LCBlcnJvciwgYWJvcnQpIGFuZCBpbnRyb2R1Y2UKY3VtdWxhdGl2ZSBjb2x1bW5zIG9m IHRob3NlIG51bWJlcnMgYW5kIGFtb3VudHMgb2YKY29uc3VtZWQgZGF0YSBkdXJpbmcgbWVzc2Fn ZSBhcHBseSByZXNwZWN0aXZlbHkuCgpUaGUgY2FsY3VsYXRpb24gb2YgY29uc3VtZWQgcmVzb3Vy Y2VzIGJ5IHN1YnNjcmliZXIncyBhcHBseQppcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgZGF0YSBz dHJ1Y3R1cmUgZm9yIG1lc3NhZ2UgYXBwbHkKYW5kIGV4dHJhIGRhdGEsIHdoaWNoIGlzIGRpZmZl cmVudCBmcm9tIHRoYXQgb2YgcHVibGlzaGVyJ3MKZGVjb2RpbmcgcHJvY2Vzc2luZy4gQXQgcHJl c2VudCwgdGhlcmUncyBubyBzcGVjaWFsIGNvbnNpZGVyYXRpb24KdG8gc3Bvb2wgZmlsZSBzdGF0 aXN0aWNzIHN1Y2ggYXMgYW1vdW50IG9mIGRhdGEgc3Bvb2xlZCB0byBkaXNrIG9yCml0cyBjb3Vu dC4gQnV0LCB0aGlzIGNhbiBiZSBhZGRlZCBsYXRlci4KClRoZSBhbW91bnQgb2YgZGF0YSB1c2Vk IGJ5IGFwcGx5IGZvciBTVFJFQU0gQ09NTUlUIGFuZApTVFJFQU0gUFJFUEFSRSBpcyB0cmFuc2Fj dGlvbiBkYXRhIGNvbnN1bXB0aW9uIGFuZCBjYW4gYmUKcmVnYXJkZWQgYXMgZGF0YSB0aGF0IHNo b3VsZCBiZSBhZGRlZCB0byBjb2x1bW4gb2YgdGhpcyBjb21taXQuClRoaXMgc2l6ZSBvZiBwcmVw YXJlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIHBlcnNpc3RlbnQgdG8gY29uY2x1ZGUKdGhlIGFwcHJv cHJpYXRlIGNhdGVnb3J5IGZvciB0aGUgdHJhbnNhY3Rpb24gYXQgZWl0aGVyIGNvbW1pdApwcmVw YXJlZCBvciByb2xsYmFjayBwcmVwYXJlZCB0aW1lLgoKQXV0aG9yOiBUYWthbWljaGkgT3N1bWkK RGlzY3Vzc2VkICYgUmV2aWV3ZWQtYnk6IEFtaXQgS2FwaWxhLCBNYXNhaGlrbyBTYXdhZGEsIEhv dSBaaGlqaWUsIEdyZWcgTmFuY2Fycm93LCBWaWduZXNoIEMsIEFqaW4gQ2hlcmlhbgpEaXNjdXNz aW9uOiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL09TQlBSMDFNQjQ4ODg3 Q0E4RjQwQzhEOTg0QTZEQzAwQ0VEMTk5JTQwT1NCUFIwMU1CNDg4OC5qcG5wcmQwMS5wcm9kLm91 dGxvb2suY29tCi0tLQogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAgICAgICAg ICAgICAgIHwgIDcxICsrKystCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwg ICAgICAgICAgICAgfCAgIDYgKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYyAgICAg ICAgICAgICAgICAgIHwgMzI0ICsrKysrKysrKysrKysrKysrKysrKystCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMgICAgICAgICAgfCAgMTIgKwogc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyAgICAgIHwgICA2ICsKIHNyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICAgICB8IDE3NCArKysrKysrKysrKy0K IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICAgICB8ICAzNiAr Ky0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICAgICB8ICAg NiArLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTAxICsrKysrKy0KIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaCAgICAg ICAgICB8ICAgNSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAg ICAgICAgfCAgIDggKy0KIHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyN193b3JrZXJfeGFjdF9z dGF0cy5wbCB8IDE0NiArKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlz dCAgICAgICAgICAgICAgICAgfCAgIDQgKwogMTMgZmlsZXMgY2hhbmdlZCwgODc4IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3N1YnNj cmlwdGlvbi90LzAyN193b3JrZXJfeGFjdF9zdGF0cy5wbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCmluZGV4 IDViMTBkMTguLjIyY2FlZWYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAtNjI5LDggKzYyOSw4IEBA IHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDEx OjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeT48c3Ry dWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzPC9zdHJ1Y3RuYW1lPjxpbmRleHRl cm0+PHByaW1hcnk+cGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VyczwvcHJpbWFyeT48L2luZGV4 dGVybT48L2VudHJ5PgotICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHN1YnNjcmlwdGlvbiB3b3Jr ZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCBlcnJvcnMKLSAgICAgIHRoYXQgb2NjdXJyZWQg b24gdGhhdCBzdWJzY3JpcHRpb24gd29ya2VyLgorICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHN1 YnNjcmlwdGlvbiB3b3JrZXIsIHNob3dpbmcgdHJhbnNhY3Rpb24gc3RhdGlzdGljcworICAgICAg YW5kIGluZm9ybWF0aW9uIGFib3V0IGVycm9ycyB0aGF0IG9jY3VycmVkIG9uIHRoYXQgc3Vic2Ny aXB0aW9uIHdvcmtlci4KICAgICAgIFNlZSA8bGluayBsaW5rZW5kPSJtb25pdG9yaW5nLXBnLXN0 YXQtc3Vic2NyaXB0aW9uLXdvcmtlcnMiPgogICAgICAgPHN0cnVjdG5hbWU+cGdfc3RhdF9zdWJz Y3JpcHRpb25fd29ya2Vyczwvc3RydWN0bmFtZT48L2xpbms+IGZvciBkZXRhaWxzLgogICAgICAg PC9lbnRyeT4KQEAgLTMwNTIsMTAgKzMwNTIsMTIgQEAgU0VMRUNUIHBpZCwgd2FpdF9ldmVudF90 eXBlLCB3YWl0X2V2ZW50IEZST00gcGdfc3RhdF9hY3Rpdml0eSBXSEVSRSB3YWl0X2V2ZW50IGkK IAogICA8cGFyYT4KICAgIFRoZSA8c3RydWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3Jr ZXJzPC9zdHJ1Y3RuYW1lPiB2aWV3IHdpbGwgY29udGFpbgotICAgb25lIHJvdyBwZXIgc3Vic2Ny aXB0aW9uIGVycm9yIHJlcG9ydGVkIGJ5IHdvcmtlcnMgYXBwbHlpbmcgbG9naWNhbAorICAgb25l IHJvdyBwZXIgc3Vic2NyaXB0aW9uLCBzaG93aW5nIGNvcnJlc3BvbmRpbmcgdHJhbnNhY3Rpb24g c3RhdGlzdGljcyBhbmQKKyAgIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvciByZXBvcnRlZCBi eSB3b3JrZXJzIGFwcGx5aW5nIGxvZ2ljYWwKICAgIHJlcGxpY2F0aW9uIGNoYW5nZXMgYW5kIHdv cmtlcnMgaGFuZGxpbmcgdGhlIGluaXRpYWwgZGF0YSBjb3B5IG9mIHRoZQogICAgc3Vic2NyaWJl ZCB0YWJsZXMuICBUaGUgc3RhdGlzdGljcyBlbnRyeSBpcyByZW1vdmVkIHdoZW4gdGhlIHN1YnNj cmlwdGlvbgotICAgdGhlIHdvcmtlciBpcyBydW5uaW5nIG9uIGlzIHJlbW92ZWQuCisgICB0aGUg d29ya2VyIGlzIHJ1bm5pbmcgb24gaXMgcmVtb3ZlZC4gVGhlIHN0YXRpc3RpY3Mgb2YgdHJhbnNh Y3Rpb24gc2l6ZSBpcworICAgdXRpbGl6ZWQgb25seSBieSB0aGUgYXBwbHkgd29ya2VyLgogICA8 L3BhcmE+CiAKICAgPHRhYmxlIGlkPSJwZy1zdGF0LXN1YnNjcmlwdGlvbi13b3JrZXJzIiB4cmVm bGFiZWw9InBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMiPgpAQCAtMzEwMyw2ICszMTA1LDY3 IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0YXRf YWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPmNvbW1pdF9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJp Z2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBv ZiB0cmFuc2FjdGlvbnMgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQgaW4gdGhpcyBzdWJzY3JpcHRpb24u CisgICAgICAgQ09NTUlULCBDT01NSVQgb2Ygc3RyZWFtaW5nIHRyYW5zYWN0aW9uIGFuZCBDT01N SVQgUFJFUEFSRUQgaW5jcmVtZW50cworICAgICAgIHRoaXMgY291bnRlci4KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+Y29tbWl0X2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgQW1vdW50IG9mIGRh dGEgKGluIGJ5dGVzKSBzdWNjZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNjcmlwdGlvbiwK KyAgICAgICBhY3Jvc3MgPGxpdGVyYWw+Y29tbWl0X2NvdW50PC9saXRlcmFsPiB0cmFuc2FjdGlv bnMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmVycm9yX2NvdW50PC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyB0aGF0IGZhaWxlZCB0byBiZSBhcHBsaWVkIGJ5IHRo ZSB0YWJsZQorICAgICAgIHN5bmMgd29ya2VyIG9yIG1haW4gYXBwbHkgd29ya2VyIGluIHRoaXMg c3Vic2NyaXB0aW9uLgorICAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZXJyb3JfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICBBbW91bnQgb2YgZGF0YSAoaW4gYnl0ZXMpIHVuc3VjY2Vzc2Z1bGx5IGFw cGxpZWQgaW4gdGhpcyBzdWJzY3JpcHRpb24sCisgICAgICAgYWNyb3NzIDxsaXRlcmFsPmVycm9y X2NvdW50PC9saXRlcmFsPiB0cmFuc2FjdGlvbnMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPmFib3J0X2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhYm9y dGVkIGluIHRoaXMgc3Vic2NyaXB0aW9uLgorICAgICAgIFJPTExCQUNLIFBSRVBBUkVEIGluY3Jl bWVudHMgdGhpcyBjb3VudGVyLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5hYm9ydF9i eXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIEFtb3VudCBvZiBkYXRhIChpbiBieXRlcykgYWJvcnRlZCBpbiB0 aGlzIHN1YnNjcmlwdGlvbiwKKyAgICAgICBhY3Jvc3MgPGxpdGVyYWw+YWJvcnRfY291bnQ8L2xp dGVyYWw+IHRyYW5zYWN0aW9ucy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0ZmllbGQ+bGFzdF9l cnJvcl9yZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KICAgICAgIDwvcGFyYT4K ICAgICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGVjZjFh MGIuLmE4ODgwZTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTEyNjcs NiArMTI2NywxMiBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIEFT CiAgICAgICAgIHcuc3ViaWQsCiAgICAgICAgIHMuc3VibmFtZSwKICAgICAgICAgdy5zdWJyZWxp ZCwKKyAgICAgICAgdy5jb21taXRfY291bnQsCisgICAgICAgIHcuY29tbWl0X2J5dGVzLAorICAg ICAgICB3LmVycm9yX2NvdW50LAorICAgICAgICB3LmVycm9yX2J5dGVzLAorICAgICAgICB3LmFi b3J0X2NvdW50LAorICAgICAgICB3LmFib3J0X2J5dGVzLAogICAgICAgICB3Lmxhc3RfZXJyb3Jf cmVsaWQsCiAgICAgICAgIHcubGFzdF9lcnJvcl9jb21tYW5kLAogICAgICAgICB3Lmxhc3RfZXJy b3JfeGlkLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYyBiL3Ny Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMKaW5kZXggZWUzYjM5YS4uZDBlNGVlMCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYworKysgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL3Bnc3RhdC5jCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAicG9zdG1h c3Rlci9mb3JrX3Byb2Nlc3MuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgog I2luY2x1ZGUgInBvc3RtYXN0ZXIvcG9zdG1hc3Rlci5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9u L2xvZ2ljYWx3b3JrZXIuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbG90LmgiCiAjaW5jbHVk ZSAicmVwbGljYXRpb24vd2Fsc2VuZGVyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9iYWNrZW5kaWQu aCIKQEAgLTMyNSwxMSArMzI2LDE0IEBAIHN0YXRpYyBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0 YXRfZ2V0X3RhYl9lbnRyeShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksCiBzdGF0aWMgUGdT dGF0X1N0YXRTdWJXb3JrZXJFbnRyeSAqcGdzdGF0X2dldF9zdWJ3b3JrZXJfZW50cnkoUGdTdGF0 X1N0YXREQkVudHJ5ICpkYmVudHJ5LAogCQkJCQkJCQkJCQkJCQkJIE9pZCBzdWJpZCwgT2lkIHN1 YnJlbGlkLAogCQkJCQkJCQkJCQkJCQkJIGJvb2wgY3JlYXRlKTsKK3N0YXRpYyBQZ1N0YXRfU1df UHJlcGFyZWRYYWN0RW50cnkgKnBnc3RhdF9nZXRfc3Vid29ya2VyX3ByZXBhcmVkX3R4bihPaWQg ZGF0YWJhc2VpZCwgT2lkIHN1YmlkLAorCQkJCQkJCQkJCQkJCQkJCQkgIGNoYXIgKmdpZCwgYm9v bCBjcmVhdGUpOworCiBzdGF0aWMgdm9pZCBwZ3N0YXRfd3JpdGVfc3RhdHNmaWxlcyhib29sIHBl cm1hbmVudCwgYm9vbCBhbGxEYnMpOwogc3RhdGljIHZvaWQgcGdzdGF0X3dyaXRlX2RiX3N0YXRz ZmlsZShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksIGJvb2wgcGVybWFuZW50KTsKIHN0YXRp YyBIVEFCICpwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBvbmx5ZGIsIGJvb2wgcGVybWFuZW50 LCBib29sIGRlZXApOwogc3RhdGljIHZvaWQgcGdzdGF0X3JlYWRfZGJfc3RhdHNmaWxlKE9pZCBk YXRhYmFzZWlkLCBIVEFCICp0YWJoYXNoLCBIVEFCICpmdW5jaGFzaCwKLQkJCQkJCQkJCSBIVEFC ICpzdWJ3b3JrZXJoYXNoLCBib29sIHBlcm1hbmVudCk7CisJCQkJCQkJCQkgSFRBQiAqc3Vid29y a2VyaGFzaCwgSFRBQiAqcHJlcGFyZWR0eG5oYXNoLCBib29sIHBlcm1hbmVudCk7CiBzdGF0aWMg dm9pZCBiYWNrZW5kX3JlYWRfc3RhdHNmaWxlKHZvaWQpOwogCiBzdGF0aWMgYm9vbCBwZ3N0YXRf d3JpdGVfc3RhdHNmaWxlX25lZWRlZCh2b2lkKTsKQEAgLTM4Miw2ICszODYsOSBAQCBzdGF0aWMg dm9pZCBwZ3N0YXRfcmVjdl9yZXBsc2xvdChQZ1N0YXRfTXNnUmVwbFNsb3QgKm1zZywgaW50IGxl bik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl90ZW1wZmlsZShQZ1N0YXRfTXNnVGVtcEZpbGUg Km1zZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRpb25fcHVy Z2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlICptc2csIGludCBsZW4pOwogc3RhdGljIHZv aWQgcGdzdGF0X3JlY3Zfc3Vid29ya2VyX2Vycm9yKFBnU3RhdF9Nc2dTdWJXb3JrZXJFcnJvciAq bXNnLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9yZWN2X3N1Yndvcmtlcl94YWN0X2Vu ZChQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZCAqbXNnLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lk IHBnc3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFzZV94YWN0KFBnU3RhdF9Nc2dTdWJXb3JrZXJU d29waGFzZVhhY3QgKm1zZywgaW50IGxlbik7CisKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBQdWJsaWMgZnVuY3Rp b25zIGNhbGxlZCBmcm9tIHBvc3RtYXN0ZXIgZm9sbG93CkBAIC0xOTMwLDYgKzE5MzcsNjEgQEAg cGdzdGF0X3JlcG9ydF9yZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1lKQogfQogCiAv KiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZCgpIC0KKyAq CisgKiAgVGVsbCB0aGUgY29sbGVjdG9yIHRoYXQgd29ya2VyIHRyYW5zYWN0aW9uIGhhcyBzdWNj ZXNzZnVsbHkgY29tcGxldGVkLgorICogLS0tLS0tLS0tLQorICovCit2b2lkCitwZ3N0YXRfcmVw b3J0X3N1Yndvcmtlcl94YWN0X2VuZChPaWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJCQkJCQkJCSBM b2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLCBQZ1N0YXRfQ291bnRlciB4YWN0X3NpemUpCit7CisJ UGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQgbXNnOworCisJQXNzZXJ0KGNvbW1hbmQgPT0gMCAv KiB0YWJsZSBzeW5jIHdvcmtlciAqLyB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01T R19DT01NSVQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0NPTU1J VCk7CisKKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9oZHIsIFBHU1RBVF9NVFlQRV9TVUJXT1JL RVJYQUNURU5EKTsKKwltc2cubV9kYXRhYmFzZWlkID0gTXlEYXRhYmFzZUlkOworCW1zZy5tX3N1 YmlkID0gc3ViaWQ7CisJbXNnLm1fc3VicmVsaWQgPSBzdWJyZWw7CisJbXNnLm1fY29tbWFuZCA9 IGNvbW1hbmQ7CisJbXNnLm1feGFjdF9ieXRlcyA9IHhhY3Rfc2l6ZTsKKwlwZ3N0YXRfc2VuZCgm bXNnLCBzaXplb2YoUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQpKTsKKworCXJlc2V0X2FwcGx5 X3hhY3Rfc2l6ZSgpOworfQorCisvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVwb3J0X3N1Yndv cmtlcl90d29waGFzZV94YWN0KCkgLQorICoKKyAqICBUZWxsIHRoZSBjb2xsZWN0b3IgdGhhdCB3 b3JrZXIgdHJhbnNhY3Rpb24gaGFzIGRvbmUgMlBDIHJlbGF0ZWQgb3BlcmF0aW9uLgorICogLS0t LS0tLS0tLQorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl90d29waGFzZV94YWN0 KE9pZCBzdWJpZCwgTG9naWNhbFJlcE1zZ1R5cGUgY29tbWFuZCwKKwkJCQkJCQkJCSAgUGdTdGF0 X0NvdW50ZXIgeGFjdF9zaXplLCBjaGFyICpnaWQpCit7CisJUGdTdGF0X01zZ1N1YldvcmtlclR3 b3BoYXNlWGFjdCBtc2c7CisKKwlBc3NlcnQoY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfUFJF UEFSRSB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19TVFJFQU1fUFJFUEFSRSB8 fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQgfHwKKwkJ ICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfUk9MTEJBQ0tfUFJFUEFSRUQpOworCisJLyog c2V0dXAgdGhlIG1lc3NhZ2UgKi8KKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9oZHIsIFBHU1RB VF9NVFlQRV9TVUJXT1JLRVJUV09QSEFTRVhBQ1QpOworCW1zZy5tX2RhdGFiYXNlaWQgPSBNeURh dGFiYXNlSWQ7CisJbXNnLm1fc3ViaWQgPSBzdWJpZDsKKwltc2cubV9jb21tYW5kID0gY29tbWFu ZDsKKwlzdHJsY3B5KG1zZy5tX2dpZCwgZ2lkLCBzaXplb2YobXNnLm1fZ2lkKSk7CisJbXNnLm1f eGFjdF9ieXRlcyA9IHhhY3Rfc2l6ZTsKKwlwZ3N0YXRfc2VuZCgmbXNnLCBzaXplb2YoUGdTdGF0 X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdCkpOworCXJlc2V0X2FwcGx5X3hhY3Rfc2l6ZSgpOwor fQorCisvKiAtLS0tLS0tLS0tCiAgKiBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl9lcnJvcigpIC0K ICAqCiAgKglUZWxsIHRoZSBjb2xsZWN0b3IgYWJvdXQgdGhlIHN1YnNjcmlwdGlvbiB3b3JrZXIg ZXJyb3IuCkBAIC0xOTQ3LDYgKzIwMDksNyBAQCBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl9lcnJv cihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAogCW1zZy5tX2RhdGFiYXNlaWQg PSBNeURhdGFiYXNlSWQ7CiAJbXNnLm1fc3ViaWQgPSBzdWJpZDsKIAltc2cubV9zdWJyZWxpZCA9 IHN1YnJlbGlkOworCW1zZy5tX3hhY3RfZXJyb3JfYnl0ZXMgPSBnZXRfYXBwbHlfeGFjdF9zaXpl KCk7CiAJbXNnLm1fcmVsaWQgPSByZWxpZDsKIAltc2cubV9jb21tYW5kID0gY29tbWFuZDsKIAlt c2cubV94aWQgPSB4aWQ7CkBAIC0xOTU1LDYgKzIwMTgsOCBAQCBwZ3N0YXRfcmVwb3J0X3N1Yndv cmtlcl9lcnJvcihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAogCiAJbGVuID0g b2Zmc2V0b2YoUGdTdGF0X01zZ1N1YldvcmtlckVycm9yLCBtX21lc3NhZ2UpICsgc3RybGVuKG1z Zy5tX21lc3NhZ2UpICsgMTsKIAlwZ3N0YXRfc2VuZCgmbXNnLCBsZW4pOworCisJcmVzZXRfYXBw bHlfeGFjdF9zaXplKCk7CiB9CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTM3MjUsNiArMzc5MCwxNCBA QCBQZ3N0YXRDb2xsZWN0b3JNYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQkJCXBnc3Rh dF9yZWN2X3N1Yndvcmtlcl9lcnJvcigmbXNnLm1zZ19zdWJ3b3JrZXJlcnJvciwgbGVuKTsKIAkJ CQkJYnJlYWs7CiAKKwkJCQljYXNlIFBHU1RBVF9NVFlQRV9TVUJXT1JLRVJYQUNURU5EOgorCQkJ CQlwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfeGFjdF9lbmQoJm1zZy5tc2dfc3Vid29ya2VyeGFjdGVu ZCwgbGVuKTsKKwkJCQkJYnJlYWs7CisKKwkJCQljYXNlIFBHU1RBVF9NVFlQRV9TVUJXT1JLRVJU V09QSEFTRVhBQ1Q6CisJCQkJCXBnc3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFzZV94YWN0KCZt c2cubXNnX3N1YndvcmtlcnR3b3BoYXNleGFjdCwgbGVuKTsKKwkJCQkJYnJlYWs7CisKIAkJCQlk ZWZhdWx0OgogCQkJCQlicmVhazsKIAkJCX0KQEAgLTM4MzEsNiArMzkwNCwxNCBAQCByZXNldF9k YmVudHJ5X2NvdW50ZXJzKFBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeSkKIAkJCQkJCQkJCSAg UEdTVEFUX1NVQldPUktFUl9IQVNIX1NJWkUsCiAJCQkJCQkJCQkgICZoYXNoX2N0bCwKIAkJCQkJ CQkJCSAgSEFTSF9FTEVNIHwgSEFTSF9CTE9CUyk7CisKKwloYXNoX2N0bC5rZXlzaXplID0gc2l6 ZW9mKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RLZXkpOworCWhhc2hfY3RsLmVudHJ5c2l6ZSA9IHNp emVvZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkpOworCWhhc2hfY3RsLmhjeHQgPSBwZ1N0 YXRMb2NhbENvbnRleHQ7CisJZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzID0gaGFz aF9jcmVhdGUoIlN1YnNjcmlwdGlvbiB3b3JrZXIgc3RhdHMgb2YgcHJlcGFyZWQgdHhuIiwKKwkJ CQkJCQkJCQkJCQlQR1NUQVRfU1VCV09SS0VSX0hBU0hfU0laRSwKKwkJCQkJCQkJCQkJCQkmaGFz aF9jdGwsCisJCQkJCQkJCQkJCQkJSEFTSF9FTEVNIHwgSEFTSF9TVFJJTkdTIHwgSEFTSF9DT05U RVhUKTsKIH0KIAogLyoKQEAgLTM5NDEsNiArNDAyMiwxMiBAQCBwZ3N0YXRfZ2V0X3N1Yndvcmtl cl9lbnRyeShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksIE9pZCBzdWJpZCwgT2lkIHN1YnJl bGlkLAogCS8qIElmIG5vdCBmb3VuZCwgaW5pdGlhbGl6ZSB0aGUgbmV3IG9uZSAqLwogCWlmIChj cmVhdGUgJiYgIWZvdW5kKQogCXsKKwkJc3Vid2VudHJ5LT54YWN0X2NvbW1pdF9jb3VudCA9IDA7 CisJCXN1YndlbnRyeS0+eGFjdF9jb21taXRfYnl0ZXMgPSAwOworCQlzdWJ3ZW50cnktPnhhY3Rf ZXJyb3JfY291bnQgPSAwOworCQlzdWJ3ZW50cnktPnhhY3RfZXJyb3JfYnl0ZXMgPSAwOworCQlz dWJ3ZW50cnktPnhhY3RfYWJvcnRfY291bnQgPSAwOworCQlzdWJ3ZW50cnktPnhhY3RfYWJvcnRf Ynl0ZXMgPSAwOwogCQlzdWJ3ZW50cnktPnJlbGlkID0gSW52YWxpZE9pZDsKIAkJc3Vid2VudHJ5 LT5jb21tYW5kID0gMDsKIAkJc3Vid2VudHJ5LT54aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsK QEAgLTQxNTIsOSArNDIzOSwxMSBAQCBwZ3N0YXRfd3JpdGVfZGJfc3RhdHNmaWxlKFBnU3RhdF9T dGF0REJFbnRyeSAqZGJlbnRyeSwgYm9vbCBwZXJtYW5lbnQpCiAJSEFTSF9TRVFfU1RBVFVTIHRz dGF0OwogCUhBU0hfU0VRX1NUQVRVUyBmc3RhdDsKIAlIQVNIX1NFUV9TVEFUVVMgc3N0YXQ7CisJ SEFTSF9TRVFfU1RBVFVTIHBzdGF0OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5Owog CVBnU3RhdF9TdGF0RnVuY0VudHJ5ICpmdW5jZW50cnk7CiAJUGdTdGF0X1N0YXRTdWJXb3JrZXJF bnRyeSAqc3Vid2VudHJ5OworCVBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqcGVudHJ5Owog CUZJTEUJICAgKmZwb3V0OwogCWludDMyCQlmb3JtYXRfaWQ7CiAJT2lkCQkJZGJpZCA9IGRiZW50 cnktPmRhdGFiYXNlaWQ7CkBAIC00MjIxLDYgKzQzMTAsMTcgQEAgcGdzdGF0X3dyaXRlX2RiX3N0 YXRzZmlsZShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksIGJvb2wgcGVybWFuZW50KQogCX0K IAogCS8qCisJICogV3JpdGUgc3Vic2NyaXB0aW9uIHdvcmtlcidzIHByZXBhcmVkIHRyYW5zYWN0 aW9uIHN0cnVjdAorCSAqLworCWhhc2hfc2VxX2luaXQoJnBzdGF0LCBkYmVudHJ5LT5zdWJ3b3Jr ZXJzX3ByZXBhcmVkc2l6ZXMpOworCXdoaWxlICgocGVudHJ5ID0gKFBnU3RhdF9TV19QcmVwYXJl ZFhhY3RFbnRyeSAqKSBoYXNoX3NlcV9zZWFyY2goJnBzdGF0KSkgIT0gTlVMTCkKKwl7CisJCWZw dXRjKCdQJywgZnBvdXQpOworCQlyYyA9IGZ3cml0ZShwZW50cnksIHNpemVvZihQZ1N0YXRfU1df UHJlcGFyZWRYYWN0RW50cnkpLCAxLCBmcG91dCk7CisJCSh2b2lkKSByYzsJCQkJLyogd2UnbGwg Y2hlY2sgZm9yIGVycm9yIHdpdGggZmVycm9yICovCisJfQorCisJLyoKIAkgKiBObyBtb3JlIG91 dHB1dCB0byBiZSBkb25lLiBDbG9zZSB0aGUgdGVtcCBmaWxlIGFuZCByZXBsYWNlIHRoZSBvbGQK IAkgKiBwZ3N0YXQuc3RhdCB3aXRoIGl0LiAgVGhlIGZlcnJvcigpIGNoZWNrIHJlcGxhY2VzIHRl c3RpbmcgZm9yIGVycm9yCiAJICogYWZ0ZXIgZWFjaCBpbmRpdmlkdWFsIGZwdXRjIG9yIGZ3cml0 ZSBhYm92ZS4KQEAgLTQ0NTksNiArNDU1OSw3IEBAIHBnc3RhdF9yZWFkX3N0YXRzZmlsZXMoT2lk IG9ubHlkYiwgYm9vbCBwZXJtYW5lbnQsIGJvb2wgZGVlcCkKIAkJCQlkYmVudHJ5LT50YWJsZXMg PSBOVUxMOwogCQkJCWRiZW50cnktPmZ1bmN0aW9ucyA9IE5VTEw7CiAJCQkJZGJlbnRyeS0+c3Vi d29ya2VycyA9IE5VTEw7CisJCQkJZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzID0g TlVMTDsKIAogCQkJCS8qCiAJCQkJICogSW4gdGhlIGNvbGxlY3RvciwgZGlzcmVnYXJkIHRoZSB0 aW1lc3RhbXAgd2UgcmVhZCBmcm9tIHRoZQpAQCAtNDUwNCw2ICs0NjA1LDE0IEBAIHBnc3RhdF9y ZWFkX3N0YXRzZmlsZXMoT2lkIG9ubHlkYiwgYm9vbCBwZXJtYW5lbnQsIGJvb2wgZGVlcCkKIAkJ CQkJCQkJCQkJCSAgJmhhc2hfY3RsLAogCQkJCQkJCQkJCQkJICBIQVNIX0VMRU0gfCBIQVNIX0JM T0JTIHwgSEFTSF9DT05URVhUKTsKIAorCQkJCWhhc2hfY3RsLmtleXNpemUgPSBzaXplb2YoUGdT dGF0X1NXX1ByZXBhcmVkWGFjdEtleSk7CisJCQkJaGFzaF9jdGwuZW50cnlzaXplID0gc2l6ZW9m KFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSk7CisJCQkJaGFzaF9jdGwuaGN4dCA9IHBnU3Rh dExvY2FsQ29udGV4dDsKKwkJCQlkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMgPSBo YXNoX2NyZWF0ZSgiU3Vic2NyaXB0aW9uIHdvcmtlciBzdGF0cyBvZiBwcmVwYXJlZCB0eG4iLAor CQkJCQkJCQkJCQkJCQkJCVBHU1RBVF9TVUJXT1JLRVJfSEFTSF9TSVpFLAorCQkJCQkJCQkJCQkJ CQkJCSZoYXNoX2N0bCwKKwkJCQkJCQkJCQkJCQkJCQlIQVNIX0VMRU0gfCBIQVNIX1NUUklOR1Mg fCBIQVNIX0NPTlRFWFQpOworCiAJCQkJLyoKIAkJCQkgKiBJZiByZXF1ZXN0ZWQsIHJlYWQgdGhl IGRhdGEgZnJvbSB0aGUgZGF0YWJhc2Utc3BlY2lmaWMKIAkJCQkgKiBmaWxlLiAgT3RoZXJ3aXNl IHdlIGp1c3QgbGVhdmUgdGhlIGhhc2h0YWJsZXMgZW1wdHkuCkBAIC00NTEzLDYgKzQ2MjIsNyBA QCBwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBvbmx5ZGIsIGJvb2wgcGVybWFuZW50LCBib29s IGRlZXApCiAJCQkJCQkJCQkJCSBkYmVudHJ5LT50YWJsZXMsCiAJCQkJCQkJCQkJCSBkYmVudHJ5 LT5mdW5jdGlvbnMsCiAJCQkJCQkJCQkJCSBkYmVudHJ5LT5zdWJ3b3JrZXJzLAorCQkJCQkJCQkJ CQkgZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzLAogCQkJCQkJCQkJCQkgcGVybWFu ZW50KTsKIAogCQkJCWJyZWFrOwpAQCAtNDU5Nyw3ICs0NzA3LDcgQEAgZG9uZToKICAqLwogc3Rh dGljIHZvaWQKIHBnc3RhdF9yZWFkX2RiX3N0YXRzZmlsZShPaWQgZGF0YWJhc2VpZCwgSFRBQiAq dGFiaGFzaCwgSFRBQiAqZnVuY2hhc2gsCi0JCQkJCQkgSFRBQiAqc3Vid29ya2VyaGFzaCwgYm9v bCBwZXJtYW5lbnQpCisJCQkJCQkgSFRBQiAqc3Vid29ya2VyaGFzaCwgSFRBQiAqcHJlcGFyZWR0 eG5oYXNoLCBib29sIHBlcm1hbmVudCkKIHsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRy eTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5IHRhYmJ1ZjsKQEAgLTQ3NTMsNiArNDg2MywzMiBAQCBw Z3N0YXRfcmVhZF9kYl9zdGF0c2ZpbGUoT2lkIGRhdGFiYXNlaWQsIEhUQUIgKnRhYmhhc2gsIEhU QUIgKmZ1bmNoYXNoLAogCQkJCW1lbWNweShzdWJ3ZW50cnksICZzdWJ3YnVmLCBzaXplb2Yoc3Vi d2J1ZikpOwogCQkJCWJyZWFrOwogCisJCQljYXNlICdQJzoKKwkJCQl7CisJCQkJCVBnU3RhdF9T V19QcmVwYXJlZFhhY3RFbnRyeSBidWZmOworCQkJCQlQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50 cnkgKnByZXBhcmVkX3hhY3RfZW50cnk7CisKKwkJCQkJaWYgKGZyZWFkKCZidWZmLCAxLCBzaXpl b2YoUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5KSwKKwkJCQkJCQkgIGZwaW4pICE9IHNpemVv ZihQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkpKQorCQkJCQl7CisJCQkJCQllcmVwb3J0KHBn U3RhdFJ1bm5pbmdJbkNvbGxlY3RvciA/IExPRyA6IFdBUk5JTkcsCisJCQkJCQkJCShlcnJtc2co ImNvcnJ1cHRlZCBzdGF0aXN0aWNzIGZpbGUgXCIlc1wiIiwKKwkJCQkJCQkJCQlzdGF0ZmlsZSkp KTsKKwkJCQkJCWdvdG8gZG9uZTsKKwkJCQkJfQorCisJCQkJCWlmIChwcmVwYXJlZHR4bmhhc2gg PT0gTlVMTCkKKwkJCQkJCWJyZWFrOworCisJCQkJCXByZXBhcmVkX3hhY3RfZW50cnkgPQorCQkJ CQkJKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqKSBoYXNoX3NlYXJjaChwcmVwYXJlZHR4 bmhhc2gsCisJCQkJCQkJCQkJCQkJCQkJCSh2b2lkICopICZidWZmLmtleSwKKwkJCQkJCQkJCQkJ CQkJCQkJSEFTSF9FTlRFUiwgTlVMTCk7CisKKwkJCQkJbWVtY3B5KHByZXBhcmVkX3hhY3RfZW50 cnksICZidWZmLCBzaXplb2YoUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5KSk7CisJCQkJCWJy ZWFrOworCQkJCX0KKwogCQkJCS8qCiAJCQkJICogJ0UnCVRoZSBFT0YgbWFya2VyIG9mIGEgY29t cGxldGUgc3RhdHMgZmlsZS4KIAkJCQkgKi8KQEAgLTU0MjgsNiArNTU2NCw4IEBAIHBnc3RhdF9y ZWN2X2Ryb3BkYihQZ1N0YXRfTXNnRHJvcGRiICptc2csIGludCBsZW4pCiAJCQloYXNoX2Rlc3Ry b3koZGJlbnRyeS0+ZnVuY3Rpb25zKTsKIAkJaWYgKGRiZW50cnktPnN1YndvcmtlcnMgIT0gTlVM TCkKIAkJCWhhc2hfZGVzdHJveShkYmVudHJ5LT5zdWJ3b3JrZXJzKTsKKwkJaWYgKGRiZW50cnkt PnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyAhPSBOVUxMKQorCQkJaGFzaF9kZXN0cm95KGRiZW50 cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyk7CiAKIAkJaWYgKGhhc2hfc2VhcmNoKHBnU3Rh dERCSGFzaCwKIAkJCQkJCSh2b2lkICopICZkYmlkLApAQCAtNTQ2NywxMCArNTYwNSwxMyBAQCBw Z3N0YXRfcmVjdl9yZXNldGNvdW50ZXIoUGdTdGF0X01zZ1Jlc2V0Y291bnRlciAqbXNnLCBpbnQg bGVuKQogCQloYXNoX2Rlc3Ryb3koZGJlbnRyeS0+ZnVuY3Rpb25zKTsKIAlpZiAoZGJlbnRyeS0+ c3Vid29ya2VycyAhPSBOVUxMKQogCQloYXNoX2Rlc3Ryb3koZGJlbnRyeS0+c3Vid29ya2Vycyk7 CisJaWYgKGRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyAhPSBOVUxMKQorCQloYXNo X2Rlc3Ryb3koZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzKTsKIAogCWRiZW50cnkt PnRhYmxlcyA9IE5VTEw7CiAJZGJlbnRyeS0+ZnVuY3Rpb25zID0gTlVMTDsKIAlkYmVudHJ5LT5z dWJ3b3JrZXJzID0gTlVMTDsKKwlkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMgPSBO VUxMOwogCiAJLyoKIAkgKiBSZXNldCBkYXRhYmFzZS1sZXZlbCBzdGF0cywgdG9vLiAgVGhpcyBj cmVhdGVzIGVtcHR5IGhhc2ggdGFibGVzIGZvcgpAQCAtNTU0NiwxMCArNTY4NywyOCBAQCBwZ3N0 YXRfcmVjdl9yZXNldHNpbmdsZWNvdW50ZXIoUGdTdGF0X01zZ1Jlc2V0c2luZ2xlY291bnRlciAq bXNnLCBpbnQgbGVuKQogCWVsc2UgaWYgKG1zZy0+bV9yZXNldHR5cGUgPT0gUkVTRVRfU1VCV09S S0VSKQogCXsKIAkJUGdTdGF0X1N0YXRTdWJXb3JrZXJLZXkga2V5OworCQlQZ1N0YXRfU1dfUHJl cGFyZWRYYWN0S2V5IHBrZXk7CiAKIAkJa2V5LnN1YmlkID0gbXNnLT5tX29iamVjdGlkOwogCQlr ZXkuc3VicmVsaWQgPSBtc2ctPm1fc3Vib2JqZWN0aWQ7CiAJCSh2b2lkKSBoYXNoX3NlYXJjaChk YmVudHJ5LT5zdWJ3b3JrZXJzLCAodm9pZCAqKSAma2V5LCBIQVNIX1JFTU9WRSwgTlVMTCk7CisK KwkJLyoKKwkJICogQ2xlYW4gdXAgZW50cnkgb2YgcHJlcGFyZWQgc2l6ZSBoYXNoIGFzIHdlbGwu CisJCSAqCisJCSAqIFRoZXJlJ3Mgbm8gZ2lkIGlucHV0IGhlcmUgYXMgYSBwYXJ0IG9mIGtleSBm b3IKKwkJICogUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5LiBBbHNvIGFueSB2YWxpZCAncmVs aWQnIGluZGljYXRlcyB0aGUKKwkJICogZW50cnkgaXMgY3JlYXRlZCBieSB0YWJsZSBzeW5jIGJ1 dCBpdCBoYXMgbm90aGluZyB0byBkbyB3aXRoIHRoZQorCQkgKiB0d28gcGhhc2Ugb3BlcmF0aW9u IG9mIGFwcGx5LiBQcm9jZWVkIHdpdGggdGhpcyByZW1vdmFsIG9ubHkgd2hlbgorCQkgKiB0aGUg c3BlY2lmaWVkIHN1YnJlbGlkIGlzbid0IGludmFsaWQuCisJCSAqLworCQlpZiAobXNnLT5tX3N1 Ym9iamVjdGlkID09IEludmFsaWRPaWQpCisJCXsKKwkJCXBrZXkuc3ViaWQgPSBtc2ctPm1fb2Jq ZWN0aWQ7CisJCQkodm9pZCkgaGFzaF9zZWFyY2goZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJl ZHNpemVzLAorCQkJCQkJCSAgICh2b2lkICopICZwa2V5LCBIQVNIX1JFTU9WRSwgTlVMTCk7CisJ CX0KKwogCX0KIH0KIApAQCAtNjEwNSw2ICs2MjY0LDcgQEAgcGdzdGF0X3JlY3Zfc3Vic2NyaXB0 aW9uX3B1cmdlKFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25QdXJnZSAqbXNnLCBpbnQgbGVuKQogCUhB U0hfU0VRX1NUQVRVUyBoc3RhdDsKIAlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CiAJUGdT dGF0X1N0YXRTdWJXb3JrZXJFbnRyeSAqc3Vid2VudHJ5OworCVBnU3RhdF9TV19QcmVwYXJlZFhh Y3RFbnRyeSAqcHJlcGFyZWRfdHhuX2VudHJ5OwogCiAJZGJlbnRyeSA9IHBnc3RhdF9nZXRfZGJf ZW50cnkobXNnLT5tX2RhdGFiYXNlaWQsIGZhbHNlKTsKIApAQCAtNjEyNiw2ICs2Mjg2LDEyNyBA QCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRpb25fcHVyZ2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1 cmdlICptc2csIGludCBsZW4pCiAJCQl9CiAJCX0KIAl9CisKKwkvKiBSZW1vdmUgYXNzb2NpYXRl ZCBwcmVwYXJlZCB0cmFuc2FjdGlvbiBzdGF0cyAqLworCWlmICghZGJlbnRyeS0+c3Vid29ya2Vy c19wcmVwYXJlZHNpemVzKQorCXsKKwkJaGFzaF9zZXFfaW5pdCgmaHN0YXQsIGRiZW50cnktPnN1 YndvcmtlcnNfcHJlcGFyZWRzaXplcyk7CisJCXdoaWxlICgocHJlcGFyZWRfdHhuX2VudHJ5ID0g KFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqKSBoYXNoX3NlcV9zZWFyY2goJmhzdGF0KSkg IT0gTlVMTCkKKwkJeworCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBtc2ctPm1fbmVudHJpZXM7IGkr KykKKwkJCXsKKwkJCQlpZiAocHJlcGFyZWRfdHhuX2VudHJ5LT5rZXkuc3ViaWQgPT0gbXNnLT5t X3N1Ymlkc1tpXSkKKwkJCQkJKHZvaWQpIGhhc2hfc2VhcmNoKGRiZW50cnktPnN1YndvcmtlcnNf cHJlcGFyZWRzaXplcywKKwkJCQkJCQkJCSAgICh2b2lkICopICYocHJlcGFyZWRfdHhuX2VudHJ5 LT5rZXkpLAorCQkJCQkJCQkJICAgSEFTSF9SRU1PVkUsIE5VTEwpOworCQkJCWJyZWFrOworCQkJ fQorCQl9CisJfQorfQorCisvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJf eGFjdF9lbmQoKSAtCisgKgorICoJUHJvY2VzcyBhIFNVQldPUktFUlhBQ1RFTkQgbWVzc2FnZS4K KyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9yZWN2X3N1Yndvcmtlcl94 YWN0X2VuZChQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZCAqbXNnLCBpbnQgbGVuKQoreworCVBn U3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeTsKKwlQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5ICp3 ZW50cnk7CisKKwlkYmVudHJ5ID0gcGdzdGF0X2dldF9kYl9lbnRyeShtc2ctPm1fZGF0YWJhc2Vp ZCwgdHJ1ZSk7CisJd2VudHJ5ID0gcGdzdGF0X2dldF9zdWJ3b3JrZXJfZW50cnkoZGJlbnRyeSwg bXNnLT5tX3N1YmlkLAorCQkJCQkJCQkJCW1zZy0+bV9zdWJyZWxpZCwgdHJ1ZSk7CisJQXNzZXJ0 KHdlbnRyeSk7CisKKwkvKiB0YWJsZSBzeW5jIHdvcmtlciAqLworCWlmIChtc2ctPm1fY29tbWFu ZCA9PSAwKQorCQl3ZW50cnktPnhhY3RfY29tbWl0X2NvdW50Kys7CisJZWxzZQorCXsKKwkJLyog YXBwbHkgd29ya2VyICovCisJCXN3aXRjaCAobXNnLT5tX2NvbW1hbmQpCisJCXsKKwkJCWNhc2Ug TE9HSUNBTF9SRVBfTVNHX0NPTU1JVDoKKwkJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9D T01NSVQ6CisJCQkJd2VudHJ5LT54YWN0X2NvbW1pdF9jb3VudCsrOworCQkJCXdlbnRyeS0+eGFj dF9jb21taXRfYnl0ZXMgKz0gbXNnLT5tX3hhY3RfYnl0ZXM7CisJCQkJYnJlYWs7CisJCQlkZWZh dWx0OgorCQkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIGxvZ2ljYWwgbWVzc2FnZSB0eXBlIGFz IG5vcm1hbCBhcHBseSBlbmQiKTsKKwkJCQlicmVhazsKKwkJfQorCX0KK30KKworLyogLS0tLS0t LS0tLQorICogcGdzdGF0X3JlY3Zfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoKSAtCisgKgorICoJ UHJvY2VzcyBhIFNVQldPUktFUlRXT1BIQVNFWEFDVCBtZXNzYWdlLgorICogLS0tLS0tLS0tLQor ICovCitzdGF0aWMgdm9pZAorcGdzdGF0X3JlY3Zfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoUGdT dGF0X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdCAqbXNnLCBpbnQgbGVuKQoreworCVBnU3RhdF9T dGF0REJFbnRyeSAqZGJlbnRyeTsKKwlQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgKnBlbnRy eTsKKwlQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5ICp3ZW50cnk7CisJUGdTdGF0X1NXX1ByZXBh cmVkWGFjdEtleSBrZXk7CisKKwlwZW50cnkgPSBwZ3N0YXRfZ2V0X3N1Yndvcmtlcl9wcmVwYXJl ZF90eG4obXNnLT5tX2RhdGFiYXNlaWQsCisJCQkJCQkJCQkJCSAgIG1zZy0+bV9zdWJpZCwKKwkJ CQkJCQkJCQkJICAgbXNnLT5tX2dpZCwgdHJ1ZSk7CisJQXNzZXJ0KHBlbnRyeSk7CisJc3dpdGNo IChtc2ctPm1fY29tbWFuZCkKKwl7CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1BSRVBBUkU6CisJ CWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9QUkVQQVJFOgorCisJCQkvKgorCQkJICogTWFr ZSBlYWNoIHNpemUgb2YgcHJlcGFyZWQgdHJhbnNhY3Rpb24gcGVyc2lzdGVudCBzbyB0aGF0IHdl CisJCQkgKiBjYW4gdXBkYXRlIHN0YXRzIG92ZXIgdGhlIHNlcnZlciByZXN0YXJ0IGFuZCBtYWtl IHByZXBhcmVkCisJCQkgKiBzdGF0cyB1cGRhdGVkIHdoZW4gY29tbWl0IHByZXBhcmVkIG9yIHJv bGxiYWNrIHByZXBhcmVkCisJCQkgKiBhcnJpdmVzLgorCQkJICovCisJCQlwZW50cnktPnN1Ymlk ID0gbXNnLT5tX3N1YmlkOworCQkJc3RybGNweShwZW50cnktPmdpZCwgbXNnLT5tX2dpZCwgc2l6 ZW9mKHBlbnRyeS0+Z2lkKSk7CisJCQlwZW50cnktPnhhY3Rfc2l6ZSA9IG1zZy0+bV94YWN0X2J5 dGVzOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVE OgorCQljYXNlIExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRDoKKwkJCS8qIFVwZGF0 ZSBleHBvcnRlZCB4YWN0IHN0YXRzIG5vdyAqLworCQkJZGJlbnRyeSA9IHBnc3RhdF9nZXRfZGJf ZW50cnkobXNnLT5tX2RhdGFiYXNlaWQsIHRydWUpOworCQkJd2VudHJ5ID0gcGdzdGF0X2dldF9z dWJ3b3JrZXJfZW50cnkoZGJlbnRyeSwKKwkJCQkJCQkJCQkJCW1zZy0+bV9zdWJpZCwKKwkJCQkJ CQkJCQkJCUludmFsaWRPaWQgLyogYXBwbHkgd29ya2VyICovICwKKwkJCQkJCQkJCQkJCXRydWUp OworCQkJQXNzZXJ0KHdlbnRyeSk7CisJCQlpZiAobXNnLT5tX2NvbW1hbmQgPT0gTE9HSUNBTF9S RVBfTVNHX0NPTU1JVF9QUkVQQVJFRCkKKwkJCXsKKwkJCQl3ZW50cnktPnhhY3RfY29tbWl0X2Nv dW50Kys7CisJCQkJd2VudHJ5LT54YWN0X2NvbW1pdF9ieXRlcyArPSBwZW50cnktPnhhY3Rfc2l6 ZTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQl3ZW50cnktPnhhY3RfYWJvcnRfY291bnQrKzsK KwkJCQl3ZW50cnktPnhhY3RfYWJvcnRfYnl0ZXMgKz0gcGVudHJ5LT54YWN0X3NpemU7CisJCQl9 CisKKwkJCS8qIENsZWFuIHVwIHRoaXMgZ2lkIGZyb20gdHJhbnNhY3Rpb24gc2l6ZSBoYXNoICov CisJCQlrZXkuc3ViaWQgPSBwZW50cnktPnN1YmlkOworCQkJc3RybGNweShrZXkuZ2lkLCBtc2ct Pm1fZ2lkLCBzaXplb2Yoa2V5LmdpZCkpOworCQkJKHZvaWQpIGhhc2hfc2VhcmNoKGRiZW50cnkt PnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcywKKwkJCQkJCQkgICAodm9pZCAqKSAma2V5LCBIQVNI X1JFTU9WRSwgTlVMTCk7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJZWxvZyhFUlJPUiwg InVuZXhwZWN0ZWQgbG9naWNhbCBtZXNzYWdlIHR5cGUgYXMgcHJlcGFyZSB0cmFuc2FjdGlvbiIp OworCQkJYnJlYWs7CisJfQogfQogCiAvKiAtLS0tLS0tLS0tCkBAIC02MTQ3LDYgKzY0MjgsMTAg QEAgcGdzdGF0X3JlY3Zfc3Vid29ya2VyX2Vycm9yKFBnU3RhdF9Nc2dTdWJXb3JrZXJFcnJvciAq bXNnLCBpbnQgbGVuKQogCQkJCQkJCQkJCSAgIG1zZy0+bV9zdWJyZWxpZCwgdHJ1ZSk7CiAJQXNz ZXJ0KHN1YndlbnRyeSk7CiAKKwkvKiBnZW5lcmFsIHRyYW5zYWN0aW9uIHN0YXRzIGZvciBlcnJv ciAqLworCXN1YndlbnRyeS0+eGFjdF9lcnJvcl9jb3VudCsrOworCXN1YndlbnRyeS0+eGFjdF9l cnJvcl9ieXRlcyArPSBtc2ctPm1feGFjdF9lcnJvcl9ieXRlczsKKwogCS8qCiAJICogVXBkYXRl IG9ubHkgdGhlIGNvdW50ZXIgYW5kIGxhc3QgZXJyb3IgdGltZXN0YW1wIGlmIHdlIHJlY2VpdmVk CiAJICogdGhlIHNhbWUgZXJyb3IgYWdhaW4KQEAgLTYzOTQsMyArNjY3OSwzOCBAQCBwZ3N0YXRf Y291bnRfc2xydV90cnVuY2F0ZShpbnQgc2xydV9pZHgpCiB7CiAJc2xydV9lbnRyeShzbHJ1X2lk eCktPm1fdHJ1bmNhdGUgKz0gMTsKIH0KKworIC8qIC0tLS0tLS0tLS0KKyAqIHBnc3RhdF9nZXRf c3Vid29ya2VyX3ByZXBhcmVkX3R4bgorICoKKyAqIFJldHVybiBzdWJzY3JpcHRpb24gd29ya2Vy IGVudHJ5IHdpdGggdGhlIGdpdmVuIHN1YnNjcmlwdGlvbiBPSUQgYW5kCisgKiBnaWQuCisgKiAt LS0tLS0tLS0tCisgKi8KK3N0YXRpYyBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgKgorcGdz dGF0X2dldF9zdWJ3b3JrZXJfcHJlcGFyZWRfdHhuKE9pZCBkYXRhYmFzZWlkLCBPaWQgc3ViaWQs CisJCQkJCQkJCSAgY2hhciAqZ2lkLCBib29sIGNyZWF0ZSkKK3sKKwlQZ1N0YXRfU3RhdERCRW50 cnkgKmRiZW50cnk7CisJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleSBrZXk7CisJUGdTdGF0X1NX X1ByZXBhcmVkWGFjdEVudHJ5ICpwZW50cnk7CisJSEFTSEFDVElPTglhY3Rpb247CisJYm9vbAkJ Zm91bmQ7CisKKwlkYmVudHJ5ID0gcGdzdGF0X2dldF9kYl9lbnRyeShkYXRhYmFzZWlkLCB0cnVl KTsKKwlrZXkuc3ViaWQgPSBzdWJpZDsKKwlzdHJsY3B5KGtleS5naWQsIGdpZCwgc2l6ZW9mKGtl eS5naWQpKTsKKwlhY3Rpb24gPSAoY3JlYXRlID8gSEFTSF9FTlRFUiA6IEhBU0hfRklORCk7CisJ cGVudHJ5ID0gKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAqKSBoYXNoX3NlYXJjaChkYmVu dHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMsCisJCQkJCQkJCQkJCQkJCSAodm9pZCAqKSAm a2V5LAorCQkJCQkJCQkJCQkJCQkgYWN0aW9uLCAmZm91bmQpOworCisJaWYgKGNyZWF0ZSAmJiAh Zm91bmQpCisJeworCQlwZW50cnktPnN1YmlkID0gMDsKKwkJcGVudHJ5LT5naWRbMF0gPSAnXDAn OworCQlwZW50cnktPnhhY3Rfc2l6ZSA9IDA7CisJfQorCisJcmV0dXJuIHBlbnRyeTsKK30KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYwppbmRleCA5ZjViZjRiLi44MzA2ODc2 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMKKysr IGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jCkBAIC0xNyw2ICsxNyw3 IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAibGlicHEvcHFmb3Jt YXQuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaCIKKyNpbmNsdWRlICJy ZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgi CiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKIApAQCAtODQyLDYgKzg0Myw3IEBAIGxvZ2lj YWxyZXBfcmVhZF90dXBsZShTdHJpbmdJbmZvIGluLCBMb2dpY2FsUmVwVHVwbGVEYXRhICp0dXBs ZSkKIHsKIAlpbnQJCQlpOwogCWludAkJCW5hdHRzOworCVNpemUJCXRvdGFsX3NpemU7CiAKIAkv KiBHZXQgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgKi8KIAluYXR0cyA9IHBxX2dldG1zZ2ludChpbiwg Mik7CkBAIC04NTAsNiArODUyLDcgQEAgbG9naWNhbHJlcF9yZWFkX3R1cGxlKFN0cmluZ0luZm8g aW4sIExvZ2ljYWxSZXBUdXBsZURhdGEgKnR1cGxlKQogCXR1cGxlLT5jb2x2YWx1ZXMgPSAoU3Ry aW5nSW5mb0RhdGEgKikgcGFsbG9jMChuYXR0cyAqIHNpemVvZihTdHJpbmdJbmZvRGF0YSkpOwog CXR1cGxlLT5jb2xzdGF0dXMgPSAoY2hhciAqKSBwYWxsb2MobmF0dHMgKiBzaXplb2YoY2hhcikp OwogCXR1cGxlLT5uY29scyA9IG5hdHRzOworCXRvdGFsX3NpemUgPSBuYXR0cyAqIChzaXplb2Yo Y2hhcikgKyBzaXplb2YoU3RyaW5nSW5mb0RhdGEpKTsKIAogCS8qIFJlYWQgdGhlIGRhdGEgKi8K IAlmb3IgKGkgPSAwOyBpIDwgbmF0dHM7IGkrKykKQEAgLTg4MCw2ICs4ODMsOSBAQCBsb2dpY2Fs cmVwX3JlYWRfdHVwbGUoU3RyaW5nSW5mbyBpbiwgTG9naWNhbFJlcFR1cGxlRGF0YSAqdHVwbGUp CiAJCQkJdmFsdWUtPmxlbiA9IGxlbjsKIAkJCQl2YWx1ZS0+Y3Vyc29yID0gMDsKIAkJCQl2YWx1 ZS0+bWF4bGVuID0gbGVuOworCisJCQkJLyogbWVtb3J5IGZvciB0dXBsZSAqLworCQkJCXRvdGFs X3NpemUgKz0gbGVuICsgMTsKIAkJCQlicmVhazsKIAkJCWNhc2UgTE9HSUNBTFJFUF9DT0xVTU5f QklOQVJZOgogCQkJCWxlbiA9IHBxX2dldG1zZ2ludChpbiwgNCk7CS8qIHJlYWQgbGVuZ3RoICov CkBAIC04OTMsMTEgKzg5OSwxNyBAQCBsb2dpY2FscmVwX3JlYWRfdHVwbGUoU3RyaW5nSW5mbyBp biwgTG9naWNhbFJlcFR1cGxlRGF0YSAqdHVwbGUpCiAJCQkJdmFsdWUtPmxlbiA9IGxlbjsKIAkJ CQl2YWx1ZS0+Y3Vyc29yID0gMDsKIAkJCQl2YWx1ZS0+bWF4bGVuID0gbGVuOworCisJCQkJLyog bWVtb3J5IGZvciB0dXBsZSAqLworCQkJCXRvdGFsX3NpemUgKz0gbGVuICsgMTsKIAkJCQlicmVh azsKIAkJCWRlZmF1bHQ6CiAJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBkYXRhIHJlcHJl c2VudGF0aW9uIHR5cGUgJyVjJyIsIGtpbmQpOwogCQl9CiAJfQorCisJLyogUmVjb3JkIG1lbW9y eSBjb25zdW1wdGlvbiBmb3IgdHVwbGUgKi8KKwlhZGRfYXBwbHlfeGFjdF9zaXplKHRvdGFsX3Np emUpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5j LmMKaW5kZXggZjA3OTgzYS4uNWJiMWQ2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC90YWJsZXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3RhYmxlc3luYy5jCkBAIC0xMTQ5LDYgKzExNDksMTIgQEAgY29weV90YWJsZV9kb25l OgogCU15TG9naWNhbFJlcFdvcmtlci0+cmVsc3RhdGVfbHNuID0gKm9yaWdpbl9zdGFydHBvczsK IAlTcGluTG9ja1JlbGVhc2UoJk15TG9naWNhbFJlcFdvcmtlci0+cmVsbXV0ZXgpOwogCisJLyog UmVwb3J0IHRoZSBzdWNjZXNzIG9mIHRhYmxlIHN5bmMuICovCisJcGdzdGF0X3JlcG9ydF9zdWJ3 b3JrZXJfeGFjdF9lbmQoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCSBNeUxv Z2ljYWxSZXBXb3JrZXItPnJlbGlkLAorCQkJCQkJCQkJIDAgLyogbm8gbG9naWNhbCBtZXNzYWdl IHR5cGUgKi8gLAorCQkJCQkJCQkJIDAgLyogeGFjdCBzaXplICovICk7CisKIAkvKgogCSAqIEZp bmFsbHksIHdhaXQgdW50aWwgdGhlIG1haW4gYXBwbHkgd29ya2VyIHRlbGxzIHVzIHRvIGNhdGNo IHVwIGFuZCB0aGVuCiAJICogcmV0dXJuIHRvIGxldCBMb2dpY2FsUmVwQXBwbHlMb29wIGRvIGl0 LgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggMmU3OTMwMi4u ZWM5YzI3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0y MjEsNiArMjIxLDE4IEBAIHR5cGVkZWYgc3RydWN0IEFwcGx5RXJyb3JDYWxsYmFja0FyZwogCUxv Z2ljYWxSZXBNc2dUeXBlIGNvbW1hbmQ7CS8qIDAgaWYgaW52YWxpZCAqLwogCUxvZ2ljYWxSZXBS ZWxNYXBFbnRyeSAqcmVsOwogCisJLyoKKwkgKiBTdG9yZSBkYXRhIHNpemUgb2YgdGhpcyB0cmFu c2FjdGlvbi4KKwkgKgorCSAqIFRoZSBieXRlIHNpemUgb2YgdHJhbnNhY3Rpb24gb24gdGhlIHB1 Ymxpc2hlciBpcyBjYWxjdWxhdGVkIGJ5CisJICogUmVvcmRlckJ1ZmZlckNoYW5nZVNpemUoKSBi YXNlZCBvbiB0aGUgUmVvcmRlckJ1ZmZlckNoYW5nZSBzdHJ1Y3R1cmUuCisJICogQnV0IG9uIHRo ZSBzdWJzY3JpYmVyLCBjb25zdW1lZCByZXNvdXJjZXMgYXJlIG5vdCBzYW1lIGFzIHRoZQorCSAq IHB1Ymxpc2hlcidzIGRlY29kaW5nIHByb2Nlc3NzaW5nIGFuZCByZXF1aXJlZCB0byBiZSBjb21w dXRlZCBpbgorCSAqIGRpZmZlcmVudCB3YXkuIFRoZXJlZm9yZSwgdGhlIGV4YWN0IHNhbWUgYnl0 ZSBzaXplIGlzIG5vdCByZXN0b3JlZCBvbgorCSAqIHRoZSBzdWJzY3JpYmVyIHVzdWFsbHkuCisJ ICovCisJUGdTdGF0X0NvdW50ZXIgYnl0ZXM7CisKIAkvKiBSZW1vdGUgbm9kZSBpbmZvcm1hdGlv biAqLwogCWludAkJCXJlbW90ZV9hdHRudW07CS8qIC0xIGlmIGludmFsaWQgKi8KIAlUcmFuc2Fj dGlvbklkIHJlbW90ZV94aWQ7CkBAIC0yMzEsNiArMjQzLDcgQEAgc3RhdGljIEFwcGx5RXJyb3JD YWxsYmFja0FyZyBhcHBseV9lcnJvcl9jYWxsYmFja19hcmcgPQogewogCS5jb21tYW5kID0gMCwK IAkucmVsID0gTlVMTCwKKwkuYnl0ZXMgPSAwLAogCS5yZW1vdGVfYXR0bnVtID0gLTEsCiAJLnJl bW90ZV94aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZCwKIAkudHMgPSAwLApAQCAtMjkzLDYgKzMw Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhbnVwX3N1YnhhY3RfaW5mbyh2b2lkKTsKIHN0 YXRpYyB2b2lkIHN0cmVhbV9jbGVhbnVwX2ZpbGVzKE9pZCBzdWJpZCwgVHJhbnNhY3Rpb25JZCB4 aWQpOwogc3RhdGljIHZvaWQgc3RyZWFtX29wZW5fZmlsZShPaWQgc3ViaWQsIFRyYW5zYWN0aW9u SWQgeGlkLCBib29sIGZpcnN0KTsKIHN0YXRpYyB2b2lkIHN0cmVhbV93cml0ZV9jaGFuZ2UoY2hh ciBhY3Rpb24sIFN0cmluZ0luZm8gcyk7CisKIHN0YXRpYyB2b2lkIHN0cmVhbV9jbG9zZV9maWxl KHZvaWQpOwogCiBzdGF0aWMgdm9pZCBzZW5kX2ZlZWRiYWNrKFhMb2dSZWNQdHIgcmVjdnBvcywg Ym9vbCBmb3JjZSwgYm9vbCByZXF1ZXN0UmVwbHkpOwpAQCAtMzA0LDYgKzMxOCw5IEBAIHN0YXRp YyB2b2lkIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCk7CiAvKiBwcm90b3R5cGUgbmVl ZGVkIGJlY2F1c2Ugb2Ygc3RyZWFtX2NvbW1pdCAqLwogc3RhdGljIHZvaWQgYXBwbHlfZGlzcGF0 Y2goU3RyaW5nSW5mbyBzKTsKIAorc3RhdGljIHZvaWQgdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXpl KExvZ2ljYWxSZXBNc2dUeXBlIGFjdGlvbiwKKwkJCQkJCQkJCSBib29sIGlzX3BhcnRpdGlvbmVk KTsKKwogc3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2NvbW1pdF9pbnRlcm5hbChMb2dpY2FsUmVw Q29tbWl0RGF0YSAqY29tbWl0X2RhdGEpOwogc3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2luc2Vy dF9pbnRlcm5hbChBcHBseUV4ZWN1dGlvbkRhdGEgKmVkYXRhLAogCQkJCQkJCQkJCSBSZXN1bHRS ZWxJbmZvICpyZWxpbmZvLApAQCAtODE4LDYgKzgzNSwxMSBAQCBhcHBseV9oYW5kbGVfY29tbWl0 KFN0cmluZ0luZm8gcykKIAkvKiBQcm9jZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3lu Y2hyb25pemVkIGluIHBhcmFsbGVsLiAqLwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMoY29tbWl0 X2RhdGEuZW5kX2xzbik7CiAKKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZChNeUxv Z2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJIEludmFsaWRPaWQsCisJCQkJCQkJCQkg TE9HSUNBTF9SRVBfTVNHX0NPTU1JVCwKKwkJCQkJCQkJCSBnZXRfYXBwbHlfeGFjdF9zaXplKCkp OworCiAJcGdzdGF0X3JlcG9ydF9hY3Rpdml0eShTVEFURV9JRExFLCBOVUxMKTsKIAlyZXNldF9h cHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsKIH0KQEAgLTkyMiw2ICs5NDQsMTMgQEAgYXBwbHlf aGFuZGxlX3ByZXBhcmUoU3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0 IGFyZSBiZWluZyBzeW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5n X3RhYmxlcyhwcmVwYXJlX2RhdGEuZW5kX2xzbik7CiAKKwkvKiBVcGRhdGUgdGhlIG1lbW9yeSBj b25zdW1wdGlvbiBvZiBwcmVwYXJlIGFuZCByZXBvcnQgKi8KKwl1cGRhdGVfYXBwbHlfY2hhbmdl X3NpemUoTE9HSUNBTF9SRVBfTVNHX1BSRVBBUkUsIGZhbHNlKTsKKwlwZ3N0YXRfcmVwb3J0X3N1 Yndvcmtlcl90d29waGFzZV94YWN0KE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJCQkJ CQkJICBMT0dJQ0FMX1JFUF9NU0dfUFJFUEFSRSwKKwkJCQkJCQkJCQkgIGdldF9hcHBseV94YWN0 X3NpemUoKSwKKwkJCQkJCQkJCQkgIHByZXBhcmVfZGF0YS5naWQpOworCiAJcGdzdGF0X3JlcG9y dF9hY3Rpdml0eShTVEFURV9JRExFLCBOVUxMKTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0 X2luZm8oKTsKIH0KQEAgLTk2Myw2ICs5OTIsMTMgQEAgYXBwbHlfaGFuZGxlX2NvbW1pdF9wcmVw YXJlZChTdHJpbmdJbmZvIHMpCiAJLyogUHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJlIGJlaW5n IHN5bmNocm9uaXplZCBpbiBwYXJhbGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFibGVzKHBy ZXBhcmVfZGF0YS5lbmRfbHNuKTsKIAorCS8qIFVwZGF0ZSB0aGUgdHJhbnNhY3Rpb24gc2l6ZSBh bmQgcmVwb3J0ICovCisJdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19D T01NSVRfUFJFUEFSRUQsIGZhbHNlKTsKKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl90d29waGFz ZV94YWN0KE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJCQkJCQkJICBMT0dJQ0FMX1JF UF9NU0dfQ09NTUlUX1BSRVBBUkVELAorCQkJCQkJCQkJCSAgZ2V0X2FwcGx5X3hhY3Rfc2l6ZSgp LAorCQkJCQkJCQkJCSAgcHJlcGFyZV9kYXRhLmdpZCk7CisKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2 aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygp OwogfQpAQCAtMTAxNCw2ICsxMDUwLDEzIEBAIGFwcGx5X2hhbmRsZV9yb2xsYmFja19wcmVwYXJl ZChTdHJpbmdJbmZvIHMpCiAJLyogUHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJlIGJlaW5nIHN5 bmNocm9uaXplZCBpbiBwYXJhbGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFibGVzKHJvbGxi YWNrX2RhdGEucm9sbGJhY2tfZW5kX2xzbik7CiAKKwkvKiBVcGRhdGUgdGhlIHRyYW5zYWN0aW9u IHNpemUgYW5kIHJlcG9ydCAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JF UF9NU0dfUk9MTEJBQ0tfUFJFUEFSRUQsIGZhbHNlKTsKKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtl cl90d29waGFzZV94YWN0KE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJCQkJCQkJICBM T0dJQ0FMX1JFUF9NU0dfUk9MTEJBQ0tfUFJFUEFSRUQsCisJCQkJCQkJCQkJICBnZXRfYXBwbHlf eGFjdF9zaXplKCksCisJCQkJCQkJCQkJICByb2xsYmFja19kYXRhLmdpZCk7CisKIAlwZ3N0YXRf cmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCXJlc2V0X2FwcGx5X2Vycm9yX2Nv bnRleHRfaW5mbygpOwogfQpAQCAtMTA2Niw2ICsxMTA5LDE1IEBAIGFwcGx5X2hhbmRsZV9zdHJl YW1fcHJlcGFyZShTdHJpbmdJbmZvIHMpCiAJLyogUHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJl IGJlaW5nIHN5bmNocm9uaXplZCBpbiBwYXJhbGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFi bGVzKHByZXBhcmVfZGF0YS5lbmRfbHNuKTsKIAorCS8qCisJICogUmVwb3J0IHRoZSBwcmVwYXJl ZCBzdHJlYW1pbmcgeGFjdCBzaXplIHRvIHRoZSBzdGF0cyBjb2xsZWN0b3IgaW4gYQorCSAqIHBy ZXBhcmVkIHhhY3QgbWFubmVyIHRvIG1ha2UgaXQgc3Vydml2ZSBvdmVyIHRoZSByZXN0YXJ0Lgor CSAqLworCXBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoTXlMb2dpY2FsUmVw V29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCQkgIExPR0lDQUxfUkVQX01TR19TVFJFQU1fUFJFUEFS RSwKKwkJCQkJCQkJCQkgIGdldF9hcHBseV94YWN0X3NpemUoKSwKKwkJCQkJCQkJCQkgIHByZXBh cmVfZGF0YS5naWQpOworCiAJcGdzdGF0X3JlcG9ydF9hY3Rpdml0eShTVEFURV9JRExFLCBOVUxM KTsKIAogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwpAQCAtMTQzOCw2ICsxNDkw LDEyIEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fY29tbWl0KFN0cmluZ0luZm8gcykKIAkvKiBQcm9j ZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAq LwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMoY29tbWl0X2RhdGEuZW5kX2xzbik7CiAKKwkvKiBS ZXBvcnQgYW5kIGNsZWFuIHVwIHRoZSB4aWQgKi8KKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94 YWN0X2VuZChNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJIEludmFsaWRPaWQs CisJCQkJCQkJCQkgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9DT01NSVQsCisJCQkJCQkJCQkgZ2V0 X2FwcGx5X3hhY3Rfc2l6ZSgpKTsKKwogCXBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoU1RBVEVfSURM RSwgTlVMTCk7CiAKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsKQEAgLTE1Nzks NiArMTYzNywxMCBAQCBhcHBseV9oYW5kbGVfaW5zZXJ0KFN0cmluZ0luZm8gcykKIAlzbG90X2Zp bGxfZGVmYXVsdHMocmVsLCBlc3RhdGUsIHJlbW90ZXNsb3QpOwogCU1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhvbGRjdHgpOwogCisJLyogVXBkYXRlIHRyYW5zYWN0aW9uIHNpemUgKi8KKwl1cGRhdGVf YXBwbHlfY2hhbmdlX3NpemUoTE9HSUNBTF9SRVBfTVNHX0lOU0VSVCwKKwkJCQkJCQkgcmVsLT5s b2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpOwor CiAJLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGluc2VydCB0aGUgdHVwbGUgaW50byBhIHBh cnRpdGlvbi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJ TkRfUEFSVElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRh LApAQCAtMTczNiw3ICsxNzk4LDExIEBAIGFwcGx5X2hhbmRsZV91cGRhdGUoU3RyaW5nSW5mbyBz KQogCQkJCQloYXNfb2xkdHVwID8gJm9sZHR1cCA6ICZuZXd0dXApOwogCU1lbW9yeUNvbnRleHRT d2l0Y2hUbyhvbGRjdHgpOwogCi0JLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGFwcGx5IHVw ZGF0ZSB0byBjb3JyZWN0IHBhcnRpdGlvbi4gKi8KKwkvKiBVcGRhdGUgdHJhbnNhY3Rpb24gc2l6 ZSAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfVVBEQVRFLAor CQkJCQkJCSByZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJ T05FRF9UQUJMRSk7CisKKwkvKiBGb3IgYSBwYXJ0aXRpb25lZCB0YWJsZSwgYXBwbHkgdXBkYXRl IHRvIGNvcmVjdCBwYXJ0aXRpb24uICovCiAJaWYgKHJlbC0+bG9jYWxyZWwtPnJkX3JlbC0+cmVs a2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKQogCQlhcHBseV9oYW5kbGVfdHVwbGVf cm91dGluZyhlZGF0YSwKIAkJCQkJCQkJICAgcmVtb3Rlc2xvdCwgJm5ld3R1cCwgQ01EX1VQREFU RSk7CkBAIC0xODcwLDYgKzE5MzYsMTAgQEAgYXBwbHlfaGFuZGxlX2RlbGV0ZShTdHJpbmdJbmZv IHMpCiAJc2xvdF9zdG9yZV9kYXRhKHJlbW90ZXNsb3QsIHJlbCwgJm9sZHR1cCk7CiAJTWVtb3J5 Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwkvKiBVcGRhdGUgdHJhbnNhY3Rpb24gc2l6ZSAq LworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfREVMRVRFLAorCQkJ CQkJCSByZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05F RF9UQUJMRSk7CisKIAkvKiBGb3IgYSBwYXJ0aXRpb25lZCB0YWJsZSwgYXBwbHkgZGVsZXRlIHRv IGNvcnJlY3QgcGFydGl0aW9uLiAqLwogCWlmIChyZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtp bmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKIAkJYXBwbHlfaGFuZGxlX3R1cGxlX3Jv dXRpbmcoZWRhdGEsCkBAIC0yNDIxLDYgKzI0OTEsODEgQEAgYXBwbHlfZGlzcGF0Y2goU3RyaW5n SW5mbyBzKQogfQogCiAvKgorICogU3Vic2NyaWJlciBzaWRlIGltcGxlbWVudGF0aW9uIGVxdWl2 YWxlbnQgdG8gUmVvcmRlckJ1ZmZlckNoYW5nZVNpemUKKyAqIG9mIHRoZSBwdWJsaXNoZXIuCisg KgorICogQWNjb3JkaW5nIHRvIHRoZSBsb2dpY2FsIHJlcGxpY2F0aW9uIG1lc3NhZ2UgdHlwZSwg cmVjb3JkIG1ham9yCisgKiByZXNvdXJjZSBjb25zdW1wdGlvbnMgb2YgdGhpcyBzdWJzY3JpcHRp b24gZm9yIGVhY2ggbWVzc2FnZS4KKyAqIEF0IHByZXNlbnQsIGRvIG5vdCBjb2xsZWN0IGRhdGEg ZnJvbSBnZW5lcmljIGZ1bmN0aW9ucyB0byBrZWVwCisgKiBjb2RlIHNpbXBsaWNpdHkgZXhjZXB0 IGZvciB0dXBsZSBsZW5ndGgsIHNpbmNlIHRoZSBpbXBsZW1lbnRhdGlvbgorICogY29tcGxleGl0 eSB2ZXJzdXMgYmVuZWZpdCB0cmFkZW9mZiBzaG91bGQgbm90IGJlIGdvb2QuCisgKiBJbiB0ZXJt cyBvZiB0dXBsZSBsZW5ndGggY29uc3VtcHRpb24sIHNlZSBsb2dpY2FscmVwX3JlYWRfdHVwbGUu CisgKgorICogQWxzbywgYWRkIG11bHRpcGxlIHZhbHVlcyBhdCBvbmNlIGluIG9yZGVyIHRvIHJl ZHVjZSB0aGUgbnVtYmVyCisgKiBvZiBjYWxscyB0byB0aGlzIGZ1bmN0aW9uLCBhbHRob3VnaCB0 aGUgZGlzYWR2YW50YWdlIG9mIHRoaXMgd2F5CisgKiBpcyB3ZSBjYW5ub3QgZ2V0IGNvcnJlY3Qg dHJhbnNhY3Rpb24gc2l6ZSB3aGVuIHdlIGdldCBhbiBlcnJvci4KKyAqCisgKiAnaXNfcGFydGl0 aW9uZWQnIGlzIHVzZWQgdG8gYWRkIHNvbWUgZXh0cmEgc2l6ZS4KKyAqLworc3RhdGljIHZvaWQK K3VwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMb2dpY2FsUmVwTXNnVHlwZSBhY3Rpb24sIGJvb2wg aXNfcGFydGl0aW9uZWQpCit7CisJaW50NjQJCXNpemUgPSAwOworCisJc3dpdGNoIChhY3Rpb24p CisJeworCQkJLyogTm8gc3BlY2lhbCBtZW1vcnkgY29uc3VtcHRpb24gKi8KKwkJY2FzZSBMT0dJ Q0FMX1JFUF9NU0dfQkVHSU46CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0NPTU1JVDoKKwkJY2Fz ZSBMT0dJQ0FMX1JFUF9NU0dfVFJVTkNBVEU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1RZUEU6 CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX09SSUdJTjoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df TUVTU0FHRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVHSU5fUFJFUEFSRToKKwkJY2FzZSBM T0dJQ0FMX1JFUF9NU0dfUkVMQVRJT046CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQ X01TR19JTlNFUlQ6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1VQREFURToKKwkJY2FzZSBMT0dJ Q0FMX1JFUF9NU0dfREVMRVRFOgorCQkJQXNzZXJ0KCFpbl9zdHJlYW1lZF90cmFuc2FjdGlvbik7 CisKKwkJCS8qCisJCQkgKiBDb21wdXRlIHNpemUgYmFzZWQgb24gQXBwbHlFeGVjdXRpb25EYXRh LiBUaGUgc2l6ZSBvZgorCQkJICogTG9naWNhbFJlcFJlbE1hcEVudHJ5IGNhbiBiZSBza2lwcGVk IGJlY2F1c2UgaXQgaXMgb2J0YWluZWQKKwkJCSAqIGZyb20gaGFzaF9zZWFyY2ggaW4gbG9naWNh bHJlcF9yZWxfb3Blbi4KKwkJCSAqLworCQkJc2l6ZSArPSBzaXplb2YoQXBwbHlFeGVjdXRpb25E YXRhKSArIHNpemVvZihFU3RhdGUpICsKKwkJCQlzaXplb2YoUmVzdWx0UmVsSW5mbykgKyBzaXpl b2YoUmVzdWx0UmVsSW5mbyk7CisKKwkJCS8qIEFkZCBzb21lIGV4dHJhIHNpemUgaWYgdGhlIHRh cmdldCByZWxhdGlvbiBpcyBwYXJ0aXRpb25lZC4gKi8KKwkJCWlmIChpc19wYXJ0aXRpb25lZCkK KwkJCQlzaXplICs9IHNpemVvZihNb2RpZnlUYWJsZVN0YXRlKSArIHNpemVvZihQYXJ0aXRpb25U dXBsZVJvdXRpbmcpOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfUFJFUEFS RToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVEOgorCQljYXNlIExPR0lD QUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRDoKKwkJCXNpemUgKz0gc2l6ZW9mKEZsdXNoUG9z aXRpb24pOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX1NUQVJU OgorCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fU1RPUDoKKwkJY2FzZSBMT0dJQ0FMX1JF UF9NU0dfU1RSRUFNX0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX1BSRVBB UkU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9BQk9SVDoKKwkJZGVmYXVsdDoKKwkJ CWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPVE9DT0xfVklPTEFUSU9O KSwKKwkJCQkJIGVycm1zZygiaW52YWxpZCBsb2dpY2FsIHJlcGxpY2F0aW9uIG1lc3NhZ2UgdHlw ZSBcIiVjXCIiLCBhY3Rpb24pKSk7CisJfQorCisJLyogVXBkYXRlIHRoZSB0b3RhbCBzaXplIG9m IGNvbnN1bXB0aW9uIHdoZW4gbmVjZXNzYXJ5ICovCisJaWYgKHNpemUgIT0gMCkKKwkJYWRkX2Fw cGx5X3hhY3Rfc2l6ZShzaXplKTsKK30KKworLyoKICAqIEZpZ3VyZSBvdXQgd2hpY2ggd3JpdGUv Zmx1c2ggcG9zaXRpb25zIHRvIHJlcG9ydCB0byB0aGUgd2Fsc2VuZGVyIHByb2Nlc3MuCiAgKgog ICogV2UgY2FuJ3Qgc2ltcGx5IHJlcG9ydCBiYWNrIHRoZSBsYXN0IExTTiB0aGUgd2Fsc2VuZGVy IHNlbnQgdXMgYmVjYXVzZSB0aGUKQEAgLTMyOTQsNiArMzQzOSw3IEBAIHN0cmVhbV93cml0ZV9j aGFuZ2UoY2hhciBhY3Rpb24sIFN0cmluZ0luZm8gcykKIAlCdWZGaWxlV3JpdGUoc3RyZWFtX2Zk LCAmcy0+ZGF0YVtzLT5jdXJzb3JdLCBsZW4pOwogfQogCisKIC8qCiAgKiBDbGVhbnVwIHRoZSBt ZW1vcnkgZm9yIHN1YnhhY3RzIGFuZCByZXNldCB0aGUgcmVsYXRlZCB2YXJpYWJsZXMuCiAgKi8K QEAgLTM2MDUsNiArMzc1MSwzMiBAQCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcpCiB9 CiAKIC8qCisgKiBHZXQgdHJhbnNhY3Rpb24gc2l6ZSBzdG9yZWQgb24gYXBwbHkgZXJyb3IgY2Fs bGJhY2suCisgKiBUaGlzIGlzIHVzZWQgbm90IG9ubHkgZm9yIGVycm9yIGJ1dCBhbHNvIGNvbW1p dCBhbmQKKyAqIHJvbGxiYWNrLiBFeHBvcnRlZCBzbyB0aGF0IHN0YXRzIGNvbGxlY3RvciBjYW4g dXRpbGl6ZQorICogdGhpcyB2YWx1ZS4KKyAqLworaW50NjQKK2dldF9hcHBseV94YWN0X3NpemUo dm9pZCkKK3sKKwlyZXR1cm4gYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzOworfQorCisv KiBBZGQgc2l6ZSB0byBhcHBseSB0cmFuc2FjdGlvbiBzaXplICovCit2b2lkCithZGRfYXBwbHlf eGFjdF9zaXplKGludDY0IHNpemUpCit7CisJYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVz ICs9IHNpemU7Cit9CisKKy8qIFJlc2V0IHRyYW5zYWN0aW9uIHNpemUgb24gYXBwbHkgZXJyb3Ig Y2FsbGJhY2sgKi8KK3ZvaWQKK3Jlc2V0X2FwcGx5X3hhY3Rfc2l6ZSh2b2lkKQoreworCWFwcGx5 X2Vycm9yX2NhbGxiYWNrX2FyZy5ieXRlcyA9IDA7Cit9CisKKy8qCiAgKiBJcyBjdXJyZW50IHBy b2Nlc3MgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcj8KICAqLwogYm9vbApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBhMzRjMGI2Li5kNzI2NGZjIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjQxNCw3ICsyNDE0LDcgQEAgcGdfc3RhdF9nZXRfcmVw bGljYXRpb25fc2xvdChQR19GVU5DVElPTl9BUkdTKQogRGF0dW0KIHBnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl93b3JrZXIoUEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRf U1VCU0NSSVBUSU9OX1dPUktFUl9DT0xTCTkKKyNkZWZpbmUgUEdfU1RBVF9HRVRfU1VCU0NSSVBU SU9OX1dPUktFUl9DT0xTCTE1CiAJT2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCU9p ZAkJCXN1YnJlbGlkOwogCVR1cGxlRGVzYwl0dXBkZXNjOwpAQCAtMjQ0MSwxOSArMjQ0MSwzMSBA QCBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJ CSAgIE9JRE9JRCwgLTEsIDApOwogCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgMiwgInN1YnJlbGlkIiwKIAkJCQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAibGFzdF9lcnJvcl9yZWxpZCIsCisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAiY29tbWl0X2NvdW50 IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgNCwgImNvbW1pdF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDUsICJlcnJvcl9j b3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpIDYsICJlcnJvcl9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJhYm9y dF9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpIDgsICJhYm9ydF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDksICJs YXN0X2Vycm9yX3JlbGlkIiwKIAkJCQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0LCAibGFzdF9lcnJvcl9jb21tYW5kIiwKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDEwLCAibGFzdF9lcnJvcl9j b21tYW5kIiwKIAkJCQkJICAgVEVYVE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgNSwgImxhc3RfZXJyb3JfeGlkIiwKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDExLCAibGFzdF9lcnJvcl94aWQiLAogCQkJCQkg ICBYSURPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpIDYsICJsYXN0X2Vycm9yX2NvdW50IiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpIDEyLCAibGFzdF9lcnJvcl9jb3VudCIsCiAJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJsYXN0 X2Vycm9yX21lc3NhZ2UiLAorCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgMTMsICJsYXN0X2Vycm9yX21lc3NhZ2UiLAogCQkJCQkgICBURVhUT0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA4LCAiZmlyc3RfZXJyb3Jf dGltZSIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNCwgImZp cnN0X2Vycm9yX3RpbWUiLAogCQkJCQkgICBUSU1FU1RBTVBUWk9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgOSwgImxhc3RfZXJyb3JfdGltZSIs CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNSwgImxhc3RfZXJy b3JfdGltZSIsCiAJCQkJCSAgIFRJTUVTVEFNUFRaT0lELCAtMSwgMCk7CiAJQmxlc3NUdXBsZURl c2ModHVwZGVzYyk7CiAKQEAgLTI0NzEsNiArMjQ4MywxNCBAQCBwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25fd29ya2VyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJZWxzZQogCQludWxsc1tpKytdID0gdHJ1 ZTsKIAorCS8qIHRyYW5zYWN0aW9uIHN0YXRzICovCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKHdlbnRyeS0+eGFjdF9jb21taXRfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bSh3ZW50cnktPnhhY3RfY29tbWl0X2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Vycm9yX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Vycm9yX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Fib3J0X2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Fib3J0X2J5dGVzKTsKKwogCS8qIGxhc3RfZXJyb3JfcmVsaWQg Ki8KIAlpZiAoT2lkSXNWYWxpZCh3ZW50cnktPnJlbGlkKSkKIAkJdmFsdWVzW2krK10gPSBPYmpl Y3RJZEdldERhdHVtKHdlbnRyeS0+cmVsaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXgg MjVmNjg1Zi4uZmM2NTRiNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01Mzg5LDkgKzUz ODksOSBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyJywg cHJvcm93cyA9PiAnMScsIHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0Jywg cHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCiAgIHByb3JldHR5cGUgPT4g J3JlY29yZCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKLSAgcHJvYWxsYXJndHlwZXMgPT4g J3tvaWQsb2lkLG9pZCxvaWQsb2lkLHRleHQseGlkLGludDgsdGV4dCx0aW1lc3RhbXB0eix0aW1l c3RhbXB0en0nLAotICBwcm9hcmdtb2RlcyA9PiAne2ksaSxvLG8sbyxvLG8sbyxvLG8sb30nLAot ICBwcm9hcmduYW1lcyA9PiAne3N1YmlkLHN1YnJlbGlkLHN1YmlkLHN1YnJlbGlkLGxhc3RfZXJy b3JfcmVsaWQsbGFzdF9lcnJvcl9jb21tYW5kLGxhc3RfZXJyb3JfeGlkLGxhc3RfZXJyb3JfY291 bnQsbGFzdF9lcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9yX3RpbWUsbGFzdF9lcnJvcl90aW1lfScs CisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxvaWQsb2lkLGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LG9pZCx0ZXh0LHhpZCxpbnQ4LHRleHQsdGltZXN0YW1wdHosdGltZXN0YW1w dHp9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxj b21taXRfY291bnQsY29tbWl0X2J5dGVzLGVycm9yX2NvdW50LGVycm9yX2J5dGVzLGFib3J0X2Nv dW50LGFib3J0X2J5dGVzLGxhc3RfZXJyb3JfcmVsaWQsbGFzdF9lcnJvcl9jb21tYW5kLGxhc3Rf ZXJyb3JfeGlkLGxhc3RfZXJyb3JfY291bnQsbGFzdF9lcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9y X3RpbWUsbGFzdF9lcnJvcl90aW1lfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2Ny aXB0aW9uX3dvcmtlcicgfSwKIHsgb2lkID0+ICc2MTE4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6 IGluZm9ybWF0aW9uIGFib3V0IHN1YnNjcmlwdGlvbicsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3N1YnNjcmlwdGlvbicsIHByb3Jvd3MgPT4gJzEwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLApk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApp bmRleCAyYzI2YjFjLi4yNjY3MTFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAor KysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtODYsNiArODYsOCBAQCB0eXBlZGVmIGVudW0g U3RhdE1zZ1R5cGUKIAlQR1NUQVRfTVRZUEVfRElTQ09OTkVDVCwKIAlQR1NUQVRfTVRZUEVfU1VC U0NSSVBUSU9OUFVSR0UsCiAJUEdTVEFUX01UWVBFX1NVQldPUktFUkVSUk9SLAorCVBHU1RBVF9N VFlQRV9TVUJXT1JLRVJYQUNURU5ELAorCVBHU1RBVF9NVFlQRV9TVUJXT1JLRVJUV09QSEFTRVhB Q1QsCiB9IFN0YXRNc2dUeXBlOwogCiAvKiAtLS0tLS0tLS0tCkBAIC01NTgsNiArNTYwLDU2IEBA IHR5cGVkZWYgc3RydWN0IFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25QdXJnZQogfSBQZ1N0YXRfTXNn U3Vic2NyaXB0aW9uUHVyZ2U7CiAKIC8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9Nc2dTdWJzY3Jp cHRpb25YYWN0RW5kCVNlbnQgYnkgdGhlIGFwcGx5IHdvcmtlciBvciB0aGUgdGFibGUgc3luYyB3 b3JrZXIKKyAqCQkJCQkJCQkJdG8gcmVwb3J0IHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gZW5kcy4K KyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1Yldvcmtlclhh Y3RFbmQKK3sKKwlQZ1N0YXRfTXNnSGRyIG1faGRyOworCisJLyogZGV0ZXJtaW5lIHRoZSB3b3Jr ZXIgZW50cnkgKi8KKwlPaWQJCQltX2RhdGFiYXNlaWQ7CisJT2lkCQkJbV9zdWJpZDsKKwlPaWQJ CQltX3N1YnJlbGlkOworCisJLyoKKwkgKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRyYW5zYWN0aW9u IGNvbW1pdHMgYW5kIHN0cmVhbWluZyB0cmFuc2FjdGlvbgorCSAqIGFib3J0cyB0aGF0IGFyZSBo YW5kbGVkIHdpdGhvdXQgZXJyb3IuCisJICovCisJTG9naWNhbFJlcE1zZ1R5cGUgbV9jb21tYW5k OworCisJLyogbWVtb3J5IGNvbnN1bXB0aW9uIHVzZWQgYnkgdHJhbnNhY3Rpb24gKi8KKwlQZ1N0 YXRfQ291bnRlciBtX3hhY3RfYnl0ZXM7CisKK30gUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQ7 CisKKy8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9Nc2dTdWJXb3JrZXJUd29waGFzZVhhY3QJU2Vu dCBieSB0aGUgYXBwbHkgd29ya2VyIHRvIG1ha2Ugc2l6ZSBvZiBwcmVwYXJlZAorICoJCQkJCQkJ CQl0eG4gcGVyc2lzdGVudCBvdmVyIHRoZSBzZXJ2ZXIgcmVzdGFydCBhbmQgbWFrZSBpdAorICoJ CQkJCQkJCQl2aXNpYmxlIGFmdGVyIGNvbW1pdCBwcmVwYXJlIG9yIHJvbGxiYWNrIHByZXBhcmVk LgorICoJCQkJCQkJCQlUaGlzIGlzIHNlcGFyYXRlZCBmcm9tIFBnU3RhdF9Nc2dTdWJXb3JrZXJY YWN0RW5kCisgKgkJCQkJCQkJCXNvIHRoYXQgd2UgY2FuIHJlZHVjZSBtZXNzYWdlIHNpemUgb2Yg Z2lkIGZvciBvdGhlcgorICoJCQkJCQkJCQlvcGVyYXRpb25zIChlLmcuIG5vcm1hbCBDT01NSVQp IHRoYXQgc2hvdWxkIGhhcHBlbiBtb3JlCisgKgkJCQkJCQkJCWZyZXF1ZW50bHkgdGhhbiBwcmVw YXJlIG9wZXJhdGlvbiB1c3VhbGx5LgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0Cit7CisJUGdTdGF0X01zZ0hkciBtX2hk cjsKKworCS8qIGRldGVybWluZSB0aGUgc3Vic2NyaXB0aW9uICovCisJT2lkCQkJbV9kYXRhYmFz ZWlkOworCU9pZAkJCW1fc3ViaWQ7CisKKwlMb2dpY2FsUmVwTXNnVHlwZSBtX2NvbW1hbmQ7CisJ Y2hhcgkJbV9naWRbR0lEU0laRV07CisJaW50CQkJZ2lkX2xlbjsKKwlQZ1N0YXRfQ291bnRlciBt X3hhY3RfYnl0ZXM7CisKK30gUGdTdGF0X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdDsKKworLyog LS0tLS0tLS0tLQogICogUGdTdGF0X01zZ1N1YldvcmtlckVycm9yCQlTZW50IGJ5IHRoZSBhcHBs eSB3b3JrZXIgb3IgdGhlIHRhYmxlIHN5bmMgd29ya2VyIHRvCiAgKgkJCQkJCQkJcmVwb3J0IHRo ZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9naWNhbCByZXBsaWNhdGlvbi4KICAqIC0tLS0tLS0t LS0KQEAgLTU3Nyw2ICs2MjksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1Yldvcmtl ckVycm9yCiAJT2lkCQkJbV9zdWJyZWxpZDsKIAogCS8qCisJICogVHJhbnNhY3Rpb24gc3RhdHMg b2Ygc3Vic2NyaXB0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQgd2hlbiBhbiBlcnJvcgorCSAqIG9j Y3Vycy4KKwkgKi8KKwlQZ1N0YXRfQ291bnRlciBtX3hhY3RfZXJyb3JfYnl0ZXM7CisKKwkvKgog CSAqIE9pZCBvZiB0aGUgdGFibGUgdGhhdCB0aGUgcmVwb3J0ZXIgd2FzIGFjdHVhbGx5IHByb2Nl c3NpbmcuIG1fcmVsaWQgY2FuCiAJICogYmUgSW52YWxpZE9pZCBpZiBhbiBlcnJvciBvY2N1cnJl ZCBkdXJpbmcgd29ya2VyIGFwcGx5aW5nIGEKIAkgKiBub24tZGF0YS1tb2RpZmljYXRpb24gbWVz c2FnZSBzdWNoIGFzIFJFTEFUSU9OLgpAQCAtNzY4LDYgKzgyNiw4IEBAIHR5cGVkZWYgdW5pb24g UGdTdGF0X01zZwogCVBnU3RhdF9Nc2dEaXNjb25uZWN0IG1zZ19kaXNjb25uZWN0OwogCVBnU3Rh dF9Nc2dTdWJzY3JpcHRpb25QdXJnZSBtc2dfc3Vic2NyaXB0aW9ucHVyZ2U7CiAJUGdTdGF0X01z Z1N1YldvcmtlckVycm9yIG1zZ19zdWJ3b3JrZXJlcnJvcjsKKwlQZ1N0YXRfTXNnU3ViV29ya2Vy WGFjdEVuZCBtc2dfc3Vid29ya2VyeGFjdGVuZDsKKwlQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhh c2VYYWN0IG1zZ19zdWJ3b3JrZXJ0d29waGFzZXhhY3Q7CiB9IFBnU3RhdF9Nc2c7CiAKIApAQCAt ODIyLDE2ICs4ODIsMjMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJVGlt ZXN0YW1wVHogc3RhdHNfdGltZXN0YW1wOwkvKiB0aW1lIG9mIGRiIHN0YXRzIGZpbGUgdXBkYXRl ICovCiAKIAkvKgotCSAqIHRhYmxlcywgZnVuY3Rpb25zLCBhbmQgc3Vic2NyaXB0aW9uIHdvcmtl cnMgbXVzdCBiZSBsYXN0IGluIHRoZSBzdHJ1Y3QsCi0JICogYmVjYXVzZSB3ZSBkb24ndCB3cml0 ZSB0aGUgcG9pbnRlcnMgb3V0IHRvIHRoZSBzdGF0cyBmaWxlLgorCSAqIHRhYmxlcywgZnVuY3Rp b25zLCBzdWJzY3JpcHRpb24gd29ya2VycyBhbmQgaXRzIHByZXBhcmVkIHRyYW5zYWN0aW9uCisJ ICogc3RhdHMgbXVzdCBiZSBsYXN0IGluIHRoZSBzdHJ1Y3QsIGJlY2F1c2Ugd2UgZG9uJ3Qgd3Jp dGUgdGhlIHBvaW50ZXJzCisJICogb3V0IHRvIHRoZSBzdGF0cyBmaWxlLgogCSAqCiAJICogc3Vi d29ya2VyIGlzIHRoZSBoYXNoIHRhYmxlIG9mIFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgd2hp Y2ggc3RvcmVzCiAJICogc3RhdGlzdGljcyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcnM6 IGFwcGx5IHdvcmtlciBhbmQgdGFibGUgc3luYwogCSAqIHdvcmtlci4KKwkgKgorCSAqIHN1Yndv cmtlcnNfcHJlcGFyZWRzaXplcyBzaG91bGQgZ2l2ZSBhcHByb3ByaWF0ZSB0cmFuc2FjdGlvbiBz aXplcyBhdAorCSAqIGVpdGhlciBjb21taXQgcHJlcGFyZWQgb3Igcm9sbGJhY2sgcHJlcGFyZWQg dGltZSwgZXZlbiB3aGVuIGl0J3MgYWZ0ZXIKKwkgKiB0aGUgc2VydmVyIHJlc3RhcnQuIFdlIGhh dmUgdGhlIGFwcGx5IHdvcmtlciBzZW5kIHRob3NlIHN0YXRpc3RpY3MgdG8KKwkgKiB0aGUgc3Rh dHMgY29sbGVjdG9yIGF0IHByZXBhcmUgdGltZS4KIAkgKi8KIAlIVEFCCSAgICp0YWJsZXM7CiAJ SFRBQgkgICAqZnVuY3Rpb25zOwogCUhUQUIJICAgKnN1YndvcmtlcnM7CisJSFRBQgkgICAqc3Vi d29ya2Vyc19wcmVwYXJlZHNpemVzOwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIApAQCAtMTAw NSw2ICsxMDcyLDE2IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkK IAlQZ1N0YXRfU3RhdFN1YldvcmtlcktleSBrZXk7CS8qIGhhc2gga2V5IChtdXN0IGJlIGZpcnN0 KSAqLwogCiAJLyoKKwkgKiBDdW11bGF0aXZlIHRyYW5zYWN0aW9uIHN0YXRpc3RpY3Mgb2Ygc3Vi c2NyaXB0aW9uIHdvcmtlcgorCSAqLworCVBnU3RhdF9Db3VudGVyIHhhY3RfY29tbWl0X2NvdW50 OworCVBnU3RhdF9Db3VudGVyIHhhY3RfY29tbWl0X2J5dGVzOworCVBnU3RhdF9Db3VudGVyIHhh Y3RfZXJyb3JfY291bnQ7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9lcnJvcl9ieXRlczsKKwlQZ1N0 YXRfQ291bnRlciB4YWN0X2Fib3J0X2NvdW50OworCVBnU3RhdF9Db3VudGVyIHhhY3RfYWJvcnRf Ynl0ZXM7CisKKwkvKgogCSAqIFN1YnNjcmlwdGlvbiB3b3JrZXIgZXJyb3Igc3RhdGlzdGljcyBy ZXByZXNlbnRpbmcgYW4gZXJyb3IgdGhhdAogCSAqIG9jY3VycmVkIGR1cmluZyBhcHBsaWNhdGlv biBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIG9yIHRoZSBpbml0aWFsIHRhYmxlCiAJICogc3luY2hy b25pemF0aW9uLgpAQCAtMTAxOCw2ICsxMDk1LDIyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9T dGF0U3ViV29ya2VyRW50cnkKIAljaGFyCQllcnJvcl9tZXNzYWdlW1BHU1RBVF9TVUJXT1JLRVJF UlJPUl9NU0dMRU5dOwogfSBQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5OwogCisvKiBwcmVwYXJl ZCB0cmFuc2FjdGlvbiAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtl eQoreworCU9pZAkJCXN1YmlkOworCWNoYXIJCWdpZFtHSURTSVpFXTsKK30gUGdTdGF0X1NXX1By ZXBhcmVkWGFjdEtleTsKKwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVu dHJ5Cit7CisJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleSBrZXk7CS8qIGhhc2gga2V5ICovCisK KwlPaWQJCQlzdWJpZDsKKwljaGFyCQlnaWRbR0lEU0laRV07CisJUGdTdGF0X0NvdW50ZXIgeGFj dF9zaXplOworfSBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnk7CisKIC8qCiAgKiBXb3JraW5n IHN0YXRlIG5lZWRlZCB0byBhY2N1bXVsYXRlIHBlci1mdW5jdGlvbi1jYWxsIHRpbWluZyBzdGF0 aXN0aWNzLgogICovCkBAIC0xMTI4LDYgKzEyMjEsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9jaGVja3N1bV9mYWlsdXJlKHZvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9y ZXBsc2xvdChjb25zdCBQZ1N0YXRfU3RhdFJlcGxTbG90RW50cnkgKnJlcFNsb3RTdGF0KTsKIGV4 dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfY3JlYXRlKGNvbnN0IGNoYXIgKnNsb3Ru YW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfZHJvcChjb25zdCBjaGFy ICpzbG90bmFtZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2Vu ZChPaWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJCQkJCQkJCQkJCSBMb2dpY2FsUmVwTXNnVHlwZSBj b21tYW5kLCBQZ1N0YXRfQ291bnRlciB4YWN0X3NpemUpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdChPaWQgc3ViaWQsIExvZ2ljYWxSZXBNc2dUeXBl IGNvbW1hbmQsCisJCQkJCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIHhhY3Rfc2l6ZSwgY2hhciAq Z2lkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX2Vycm9yKE9pZCBzdWJp ZCwgT2lkIHN1YnJlbGlkLCBPaWQgcmVsaWQsCiAJCQkJCQkJCQkJICBMb2dpY2FsUmVwTXNnVHlw ZSBjb21tYW5kLAogCQkJCQkJCQkJCSAgVHJhbnNhY3Rpb25JZCB4aWQsIGNvbnN0IGNoYXIgKmVy cm1zZyk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2Vy LmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgKaW5kZXggMmFkNjFh MC4uNDM1ODg0ZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdv cmtlci5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaApAQCAt MTYsNCArMTYsOSBAQCBleHRlcm4gdm9pZCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcp OwogCiBleHRlcm4gYm9vbCBJc0xvZ2ljYWxXb3JrZXIodm9pZCk7CiAKKy8qIGZvciB0cmFuc2Fj dGlvbiBzdGF0cyAqLworZXh0ZXJuIGludDY0IGdldF9hcHBseV94YWN0X3NpemUodm9pZCk7Citl eHRlcm4gdm9pZCBhZGRfYXBwbHlfeGFjdF9zaXplKGludDY0IHNpemUpOworZXh0ZXJuIHZvaWQg cmVzZXRfYXBwbHlfeGFjdF9zaXplKHZvaWQpOworCiAjZW5kaWYJCQkJCQkJLyogTE9HSUNBTFdP UktFUl9IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGQ2MGM1YTUuLmJk M2UyMjEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yMDk3LDYgKzIwOTcs MTIgQEAgcGdfc3RhdF9zdWJzY3JpcHRpb258IFNFTEVDVCBzdS5vaWQgQVMgc3ViaWQsCiBwZ19z dGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICBzLnN1Ym5hbWUs CiAgICAgdy5zdWJyZWxpZCwKKyAgICB3LmNvbW1pdF9jb3VudCwKKyAgICB3LmNvbW1pdF9ieXRl cywKKyAgICB3LmVycm9yX2NvdW50LAorICAgIHcuZXJyb3JfYnl0ZXMsCisgICAgdy5hYm9ydF9j b3VudCwKKyAgICB3LmFib3J0X2J5dGVzLAogICAgIHcubGFzdF9lcnJvcl9yZWxpZCwKICAgICB3 Lmxhc3RfZXJyb3JfY29tbWFuZCwKICAgICB3Lmxhc3RfZXJyb3JfeGlkLApAQCAtMjExMiw3ICsy MTE4LDcgQEAgcGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2Vyc3wgU0VMRUNUIHcuc3ViaWQsCiAg ICAgICAgICAgICBwZ19zdWJzY3JpcHRpb25fcmVsLnNycmVsaWQgQVMgcmVsaWQKICAgICAgICAg ICAgRlJPTSBwZ19zdWJzY3JpcHRpb25fcmVsCiAgICAgICAgICAgV0hFUkUgKHBnX3N1YnNjcmlw dGlvbl9yZWwuc3JzdWJzdGF0ZSA8PiAncic6OiJjaGFyIikpIHNyLAotICAgIChMQVRFUkFMIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJlbGlkKSB3KHN1Ymlk LCBzdWJyZWxpZCwgbGFzdF9lcnJvcl9yZWxpZCwgbGFzdF9lcnJvcl9jb21tYW5kLCBsYXN0X2Vy cm9yX3hpZCwgbGFzdF9lcnJvcl9jb3VudCwgbGFzdF9lcnJvcl9tZXNzYWdlLCBmaXJzdF9lcnJv cl90aW1lLCBsYXN0X2Vycm9yX3RpbWUpCisgICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vic2Ny aXB0aW9uX3dvcmtlcihzci5zdWJpZCwgc3IucmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCBjb21t aXRfY291bnQsIGNvbW1pdF9ieXRlcywgZXJyb3JfY291bnQsIGVycm9yX2J5dGVzLCBhYm9ydF9j b3VudCwgYWJvcnRfYnl0ZXMsIGxhc3RfZXJyb3JfcmVsaWQsIGxhc3RfZXJyb3JfY29tbWFuZCwg bGFzdF9lcnJvcl94aWQsIGxhc3RfZXJyb3JfY291bnQsIGxhc3RfZXJyb3JfbWVzc2FnZSwgZmly c3RfZXJyb3JfdGltZSwgbGFzdF9lcnJvcl90aW1lKQogICAgICBKT0lOIHBnX3N1YnNjcmlwdGlv biBzIE9OICgody5zdWJpZCA9IHMub2lkKSkpOwogcGdfc3RhdF9zeXNfaW5kZXhlc3wgU0VMRUNU IHBnX3N0YXRfYWxsX2luZGV4ZXMucmVsaWQsCiAgICAgcGdfc3RhdF9hbGxfaW5kZXhlcy5pbmRl eHJlbGlkLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94 YWN0X3N0YXRzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94YWN0X3N0 YXRzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwOWJlNDIKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjdfd29ya2VyX3hhY3Rfc3Rh dHMucGwKQEAgLTAsMCArMSwxNDYgQEAKKworIyBDb3B5cmlnaHQgKGMpIDIwMjEsIFBvc3RncmVT UUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisKKyMgVGVzdHMgZm9yIHN1YnNjcmlwdGlvbiB3 b3JrZXIgc3RhdGlzdGljcyBkdXJpbmcgYXBwbHkuCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdz OwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6 VXRpbHM7Cit1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAyOworCisjIENyZWF0ZSBwdWJsaXNoZXIg bm9kZQorbXkgJG5vZGVfcHVibGlzaGVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3 KCdwdWJsaXNoZXInKTsKKyRub2RlX3B1Ymxpc2hlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ ICdsb2dpY2FsJyk7Ciskbm9kZV9wdWJsaXNoZXItPmFwcGVuZF9jb25mKAorCSdwb3N0Z3Jlc3Fs LmNvbmYnLCBxcVsKK2xvZ2ljYWxfZGVjb2Rpbmdfd29ya19tZW0gPSA2NGtCCittYXhfcHJlcGFy ZWRfdHJhbnNhY3Rpb25zID0gMTAKK21heF93YWxfc2VuZGVycyA9IDEwCit3YWxfc2VuZGVyX3Rp bWVvdXQgPSAwCitdKTsKKyRub2RlX3B1Ymxpc2hlci0+c3RhcnQ7CisKKyMgQ3JlYXRlIHN1YnNj cmliZXIgbm9kZQorbXkgJG5vZGVfc3Vic2NyaWJlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXItPm5ldygnc3Vic2NyaWJlcicpOworJG5vZGVfc3Vic2NyaWJlci0+aW5pdChhbGxvd3Nfc3Ry ZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5hcHBlbmRfY29uZigKKwkn cG9zdGdyZXNxbC5jb25mJywgcXFbCittYXhfcHJlcGFyZWRfdHJhbnNhY3Rpb25zID0gMTAKK2xv Z19taW5fbWVzc2FnZXMgPSBERUJVRzEKK10pOworJG5vZGVfc3Vic2NyaWJlci0+c3RhcnQ7CisK KyMgU2V0dXAgc3RydWN0dXJlcyBvbiB0aGUgcHVibGlzaGVyIGFuZCB0aGUgc3Vic2NyaWJlcgor JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0ZXN0 X3RhYiAoYSBpbnQpIik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KwkiQ1JFQVRFIFRBQkxFIHRlc3RfdGFiIChhIGludCBwcmltYXJ5IGtleSk7Iik7CisKKyMgU2V0 dXAgbG9naWNhbCByZXBsaWNhdGlvbgorbXkgJHB1Ymxpc2hlcl9jb25uc3RyID0gJG5vZGVfcHVi bGlzaGVyLT5jb25uc3RyIC4gJyBkYm5hbWU9cG9zdGdyZXMnOworJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9wdWIgRk9SIFRB QkxFIHRlc3RfdGFiIik7CisKK215ICRhcHBuYW1lID0gJ3RhcF9zdWInOworbXkgJHN1Ym9wdHMg PSAnc3RyZWFtaW5nID0gb24sIHR3b19waGFzZSA9IG9uLCBjb3B5X2RhdGEgPSBmYWxzZSc7Cisk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCitDUkVBVEUgU1VC U0NSSVBUSU9OIHRhcF9zdWIKK0NPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0ciBhcHBsaWNh dGlvbl9uYW1lPSRhcHBuYW1lJworUFVCTElDQVRJT04gdGFwX3B1YiBXSVRIICgkc3Vib3B0cyk7 CitdKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCRhcHBuYW1lKTsKKwor IyBUaGVyZSdzIG5vIGVudHJ5IGF0IHRoZSBiZWdpbm5pbmcKK215ICRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopIEZST00g cGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VyczsiKTsKK2lzKCRyZXN1bHQsIHEoMCksICdubyBl bnRyeSBmb3IgdHJhbnNhY3Rpb24gc3RhdHMgeWV0Jyk7CisKKyMgQ09NTUlUCiskbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJCRUdJTjsgSU5TRVJUIElOVE8gdGVzdF90 YWIgVkFMVUVTICgxKTsgQ09NTUlUOyIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5 X3VudGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBwZ19zdGF0X3N1 YnNjcmlwdGlvbl93b3JrZXJzIHdoZXJlIGNvbW1pdF9jb3VudCA9IDE7IgorKSBvciBkaWUgImRp ZG4ndCBnZXQgdXBkYXRlcyBvZiB4YWN0IHN0YXRzIGJ5IGNvbW1pdCI7CisKKyMgTm93LCBzdGF0 cyBjb2xsZWN0b3IgbWFrZSB0aGUgYnl0ZXMgdXBkYXRlZCBhbHNvLgorJHJlc3VsdCA9ICRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY29tbWl0X2J5dGVz ID4gMCBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnM7Iik7CitpcygkcmVzdWx0LCBx KHQpLCAnZ290IGNvbnN1bWVkIGJ5dGVzJyk7CisKKyMgU1RSRUFNIENPTU1JVAorJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQkVHSU47IElOU0VSVCBJTlRPIHRlc3Rf dGFiIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMoMTAwMSwgMjAwMCkpOyBDT01NSVQ7IgorKTsKKyRu b2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNv dW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0 X2NvdW50ID0gMjsiCispIG9yIGRpZSAiZGlkbid0IGdldCB1cGRhdGVzIG9mIHhhY3Qgc3RhdHMg Ynkgc3RyZWFtIGNvbW1pdCI7CisKKyMgU1RSRUFNIFBSRVBBUkUgJiBDT01NSVQgUFJFUEFSRUQK KyMgVGhpcyBzaG91bGQgcmVzdG9yZSB0aGUgeGFjdCBzaXplIGJlZm9yZSB0aGUgc2h1dGRvd24u Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxWworQkVHSU47CitJ TlNFUlQgSU5UTyB0ZXN0X3RhYiBWQUxVRVMoZ2VuZXJhdGVfc2VyaWVzKDIwMDEsIDMwMDApKTsK K1BSRVBBUkUgVFJBTlNBQ1RJT04gJ2dpZDEnOworXSk7CisKKyMgVGhpcyBzdHJlYW1lZCBwcmVw YXJlIGlzIG5vdCBkaXNwbGF5ZWQgdW50aWwgdGhlIGNvbW1pdCBwcmVwYXJlZAorIyBvciByb2xs YmFjayBwcmVwYXJlZC4gSGVuY2UsIHRoZXJlJ3Mgbm8gd2F5IHRvIGNvbmZpcm0gdGhhdAorIyBz dGF0cyBjb2xsZWN0b3IgaGFzIHJlY2VpdmVkIHRoZSBieXRlcyBvZiBwcmVwYXJlZCB0cmFuc2Fj dGlvbi4KKyMgU28sIGluc3RlYWQgb2YgY2hlY2tpbmcgdGhlIHZpZXcsIGlzc3VlIG9uZSBtb3Jl IGNvbW1pdHRlZCB0cmFuc2FjdGlvbgorIyBhZnRlciB0aGUgcHJlcGFyZSBhbmQgbWFrZSBzdXJl IHRoYXQgdGhpcyBjb21taXQncyB1cGRhdGUgaXMgZG9uZSwKKyMgd2hpY2ggc2hvdWxkIG1lYW4g dGhlIHByZXZpb3VzIHN0cmVhbWVkIHByZXBhcmUgaXMgYWxyZWFkeSBwcm9jZXNzZWQKKyMgYnkg dGhlIHN0YXRzIGNvbGxlY3RvciBhcyB3ZWxsLgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKwkiQkVHSU47IElOU0VSVCBJTlRPIHRlc3RfdGFiIFZBTFVFUyAoMik7IENP TU1JVDsiKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywK KwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMg d2hlcmUgY29tbWl0X2NvdW50ID0gMzsiCispIG9yIGRpZSAiZGlkbid0IHByb2Nlc3MgdGhlIHVw ZGF0ZXMgb2YgY29tbWl0dGVkIHRyYW5zYWN0aW9uIjsKKworJG5vZGVfc3Vic2NyaWJlci0+cmVz dGFydDsKKworIyBHZXQgY29tbWl0X2J5dGVzIGJlZm9yZSBjb21taXQgcHJlcGFyZWQuCitteSAk dG1wID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBj b21taXRfYnl0ZXMgRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIHdoZXJlIGNvbW1p dF9jb3VudCA9IDM7IgorKTsKKworIyBDb21taXQgcHJlcGFyZWQgaW5jcmVtZW50cyB0aGUgY29t bWl0X2NvdW50LgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNPTU1J VCBQUkVQQVJFRCAnZ2lkMSciKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwo J3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0 aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0X2NvdW50ID0gNDsiCisgICkKKyAgb3IgZGllCisgICJk aWRuJ3QgZ2V0IHVwZGF0ZXMgb2YgeGFjdCBzdGF0cyBieSBzdHJlYW0gcHJlcGFyZSBhbmQgY29t bWl0IHByZXBhcmVkIjsKKworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9z dGdyZXMnLAorCSJTRUxFQ1QgY29tbWl0X2J5dGVzID4gJHRtcCBGUk9NIHBnX3N0YXRfc3Vic2Ny aXB0aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0X2NvdW50ID0gNDsiCispOworCisjIFJPTExCQUNL IFBSRVBBUkVECiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxWwor QkVHSU47CitJTlNFUlQgSU5UTyB0ZXN0X3RhYiBWQUxVRVMgKDMpOworUFJFUEFSRSBUUkFOU0FD VElPTiAnZ2lkMic7CitdKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs ICJST0xMQkFDSyBQUkVQQVJFRCAnZ2lkMiciKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVl cnlfdW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRf c3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hlcmUgYWJvcnRfY291bnQgPSAxOyIKKykgb3IgZGllICJk aWRuJ3QgZ2V0IHVwZGF0ZXMgb2YgeGFjdCBzdGF0cyBieSByb2xsYmFjayBwcmVwYXJlZCI7CisK KyMgZXJyb3Igc3RhdHMgKGJ5IGR1cGxpY2F0aW9uIGVycm9yKQorJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcVsKK0JFR0lOOworSU5TRVJUIElOVE8gdGVzdF90YWIg VkFMVUVTICgxKTsKK0NPTU1JVDsKK10pOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5 X3VudGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBwZ19zdGF0X3N1 YnNjcmlwdGlvbl93b3JrZXJzIHdoZXJlIGVycm9yX2NvdW50ID4gMDsiCispIG9yIGRpZSAiZGlk bid0IGdldCB1cGRhdGVzIG9mIHhhY3Qgc3RhdHMgYnkgZXJyb3IiOworCiskbm9kZV9zdWJzY3Jp YmVyLT5zdG9wKCdmYXN0Jyk7Ciskbm9kZV9wdWJsaXNoZXItPnN0b3AoJ2Zhc3QnKTsKZGlmZiAt LWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5k ZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggZjQxZWYwZC4uMzQwMzY2NyAxMDA2NDQKLS0tIGEvc3Jj L3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5 cGVkZWZzLmxpc3QKQEAgLTE5NDUsNiArMTk0NSw4IEBAIFBnU3RhdF9Nc2dSZXNldHNscnVjb3Vu dGVyCiBQZ1N0YXRfTXNnU0xSVQogUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlCiBQZ1N0YXRf TXNnU3ViV29ya2VyRXJyb3IKK1BnU3RhdF9Nc2dTdWJXb3JrZXJUd29waGFzZVhhY3QKK1BnU3Rh dF9Nc2dTdWJXb3JrZXJYYWN0RW5kCiBQZ1N0YXRfTXNnVGFicHVyZ2UKIFBnU3RhdF9Nc2dUYWJz dGF0CiBQZ1N0YXRfTXNnVGVtcEZpbGUKQEAgLTE5NTgsNiArMTk2MCw4IEBAIFBnU3RhdF9TdGF0 RnVuY0VudHJ5CiBQZ1N0YXRfU3RhdFJlcGxTbG90RW50cnkKIFBnU3RhdF9TdGF0U3ViV29ya2Vy RW50cnkKIFBnU3RhdF9TdGF0U3ViV29ya2VyS2V5CitQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0S2V5 CitQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkKIFBnU3RhdF9TdGF0VGFiRW50cnkKIFBnU3Rh dF9TdWJYYWN0U3RhdHVzCiBQZ1N0YXRfVGFibGVDb3VudHMKLS0gCjIuMi4wCgo= --_003_TYCPR01MB8373CFDCD60CCDB1C35CFA45ED999TYCPR01MB8373jpnp_--