From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AA1C6A3201 for ; Mon, 21 Oct 2019 02:36:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6DC80276C; Mon, 21 Oct 2019 02:36:41 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70045.outbound.protection.outlook.com [40.107.7.45]) by dpdk.org (Postfix) with ESMTP id BF56F1B05 for ; Mon, 21 Oct 2019 02:36:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XZ6kIDqfj/gKosYmUJ+XpWmThHqlHnDeybVGkrtEWrY=; b=oC0TDOLB1tMyJLZ5Za2lo7CmUcmJCitSHSO05MvIGuC3RwsBmjItIh5+EJLV79DASbH6DyeAMkZ+MJIfkCBTozf4A6l1OHpXlaxNu+lfpG3I/9QKgk1f5M/remGD9AJ967eVieoXtAASrnd06vjq91xhbVuE+TelyRebjPs/Bbs= Received: from VI1PR08CA0267.eurprd08.prod.outlook.com (2603:10a6:803:dc::40) by DB6PR0802MB2391.eurprd08.prod.outlook.com (2603:10a6:4:a0::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.21; Mon, 21 Oct 2019 00:36:37 +0000 Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::204) by VI1PR08CA0267.outlook.office365.com (2603:10a6:803:dc::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2367.21 via Frontend Transport; Mon, 21 Oct 2019 00:36:37 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2305.15 via Frontend Transport; Mon, 21 Oct 2019 00:36:36 +0000 Received: ("Tessian outbound 3fba803f6da3:v33"); Mon, 21 Oct 2019 00:36:31 +0000 X-CR-MTA-TID: 64aa7808 Received: from af3588a9b2c1.2 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.8.56]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6625321B-B7C0-472A-82C5-110DD6AC65C7.1; Mon, 21 Oct 2019 00:36:26 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2056.outbound.protection.outlook.com [104.47.8.56]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id af3588a9b2c1.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384); Mon, 21 Oct 2019 00:36:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SkAv4BRyrb/ZuO5shTFtXIwINqCnc/k5sVWZQ17FQQOCtEYoyHuHaGdfDIqqwsmwWHW7mvmIW63ouLekPFpYQOdMguFQHyIgq4+X2iFIZqQy8aQJffZ+HPh+4ZpDHOfkD5L7UT7k5NTRexUqMWOOPA1dT28jpzUMQ2EoZFU442k/hTNeQhJBcL3c6QktRJnlJY2FO5xvT8AhMsjVez9HU36Da3gsKB2E7YWZDo1jUa39ARNpskjq3rj0t90hymLNbuJ8/lmLdIqoWNpxaAx89ZB97Xo3lfzptAwiZmPDZOJr2j/Cla+y20KW57mZ5yFLjJPHHETSEqfQI5a7euoIvQ== 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=XZ6kIDqfj/gKosYmUJ+XpWmThHqlHnDeybVGkrtEWrY=; b=RYZ/iOIsjgAIROgdVdcE79b0gWoBT9x7466vxlJl074Ahdck2CQYHMKX7vTMZwNWUaIpN3JjVLCF7KZ8p8x/Nfdf2w9xUeZckou6niflLG1w2YUD7Rg4oKyimBdQQX5/53OVPSMyFtLkqXUtX8HJruVnMzcDsB4sBksk+g8DPbfFOIv/mF5gVoRAOOwN9o4wyWfKGA0Okk7JRNeyQaWQjPY39/YL5918PKvs2oPvU/AJAd+0/9DoN4yGPi0PwonrpM5K+aPCiiUVRn8G0gFhd6l4XJ2S9DpjaPN9JMRi4u7FS5jlcWKB2fz8Tv5dYwbHAvEhExrsLbzTo6PHkyj7Ow== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XZ6kIDqfj/gKosYmUJ+XpWmThHqlHnDeybVGkrtEWrY=; b=oC0TDOLB1tMyJLZ5Za2lo7CmUcmJCitSHSO05MvIGuC3RwsBmjItIh5+EJLV79DASbH6DyeAMkZ+MJIfkCBTozf4A6l1OHpXlaxNu+lfpG3I/9QKgk1f5M/remGD9AJ967eVieoXtAASrnd06vjq91xhbVuE+TelyRebjPs/Bbs= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by VE1PR08MB5039.eurprd08.prod.outlook.com (10.255.159.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.16; Mon, 21 Oct 2019 00:36:24 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6%7]) with mapi id 15.20.2347.028; Mon, 21 Oct 2019 00:36:24 +0000 From: Honnappa Nagarahalli To: "Ananyev, Konstantin" , Jerin Jacob CC: David Christensen , "olivier.matz@6wind.com" , "sthemmin@microsoft.com" , "jerinj@marvell.com" , "Richardson, Bruce" , "david.marchand@redhat.com" , "pbhagavatula@marvell.com" , "dev@dpdk.org" , Dharmik Thakkar , "Ruifeng Wang (Arm Technology China)" , "Gavin Hu (Arm Technology China)" , "stephen@networkplumber.org" , nd , Honnappa Nagarahalli , nd Thread-Topic: [dpdk-dev] [PATCH v4 1/2] lib/ring: apis to support configurable element size Thread-Index: AQHVgGkjycLlQ66roUqbf1hqE7rJk6dVxOuAgASfoeCAAGP4AIAAqIDwgALNTICAAIYKsIAAfeKAgAAyfYCAAENBAIAAUAoAgACYtzCAA6tMUA== Date: Mon, 21 Oct 2019 00:36:24 +0000 Message-ID: References: <20190906190510.11146-1-honnappa.nagarahalli@arm.com> <20191009024709.38144-1-honnappa.nagarahalli@arm.com> <20191009024709.38144-2-honnappa.nagarahalli@arm.com> <2601191342CEEE43887BDE71AB97725801A8C68545@IRSMSX104.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725801A8C68A99@IRSMSX104.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725801A8C6A2DA@IRSMSX104.ger.corp.intel.com> <7df09c22-5b8b-77d8-1e8a-a2714e732036@linux.vnet.ibm.com> <2601191342CEEE43887BDE71AB97725801A8C6B54E@IRSMSX104.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB97725801A8C6B54E@IRSMSX104.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 3a3d2117-d66d-42c3-93e4-2bf273cdedec.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 31d18fb3-1804-417e-d07e-08d755bebad5 X-MS-Office365-Filtering-HT: Tenant X-MS-TrafficTypeDiagnostic: VE1PR08MB5039:|VE1PR08MB5039:|DB6PR0802MB2391: X-MS-Exchange-PUrlCount: 1 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; x-forefront-prvs: 0197AFBD92 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(346002)(376002)(366004)(136003)(396003)(39850400004)(51234002)(189003)(199004)(53754006)(86362001)(66946007)(7736002)(3846002)(8936002)(110136005)(81156014)(316002)(7416002)(81166006)(305945005)(74316002)(8676002)(5024004)(14444005)(256004)(66476007)(66556008)(64756008)(66446008)(7696005)(76176011)(54906003)(99286004)(71190400001)(71200400001)(14454004)(6116002)(6506007)(33656002)(478600001)(76116006)(966005)(53546011)(486006)(66066001)(26005)(102836004)(4326008)(6436002)(446003)(9686003)(6306002)(25786009)(52536014)(229853002)(2906002)(55016002)(11346002)(186003)(30864003)(5660300002)(6246003)(476003)(21314003); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB5039; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: artBMWGDMFqVWhLDvPE/vfEkdU75XTpDRKyYhULvlJkL/fXqFAvcG1tIi4EAdbVWB+Qmyp5SLE4g4lmn55UfNn9rCD7gmZ4vDLdxGJMgjPQpSpOgxcVJsrLppsU84vsq8aBOLtr1jP+VW/fYyxTDa6dWJVHPnRwnJnlLFYh37nGjoNH/yTkIfarOOx8KGiY9exRiD1yaWEw+tzdLSnIlG4padv1vTfhVbyupK38BxHBN02NfoNCX1sS2vZQ167HB08nbQVClKDC9sZlvSHk6/jLUMEKE8H1UoOmiwzJwhEj1RiIsAtxlZFhMDeS8BMphqTY8p4dn4gucuiUexVacwakZd7LeE69UQpsFLr2vrr50AOBYfTjvfMcRVbHR6cH5YlT8iExRlAeVAgaFDInOWwALRZ2Aen1+OXQgYSWHv97hyWUZ6F04Pf85AxzIvew7DeyzOWBCsVfpzS8qAj30qQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5039 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(39850400004)(136003)(346002)(396003)(53754006)(189003)(199004)(51234002)(11346002)(336012)(126002)(186003)(36906005)(50466002)(356004)(7736002)(74316002)(66066001)(110136005)(47776003)(305945005)(54906003)(316002)(26005)(2906002)(76176011)(486006)(102836004)(26826003)(476003)(63350400001)(436003)(6506007)(446003)(478600001)(53546011)(14454004)(22756006)(70586007)(70206006)(33656002)(966005)(7696005)(14444005)(2486003)(23676004)(229853002)(99286004)(30864003)(6116002)(3846002)(6306002)(52536014)(5660300002)(81156014)(81166006)(8936002)(8676002)(5024004)(25786009)(86362001)(4326008)(55016002)(9686003)(6246003)(76130400001)(21314003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2391; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:TempError; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: d78fdf8e-57bc-4342-c79b-08d755beb3df NoDisclaimer: True X-Forefront-PRVS: 0197AFBD92 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k5fHf4Tb5kjNBpiKgRogKIMujo9GLbaUOGrY0kwOKBJPC/hlOWOjPQUyEUzud9VC9JAvCsx2lSQP9fe08wfyuLnqHJi8gExodPsAQjOb7sPojRyRXvdn3mYQJ3CzSslYe0tI9UO3WRs219KfWsJQiPjABDVyQ6TK/dB1/fdcw6LgvyTuPZrgHWebeD+/oIBRRSoqgN4rV07tlmWYpcNwpBhv018YbiqJsqYvP+zWfiPLXZU0LiKFWx7FLDiKdBkg5pZv+4xdLa0fa6mRN4hY0rKR3FbeOTjFs34q9eYeVorA66cVcwjo+mMkvnnznWBBSigXDHvY0XEF9wZZY+focBFcbvuJmqgmqTw7FDgj0060UNMjgHPGUrHOtKUlZat68Eh8g4G2tDuJP+vXEnuSvjt7BjKYMwejK84k9porWzjCCWH8vtPF4MVW30ECmp8Cz2tJ+PjWR3OfN6emjzxQ5Q== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2019 00:36:36.1535 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 31d18fb3-1804-417e-d07e-08d755bebad5 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2391 Subject: Re: [dpdk-dev] [PATCH v4 1/2] lib/ring: apis to support configurable element size X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiANCj4gSGkgZXZlcnlvbmUsDQo+IA0KPiANCj4gPiA+ID4gPj4+IEkgdHJpZWQgdGhpcy4gT24g eDg2IChYZW9uKFIpIEdvbGQgNjEzMiBDUFUgQCAyLjYwR0h6KSwgdGhlDQo+ID4gPiA+ID4+PiBy ZXN1bHRzIGFyZSBhcw0KPiA+ID4gPiA+PiBmb2xsb3dzLiBUaGUgbnVtYmVycyBpbiBicmFja2V0 cyBhcmUgd2l0aCB0aGUgY29kZSBvbiBtYXN0ZXIuDQo+ID4gPiA+ID4+PiBnY2MgKFVidW50dSA3 LjQuMC0xdWJ1bnR1MX4xOC4wNC4xKSA3LjQuMA0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFJU RT4+cmluZ19wZXJmX2VsZW1fYXV0b3Rlc3QNCj4gPiA+ID4gPj4+ICMjIyBUZXN0aW5nIHNpbmds ZSBlbGVtZW50IGFuZCBidXJzdCBlbnEvZGVxICMjIyBTUC9TQyBzaW5nbGUNCj4gPiA+ID4gPj4+ IGVucS9kZXF1ZXVlOiA1IE1QL01DIHNpbmdsZSBlbnEvZGVxdWV1ZTogNDAgKDM1KSBTUC9TQyBi dXJzdA0KPiA+ID4gPiA+Pj4gZW5xL2RlcXVldWUgKHNpemU6IDgpOiAyIE1QL01DIGJ1cnN0IGVu cS9kZXF1ZXVlIChzaXplOiA4KTogNg0KPiA+ID4gPiA+Pj4gU1AvU0MgYnVyc3QgZW5xL2RlcXVl dWUgKHNpemU6IDMyKTogMSAoMikgTVAvTUMgYnVyc3QNCj4gZW5xL2RlcXVldWUgKHNpemU6DQo+ ID4gPiA+ID4+PiAzMik6IDINCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiAjIyMgVGVzdGluZyBl bXB0eSBkZXF1ZXVlICMjIw0KPiA+ID4gPiA+Pj4gU0MgZW1wdHkgZGVxdWV1ZTogMi4xMQ0KPiA+ ID4gPiA+Pj4gTUMgZW1wdHkgZGVxdWV1ZTogMS40MSAoMi4xMSkNCj4gPiA+ID4gPj4+DQo+ID4g PiA+ID4+PiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMgU1AvU0MgYnVsayBl bnEvZGVxdWV1ZSAoc2l6ZToNCj4gPiA+ID4gPj4+IDgpOiAyLjE1ICgyLjg2KSBNUC9NQyBidWxr IGVucS9kZXF1ZXVlDQo+ID4gPiA+ID4+PiAoc2l6ZTogOCk6IDYuMzUgKDYuOTEpIFNQL1NDIGJ1 bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS4zNQ0KPiA+ID4gPiA+Pj4gKDIuMDYpIE1QL01D IGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMi4zOCAoMi45NSkNCj4gPiA+ID4gPj4+DQo+ ID4gPiA+ID4+PiAjIyMgVGVzdGluZyB1c2luZyB0d28gcGh5c2ljYWwgY29yZXMgIyMjIFNQL1ND IGJ1bGsgZW5xL2RlcXVldWUNCj4gKHNpemU6DQo+ID4gPiA+ID4+PiA4KTogNzMuODEgKDE1LjMz KSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogNzUuMTANCj4gPiA+ID4gPj4+ICg3 MS4yNykgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMS4xNCAoOS41OCkgTVAv TUMNCj4gPiA+ID4gPj4+IGJ1bGsgZW5xL2RlcXVldWUNCj4gPiA+ID4gPj4+IChzaXplOiAzMik6 IDI1Ljc0ICgyMC45MSkNCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiAjIyMgVGVzdGluZyB1c2lu ZyB0d28gTlVNQSBub2RlcyAjIyMgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZQ0KPiAoc2l6ZToNCj4g PiA+ID4gPj4+IDgpOiAxNjQuMzIgKDUwLjY2KSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl OiA4KTogMTc2LjAyDQo+ID4gPiA+ID4+PiAoMTczLjQzKSBTUC9TQyBidWxrIGVucS9kZXF1ZXVl IChzaXplOg0KPiA+ID4gPiA+Pj4gMzIpOiA1MC43OCAoMjMpIE1QL01DIGJ1bGsgZW5xL2RlcXVl dWUgKHNpemU6IDMyKTogNjMuMTcNCj4gPiA+ID4gPj4+ICg0Ni43NCkNCj4gPiA+ID4gPj4+DQo+ ID4gPiA+ID4+PiBPbiBvbmUgb2YgdGhlIEFybSBwbGF0Zm9ybQ0KPiA+ID4gPiA+Pj4gTVAvTUMg YnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAwLjM3ICgwLjMzKSAofjEyJSBoaXQsIHRoZQ0K PiA+ID4gPiA+Pj4gcmVzdCBhcmUNCj4gPiA+ID4gPj4+IG9rKQ0KPiA+ID4gPg0KPiA+ID4gPiBU cmllZCB0aGlzIG9uIGEgUG93ZXI5IHBsYXRmb3JtICgzLjZHSHopLCB3aXRoIHR3byBudW1hIG5v ZGVzIGFuZA0KPiA+ID4gPiAxNiBjb3Jlcy9ub2RlIChTTVQ9NCkuICBBcHBsaWVkIGFsbCAzIHBh dGNoZXMgaW4gdjUsIHRlc3QgcmVzdWx0cw0KPiA+ID4gPiBhcmUgYXMNCj4gPiA+ID4gZm9sbG93 czoNCj4gPiA+ID4NCj4gPiA+ID4gUlRFPj5yaW5nX3BlcmZfZWxlbV9hdXRvdGVzdA0KPiA+ID4g PiAjIyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBhbmQgYnVyc3QgZW5xL2RlcSAjIyMgU1AvU0Mg c2luZ2xlDQo+IGVucS9kZXF1ZXVlOg0KPiA+ID4gPiA0MiBNUC9NQyBzaW5nbGUgZW5xL2RlcXVl dWU6IDU5IFNQL1NDIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4KToNCj4gPiA+ID4gNSBNUC9N QyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDcgU1AvU0MgYnVyc3QgZW5xL2RlcXVldWUN Cj4gPiA+ID4gKHNpemU6IDMyKTogMiBNUC9NQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIp OiAyDQo+ID4gPiA+DQo+ID4gPiA+ICMjIyBUZXN0aW5nIGVtcHR5IGRlcXVldWUgIyMjDQo+ID4g PiA+IFNDIGVtcHR5IGRlcXVldWU6IDcuODENCj4gPiA+ID4gTUMgZW1wdHkgZGVxdWV1ZTogNy44 MQ0KPiA+ID4gPg0KPiA+ID4gPiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMg U1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZToNCj4gPiA+ID4gOCk6IDUuNzYgTVAvTUMgYnVs ayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDcuNjYgU1AvU0MgYnVsaw0KPiA+ID4gPiBlbnEvZGVx dWV1ZSAoc2l6ZTogMzIpOiAyLjEwIE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKToN Cj4gPiA+ID4gMi41Nw0KPiA+ID4gPg0KPiA+ID4gPiAjIyMgVGVzdGluZyB1c2luZyB0d28gaHlw ZXJ0aHJlYWRzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlDQo+ID4gPiA+IChzaXplOiA4KTog MTMuMTMgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEzLjk4IFNQL1NDDQo+ID4g PiA+IGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMy40MSBNUC9NQyBidWxrIGVucS9kZXF1 ZXVlIChzaXplOg0KPiA+ID4gPiAzMik6IDQuNDUNCj4gPiA+ID4NCj4gPiA+ID4gIyMjIFRlc3Rp bmcgdXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChz aXplOg0KPiA4KToNCj4gPiA+ID4gMTEuMDAgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTog OCk6IDEwLjk1IFNQL1NDIGJ1bGsNCj4gPiA+ID4gZW5xL2RlcXVldWUNCj4gPiA+ID4gKHNpemU6 IDMyKTogMy4wOCBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDMuNDANCj4gPiA+ ID4NCj4gPiA+ID4gIyMjIFRlc3RpbmcgdXNpbmcgdHdvIE5VTUEgbm9kZXMgIyMjIFNQL1NDIGJ1 bGsgZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gPiA+IDgpOiA2My40MSBNUC9NQyBidWxrIGVucS9k ZXF1ZXVlIChzaXplOiA4KTogNjIuNzAgU1AvU0MgYnVsaw0KPiA+ID4gPiBlbnEvZGVxdWV1ZSAo c2l6ZTogMzIpOiAxNS4zOSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOg0KPiA+ID4gPiAz Mik6IDIyLjk2DQo+ID4gPiA+DQo+ID4gPiBUaGFua3MgZm9yIHJ1bm5pbmcgdGhpcy4gVGhlcmUg aXMgYW5vdGhlciB0ZXN0ICdyaW5nX3BlcmZfYXV0b3Rlc3QnDQo+ID4gPiB3aGljaCBwcm92aWRl cyB0aGUgbnVtYmVycyB3aXRoIHRoZSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbi4gVGhlDQo+ID4g PiBnb2FsDQo+ID4gaXMgdG8gbWFrZSBzdXJlIHRoZSBudW1iZXJzIHdpdGggdGhlIG9yaWdpbmFs IGltcGxlbWVudGF0aW9uIGFyZSB0aGUgc2FtZQ0KPiBhcyB0aGVzZS4gQ2FuIHlvdSBwbGVhc2Ug cnVuIHRoYXQgYXMgd2VsbD8NCj4gPg0KPiA+IEhvbm5hcHBhLA0KPiA+DQo+ID4gWW91ciBlYXJs aWVyIHBlcmYgcmVwb3J0IHNob3dzIHRoZSBjeWNsZXMgYXJlIGluIGxlc3MgdGhhbiAxLiBUaGF0 J3MNCj4gPiBpcyBkdWUgdG8gaXQgaXMgdXNpbmcgNTAgb3IgMTAwTUh6IGNsb2NrIGluIEVMMC4N Cj4gPiBQbGVhc2UgY2hlY2sgd2l0aCBQTVUgY291bnRlci4gU2VlICJBUk02NCBwcm9maWxpbmci IGluDQo+ID4NCj4gPiBodHRwOi8vZG9jLmRwZGsub3JnL2d1aWRlcy9wcm9nX2d1aWRlL3Byb2Zp bGVfYXBwLmh0bWwNCj4gPg0KPiA+DQo+ID4gSGVyZSBpcyB0aGUgb2N0ZW9udHgyIHZhbHVlcy4g VGhlcmUgaXMgYSByZWdyZXNzaW9uIGluIHR3byBjb3JlIGNhc2VzDQo+ID4gYXMgeW91IHJlcG9y dGVkIGVhcmxpZXIgaW4geDg2Lg0KPiA+DQo+ID4NCj4gPiBSVEU+PnJpbmdfcGVyZl9hdXRvdGVz dA0KPiA+ICMjIyBUZXN0aW5nIHNpbmdsZSBlbGVtZW50IGFuZCBidXJzdCBlbnEvZGVxICMjIyBT UC9TQyBzaW5nbGUNCj4gPiBlbnEvZGVxdWV1ZTogMjg4IE1QL01DIHNpbmdsZSBlbnEvZGVxdWV1 ZTogNDUyIFNQL1NDIGJ1cnN0DQo+IGVucS9kZXF1ZXVlDQo+ID4gKHNpemU6IDgpOiAzOSBNUC9N QyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDYxIFNQL1NDIGJ1cnN0DQo+ID4gZW5xL2Rl cXVldWUgKHNpemU6IDMyKTogMTMgTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDMyKTog MjENCj4gPg0KPiA+ICMjIyBUZXN0aW5nIGVtcHR5IGRlcXVldWUgIyMjDQo+ID4gU0MgZW1wdHkg ZGVxdWV1ZTogNi4zMw0KPiA+IE1DIGVtcHR5IGRlcXVldWU6IDYuNjcNCj4gPg0KPiA+ICMjIyBU ZXN0aW5nIHVzaW5nIGEgc2luZ2xlIGxjb3JlICMjIw0KPiA+IFNQL1NDIGJ1bGsgZW5xL2RlcXVl dWUgKHNpemU6IDgpOiAzOC4zNSBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOg0KPiA+IDgp OiA2Ny4zNiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEzLjEwIE1QL01DIGJ1 bGsNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMS42NA0KPiA+DQo+ID4gIyMjIFRlc3Rp bmcgdXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVzICMjIyBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChz aXplOg0KPiA+IDgpOiA3NS45NCBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMTA3 LjY2IFNQL1NDIGJ1bGsNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyNC41MSBNUC9NQyBi dWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDMzLjIzDQo+ID4gVGVzdCBPSw0KPiA+IFJURT4+ DQo+ID4NCj4gPiAtLS0tIGFmdGVyIGFwcGx5aW5nIHY1IG9mIHRoZSBwYXRjaCAtLS0tLS0NCj4g Pg0KPiA+IFJURT4+cmluZ19wZXJmX2F1dG90ZXN0DQo+ID4gIyMjIFRlc3Rpbmcgc2luZ2xlIGVs ZW1lbnQgYW5kIGJ1cnN0IGVucS9kZXEgIyMjIFNQL1NDIHNpbmdsZQ0KPiA+IGVucS9kZXF1ZXVl OiAyODkgTVAvTUMgc2luZ2xlIGVucS9kZXF1ZXVlOiA0NTIgU1AvU0MgYnVyc3QNCj4gZW5xL2Rl cXVldWUNCj4gPiAoc2l6ZTogOCk6IDQwIE1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4 KTogNjQgU1AvU0MgYnVyc3QNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxMyBNUC9NQyBi dXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyMg0KPiA+DQo+ID4gIyMjIFRlc3RpbmcgZW1w dHkgZGVxdWV1ZSAjIyMNCj4gPiBTQyBlbXB0eSBkZXF1ZXVlOiA2LjMzDQo+ID4gTUMgZW1wdHkg ZGVxdWV1ZTogNi42Nw0KPiA+DQo+ID4gIyMjIFRlc3RpbmcgdXNpbmcgYSBzaW5nbGUgbGNvcmUg IyMjDQo+ID4gU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDM5LjczIE1QL01DIGJ1 bGsgZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gOCk6IDY5LjEzIFNQL1NDIGJ1bGsgZW5xL2RlcXVl dWUgKHNpemU6IDMyKTogMTMuNDQgTVAvTUMgYnVsaw0KPiA+IGVucS9kZXF1ZXVlIChzaXplOiAz Mik6IDIyLjAwDQo+ID4NCj4gPiAjIyMgVGVzdGluZyB1c2luZyB0d28gcGh5c2ljYWwgY29yZXMg IyMjIFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6DQo+ID4gOCk6IDc2LjAyIE1QL01DIGJ1 bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxMTIuNTAgU1AvU0MgYnVsaw0KPiA+IGVucS9kZXF1 ZXVlIChzaXplOiAzMik6IDI0LjcxIE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTog MzMuMzQNCj4gPiBUZXN0IE9LDQo+ID4gUlRFPj4NCj4gPg0KPiA+IFJURT4+cmluZ19wZXJmX2Vs ZW1fYXV0b3Rlc3QNCj4gPiAjIyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBhbmQgYnVyc3QgZW5x L2RlcSAjIyMgU1AvU0Mgc2luZ2xlDQo+ID4gZW5xL2RlcXVldWU6IDI5MCBNUC9NQyBzaW5nbGUg ZW5xL2RlcXVldWU6IDUwMyBTUC9TQyBidXJzdA0KPiBlbnEvZGVxdWV1ZQ0KPiA+IChzaXplOiA4 KTogMzkgTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDgpOiA2MyBTUC9TQyBidXJzdA0K PiA+IGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDExIE1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChz aXplOiAzMik6IDE5DQo+ID4NCj4gPiAjIyMgVGVzdGluZyBlbXB0eSBkZXF1ZXVlICMjIw0KPiA+ IFNDIGVtcHR5IGRlcXVldWU6IDYuMzMNCj4gPiBNQyBlbXB0eSBkZXF1ZXVlOiA2LjY3DQo+ID4N Cj4gPiAjIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBsY29yZSAjIyMNCj4gPiBTUC9TQyBidWxr IGVucS9kZXF1ZXVlIChzaXplOiA4KTogMzguOTIgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6 ZToNCj4gPiA4KTogNjIuNTQgU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxMS40 NiBNUC9NQyBidWxrDQo+ID4gZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMTkuODkNCj4gPg0KPiA+ ICMjIyBUZXN0aW5nIHVzaW5nIHR3byBwaHlzaWNhbCBjb3JlcyAjIyMgU1AvU0MgYnVsayBlbnEv ZGVxdWV1ZSAoc2l6ZToNCj4gPiA4KTogODcuNTUgTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6 ZTogOCk6IDk5LjEwIFNQL1NDIGJ1bGsNCj4gPiBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAyNi42 MyBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDI5LjkxDQo+ID4gVGVzdCBPSw0K PiA+IFJURT4+DQo+ID4NCj4gDQo+IEFzIEkgY2FuIHNlZSwgdGhlcmUgaXMgY29weSZwYXN0ZSBi dWcgaW4gcGF0Y2ggIzMgKHRoYXQncyB3aHkgaXQgcHJvYmFibHkNCj4gcHJvZHVjZWQgc29tZSB3 ZWlyZCBudW1iZXJzIGZvciBtZSBmaXJzdCkuDQo+IEFmdGVyIGZpeCBhcHBsaWVkIChzZWUgcGF0 Y2ggYmVsb3cpLCB0aGluZ3MgbG9vayBwcmV0dHkgZ29vZCBvbiBteSBib3guDQo+IEFzIEkgY2Fu IHNlZSB0aGVyZSBhcmUgb25seSAzIHJlc3VsdHMgbm90aWNhYmx5IGxvd2VyOg0KPiAgICBTUC9T QyAoc2l6ZT04KSBvdmVyIDIgcGh5c2ljYWwgY29yZXMgc2FtZSBudW1hIHNvY2tldA0KPiAgICBN UC9NQyAoc2l6ZT04KSBvdmVyIDIgcGh5c2ljYWwgY29yZXMgb24gZGlmZmVyZW50IG51bWEgc29j a2V0cy4NCj4gQWxsIG90aGVycyBzZWVtcyBhYm91dCBzYW1lIG9yIGJldHRlci4NCj4gQW55d2F5 IEkgd2VudCBhaGVhZCBhbmQgcmV3b3JrZWQgY29kZSBhIGJpdCAoYXMgSSBzdWdnZXN0ZWQgYmVm b3JlKSB0byBnZXQNCj4gcmlkIG9mIHRoZXNlIGh1Z2UgRU5RVUVVRS9ERVFVRVVFIG1hY3Jvcy4N Cj4gUmVzdWx0cyBhcmUgdmVyeSBjbG9zZSB0byBmaXhlZCBwYXRjaCAjMyB2ZXJzaW9uIChwYXRj aCBpcyBhbHNvIGF0dGFjaGVkKS4NCj4gVGhvdWdoIEkgc3VnZ2VzdCBwZW9wbGUgaG9sZCBvbiB0 byByZS1ydW4gcGVyZiB0ZXN0cyB0aWxsIHdlJ2xsIG1ha2UgcmluZw0KPiBmdW5jdGlvbmFsIHRl c3QgdG8gcnVuIGZvciBfZWxlbV8gZnVuY3Rpb25zIHRvby4NCj4gSSBzdGFydGVkIHRvIHdvcmsg b24gdGhhdCwgYnV0IG5vdCBzdXJlIEknbGwgZmluaXNoIHRvZGF5IChtb3N0IGxpa2VseSBNb25k YXkpLg0KSSBoYXZlIHNlbnQgVjYuIFRoaXMgaGFzIHRoZSB0ZXN0IGNhc2VzIGFkZGVkIGZvciAn cnRlX3JpbmdfeHh4X2VsZW0nIEFQSXMuIEFsbCBpc3N1ZXMgYXJlIGZpeGVkIGluIGJvdGggdGhl IG1ldGhvZHMgb2YgY29weSwgbW9yZSBpbmZvIGJlbG93LiBJIHdpbGwgcG9zdCB0aGUgcGVyZm9y bWFuY2UgaW5mbyBzb29uLg0KDQo+IFBlcmYgcmVzdWx0cyBmcm9tIG15IGJveCwgcGx1cyBwYXRj aGVzIGJlbG93Lg0KPiBLb25zdGFudGluDQo+IA0KPiBwZXJmIHJlc3VsdHMNCj4gPT09PT09PT09 PQ0KPiANCj4gSW50ZWwoUikgWGVvbihSKSBQbGF0aW51bSA4MTYwIENQVSBAIDIuMTBHSHoNCj4g DQo+IEEgLSByaW5nX3BlcmZfYXV0b3Rlc3QNCj4gQiAtIHJpbmdfcGVyZl9lbGVtX2F1dG90ZXN0 ICsgcGF0Y2ggIzMgKyBmaXggQyAtIEIgKyB1cGRhdGUNCj4gDQo+ICMjIyBUZXN0aW5nIHVzaW5n IGEgc2luZ2xlIGxjb3JlICMjIwlBCUIJQw0KPiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl OiA4KTogCTQuMDYJMy4wNgkzLjIyDQo+IE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgp OiAJMTAuMDUJOS4wNAk5LjM4DQo+IFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTog CTIuOTMJMS45MQkxLjg0DQo+IE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogCTQu MTIJMy4zOQkzLjM1DQo+IA0KPiAjIyMgVGVzdGluZyB1c2luZyB0d28gaHlwZXJ0aHJlYWRzICMj Iw0KPiBTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogCTkuMjQJOC45Mgk4Ljg5DQo+ IE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAJMTUuNDcJMTUuMzkJMTYuMDINCj4g U1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJNS43OAkzLjg3CTMuODYNCj4gTVAv TUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAJNi40MQk0LjU3CTQuNDUNCj4gDQo+ICMj IyBUZXN0aW5nIHVzaW5nIHR3byBwaHlzaWNhbCBjb3JlcyAjIyMNCj4gU1AvU0MgYnVsayBlbnEv ZGVxdWV1ZSAoc2l6ZTogOCk6IAkyNC4xNAkyOS44OQkyNy4wNQ0KPiBNUC9NQyBidWxrIGVucS9k ZXF1ZXVlIChzaXplOiA4KTogCTY4LjYxCTcwLjU1CTY5Ljg1DQo+IFNQL1NDIGJ1bGsgZW5xL2Rl cXVldWUgKHNpemU6IDMyKTogCTEyLjExCTEyLjk5CTEzLjA0DQo+IE1QL01DIGJ1bGsgZW5xL2Rl cXVldWUgKHNpemU6IDMyKTogCTIyLjE0CTE3Ljg2CTE4LjI1DQo+IA0KPiAjIyMgVGVzdGluZyB1 c2luZyB0d28gTlVNQSBub2RlcyAjIyMNCj4gU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTog OCk6IAk0OC43OAkzMS45OAkzMy41Nw0KPiBNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4 KTogCTE2Ny41MwkxOTcuMjkJMTkyLjEzDQo+IFNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6 IDMyKTogCTMxLjI4CTIxLjY4CTIxLjYxDQo+IE1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6 IDMyKTogCTUzLjQ1CTQ5Ljk0CTQ4LjgxDQo+IA0KPiBmaXggcGF0Y2gNCj4gPT09PT09PQ0KPiAN Cj4gRnJvbSBhMmJlNWE5YjEzNjMzM2E1NmQ0NjZlZjA0MmM2NTVlNTIyY2E3MDEyIE1vbiBTZXAg MTcgMDA6MDA6MDANCj4gMjAwMQ0KPiBGcm9tOiBLb25zdGFudGluIEFuYW55ZXYgPGtvbnN0YW50 aW4uYW5hbnlldkBpbnRlbC5jb20+DQo+IERhdGU6IEZyaSwgMTggT2N0IDIwMTkgMTU6NTA6NDMg KzAxMDANCj4gU3ViamVjdDogW1BBVENIXSBmaXgxDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBLb25z dGFudGluIEFuYW55ZXYgPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+DQo+IC0tLQ0KPiAg bGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2VsZW0uaCB8IDQgKystLQ0KPiAgMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9s aWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oIGIvbGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5n X2VsZW0uaA0KPiBpbmRleCA5MmU5MmYxNTAuLjVlMTgxOTA2OSAxMDA2NDQNCj4gLS0tIGEvbGli L2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2VsZW0uaA0KPiArKysgYi9saWIvbGlicnRlX3JpbmcvcnRl X3JpbmdfZWxlbS5oDQo+IEBAIC0xMTgsNyArMTE4LDcgQEAgc3RydWN0IHJ0ZV9yaW5nICpydGVf cmluZ19jcmVhdGVfZWxlbShjb25zdCBjaGFyDQo+ICpuYW1lLCB1bnNpZ25lZCBjb3VudCwNCj4g ICAgICAgICB1aW50MzJfdCBzeiA9IG4gKiAoZXNpemUgLyBzaXplb2YodWludDMyX3QpKTsgXA0K PiAgICAgICAgIGlmIChsaWtlbHkoaWR4ICsgbiA8IHNpemUpKSB7IFwNCj4gICAgICAgICAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCAoc3ogJiAoKH4odW5zaWduZWQpMHg3KSkpOyBpICs9IDgsIGlk eCArPSA4KSB7IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgbWVtY3B5IChyaW5nICsgaSwg b2JqICsgaSwgOCAqIHNpemVvZiAodWludDMyX3QpKTsgXA0KPiArICAgICAgICAgICAgICAgICAg ICAgICBtZW1jcHkgKHJpbmcgKyBpZHgsIG9iaiArIGksIDggKiBzaXplb2YNCj4gKyAodWludDMy X3QpKTsgXA0KPiAgICAgICAgICAgICAgICAgfSBcDQo+ICAgICAgICAgICAgICAgICBzd2l0Y2gg KG4gJiAweDcpIHsgXA0KPiAgICAgICAgICAgICAgICAgY2FzZSA3OiBcDQo+IEBAIC0xNTMsNyAr MTUzLDcgQEAgc3RydWN0IHJ0ZV9yaW5nICpydGVfcmluZ19jcmVhdGVfZWxlbShjb25zdCBjaGFy DQo+ICpuYW1lLCB1bnNpZ25lZCBjb3VudCwNCj4gICAgICAgICB1aW50MzJfdCBzeiA9IG4gKiAo ZXNpemUgLyBzaXplb2YodWludDMyX3QpKTsgXA0KPiAgICAgICAgIGlmIChsaWtlbHkoaWR4ICsg biA8IHNpemUpKSB7IFwNCj4gICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAoc3ogJiAo KH4odW5zaWduZWQpMHg3KSkpOyBpICs9IDgsIGlkeCArPSA4KSB7IFwNCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgbWVtY3B5IChvYmogKyBpLCByaW5nICsgaSwgOCAqIHNpemVvZiAodWludDMy X3QpKTsgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICBtZW1jcHkgKG9iaiArIGksIHJpbmcg KyBpZHgsIDggKiBzaXplb2YNCkFjdHVhbGx5LCB0aGlzIGZpeCBhbG9uZSBpcyBub3QgZW5vdWdo LiAnaWR4JyBuZWVkcyB0byBiZSBub3JtYWxpemVkIHRvIGVsZW1lbnRzIG9mIHR5cGUgJ3VpbnQz Ml90Jy4NCg0KPiArICh1aW50MzJfdCkpOyBcDQo+ICAgICAgICAgICAgICAgICB9IFwNCj4gICAg ICAgICAgICAgICAgIHN3aXRjaCAobiAmIDB4NykgeyBcDQo+ICAgICAgICAgICAgICAgICBjYXNl IDc6IFwNCj4gLS0NCj4gMi4xNy4xDQo+IA0KPiB1cGRhdGUgcGF0Y2ggKHJlbW92ZSBtYWNyb3Mp DQo+ID09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gDQo+IEZyb20gMThiMzg4ZTg3N2I5N2Uy NDNmODA3ZjI3YTMyM2U4NzZiMzA4NjlkZCBNb24gU2VwIDE3IDAwOjAwOjAwDQo+IDIwMDENCj4g RnJvbTogS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0K PiBEYXRlOiBGcmksIDE4IE9jdCAyMDE5IDE3OjM1OjQzICswMTAwDQo+IFN1YmplY3Q6IFtQQVRD SF0gdXBkYXRlMQ0KPiANCj4gU2lnbmVkLW9mZi1ieTogS29uc3RhbnRpbiBBbmFueWV2IDxrb25z dGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPiAtLS0NCj4gIGxpYi9saWJydGVfcmluZy9ydGVf cmluZ19lbGVtLmggfCAxNDEgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gIDEg ZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9saWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oIGIvbGliL2xpYnJ0ZV9y aW5nL3J0ZV9yaW5nX2VsZW0uaA0KPiBpbmRleCA1ZTE4MTkwNjkuLmViNzA2YjEyZiAxMDA2NDQN Cj4gLS0tIGEvbGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2VsZW0uaA0KPiArKysgYi9saWIvbGli cnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5oDQo+IEBAIC0xMDksNzUgKzEwOSw3NCBAQCBfX3J0ZV9l eHBlcmltZW50YWwgIHN0cnVjdCBydGVfcmluZw0KPiAqcnRlX3JpbmdfY3JlYXRlX2VsZW0oY29u c3QgY2hhciAqbmFtZSwgdW5zaWduZWQgY291bnQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgZXNpemUsIGludCBzb2NrZXRfaWQsIHVuc2lnbmVkIGZsYWdzKTsN Cj4gDQo+IC0jZGVmaW5lIEVOUVVFVUVfUFRSU19HRU4ociwgcmluZ19zdGFydCwgcHJvZF9oZWFk LCBvYmpfdGFibGUsIGVzaXplLCBuKQ0KPiBkbyB7IFwNCj4gLSAgICAgICB1bnNpZ25lZCBpbnQg aTsgXA0KPiAtICAgICAgIGNvbnN0IHVpbnQzMl90IHNpemUgPSAociktPnNpemU7IFwNCj4gLSAg ICAgICB1aW50MzJfdCBpZHggPSBwcm9kX2hlYWQgJiAociktPm1hc2s7IFwNCj4gLSAgICAgICB1 aW50MzJfdCAqcmluZyA9ICh1aW50MzJfdCAqKXJpbmdfc3RhcnQ7IFwNCj4gLSAgICAgICB1aW50 MzJfdCAqb2JqID0gKHVpbnQzMl90ICopb2JqX3RhYmxlOyBcDQo+IC0gICAgICAgdWludDMyX3Qg c3ogPSBuICogKGVzaXplIC8gc2l6ZW9mKHVpbnQzMl90KSk7IFwNCj4gLSAgICAgICBpZiAobGlr ZWx5KGlkeCArIG4gPCBzaXplKSkgeyBcDQo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBp IDwgKHN6ICYgKCh+KHVuc2lnbmVkKTB4NykpKTsgaSArPSA4LCBpZHggKz0gOCkgeyBcDQo+IC0g ICAgICAgICAgICAgICAgICAgICAgIG1lbWNweSAocmluZyArIGlkeCwgb2JqICsgaSwgOCAqIHNp emVvZiAodWludDMyX3QpKTsgXA0KPiAtICAgICAgICAgICAgICAgfSBcDQo+IC0gICAgICAgICAg ICAgICBzd2l0Y2ggKG4gJiAweDcpIHsgXA0KPiAtICAgICAgICAgICAgICAgY2FzZSA3OiBcDQo+ IC0gICAgICAgICAgICAgICAgICAgICAgIHJpbmdbaWR4KytdID0gb2JqW2krK107IC8qIGZhbGx0 aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIGNhc2UgNjogXA0KPiAtICAgICAgICAgICAg ICAgICAgICAgICByaW5nW2lkeCsrXSA9IG9ialtpKytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+ IC0gICAgICAgICAgICAgICBjYXNlIDU6IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmlu Z1tpZHgrK10gPSBvYmpbaSsrXTsgLyogZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAg ICAgY2FzZSA0OiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHJpbmdbaWR4KytdID0gb2Jq W2krK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIGNhc2UgMzogXA0K PiAtICAgICAgICAgICAgICAgICAgICAgICByaW5nW2lkeCsrXSA9IG9ialtpKytdOyAvKiBmYWxs dGhyb3VnaCAqLyBcDQo+IC0gICAgICAgICAgICAgICBjYXNlIDI6IFwNCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgcmluZ1tpZHgrK10gPSBvYmpbaSsrXTsgLyogZmFsbHRocm91Z2ggKi8gXA0K PiAtICAgICAgICAgICAgICAgY2FzZSAxOiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHJp bmdbaWR4KytdID0gb2JqW2krK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAg ICAgIH0gXA0KPiAtICAgICAgIH0gZWxzZSB7IFwNCj4gLSAgICAgICAgICAgICAgIGZvciAoaSA9 IDA7IGlkeCA8IHNpemU7IGkrKywgaWR4KyspXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBy aW5nW2lkeF0gPSBvYmpbaV07IFwNCj4gLSAgICAgICAgICAgICAgIGZvciAoaWR4ID0gMDsgaSA8 IG47IGkrKywgaWR4KyspIFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmluZ1tpZHhdID0g b2JqW2ldOyBcDQo+IC0gICAgICAgfSBcDQo+IC19IHdoaWxlICgwKQ0KPiAtDQo+IC0jZGVmaW5l IERFUVVFVUVfUFRSU19HRU4ociwgcmluZ19zdGFydCwgY29uc19oZWFkLCBvYmpfdGFibGUsIGVz aXplLCBuKQ0KPiBkbyB7IFwNCj4gLSAgICAgICB1bnNpZ25lZCBpbnQgaTsgXA0KPiAtICAgICAg IHVpbnQzMl90IGlkeCA9IGNvbnNfaGVhZCAmIChyKS0+bWFzazsgXA0KPiAtICAgICAgIGNvbnN0 IHVpbnQzMl90IHNpemUgPSAociktPnNpemU7IFwNCj4gLSAgICAgICB1aW50MzJfdCAqcmluZyA9 ICh1aW50MzJfdCAqKXJpbmdfc3RhcnQ7IFwNCj4gLSAgICAgICB1aW50MzJfdCAqb2JqID0gKHVp bnQzMl90ICopb2JqX3RhYmxlOyBcDQo+IC0gICAgICAgdWludDMyX3Qgc3ogPSBuICogKGVzaXpl IC8gc2l6ZW9mKHVpbnQzMl90KSk7IFwNCj4gLSAgICAgICBpZiAobGlrZWx5KGlkeCArIG4gPCBz aXplKSkgeyBcDQo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgKHN6ICYgKCh+KHVu c2lnbmVkKTB4NykpKTsgaSArPSA4LCBpZHggKz0gOCkgeyBcDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgIG1lbWNweSAob2JqICsgaSwgcmluZyArIGlkeCwgOCAqIHNpemVvZiAodWludDMyX3Qp KTsgXA0KPiAtICAgICAgICAgICAgICAgfSBcDQo+IC0gICAgICAgICAgICAgICBzd2l0Y2ggKG4g JiAweDcpIHsgXA0KPiAtICAgICAgICAgICAgICAgY2FzZSA3OiBcDQo+IC0gICAgICAgICAgICAg ICAgICAgICAgIG9ialtpKytdID0gcmluZ1tpZHgrK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4g LSAgICAgICAgICAgICAgIGNhc2UgNjogXA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBvYmpb aSsrXSA9IHJpbmdbaWR4KytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+IC0gICAgICAgICAgICAg ICBjYXNlIDU6IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgb2JqW2krK10gPSByaW5nW2lk eCsrXTsgLyogZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAgICAgY2FzZSA0OiBcDQo+ IC0gICAgICAgICAgICAgICAgICAgICAgIG9ialtpKytdID0gcmluZ1tpZHgrK107IC8qIGZhbGx0 aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIGNhc2UgMzogXA0KPiAtICAgICAgICAgICAg ICAgICAgICAgICBvYmpbaSsrXSA9IHJpbmdbaWR4KytdOyAvKiBmYWxsdGhyb3VnaCAqLyBcDQo+ IC0gICAgICAgICAgICAgICBjYXNlIDI6IFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgb2Jq W2krK10gPSByaW5nW2lkeCsrXTsgLyogZmFsbHRocm91Z2ggKi8gXA0KPiAtICAgICAgICAgICAg ICAgY2FzZSAxOiBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIG9ialtpKytdID0gcmluZ1tp ZHgrK107IC8qIGZhbGx0aHJvdWdoICovIFwNCj4gLSAgICAgICAgICAgICAgIH0gXA0KPiAtICAg ICAgIH0gZWxzZSB7IFwNCj4gLSAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGlkeCA8IHNpemU7 IGkrKywgaWR4KyspIFwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgb2JqW2ldID0gcmluZ1tp ZHhdOyBcDQo+IC0gICAgICAgICAgICAgICBmb3IgKGlkeCA9IDA7IGkgPCBuOyBpKyssIGlkeCsr KSBcDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIG9ialtpXSA9IHJpbmdbaWR4XTsgXA0KPiAt ICAgICAgIH0gXA0KPiAtfSB3aGlsZSAoMCkNCj4gK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5l IHZvaWQNCj4gK2NvcHlfZWxlbXModWludDMyX3QgZHUzMltdLCBjb25zdCB1aW50MzJfdCBzdTMy W10sIHVpbnQzMl90IG51bSwNCj4gK3VpbnQzMl90IGVzaXplKSB7DQo+ICsgICAgICAgdWludDMy X3QgaSwgc3o7DQo+ICsNCj4gKyAgICAgICBzeiA9IChudW0gKiBlc2l6ZSkgLyBzaXplb2YodWlu dDMyX3QpOw0KPiArDQo+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IChzeiAmIH43KTsgaSArPSA4 KQ0KPiArICAgICAgICAgICAgICAgbWVtY3B5KGR1MzIgKyBpLCBzdTMyICsgaSwgOCAqIHNpemVv Zih1aW50MzJfdCkpOw0KPiArDQo+ICsgICAgICAgc3dpdGNoIChzeiAmIDcpIHsNCj4gKyAgICAg ICBjYXNlIDc6IGR1MzJbc3ogLSA3XSA9IHN1MzJbc3ogLSA3XTsgLyogZmFsbHRocm91Z2ggKi8N Cj4gKyAgICAgICBjYXNlIDY6IGR1MzJbc3ogLSA2XSA9IHN1MzJbc3ogLSA2XTsgLyogZmFsbHRo cm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDU6IGR1MzJbc3ogLSA1XSA9IHN1MzJbc3ogLSA1XTsg LyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDQ6IGR1MzJbc3ogLSA0XSA9IHN1MzJb c3ogLSA0XTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDM6IGR1MzJbc3ogLSAz XSA9IHN1MzJbc3ogLSAzXTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBjYXNlIDI6IGR1 MzJbc3ogLSAyXSA9IHN1MzJbc3ogLSAyXTsgLyogZmFsbHRocm91Z2ggKi8NCj4gKyAgICAgICBj YXNlIDE6IGR1MzJbc3ogLSAxXSA9IHN1MzJbc3ogLSAxXTsgLyogZmFsbHRocm91Z2ggKi8NCj4g KyAgICAgICB9DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQN Cj4gK2VucXVldWVfZWxlbXMoc3RydWN0IHJ0ZV9yaW5nICpyLCB2b2lkICpyaW5nX3N0YXJ0LCB1 aW50MzJfdCBwcm9kX2hlYWQsDQo+ICsgICAgICAgICAgICAgICB2b2lkICpvYmpfdGFibGUsIHVp bnQzMl90IG51bSwgdWludDMyX3QgZXNpemUpIHsNCj4gKyAgICAgICB1aW50MzJfdCBpZHgsIG47 DQo+ICsgICAgICAgdWludDMyX3QgKmR1MzI7DQo+ICsgICAgICAgY29uc3QgdWludDMyX3QgKnN1 MzI7DQo+ICsNCj4gKyAgICAgICBjb25zdCB1aW50MzJfdCBzaXplID0gci0+c2l6ZTsNCj4gKw0K PiArICAgICAgIGlkeCA9IHByb2RfaGVhZCAmIChyKS0+bWFzazsNClNhbWUgaGVyZSwgJ2lkeCcg bmVlZHMgdG8gYmUgbm9ybWFsaXplZCB0byBlbGVtZW50cyBvZiB0eXBlICd1aW50MzJfdCcgYW5k IHNpbWlsYXIgZml4ZXMgb24gb3RoZXIgdmFyaWFibGVzLiBJIGhhdmUgYXBwbGllZCB5b3VyIHN1 Z2dlc3Rpb24gaW4gNi82IGluIHY2IGFsb25nIHdpdGggbXkgY29ycmVjdGlvbnMuIFRoZSBydGVf cmluZ19lbGVtIHRlc3QgY2FzZXMgYXJlIGFkZGVkIGluIDMvNi4gSSBoYXZlIHZlcmlmaWVkIHRo YXQgdGhleSBhcmUgcnVubmluZyBmaW5lICh0aGV5IGFyZSBkb25lIGZvciA2NGIgYWxvbmUsIHdp bGwgYWRkIG1vcmUpLiBIb3BlZnVsbHksIHRoZXJlIGFyZSBubyBtb3JlIGVycm9ycy4NCg0KPiAr DQo+ICsgICAgICAgZHUzMiA9ICh1aW50MzJfdCAqKXJpbmdfc3RhcnQgKyBpZHg7DQo+ICsgICAg ICAgc3UzMiA9IG9ial90YWJsZTsNCj4gKw0KPiArICAgICAgIGlmIChpZHggKyBudW0gPCBzaXpl KQ0KPiArICAgICAgICAgICAgICAgY29weV9lbGVtcyhkdTMyLCBzdTMyLCBudW0sIGVzaXplKTsN Cj4gKyAgICAgICBlbHNlIHsNCj4gKyAgICAgICAgICAgICAgIG4gPSBzaXplIC0gaWR4Ow0KPiAr ICAgICAgICAgICAgICAgY29weV9lbGVtcyhkdTMyLCBzdTMyLCBuLCBlc2l6ZSk7DQo+ICsgICAg ICAgICAgICAgICBjb3B5X2VsZW1zKHJpbmdfc3RhcnQsIHN1MzIgKyBuLCBudW0gLSBuLCBlc2l6 ZSk7DQo+ICsgICAgICAgfQ0KPiArfQ0KPiArDQo+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGlu ZSB2b2lkDQo+ICtkZXF1ZXVlX2VsZW1zKHN0cnVjdCBydGVfcmluZyAqciwgdm9pZCAqcmluZ19z dGFydCwgdWludDMyX3QgY29uc19oZWFkLA0KPiArICAgICAgICAgICAgICAgdm9pZCAqb2JqX3Rh YmxlLCB1aW50MzJfdCBudW0sIHVpbnQzMl90IGVzaXplKSB7DQo+ICsgICAgICAgdWludDMyX3Qg aWR4LCBuOw0KPiArICAgICAgIHVpbnQzMl90ICpkdTMyOw0KPiArICAgICAgIGNvbnN0IHVpbnQz Ml90ICpzdTMyOw0KPiArDQo+ICsgICAgICAgY29uc3QgdWludDMyX3Qgc2l6ZSA9IHItPnNpemU7 DQo+ICsNCj4gKyAgICAgICBpZHggPSBjb25zX2hlYWQgJiAociktPm1hc2s7DQo+ICsNCj4gKyAg ICAgICBzdTMyID0gKHVpbnQzMl90ICopcmluZ19zdGFydCArIGlkeDsNCj4gKyAgICAgICBkdTMy ID0gb2JqX3RhYmxlOw0KPiArDQo+ICsgICAgICAgaWYgKGlkeCArIG51bSA8IHNpemUpDQo+ICsg ICAgICAgICAgICAgICBjb3B5X2VsZW1zKGR1MzIsIHN1MzIsIG51bSwgZXNpemUpOw0KPiArICAg ICAgIGVsc2Ugew0KPiArICAgICAgICAgICAgICAgbiA9IHNpemUgLSBpZHg7DQo+ICsgICAgICAg ICAgICAgICBjb3B5X2VsZW1zKGR1MzIsIHN1MzIsIG4sIGVzaXplKTsNCj4gKyAgICAgICAgICAg ICAgIGNvcHlfZWxlbXMoZHUzMiArIG4sIHJpbmdfc3RhcnQsIG51bSAtIG4sIGVzaXplKTsNCj4g KyAgICAgICB9DQo+ICt9DQo+IA0KPiAgLyogQmV0d2VlbiBsb2FkIGFuZCBsb2FkLiB0aGVyZSBt aWdodCBiZSBjcHUgcmVvcmRlciBpbiB3ZWFrIG1vZGVsDQo+ICAgKiAocG93ZXJwYy9hcm0pLg0K PiBAQCAtMjMyLDcgKzIzMSw3IEBAIF9fcnRlX3JpbmdfZG9fZW5xdWV1ZV9lbGVtKHN0cnVjdCBy dGVfcmluZyAqciwgdm9pZA0KPiAqIGNvbnN0IG9ial90YWJsZSwNCj4gICAgICAgICBpZiAobiA9 PSAwKQ0KPiAgICAgICAgICAgICAgICAgZ290byBlbmQ7DQo+IA0KPiAtICAgICAgIEVOUVVFVUVf UFRSU19HRU4ociwgJnJbMV0sIHByb2RfaGVhZCwgb2JqX3RhYmxlLCBlc2l6ZSwgbik7DQo+ICsg ICAgICAgZW5xdWV1ZV9lbGVtcyhyLCAmclsxXSwgcHJvZF9oZWFkLCBvYmpfdGFibGUsIG4sIGVz aXplKTsNCj4gDQo+ICAgICAgICAgdXBkYXRlX3RhaWwoJnItPnByb2QsIHByb2RfaGVhZCwgcHJv ZF9uZXh0LCBpc19zcCwgMSk7DQo+ICBlbmQ6DQo+IEBAIC0yNzksNyArMjc4LDcgQEAgX19ydGVf cmluZ19kb19kZXF1ZXVlX2VsZW0oc3RydWN0IHJ0ZV9yaW5nICpyLCB2b2lkDQo+ICpvYmpfdGFi bGUsDQo+ICAgICAgICAgaWYgKG4gPT0gMCkNCj4gICAgICAgICAgICAgICAgIGdvdG8gZW5kOw0K PiANCj4gLSAgICAgICBERVFVRVVFX1BUUlNfR0VOKHIsICZyWzFdLCBjb25zX2hlYWQsIG9ial90 YWJsZSwgZXNpemUsIG4pOw0KPiArICAgICAgIGRlcXVldWVfZWxlbXMociwgJnJbMV0sIGNvbnNf aGVhZCwgb2JqX3RhYmxlLCBuLCBlc2l6ZSk7DQo+IA0KPiAgICAgICAgIHVwZGF0ZV90YWlsKCZy LT5jb25zLCBjb25zX2hlYWQsIGNvbnNfbmV4dCwgaXNfc2MsIDApOw0KPiANCj4gLS0NCj4gMi4x Ny4xDQo+IA0KDQo=