Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp456794pxf; Wed, 31 Mar 2021 07:38:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzdfkk/HzpoBC/gbvpMXopoq8a0HZpzL6XvgrP57DVR9oV+9075THY5Gj0yrgXQ5VhxTRSn X-Received: by 2002:a17:906:7f84:: with SMTP id f4mr3758796ejr.525.1617201501405; Wed, 31 Mar 2021 07:38:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1617201501; cv=pass; d=google.com; s=arc-20160816; b=LWs9ESDkUMrmmmW1vvqWujJB+ea/QahJRWuSvSJ1JdBshGbpm9uA8EWm14lOqUGhty fiAESP7R0QwD3eie2q/ol9uHQq7BTKKrawxkXpWPPKKmf8dl9sIpEnZVLL2vscqf1GAf C4JNS76m2JMbBaa4Ks/9ssbafh9uwV2wWItIoq+zktYXEkjE8sDb4DfudmalQjfQrc8B 9AbFNgZRo7x2hcZ1WlSBqWlIyD91l8xbQd7oczBJOfRac/VX/paqT9uzNskmwNxZic4+ StVxXq+1PZZTrwXZm4fE4qv9OpGbWFKrDRqrhganNfaZmX9PFtu0ECsXqVuMhNHll0ed YNKQ== 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:to:from :dkim-signature; bh=Kg9KGHXtdLDo9GXlwdBITQet1RGc3MYGEHhbBSDFJgQ=; b=ry+yzIYO3TaY1zi0zoZnFO13CJ/yyi/6YBPXp8PItdi6d5zcrJFxvEkZf8e3zcw3pH m0ezlUFqekB6Coe2e6KdVAtguVGgkALLqmBE6um8MlcH7HGHOlMf+06IQffoURGCAb12 RPNfcKxbH04j6lZ/1Mi/pwaYYjsRA6YAd0A9+N3K7FzDcTUTyC4pZwl9u0FhwOoUrI0t bpRU5+ET1WlIhLhDsr9HYT7DF76I7R+z9G0hzyvne0m6pJt97mSHnvk91vNA7S6hGd0+ M8fq6TyvioN/+Ny84E8aKM1CYQCgXSoLk6I5vMbdCChKSH36C8berxFnTlH9kO/t71JD WKCQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b="fMZD/cWk"; 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 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mh6si1728666ejb.33.2021.03.31.07.37.49; Wed, 31 Mar 2021 07:38:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b="fMZD/cWk"; 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 23.128.96.18 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 S236132AbhCaOhQ (ORCPT + 99 others); Wed, 31 Mar 2021 10:37:16 -0400 Received: from mail-dm6nam11on2124.outbound.protection.outlook.com ([40.107.223.124]:11648 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S235836AbhCaOhB (ORCPT ); Wed, 31 Mar 2021 10:37:01 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n6lKDe+pnpP3Y1bhyle0Ux6to2TSHeRnmf8KQUg5uaZ2KwhF0Lm61bsdqEEZ4lmdGjQxMK8NDLpUA9wppB7GpHDQwlYxBunUEV7UnV1PimhMe7zzrlh6UUdJcWLhVY8TZNvXWp92rGYVPPgT1cSGMJ356/nN7VsEPRGNlbrqGPGVSKzrg6SJRT7Rkd053ifCvGS8hTcAuSSMayT7oXmpPOgBlkC07gD05074lQ0YyG8u4MqaPvKBu96KzAcsn4qIF5cAN2IXq2AcfHIv9GiQ/q/LvfAK4II2zrZntKtbw7b9D3P95wXyaevDm/I/1/Htc3f0FrlLCk97zRgmvvpagw== 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=Kg9KGHXtdLDo9GXlwdBITQet1RGc3MYGEHhbBSDFJgQ=; b=Oh3sHX5fa7D25P++wvVj3JAMPoxIVaFsKsNZiD+zqCXnZywfWJvUPybjMkPuk4LgeCSOOWahyl+lpw34lL+dAchZvBhuC6RAQYEODqNdnBSMUgoNQ96oYgikGlG6TbgBe+heUlRRHUTBFTSn22fR9/f0Kdb5OC8IeWF3/I9t6XmI/gy3DNyxgQ2w99sAdFrPK1ea/ihTWakOym2cVpfikFcLHDx73hZR6OQSxnTmLm46XUFxFnHzVdAZd0bdM2e9B3vl31Rkn5k5uSlK+gZT16U+pMrozy2z/UabYZe9cGgvws8wnGQ7ehxH4jxmzS2tKGysA2T2yujBzSydxm/Dtg== 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=Kg9KGHXtdLDo9GXlwdBITQet1RGc3MYGEHhbBSDFJgQ=; b=fMZD/cWk6bBGGtnngxgF8PgOemCWzHTNe0AmCqxEYJnhzD230QPQ+cHsp1m8fNj+DcQ4DYn0mEdlEx38zuj6rhhAvdD7C1LMnq99w5mDigQ0iDgRbVu7VfnSapk65nQ89yRITfacBIKnPp471d6EUpBkOy5W5DVvuls7Ns9jJ50= Received: from CH2PR13MB3525.namprd13.prod.outlook.com (2603:10b6:610:21::29) by CH2PR13MB3749.namprd13.prod.outlook.com (2603:10b6:610:92::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.14; Wed, 31 Mar 2021 14:36:58 +0000 Received: from CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::69bf:b8e4:7fa0:ae74]) by CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::69bf:b8e4:7fa0:ae74%7]) with mapi id 15.20.3999.027; Wed, 31 Mar 2021 14:36:57 +0000 From: Trond Myklebust To: "linux-nfs@vger.kernel.org" , "abuehaze@amazon.com" Subject: Re: NFS read performance degradation after upgrading to kernel 5.4.* Thread-Topic: NFS read performance degradation after upgrading to kernel 5.4.* Thread-Index: AQHXJKmxdeeWg+Zy5UOb4+776OBXz6qbMo4AgAL/doD//+K3AIAABh4AgAASbAA= Date: Wed, 31 Mar 2021 14:36:57 +0000 Message-ID: <44f16a416e453b34277368fd6a93b055b74f399e.camel@hammerspace.com> References: <0D482540-0455-4AA7-B534-FCE24793ECB0@amazon.com> <9f3477020dd5d6f120ddc2cc80ada38e1cf258af.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9f199f9c-dc8c-4926-ec4f-08d8f452702f x-ms-traffictypediagnostic: CH2PR13MB3749: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ANchBo/4EHui59RKAIkEs6JbR4ZhDxoEzA0UoWZQrullmZuuvWwmQ8/G1FLBzMW0yaBfONo9bE3de+Rifq4z3t8oHk5sI+OXghEhmbkn6BSt/GIQTDO2CaodJYvfZAwui37G9RezVNjIAp5slzREzqk7YpkbL6n+Kek5+jt0nznf0EG4UUu80ZISFUqIJ7yxc1TkSxEo+ckGJ24vAP1b9+V3r+5xFrHnqMgqu/zCHH/TuMp5I89aEk+GUueCxjxLYbmEXp514KoNRWsCUU7tqAh917E14+/fDLmAbVgdUQqXSkxl8Lnfqa29ZXgOf3SeFD9E+v/OKuZFtEKUpCVf8toEmlklGOnNjRIKj3FGhNZAKMpiQweHaQz7+OM8wUKmUyHvZS6lGLwJAONsKjFL5eUft7E4ZGrFVx/jX8RLomToDVqEq6JpuysZNExsRvOzi0dMP0OVrQ8aUizGrIr8etAFwW6+fqMQ3FyEwLXpaNTFZzARLq0cazlzPBNqtL3tAGrnLp87/D8XLz/gC7UXYcyWr8wl40tPuCQy97IJxjtM5oZc0WVC3R05Q+EYgFlEXng6PS4PqSScxvfmQ1h3/BgOKudfPJE4fR08Tgj7GM9MmwcKMW2a4pnzUfEETTrXLMoBbYUT0WYyjNNdjybUOiSGUT3IgY2fSe45J7kl/6EpVTq4mZQigvU9e8cnwoiDL3xLF0ZCCgKax99Z5AsHwG+0UJhrErfcU6nSCF11EP08T7B3gtSztSsVV+f9jMCn x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3525.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(39840400004)(366004)(376002)(396003)(186003)(38100700001)(6512007)(8936002)(2616005)(2906002)(110136005)(71200400001)(478600001)(83380400001)(5660300002)(966005)(30864003)(6486002)(66556008)(64756008)(66446008)(66476007)(66946007)(15974865002)(316002)(36756003)(86362001)(26005)(8676002)(76116006)(6506007)(53546011)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ejRBd0lKSzZwMVJWZndnSjkzUDJ6bTRoUVMvdEVEVnp5azZXZ2dwbloySnVl?= =?utf-8?B?RGQ0R3FNUm8wM2JXVG9wQkZFNU9LVnRxSkRCOUJzN2ZnY3VIZnVNQjFpVTFx?= =?utf-8?B?ZnhiVmhKVkt2OUtqcWNhMnNGS01lSFd2SlJHdlMraG1Tc096c09lelRTMlFE?= =?utf-8?B?QkQxT3RjR0Q3Yi9aSXFGRXh6citUUXFHTlAvbjZ2VzEzVDNyN3NDYkx5ZkpQ?= =?utf-8?B?WE1LR2JEQWpNU1BGeTVvd2tNVkNOMFB6WHkrZkFpTWlZVGVDakd3ek1tUHhp?= =?utf-8?B?MUU0REhhV0ZzSHVRdFhDOTBUbkMwbEZSMUNXOGhaTkpNTXFlQW15TWk0Wnla?= =?utf-8?B?eTZ4anRFdWlCcFphNjBLcUlLSWlCNi9haVJtRUZlQnFNYVlkRDNWMW9udlZL?= =?utf-8?B?ZzJkYUZ3YjFtUzJQaXk1RGFsZjQxM3ZKRVI1QU4yQTRxQm1DVWx3eGY4Q3Ax?= =?utf-8?B?TnlOc2Y3OHlLZllMVWpmU1E1MXMySkwyNHQyY2lTTzBlSHNxckdjMzFnU213?= =?utf-8?B?ejJVL1dDU3E5ZXFpeFFUczlCOVN5bW1PYW9xc2FhVW5iaVZYbWc2Q3NHM3kz?= =?utf-8?B?cUhtNzJXR3d6eU12SjQrNmttdVZRd09xUUlYdi9BeHA1ZU1PaUhnZWlaV0Nr?= =?utf-8?B?ZFR1M1BrU0VvZWw4SXBLQ01ZcHpybFFMUUZJTmNKSGVnZDlPNUR2eEFjOHh6?= =?utf-8?B?S3lLQUp0aVNLTjBaRjRab2tWTStNd1NKRnZxdHUyWVFoWDczMGR6MGphNHBo?= =?utf-8?B?T2VGbUREc09lU2I0K3BraWFkbDdJYnJuT0FmdnF0R3hSQTE5c0R0TEZIUHNs?= =?utf-8?B?ZGp1L1o0WnZ5VDBVcXd0TjdycjU4MUFpWXpzbTN1RHZQK3BZNzhqNXNwMTZr?= =?utf-8?B?YkFReEd4MzRMQ2RvcjJQVmJNUHpjUmtBb0lUSWs3UTJHR0xxUU9rNG1teHg0?= =?utf-8?B?SWkxaVMzV3VXZ2dHeEx5ZUpxUUppVzJkUkl2MyszUlJJZWRuMVZUUFBjZTRY?= =?utf-8?B?bzY0UG9oWnpHQlFNODBDWnpQQ2RHak9qQkR0UHNMWDBzZGJYdy9zU2pjRjJq?= =?utf-8?B?OUNlRFZ6U2lZYzNieGczRXltNHdicXFPaTVPVWhDMUlOYTJSSVdpRDhPdkNT?= =?utf-8?B?bEpmaER3OEFEYmdLakhqV28wQnc3TjVmVVE3N24ydmUwakZJRFJQL0pJV1pQ?= =?utf-8?B?VXhxV2ticUJNZVhvZldjbVYxMk9uc2g1ZVYwWEhqL2hLQmRvRTV4d0pSdlNy?= =?utf-8?B?ZFkxa1crbWZWcWtlcXdrQnlwNm0velZqUElncCtOMWpqV3hkZUxaNUFyZnJW?= =?utf-8?B?MG5lbStlQjVRdmpnUUxsL2RVV0FnemRYSVFuQ29SQW9kaWM1eVcrbjJHdVZK?= =?utf-8?B?VnJnc2xxOFdESGJWODNqeWtWc0VwUldJczAwLzdsME1YUXpwNTM3cGR5TVZm?= =?utf-8?B?TW5tY2ZpWFprTkdBZktLOVNHalNBOWd3cjh0Tm9YS0dQYjRZN3dOZTYvM1RY?= =?utf-8?B?bTd4WWoxWUxCbGJ1ZEJwT2RRcGJzWk5zRWFTeFYwcnRINGl1c2Vpa3phL2l0?= =?utf-8?B?bEJ3WXQxckFwdGxrV1BpUjhTMFVjOTZWQXY1S25RcUM1VVNzMXJFOHd2YUdB?= =?utf-8?B?Y0ZZc1c3T0JOdXk5MXlBc0hkVzZER2svUkx1cXF4aVpJQjJsdm9aUkFQZkI1?= =?utf-8?B?Y1lybkhHckQ5THlBaGQ3MGFPMDR0bWY4VmszT0dZWklRdi9KQ1l3TXdPREJO?= =?utf-8?Q?+RZnkJTaNLmiXPmyw7rFIjaOe/omt4iqmiFthzz?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR13MB3525.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f199f9c-dc8c-4926-ec4f-08d8f452702f X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 14:36:57.8470 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nEPKS/xCgjdAcgViwlWz88OjTEdK74Sr70Nfu7/x8sSWvhzO6Xn9ra5rtM/V3Uj9laaxL0UZvnx/W6rRDfdhvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3749 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gV2VkLCAyMDIxLTAzLTMxIGF0IDEzOjMxICswMDAwLCBNb2hhbWVkIEFidWVsZm90b2gsIEhh emVtIHdyb3RlOg0KPiBPayBJIGdvdCB0aGF0IGJ1dCBiYXNlZCBvbiB0aGUgZmFjdHMgbWVudGlv bmVkIGluIA0KPiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIw NDkzOcKgaXQgbG9va3MgbGlrZSB0aGUNCj4gYmFkIGJlaGF2aW91ciB3YXMgbWFpbmx5IHJlbGF0 ZWQgdG8gdXNpbmcgdGhlIG1heGltdW0gcnNpemUgMU1CIHdoaWxlDQo+IHJlYWQgYWhlYWQgd2Fz IDE1TUIgYmFzZWQgb24gdGhlIGVxdWF0aW9uIG9mIDE1KnJzaXplIHdoaWxlIGluDQo+IGNvbmdl c3RlZC9sb3cgdGhyb3VnaHB1dC9IaWdoIGxhdGVuY3nCoCBuZXR3b3JrcyB0aGUgY2xpZW50IHNo b3VsZG7igJl0DQo+IHVzZSAxTUIgYXMgcnNpemUgaW4gdGhlIGZpcnN0IHBsYWNlLCBteSBwb2lu dCBpcyB0aGF0IGl0J3MgcmVhc29uYWJsZQ0KPiB0byBjYWxjdWxhdGUgdGhlIG1heGltdW0gcmVh ZCBhaGVhZCBzaXplIGJhc2VkIG9uIHRoZSB1dGlsaXplZCByc2l6ZQ0KPiB3aGlsZSBub3cgaXQn cyBjb25zdGFudCBhcyAxMjhLQiByZWdhcmRsZXNzIHRoZSBjb25maWd1cmVkIG5ldHdvcmtpbmcN Cj4gcnNpemUsIFdlIGhhdmUgc2VlbiBtdWx0aXBsZSBjdXN0b21lcnMgcmVwb3J0aW5nIHRoaXMg cmVncmVzc2lvbiBhZnRlcg0KPiB1cGdyYWRpbmcgdG8ga2VybmVsIDUuNCBhbmQgSSBhbSBwcmV0 dHkgc3VyZSB3ZSB3aWxsIGdldCBtb3JlIExpbnV4DQo+IGNsaWVudHMgcmVwb3J0aW5nIHRoaXMg d2l0aCBtb3JlIHBlb3BsZSBtb3ZpbmcgdG8ga2VybmVsIDUuNCBhbmQgbGF0ZXIuDQo+IA0KDQpU aGUgcmVhZGFoZWFkIGFsZ29yaXRobSBpcyBkZXNpZ25lZCB0byBsb29rIGF0IGhvdyBsYXJnZSBh biBhcmVhIHlvdXINCmFwcGxpY2F0aW9uIGlzIHRyeWluZyB0byByZWFkLCBhbmQgaXQgdHJpZXMg dG8gb3B0aW1pc2UgZm9yIHRoZSByc2l6ZQ0KYmVjYXVzZSB3ZSB0ZWxsIGl0IHRoYXQgaXMgdGhl ICJvcHRpbWFsIHJlYWQgYmxvY2sgc2l6ZSIuDQoNCklmIHlvdSBhcmUgc2VlaW5nIGEgMTI4SyB3 aW5kb3csIHRoZW4gdGhhdCBpcyBiZWNhdXNlIHlvdSdyZSBoaXR0aW5nDQp0aGUgaGV1cmlzdGlj IGNhc2UsIHdoZXJlIHRoZXJlIGlzIG5vIGd1aWRhbmNlIGZyb20gdGhlIGFwcGxpY2F0aW9uLA0K YW5kIHRoZSBrZXJuZWwgaXMgYmFzaWNhbGx5IHRyeWluZyB0byBrZWVwIGEgbWluaW1hbCBwaXBl bGluZSBmaWxsZWQNCmp1c3QgaW4gY2FzZSB0aGlzIHR1cm5zIG91dCB0byBiZSBhIHNlcXVlbnRp YWwgcmVhZC4NCg0KWW91ciB1c2VycyBjYW4gY2hhbmdlIHRoYXQgaGV1cmlzdGljIHZhbHVlIHVz aW5nIHRoZSBwZXItZGV2aWNlaWQNCmVudHJpZXMgaW4gL3N5cy9jbGFzcy9iZGkuIFBsZWFzZSBz ZWUNCmh0dHBzOi8vd3d3LnN1c2UuY29tL3N1cHBvcnQva2IvZG9jLz9pZD0wMDAwMTcwMTkNCg0K VGhleSBjYW4gYWxzbyB1c2UgdWRldiB3aXRoIGEgZ2VuZXJpYyBydWxlIGxpa2UgdGhpcw0KKGZy b23CoGh0dHBzOi8vYWNjZXNzLnJlZGhhdC5jb20vc29sdXRpb25zLzQwNzI2MyApOg0KDQpTVUJT WVNURU09PSJiZGkiLCBBQ1RJT049PSJhZGQiLCBQUk9HUkFNPSIvYmluL2F3ayAtdiBiZGk9JGtl cm5lbCAnQkVHSU57cmV0PTF9IHtpZiAoJDQgPT0gYmRpKSB7cmV0PTB9fSBFTkR7ZXhpdCByZXR9 JyAvcHJvYy9mcy9uZnNmcy92b2x1bWVzIiwgQVRUUntyZWFkX2FoZWFkX2tifT0iMTA0ODU3NiIN Cg0KVGhlIGRlZmF1bHQgc2V0dGluZyBpcyAxMjhLIGJlY2F1c2UgdGhhdCBpcyBhIGdsb2JhbCBk ZWZhdWx0IHNldHRpbmcuDQpZZXMgd2UgY2FuIGNoYW5nZSBpdCwgYnV0IHRoYXQgbmVlZHMgdG8g YmUgbW90aXZhdGVkIGJ5IGV4cGxhaW5pbmcgd2hhdA0KbWFrZXMgTkZTIHNvIGRpZmZlcmVudCBm cm9tIGFsbCB0aGUgb3RoZXIgZmlsZXN5c3RlbXMgdGhhdCB1c2UgdGhlIHNhbWUNCnNldHRpbmcu IFRoZSBmYWN0IHRoYXQgc29tZSB1c2VycyBoYXZlIGJldHRlciBoYXJkd2FyZSB0aGFuIG90aGVy cw0KaXNuJ3Qgc3VmZmljaWVudCAoYW5kIG5vLCB0aGUgZGVmYXVsdCByc2l6ZSBzZXR0aW5nIGRv ZXMgbm90IHRha2UgdGhhdA0KaW50byBjb25zaWRlcmF0aW9uIGVpdGhlcikuDQoNCj4gVGhhbmsg eW91Lg0KPiANCj4gSGF6ZW0NCj4gDQo+IA0KPiANCj4gTGlua3MNCj4gDQo+IFsxXSBodHRwczov L2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDkzOQ0KPiANCj4g77u/T24g MzEvMDMvMjAyMSwgMTU6MTAsICJUcm9uZCBNeWtsZWJ1c3QiIDx0cm9uZG15QGhhbW1lcnNwYWNl LmNvbT4NCj4gd3JvdGU6DQo+IA0KPiDCoMKgwqAgQ0FVVElPTjogVGhpcyBlbWFpbCBvcmlnaW5h dGVkIGZyb20gb3V0c2lkZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBEbw0KPiBub3QgY2xpY2sgbGlu a3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IGNhbiBjb25maXJtIHRoZSBzZW5kZXIN Cj4gYW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCj4gDQo+IA0KPiANCj4gwqDCoMKgIE9u IFdlZCwgMjAyMS0wMy0zMSBhdCAxMjo1MyArMDAwMCwgTW9oYW1lZCBBYnVlbGZvdG9oLCBIYXpl bSB3cm90ZToNCj4gwqDCoMKgID4gSGkgVHJvbmQsDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+IEkg YW0gd29uZGVyaW5nIGlmIHdlIHNob3VsZCBjb25zaWRlciByYWlzaW5nIHRoZSBkZWZhdWx0IG1h eGltdW0NCj4gTkZTDQo+IMKgwqDCoCA+IHJlYWQgYWhlYWQgc2l6ZSBnaXZlbiB0aGUgZmFjdHMg SSBtZW50aW9uZWQgaW4gbXkgcHJldmlvdXMgZS0NCj4gbWFpbC4NCj4gwqDCoMKgID4NCj4gDQo+ IMKgwqDCoCBXZSBjYW4ndCBrZWVwIGNoYW5naW5nIHRoZSBkZWZhdWx0IGV2ZXJ5IHRpbWUgc29t ZW9uZSB0cmllcyB0bw0KPiBtZWFzdXJlDQo+IMKgwqDCoCBhIG5ldyB3b3JrbG9hZC4NCj4gDQo+ IMKgwqDCoCBUaGUgY2hhbmdlIGluIDUuNCB3YXMgYWxzbyBtZWFzdXJlbWVudCBiYXNlZCwgYW5k IHdhcyBkdWUgdG8gcG9vcg0KPiDCoMKgwqAgcGVyZm9ybWFuY2UgaW4gY2FzZXMgd2hlcmUgcnNp emUvd3NpemUgaXMgc21hbGxlciBhbmQgcmVhZGFoZWFkIHdhcw0KPiDCoMKgwqAgb3ZlcnNob290 aW5nLg0KPiANCj4gDQo+IA0KPiDCoMKgwqAgPiBUaGFuayB5b3UuDQo+IMKgwqDCoCA+DQo+IMKg wqDCoCA+IEhhemVtDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+IE9uIDI5LzAzLzIwMjEsIDE3OjA3 LCAiTW9oYW1lZCBBYnVlbGZvdG9oLCBIYXplbSIgPA0KPiDCoMKgwqAgPiBhYnVlaGF6ZUBhbWF6 b24uY29tPiB3cm90ZToNCj4gwqDCoMKgID4NCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDC oCBIZWxsbyBUZWFtLA0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIC1XZSBoYXZlIGdv dCBtdWx0aXBsZSBjdXN0b21lcnMgY29tcGxhaW5pbmcgYWJvdXQgTkZTIHJlYWQNCj4gwqDCoMKg ID4gcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gYWZ0ZXIgdGhleSB1cGdyYWRlZCB0byBrZXJuZWwg NS40LioNCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAtQWZ0ZXIgZG9pbmcgc29tZSBk ZWVwIGRpdmUgYW5kIHRlc3Rpbmcgd2UgZmlndXJlZCBvdXQgdGhhdA0KPiB0aGUNCj4gwqDCoMKg ID4gcmVhc29uIGJlaGluZCB0aGUgcmVncmVzc2lvbiB3YXMgcGF0Y2jCoCBORlM6IE9wdGltaXNl IHRoZSBkZWZhdWx0DQo+IMKgwqDCoCA+IHJlYWRhaGVhZCBzaXplWzFdIFdoaWNoIGhhcyBiZWVu IG1lcmdlZCB0byBMaW51eCBrZXJuZWxzIDUuNC4qDQo+IGFuZA0KPiDCoMKgwqAgPiBhYm92ZS4N Cj4gwqDCoMKgID7CoMKgwqDCoCAtT3VyIGN1c3RvbWVycyBhcmUgdXNpbmcgQVdTIEVDMiBpbnN0 YW5jZXMgYXMgY2xpZW50IG1vdW50aW5nDQo+IEVGUw0KPiDCoMKgwqAgPiBleHBvcnQgKHdoaWNo IGlzIEFXUyBtYW5hZ2VkIE5GU1Y0IHNlcnZpY2UpLCBJIGFtIHNoYXJpbmcgdGhlDQo+IHJlc3Vs dHMNCj4gwqDCoMKgID4gdGhhdCB3ZSBnb3QgYmVmb3JlICYgYWZ0ZXIgdGhlIHVwZ3JhZGUgZ2l2 ZW4gdGhhdCB0aGUgTkZTDQo+IHNlcnZlcihFRlMpDQo+IMKgwqDCoCA+IHNob3VsZCBiZSBhYmxl IHRvIGFjaGlldmUgYmV0d2VlbiAyNTAtMzAwTUIvc2VjIHdoaWNoIHRoZSBjbGllbnRzDQo+IGNh bg0KPiDCoMKgwqAgPiBhY2hpZXZlIHdpdGhvdXQgcGF0Y2hbMV0gd2hpbGUgZ2V0dGluZyBxdWFy dGVyIG9mIHRoaXMgc3BlZWQNCj4gYXJvdW5kDQo+IMKgwqDCoCA+IDcwTUIvc2VjIHdpdGggdGhl IG1lbnRpb25lZCBwYXRjaCBtZXJnZWQgYXMgc2VlbiBiZWxvdy4NCj4gwqDCoMKgID4NCj4gwqDC oMKgID4NCj4gwqDCoMKgID4NCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IMKgwqDCoCA+ICMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIEJl Zm9yZSB0aGUgdXBncmFkZToNCj4gwqDCoMKgID7CoMKgwqDCoCAjIHVuYW1lIC1yDQo+IMKgwqDC oCA+wqDCoMKgwqAgNC4xNC4yMjUtMTY4LjM1Ny5hbXpuMi54ODZfNjQNCj4gwqDCoMKgID7CoMKg wqDCoCBbcm9vdEBpcC0xNzItMzEtMjgtMTM1IGVjMi11c2VyXSMgc3luYzsgZWNobyAzID4NCj4g wqDCoMKgID4gL3Byb2Mvc3lzL3ZtL2Ryb3BfY2FjaGVzDQo+IMKgwqDCoCA+wqDCoMKgwqAgW3Jv b3RAaXAtMTcyLTMxLTI4LTEzNSBlYzItdXNlcl0jIG1vdW50IC10IG5mczQgLW8NCj4gwqDCoMKg ID4NCj4gbmZzdmVycz00LjEscnNpemU9MTA0ODU3Nix3c2l6ZT0xMDQ4NTc2LGhhcmQsdGltZW89 NjAwLHJldHJhbnM9Mixub3JlDQo+IMKgwqDCoCA+IHN2cG9ydCBmcy02NzAwZjU1My5lZnMuZXUt d2VzdC0xLmFtYXpvbmF3cy5jb206LyBlZnMNCj4gwqDCoMKgID7CoMKgwqDCoCBbcm9vdEBpcC0x NzItMzEtMjgtMTM1IGVjMi11c2VyXSMgcnN5bmMgLS1wcm9ncmVzcyBlZnMvdGVzdCAuDQo+IMKg wqDCoCA+wqDCoMKgwqAgdGVzdA0KPiDCoMKgwqAgPsKgwqDCoMKgwqDCoCA4LDU4OSw5MzQsNTky IDEwMCXCoCAzMTMuMjBNQi9zwqDCoMKgIDA6MDA6MjYgKHhmciMxLCB0by0NCj4gY2hrPTAvMSkN Cj4gwqDCoMKgID4NCj4gwqDCoMKgID4NCj4gwqDCoMKgID4NCj4gIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IMKg wqDCoCA+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDC oMKgIEFmdGVyIHRoZSB1cGdyYWRlIHVzaW5nIHRoZSBzYW1lIGNsaWVudCAmIHNlcnZlcjoNCj4g wqDCoMKgID7CoMKgwqDCoCAjdW5hbWUgLXI7IHN5bmM7IGVjaG8gMyA+IC9wcm9jL3N5cy92bS9k cm9wX2NhY2hlczsgLi9uZnMtDQo+IMKgwqDCoCA+IHJlYWRhaGVhZCBzaG93IC9ob21lL2VjMi11 c2VyL2Vmcy87cnN5bmMgLS1wcm9ncmVzcyBlZnMvdGVzdCAuDQo+IMKgwqDCoCA+wqDCoMKgwqAg NS40LjAtMS4xMzIuNjQuYW16bjIueDg2XzY0DQo+IMKgwqDCoCA+wqDCoMKgwqAgL2hvbWUvZWMy LXVzZXIvZWZzIDA6NDAgL3N5cy9jbGFzcy9iZGkvMDo0MC9yZWFkX2FoZWFkX2tiID0NCj4gMTI4 DQo+IMKgwqDCoCA+wqDCoMKgwqAgdGVzdA0KPiDCoMKgwqAgPsKgwqDCoMKgwqDCoCAxLDA3Myw3 NDEsODI0IDEwMCXCoMKgIDY4LjYxTUIvc8KgwqDCoCAwOjAwOjE0ICh4ZnIjMSwgdG8tDQo+IGNo az0wLzEpDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+wqDCoMKgwqAgLVdlIGFy ZcKgIHJlY29tbWVuZGluZ1syXSBFRlMgdXNlcnMgdG8gdXNlIHJzaXplPTEwNDg1NzYgYXMNCj4g bW91bnQNCj4gwqDCoMKgID4gb3B0aW9uIGZvciBnZXR0aW5nIHRoZSBiZXN0IHJlYWQgcGVyZm9y bWFuY2UgZnJvbSB0aGVpciBFRlMNCj4gZXhwb3J0cw0KPiDCoMKgwqAgPiBnaXZlbiB0aGF0IEVD MiB0byBFRlMgdHJhZmZpYyBpcyByZXNpZGluZyBpbiB0aGUgc2FtZSBBV1MNCj4gwqDCoMKgID4g YXZhaWxhYmlsaXR5IHpvbmUgaGVuY2UgaXQgaGFzIGxvdyBsYXRlbmN5IGFuZCB1cCB0byAyNTAt DQo+IDMwME1CL3NlYw0KPiDCoMKgwqAgPiB0aHJvdWdocHV0IGhvd2V2ZXIgd2l0aCB0aGUgbWVu dGlvbmVkIHBhdGNoIG1lcmdlZCB0aGUgY3VzdG9tZXINCj4gY2Fu4oCZdA0KPiDCoMKgwqAgPiBh Y2hpZXZlIHRoaXMgdGhyb3VnaHB1dCBhZnRlciB0aGUga2VybmVsIHVwZ3JhZGUgYmVjYXVzZSB0 aGUNCj4gZGVmYXVsdA0KPiDCoMKgwqAgPiBORlMgcmVhZCBhaGVhZCBoYXMgYmVlbiBkZWNyZWFz ZWQgZnJvbSAoMTUqcnNpemUpPTE1IE1CIHRvIDEyOEtCDQo+IHNvDQo+IMKgwqDCoCA+IHRoZSBj bGllbnRzIGhhdmUgdG8gbWFudWFsbHkgcmFpc2UgdGhlIG1hbnVhbGx5IHJhaXNlIHRoZQ0KPiDC oMKgwqAgPiByZWFkX2FoZWFkX2tiIHBhcmFtZXRlciBmcm9tIDEyOCB0byAxNTM2MCB0byBnZXQg dGhlIHNhbWUNCj4gZXhwZXJpZW5jZQ0KPiDCoMKgwqAgPiB0aGV5IHdlcmUgZ2V0dGluZyBiZWZv cmUgdGhlIHVwZ3JhZGUuDQo+IMKgwqDCoCA+wqDCoMKgwqAgLVdlIGtub3cgdGhhdCB0aGUgcHVy cG9zZSBvZiB0aGUgbWVudGlvbmVkIHBhdGNoIHdhcyB0bw0KPiBkZWNyZWFzZQ0KPiDCoMKgwqAg PiBPUyBib290IHRpbWUgKGZvciBuZXRib290IHVzZXJzKSBhbHNvIGRlY3JlYXNpbmcgQXBwbGlj YXRpb24NCj4gc3RhcnQgdXANCj4gwqDCoMKgID4gdGltZXMgaW4gY29uZ2VzdGVkICYgTG93IHRo cm91Z2hwdXQgbmV0d29ya3MgYXMgbWVudGlvbmVkIGluIFszXSwNCj4gwqDCoMKgID4gaG93ZXZl ciB0aGlzIHdvdWxkIGFsc28gY2F1c2UgcmVncmVzc2lvbiBmb3IgaGlnaCB0aHJvdWdocHV0ICYN Cj4gbG93DQo+IMKgwqDCoCA+IGxhdGVuY3kgd29ya2xvYWQgZXNwZWNpYWxseSBzZXF1ZW50aWFs IHJlYWQgd29ya2Zsb3dzLg0KPiDCoMKgwqAgPsKgwqDCoMKgIC1BZnRlciBkb2luZyBmdXJ0aGVy IGRlYnVnZ2luZyB3ZSBhbHNvIGZvdW5kIHRoYXQgdGhlIG1heGltdW0NCj4gwqDCoMKgID4gcmVh ZCBhaGVhZCBzaXplIGlzIGNvbnN0YW50IHNvIHRoZXJlIGlzIG5vIEF1dG90dW5pbmcgZm9yIHRo aXMNCj4gwqDCoMKgID4gY29uZmlndXJhdGlvbiBldmVuIGlmIHRoZSBjbGllbnQgaXMgZmlsbGlu ZyB0aGUgcmVhZCBhaGVhZCB3aW5kb3cNCj4gwqDCoMKgID4gd2hpY2ggbWVhbnMgYW55IE5GUyBj bGllbnQgc3BlY2lhbGx5IG9uZXMgdXNpbmcgbWF4aW11bSByc2l6ZQ0KPiBtb3VudA0KPiDCoMKg wqAgPiBvcHRpb24gd2lsbCBoYXZlIHRvIG1hbnVhbGx5IHR1bmUgdGhlaXIgbWF4aW11bSBORlMg cmVhZCBhaGVhZA0KPiBzaXplDQo+IMKgwqDCoCA+IGFmdGVyIHRoZSB1cGdyYWRlIHdoaWNoIGlu IG15IG9waW5pb24gaXMgc29tZSBzb3J0IG9mIHJlZ3Jlc3Npb24NCj4gZnJvbQ0KPiDCoMKgwqAg PiBvbGRlciBrZXJuZWxzIGJlaGF2aW91ci4NCj4gwqDCoMKgID4NCj4gwqDCoMKgID4NCj4gwqDC oMKgID4NCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IMKgwqDCoCA+ICMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ IMKgwqDCoCA+DQo+IMKgwqDCoCA+wqDCoMKgwqAgQWZ0ZXIgaW5jcmVhc2luZyB0aGUgbWF4aW11 bSBORlMgcmVhZCBhaGVhZCBzaXplIHRvIDE1TUIgaXTigJlzDQo+IMKgwqDCoCA+IGNsZWFyIHRo YXQgcmVhZCBhaGVhZCB3aW5kb3cgaXMgZXhwYW5kZWQgYXMgZXhwZWN0ZWQgYW5kIGl0IHdpbGwN Cj4gYmUNCj4gwqDCoMKgID4gZG91YmxlZCB1bnRpbCBpdCByZWFjaCAxNU1CLg0KPiDCoMKgwqAg Pg0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMToyNToxOCBpcC0xNzItMzEtMTctMTkxIGtl cm5lbDogaW5pdF9yYV9zaXplIDI1Ng0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMToyNTox OCBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogY3VycmVudCByYSAyNTYNCj4gwqDCoMKgID7CoMKg wqDCoCBNYXIgMjkgMTE6MjU6MTggaXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IG1heCByYSAzODQw DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjI1OjE4IGlwLTE3Mi0zMS0xNy0xOTEga2Vy bmVsOiBjdXJyZW50IHJhIDU5DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjI1OjE4IGlw LTE3Mi0zMS0xNy0xOTEga2VybmVsOiBtYXggcmEgMzINCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIg MjkgMTE6MjU6MTggaXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IGN1cnJlbnQgcmEgNTEyDQo+IMKg wqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjI1OjE4IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBt YXggcmEgMzg0MA0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMToyNToxOCBpcC0xNzItMzEt MTctMTkxIGtlcm5lbDogY3VycmVudCByYSAxMDI0DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5 IDExOjI1OjE4IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBtYXggcmEgMzg0MA0KPiDCoMKgwqAg PsKgwqDCoMKgIE1hciAyOSAxMToyNToxOCBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogY3VycmVu dCByYSAyMDQ4DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjI1OjE4IGlwLTE3Mi0zMS0x Ny0xOTEga2VybmVsOiBtYXggcmEgMzg0MA0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPg0KPiDCoMKg wqAgPg0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gwqDCoMKgID4gIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4g wqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCBXaXRoIDEyOEtCIGFzIG1heGltdW0gTkZTIHJl YWQgYWhlYWQgc2l6ZSzCoCB0aGUgcmVhZCBhaGVhZA0KPiB3aW5kb3cNCj4gwqDCoMKgID4gc2l6 ZSBpcyBpbmNyZWFzaW5nIHVudGlsIGl0IHJlYWNoIHRoZSBjb25maWd1cmVkIG1heGltdW0gUmVh ZA0KPiBhaGVhZA0KPiDCoMKgwqAgPiAoMTI4S0IpLg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKg wqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogbWF4IHJhIDMy DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2Vy bmVsOiBtYXggcmEgMzINCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIgMjkgMTE6MzU6MzcgaXAtMTcy LTMxLTE3LTE5MSBrZXJuZWw6IGluaXRfcmFfc2l6ZSAzMg0KPiDCoMKgwqAgPsKgwqDCoMKgIE1h ciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogY3VycmVudCByYSA0MA0KPiDC oMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDog Y3VycmVudCByYSAzMg0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0xNzIt MzEtMTctMTkxIGtlcm5lbDogbWF4IHJhIDMyDQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDEx OjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBjdXJyZW50IHJhIDQwDQo+IMKgwqDCoCA+ wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBtYXggcmEg MzINCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIgMjkgMTE6MzU6MzcgaXAtMTcyLTMxLTE3LTE5MSBr ZXJuZWw6IGN1cnJlbnQgcmEgNjQNCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIgMjkgMTE6MzU6Mzcg aXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IG1heCByYSAzMg0KPiDCoMKgwqAgPsKgwqDCoMKgIE1h ciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogbWF4IHJhIDMyDQo+IMKgwqDC oCA+wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBpbml0 X3JhX3NpemUgNA0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0xNzItMzEt MTctMTkxIGtlcm5lbDogY3VycmVudCByYSA0DQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDEx OjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBtYXggcmEgMzINCj4gwqDCoMKgID7CoMKg wqDCoCBNYXIgMjkgMTE6MzU6MzcgaXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IGN1cnJlbnQgcmEg NjQNCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIgMjkgMTE6MzU6MzcgaXAtMTcyLTMxLTE3LTE5MSBr ZXJuZWw6IG1heCByYSA2NA0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0x NzItMzEtMTctMTkxIGtlcm5lbDogY3VycmVudCByYSA2NA0KPiDCoMKgwqAgPsKgwqDCoMKgIE1h ciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5lbDogbWF4IHJhIDMyDQo+IMKgwqDC oCA+wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBjdXJy ZW50IHJhIDMyDQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0x Ny0xOTEga2VybmVsOiBtYXggcmEgMzINCj4gwqDCoMKgID7CoMKgwqDCoCBNYXIgMjkgMTE6MzU6 MzcgaXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IGN1cnJlbnQgcmEgNTkNCj4gwqDCoMKgID7CoMKg wqDCoCBNYXIgMjkgMTE6MzU6MzcgaXAtMTcyLTMxLTE3LTE5MSBrZXJuZWw6IG1heCByYSAzMg0K PiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0xNzItMzEtMTctMTkxIGtlcm5l bDogY3VycmVudCByYSAzMg0KPiDCoMKgwqAgPsKgwqDCoMKgIE1hciAyOSAxMTozNTozNyBpcC0x NzItMzEtMTctMTkxIGtlcm5lbDogbWF4IHJhIDMyDQo+IMKgwqDCoCA+wqDCoMKgwqAgTWFyIDI5 IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBjdXJyZW50IHJhIDMyDQo+IMKgwqDC oCA+wqDCoMKgwqAgTWFyIDI5IDExOjM1OjM3IGlwLTE3Mi0zMS0xNy0xOTEga2VybmVsOiBtYXgg cmEgMzINCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAtSW4gbXkgcmVwcm9kdWN0aW9u IEkgdXNlZCByc3luYyBhcyBjbGFyaWZpZWQgYWJvdmUgYW5kIGl0IGlzDQo+IMKgwqDCoCA+IGFs d2F5cyBkb2luZyByZWFkIHN5c2NhbGxzIHJlcXVlc3RpbmcgMjU2IEtCIGluIGVhY2ggY2FsbDoN Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC43ODA2NTggcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzc0OT4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC44MDU0NjcgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzczOT4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC44MzAyNzIgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzY2ND4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC44NTQ5NzIgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzgxND4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC44Nzk4MzcgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzYyNT4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC45MDQ0OTYgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzY0NT4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC45MjkxODAgcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyNDA3Mj4N Cj4gwqDCoMKgID7CoMKgwqDCoCAxNTo0NzoxMC45NTQzMDggcmVhZCgzLA0KPiDCoMKgwqAgPg0K PiAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFww XDBcMFwwXDBcMCIuLi4NCj4gwqDCoMKgID4gLCAyNjIxNDQpID0gMjYyMTQ0IDwwLjAyMzY2OT4N Cj4gwqDCoMKgID4NCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAtTG9va2luZyBpbnRv IHRoZSByZWFkYWhlYWQgc291cmNlIGNvZGUgYW5kIEkgY2FuIHNlZSB0aGF0DQo+IMKgwqDCoCA+ IHJlYWRhaGVhZCBpcyBkb2luZyBzb21lIGhldXJpc3RpY3MgdG8gZGV0ZXJtaW5lIGlmIHRoZSBh Y2Nlc3MNCj4gcGF0dGVybg0KPiDCoMKgwqAgPiBpcyBzZXF1ZW50aWFsIG9yIHJhbmRvbSB0aGVu IGl0IG1vZGlmeSB0aGUgcmVhZCBhaGVhZA0KPiB3aW5kb3coYW1vdW50DQo+IMKgwqDCoCA+IG9m IGRhdGEgaXQgd2lsbCBwcmVmZXRjaCkgYWNjb3JkaW5nbHksIHJlYWQgYWhlYWQgY2FuJ3QgYWxz byByZWFkDQo+IMKgwqDCoCA+IGJleW9uZCB0aGUgcmVxdWVzdGVkIGZpbGUgc2l6ZSwgdGhpcyB0 aGVvcmV0aWNhbGx5IG1lYW5zIHRoYXQNCj4gaGF2aW5nDQo+IMKgwqDCoCA+IExhcmdlIE5GUyBN YXggcmVhZCBhaGVhZCBzaXplICgxNU1CKSBzaG91bGRuJ3QgaGF2ZSBtdWNoIGltcGFjdA0KPiBv bg0KPiDCoMKgwqAgPiBwZXJmb3JtYW5jZSBldmVuIHdpdGggcmFuZG9tIEkvTyBwYXR0ZXJuIG9y IHdpdGggZGF0YSBzZXQNCj4gY29uc2lzdHMgb2YNCj4gwqDCoMKgID4gc21hbGwgZmlsZXMsIHRo ZSBvbmx5IG1ham9yIGltcGFjdCBvZiBoYXZpbmcgbGFyZ2UgTkZTIHJlYWQgYWhlYWQNCj4gwqDC oMKgID4gc2l6ZSB3b3VsZCBiZSBzb21lIG5ldHdvcmtpbmcgY29uZ2VzdGlvbiBvciBib290dXAg ZGVsYXkgd2l0aA0KPiBob3N0cw0KPiDCoMKgwqAgPiB1c2luZyBjb25nZXN0ZWQgb3IgbG93IHRo cm91Z2hwdXQgbmV0d29ya3MgYXMgaWxsdXN0cmF0ZWQgaW4NCj4gwqDCoMKgID4gaHR0cHM6Ly9i dWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5MznCoCYNCj4gwqDCoMKgID4g DQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LW5mcy8wYjc2MjEzZS00MjZiLTA2NTQt NWI2OS0wMmJmZWFkNzgwMzFAZ21haWwuY29tL1QvDQo+IMKgwqDCoCA+IC4NCj4gwqDCoMKgID7C oMKgwqDCoCAtV2l0aCBwYXRjaA0KPiDCoMKgwqAgPiBodHRwczovL3d3dy5zcGluaWNzLm5ldC9s aXN0cy9saW51eC1uZnMvbXNnNzUwMTguaHRtbMKgdGhlIHBhY2tldA0KPiDCoMKgwqAgPiBjYXB0 dXJlcyBhcmUgc2hvd2luZyB0aGUgY2xpZW50IGVpdGhlciBhc2tpbmcgZm9yIDEyOEtCIG9yIDI1 NiBLQg0KPiBpbg0KPiDCoMKgwqAgPiB0aGUgTkZTIFJFQUQgY2FsbHMgYW5kIGl0IGNhbid0IHJl YWNoIGV2ZW4gdGhlIDFNQiBjb25maWd1cmVkDQo+IHJzaXplDQo+IMKgwqDCoCA+IG1vdW50IG9w dGlvbiB0aGlzIGlzIGJlY2F1c2UgdGhlIG9uZGVtYW5kX3JlYWRhaGVhZCB3aGljaCBzaG91bGQN Cj4gYmUNCj4gwqDCoMKgID4gcmVzcG9uc2libGUgZm9yIG1vdmluZyBhbmQgc2NhbGluZyB0aGUg cmVhZCBhaGVhZCB3aW5kb3cgaGFzIGFuDQo+IGlmDQo+IMKgwqDCoCA+IGNvbmRpdGlvbiB3aGlj aCB3YXMgYSBwYXJ0IG9mDQo+IMKgwqDCoCA+IA0KPiBodHRwczovL3d3dy5tYWlsLWFyY2hpdmUu Y29tL2xpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcvbXNnMTI3NDc0My5odG1sDQo+IMKgwqDC oCA+ICwgdGhpcyBwYXRjaCBhY3R1YWxseSBtb2RpZmllZCByZWFkIGFoZWFkIHRvIGlzc3VlIHRo ZSBtYXhpbXVtIG9mDQo+IHRoZQ0KPiDCoMKgwqAgPiB1c2VyIHJlcXVlc3Qgc2l6ZShyc3luYyBp cyBkb2luZyAyNTZLQiByZWFkIHJlcXVlc3RzKSwgYW5kIHRoZQ0KPiByZWFkLQ0KPiDCoMKgwqAg PiBhaGVhZCBtYXggc2l6ZSgxMjhLQiBieSBkZWZhdWx0KSwgYnV0IGNhcHBlZCB0byB0aGUgbWF4 IHJlcXVlc3QNCj4gc2l6ZQ0KPiDCoMKgwqAgPiBvbiB0aGUgZGV2aWNlIHNpZGUoMU1CIGluIG91 ciBjYXNlKS4gVGhlIGxhdHRlciBpcyBkb25lIHRvIGF2b2lkDQo+IMKgwqDCoCA+IHJlYWRpbmcg YWhlYWQgdG9vIG11Y2gsIGlmIHRoZSBhcHBsaWNhdGlvbiBhc2tzIGZvciBhIGh1Z2UgcmVhZC4N Cj4gdGhpcw0KPiDCoMKgwqAgPiBpcyB3aHkgd2l0aCAxMjhLQiBhcyByZWFkIGFoZWFkIHNpemUg YW5kIGFwcGxpY2F0aW9uIGFza2luZyBmb3INCj4gMjU2S0INCj4gwqDCoMKgID4gd2UgbmV2ZXIg ZXhjZWVkIDI1NktCIGJlY2F1c2UgdGhpcyBwYXRjaCBhY3R1YWxseSBpbnRlbmRlZCB0byBkbw0K PiDCoMKgwqAgPiB0aGF0LCBpdCBhdm9pZHMgbGltaXRpbmcgdGhlIHJlcXVlc3RlZCBkYXRhIHRv IHRoZSBtYXhpbXVtIHJlYWQNCj4gYWhlYWQNCj4gwqDCoMKgID4gc2l6ZSBidXQgd2UgYXJlIHN0 aWxsIGxpbWl0ZWQgYnkgdGhlIG1pbmltdW0gYmV0d2VlbiBhbW91bnQgb2YNCj4gZGF0YQ0KPiDC oMKgwqAgPiBhcHBsaWNhdGlvbiBpcyByZWFkaW5nIHdoaWNoIGlzIDI1NktCIGFzIHN5bmMgaW4g cnN5bmMgc3RyYWNlDQo+IG91dHB1dA0KPiDCoMKgwqAgPiAmIGJkaS0+aW9fcGFnZXMoMjU2IHBh Z2VzPTFNQikgYXMgY29uZmlndXJlZCBpbiB0aGUgcnNpemUgbW91bnQNCj4gwqDCoMKgID4gb3B0 aW9uLg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIC1PdXRwdXQgYWZ0ZXIgYWRkaW5n IHNvbWUgZGVidWdnaW5nIHRvIHRoZSBrZXJuZWwgc2hvd2luZyB0aGUNCj4gwqDCoMKgID4gc2l6 ZSBvZiBlYWNoIHZhcmlhYmxlIGluIHRoZSBtZW50aW9uZWQgImlmIiBjb25kaXRpb246DQo+IMKg wqDCoCA+DQo+IMKgwqDCoCA+wqDCoMKgwqAgW8KgIDIzOC4zODc3ODhdIHJlcV9zaXplPSA2NCAt LS0tLS0+MjU2TUIgcnN5bmMgcmVhZCByZXF1ZXN0cw0KPiDCoMKgwqAgPsKgwqDCoMKgIFvCoCAy MzguMzg3NzkwXSBpbyBwYWdlcz0gMjU2LS0tLS0+MU1CIGFzIHN1cHBvcnRlZCBieSBFRlMgYW5k DQo+IGFzDQo+IMKgwqDCoCA+IGNvbmZpZ3VyZWQgaW4gdGhlIHJzaXplIG1vdW50IG9wdGlvbi4N Cj4gwqDCoMKgID7CoMKgwqDCoCBbwqAgMjM4LjM5MDQ4N10gbWF4X3BhZ2VzIGJlZm9yZT0gMzIt LS0tLT4xMjggS0IgcmVhZCBhaGVhZA0KPiBzaXplDQo+IMKgwqDCoCA+IHdoaWNoIGlzIHRoZSBk ZWZhdWx0Lg0KPiDCoMKgwqAgPsKgwqDCoMKgIFvCoCAyMzguMzkzMTc3XSBtYXhfcGFnZXMgYWZ0 ZXI9IDY0LS0tLT5yYWlzZWQgdG8gMjU2IEtCDQo+IGJlY2F1c2UNCj4gwqDCoMKgID4gb2YgY2hh bmdlcyBtZW50aW9uZWQgaW4gWzRdICJtYXhfcGFnZXMgPSBtaW4ocmVxX3NpemUsIGJkaS0NCj4g wqDCoMKgID4gPmlvX3BhZ2VzKTsiDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+ IA0KPiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL21tL3Jl YWRhaGVhZC5jI0w0MzUNCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAvKg0KPiDCoMKg wqAgPsKgwqDCoMKgwqAgKiBBIG1pbmltYWwgcmVhZGFoZWFkIGFsZ29yaXRobSBmb3IgdHJpdmlh bA0KPiBzZXF1ZW50aWFsL3JhbmRvbQ0KPiDCoMKgwqAgPiByZWFkcy4NCj4gwqDCoMKgID7CoMKg wqDCoMKgICovDQo+IMKgwqDCoCA+wqDCoMKgwqAgc3RhdGljIHZvaWQgb25kZW1hbmRfcmVhZGFo ZWFkKHN0cnVjdCByZWFkYWhlYWRfY29udHJvbA0KPiAqcmFjdGwsDQo+IMKgwqDCoCA+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBmaWxlX3JhX3N0YXRlICpyYSwgYm9vbCBoaXRfcmVh ZGFoZWFkX21hcmtlciwNCj4gwqDCoMKgID7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWdu ZWQgbG9uZyByZXFfc2l6ZSkNCj4gwqDCoMKgID7CoMKgwqDCoCB7DQo+IMKgwqDCoCA+wqDCoMKg wqDCoMKgwqDCoCBzdHJ1Y3QgYmFja2luZ19kZXZfaW5mbyAqYmRpID0gaW5vZGVfdG9fYmRpKHJh Y3RsLQ0KPiA+bWFwcGluZy0NCj4gwqDCoMKgID4gPmhvc3QpOw0KPiDCoMKgwqAgPsKgwqDCoMKg wqDCoMKgwqAgdW5zaWduZWQgbG9uZyBtYXhfcGFnZXMgPSByYS0+cmFfcGFnZXM7DQo+IMKgwqDC oCA+wqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIGFkZF9wYWdlczsNCj4gwqDCoMKgID7C oMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgaW5kZXggPSByZWFkYWhlYWRfaW5kZXgocmFj dGwpOw0KPiDCoMKgwqAgPsKgwqDCoMKgwqDCoMKgwqAgcGdvZmZfdCBwcmV2X2luZGV4Ow0KPiDC oMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgwqDCoMKgwqAgLyoNCj4gwqDCoMKgID7CoMKgwqDC oMKgwqDCoMKgwqAgKiBJZiB0aGUgcmVxdWVzdCBleGNlZWRzIHRoZSByZWFkYWhlYWQgd2luZG93 LCBhbGxvdyB0aGUNCj4gwqDCoMKgID4gcmVhZCB0bw0KPiDCoMKgwqAgPsKgwqDCoMKgwqDCoMKg wqDCoCAqIGJlIHVwIHRvIHRoZSBvcHRpbWFsIGhhcmR3YXJlIElPIHNpemUNCj4gwqDCoMKgID7C oMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4gwqDCoMKgID7CoMKgwqDCoMKgwqDCoMKgIGlmIChyZXFf c2l6ZSA+IG1heF9wYWdlcyAmJiBiZGktPmlvX3BhZ2VzID4gbWF4X3BhZ2VzKQ0KPiDCoMKgwqAg PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYXhfcGFnZXMgPSBtaW4ocmVxX3NpemUsIGJkaS0+ aW9fcGFnZXMpOw0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAg Pg0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gwqDCoMKgID4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAtV2l0aCAxMjhLQiBhcyBkZWZhdWx0 IG1heGltdW0gcmVhZCBhaGVhZCBzaXplIHRoZSBwYWNrZXQNCj4gY2FwdHVyZQ0KPiDCoMKgwqAg PiBmcm9tIHRoZSBjbGllbnQgc2lkZSBpcyBzaG93aW5nIHRoZSBORlN2NCBSRUFEIGNhbGxzwqAg c2hvd2luZw0KPiBjb3VudA0KPiDCoMKgwqAgPiBpbiBieXRlc8KgIG1vdmluZyBiZXR3ZWVuIDEy OEtCIHRvIDI1NktCLg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDAzwqDCoMKg wqDCoMKgwqDCoCAyOSAxNzIuMzEuMTcuMTkxIC0+IDE3Mi4zMS4yOC4xNjEgTkZTIDM5NCBWNA0K PiBDYWxsDQo+IMKgwqDCoCA+IFJFQUQgU3RhdGVJRDogMHhjZWMyIE9mZnNldDogMTA3Mjk1NTM5 MiBMZW46IDEzMTA3Mg0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDA0wqDCoMKgwqDCoMKgwqDCoCAy OSAxNzIuMzEuMTcuMTkxIC0+IDE3Mi4zMS4yOC4xNjEgTkZTIDM5NCBWNA0KPiBDYWxsDQo+IMKg wqDCoCA+IFJFQUQgU3RhdGVJRDogMHhjZWMyIE9mZnNldDogMTA3MzA4NjQ2NCBMZW46IDI2MjE0 NA0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDA2wqDCoMKgwqDCoMKgwqDCoCAyOSAxNzIuMzEuMjgu MTYxIC0+IDE3Mi4zMS4xNy4xOTEgTkZTIDg2OTkgVjQNCj4gUmVwbHkNCj4gwqDCoMKgID4gKENh bGwgSW4gNzM0MDMpW1VucmVhc3NlbWJsZWQgUGFja2V0XQ0KPiDCoMKgwqAgPsKgwqDCoMKgIDcz NDE1wqDCoMKgwqDCoMKgwqDCoCAyOSAxNzIuMzEuMTcuMTkxIC0+IDE3Mi4zMS4yOC4xNjEgTkZT IDM5NCBWNA0KPiBDYWxsDQo+IMKgwqDCoCA+IFJFQUQgU3RhdGVJRDogMHhjZWMyIE9mZnNldDog MTA3MzM0ODYwOCBMZW46IDEzMTA3Mg0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDE2wqDCoMKgwqDC oMKgwqDCoCAyOSAxNzIuMzEuMjguMTYxIC0+IDE3Mi4zMS4xNy4xOTEgTkZTIDg2OTkgVjQNCj4g UmVwbHkNCj4gwqDCoMKgID4gKENhbGwgSW4gNzM0MDQpW1VucmVhc3NlbWJsZWQgUGFja2V0XQ0K PiDCoMKgwqAgPsKgwqDCoMKgIDczNDI4wqDCoMKgwqDCoMKgwqDCoCAyOSAxNzIuMzEuMTcuMTkx IC0+IDE3Mi4zMS4yOC4xNjEgTkZTIDM5NCBWNA0KPiBDYWxsDQo+IMKgwqDCoCA+IFJFQUQgU3Rh dGVJRDogMHhjZWMyIE9mZnNldDogMTA3MzQ3OTY4MCBMZW46IDEzMTA3Mg0KPiDCoMKgwqAgPsKg wqDCoMKgIDczNDI5wqDCoMKgwqDCoMKgwqDCoCAyOSAxNzIuMzEuMjguMTYxIC0+IDE3Mi4zMS4x Ny4xOTEgTkZTIDg2OTkgVjQNCj4gUmVwbHkNCj4gwqDCoMKgID4gKENhbGwgSW4gNzM0MTUpW1Vu cmVhc3NlbWJsZWQgUGFja2V0XQ0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDM4wqDCoMKgwqDCoMKg wqDCoCAyOSAxNzIuMzEuMTcuMTkxIC0+IDE3Mi4zMS4yOC4xNjEgTkZTIDM5NCBWNA0KPiBDYWxs DQo+IMKgwqDCoCA+IFJFQUQgU3RhdGVJRDogMHhjZWMyIE9mZnNldDogMTA3MzYxMDc1MiBMZW46 IDEzMTA3Mg0KPiDCoMKgwqAgPsKgwqDCoMKgIDczNDM5wqDCoMKgwqDCoMKgwqDCoCAyOSAxNzIu MzEuMjguMTYxIC0+IDE3Mi4zMS4xNy4xOTEgTkZTIDg2OTkgVjQNCj4gUmVwbHkNCj4gwqDCoMKg ID4gKENhbGwgSW4gNzM0MjgpW1VucmVhc3NlbWJsZWQgUGFja2V0XQ0KPiDCoMKgwqAgPg0KPiDC oMKgwqAgPsKgwqDCoMKgIC1uZnNzdGF0IGlzIHNob3dpbmcgODE4MyBORlNWNCBSRUFEIGNhbGxz IHJlcXVpcmVkIHRvIHJlYWQNCj4gMUdCDQo+IMKgwqDCoCA+IGZpbGUuDQo+IMKgwqDCoCA+DQo+ IMKgwqDCoCA+wqDCoMKgwqAgIyBuZnNzdGF0DQo+IMKgwqDCoCA+wqDCoMKgwqAgQ2xpZW50IHJw YyBzdGF0czoNCj4gwqDCoMKgID7CoMKgwqDCoCBjYWxsc8KgwqDCoMKgwqAgcmV0cmFuc8KgwqDC oCBhdXRocmVmcnNoDQo+IMKgwqDCoCA+wqDCoMKgwqAgODIwNMKgwqDCoMKgwqDCoCAwwqDCoMKg wqDCoMKgwqDCoMKgIDgyMDQNCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCBDbGllbnQg bmZzIHY0Og0KPiDCoMKgwqAgPsKgwqDCoMKgIG51bGzCoMKgwqDCoMKgwqDCoMKgIHJlYWTCoMKg wqDCoMKgwqDCoMKgIHdyaXRlwqDCoMKgwqDCoMKgwqAgY29tbWl0wqDCoMKgwqDCoMKgIG9wZW4N Cj4gwqDCoMKgID4gb3Blbl9jb25mDQo+IMKgwqDCoCA+wqDCoMKgwqAgMcKgwqDCoMKgwqDCoMKg wqAgMCUgODE4M8KgwqDCoMKgIDk5JSAwwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKg wqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoA0KPiAwJQ0KPiDCoMKgwqAgPiAwwqDCoMKgwqDCoMKg wqDCoCAwJQ0KPiDCoMKgwqAgPsKgwqDCoMKgIG9wZW5fbm9hdMKgwqDCoCBvcGVuX2RncmTCoMKg wqAgY2xvc2XCoMKgwqDCoMKgwqDCoCBzZXRhdHRywqDCoMKgwqDCoCBmc2luZm8NCj4gwqDCoMKg ID4gcmVuZXcNCj4gwqDCoMKgID7CoMKgwqDCoCAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKg wqDCoMKgwqDCoCAwJSAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoCAwJSAy wqDCoMKgwqDCoMKgwqDCoA0KPiAwJQ0KPiDCoMKgwqAgPiAwwqDCoMKgwqDCoMKgwqDCoCAwJQ0K PiDCoMKgwqAgPsKgwqDCoMKgIHNldGNsbnRpZMKgwqDCoCBjb25maXJtwqDCoMKgwqDCoCBsb2Nr wqDCoMKgwqDCoMKgwqDCoCBsb2NrdMKgwqDCoMKgwqDCoMKgIGxvY2t1DQo+IMKgwqDCoCA+IGFj Y2Vzcw0KPiDCoMKgwqAgPsKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKg wqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKg wqDCoMKgwqDCoMKgDQo+IDAlDQo+IMKgwqDCoCA+IDHCoMKgwqDCoMKgwqDCoMKgIDAlDQo+IMKg wqDCoCA+wqDCoMKgwqAgZ2V0YXR0csKgwqDCoMKgwqAgbG9va3VwwqDCoMKgwqDCoMKgIGxvb2t1 cF9yb290wqAgcmVtb3ZlwqDCoMKgwqDCoMKgIHJlbmFtZQ0KPiDCoMKgwqAgPiBsaW5rDQo+IMKg wqDCoCA+wqDCoMKgwqAgNMKgwqDCoMKgwqDCoMKgwqAgMCUgMcKgwqDCoMKgwqDCoMKgwqAgMCUg McKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKg wqANCj4gMCUNCj4gwqDCoMKgID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7CoMKg wqDCoCBzeW1saW5rwqDCoMKgwqDCoCBjcmVhdGXCoMKgwqDCoMKgwqAgcGF0aGNvbmbCoMKgwqDC oCBzdGF0ZnPCoMKgwqDCoMKgwqAgcmVhZGxpbmsNCj4gwqDCoMKgID4gcmVhZGRpcg0KPiDCoMKg wqAgPsKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDHC oMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKg DQo+IDAlDQo+IMKgwqDCoCA+IDDCoMKgwqDCoMKgwqDCoMKgIDAlDQo+IMKgwqDCoCA+wqDCoMKg wqAgc2VydmVyX2NhcHPCoCBkZWxlZ3JldHVybsKgIGdldGFjbMKgwqDCoMKgwqDCoCBzZXRhY2zC oMKgwqDCoMKgwqANCj4gZnNfbG9jYXRpb25zDQo+IMKgwqDCoCA+IHJlbF9sa293bmVyDQo+IMKg wqDCoCA+wqDCoMKgwqAgM8KgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUg MMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKg wqANCj4gMCUNCj4gwqDCoMKgID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7CoMKg wqDCoCBzZWNpbmZvwqDCoMKgwqDCoCBleGNoYW5nZV9pZMKgIGNyZWF0ZV9zZXPCoMKgIGRlc3Ry b3lfc2VzwqAgc2VxdWVuY2UNCj4gwqDCoMKgID4gZ2V0X2xlYXNlX3QNCj4gwqDCoMKgID7CoMKg wqDCoCAwwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoCAwJSAywqDCoMKgwqDC oMKgwqDCoCAwJSAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoA0KPiAwJQ0K PiDCoMKgwqAgPiAwwqDCoMKgwqDCoMKgwqDCoCAwJQ0KPiDCoMKgwqAgPsKgwqDCoMKgIHJlY2xh aW1fY29tcCBsYXlvdXRnZXTCoMKgwqAgZ2V0ZGV2aW5mb8KgwqAgbGF5b3V0Y29tbWl0DQo+IGxh eW91dHJldHVybg0KPiDCoMKgwqAgPiBnZXRkZXZsaXN0DQo+IMKgwqDCoCA+wqDCoMKgwqAgMMKg wqDCoMKgwqDCoMKgwqAgMCUgMcKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAg MCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqANCj4gMCUNCj4gwqDCoMKg ID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7CoMKgwqDCoCAobnVsbCkNCj4gwqDC oMKgID7CoMKgwqDCoCAxIDAlDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+ ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIw0KPiDCoMKgwqAgPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiDC oMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIC1XaGVuIHVzaW5nIDE1TUIgYXMgbWF4aW11bSBy ZWFkIGFoZWFkIHNpemUsIHRoZSBjbGllbnQgaXMNCj4gwqDCoMKgID4gc2VuZGluZyAxTUIgTkZT VjQgcmVhZCByZXF1ZXN0cyBoZW5jZSBpdOKAmXMgYWJsZSB0byByZWFkIHRoZSBzYW1lDQo+IDFH Qg0KPiDCoMKgwqAgPiBmaWxlIGluIDEwMjQgTkZTIFJFQUQgY2FsbHMNCj4gwqDCoMKgID4NCj4g wqDCoMKgID7CoMKgwqDCoCAjdW5hbWUgLXI7IG1vdW50IC10IG5mczQgLW8NCj4gwqDCoMKgID4N Cj4gbmZzdmVycz00LjEscnNpemU9MTA1MjY3Mix3c2l6ZT0xMDQ4NTc2LGhhcmQsdGltZW89NjAw LHJldHJhbnM9Mixub3JlDQo+IMKgwqDCoCA+IHN2cG9ydCBmcy02NzAwZjU1My5lZnMuZXUtd2Vz dC0xLmFtYXpvbmF3cy5jb206LyBlZnM7IC4vbmZzLQ0KPiByZWFkYWhlYWQNCj4gwqDCoMKgID4g c2hvdyAvaG9tZS9lYzItdXNlci9lZnMvDQo+IMKgwqDCoCA+wqDCoMKgwqAgNS4zLjkNCj4gwqDC oMKgID7CoMKgwqDCoCAvaG9tZS9lYzItdXNlci9lZnMgMDo0MCAvc3lzL2NsYXNzL2JkaS8wOjQw L3JlYWRfYWhlYWRfa2IgPQ0KPiAxNTM2MA0KPiDCoMKgwqAgPsKgwqDCoMKgICNzeW5jOyBlY2hv IDMgPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMNCj4gwqDCoMKgID7CoMKgwqDCoCAjcnN5bmMg LS1wcm9ncmVzcyBlZnMvdGVzdCAuDQo+IMKgwqDCoCA+wqDCoMKgwqAgdGVzdA0KPiDCoMKgwqAg PsKgwqDCoMKgwqDCoCAxLDA3Myw3NDEsODI0IDEwMCXCoCAyNjAuMTVNQi9zwqDCoMKgIDA6MDA6 MDMgKHhmciMxLCB0by0NCj4gY2hrPTAvMSkNCj4gwqDCoMKgID7CoMKgwqDCoCBbcm9vdEBpcC0x NzItMzEtMTctNDIgZWMyLXVzZXJdIyBuZnNzdGF0DQo+IMKgwqDCoCA+wqDCoMKgwqAgQ2xpZW50 IHJwYyBzdGF0czoNCj4gwqDCoMKgID7CoMKgwqDCoCBjYWxsc8KgwqDCoMKgwqAgcmV0cmFuc8Kg wqDCoCBhdXRocmVmcnNoDQo+IMKgwqDCoCA+wqDCoMKgwqAgMTA0M8KgwqDCoMKgwqDCoCAwwqDC oMKgwqDCoMKgwqDCoMKgIDEwNDMNCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCBDbGll bnQgbmZzIHY0Og0KPiDCoMKgwqAgPsKgwqDCoMKgIG51bGzCoMKgwqDCoMKgwqDCoMKgIHJlYWTC oMKgwqDCoMKgwqDCoMKgIHdyaXRlwqDCoMKgwqDCoMKgwqAgY29tbWl0wqDCoMKgwqDCoMKgIG9w ZW4NCj4gwqDCoMKgID4gb3Blbl9jb25mDQo+IMKgwqDCoCA+wqDCoMKgwqAgMcKgwqDCoMKgwqDC oMKgwqAgMCUgMTAyNMKgwqDCoMKgIDk4JSAwwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDC oMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoA0KPiAwJQ0KPiDCoMKgwqAgPiAwwqDCoMKgwqDC oMKgwqDCoCAwJQ0KPiDCoMKgwqAgPsKgwqDCoMKgIG9wZW5fbm9hdMKgwqDCoCBvcGVuX2RncmTC oMKgwqAgY2xvc2XCoMKgwqDCoMKgwqDCoCBzZXRhdHRywqDCoMKgwqDCoCBmc2luZm8NCj4gwqDC oMKgID4gcmVuZXcNCj4gwqDCoMKgID7CoMKgwqDCoCAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDC oMKgwqDCoMKgwqDCoCAwJSAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoCAw JSAywqDCoMKgwqDCoMKgwqDCoA0KPiAwJQ0KPiDCoMKgwqAgPiAwwqDCoMKgwqDCoMKgwqDCoCAw JQ0KPiDCoMKgwqAgPsKgwqDCoMKgIHNldGNsbnRpZMKgwqDCoCBjb25maXJtwqDCoMKgwqDCoCBs b2NrwqDCoMKgwqDCoMKgwqDCoCBsb2NrdMKgwqDCoMKgwqDCoMKgIGxvY2t1DQo+IMKgwqDCoCA+ IGFjY2Vzcw0KPiDCoMKgwqAgPsKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDC oMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDC oMKgwqDCoMKgwqDCoMKgDQo+IDAlDQo+IMKgwqDCoCA+IDHCoMKgwqDCoMKgwqDCoMKgIDAlDQo+ IMKgwqDCoCA+wqDCoMKgwqAgZ2V0YXR0csKgwqDCoMKgwqAgbG9va3VwwqDCoMKgwqDCoMKgIGxv b2t1cF9yb290wqAgcmVtb3ZlwqDCoMKgwqDCoMKgIHJlbmFtZQ0KPiDCoMKgwqAgPiBsaW5rDQo+ IMKgwqDCoCA+wqDCoMKgwqAgMsKgwqDCoMKgwqDCoMKgwqAgMCUgMcKgwqDCoMKgwqDCoMKgwqAg MCUgMcKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDC oMKgwqANCj4gMCUNCj4gwqDCoMKgID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7C oMKgwqDCoCBzeW1saW5rwqDCoMKgwqDCoCBjcmVhdGXCoMKgwqDCoMKgwqAgcGF0aGNvbmbCoMKg wqDCoCBzdGF0ZnPCoMKgwqDCoMKgwqAgcmVhZGxpbmsNCj4gwqDCoMKgID4gcmVhZGRpcg0KPiDC oMKgwqAgPsKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAl IDHCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDCoMKgIDAlIDDCoMKgwqDCoMKgwqDC oMKgDQo+IDAlDQo+IMKgwqDCoCA+IDDCoMKgwqDCoMKgwqDCoMKgIDAlDQo+IMKgwqDCoCA+wqDC oMKgwqAgc2VydmVyX2NhcHPCoCBkZWxlZ3JldHVybsKgIGdldGFjbMKgwqDCoMKgwqDCoCBzZXRh Y2zCoMKgwqDCoMKgwqANCj4gZnNfbG9jYXRpb25zDQo+IMKgwqDCoCA+IHJlbF9sa293bmVyDQo+ IMKgwqDCoCA+wqDCoMKgwqAgM8KgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAg MCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDC oMKgwqANCj4gMCUNCj4gwqDCoMKgID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7C oMKgwqDCoCBzZWNpbmZvwqDCoMKgwqDCoCBleGNoYW5nZV9pZMKgIGNyZWF0ZV9zZXPCoMKgIGRl c3Ryb3lfc2VzwqAgc2VxdWVuY2UNCj4gwqDCoMKgID4gZ2V0X2xlYXNlX3QNCj4gwqDCoMKgID7C oMKgwqDCoCAwwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoCAwJSAywqDCoMKg wqDCoMKgwqDCoCAwJSAxwqDCoMKgwqDCoMKgwqDCoCAwJSAwwqDCoMKgwqDCoMKgwqDCoA0KPiAw JQ0KPiDCoMKgwqAgPiAwwqDCoMKgwqDCoMKgwqDCoCAwJQ0KPiDCoMKgwqAgPsKgwqDCoMKgIHJl Y2xhaW1fY29tcCBsYXlvdXRnZXTCoMKgwqAgZ2V0ZGV2aW5mb8KgwqAgbGF5b3V0Y29tbWl0DQo+ IGxheW91dHJldHVybg0KPiDCoMKgwqAgPiBnZXRkZXZsaXN0DQo+IMKgwqDCoCA+wqDCoMKgwqAg MMKgwqDCoMKgwqDCoMKgwqAgMCUgMcKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKg wqAgMCUgMMKgwqDCoMKgwqDCoMKgwqAgMCUgMMKgwqDCoMKgwqDCoMKgwqANCj4gMCUNCj4gwqDC oMKgID4gMMKgwqDCoMKgwqDCoMKgwqAgMCUNCj4gwqDCoMKgID7CoMKgwqDCoCAobnVsbCkNCj4g wqDCoMKgID7CoMKgwqDCoCAxIDAlDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+wqDCoMKgwqAgLVRo ZSBwYWNrZXQgY2FwdHVyZSBmcm9tIHRoZSBjbGllbnQgc2lkZSBpcyBzaG93aW5nIE5GU3Y0DQo+ IFJFQUQNCj4gwqDCoMKgID4gY2FsbHMgd2l0aCAxTUIgYXMgcmVhZCBjb3VudCBpbiBieXRlcyB3 aGVuIGhhdmluZyAxNU1CIGFzIG1heGltdW0NCj4gTkZTDQo+IMKgwqDCoCA+IHJlYWQgYWhlYWQg c2l6ZS4NCj4gwqDCoMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCAyMDIxLTAzLTIyIDE0OjI1OjM0 Ljk4NDczMcKgIDkzOTggMTcyLjMxLjE3LjQyIOKGkiAxNzIuMzEuMjguMTYxDQo+IE5GUw0KPiDC oMKgwqAgPiAwLjAwMDM3NSBWNCBDYWxsIFJFQUQgU3RhdGVJRDogMHgzNjQwIE9mZnNldDogOTQz NzE4NDAgTGVuOg0KPiAxMDQ4NTc2DQo+IMKgwqDCoCA+wqDCoMKgwqAgMjAyMS0wMy0yMiAxNDoy NTozNC45ODQ4MDXCoCA5NDA1IDE3Mi4zMS4xNy40MiDihpIgMTcyLjMxLjI4LjE2MQ0KPiBORlMN Cj4gwqDCoMKgID4gMC4wMDAwNzQgVjQgQ2FsbCBSRUFEIFN0YXRlSUQ6IDB4MzY0MCBPZmZzZXQ6 IDk1NDIwNDE2IExlbjoNCj4gMTA0ODU3Ng0KPiDCoMKgwqAgPsKgwqDCoMKgIDIwMjEtMDMtMjIg MTQ6MjU6MzQuOTg0OTAywqAgOTQxNiAxNzIuMzEuMTcuNDIg4oaSIDE3Mi4zMS4yOC4xNjENCj4g TkZTDQo+IMKgwqDCoCA+IDAuMDAwMDk3IFY0IENhbGwgUkVBRCBTdGF0ZUlEOiAweDM2NDAgT2Zm c2V0OiA5NjQ2ODk5MiBMZW46DQo+IDEwNDg1NzYNCj4gwqDCoMKgID7CoMKgwqDCoCAyMDIxLTAz LTIyIDE0OjI1OjM0Ljk4NDk0McKgIDk0MjEgMTcyLjMxLjE3LjQyIOKGkiAxNzIuMzEuMjguMTYx DQo+IE5GUw0KPiDCoMKgwqAgPiAwLjAwMDAzOSBWNCBDYWxsIFJFQUQgU3RhdGVJRDogMHgzNjQw IE9mZnNldDogOTc1MTc1NjggTGVuOg0KPiAxMDQ4NTc2DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+ DQo+IMKgwqDCoCA+DQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiDCoMKgwqAgPiAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIC1J IHRoaW5rIHRoZXJlIGFyZSAyIG9wdGlvbnMgdG8gbWl0aWdhdGUgdGhpcyBiZWhhdmlvdXIgd2hp Y2gNCj4gSQ0KPiDCoMKgwqAgPiBhbSBsaXN0aW5nIGJlbG93Og0KPiDCoMKgwqAgPsKgwqDCoMKg IEEpUmFpc2luZyB0aGUgZGVmYXVsdCBtYXhpbXVtIE5GUyByZWFkIGFoZWFkwqAgc2l6ZSBiZWNh dXNlDQo+IHRoZQ0KPiDCoMKgwqAgPiBjdXJyZW50IGRlZmF1bHQgMTI4S0IgZG9lc27igJl0IHNl ZW0gdG8gYmUgc3VmZmljaWVudCBmb3IgSGlnaA0KPiDCoMKgwqAgPiB0aHJvdWdob3V0ICYgbG93 IGxhdGVuY3kgd29ya2xvYWQsIEkgc3Ryb25nbHkgYmVsaWV2ZSB0aGF0IHRoZQ0KPiBORlMNCj4g wqDCoMKgID4gcnNpemUgbW91bnQgb3B0aW9uIHNob3VsZCBiZSB1c2VkIGFzIHZhcmlhYmxlIGlu IGRlY2lkaW5nIHRoZQ0KPiBtYXhpbXVtDQo+IMKgwqDCoCA+IE5GUyByZWFkIGFoZWFkwqAgc2l6 ZSB3aGljaCB3YXMgdGhlIGNhc2UgYmVmb3JlIFsxXSB3aGlsZSBub3cgaXTigJlzDQo+IMKgwqDC oCA+IGFsd2F5cyAxMjhLQiByZWdhcmRsZXNzIHRoZSB1dGlsaXplZCByc2l6ZSBtb3VudCBvcHRp b24uIEFsc28gSQ0KPiB0aGluaw0KPiDCoMKgwqAgPiBjbGllbnRzIHJ1bm5pbmcgaW4gSGlnaCBs YXRlbmN5ICYgTG93IHRocm91Z2hvdXQgZW52aXJvbm1lbnQNCj4gwqDCoMKgID4gc2hvdWxkbuKA mXQgdXNlIDFNQiBhcyByc2l6ZSBpbiB0aGVpciBtb3VudCBvcHRpb25zKGkuZSB0aGV5IHNob3Vs ZA0KPiB1c2UNCj4gwqDCoMKgID4gc21hbGxlciByc2l6ZSkgYmVjYXVzZSBpdCBtYXkgaW5jcmVh c2UgdGhlaXIgc3VmZmVyaW5nIGV2ZW4gd2l0aA0KPiBsb3cNCj4gwqDCoMKgID4gbWF4aW11bSBO RlMgcmVhZCBhaGVhZCBzaXplLg0KPiDCoMKgwqAgPsKgwqDCoMKgIEIpQWRkaW5nIHNvbWUgbG9n aWMgdG8gcmVhZCBhaGVhZCB0byBoYXZlIHNvbWUga2luZCBvZg0KPiBBdXRvdHVuaW5nDQo+IMKg wqDCoCA+IChTaW1pbGFyIHRvIFRDUCBBdXRvdHVuaW5nKSB3aGVyZSB0aGUgbWF4aW11bSByZWFk IGFoZWFkIHNpemUgY2FuDQo+IMKgwqDCoCA+IGR5bmFtaWNhbGx5IGluY3JlYXNlIGluIGNhc2Ug dGhlIGNsaWVudC9yZWFkZXIgaXMgY29uc3RhbnRseQ0KPiBmaWxsaW5nDQo+IMKgwqDCoCA+IHVw L3V0aWxpemluZyB0aGUgcmVhZCBhaGVhZCB3aW5kb3cgc2l6ZS4NCj4gwqDCoMKgID4NCj4gwqDC oMKgID4NCj4gwqDCoMKgID7CoMKgwqDCoCBMaW5rczoNCj4gwqDCoMKgID7CoMKgwqDCoCBbMV0g aHR0cHM6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtbmZzL21zZzc1MDE4Lmh0bWwNCj4g wqDCoMKgID7CoMKgwqDCoCBbMl0NCj4gwqDCoMKgID4gDQo+IGh0dHBzOi8vZG9jcy5hd3MuYW1h em9uLmNvbS9lZnMvbGF0ZXN0L3VnL21vdW50aW5nLWZzLW5mcy1tb3VudC1zZXR0aW5ncy5odG1s DQo+IMKgwqDCoCA+wqDCoMKgwqAgWzNdIGh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9MjA0OTM5DQo+IMKgwqDCoCA+wqDCoMKgwqAgWzRdDQo+IMKgwqDCoCA+IA0K PiBodHRwczovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2xpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5v cmcvbXNnMTI3NDc0My5odG1sDQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+wqDC oMKgwqAgVGhhbmsgeW91Lg0KPiDCoMKgwqAgPg0KPiDCoMKgwqAgPsKgwqDCoMKgIEhhemVtDQo+ IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+ DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+DQo+IMKgwqDCoCA+IEFtYXpvbiBXZWIgU2VydmljZXMg RU1FQSBTQVJMLCAzOCBhdmVudWUgSm9obiBGLiBLZW5uZWR5LCBMLTE4NTUNCj4gwqDCoMKgID4g THV4ZW1ib3VyZywgUi5DLlMuIEx1eGVtYm91cmcgQjE4NjI4NA0KPiDCoMKgwqAgPg0KPiDCoMKg wqAgPiBBbWF6b24gV2ViIFNlcnZpY2VzIEVNRUEgU0FSTCwgSXJpc2ggQnJhbmNoLCBPbmUgQnVy bGluZ3Rvbg0KPiBQbGF6YSwNCj4gwqDCoMKgID4gQnVybGluZ3RvbiBSb2FkLCBEdWJsaW4gNCwg SXJlbGFuZCwgYnJhbmNoIHJlZ2lzdHJhdGlvbiBudW1iZXINCj4gOTA4NzA1DQo+IMKgwqDCoCA+ DQo+IMKgwqDCoCA+DQo+IA0KPiDCoMKgwqAgLS0NCj4gwqDCoMKgIFRyb25kIE15a2xlYnVzdA0K PiDCoMKgwqAgQ1RPLCBIYW1tZXJzcGFjZSBJbmMNCj4gwqDCoMKgIDQ5ODQgRWwgQ2FtaW5vIFJl YWwsIFN1aXRlIDIwOA0KPiDCoMKgwqAgTG9zIEFsdG9zLCBDQSA5NDAyMg0KPiANCj4gwqDCoMKg IHd3dy5oYW1tZXIuc3BhY2UNCj4gDQo+IA0KPiANCj4gDQo+IA0KPiBBbWF6b24gV2ViIFNlcnZp Y2VzIEVNRUEgU0FSTCwgMzggYXZlbnVlIEpvaG4gRi4gS2VubmVkeSwgTC0xODU1DQo+IEx1eGVt Ym91cmcsIFIuQy5TLiBMdXhlbWJvdXJnIEIxODYyODQNCj4gDQo+IEFtYXpvbiBXZWIgU2Vydmlj ZXMgRU1FQSBTQVJMLCBJcmlzaCBCcmFuY2gsIE9uZSBCdXJsaW5ndG9uIFBsYXphLA0KPiBCdXJs aW5ndG9uIFJvYWQsIER1YmxpbiA0LCBJcmVsYW5kLCBicmFuY2ggcmVnaXN0cmF0aW9uIG51bWJl ciA5MDg3MDUNCj4gDQo+IA0KDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVu dCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNv bQ0KDQoNCg==