Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp86112rwn; Fri, 16 Sep 2022 15:57:25 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7bxSAIkb4C9TH3hEtdUeIJ8bJPl+NQAxmAn0rnkavLlqRNJ9xSgX+uhZ1WuZ2Ur5daUMuO X-Received: by 2002:a17:90a:e7cc:b0:202:f493:6ad1 with SMTP id kb12-20020a17090ae7cc00b00202f4936ad1mr18678783pjb.198.1663369045461; Fri, 16 Sep 2022 15:57:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1663369045; cv=pass; d=google.com; s=arc-20160816; b=LEFRPGoFuGM3jbCJsaCaAra0qFFR/ccuGHyHJiyqlzLGKQb7c3JjbzatS0LoljtnNM qXbz5CnRzSf90qv+t9cRbjMc9Ba87/mSmJh57mu9qiSqJ+w2YxMYwSap9RZ6mkPhIgO5 V3wWkDpUONXRRDiSXSuitTRV3FTNCodrAqcPoD9siBsI8Hdn0UFOKtt9y3JGhw6O9Lot AfymOQZ8e1ZAFtJqyO4o18dSK6Tqzs67cZealwY8w3ZAfWy6WRrPC2Nu7WeqBH6boLRc syNBZwLlezKuYkefqKVpxVCqVOYy/xOthH9tFWQFjoebdnn7YobQzE06emIqpZ2xuVGs tLAw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=fDPPswP5AimB2PC8vr4foP8c/z05f43K/SD9GlUIh7Y=; b=GiCp0+bKqIkzSc7MVpG6HR8kyDLOpcJ1uWPpG7Lk8DuC6o1WnYUs7hgRyo6lN70Euj V9/Lhb19Uq6q36WbPO8ZJX4MTU1lbRHokYur72zKSx5I2oTK90xhcI7K+qEiljAveOCV JUxA9TrgzRdu0XrJQIXd4oHJ2mnMd/qnpBCCZKGyBoPVjR59kmJHXYZm9CnKsK8J4JZ6 b3sOH4IJl5gdUqYJXyrqj6nwgWSQsf9XnUpI2/FNLNkeylRYeOHlC6h9958CJ3SdTSJ0 MGY1BmZrQ5PMQ293CtIRHA2ns5NTk2O2F2vlsx/0gkxajD6UgzeplwUQvKZzsRktgLvf 2Tvg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=WuLQ305M; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p7-20020a622907000000b00528d69a048csi9889635pfp.284.2022.09.16.15.57.01; Fri, 16 Sep 2022 15:57:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=WuLQ305M; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229669AbiIPWk5 (ORCPT + 99 others); Fri, 16 Sep 2022 18:40:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229635AbiIPWk4 (ORCPT ); Fri, 16 Sep 2022 18:40:56 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8F89B99EA; Fri, 16 Sep 2022 15:40:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mf+MdgCuQbzDfzdOgm6dNjLW/Vv/kmy4anYnrDfVdAdlQfqA9Di8XehcyNK5IbZTWTgGsgvTHQ+DOHjaU8EMgqL5JsLLYbLZ5TZNxGwexCtKkVmPoHmB/0RqXxqCimetBSyA+TOmvij8qEOzTygsxnKaUrSOSdztoQCxNrLwq6dUvaPKatekpj4goCW3uaH0EFFY9vScpF9kd9Hb9UKlvSLgG+tLISwpA3R9zXVBrgYqf+wNW+HYwYVJJ8lSK4uDsOcgYrPwK0LApMYcjQy7hB7422sWXstznhcz9UgZ0Gk+IMqWk7K63IY2mo7CcYarr4f61uDSQo0FN+c9cZwI6g== 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=fDPPswP5AimB2PC8vr4foP8c/z05f43K/SD9GlUIh7Y=; b=WZ6br1schMgYAMA1ssgtJRnW1qfmMTatuZNtWJ231cvVBYd7rKmSBRVqyC6m9MkuHdSqYZzwIdrrRKqIHYW0xo8x0YbfKgivDHkfvRUg5KxrZYY21g40QsEiOTDvgjDSK51UVY9TRkRiekUqG3nf0s5+YhcQ071qqv+CqR45yaBe8/LBTOW0zf0kEK55vFiBk9Tcs/D/g4jVqvQl32ceKbxcZAjiKLlmVdC3bnPXyQRLLpQfmjLk97tFYFBuBpmgJLGYtAv+Jr3+5886z3lpViZ+SXKgVX/GAkgb/ET8ksml18pzShgVpiMt/7Ul9fxKr6S4F0HlKKtZcxCaADadkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fDPPswP5AimB2PC8vr4foP8c/z05f43K/SD9GlUIh7Y=; b=WuLQ305MCpT9VnMRHUUAz4U3SZt5l+s6SewjIv5Xa2XLEyBdA3CZ/Qb/3Ol20C7wlBw3mGyo4K+QuYLrknUuCUb5W2othy/4FiFGBDOKWy5qgwwGOwImVr8CYnxsjZn43mnywwa8dbAQzZT9xgtawUm17As8LPXXxct74TeyUaM= Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by PH0PR13MB5378.namprd13.prod.outlook.com (2603:10b6:510:fc::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.6; Fri, 16 Sep 2022 22:40:50 +0000 Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::f1c7:62d0:a63d:f5ca]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::f1c7:62d0:a63d:f5ca%3]) with mapi id 15.20.5632.012; Fri, 16 Sep 2022 22:40:50 +0000 From: Trond Myklebust To: "aglo@umich.edu" , "chuck.lever@oracle.com" CC: "linux-nfs@vger.kernel.org" , "anna.schumaker@netapp.com" , "linux-rdma@vger.kernel.org" Subject: Re: [PATCH v1] SUNRPC: Replace the use of the xprtiod WQ in rpcrdma Thread-Topic: [PATCH v1] SUNRPC: Replace the use of the xprtiod WQ in rpcrdma Thread-Index: AQHYwg1IgRVEP1+7QEeDzkaIt1olnK3gs2kAgAG8xoCAAEZwgA== Date: Fri, 16 Sep 2022 22:40:49 +0000 Message-ID: <133bb5a93b91d78a46cb6faefaec429d4b030e10.camel@hammerspace.com> References: <166247968798.587726.7092426682689468087.stgit@morisot.1015granger.net> In-Reply-To: Accept-Language: en-US, en-GB 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=hammerspace.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR13MB5084:EE_|PH0PR13MB5378:EE_ x-ms-office365-filtering-correlation-id: e2516bfb-4923-44db-d1e2-08da9834812f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Eqo+qvvQi6sysl6YqFmG3yD4/L147bGrAWLTlBLwG/9BmZqFwrNsX8FEMaab6oaA11IcgVfl8zpL2+D/hXodR+0awnXXSYlarLmEv8W31MYZPBxwHcxxHGOX6MmZVjudLGXCMO8UFA/qBLmSvptFjKBSmB4p2nCW2yd3+2HsJEvsQiecX6aTAOyXedW41TWNUiMko7AjxGvn4+YpAmZVQFTl+ghYQcGXW+bdfz33aFfrDVoUEBbJxXAm8fZQxJg+ZWcJjJKiIz3MxuPNXZiGMr4bd1tnGlqELfnhunxoZ/S71lqzhoPLQ/boguOJCnCPocGKpAw83lV7vlcJ4sGDRLiaN/O8ewIbCAbgVeKMGgJR/IveBo+fGeM1ZSPM6hyXpOy+eKrdHNV1/KXc5GScKqr2/WpQxWGWhssCKJr9URsex6G0pGNcfIiMzJsj2gzcmXQleGqdZE14S8Mk+4T4SsESpiskdp1TKxAFhH+WR50C64VHDxxMXxCZ9SELYTE4EOwrgxUbkluAD9MkcjFg5C2Z/H/Qk55V5quze+1aQ2o9Mo6zw6XcsvAEZ52EPi5C0mQ1Bncrw64IXYegbtNF9cXNAwZz4/X9asGkIwpt6Br4C7j64ZtD/KIOVPPNJ4Iv/y3BtjVUseanckSycTz9C4mA8KBIDMgX55jFSWC+W0EwXRjCaILJOPpFMr0LKZlpNe12Ow5WcDBCLA+x5UOeEXpkT6Oq53A/qM23W+JlTz9E0rpTtJN2eaF3qq3xk7deJMki7LM5uRxbcUMUlj2kwFmJeMej6yw7kLqwfbbXEKk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR13MB5084.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39840400004)(396003)(136003)(346002)(366004)(376002)(451199015)(122000001)(4326008)(316002)(8676002)(38100700002)(38070700005)(5660300002)(76116006)(36756003)(66556008)(86362001)(64756008)(66476007)(66446008)(2906002)(66946007)(8936002)(6512007)(41300700001)(2616005)(54906003)(71200400001)(186003)(478600001)(6506007)(53546011)(26005)(6486002)(110136005)(66899012)(45080400002)(83380400001)(156123004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N1UzSWprcHhKK2RPWVNoaS84M1JDRm4rWHBwT1NTTjdJUVBOYVRoanVvUGQy?= =?utf-8?B?V2lPU3liSW1FVWl2ekJSbjlvZVc0OEFzbHJZTmx3Y0VDNVhZZ0hLaDBRNXJi?= =?utf-8?B?WDhtRGI2RlhqM1NjQ1lEOE83clNXMVVMTE5COFNqSHg3SE8rUFJIQ09iS3VQ?= =?utf-8?B?NUEra2ZLbS9TZm9VdTdycUVRMytoc0tSTlVxVUF5Tms4Z2MzR1dXSE5WUTlQ?= =?utf-8?B?NVcvQ3hkYW55dWZwTzZWM3czUGplbkFWb0pJVTJWT1g4bGVzL1YyY2RpV0wx?= =?utf-8?B?MDZIWnFpT0VLK2dlVjRMT1lma0RwZGlBTjRtd3pDeFd6dFlSK0ZRZkUvbGtO?= =?utf-8?B?Y2dqbExxNFJjTS9udEJMWXVHSnk5L1RQRWMzR1dDK2ZTc1ZHVU5kRHdlcTBG?= =?utf-8?B?MjhEbGJsbE94SENic1JuYXdLK3BhTjFqZjYyaWxma0IzaG8wYzM0a3Z2anYx?= =?utf-8?B?U0hDajF0dExzamlGcmM1QzB4QmJiOXI1MUdWanpxd1U4WFAvYVJvYThKOEZu?= =?utf-8?B?Z2cxdGduK0lEb2duSGxCa3JIREp3Mk0rT1p1VCtaT3Bxcmk0MTJkT082ODNv?= =?utf-8?B?MVZTZjZLWVl1MHJXQkpnRWZUUVhXem5pYUF3d3kxN24xTCswZ2xKV2xWbmh2?= =?utf-8?B?SElLa2tmT0NkMWh5N1Eydms4Y2VFSjRXZ1BXMmpwZGczemxKMUx0NTg4MnBT?= =?utf-8?B?T3lWeGM4MEh4bVI5ZmdLSzZYYlQ1TzVJbSt4RThMd3c3ZjUzTGkyd1RQODI4?= =?utf-8?B?anNaN0tyM1pKRUVTMEg3VWU2UFgwUVRWUU5tb2ZFUFZLWWxYZkZ5M0dySzdL?= =?utf-8?B?UzVxTWFEbjVsRHU4U3ZockZsSXpGWmRjV2lVbS8rd2RrR0lrRnUyVXJ2a09Y?= =?utf-8?B?bXloM2REdjcrMjBoV0NmOXdoNCs4N3YwMGxUZUNkK0VaRmw3Q3F5bDdvZFgy?= =?utf-8?B?Ri9Fa2ZsblFHMVNKN05vUWprQ3ZMWTZ4My9rOTFZZXczQzljNXZsMStzN2hC?= =?utf-8?B?NExVSHRCdGMzd0NHZTJJM1owamVLNGM3WlpWTDJvemVKWGcwQ2Q2cVZNQ1da?= =?utf-8?B?cnN0ckFURStsamltY1Zqa1plM2RWN0duVjZsbk1KVUxETHNiZ3MzbnRRbm1N?= =?utf-8?B?SHgvSTRlTlYxaGdNRlhRQ3VsZC8zeXFldG1PNTY5QzRRR3RSNW1SYyswdFJu?= =?utf-8?B?ZldGZnVSdGtzRDQ0TDhQMmhWdkJuWEZLdGM0eVNkRWJ4RFJ0SmxKREFRVTFo?= =?utf-8?B?bE8wbjF0WG1VVTNFcU9SdnFRR1B1Q25XamRFSmtDZGhscTlYZnZWK1VXOFpJ?= =?utf-8?B?aWtGcjkzOElpRjFCL2ZxRnZjQ2NPUHVEQ1JvaUZZZTJtTWZKTkxmN1BBd2l1?= =?utf-8?B?RWZXaXh0WFlzcyszNzlENk9MNEQ3bFJqNnJPbHpKdTVxT3Fxa3BHM0l0NU9j?= =?utf-8?B?VlRZVlE0cStjanJjdmdsQjhPSU9udHJCejgvQUZiS1JIL2Y3b2kwOFQ2UXph?= =?utf-8?B?WTFMVWVOT1dFV0I2cS9nTGVBajROMTluNkRNRzA4NExCMjVJampnaGFNREpp?= =?utf-8?B?blJPaUR1eHRWdWRNb3VKTmhBS0lpRmZ1eHVESHNvM2NzOFRZQktsZnZ3QXZH?= =?utf-8?B?YUpETWIzcitIaUFBZWw3OXcySEdpWFZYQVBqdjVQYW5MRXFCbFA5ZThDeGhB?= =?utf-8?B?YjNZVlFQMzl3QVBMVDFZVDYxUDEwMEVUcUdmMGF4K3c0Q3RlS09KRGp0ajNk?= =?utf-8?B?T2szcWxRRVlmU3QzYTI4Snc4bzdwV2FvM1ZVbFUvT0tRSnp4VTZBTDBlMFV5?= =?utf-8?B?ZllWK0ZHYnBjaDZNbFY3ZVRDeVlrOWQ5Wk9Vc1pnNXk0dWNDRDFtYmJjT3NM?= =?utf-8?B?d2RoN216WkZnY0kvMVRWbmU2NjQveGZpTmVaQVA1ZnRaV25wczExYXZobjQv?= =?utf-8?B?RE56Ykl5VGZjejgxbHVLTEdhZWZaODhtZkQ5V25scmxTaUVCL05ZRDJpblNB?= =?utf-8?B?dmF2TG9UTTVWQjV6aHJlRTFhVjRYNy9Jb1RDbHpNN2tieG81Nmkxa3M2OXpK?= =?utf-8?B?RHhVQThIaVhTSGY4cVN4Mnl5RE9JOHkwU2RjU2dSR0tZUFl0bHc1VUVjTzNI?= =?utf-8?B?aGtRdGdZZ2ltaWF2aXZ6YkhDbTR1OFBubjJ4VmZEWkJJUnVIUnlheDhxSkps?= =?utf-8?B?Wmc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <272EA6CFCEA6FC418A6F5B6543D6CB49@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR13MB5378 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gRnJpLCAyMDIyLTA5LTE2IGF0IDE0OjI4IC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90 ZToNCj4gT24gVGh1LCBTZXAgMTUsIDIwMjIgYXQgMTE6NTYgQU0gT2xnYSBLb3JuaWV2c2thaWEg PGFnbG9AdW1pY2guZWR1Pg0KPiB3cm90ZToNCj4gPiANCj4gPiBPbiBUdWUsIFNlcCA2LCAyMDIy IGF0IDEyOjI1IFBNIENodWNrIExldmVyDQo+ID4gPGNodWNrLmxldmVyQG9yYWNsZS5jb20+IHdy b3RlOg0KPiA+ID4gDQo+ID4gPiBXaGlsZSBzZXR0aW5nIHVwIGEgbmV3IGxhYiwgSSBhY2NpZGVu dGFsbHkgbWlzY29uZmlndXJlZCB0aGUNCj4gPiA+IEV0aGVybmV0IHBvcnQgZm9yIGEgc3lzdGVt IHRoYXQgdHJpZWQgYW4gTkZTIG1vdW50IHVzaW5nIFJvQ0UuDQo+ID4gPiBUaGlzIG1hZGUgdGhl IE5GUyBzZXJ2ZXIgdW5yZWFjaGFibGUuIFRoZSBmb2xsb3dpbmcgV0FSTklORw0KPiA+ID4gcG9w cGVkIG9uIHRoZSBORlMgY2xpZW50IHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBtb3VudCBhdHRlbXB0 IHRvDQo+ID4gPiB0aW1lIG91dDoNCj4gPiANCj4gPiBJIGFsc28gaGl0IHRoaXMgdG9kYXkgKG9u IHRoZSA1LjE4IGtlcm5lbCkgd2hpbGUgcnVubmluZyB4ZnN0ZXN0DQo+ID4gZ2VuZXJpYy80NjAg dXNpbmcgc29mdCBpV2FycC4gSW4gbXkgY2FzZSB0aGUgcG9ydCB3YXMgcHJvcGVybHkNCj4gPiBj b25maWd1cmVkLiBUaGUgdGVzdCB3YXMgZ29pbmcuIEknbSBub3Qgc3VyZSBleGFjdGx5IHdoYXQg aGFwcGVuZWQuDQo+ID4gSQ0KPiA+IGtub3cgSSBhbHNvIGNyYXNoZWQgdGhlIHNlcnZlciB0aGF0 IEkgd2FzIHJ1bm5pbmcgYWdhaW5zdC4gQnV0IHRoZQ0KPiA+IHBvaW50IEkgd291bGQgbGlrZSB0 byBtYWtlIGlzIHRoYXQgdGhpcyBjb25kaXRpb24gaXMgcG9zc2libGUgdG8NCj4gPiBnZXQNCj4g PiB0byBvbiBhIHByb3Blcmx5IGNvbmZpZ3VyZWQgc3lzdGVtLg0KPiANCj4gQnV0IEkgdGhpbmsg d2l0aCB0aGlzIHBhdGNoLiBJJ20gaGl0dGluZyB0aGlzIGluc3RlYWQgKG9mIGNvdXJzZQ0KPiBj b3VsZA0KPiBiZSBzb21ldGhpbmcgZWxzZSk6DQo+IA0KPiBbIDMyMjIuNzEyMzM1XSBCVUc6IHVz aW5nIHNtcF9wcm9jZXNzb3JfaWQoKSBpbiBwcmVlbXB0aWJsZQ0KPiBbMDAwMDAwMDBdDQo+IGNv ZGU6IDE5Mi4xNjguMS4xMjQtbS8zODE0DQo+IFsgMzIyMi43MTQ0MjhdIGNhbGxlciBpcyB4cHJ0 X3JkbWFfY29ubmVjdCsweDZhLzB4MTIwIFtycGNyZG1hXQ0KPiBbIDMyMjIuNzE2MDQ3XSBDUFU6 IDAgUElEOiAzODE0IENvbW06IDE5Mi4xNjguMS4xMjQtbSBOb3QgdGFpbnRlZA0KPiA2LjAuMC1y YzUrICMxMjMNCj4gWyAzMjIyLjcxNzcwNl0gSGFyZHdhcmUgbmFtZTogVk13YXJlLCBJbmMuIFZN d2FyZSBWaXJ0dWFsDQo+IFBsYXRmb3JtLzQ0MEJYIERlc2t0b3AgUmVmZXJlbmNlIFBsYXRmb3Jt LCBCSU9TIDYuMDAgMTEvMTIvMjAyMA0KPiBbIDMyMjIuNzIwMzEwXSBDYWxsIFRyYWNlOg0KPiBb IDMyMjIuNzIxMDMyXcKgIDxUQVNLPg0KPiBbIDMyMjIuNzIxNTg3XcKgIGR1bXBfc3RhY2tfbHZs KzB4MzMvMHg0Ng0KPiBbIDMyMjIuNzIyNTAxXcKgIGNoZWNrX3ByZWVtcHRpb25fZGlzYWJsZWQr MHhjMy8weGYwDQo+IFsgMzIyMi43MjM3NTRdwqAgeHBydF9yZG1hX2Nvbm5lY3QrMHg2YS8weDEy MCBbcnBjcmRtYV0NCj4gWyAzMjIyLjcyNTU5NF3CoCB4cHJ0X2Nvbm5lY3QrMHgzMDAvMHgzNzAg W3N1bnJwY10NCj4gWyAzMjIyLjcyNzM2OV3CoCA/IGNhbGxfcmVzZXJ2ZXJlc3VsdCsweGEwLzB4 YTAgW3N1bnJwY10NCj4gWyAzMjIyLjcyOTI3Ml3CoCBfX3JwY19leGVjdXRlKzB4MTYyLzB4ODcw IFtzdW5ycGNdDQo+IFsgMzIyMi43MzExMDFdwqAgPyBycGNfZXhpdCsweDQwLzB4NDAgW3N1bnJw Y10NCj4gWyAzMjIyLjczMjg0MV3CoCA/IF9fd2FrZV91cCsweDEwLzB4MTANCj4gWyAzMjIyLjcz MzY1N13CoCBycGNfZXhlY3V0ZSsweDE0OC8weDFiMCBbc3VucnBjXQ0KPiBbIDMyMjIuNzM1MzI2 XcKgIHJwY19ydW5fdGFzaysweDI3MC8weDJkMCBbc3VucnBjXQ0KPiBbIDMyMjIuNzM3MTgyXcKg IG5mczRfcHJvY19iaW5kX29uZV9jb25uX3RvX3Nlc3Npb24rMHgxY2MvMHgzYTANCj4gW25mc3Y0 XQ0KPiBbIDMyMjIuNzQwNDcyXcKgID8gX25mczRfZG9fc2V0X3NlY3VyaXR5X2xhYmVsKzB4MmQw LzB4MmQwIFtuZnN2NF0NCj4gWyAzMjIyLjc0NTAzNF3CoCA/IHhwcnRfZ2V0KzB4YTAvMHgxMjAg W3N1bnJwY10NCj4gWyAzMjIyLjc0NzE1MF3CoCA/IG5mczRfcHJvY19iaW5kX29uZV9jb25uX3Rv X3Nlc3Npb24rMHgzYTAvMHgzYTANCj4gW25mc3Y0XQ0KPiBbIDMyMjIuNzQ5Mjk5XcKgID8gX19y Y3VfcmVhZF91bmxvY2srMHg0ZS8weDI1MA0KPiBbIDMyMjIuNzUwNDI5XcKgID8gbmZzNF9wcm9j X2JpbmRfb25lX2Nvbm5fdG9fc2Vzc2lvbisweDNhMC8weDNhMA0KPiBbbmZzdjRdDQo+IFsgMzIy Mi43NTI1ODZdwqAgcnBjX2NsbnRfaXRlcmF0ZV9mb3JfZWFjaF94cHJ0KzB4YzYvMHgxNDAgW3N1 bnJwY10NCj4gWyAzMjIyLjc1NDkwMF3CoCA/IHJwY19jbG50X3hwcnRfc3dpdGNoX2FkZF94cHJ0 KzB4YTAvMHhhMCBbc3VucnBjXQ0KPiBbIDMyMjIuNzU3MDQxXcKgID8gcHJlZW1wdF9jb3VudF9z dWIrMHgxNC8weGMwDQo+IFsgMzIyMi43NTgwOTddwqAgbmZzNF9wcm9jX2JpbmRfY29ubl90b19z ZXNzaW9uKzB4ODcvMHhiMCBbbmZzdjRdDQo+IFsgMzIyMi43NjAzNDFdwqAgPyBuZnM0X3Byb2Nf c2VjaW5mbysweDI1MC8weDI1MCBbbmZzdjRdDQo+IFsgMzIyMi43NjIyNTddwqAgbmZzNF9zdGF0 ZV9tYW5hZ2VyKzB4MzRlLzB4ZjYwIFtuZnN2NF0NCj4gWyAzMjIyLjc2NDA5NV3CoCBuZnM0X3J1 bl9zdGF0ZV9tYW5hZ2VyKzB4MWE2LzB4MmUwIFtuZnN2NF0NCj4gWyAzMjIyLjc2Njc3OF3CoCA/ IG5mczRfc3RhdGVfbWFuYWdlcisweGY2MC8weGY2MCBbbmZzdjRdDQo+IFsgMzIyMi43Njg4MTFd wqAgPyBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4OGQvMHhmMA0KPiBbIDMyMjIuNzcwMDI5XcKg ID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NDAvMHg0MA0KPiBbIDMyMjIuNzcxNzQw XcKgID8gX19saXN0X2RlbF9lbnRyeV92YWxpZCsweDc3LzB4YTANCj4gWyAzMjIyLjc3MzQwMF3C oCA/IG5mczRfc3RhdGVfbWFuYWdlcisweGY2MC8weGY2MCBbbmZzdjRdDQo+IFsgMzIyMi43NzU2 NTNdwqAga3RocmVhZCsweDE2MC8weDE5MA0KPiBbIDMyMjIuNzc2NzI5XcKgID8ga3RocmVhZF9j b21wbGV0ZV9hbmRfZXhpdCsweDIwLzB4MjANCj4gWyAzMjIyLjc3Nzg2NV3CoCByZXRfZnJvbV9m b3JrKzB4MWYvMHgzMA0KPiBbIDMyMjIuNzc4OTcyXcKgIDwvVEFTSz4NCj4gDQo+IA0KPiA+IA0K PiA+ID4ga2VybmVsOiB3b3JrcXVldWU6IFdRX01FTV9SRUNMQUlNDQo+ID4gPiB4cHJ0aW9kOnhw cnRfcmRtYV9jb25uZWN0X3dvcmtlciBbcnBjcmRtYV0gaXMgZmx1c2hpbmcNCj4gPiA+ICFXUV9N RU1fUkVDTEFJPg0KPiA+ID4ga2VybmVsOiBXQVJOSU5HOiBDUFU6IDAgUElEOiAxMDAgYXQga2Vy bmVsL3dvcmtxdWV1ZS5jOjI2MjgNCj4gPiA+IGNoZWNrX2ZsdXNoX2RlcGVuZGVuY3krMHhiZi8w eGNhDQo+ID4gPiBrZXJuZWw6IE1vZHVsZXMgbGlua2VkIGluOiBycGNzZWNfZ3NzX2tyYjUgbmZz djQgZG5zX3Jlc29sdmVyIG5mcw0KPiA+ID4gODAyMXEgZ2FycCBzdHAgbXJwIGxsYyByZmtpbGwg cnBjcmRtYT4NCj4gPiA+IGtlcm5lbDogQ1BVOiAwIFBJRDogMTAwIENvbW06IGt3b3JrZXIvdTg6 OCBOb3QgdGFpbnRlZCA2LjAuMC1yYzEtDQo+ID4gPiAwMDAwMi1nNjIyOWY4YzA1NGU1ICMxMw0K PiA+ID4ga2VybmVsOiBIYXJkd2FyZSBuYW1lOiBTdXBlcm1pY3JvIFgxMFNSQS1GL1gxMFNSQS1G LCBCSU9TIDIuMGINCj4gPiA+IDA2LzEyLzIwMTcNCj4gPiA+IGtlcm5lbDogV29ya3F1ZXVlOiB4 cHJ0aW9kIHhwcnRfcmRtYV9jb25uZWN0X3dvcmtlciBbcnBjcmRtYV0NCj4gPiA+IGtlcm5lbDog UklQOiAwMDEwOmNoZWNrX2ZsdXNoX2RlcGVuZGVuY3krMHhiZi8weGNhDQo+ID4gPiBrZXJuZWw6 IENvZGU6IDc1IDJhIDQ4IDhiIDU1IDE4IDQ4IDhkIDhiIGIwIDAwIDAwIDAwIDRkIDg5IGUwIDQ4 DQo+ID4gPiA4MSBjNiBiMCAwMCAwMCAwMCA0OCBjNyBjNyA2NSAzMyAyZSBiZT4NCj4gPiA+IGtl cm5lbDogUlNQOiAwMDE4OmZmZmZiNTYyODA2Y2ZjZjggRUZMQUdTOiAwMDAxMDA5Mg0KPiA+ID4g a2VybmVsOiBSQVg6IDAwMDAwMDAwMDAwMDAwODIgUkJYOiBmZmZmOTc4OTRmOGMzYzAwIFJDWDoN Cj4gPiA+IDAwMDAwMDAwMDAwMDAwMjcNCj4gPiA+IGtlcm5lbDogUkRYOiAwMDAwMDAwMDAwMDAw MDAyIFJTSTogZmZmZmZmZmZiZTM0NDdkMSBSREk6DQo+ID4gPiAwMDAwMDAwMGZmZmZmZmZmDQo+ ID4gPiBrZXJuZWw6IFJCUDogZmZmZjk3ODk0MTMxNTg0MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAg UjA5Og0KPiA+ID4gMDAwMDAwMDAwMDAwMDAwMA0KPiA+ID4ga2VybmVsOiBSMTA6IDAwMDAwMDAw MDAwMDA4YjAgUjExOiAwMDAwMDAwMDAwMDAwMDAxIFIxMjoNCj4gPiA+IGZmZmZmZmZmYzBjZTM3 MzENCj4gPiA+IGtlcm5lbDogUjEzOiBmZmZmOTc4OTUwYzAwNTAwIFIxNDogZmZmZjk3ODk0MzQx ZjBjMCBSMTU6DQo+ID4gPiBmZmZmOTc4OTUxMTEyZWIwDQo+ID4gPiBrZXJuZWw6IEZTOsKgIDAw MDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjk3OTg3ZmMwMDAwMCgwMDAwKQ0KPiA+ID4ga25s R1M6MDAwMDAwMDAwMDAwMDAwMA0KPiA+ID4ga2VybmVsOiBDUzrCoCAwMDEwIERTOiAwMDAwIEVT OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KPiA+ID4ga2VybmVsOiBDUjI6IDAwMDA3Zjgw NzUzNWVhZTggQ1IzOiAwMDAwMDAwMTBiOGU0MDAyIENSNDoNCj4gPiA+IDAwMDAwMDAwMDAzNzA2 ZjANCj4gPiA+IGtlcm5lbDogRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAw MDAwMCBEUjI6DQo+ID4gPiAwMDAwMDAwMDAwMDAwMDAwDQo+ID4gPiBrZXJuZWw6IERSMzogMDAw MDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3Og0KPiA+ID4gMDAwMDAwMDAw MDAwMDQwMA0KPiA+ID4ga2VybmVsOiBDYWxsIFRyYWNlOg0KPiA+ID4ga2VybmVsOsKgIDxUQVNL Pg0KPiA+ID4ga2VybmVsOsKgIF9fZmx1c2hfd29yay5pc3JhLjArMHhhZi8weDE4OA0KPiA+ID4g a2VybmVsOsKgID8gX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDJjLzB4MzcNCj4gPiA+IGtlcm5l bDrCoCA/IGxvY2tfdGltZXJfYmFzZSsweDM4LzB4NWYNCj4gPiA+IGtlcm5lbDrCoCBfX2NhbmNl bF93b3JrX3RpbWVyKzB4ZWEvMHgxM2QNCj4gPiA+IGtlcm5lbDrCoCA/IHByZWVtcHRfbGF0ZW5j eV9zdGFydCsweDJiLzB4NDYNCj4gPiA+IGtlcm5lbDrCoCByZG1hX2FkZHJfY2FuY2VsKzB4NzAv MHg4MSBbaWJfY29yZV0NCj4gPiA+IGtlcm5lbDrCoCBfZGVzdHJveV9pZCsweDFhLzB4MjQ2IFty ZG1hX2NtXQ0KPiA+ID4ga2VybmVsOsKgIHJwY3JkbWFfeHBydF9jb25uZWN0KzB4MTE1LzB4NWFl IFtycGNyZG1hXQ0KPiA+ID4ga2VybmVsOsKgID8gX3Jhd19zcGluX3VubG9jaysweDE0LzB4MjkN Cj4gPiA+IGtlcm5lbDrCoCA/IHJhd19zcGluX3JxX3VubG9ja19pcnErMHg1LzB4MTANCj4gPiA+ IGtlcm5lbDrCoCA/IGZpbmlzaF90YXNrX3N3aXRjaC5pc3JhLjArMHgxNzEvMHgyNDkNCj4gPiA+ IGtlcm5lbDrCoCB4cHJ0X3JkbWFfY29ubmVjdF93b3JrZXIrMHgzYi8weGM3IFtycGNyZG1hXQ0K PiA+ID4ga2VybmVsOsKgIHByb2Nlc3Nfb25lX3dvcmsrMHgxZDgvMHgyZDQNCj4gPiA+IGtlcm5l bDrCoCB3b3JrZXJfdGhyZWFkKzB4MThiLzB4MjRmDQo+ID4gPiBrZXJuZWw6wqAgPyByZXNjdWVy X3RocmVhZCsweDI4MC8weDI4MA0KPiA+ID4ga2VybmVsOsKgIGt0aHJlYWQrMHhmNC8weGZjDQo+ ID4gPiBrZXJuZWw6wqAgPyBrdGhyZWFkX2NvbXBsZXRlX2FuZF9leGl0KzB4MWIvMHgxYg0KPiA+ ID4ga2VybmVsOsKgIHJldF9mcm9tX2ZvcmsrMHgyMi8weDMwDQo+ID4gPiBrZXJuZWw6wqAgPC9U QVNLPg0KPiA+ID4gDQo+ID4gPiBTVU5SUEMncyB4cHJ0aW9kIHdvcmtxdWV1ZSBpcyBXUV9NRU1f UkVDTEFJTSwgc28gYW55IHdvcmtxdWV1ZQ0KPiA+ID4gdGhhdA0KPiA+ID4gb25lIG9mIGl0cyB3 b3JrIGl0ZW1zIHRyaWVzIHRvIGNhbmNlbCBoYXMgdG8gYmUgV1FfTUVNX1JFQ0xBSU0gdG8NCj4g PiA+IHByZXZlbnQgYSBwcmlvcml0eSBpbnZlcnNpb24uIFRoZSBpbnRlcm5hbCB3b3JrcXVldWVz IGluIHRoZQ0KPiA+ID4gUkRNQS9jb3JlIGFyZSBjdXJyZW50bHkgbm9uLU1FTV9SRUNMQUlNLg0K PiA+ID4gDQo+ID4gPiBKYXNvbiBHdW50aG9ycGUgc2F5cyB0aGlzIGFib3V0IHRoZSBjdXJyZW50 IHN0YXRlIG9mIFJETUEvY29yZToNCj4gPiA+ID4gSWYgeW91IGF0dGVtcHQgdG8gZG8gYSByZWNv bm5lY3Rpb24vZXRjIGZyb20gd2l0aGluIGEgUkVDTEFJTQ0KPiA+ID4gPiBjb250ZXh0IGl0IHdp bGwgZGVhZGxvY2sgb24gb25lIG9mIHRoZSBtYW55IGFsbG9jYXRpb25zIHRoYXQNCj4gPiA+ID4g YXJlDQo+ID4gPiA+IG1hZGUgdG8gc3VwcG9ydCBvcGVuaW5nIHRoZSBjb25uZWN0aW9uLg0KPiA+ ID4gPiANCj4gPiA+ID4gVGhlIGdlbmVyYWwgaWRlYSBvZiByZWNsYWltIGlzIHRoYXQgdGhlIGVu dGlyZSB0YXNrIGNvbnRleHQNCj4gPiA+ID4gd29ya2luZyB1bmRlciB0aGUgcmVjbGFpbSBpcyBt YXJrZWQgd2l0aCBhbiBvdmVycmlkZSBvZiB0aGUgZ2ZwDQo+ID4gPiA+IGZsYWdzIHRvIG1ha2Ug YWxsIGFsbG9jYXRpb25zIHVuZGVyIHRoYXQgY2FsbCBjaGFpbiByZWNsYWltDQo+ID4gPiA+IHNh ZmUuDQo+ID4gPiA+IA0KPiA+ID4gPiBCdXQgcmRtYWNtIGRvZXMgYWxsb2NhdGlvbnMgb3V0c2lk ZSB0aGlzLCBlZyBpbiB0aGUgV1FzDQo+ID4gPiA+IHByb2Nlc3NpbmcNCj4gPiA+ID4gdGhlIENN IHBhY2tldHMuIFNvIHRoaXMgZG9lc24ndCB3b3JrIGFuZCB3ZSB3aWxsIGRlYWRsb2NrLg0KPiA+ ID4gPiANCj4gPiA+ID4gRml4aW5nIGl0IGlzIGEgYmlnIGRlYWwgYW5kIG5lZWRzIG1vcmUgdGhh biBwb2tpbmcNCj4gPiA+ID4gV1FfTUVNX1JFQ0xBSU0NCj4gPiA+ID4gaGVyZSBhbmQgdGhlcmUu DQo+ID4gPiANCj4gPiA+IFNvIHdlIHdpbGwgY2hhbmdlIHRoZSBVTFAgaW4gdGhpcyBjYXNlIHRv IGF2b2lkIHRoZSB1c2Ugb2YNCj4gPiA+IFdRX01FTV9SRUNMQUlNIHdoZXJlIHBvc3NpYmxlLiBE ZWFkbG9ja3MgdGhhdCB3ZXJlIHBvc3NpYmxlDQo+ID4gPiBiZWZvcmUNCj4gPiA+IGFyZSBub3Qg Zml4ZWQsIGJ1dCBhdCBsZWFzdCB3ZSBubyBsb25nZXIgaGF2ZSBhIGZhbHNlIHNlbnNlIG9mDQo+ ID4gPiBjb25maWRlbmNlIHRoYXQgdGhlIHN0YWNrIHdvbid0IGFsbG9jYXRlIG1lbW9yeSBkdXJp bmcgbWVtb3J5DQo+ID4gPiByZWNsYWltLg0KPiA+ID4gDQo+ID4gPiBXaGlsZSB3ZSdyZSBhZGp1 c3RpbmcgdGhlc2UgcXVldWVfKiBjYWxsIHNpdGVzLCBlbnN1cmUgdGhlIHdvcmsNCj4gPiA+IHJl cXVlc3RzIGFsd2F5cyBydW4gb24gdGhlIGxvY2FsIENQVSBzbyB0aGUgd29ya2VyIGFsbG9jYXRl cyBSRE1BDQo+ID4gPiByZXNvdXJjZXMgdGhhdCBhcmUgbG9jYWwgdG8gdGhlIENQVSB0aGF0IHF1 ZXVlZCB0aGUgd29yayByZXF1ZXN0Lg0KPiA+ID4gDQo+ID4gPiBTdWdnZXN0ZWQtYnk6IExlb24g Um9tYW5vdnNreSA8bGVvbkBrZXJuZWwub3JnPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogQ2h1Y2sg TGV2ZXIgPGNodWNrLmxldmVyQG9yYWNsZS5jb20+DQo+ID4gPiAtLS0NCj4gPiA+IMKgbmV0L3N1 bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYyB8wqDCoMKgIDQgKystLQ0KPiA+ID4gwqBuZXQvc3Vu cnBjL3hwcnRyZG1hL3ZlcmJzLmPCoMKgwqDCoCB8wqDCoCAxMSArKysrLS0tLS0tLQ0KPiA+ID4g wqAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4gPiA+ IA0KPiA+ID4gSGkgQW5uYS0NCj4gPiA+IA0KPiA+ID4gSSd2ZSBoYWQgdGhpcyBhcHBsaWVkIHRv IG15IHRlc3QgY2xpZW50IGZvciBhIHdoaWxlLiBJIHRoaW5rIGl0J3MNCj4gPiA+IHJlYWR5IHRv IGFwcGx5Lg0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IGRpZmYgLS1naXQgYS9uZXQvc3VucnBjL3hw cnRyZG1hL3RyYW5zcG9ydC5jDQo+ID4gPiBiL25ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNwb3J0 LmMNCj4gPiA+IGluZGV4IGJjYjM3YjUxYWRmNi4uOTU4MTY0MWJiOGNiIDEwMDY0NA0KPiA+ID4g LS0tIGEvbmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYw0KPiA+ID4gKysrIGIvbmV0L3N1 bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYw0KPiA+ID4gQEAgLTQ5NCw4ICs0OTQsOCBAQCB4cHJ0 X3JkbWFfY29ubmVjdChzdHJ1Y3QgcnBjX3hwcnQgKnhwcnQsDQo+ID4gPiBzdHJ1Y3QgcnBjX3Rh c2sgKnRhc2spDQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeHBydF9yZWNv bm5lY3RfYmFja29mZih4cHJ0LA0KPiA+ID4gUlBDUkRNQV9JTklUX1JFRVNUX1RPKTsNCj4gPiA+ IMKgwqDCoMKgwqDCoMKgIH0NCj4gPiA+IMKgwqDCoMKgwqDCoMKgIHRyYWNlX3hwcnRyZG1hX29w X2Nvbm5lY3Qocl94cHJ0LCBkZWxheSk7DQo+ID4gPiAtwqDCoMKgwqDCoMKgIHF1ZXVlX2RlbGF5 ZWRfd29yayh4cHJ0aW9kX3dvcmtxdWV1ZSwgJnJfeHBydC0NCj4gPiA+ID5yeF9jb25uZWN0X3dv cmtlciwNCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBkZWxheSk7DQo+ID4gPiArwqDCoMKgwqDCoMKgIHF1ZXVlX2RlbGF5ZWRfd29ya19v bihzbXBfcHJvY2Vzc29yX2lkKCksIHN5c3RlbV9sb25nX3dxLA0KPiA+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZyX3hwcnQtPnJ4 X2Nvbm5lY3Rfd29ya2VyLCBkZWxheSk7DQo+ID4gPiDCoH0NCj4gPiA+IA0KPiA+ID4gwqAvKioN Cj4gPiA+IGRpZmYgLS1naXQgYS9uZXQvc3VucnBjL3hwcnRyZG1hL3ZlcmJzLmMNCj4gPiA+IGIv bmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jDQo+ID4gPiBpbmRleCAyZmJlOWFhZWVjMzQuLjY5 MWFmYzk2YmNiYyAxMDA2NDQNCj4gPiA+IC0tLSBhL25ldC9zdW5ycGMveHBydHJkbWEvdmVyYnMu Yw0KPiA+ID4gKysrIGIvbmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jDQo+ID4gPiBAQCAtNzkx LDEzICs3OTEsMTAgQEAgdm9pZCBycGNyZG1hX21yc19yZWZyZXNoKHN0cnVjdA0KPiA+ID4gcnBj cmRtYV94cHJ0ICpyX3hwcnQpDQo+ID4gPiDCoMKgwqDCoMKgwqDCoCAvKiBJZiB0aGVyZSBpcyBu byB1bmRlcmx5aW5nIGNvbm5lY3Rpb24sIGl0J3Mgbm8gdXNlDQo+ID4gPiDCoMKgwqDCoMKgwqDC oMKgICogdG8gd2FrZSB0aGUgcmVmcmVzaCB3b3JrZXIuDQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKg ICovDQo+ID4gPiAtwqDCoMKgwqDCoMKgIGlmIChlcC0+cmVfY29ubmVjdF9zdGF0dXMgPT0gMSkg ew0KPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogVGhlIHdvcmsgaXMgc2No ZWR1bGVkIG9uIGEgV1FfTUVNX1JFQ0xBSU0NCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKiB3b3JrcXVldWUgaW4gb3JkZXIgdG8gcHJldmVudCBNUiBhbGxvY2F0aW9uDQo+ ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogZnJvbSByZWN1cnNpbmcgaW50 byBORlMgZHVyaW5nIGRpcmVjdCByZWNsYWltLg0KPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAqLw0KPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcXVldWVf d29yayh4cHJ0aW9kX3dvcmtxdWV1ZSwgJmJ1Zi0NCj4gPiA+ID5yYl9yZWZyZXNoX3dvcmtlcik7 DQo+ID4gPiAtwqDCoMKgwqDCoMKgIH0NCj4gPiA+ICvCoMKgwqDCoMKgwqAgaWYgKGVwLT5yZV9j b25uZWN0X3N0YXR1cyAhPSAxKQ0KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cmV0dXJuOw0KPiA+ID4gK8KgwqDCoMKgwqDCoCBxdWV1ZV93b3JrX29uKHNtcF9wcm9jZXNzb3Jf aWQoKSwgc3lzdGVtX2hpZ2hwcmlfd3EsDQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAmYnVmLT5yYl9yZWZyZXNoX3dvcmtlcik7DQo+ID4gPiDCoH0NCj4g PiA+IA0KPiA+ID4gwqAvKioNCj4gPiA+IA0KPiA+ID4gDQoNClJpZ2h0LiBzbXBfcHJvY2Vzc29y X2lkKCkgaXMgb25seSBhbGxvd2VkIHRvIGJlIGNhbGxlZCB3aGVuIHByZWVtcHRpb24NCmhhcyBi ZWVuIGRpc2FibGVkLiBTZWUgRG9jdW1lbnRhdGlvbi9rZXJuZWwtaGFja2luZy9oYWNraW5nLnJz dCBhbmQNCkRvY3VtZW50YXRpb24vbG9ja2luZy9wcmVlbXB0LWxvY2tpbmcucnN0Lg0KDQpXaHkg bm90IGp1c3QgdXNlIHF1ZXVlX3dvcmsoKSwgQ2h1Y2s/IFRoYXQgYWNoaWV2ZXMgdGhlIGV4YWN0 IHNhbWUNCnRoaW5nIHdpdGhvdXQgcmVxdWlyaW5nIGFueSBleHRyYSBsb2NraW5nLg0KDQotLSAN ClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFj ZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbQ0KDQoNCg==