From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10068.outbound.protection.outlook.com [40.107.1.68]) by sourceware.org (Postfix) with ESMTPS id A639B3861810 for ; Mon, 11 Jan 2021 11:02:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A639B3861810 Received: from DB6PR0801CA0053.eurprd08.prod.outlook.com (2603:10a6:4:2b::21) by AM5PR0801MB2017.eurprd08.prod.outlook.com (2603:10a6:203:42::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Mon, 11 Jan 2021 11:01:58 +0000 Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:2b:cafe::36) by DB6PR0801CA0053.outlook.office365.com (2603:10a6:4:2b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Mon, 11 Jan 2021 11:01:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Mon, 11 Jan 2021 11:01:57 +0000 Received: ("Tessian outbound f362b81824dc:v71"); Mon, 11 Jan 2021 11:01:57 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4dea4396e4e04abc X-CR-MTA-TID: 64aa7808 Received: from 17462887b2f1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 88A4A6A1-D4F9-4F93-9B37-CFFD37BE50A9.1; Mon, 11 Jan 2021 11:01:52 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 17462887b2f1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 11 Jan 2021 11:01:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kjjtnVBcfQyihDI3uLV50qFmrPUUX7UpmK4qry9cSeamYfI0RkF3X45RKZZB10Mrl8FyXp0UYb5njRnkb+PuxOqIaIcoyZVTn2C8Q9dayVMl98Q0LtG/wWY53PkNqPt2daYoKX7lC9bG7XrOekv1kHnkaRmurt3+vyASwQMDIdlJ76XcY7avPcmcEY/YlhG2uTI8P3Ov/UkO/HTpE7fFMTCyDvf31JBT6e/G7VuGSNxKHQykxet6gvZqm/764Rsktoalgt9iIbS3jyWnQLDEEkv05nOxYToxnsczwdZp2psEP6DtovFIzZwaT4votlfYhwa9SE3PkEQhY9gJiZ5gYQ== 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-SenderADCheck; bh=7R8C9V38JTIttE6t//RCHelukQUFEcdAHjVPOEkMGx0=; b=Zu9MI4BxlWfTKH5NPCQyr28E87/rlzqsJQz+CvcSVw+WbJqNpSGqZJArvELV2d+7fF3/+sEkV++RLglxfaxHWBkpCpPiVfNjKDD6Ww9BzXUBjXXd3/QXIjQ7wAUPceWv8uviprcGJMfY+5tbn7WUnSlPlB+Gkg8MlztIhaYM4Y+kfHzDzPBF1EwCP+jq/svA1k84v65La0I5uLJ+QBmH5DiFrn94m7oiDU1oCzm9TrxfSgjOhMzU+GrvDgb5Cjpf7FEMaHdsz8P8gZG0J+9yRAqD9dKrR49YqoLuHYEafJd/AiKA8TG27YA1KKSnnpVaKIZoAqV0PzBZ4Ed4WnELIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VI1PR0801MB1885.eurprd08.prod.outlook.com (2603:10a6:800:84::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Mon, 11 Jan 2021 11:01:49 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f937:5b3:12e1:8297]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f937:5b3:12e1:8297%5]) with mapi id 15.20.3742.012; Mon, 11 Jan 2021 11:01:48 +0000 From: Tamar Christina To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , nd Subject: RE: [PATCH 1/8 v9]middle-end slp: Support optimizing load distribution Thread-Topic: [PATCH 1/8 v9]middle-end slp: Support optimizing load distribution Thread-Index: AQHW3R5fxagQ5bDnuUm9es7ze81Cv6ocNZmAgAYS0ZA= Date: Mon, 11 Jan 2021 11:01:48 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-imapappendstamp: VI1PR08MB5325.eurprd08.prod.outlook.com (15.20.3742.012) x-ts-tracking-id: 8EABDCCCF9C03C4E80E53A3A8AD8E988.0 x-checkrecipientchecked: true Authentication-Results-Original: suse.de; dkim=none (message not signed) header.d=none;suse.de; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.11.185.166] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4e54dbef-cdd5-4d22-3212-08d8b6205089 x-ms-traffictypediagnostic: VI1PR0801MB1885:|AM5PR0801MB2017: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: MM0KkRIlrb3fMu83xyj0Kh0QMtcCOPZZsYNN6K/17AgJu0dFjqEbsfKGKrugICuRfZiR0ygOBvnoTpBF6z+A/zoxkRYZ1c2P1kWu14N4H48wERJl0BBWlXflm4iWMdStGfhKBYLynJnoI/3FNaZEnQ3Yj5HviLNoLMf1lPF3stbQgIilWGTo6cQzrxBIZgf6vEVT/gUnOGUARwiecw7s+NS017EJYzmVVAQhaoEtzUp+IA+79jDiWQsF1G1Cti26STV4wLQuZkNUqOUqvZKgzfzYjvn7D4R7Vx7jgkYuWbGFHIytHfbgMnRHdKmnKTg+80PWrnoR3//pLXjaQTQZZAkZ0CEZXc+VmZ3j+cs0Sdf5uAtcTCMyFKUcvrxScYuIUay0nI1bQHrRrrnGVwYDxA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(136003)(366004)(376002)(346002)(64756008)(66946007)(66476007)(66446008)(6916009)(316002)(66556008)(2906002)(66616009)(76116006)(54906003)(9686003)(71200400001)(478600001)(8936002)(99936003)(186003)(26005)(52536014)(8676002)(6506007)(53546011)(86362001)(83380400001)(5660300002)(55016002)(33656002)(30864003)(7696005)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?LzlnNldQdFR4cWpMYlNZL3dIc2JzU0NDeG9mdDNYQ29ZZEhTd1l1OGVZUFV3?= =?utf-8?B?NlN5eW1WUnVJT3h4NVU4NHpNSWk4YTRQSXpyR2lxckdnL20yK3lqMHNVRFg5?= =?utf-8?B?MnY2Z3RhL3MzQXJpR2krWndSYjQ4VXVSTVR5anN5MjFVMnBnQjJVVC9GT00r?= =?utf-8?B?R1k5WHJ1MDVkckJBdWpEV2JsUENwMXRpUEZWM3NNa2d6cDNGMURKVllhTEo2?= =?utf-8?B?VTZaYVdtVzVFQkFZZm1YL2cvZTFqNEljY0hxZWZVNW9DY3I1T1lKRHE2My9s?= =?utf-8?B?eWpaMkE0QVl3cFJlL1RuaG1hRTNQTldnazFVYTdRejQxWFplWHhRNHU2ekF3?= =?utf-8?B?ZFg2R3FQS1llalp5NEJVUGtkd2c1SUdnRk1VeVdGQlIzT0JRVDdiQXhNcDRk?= =?utf-8?B?Y0JWSTVZR0IxSy91Z2RsbTJJMFM2ckJSNWZwMndnRkwyNmRPMHUwWHpVODdM?= =?utf-8?B?U3FDMVBBYllYTVk5S2ZOaGt5bFI0elB5TG9UaHdxMnRrSDRTa0FCcG5OZ2xF?= =?utf-8?B?RkhWM01oRDY0MDBSS3pCZXJTQm5PajIrTzd5VFVVcWtLTEFBWnhrU1RBVmts?= =?utf-8?B?TXNGT2xwUW15Q1FUc1BOai9iMGZ3YmlhWjMvekhVZ05ZWG9wUE9EeU5lVTRB?= =?utf-8?B?cHhndWJiNnpHOWdONWh6b3BWRk9WSTM4L3FaM2l0YkxrUkE3aThMYXhPbE1E?= =?utf-8?B?T2x3MERhVWh5YXVjeHBPbGRDcU9VRzVmT0FnQ29Tejh6Z2dXbU4zb2FJLzRo?= =?utf-8?B?TGIvUnROdmNEQ3M2OW51N2JULzdZUUFjSmxTajAxSDJCU1ZncFVMalZmaENs?= =?utf-8?B?a0tpVllRcStEa0QzMWoxbzVYRWFUVWhwUW80L241aUVPVWNXcU42MWIxczhT?= =?utf-8?B?bmJEQ1BJaXV4VFZyYTNzK2N0bkIxZEZWMENxS2s5cE85c3FhcndYcFBWVFpw?= =?utf-8?B?dklxK3Q2RkRmYTZ0MVBKMGI5L3c0blIrazRDUk5jOE14NzhrK09QRWZkU0dV?= =?utf-8?B?WkZCSG4zSFNPVnMvNlhZTS8xd0pISzVmb0czNFRVK1NRbGRVRzM0Qm9OcXYz?= =?utf-8?B?QkttaXlPTzk1RVdzMDlSellTRCtTVU83SGYvazJuNHNwSFpVRWEvSkU5a2FV?= =?utf-8?B?eGNSWko2TXBvL05aNWpFUS9lbmtzcHBsYmIxZ0tLL0R5dDVTZ3BCOVpFckha?= =?utf-8?B?U2dPd2UwdEkxNFhSWDl2VmRZWUo0emxJNzdsd3FEMGRldEthTVY4RWFwYTBB?= =?utf-8?B?UTNZaHBTSlVBMzROMG9PNnpoL01BYWlsWVRJbmYvREYzYkRFeThQMC9ZT1Iw?= =?utf-8?Q?KfiUFKoJDdspk=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_VI1PR08MB5325D6A931CD1E60285233EBFFAB0VI1PR08MB5325eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1885 Original-Authentication-Results: suse.de; dkim=none (message not signed) header.d=none;suse.de; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: eaf2bb45-1f50-4234-a84b-08d8b6204b29 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dsllN+ob0UjdnszYhXaA0XaFDw+CK8a889rLA4r5hZdJ/GuU9iLeCYRFwGTFqnTeZCyXfMbFS2OHD3J3ULRZGMouFMJwUlNMv5xhB0jdzJD9mFBbyfQzWqnpfRwxojj2tKfLX4CyrSLkqdc2x6bRVgXwuNqPETc2FnOcYF+hZ2g23jYQ58Q4AIm7Y/gpyA4iMm/uS/lZsKl8rj8WOPltNgBU6sXRUaoVHcwzjOtu3QMkANfsnwF9laCtDQsRXAXI/ZEiV+iIyAKt7VaA18VrBEMuHxbrbYzevBWYd06gzA/3n8AgHTH1ChaWTHND/2LsHS6J7I4DsvupnfZ0QfmbLC6q1VHTy0dGyr5ptwZXdcdmRHJzwQTcGM7HefYNjC0Uuk3jJ2a1vrN9YeeC+LWdCuBBAWNVWtUp35rFxNfbssYho8qPWEWOaw0GKPUN2PF8+RwDuZuyALGQnLpv+qTSHbh/IE5M8/Ava6MjSMoxd8OaSC3Fu3QC6zldNuLimUj8 X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(39860400002)(136003)(376002)(396003)(346002)(46966006)(53546011)(9686003)(6506007)(235185007)(478600001)(81166007)(47076005)(336012)(8936002)(7696005)(316002)(55016002)(82740400003)(66616009)(70206006)(82310400003)(54906003)(83380400001)(356005)(52536014)(8676002)(34020700004)(70586007)(86362001)(186003)(33964004)(26005)(4326008)(99936003)(33656002)(6862004)(2906002)(5660300002)(30864003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2021 11:01:57.9202 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4e54dbef-cdd5-4d22-3212-08d8b6205089 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2017 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2021 11:02:04 -0000 --_002_VI1PR08MB5325D6A931CD1E60285233EBFFAB0VI1PR08MB5325eurp_ Content-Type: text/plain; charset="utf-8" Content-ID: <2BC4E54E1800B74F8780485E9C98D233@arm.com> Content-Transfer-Encoding: base64 SGkgUmljaGksDQoNCkF0dGFjaGVkIGlzIHRoZSB1cGRhdGVkIHBhdGNoLg0KDQpOb3RlIHRoYXQg dGVzdGNhc2VzIGZvciBhbGwgb2YgdGhlc2Ugd2lsbCBiZSBjb21taXR0ZWQgd2l0aCB0aGUgcGF0 Y2ggYnV0IEknbQ0KRmluaXNoaW5nIHVwIHRoZSAzMi1iaXQgQXJtIGNoYW5nZXMgdG8gbWlycm9y IHRoZSBjaGFuZ2VzIHRoZSBBQXJjaDY0IG1haW50YWluZXINCndhbnRlZCBhbmQgdGhlbiBoYXZl IHRvIGRvIGJvb3RzdHJhcCB3aGljaCB3aWxsIHRha2UgdGhlIG1ham9yaXR5IG9mIHRoZSBkYXkg c28NCndhbnRlZCB0byBnZXQgdGhlc2UgcGF0Y2hlcyBvdXQgZmlyc3QuDQoNCkkgYWxzbyBidWls dCBzcGVjIHdpdGggdGhlIG1hdGNoZXIgb24gYW5kIG9mZiBhbmQgbm90aWNlZCBubyBtZWFuaW5n ZnVsIGNoYW5nZSBpbg0KQ29tcGlsZSB0aW1lIGJ1dCByZXBsYWNlbWVudHMgaW4gc2V2ZXJhbCBi ZW5jaG1hcmtzLg0KDQpPayBmb3IgbWFzdGVyPw0KDQpUaGFua3MsDQpUYW1hcg0KDQpnY2MvQ2hh bmdlTG9nOg0KDQoJKiB0cmVlLXZlY3Qtc2xwLmMgKG9wdGltaXplX2xvYWRfcmVkaXN0cmlidXRp b25fMSk6IE5ldy4NCgkob3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbiwgdmVjdF9pc19zbHBf bG9hZF9ub2RlKTogTmV3Lg0KCSh2ZWN0X21hdGNoX3NscF9wYXR0ZXJucyk6IFVzZSBpdC4NCg0K LS0gaW5saW5lIGNvcHkgb2YgcGF0Y2ggLS0NCg0KZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Qt c2xwLmMgYi9nY2MvdHJlZS12ZWN0LXNscC5jDQppbmRleCAyYTU4ZTU0ZmU1MTQ3MWRmNWY1NWNl NGE1MjRkMDAyMjc0NDA1NGIwLi44OWUyMjZjYTNhMjVhNmM3N2I4NmQ0NmJhMjM0Y2U1NGJkM2Ni ODNiIDEwMDY0NA0KLS0tIGEvZ2NjL3RyZWUtdmVjdC1zbHAuYw0KKysrIGIvZ2NjL3RyZWUtdmVj dC1zbHAuYw0KQEAgLTIyMjgsNiArMjIyOCwxMTQgQEAgY2FsY3VsYXRlX3Vucm9sbGluZ19mYWN0 b3IgKHBvbHlfdWludDY0IG51bml0cywgdW5zaWduZWQgaW50IGdyb3VwX3NpemUpDQogICByZXR1 cm4gZXhhY3RfZGl2IChjb21tb25fbXVsdGlwbGUgKG51bml0cywgZ3JvdXBfc2l6ZSksIGdyb3Vw X3NpemUpOw0KIH0NCiANCisvKiBIZWxwZXIgdGhhdCBjaGVja3MgdG8gc2VlIGlmIGEgbm9kZSBp cyBhIGxvYWQgbm9kZS4gVGhpcyBpcyBkb25lIGJhc2VkIG9uDQorICAgdHdvIGNyaXRlcmlhczoN CisgICAxKSBUaGUgbm9kZSBpcyBpbnRlcm5hbA0KKyAgIDIpIFRoZSBub2RlIGhhcyBubyBjaGls ZGVuLiAgKi8NCisNCitzdGF0aWMgaW5saW5lIGJvb2wNCit2ZWN0X2lzX3NscF9sb2FkX25vZGUg IChzbHBfdHJlZSByb290KQ0KK3sNCisgIHJldHVybiAoU0xQX1RSRUVfREVGX1RZUEUgKHJvb3Qp ID09IHZlY3RfaW50ZXJuYWxfZGVmDQorCSAgJiYgIVNMUF9UUkVFX0NISUxEUkVOIChyb290KS5l eGlzdHMgKCkpOw0KK30NCisNCisNCisvKiBIZWxwZXIgZnVuY3Rpb24gb2Ygb3B0aW1pemVfbG9h ZF9yZWRpc3RyaWJ1dGlvbiB0aGF0IHBlcmZvcm1zIHRoZSBvcGVyYXRpb24NCisgICByZWN1cnNp dmVseS4gICovDQorDQorc3RhdGljIHNscF90cmVlDQorb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1 dGlvbl8xIChzY2FsYXJfc3RtdHNfdG9fc2xwX3RyZWVfbWFwX3QgKmJzdF9tYXAsDQorCQkJCXZl Y19pbmZvICp2aW5mbywgdW5zaWduZWQgaW50IGdyb3VwX3NpemUsDQorCQkJCWhhc2hfc2V0PHNs cF90cmVlPiAqdmlzaXRlZCwgc2xwX3RyZWUgcm9vdCkNCit7DQorICBpZiAodmlzaXRlZC0+YWRk IChyb290KSkNCisgICAgcmV0dXJuIE5VTEw7DQorDQorICBzbHBfdHJlZSBub2RlOw0KKyAgdW5z aWduZWQgaTsNCisNCisgIC8qIEZvciBub3csIHdlIGRvbid0IGtub3cgYW55dGhpbmcgYWJvdXQg ZXh0ZXJuYWxzIHNvIGRvIG5vdCBkbyBhbnl0aGluZy4gICovDQorICBpZiAoU0xQX1RSRUVfREVG X1RZUEUgKHJvb3QpICE9IHZlY3RfaW50ZXJuYWxfZGVmKQ0KKyAgICByZXR1cm4gTlVMTDsNCisg IGVsc2UgaWYgKFNMUF9UUkVFX0NPREUgKHJvb3QpID09IFZFQ19QRVJNX0VYUFIpDQorICAgIHsN CisgICAgICAvKiBGaXJzdCBjb252ZXJ0IHRoaXMgbm9kZSBpbnRvIGEgbG9hZCBub2RlIGFuZCBh ZGQgaXQgdG8gdGhlIGxlYXZlcw0KKyAgICAgICAgIGxpc3QgYW5kIGZsYXR0ZW4gdGhlIHBlcm11 dGUgZnJvbSBhIGxhbmUgdG8gYSBsb2FkIG9uZS4gIElmIGl0J3MNCisgICAgICAgICB1bm5lZWRl ZCBpdCB3aWxsIGJlIGVsaWRlZCBsYXRlci4gICovDQorICAgICAgdmVjPHN0bXRfdmVjX2luZm8+ IHN0bXRzOw0KKyAgICAgIHN0bXRzLmNyZWF0ZSAoU0xQX1RSRUVfTEFORVMgKHJvb3QpKTsNCisg ICAgICBsYW5lX3Blcm11dGF0aW9uX3QgbGFuZV9wZXJtID0gU0xQX1RSRUVfTEFORV9QRVJNVVRB VElPTiAocm9vdCk7DQorICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IGxhbmVfcGVybS5s ZW5ndGggKCk7IGorKykNCisgICAgICAgIHsNCisgICAgICAgICAgc3RkOjpwYWlyPHVuc2lnbmVk LCB1bnNpZ25lZD4gcGVybSA9IGxhbmVfcGVybVtqXTsNCisgICAgICAgICAgbm9kZSA9IFNMUF9U UkVFX0NISUxEUkVOIChyb290KVtwZXJtLmZpcnN0XTsNCisNCisJICBpZiAoIXZlY3RfaXNfc2xw X2xvYWRfbm9kZSAobm9kZSkpDQorCSAgIHJldHVybiBOVUxMOw0KKw0KKwkgIHN0bXRzLnF1aWNr X3B1c2ggKFNMUF9UUkVFX1NDQUxBUl9TVE1UUyAobm9kZSlbcGVybS5zZWNvbmRdKTsNCisgICAg ICAgIH0NCisNCisgICAgICBpZiAoZHVtcF9lbmFibGVkX3AgKCkpDQorCWR1bXBfcHJpbnRmX2xv YyAoTVNHX05PVEUsIHZlY3RfbG9jYXRpb24sDQorCQkJICJjb252ZXJ0aW5nIHN0bXRzIG9uIHBl cm11dGUgbm9kZSAlcFxuIiwgcm9vdCk7DQorDQorICAgICAgYm9vbCAqbWF0Y2hlcyA9IFhBTExP Q0FWRUMgKGJvb2wsIGdyb3VwX3NpemUpOw0KKyAgICAgIHBvbHlfdWludDY0IG1heF9udW5pdHMg PSAxOw0KKyAgICAgIHVuc2lnbmVkIHRyZWVfc2l6ZSA9IDAsIGxpbWl0ID0gMTsNCisgICAgICBu b2RlID0gdmVjdF9idWlsZF9zbHBfdHJlZSAodmluZm8sIHN0bXRzLCBncm91cF9zaXplLCAmbWF4 X251bml0cywNCisJCQkJICBtYXRjaGVzLCAmbGltaXQsICZ0cmVlX3NpemUsIGJzdF9tYXApOw0K KyAgICAgIGlmICghbm9kZSkNCisJc3RtdHMucmVsZWFzZSAoKTsNCisNCisgICAgICByZXR1cm4g bm9kZTsNCisgICAgfQ0KKw0KKyAgRk9SX0VBQ0hfVkVDX0VMVCAoU0xQX1RSRUVfQ0hJTERSRU4g KHJvb3QpLCBpICwgbm9kZSkNCisgICAgew0KKyAgICAgIHNscF90cmVlIHZhbHVlDQorCT0gb3B0 aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbl8xIChic3RfbWFwLCB2aW5mbywgZ3JvdXBfc2l6ZSwg dmlzaXRlZCwNCisJCQkJCSAgbm9kZSk7DQorICAgICAgaWYgKHZhbHVlKQ0KKwl7DQorICAgICAg ICAgIFNMUF9UUkVFX0NISUxEUkVOIChyb290KVtpXSA9IHZhbHVlOw0KKyAgICAgICAgICB2ZWN0 X2ZyZWVfc2xwX3RyZWUgKG5vZGUpOw0KKwl9DQorICAgIH0NCisNCisgIHJldHVybiBOVUxMOw0K K30NCisNCisvKiBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBmb3IgbG9hZHMgbm90IGJlaW5nIENTRWQg ZHVyaW5nIFNMUCBidWlsZC4gIFRoaXMNCisgICBmdW5jdGlvbiB3aWxsIHRyYXZlcnNlIHRoZSBT TFAgdHJlZSByb290ZWQgaW4gUk9PVCBmb3IgSU5TVEFOQ0UgYW5kIGZpbmQNCisgICBWRUNfUEVS TSBub2RlcyB0aGF0IGJsZW5kIHZlY3RvcnMgZnJvbSBtdWx0aXBsZSBub2RlcyB0aGF0IGFsbCBy ZWFkIGZyb20gdGhlDQorICAgc2FtZSBEUiBzdWNoIHRoYXQgdGhlIGZpbmFsIG9wZXJhdGlvbiBp cyBlcXVhbCB0byBhIHBlcm11dGVkIGxvYWQuICBTdWNoDQorICAgTk9ERVMgYXJlIHRoZW4gZGly ZWN0bHkgY29udmVydGVkIGludG8gTE9BRFMgdGhlbXNlbHZlcy4gIFRoZSBub2RlcyBhcmUNCisg ICBDU0VkIHVzaW5nIEJTVF9NQVAuICAqLw0KKw0KK3N0YXRpYyB2b2lkDQorb3B0aW1pemVfbG9h ZF9yZWRpc3RyaWJ1dGlvbiAoc2NhbGFyX3N0bXRzX3RvX3NscF90cmVlX21hcF90ICpic3RfbWFw LA0KKwkJCSAgICAgIHZlY19pbmZvICp2aW5mbywgdW5zaWduZWQgaW50IGdyb3VwX3NpemUsDQor CQkJICAgICAgc2xwX3RyZWUgcm9vdCkNCit7DQorICBzbHBfdHJlZSBub2RlOw0KKyAgdW5zaWdu ZWQgaTsNCisgIGhhc2hfc2V0PHNscF90cmVlPiB2aXNpdGVkOw0KKw0KKyAgRk9SX0VBQ0hfVkVD X0VMVCAoU0xQX1RSRUVfQ0hJTERSRU4gKHJvb3QpLCBpICwgbm9kZSkNCisgICAgew0KKyAgICAg IHNscF90cmVlIHZhbHVlDQorCT0gb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbl8xIChic3Rf bWFwLCB2aW5mbywgZ3JvdXBfc2l6ZSwgJnZpc2l0ZWQsDQorCQkJCQkgIG5vZGUpOw0KKyAgICAg IGlmICh2YWx1ZSkNCisJew0KKyAgICAgICAgICBTTFBfVFJFRV9DSElMRFJFTiAocm9vdClbaV0g PSB2YWx1ZTsNCisgICAgICAgICAgdmVjdF9mcmVlX3NscF90cmVlIChub2RlKTsNCisJfQ0KKyAg ICB9DQorfQ0KKw0KIC8qIEhlbHBlciBmdW5jdGlvbiBvZiB2ZWN0X21hdGNoX3NscF9wYXR0ZXJu cy4NCiANCiAgICBBdHRlbXB0cyB0byBtYXRjaCBwYXR0ZXJucyBhZ2FpbnN0IHRoZSBzbHAgdHJl ZSByb290ZWQgaW4gUkVGX05PREUgdXNpbmcNCkBAIC0yMjc2LDcgKzIzODQsNyBAQCBzdGF0aWMg Ym9vbA0KIHZlY3RfbWF0Y2hfc2xwX3BhdHRlcm5zIChzbHBfaW5zdGFuY2UgaW5zdGFuY2UsIHZl Y19pbmZvICp2aW5mbywNCiAJCQkgaGFzaF9zZXQ8c2xwX3RyZWU+ICp2aXNpdGVkLA0KIAkJCSBz bHBfdHJlZV90b19sb2FkX3Blcm1fbWFwX3QgKnBlcm1fY2FjaGUsDQotCQkJIHNjYWxhcl9zdG10 c190b19zbHBfdHJlZV9tYXBfdCAqIC8qIGJzdF9tYXAgKi8pDQorCQkJIHNjYWxhcl9zdG10c190 b19zbHBfdHJlZV9tYXBfdCAqYnN0X21hcCkNCiB7DQogICBEVU1QX1ZFQ1RfU0NPUEUgKCJ2ZWN0 X21hdGNoX3NscF9wYXR0ZXJucyIpOw0KICAgc2xwX3RyZWUgKnJlZl9ub2RlID0gJlNMUF9JTlNU QU5DRV9UUkVFIChpbnN0YW5jZSk7DQpAQCAtMjI5MSw2ICsyMzk5LDkgQEAgdmVjdF9tYXRjaF9z bHBfcGF0dGVybnMgKHNscF9pbnN0YW5jZSBpbnN0YW5jZSwgdmVjX2luZm8gKnZpbmZvLA0KIA0K ICAgaWYgKGZvdW5kX3ApDQogICAgIHsNCisgICAgICBvcHRpbWl6ZV9sb2FkX3JlZGlzdHJpYnV0 aW9uIChic3RfbWFwLCB2aW5mbywgU0xQX1RSRUVfTEFORVMgKCpyZWZfbm9kZSksDQorCQkJCSAg ICAqcmVmX25vZGUpOw0KKw0KICAgICAgIGlmIChkdW1wX2VuYWJsZWRfcCAoKSkNCiAJew0KIAkg IGR1bXBfcHJpbnRmX2xvYyAoTVNHX05PVEUsIHZlY3RfbG9jYXRpb24sDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNl LmRlPg0KPiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSA3LCAyMDIxIDE6MjEgUE0NCj4gVG86IFRh bWFyIENocmlzdGluYSA8VGFtYXIuQ2hyaXN0aW5hQGFybS5jb20+DQo+IENjOiBnY2MtcGF0Y2hl c0BnY2MuZ251Lm9yZzsgbmQgPG5kQGFybS5jb20+OyBvb2tAdWN3LmN6DQo+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggMS84IHY5XW1pZGRsZS1lbmQgc2xwOiBTdXBwb3J0IG9wdGltaXppbmcgbG9hZA0K PiBkaXN0cmlidXRpb24NCj4gDQo+ID4gRnJvbSB0YW1hci5jaHJpc3RpbmFAYXJtLmNvbSBNb24g RGVjIDI4IDE0OjM2OjMyIDIwMjANCj4gPiBEYXRlOiBNb24sIDI4IERlYyAyMDIwIDEzOjM1OjU2 ICswMDAwDQo+ID4gRnJvbTogVGFtYXIgQ2hyaXN0aW5hIDx0YW1hci5jaHJpc3RpbmFAYXJtLmNv bT4NCj4gPiBUbzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gPiBDYzogbmRAYXJtLmNvbSwg cmd1ZW50aGVyQHN1c2UuZGUsIG9va0B1Y3cuY3oNCj4gPiBTdWJqZWN0OiBbUEFUQ0ggMS84IHY5 XW1pZGRsZS1lbmQgc2xwOiBTdXBwb3J0IG9wdGltaXppbmcgbG9hZA0KPiA+IGRpc3RyaWJ1dGlv bg0KPiA+DQo+ID4gSGkgQWxsLA0KPiA+DQo+ID4gVGhpcyBpbnRyb2R1Y2VzIGEgcG9zdCBwcm9j ZXNzaW5nIHN0ZXAgZm9yIHRoZSBwYXR0ZXJuIG1hdGNoZXIgdG8NCj4gPiBmbGF0dGVuIHBlcm11 dGVzIGludHJvZHVjZWQgYnkgdGhlIGNvbXBsZXggbXVsdGlwbGljYXRpb25zIHBhdHRlcm5zLg0K PiA+DQo+ID4gVGhpcyBwZXJmb3JtcyBhIGJsZW5kIGVhcmx5IHN1Y2ggdGhhdCBTTFAgaXMgbm90 IGNhbmNlbGxlZCBieSB0aGUNCj4gPiBMT0FEX0xBTkVTIHBlcm11dGUuICBUaGlzIGlzIGEgdGVt cG9yYXJ5IHdvcmthcm91bmQgdG8gdGhlIGZhY3QgdGhhdA0KPiA+IGxvYWRzIGFyZSBub3QgQ1NF ZCBkdXJpbmcgYnVpbGRpbmcgYW5kIGlzIHJlcXVpcmVkIHRvIHByb2R1Y2UgZWZmaWNpZW50IGNv ZGUuDQo+ID4NCj4gPiBCb290c3RyYXBwZWQgUmVndGVzdGVkIG9uIGFhcmNoNjQtbm9uZS1saW51 eC1nbnUsIHg4Nl82NC1wYy1saW51eC1nbnUNCj4gPiBhbmQgbm8gaXNzdWVzLg0KPiA+DQo+ID4g T2sgZm9yIG1hc3Rlcj8NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBUYW1hcg0KPiA+DQo+ID4gZ2Nj L0NoYW5nZUxvZzoNCj4gPg0KPiA+IAkqIHRyZWUtdmVjdC1zbHAuYyAob3B0aW1pemVfbG9hZF9y ZWRpc3RyaWJ1dGlvbl8xKTogTmV3Lg0KPiA+IAkob3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlv bik6IE5ldy4NCj4gPiAJKHZlY3RfbWF0Y2hfc2xwX3BhdHRlcm5zKTogVXNlIGl0Lg0KPiA+DQo+ ID4gLS0tIGlubGluZSBjb3B5IG9mIHBhdGNoIC0tDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90cmVl LXZlY3Qtc2xwLmMgYi9nY2MvdHJlZS12ZWN0LXNscC5jIGluZGV4DQo+ID4NCj4gMmE1OGU1NGZl NTE0NzFkZjVmNTVjZTRhNTI0ZDAwMjI3NDQwNTRiMC4uODM2MGE1OTA5OGY1MTc0OThmMzE1NWYz MjVjDQo+IGYNCj4gPiA4NDA2NDY2YWMyNWMgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL3RyZWUtdmVj dC1zbHAuYw0KPiA+ICsrKyBiL2djYy90cmVlLXZlY3Qtc2xwLmMNCj4gPiBAQCAtMjIyOCw2ICsy MjI4LDExNSBAQCBjYWxjdWxhdGVfdW5yb2xsaW5nX2ZhY3RvciAocG9seV91aW50NjQgbnVuaXRz LA0KPiB1bnNpZ25lZCBpbnQgZ3JvdXBfc2l6ZSkNCj4gPiAgICByZXR1cm4gZXhhY3RfZGl2IChj b21tb25fbXVsdGlwbGUgKG51bml0cywgZ3JvdXBfc2l6ZSksDQo+ID4gZ3JvdXBfc2l6ZSk7ICB9 DQo+ID4NCj4gPiArLyogSGVscGVyIGZ1bmN0aW9uIG9mIG9wdGltaXplX2xvYWRfcmVkaXN0cmli dXRpb24gdGhhdCBwZXJmb3JtcyB0aGUNCj4gb3BlcmF0aW9uDQo+ID4gKyAgIHJlY3Vyc2l2ZWx5 LiAgKi8NCj4gPiArDQo+ID4gK3N0YXRpYyBzbHBfdHJlZQ0KPiA+ICtvcHRpbWl6ZV9sb2FkX3Jl ZGlzdHJpYnV0aW9uXzEgKHNjYWxhcl9zdG10c190b19zbHBfdHJlZV9tYXBfdA0KPiAqYnN0X21h cCwNCj4gPiArCQkJCWhhc2hfc2V0PHNscF90cmVlPiAqdmlzaXRlZCwgc2xwX3RyZWUgcm9vdCkg ew0KPiA+ICsgIGlmICh2aXNpdGVkLT5hZGQgKHJvb3QpKQ0KPiA+ICsgICAgcmV0dXJuIE5VTEw7 DQo+ID4gKw0KPiA+ICsgIHNscF90cmVlIG5vZGU7DQo+ID4gKyAgdW5zaWduZWQgaTsNCj4gPiAr DQo+ID4gKyAgLyogRm9yIG5vdywgd2UgZG9uJ3Qga25vdyBhbnl0aGluZyBhYm91dCBleHRlcm5h bHMgc28gZG8gbm90IGRvDQo+ID4gKyBhbnl0aGluZy4gICovICBpZiAoU0xQX1RSRUVfREVGX1RZ UEUgKHJvb3QpID09IHZlY3RfZXh0ZXJuYWxfZGVmDQo+ID4gKyAgICAgIHx8IFNMUF9UUkVFX0RF Rl9UWVBFIChyb290KSA9PSB2ZWN0X2NvbnN0YW50X2RlZikNCj4gDQo+IHVzZSBhIHNpbmdsZSAh PSB2ZWN0X2ludGVybmFsX2RlZiB0ZXN0IHBsZWFzZQ0KPiANCj4gPiArICAgIHJldHVybiBOVUxM Ow0KPiA+ICsgIGVsc2UgaWYgKFNMUF9UUkVFX0NPREUgKHJvb3QpID09IFZFQ19QRVJNX0VYUFIN Cj4gPiArICAgICAgJiYgU0xQX1RSRUVfTEFORV9QRVJNVVRBVElPTiAocm9vdCkuZXhpc3RzICgp DQo+ID4gKyAgICAgICYmICFTTFBfVFJFRV9TQ0FMQVJfU1RNVFMgKHJvb3QpLmV4aXN0cyAoKSkN Cj4gDQo+IEkgdGhpbmsgYm90aCBsYXN0IHRlc3RzIGFyZSB1bm5lY2Vzc2FyeQ0KPiANCj4gPiAr ICAgIHsNCj4gPiArICAgICAgLyogRmlyc3QgY29udmVydCB0aGlzIG5vZGUgaW50byBhIGxvYWQg bm9kZSBhbmQgYWRkIGl0IHRvIHRoZSBsZWF2ZXMNCj4gPiArICAgICAgICAgbGlzdCBhbmQgZmxh dHRlbiB0aGUgcGVybXV0ZSBmcm9tIGEgbGFuZSB0byBhIGxvYWQgb25lLiAgSWYgaXQncw0KPiA+ ICsgICAgICAgICB1bm5lZWRlZCBpdCB3aWxsIGJlIGVsaWRlZCBsYXRlci4gICovDQo+ID4gKyAg ICAgIGF1dG9fdmVjPHN0bXRfdmVjX2luZm8+IHN0bXRzOw0KPiA+ICsgICAgICBzdG10cy5jcmVh dGUgKFNMUF9UUkVFX0xBTkVTIChyb290KSk7DQo+ID4gKyAgICAgIGxvYWRfcGVybXV0YXRpb25f dCBsb2FkX3Blcm07DQo+ID4gKyAgICAgIGxvYWRfcGVybS5jcmVhdGUgKFNMUF9UUkVFX0xBTkVT IChyb290KSk7DQo+ID4gKyAgICAgIGxhbmVfcGVybXV0YXRpb25fdCBsYW5lX3Blcm0gPSBTTFBf VFJFRV9MQU5FX1BFUk1VVEFUSU9ODQo+ID4gKyAocm9vdCk7DQo+IA0KPiBsb2FkX3Blcm0gbGVh a3Mgd2hlbiBhbnkgb2YgdGhlIGJlbG93IG91dHMgaXMgdGFrZW4NCj4gDQo+ID4gKyAgICAgIGZv ciAodW5zaWduZWQgaiA9IDA7IGogPCBsYW5lX3Blcm0ubGVuZ3RoICgpOyBqKyspDQo+ID4gKyAg ICAgICAgew0KPiA+ICsgICAgICAgICAgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gcGVy bSA9IGxhbmVfcGVybVtqXTsNCj4gPiArCSAgLyogVGhpcyBpc24ndCBzdHJpY3RseSBuZWVkZWQs IGJ1dCB0aGlzIGZ1bmN0aW9uIGlzIGEgdGVtcG9yYXJ5DQo+ID4gKwkgICAgIG9uZSBmb3Igc3Bl Y2lmaWNhbGx5IHBhdHRlcm4gbWF0Y2hpbmcsIHNvIGRvbid0IHdhbnQgaXQgdG8NCj4gPiArCSAg ICAgb3B0aW1pemUgdGhpbmdzIHRoZSByZW1haW5kZXIgb2YgdGhlIHBpcGVsaW5lIHdpbGwuICAq Lw0KPiA+ICsJICBpZiAocGVybS5maXJzdCAhPSBqKQ0KPiA+ICsJICAgIGdvdG8gbmV4dDsNCj4g DQo+IGJ1dCBwbGVhc2UgZWxpZGUgaXQgbmV2ZXJ0aGVsZXNzDQo+IA0KPiA+ICsgICAgICAgICAg bm9kZSA9IFNMUF9UUkVFX0NISUxEUkVOIChyb290KVtwZXJtLmZpcnN0XTsNCj4gPiArDQo+ID4g KwkgIGlmICghU0xQX1RSRUVfTE9BRF9QRVJNVVRBVElPTiAobm9kZSkuZXhpc3RzICgpKQ0KPiA+ ICsJICAgIHJldHVybiBOVUxMOw0KPiANCj4gc28geW91IHdhbnQgdG8gY2hlY2sgd2hldGhlciB0 aGlzIGlzIGEgbG9hZCwgSSB0aGluayBtb3JlIHRvIHRoZSBwb2ludCB3b3VsZA0KPiBiZSBhIHZl Y3RfaW50ZXJuYWxfZGVmICsgemVybyBTTFAgY2hpbGRyZW4gY2hlY2suICBBbmQgYSBjb21tZW50 IG9uIHdoYXQNCj4gd2UgdGVzdCAod2UgZG8gbGFjayBjbGFzc2lmaWNhdGlvbiBvZiBTTFAgbm9k ZXMsIHNvIGEgaGVscGVyIGxpa2UNCj4gdmVjdF9pc19zbHBfbG9hZF9ub2RlIG9yIHNvIHdvdWxk IGJlIE9LIGFzIHdlbGwpDQo+IA0KPiA+ICsNCj4gPiArCSAgc3RtdHMucXVpY2tfcHVzaCAoU0xQ X1RSRUVfU0NBTEFSX1NUTVRTDQo+IChub2RlKVtwZXJtLnNlY29uZF0pOw0KPiA+ICsgICAgICAg ICAgbG9hZF9wZXJtLnNhZmVfcHVzaCAoU0xQX1RSRUVfTE9BRF9QRVJNVVRBVElPTg0KPiA+ICso bm9kZSlbcGVybS5zZWNvbmRdKTsNCj4gDQo+IEFzIHlvdSdyZSBkb2luZyBoZXJlIGxhY2tzIGEg Y2hlY2sgdGhhdCB3ZSBhcmUgYWN0dWFsbHkgbG9hZGluZyBmcm9tIHRoZSBzYW1lDQo+IERSIGdy b3VwLiAgSSB0aGluayBpdCBtaWdodCBiZSBlYXNpZXIgdG8ganVzdCBjb2xsZWN0IHNjYWxhciBz dG10cyBhbmQgdGhyb3cNCj4gdGhlbSBhdCB2ZWN0X2J1aWxkX3NscF90cmVlPyAgVGhhdCBzaG91 bGQgcGVyZm9ybSB0aGUgbmVjZXNzYXJ5DQo+IHZlcmlmaWNhdGlvbiwgYnVpbGQgdGhlIGFwcHJv cHJpYXRlIGxhbmUgcGVybXV0ZSBhbmQgcGVyZm9ybSB0aGUgQ1NFLiAgV2hpY2gNCj4gbGVhZHMg dG8gdGhlIHF1ZXN0aW9uIHdoeSB0aGUgVkVDX1BFUk0gbm9kZSBkb2Vzbid0IGhhdmUgc2NhbGFy IHN0bXRzIHNldA0KPiB3aGlsZSB3ZSBhcmUgYWN0dWFsbHkgYmUgYWJsZSB0byBjb21wdXRlIHRo ZW0gaGVyZSAuLi4gdGhhdCBpcywgdGhlIENTRQ0KPiBvcHBvcnR1bml0eSBjb3VsZCBoYXZlIGJl ZW4gbm90aWNlZCBkdXJpbmcgcGF0dGVybiBtYXRjaGluZyBpdHNlbGY/DQo+IA0KDQpJIHRob3Vn aHQgYWJvdXQgdGhpcyBteXNlbGYsIGJ1dCBnaXZlbiB5b3VyIHByZXZpb3VzIGNvbW1lbnQgb2Yg bm90IHRvdWNoaW5nIHRoZSBzY2FsYXINClN0YXRlbWVudHMgZHVyaW5nIG1hdGNoaW5nIEkgdGhv dWdodCBpdCB3YXMgYSBjbGVhbmVyIGFic3RyYWN0aW9uIHRvIHNlcGFyYXRlIHRoZSB0d28uDQoN CkFsc28gdGhpcyBvcHRpbWl6YXRpb24gZnVuY3Rpb24gaXMgdGVtcG9yYXJ5IGFueXdheSBzbyBJ IGZpZ3VyZWQgSSdkIGxlYXZlIHRoZSBtYXRjaGVycw0KImFzIHRoZXkgc2hvdWxkIGJlIiBhbmQg b3B0aW1pemUgaXQgYWZ0ZXJ3YXJkcy4NCg0KUmVnYXJkcywNClRhbWFyDQoNCj4gPiArICAgICAg ICB9DQo+ID4gKw0KPiA+ICsgICAgICBpZiAoZHVtcF9lbmFibGVkX3AgKCkpDQo+ID4gKwlkdW1w X3ByaW50Zl9sb2MgKE1TR19OT1RFLCB2ZWN0X2xvY2F0aW9uLA0KPiA+ICsJCQkgImNvbnZlcnRp bmcgc3RtdHMgb24gcGVybXV0ZSBub2RlICVwXG4iLCByb290KTsNCj4gPiArDQo+ID4gKyAgICAg IHNscF90cmVlICp2YWx1ZSA9IGJzdF9tYXAtPmdldCAoc3RtdHMpOw0KPiA+ICsgICAgICBpZiAo dmFsdWUpDQo+ID4gKwlub2RlID0gKnZhbHVlOw0KPiA+ICsgICAgICBlbHNlDQo+ID4gKwl7DQo+ ID4gKwkgIEZPUl9FQUNIX1ZFQ19FTFQgKFNMUF9UUkVFX0NISUxEUkVOIChyb290KSwgaSwgbm9k ZSkNCj4gPiArCSAgICBTTFBfVFJFRV9SRUZfQ09VTlQgKG5vZGUpKys7DQo+ID4gKw0KPiA+ICsJ ICB2ZWM8c3RtdF92ZWNfaW5mbz4gc3RtdHNfY3B5ID0gc3RtdHMuY29weSAoKTsNCj4gPiArCSAg bm9kZSA9IHZlY3RfY3JlYXRlX25ld19zbHBfbm9kZSAoc3RtdHNfY3B5LmNvcHkgKCksIDApOw0K PiA+ICsJICBTTFBfVFJFRV9WRUNUWVBFIChub2RlKSA9IFNMUF9UUkVFX1ZFQ1RZUEUgKHJvb3Qp Ow0KPiA+ICsJICBTTFBfVFJFRV9MT0FEX1BFUk1VVEFUSU9OIChub2RlKSA9IGxvYWRfcGVybTsN Cj4gPiArCSAgYnN0X21hcC0+cHV0IChzdG10c19jcHksIG5vZGUpOw0KPiA+ICsJfQ0KPiA+ICsg ICAgICBTTFBfVFJFRV9SRUZfQ09VTlQgKG5vZGUpKys7DQo+IA0KPiBBZGp1c3RpbmcgdGhlIHJl ZmNvdW50IGhlcmUgYnV0IGRvaW5nIHRoZSByZXBsYWNlbWVudCBpbiB0aGUgY2FsbGVyIGlzIGEg Yml0DQo+IGF3a3dhcmQgdG8gZm9sbG93IC0gaG93IGFib3V0IHBhc3NpbmcgYSByZWZlcmVuY2Ug c28geW91IGNhbiBhZGp1c3QgdGhlDQo+IGVkZ2UgaGVyZT8NCj4gDQo+ID4gKw0KPiA+ICsgICAg ICByZXR1cm4gbm9kZTsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gK25leHQ6DQo+ID4gKyAgRk9S X0VBQ0hfVkVDX0VMVCAoU0xQX1RSRUVfQ0hJTERSRU4gKHJvb3QpLCBpICwgbm9kZSkNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgc2xwX3RyZWUgdmFsdWUgPSBvcHRpbWl6ZV9sb2FkX3JlZGlzdHJp YnV0aW9uXzEgKGJzdF9tYXAsIHZpc2l0ZWQsDQo+IG5vZGUpOw0KPiA+ICsgICAgICBpZiAodmFs dWUpDQo+ID4gKwl7DQo+ID4gKyAgICAgICAgICBTTFBfVFJFRV9DSElMRFJFTiAocm9vdClbaV0g PSB2YWx1ZTsNCj4gPiArICAgICAgICAgIHZlY3RfZnJlZV9zbHBfdHJlZSAobm9kZSk7DQo+ID4g Kwl9DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgIHJldHVybiBOVUxMOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICsvKiBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBmb3IgbG9hZHMgbm90IGJlaW5nIENTRWQg ZHVyaW5nIFNMUCBidWlsZC4gIFRoaXMNCj4gPiArICAgZnVuY3Rpb24gd2lsbCB0cmF2ZXJzZSB0 aGUgU0xQIHRyZWUgcm9vdGVkIGluIFJPT1QgZm9yIElOU1RBTkNFIGFuZCBmaW5kDQo+ID4gKyAg IFZFQ19QRVJNIG5vZGVzIHRoYXQgYmxlbmQgdmVjdG9ycyBmcm9tIG11bHRpcGxlIG5vZGVzIHRo YXQgYWxsIHJlYWQNCj4gZnJvbSB0aGUNCj4gPiArICAgc2FtZSBEUiBzdWNoIHRoYXQgdGhlIGZp bmFsIG9wZXJhdGlvbiBpcyBlcXVhbCB0byBhIHBlcm11dGVkIGxvYWQuICBTdWNoDQo+ID4gKyAg IE5PREVTIGFyZSB0aGVuIGRpcmVjdGx5IGNvbnZlcnRlZCBpbnRvIExPQURTIHRoZW1zZWx2ZXMu ICBUaGUgbm9kZXMNCj4gYXJlDQo+ID4gKyAgIENTRWQgdXNpbmcgQlNUX01BUC4gICovDQo+ID4g Kw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtvcHRpbWl6ZV9sb2FkX3JlZGlzdHJpYnV0aW9uIChz Y2FsYXJfc3RtdHNfdG9fc2xwX3RyZWVfbWFwX3QNCj4gKmJzdF9tYXAsDQo+ID4gKwkJCSAgICAg IHNscF90cmVlIHJvb3QpDQo+ID4gK3sNCj4gPiArICBzbHBfdHJlZSBub2RlOw0KPiA+ICsgIHVu c2lnbmVkIGk7DQo+ID4gKyAgaGFzaF9zZXQ8c2xwX3RyZWU+IHZpc2l0ZWQ7DQo+ID4gKw0KPiA+ ICsgIEZPUl9FQUNIX1ZFQ19FTFQgKFNMUF9UUkVFX0NISUxEUkVOIChyb290KSwgaSAsIG5vZGUp DQo+ID4gKyAgICB7DQo+ID4gKyAgICAgIHNscF90cmVlIHZhbHVlID0gb3B0aW1pemVfbG9hZF9y ZWRpc3RyaWJ1dGlvbl8xIChic3RfbWFwLCAmdmlzaXRlZCwNCj4gbm9kZSk7DQo+ID4gKyAgICAg IGlmICh2YWx1ZSkNCj4gPiArCXsNCj4gPiArICAgICAgICAgIFNMUF9UUkVFX0NISUxEUkVOIChy b290KVtpXSA9IHZhbHVlOw0KPiA+ICsgICAgICAgICAgdmVjdF9mcmVlX3NscF90cmVlIChub2Rl KTsNCj4gPiArCX0NCj4gPiArICAgIH0NCj4gPiArfQ0KPiA+ICsNCj4gPiAgLyogSGVscGVyIGZ1 bmN0aW9uIG9mIHZlY3RfbWF0Y2hfc2xwX3BhdHRlcm5zLg0KPiA+DQo+ID4gICAgIEF0dGVtcHRz IHRvIG1hdGNoIHBhdHRlcm5zIGFnYWluc3QgdGhlIHNscCB0cmVlIHJvb3RlZCBpbiBSRUZfTk9E RQ0KPiA+IHVzaW5nIEBAIC0yMjc2LDcgKzIzODUsNyBAQCBzdGF0aWMgYm9vbCAgdmVjdF9tYXRj aF9zbHBfcGF0dGVybnMNCj4gPiAoc2xwX2luc3RhbmNlIGluc3RhbmNlLCB2ZWNfaW5mbyAqdmlu Zm8sDQo+ID4gIAkJCSBoYXNoX3NldDxzbHBfdHJlZT4gKnZpc2l0ZWQsDQo+ID4gIAkJCSBzbHBf dHJlZV90b19sb2FkX3Blcm1fbWFwX3QgKnBlcm1fY2FjaGUsDQo+ID4gLQkJCSBzY2FsYXJfc3Rt dHNfdG9fc2xwX3RyZWVfbWFwX3QgKiAvKiBic3RfbWFwICovKQ0KPiA+ICsJCQkgc2NhbGFyX3N0 bXRzX3RvX3NscF90cmVlX21hcF90ICpic3RfbWFwKQ0KPiA+ICB7DQo+ID4gICAgRFVNUF9WRUNU X1NDT1BFICgidmVjdF9tYXRjaF9zbHBfcGF0dGVybnMiKTsNCj4gPiAgICBzbHBfdHJlZSAqcmVm X25vZGUgPSAmU0xQX0lOU1RBTkNFX1RSRUUgKGluc3RhbmNlKTsgQEAgLTIyOTEsNg0KPiA+ICsy NDAwLDggQEAgdmVjdF9tYXRjaF9zbHBfcGF0dGVybnMgKHNscF9pbnN0YW5jZSBpbnN0YW5jZSwg dmVjX2luZm8NCj4gPiAqdmluZm8sDQo+ID4NCj4gPiAgICBpZiAoZm91bmRfcCkNCj4gPiAgICAg IHsNCj4gPiArICAgICAgb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbiAoYnN0X21hcCwgKnJl Zl9ub2RlKTsNCj4gPiArDQo+ID4gICAgICAgIGlmIChkdW1wX2VuYWJsZWRfcCAoKSkNCj4gPiAg CXsNCj4gPiAgCSAgZHVtcF9wcmludGZfbG9jIChNU0dfTk9URSwgdmVjdF9sb2NhdGlvbiwNCj4g Pg0KPiA+DQo+ID4gLS0NCj4gPg0KPiA+DQo+ID4gICAgIFsgUGFydCAyLCBUZXh0L1gtRElGRiAx NDAgbGluZXMuIF0NCj4gPiAgICAgWyBVbmFibGUgdG8gcHJpbnQgdGhpcyBwYXJ0LiBdDQoNCg== --_002_VI1PR08MB5325D6A931CD1E60285233EBFFAB0VI1PR08MB5325eurp_ Content-Type: text/x-diff; name="pr13956.patch" Content-Description: pr13956.patch Content-Disposition: attachment; filename="pr13956.patch"; size=4633; creation-date="Mon, 11 Jan 2021 11:00:19 GMT"; modification-date="Mon, 11 Jan 2021 11:00:19 GMT" Content-ID: Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Qtc2xwLmMgYi9nY2MvdHJlZS12ZWN0LXNscC5jDQpp bmRleCAyYTU4ZTU0ZmU1MTQ3MWRmNWY1NWNlNGE1MjRkMDAyMjc0NDA1NGIwLi44OWUyMjZjYTNh MjVhNmM3N2I4NmQ0NmJhMjM0Y2U1NGJkM2NiODNiIDEwMDY0NA0KLS0tIGEvZ2NjL3RyZWUtdmVj dC1zbHAuYw0KKysrIGIvZ2NjL3RyZWUtdmVjdC1zbHAuYw0KQEAgLTIyMjgsNiArMjIyOCwxMTQg QEAgY2FsY3VsYXRlX3Vucm9sbGluZ19mYWN0b3IgKHBvbHlfdWludDY0IG51bml0cywgdW5zaWdu ZWQgaW50IGdyb3VwX3NpemUpDQogICByZXR1cm4gZXhhY3RfZGl2IChjb21tb25fbXVsdGlwbGUg KG51bml0cywgZ3JvdXBfc2l6ZSksIGdyb3VwX3NpemUpOw0KIH0NCiANCisvKiBIZWxwZXIgdGhh dCBjaGVja3MgdG8gc2VlIGlmIGEgbm9kZSBpcyBhIGxvYWQgbm9kZS4gVGhpcyBpcyBkb25lIGJh c2VkIG9uDQorICAgdHdvIGNyaXRlcmlhczoNCisgICAxKSBUaGUgbm9kZSBpcyBpbnRlcm5hbA0K KyAgIDIpIFRoZSBub2RlIGhhcyBubyBjaGlsZGVuLiAgKi8NCisNCitzdGF0aWMgaW5saW5lIGJv b2wNCit2ZWN0X2lzX3NscF9sb2FkX25vZGUgIChzbHBfdHJlZSByb290KQ0KK3sNCisgIHJldHVy biAoU0xQX1RSRUVfREVGX1RZUEUgKHJvb3QpID09IHZlY3RfaW50ZXJuYWxfZGVmDQorCSAgJiYg IVNMUF9UUkVFX0NISUxEUkVOIChyb290KS5leGlzdHMgKCkpOw0KK30NCisNCisNCisvKiBIZWxw ZXIgZnVuY3Rpb24gb2Ygb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbiB0aGF0IHBlcmZvcm1z IHRoZSBvcGVyYXRpb24NCisgICByZWN1cnNpdmVseS4gICovDQorDQorc3RhdGljIHNscF90cmVl DQorb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbl8xIChzY2FsYXJfc3RtdHNfdG9fc2xwX3Ry ZWVfbWFwX3QgKmJzdF9tYXAsDQorCQkJCXZlY19pbmZvICp2aW5mbywgdW5zaWduZWQgaW50IGdy b3VwX3NpemUsDQorCQkJCWhhc2hfc2V0PHNscF90cmVlPiAqdmlzaXRlZCwgc2xwX3RyZWUgcm9v dCkNCit7DQorICBpZiAodmlzaXRlZC0+YWRkIChyb290KSkNCisgICAgcmV0dXJuIE5VTEw7DQor DQorICBzbHBfdHJlZSBub2RlOw0KKyAgdW5zaWduZWQgaTsNCisNCisgIC8qIEZvciBub3csIHdl IGRvbid0IGtub3cgYW55dGhpbmcgYWJvdXQgZXh0ZXJuYWxzIHNvIGRvIG5vdCBkbyBhbnl0aGlu Zy4gICovDQorICBpZiAoU0xQX1RSRUVfREVGX1RZUEUgKHJvb3QpICE9IHZlY3RfaW50ZXJuYWxf ZGVmKQ0KKyAgICByZXR1cm4gTlVMTDsNCisgIGVsc2UgaWYgKFNMUF9UUkVFX0NPREUgKHJvb3Qp ID09IFZFQ19QRVJNX0VYUFIpDQorICAgIHsNCisgICAgICAvKiBGaXJzdCBjb252ZXJ0IHRoaXMg bm9kZSBpbnRvIGEgbG9hZCBub2RlIGFuZCBhZGQgaXQgdG8gdGhlIGxlYXZlcw0KKyAgICAgICAg IGxpc3QgYW5kIGZsYXR0ZW4gdGhlIHBlcm11dGUgZnJvbSBhIGxhbmUgdG8gYSBsb2FkIG9uZS4g IElmIGl0J3MNCisgICAgICAgICB1bm5lZWRlZCBpdCB3aWxsIGJlIGVsaWRlZCBsYXRlci4gICov DQorICAgICAgdmVjPHN0bXRfdmVjX2luZm8+IHN0bXRzOw0KKyAgICAgIHN0bXRzLmNyZWF0ZSAo U0xQX1RSRUVfTEFORVMgKHJvb3QpKTsNCisgICAgICBsYW5lX3Blcm11dGF0aW9uX3QgbGFuZV9w ZXJtID0gU0xQX1RSRUVfTEFORV9QRVJNVVRBVElPTiAocm9vdCk7DQorICAgICAgZm9yICh1bnNp Z25lZCBqID0gMDsgaiA8IGxhbmVfcGVybS5sZW5ndGggKCk7IGorKykNCisgICAgICAgIHsNCisg ICAgICAgICAgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gcGVybSA9IGxhbmVfcGVybVtq XTsNCisgICAgICAgICAgbm9kZSA9IFNMUF9UUkVFX0NISUxEUkVOIChyb290KVtwZXJtLmZpcnN0 XTsNCisNCisJICBpZiAoIXZlY3RfaXNfc2xwX2xvYWRfbm9kZSAobm9kZSkpDQorCSAgIHJldHVy biBOVUxMOw0KKw0KKwkgIHN0bXRzLnF1aWNrX3B1c2ggKFNMUF9UUkVFX1NDQUxBUl9TVE1UUyAo bm9kZSlbcGVybS5zZWNvbmRdKTsNCisgICAgICAgIH0NCisNCisgICAgICBpZiAoZHVtcF9lbmFi bGVkX3AgKCkpDQorCWR1bXBfcHJpbnRmX2xvYyAoTVNHX05PVEUsIHZlY3RfbG9jYXRpb24sDQor CQkJICJjb252ZXJ0aW5nIHN0bXRzIG9uIHBlcm11dGUgbm9kZSAlcFxuIiwgcm9vdCk7DQorDQor ICAgICAgYm9vbCAqbWF0Y2hlcyA9IFhBTExPQ0FWRUMgKGJvb2wsIGdyb3VwX3NpemUpOw0KKyAg ICAgIHBvbHlfdWludDY0IG1heF9udW5pdHMgPSAxOw0KKyAgICAgIHVuc2lnbmVkIHRyZWVfc2l6 ZSA9IDAsIGxpbWl0ID0gMTsNCisgICAgICBub2RlID0gdmVjdF9idWlsZF9zbHBfdHJlZSAodmlu Zm8sIHN0bXRzLCBncm91cF9zaXplLCAmbWF4X251bml0cywNCisJCQkJICBtYXRjaGVzLCAmbGlt aXQsICZ0cmVlX3NpemUsIGJzdF9tYXApOw0KKyAgICAgIGlmICghbm9kZSkNCisJc3RtdHMucmVs ZWFzZSAoKTsNCisNCisgICAgICByZXR1cm4gbm9kZTsNCisgICAgfQ0KKw0KKyAgRk9SX0VBQ0hf VkVDX0VMVCAoU0xQX1RSRUVfQ0hJTERSRU4gKHJvb3QpLCBpICwgbm9kZSkNCisgICAgew0KKyAg ICAgIHNscF90cmVlIHZhbHVlDQorCT0gb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbl8xIChi c3RfbWFwLCB2aW5mbywgZ3JvdXBfc2l6ZSwgdmlzaXRlZCwNCisJCQkJCSAgbm9kZSk7DQorICAg ICAgaWYgKHZhbHVlKQ0KKwl7DQorICAgICAgICAgIFNMUF9UUkVFX0NISUxEUkVOIChyb290KVtp XSA9IHZhbHVlOw0KKyAgICAgICAgICB2ZWN0X2ZyZWVfc2xwX3RyZWUgKG5vZGUpOw0KKwl9DQor ICAgIH0NCisNCisgIHJldHVybiBOVUxMOw0KK30NCisNCisvKiBUZW1wb3Jhcnkgd29ya2Fyb3Vu ZCBmb3IgbG9hZHMgbm90IGJlaW5nIENTRWQgZHVyaW5nIFNMUCBidWlsZC4gIFRoaXMNCisgICBm dW5jdGlvbiB3aWxsIHRyYXZlcnNlIHRoZSBTTFAgdHJlZSByb290ZWQgaW4gUk9PVCBmb3IgSU5T VEFOQ0UgYW5kIGZpbmQNCisgICBWRUNfUEVSTSBub2RlcyB0aGF0IGJsZW5kIHZlY3RvcnMgZnJv bSBtdWx0aXBsZSBub2RlcyB0aGF0IGFsbCByZWFkIGZyb20gdGhlDQorICAgc2FtZSBEUiBzdWNo IHRoYXQgdGhlIGZpbmFsIG9wZXJhdGlvbiBpcyBlcXVhbCB0byBhIHBlcm11dGVkIGxvYWQuICBT dWNoDQorICAgTk9ERVMgYXJlIHRoZW4gZGlyZWN0bHkgY29udmVydGVkIGludG8gTE9BRFMgdGhl bXNlbHZlcy4gIFRoZSBub2RlcyBhcmUNCisgICBDU0VkIHVzaW5nIEJTVF9NQVAuICAqLw0KKw0K K3N0YXRpYyB2b2lkDQorb3B0aW1pemVfbG9hZF9yZWRpc3RyaWJ1dGlvbiAoc2NhbGFyX3N0bXRz X3RvX3NscF90cmVlX21hcF90ICpic3RfbWFwLA0KKwkJCSAgICAgIHZlY19pbmZvICp2aW5mbywg dW5zaWduZWQgaW50IGdyb3VwX3NpemUsDQorCQkJICAgICAgc2xwX3RyZWUgcm9vdCkNCit7DQor ICBzbHBfdHJlZSBub2RlOw0KKyAgdW5zaWduZWQgaTsNCisgIGhhc2hfc2V0PHNscF90cmVlPiB2 aXNpdGVkOw0KKw0KKyAgRk9SX0VBQ0hfVkVDX0VMVCAoU0xQX1RSRUVfQ0hJTERSRU4gKHJvb3Qp LCBpICwgbm9kZSkNCisgICAgew0KKyAgICAgIHNscF90cmVlIHZhbHVlDQorCT0gb3B0aW1pemVf bG9hZF9yZWRpc3RyaWJ1dGlvbl8xIChic3RfbWFwLCB2aW5mbywgZ3JvdXBfc2l6ZSwgJnZpc2l0 ZWQsDQorCQkJCQkgIG5vZGUpOw0KKyAgICAgIGlmICh2YWx1ZSkNCisJew0KKyAgICAgICAgICBT TFBfVFJFRV9DSElMRFJFTiAocm9vdClbaV0gPSB2YWx1ZTsNCisgICAgICAgICAgdmVjdF9mcmVl X3NscF90cmVlIChub2RlKTsNCisJfQ0KKyAgICB9DQorfQ0KKw0KIC8qIEhlbHBlciBmdW5jdGlv biBvZiB2ZWN0X21hdGNoX3NscF9wYXR0ZXJucy4NCiANCiAgICBBdHRlbXB0cyB0byBtYXRjaCBw YXR0ZXJucyBhZ2FpbnN0IHRoZSBzbHAgdHJlZSByb290ZWQgaW4gUkVGX05PREUgdXNpbmcNCkBA IC0yMjc2LDcgKzIzODQsNyBAQCBzdGF0aWMgYm9vbA0KIHZlY3RfbWF0Y2hfc2xwX3BhdHRlcm5z IChzbHBfaW5zdGFuY2UgaW5zdGFuY2UsIHZlY19pbmZvICp2aW5mbywNCiAJCQkgaGFzaF9zZXQ8 c2xwX3RyZWU+ICp2aXNpdGVkLA0KIAkJCSBzbHBfdHJlZV90b19sb2FkX3Blcm1fbWFwX3QgKnBl cm1fY2FjaGUsDQotCQkJIHNjYWxhcl9zdG10c190b19zbHBfdHJlZV9tYXBfdCAqIC8qIGJzdF9t YXAgKi8pDQorCQkJIHNjYWxhcl9zdG10c190b19zbHBfdHJlZV9tYXBfdCAqYnN0X21hcCkNCiB7 DQogICBEVU1QX1ZFQ1RfU0NPUEUgKCJ2ZWN0X21hdGNoX3NscF9wYXR0ZXJucyIpOw0KICAgc2xw X3RyZWUgKnJlZl9ub2RlID0gJlNMUF9JTlNUQU5DRV9UUkVFIChpbnN0YW5jZSk7DQpAQCAtMjI5 MSw2ICsyMzk5LDkgQEAgdmVjdF9tYXRjaF9zbHBfcGF0dGVybnMgKHNscF9pbnN0YW5jZSBpbnN0 YW5jZSwgdmVjX2luZm8gKnZpbmZvLA0KIA0KICAgaWYgKGZvdW5kX3ApDQogICAgIHsNCisgICAg ICBvcHRpbWl6ZV9sb2FkX3JlZGlzdHJpYnV0aW9uIChic3RfbWFwLCB2aW5mbywgU0xQX1RSRUVf TEFORVMgKCpyZWZfbm9kZSksDQorCQkJCSAgICAqcmVmX25vZGUpOw0KKw0KICAgICAgIGlmIChk dW1wX2VuYWJsZWRfcCAoKSkNCiAJew0KIAkgIGR1bXBfcHJpbnRmX2xvYyAoTVNHX05PVEUsIHZl Y3RfbG9jYXRpb24sDQoNCg== --_002_VI1PR08MB5325D6A931CD1E60285233EBFFAB0VI1PR08MB5325eurp_--