From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0633C67861 for ; Thu, 4 Apr 2024 21:32:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C5016B0099; Thu, 4 Apr 2024 17:32:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 676666B009C; Thu, 4 Apr 2024 17:32:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53C636B009E; Thu, 4 Apr 2024 17:32:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 379AB6B0099 for ; Thu, 4 Apr 2024 17:32:15 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 66D55160E6D for ; Thu, 4 Apr 2024 21:32:14 +0000 (UTC) X-FDA: 81973147788.11.C29ED15 Received: from smtp4.epfl.ch (smtp4.epfl.ch [128.178.224.219]) by imf15.hostedemail.com (Postfix) with ESMTP id 803D5A0012 for ; Thu, 4 Apr 2024 21:32:11 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=epfl.ch header.s=epfl header.b=mp4Hpd0h; dmarc=pass (policy=quarantine) header.from=epfl.ch; spf=pass (imf15.hostedemail.com: domain of yueyang.pan@epfl.ch designates 128.178.224.219 as permitted sender) smtp.mailfrom=yueyang.pan@epfl.ch ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712266332; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=a2MuRLtZg8Drh90tZvZbmKiNnsZFKEjrKK5yJ5vHZTA=; b=Dj/S5Pm3FSPRZ1rXcrWA29iS8oJQy5bVKATJOX1Tx49Ja5BuqXxnvytmDNkK6OfdteOm7q EwmZ1lBQ3uRvgAOA0kMAeyPfkuRqmzJFiHTqp8HIUjBLGqkm/n0t3SpHweQpjiOvn4H4Tc PKbS6kSaKxTTtVJBbPs3HoljZU/USRk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=epfl.ch header.s=epfl header.b=mp4Hpd0h; dmarc=pass (policy=quarantine) header.from=epfl.ch; spf=pass (imf15.hostedemail.com: domain of yueyang.pan@epfl.ch designates 128.178.224.219 as permitted sender) smtp.mailfrom=yueyang.pan@epfl.ch ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712266332; a=rsa-sha256; cv=none; b=TY0PtW6mFECFiq/kV7KMHuJgl7cot6svdmWmOA1eGw+h1fwvQRuHykDl6DgH8WqA1bTDYG 1aQfKLf4NxQPxkWiUUf//5GVohA33nzc4NCV1mV/4VEOjVkYv4NcCcbU8eXF0lc48AQwMq cccFcaa3lh3WX1dqXzkV1AEfk6C2utE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=epfl.ch; s=epfl; t=1712266329; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; bh=a2MuRLtZg8Drh90tZvZbmKiNnsZFKEjrKK5yJ5vHZTA=; b=mp4Hpd0hWNKMx7lteByiI52ZyCGFpezbYQoMx1yBibuUfE+eHHYUd/2I65TPNXLMz 4p/T6k3galj+TlEMsR9710skehBWfuUS+mmq/rlvklh6tUXgIHUKtCzDeFdnETZn5 BZYwDIGyyIWUdAZZHBTb2W5ASWE7EjRyhlo5tULvQ= Received: (qmail 55291 invoked by uid 107); 4 Apr 2024 21:32:09 -0000 Received: from ax-snat-224-180.epfl.ch (HELO ewa09.intranet.epfl.ch) (192.168.224.180) (TLS, ECDHE-RSA-AES256-GCM-SHA384 (P-256 curve) cipher) by mail.epfl.ch (AngelmatoPhylax SMTP proxy) with ESMTPS; Thu, 04 Apr 2024 23:32:09 +0200 X-EPFL-Auth: JOcYyUPpE8TRxsXP4MJC5wxcLPM5I7CxY/kvTRgqCk5GzeLTQnw= Received: from AS8P189MB1656.EURP189.PROD.OUTLOOK.COM (10.180.29.71) by ewa09.intranet.epfl.ch (128.178.224.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 4 Apr 2024 23:32:08 +0200 From: "yueyang.pan@epfl.ch" To: Matthew Wilcox CC: "linux-mm@kvack.org" Subject: Re: Some questions about shrink_folio_list Thread-Topic: Some questions about shrink_folio_list Thread-Index: AQHahhCrTpOMM9Y17EifYG0AOZ9rbrFYPzGAgABgpfM= X-MS-Exchange-MessageSentRepresentingType: 1 Date: Thu, 4 Apr 2024 21:32:07 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Content-Type: multipart/alternative; boundary="_000_AS8P189MB1656F01A92EE4B8A2E089A60F53C2AS8P189MB1656EURP_" MIME-Version: 1.0 X-Originating-IP: [10.180.29.71] X-ClientProxiedBy: ewa08.intranet.epfl.ch (128.178.224.179) To ewa09.intranet.epfl.ch (128.178.224.180) X-Rspam-User: X-Stat-Signature: 7hph4auggtoe3sqnmdcbzra6mr45wye5 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 803D5A0012 X-HE-Tag: 1712266331-928564 X-HE-Meta: U2FsdGVkX1/GYsvAMrCrtfp1mIbn1kMo9QLhIHNTJ4Ah7D1lbX5ANZsAfTTj0XcBN6vks9nGstSI++FwM2mohcDEplx7YuM0ccG6DMNI/Cf0pvwErlE8zDsF39hv5ZWnnK8tq5VPcBO7S3jMS0jn+2ThlVvGckVqAVUdDTdZhHeHr4DqlikaeNwmm1ap7ozVhflkXZkxthbiOigTDCDc8LfGs7DbDmdlusKC76j/SBKyaFaOmruDvQB1zUnJj83xk64qHqFkSusWnAwn6tiqQ57uTwolDLgXKrt+UQ2wV5mzxdAIyGjm6/npKZaPW1KlRVB3VLbwUSEngcAsOo+bZ+XqsNZq+6Yeei3RKiM1/mZEM1gEGsOsQZG3SnYZ9SqdgxYpislW7hMhHI/WjFjPcfObwcHFcmHu6EupbtaCAVGSbMqABrsH/ThoTzs9mhdwRTNkg6v7ULnOcN6FQdjIrYMwMXOplzRBgPFYjnb9kOHphHxwetMSxKGQCjWJBvzznmPb36b+Y2I0C8VWX2eh+Ra6yn3qN3wBZBpIiQnludw1Hx8Nn5x6hEc54L18KffsIIF5RlCuKDnGGcZzjLXUq23pge+Mh11t6k6urHIlyXqkF96kGoUuz/7/UkBpUf0g6AOqGu/nzK/SMtem0/pC+yfyKdpDJ2FM+R0EaWrjqDnbK0Gg3+vCQBDspTLF5z/kR7wEezJE2n55G/doeU6ENBPTTdPWknL0bGz3j9HmwWBwPcgv2ciFIRFqlFUNSVeqAVaxURGxie74C0lN4vldTyo17TdPqCIxtdPEt8NwhxnNMqwcRUJcO4hgsSU0DhJ3KMhOdtTz/z2ufTGcaxairQrYXCl3Tsvv851wx3lo71CQYC21jdpr5RQNh7G6ITw+kZR083/CEEL1+6DnlGsfzBZSa2bvFkk3mwlEZpyNhW5J7nL86iaLQnAg/reqSnQzn3uuKyZQVx6ujulv2Q7 GmWbH8SL 6qN+vrU2ahFDiBJAbxGhLX9cqKQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --_000_AS8P189MB1656F01A92EE4B8A2E089A60F53C2AS8P189MB1656EURP_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogTWF0dGhldyBXaWxjb3gg PHdpbGx5QGluZnJhZGVhZC5vcmc+DQpTZW50OiBUaHVyc2RheSwgQXByaWwgNCwgMjAyNCAwODoz NQ0KVG86IHl1ZXlhbmcucGFuQGVwZmwuY2ggPHl1ZXlhbmcucGFuQGVwZmwuY2g+DQpDYzogbGlu dXgtbW1Aa3ZhY2sub3JnIDxsaW51eC1tbUBrdmFjay5vcmc+DQpTdWJqZWN0OiBSZTogU29tZSBx dWVzdGlvbnMgYWJvdXQgc2hyaW5rX2ZvbGlvX2xpc3QNCg0KT24gV2VkLCBBcHIgMDMsIDIwMjQg YXQgMTA6MDY6MTZQTSArMDAwMCwgeXVleWFuZy5wYW5AZXBmbC5jaCB3cm90ZToNCj4gRGVhciBN YXR0aGV3LA0KPiAgICAgSSBhbSBZdWV5YW5nIFBhbiBhIFBoRCBzdHVkZW50IGZyb20gRVBGTCwg YW5kIEkgYW0gY3VycmVudGx5DQo+IGNoZWNraW5nIHRoZSBzd2FwIGNvZGUgaW4gdGhlIGtlcm5l bC4gU29ycnkgdG8gYm90aGVyIHlvdSBiZWNhdXNlIHRoaXMNCj4gZW1haWwgc2hvdWxkIGdvIHRv IE1lbCBHb3JtYW4uIEhlIGRpZCBub3QgcmVwbHkgdG8gbWUgc28gSSB0dXJuZWQgdG8NCj4geW91 IGZvciBzb21lIGhlbHAuDQoNCkhpIFl1ZXlhbmcsDQoNCllvdSdkIHByb2JhYmx5IGhhdmUgbW9y ZSBsdWNrIGlmIHlvdSBjYydkIHRoZSBtYWlsaW5nIGxpc3QuICBTb21lYm9keQ0Kb3RoZXIgdGhh biBNZWwgbWlnaHQgaGF2ZSBhbnN3ZXJlZCB5b3UuICBBZGRlZCBpdCBub3cuDQpUaGFua3MgYSBs b3QgZm9yIGZvcndhcmRpbmcgaXQgZm9yIG1lLg0KPiAxKSAgSSBoYXZlIHNvbWUgcXVlc3Rpb25z IGFib3V0IGB0cnlfdG9fdW5tYXBfZmx1c2hfZGlydHlgLiBJDQo+IHdvbmRlciB3aHkgdGhpcyBp cyBuZWNlc3NhcnkgaW4gc2hyaW5rX2ZvbGlvX2xpc3QgYmVjYXVzZSBpbg0KPiB0aGUgZm9saW9f Y2hlY2tfcmVmZXJlbmNlcywgd2UgaGF2ZSBhbHJlYWR5IGNoZWNrZWQgdGhhdCB0aGUgUFRFcw0K PiBwb2ludGluZyB0byB0aGlzIHBhZ2UgZG9lcyBub3QgaGF2ZSBhbnkgYWNjZXNzIGJpdCBzZXQu IFRoZSBjdXJyZW50DQo+IHNocmlua19mb2xpb19saXN0IHRoZW4gdW5tYXBzIHRoZSBwYWdlLCBj bGVhcnMgdGhlIGRpcnR5IGJpdCwgaXNzdWVzDQo+IHRoZSBUTEIgZmx1c2ggaWYgdGhlIGRpcnR5 IGJpdCB3YXMgc2V0IHByZXZpb3VzbHkgYW5kIHRoZW4gc3RhcnRzDQo+IHRvIHdyaXRlIHRoZSBw YWdlIHRvIHRoZSBzd2FwLiBJIHdvbmRlciB3aHkgaGVyZSB3ZSBjYW5ub3QgdGFrZSBhbg0KPiBv cHBvcnR1bmlzdGljIGFwcHJvYWNoLiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgaWYgd2UgZG9u 4oCZdCB1bm1hcCB0aGUNCj4gcGFnZSBhbmQgcGVyZm9ybSBmbHVzaCwgd2hlbiB0aGVyZSBpcyBh IGNvbmN1cnJlbnQgd3JpdGUgdG8gdGhlIHBhZ2UsDQo+IGJvdGggdGhlIGFjY2VzcyBiaXQgYW5k IGRpcnR5IGJpdCB3aWxsIGJlIHNldCAoYmVjYXVzZSB0aGUgZGlydHkgYml0DQo+IGlzIGNsZWFy ZWQpIHNvIHdlIGNhbiBzaW1wbHkgY2hlY2sgdGhlIGFjY2VzcyBiaXQgYWdhaW4gYWZ0ZXIgcGFn ZW91dA0KPiB0byBzZWUgd2hldGhlciB3ZSBjYW4gZnJlZSB0aGlzIHBhZ2Ugb3Igbm90Lg0KPiAg ICBJIGNoZWNrZWQgdGhlIGdpdCBibGFtZSBhbmQgc2F3IE1lbCdzIGNvbW1pdCBpbiAyMDE1IHdo ZXJlIGhlDQo+IG1lbnRpb25lZCB0aGF0IGl0IHdhcyBiZXR0ZXIgdG8gYXNzdW1lIGEgd3JpdGVh YmxlIGVudHJ5IGV4aXN0DQo+IGluIFRMQiBidXQgSSB3b25kZXIgd2h5IHRoaXMgY2FuIGJlIHRy dWUgaWYgd2UgaGF2ZSBhbHJlYWR5IHVzZQ0KPiBmb2xpb19jaGVja19yZWZlcmVuY2VzIHRvIGNo ZWNrIHRoZSBQVEUgYWNjZXNzIGJpdC4gRG9lcyB0aGlzIGltcGx5DQo+IGV2ZW4gaWYgdGhlIGZv bGlvX2NoZWNrX3JlZmVyZW5jZXMgZ2l2ZXMgbm8gcmVmZXJlbmNlIHRoZXJlIGNhbiBiZQ0KPiBz dGlsbCBlbnRyaWVzIGluIHRoZSBUTEI/DQoNClRoaXMgaXMgZmFyIG91dHNpZGUgbXkgcmVhbG0g b2YgZXhwZXJ0aXNlLiAgSSBzdXNwZWN0IGl0J3MNCnBvc3NpYmxlIHRoYXQgdGhlcmUgY2FuIGJl IHN0YWxlIGVudHJpZXMgaW4gdGhlIFRMQiBpZg0KQVJDSF9XQU5UX0JBVENIRURfVU5NQVBfVExC X0ZMVVNILg0KSWYgdGhpcyBpcyB0aGUgY2FzZSwgSSBndWVzcyB0aGlzIFRMQiBmbHVzaCBzaG91 bGQgYmUgY29uZmlndXJhYmxlIGRlcGVuZGluZyBvbg0Kd2hldGhlciB0aGlzIGZsYWcgaXMgc2V0 IG9yIG5vdD8gSSBhbSBub3Qgc3VyZSBhbmQgcHJvYmFibHkgbW9yZSBpbmZvcm1hdGlvbiBpcyB3 ZWxjb21lLg0KDQo+IDIpIEkgaGF2ZSBzb21lIHF1ZXN0aW9ucyBhdCB0aGUgZW5kIG9mIHNocmlu a19mb2xpb19saXN0IGJlZm9yZSB0aGUNCj4gcmVmX2ZvbGlvcyBhcmUgc3BsaWNlZCBhZ2FpbiBi YWNrIHRvIGZvbGlvX2xpc3QuIFdoYXQgaWYgYXQgdGhlIHNhbWUNCj4gdGltZSwgdGhlcmUgaXMg YW5vdGhlciBmdW5jdGlvbiB0cnlpbmcgdG8gZnJlZSB0aGUgcGFnZSBvciBtbG9jaw0KPiB0aGUg cGFnZT8gV2lsbCB0aGlzIHBhZ2UgYmUgY2lyY3VsYXRlZCBhZ2FpbiBpbiB0aGUgaW5hY3RpdmUg TFJVDQo+IGxpc3QgYW5kIGJlaW5nIGRvdWJsZSBmcmVlZCBzaW5jZSB0aGUgcGFnZSBsb2NrIHdh cyByZWxlYXNlZCBhdCB0aGUNCj4gbGlzdF9zcGxpY2U/IEJlY2F1c2UgZnJvbSB3aGF0IEkgdW5k ZXJzdG9vZCwgdGhlIG1sb2NrIHdpbGwgdGFrZSB0aGUNCj4gcGFnZSBkaXJlY3RseSBmcm9tIHRo ZSBpbmFjdGl2ZS9hY3RpdmUgbGlzdCB0aGUgcGFnZSBpcyBpbiBhbmQgbW92ZQ0KPiB0aGUgcGFn ZSB0byB0aGUgbWxvY2sgbGlzdCBidXQgYXQgdGhpcyBtb21lbnQgdGhlIHBhZ2UgZG9lcyBub3Qg cmVzaWRlDQo+IGluIGVpdGhlciBvZiB0aGUgbGlzdC4NCg0KSSB0aGluayB0aGUgYW5zd2VyIGlz IHRoYXQgdGhlc2UgZm9saW9zIGhhdmUgdGhlaXIgTFJVIGZsYWcgY2xlYXJlZA0KdGhyb3VnaG91 dCBzaHJpbmtfZm9saW9fbGlzdCgpIHNvIHRoZXkgY2Fubm90IGJlIG1sb2NrZWQ/DQoNCnN0YXRp YyBzdHJ1Y3QgbHJ1dmVjICpfX21sb2NrX2ZvbGlvKHN0cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVj dCBscnV2ZWMgKmxydXZlYykNCnsNCiAgICAgICAgLyogVGhlcmUgaXMgbm90aGluZyBtb3JlIHdl IGNhbiBkbyB3aGlsZSBpdCdzIG9mZiBMUlUgKi8NCiAgICAgICAgaWYgKCFmb2xpb190ZXN0X2Ns ZWFyX2xydShmb2xpbykpDQogICAgICAgICAgICAgICAgcmV0dXJuIGxydXZlYzsNClNvIEkgY2hl Y2tlZCB0aGUgY29kZSBpbiB0aGUgbWxvY2suYy4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwg dGhlIGNhbGwgY2hhaW4NCmlzIGxpa2UgdGhpcyBtbG9ja19maXh1cCAtPiBtbG9ja192bWFfcGFn ZXNfcmFuZ2UgLT4gbWxvY2tfcHRlX3JhbmdlIC0+IG1sb2NrX2ZvbGlvIC0+IG1sb2NrX2ZvbGlv X2JhdGNoIC0+IOKAi19fbWxvY2tfZm9saW8gYW5kIG1sb2NrX3ZtYV9wYWdlc19yYW5nZSBkb2Vz IG5vdCBoYXZlIHJldHVybiB2YWx1ZS4gRG9lcyB0aGlzIG1lYW4gaW4gdGhlIGNhc2UgSSBtZW50 aW9uZWQgKGZvbGlvIGRvZXMgbm90IGhhdmUgYSBMUlUgZmxhZyBzZXQpIGV2ZW4gaWYgdGhlIG1s b2NrIHJldHVybiAwLCBpdCBjYW4gc3RpbGwgYmUgdGhlIGNhc2UgdGhhdCB0aGUgcGFnZSBpcyBu b3Qgc3VjY2Vzc2Z1bGx5IGxvY2tlZCBpbiB0aGUgbWVtb3J5Pw0K --_000_AS8P189MB1656F01A92EE4B8A2E089A60F53C2AS8P189MB1656EURP_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29m IiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01T Rm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxociBzdHlsZT0iZGlz cGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTglOyI+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246 IGx0cjsgZm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsg Y29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGI+RnJvbTo8L2I+Jm5ic3A7TWF0dGhldyBXaWxjb3gg Jmx0O3dpbGx5QGluZnJhZGVhZC5vcmcmZ3Q7PGJyPg0KPGI+U2VudDo8L2I+Jm5ic3A7VGh1cnNk YXksIEFwcmlsIDQsIDIwMjQgMDg6MzU8YnI+DQo8Yj5Ubzo8L2I+Jm5ic3A7eXVleWFuZy5wYW5A ZXBmbC5jaCAmbHQ7eXVleWFuZy5wYW5AZXBmbC5jaCZndDs8YnI+DQo8Yj5DYzo8L2I+Jm5ic3A7 bGludXgtbW1Aa3ZhY2sub3JnICZsdDtsaW51eC1tbUBrdmFjay5vcmcmZ3Q7PGJyPg0KPGI+U3Vi amVjdDo8L2I+Jm5ic3A7UmU6IFNvbWUgcXVlc3Rpb25zIGFib3V0IHNocmlua19mb2xpb19saXN0 PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2Pg0KPGJsb2Nr cXVvdGUgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjhleDsgcGFkZGluZy1sZWZ0OiAxZXg7IGJvcmRl ci1sZWZ0OiAzcHggc29saWQgcmdiKDIwMCwgMjAwLCAyMDApOyI+DQo8ZGl2IHN0eWxlPSJmb250 LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7Ij5PbiBXZWQsIEFwciAwMywg MjAyNCBhdCAxMDowNjoxNlBNICswMDAwLCB5dWV5YW5nLnBhbkBlcGZsLmNoIHdyb3RlOjxicj4N CiZndDsgRGVhciBNYXR0aGV3LDxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSSBh bSBZdWV5YW5nIFBhbiBhIFBoRCBzdHVkZW50IGZyb20gRVBGTCwgYW5kIEkgYW0gY3VycmVudGx5 PGJyPg0KJmd0OyBjaGVja2luZyB0aGUgc3dhcCBjb2RlIGluIHRoZSBrZXJuZWwuIFNvcnJ5IHRv IGJvdGhlciB5b3UgYmVjYXVzZSB0aGlzPGJyPg0KJmd0OyBlbWFpbCBzaG91bGQgZ28gdG8gTWVs IEdvcm1hbi4gSGUgZGlkIG5vdCByZXBseSB0byBtZSBzbyBJIHR1cm5lZCB0bzxicj4NCiZndDsg eW91IGZvciBzb21lIGhlbHAuPGJyPg0KPGJyPg0KSGkgWXVleWFuZyw8YnI+DQo8YnI+DQpZb3Un ZCBwcm9iYWJseSBoYXZlIG1vcmUgbHVjayBpZiB5b3UgY2MnZCB0aGUgbWFpbGluZyBsaXN0LiZu YnNwOyBTb21lYm9keTxicj4NCm90aGVyIHRoYW4gTWVsIG1pZ2h0IGhhdmUgYW5zd2VyZWQgeW91 LiZuYnNwOyBBZGRlZCBpdCBub3cuPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2IGNsYXNzPSJl bGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAw KTsiPlRoYW5rcyBhIGxvdCBmb3IgZm9yd2FyZGluZyBpdCBmb3IgbWUuPC9kaXY+DQo8YmxvY2tx dW90ZSBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9yZGVy LWxlZnQ6IDNweCBzb2xpZCByZ2IoMjAwLCAyMDAsIDIwMCk7Ij4NCjxkaXYgc3R5bGU9ImZvbnQt c2l6ZTogMTFwdDsgY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsiPiZndDsgMSkmbmJzcDsgSSBo YXZlIHNvbWUgcXVlc3Rpb25zIGFib3V0IGB0cnlfdG9fdW5tYXBfZmx1c2hfZGlydHlgLiBJPGJy Pg0KJmd0OyB3b25kZXIgd2h5IHRoaXMgaXMgbmVjZXNzYXJ5IGluIHNocmlua19mb2xpb19saXN0 IGJlY2F1c2UgaW48YnI+DQomZ3Q7IHRoZSBmb2xpb19jaGVja19yZWZlcmVuY2VzLCB3ZSBoYXZl IGFscmVhZHkgY2hlY2tlZCB0aGF0IHRoZSBQVEVzPGJyPg0KJmd0OyBwb2ludGluZyB0byB0aGlz IHBhZ2UgZG9lcyBub3QgaGF2ZSBhbnkgYWNjZXNzIGJpdCBzZXQuIFRoZSBjdXJyZW50PGJyPg0K Jmd0OyBzaHJpbmtfZm9saW9fbGlzdCB0aGVuIHVubWFwcyB0aGUgcGFnZSwgY2xlYXJzIHRoZSBk aXJ0eSBiaXQsIGlzc3Vlczxicj4NCiZndDsgdGhlIFRMQiBmbHVzaCBpZiB0aGUgZGlydHkgYml0 IHdhcyBzZXQgcHJldmlvdXNseSBhbmQgdGhlbiBzdGFydHM8YnI+DQomZ3Q7IHRvIHdyaXRlIHRo ZSBwYWdlIHRvIHRoZSBzd2FwLiBJIHdvbmRlciB3aHkgaGVyZSB3ZSBjYW5ub3QgdGFrZSBhbjxi cj4NCiZndDsgb3Bwb3J0dW5pc3RpYyBhcHByb2FjaC4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0 IGlmIHdlIGRvbuKAmXQgdW5tYXAgdGhlPGJyPg0KJmd0OyBwYWdlIGFuZCBwZXJmb3JtIGZsdXNo LCB3aGVuIHRoZXJlIGlzIGEgY29uY3VycmVudCB3cml0ZSB0byB0aGUgcGFnZSw8YnI+DQomZ3Q7 IGJvdGggdGhlIGFjY2VzcyBiaXQgYW5kIGRpcnR5IGJpdCB3aWxsIGJlIHNldCAoYmVjYXVzZSB0 aGUgZGlydHkgYml0PGJyPg0KJmd0OyBpcyBjbGVhcmVkKSBzbyB3ZSBjYW4gc2ltcGx5IGNoZWNr IHRoZSBhY2Nlc3MgYml0IGFnYWluIGFmdGVyIHBhZ2VvdXQ8YnI+DQomZ3Q7IHRvIHNlZSB3aGV0 aGVyIHdlIGNhbiBmcmVlIHRoaXMgcGFnZSBvciBub3QuPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZu YnNwOyBJIGNoZWNrZWQgdGhlIGdpdCBibGFtZSBhbmQgc2F3IE1lbCdzIGNvbW1pdCBpbiAyMDE1 IHdoZXJlIGhlPGJyPg0KJmd0OyBtZW50aW9uZWQgdGhhdCBpdCB3YXMgYmV0dGVyIHRvIGFzc3Vt ZSBhIHdyaXRlYWJsZSBlbnRyeSBleGlzdDxicj4NCiZndDsgaW4gVExCIGJ1dCBJIHdvbmRlciB3 aHkgdGhpcyBjYW4gYmUgdHJ1ZSBpZiB3ZSBoYXZlIGFscmVhZHkgdXNlPGJyPg0KJmd0OyBmb2xp b19jaGVja19yZWZlcmVuY2VzIHRvIGNoZWNrIHRoZSBQVEUgYWNjZXNzIGJpdC4gRG9lcyB0aGlz IGltcGx5PGJyPg0KJmd0OyBldmVuIGlmIHRoZSBmb2xpb19jaGVja19yZWZlcmVuY2VzIGdpdmVz IG5vIHJlZmVyZW5jZSB0aGVyZSBjYW4gYmU8YnI+DQomZ3Q7IHN0aWxsIGVudHJpZXMgaW4gdGhl IFRMQj88YnI+DQo8YnI+DQpUaGlzIGlzIGZhciBvdXRzaWRlIG15IHJlYWxtIG9mIGV4cGVydGlz ZS4mbmJzcDsgSSBzdXNwZWN0IGl0J3M8YnI+DQpwb3NzaWJsZSB0aGF0IHRoZXJlIGNhbiBiZSBz dGFsZSBlbnRyaWVzIGluIHRoZSBUTEIgaWY8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTog MTFwdDsgY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsiPkFSQ0hfV0FOVF9CQVRDSEVEX1VOTUFQ X1RMQl9GTFVTSC48L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1By b29mIiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyI+ SWYgdGhpcyBpcyB0aGUgY2FzZSwgSSBndWVzcyB0aGlzIFRMQiBmbHVzaCBzaG91bGQgYmUgY29u ZmlndXJhYmxlIGRlcGVuZGluZyBvbiZuYnNwOzwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRv UHJvb2YiIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7 Ij53aGV0aGVyIHRoaXMgZmxhZyBpcyBzZXQgb3Igbm90PyBJIGFtIG5vdCBzdXJlIGFuZCBwcm9i YWJseSBtb3JlIGluZm9ybWF0aW9uIGlzIHdlbGNvbWUuJm5ic3A7PC9kaXY+DQo8YmxvY2txdW90 ZSBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9yZGVyLWxl ZnQ6IDNweCBzb2xpZCByZ2IoMjAwLCAyMDAsIDIwMCk7Ij4NCjxkaXYgc3R5bGU9ImZvbnQtc2l6 ZTogMTFwdDsgY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsiPjxicj4NCiZndDsgMikgSSBoYXZl IHNvbWUgcXVlc3Rpb25zIGF0IHRoZSBlbmQgb2Ygc2hyaW5rX2ZvbGlvX2xpc3QgYmVmb3JlIHRo ZTxicj4NCiZndDsgcmVmX2ZvbGlvcyBhcmUgc3BsaWNlZCBhZ2FpbiBiYWNrIHRvIGZvbGlvX2xp c3QuIFdoYXQgaWYgYXQgdGhlIHNhbWU8YnI+DQomZ3Q7IHRpbWUsIHRoZXJlIGlzIGFub3RoZXIg ZnVuY3Rpb24gdHJ5aW5nIHRvIGZyZWUgdGhlIHBhZ2Ugb3IgbWxvY2s8YnI+DQomZ3Q7IHRoZSBw YWdlPyBXaWxsIHRoaXMgcGFnZSBiZSBjaXJjdWxhdGVkIGFnYWluIGluIHRoZSBpbmFjdGl2ZSBM UlU8YnI+DQomZ3Q7IGxpc3QgYW5kIGJlaW5nIGRvdWJsZSBmcmVlZCBzaW5jZSB0aGUgcGFnZSBs b2NrIHdhcyByZWxlYXNlZCBhdCB0aGU8YnI+DQomZ3Q7IGxpc3Rfc3BsaWNlPyBCZWNhdXNlIGZy b20gd2hhdCBJIHVuZGVyc3Rvb2QsIHRoZSBtbG9jayB3aWxsIHRha2UgdGhlPGJyPg0KJmd0OyBw YWdlIGRpcmVjdGx5IGZyb20gdGhlIGluYWN0aXZlL2FjdGl2ZSBsaXN0IHRoZSBwYWdlIGlzIGlu IGFuZCBtb3ZlPGJyPg0KJmd0OyB0aGUgcGFnZSB0byB0aGUgbWxvY2sgbGlzdCBidXQgYXQgdGhp cyBtb21lbnQgdGhlIHBhZ2UgZG9lcyBub3QgcmVzaWRlPGJyPg0KJmd0OyBpbiBlaXRoZXIgb2Yg dGhlIGxpc3QuPGJyPg0KPGJyPg0KSSB0aGluayB0aGUgYW5zd2VyIGlzIHRoYXQgdGhlc2UgZm9s aW9zIGhhdmUgdGhlaXIgTFJVIGZsYWcgY2xlYXJlZDxicj4NCnRocm91Z2hvdXQgc2hyaW5rX2Zv bGlvX2xpc3QoKSBzbyB0aGV5IGNhbm5vdCBiZSBtbG9ja2VkPzxicj4NCjxicj4NCnN0YXRpYyBz dHJ1Y3QgbHJ1dmVjICpfX21sb2NrX2ZvbGlvKHN0cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCBs cnV2ZWMgKmxydXZlYyk8YnI+DQp7PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IC8qIFRoZXJlIGlzIG5vdGhpbmcgbW9yZSB3ZSBjYW4gZG8gd2hpbGUgaXQn cyBvZmYgTFJVICovPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGlmICghZm9saW9fdGVzdF9jbGVhcl9scnUoZm9saW8pKTwvZGl2Pg0KPGRpdiBzdHlsZT0i Zm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyI+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBscnV2ZWM7PC9kaXY+DQo8L2Jsb2NrcXVvdGU+ DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgY29s b3I6IHJnYigxMDIsIDEwMiwgMTAyKTsiPlNvIEkgY2hlY2tlZCB0aGUgY29kZSBpbiB0aGUgbWxv Y2suYy4gSWYgSSB1bmRlcnN0YW5kJm5ic3A7Y29ycmVjdGx5LCB0aGUgY2FsbCBjaGFpbiZuYnNw OzwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LXNpemU6IDEx cHQ7IGNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7Ij5pcyBsaWtlIHRoaXMgbWxvY2tfZml4dXAg LSZndDsgbWxvY2tfdm1hX3BhZ2VzX3JhbmdlIC0mZ3Q7IG1sb2NrX3B0ZV9yYW5nZSAtJmd0OyBt bG9ja19mb2xpbyAtJmd0OyBtbG9ja19mb2xpb19iYXRjaCAtJmd0OyDigItfX21sb2NrX2ZvbGlv IGFuZCBtbG9ja192bWFfcGFnZXNfcmFuZ2UgZG9lcyBub3QgaGF2ZSByZXR1cm4gdmFsdWUuDQog RG9lcyB0aGlzIG1lYW4gaW4gdGhlIGNhc2UgSSBtZW50aW9uZWQgKGZvbGlvIGRvZXMgbm90IGhh dmUgYSBMUlUgZmxhZyBzZXQpIGV2ZW4gaWYgdGhlIG1sb2NrIHJldHVybiAwLCBpdCBjYW4gc3Rp bGwgYmUgdGhlIGNhc2UgdGhhdCB0aGUgcGFnZSBpcyBub3Qgc3VjY2Vzc2Z1bGx5IGxvY2tlZCBp biB0aGUgbWVtb3J5PzwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_AS8P189MB1656F01A92EE4B8A2E089A60F53C2AS8P189MB1656EURP_--