From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2113.outbound.protection.outlook.com [40.107.22.113]) by sourceware.org (Postfix) with ESMTPS id E4DB23858C51 for ; Mon, 21 Mar 2022 14:01:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E4DB23858C51 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=silk.us Authentication-Results: sourceware.org; spf=none smtp.mailfrom=silk.us ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yg9JnSFAppFHaikm6B7TgEL+jXiTx6WFx21azqmTsNB1pGoHWzkekVYaxHV6O1ONO4GyBaUVtTpfklZ1XNT0bDBjq8lSGUYh0Ng02+uU4rjDCp+s8fOPel7Y9WSwUM48u9qa36W1uHQzy3X74kTwlzaGbXhYVp/yDOi2rgy4NhzQp2bfGDtQdEuzkueHyyfBr9BLC66CacVAehLcY/pAgiVcz6nlM70SCte4aRTrJfUh8gZFECf8REEPJ25IXNRQ3X2iJBbBxPcg/O9BZBsdJytuGshzzZTx12eMC/U8mHFOlpOjhEtdBUliDJSJprfTI9YKtW438WNPztoMLx9qxQ== 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=IMH/eluwrUiZZVU+TROMqoXWV0MAN5ldAom6O3zGPy4=; b=lN4lR/3sbpJBdG0Vke3jS824/+wgI5XtMt54N0dEFuHuSXP6EjenOGGTixAcHBk/+P6MHIEeS+U2SirvKxSyxMsePFxABIZ44ujqIPIarJAvjncIBRPpiyu9M+Yf1coaNRzM6euVuf/TYJAYAnCPEUJs0LjzGUQLX8IMUlXC0KXsmiAqkRsli6g9ojQri1FwKLvEwqbPDjgeo6g1GV10xnKUAToDLPueF47eIMPjGF+YqKlYjvOevY7YlIaYAYXPkuL/egxpGTu5JkdORgRV1L1CPnDk0J+rHvZGCvp8zGWaWwfGaF25J9wABCCQ7qUddX68Dh18xYPYs6HXogTEUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silk.us; dmarc=pass action=none header.from=silk.us; dkim=pass header.d=silk.us; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KAMINARIO.onmicrosoft.com; s=selector2-KAMINARIO-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IMH/eluwrUiZZVU+TROMqoXWV0MAN5ldAom6O3zGPy4=; b=RMSCWgSDAUo2L6w76jQt8FbZlPoKnhaa2lTgIUvo2PyHB+0y/1/g2gLbYIqd3oJGhAz3wI9osjGdlaJ9b9eU9km20h9DW0YlIQUc9QGSaFTEUnDs/eRksboxril40RqzHoWuhxwY/BQZWuOmuhIOcPHmkS6sSvwtxqiF+N+ZRi4= Received: from AM9PR04MB8291.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::18) by HE1PR0402MB3626.eurprd04.prod.outlook.com (2603:10a6:7:88::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.22; Mon, 21 Mar 2022 14:01:28 +0000 Received: from AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674]) by AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674%5]) with mapi id 15.20.5081.022; Mon, 21 Mar 2022 14:01:28 +0000 From: David Mozes To: Christian Hoff , Florian Weimer CC: "libc-help@sourceware.org" Subject: RE: rwlock different behavior on glibc 2.28 then on previous versions Thread-Topic: rwlock different behavior on glibc 2.28 then on previous versions Thread-Index: AdgyX2S3/6mTgWpiREq8PHffipiLYAC8MW5wAFXY8eABdDm6cAAczqWAAA/6npA= Date: Mon, 21 Mar 2022 14:01:28 +0000 Message-ID: References: <87czis1tgk.fsf@oldenburg.str.redhat.com> <8681b86f-963c-7c01-3d7a-9c4cb3da52c8@gmx.net> In-Reply-To: <8681b86f-963c-7c01-3d7a-9c4cb3da52c8@gmx.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=silk.us; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40a0f500-3bf8-4a93-5e04-08da0b434b7b x-ms-traffictypediagnostic: HE1PR0402MB3626:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I+oWOHRlDTOd0CPoRpKksMY6lCGA6He+Bqcnp2mTVyK++sMfEECamvZPPjHWXIZ1PJg4NzyQBi8eUDzKIkKhhYiuWlU8IBaljmU0LXatu++6H5kz3gWgWggvclcYabMocCq8IIrKenUg1QIu6gMr8erMBVmE4949pNbzP4L165rIB5tcO+jSoetmijgwZQpjzlIMe0aTttJGR5ITdJKNlhBkcK+SjGpV1Mo48YLVKVJd61fl2LhYBHCh8aXkuszQl5kyBsMU4QWGMxLzkCVJTW7bUqCyjBwZy9IeHZiaycYreVuPVXTHyOwaQKFJfTRCU5JVu8mM4csGyO9KqoZQICAjo+rpWAO5OuPk86dfYkQHgF+8l5BQndaFpkl4bg0rT/fwT4h90to5tGhDvyuP3VIFqvel440N+NiF1FGx0/L79v3Qi37wUmZ13jiTo8hfZk0Aqtt9XK2lx4yUWaYVwpynKTm+i577X987pDuZ/SZCHnTs8BOPQ7tprmZ9waNX1HzIYxBpOe8vO0xXECMFLRBoxIVSZkWc9EVML2fK4duGjrU+7fsTTF8PLnaC5L3u/hkXtvBkrsxh+leaupCe3BKTX2Kvhmir0Vw9tVGq79m9kjv3HHHAcgliWbERbAYccWuKDNoa4eZaQhXk18aLzBM27PqR3ZV75nvESFgiWxtKvh0jNUgLClLP+ahG2RiV5thnh33zQnzocVctAUGA+hNpIgAbZ7ohxJokcDGAQHI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8291.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(66556008)(76116006)(66476007)(64756008)(4326008)(66446008)(53546011)(7696005)(6506007)(66946007)(44832011)(2906002)(55016003)(9686003)(186003)(8936002)(26005)(33656002)(508600001)(38100700002)(110136005)(122000001)(5660300002)(86362001)(52536014)(38070700005)(8676002)(71200400001)(316002)(83380400001)(80162009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NVowTXJ1Z25zeG1oNkNOZ3c5RUxNNnkrZllJR2hPN0dueXpMZXk3Nk02NHph?= =?utf-8?B?dXc1UTJ1VWN4VkJQZ0ZxMkVEUjltWHNlb3Y3VW5MbHcwS2UrWklKdEJldHNo?= =?utf-8?B?VVZqR3JsNElJd1loL3dXanRUMUNrOWYxVjlERmJzcDVUeFkvc0xPbXFmQnZn?= =?utf-8?B?ZkxudEMzMmZsdnlJckwrYWIvdFQ4WUl4bUh2ZDZHRis4NFdjN1cycUV3ZkVY?= =?utf-8?B?RlRJK3BCVE1nMVBqMlN3U0FLQXprY1l5amd1WnY4YVR0a3VzL3NqYlJvRG1y?= =?utf-8?B?akNmdmk4djhXSm51ZWpaUk1WWlUwVHRUSUFQU0Qvcm5GM2FJQS9CSmp1MXgr?= =?utf-8?B?ampwdVg3ZU1FM3gvT2ZJTDhEMlIvS1VBVmwrcy9lSDhGMVd2QUwwSzUxditG?= =?utf-8?B?S2FVZXBuOE1EWUFpZlc0SUpkeTJqdGVndmRqaHlCbStJMEJMMW55T05HM0Y4?= =?utf-8?B?emQyQ2piYnp0VlZMQ3ZQb0s2TmJSOUtQQVBKaWtacFNINEV1MEUyMEFDK3VI?= =?utf-8?B?aGNTTDVkR3RUeFZNa2ErWWhnOVJlNEIxTUlEcjdPVnRIODRHOWEwbmRib2ha?= =?utf-8?B?UzJLMXRKKzRPRURialhFSmpTNDZ5SDVTRGJqNEY3ckxnclU4SDNPbkFoZUhO?= =?utf-8?B?WVJzOUwreGtibDRDQURhbTRMakVXb2pTS3lybkdzc21zZndDVTFUcm1LaTBR?= =?utf-8?B?OVE0QWVCYjk5NHFhYnNQK1Zqa0Fya3dKanI4WHg0WGlGQVdKYWFjeHdBVldV?= =?utf-8?B?MHdJZEpkT21reXhKcjRmSHArTitSRUh4WE1WNjB6dUVzVVcwU1ppSUtycTlW?= =?utf-8?B?VlVFMkswRmF5dmNKdEtWWnhkbGJGY0wyMmRsRFRsMURWdXpLb1ovMHNoNlFj?= =?utf-8?B?ckYyQnRJbG85NktlbzYzNiszdWtFZ3hRYWlBbFM5MjY2NmdwSE9TYXBkdkV4?= =?utf-8?B?dU5SSG1oSTU0eWRuS2VkTGdxa3hHN0p4OXNidGY3bHBHbkNNQnFpUGh1S2t6?= =?utf-8?B?RjRoNjhubW1iZVg1eTlhekxZdVg0MmRoSXJLaDc2QmpDU20xcE1iRWd2UUZX?= =?utf-8?B?c3pmcnp0c05USjgrY3Q0dDc1VzFxTjdpM2pJaU1pSC92TVcxODRUYnphcXV5?= =?utf-8?B?R0JqNFZUcGxsTlEwS1cyY2tSNXdPUjR0QUZ1UkpMZjlwQmszeEtzNnZrbVQv?= =?utf-8?B?cWVYRXduWmlMVkNZNFJMUktSNjBnVVZMWnV2dGROTzZoOEZybHpUcU5XQW0z?= =?utf-8?B?aWI0OEppU05YV01ScTYxR1JKTDF2Q1BqTHFTa1gvNS9vZ0NJTjh0aktaSGtk?= =?utf-8?B?ZEU2TkgzMmQ4RUphbnJlUy9qb01TNXRTMjlHNGZWc1FBTDg2cTdrUXNPRVZj?= =?utf-8?B?bXFidDNTcFFJWjRqZ1NiZDdqYXRYQ2Erb1BXZUwwMC9Idm55OHkySUJCV0FD?= =?utf-8?B?NE1qNldGeHZJYVhMOGUwcU5LVXB4NXhXbTNwREpwSnp5d2N6akZIYkxMS1po?= =?utf-8?B?dy85QXdjVHMraGRHRmEvdW5KTW9ZZDRiSzFydzArYUl2ZVlaQzVvb2J3eUxW?= =?utf-8?B?SHBGWDJWRmxqbTdyR3NDNWxvLzVqWlVtZnZnZW5JV1dLblpkNTBacW02N1Fq?= =?utf-8?B?bzh6SWdwN2duR1dtZlpxTVFSSmRSSUc2ZDlibDRtZ2RLdlFIOVhzeUY3aDht?= =?utf-8?B?MFExdk5aU1VIWHFkdHR2YXNIQnpDSHZQd2orTUZRbzluZVVCRnFySVcxRHhQ?= =?utf-8?B?T2c1bEY3QTlrNzdkOXk0MmNYY09HOHRRcnVFMkhyOVBLN1BFdjIvQktveTc3?= =?utf-8?B?dHRKVG1JUDdocS8yanprbDRzUm91c1pLU3RUb2pqWG5LWTlKd2FRaW9nM0lp?= =?utf-8?B?aTN6czFuWURIcXBQWG94QzVMSFk0NDNHK1NWS2d0UWJWNUVZRlExbUtKTTNr?= =?utf-8?Q?kAf/qGGcsMFbt2lZpBuSB1NLptHqRvuB?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: silk.us X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8291.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40a0f500-3bf8-4a93-5e04-08da0b434b7b X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2022 14:01:28.2343 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4a3c5477-cb0e-470b-aba6-13bd9debb76b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zRHM5mDY5VS2o2XuMgvQ0uBxT+EACcprPdwYPbMSPUDBqwxkmwesgKsrOeUqblqaYRY/Zc6dOhmJJXI5lFD5Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB3626 X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2022 14:01:34 -0000 SGVsbG8gQ2hyaXN0YWluLA0KWWVzLCBUaHJlYWQgU2FuaXRpemVyIGNhdWdodCBpdC4gDQpIb3dl dmVyLCB3ZSBjYW4ndCBydW4gaXQgYWxsIHRoZSB0aW1lIG9uIHRoZSBwcm9kdWN0aW9uIGNvZGUu DQpXZSBuZWVkIHRvIG1ha2UgYSBzbWFsbCBjaGFuZ2Ugb2YgdGhlIHVubG9jayBjb2RlIHRvIGhh dmUgYXN5bmMgcHJvZ3JhbWluZyBhbmQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3Igb2xkZXIg Y29kZS4NCg0KVGh4DQpEYXZpZCAgDQoJDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogQ2hyaXN0aWFuIEhvZmYgPGNocmlzdGlhbl9ob2ZmQGdteC5uZXQ+IA0KU2VudDogTW9uZGF5 LCBNYXJjaCAyMSwgMjAyMiA4OjIwIEFNDQpUbzogRGF2aWQgTW96ZXMgPGRhdmlkLm1vemVzQHNp bGsudXM+OyBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQuY29tPg0KQ2M6IGxpYmMtaGVs cEBzb3VyY2V3YXJlLm9yZw0KU3ViamVjdDogUmU6IHJ3bG9jayBkaWZmZXJlbnQgYmVoYXZpb3Ig b24gZ2xpYmMgMi4yOCB0aGVuIG9uIHByZXZpb3VzIHZlcnNpb25zDQoNCkhhbGxvIERhdmlkLA0K DQpkaWQgeW91IHRyeSB0byBydW4geW91ciBwcm9ncmFtIHdpdGggSGVsZ3JpbmQgYWxyZWFkeT8g SGVsZ3JpbmQgd2FzDQpkZXNpZ25lZCB0byBjYXRjaCBwcm9ibGVtcyBsaWtlIHRoaXMuIE1heWJl IFRocmVhZCBTYW5pdGl6ZXIgd291bGQgYWxzbw0KZGV0ZWN0IHRoZSBpc3N1ZS4NCg0KDQpCZXN0 IHJlZ2FyZHMsDQoNCiDCoMKgIENocmlzdGlhbg0KDQpPbiAzLzIwLzIyIDU6NDQgUE0sIERhdmlk IE1vemVzIHdyb3RlOg0KPiBIaSwNCj4gV2hlcmUgYXJlIHdlIHdpdGggdGhpcz8NCj4gQWxzbywg dGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgdGhlIF9fcHRocmVhZF9yd2xvY2tfdW5sb2Nr ICBpcyBwcm9ibGVtYXRpYy4NCj4gT24gdGhlIG9uZSBoYW5kLCBpdCBjaGVja3MgdGhlIEFQSSBh Z3JlZW1lbnQuIEhvd2V2ZXIsIG9uIHRoZSBjYXNlIG9mIHZpb2xhdGlvbiwgdGhlIHVzZXIgZG9u J3QgaGF2ZSBhbnkgaW5kdWN0aW9uDQo+IEFuZCBmdW5jdGlvbiByZXR1cm4gT0sNCj4gU2VlIGV4 YW1wbGUgY29kZSBiZWxvdzoNCj4NCj4NCj4gc3RydWN0IHRocmVhZEluZm97DQo+ICAgICAgcHRo cmVhZF90KiB0aWQ7DQo+ICAgICAgcHRocmVhZF9yd2xvY2tfdCAqcndsb2NrOw0KPiB9Ow0KPg0K PiB2b2lkICpsb2NrZXJUaHJlYWRGdW5jdGlvbih2b2lkICp2YXJncCkNCj4gew0KPiAgICAgIGtt X3N0YXR1cyBzdGF0ID0gS01fT0s7DQo+ICAgICAgc3RydWN0IHRocmVhZEluZm8qIFRpbmZvID0g KHN0cnVjdCB0aHJlYWRJbmZvKil2YXJncDsNCj4NCj4gICAgICBkbyB7DQo+ICAgICAgICAgIHN0 YXQgPSBwdGhyZWFkX3J3bG9ja190cnl3cmxvY2soVGluZm8tPnJ3bG9jayk7DQo+ICAgICAgICAg IGlmIChLTV9PSyA9PSBzdGF0KSB7DQo+ICAgICAgICAgICAgICBwcmludGYoIltJTkZPXSAtIEZJ UlNUIHRocmVhZCAweCV4IGxvY2tlZCAlcCBcbiIsICooVGluZm8tPnRpZCksIFRpbmZvLT5yd2xv Y2spOw0KPiAgICAgICAgICAgICAgc2xlZXAoMTApOw0KPiAgICAgICAgICAgICAgc3RhdCA9IHB0 aHJlYWRfcndsb2NrX3VubG9jayhUaW5mby0+cndsb2NrKTsNCj4gICAgICAgICAgICAgIGlmIChL TV9PSyA9PSBzdGF0KSB7DQo+ICAgICAgICAgICAgICAgICAgcHJpbnRmKCJbSU5GT10gRklSU1Qg dGhyZWFkIDB4JXggcmVsZWFzZWQgJXAgXG4iLCAqKFRpbmZvLT50aWQpLCBUaW5mby0+cndsb2Nr KTsNCj4gICAgICAgICAgICAgICAgICBzbGVlcCgxKTsNCj4gICAgICAgICAgICAgIH0NCj4gICAg ICAgICAgfQ0KPiAgICAgIH13aGlsZShLTV9PSyAhPSBzdGF0KTsNCj4gICAgICByZXR1cm4gTlVM TDsNCj4gfQ0KPg0KPg0KPiB2b2lkICpzZWNvbmRUaHJlYWRGdW5jdGlvbih2b2lkICp2YXJncCkN Cj4gew0KPiAgICAgIGttX3N0YXR1cyBzdGF0ID0gS01fT0s7DQo+ICAgICAgc3RydWN0IHRocmVh ZEluZm8qIFRpbmZvID0gKHN0cnVjdCB0aHJlYWRJbmZvKil2YXJncDsNCj4NCj4gICAgICBzbGVl cCg1KTsNCj4gICAgICBkbyB7DQo+ICAgICAgICAgIHN0YXQgPSBwdGhyZWFkX3J3bG9ja191bmxv Y2soVGluZm8tPnJ3bG9jayk7DQo+ICAgICAgICAgIGlmIChLTV9PSyA9PSBzdGF0KSB7DQo+ICAg ICAgICAgICAgICBwcmludGYoIltJTkZPXSBTRUNPTkQgdGhyZWFkIDB4JXggcmVsZWFzZWQgJXAg XG4iLCAqKFRpbmZvLT50aWQpLCBUaW5mby0+cndsb2NrKTsNCj4gICAgICAgICAgICAgIHNsZWVw KDEpOw0KPiAgICAgICAgICB9IGVsc2UNCj4gICAgICAgICAgICAgIHByaW50ZigiW0lORk9dIFNF Q09ORCB0aHJlYWQgMHgleCB0cnlfdG9fcmVsZWFzZWQgJXAgZXJybyBzdGF0dXMgaXM6ICVkIFxu IiwgKihUaW5mby0+dGlkKSwgVGluZm8tPnJ3bG9jayxzdGF0KTsNCj4NCj4gICAgICB9d2hpbGUo S01fT0sgIT0gc3RhdCk7DQo+ICAgICAgcmV0dXJuIE5VTEw7DQo+IH0NCj4NCj4gdm9pZCAqdGhp cmRUaHJlYWRGdW5jdGlvbih2b2lkICp2YXJncCkNCj4gew0KPiAgICAgIGttX3N0YXR1cyBzdGF0 ID0gS01fT0s7DQo+ICAgICAgc3RydWN0IHRocmVhZEluZm8qIFRpbmZvID0gKHN0cnVjdCB0aHJl YWRJbmZvKil2YXJncDsNCj4NCj4gICAgICBzbGVlcCgyKTsNCj4gICAgICBkbyB7DQo+ICAgICAg ICAgIHN0YXQgPSBwdGhyZWFkX3J3bG9ja190cnl3cmxvY2soVGluZm8tPnJ3bG9jayk7DQo+ICAg ICAgICAgIGlmIChLTV9PSyA9PSBzdGF0KSB7DQo+ICAgICAgICAgICAgICBwcmludGYoIltJTkZP XSBUSElSRCB0aHJlYWQgMFgleCBsb2NrZWQgJXhcbiIsICooVGluZm8tPnRpZCksIFRpbmZvLT5y d2xvY2spOw0KPiAgICAgICAgICAgICAgc2xlZXAoNSk7DQo+ICAgICAgICAgIH0NCj4gICAgICAg ICAgZWxzZSB7DQo+ICAgICAgICAgICAgICBwcmludGYoIltFUlJPUl06IFRISVJEIHRocmVhZCAw eCV4IGZhaWxlZCBMb2NraW5nICVwIHN0YXR1cyBpcyAlZFxuIiwgKihUaW5mby0+dGlkKSwgVGlu Zm8tPnJ3bG9jayxzdGF0KTsNCj4gICAgICAgICAgICAgIHNsZWVwKDEpOw0KPiAgICAgICAgICB9 DQo+ICAgICAgfXdoaWxlKEtNX09LICE9IHN0YXQpOw0KPiAgICAgIHJldHVybiBOVUxMOw0KPiB9 DQo+DQo+IHZvaWQgbWFpbigpDQo+IHsNCj4gICAgICBrbV9zdGF0dXMgc3RhdCA9IEtNX09LOw0K PiAgICAgIC8qIGttX3J3bG9jayBsb2NrOyAqLw0KPiAgICAgIHB0aHJlYWRfcndsb2NrX3Qgcnds b2NrOw0KPiAgICAgIHB0aHJlYWRfdCBsb2NrZXJUaWQgPSAwLCByZWxlYXNlVGlkID0gMCwgdGhp cmRUaWQ9MDsNCj4gICAgICBzdHJ1Y3QgdGhyZWFkSW5mbyBmaXJzdFRpbmZvLCBzZWNvbmRUaW5m bywgdGhpcmRUaW5mbzsNCj4NCj4gICAgIC8qIHN0YXQgPSBrbV9yd2xvY2tfaW5pdCgmcndsb2Nr LCBLTV9UUlVFKTsgKi8NCj4gICAgICBzdGF0ID0gcHRocmVhZF9yd2xvY2tfaW5pdCAoJnJ3bG9j aywgTlVMTCk7DQo+DQo+ICAgICAgaWYgKEtNX09LID09IHN0YXQpIHsNCj4gICAgICAgICAgcHJp bnRmKCJyZWFkXFx3cml0ZXIgbG9jayBpbml0aWFsaXplZFxuIik7DQo+ICAgICAgICAgIHByaW50 ZigiQmVmb3JlIFRocmVhZFxuIik7DQo+DQo+ICAgICAgICAgIGZpcnN0VGluZm8udGlkICA9ICZs b2NrZXJUaWQ7DQo+ICAgICAgICAgIGZpcnN0VGluZm8ucndsb2NrID0gJnJ3bG9jazsNCj4gICAg ICAgICAgc2Vjb25kVGluZm8udGlkICA9ICZyZWxlYXNlVGlkOw0KPiAgICAgICAgICBzZWNvbmRU aW5mby5yd2xvY2sgPSAmcndsb2NrOw0KPiAgICAgICAgICB0aGlyZFRpbmZvLnRpZCAgPSAmdGhp cmRUaWQ7DQo+ICAgICAgICAgIHRoaXJkVGluZm8ucndsb2NrID0gJnJ3bG9jazsNCj4NCj4NCj4g ICAgICAgICAgcHRocmVhZF9jcmVhdGUoJmxvY2tlclRpZCwgTlVMTCwgbG9ja2VyVGhyZWFkRnVu Y3Rpb24sICZmaXJzdFRpbmZvKTsNCj4gICAgICAgICAgcHRocmVhZF9jcmVhdGUoJnJlbGVhc2VU aWQsICBOVUxMLCBzZWNvbmRUaHJlYWRGdW5jdGlvbiwgJnNlY29uZFRpbmZvKTsNCj4gICAgICAg ICAgcHRocmVhZF9jcmVhdGUoJnRoaXJkVGlkLCBOVUxMLCB0aGlyZFRocmVhZEZ1bmN0aW9uLCAm dGhpcmRUaW5mbyk7DQo+ICAgICAgICAgIHByaW50ZigiQWZ0ZXIgVGhyZWFkICV4XG4iLCBsb2Nr ZXJUaWQpOw0KPg0KPiBwdGhyZWFkX2pvaW4obG9ja2VyVGlkLCBOVUxMKTsNCj4gICAgICAgICAg cHRocmVhZF9qb2luKHJlbGVhc2VUaWQsIE5VTEwpOw0KPiAgICAgICAgICBwdGhyZWFkX2pvaW4o dGhpcmRUaWQsIE5VTEwpOw0KPg0KPg0KPg0KPiB0aGUgb3V0cHV0IHdlIHNhdyBpcyB0aGlzOg0K Pg0KPg0KPiB0aGUgb3VwdXQgd2Ugc2F3IGlzIHRoaXM6DQo+DQo+IFtyb290QFJvY2t5ODVNb3pl cyB0aHJlYWRfbG9ja10jIC4vcndfdGVzdA0KPiByZWFkXHdyaXRlciBsb2NrIGluaXRpYWxpemVk DQo+IEJlZm9yZSBUaHJlYWQNCj4gW0lORk9dIC0gRklSU1QgdGhyZWFkIDB4NDYxZjcwMCBsb2Nr ZWQgMHg3ZmZjZGEwNTNjYzANCj4gQWZ0ZXIgVGhyZWFkIDQ2MWY3MDANCj4gW0VSUk9SXTogVEhJ UkQgdGhyZWFkIDB4MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdmZmNkYTA1M2NjMCBzdGF0dXMg aXMgMTYgIC0+IGZpcnN0IHRocmVhZCB0YWtlIHRoZSByd2xvY2sNCj4gW0VSUk9SXTogVEhJUkQg dGhyZWFkIDB4MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdmZmNkYTA1M2NjMCBzdGF0dXMgaXMg MTYNCj4gW0VSUk9SXTogVEhJUkQgdGhyZWFkIDB4MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdm ZmNkYTA1M2NjMCBzdGF0dXMgaXMgMTYNCj4gW0lORk9dIFNFQ09ORCB0aHJlYWQgMHgzZTFlNzAw IHJlbGVhc2VkIDB4N2ZmY2RhMDUzY2MwICAgLT4gU2Vjb25kIHRocmVhZCB1bmxvY2sgdGhlIHJ3 bG9jayAtLSA+IGFuZCBnZXQgT0shIQ0KPiBbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAw IGZhaWxlZCBMb2NraW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KPiBbRVJST1JdOiBU SElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBMb2NraW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1 cyBpcyAxNg0KPiBbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBMb2NraW5n IDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KPiBbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgz NjFkNzAwIGZhaWxlZCBMb2NraW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KPiBbRVJS T1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBMb2NraW5nIDB4N2ZmY2RhMDUzY2Mw IHN0YXR1cyBpcyAxNg0KPiBbSU5GT10gRklSU1QgdGhyZWFkIDB4NDYxZjcwMCByZWxlYXNlZCAw eDdmZmNkYTA1M2NjMA0KPiBbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBM b2NraW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KPg0KPg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNb3plcw0KPiBTZW50OiBTdW5kYXksIE1hcmNo IDEzLCAyMDIyIDEyOjIzIFBNDQo+IFRvOiBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQu Y29tPg0KPiBDYzogbGliYy1oZWxwQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6IFJFOiByd2xv Y2sgZGlmZmVyZW50IGJlaGF2aW9yIG9uIGdsaWJjIDIuMjggdGhlbiBvbiBwcmV2aW91cyB2ZXJz aW9ucw0KPg0KPiBUaHggRmxvcmluLA0KPg0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQuY29tPg0KPiBTZW50OiBG cmlkYXksIE1hcmNoIDExLCAyMDIyIDM6NTkgUE0NCj4gVG86IERhdmlkIE1vemVzIDxkYXZpZC5t b3plc0BzaWxrLnVzPg0KPiBDYzogbGliYy1oZWxwQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6 IFJlOiByd2xvY2sgZGlmZmVyZW50IGJlaGF2aW9yIG9uIGdsaWJjIDIuMjggdGhlbiBvbiBwcmV2 aW91cyB2ZXJzaW9ucw0KPg0KPiAqIERhdmlkIE1vemVzOg0KPg0KPj4gT24gdGhlIHByZXZpb3Vz IHZlcnNpb24gb2YgR2xpYmMgKGJlZm9yZSB0aGUgY29tbWl0KSBXZSBjb3VsZCByZWxlYXNlDQo+ PiB3cml0ZSBsb2NrIHdpdGggZGlmZmVyZW50IHRocmVhZCBhcyB0aGUgb25lIHRoYXQgb3duZWQg dGhlIGxvY2sgKElmIHdlDQo+PiBsaWtlKSAuDQo+IFNvcnJ5LCB0aGlzIG1pc3VzZSBvZiB0aGUg QVBJIGhhcyBhbHdheXMgYmVlbiB1bmRlZmluZWQgYWNjb3JkaW5nIHRvDQo+IFBPU0lYICjigJxS ZXN1bHRzIGFyZSB1bmRlZmluZWQgaWYgdGhlIHJlYWQtd3JpdGUgbG9jayByd2xvY2sgaXMgbm90 IGhlbGQNCj4gYnkgdGhlIGNhbGxpbmcgdGhyZWFkLuKAnSkuDQo+DQo+ICAgPj4gQ29ycmVjdCwg YnV0IHByYWN0aWNhbGx5IHdlIGNhbiBkbyBpdCBvbiB0aGUgdXNlcidzIHJlc3BvbnNpYmlsaXR5 Lg0KPj4+IERvIHlvdSBrbm93IGlmIHRoaXMgImlmIiBzb2x2ZWQgc29tZSBzeW5jaHJvbml6YXRp b24gaXNzdWUgb3IganVzdCBlbmZvcmNlZCB0aGUgdW5kZWZpbmVkICBBUEk/DQo+PiBUaGlzIGlz IGhlbHAgdmVyeSBtdWNoIGZvciBhc3luYyBwcm9ncmFtIHRoYXQgaGFzIGEgbWFueSB0aHJlYWRz IHRoYXQNCj4+IGNvbW11bmljYXRlIHdpdGggc29tZSB0YXJnZXQuICBBbmQgd2UgbGlrZSB0byBk ZWZpbmUgYSBjYWxsIGJhY2sNCj4+IGZ1bmN0aW9uIGluc3RlYWQgb2YgYmxvY2tpbmcgb24gYWlv IHRocmVhZCB0aGF0IHNlbmQgdGhlIGRhdGEgaW4gb3JkZXINCj4+IHRvIHJlbGVhc2UgdGhlIHJ3 bG9jay50aGlzIGltcHJvdmVzIHRoZSBwZXJmb3JtYW5jZSBkcmFtYXRpY2FsbHkgLg0KPiBDb3Vs ZCB5b3UgdXNlIGEgZGlmZmVyZW50IHN5bmNocm9uaXphdGlvbiBvYmplY3QgKHBlcmhhcHMgYSBj b25kaXRpb24NCj4gdmFyaWFibGUpPw0KPg0KPj4+IElmIHdlIHVzZSBhIGRpZmZlcmVudCBzeW5j aHJvbml6YXRpb24gb2JqZWN0IGxpa2Ugc2VtYXBob3JlcywgY29uZGl0aW9uIHZhcmlhYmxlIChi eSB0aGUgd2F5IHRoZXkgdXNlIG11dGV4IHVuZGVyIHRoZSBzYW1lIEFQSSBhZ3JlZW1lbnQpLCAg d2Ugd2lsbCBuZWVkIHRvIHdyaXRlIHNlbGYgcndsb2NrICwgd2hpY2ggaGFzIGxlc3MgcGVyZm9y bWFuY2UgdGhhbiBvdGhlciB1bmRlZmluZWQgc3RhdGVzLg0KPj4+IElmIHdlIGxpa2UgdG8ga2Vl cCB0aGUgQVBJIGFncmVlbWVudCwgd2h5IG5vdCBkZWZpbmUgdGhlIGRpZmZlcmVudCBhc3luYyBw cm9ncmFtbWluZyB1bmxvY2sgZnVuY3Rpb25zPw0KPiBUaGFua3MNCj4gRmxvcmlhbg0KPg0KPiBU aHgNCj4gRGF2aWQNCg==