Received: by 10.223.176.5 with SMTP id f5csp2321425wra; Wed, 31 Jan 2018 21:49:29 -0800 (PST) X-Google-Smtp-Source: AH8x224xBz/Vvy+kzwIOHfET1PUv3UOjWoMt3ya5ETiZxY74Z3o2YApk+9M7qy3i1jGhpvZTswXw X-Received: by 2002:a17:902:28a4:: with SMTP id f33-v6mr933512plb.192.1517464168910; Wed, 31 Jan 2018 21:49:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517464168; cv=none; d=google.com; s=arc-20160816; b=GgArT97RZRvlov0CbYX0oygvWztPzozhW8sdjPJa22QyQg2Nc82oHAqX8JHofYmTcS 1UOF3CldlX6UtHQjXLIAJLS6mCCNanju5FNjagzhZnXB6txokfgrQeJUX+SjoqfL2K9C GMdxLKTbSAh8y2Tez2u2aR5mBBxCPhIkuW1rYCx0O1ZdEj7R+QSIVRXzWbt8rdg9vXD2 s4oVWdQWMIjD1vWrBlUSG6QNbRhV6iHQFwYEUEb2s9J3u8P3CPzr7g70o/VQejBTpn47 3elx8r9kaG3f5MXYAL92Micbj1ppTD8SAnB5DBNG2JvRahtnHatvnJyIDBcrDrdcWqHA +uQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=hFUvJwLrtYw5Z6unSPs/Junwq1d9C19NM+lGB8ALYxY=; b=dAB+EIcchEZ23r1ox6PcXVgcGmtE/RLmLRAntGoGnQHLX5Ane3AIEhjah9O+hvqWij M6R3T/skeZyeCAmUQK7qUblvYuFMPJb63lelhmc9h+d/teSHshUaK6Lj4CrzyX5QvPwL 8tSazP8bXu5nopmwee9j7Xn1khEpI9nWUvQf6suGRBzKk0AS78opcSgz9RyZgrjyfzNB qh+3zGNQX0ty2xsSfXDn9YdCUxkIZxmy6GadJ8l6RLmJg91RJGUTZ3trKidl+7dJsMWE L/RwryWBYa97rf36rUiW/r2HSri0YUpCltbfdU9Rx9JTxNjCAX5FoGUw0f4IxhZil13M Zk6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=0/pKfFIn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f3-v6si3375613pld.374.2018.01.31.21.49.14; Wed, 31 Jan 2018 21:49:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=0/pKfFIn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751519AbeBAFs2 (ORCPT + 99 others); Thu, 1 Feb 2018 00:48:28 -0500 Received: from mail-by2nam03on0068.outbound.protection.outlook.com ([104.47.42.68]:10816 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750936AbeBAFs0 (ORCPT ); Thu, 1 Feb 2018 00:48:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hFUvJwLrtYw5Z6unSPs/Junwq1d9C19NM+lGB8ALYxY=; b=0/pKfFInUPKlXeQAWKnupK7As8/PoMhyXqvjEOfv8+19CxqCHawtsgSpRj9Z/UxC8HIFPxfjo8xiDPhhcLdYHhNHFpPMxnVclePoQe1pAFQQXgDpN0eod1f2Fgn4hr/M/Kc6Sib/lsGXyeY54IlqOEfp2t8jh518b63mMZZrvDk= Received: from MWHPR1201MB0127.namprd12.prod.outlook.com (10.174.98.142) by MWHPR1201MB2542.namprd12.prod.outlook.com (10.172.96.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Thu, 1 Feb 2018 05:48:24 +0000 Received: from MWHPR1201MB0127.namprd12.prod.outlook.com ([10.174.98.142]) by MWHPR1201MB0127.namprd12.prod.outlook.com ([10.174.98.142]) with mapi id 15.20.0444.016; Thu, 1 Feb 2018 05:48:23 +0000 From: "He, Roger" To: "Koenig, Christian" , "Zhou, David(ChunMing)" , "dri-devel@lists.freedesktop.org" CC: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] mm/swap: add function get_total_swap_pages to expose total_swap_pages Thread-Topic: [PATCH] mm/swap: add function get_total_swap_pages to expose total_swap_pages Thread-Index: AQHTmNtYoBUw/9kRPkGbswRNbnupYaONlMmAgAANf7CAAAKaAIABYvbA Date: Thu, 1 Feb 2018 05:48:23 +0000 Message-ID: References: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> <9ecba5f4-3d4c-0179-bf03-f89c436cff6b@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Hongbo.He@amd.com; x-originating-ip: [116.228.147.241] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MWHPR1201MB2542;7:f47fvKUaz0k4+bdQkWctCgx6HggtMJXmQbFZEgzV7z3LRXMnoeUgj29GteTl/m5k+nMAF+y+Y1TmB9uW/tzmqH31MpCc7s6xH1olt/+9g+ZEGIBuk/L/FPvnHI5GppiHUMRoJjBTH/kylRRJdXJEDY711lURsMoron3DUqFb9IRQ/ucmd2eiShVWmzDaqXVfl2KE2LBa+I377RQBDLruN+u0QimlXtBdXIVU7cNTTouvcv++B6wpr/JIPwzgq42i;20:BunPMzLDk6uSIIrEvNMQ0XZZBTHOw2fb8iBu4gwhEf3YI4QtHJKUPAHECmSangsUbrqeOqi2E98ijNjKLcek9QKUTiw9BTUUrHjVlGBVk3b5bkbuWeVnvJHXRWkIqOGoqERU4T1u6Z2QVQsf+gbGur9MDas2SEpJZY8bmeEvq+8Hwv93CZruK6x23FxG5s7jqS17BmHxGnVP+7zUILAdaRtUdWmuR5U4o7R77ln6cKBw4SPl91bZ7Ec0w40er2W0 x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI;SCL:-1;SFV:NSPM;SFS:(10009020)(396003)(346002)(39860400002)(366004)(39380400002)(376002)(13464003)(189003)(199004)(14454004)(6306002)(55016002)(76176011)(97736004)(478600001)(77096007)(8936002)(7736002)(2900100001)(305945005)(9686003)(2950100002)(68736007)(72206003)(6246003)(93886005)(99286004)(86362001)(26005)(5660300001)(6506007)(53546011)(7696005)(81156014)(2501003)(229853002)(33656002)(81166006)(102836004)(8676002)(110136005)(4326008)(25786009)(105586002)(53936002)(106356001)(59450400001)(2906002)(3660700001)(6436002)(966005)(6116002)(316002)(66066001)(74316002)(54906003)(3846002)(3280700002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR1201MB2542;H:MWHPR1201MB0127.namprd12.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 308df612-0126-4208-c51a-08d569376828 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020);SRVR:MWHPR1201MB2542; x-ms-traffictypediagnostic: MWHPR1201MB2542: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(767451399110)(217544274631240); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231101)(2400082)(944501161)(6055026)(6041288)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011);SRVR:MWHPR1201MB2542;BCL:0;PCL:0;RULEID:;SRVR:MWHPR1201MB2542; x-forefront-prvs: 0570F1F193 received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 5XIVZLVfUIRkFkv3igprRIAyyiINUlqdfYv7/C6T6ttVK8UsfvbHTisveidwVbU5PEcAnt52Yfvdi1aEymcUKg== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 308df612-0126-4208-c51a-08d569376828 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2018 05:48:23.1913 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB2542 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CUJ1dCB3aGF0IHdlIGNvdWxkIGRvIGlzIHRvIHJlbHkgb24gYSBmaXhlZCBsaW1pdCBsaWtlIHRo ZSBJbnRlbCBkcml2ZXIgZG9lcyBhbmQgSSBzdWdnZXN0ZWQgYmVmb3JlLg0KCUUuZy4gZG9uJ3Qg Y29weSBhbnl0aGluZyBpbnRvIGEgc2htZW1maWxlIHdoZW4gdGhlcmUgaXMgb25seSB4IE1CIG9m IHN3YXAgc3BhY2UgbGVmdC4NCg0KSGVyZSBJIHRoaW5rIHdlIGNhbiBkbyBpdCBmdXJ0aGVyLCBs ZXQgdGhlIGxpbWl0IHZhbHVlIHNjYWxpbmcgd2l0aCB0b3RhbCBzeXN0ZW0gbWVtb3J5Lg0KRm9y IGV4YW1wbGU6IHRvdGFsIHN5c3RlbSBtZW1vcnkgKiAxLzIuIA0KSWYgdGhhdCBpdCB3aWxsIG1h dGNoIHRoZSBwbGF0Zm9ybSBjb25maWd1cmF0aW9uIGJldHRlci4gDQoNCglSb2dlciBjYW4geW91 IHRlc3QgdGhhdCBhcHByb2FjaCBvbmNlIG1vcmUgd2l0aCB5b3VyIGZpeCBmb3IgdGhlIE9PTSBp c3N1ZXMgaW4gdGhlIHBhZ2UgZmF1bHQgaGFuZGxlcj8NCg0KU3VyZS4gVXNlIHRoZSBsaW1pdCBh cyB0b3RhbCByYW0qMS8yIHNlZW1zIHdvcmsgdmVyeSB3ZWxsLiANCk5vIE9PTSBhbHRob3VnaCBz d2FwIGRpc2sgcmVhY2hlcyBmdWxsIGF0IHBlYWsgZm9yIHBpZ2xpdCB0ZXN0Lg0KSSBzcGVjdWxh dGUgdGhpcyBjYXNlIGhhcHBlbnMgYnV0IG5vIE9PTSBiZWNhdXNlOg0KDQphLiBydW4gYSB3aGls ZSwgc3dhcCBkaXNrIGJlIHVzZWQgY2xvc2UgdG8gMS8yKiB0b3RhbCBzaXplIGFuZCBidXQgbm90 IG92ZXIgMS8yICogdG90YWwuDQpiLiBhbGwgc3Vic2VxdWVudCBzd2FwcGVkIHBhZ2VzIHN0YXkg aW4gc3lzdGVtIG1lbW9yeSB1bnRpbCBubyBzcGFjZSB0aGVyZS4NCiAgICAgVGhlbiB0aGUgc3dh cHBlZCBwYWdlcyBpbiBzaG1lbSBiZSBmbHVzaGVkIGludG8gc3dhcCBkaXNrLiBBbmQgcHJvYmFi bHkgT1MgYWxzbyBuZWVkIHNvbWUgc3dhcCBzcGFjZS4NCiAgICAgRm9yIHRoaXMgY2FzZSwgaXQg aXMgZWFzeSB0byBnZXQgZnVsbCBmb3Igc3dhcCBkaXNrLg0KYy4gYnV0IGJlY2F1c2Ugbm93IGZy ZWUgc3dhcCBzaXplIDwgMS8yICogdG90YWwsIHNvIG5vIHN3YXAgb3V0IGhhcHBlbiAgYWZ0ZXIg dGhhdC4gDQogICAgQW5kIGF0IGxlYXN0IDEvNCogc3lzdGVtIG1lbW9yeSB3aWxsIGxlZnQgYmVj YXVzZSBiZWxvdyBjaGVjayBpbiB0dG1fbWVtX2dsb2JhbF9yZXNlcnZlIHdpbGwgZW5zdXJlIHRo YXQuDQoJaWYgKHpvbmUtPnVzZWRfbWVtID4gbGltaXQpDQoJCQlnb3RvIG91dF91bmxvY2s7DQog ICAgDQpUaGFua3MNClJvZ2VyKEhvbmdiby5IZSkNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQpGcm9tOiBLb2VuaWcsIENocmlzdGlhbiANClNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAzMSwg MjAxOCA0OjEzIFBNDQpUbzogSGUsIFJvZ2VyIDxIb25nYm8uSGVAYW1kLmNvbT47IFpob3UsIERh dmlkKENodW5NaW5nKSA8RGF2aWQxLlpob3VAYW1kLmNvbT47IGRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcNCkNjOiBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtl cm5lbC5vcmcNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIG1tL3N3YXA6IGFkZCBmdW5jdGlvbiBnZXRf dG90YWxfc3dhcF9wYWdlcyB0byBleHBvc2UgdG90YWxfc3dhcF9wYWdlcw0KDQpZZWFoLCBpbmRl ZWQuIEJ1dCB3aGF0IHdlIGNvdWxkIGRvIGlzIHRvIHJlbHkgb24gYSBmaXhlZCBsaW1pdCBsaWtl IHRoZSBJbnRlbCBkcml2ZXIgZG9lcyBhbmQgSSBzdWdnZXN0ZWQgYmVmb3JlLg0KDQpFLmcuIGRv bid0IGNvcHkgYW55dGhpbmcgaW50byBhIHNobWVtZmlsZSB3aGVuIHRoZXJlIGlzIG9ubHkgeCBN QiBvZiBzd2FwIHNwYWNlIGxlZnQuDQoNClJvZ2VyIGNhbiB5b3UgdGVzdCB0aGF0IGFwcHJvYWNo IG9uY2UgbW9yZSB3aXRoIHlvdXIgZml4IGZvciB0aGUgT09NIGlzc3VlcyBpbiB0aGUgcGFnZSBm YXVsdCBoYW5kbGVyPw0KDQpUaGFua3MsDQpDaHJpc3RpYW4uDQoNCkFtIDMxLjAxLjIwMTggdW0g MDk6MDggc2NocmllYiBIZSwgUm9nZXI6DQo+IAlJIHRoaW5rIHRoaXMgcGF0Y2ggaXNuJ3QgbmVl ZCBhdCBhbGwuIFlvdSBjYW4gZGlyZWN0bHkgcmVhZCB0b3RhbF9zd2FwX3BhZ2VzIHZhcmlhYmxl IGluIFRUTS4NCj4NCj4gQmVjYXVzZSB0aGUgdmFyaWFibGUgaXMgbm90IGV4cG9ydGVkIGJ5IEVY UE9SVF9TWU1CT0xfR1BMLiBTbyBkaXJlY3QgdXNpbmcgd2lsbCByZXN1bHQgaW46DQo+ICJXQVJO SU5HOiAidG90YWxfc3dhcF9wYWdlcyIgW2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtLmtvXSB1bmRl ZmluZWQhIi4NCj4NCj4gVGhhbmtzDQo+IFJvZ2VyKEhvbmdiby5IZSkNCj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZHJpLWRldmVsIFttYWlsdG86ZHJpLWRldmVsLWJvdW5j ZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnXSBPbiANCj4gQmVoYWxmIE9mIENodW5taW5nIFpob3UN Cj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDMxLCAyMDE4IDM6MTUgUE0NCj4gVG86IEhlLCBS b2dlciA8SG9uZ2JvLkhlQGFtZC5jb20+OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn DQo+IENjOiBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7 IEtvZW5pZywgDQo+IENocmlzdGlhbiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIXSBtbS9zd2FwOiBhZGQgZnVuY3Rpb24gZ2V0X3RvdGFsX3N3YXBfcGFn ZXMgdG8gDQo+IGV4cG9zZSB0b3RhbF9zd2FwX3BhZ2VzDQo+DQo+IEhpIFJvZ2VyLA0KPg0KPiBJ IHRoaW5rIHRoaXMgcGF0Y2ggaXNuJ3QgbmVlZCBhdCBhbGwuIFlvdSBjYW4gZGlyZWN0bHkgcmVh ZCB0b3RhbF9zd2FwX3BhZ2VzIHZhcmlhYmxlIGluIFRUTS4gU2VlIHRoZSBjb21tZW50Og0KPg0K PiAvKiBwcm90ZWN0ZWQgd2l0aCBzd2FwX2xvY2suIHJlYWRpbmcgaW4gdm1fc3dhcF9mdWxsKCkg ZG9lc24ndCBuZWVkIA0KPiBsb2NrICovIGxvbmcgdG90YWxfc3dhcF9wYWdlczsNCj4NCj4gdGhl cmUgYXJlIG1hbnkgcGxhY2VzIHVzaW5nIGl0IGRpcmVjdGx5LCB5b3UganVzdCBjb3VsZG4ndCBj aGFuZ2UgaXRzIHZhbHVlLiBSZWFkaW5nIGl0IGRvZXNuJ3QgbmVlZCBsb2NrLg0KPg0KPg0KPiBS ZWdhcmRzLA0KPg0KPiBEYXZpZCBaaG91DQo+DQo+DQo+IE9uIDIwMTjlubQwMeaciDI55pelIDE2 OjI5LCBSb2dlciBIZSB3cm90ZToNCj4+IHR0bSBtb2R1bGUgbmVlZHMgaXQgdG8gZGV0ZXJtaW5l IGl0cyBpbnRlcm5hbCBwYXJhbWV0ZXIgc2V0dGluZy4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBS b2dlciBIZSA8SG9uZ2JvLkhlQGFtZC5jb20+DQo+PiAtLS0NCj4+ICAgIGluY2x1ZGUvbGludXgv c3dhcC5oIHwgIDYgKysrKysrDQo+PiAgICBtbS9zd2FwZmlsZS5jICAgICAgICB8IDE1ICsrKysr KysrKysrKysrKw0KPj4gICAgMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspDQo+Pg0K Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc3dhcC5oIGIvaW5jbHVkZS9saW51eC9zd2Fw LmggaW5kZXggDQo+PiBjMmI4MTI4Li43MDhkNjZmIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9s aW51eC9zd2FwLmgNCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvc3dhcC5oDQo+PiBAQCAtNDg0LDYg KzQ4NCw3IEBAIGV4dGVybiBpbnQgdHJ5X3RvX2ZyZWVfc3dhcChzdHJ1Y3QgcGFnZSAqKTsNCj4+ ICAgIHN0cnVjdCBiYWNraW5nX2Rldl9pbmZvOw0KPj4gICAgZXh0ZXJuIGludCBpbml0X3N3YXBf YWRkcmVzc19zcGFjZSh1bnNpZ25lZCBpbnQgdHlwZSwgdW5zaWduZWQgbG9uZyBucl9wYWdlcyk7 DQo+PiAgICBleHRlcm4gdm9pZCBleGl0X3N3YXBfYWRkcmVzc19zcGFjZSh1bnNpZ25lZCBpbnQg dHlwZSk7DQo+PiArZXh0ZXJuIGxvbmcgZ2V0X3RvdGFsX3N3YXBfcGFnZXModm9pZCk7DQo+PiAg ICANCj4+ICAgICNlbHNlIC8qIENPTkZJR19TV0FQICovDQo+PiAgICANCj4+IEBAIC01MTYsNiAr NTE3LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzaG93X3N3YXBfY2FjaGVfaW5mbyh2b2lkKQ0K Pj4gICAgew0KPj4gICAgfQ0KPj4gICAgDQo+PiArbG9uZyBnZXRfdG90YWxfc3dhcF9wYWdlcyh2 b2lkKQ0KPj4gK3sNCj4+ICsJcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gICAgI2RlZmluZSBm cmVlX3N3YXBfYW5kX2NhY2hlKGUpICh7KGlzX21pZ3JhdGlvbl9lbnRyeShlKSB8fCBpc19kZXZp Y2VfcHJpdmF0ZV9lbnRyeShlKSk7fSkNCj4+ICAgICNkZWZpbmUgc3dhcGNhY2hlX3ByZXBhcmUo ZSkgKHsoaXNfbWlncmF0aW9uX2VudHJ5KGUpIHx8IA0KPj4gaXNfZGV2aWNlX3ByaXZhdGVfZW50 cnkoZSkpO30pDQo+PiAgICANCj4+IGRpZmYgLS1naXQgYS9tbS9zd2FwZmlsZS5jIGIvbW0vc3dh cGZpbGUuYyBpbmRleCAzMDc0YjAyLi5hMDA2MmViIA0KPj4gMTAwNjQ0DQo+PiAtLS0gYS9tbS9z d2FwZmlsZS5jDQo+PiArKysgYi9tbS9zd2FwZmlsZS5jDQo+PiBAQCAtOTgsNiArOTgsMjEgQEAg c3RhdGljIGF0b21pY190IHByb2NfcG9sbF9ldmVudCA9IEFUT01JQ19JTklUKDApOw0KPj4gICAg DQo+PiAgICBhdG9taWNfdCBucl9yb3RhdGVfc3dhcCA9IEFUT01JQ19JTklUKDApOw0KPj4gICAg DQo+PiArLyoNCj4+ICsgKiBleHBvc2UgdGhpcyB2YWx1ZSBmb3Igb3RoZXJzIHVzZQ0KPj4gKyAq Lw0KPj4gK2xvbmcgZ2V0X3RvdGFsX3N3YXBfcGFnZXModm9pZCkNCj4+ICt7DQo+PiArCWxvbmcg cmV0Ow0KPj4gKw0KPj4gKwlzcGluX2xvY2soJnN3YXBfbG9jayk7DQo+PiArCXJldCA9IHRvdGFs X3N3YXBfcGFnZXM7DQo+PiArCXNwaW5fdW5sb2NrKCZzd2FwX2xvY2spOw0KPj4gKw0KPj4gKwly ZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICtFWFBPUlRfU1lNQk9MX0dQTChnZXRfdG90YWxfc3dhcF9w YWdlcyk7DQo+PiArDQo+PiAgICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgc3dhcF9jb3Vu dCh1bnNpZ25lZCBjaGFyIGVudCkNCj4+ICAgIHsNCj4+ICAgIAlyZXR1cm4gZW50ICYgflNXQVBf SEFTX0NBQ0hFOwkvKiBtYXkgaW5jbHVkZSBTV0FQX0hBU19DT05UIGZsYWcgKi8NCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZHJpLWRldmVsIG1h aWxpbmcgbGlzdA0KPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsDQoNCg==