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 1mPyqn-0002yK-SU for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Sep 2021 03:11:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mPyqm-0001Yg-Q1 for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Sep 2021 03:11:12 +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 1mPyqm-0001YD-4L for pgsql-hackers@lists.postgresql.org; Tue, 14 Sep 2021 03:11:12 +0000 Received: from esa12.fujitsucc.c3s2.iphmx.com ([216.71.156.125]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mPyqi-0001a5-VK for pgsql-hackers@lists.postgresql.org; Tue, 14 Sep 2021 03:11:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1631589069; x=1663125069; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=9Kujcp5vma3Xowxx5SwFbMPSR6SCow1X5wRDRx4aGC0=; b=xC4Q9MDgfcGQ6kD+QreKYvFK/9agnGgsFIB17UYRNYGg9p3pvKMJtM0g 4niUO5NsQmEzYGlRrSSI8XvSfl6iLGW3RzDDASjFWUx5L1AE/VeKp1LAv J980wz/iYwZU63uGOrz1gsrM45c5vzGHXr4XKOjvXeQULG0iQZjuLhUz0 NXJ77WHZzz0Nv70ZjsZ94MbTVFaAOw5F5XIylyutzQyk6ffWPeCVD7bmE 6dWHYLXGXUU+ltmmFLJgzQhSFpMSlSgSMZqZCzZ0z8+u+0HxdZ7Vp8htC fO4L19j2ua49MmaKdiV5I0DhDtqe4Aq0NmLxEBDHgolDKB9l4IhwneS5z Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10106"; a="39175292" X-IronPort-AV: E=Sophos;i="5.85,291,1624287600"; d="scan'208";a="39175292" Received: from mail-os2jpn01lp2050.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([104.47.92.50]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 12:11:06 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QKX3VV0PRrvLJBQD8pob0O8jrIbtn5KoNCc9s9CeW/+HbaJCnW35dmGtwADXjjHNOMlvzck7QrINmkrqD30z+aOo/im3SSrgne74cpGXJ0l95EUIATJdalLa3JgGcUzv79R1IiGhaU9nvjsxhnYZipAjkBrlZF3xv9pvbA6t7QuriokUct+3cOi30WrLvnri7BfbIEwEzkTLTBd/fxjMidzxhK3HPE5jeVU5vPHoXejiKJOrpztOqPkrygD0huHmQuGfZaLa/MtjvFc0lojV6TgJxv0Cg8fv+bifdpGDAsdGjCiXo1kulcJoGxuG679sEUP4CwQHSi4ZAOx4Alkzrw== 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; bh=N+zfGEZ1THS2/PKeYiVEs3xgsxhltjjwvF6MaICAXO0=; b=aZ/ulnVaAZxpPafMTTmfme7CNth4ZOigYIXqEz3JMJTGqdPC/UTXECfGQuGdaE99NSUxPqOR0pId+d+TjdMJnLtt+26qviPfXAjvRdhtlkGgAYtJ134DGu5FVQ3eVdQUZelDMdeOOmVYLPB3y5RgY8vayB53pS2Ujdh2dSG0hfEucClM3cI4SrCrsl4KCkw0KwWqDBQQYG2tFOVrNVyl6eRoYj8dfFm7AOugYQe2BBDuQ2wujE3aWL6f844VfkZ+i00ewh1kLg/6kVN7kmQYpxFS1GR8/mFfne/D1QfbMp1EwaSFAXaCbZ+ken7h14sYZrGXAwpCstD+ScHqhsgzhA== 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=N+zfGEZ1THS2/PKeYiVEs3xgsxhltjjwvF6MaICAXO0=; b=QbYGI6YnJ7i7G/sTjIaVch/EWmPNMCuw5DaWCfJly5mvDh2kJNGh2mH0dV7S453BoWI4CVQO8Y0AmxJqwJOLTExFKOjmXdkoyr8FrEajDDATYho4b77iwa8VDD6wSftQgGF9ayn0QVW0/wUOrKoAx1rFR5LDqRm6OOonrYpijgw= Received: from OSBPR01MB4888.jpnprd01.prod.outlook.com (2603:1096:604:79::23) by OSAPR01MB1554.jpnprd01.prod.outlook.com (2603:1096:603:30::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.17; Tue, 14 Sep 2021 03:11:02 +0000 Received: from OSBPR01MB4888.jpnprd01.prod.outlook.com ([fe80::1c54:9251:68ac:2bf5]) by OSBPR01MB4888.jpnprd01.prod.outlook.com ([fe80::1c54:9251:68ac:2bf5%5]) with mapi id 15.20.4500.019; Tue, 14 Sep 2021 03:11:02 +0000 From: "osumi.takamichi@fujitsu.com" To: 'Amit Kapila' , Masahiko Sawada CC: "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+7hgAAMXNsABZwy4NABa8QD4ADxViZA Date: Tue, 14 Sep 2021 03:11:02 +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?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMDktMDJUMDI6MjI6?= =?utf-8?B?MzlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD1jNGI5N2EwMC1lMGMxLTQ4YmEt?= =?utf-8?B?OTk5NC1mMzJkNzlhOGQ0ZTE7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: lists.postgresql.org; dkim=none (message not signed) header.d=none;lists.postgresql.org; dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 29339fb0-f8a8-4fbf-1918-08d9772d4872 x-ms-traffictypediagnostic: OSAPR01MB1554: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:137; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qnFwgbzzq0P4RkfuqnACvZcip6q9oHkDEMCoU9h8ryL8fZQCVUJrux0l/GOFsftcseJyNO4dUO0tAZWgFayiQbCj8+v8AdxjtXO/ioEXFAao47qvtPi+MS7L70CGhEsUPPVSxK2ed8/3jVFoT5JlYwn3qOP+o2rvfJaCs/jfueAqf+e/iKOlyI3D28YqtZTlX8k1cPAqc8RYsp6jOYTqfTgyBtA8TRQj0a1IRmV+yB6NEYzbELnQ8If6CmJWXH2FSZcj3hQi0p2z0tqzvUXDyU7bmqZHxCcJ/t4sgJ3cymLuxtVUrXlJ3HP6WfW/BfCg4Tcv9d3SLNVMAjF5Ikq1myJrp1/BYXIZg8F9SLHxznuJirAyRygLWnMW8ODi+9YLE/gsX5Ocyw3GL34B+X7ON+vOTyaTVkNXeqVDdF96cIiRuoaAeJ5iNGK3Us5QMxirKiT3PqCI+L/31XaYMS6+xwW7aZ+KFiYz3zOccWgWRl4W0SFV5hCh8d3B/91YxXVf2+7rbsQQ7fXdiuvGUooMGuBPSUFLWWxRtBdX4aQtFNawzwqc52ixYoefBOumaLsK9Gef2xM0sN+Cxdhqvipk81gv8CjIzAhd8f+CI5EWy2f8HQN9Nr6QlWgH5M98CyHiL1fSLXWQN3VvdsQAhKl71a6WG8bdIBSgiGyceHfgk2C3qsngTMU5UXmL5BDg7mlvkFkCuzXHGRiPvbRUGkcLjgcvN7wtHxV/TE9vfDdf+jxa0RsmYNW4YVfrSUfqi5AN6WqZGDgpSgyYHrnXuWtTCZcFjl7cQr2ZyiZL//ZsAHc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSBPR01MB4888.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(366004)(39860400002)(346002)(396003)(85182001)(55016002)(4744005)(8936002)(122000001)(86362001)(5660300002)(9686003)(64756008)(66446008)(38100700002)(66556008)(110136005)(66616009)(66476007)(8676002)(316002)(6506007)(53546011)(38070700005)(7696005)(52536014)(71200400001)(478600001)(966005)(2906002)(83380400001)(26005)(76116006)(66946007)(33656002)(4326008)(186003)(99936003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?LzhrZFJ1ekc0OE9Zc2duMWZIZzNLQUtnTDJhcDBFa2tpZmM1VFBOMGtFSUJM?= =?utf-8?B?aW5YRG52N0xRd0o4ZnVvY2l2YW9peFlKanhSdEM3NnhjeTV5M3VjN3diQmR0?= =?utf-8?B?SzA0ck9ZanBaOXJGaTQ1ME4zK21OaEZMVjQ1Vjd1M3U4Wm5YRVpPS1hKWGp5?= =?utf-8?B?VE9kek9NcHRhcVZvK3RwQXhHR0lHSU10ekZ2emZJdThuSVlicXNHd3ZyY2NW?= =?utf-8?B?eUJCeWo2QkpmZjRSMTlKUTdENzk4VEYxNXBhY2RweEloQUE2KytGTXo3RVIw?= =?utf-8?B?c3dkWFhiQ1IyVVlOV3cvMXg5VlZEM2NqQUhmUHRWMVJ2azZYTldTWE5mbnVp?= =?utf-8?B?ck12OFhpM2ZRWHJwejRyQkpzTmFqUTRzWkQweWpiejJQVFR0SnB3eXQ2OFNS?= =?utf-8?B?aGd6WEpoRG5Nb0xmbUpobE8vQU52Z2QvVSt2RFlOYWIrRmVpbk9sdkFORDFC?= =?utf-8?B?SkJTbjM2djJQbk5BSFRvZWZZNkx6S2swZUp3SFBmV3RrbzgrOFM0SWlrMFdS?= =?utf-8?B?QjdVK2orUTVzd0NueCt6emJvMXJnbkpwYWlyVmM5bzY1SVAvMTJkckRXMVdR?= =?utf-8?B?Ny8zbFE4SXpXUE1LN29xOTNWMG5jQmdPS1V3Vm9yOFNzZkxhejNGZnh6TnUr?= =?utf-8?B?Q2V1MVlTbXFyWTNEYkowakR5RDdnaExZUG9UdEJXc2grSGRFdys5ZXVOeDda?= =?utf-8?B?bjdOeWxPbVRYSWtJOVE5anA2eGZTNGtERDVHeDByQ1VXeDdQVGJSY2Jyc0U5?= =?utf-8?B?TDRFUi9VdzJ3QUoyMnFLb3d5Wm1iM1JZT0ZwaVpPUC9VSDZWOG4waWJPUEdT?= =?utf-8?B?UndwcWVEYjVSZkE4ZXI4OFRYNnBKWUFTNXdFUnB4YmNwU25sWkdYbDdPOG9Y?= =?utf-8?B?SDdjOTFxU2J0VlphZ2hMWHd3SzlVY3U4aWcxQTJPSWlYL0xwc3RrNnlSL1NG?= =?utf-8?B?cW43RXB1VkVLS2trcnhucm1LVFRrNHl0c2xjUm9jdWJvMnZ0M09OcDFVMVZp?= =?utf-8?B?U0ZsVzlVVkpZT1gwWFNUZVFtQTBKUXo3SUhrWmtDcDR5SmFsVDZacit3ZHVK?= =?utf-8?B?WVkwOEJmUnFCTFJWdnRqRVR2cTFtVDVKakM2SGs4VUppazFjbElOeCs3YVpt?= =?utf-8?B?WjF4QTZOeng1N3pQN1F5U0VnRXlmOFNtcWdsSkFwL0tld2VRNGxCNGRWckRj?= =?utf-8?B?V0dieGYrUGgrdVRFSWpDRGlVLy9rWlRYcG1FdElRcW9tQ2lhMTh6ek4wU0R3?= =?utf-8?B?ZDZsQXQ0TzRjaDFRYVNTbURPd1NzTnJqdU42SXNodCtDR1drbFJlU0JPZGZh?= =?utf-8?B?NE1QREhQdmN2cXVHRmV3dGtOVzZ2ZklvR3N6R3RzMnlHd0FqOTNwaEZOZE9r?= =?utf-8?B?c21zcG1QQm84ekFCRkIyeDNGd04yOVZaOEtXQnlFNVZDUGxtM0FDd3l4SnVV?= =?utf-8?B?VWZwRnVJK0k0Q0FDYTMxNW05cGJ3R3gzRHdsZHo4K21Ic0tJQVBKYXRmWGhl?= =?utf-8?B?dHFlZGV0aEIySWFHOFQ5bDBpWjJkZkFyQWZWYVo0UUx5QU5OYXhUakorTGVF?= =?utf-8?B?Q2tmRHp0RTBGVG5FdHhHMzNaY0ozRlpKMDZGU01rTWFMVThDMWdWSEwrQyt5?= =?utf-8?B?TCtqRVdBR3VQWSs1amRVZjZsTTMwb091eWZYWWd5ZHA5ZHdTeldFajhGR2dY?= =?utf-8?B?eURSZ2NLVDlsTGdocjEzZW1DMjRzbE5sMEhWSVVVU1k3dUlGdVBqODV3SitX?= =?utf-8?Q?9A/FG9h/sI/ZZ776vhdnVOo+65nfhApJrKbVrSV?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_OSBPR01MB4888507DD52192F0CDF9A49DEDDA9OSBPR01MB4888jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OSBPR01MB4888.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29339fb0-f8a8-4fbf-1918-08d9772d4872 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2021 03:11:02.1157 (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: WFmNAeOfLA1NbXBvduwl4auWFcNBtjjj4N/TbDypq/R6MfDm2j0ew0rTx43AFUlGthRFcZIBLm+fInzCAZDWEJV0LL0VZuUIIEYOX1y+wOU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB1554 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OSBPR01MB4888507DD52192F0CDF9A49DEDDA9OSBPR01MB4888jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkNCg0KT24gVGh1cnNkYXksIFNlcHRlbWJlciA5LCAyMDIxIDU6MDQgUE0gSSB3cm90ZToNCj4g QWxzbywgdGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgdjEyIHBhdGNoLXNldCBvZiBza2lwIHhp ZCwgYXMgZGVzY3JpYmVkIGluIG15DQo+IHByZXZpb3VzIGVtYWlsLg0KPiBOb3RlIHRoYXQgeW91 IG5lZWQgdG8gdXNlIHBhc3QgY29tbWl0LWlkIGlmIHlvdSB3YW50IHRvIGFwcGx5IHYxMiBzZXQu DQo+IEknbGwgdXBkYXRlIG1pbmUgYXMgd2VsbCB3aGVuIHRoZSBsYXRlc3QgcGF0Y2gtc2V0IHYx MyBpcyBzaGFyZWQgb24gaGFja2Vycy4NClJlYmFzZWQsIHVzaW5nIHYxMyBwYXRjaC1zZXQgaW4g WzFdLg0KDQoNClsxIF0gLSBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0NB RDIxQW9CVVhNNE9EZlBGYSUzRGg3TTZ2U0t3T0t5c2FwVWNlM3RTNHJzOW1mVk1tJTJCY1ElNDBt YWlsLmdtYWlsLmNvbQ0KDQoNCkJlc3QgUmVnYXJkcywNCglUYWthbWljaGkgT3N1bWkNCg0K --_002_OSBPR01MB4888507DD52192F0CDF9A49DEDDA9OSBPR01MB4888jpnp_ Content-Type: application/octet-stream; name="extend_subscription_stats_of_transaction_v04.patch" Content-Description: extend_subscription_stats_of_transaction_v04.patch Content-Disposition: attachment; filename="extend_subscription_stats_of_transaction_v04.patch"; size=32543; creation-date="Tue, 14 Sep 2021 03:07:55 GMT"; modification-date="Tue, 14 Sep 2021 03:07:55 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCmluZGV4IDNhNGM5OGIuLjhiZDQ0YWYgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dt bApAQCAtMzA0Niw2ICszMDQ2LDY0IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2Fp dF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAg PHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfY29tbWl0PC9z dHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBzdWNjZXNzZnVsbHkgYXBwbGllZCBp biB0aGlzIHN1YnNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD54YWN0X2Nv bW1pdF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIEFtb3VudCBvZiB0cmFuc2FjdGlvbnMgZGF0YSBzdWNj ZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD54YWN0X2Vycm9yPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9u cyB1bnN1Y2Nlc3NmdWxseSBhcHBsaWVkIGluIHRoaXMgc3Vic2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfZXJyb3JfYnl0ZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5i aWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBBbW91bnQg b2YgdHJhbnNhY3Rpb25zIGRhdGEgdW5zdWNjZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNj cmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD54YWN0X2Fib3J0PC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhYm9ydGVkIGluIHRoaXMgc3Vic2NyaXB0aW9u CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfYWJvcnRfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICBBbW91bnQgb2YgdHJhbnNhY3Rpb25zIGRhdGEgYWJvcnRlZCBpbiB0aGlzIHN1YnNjcmlw dGlvbi4KKyAgICAgICBJbmNyZWFzZSA8bGl0ZXJhbD5sb2dpY2FsX2RlY29kaW5nX3dvcmtfbWVt PC9saXRlcmFsPiBvbiB0aGUgcHVibGlzaGVyCisgICAgICAgdG8gc3VwcHJlc3MgdW5uZWNlc3Nh cnkgY29uc3VtZWQgbmV0d29yayBiYW5kd2lkdGggb3IgY2hhbmdlIGluIG1lbW9yeQorICAgICAg IG9mIHRoZSBzdWJzY3JpYmVyLCBpZiB1bmV4cGVjdGVkIGFtb3VudCBvZiByb2xsYmFja2VkIHRy YW5zYWN0aW9ucyBhcmUKKyAgICAgICBzdHJlYW1lZC4KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0 ZmllbGQ+bGF0ZXN0X2VuZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGltZXN0YW1wIHdpdGgg dGltZSB6b25lPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggYjBjZDhkMi4uM2EyYzY5YiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtOTA5LDEwICs5MDksMzcgQEAgQ1JFQVRFIFZJRVcg cGdfc3RhdF9zdWJzY3JpcHRpb24gQVMKICAgICAgICAgICAgIHN0Lmxhc3RfbXNnX3NlbmRfdGlt ZSwKICAgICAgICAgICAgIHN0Lmxhc3RfbXNnX3JlY2VpcHRfdGltZSwKICAgICAgICAgICAgIHN0 LmxhdGVzdF9lbmRfbHNuLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hh Y3RfY29tbWl0KHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfY29tbWl0LAorICAgICAgICAgICAg cGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0X2J5dGVzKHN1Lm9pZCwgc3QucmVs aWQpIEFTIHhhY3RfY29tbWl0X2J5dGVzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2Ny aXB0aW9uX3hhY3RfZXJyb3Ioc3Uub2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9lcnJvciwKKyAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yX2J5dGVzKHN1Lm9pZCwg c3QucmVsaWQpIEFTIHhhY3RfZXJyb3JfYnl0ZXMsCisgICAgICAgICAgICBwZ19zdGF0X2dldF9z dWJzY3JpcHRpb25feGFjdF9hYm9ydChzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Fib3J0LAor ICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfYWJvcnRfYnl0ZXMoc3Uu b2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9hYm9ydF9ieXRlcywKICAgICAgICAgICAgIHN0LmxhdGVz dF9lbmRfdGltZQogICAgIEZST00gcGdfc3Vic2NyaXB0aW9uIHN1Ci0gICAgICAgICAgICBMRUZU IEpPSU4gcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uKE5VTEwpIHN0Ci0gICAgICAgICAgICAgICAg ICAgICAgT04gKHN0LnN1YmlkID0gc3Uub2lkKTsKKyAgICAgICAgICAgIExFRlQgSk9JTgorCSAg ICAoU0VMRUNUCisJCXMuc3ViaWQsCisJCXMucmVsaWQsCisJCXMucGlkLAorCQlzLnJlY2VpdmVk X2xzbiwKKwkJcy5sYXN0X21zZ19zZW5kX3RpbWUsCisJCXMubGFzdF9tc2dfcmVjZWlwdF90aW1l LAorCQlzLmxhdGVzdF9lbmRfbHNuLAorCQlzLmxhdGVzdF9lbmRfdGltZQorCSAgICBGUk9NIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbihOVUxMKSBzCisJICAgIFVOSU9OIC0tIGFjcXVpcmUgcmVs aWQgb2YgdGFibGUgc3luYyB3b3JrZXIKKwkgICAgU0VMRUNUCisJCXIuc3JzdWJpZCwKKwkJci5z cnJlbGlkLAorCQlOVUxMIGFzIHBpZCwKKwkJTlVMTCBhcyByZWNlaXZlZF9sc24sCisJCU5VTEwg YXMgbGFzdF9tc2dfc2VuZF90aW1lLAorCQlOVUxMIGFzIGxhc3RfbXNnX3JlY2VpcHRfdGltZSwK KwkJTlVMTCBhcyBsYXRlc3RfZW5kX2xzbiwKKwkJTlVMTCBhcyBsYXRlc3RfZW5kX3RpbWUKKwkg ICAgRlJPTSBwZ19zdWJzY3JpcHRpb25fcmVsIHIgV0hFUkUgci5zcnN1YnN0YXRlIDw+ICdyJykg c3QKKwkJT04gKHN0LnN1YmlkID0gc3Uub2lkKTsKIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF9zc2wg QVMKICAgICBTRUxFQ1QKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0 aXRpb24uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uYwppbmRleCA1Yzcy M2JjLi4xMDdhN2FhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCkBAIC0xOTQs NiArMTk0LDE3IEBAIHN0YXRpYyB2b2lkIGZpbmRfbWF0Y2hpbmdfc3VicGxhbnNfcmVjdXJzZShQ YXJ0aXRpb25QcnVuaW5nRGF0YSAqcHJ1bmVkYXRhLAogCiAKIC8qCisgKiBQYXJ0aXRpb25UdXBs ZVJvdXRpbmdTaXplIC0gZXhwb3J0ZWQgdG8gY2FsY3VsYXRlIHRvdGFsIGRhdGEgc2l6ZQorICog b2YgbG9naWNhbCByZXBsaWNhdGlvbiBtZXNhZ2UgYXBwbHksIGJlY2F1c2UgdGhpcyBpcyBvbmUg b2YgdGhlCisgKiBBcHBseUV4ZWN1dGlvbkRhdGEgc3RydWN0IG1lbWJlcnMuCisgKi8KK3NpemVf dAorUGFydGl0aW9uVHVwbGVSb3V0aW5nU2l6ZSh2b2lkKQoreworCXJldHVybiBzaXplb2YoUGFy dGl0aW9uVHVwbGVSb3V0aW5nKTsKK30KKworLyoKICAqIEV4ZWNTZXR1cFBhcnRpdGlvblR1cGxl Um91dGluZyAtIHNldHMgdXAgaW5mb3JtYXRpb24gbmVlZGVkIGR1cmluZwogICogdHVwbGUgcm91 dGluZyBmb3IgcGFydGl0aW9uZWQgdGFibGVzLCBlbmNhcHN1bGF0ZXMgaXQgaW4KICAqIFBhcnRp dGlvblR1cGxlUm91dGluZywgYW5kIHJldHVybnMgaXQuCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYwpp bmRleCBkYTRjNDkzLi5jOTFlY2YzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMKQEAgLTU2LDYg KzU2LDcgQEAKICNpbmNsdWRlICJwb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuaCIKICNpbmNsdWRlICJy ZXBsaWNhdGlvbi9zbG90LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vd2Fsc2VuZGVyLmgiCisj aW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv YmFja2VuZGlkLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9kc20uaCIKICNpbmNsdWRlICJzdG9yYWdl L2ZkLmgiCkBAIC0zODEsNiArMzgyLDcgQEAgc3RhdGljIHZvaWQgcGdzdGF0X3JlY3ZfY2hlY2tz dW1fZmFpbHVyZShQZ1N0YXRfTXNnQ2hlY2tzdW1GYWlsdXJlICptc2csIGludCBsZW4KIHN0YXRp YyB2b2lkIHBnc3RhdF9yZWN2X2Nvbm5zdGF0KFBnU3RhdF9Nc2dDb25uICptc2csIGludCBsZW4p Owogc3RhdGljIHZvaWQgcGdzdGF0X3JlY3ZfcmVwbHNsb3QoUGdTdGF0X01zZ1JlcGxTbG90ICpt c2csIGludCBsZW4pOwogc3RhdGljIHZvaWQgcGdzdGF0X3JlY3ZfdGVtcGZpbGUoUGdTdGF0X01z Z1RlbXBGaWxlICptc2csIGludCBsZW4pOworc3RhdGljIHZvaWQgcGdzdGF0X3JlY3Zfc3Vic2Ny aXB0aW9uX3N1Y2Nlc3MoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyciAqbXNnLCBpbnQgbGVuKTsK IHN0YXRpYyB2b2lkIHBnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9lcnJvcihQZ1N0YXRfTXNnU3Vi c2NyaXB0aW9uRXJyICptc2csIGludCBsZW4pOwogc3RhdGljIHZvaWQgcGdzdGF0X3JlY3Zfc3Vi c2NyaXB0aW9uX2Vycm9yX3B1cmdlKFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnJQdXJnZSAqbXNn LAogCQkJCQkJCQkJCQkJIGludCBsZW4pOwpAQCAtMjAzOSw2ICsyMDQxLDM5IEBAIHBnc3RhdF9y ZXBvcnRfcmVwbHNsb3RfZHJvcChjb25zdCBjaGFyICpzbG90bmFtZSkKIH0KIAogLyogLS0tLS0t LS0tLQorICogcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fc3VjY2VzcygpIC0KKyAqCisgKiAg VGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IHRoZSBzdWJzY3JpcHRpb24gc3VjY2Vzcy4KKyAqIC0t LS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fc3VjY2VzcyhP aWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJCQkJCQkJCSAgIExvZ2ljYWxSZXBNc2dUeXBlIGNvbW1h bmQsIFBnU3RhdF9Db3VudGVyIGJ5dGVzKQoreworCVBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnIg bXNnOworCisJQXNzZXJ0KGNvbW1hbmQgPT0gMCAvKiB0YWJsZSBzeW5jIHdvcmtlciAqLyB8fAor CQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19DT01NSVQgfHwKKwkJICAgY29tbWFuZCA9 PSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVEIHx8CisJCSAgIGNvbW1hbmQgPT0gTE9H SUNBTF9SRVBfTVNHX1NUUkVBTV9BQk9SVCk7CisKKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9o ZHIsIFBHU1RBVF9NVFlQRV9TVUJTQ1JJUFRJT05TVUNDRVNTKTsKKwltc2cubV9zdWJpZCA9IHN1 YmlkOworCW1zZy5tX3N1YnJlbGlkID0gc3VicmVsOworCW1zZy5tX2NsZWFyID0gZmFsc2U7CisJ bXNnLm1fcmVzZXQgPSBmYWxzZTsKKwltc2cubV9yZWxpZCA9IEludmFsaWRPaWQ7CisJbXNnLm1f Y29tbWFuZCA9IGNvbW1hbmQ7CisJbXNnLm1feGlkID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJ bXNnLm1fYnl0ZXMgPSBieXRlczsKKwltc2cubV9mYWlsdXJlX3RpbWUgPSBHZXRDdXJyZW50VGlt ZXN0YW1wKCk7CisJbXNnLm1fZXJybXNnWzBdID0gJ1wwJzsKKwlwZ3N0YXRfc2VuZCgmbXNnLCBz aXplb2YoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVycikpOworCisJcmVzZXRfYXBwbHlfZXJyb3Jf Y29udGV4dF94YWN0X3NpemUoKTsKK30KKworLyogLS0tLS0tLS0tLQogICogcGdzdGF0X3JlcG9y dF9zdWJzY3JpcHRpb25fZXJyb3IoKSAtCiAgKgogICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0 IHRoZSBzdWJzY3JpcHRpb24gZXJyb3IuCkBAIC0yMDYzLDEwICsyMDk4LDEzIEBAIHBnc3RhdF9y ZXBvcnRfc3Vic2NyaXB0aW9uX2Vycm9yKE9pZCBzdWJpZCwgT2lkIHN1YnJlbGlkLCBPaWQgcmVs aWQsCiAJbXNnLm1fcmVsaWQgPSByZWxpZDsKIAltc2cubV9jb21tYW5kID0gY29tbWFuZDsKIAlt c2cubV94aWQgPSB4aWQ7CisJbXNnLm1fYnl0ZXMgPSBnZXRfYXBwbHlfZXJyb3JfY29udGV4dF94 YWN0X3NpemUoKTsKIAltc2cubV9mYWlsdXJlX3RpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7 CiAJc3RybGNweShtc2cubV9lcnJtc2csIGVycm1zZywgUEdTVEFUX1NVQlNDUklQVElPTkVSUl9N U0dMRU4pOwogCiAJcGdzdGF0X3NlbmQoJm1zZywgbGVuKTsKKworCXJlc2V0X2FwcGx5X2Vycm9y X2NvbnRleHRfeGFjdF9zaXplKCk7CiB9CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTM3MzAsNiArMzc2 OCwxMCBAQCBQZ3N0YXRDb2xsZWN0b3JNYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQkJ CXBnc3RhdF9yZWN2X2Nvbm5zdGF0KCZtc2cubXNnX2Nvbm4sIGxlbik7CiAJCQkJCWJyZWFrOwog CisJCQkJY2FzZSBQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9OU1VDQ0VTUzoKKwkJCQkJcGdzdGF0 X3JlY3Zfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoJm1zZy5tc2dfc3Vic2NyaXB0aW9uZXJyLCBsZW4p OworCQkJCQlicmVhazsKKwogCQkJCWNhc2UgUEdTVEFUX01UWVBFX1NVQlNDUklQVElPTkVSUjoK IAkJCQkJcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vycm9yKCZtc2cubXNnX3N1YnNjcmlwdGlv bmVyciwgbGVuKTsKIAkJCQkJYnJlYWs7CkBAIC02MTcyLDYgKzYyMTQsNDUgQEAgcGdzdGF0X3Jl Y3ZfZnVuY3B1cmdlKFBnU3RhdF9Nc2dGdW5jcHVyZ2UgKm1zZywgaW50IGxlbikKIH0KIAogLyog LS0tLS0tLS0tLQorICogcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoKSAtCisgKgor ICogIFByb2Nlc3MgYSBTVUJTQ1JJUFRJT05FUlIgbWVzc2FnZS4KKyAqIC0tLS0tLS0tLS0KKyAq Lworc3RhdGljIHZvaWQKK3Bnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9zdWNjZXNzKFBnU3RhdF9N c2dTdWJzY3JpcHRpb25FcnIgKm1zZywgaW50IGxlbikKK3sKKwlQZ1N0YXRfU3RhdFN1YkVyckVu dHJ5ICplcnJlbnQ7CisJYm9vbCAgICAgICAgY3JlYXRlID0gIShtc2ctPm1fcmVzZXQgfHwgbXNn LT5tX2NsZWFyKTsKKworCWVycmVudCA9IHBnc3RhdF9nZXRfc3Vic2NyaXB0aW9uX2Vycm9yX2Vu dHJ5KG1zZy0+bV9zdWJpZCwKKwkJCQkJCQkJCQkJCSBtc2ctPm1fc3VicmVsaWQsCisJCQkJCQkJ CQkJCQkgY3JlYXRlKTsKKworCS8qIG1zZyBmcm9tIHRhYmxlIHN5bmMgd29ya2VyICovCisJaWYg KG1zZy0+bV9jb21tYW5kID09IDApCisJCWVycmVudC0+eGFjdF9jb21taXQrKzsKKwllbHNlCisJ eworCQlzd2l0Y2gobXNnLT5tX2NvbW1hbmQpCisJCXsKKwkJCWNhc2UgTE9HSUNBTF9SRVBfTVNH X0NPTU1JVDoKKwkJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0NPTU1JVF9QUkVQQVJFRDoKKwkJCQll cnJlbnQtPnhhY3RfY29tbWl0Kys7CisJCQkJZXJyZW50LT54YWN0X2NvbW1pdF9ieXRlcyArPSBt c2ctPm1fYnl0ZXM7CisJCQkJYnJlYWs7CisJCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1f QUJPUlQ6CisJCQkJZXJyZW50LT54YWN0X2Fib3J0Kys7CisJCQkJZXJyZW50LT54YWN0X2Fib3J0 X2J5dGVzID0gbXNnLT5tX2J5dGVzOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9n KEVSUk9SLCAidW5leHBlY3RlZCBjb21tYW5kIHR5cGUiKTsKKwkJfQorCX0KKwllcnJlbnQtPmxh c3RfZmFpbHVyZSA9IG1zZy0+bV9mYWlsdXJlX3RpbWU7Cit9CisKKy8qIC0tLS0tLS0tLS0KICAq IHBnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9lcnJvcigpIC0KICAqCiAgKglQcm9jZXNzIGEgU1VC U0NSSVBUSU9ORVJSIG1lc3NhZ2UuCkBAIC02MjMyLDYgKzYzMTMsOCBAQCBwZ3N0YXRfcmVjdl9z dWJzY3JpcHRpb25fZXJyb3IoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyciAqbXNnLCBpbnQgbGVu KQogCQkvKiB1cGRhdGUgdGhlIGVycm9yIGVudHJ5ICovCiAJCWVycmVudC0+Y29tbWFuZCA9IG1z Zy0+bV9jb21tYW5kOwogCQllcnJlbnQtPnhpZCA9IG1zZy0+bV94aWQ7CisJCWVycmVudC0+eGFj dF9lcnJvcisrOworCQllcnJlbnQtPnhhY3RfZXJyb3JfYnl0ZXMgKz0gbXNnLT5tX2J5dGVzOwog CQllcnJlbnQtPmZhaWx1cmVfY291bnQrKzsKIAkJZXJyZW50LT5sYXN0X2ZhaWx1cmUgPSBtc2ct Pm1fZmFpbHVyZV90aW1lOwogCQlzdHJsY3B5KGVycmVudC0+bGFzdF9lcnJtc2csIG1zZy0+bV9l cnJtc2csIFBHU1RBVF9TVUJTQ1JJUFRJT05FUlJfTVNHTEVOKTsKQEAgLTY1MzMsNiArNjYxNiwx MiBAQCBwZ3N0YXRfcmVzZXRfc3Vic2NyaXB0aW9uX2Vycm9yX2VudHJ5KFBnU3RhdF9TdGF0U3Vi RXJyRW50cnkgKmVycmVudCwKIHsKIAllcnJlbnQtPmNvbW1hbmQgPSAwOwogCWVycmVudC0+eGlk ID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJZXJyZW50LT54YWN0X2NvbW1pdCA9IDA7CisJZXJy ZW50LT54YWN0X2NvbW1pdF9ieXRlcyA9IDA7CisJZXJyZW50LT54YWN0X2Vycm9yID0gMDsKKwll cnJlbnQtPnhhY3RfZXJyb3JfYnl0ZXMgPSAwOworCWVycmVudC0+eGFjdF9hYm9ydCA9IDA7CisJ ZXJyZW50LT54YWN0X2Fib3J0X2J5dGVzID0gMDsKIAllcnJlbnQtPmZhaWx1cmVfY291bnQgPSAw OwogCWVycmVudC0+bGFzdF9mYWlsdXJlID0gMDsKIAllcnJlbnQtPmxhc3RfZXJybXNnWzBdID0g J1wwJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8u YyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYwppbmRleCA5ZjViZjRi Li4yZTFmYzk0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3By b3RvLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jCkBAIC0x Nyw2ICsxNyw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAibGli cHEvcHFmb3JtYXQuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaCIKKyNp bmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5 c2NhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKIApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKaW5kZXggZjA3OTgzYS4uN2JhNzQ4NiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCkBAIC0xMTUwLDYg KzExNTAsMTUgQEAgY29weV90YWJsZV9kb25lOgogCVNwaW5Mb2NrUmVsZWFzZSgmTXlMb2dpY2Fs UmVwV29ya2VyLT5yZWxtdXRleCk7CiAKIAkvKgorCSAqIFVwZGF0ZSB0aGUgc3RhdHMgZm9yIHRh YmxlIHN5bmMuIFdlIGRvbid0IHJlY29yZCB0aGUgYnl0ZXMgb2YKKwkgKiB0YWJsZSBzeW5jaHJv bml6YXRpb24uCisJICovCisJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fc3VjY2VzcyhNeUxv Z2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJICAgTXlMb2dpY2FsUmVwV29ya2VyLT5y ZWxpZCwKKwkJCQkJCQkJCSAgIDAsIC8qIG5vIGNvcnJlc3BvbmRpbmcgbG9naWNhbCBtZXNzYWdl IHR5cGUgKi8KKwkJCQkJCQkJCSAgIDApOworCisJLyoKIAkgKiBGaW5hbGx5LCB3YWl0IHVudGls IHRoZSBtYWluIGFwcGx5IHdvcmtlciB0ZWxscyB1cyB0byBjYXRjaCB1cCBhbmQgdGhlbgogCSAq IHJldHVybiB0byBsZXQgTG9naWNhbFJlcEFwcGx5TG9vcCBkbyBpdC4KIAkgKi8KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IGIyMGRlNTkuLjFjZDFkMjYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtMjIyLDYgKzIyMiwy MCBAQCB0eXBlZGVmIHN0cnVjdCBBcHBseUVycm9yQ2FsbGJhY2tBcmcKIAlMb2dpY2FsUmVwTXNn VHlwZSBjb21tYW5kOwkvKiAwIGlmIGludmFsaWQgKi8KIAlMb2dpY2FsUmVwUmVsTWFwRW50cnkg KnJlbDsKIAorCS8qCisJICogU3RvcmUgZGF0YSBzaXplIG9mIHRoaXMgdHJhbnNhY3Rpb24uCisJ ICoKKwkgKiBUaGUgYnl0ZSBzaXplIG9mIHRyYW5zYWN0aW9uIG9uIHRoZSBwdWJsaXNoZXIgaXMg Y2FsY3VsYXRlZAorCSAqIGJ5IFJlb3JkZXJCdWZmZXJDaGFuZ2VTaXplKCkgYmFzZWQgb24gdGhl IFJlb3JkZXJCdWZmZXJDaGFuZ2UKKwkgKiBzdHJ1Y3R1cmUuIEJ1dCBvbiB0aGUgc3Vic2NyaWJl ciwgY29uc3VtZWQgcmVzb3VyY2VzIGFyZQorCSAqIG5vdCBzYW1lIGFzIHRoZSBwdWJsaXNoZXIn cyBkZWNvZGluZyBwcm9jZXNzIGFuZCBuZWNlc3NhcnkKKwkgKiB0byBjb21wdXRlIHRob3NlIGlu IGRpZmZlcmVudCB3YXkuIFRoZW4sIHRoZSBleGFjdCBzYW1lIGJ5dGUKKwkgKiBzaXplIGlzIG5v dCByZXN0b3JlZCBvbiB0aGUgc3Vic2NyaWJlciB1c3VhbGx5LiBGdXJ0aGVyLCBpbgorCSAqIG9y ZGVyIHRvIGdpdmUgYWNjdXJhdGUgYnl0ZXMgZXZlbiBpbiB0aGUgY2FzZSBvZiBlcnJvciwgYWRk CisJICogYnl0ZSBzaXplIHRvIHRoaXMgdmFsdWUgc3RlcCBieSBzdGVwLgorCSovCisJUGdTdGF0 X0NvdW50ZXIgYnl0ZXM7CisKIAkvKiBSZW1vdGUgbm9kZSBpbmZvcm1hdGlvbiAqLwogCWludAkJ CXJlbW90ZV9hdHRudW07CS8qIC0xIGlmIGludmFsaWQgKi8KIAlUcmFuc2FjdGlvbklkIHJlbW90 ZV94aWQ7CkBAIC0yMzIsNiArMjQ2LDcgQEAgc3RhdGljIEFwcGx5RXJyb3JDYWxsYmFja0FyZyBh cHBseV9lcnJvcl9jYWxsYmFja19hcmcgPQogewogCS5jb21tYW5kID0gMCwKIAkucmVsID0gTlVM TCwKKwkuYnl0ZXMgPSAwLAogCS5yZW1vdGVfYXR0bnVtID0gLTEsCiAJLnJlbW90ZV94aWQgPSBJ bnZhbGlkVHJhbnNhY3Rpb25JZCwKIAkudHMgPSAwLApAQCAtMzE5LDYgKzMzNCw3IEBAIHN0YXRp YyB2b2lkIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCk7CiAKIC8qIHByb3RvdHlwZSBu ZWVkZWQgYmVjYXVzZSBvZiBzdHJlYW1fY29tbWl0ICovCiBzdGF0aWMgdm9pZCBhcHBseV9kaXNw YXRjaChTdHJpbmdJbmZvIHMpOwordm9pZCB1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTG9naWNh bFJlcE1zZ1R5cGUgYWN0aW9uLCB2b2lkICpkYXRhKTsKIAogc3RhdGljIHZvaWQgYXBwbHlfaGFu ZGxlX2NvbW1pdF9pbnRlcm5hbChMb2dpY2FsUmVwQ29tbWl0RGF0YSAqY29tbWl0X2RhdGEpOwog c3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2luc2VydF9pbnRlcm5hbChBcHBseUV4ZWN1dGlvbkRh dGEgKmVkYXRhLApAQCAtODUyLDYgKzg2OCwxMCBAQCBhcHBseV9oYW5kbGVfY29tbWl0KFN0cmlu Z0luZm8gcykKIAogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBzeW5jaHJv bml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhjb21taXRfZGF0 YS5lbmRfbHNuKTsKKwlwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKE15U3Vic2Ny aXB0aW9uLT5vaWQsCisJCQkJCQkJCQkgICBJbnZhbGlkT2lkLAorCQkJCQkJCQkJICAgTE9HSUNB TF9SRVBfTVNHX0NPTU1JVCwKKwkJCQkJCQkJCSAgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5i eXRlcyk7CiAKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCXJl c2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwpAQCAtOTY1LDYgKzk4NSw3IEBAIGFwcGx5 X2hhbmRsZV9wcmVwYXJlKFN0cmluZ0luZm8gcykKIAkvKiBQcm9jZXNzIGFueSB0YWJsZXMgdGhh dCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAqLwogCXByb2Nlc3Nfc3luY2lu Z190YWJsZXMocHJlcGFyZV9kYXRhLmVuZF9sc24pOwogCisJdXBkYXRlX2FwcGx5X2NoYW5nZV9z aXplKExPR0lDQUxfUkVQX01TR19QUkVQQVJFLCBOVUxMKTsKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2 aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygp OwogfQpAQCAtMTAwNiw2ICsxMDI3LDEyIEBAIGFwcGx5X2hhbmRsZV9jb21taXRfcHJlcGFyZWQo U3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBzeW5j aHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhwcmVwYXJl X2RhdGEuZW5kX2xzbik7CiAKKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9HSUNBTF9SRVBf TVNHX0NPTU1JVF9QUkVQQVJFRCwgTlVMTCk7CisJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25f c3VjY2VzcyhNeVN1YnNjcmlwdGlvbi0+b2lkLAorCQkJCQkJCQkJICAgSW52YWxpZE9pZCwKKwkJ CQkJCQkJCSAgIExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQsCisJCQkJCQkJCQkgICBh cHBseV9lcnJvcl9jYWxsYmFja19hcmcuYnl0ZXMpOworCiAJcGdzdGF0X3JlcG9ydF9hY3Rpdml0 eShTVEFURV9JRExFLCBOVUxMKTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsK IH0KQEAgLTExOTMsNiArMTIyMCw3IEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fc3RhcnQoU3RyaW5n SW5mbyBzKQogCiAJCU15TG9naWNhbFJlcFdvcmtlci0+c3RyZWFtX2ZpbGVzZXQgPSBwYWxsb2Mo c2l6ZW9mKEZpbGVTZXQpKTsKIAkJRmlsZVNldEluaXQoTXlMb2dpY2FsUmVwV29ya2VyLT5zdHJl YW1fZmlsZXNldCk7CisJCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0df U1RSRUFNX1NUQVJULCBOVUxMKTsKIAogCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3R4KTsK IAl9CkBAIC0xMzQ1LDYgKzEzNzMsMTAgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9hYm9ydChTdHJp bmdJbmZvIHMpCiAJaWYgKGlzX3NraXBwaW5nX2NoYW5nZXMoKSkKIAkJc3RvcF9za2lwcGluZ19j aGFuZ2VzKEludmFsaWRYTG9nUmVjUHRyLCAwKTsKIAorCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0 aW9uX3N1Y2Nlc3MoTXlTdWJzY3JpcHRpb24tPm9pZCwKKwkJCQkJCQkJCSAgIEludmFsaWRPaWQs CisJCQkJCQkJCQkgICBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0FCT1JULAorCQkJCQkJCQkJICAg YXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzKTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250 ZXh0X2luZm8oKTsKIH0KIApAQCAtMTQ5NCw2ICsxNTI2LDEwIEBAIGFwcGx5X2hhbmRsZV9zdHJl YW1fY29tbWl0KFN0cmluZ0luZm8gcykKIAkJc3RvcF9za2lwcGluZ19jaGFuZ2VzKGNvbW1pdF9k YXRhLmVuZF9sc24sIGNvbW1pdF9kYXRhLmNvbW1pdHRpbWUpOwogCiAJCXN0b3JlX2ZsdXNoX3Bv c2l0aW9uKGNvbW1pdF9kYXRhLmVuZF9sc24pOworCisJCS8qIFVwZGF0ZSB0aGUgc2l6ZSBvZiBj aGFuZ2UgaW4gbWVtb3J5IG9mIHRoaXMgdHJhbnNhY3Rpb24gKi8KKwkJdXBkYXRlX2FwcGx5X2No YW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19TVFJFQU1fQ09NTUlULCBOVUxMKTsKKwogCQlpbl9y ZW1vdGVfdHJhbnNhY3Rpb24gPSBmYWxzZTsKIAl9CiAJZWxzZQpAQCAtMTY0Niw2ICsxNjgyLDgg QEAgYXBwbHlfaGFuZGxlX2luc2VydChTdHJpbmdJbmZvIHMpCiAJc2xvdF9maWxsX2RlZmF1bHRz KHJlbCwgZXN0YXRlLCByZW1vdGVzbG90KTsKIAlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3R4 KTsKIAorCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfSU5TRVJULCBy ZWwpOworCiAJLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGluc2VydCB0aGUgdHVwbGUgaW50 byBhIHBhcnRpdGlvbi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09 IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5n KGVkYXRhLApAQCAtMTgwMyw2ICsxODQxLDggQEAgYXBwbHlfaGFuZGxlX3VwZGF0ZShTdHJpbmdJ bmZvIHMpCiAJCQkJCWhhc19vbGR0dXAgPyAmb2xkdHVwIDogJm5ld3R1cCk7CiAJTWVtb3J5Q29u dGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9HSUNB TF9SRVBfTVNHX1VQREFURSwgcmVsKTsKKwogCS8qIEZvciBhIHBhcnRpdGlvbmVkIHRhYmxlLCBh cHBseSB1cGRhdGUgdG8gY29ycmVjdCBwYXJ0aXRpb24uICovCiAJaWYgKHJlbC0+bG9jYWxyZWwt PnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKQogCQlhcHBseV9o YW5kbGVfdHVwbGVfcm91dGluZyhlZGF0YSwKQEAgLTE5MzcsNiArMTk3Nyw3IEBAIGFwcGx5X2hh bmRsZV9kZWxldGUoU3RyaW5nSW5mbyBzKQogCXNsb3Rfc3RvcmVfZGF0YShyZW1vdGVzbG90LCBy ZWwsICZvbGR0dXApOwogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOwogCisJdXBkYXRl X2FwcGx5X2NoYW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19ERUxFVEUsIHJlbCk7CiAJLyogRm9y IGEgcGFydGl0aW9uZWQgdGFibGUsIGFwcGx5IGRlbGV0ZSB0byBjb3JyZWN0IHBhcnRpdGlvbi4g Ki8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElU SU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRhLApAQCAtMjQ5 OCw2ICsyNTM5LDEzMyBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiAJYXBwbHlfZXJy b3JfY2FsbGJhY2tfYXJnLmNvbW1hbmQgPSBzYXZlZF9jb21tYW5kOwogfQogCisKKy8qCisgKiBT dWJzY3JpYmVyIHNpZGUgaW1wbGVtZW50YXRpb24gZXF1aXZhbGVudCB0byBSZW9yZGVyQnVmZmVy Q2hhbmdlU2l6ZQorICogb2YgdGhlIHB1Ymxpc2hlci4KKyAqCisgKiBBY2NvcmRpbmcgdG8gdGhl IGxvZ2ljYWwgcmVwbGljYXRpb24gbWVzc2FnZSB0eXBlLCByZWNvcmQgbWFqb3IKKyAqIHJlc291 cmNlIGNvbnN1bXB0aW9ucyBvZiB0aGlzIHN1YnNjcmlwdGlvbiBmb3IgZWFjaCBtZXNzYWdlLgor ICogQXQgcHJlc2VudCwgZG8gbm90IGNvbGxlY3QgZGF0YSBmcm9tIGdlbmVyaWMgZnVuY3Rpb25z IHRvIGtlZXAKKyAqIGNvZGUgc2ltcGxpY2l0eS4gQWxzbywgYnkgYWRkaW5nIG11bHRpcGxlIHZh bHVlcyBhdCBvbmNlLAorICogcmVkdWNlIG51bWJlciBvZiBmdW5jdGlvbiBjYWxscy4KKyAqCisg KiAnZGF0YScgY29udHJvbHMgZGV0YWlsIGhhbmRsaW5nIG9mIGRhdGEgc2l6ZSBjYWxjdWxhdGlv bi4KKyAqLwordm9pZAordXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKExvZ2ljYWxSZXBNc2dUeXBl IGFjdGlvbiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQ2NCAgICAgICBzaXplID0gMDsKKwlMb2dpY2Fs UmVwUmVsTWFwRW50cnkgKnJlbG1hcGVudHJ5OworCUxvZ2ljYWxSZXBSZWxhdGlvbiAqcmVwcmVs YXRpb247CisJaW50ICAgICAgICAgKnN0cmVhbV93cml0ZV9sZW47CisKKwkvKgorCSAqIEluIHN0 cmVhbWluZyBtb2RlLCBzdHJlYW1fd3JpdGVfY2hhbmdlIGlzIGNhbGxlZAorCSAqIGluc3RlYWQg b2YgaW1tZWRpYXRlIGFwcGx5LiBMaXN0IHVwIHRoZSBtZXNzYWdlcyB0eXBlcworCSAqIHRoYXQg Y2FuIGJlIGNhdWdodCBieSBoYW5kbGVfc3RyZWFtZWRfdHJhbnNhY3Rpb24gYW5kCisJICogdHJl YXQgdGhlIHdyaXRlIGxlbmd0aCBhcyB0aGUgc2l6ZSBvZiB0cmFuc2FjdGlvbiBzbworCSAqIHRo YXQgd2UgY2FuIGV4cG9ydCBpdCBhcyBwYXJ0IG9mIHBnX3N0YXRfc3Vic2NyaXB0aW9uLgorCSAq LworCWlmIChpbl9zdHJlYW1lZF90cmFuc2FjdGlvbiAmJgorCQkoYWN0aW9uID09IExPR0lDQUxf UkVQX01TR19JTlNFUlQgfHwKKwkJIGFjdGlvbiA9PSBMT0dJQ0FMX1JFUF9NU0dfVVBEQVRFIHx8 CisJCSBhY3Rpb24gPT0gTE9HSUNBTF9SRVBfTVNHX0RFTEVURSB8fAorCQkgYWN0aW9uID09IExP R0lDQUxfUkVQX01TR19UUlVOQ0FURSB8fAorCQkgYWN0aW9uID09IExPR0lDQUxfUkVQX01TR19S RUxBVElPTiB8fAorCQkgYWN0aW9uID09IExPR0lDQUxfUkVQX01TR19UWVBFKSkKKwl7CisJCXN0 cmVhbV93cml0ZV9sZW4gPSAoaW50ICopIGRhdGE7CisJCXNpemUgKz0gKnN0cmVhbV93cml0ZV9s ZW47CisJCWFkZF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZShzaXplKTsKKwkJcmV0dXJu OworCX0KKworCXN3aXRjaCAoYWN0aW9uKQorCXsKKwkJLyogRm9sbG93IHRoZSBzYW1lIG9yZGVy IGFzIGluIHRoZSBhcHBseV9kaXNwYXRjaCAqLworCQljYXNlIExPR0lDQUxfUkVQX01TR19CRUdJ TjoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUOgorCQkJYnJlYWs7CisKKwkJY2FzZSBM T0dJQ0FMX1JFUF9NU0dfSU5TRVJUOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19VUERBVEU6CisJ CWNhc2UgTE9HSUNBTF9SRVBfTVNHX0RFTEVURToKKwkJCUFzc2VydChkYXRhICE9IE5VTEwpOwor CisJCQkvKgorCQkJICogQ29tcHV0ZSBzaXplIGJhc2VkIG9uIEFwcGx5RXhlY3V0aW9uRGF0YS4K KwkJCSAqIFRoZSBzaXplIG9mIExvZ2ljYWxSZXBSZWxNYXBFbnRyeSBjYW4gYmUgc2tpcHBlZCBi ZWNhdXNlCisJCQkgKiBpdCBpcyBvYnRhaW5lZCBmcm9tIGhhc2hfc2VhcmNoIGluIGxvZ2ljYWxy ZXBfcmVsX29wZW4uCisJCQkgKi8KKwkJCXNpemUgKz0gc2l6ZW9mKEFwcGx5RXhlY3V0aW9uRGF0 YSkgKyBzaXplb2YoRVN0YXRlKSArCisJCQkJc2l6ZW9mKFJlc3VsdFJlbEluZm8pICsgc2l6ZW9m KFJlc3VsdFJlbEluZm8pOworCisJCQkvKgorCQkJICogQWRkIHNvbWUgZXh0cmEgc2l6ZSBpZiB0 aGUgdGFyZ2V0IHJlbGF0aW9uIGlzIHBhcnRpdGlvbmVkLgorCQkJICogUGFydGl0aW9uVHVwbGVS b3V0aW5nIGlzbid0IGV4cG9ydGVkLiBUaGVyZWZvcmUsIGNhbGwgdGhlCisJCQkgKiBmdW5jdGlv biB0aGF0IHJldHVybnMgaXRzIHNpemUgaW5zdGVhZC4KKwkJCSAqLworCQkJcmVsbWFwZW50cnkg PSAoTG9naWNhbFJlcFJlbE1hcEVudHJ5ICopIGRhdGE7CisJCQlpZiAocmVsbWFwZW50cnktPmxv Y2FscmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKKwkJ CQlzaXplICs9IHNpemVvZihNb2RpZnlUYWJsZVN0YXRlKSArIFBhcnRpdGlvblR1cGxlUm91dGlu Z1NpemUoKTsKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1RSVU5DQVRFOgor CQkJLyogTm8gc3BlY2lhbCBjb25zdW1wdGlvbiBleGNlcHQgZm9yIGdlbmVyaWMgZnVuY3Rpb25z ICovCisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19SRUxBVElPTjoKKwkJCUFz c2VydChkYXRhICE9IE5VTEwpOworCisJCQlyZXByZWxhdGlvbiA9IChMb2dpY2FsUmVwUmVsYXRp b24gKikgZGF0YTsKKwkJCS8qIFNlZSBsb2dpY2FscmVwX3JlYWRfYXR0cnMgZm9yIHRoZSBsYXN0 IHR3byAqLworCQkJc2l6ZSArPSBzaXplb2YoTG9naWNhbFJlcFJlbGF0aW9uKSArCisJCQkJcmVw cmVsYXRpb24tPm5hdHRzICogc2l6ZW9mKGNoYXIgKikgKworCQkJCXJlcHJlbGF0aW9uLT5uYXR0 cyAqIHNpemVvZihPaWQpOworCQkJYnJlYWs7CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1RZUEU6 CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX09SSUdJTjoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df TUVTU0FHRToKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9TVEFS VDoKKwkJCXNpemUgKz0gc2l6ZW9mKEZpbGVTZXQpOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJ Q0FMX1JFUF9NU0dfU1RSRUFNX1NUT1A6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9B Qk9SVDoKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9DT01NSVQ6 CisJCQlzaXplICs9IHNpemVvZihGbHVzaFBvc2l0aW9uKTsKKwkJCWJyZWFrOworCisJCWNhc2Ug TE9HSUNBTF9SRVBfTVNHX0JFR0lOX1BSRVBBUkU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1BS RVBBUkU6CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFS RUQ6CisJCQlzaXplICs9IHNpemVvZihGbHVzaFBvc2l0aW9uKTsKKwkJCWJyZWFrOworCisJCWNh c2UgTE9HSUNBTF9SRVBfTVNHX1JPTExCQUNLX1BSRVBBUkVEOgorCQkJYnJlYWs7CisKKwkJY2Fz ZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX1BSRVBBUkU6CisJCQlzaXplICs9IHNpemVvZihGbHVz aFBvc2l0aW9uKTsKKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkoZXJyY29kZShFUlJDT0RFX1BST1RPQ09MX1ZJT0xBVElPTiksCisJCQkJCSBlcnJtc2co ImludmFsaWQgbG9naWNhbCByZXBsaWNhdGlvbiBtZXNzYWdlIHR5cGUgXCIlY1wiIiwgYWN0aW9u KSkpOworCX0KKwkvKiB1cGRhdGUgdGhlIHRvdGFsIHNpemUgb2YgY29uc3VtcHRpb24gKi8KKwlh ZGRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUoc2l6ZSk7Cit9CisKKwogLyoKICAqIEZp Z3VyZSBvdXQgd2hpY2ggd3JpdGUvZmx1c2ggcG9zaXRpb25zIHRvIHJlcG9ydCB0byB0aGUgd2Fs c2VuZGVyIHByb2Nlc3MuCiAgKgpAQCAtMzM1Miw2ICszNTIwLDcgQEAgc3RhdGljIHZvaWQKIHN0 cmVhbV93cml0ZV9jaGFuZ2UoY2hhciBhY3Rpb24sIFN0cmluZ0luZm8gcykKIHsKIAlpbnQJCQls ZW47CisJaW50CQkJdG90YWxfbGVuOwogCiAJQXNzZXJ0KGluX3N0cmVhbWVkX3RyYW5zYWN0aW9u KTsKIAlBc3NlcnQoVHJhbnNhY3Rpb25JZElzVmFsaWQoc3RyZWFtX3hpZCkpOwpAQCAtMzM3MCw2 ICszNTM5LDkgQEAgc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFyIGFjdGlvbiwgU3RyaW5nSW5mbyBz KQogCWxlbiA9IChzLT5sZW4gLSBzLT5jdXJzb3IpOwogCiAJQnVmRmlsZVdyaXRlKHN0cmVhbV9m ZCwgJnMtPmRhdGFbcy0+Y3Vyc29yXSwgbGVuKTsKKworCXRvdGFsX2xlbiA9IChzLT5sZW4gLSBz LT5jdXJzb3IpICogMiArIHNpemVvZihjaGFyKSArIHNpemVvZihhY3Rpb24pOworCXVwZGF0ZV9h cHBseV9jaGFuZ2Vfc2l6ZShhY3Rpb24sICZ0b3RhbF9sZW4pOwogfQogCiAvKgpAQCAtMzczNCw2 ICszOTA2LDI3IEBAIHNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3QoVHJhbnNhY3Rpb25JZCB4 aWQsIFRpbWVzdGFtcFR6IHRzKQogCWFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy50cyA9IHRzOwog fQogCisvKiBFeHBvcnRlZCBzbyB0aGF0IHN0YXRzIGNvbGxlY3RvciBjYW4gdXRpbGl6ZSB0aGlz IHZhbHVlICovCitpbnQ2NAorZ2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKHZvaWQp Cit7CisJcmV0dXJuIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5ieXRlczsKK30KKworLyogQWRk IHNpemUgdG8gYXBwbHkgZXJyb3IgY2FsbGJhY2sgYnl0ZXMgKi8KK3ZvaWQKK2FkZF9hcHBseV9l cnJvcl9jb250ZXh0X3hhY3Rfc2l6ZShpbnQ2NCBzaXplKQoreworCWFwcGx5X2Vycm9yX2NhbGxi YWNrX2FyZy5ieXRlcyArPSBzaXplOworfQorCisvKiBSZXNldCBieXRlcyBpbmZvcm1hdGlvbiBv ZiBhcHBseSBlcnJvciBjYWxsYmFjayAqLwordm9pZAorcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4 dF94YWN0X3NpemUodm9pZCkKK3sKKwlhcHBseV9lcnJvcl9jYWxsYmFja19hcmcuYnl0ZXMgPSAw OworfQorCiAvKiBSZXNldCBhbGwgaW5mb3JtYXRpb24gb2YgYXBwbHkgZXJyb3IgY2FsbGJhY2sg Ki8KIHN0YXRpYyBpbmxpbmUgdm9pZAogcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF9pbmZvKHZv aWQpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDUxZjY5M2MuLjU0MGRlODYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yNDkxLDMgKzI0OTEsMTM2IEBA IHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl9lcnJvcihQR19GVU5DVElPTl9BUkdTKQogCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVH ZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KKwor RGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2NvbW1pdChQR19GVU5DVElPTl9B UkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlPaWQJCQlyZWxpZDsK KwlpbnQ2NAkJcmVzdWx0OworCVBnU3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsKKworCWlm IChQR19BUkdJU05VTEwoMSkpCisJCXJlbGlkID0gSW52YWxpZE9pZDsKKwllbHNlCisJCXJlbGlk ID0gUEdfR0VUQVJHX09JRCgxKTsKKworCS8qIEdldCBzdWJzY3JpcHRpb24gZXJyb3IgZW50cnkg Ki8KKwlpZiAoKGVycmVudCA9IHBnc3RhdF9mZXRjaF9zdWJzY3JpcHRpb25fZXJyb3Ioc3ViaWQs IHJlbGlkKSkgPT0gTlVMTCkKKwkJcmVzdWx0ID0gMDsKKwllbHNlCisJCXJlc3VsdCA9IChpbnQ2 NCkgKGVycmVudC0+eGFjdF9jb21taXQpOworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7Cit9 CisKK0RhdHVtCitwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9jb21taXRfYnl0ZXMoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJCQlzdWJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJT2lk CQkJcmVsaWQ7CisJaW50NjQJCXJlc3VsdDsKKwlQZ1N0YXRfU3RhdFN1YkVyckVudHJ5ICplcnJl bnQ7CisKKwlpZiAoUEdfQVJHSVNOVUxMKDEpKQorCQlyZWxpZCA9IEludmFsaWRPaWQ7CisJZWxz ZQorCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMSk7CisKKwkvKiBHZXQgc3Vic2NyaXB0aW9uIGVy cm9yIGVudHJ5ICovCisJaWYgKChlcnJlbnQgPSBwZ3N0YXRfZmV0Y2hfc3Vic2NyaXB0aW9uX2Vy cm9yKHN1YmlkLCByZWxpZCkpID09IE5VTEwpCisJCXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1 bHQgPSAoaW50NjQpIChlcnJlbnQtPnhhY3RfY29tbWl0X2J5dGVzKTsKKworCVBHX1JFVFVSTl9J TlQ2NChyZXN1bHQpOworfQorCisKK0RhdHVtCitwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFj dF9lcnJvcihQR19GVU5DVElPTl9BUkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJHX09J RCgwKTsKKwlPaWQJCQlyZWxpZDsKKwlpbnQ2NAkJcmVzdWx0OworCVBnU3RhdF9TdGF0U3ViRXJy RW50cnkgKmVycmVudDsKKworCWlmIChQR19BUkdJU05VTEwoMSkpCisJCXJlbGlkID0gSW52YWxp ZE9pZDsKKwllbHNlCisJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgxKTsKKworCS8qIEdldCBzdWJz Y3JpcHRpb24gZXJyb3IgZW50cnkgKi8KKwlpZiAoKGVycmVudCA9IHBnc3RhdF9mZXRjaF9zdWJz Y3JpcHRpb25fZXJyb3Ioc3ViaWQsIHJlbGlkKSkgPT0gTlVMTCkKKwkJcmVzdWx0ID0gMDsKKwll bHNlCisJCXJlc3VsdCA9IChpbnQ2NCkgKGVycmVudC0+eGFjdF9lcnJvcik7CisKKwlQR19SRVRV Uk5fSU5UNjQocmVzdWx0KTsKK30KKworRGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94 YWN0X2Vycm9yX2J5dGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJT2lkCQkJc3ViaWQgPSBQR19H RVRBUkdfT0lEKDApOworCU9pZAkJCXJlbGlkOworCWludDY0CQlyZXN1bHQ7CisJUGdTdGF0X1N0 YXRTdWJFcnJFbnRyeSAqZXJyZW50OworCisJaWYgKFBHX0FSR0lTTlVMTCgxKSkKKwkJcmVsaWQg PSBJbnZhbGlkT2lkOworCWVsc2UKKwkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDEpOworCisJLyog R2V0IHN1YnNjcmlwdGlvbiBlcnJvciBlbnRyeSAqLworCWlmICgoZXJyZW50ID0gcGdzdGF0X2Zl dGNoX3N1YnNjcmlwdGlvbl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9PSBOVUxMKQorCQlyZXN1bHQg PSAwOworCWVsc2UKKwkJcmVzdWx0ID0gKGludDY0KSAoZXJyZW50LT54YWN0X2Vycm9yX2J5dGVz KTsKKworCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOworfQorCitEYXR1bQorcGdfc3RhdF9nZXRf c3Vic2NyaXB0aW9uX3hhY3RfYWJvcnQoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJCQlzdWJp ZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJT2lkCQkJcmVsaWQ7CisJaW50NjQJCXJlc3VsdDsKKwlQ Z1N0YXRfU3RhdFN1YkVyckVudHJ5ICplcnJlbnQ7CisKKwlpZiAoUEdfQVJHSVNOVUxMKDEpKQor CQlyZWxpZCA9IEludmFsaWRPaWQ7CisJZWxzZQorCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMSk7 CisKKwkvKiBHZXQgc3Vic2NyaXB0aW9uIGVycm9yIGVudHJ5ICovCisJaWYgKChlcnJlbnQgPSBw Z3N0YXRfZmV0Y2hfc3Vic2NyaXB0aW9uX2Vycm9yKHN1YmlkLCByZWxpZCkpID09IE5VTEwpCisJ CXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1bHQgPSAoaW50NjQpIChlcnJlbnQtPnhhY3RfYWJv cnQpOworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7Cit9CisKK0RhdHVtCitwZ19zdGF0X2dl dF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydF9ieXRlcyhQR19GVU5DVElPTl9BUkdTKQoreworCU9p ZAkJCXN1YmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlPaWQJCQlyZWxpZDsKKwlpbnQ2NAkJcmVz dWx0OworCVBnU3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsKKworCWlmIChQR19BUkdJU05V TEwoMSkpCisJCXJlbGlkID0gSW52YWxpZE9pZDsKKwllbHNlCisJCXJlbGlkID0gUEdfR0VUQVJH X09JRCgxKTsKKworCS8qIEdldCBzdWJzY3JpcHRpb24gZXJyb3IgZW50cnkgKi8KKwlpZiAoKGVy cmVudCA9IHBnc3RhdF9mZXRjaF9zdWJzY3JpcHRpb25fZXJyb3Ioc3ViaWQsIHJlbGlkKSkgPT0g TlVMTCkKKwkJcmVzdWx0ID0gMDsKKwllbHNlCisJCXJlc3VsdCA9IChpbnQ2NCkgKGVycmVudC0+ eGFjdF9hYm9ydF9ieXRlcyk7CisKKwlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsKK30KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IGFjMDIwNjEuLjgzOTY5YTUgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdApAQCAtNTM5Myw2ICs1MzkzLDMwIEBACiAgIHByb2FyZ21vZGVzID0+ICd7aSxpLG8s byxvLG8sbyxvLG8sbyxvfScsCiAgIHByb2FyZ25hbWVzID0+ICd7c3ViaWQscmVsaWQsc3ViaWQs cmVsaWQsY29tbWFuZCx4aWQsZmFpbHVyZV9zb3VyY2UsZmFpbHVyZV9jb3VudCxsYXN0X2ZhaWx1 cmUsbGFzdF9mYWlsdXJlX21lc3NhZ2Usc3RhdHNfcmVzZXR9JywKICAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF9zdWJzY3JpcHRpb25fZXJyb3InIH0sCit7IG9pZCA9PiAnODUyNScsIGRlc2NyID0+ ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGNvbW1pdCBmb3IgYSBzdWJzY3Jp cHRpb24nLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9jb21t aXQnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxs ZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCBvaWQn LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2NvbW1pdCcgfSwK K3sgb2lkID0+ICc4NTI2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGJ5dGVzIG9mIHRyYW5zYWN0 aW9ucyBjb21taXQgZm9yIGEgc3Vic2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0X2J5dGVzJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBw cm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAn aW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dl dF9zdWJzY3JpcHRpb25feGFjdF9jb21taXRfYnl0ZXMnIH0sCit7IG9pZCA9PiAnODUyNycsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGVycm9yIGZvciBhIHN1 YnNjcmlwdGlvbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0 X2Vycm9yJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3Bh cmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQg b2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9lcnJvcicg fSwKK3sgb2lkID0+ICc4NTI4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGJ5dGVzIG9mIHRyYW5z YWN0aW9ucyBlcnJvciBmb3IgYSBzdWJzY3JpcHRpb24nLAorICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF9zdWJzY3JpcHRpb25feGFjdF9lcnJvcl9ieXRlcycsIHByb2lzc3RyaWN0ID0+ICdmJywg cHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4g J2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uX3hhY3RfZXJyb3JfYnl0ZXMnIH0sCit7IG9pZCA9PiAnODUyOScsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFib3J0IGZvciBhIHN1 YnNjcmlwdGlvbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0 X2Fib3J0JywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3Bh cmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQg b2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydCcg fSwKK3sgb2lkID0+ICc4NTMwJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGJ5dGVzIG9mIHRyYW5z YWN0aW9ucyBhYm9ydCBmb3IgYSBzdWJzY3JpcHRpb24nLAorICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydF9ieXRlcycsIHByb2lzc3RyaWN0ID0+ICdmJywg cHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4g J2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uX3hhY3RfYWJvcnRfYnl0ZXMnIH0sCiB7IG9pZCA9PiAnNjExOCcsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBpbmZvcm1hdGlvbiBhYm91dCBzdWJzY3JpcHRpb24nLAogICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb24nLCBwcm9yb3dzID0+ICcxMCcsIHBy b2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywgcHJvdm9sYXRpbGUgPT4gJ3Mn LCBwcm9wYXJhbGxlbCA9PiAncicsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9l eGVjUGFydGl0aW9uLmggYi9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKaW5k ZXggNjk0ZTM4Yi4uNzczZTQ2YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhl Y1BhcnRpdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaApA QCAtMTEwLDYgKzExMCw3IEBAIHR5cGVkZWYgc3RydWN0IFBhcnRpdGlvblBydW5lU3RhdGUKIAlQ YXJ0aXRpb25QcnVuaW5nRGF0YSAqcGFydHBydW5lZGF0YVtGTEVYSUJMRV9BUlJBWV9NRU1CRVJd OwogfSBQYXJ0aXRpb25QcnVuZVN0YXRlOwogCitleHRlcm4gc2l6ZV90IFBhcnRpdGlvblR1cGxl Um91dGluZ1NpemUodm9pZCk7CiBleHRlcm4gUGFydGl0aW9uVHVwbGVSb3V0aW5nICpFeGVjU2V0 dXBQYXJ0aXRpb25UdXBsZVJvdXRpbmcoRVN0YXRlICplc3RhdGUsCiAJCQkJCQkJCQkJCQkJCQkg UmVsYXRpb24gcmVsKTsKIGV4dGVybiBSZXN1bHRSZWxJbmZvICpFeGVjRmluZFBhcnRpdGlvbihN b2RpZnlUYWJsZVN0YXRlICptdHN0YXRlLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0 LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCA1ZWQxMzE5Li42MTA5OTMzIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAt NjcsNiArNjcsNyBAQCB0eXBlZGVmIGVudW0gU3RhdE1zZ1R5cGUKIAlQR1NUQVRfTVRZUEVfUkVT RVRTSU5HTEVDT1VOVEVSLAogCVBHU1RBVF9NVFlQRV9SRVNFVFNMUlVDT1VOVEVSLAogCVBHU1RB VF9NVFlQRV9SRVNFVFJFUExTTE9UQ09VTlRFUiwKKwlQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9O U1VDQ0VTUywKIAlQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9ORVJSLAogCVBHU1RBVF9NVFlQRV9T VUJTQ1JJUFRJT05FUlJQVVJHRSwKIAlQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9OUFVSR0UsCkBA IC01NjQsNiArNTY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVy cgogCU9pZAkJCW1fcmVsaWQ7CiAJTG9naWNhbFJlcE1zZ1R5cGUgbV9jb21tYW5kOwogCVRyYW5z YWN0aW9uSWQgbV94aWQ7CisJUGdTdGF0X0NvdW50ZXIgbV9ieXRlczsKIAlUaW1lc3RhbXBUeiBt X2ZhaWx1cmVfdGltZTsKIAljaGFyCQltX2Vycm1zZ1tQR1NUQVRfU1VCU0NSSVBUSU9ORVJSX01T R0xFTl07CiB9IFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnI7CkBAIC05OTAsMTMgKzk5MiwyOCBA QCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdFJlcGxTbG90RW50cnkKICAqIFN1YnNjcmlwdGlv biBlcnJvciBzdGF0aXN0aWNzIGtlcHQgaW4gdGhlIHN0YXRzIGNvbGxlY3RvciwgcmVwcmVzZW50 aW5nCiAgKiBhbiBlcnJvciB0aGF0IG9jY3VycmVkIGR1cmluZyBhcHBsaWNhdGlvbiBvZiBsb2dp Y2FsIHJlcGxpY2F0b2luIG9yCiAgKiBpbml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlvbi4KKyAq CisgKiBPdGhlciBnZW5lcmFsIHN0YXRzIGZvciB0cmFuc2FjdGlvbiBvbiBzdWJzY3JpcHRpb24g YXJlIHN0b3JlZCBpbiB0aGlzIGVudHJ5CisgKiBhcyB3ZWxsLCBhbGlnbmVkIHdpdGggdHJhbnNh Y3Rpb24gZXJyb3Igc3RhdHMuIEhvbGRpbmcgdGhlIHNpemUgb2YgY29tcHV0ZWQKKyAqIHJlc3Vs dCBvZiBieXRlcyBkdXJpbmcgcmVwbGF5IGRlcGVuZHMgb24gdGhlIGFwcGx5IGVycm9yIGNhbGxi YWNrIG5vdCB0byBiZQorICogbG9zdCBhbmQgaGF2aW5nIGdlbmVyYWwgc3RhdHMgaW4gdGhlIHNh bWUgcGxhY2UgcmVkdWNlcyBjb2RlIGNvbXBsZXhpdHkKKyAqIGFuZCByZWR1bmRhbmN5LgogICov CiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdFN1YkVyckVudHJ5CiB7CiAJT2lkCQkJcmVsaWQ7 CQkJLyogaGFzaCB0YWJsZSBrZXkgKi8KIAlMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kOwogCVRy YW5zYWN0aW9uSWQgeGlkOwotCVBnU3RhdF9Db3VudGVyIGZhaWx1cmVfY291bnQ7CisKKwkvKiB0 cmFuc2FjdGlvbiBzdGF0cyBvZiBzdWJzY3JpcHRpb24gKi8KKwlQZ1N0YXRfQ291bnRlciB4YWN0 X2NvbW1pdDsKKwlQZ1N0YXRfQ291bnRlciB4YWN0X2NvbW1pdF9ieXRlczsKKwlQZ1N0YXRfQ291 bnRlciB4YWN0X2Vycm9yOworCVBnU3RhdF9Db3VudGVyIHhhY3RfZXJyb3JfYnl0ZXM7IC8qIHRv dGFsIGVycm9yIGNvdW50cyBvZiB0aGlzIHN1YnNjcmlwdGlvbiAqLworCVBnU3RhdF9Db3VudGVy IHhhY3RfYWJvcnQ7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9hYm9ydF9ieXRlczsKKwlQZ1N0YXRf Q291bnRlciBmYWlsdXJlX2NvdW50OyAvKiB0b3RhbCBlcnJvciBjb3VudHMgb2Ygb25lIHNwZWNp ZmljIGVycm9yCisJCQkJCQkJCQkgY29udGludW91c2x5IGhhcHBlbmluZyAqLwogCVRpbWVzdGFt cFR6IGxhc3RfZmFpbHVyZTsKIAljaGFyCQlsYXN0X2Vycm1zZ1tQR1NUQVRfU1VCU0NSSVBUSU9O RVJSX01TR0xFTl07CiAJVGltZXN0YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CkBAIC0xMTI5 LDYgKzExNDYsOCBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2NoZWNrc3VtX2ZhaWx1cmUo dm9pZCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3JlcGxzbG90KGNvbnN0IFBnU3RhdF9T dGF0UmVwbFNsb3RFbnRyeSAqcmVwU2xvdFN0YXQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9y dF9yZXBsc2xvdF9jcmVhdGUoY29uc3QgY2hhciAqc2xvdG5hbWUpOwogZXh0ZXJuIHZvaWQgcGdz dGF0X3JlcG9ydF9yZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1lKTsKK2V4dGVybiB2 b2lkIHBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoT2lkIHN1YmlkLCBPaWQgc3Vi cmVsLAorCQkJCQkJCQkJCQkgICBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLCBQZ1N0YXRfQ291 bnRlciBieXRlcyk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9lcnJv cihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAogCQkJCQkJCQkJCQkgTG9naWNh bFJlcE1zZ1R5cGUgY29tbWFuZCwKIAkJCQkJCQkJCQkJIFRyYW5zYWN0aW9uSWQgeGlkLCBjb25z dCBjaGFyICplcnJtc2cpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9n aWNhbHdvcmtlci5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oCmlu ZGV4IDJhZDYxYTAuLjkyM2M4Y2UgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2xvZ2ljYWx3b3JrZXIuaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29y a2VyLmgKQEAgLTE1LDUgKzE1LDkgQEAKIGV4dGVybiB2b2lkIEFwcGx5V29ya2VyTWFpbihEYXR1 bSBtYWluX2FyZyk7CiAKIGV4dGVybiBib29sIElzTG9naWNhbFdvcmtlcih2b2lkKTsKK2V4dGVy biBpbnQ2NCBnZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUodm9pZCk7CitleHRlcm4g dm9pZCBhZGRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUoaW50NjQgc2l6ZSk7CitleHRl cm4gdm9pZCByZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSh2b2lkKTsKKwogCiAj ZW5kaWYJCQkJCQkJLyogTE9HSUNBTFdPUktFUl9IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CmluZGV4IDM3MTliOGEuLjdhMzIzYzYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CkBAIC0yMDkxLDkgKzIwOTEsMzQgQEAgcGdfc3RhdF9zdWJzY3JpcHRpb258IFNFTEVD VCBzdS5vaWQgQVMgc3ViaWQsCiAgICAgc3QubGFzdF9tc2dfc2VuZF90aW1lLAogICAgIHN0Lmxh c3RfbXNnX3JlY2VpcHRfdGltZSwKICAgICBzdC5sYXRlc3RfZW5kX2xzbiwKKyAgICBwZ19zdGF0 X2dldF9zdWJzY3JpcHRpb25feGFjdF9jb21taXQoc3Uub2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9j b21taXQsCisgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0X2J5dGVzKHN1 Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfY29tbWl0X2J5dGVzLAorICAgIHBnX3N0YXRfZ2V0X3N1 YnNjcmlwdGlvbl94YWN0X2Vycm9yKHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfZXJyb3IsCisg ICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfZXJyb3JfYnl0ZXMoc3Uub2lkLCBzdC5y ZWxpZCkgQVMgeGFjdF9lcnJvcl9ieXRlcywKKyAgICBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25f eGFjdF9hYm9ydChzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Fib3J0LAorICAgIHBnX3N0YXRf Z2V0X3N1YnNjcmlwdGlvbl94YWN0X2Fib3J0X2J5dGVzKHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhh Y3RfYWJvcnRfYnl0ZXMsCiAgICAgc3QubGF0ZXN0X2VuZF90aW1lCiAgICBGUk9NIChwZ19zdWJz Y3JpcHRpb24gc3UKLSAgICAgTEVGVCBKT0lOIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbihOVUxM OjpvaWQpIHN0KHN1YmlkLCByZWxpZCwgcGlkLCByZWNlaXZlZF9sc24sIGxhc3RfbXNnX3NlbmRf dGltZSwgbGFzdF9tc2dfcmVjZWlwdF90aW1lLCBsYXRlc3RfZW5kX2xzbiwgbGF0ZXN0X2VuZF90 aW1lKSBPTiAoKHN0LnN1YmlkID0gc3Uub2lkKSkpOworICAgICBMRUZUIEpPSU4gKCBTRUxFQ1Qg cy5zdWJpZCwKKyAgICAgICAgICAgIHMucmVsaWQsCisgICAgICAgICAgICBzLnBpZCwKKyAgICAg ICAgICAgIHMucmVjZWl2ZWRfbHNuLAorICAgICAgICAgICAgcy5sYXN0X21zZ19zZW5kX3RpbWUs CisgICAgICAgICAgICBzLmxhc3RfbXNnX3JlY2VpcHRfdGltZSwKKyAgICAgICAgICAgIHMubGF0 ZXN0X2VuZF9sc24sCisgICAgICAgICAgICBzLmxhdGVzdF9lbmRfdGltZQorICAgICAgICAgICBG Uk9NIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbihOVUxMOjpvaWQpIHMoc3ViaWQsIHJlbGlkLCBw aWQsIHJlY2VpdmVkX2xzbiwgbGFzdF9tc2dfc2VuZF90aW1lLCBsYXN0X21zZ19yZWNlaXB0X3Rp bWUsIGxhdGVzdF9lbmRfbHNuLCBsYXRlc3RfZW5kX3RpbWUpCisgICAgICAgIFVOSU9OCisgICAg ICAgICBTRUxFQ1Qgci5zcnN1YmlkLAorICAgICAgICAgICAgci5zcnJlbGlkLAorICAgICAgICAg ICAgTlVMTDo6aW50ZWdlciBBUyBwaWQsCisgICAgICAgICAgICBOVUxMOjpwZ19sc24gQVMgcmVj ZWl2ZWRfbHNuLAorICAgICAgICAgICAgTlVMTDo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFT IGxhc3RfbXNnX3NlbmRfdGltZSwKKyAgICAgICAgICAgIE5VTEw6OnRpbWVzdGFtcCB3aXRoIHRp bWUgem9uZSBBUyBsYXN0X21zZ19yZWNlaXB0X3RpbWUsCisgICAgICAgICAgICBOVUxMOjpwZ19s c24gQVMgbGF0ZXN0X2VuZF9sc24sCisgICAgICAgICAgICBOVUxMOjp0aW1lc3RhbXAgd2l0aCB0 aW1lIHpvbmUgQVMgbGF0ZXN0X2VuZF90aW1lCisgICAgICAgICAgIEZST00gcGdfc3Vic2NyaXB0 aW9uX3JlbCByCisgICAgICAgICAgV0hFUkUgKHIuc3JzdWJzdGF0ZSA8PiAncic6OiJjaGFyIikp IHN0IE9OICgoc3Quc3ViaWQgPSBzdS5vaWQpKSk7CiBwZ19zdGF0X3N1YnNjcmlwdGlvbl9lcnJv cnN8IFNFTEVDVCBkLmRhdG5hbWUsCiAgICAgc3Iuc3ViaWQsCiAgICAgcy5zdWJuYW1lLAo= --_002_OSBPR01MB4888507DD52192F0CDF9A49DEDDA9OSBPR01MB4888jpnp_--