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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 51748EB64DC for ; Tue, 11 Jul 2023 06:53:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:CC:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DRkVewIxTVsWUEPe73D0XRYkX65S1S+6h+qs0Mw3Wxk=; b=jr8vhJYKe31lCk WNeTqkJKh03WTOs1+oM2rCkqveZcCAOUXXh8IM8v8DdoSf5wY+a0dn7kKXwh1g/rTuRY1DsWTLlpl FYeLTAWotPmh8FXtuIRRjZVKiuYE0PU0QDoJAyrnghe/NIKh0FONWi0q76E7zGPKLg0hToWp4D1W8 mkxHk0aOWLMWzGvic2UIPzgCAAzHjrZuG0PV//6YOJMkSjdMcYcOFIzMmHY1LOgMVKpoDskHVH/io diObLx/r2crG5tazfTqEROYZwCdBMZEyu61m9/MV52FVhgsqQQddDio/WZVMX5Z4d5WGcSN7+ZXg2 k78RRRocwhf7qcYE61MA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qJ7Ea-00Dv6U-34; Tue, 11 Jul 2023 06:52:28 +0000 Received: from mga07.intel.com ([134.134.136.100]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qJ7EW-00Dv4x-2d; Tue, 11 Jul 2023 06:52:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689058344; x=1720594344; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=xmfyUKctCz038dw1lR/RnkSSZj+tRTiIoFCVnQGhR4c=; b=CAqBzICOSB4/qwIAkJ2i9wtba0BnCvIiw7TNFSoGlhj//OpjxZZN9GeR UFD9hcsK9uwYwnCNqCV/EXA8pt6xEamsyXjktnEcl4HYO0JVwUqsZmCCI fTwa8TbA0o3/dXOAmREforb/hF0G8rFY/vVSbKAwZopKM468u4Tpj7sEv 9fckVnDhxgE/xj+e/leaoAcTjD20fP5klEQk8QcyXeAOAkXmkoFGEbnrc HPEVj4SHP7Q7M/Smq3TRv1wOY8ZnPGCy4EJMY/+1l3hJHnf9FSU1wzWRR eev5NXa9yuDmDakIrFjGDHsSz6SK6esMXwJ5KAuZYA31B3oigKpG5LxCV Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="430628332" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="430628332" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2023 23:52:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="698331084" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="698331084" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga006.jf.intel.com with ESMTP; 10 Jul 2023 23:52:22 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 10 Jul 2023 23:52:21 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 10 Jul 2023 23:52:21 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 10 Jul 2023 23:52:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Iq5G5XQduhzgxDV6EPtqBOLnhSG6/k/5lG3btVdnjwr+PrSQTAe52p2RZZWDwG8KygTp1HyP03oK3mjpBaVR0BeR9OjTI6X44vXagUsXuWkUagNS5GzG+P5qQ5r8ntvx1nVVYLdp0RMYp0l+XVx06d07KHllU+tW83IiU6JBqFzNFqmnaChNXXrpXxgooyEbSBDk9baHVUAkBC1T/n0dC7iDU9gVGONhZtyB11HBMmSa8xhXwDwdiVe5fpQa70eg00AG8VrBJYrk3pzy54eA9jx3WJZY1AXc/e1dg4KVQc5yc9bldvWUEuR8SgrhHwtvYDM4lS0JwgBvF7YcouwlIQ== 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=BvTT4j1o6+uQ+KN5RKHhuZPQKNry6jQllwG61INyw4M=; b=GlKAcY9p+qacbh8MGe5GO1vz6hr8hT1yG+9QaY2IVOE/d8TtpMUtXzsF2VkQ5TNIxWOSnxHtbBXkyJKvc3Le3heHOaQdIzZav/+SStbSty3ux0q3N4KtrxmALJN6cqH4VUdXDW4QWImJeBVSuHx94dfJDqxVg8Qze/lTfL+QKWBkZoNk/VD3tYB77x3co0NcvwKRDG3S4yIGX2xxgjS6bOWzM7ueU7X9wRt1fNcfKQXuPhLU7H03Sq1ltnEXkRQcHnGZ2z+tIMrJ5rIA2HjO5M9BFwO/2RglHB13xyIA8KJdxyitwnax/kr11p6piqpOVfWDHnKE1oe2AJ0tj0xjgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by PH0PR11MB4952.namprd11.prod.outlook.com (2603:10b6:510:40::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Tue, 11 Jul 2023 06:52:19 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::aeb:12b5:6ac9:fab0]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::aeb:12b5:6ac9:fab0%7]) with mapi id 15.20.6500.029; Tue, 11 Jul 2023 06:52:19 +0000 Date: Mon, 10 Jul 2023 23:52:14 -0700 From: Dan Williams To: Jason Gunthorpe , Mina Almasry , Christoph Hellwig , John Hubbard , "Dan Williams" CC: David Ahern , Jakub Kicinski , "Jesper Dangaard Brouer" , , Alexander Duyck , Yunsheng Lin , , , , , Lorenzo Bianconi , "Yisen Zhuang" , Salil Mehta , "Eric Dumazet" , Sunil Goutham , "Geetha sowjanya" , Subbaraya Sundeep , hariprasad , Saeed Mahameed , "Leon Romanovsky" , Felix Fietkau , Ryder Lee , Shayne Chen , Sean Wang , Kalle Valo , Matthias Brugger , AngeloGioacchino Del Regno , Jesper Dangaard Brouer , Ilias Apalodimas , , , , , Jonathan Lemon Subject: Re: Memory providers multiplexing (Was: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG flag) Message-ID: <64acfc1e46a80_8e17829462@dwillia2-xfh.jf.intel.com.notmuch> References: <20230619110705.106ec599@kernel.org> <5e0ac5bb-2cfa-3b58-9503-1e161f3c9bd5@kernel.org> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW3PR06CA0029.namprd06.prod.outlook.com (2603:10b6:303:2a::34) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|PH0PR11MB4952:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e2411a9-95bc-4816-93b1-08db81db5e73 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5lOmx+jWgR4SuCCKZRKsCI1/HZsm+u3676QyWGpb2SsIbAe0C4DmhYpTolb6sdSmucSQLLP38EUhUHlrfA2BUXuQz7sYTmNTMu8RS2EctYZZzLYpvN+DEcmY1zHGxuxJo+pebJ9CGhZD6VupTfrOo4k9papVeGODJD71XkxHgWUM46wQTIdzNH0QLMTbd5m8l17LYTg0C56v5bpgwsVWUyNWpsQfUd6TguU6o3foaE6Fmjnf+yZEYnmLXO++2wXiftHOjwwnJHWpz7I7SF75jAUHWF0bM76NU9/ZOZOhaMc5BNUyGq5mP667mvD4HoRhk8FZ9GqYd7RRxVx0Ls+LFpln6S6/bVbaZxnJqzVa1UyFK3Mh7ai3eisWTsDUc7EJEwOGqXzYpincAV3SPoalSJRkNAYYvRQwzOM8xuctjuT7uZjdKTiRoGtpQO6jFjfxgGj5I8phssADD6qqFufXm21vgr4uayH+F5BStuY5iZcOLIL22fxwPtpMmTpO1e5n7AfyzuKr0cHguM7JTek1AqUPPCMT4yYPJbEP9jaDp1o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(39860400002)(396003)(366004)(376002)(451199021)(38100700002)(86362001)(7406005)(6666004)(6486002)(54906003)(110136005)(82960400001)(26005)(6506007)(53546011)(186003)(9686003)(6512007)(966005)(66556008)(7416002)(2906002)(5660300002)(316002)(66476007)(478600001)(66946007)(8936002)(8676002)(83380400001)(4326008)(41300700001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QmJOQ2tUWG8xK09OaTE3YmNINGZDcVBqY040SXdjc0hLZ0E4b25vdTFGS1Nr?= =?utf-8?B?RUJtMWJkclFHZHRta1JqM3ZVbm5qcXY2TTdHVUZwb1I2VmlVWm9nd3hzMHhC?= =?utf-8?B?VWpaaCtETUE5QytDV2o2Ky9ndGZ1bUZSN25vUTMyRnhRalBvQytVazN6THBi?= =?utf-8?B?M0pxd0JMS3lGK0VrajBUTFN2N1ZTdytIWFNRRFlGeTVwNm1IeXZmQ2tKWHZF?= =?utf-8?B?VCtiUVk0bUxYVFZ5KzVEMFU3dkM2NEErRWc4RFdiNTUydW5DdW5URmY1ekZ2?= =?utf-8?B?Rmt4andsVjJwT21QbmJRaWkrZjIrcmp0NWFKdTF0ZDk0MGw5ZGRnRW9BZnd6?= =?utf-8?B?YnZoWm9CR1puT3FBVzZVU3FhL0J4Wlg4RVNiZTNlQkVybWpFcFVnT01iOXgx?= =?utf-8?B?UEVtTk9DWjdFRXphdis4a1BCazYxbkFuWUFUMXVZbjVHZnhsak12WlAzV0RB?= =?utf-8?B?NUJaWEZmZW9acGxMWjhjODUzVkp3UjlSUUFUUjBSVXdNVGw1SFZBRXFzRFBI?= =?utf-8?B?ZVFjRlc3ZnlTeDdYejNvbG54aWt2T1RpZmhQVnIxL2E1WnBmSjBxSzcxWk5E?= =?utf-8?B?enY4Smx5Wkw4S0RmRXhrUld5aWpUNmdZb3NERkVkMExOakU4OXVxc1R6bXVO?= =?utf-8?B?YWdML29FdUFYOXpOS1VEd3dHalVGZm1uR0VWalFBckRQTno1TXFOSXA4RmRn?= =?utf-8?B?cGt2UTVqMjQycE80aDk0SFRnV3FYV2NiYmJFOExLYkVOdDMwdEt1bU1QZjBs?= =?utf-8?B?R2crQjZhUzZkOU5hQXh2b3Z1R2JwUzJwRFg2TkM5SytoK1krZjBXT2ZDait6?= =?utf-8?B?NG80Rnc3NTcyTGc0Q2IvdXJVeGZ5SzBPR1VOUmRUTE9TQ0FpWGF2VDc2TGdN?= =?utf-8?B?eTRERFRKMWFGNkdrdFhaZ2l0c1lpL0d1L0hTWGR3c1UwMFRsNHR1QXY2OW5l?= =?utf-8?B?T0N4T2tTRFNuNWFVZy83K05mS0o5aVVZa043RFloU0l0dlVaS2Q5RWUwcTBR?= =?utf-8?B?bGdhanQxUFhIQXBWTS9sKytQc1ZjSHF4VFpmTExVaytWa3FWNEdDbEJyM0xv?= =?utf-8?B?VEFDN3dQd2NBdVU2QkVhSERvYXQzdU1pd2NaNkZtSzdLenFSaWZvaDhmSzAv?= =?utf-8?B?a1RHR3M0ZkZlUzcyaXhtaXFBbXFwRS9lOEdZellBYWNvdXRlZEJFSjA3UjFY?= =?utf-8?B?bUFWSndwcFpheVF0TjkwRjh4N0RuaDZ0OGc5MGptYVlBeXNWVGNYbFdRMnpI?= =?utf-8?B?Y0g5RVF6V0xaSlIrNnBjLzVnZ3hYRFdtZUdnMmJIWGZSTVdQYUVwaU9rMTlZ?= =?utf-8?B?eUpUaXB6cUE4bk43c3NvaDBwbmZvOWVJUzBMdHBmdDNKRDJWU2FkRC9EVTUx?= =?utf-8?B?M080amVxTGdRMG5GYWhHT1V6OCtaNDA4ZkRrTGE3a1JDSkJQUVY2dmlzWmdt?= =?utf-8?B?ampCOHlTZzNORTlnbmt2cDBWcU5ZZUdoM3lvNmVLVzZEUXNOV2YwVjAwc0RU?= =?utf-8?B?VUFwaERvUW5RaHJVaXFNdFZYMmtmSC8raysyZGg4MmxSRHBGQ29sY2pXVUxF?= =?utf-8?B?cWxrWDJvdXdNbmhMMURzSWpGcThDYTBmbmRzRXF2MWtOS29QUEU0dGg3b0xx?= =?utf-8?B?QjRDanovaWlSVDlHbUJvL3ExRjZJRFpDL2tLdFI3aFBwVTRjL1pvRkFLejQ3?= =?utf-8?B?b0Q5clNFVzRqcXc3TVAveS8xWm9rbURtelRNQlkyaWR3aTU0MlFheGlTU1pJ?= =?utf-8?B?UzdIMjZPVXNXeVU5eVFnY2gzMTNveUozc2dsQUZGZmVpUXErc1J1SnU2QnFp?= =?utf-8?B?bi9qMnBQL1NhYUx2Ui9Vb1A3K1o0ZXJ5bkhESTV4cG1CRWUyV0w0NkU3SGZW?= =?utf-8?B?cDk1NEZhQUU3OURwd0RtSDB3enZQeXBzeWNyRTJJdVBPSHdmOWY1elM5bnRY?= =?utf-8?B?cHZZajJJd0NodUJQOVdaSjNBREEwSzZlZEYxWmkrL0J4YUF6cC9ZUVdaMkdN?= =?utf-8?B?Ui9Mbkg1dmZkRk9nTVQvMmYxeFY3YVVBYlQxUEdBVmJsVUY2ZmlTRnJseGVM?= =?utf-8?B?MWhNMWNaV2JkRjl6YU5aRTZKWlJ6Q0pRYUUyM3JiLy8xcUIxUlNPMUxMZkR5?= =?utf-8?B?MGMvTW5LdER1clo5S2VpbC9LYVJCeUZSRU5uMkZrTkZKd2ZsNjdDZm16N0x6?= =?utf-8?B?S1E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3e2411a9-95bc-4816-93b1-08db81db5e73 X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2023 06:52:18.9871 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0V9IMFrrRj9ZpKfKDJfLXw42iG7KptrCLlcWI5e0oh44wSCI+gNDsczQvcrTP6UedoQISLU5XS0BnR0qrP+0FqCV8W8bzYh609vSIaR0dE4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4952 X-OriginatorOrg: intel.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230710_235224_945273_AEE179E2 X-CRM114-Status: GOOD ( 44.12 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SmFzb24gR3VudGhvcnBlIHdyb3RlOgo+IE9uIE1vbiwgSnVsIDEwLCAyMDIzIGF0IDA0OjAyOjU5 UE0gLTA3MDAsIE1pbmEgQWxtYXNyeSB3cm90ZToKPiA+IE9uIE1vbiwgSnVsIDEwLCAyMDIzIGF0 IDEwOjQ04oCvQU0gSmFzb24gR3VudGhvcnBlIDxqZ2dAemllcGUuY2E+IHdyb3RlOgo+ID4gPgo+ ID4gPiBPbiBXZWQsIEp1bCAwNSwgMjAyMyBhdCAwNjoxNzozOVBNIC0wNzAwLCBNaW5hIEFsbWFz cnkgd3JvdGU6Cj4gPiA+Cj4gPiA+ID4gQW5vdGhlciBpc3N1ZSBpcyB0aGF0IGluIG5ldHdvcmtz IHdpdGggbG93IE1UVSwgd2UgY291bGQgYmUgRE1BaW5nCj4gPiA+ID4gMTQwMC8xNTAwIGJ5dGVz IGludG8gZWFjaCBhbGxvY2F0aW9uLCB3aGljaCBpcyBwcm9ibGVtYXRpYyBpZiB0aGUKPiA+ID4g PiBhbGxvY2F0aW9uIGlzIDhLKy4gSSB3b3VsZCBuZWVkIHRvIGludmVzdGlnYXRlIGEgYml0IHRv IHNlZSBpZi9ob3cgdG8KPiA+ID4gPiBzb2x2ZSB0aGF0LCBhbmQgd2UgbWF5IGVuZCB1cCBoYXZp bmcgdG8gc3BsaXQgdGhlIHBhZ2UgYW5kIGFnYWluIHJ1bgo+ID4gPiA+IGludG8gdGhlICdub3Qg ZW5vdWdoIHJvb20gaW4gc3RydWN0IHBhZ2UnIHByb2JsZW0uCj4gPiA+Cj4gPiA+IFlvdSBkb24n dCBoYXZlIGFuIGludHJlZSBkcml2ZXIgdG8gdXNlIHRoaXMgd2l0aCwgc28gd2hvIGtub3dzLCBi dXQKPiA+ID4gdGhlIG91dCBvZiB0cmVlIEdQVSBkcml2ZXJzIHRlbmQgdG8gdXNlIGEgNjRrIG1l bW9yeSBtYW5hZ2VtZW50IHBhZ2UKPiA+ID4gc2l6ZSwgYW5kIEkgZG9uJ3QgZXhwZWN0IHlvdSdk IG1ha2UgcHJvZ3Jlc3Mgd2l0aCBhIGRlc2lnbiB3aGVyZSBhIDY0Swo+ID4gPiBuYXR1cmFseSBz aXplZCBhbGxvY2F0b3IgaXMgcHJvZHVjaW5nIDRrLzhrIG5vbi1jb21wb3VuZCBwYWdlcyBqdXN0 Cj4gPiA+IGZvciBuZXRkZXYuIFdlIGFyZSBzdGlsbCBzdHJ1Z2dsaW5nIHdpdGggcGFnZW1hcCBz dXBwb3J0IGZvciB2YXJpYWJsZQo+ID4gPiBwYWdlIHNpemUgZm9saW9zLCBzbyB0aGVyZSBpcyBh IGJ1bmNoIG9mIHRlY2huaWNhbCBibG9ja2VycyBiZWZvcmUKPiA+ID4gZHJpdmVycyBjb3VsZCBk byB0aGlzLgo+ID4gPgo+ID4gPiBUaGlzIGlzIHdoeSBpdCBpcyBzbyBpbXBvcnRhbnQgdG8gY29t ZSB3aXRoIGEgY29tcGxldGUgaW4tdHJlZQo+ID4gPiBzb2x1dGlvbiwgYXMgd2UgY2Fubm90IHJl dmlldyB0aGlzIGRlc2lnbiBpZiB5b3VyIHdvcmsgaXMgZG9uZSB3aXRoCj4gPiA+IGhhY2tlZCB1 cCBvdXQgb2YgdHJlZSBkcml2ZXJzLgo+ID4gPgo+ID4gCj4gPiBJIHRoaW5rIHlvdSdyZSBhc3N1 bWluZyB0aGUgcHJvcG9zYWwgcmVxdWlyZXMgZG1hLWJ1ZiBleHBvcnRlciBkcml2ZXIKPiA+IGNo YW5nZXMsIGFuZCBJIGhhdmUgYSAnaGFja2VkIHVwIG91dCBvZiB0cmVlIGRyaXZlcicgbm90IHZp c2libGUgdG8KPiA+IHlvdS4KPiAKPiBPaCwgSSB0aG91Z2h0IGl0IHdhcyBvYnZpb3VzIHdoYXQg eW91IGRpZCBpbiBwYXRjaCAxIHdhcyBhIHRvdGFsCj4gbm9uLXN0YXJ0ZXIgd2hlbiBJIHNhaWQg eW91IGNhbid0IGFidXNlIHRoZSBaT05FX0RFVklDRSBwYWdlcyBsaWtlCj4gdGhpcy4KPiAKPiBZ b3UgbXVzdCBjcmVhdGUgWk9ORV9ERVZJQ0UgUDJQIHBhZ2VzLCBub3QgTUVNT1JZX0RFVklDRV9Q UklWQVRFIHRvCj4gcmVwcmVzZW50IFAyUCBtZW1vcnksIGFuZCB5b3UgY2FuJ3QgZG8gdGhhdCBh dXRvbWF0aWNhbGx5IGZyb20gdGhlCj4gZG1hYnVmIGNvcmUgY29kZS4KPiAKPiBXaXRob3V0IGRv aW5nIHRoaXMgdGhlIERNQSBBUEkgZG9lc24ndCBhY3R1YWxseSB3b3JrIHByb3Blcmx5IGJlY2F1 c2UKPiBpdCBkb2Vzbid0IGhhdmUgZW5vdWdoIGluZm9ybWF0aW9uIHRvIGtub3cgYWJvdXQgd2hh dCB0aGUgdW5kZXJseWluZwo+IGV4cG9ydGVyIGlzLgo+IAo+IFRoZSBlbnRpcmUgcG9pbnQgb2Yg REVWSUNFX1BSSVZBVEUgaXMgdGhhdCB0aGUgcGFnZSBjb250ZW50LCBhbmQKPiBhY2Nlc3MgdG8g dGhlIHBhZ2UncyBwaHlzaWNhbCBsb2NhdGlvbiwgaXMgKmV4cGxpY2l0bHkqIHVuYXZhaWxhYmxl IHRvCj4gYW55b25lIGJ1dCB0aGUgcGdtYXAgb3duZXIuCj4gCj4gPiA+IEZ1bGx5IGFuZCBwcm9w ZXJseSBhZGRpbmcgUDJQIFpPTkVfREVWSUNFIHRvIGEgcmVhbCB3b3JsZCBkcml2ZXIgaXMgYQo+ ID4gPiBwcmV0dHkgYmlnIGFzayBzdGlsbC4KPiA+IAo+ID4gVGhlcmUgaXMgbm8gc3VjaCBhc2su Cj4gCj4gV2VsbCwgdGhlcmUgaXMgZnJvbSBtZSBpZiB5b3Ugd2FudCB0byB1c2Ugc3R1Y3QgcGFn ZXMgYXMgaGFuZGxlcyBmb3IKPiBQMlAgbWVtb3J5LiBUaGF0IGlzIHdoYXQgd2UgaGF2ZSBkZWZp bmVkIGluIHRoZSBwZ21hcCBhcmVhLgo+IAo+IEFsc28gSSBzaG91bGQgd2FybiB5b3UgdGhhdCB5 b3VyICdvcHRpb24gMicgaXMgYmVpbmcgTkFLJ2QgYnkKPiBDaHJpc3RvcGggZm9yIG5vdywgd2Ug YXJlIG5vdCBhZGRpbmcgYW55IG5ldyBjb2RlIGFyb3VuZCBETUFCVUYncwo+IGhhY2t5IHVzZSBv ZiBOVUxMIHNnX3BhZ2Ugc2NhdHRlcmxpc3QgZm9yIFAyUCBtZW1vcnkgZWl0aGVyLiBJJ3ZlIGJl ZW4KPiB3b3JraW5nIG9uIHNvbHV0aW9ucyBoZXJlIGJ1dCBpdCBpcyBzbG93IGdvaW5nLgo+IAo+ ID4gT24gZG1hLWJ1ZiBjaGFuZ2VzIHJlcXVpcmVkLiBJIGRvIG5lZWQgYXBwcm92YWwgZnJvbSB0 aGUgZG1hLWJ1Zgo+ID4gbWFpbnRhaW5lcnMsCj4gCj4gSXQgaXMgYSBuZWF0IGhhY2ssIG9mIHNv cnRzLCB0byBhYnVzZSBERVZJQ0VfUFJJVkFURSB0byBjcmVhdGUgc3RydWN0Cj4gcGFnZXMgZm9y IHRoZSBleGNsdXNpdmUgdXNlIG9mIHBhZ2Vwb29sIC0gYnV0IHlvdSBuZWVkIG1vcmUgYXBwcm92 YWwKPiB0aGFuIGp1c3QgZG1hYnVmIG1haW50YWluZXJzIHRvIGFidXNlIHRoZSBwZ21hcCBmcmFt ZXdvcmsgbGlrZQo+IHRoaXMuCj4gCj4gQXQgbGVhc3QgZnJvbSBteSBwb3NpdGlvbiBJIHdhbnQg dG8gc2VlIE1FTU9SWV9ERVZJQ0VfUENJX1AyUERNQSB1c2VkCj4gdG8gcmVwcmVzZW50IFAyUCBt ZW1vcnkuIFlvdSBoYXZlbid0IENDJ2QgYW55b25lIGZyb20gdGhlIG1tIGNvbW11bml0eQo+IHNv IEkndmUgYWRkZWQgc29tZSBwZW9wbGUgaGVyZSB0byBzZWUgaWYgdGhlcmUgYXJlIG90aGVyIG9w aW5pb25zLgo+IAo+IFRvIGJlIGNsZWFyLCB5b3UgbmVlZCBhbiBleHBsaWNpdCBhY2sgZnJvbSBt bSBwZW9wbGUgb24gdGhlIGFidXNpdmUKPiB1c2Ugb2YgcGdtYXAgaW4gcGF0Y2ggMS4KClRoaXMg dGhyZWFkIGlzIGxvbmcgc28gSSBhbSBvbmx5IHJlYWN0aW5nIHRvIHRoaXMgZmlyc3QgbWVzc2Fn ZSBJIGFtCmNvcGllZCBvbiwgYnV0IHllcyBhZ3JlZSB3aXRoIEphc29uIGFueXRoaW5nIHBlZXIt dG8tcGVlciBETUEgbmVlZHMgdG8KcmV1c2UgcDJwZG1hIGFuZCBpdCBkZWZpbml0ZWx5IG5lZWRz IGluLXRyZWUgcHJvZHVjZXJzIGFuZCBjb25zdW1lcnMgZm9yCmFsbCBpbmZyYXN0cnVjdHVyZS4K Ck9uZSBwaWVjZSBvZiB0ZWNobmljYWwgZGVidCBzdGFuZGluZyBpbiB0aGUgd2F5IG9mIGFueSBw cm9wb3NlZApleHBhbnNpb24gb2YgcGdtYXAgdXNhZ2UgaXMgdGhlIGZpbmFsIHJlc29sdXRpb24g b2YgdGhpcyB0b3BpYzoKCmh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8xNjY1NzkxODE1ODQu MjIzNjcxMC4xNzgxMzU0NzQ4NzE4Mzk4MzI3My5zdGdpdEBkd2lsbGlhMi14ZmguamYuaW50ZWwu Y29tLwoKSSBhbSBhbHNvIGdlbmVyYWxseSByZXRpY2VudCB0byBlbnRlcnRhaW4gdGFraW5nIG9u IG5ldyBwZ21hcAptYWludGVuYW5jZS4gSS5lLiBub3cgdGhhdCBhY2NlbGVyYXRvciBtZW1vcnkg YXR0YWNoZWQgb3ZlciBhIGNvaGVyZW50CmxpbmsgaXMgYW4gb3BlbiBoYXJkd2FyZSBzdGFuZGFy ZCAoQ1hMKSB0aGF0IGFkZHJlc3NlcyB3aGF0IHBnbWFwCmluZnJhc3RydWN0dXJlIGVuYWJsZWQg aW4gc29mdHdhcmUuCgo+IEkga25vdyBpdCBpcyBub3Qgd2hhdCB5b3Ugd2FudCB0byBoZWFyLCBi dXQgdGhlcmUgYXJlIGFjdHVhbCByZWFzb25zCj4gd2h5IHRoZSBQMlAgRE1BIHByb2JsZW0gaGFz IGJlZW4gZmVzdGVyaW5nIGZvciBzbyBsb25nLCBhbmQgaGFja3kKPiBxdWljayBmaXhlcyBsaWtl IHRoaXMgYXJlIG5vdCBnb2luZyB0byBiZSBlbm91Z2guLgo+IAo+IEphc29uCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==