From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 25D1D3858D33 for ; Tue, 29 Nov 2022 08:18:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 25D1D3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ibm.com Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AT88Htb020119; Tue, 29 Nov 2022 08:18:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pp1; bh=oYV68s9nseqGW11B3aBFeTF2czcFOX2pUrZ5HMyQvqI=; b=gDMWTs0K3oFhdmEVfE1mFLF7RuE1yMTFtIpJ8m5o4DaUynsMvN4ie+Vq+u7AxMZTXDeC StAYcwaszQ2+lmiwGsLbZszPemJSNBunOL+hMLxwRszGNmIClgQzU190NiuTjBTH92Jz r6f6ghciHHsTnU/dJN64aDKStIncT5yfiyQz1wl1DwAG705bWZqqZG+qev2+BFMKgkfe Nr2GA8PVj2d2FfmpsLHl0cqPIECP0RuBs1hUEderEklstaLqtAV4071WqNpQ+7kyzlmv 3E7+GiBy2k0i6B0t50qZYu0q6cBHwCKLsnX3iDsbg5qOl2l8p/0SJc7QH7VJASp/SbC6 yg== Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3m5cmuan7m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 29 Nov 2022 08:18:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YDgl0qNtXryrShd3vRH7Z5eDntJFbsv8ujxebH0O3Iaa5NLtgBSezqA8DA8PDrov+fw1kse2ToH6547HczN6dConxQClWB/kRFtSScZJ06zqNhd5M1zIajdiWXj7bIhEPN9brIb009VFI910xKsak0yLdvho+PmFZkd7dDvD9aZo93w3K+ma4aFV/Lz7kpfSk+xwNIwWKKL0ULbg6CZqY73jf+S+E50PDleaIPhuh+N4ap7UAR16h/ehh5LoftF9k6vpe/DIr6z5QyRV1LwNVo1tTvMEUe+lF/QG9NPcb6HeTONt8dvpf656PELyXSxZAXJ1YzYxp0YT83zcbhVDlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oYV68s9nseqGW11B3aBFeTF2czcFOX2pUrZ5HMyQvqI=; b=V+2l85NdG8+lE0qDNU8+mFBqGkivaK7OtsH2qe4Iq2vo/uU4Xk5rVA2/vtZNCV+GoxLxpRI9pXTTjVciU7uZlOD7+9nhY5ICtGh2wHyblwESA6K3hIdyN+ryf01VMLuQbsqxyEvBuxjohi0bah9JyOFaz891WHnhoTsaxK5lXPYnVxxNBKIt9bmCujR5HPU1qZqZHg6wBy+cdT/hWSO0IHkcdL4CDwzPelk8BUeOLlk2EUBn09G36/QdGdp1Ry2y5dkG0UXIWoWKeCuGim48L73MzVFaXc5lOzLN4mScIB2Sto/tLOB/iaimf7qqVXgO0zrRxZtdOcru0/K8ID6LCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by SA1PR15MB4497.namprd15.prod.outlook.com (2603:10b6:806:198::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Tue, 29 Nov 2022 08:18:38 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9c73:790a:1985:15d2]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9c73:790a:1985:15d2%5]) with mapi id 15.20.5857.022; Tue, 29 Nov 2022 08:18:38 +0000 From: Aditya Kamath1 To: Ulrich Weigand , "simark@simark.ca" , "gdb-patches@sourceware.org" CC: Sangamesh Mallayya Subject: Re: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Topic: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Index: AQHY6DximDPpCqTL9kGyFvcEZokFBq4jlIiAgBFljYeAAA2HgIAIORaygAMrdQCACMPAdYADi8KAgAAbf+aAABUYgIAADhDtgAjHItg= Date: Tue, 29 Nov 2022 08:18:38 +0000 Message-ID: References: <0866c91331b08f2870fad6e6a13fbcd1a9823b48.camel@de.ibm.com> <5df6ab523034d1997ffda5bb06c3bd87777dcccb.camel@de.ibm.com> <0dba07cfad3da44c0281c53702d73f807bca7d06.camel@de.ibm.com> <5956432ab1e0eedc8f65e01d3793a80ccf3a3a1f.camel@de.ibm.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|SA1PR15MB4497:EE_ x-ms-office365-filtering-correlation-id: 3b745224-8127-4c05-6934-08dad1e2516b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ao/HltPURW9+pReAsaUXByXd854OSUginmUqT+vdfsYDinw6If0E8o+bY7FWSRBsTLJ9UOYxUnQ5SMmXGNrSlXoBi2DoX5ik0a5OFLiewNrNDc/+n3i74AG20YlEUn8mssAZIu3oHsnLsTjRuu8t+cdogj3ReKBDF+Wj3xE/ehBMLZWBjSfhIKR38cwfusaWhxA4HwAp2s13/6shYeOH79x6CYgSChbcnnzfQllBgtfxpeAz7tXaZxWZVUwwx4itiZo3vZOTu3L7WxrqMc5oaWvJGuO0G6IL3U/PzZhgJnZHkC7+aTO/DjSf1sQJEfXfRxln6qt0TjuMh2Q1o9JE+bgwmT4r9ghQAW7+nnatX9iPt1273WX3KZOX8hVQAnKIc66OiD3NntN+3PDepJI7X5iOuY/lStXoE81hbGkHHP/Rf9OLGIFn6zT9ZESW91nl57/FvIzcOkuySelbohVHohlwKvZo09NMF08x+U91DAzDVZFAp/La4f7YIDJtvB+4624O02SFwmjsSrFgs6UOFBtmf+AD1olipD8UiG8yZc1z37qbn+F2ZZ6K6meWzdqo0tgS4sMroQo7oK9cVVqtDWFdQKRJ6ew0xB0F+drFy3Bggs3WmWqCcy8KlJm0+9V2b59CbiShvh9MSX3XqyGEjQQgDmys6B+i0w04C4SNK+FWQ0fhkHln5aVidcs5b5I+rzEbWqt+a0p8rrTDraPtZQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR15MB3544.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199015)(55016003)(38070700005)(86362001)(110136005)(71200400001)(33656002)(9686003)(7696005)(6506007)(30864003)(5660300002)(53546011)(478600001)(52536014)(8936002)(2906002)(41300700001)(91956017)(316002)(66946007)(66476007)(4326008)(66556008)(64756008)(66446008)(76116006)(8676002)(122000001)(99936003)(186003)(83380400001)(38100700002)(66899015)(19627405001)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWIvR3BxNmUzUUIvY1RXNjJYOXl1d0NSK3luQlJZQjJpcFVyNmxoSVh0Zzlx?= =?utf-8?B?WFVQRXlHSDZQSm8xamVoR1B3S2NEcWd4VEdsUnJhUVZUc2dsV1o3L1dFd3FL?= =?utf-8?B?VHhSSVFJampveFBmYnlFSlBCUDVCN2NGMnZjZWNob0NJclpMRzl5cTZUa2Zi?= =?utf-8?B?ZUJvT1VLNFEzZTRkNE5kM21zdFRIN0YxYlJoK0tJRzBkZXBOQlVZUHdRVUhD?= =?utf-8?B?djRSOHN1YkdQQ0lyL3F0QzFKdXZjWU5uajVMcTB5b2Zic3NaODVnYVFCN0E3?= =?utf-8?B?TDJNV29hTUpjYzlLQWdnekJwK2ZOZUV3KyswMUE5Q3ovTXdNMlpLQmVZVHZ6?= =?utf-8?B?eTJ5cGtvQUtsSEdEbUx2MTFxaVFIdDlDSEp3UDkzcnNPNkRER1lCaEZiSmlL?= =?utf-8?B?U202dktCaXk2QjVaTm9DVGJmcUFEakJ4U2JmMG92R2tPUnN6Q2ZzSmxFRlNH?= =?utf-8?B?Z2RDMTBMdmhZQlBHN3ZRNWloa0NtSXJCd0VRcGdJMjdzcWV5c0F5Tjh2OUYr?= =?utf-8?B?OWZ2cHROd2VycTk0bGtIWk5UOFc4RTQ3aXdlMzY1Z2F6K3RBcmVkUU51aVky?= =?utf-8?B?cGtHMHhSRElMRUIrbEVvdEc1bmdWaWduT3J3dkg3QVhsbWFhZ3l2KzlQcURI?= =?utf-8?B?RHl6b21iTEhkL2lyc1YwMG9PL1VLalI1V29MS2hoU0EvWHRYVkk3QnpCMG1j?= =?utf-8?B?aXlCRmdiYmFIZktYMHNUUjlETnpVeE9GQUw4T21nNGdTbng1b3l0Qm9keFNW?= =?utf-8?B?UFZDbU15MTBwVjdUK3VhdjFxSEQvc1FhNERmMkJ1ZWVDTS9uZVJ4VnlZTDAx?= =?utf-8?B?QStXcFBjUktWdlUzRDlLdVBtRVRodnl6NCtYQU5RbkFtQUQya0o3SVJPZSs1?= =?utf-8?B?MUlCSFM3Wk1uOXM0L1RkcTNXRzJicWQxTHB3b2piOXl3dXUrcURXaUhUT0Fj?= =?utf-8?B?Q3o1UWwvODFkL1hTV0tUenhsVE5oV0U0eFA2Y3FCWWViOGtSNk1VcHlRbVpk?= =?utf-8?B?KzhjZTBKUlFqaGFwdDdXa2V3N2FSWVFqbTVpbGJTSmpPc3VwaVc0cHhSZGJT?= =?utf-8?B?SEdzdGlseStGMWhZQndIWDNBbnlpZEk1RG15cGdaL1R2bUw1TGhUS0NqTks1?= =?utf-8?B?M3gyMkFBLzdkL2M3eTE5VjIzY1F1Zk1mamZEVVpDSktiWVVUUStUbUFKb0lu?= =?utf-8?B?ai92b3RoOGZiQVAwVXRHNGZhMDJETmVoWkxQVE5yY2dpSVllY2dmQXlnTDRB?= =?utf-8?B?dDVCa2JvVHlVaXpVeThEM1YwVUpXd1VTczhsdkdlWnhqaGtLL2pXY0VKQklD?= =?utf-8?B?MnV1c3pQQ3VOeGswK0pKRU0wRGZWYjRnamhFdUZqaXZybWsycXVjSGxiMjNy?= =?utf-8?B?RDZ2VGNUKzhueDRRNlZnZFgza09xTkhRbi96V093aWNGam1rU3JxeWNCYjV6?= =?utf-8?B?Q1VFSnVtMWZTZFBiRzhEQXA4a3VnYmYzOWZGKyt3VXoybUFnK2FNNkJKSzFq?= =?utf-8?B?ODNVd3pZcW00QXMyV3RYenRrYnlOamFDa3RYdzZSNTR4MUYzVkVXQjNnSDJK?= =?utf-8?B?QWRzWFIzVWd4WGVUT0t6OUFJUUxQVmpJU0FZeGUvbWVIcHBvanFWNHhoUDBN?= =?utf-8?B?RDgrZldmKyszL0RzUjNzYjVSa3hoTUk4UHFxY0NKNFNZWmpLWkpVejI1dHVR?= =?utf-8?B?K3ZUdG1MTkxBVEdmMUxvZ1Ntak9NOWoxQWpNZUdwQ05uWkdiQ3V5MXdJaytC?= =?utf-8?B?S3FRWHkyZDFFU1ZRbmZtTjJpTGF1ZTd1OVNaRnNQbWU5Ky8veXk4NUxPY2o2?= =?utf-8?B?bUNKM3dHVTNpSjBYUmx6SXEzYlllbVc5bzVTSVNxZ2VwRGJqMGpPYkxxZExa?= =?utf-8?B?bjlSaU1aSnpkR2NGWm1NU1BLeENZeEUvRlNac3d6eXZNUU90SjBaTnJvbTM0?= =?utf-8?B?VXlhSFdSajQ1dXB4clB0aHo5eTdxREVob0xzZTVqTzdqRG1aMEZ2ZmtNOTRN?= =?utf-8?B?akF4ODNYT3FpTnZtREtJNDZqRmwxZjMvYUZ0eHN1N0VnMnA3WkNtOHl2cEsv?= =?utf-8?B?NFNrYUJucGh6aElleWRKMmJ1NEk5K1NLTEp6K0pYdFpWTzFTYW03RGQvTkRm?= =?utf-8?B?UEFoL091a05IVzJoQXE0R2xlTWJ5OVR1aFFJSkR4OFNwL3Q0cURvTVRhaG5X?= =?utf-8?Q?H0SJyEpmzGC5EEOd+4ZoHWzHNME/VSURQ66RwQOyJt1G?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_" MIME-Version: 1.0 X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b745224-8127-4c05-6934-08dad1e2516b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 08:18:38.4685 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: s4zU49jZmoALMBA2CECehF8d0AcdvEM/xycEEYpBOFQKuR1YCKkzVBnL6vFJIfPY30sHRfmCld0Flp7Wae0DAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR15MB4497 X-Proofpoint-ORIG-GUID: fH3ZPVRcjfFiDFOfUrI02yxPQi3br_YH X-Proofpoint-GUID: fH3ZPVRcjfFiDFOfUrI02yxPQi3br_YH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_06,2022-11-28_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290050 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_" --_000_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgYWxsLA0KDQpQbGVhc2UgZmluZCBhdHRhY2hlZCB0aGUgbmV3IHBhdGNo LiBbS2luZGx5IHNlZTogMDAwMS1GaXgtbXVsdGktdGhyZWFkLWJ1Zy1maXgt aW4tQUlYLnBhdGNoXS4NCg0KVGhpcyBwYXRjaCB3b3JrcyBmb3IgYSBzaW5n bGUgcHJvY2VzcyB3aXRoIG11bHRpcGxlIHRocmVhZHMgYW5kIG11bHRpcGxl IHByb2Nlc3Mgd2l0aCBkZXRhY2ggb24gZm9yayBvbi4gS2luZGx5IGZpbmQg dGhlIHByb2dyYW0xIGFuZCAyIGJlbG93IGFuZCB0aGUgb3V0cHV0cyBuYW1l ZCBhcyBvdXRwdXQgMSBhbmQgb3V0cHV0IDIgcmVzcGVjdGl2ZWx5Lg0KDQpU aGUgaXNzdWU6LQ0KDQpXaGVuIHdlIHJhbiB0aGUgdW5pdCB0ZXN0IGNhc2Vz LCB3ZSByZWFsaXNlZCB3ZSBoYXZlIGEgcHJvYmxlbSBpbiB0aGUgbXVsdGkg cHJvY2VzcyBkZXRhY2ggb24gZm9yayBvbiBjYXNlIHdoZXJlIHRoaXMgcGF0 Y2ggZmFpbHMuIFRoZSBpc3N1ZSBpcyB3aGVuIHRoZXJlIGlzIGludGVycnVw dCBwcmVzc2VkIHdoaWxlIGEgdGhyZWFkIGlzIHJ1bm5pbmcgW3RocmVhZHMg YWZ0ZXIgdXNpbmcgZm9yaygpIGFuZCBzdHVjayBpbiB3aGlsZSAoMSk7XSwg aXQgc29tZWhvdyBtYW5hZ2VzIHRvIHN3aXRjaCB0aGUgcHJvY2VzcyBhcyBz aG93biBoaWdobGlnaHRlZCBpbiBib2xkIGluIG91dHB1dCAzIGJlbG93IHRo aXMgZW1haWwuIER1ZSB0byB0aGlzIHdoYXQgc2hvdWxkIGhhdmUgYmVlbiBz aG93biBhcyB0aHJlYWRzIGlzIG5vdyBiZWluZyBzaG93biBhcyBwcm9jZXNz Lg0KDQpBIGRldGFpbGVkIGV4cGxhaW5hdGlvbiBvbiB0aGUgc29sdXRpb24g cHJvcG9zZWQgZm9yIHNpbmdsZSBwcm9jZXNzOi0NCg0KSW4gQUlYIHdlIHdl cmUgYWRkaW5nIGEgbWFpbiB0aHJlYWQgbmFtZWQgc2F5ICdUaHJlYWQgMScg ZXh0cmEgd2hlbiB3ZSBhbHJlYWR5IGhhZCBhIG1haW4gcHJvY2VzcyB0aHJl YWQgbmFtZWQgc2F5ICdwcm9jZXNzIDEwMCcuIFRoaXMgY3JlYXRlZCBhIG1l c3Mgd2hpbGUgc2lua2luZyBhbmQgd2l0aCB0aGUgcmVjZW50IGNoYW5nZSBp biB0aGUgZ2V0X2FpeF90aHJlYWRfaW5mbyAoKSBmdW5jdGlvbiB3aGVyZSBp dCB3b24ndCBhbGxvdyBhbnkgdGhyZWFkIHdpdGggbm8gcHJpdmF0ZSBkYXRh IHRoZXJlIGJ5IGxlYWRpbmcgdG8gYSBjcmFzaC4NCg0KU28sIHRoZSBwcm9w b3NlZCBwYXRjaFthdHRhY2hlZCBpbiB0aGlzIGVtYWlsXSBtb2RpZmllcyBv dXIgc3luY190aHJlYWRsaXN0cyAoKSAgZnVuY3Rpb24gd2hlcmUgYSBjaGVj ayBpZiBhIHByb2Nlc3MgaGFzIHRpZCBvciBub3QuIElmIGl0IGhhcyB0aGVu IHdlIGtub3cgbXkgcHJvZ3JhbSBpcyBtdWx0aS10aHJlYWRlZCBhbmQgSSBu ZWVkIHRvIGNoYW5nZSBtYWluIHByb2Nlc3MgdGhyZWFkIHB0aWQgZnJvbSAn cHJvY2VzcyAxMDAnIHRvICdUaHJlYWQgMScgYXMgVWxyaWNoIG1lbnRpb25l ZCBpbiB0aGUgcHJldmlvdXMgdGhyZWFkcyBsaWtlIHB0aWQgKHBpZCwgMCwg MCkgdG8gcHRpZCAocGlkLCAwLCB0aWQgb3IgcHRocmVhZElEKS4gVGhpcyBp cyBkb25lIGJ5IHRocmVhZF9jaGFuZ2VfcHRpZCAoKSBpbiB0aGUgcGF0Y2gu DQoNCldoaWxlIHRoaXMgaXMgZG9uZSwgdGhlcmUgYXJlIGNhc2VzIHdoZXJl IHdoZW4gd2UgcmVhZCB0YXJnZXQgbWVtb3J5IHdlIG5lZWQgdG8gYmUgaW4g dGhlIHJpZ2h0IGNvbnRleHQuLiBIZW5jZSwgdGhlIHByb3Bvc2VkIHBhdGNo IGNoYW5nZXMgaW5mZXJpb3JfcHRpZCBpbiBwZGNfcmVhZF9kYXRhKCkgYXMg bWVudGlvbmVkIGJ5IFVscmljaC4NCisgICAgICBpbmZlcmlvcl9wdGlkID0g cHRpZF90ICh1c2VyX2N1cnJlbnRfcGlkKTsNCg0KSGVyZSdzIHRoZSB0aGlu ZyB3ZSB3ZXJlIG5vdCBjb3VudGluZyBvdXIgbWFpbiB0aHJlYWQgaW4gR0RC IHRocmVhZCBsaXN0cyBbZ2NvdW50XS4uIE5vdyB3ZSBkbyBzby4gVGhlIHBy b3Bvc2VkIHBhdGNoIGhhcyByZW1vdmVkIHRoZSBjb25kaXRpb24uDQotICBp ZiAoUERfVElEICh0aHJlYWQtPnB0aWQpKQ0KDQpCZWZvcmUgd2UgaGFkIGFu IGV4dHJhIHRocmVhZCAncHJvY2VzcyAxMDAnIGFwYXJ0IGZyb20gJ3RocmVh ZCAxJy4gU28sIGluIGNhc2Ugc29tZW9uZSBpbnRlcnJ1cHRlZCBhIHRocmVh ZCB3aXRoIGN0cmwrYy4uIEluIHRoZSBwZF91cGRhdGUgKCkgZXZlbiBpZiB3 ZSBkb24ndCBoYXZlIHRocmVhZCB3aG8gc2lnbmFsbGVkIHRoaXMgaW50ZXJy dXB0IHdoZW4gd2UgcmV0dXJuIHB0aWRfdCAocGlkKSBpdCB3YXMgZmluZS4g QnV0IG5vdyB3aXRoIG5vICdwcm9jZXNzIDEwMCcgYW5kIG9ubHkgJ3RocmVh ZCAxJywgd2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgaW50ZXJydXB0IGFzIHdl bGwsIG90aGVyd2lzZSBHREIgY29yZSB3aWxsIHRha2UgcHRpZF90KDEwMCkg YXMgYSBuZXcgcHJvY2Vzcy4gU28gdGhlIGNoYW5nZQ0KKyAgICAgIGlmICh0 aHJpbmYudGlfY3Vyc2lnID09IFNJR1RSQVAgfHwgdGhyaW5mLnRpX2N1cnNp ZyA9PSBTSUdJTlQpDQoNClRoZXNlIGNoYW5nZXMgc29sdmUgdGhlIHNpbmds ZSBwcm9jZXNzIGNhc2UuDQoNCkEgZGV0YWlsZWQgZXhwbGFpbmF0aW9uIG9u IHRoZSBzb2x1dGlvbiBwcm9wb3NlZCBmb3IgbXVsdGkgcHJvY2VzcyB3aXRo IG11bHRpIHRocmVhZCBjYXNlOi0NCg0KQ29uc2lkZXIgbXkgbWFpbiBwcm9n cmFtIGlzIG11bHRpLXRocmVhZGVkIGFuZCBlYWNoIHRocmVhZCBjYW4gZm9y aygpLi4gQWZ0ZXIgd2UgcmVjb3JkIGFsbCBldmVudHMgdGhlcmUgYXJlIHR3 byB0aGluZ3MsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIGluIG15IHJzNjAw MC1haXgtbmF0LmMuLg0KDQoxOi0gVGhlcmUgY2FuIGJlIGEgY2hpbGQgZXZl bnQgd2hvc2UgcGFyZW50IGNhbiBiZSBwdGhyZWFkZWQgb3IgbXVsdGktdGhy ZWFkZWQuIFRoZSBuZWdhdGlvbiBvZiB0aGlzIGlzIGZpbmUgc2luY2Ugd2Ug YW55d2F5IGNhbiByZXR1cm4gb25seSBwdGlkX3QgKHBpZCkuDQoNCkluIHRo aXMgY2FzZSBpZiB3ZSByZXR1cm4gYSBwdGlkX3QgKHBpZCkgdGhlbiBnZGIg Y29yZSB0cmVhdHMgaXQgYXMgYSBuZXcgcHJvY2VzcyBzaW5jZSBvdXIgcGFy ZW50IHRocmVhZCBpcyBwdGhyZWFkZWQgR0RCIGNvcmUgb25seSBrbm93cyB0 aHJlYWRzIGxpa2UgcHRpZF90IChwaWQsIHRpZCwgcHRoaWQpIGFuZCBub3Qg cHRpZF90IChwaWQpLiBJbiBvcmRlciB0byBhdm9pZCB0aGlzLCB0aGUgcHJv cG9zZWQgcGF0Y2ggdXNlcyBhIGZ1bmN0aW9uIGNhbGwgZmluZF90aGVfcmV0 dXJuX3B0aWQgKCkgdG8gZmlndXJlIG91dCB0aGUgc2FtZS4gVGhlIGNoYW5n ZXMgbGlrZSBiZWxvdyBhcmUgZm9yIHRoaXMgcmVhc29uLg0KDQpvdXJzdGF0 dXMtPnNldF9mb3JrZWQgKHB0aWRfdCAocGlkKSk7DQot4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCCICByZXR1cm4gcHRpZF90IChwYXJlbnRf cGlkKTsNCivigILigILigILigILigILigILigILigILigILigILigIIgIHJl dHVybiBmaW5kX3RoZV9yZXR1cm5fcHRpZCAocGFyZW50X3BpZCk7DQoNCktp bmRseSBub3RlIHRoYXQgdGhlIGNvbnRyb2wgd2lsbCBhbHdheXMgbm90IGNv bWUgZnJvbSBhaXgtdGhyZWFkLmMgZm9yIHN1Y2ggZXZlbnRzLiBIZW5jZSwg d2UgY2Fubm90IHRha2UgY2FyZSBvZiB0aGUgc2FtZSB0aGVyZSwgdGhvdWdo IGl0IHdpbGwgYmUgYSByZWxpZWYgaWYgd2UgY2FuIGRvIHRoYXQuDQoNCkhh dmluZyBzYWlkIHRoYXQgdGhlIHByb3BzZWQgcGF0Y2ggdXNlcyBsd3AgcGFy YW1ldGVyIGlub3JkZXIgdG8gc3RvcmUgdGhlIGtlcm5lbCB0aHJlYWQgSUQg c28gdGhhdCB3ZSBjYW4gZmV0Y2ggaXQgaGVyZSBhbmQgdXNlIGl0IGhlcmUu DQoNCjI6LSBUaGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBwYXNz IG15IHB0aWRfdCAocGlkLCBsd3AsIHRpZCkgdG8gYWl4LXRocmVhZC5jIGlu c3RlYWQgb2YgcHRpZF90IChwaWQpLi4NCg0KDQpJZiB3ZSB0cnkgdG8gZml4 IDEgdGhpcyB3YXksIHRoZW4gdGhlbiBiZWxvdyBhc3NlcnRpb24gY2F1c2Vz IHVzIHRyb3VibGUgaWYgd2UgZ28gdGhyb3VnaCBhaXgtdGhyZWFkLmMgZm9y IG91ciBiZW5lYXRoLT53YWl0LiBIZW5jZSB0aGUgcHJvcG9zZWQgcGF0Y2gg aGFzIGl0IHJlbW92ZWQuDQoNCi0gIC8qIFRoZSB0YXJnZXQgYmVuZWF0aCBk b2VzIG5vdCBkZWFsIHdpdGggdGhyZWFkcywgc28gaXQgc2hvdWxkIG9ubHkg cmV0dXJuDQotICAgICBwaWQtb25seSBwdGlkcy4gICovDQotICBnZGJfYXNz ZXJ0IChwdGlkLmlzX3BpZCAoKSk7DQoNCg0KV2UgYXJlIG5vdCBhYmxlIHRv IGtub3cgd2h5IG91ciBvdXRwdXQgMyBpcyBzd2l0Y2hpbmcgdG8gYSBwcm9j ZXNzWyBPdXRwdXQgMyBpbiB0aGUgbWFpbCBiZWxvd10uLg0KDQpTbywgd2Ug YXJlIGF0IG9uZSBvZiB0aGUgdGhyZWFkcyBvZiBwcm9jZXNzIDEuIE9uIGFu IGludGVycnVwdCB3ZSBuZWVkIHRvIHN3aXRjaCBvdXIgdGhyZWFkcyB0byB0 aGUgdGhyZWFkIHRoYXQgY2F1c2VkIGl0LiBCdXQgdGhlIEdEQiBjb3JlIGlz IHNheWluZyB3ZSBzd2l0Y2hlZCBvdXIgcHJvY2Vzcy4gSXQgc2hvdWxkbid0 IGFzIHdlIGFyZSBpbiB0aGUgc2FtZSBwcm9jZXNzLiBBbmQgSSBhbHNvIGNo ZWNrZWQgaWYgd2UgcmV0dXJuZWQgdGhlIGNvcnJlY3QgcHRpZCB0aGF0IHJh aXNlZCB0aGUgaW50ZXJydXB0IGFuZCB3ZSBkby4NCg0KSSB0cmllZCB0byBk ZWJ1ZyBvbiB3aGF0IGlzIGdvaW5nIG9uIGluIHRoZSBHREIgY29yZSBidXQg ZmFpbGVkIHRvIHVuZGVyc3RhbmQgZm9yIHRoZSBsYXN0IGNvdXBsZSBvZiBk YXlzLCBhbmQgdGhlcmVmb3JlIEkgZGlkIG5vdCBzdWNjZWVkLg0KDQpJZiBJ IGRvIG5vdCB1bmRlcnN0YW5kLCB0aGVuIEkgd2lsbCBub3QgYmUgYWJsZSB0 byBzb2x2ZSB0aGlzIHByb2JsZW0gZm9yIEFJWCBhbmQgR0RCLiBIZW5jZSwg SSB3aXNoIHRvIHJlYWNoIG91dCB0byB5b3UgYWxsIGFmdGVyIHRoaXMgZWZm b3J0IGZvciBhIHNvbHV0aW9uLg0KDQpTaW5jZSB5b3UgYWxsIGFyZSBleHBl cnRzIGhhdmluZyB2YXN0IGV4cGVyaWVuY2UgYW5kIGtub3dsZWRnZSBpbiBH REIsIGtpbmRseSBsZXQgbWUga25vdyB3aGF0IGlzIGdvaW5nIG9uIGluIHRo ZSBvdXRwdXQgMyBjYXNlIFtwYXN0ZWQgYmVsb3cgaW4gdGhpcyBlbWFpbF0g b3IgdGhlIHRoaW5ncyBtZW50aW9uZWQgaW4gdGhlIHBhdGNoIGFyZSBkb25l IHVzaW5nIGEgd3JvbmcgbWV0aG9kLiBJZiBzbywgdGhlbiBsZXQgbWUga25v dyB3aGF0IHdlIGNhbiBkbyBjb3JyZWN0bHkgYW5kIGVmZmljaWVudGx5IGZy b20gaGVyZS4NCg0KSG9wZSB0byBzZWVrIGEgcmVwbHkuIEhhdmUgYSBuaWNl IGRheSBhaGVhZC4NCg0KVGhhbmtzIGFuZCByZWdhcmRzLA0KQWRpdHlhDQoN Cg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQcm9ncmFtMTotIFtDcmVkaXRz IGdkYi50aHJlYWRzL2NvbnRpbnVvdXMtcGVuZGluZy5jXQ0KDQoNCiNpbmNs dWRlIDxzdGRpby5oPg0KDQojaW5jbHVkZSA8dW5pc3RkLmg+DQoNCiNpbmNs dWRlIDxzdGRsaWIuaD4NCg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCg0KI2lu Y2x1ZGUgPGFzc2VydC5oPg0KDQoNCnB0aHJlYWRfYmFycmllcl90IGJhcnJp ZXI7DQoNCg0KI2RlZmluZSBOVU1fVEhSRUFEUyAzDQoNCg0Kdm9pZCAqDQoN CnRocmVhZF9mdW5jdGlvbiAodm9pZCAqYXJnKQ0KDQp7DQoNCiAgLyogVGhp cyBlbnN1cmVzIHRoYXQgdGhlIGJyZWFrcG9pbnQgaXMgb25seSBoaXQgYWZ0 ZXIgYm90aCB0aHJlYWRzDQoNCiAgICAgYXJlIGNyZWF0ZWQsIHNvIHRoZSB0 ZXN0IGNhbiBhbHdheXMgc3dpdGNoIHRvIHRoZSBub24tZXZlbnQNCg0KICAg ICB0aHJlYWQgd2hlbiB0aGUgYnJlYWtwb2ludCB0cmlnZ2Vycy4gICovDQoN CiAgcHRocmVhZF9iYXJyaWVyX3dhaXQgKCZiYXJyaWVyKTsNCg0KDQogIHdo aWxlICgxKTsgLyogYnJlYWsgaGVyZSAqLw0KDQp9DQoNCg0KaW50DQoNCm1h aW4gKHZvaWQpDQoNCnsNCg0KICBpbnQgaTsNCg0KDQogIGFsYXJtICgzMDAp Ow0KDQoNCiAgcHRocmVhZF9iYXJyaWVyX2luaXQgKCZiYXJyaWVyLCBOVUxM LCBOVU1fVEhSRUFEUyk7DQoNCg0KICBmb3IgKGkgPSAwOyBpIDwgTlVNX1RI UkVBRFM7IGkrKykNCg0KICAgIHsNCg0KICAgICAgcHRocmVhZF90IHRocmVh ZDsNCg0KICAgICAgaW50IHJlczsNCg0KDQogICAgICByZXMgPSBwdGhyZWFk X2NyZWF0ZSAoJnRocmVhZCwgTlVMTCwNCg0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRocmVhZF9mdW5jdGlvbiwgTlVMTCk7DQoNCiAgICAgIGFz c2VydCAocmVzID09IDApOw0KDQogICAgfQ0KDQoNCiAgd2hpbGUgKDEpDQoN CiAgICBzbGVlcCAoMSk7DQoNCg0KICByZXR1cm4gMDsNCg0KfQ0KDQoNCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KT3V0cHV0MTotIFNpbmdsZSBwcm9jZXNz DQoNCg0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2hvbWUvYWRpdHlhL2dkYl90 ZXN0cy9jb250aW51ZS1wZW5kaW5nLXN0YXR1cy4uLg0KDQooZ2RiKSByDQoN ClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvY29u dGludWUtcGVuZGluZy1zdGF0dXMNCg0KXkNbTmV3IFRocmVhZCAyNThdDQoN CltOZXcgVGhyZWFkIDUxNV0NCg0KW05ldyBUaHJlYWQgNzcyXQ0KDQoNClRo cmVhZCAzIHJlY2VpdmVkIHNpZ25hbCBTSUdJTlQsIEludGVycnVwdC4NCg0K W1N3aXRjaGluZyB0byBUaHJlYWQgNTE1XQ0KDQp0aHJlYWRfZnVuY3Rpb24g KGFyZz0weDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEvZ2RiX3Rlc3RzL2Nv bnRpbnVlLXBlbmRpbmctc3RhdHVzLmM6MzYNCg0KMzYgICAgICAgIHdoaWxl ICgxKTsgLyogYnJlYWsgaGVyZSAqLw0KDQooZ2RiKSBpbmZvIHRocmVhZHMN Cg0KICBJZCAgIFRhcmdldCBJZCAgICAgICAgICAgICAgICAgICAgICAgICAg RnJhbWUNCg0KICAxICAgIFRocmVhZCAxICh0aWQgMjQ4Mzg1ODUsIHJ1bm5p bmcpICAgd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDAgaW4gcmVh ZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4pDQoNCg0KICAyICAg IFRocmVhZCAyNTggKHRpZCAyMzEzNDYzNSwgcnVubmluZykgdGhyZWFkX2Z1 bmN0aW9uIChhcmc9d2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDAg aW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4pDQoNCg0K MHgwKQ0KDQogICAgYXQgL2hvbWUvYWRpdHlhL2dkYl90ZXN0cy9jb250aW51 ZS1wZW5kaW5nLXN0YXR1cy5jOjM2DQoNCiogMyAgICBUaHJlYWQgNTE1ICh0 aWQgMzAxNDY4NjcsIHJ1bm5pbmcpIHRocmVhZF9mdW5jdGlvbiAoYXJnPXdh cm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHgwIGluIHJlYWQgaW4gcHN5 bXRhYiwgYnV0IG5vdCBpbiBzeW10YWIuKQ0KDQoNCjB4MCkNCg0KICAgIGF0 IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvY29udGludWUtcGVuZGluZy1zdGF0 dXMuYzozNg0KDQogIDQgICAgVGhyZWFkIDc3MiAodGlkIDI3ODUzMTY1LCBy dW5uaW5nKSB0aHJlYWRfZnVuY3Rpb24gKGFyZz13YXJuaW5nOiAoSW50ZXJu YWwgZXJyb3I6IHBjIDB4MCBpbiByZWFkIGluIHBzeW10YWIsIGJ1dCBub3Qg aW4gc3ltdGFiLikNCg0KDQoweDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEv Z2RiX3Rlc3RzL2NvbnRpbnVlLXBlbmRpbmctc3RhdHVzLmM6MzYNCg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClByb2dyYW0g MjotIE11bHRpIHByb2Nlc3MgQ29kZQ0KDQoNCiNpbmNsdWRlIDxzdGRpby5o Pg0KDQojaW5jbHVkZSA8dW5pc3RkLmg+DQoNCiNpbmNsdWRlIDxzdGRsaWIu aD4NCg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCg0KI2luY2x1ZGUgPGFzc2Vy dC5oPg0KDQoNCnB0aHJlYWRfYmFycmllcl90IGJhcnJpZXI7DQoNCg0KI2Rl ZmluZSBOVU1fVEhSRUFEUyAyDQoNCg0Kdm9pZCAqDQoNCnRocmVhZF9mdW5j dGlvbiAodm9pZCAqYXJnKQ0KDQp7DQoNCiAgLyogVGhpcyBlbnN1cmVzIHRo YXQgdGhlIGJyZWFrcG9pbnQgaXMgb25seSBoaXQgYWZ0ZXIgYm90aCB0aHJl YWRzDQoNCiAgICAgYXJlIGNyZWF0ZWQsIHNvIHRoZSB0ZXN0IGNhbiBhbHdh eXMgc3dpdGNoIHRvIHRoZSBub24tZXZlbnQNCg0KICAgICB0aHJlYWQgd2hl biB0aGUgYnJlYWtwb2ludCB0cmlnZ2Vycy4gICovDQoNCg0KICBwdGhyZWFk X2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOw0KDQogIHBpZF90IGNoaWxkOw0K DQoNCiAgY2hpbGQgPSBmb3JrICgpOw0KDQogIGlmIChjaGlsZCA+IDApDQoN CiAgICBwcmludGYgKCJJIGFtIHBhcmVudCBcbiIpOw0KDQogIGVsc2V7DQoN CiAgICBwcmludGYgKCIgSWFtIGNoaWxkIFxuIik7DQoNCiAgICBjaGlsZCA9 IGZvcmsgKCk7DQoNCiAgICBpZiAoY2hpbGQgPiAwKQ0KDQogICAgICBwcmlu dGYgKCJGcm9tIGNoaWxkIEkgYmVjYW1lIGEgcGFyZW50IFxuIik7DQoNCiAg ICBlbHNlDQoNCiAgICAgIHByaW50ZiAoIkkgYW0gZ3JhbmRjaGlsZCBcbiIp Ow0KDQogIH0NCg0KICB3aGlsZSAoMSk7IC8qIGJyZWFrIGhlcmUgKi8NCg0K fQ0KDQoNCmludA0KDQptYWluICh2b2lkKQ0KDQp7DQoNCiAgaW50IGk7DQoN Cg0KICBhbGFybSAoMzAwKTsNCg0KDQogIHB0aHJlYWRfYmFycmllcl9pbml0 ICgmYmFycmllciwgTlVMTCwgTlVNX1RIUkVBRFMpOw0KDQoNCiAgZm9yIChp ID0gMDsgaSA8IE5VTV9USFJFQURTOyBpKyspDQoNCiAgICB7DQoNCiAgICAg IHB0aHJlYWRfdCB0aHJlYWQ7DQoNCiAgICAgIGludCByZXM7DQoNCg0KICAg ICAgcmVzID0gcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIE5VTEwsDQoNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRfZnVuY3Rpb24sIE5V TEwpOw0KDQogICAgICBhc3NlcnQgKHJlcyA9PSAwKTsNCg0KICAgIH0NCg0K DQogIHdoaWxlICgxKQ0KDQogIHsNCg0KICAgIHNsZWVwICgxNSk7DQoNCiAg ICBicmVhazsNCg0KICB9DQoNCg0KICByZXR1cm4gMDsNCg0KfQ0KDQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KT3V0cHV0IDI6LSBXaXRo IGRldGFjaC1vbi1mb3JrIG9uDQoNCg0KUmVhZGluZyBzeW1ib2xzIGZyb20g L2hvbWUvYWRpdHlhL2dkYl90ZXN0cy91bHRpbWF0ZS1tdWx0aS10aHJlYWQt Zm9yay4uLg0KDQooZ2RiKSByDQoNClN0YXJ0aW5nIHByb2dyYW06IC9ob21l L2FkaXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVsdGktdGhyZWFkLWZvcmsN Cg0KW05ldyBUaHJlYWQgMjU4XQ0KDQpbTmV3IFRocmVhZCA1MTVdDQoNCltE ZXRhY2hpbmcgYWZ0ZXIgZm9yayBmcm9tIGNoaWxkIHByb2Nlc3MgODMyMzU3 Ml0NCg0KIElhbSBjaGlsZA0KDQpJIGFtIGdyYW5kY2hpbGQNCg0KRnJvbSBj aGlsZCBJIGJlY2FtZSBhIHBhcmVudA0KDQpJIGFtIHBhcmVudA0KDQpbRGV0 YWNoaW5nIGFmdGVyIGZvcmsgZnJvbSBjaGlsZCBwcm9jZXNzIDExNjY1ODg0 XQ0KDQogSWFtIGNoaWxkDQoNCkkgYW0gZ3JhbmRjaGlsZA0KDQpGcm9tIGNo aWxkIEkgYmVjYW1lIGEgcGFyZW50DQoNCkkgYW0gcGFyZW50DQoNCl5DDQoN ClRocmVhZCAyIHJlY2VpdmVkIHNpZ25hbCBTSUdJTlQsIEludGVycnVwdC4N Cg0KW1N3aXRjaGluZyB0byBUaHJlYWQgMjU4XQ0KDQp0aHJlYWRfZnVuY3Rp b24gKGFyZz0weDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEvZ2RiX3Rlc3Rz L3VsdGltYXRlLW11bHRpLXRocmVhZC1mb3JrLmM6MzINCg0KMzIgICAgICAg IHdoaWxlICgxKTsgLyogYnJlYWsgaGVyZSAqLw0KDQooZ2RiKSBpbmZvIHRo cmVhZHMNCg0KICBJZCAgIFRhcmdldCBJZCAgICAgICAgICAgICAgICAgICAg ICAgICAgRnJhbWUNCg0KICAxICAgIFRocmVhZCAxICh0aWQgMjcyNjMyNjks IHJ1bm5pbmcpICAgd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDAg aW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4pDQoNCg0K KiAyICAgIFRocmVhZCAyNTggKHRpZCAyODcwNTA3NSwgcnVubmluZykgdGhy ZWFkX2Z1bmN0aW9uIChhcmc9d2FybmluZzogKEludGVybmFsIGVycm9yOiBw YyAweDAgaW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4p DQoNCg0KMHgwKQ0KDQogICAgYXQgL2hvbWUvYWRpdHlhL2dkYl90ZXN0cy91 bHRpbWF0ZS1tdWx0aS10aHJlYWQtZm9yay5jOjMyDQoNCiAgMyAgICBUaHJl YWQgNTE1ICh0aWQgMjc4NTMxNjksIHJ1bm5pbmcpIHRocmVhZF9mdW5jdGlv biAoYXJnPXdhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHgwIGluIHJl YWQgaW4gcHN5bXRhYiwgYnV0IG5vdCBpbiBzeW10YWIuKQ0KDQoNCjB4MCkN Cg0KICAgIGF0IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVs dGktdGhyZWFkLWZvcmsuYzozMg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KT3V0cHV0IDM6LSBXaXRoIGRldGFjaC1vbi1mb3JrIG9m Zg0KDQoNClJlYWRpbmcgc3ltYm9scyBmcm9tIC9ob21lL2FkaXR5YS9nZGJf dGVzdHMvdWx0aW1hdGUtbXVsdGktdGhyZWFkLWZvcmsuLi4NCg0KKGdkYikg c2V0IGRldGFjaC1vbi1mb3JrIG9mZg0KDQooZ2RiKSByDQoNClN0YXJ0aW5n IHByb2dyYW06IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVs dGktdGhyZWFkLWZvcmsNCg0KW05ldyBUaHJlYWQgMjU4XQ0KDQpbTmV3IFRo cmVhZCA1MTVdDQoNCltOZXcgaW5mZXJpb3IgMiAocHJvY2VzcyA4MzIzNTcw KV0NCg0KSSBhbSBwYXJlbnQNCg0KW05ldyBpbmZlcmlvciAzIChwcm9jZXNz IDE3OTU3MTcyKV0NCg0KSSBhbSBwYXJlbnQNCg0KXkMNCg0KVGhyZWFkIDEu MSByZWNlaXZlZCBzaWduYWwgU0lHSU5ULCBJbnRlcnJ1cHQuDQoNCltTd2l0 Y2hpbmcgdG8gcHJvY2VzcyAxNjc3NzYyMF0NCg0KMHhkMDU5NWZiMCBpbiBf cF9uc2xlZXAgKCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoc2hyX3hw ZzUubykNCg0KKGdkYikgaW5mbyB0aHJlYWRzDQoNCiAgSWQgICBUYXJnZXQg SWQgICAgICAgICBGcmFtZQ0KDQoqIDEuMSAgcHJvY2VzcyAxNjc3NzYyMCAg MHhkMDU5NWZiMCBpbiBfcF9uc2xlZXAgKCkNCg0KICAgZnJvbSAvdXNyL2xp Yi9saWJwdGhyZWFkLmEoc2hyX3hwZzUubykNCg0KICAxLjIgIHByb2Nlc3Mg MTY3Nzc2MjAgIDB4ZDA1OTVmYjAgaW4gX3BfbnNsZWVwICgpDQoNCiAgIGZy b20gL3Vzci9saWIvbGlicHRocmVhZC5hKHNocl94cGc1Lm8pDQoNCiAgMS4z ICBwcm9jZXNzIDE2Nzc3NjIwICAweGQwNTk1ZmIwIGluIF9wX25zbGVlcCAo KQ0KDQogICBmcm9tIC91c3IvbGliL2xpYnB0aHJlYWQuYShzaHJfeHBnNS5v KQ0KDQogIDIuMSAgcHJvY2VzcyA4MzIzNTcwICAgMHhkMDU5NGZjOCBpbiA/ PyAoKQ0KDQogIDMuMSAgcHJvY2VzcyAxNzk1NzE3MiAgMHhkMDU5NGZjOCBp biA/PyAoKQ0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f DQpGcm9tOiBHZGItcGF0Y2hlcyA8Z2RiLXBhdGNoZXMtYm91bmNlcythZGl0 eWEua2FtYXRoMT1pYm0uY29tQHNvdXJjZXdhcmUub3JnPiBvbiBiZWhhbGYg b2YgQWRpdHlhIEthbWF0aDEgdmlhIEdkYi1wYXRjaGVzIDxnZGItcGF0Y2hl c0Bzb3VyY2V3YXJlLm9yZz4NClNlbnQ6IDI0IE5vdmVtYmVyIDIwMjIgMDA6 MTUNClRvOiBVbHJpY2ggV2VpZ2FuZCA8VWxyaWNoLldlaWdhbmRAZGUuaWJt LmNvbT47IHNpbWFya0BzaW1hcmsuY2EgPHNpbWFya0BzaW1hcmsuY2E+OyBn ZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZyA8Z2RiLXBhdGNoZXNAc291cmNl d2FyZS5vcmc+DQpDYzogU2FuZ2FtZXNoIE1hbGxheXlhIDxzYW5nYW1lc2gu c3dhbXlAaW4uaWJtLmNvbT4NClN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtQ QVRDSF0gMDAwMS1GaXgtbXVsdGktdGhyZWFkLWRlYnVnLWJ1Zy1pbi1BSVgu cGF0Y2gNCg0KSGkgVWxyaWNoLA0KDQo+c3RhdGljIGludA0KPmdpdGVyX2Nv dW50IChzdHJ1Y3QgdGhyZWFkX2luZm8gKnRocmVhZCwgdm9pZCAqY291bnRw KQ0KPnsNCj4gIGlmIChQRF9USUQgKHRocmVhZC0+cHRpZCkpDQo+ICAgICgq KGludCAqKSBjb3VudHApKys7DQo+ICByZXR1cm4gMDsNCj59DQo+TWF5YmUg dGhhdCBjb21tZW50IGlzIHdyb25nIGFib3V0IHB0aHJlYWRkZWJ1ZyBub3Qg aW5jbHVkaW5nDQo+dGhlIG1haW4gdGhyZWFkPyAgIE9yIG1heWJlIHRoYXQg Y2hhbmdlZCBiZXR3ZWVuIEFJWCB2ZXJzaW9ucz8NCg0KPkluIGFueSBjYXNl LCBzb21ldGhpbmcgbmVlZHMgdG8gYmUgZml4ZWQgaGVyZS4NCg0KRXZlbiBp ZiB3ZSBmaXggaXQgaGVyZSBbYXNzdW1pbmcgd2UgYXJlIHN1Y2Nlc2Z1bF0s IGluIHRoZSBkZWxldGVfdGhyZWFkXzEgKCkgaW4gdGhyZWFkLmMgd2Ugd2ls bCBmYWlsIHRvIGhpdCB0aHJlYWQtPmRlbGV0YWJsZSBhcyB0cnVlIHdoaWxl IHdlIGF0dGVtcHQgZGVsZXRlX3RocmVhZCAoZ2J1ZiBbZ2ldKS4uIEJlY2F1 c2UgcmVmY291bnQgd2lsbCBub3QgYmUgMCB3aGVuIHdlIGF0dGVtcHQgdG8g ZGVsZXRlIG1haW4gdGhyZWFkIHdpdGggcHRpZCAocGlkLCAwLCAwKS4ge3Nl ZSBmdW5jIGJlbG93fQ0KDQoNCmJvb2wNCg0KdGhyZWFkX2luZm86OmRlbGV0 YWJsZSAoKSBjb25zdA0KDQp7DQoNCiAgLyogSWYgdGhpcyBpcyB0aGUgY3Vy cmVudCB0aHJlYWQsIG9yIHRoZXJlJ3MgY29kZSBvdXQgdGhlcmUgdGhhdA0K DQogICAgIHJlbGllcyBvbiBpdCBleGlzdGluZyAocmVmY291bnQgPiAwKSB3 ZSBjYW4ndCBkZWxldGUgeWV0LiAgKi8NCg0KDQoNCiAgcmV0dXJuIHJlZmNv dW50ICgpID09IDAgJiYgIWlzX2N1cnJlbnRfdGhyZWFkICh0aGlzKTsNCg0K fQ0KDQoNCkkgd2lsbCBiZSB0cnlpbmcgdG8gcmVwbGFjZSB0aGUgbWFpbiB0 aHJlYWQgaW5zdGVhZCBsaWtlICB0aHJlYWRfY2hhbmdlX3B0aWQgKHByb2Nf dGFyZ2V0LCBncHRpZCwgcHB0aWQpIHN1YmplY3QgdG8gYSBjb25kaXRpb24g Y2hlY2sgdGhhdCBncHRpZC50aWQgKCkgPT0gMC4uIE90aGVyd2lzZSwgaWYg aXQgaXMgbm90IGEgbWFpbiB0aHJlYWQgW2dwdGlkLnRpZCAoKSAhPSAwXSwg d2UgY2FuIGRlbGV0ZSBnYnVmW2dpXS4uIFdlIGNhbiBhcHBseSB0aGlzIGVs c2Ugd2hlcmUgYXMgd2VsbCBpbiBzeW5jX3RocmVhZGxpc3RzICgpLg0KDQpM ZXQgbWUga25vdyBpZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSBvcHRpbWFsIG9w dGlvbiB0aGF0IGNhbiBkZWxldGUgdGhpcyB0aHJlYWQgb3Igd2h5IHRoZSBz b2x1dGlvbiBpbiB0aGUgYWJvdmUgcGFyYWdyYXBoIGNhbiBmYWlsLi4NCg0K UmVzdCBvZiB0aGUgdGhpbmdzIEkgd2lsbCBoYW5kbGUuIE5vIHByb2JsZW0u DQoNClRoYW5rcyBhbmQgcmVnYXJkcywNCkFkaXR5YS4uDQoNCg0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IFVscmljaCBXZWln YW5kIDxVbHJpY2guV2VpZ2FuZEBkZS5pYm0uY29tPg0KU2VudDogMjMgTm92 ZW1iZXIgMjAyMiAyMjozOQ0KVG86IHNpbWFya0BzaW1hcmsuY2EgPHNpbWFy a0BzaW1hcmsuY2E+OyBBZGl0eWEgS2FtYXRoMSA8QWRpdHlhLkthbWF0aDFA aWJtLmNvbT47IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnIDxnZGItcGF0 Y2hlc0Bzb3VyY2V3YXJlLm9yZz4NCkNjOiBTYW5nYW1lc2ggTWFsbGF5eWEg PHNhbmdhbWVzaC5zd2FteUBpbi5pYm0uY29tPg0KU3ViamVjdDogUmU6IFtQ QVRDSF0gMDAwMS1GaXgtbXVsdGktdGhyZWFkLWRlYnVnLWJ1Zy1pbi1BSVgu cGF0Y2gNCg0KQWRpdHlhIEthbWF0aDEgPEFkaXR5YS5LYW1hdGgxQGlibS5j b20+IHdyb3RlOg0KPkhtbS4gU28sIHNvbWV0aGluZyBpcyBnb2luZyB3cm9u ZyBoZXJlLi4NCj5nY291bnQgPSAwOw0KPiAgaXRlcmF0ZV9vdmVyX3RocmVh ZHMgKGdpdGVyX2NvdW50LCAmZ2NvdW50KTsNCj4gIGcgPSBnYnVmID0gWE5F V1ZFQyAoc3RydWN0IHRocmVhZF9pbmZvICosIGdjb3VudCk7DQo+ICBpdGVy YXRlX292ZXJfdGhyZWFkcyAoZ2l0ZXJfYWNjdW0sICZnKTsNCj4gIHFzb3J0 IChnYnVmLCBnY291bnQsIHNpemVvZiAqZ2J1ZiwgZ2NtcCk7DQoNCkxvb2tz IGxpa2UgdGhpcyBpcyBkZWxpYmVyYXRlOg0KDQovKiBpdGVyYXRlX292ZXJf dGhyZWFkcygpIGNhbGxiYWNrIGZvciBjb3VudGluZyBHREIgdGhyZWFkcy4N Cg0KICAgRG8gbm90IGNvdW50IHRoZSBtYWluIHRocmVhZCAod2hvc2UgdGlk IGlzIHplcm8pLiAgVGhpcyBtYXRjaGVzDQogICB0aGUgbGlzdCBvZiB0aHJl YWRzIHByb3ZpZGVkIGJ5IHRoZSBwdGhyZWFkZGVidWcgbGlicmFyeSwgd2hp Y2gNCiAgIGRvZXMgbm90IGluY2x1ZGUgdGhhdCBtYWluIHRocmVhZCBlaXRo ZXIsIGFuZCB0aHVzIGFsbG93cyB1cw0KICAgdG8gY29tcGFyZSB0aGUgdHdv IGxpc3RzLiAgKi8NCg0Kc3RhdGljIGludA0KZ2l0ZXJfY291bnQgKHN0cnVj dCB0aHJlYWRfaW5mbyAqdGhyZWFkLCB2b2lkICpjb3VudHApDQp7DQogIGlm IChQRF9USUQgKHRocmVhZC0+cHRpZCkpDQogICAgKCooaW50ICopIGNvdW50 cCkrKzsNCiAgcmV0dXJuIDA7DQp9DQoNCk1heWJlIHRoYXQgY29tbWVudCBp cyB3cm9uZyBhYm91dCBwdGhyZWFkZGVidWcgbm90IGluY2x1ZGluZw0KdGhl IG1haW4gdGhyZWFkPyAgIE9yIG1heWJlIHRoYXQgY2hhbmdlZCBiZXR3ZWVu IEFJWCB2ZXJzaW9ucz8NCg0KSW4gYW55IGNhc2UsIHNvbWV0aGluZyBuZWVk cyB0byBiZSBmaXhlZCBoZXJlLg0KDQpCeWUsDQpVbHJpY2gNCg0K --_000_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_-- --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-multi-thread-bug-fix-in-AIX.patch" Content-Description: 0001-Fix-multi-thread-bug-fix-in-AIX.patch Content-Disposition: attachment; filename="0001-Fix-multi-thread-bug-fix-in-AIX.patch"; size=7814; creation-date="Tue, 29 Nov 2022 08:03:26 GMT"; modification-date="Tue, 29 Nov 2022 08:03:42 GMT" Content-Transfer-Encoding: base64 RnJvbSA1NTIxNjc3YWRiZDQ5MjQ3MmRlMDQ3YTlkMzE1OTdhZGRiOTUwMmY0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFk aGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4KRGF0ZTogVHVl LCAyOSBOb3YgMjAyMiAwMDoyMDoxOSAtMDYwMApTdWJqZWN0OiBbUEFUQ0hd IEZpeCBtdWx0aSB0aHJlYWQgYnVnIGluIEFJWAoKLS0tCiBnZGIvYWl4LXRo cmVhZC5jICAgICB8IDY2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiBnZGIvcnM2MDAwLWFpeC1uYXQuYyB8IDQ4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5n ZWQsIDc3IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2dkYi9haXgtdGhyZWFkLmMgYi9nZGIvYWl4LXRocmVhZC5jCmlu ZGV4IGU1NTZjMTUzNTc2Li42NzgzYWE0OTk5ZiAxMDA2NDQKLS0tIGEvZ2Ri L2FpeC10aHJlYWQuYworKysgYi9nZGIvYWl4LXRocmVhZC5jCkBAIC01MDgs MTQgKzUwOCwxMyBAQCBwZGNfcmVhZF9kYXRhIChwdGhkYl91c2VyX3QgdXNl cl9jdXJyZW50X3BpZCwgdm9pZCAqYnVmLAogICAvKiBUaGlzIGlzIG5lZWRl ZCB0byBlbGltaW5hdGUgdGhlIGRlcGVuZGVuY3kgb2YgY3VycmVudCB0aHJl YWQKICAgICAgd2hpY2ggaXMgbnVsbCBzbyB0aGF0IHRocmVhZCByZWFkcyB0 aGUgY29ycmVjdCB0YXJnZXQgbWVtb3J5LiAgKi8KICAgewotICAgIHNjb3Bl ZF9yZXN0b3JlX2N1cnJlbnRfdGhyZWFkIHJlc3RvcmVfY3VycmVudF90aHJl YWQ7CisgICAgc2NvcGVkX3Jlc3RvcmUgc2F2ZV9pbmZlcmlvcl9wdGlkID0g bWFrZV9zY29wZWRfcmVzdG9yZSAoJmluZmVyaW9yX3B0aWQpOwogICAgIC8q IEJlZm9yZSB0aGUgZmlyc3QgaW5mZXJpb3IgaXMgYWRkZWQsIHdlIHBhc3Mg aW5mZXJpb3JfcHRpZC5waWQgKCkKICAgICAgICBmcm9tIHBkX2VuYWJsZSAo KSB3aGljaCBpcyAwLiAgVGhlcmUgaXMgbm8gbmVlZCB0byBzd2l0Y2ggdGhy ZWFkcwogICAgICAgIGR1cmluZyBmaXJzdCBpbml0aWFsaXNhdGlvbi4gIElu IHRoZSByZXN0IG9mIHRoZSBjYWxsYmFja3MgdGhlCiAgICAgICAgY3VycmVu dCB0aHJlYWQgbmVlZHMgdG8gYmUgY29ycmVjdC4gICovCiAgICAgaWYgKHVz ZXJfY3VycmVudF9waWQgIT0gMCkKLSAgICAgIHN3aXRjaF90b190aHJlYWQg KGN1cnJlbnRfaW5mZXJpb3IgKCktPnByb2Nlc3NfdGFyZ2V0ICgpLAotCQkJ cHRpZF90ICh1c2VyX2N1cnJlbnRfcGlkKSk7CisgICAgICBpbmZlcmlvcl9w dGlkID0gcHRpZF90ICh1c2VyX2N1cnJlbnRfcGlkKTsKICAgICBzdGF0dXMg PSB0YXJnZXRfcmVhZF9tZW1vcnkgKGFkZHIsIChnZGJfYnl0ZSAqKSBidWYs IGxlbik7CiAgIH0KICAgcmV0ID0gc3RhdHVzID09IDAgPyBQRENfU1VDQ0VT UyA6IFBEQ19GQUlMVVJFOwpAQCAtNjM5LDM2ICs2MzgsMjQgQEAgcGNtcCAo Y29uc3Qgdm9pZCAqcDF2LCBjb25zdCB2b2lkICpwMnYpCiAgIHJldHVybiBw MS0+cHRoaWQgPCBwMi0+cHRoaWQgPyAtMSA6IHAxLT5wdGhpZCA+IHAyLT5w dGhpZDsKIH0KIAotLyogaXRlcmF0ZV9vdmVyX3RocmVhZHMoKSBjYWxsYmFj ayBmb3IgY291bnRpbmcgR0RCIHRocmVhZHMuCisvKiBpdGVyYXRlX292ZXJf dGhyZWFkcygpIGNhbGxiYWNrIGZvciBjb3VudGluZyBHREIgdGhyZWFkcy4g ICovCiAKLSAgIERvIG5vdCBjb3VudCB0aGUgbWFpbiB0aHJlYWQgKHdob3Nl IHRpZCBpcyB6ZXJvKS4gIFRoaXMgbWF0Y2hlcwotICAgdGhlIGxpc3Qgb2Yg dGhyZWFkcyBwcm92aWRlZCBieSB0aGUgcHRocmVhZGRlYnVnIGxpYnJhcnks IHdoaWNoCi0gICBkb2VzIG5vdCBpbmNsdWRlIHRoYXQgbWFpbiB0aHJlYWQg ZWl0aGVyLCBhbmQgdGh1cyBhbGxvd3MgdXMKLSAgIHRvIGNvbXBhcmUgdGhl IHR3byBsaXN0cy4gICovCiAKIHN0YXRpYyBpbnQKIGdpdGVyX2NvdW50IChz dHJ1Y3QgdGhyZWFkX2luZm8gKnRocmVhZCwgdm9pZCAqY291bnRwKQogewot ICBpZiAoUERfVElEICh0aHJlYWQtPnB0aWQpKQotICAgICgqKGludCAqKSBj b3VudHApKys7CisgICgqKGludCAqKSBjb3VudHApKys7CiAgIHJldHVybiAw OwogfQogCi0vKiBpdGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZv ciBhY2N1bXVsYXRpbmcgR0RCIHRocmVhZCBwaWRzLgotCi0gICBEbyBub3Qg aW5jbHVkZSB0aGUgbWFpbiB0aHJlYWQgKHdob3NlIHRpZCBpcyB6ZXJvKS4g IFRoaXMgbWF0Y2hlcwotICAgdGhlIGxpc3Qgb2YgdGhyZWFkcyBwcm92aWRl ZCBieSB0aGUgcHRocmVhZGRlYnVnIGxpYnJhcnksIHdoaWNoCi0gICBkb2Vz IG5vdCBpbmNsdWRlIHRoYXQgbWFpbiB0aHJlYWQgZWl0aGVyLCBhbmQgdGh1 cyBhbGxvd3MgdXMKLSAgIHRvIGNvbXBhcmUgdGhlIHR3byBsaXN0cy4gICov CisvKiBpdGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZvciBhY2N1 bXVsYXRpbmcgR0RCIHRocmVhZCBwaWRzLiAgKi8KIAogc3RhdGljIGludAog Z2l0ZXJfYWNjdW0gKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkLCB2b2lk ICpidWZwKQogewotICBpZiAoUERfVElEICh0aHJlYWQtPnB0aWQpKQotICAg IHsKLSAgICAgICoqKHN0cnVjdCB0aHJlYWRfaW5mbyAqKiopIGJ1ZnAgPSB0 aHJlYWQ7Ci0gICAgICAoKihzdHJ1Y3QgdGhyZWFkX2luZm8gKioqKSBidWZw KSsrOwotICAgIH0KKyAgKiooc3RydWN0IHRocmVhZF9pbmZvICoqKikgYnVm cCA9IHRocmVhZDsKKyAgKCooc3RydWN0IHRocmVhZF9pbmZvICoqKikgYnVm cCkrKzsKKyAgICAKICAgcmV0dXJuIDA7CiB9CiAKQEAgLTcwNCw4ICs2OTEs OCBAQCBnY21wIChjb25zdCB2b2lkICp0MXYsIGNvbnN0IHZvaWQgKnQydikK IH0KIAogLyogU2VhcmNoIHRocm91Z2ggdGhlIGxpc3Qgb2YgYWxsIGtlcm5l bCB0aHJlYWRzIGZvciB0aGUgdGhyZWFkCi0gICB0aGF0IGhhcyBzdG9wcGVk IG9uIGEgU0lHVFJBUCBzaWduYWwsIGFuZCByZXR1cm4gaXRzIFRJRC4KLSAg IFJldHVybiAwIGlmIG5vbmUgZm91bmQuICAqLworICAgdGhhdCBoYXMgc3Rv cHBlZCBvbiBhIFNJR1RSQVAgb3IgU0lHSU5UIHNpZ25hbCwgYW5kIHJldHVy bgorICAgaXRzIFRJRC4gIFJldHVybiAwIGlmIG5vbmUgZm91bmQuICAqLwog CiBzdGF0aWMgcHRoZGJfdGlkX3QKIGdldF9zaWduYWxlZF90aHJlYWQgKGlu dCBwaWQpCkBAIC03MTksNyArNzA2LDcgQEAgZ2V0X3NpZ25hbGVkX3RocmVh ZCAoaW50IHBpZCkKIAkJICAgIHNpemVvZiAodGhyaW5mKSwgJmt0aWQsIDEp ICE9IDEpCiAJYnJlYWs7CiAKLSAgICAgIGlmICh0aHJpbmYudGlfY3Vyc2ln ID09IFNJR1RSQVApCisgICAgICBpZiAodGhyaW5mLnRpX2N1cnNpZyA9PSBT SUdUUkFQIHx8IHRocmluZi50aV9jdXJzaWcgPT0gU0lHSU5UKQogCXJldHVy biB0aHJpbmYudGlfdGlkOwogICAgIH0KIApAQCAtNzUwLDYgKzczNyw5IEBA IHN5bmNfdGhyZWFkbGlzdHMgKGludCBwaWQpCiAgIHB0aGRiX3B0aHJlYWRf dCBwZHRpZDsKICAgcHRocmVhZF90IHB0aGlkOwogICBwdGhkYl90aWRfdCB0 aWQ7CisgIHByb2Nlc3Nfc3RyYXR1bV90YXJnZXQgKnByb2NfdGFyZ2V0CisJ PSBjdXJyZW50X2luZmVyaW9yICgpLT5wcm9jZXNzX3RhcmdldCAoKTsKKyAg dGhyZWFkX2luZm8gKnRwOwogCiAgIC8qIEFjY3VtdWxhdGUgYW4gYXJyYXkg b2YgbGlicHRoZGVidWcgdGhyZWFkcyBzb3J0ZWQgYnkgcHRocmVhZCBpZC4g ICovCiAKQEAgLTgxMCwxMCArODAwLDggQEAgc3luY190aHJlYWRsaXN0cyAo aW50IHBpZCkKIAkgIHByaXYtPnBkdGlkID0gcGJ1ZltwaV0ucGR0aWQ7CiAJ ICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7CiAKLQkgIHByb2Nlc3Nfc3Ry YXR1bV90YXJnZXQgKnByb2NfdGFyZ2V0Ci0JICAgID0gY3VycmVudF9pbmZl cmlvciAoKS0+cHJvY2Vzc190YXJnZXQgKCk7CiAJICB0aHJlYWQgPSBhZGRf dGhyZWFkX3dpdGhfaW5mbyAocHJvY190YXJnZXQsCi0JCQkJCSBwdGlkX3Qg KHBpZCwgMCwgcGJ1ZltwaV0ucHRoaWQpLAorCQkJCQkgcHRpZF90IChwaWQs IHBidWZbcGldLnRpZCwgcGJ1ZltwaV0ucHRoaWQpLAogCQkJCQkgcHJpdik7 CiAKIAkgIHBpKys7CkBAIC04MjMsNyArODExLDcgQEAgc3luY190aHJlYWRs aXN0cyAoaW50IHBpZCkKIAkgIHB0aWRfdCBwcHRpZCwgZ3B0aWQ7CiAJICBp bnQgY21wX3Jlc3VsdDsKIAotCSAgcHB0aWQgPSBwdGlkX3QgKHBpZCwgMCwg cGJ1ZltwaV0ucHRoaWQpOworCSAgcHB0aWQgPSBwdGlkX3QgKHBpZCwgcGJ1 ZltwaV0udGlkLCBwYnVmW3BpXS5wdGhpZCk7CiAJICBncHRpZCA9IGdidWZb Z2ldLT5wdGlkOwogCSAgcGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsKIAkgIHRp ZCA9IHBidWZbcGldLnRpZDsKQEAgLTg0MSw4ICs4MjksMjIgQEAgc3luY190 aHJlYWRsaXN0cyAoaW50IHBpZCkKIAkgICAgfQogCSAgZWxzZSBpZiAoY21w X3Jlc3VsdCA+IDApCiAJICAgIHsKLQkgICAgICBkZWxldGVfdGhyZWFkIChn YnVmW2dpXSk7Ci0JICAgICAgZ2krKzsKKwkgICAgICBpZiAoZ3B0aWQuaXNf cGlkICgpKQorCQl7CisJCSAgdGhyZWFkX2NoYW5nZV9wdGlkIChwcm9jX3Rh cmdldCwgZ3B0aWQsIHBwdGlkKTsKKwkJICBhaXhfdGhyZWFkX2luZm8gKnBy aXYgPSBuZXcgYWl4X3RocmVhZF9pbmZvOworICAgICAgICAgICAgICAgICAg cHJpdi0+cGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsKKyAgICAgICAgICAgICAg ICAgIHByaXYtPnRpZCA9IHBidWZbcGldLnRpZDsKKwkJICB0cCA9IGZpbmRf dGhyZWFkX3B0aWQgKHByb2NfdGFyZ2V0LCBwcHRpZCk7CisJCSAgdHAtPnBy aXYucmVzZXQgKHByaXYpOworCQkgIHBpKys7CisJCSAgZ2krKzsKKwkJfQor CSAgICAgIGVsc2UKKwkJeworCQkgIGRlbGV0ZV90aHJlYWQgKGdidWZbZ2ld KTsKKwkJICBnaSsrOworCQl9CiAJICAgIH0KIAkgIGVsc2UKIAkgICAgewpA QCAtMTA5MSwxMCArMTA5Myw2IEBAIGFpeF90aHJlYWRfdGFyZ2V0Ojp3YWl0 IChwdGlkX3QgcHRpZCwgc3RydWN0IHRhcmdldF93YWl0c3RhdHVzICpzdGF0 dXMsCiAgIGlmIChwdGlkLnBpZCAoKSA9PSAtMSkKICAgICByZXR1cm4gcHRp ZF90ICgtMSk7CiAKLSAgLyogVGhlIHRhcmdldCBiZW5lYXRoIGRvZXMgbm90 IGRlYWwgd2l0aCB0aHJlYWRzLCBzbyBpdCBzaG91bGQgb25seSByZXR1cm4K LSAgICAgcGlkLW9ubHkgcHRpZHMuICAqLwotICBnZGJfYXNzZXJ0IChwdGlk LmlzX3BpZCAoKSk7Ci0KICAgLyogQ2hlY2sgd2hldGhlciBsaWJwdGhkZWJ1 ZyBtaWdodCBiZSByZWFkeSB0byBiZSBpbml0aWFsaXplZC4gICovCiAgIGlm ICghcGRfYWN0aXZlICYmIHN0YXR1cy0+a2luZCAoKSA9PSBUQVJHRVRfV0FJ VEtJTkRfU1RPUFBFRAogICAgICAgJiYgc3RhdHVzLT5zaWcgKCkgPT0gR0RC X1NJR05BTF9UUkFQKQpkaWZmIC0tZ2l0IGEvZ2RiL3JzNjAwMC1haXgtbmF0 LmMgYi9nZGIvcnM2MDAwLWFpeC1uYXQuYwppbmRleCAyYWMxZjZlNzBiNi4u ZGI0NWE5NTk1MmEgMTAwNjQ0Ci0tLSBhL2dkYi9yczYwMDAtYWl4LW5hdC5j CisrKyBiL2dkYi9yczYwMDAtYWl4LW5hdC5jCkBAIC02MTksNiArNjE5LDQ4 IEBAIHJzNjAwMF9uYXRfdGFyZ2V0Ojp4ZmVyX3BhcnRpYWwgKGVudW0gdGFy Z2V0X29iamVjdCBvYmplY3QsCiAgICAgfQogfQogCisvKiBTZWFyY2ggdGhy b3VnaCB0aGUgbGlzdCBvZiBhbGwga2VybmVsIHRocmVhZHMgZm9yIHRoZSB0 aHJlYWQKKyAgIHRoYXQgaGFzIHN0b3BwZWQgb24gYSBTSUdUUkFQIG9yIFNJ R0lOVCBzaWduYWwsIGFuZCByZXR1cm4KKyAgIGl0cyBUSUQuICBSZXR1cm4g MCBpZiBub25lIGZvdW5kLiAgKi8KKworc3RhdGljIHRpZF90CitnZXRfc2ln bmFsZWRfdGhyZWFkX3JzNjAwMCAoaW50IHBpZCkKK3sKKyAgc3RydWN0IHRo cmRzaW5mbzY0IHRocmluZjsKKyAgdGlkX3Qga3RpZCA9IDA7CisKKyAgd2hp bGUgKDEpCisgICAgeworICAgICAgaWYgKGdldHRocmRzIChwaWQsICZ0aHJp bmYsCisgICAgICAgICAgICAgICAgICAgIHNpemVvZiAodGhyaW5mKSwgJmt0 aWQsIDEpICE9IDEpCisgICAgICAgIGJyZWFrOworCisgICAgICBpZiAodGhy aW5mLnRpX2N1cnNpZyA9PSBTSUdUUkFQIHx8IHRocmluZi50aV9jdXJzaWcg PT0gU0lHSU5UKQorICAgICAgICByZXR1cm4gdGhyaW5mLnRpX3RpZDsKKyAg ICB9CisKKyAgLyogRGlkbid0IGZpbmQgYW55IHRocmVhZCBzdG9wcGVkIG9u IGEgU0lHVFJBUCBzaWduYWwuICAqLworICByZXR1cm4gMDsKK30KKworLyog SWYgbXkgcHJvY2VzcyBpcyBwdGhyZWFkZWQgSSBuZWVkIHRvIHJldHVybiB0 aGF0IHB0aWQgZWxzZSBwdGlkX3QKKyAgIChwaWQpLiAgKi8KKworc3RhdGlj IHB0aWRfdAorZmluZF90aGVfcmV0dXJuX3B0aWQgKHBpZF90IHBpZCkKK3sK KyAgcHRpZF90IHB0aWQgPSBwdGlkX3QgKHBpZCk7CisgIHByb2Nlc3Nfc3Ry YXR1bV90YXJnZXQgKnByb2NfdGFyZ2V0CisgICAgICAgID0gY3VycmVudF9p bmZlcmlvciAoKS0+cHJvY2Vzc190YXJnZXQgKCk7CisgIGluZmVyaW9yICpp bmYgPSBmaW5kX2luZmVyaW9yX3BpZCAocHJvY190YXJnZXQsIHBpZCk7Cisg IHRocmVhZF9pbmZvICp0cCA9IGZpbmRfdGhyZWFkX3B0aWQgKGluZiwgcHRp ZF90IChwaWQpKTsKKyAgaWYgKHRwID09IG51bGxwdHIpCisgICAgZm9yICh0 aHJlYWRfaW5mbyAqdHAxIDogaW5mLT50aHJlYWRzICgpKQorICAgICAgIGlm ICh0cDEtPnB0aWQubHdwICgpID09IGdldF9zaWduYWxlZF90aHJlYWRfcnM2 MDAwIChwaWQpKQorICAgICAgICAgcmV0dXJuIHRwMS0+cHRpZDsKKyAgcmV0 dXJuIHB0aWQ7Cit9CisKIC8qIFdhaXQgZm9yIHRoZSBjaGlsZCBzcGVjaWZp ZWQgYnkgUFRJRCB0byBkbyBzb21ldGhpbmcuICBSZXR1cm4gdGhlCiAgICBw cm9jZXNzIElEIG9mIHRoZSBjaGlsZCwgb3IgTUlOVVNfT05FX1BUSUQgaW4g Y2FzZSBvZiBlcnJvcjsgc3RvcmUKICAgIHRoZSBzdGF0dXMgaW4gKk9VUlNU QVRVUy4gICovCkBAIC02NzIsNyArNzE0LDcgQEAgcnM2MDAwX25hdF90YXJn ZXQ6OndhaXQgKHB0aWRfdCBwdGlkLCBzdHJ1Y3QgdGFyZ2V0X3dhaXRzdGF0 dXMgKm91cnN0YXR1cywKIAkgICAgICBpZiAocGFyZW50X3BpZCA+IDApCiAJ CXsKIAkJICBvdXJzdGF0dXMtPnNldF9mb3JrZWQgKHB0aWRfdCAocGlkKSk7 Ci0JCSAgcmV0dXJuIHB0aWRfdCAocGFyZW50X3BpZCk7CisJCSAgcmV0dXJu IGZpbmRfdGhlX3JldHVybl9wdGlkIChwYXJlbnRfcGlkKTsKIAkJfQogCSAg ICAgIGFpeF9yZW1lbWJlcl9jaGlsZCAocGlkKTsKIAkgICAgfQpAQCAtNjg3 LDcgKzcyOSw3IEBAIHJzNjAwMF9uYXRfdGFyZ2V0Ojp3YWl0IChwdGlkX3Qg cHRpZCwgc3RydWN0IHRhcmdldF93YWl0c3RhdHVzICpvdXJzdGF0dXMsCiAJ ICAgICAgaWYgKGNoaWxkX3BpZCA+IDApCiAJCXsKIAkJICBvdXJzdGF0dXMt PnNldF9mb3JrZWQgKHB0aWRfdCAoY2hpbGRfcGlkKSk7Ci0JCSAgcmV0dXJu IHB0aWRfdCAocGlkKTsKKwkJICByZXR1cm4gZmluZF90aGVfcmV0dXJuX3B0 aWQgKHBpZCk7CiAJCX0KIAkgICAgICBhaXhfcmVtZW1iZXJfcGFyZW50IChw aWQpOwogCSAgICB9CkBAIC03MTIsNyArNzU0LDcgQEAgcnM2MDAwX25hdF90 YXJnZXQ6OndhaXQgKHB0aWRfdCBwdGlkLCBzdHJ1Y3QgdGFyZ2V0X3dhaXRz dGF0dXMgKm91cnN0YXR1cywKICAgZWxzZQogICAgICpvdXJzdGF0dXMgPSBo b3N0X3N0YXR1c190b193YWl0c3RhdHVzIChzdGF0dXMpOwogCi0gIHJldHVy biBwdGlkX3QgKHBpZCk7CisgIHJldHVybiBmaW5kX3RoZV9yZXR1cm5fcHRp ZCAocGlkKTsKIH0KIAwKIAotLSAKMi4zMS4xCgo= --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_--