From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8524D456D0; Sat, 27 Jul 2024 20:44:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 706A2402A8; Sat, 27 Jul 2024 20:44:09 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2071.outbound.protection.outlook.com [40.107.243.71]) by mails.dpdk.org (Postfix) with ESMTP id C37AD4029B for ; Sat, 27 Jul 2024 20:44:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=laK8GTOvhoA0MT17200oV/1g9ilq+XSKh9fkREvR9DPCVUX5sMydqQnf/CE5Kfb1xPYKWVea+Ppwjt6WjLREdOcrIfHL9XbSBKy11HlKwSFGagwUNSP9O9b4LbJNEiHk99Oo0Kxqf8YdZZirhVJc6q6LlyteQcCA6t7CYgzwaedbi59CJhpwLK5WQ9tCQDTDcD0E5NWumTM0IfopgosLAn7HSL2zlx5ZddElpgiPTqDrzSZjJIAsXN1Hx7aCQv8j1+5xA7J20r18d+R53h9DhpchCSXmXX4YWoomviQzSa3mvf3yhhSLQzGI0nBg9QD2LSUec98kmF588dh2L1CsLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Scawibs0AjQH2nZHUZWkPD2BAJkYNfCDgCfULP4msg4=; b=mTOcx2sMt/1rMyH6XzO0lC3WM3Hg3spo6+rVoN1b25rgL9nQWUbdyv+uzoG8Yjel5SvKzKAlKcWbuI2uEZH2FUFmWRwmvBmAkpiehMwsNQi70ouwQDUM01ktC0XiJz07nOXhxq5hIE0LEvUlGY0BHwj9igasMV3mgsKqv9PORMA2f7nym7V/NSYjM4kKsWszLEsB58E2ivOZl5zrrut+xBHp3iaqPC+Cr9tr7NnkfqhC+CkEUJ6N55XvA2hAOZRwt1zMGRR3q2mN18B+Q02Uchod8S3dCY4rVPJkeS/Ylo9FqDMH0DGrE+lE/I5ZdHPqesx+q8CP4YmBKrkBQyJB2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Scawibs0AjQH2nZHUZWkPD2BAJkYNfCDgCfULP4msg4=; b=NYtCeQAtn3LP9YwBYjdw9p+WeX4qDjUpfOrCKkRqtBLW7ZezUyXktbMD6uAJKyECKNGftBYBfCrcaRPQT6P5o9VJudIgpFFfvCeQTzneF1fNZiloWhOB1V5bMPlKpbd6pEj+C2rTDcj6tdWXutJ55VvDDEhmT1i3yJodQZuRXGQ= Received: from CH3PR12MB8233.namprd12.prod.outlook.com (2603:10b6:610:129::15) by CH3PR12MB8283.namprd12.prod.outlook.com (2603:10b6:610:12a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.26; Sat, 27 Jul 2024 18:44:03 +0000 Received: from CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515]) by CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515%2]) with mapi id 15.20.7784.020; Sat, 27 Jul 2024 18:44:01 +0000 From: "Tummala, Sivaprasad" To: "Hunt, David" , "anatoly.burakov@intel.com" , "jerinj@marvell.com" , "lihuisong@huawei.com" , "david.marchand@redhat.com" , "Yigit, Ferruh" , "konstantin.ananyev@huawei.com" CC: "dev@dpdk.org" Subject: RE: [PATCH v1 1/4] power: refactor core power management library Thread-Topic: [PATCH v1 1/4] power: refactor core power management library Thread-Index: AQHa2sUJ1soKZEdCpEaEvXjRHwPv/7IEGaAAgAIeqoA= Date: Sat, 27 Jul 2024 18:44:01 +0000 Message-ID: References: <20240220153326.6236-1-sivaprasad.tummala@amd.com> <20240720165030.246294-1-sivaprasad.tummala@amd.com> <20240720165030.246294-2-sivaprasad.tummala@amd.com> <794598fe-7e2b-421e-9cad-1ddeb44f6b3c@intel.com> In-Reply-To: <794598fe-7e2b-421e-9cad-1ddeb44f6b3c@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=5979c4f8-d521-4379-a9f2-91fb19d48457; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD Internal Distribution Only; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2024-07-24T18:25:52Z; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR12MB8233:EE_|CH3PR12MB8283:EE_ x-ms-office365-filtering-correlation-id: 9ad11cb1-9f6c-429a-b67a-08dcae6c1558 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Y2VRY3VFWkJTRnI4WVl3cDd3cmo5V1VyMTVJaGREQzBVc0NvRTd1ZkdPb1Az?= =?utf-8?B?ZGJIcWlUNXExN0ZzMWkwaDRtWEk5cVhubjZxd3Vab002ZGdzRnRxNE5rODk3?= =?utf-8?B?UVQreGFnTDR4YjRJVDJqUEJnekhza2hWK1Vnb2RMbzZmT2tnWVVialo4MlZw?= =?utf-8?B?NWtuVnFnV2g4dGo5c2VscTBKLzlmYnlhd3FiSWVrWGhZd21BWDFEeUg3UUs4?= =?utf-8?B?bXpTcU5uYVE1Rk1KcnlWQ05pN2lJN1psc3JKTFpxdlAxV2JWN2ZxQXlOVXNn?= =?utf-8?B?RjZoaWZDWUZEM2ZtSmxwREk3MWhKTjhqR0hUbENvKzZ2a2RFbnk2bHBrc0hS?= =?utf-8?B?ZTJ6cVlZZFh1akRFMUdLOWsreXFZeTc3MzVyUnpOc3oxejdmOWkxeEQxN2RC?= =?utf-8?B?UU1TTUY5TWQrMFRxblFWNE42ZGEyTDFZVzRza1dScjdLWERYdHZGRWdZaC9K?= =?utf-8?B?WkZxbWRZazlQcUo0OG0wR2dKQ2RsSHRZZkllVXloWE4vaDM3MmUvT3RvbzZv?= =?utf-8?B?UFVPM1BaN1dhZ1orT1R4dmxHL1BWamphSlZocktqY0pJVjdhRmwwRmRJYmMx?= =?utf-8?B?eFovekZiTE9wa05SRE5oaEsrd1R6M3UwUXF3SjFvU0UremZRd3hrcU9qQmY1?= =?utf-8?B?eS94dTA2ZG5EMlJWOWZIY1FhQmVhSHJCZE9yRlBvOU9sZmE0Z2ZVeU9xd1Fv?= =?utf-8?B?bkZ0UzMrZ2JadWR0RXJIYXNPWi9pY1VXOEFrSGJFWGtNSHRDOWlqeWdrc2lW?= =?utf-8?B?cHNKV0VuM2ZxODhPVHFWWnZ5eHB6dDNzVVlxWnplcm1nK0NpdXQzRXNQcGVP?= =?utf-8?B?OXZtRWdHbTYzZlQzNVlVZjdVUlc3R0Nkdzl1clhmNklNQ3N6UDMyWnVKOUZJ?= =?utf-8?B?a1BvOEdPT3FpUVNXVzlzcEVSVXJJMDNydDlhWlM5TUpWY2Rsd0hJUGJ2ZFpl?= =?utf-8?B?Mnhld2tQb1Q5VFBrSmcwYUVjLzNBK2tMZ1AyWXJYWWlYQzE5cTNXN01NbG5v?= =?utf-8?B?S1ZpWjRJaERyY2lVd3JTUXREak1LbGdNY2VzV0JZZGhzMERJbHJZb2xVTUxC?= =?utf-8?B?bzA5NDRKZUtJalRIa091d295QUZnZVI5V0VLMHNBakpEWE1QWERXLzdLdjA1?= =?utf-8?B?SXlpWExGbFlPNHRaZEY0azIyTGk2TlNiSWplbDEzMGRpV2xXbU5PN1lFNFl5?= =?utf-8?B?T0xsZjc0Rkx3NS9tRGNObEk2TDczd2o1bGs5Z2pYL05yeDdJaVAzMnFEM1Bj?= =?utf-8?B?Z09EV00yaG9MS0xuL0t5QzNFZGlDc2svNkV1NjJXOXRtR2dsNWtDUEk0S3RW?= =?utf-8?B?dDlQQXQzUHBVM2RrcWxXa2xXK29DT0Y0NGk1OEtYclpuaEZiMFJyZWZnRTdl?= =?utf-8?B?ZSs4bXZRNmZiOHBKMXNnaFpoZXRKN3VhOVVGWk9HV1RCdFJBOVlBWnVaWDhU?= =?utf-8?B?VVdhVENESzBROGJkQy9nM0x6QmkxcWFoT3NVZ3hOd1I4K2JWR3Q2ZG9CdVhq?= =?utf-8?B?VkYrcW9SdGNIZjZtYnNpbjRIbTN4WHJyTFJwM01JbzY5dW40VjhFR1FodTBQ?= =?utf-8?B?SjlSRDBQM3BsU2RiaXRUMGsxaUhyWHdiODBxUjlHcTNCb0pRR05yQzlWejZT?= =?utf-8?B?aUdtREhZNWd0c3Y0TEFnU0VWeWFzZUZlbEpuREJNMk1PemNqMTZqT09Nek5G?= =?utf-8?B?aWJabFZRL0V1QXVoN0hFSGVCTUEvR3c2VU8yRUJBeTNXNGZ6RG1IRmh2ZEpw?= =?utf-8?B?d2dHNmtvdTNsZ3hJK0VlODN3SjBLY0dSTlhJcjVsdFRnQlV4M3huTkt2T1Vy?= =?utf-8?B?OElvSDdJQlhueVNRLzUrUkh1U2FDR2pRMncyaUFsZVF4ZElYd3FQN0lBVVpm?= =?utf-8?B?WE5KWEZ0Ly9icVhEZmNtQlpsSnk3YjBkODFjSU9CbWdPNVE9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8233.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QjkzdGtmTThIZ3hOUWZNQ01UNlpZTmQ5SUx1K2FOUDVjeEZtY2prenNSa3Vw?= =?utf-8?B?Sld6NDBNUlVIRTdnZVZVVW82K1ozemtONGEwY1VpcmdCazUranlVYnpybVN5?= =?utf-8?B?ZDFJVHdQOEpBcjV4dG44V05aL1d6U0tPV05RQUhNamdyR1Eya20rcTFVY2ZI?= =?utf-8?B?UmFFT1Y2ZDJBbEowS0lsc3I0czJrUTdZSTBCcERvMzU5UUZHNFhQdFNKMWp0?= =?utf-8?B?bytYYjlGMXV3bmZwbnNXZHVNeFhwU20zSnhCelhqeXF0VGg1eE5vRnpiS09P?= =?utf-8?B?NktvTnRDL1YraDd6aG1Yd3VhSlhoczRpZWVDRDNYUFlFT0hvYUJSUWJQbm95?= =?utf-8?B?WXFqVWc4a3dXNUpZU2twVm9aM2IzSGJubUl6UFlFUElhS2Q3UnlOUU5xaHlU?= =?utf-8?B?MDBrTFQ5cDFwU3dwOTFrZHJybWxiek1GTnVUWGNVZVdaNE8rN3lCazIvYlN4?= =?utf-8?B?MmtpSS81NjhJVFRPL0VRckg4VUt5dm1yTWZkR043TndPbkZOODREbk1adHVI?= =?utf-8?B?aEg4REZFdUlQMVMwYWl4dG12bmZRczFhQ0Y4ODRFa2dRSmJwcjZrdHI3TmZt?= =?utf-8?B?UUtDQkhkZ04rTXdBcnA3VzRtaFpjVlkyOU1Ocm8vYlJaK3F1ZVRDdG0rTEFO?= =?utf-8?B?S3NJeW9BdlhRVVM2eUZIYVJUOUdZMGh3TkZyeUxiRHN3cjlacFFsVExDUVRy?= =?utf-8?B?R0FRbVlmeVR5YU05OW1EM0RUQ1lPa1F4UmR0bWsrYjRCa2s1YzNNdmZSMnFW?= =?utf-8?B?L1VpbEUwZEhkVVkwWEJFUzZHYzdZa2dhRkxaU2NySWRVaGtWRDg0WUJnbXdM?= =?utf-8?B?T1dpbUlXVG9lZmZRMHJxU2ViUE1hMzh6Wm1Fb0FzRm9zUTBlMUhoQW0rbVRx?= =?utf-8?B?VkxwamFMNEdQMnZFa1JJM3M4d2J0MUdNcUNXNXlDZ2VjOVJRWWRxQlpwMWkr?= =?utf-8?B?Rnc1dTZZTGg2TnZBeWIyMEpVaGhkRkhaVXVpMGdJaUJubzdhU1JpMU5KbUsy?= =?utf-8?B?ek5RdXRoRXR6cjZXUHlVSmdPaGl2QVUxMVBIQWx1VU4yVWdGdUk2dVR1eUJQ?= =?utf-8?B?Q3BxbXFXa1hOWmtPRzJsSTF1R3FvOHpUUUljQThYaUx6MGExMGlSaVFxZlpz?= =?utf-8?B?aXZBenRKZ3NNaXlwK0Y4bGpqKzhiUkNqUTR3bW9pYWw3WTFjekxpYUt3VHUz?= =?utf-8?B?TmV2a1pmSUU2ck5RR1RjUFhBKzdkOEFqYkhOaFo4WG5yV1A1amhLOVVaajNK?= =?utf-8?B?VS95V2UxVm1aaitHY2E1d1VhYklyeW9xa1pLSDZUdU1zZVRWRU51UlUyZk8v?= =?utf-8?B?UUQxMmV3Tyt5dHprVFExaWVlVi9nc2FTT2EyRzM3ME9DQ1IwUVlIV00ydXNL?= =?utf-8?B?OGNFUmlUQ0dqTUpqTDcwcStNZ2M0M2JZNmt3d09oK0RFdmVtQ1RZNVZZWnJB?= =?utf-8?B?R2w0dW0wUW0vdE9jNjRKNEdQMlBWaFdDN21tVFR5dkp3cnBuelpLck5rckt6?= =?utf-8?B?MVB5c0VLa0xXeXh6Znlid3U5d3VKRm12azAybnZaMFBTV3d2a1M1dC9EMzJH?= =?utf-8?B?ZVhjbXBUUHlKaWl6dW5GUVErSzlHZHFBUU0yS3k4UExvcEFEa2IzVHgya3Av?= =?utf-8?B?SXFQOEUwWjQ0aVFIUm0rQ2pNajRVWm81QlY4TUdCNjRkam53MklSczRHQ3VC?= =?utf-8?B?NnhydUYwWWY5VGZhMGpCRUJPTy9wODd5ek42RmJweHlIZ3dxeWJiUmJxUlRV?= =?utf-8?B?WHVDK0gzVWQyRUJKbmtabjBWVFNoK2lSazNOTDNqaTdIS2wxWERPTXlMWW1W?= =?utf-8?B?RHNWd3o2N0VUek5EMjh0Q3hDZVlsSCtRNzlHZFVlTWJyVVd2b0lva1lLTExo?= =?utf-8?B?a3hhSmhIWXphcDZaYTJhK1R5V0NZUFRFalhaNGs5NTR5UFFPRWxaVXJPSWJH?= =?utf-8?B?ckhId09OSWpIWklFdEQ2Zk53MzBPNjFiV0d5VW5zRndHdHhJckZwdllGbXM3?= =?utf-8?B?UFo3SFYva1JWU0JIb0piOTRvam5sMjA3VU91MjVhZDdGcnNuRTMxa1lid1Mz?= =?utf-8?B?OURjY1JLNWFZTCttc09NZm9Vdm9jTE14ODNhZ29jQjJVRmpDbmJLV3FuZ3Vt?= =?utf-8?Q?3fsM=3D?= Content-Type: multipart/alternative; boundary="_000_CH3PR12MB8233D10E87B04486046E99E786B52CH3PR12MB8233namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8233.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ad11cb1-9f6c-429a-b67a-08dcae6c1558 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2024 18:44:01.7186 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cSCZQlyPz2iaGetOWcrFbtjd59YyU90aqZjnSIUkLYLIHlD4acbTE51iJDD7Aw72HHWEuvqt0CZphBYcH9QJdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8283 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --_000_CH3PR12MB8233D10E87B04486046E99E786B52CH3PR12MB8233namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N Cg0KSGkgRGF2ZSwNCg0KRnJvbTogSHVudCwgRGF2aWQgPGRhdmlkLmh1bnRAaW50ZWwuY29tPg0K U2VudDogVHVlc2RheSwgSnVseSAyMywgMjAyNCAzOjM0IFBNDQpUbzogVHVtbWFsYSwgU2l2YXBy YXNhZCA8U2l2YXByYXNhZC5UdW1tYWxhQGFtZC5jb20+OyBhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwu Y29tOyBqZXJpbmpAbWFydmVsbC5jb207IGxpaHVpc29uZ0BodWF3ZWkuY29tOyBkYXZpZC5tYXJj aGFuZEByZWRoYXQuY29tOyBZaWdpdCwgRmVycnVoIDxGZXJydWguWWlnaXRAYW1kLmNvbT47IGtv bnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29tDQpDYzogZGV2QGRwZGsub3JnDQpTdWJqZWN0OiBS ZTogW1BBVENIIHYxIDEvNF0gcG93ZXI6IHJlZmFjdG9yIGNvcmUgcG93ZXIgbWFuYWdlbWVudCBs aWJyYXJ5DQoNCkNhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYW4gRXh0ZXJu YWwgU291cmNlLiBVc2UgcHJvcGVyIGNhdXRpb24gd2hlbiBvcGVuaW5nIGF0dGFjaG1lbnRzLCBj bGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCg0KDQpIaSBTaXZhcHJhc2FkLA0KDQpBIGNv dXBsZSBvZiBjb21tZW50cyBiZWxvdzoNCk9uIDIwLzA3LzIwMjQgMTc6NTAsIFNpdmFwcmFzYWQg VHVtbWFsYSB3cm90ZToNCg0KVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgY29tcHJlaGVuc2l2ZSBy ZWZhY3RvciB0byB0aGUgY29yZSBwb3dlcg0KDQptYW5hZ2VtZW50IGxpYnJhcnkuIFRoZSBwcmlt YXJ5IGZvY3VzIGlzIG9uIGltcHJvdmluZyBtb2R1bGFyaXR5DQoNCmFuZCBvcmdhbml6YXRpb24g YnkgcmVsb2NhdGluZyBzcGVjaWZpYyBkcml2ZXIgaW1wbGVtZW50YXRpb25zDQoNCmZyb20gdGhl ICdsaWIvcG93ZXInIGRpcmVjdG9yeSB0byBkZWRpY2F0ZWQgZGlyZWN0b3JpZXMgd2l0aGluDQoN Cidkcml2ZXJzL3Bvd2VyL2NvcmUvKicuIFRoZSBhZGp1c3RtZW50IG9mIG1lc29uLmJ1aWxkIGZp bGVzDQoNCmVuYWJsZXMgdGhlIHNlbGVjdGl2ZSBhY3RpdmF0aW9uIG9mIGluZGl2aWR1YWwgZHJp dmVycy4NCg0KDQoNClRoZXNlIGNoYW5nZXMgY29udHJpYnV0ZSB0byBhIHNpZ25pZmljYW50IGVu aGFuY2VtZW50IGluIGNvZGUNCg0Kb3JnYW5pemF0aW9uLCBwcm92aWRpbmcgYSBjbGVhcmVyIHN0 cnVjdHVyZSBmb3IgZHJpdmVyIGltcGxlbWVudGF0aW9ucy4NCg0KVGhlIHJlZmFjdG9yIGFpbXMg dG8gaW1wcm92ZSBvdmVyYWxsIGNvZGUgY2xhcml0eSBhbmQgYm9vc3QNCg0KbWFpbnRhaW5hYmls aXR5LiBBZGRpdGlvbmFsbHksIGl0IGVzdGFibGlzaGVzIGEgZm91bmRhdGlvbiBmb3INCg0KZnV0 dXJlIGRldmVsb3BtZW50LCBhbGxvd2luZyBmb3IgbW9yZSBmb2N1c2VkIHdvcmsgb24gaW5kaXZp ZHVhbA0KDQpkcml2ZXJzIGFuZCBzZWFtbGVzcyBpbnRlZ3JhdGlvbiBvZiBmb3J0aGNvbWluZyBl bmhhbmNlbWVudHMuDQoNCg0KDQpTaWduZWQtb2ZmLWJ5OiBTaXZhcHJhc2FkIFR1bW1hbGEgPHNp dmFwcmFzYWQudHVtbWFsYUBhbWQuY29tPjxtYWlsdG86c2l2YXByYXNhZC50dW1tYWxhQGFtZC5j b20+DQoNCi0tLQ0KDQogZHJpdmVycy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAxICsNCg0KIC4uLi9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jICAgICAgICAgICAg ICAgICB8ICAyMiArLQ0KDQogLi4uL3Bvd2VyL2FjcGkvYWNwaV9jcHVmcmVxLmggICAgICAgICAg ICAgICAgIHwgICA2ICstDQoNCiBkcml2ZXJzL3Bvd2VyL2FjcGkvbWVzb24uYnVpbGQgICAgICAg ICAgICAgICAgfCAgMTAgKw0KDQogLi4uL3Bvd2VyL2FtZF9wc3RhdGUvYW1kX3BzdGF0ZV9jcHVm cmVxLmMgICAgIHwgIDI0ICstDQoNCiAuLi4vcG93ZXIvYW1kX3BzdGF0ZS9hbWRfcHN0YXRlX2Nw dWZyZXEuaCAgICAgfCAgIDggKy0NCg0KIGRyaXZlcnMvcG93ZXIvYW1kX3BzdGF0ZS9tZXNvbi5i dWlsZCAgICAgICAgICB8ICAxMCArDQoNCiAuLi4vcG93ZXIvY3BwYy9jcHBjX2NwdWZyZXEuYyAg ICAgICAgICAgICAgICAgfCAgMjIgKy0NCg0KIC4uLi9wb3dlci9jcHBjL2NwcGNfY3B1ZnJlcS5o ICAgICAgICAgICAgICAgICB8ICAgOCArLQ0KDQogZHJpdmVycy9wb3dlci9jcHBjL21lc29uLmJ1 aWxkICAgICAgICAgICAgICAgIHwgIDEwICsNCg0KIC4uLi9wb3dlci9rdm1fdm19L2d1ZXN0X2No YW5uZWwuYyAgICAgICAgICAgICB8ICAgMA0KDQogLi4uL3Bvd2VyL2t2bV92bX0vZ3Vlc3RfY2hh bm5lbC5oICAgICAgICAgICAgIHwgICAwDQoNCiAuLi4vcG93ZXIva3ZtX3ZtL2t2bV92bS5jICAg ICAgICAgICAgICAgICAgICAgfCAgMjIgKy0NCg0KIC4uLi9wb3dlci9rdm1fdm0va3ZtX3ZtLmgg ICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQ0KDQogZHJpdmVycy9wb3dlci9rdm1fdm0vbWVz b24uYnVpbGQgICAgICAgICAgICAgIHwgIDE2ICsNCg0KIGRyaXZlcnMvcG93ZXIvbWVzb24uYnVp bGQgICAgICAgICAgICAgICAgICAgICB8ICAxMiArDQoNCiBkcml2ZXJzL3Bvd2VyL3BzdGF0ZS9t ZXNvbi5idWlsZCAgICAgICAgICAgICAgfCAgMTAgKw0KDQogLi4uL3Bvd2VyL3BzdGF0ZS9wc3Rh dGVfY3B1ZnJlcS5jICAgICAgICAgICAgIHwgIDIyICstDQoNCiAuLi4vcG93ZXIvcHN0YXRlL3Bz dGF0ZV9jcHVmcmVxLmggICAgICAgICAgICAgfCAgIDYgKy0NCg0KIGxpYi9wb3dlci9tZXNvbi5i dWlsZCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNyArLQ0KDQogbGliL3Bvd2VyL3Bvd2Vy X2NvbW1vbi5jICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQoNCiBsaWIvcG93ZXIvcG93 ZXJfY29tbW9uLmggICAgICAgICAgICAgICAgICAgICAgfCAgMTYgKy0NCg0KIGxpYi9wb3dlci9y dGVfcG93ZXIuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDI4NyArKysrKystLS0tLS0tLS0t LS0NCg0KIGxpYi9wb3dlci9ydGVfcG93ZXIuaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDEz OSArKysrKystLS0NCg0KIGxpYi9wb3dlci9ydGVfcG93ZXJfY29yZV9vcHMuaCAgICAgICAgICAg ICAgICB8IDIwOCArKysrKysrKysrKysrDQoNCiBsaWIvcG93ZXIvdmVyc2lvbi5tYXAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMTQgKw0KDQogMjYgZmlsZXMgY2hhbmdlZCwgNjE4IGluc2Vy dGlvbnMoKyksIDI3MCBkZWxldGlvbnMoLSkNCg0KIHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfYWNw aV9jcHVmcmVxLmMgPT4gZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jICg5NSUpDQoN CiByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2FjcGlfY3B1ZnJlcS5oID0+IGRyaXZlcnMvcG93ZXIv YWNwaS9hY3BpX2NwdWZyZXEuaCAoOTglKQ0KDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv cG93ZXIvYWNwaS9tZXNvbi5idWlsZA0KDQogcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9hbWRfcHN0 YXRlX2NwdWZyZXEuYyA9PiBkcml2ZXJzL3Bvd2VyL2FtZF9wc3RhdGUvYW1kX3BzdGF0ZV9jcHVm cmVxLmMgKDk1JSkNCg0KIHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfYW1kX3BzdGF0ZV9jcHVmcmVx LmggPT4gZHJpdmVycy9wb3dlci9hbWRfcHN0YXRlL2FtZF9wc3RhdGVfY3B1ZnJlcS5oICg5NyUp DQoNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wb3dlci9hbWRfcHN0YXRlL21lc29uLmJ1 aWxkDQoNCiByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2NwcGNfY3B1ZnJlcS5jID0+IGRyaXZlcnMv cG93ZXIvY3BwYy9jcHBjX2NwdWZyZXEuYyAoOTUlKQ0KDQogcmVuYW1lIGxpYi9wb3dlci9wb3dl cl9jcHBjX2NwdWZyZXEuaCA9PiBkcml2ZXJzL3Bvd2VyL2NwcGMvY3BwY19jcHVmcmVxLmggKDk3 JSkNCg0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3Bvd2VyL2NwcGMvbWVzb24uYnVpbGQN Cg0KIHJlbmFtZSB7bGliL3Bvd2VyID0+IGRyaXZlcnMvcG93ZXIva3ZtX3ZtfS9ndWVzdF9jaGFu bmVsLmMgKDEwMCUpDQoNCiByZW5hbWUge2xpYi9wb3dlciA9PiBkcml2ZXJzL3Bvd2VyL2t2bV92 bX0vZ3Vlc3RfY2hhbm5lbC5oICgxMDAlKQ0KDQogcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9rdm1f dm0uYyA9PiBkcml2ZXJzL3Bvd2VyL2t2bV92bS9rdm1fdm0uYyAoODIlKQ0KDQogcmVuYW1lIGxp Yi9wb3dlci9wb3dlcl9rdm1fdm0uaCA9PiBkcml2ZXJzL3Bvd2VyL2t2bV92bS9rdm1fdm0uaCAo OTglKQ0KDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIva3ZtX3ZtL21lc29uLmJ1 aWxkDQoNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wb3dlci9tZXNvbi5idWlsZA0KDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIvcHN0YXRlL21lc29uLmJ1aWxkDQoNCiBy ZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX3BzdGF0ZV9jcHVmcmVxLmMgPT4gZHJpdmVycy9wb3dlci9w c3RhdGUvcHN0YXRlX2NwdWZyZXEuYyAoOTYlKQ0KDQogcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9w c3RhdGVfY3B1ZnJlcS5oID0+IGRyaXZlcnMvcG93ZXIvcHN0YXRlL3BzdGF0ZV9jcHVmcmVxLmgg KDk4JSkNCg0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvcG93ZXIvcnRlX3Bvd2VyX2NvcmVfb3Bz LmgNCg0KLS1zbmlwLS0NCg0KZGlmZiAtLWdpdCBhL2xpYi9wb3dlci9ydGVfcG93ZXIuYyBiL2xp Yi9wb3dlci9ydGVfcG93ZXIuYw0KDQppbmRleCAzNmMzZjNkYTk4Li44YWZiNTk0OWI5IDEwMDY0 NA0KDQotLS0gYS9saWIvcG93ZXIvcnRlX3Bvd2VyLmMNCg0KKysrIGIvbGliL3Bvd2VyL3J0ZV9w b3dlci5jDQoNCkBAIC04LDE1MyArOCw4NiBAQA0KDQogI2luY2x1ZGUgPHJ0ZV9zcGlubG9jay5o Pg0KDQoNCg0KICNpbmNsdWRlICJydGVfcG93ZXIuaCINCg0KLSNpbmNsdWRlICJwb3dlcl9hY3Bp X2NwdWZyZXEuaCINCg0KLSNpbmNsdWRlICJwb3dlcl9jcHBjX2NwdWZyZXEuaCINCg0KICNpbmNs dWRlICJwb3dlcl9jb21tb24uaCINCg0KLSNpbmNsdWRlICJwb3dlcl9rdm1fdm0uaCINCg0KLSNp bmNsdWRlICJwb3dlcl9wc3RhdGVfY3B1ZnJlcS5oIg0KDQotI2luY2x1ZGUgInBvd2VyX2FtZF9w c3RhdGVfY3B1ZnJlcS5oIg0KDQoNCg0KLWVudW0gcG93ZXJfbWFuYWdlbWVudF9lbnYgZ2xvYmFs X2RlZmF1bHRfZW52ID0gUE1fRU5WX05PVF9TRVQ7DQoNCitzdGF0aWMgZW51bSBwb3dlcl9tYW5h Z2VtZW50X2VudiBnbG9iYWxfZGVmYXVsdF9lbnYgPSBQTV9FTlZfTk9UX1NFVDsNCg0KK3N0YXRp YyBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpnbG9iYWxfcG93ZXJfY29yZV9vcHM7DQoNCg0K DQpTdWdnZXN0IGluaXRpYWxpc2luZyB0aGlzIHRvIE5VTEwgc28gd2UgY2FuIGNoZWNrIGluIHJ0 ZV9wb3dlcl9nZXRfY29yZV9vcHMgaWYgaXQncyBudWxsIGFuZCB0aHJvdyBhbiBlcnJvci4NCg0K W1NpdmFdIHJ0ZV9wb3dlcl9jb3JlX29wcyBhcyBzdGF0aWMgZ2xvYmFsIGlzIGluaXRpYWxpemVk IHRvIE5VTEwgYXQgcnVudGltZS4gTm90IHN1cmUsIGlmIGl04oCZcyBzdGlsbCByZXF1aXJlZCB0 byBpbml0aWFsaXplIHRvIE5VTEwuDQoNCi0tc25pcC0tDQoNCitzdHJ1Y3QgcnRlX3Bvd2VyX2Nv cmVfb3BzICoNCg0KK3J0ZV9wb3dlcl9nZXRfY29yZV9vcHModm9pZCkNCg0KK3sNCg0KDQoNCk5l ZWQgYSBjaGVjayBoZXJlIHRvIHNlZSBpZiBydGVfcG93ZXJfZ2V0X2NvcmVfb3BzIGlzIE5VTEwu IElmIGl0IGlzLCB0aGVuIHRoZSBkZXZlbG9wZXIgaGFzIHByb2JhYmx5IGNhbGxlZCBhIGZyZXF1 ZW5jeSBjaGFuZ2UgQVBJIGJlZm9yZSB0aGUgcmVsZXZhbnQgaW5pdCBmdW5jdGlvbiwgc28gdGhy b3cgYW4gZXJyb3IuDQoNCkFsc28sIGFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgY2FsbCB0aGlzIG5l ZWQgdG8gY2hlY2sgaWYgaXQgcmV0dXJucyBOVUxMIHNvIGFzIHRvIGF2b2lkIGEgc2VnZmF1bHQg d2hlbiB0aGV5IGF0dGVtcHRzIHRvIGNhbGwgdGhlIG9wIGZ1bmN0aW9uLg0KDQpbU2l2YV0gQUNL LiBXaWxsIGZpeCB0aGlzIGluIG5leHQgdmVyc2lvbi4NCg0KDQoNCg0KDQorICAgICAgIHJldHVy biBnbG9iYWxfcG93ZXJfY29yZV9vcHM7DQoNCit9DQoNCisNCg0KDQotLXNuaXAtLQ0KDQoNCg0K ZGlmZiAtLWdpdCBhL2xpYi9wb3dlci9ydGVfcG93ZXIuaCBiL2xpYi9wb3dlci9ydGVfcG93ZXIu aA0KDQppbmRleCA0ZmE0YWZlMzk5Li41ZTRhYWNmMDhiIDEwMDY0NA0KDQotLS0gYS9saWIvcG93 ZXIvcnRlX3Bvd2VyLmgNCg0KKysrIGIvbGliL3Bvd2VyL3J0ZV9wb3dlci5oDQoNCkBAIC0xLDUg KzEsNiBAQA0KDQogLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KDQog ICogQ29weXJpZ2h0KGMpIDIwMTAtMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbg0KDQorICogQ29weXJp Z2h0KGMpIDIwMjQgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLg0KDQogICovDQoNCg0KDQog I2lmbmRlZiBfUlRFX1BPV0VSX0gNCg0KQEAgLTE0LDE0ICsxNSwyMSBAQA0KDQogI2luY2x1ZGUg PHJ0ZV9sb2cuaD4NCg0KICNpbmNsdWRlIDxydGVfcG93ZXJfZ3Vlc3RfY2hhbm5lbC5oPg0KDQoN Cg0KKyNpbmNsdWRlICJydGVfcG93ZXJfY29yZV9vcHMuaCINCg0KKw0KDQogI2lmZGVmIF9fY3Bs dXNwbHVzDQoNCiBleHRlcm4gIkMiIHsNCg0KICNlbmRpZg0KDQoNCg0KIC8qIFBvd2VyIE1hbmFn ZW1lbnQgRW52aXJvbm1lbnQgU3RhdGUgKi8NCg0KLWVudW0gcG93ZXJfbWFuYWdlbWVudF9lbnYg e1BNX0VOVl9OT1RfU0VULCBQTV9FTlZfQUNQSV9DUFVGUkVRLCBQTV9FTlZfS1ZNX1ZNLA0KDQot ICAgICAgICAgICAgICAgUE1fRU5WX1BTVEFURV9DUFVGUkVRLCBQTV9FTlZfQ1BQQ19DUFVGUkVR LA0KDQotICAgICAgICAgICAgICAgUE1fRU5WX0FNRF9QU1RBVEVfQ1BVRlJFUX07DQoNCitlbnVt IHBvd2VyX21hbmFnZW1lbnRfZW52IHsNCg0KKyAgICAgICBQTV9FTlZfTk9UX1NFVCA9IDAsDQoN CisgICAgICAgUE1fRU5WX0FDUElfQ1BVRlJFUSwNCg0KKyAgICAgICBQTV9FTlZfS1ZNX1ZNLA0K DQorICAgICAgIFBNX0VOVl9QU1RBVEVfQ1BVRlJFUSwNCg0KKyAgICAgICBQTV9FTlZfQ1BQQ19D UFVGUkVRLA0KDQorICAgICAgIFBNX0VOVl9BTURfUFNUQVRFX0NQVUZSRVENCg0KK307DQoNCg0K DQogLyoqDQoNCiAgKiBDaGVjayBpZiBhIHNwZWNpZmljIHBvd2VyIG1hbmFnZW1lbnQgZW52aXJv bm1lbnQgdHlwZSBpcyBzdXBwb3J0ZWQgb24gYQ0KDQpAQCAtNjYsNiArNzQsMTUgQEAgdm9pZCBy dGVfcG93ZXJfdW5zZXRfZW52KHZvaWQpOw0KDQogICovDQoNCiBlbnVtIHBvd2VyX21hbmFnZW1l bnRfZW52IHJ0ZV9wb3dlcl9nZXRfZW52KHZvaWQpOw0KDQoNCg0KKy8qKg0KDQorICogQGludGVy bmFsIEdldCB0aGUgcG93ZXIgb3BzIHN0cnVjdCBmcm9tIGl0cyBpbmRleC4NCg0KKyAqDQoNCisg KiBAcmV0dXJuDQoNCisgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBvcHMgc3RydWN0IGluIHRoZSB0 YWJsZSBpZiByZWdpc3RlcmVkLg0KDQorICovDQoNCitzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3Bz ICoNCg0KK3J0ZV9wb3dlcl9nZXRfY29yZV9vcHModm9pZCk7DQoNCisNCg0KIC8qKg0KDQogICog SW5pdGlhbGl6ZSBwb3dlciBtYW5hZ2VtZW50IGZvciBhIHNwZWNpZmljIGxjb3JlLiBJZiBydGVf cG93ZXJfc2V0X2VudigpIGhhcw0KDQogICogbm90IGJlZW4gY2FsbGVkIHRoZW4gYW4gYXV0by1k ZXRlY3Qgb2YgdGhlIGVudmlyb25tZW50IHdpbGwgc3RhcnQgYW5kDQoNCkBAIC0xMDgsMTAgKzEy NSwxMyBAQCBpbnQgcnRlX3Bvd2VyX2V4aXQodW5zaWduZWQgaW50IGxjb3JlX2lkKTsNCg0KICAq IEByZXR1cm4NCg0KICAqICBUaGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBmcmVxdWVuY2llcy4NCg0K ICAqLw0KDQotdHlwZWRlZiB1aW50MzJfdCAoKnJ0ZV9wb3dlcl9mcmVxc190KSh1bnNpZ25lZCBp bnQgbGNvcmVfaWQsIHVpbnQzMl90ICpmcmVxcywNCg0KLSAgICAgICAgICAgICAgIHVpbnQzMl90 IG51bSk7DQoNCitzdGF0aWMgaW5saW5lIHVpbnQzMl90DQoNCitydGVfcG93ZXJfZnJlcXModW5z aWduZWQgaW50IGxjb3JlX2lkLCB1aW50MzJfdCAqZnJlcXMsIHVpbnQzMl90IG4pDQoNCit7DQoN CisgICAgICAgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAqb3BzID0gcnRlX3Bvd2VyX2dldF9j b3JlX29wcygpOw0KDQoNCg0KLWV4dGVybiBydGVfcG93ZXJfZnJlcXNfdCBydGVfcG93ZXJfZnJl cXM7DQoNCisgICAgICAgcmV0dXJuIG9wcy0+Z2V0X2F2YWlsX2ZyZXFzKGxjb3JlX2lkLCBmcmVx cywgbik7DQoNCg0KDQpUaGlzIGZ1bmN0aW9uIHdpbGwgc2VnZmF1bHQgaWYgaXMgY2FsbGVkIGJl Zm9yZSB0aGUgYXBwcm9wcmlhdGUgaW5pdCBpcyBwZXJmb3JtZWQuIFNlZSBjb21tZW50cyBhYm92 ZSBvbiBnbG9iYWxfcG93ZXJfY29yZV9vcHMuDQoNClNhbWUgZm9yIGFsbCB0aGUgZnVuY3Rpb25z IGJlbG93IHRoYXQgY2FsbCBnbG9iYWxfcG93ZXJfY29yZV9vcHMoKS4NCg0KDQoNCg0KDQorfQ0K DQoNCg0KIC8qKg0KDQogICogUmV0dXJuIHRoZSBjdXJyZW50IGluZGV4IG9mIGF2YWlsYWJsZSBm cmVxdWVuY2llcyBvZiBhIHNwZWNpZmljIGxjb3JlLg0KDQpAQCAtMTI0LDkgKzE0NCwxMyBAQCBl eHRlcm4gcnRlX3Bvd2VyX2ZyZXFzX3QgcnRlX3Bvd2VyX2ZyZXFzOw0KDQogICogQHJldHVybg0K DQogICogIFRoZSBjdXJyZW50IGluZGV4IG9mIGF2YWlsYWJsZSBmcmVxdWVuY2llcy4NCg0KICAq Lw0KDQotdHlwZWRlZiB1aW50MzJfdCAoKnJ0ZV9wb3dlcl9nZXRfZnJlcV90KSh1bnNpZ25lZCBp bnQgbGNvcmVfaWQpOw0KDQorc3RhdGljIGlubGluZSB1aW50MzJfdA0KDQorcnRlX3Bvd2VyX2dl dF9mcmVxKHVuc2lnbmVkIGludCBsY29yZV9pZCkNCg0KK3sNCg0KKyAgICAgICBzdHJ1Y3QgcnRl X3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVfcG93ZXJfZ2V0X2NvcmVfb3BzKCk7DQoNCg0KDQot ZXh0ZXJuIHJ0ZV9wb3dlcl9nZXRfZnJlcV90IHJ0ZV9wb3dlcl9nZXRfZnJlcTsNCg0KKyAgICAg ICByZXR1cm4gb3BzLT5nZXRfZnJlcShsY29yZV9pZCk7DQoNCit9DQoNCg0KDQogLyoqDQoNCiAg KiBTZXQgdGhlIG5ldyBmcmVxdWVuY3kgZm9yIGEgc3BlY2lmaWMgbGNvcmUgYnkgaW5kaWNhdGlu ZyB0aGUgaW5kZXggb2YNCg0KQEAgLTE0NCw4MiArMTY4LDEwMSBAQCBleHRlcm4gcnRlX3Bvd2Vy X2dldF9mcmVxX3QgcnRlX3Bvd2VyX2dldF9mcmVxOw0KDQogICogIC0gMCBvbiBzdWNjZXNzIHdp dGhvdXQgZnJlcXVlbmN5IGNoYW5nZWQuDQoNCiAgKiAgLSBOZWdhdGl2ZSBvbiBlcnJvci4NCg0K ICAqLw0KDQotdHlwZWRlZiBpbnQgKCpydGVfcG93ZXJfc2V0X2ZyZXFfdCkodW5zaWduZWQgaW50 IGxjb3JlX2lkLCB1aW50MzJfdCBpbmRleCk7DQoNCi0NCg0KLWV4dGVybiBydGVfcG93ZXJfc2V0 X2ZyZXFfdCBydGVfcG93ZXJfc2V0X2ZyZXE7DQoNCitzdGF0aWMgaW5saW5lIHVpbnQzMl90DQoN CitydGVfcG93ZXJfc2V0X2ZyZXEodW5zaWduZWQgaW50IGxjb3JlX2lkLCB1aW50MzJfdCBpbmRl eCkNCg0KK3sNCg0KKyAgICAgICBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVf cG93ZXJfZ2V0X2NvcmVfb3BzKCk7DQoNCg0KDQotLyoqDQoNCi0gKiBGdW5jdGlvbiBwb2ludGVy IGRlZmluaXRpb24gZm9yIGdlbmVyaWMgZnJlcXVlbmN5IGNoYW5nZSBmdW5jdGlvbnMuIFJldmll dw0KDQotICogZWFjaCBlbnZpcm9ubWVudHMgc3BlY2lmaWMgZG9jdW1lbnRhdGlvbiBmb3IgdXNh Z2UuDQoNCi0gKg0KDQotICogQHBhcmFtIGxjb3JlX2lkDQoNCi0gKiAgbGNvcmUgaWQuDQoNCi0g Kg0KDQotICogQHJldHVybg0KDQotICogIC0gMSBvbiBzdWNjZXNzIHdpdGggZnJlcXVlbmN5IGNo YW5nZWQuDQoNCi0gKiAgLSAwIG9uIHN1Y2Nlc3Mgd2l0aG91dCBmcmVxdWVuY3kgY2hhbmdlZC4N Cg0KLSAqICAtIE5lZ2F0aXZlIG9uIGVycm9yLg0KDQotICovDQoNCi10eXBlZGVmIGludCAoKnJ0 ZV9wb3dlcl9mcmVxX2NoYW5nZV90KSh1bnNpZ25lZCBpbnQgbGNvcmVfaWQpOw0KDQorICAgICAg IHJldHVybiBvcHMtPnNldF9mcmVxKGxjb3JlX2lkLCBpbmRleCk7DQoNCit9DQoNCg0KDQogLyoq DQoNCiAgKiBTY2FsZSB1cCB0aGUgZnJlcXVlbmN5IG9mIGEgc3BlY2lmaWMgbGNvcmUgYWNjb3Jk aW5nIHRvIHRoZSBhdmFpbGFibGUNCg0KICAqIGZyZXF1ZW5jaWVzLg0KDQogICogUmV2aWV3IGVh Y2ggZW52aXJvbm1lbnRzIHNwZWNpZmljIGRvY3VtZW50YXRpb24gZm9yIHVzYWdlLg0KDQogICov DQoNCi1leHRlcm4gcnRlX3Bvd2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfdXA7DQoN CitzdGF0aWMgaW5saW5lIGludA0KDQorcnRlX3Bvd2VyX2ZyZXFfdXAodW5zaWduZWQgaW50IGxj b3JlX2lkKQ0KDQorew0KDQorICAgICAgIHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9 IHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMoKTsNCg0KKw0KDQorICAgICAgIHJldHVybiBvcHMtPmZy ZXFfdXAobGNvcmVfaWQpOw0KDQorfQ0KDQoNCg0KIC8qKg0KDQogICogU2NhbGUgZG93biB0aGUg ZnJlcXVlbmN5IG9mIGEgc3BlY2lmaWMgbGNvcmUgYWNjb3JkaW5nIHRvIHRoZSBhdmFpbGFibGUN Cg0KICAqIGZyZXF1ZW5jaWVzLg0KDQogICogUmV2aWV3IGVhY2ggZW52aXJvbm1lbnRzIHNwZWNp ZmljIGRvY3VtZW50YXRpb24gZm9yIHVzYWdlLg0KDQogICovDQoNCi1leHRlcm4gcnRlX3Bvd2Vy X2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfZG93bjsNCg0KK3N0YXRpYyBpbmxpbmUgaW50 DQoNCitydGVfcG93ZXJfZnJlcV9kb3duKHVuc2lnbmVkIGludCBsY29yZV9pZCkNCg0KK3sNCg0K KyAgICAgICBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVfcG93ZXJfZ2V0X2Nv cmVfb3BzKCk7DQoNCisNCg0KKyAgICAgICByZXR1cm4gb3BzLT5mcmVxX2Rvd24obGNvcmVfaWQp Ow0KDQorfQ0KDQoNCg0KIC8qKg0KDQogICogU2NhbGUgdXAgdGhlIGZyZXF1ZW5jeSBvZiBhIHNw ZWNpZmljIGxjb3JlIHRvIHRoZSBoaWdoZXN0IGFjY29yZGluZyB0byB0aGUNCg0KICAqIGF2YWls YWJsZSBmcmVxdWVuY2llcy4NCg0KICAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBzcGVjaWZp YyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS4NCg0KICAqLw0KDQotZXh0ZXJuIHJ0ZV9wb3dlcl9m cmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX21heDsNCg0KK3N0YXRpYyBpbmxpbmUgaW50DQoN CitydGVfcG93ZXJfZnJlcV9tYXgodW5zaWduZWQgaW50IGxjb3JlX2lkKQ0KDQorew0KDQorICAg ICAgIHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29yZV9v cHMoKTsNCg0KKw0KDQorICAgICAgIHJldHVybiBvcHMtPmZyZXFfbWF4KGxjb3JlX2lkKTsNCg0K K30NCg0KDQoNCiAvKioNCg0KICAqIFNjYWxlIGRvd24gdGhlIGZyZXF1ZW5jeSBvZiBhIHNwZWNp ZmljIGxjb3JlIHRvIHRoZSBsb3dlc3QgYWNjb3JkaW5nIHRvIHRoZQ0KDQogICogYXZhaWxhYmxl IGZyZXF1ZW5jaWVzLg0KDQogICogUmV2aWV3IGVhY2ggZW52aXJvbm1lbnRzIHNwZWNpZmljIGRv Y3VtZW50YXRpb24gZm9yIHVzYWdlLi4NCg0KICAqLw0KDQotZXh0ZXJuIHJ0ZV9wb3dlcl9mcmVx X2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX21pbjsNCg0KK3N0YXRpYyBpbmxpbmUgaW50DQoNCity dGVfcG93ZXJfZnJlcV9taW4odW5zaWduZWQgaW50IGxjb3JlX2lkKQ0KDQorew0KDQorICAgICAg IHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMo KTsNCg0KKw0KDQorICAgICAgIHJldHVybiBvcHMtPmZyZXFfbWluKGxjb3JlX2lkKTsNCg0KK30N Cg0KDQoNCiAvKioNCg0KICAqIFF1ZXJ5IHRoZSBUdXJibyBCb29zdCBzdGF0dXMgb2YgYSBzcGVj aWZpYyBsY29yZS4NCg0KICAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBzcGVjaWZpYyBkb2N1 bWVudGF0aW9uIGZvciB1c2FnZS4uDQoNCiAgKi8NCg0KLWV4dGVybiBydGVfcG93ZXJfZnJlcV9j aGFuZ2VfdCBydGVfcG93ZXJfdHVyYm9fc3RhdHVzOw0KDQorc3RhdGljIGlubGluZSBpbnQNCg0K K3J0ZV9wb3dlcl90dXJib19zdGF0dXModW5zaWduZWQgaW50IGxjb3JlX2lkKQ0KDQorew0KDQor ICAgICAgIHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29y ZV9vcHMoKTsNCg0KKw0KDQorICAgICAgIHJldHVybiBvcHMtPnR1cmJvX3N0YXR1cyhsY29yZV9p ZCk7DQoNCit9DQoNCg0KDQogLyoqDQoNCiAgKiBFbmFibGUgVHVyYm8gQm9vc3QgZm9yIHRoaXMg bGNvcmUuDQoNCiAgKiBSZXZpZXcgZWFjaCBlbnZpcm9ubWVudHMgc3BlY2lmaWMgZG9jdW1lbnRh dGlvbiBmb3IgdXNhZ2UuLg0KDQogICovDQoNCi1leHRlcm4gcnRlX3Bvd2VyX2ZyZXFfY2hhbmdl X3QgcnRlX3Bvd2VyX2ZyZXFfZW5hYmxlX3R1cmJvOw0KDQorc3RhdGljIGlubGluZSBpbnQNCg0K K3J0ZV9wb3dlcl9mcmVxX2VuYWJsZV90dXJibyh1bnNpZ25lZCBpbnQgbGNvcmVfaWQpDQoNCit7 DQoNCisgICAgICAgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAqb3BzID0gcnRlX3Bvd2VyX2dl dF9jb3JlX29wcygpOw0KDQorDQoNCisgICAgICAgcmV0dXJuIG9wcy0+ZW5hYmxlX3R1cmJvKGxj b3JlX2lkKTsNCg0KK30NCg0KDQoNCiAvKioNCg0KICAqIERpc2FibGUgVHVyYm8gQm9vc3QgZm9y IHRoaXMgbGNvcmUuDQoNCiAgKiBSZXZpZXcgZWFjaCBlbnZpcm9ubWVudHMgc3BlY2lmaWMgZG9j dW1lbnRhdGlvbiBmb3IgdXNhZ2UuLg0KDQogICovDQoNCi1leHRlcm4gcnRlX3Bvd2VyX2ZyZXFf Y2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfZGlzYWJsZV90dXJibzsNCg0KK3N0YXRpYyBpbmxpbmUg aW50DQoNCitydGVfcG93ZXJfZnJlcV9kaXNhYmxlX3R1cmJvKHVuc2lnbmVkIGludCBsY29yZV9p ZCkNCg0KK3sNCg0KKyAgICAgICBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVf cG93ZXJfZ2V0X2NvcmVfb3BzKCk7DQoNCg0KDQotLyoqDQoNCi0gKiBQb3dlciBjYXBhYmlsaXRp ZXMgc3VtbWFyeS4NCg0KLSAqLw0KDQotc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX2NhcGFiaWxpdGll cyB7DQoNCi0gICAgICAgdW5pb24gew0KDQotICAgICAgICAgICAgICAgdWludDY0X3QgY2FwYWJp bGl0aWVzOw0KDQotICAgICAgICAgICAgICAgc3RydWN0IHsNCg0KLSAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgdHVyYm86MTsgICAgICAvKio8IFR1cmJvIGNhbiBiZSBlbmFibGVkLiAq Lw0KDQotICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBwcmlvcml0eToxOyAgIC8qKjwg U1NULUJGIGhpZ2ggZnJlcSBjb3JlICovDQoNCi0gICAgICAgICAgICAgICB9Ow0KDQotICAgICAg IH07DQoNCi19Ow0KDQorICAgICAgIHJldHVybiBvcHMtPmRpc2FibGVfdHVyYm8obGNvcmVfaWQp Ow0KDQorfQ0KDQoNCg0KIC8qKg0KDQogICogUmV0dXJucyBwb3dlciBjYXBhYmlsaXRpZXMgZm9y IGEgc3BlY2lmaWMgbGNvcmUuDQoNCkBAIC0yMzUsMTAgKzI3OCwxNCBAQCBzdHJ1Y3QgcnRlX3Bv d2VyX2NvcmVfY2FwYWJpbGl0aWVzIHsNCg0KICAqICAtIDAgb24gc3VjY2Vzcy4NCg0KICAqICAt IE5lZ2F0aXZlIG9uIGVycm9yLg0KDQogICovDQoNCi10eXBlZGVmIGludCAoKnJ0ZV9wb3dlcl9n ZXRfY2FwYWJpbGl0aWVzX3QpKHVuc2lnbmVkIGludCBsY29yZV9pZCwNCg0KLSAgICAgICAgICAg ICAgIHN0cnVjdCBydGVfcG93ZXJfY29yZV9jYXBhYmlsaXRpZXMgKmNhcHMpOw0KDQorc3RhdGlj IGlubGluZSBpbnQNCg0KK3J0ZV9wb3dlcl9nZXRfY2FwYWJpbGl0aWVzKHVuc2lnbmVkIGludCBs Y29yZV9pZCwNCg0KKyAgICAgICAgICAgICAgIHN0cnVjdCBydGVfcG93ZXJfY29yZV9jYXBhYmls aXRpZXMgKmNhcHMpDQoNCit7DQoNCisgICAgICAgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAq b3BzID0gcnRlX3Bvd2VyX2dldF9jb3JlX29wcygpOw0KDQoNCg0KLWV4dGVybiBydGVfcG93ZXJf Z2V0X2NhcGFiaWxpdGllc190IHJ0ZV9wb3dlcl9nZXRfY2FwYWJpbGl0aWVzOw0KDQorICAgICAg IHJldHVybiBvcHMtPmdldF9jYXBzKGxjb3JlX2lkLCBjYXBzKTsNCg0KK30NCg0KDQoNCiAjaWZk ZWYgX19jcGx1c3BsdXMNCg0KIH0NCg0KDQoNCi0tc25pcC0tDQoNCg0K --_000_CH3PR12MB8233D10E87B04486046E99E786B52CH3PR12MB8233namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpWZXJkYW5hOw0KCXBhbm9zZS0xOjIgMTEg NiA0IDMgNSA0IDQgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6QXB0b3M7fQ0KQGZv bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIg NCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05v cm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJ Zm9udC1mYW1pbHk6IkFwdG9zIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxp bmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0 aW9uOnVuZGVybGluZTt9DQpwcmUNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHls ZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltYXJnaW46MGluOw0KCWZvbnQtc2l6 ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkhUTUxQcmVmb3Jt YXR0ZWRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCglt c28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVk IjsNCglmb250LWZhbWlseTpDb25zb2xhczt9DQpzcGFuLkVtYWlsU3R5bGUyMg0KCXttc28tc3R5 bGUtdHlwZTpwZXJzb25hbC1jb21wb3NlOw0KCWZvbnQtZmFtaWx5OiJBcHRvcyIsc2Fucy1zZXJp ZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBl OmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJbXNvLWxpZ2F0dXJlczpub25lO30N CkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4g MS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9u MTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0 cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1b aWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRt YXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5k aWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1 cnBsZSIgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj4NCjxwIHN0eWxlPSJmb250LWZhbWls eTpDYWxpYnJpO2ZvbnQtc2l6ZToxMHB0O2NvbG9yOiMwMDAwRkY7bWFyZ2luOjVwdDtmb250LXN0 eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IiBhbGln bj0iTGVmdCI+DQpbQU1EIE9mZmljaWFsIFVzZSBPbmx5IC0gQU1EIEludGVybmFsIERpc3RyaWJ1 dGlvbiBPbmx5XTxicj4NCjwvcD4NCjxicj4NCjxkaXY+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlv bjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtm b250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhpIERhdmUsPG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48 L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0 O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpu b25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4g MGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3Nw YW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh bGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEh1bnQsIERhdmlkICZsdDtkYXZpZC5odW50QGludGVs LmNvbSZndDsNCjxicj4NCjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBKdWx5IDIzLCAyMDI0IDM6MzQg UE08YnI+DQo8Yj5Ubzo8L2I+IFR1bW1hbGEsIFNpdmFwcmFzYWQgJmx0O1NpdmFwcmFzYWQuVHVt bWFsYUBhbWQuY29tJmd0OzsgYW5hdG9seS5idXJha292QGludGVsLmNvbTsgamVyaW5qQG1hcnZl bGwuY29tOyBsaWh1aXNvbmdAaHVhd2VpLmNvbTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsg WWlnaXQsIEZlcnJ1aCAmbHQ7RmVycnVoLllpZ2l0QGFtZC5jb20mZ3Q7OyBrb25zdGFudGluLmFu YW55ZXZAaHVhd2VpLmNvbTxicj4NCjxiPkNjOjwvYj4gZGV2QGRwZGsub3JnPGJyPg0KPGI+U3Vi amVjdDo8L2I+IFJlOiBbUEFUQ0ggdjEgMS80XSBwb3dlcjogcmVmYWN0b3IgY29yZSBwb3dlciBt YW5hZ2VtZW50IGxpYnJhcnk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8dGFibGUgY2xhc3M9 Ik1zb05vcm1hbFRhYmxlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0i MCIgYWxpZ249ImxlZnQiIHdpZHRoPSIxMDAlIiBzdHlsZT0id2lkdGg6MTAwLjAlIj4NCjx0Ym9k eT4NCjx0cj4NCjx0ZCBzdHlsZT0iYmFja2dyb3VuZDojRkZCOTAwO3BhZGRpbmc6NS4wcHQgMi4w cHQgNS4wcHQgMi4wcHQiPjwvdGQ+DQo8dGQgd2lkdGg9IjEwMCUiIHN0eWxlPSJ3aWR0aDoxMDAu MCU7YmFja2dyb3VuZDojRkZGOEU1O3BhZGRpbmc6NS4wcHQgNC4wcHQgNS4wcHQgMTIuMHB0Ij4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLWVsZW1lbnQ6ZnJhbWU7bXNv LWVsZW1lbnQtZnJhbWUtaHNwYWNlOjIuMjVwdDttc28tZWxlbWVudC13cmFwOmFyb3VuZDttc28t ZWxlbWVudC1hbmNob3ItdmVydGljYWw6cGFyYWdyYXBoO21zby1lbGVtZW50LWFuY2hvci1ob3Jp em9udGFsOmNvbHVtbjttc28taGVpZ2h0LXJ1bGU6ZXhhY3RseSI+DQo8Yj48c3BhbiBzdHlsZT0i Y29sb3I6IzIyMjIyMiI+Q2F1dGlvbjo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJjb2xvcjojMjIy MjIyIj4gVGhpcyBtZXNzYWdlIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVz ZSBwcm9wZXIgY2F1dGlvbiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtz LCBvciByZXNwb25kaW5nLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L3RkPg0K PC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8ZGl2Pg0KPHA+SGkgU2l2YXByYXNhZCw8bzpwPjwvbzpwPjwvcD4NCjxw PkEgY291cGxlIG9mIGNvbW1lbnRzIGJlbG93OjxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPk9uIDIwLzA3LzIwMjQgMTc6NTAsIFNpdmFwcmFzYWQgVHVtbWFsYSB3 cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10 b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cHJlPlRoaXMgcGF0Y2ggaW50cm9kdWNl cyBhIGNvbXByZWhlbnNpdmUgcmVmYWN0b3IgdG8gdGhlIGNvcmUgcG93ZXI8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT5tYW5hZ2VtZW50IGxpYnJhcnkuIFRoZSBwcmltYXJ5IGZvY3VzIGlzIG9uIGlt cHJvdmluZyBtb2R1bGFyaXR5PG86cD48L286cD48L3ByZT4NCjxwcmU+YW5kIG9yZ2FuaXphdGlv biBieSByZWxvY2F0aW5nIHNwZWNpZmljIGRyaXZlciBpbXBsZW1lbnRhdGlvbnM8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5mcm9tIHRoZSAnbGliL3Bvd2VyJyBkaXJlY3RvcnkgdG8gZGVkaWNhdGVk IGRpcmVjdG9yaWVzIHdpdGhpbjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPidkcml2ZXJzL3Bvd2Vy L2NvcmUvKicuIFRoZSBhZGp1c3RtZW50IG9mIG1lc29uLmJ1aWxkIGZpbGVzPG86cD48L286cD48 L3ByZT4NCjxwcmU+ZW5hYmxlcyB0aGUgc2VsZWN0aXZlIGFjdGl2YXRpb24gb2YgaW5kaXZpZHVh bCBkcml2ZXJzLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+ DQo8cHJlPlRoZXNlIGNoYW5nZXMgY29udHJpYnV0ZSB0byBhIHNpZ25pZmljYW50IGVuaGFuY2Vt ZW50IGluIGNvZGU8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5vcmdhbml6YXRpb24sIHByb3ZpZGlu ZyBhIGNsZWFyZXIgc3RydWN0dXJlIGZvciBkcml2ZXIgaW1wbGVtZW50YXRpb25zLjxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPlRoZSByZWZhY3RvciBhaW1zIHRvIGltcHJvdmUgb3ZlcmFsbCBjb2Rl IGNsYXJpdHkgYW5kIGJvb3N0PG86cD48L286cD48L3ByZT4NCjxwcmU+bWFpbnRhaW5hYmlsaXR5 LiBBZGRpdGlvbmFsbHksIGl0IGVzdGFibGlzaGVzIGEgZm91bmRhdGlvbiBmb3I8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5mdXR1cmUgZGV2ZWxvcG1lbnQsIGFsbG93aW5nIGZvciBtb3JlIGZvY3Vz ZWQgd29yayBvbiBpbmRpdmlkdWFsPG86cD48L286cD48L3ByZT4NCjxwcmU+ZHJpdmVycyBhbmQg c2VhbWxlc3MgaW50ZWdyYXRpb24gb2YgZm9ydGhjb21pbmcgZW5oYW5jZW1lbnRzLjxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPlNpZ25lZC1vZmYt Ynk6IFNpdmFwcmFzYWQgVHVtbWFsYSA8YSBocmVmPSJtYWlsdG86c2l2YXByYXNhZC50dW1tYWxh QGFtZC5jb20iPiZsdDtzaXZhcHJhc2FkLnR1bW1hbGFAYW1kLmNvbSZndDs8L2E+PG86cD48L286 cD48L3ByZT4NCjxwcmU+LS0tPG86cD48L286cD48L3ByZT4NCjxwcmU+IGRyaXZlcnMvbWVzb24u YnVpbGQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZu YnNwOyAxICs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gLi4uL3Bvd2VyL2FjcGkvYWNwaV9jcHVm cmVxLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAyMiAr LTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAuLi4vcG93ZXIvYWNwaS9hY3BpX2NwdWZyZXEuaCZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDYgKy08 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gZHJpdmVycy9wb3dlci9hY3BpL21lc29uLmJ1aWxkJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMTAgKzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiAuLi4vcG93ZXIvYW1kX3BzdGF0ZS9hbWRfcHN0YXRlX2NwdWZyZXEuYyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDI0ICstPG86cD48L286cD48L3ByZT4NCjxwcmU+ IC4uLi9wb3dlci9hbWRfcHN0YXRlL2FtZF9wc3RhdGVfY3B1ZnJlcS5oJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgOCArLTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBkcml2 ZXJzL3Bvd2VyL2FtZF9wc3RhdGUvbWVzb24uYnVpbGQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxMCArPG86cD48L286cD48L3By ZT4NCjxwcmU+IC4uLi9wb3dlci9jcHBjL2NwcGNfY3B1ZnJlcS5jJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMjIgKy08bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gLi4uL3Bvd2VyL2NwcGMvY3BwY19jcHVmcmVxLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA4ICstPG86cD48L286cD48L3ByZT4NCjxwcmU+ IGRyaXZlcnMvcG93ZXIvY3BwYy9tZXNvbi5idWlsZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyB8Jm5ic3A7IDEwICs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gLi4uL3Bvd2VyL2t2 bV92bX0vZ3Vlc3RfY2hhbm5lbC5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgMDxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiAuLi4vcG93ZXIva3ZtX3ZtfS9ndWVzdF9jaGFubmVsLmgmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAwPG86cD48L286cD48L3ByZT4NCjxwcmU+IC4uLi9w b3dlci9rdm1fdm0va3ZtX3ZtLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAyMiArLTxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiAuLi4vcG93ZXIva3ZtX3ZtL2t2bV92bS5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgNiAr LTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBkcml2ZXJzL3Bvd2VyL2t2bV92bS9tZXNvbi5idWls ZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDE2ICs8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gZHJpdmVycy9wb3dlci9tZXNvbi5idWlsZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDEyICs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4gZHJpdmVycy9wb3dlci9wc3RhdGUvbWVzb24uYnVpbGQmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfCZuYnNwOyAxMCArPG86cD48L286cD48L3ByZT4NCjxwcmU+IC4uLi9wb3dl ci9wc3RhdGUvcHN0YXRlX2NwdWZyZXEuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDIyICstPG86 cD48L286cD48L3ByZT4NCjxwcmU+IC4uLi9wb3dlci9wc3RhdGUvcHN0YXRlX2NwdWZyZXEuaCZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDYgKy08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g bGliL3Bvd2VyL21lc29uLmJ1aWxkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz cDsmbmJzcDsgNyArLTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBsaWIvcG93ZXIvcG93ZXJfY29t bW9uLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAyICstPG86cD48L286cD48L3ByZT4NCjxw cmU+IGxpYi9wb3dlci9wb3dlcl9jb21tb24uaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDE2ICstPG86 cD48L286cD48L3ByZT4NCjxwcmU+IGxpYi9wb3dlci9ydGVfcG93ZXIuYyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyB8IDI4NyArKysrKystLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4gbGliL3Bvd2VyL3J0ZV9wb3dlci5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHwgMTM5ICsrKysrKy0tLTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBsaWIvcG93ZXIvcnRl X3Bvd2VyX2NvcmVfb3BzLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAyMDgg KysrKysrKysrKysrKzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBsaWIvcG93ZXIvdmVyc2lvbi5t YXAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxNCArPG86cD48L286cD48 L3ByZT4NCjxwcmU+IDI2IGZpbGVzIGNoYW5nZWQsIDYxOCBpbnNlcnRpb25zKCspLCAyNzAgZGVs ZXRpb25zKC0pPG86cD48L286cD48L3ByZT4NCjxwcmU+IHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJf YWNwaV9jcHVmcmVxLmMgPSZndDsgZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jICg5 NSUpPG86cD48L286cD48L3ByZT4NCjxwcmU+IHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfYWNwaV9j cHVmcmVxLmggPSZndDsgZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5oICg5OCUpPG86 cD48L286cD48L3ByZT4NCjxwcmU+IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3Bvd2VyL2Fj cGkvbWVzb24uYnVpbGQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gcmVuYW1lIGxpYi9wb3dlci9w b3dlcl9hbWRfcHN0YXRlX2NwdWZyZXEuYyA9Jmd0OyBkcml2ZXJzL3Bvd2VyL2FtZF9wc3RhdGUv YW1kX3BzdGF0ZV9jcHVmcmVxLmMgKDk1JSk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gcmVuYW1l IGxpYi9wb3dlci9wb3dlcl9hbWRfcHN0YXRlX2NwdWZyZXEuaCA9Jmd0OyBkcml2ZXJzL3Bvd2Vy L2FtZF9wc3RhdGUvYW1kX3BzdGF0ZV9jcHVmcmVxLmggKDk3JSk8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIvYW1kX3BzdGF0ZS9tZXNvbi5i dWlsZDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2NwcGNf Y3B1ZnJlcS5jID0mZ3Q7IGRyaXZlcnMvcG93ZXIvY3BwYy9jcHBjX2NwdWZyZXEuYyAoOTUlKTxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2NwcGNfY3B1ZnJl cS5oID0mZ3Q7IGRyaXZlcnMvcG93ZXIvY3BwYy9jcHBjX2NwdWZyZXEuaCAoOTclKTxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wb3dlci9jcHBjL21l c29uLmJ1aWxkPG86cD48L286cD48L3ByZT4NCjxwcmU+IHJlbmFtZSB7bGliL3Bvd2VyID0mZ3Q7 IGRyaXZlcnMvcG93ZXIva3ZtX3ZtfS9ndWVzdF9jaGFubmVsLmMgKDEwMCUpPG86cD48L286cD48 L3ByZT4NCjxwcmU+IHJlbmFtZSB7bGliL3Bvd2VyID0mZ3Q7IGRyaXZlcnMvcG93ZXIva3ZtX3Zt fS9ndWVzdF9jaGFubmVsLmggKDEwMCUpPG86cD48L286cD48L3ByZT4NCjxwcmU+IHJlbmFtZSBs aWIvcG93ZXIvcG93ZXJfa3ZtX3ZtLmMgPSZndDsgZHJpdmVycy9wb3dlci9rdm1fdm0va3ZtX3Zt LmMgKDgyJSk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9r dm1fdm0uaCA9Jmd0OyBkcml2ZXJzL3Bvd2VyL2t2bV92bS9rdm1fdm0uaCAoOTglKTxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wb3dlci9rdm1fdm0v bWVzb24uYnVpbGQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvcG93ZXIvbWVzb24uYnVpbGQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIvcHN0YXRlL21lc29uLmJ1aWxkPG86cD48L286cD48L3By ZT4NCjxwcmU+IHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfcHN0YXRlX2NwdWZyZXEuYyA9Jmd0OyBk cml2ZXJzL3Bvd2VyL3BzdGF0ZS9wc3RhdGVfY3B1ZnJlcS5jICg5NiUpPG86cD48L286cD48L3By ZT4NCjxwcmU+IHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfcHN0YXRlX2NwdWZyZXEuaCA9Jmd0OyBk cml2ZXJzL3Bvd2VyL3BzdGF0ZS9wc3RhdGVfY3B1ZnJlcS5oICg5OCUpPG86cD48L286cD48L3By ZT4NCjxwcmU+IGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvcG93ZXIvcnRlX3Bvd2VyX2NvcmVfb3Bz Lmg8bzpwPjwvbzpwPjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHA+LS1zbmlwLS08bzpwPjwvbzpw PjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206 NS4wcHQiPg0KPHByZT5kaWZmIC0tZ2l0IGEvbGliL3Bvd2VyL3J0ZV9wb3dlci5jIGIvbGliL3Bv d2VyL3J0ZV9wb3dlci5jPG86cD48L286cD48L3ByZT4NCjxwcmU+aW5kZXggMzZjM2YzZGE5OC4u OGFmYjU5NDliOSAxMDA2NDQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tLS0gYS9saWIvcG93ZXIv cnRlX3Bvd2VyLmM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rKysgYi9saWIvcG93ZXIvcnRlX3Bv d2VyLmM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtOCwxNTMgKzgsODYgQEA8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4gI2luY2x1ZGUgJmx0O3J0ZV9zcGlubG9jay5oJmd0OzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsjaW5jbHVkZSAmcXVv dDtydGVfcG93ZXIuaCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0jaW5jbHVkZSAmcXVv dDtwb3dlcl9hY3BpX2NwdWZyZXEuaCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0jaW5j bHVkZSAmcXVvdDtwb3dlcl9jcHBjX2NwdWZyZXEuaCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiAjaW5jbHVkZSAmcXVvdDtwb3dlcl9jb21tb24uaCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPi0jaW5jbHVkZSAmcXVvdDtwb3dlcl9rdm1fdm0uaCZxdW90OzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPi0jaW5jbHVkZSAmcXVvdDtwb3dlcl9wc3RhdGVfY3B1ZnJlcS5oJnF1b3Q7PG86 cD48L286cD48L3ByZT4NCjxwcmU+LSNpbmNsdWRlICZxdW90O3Bvd2VyX2FtZF9wc3RhdGVfY3B1 ZnJlcS5oJnF1b3Q7PG86cD48L286cD48L3ByZT4NCjxwcmU+IDxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPi1lbnVtIHBvd2VyX21hbmFnZW1lbnRfZW52IGdsb2JhbF9kZWZhdWx0X2VudiA9IFBNX0VO Vl9OT1RfU0VUOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitzdGF0aWMgZW51bSBwb3dlcl9tYW5h Z2VtZW50X2VudiBnbG9iYWxfZGVmYXVsdF9lbnYgPSBQTV9FTlZfTk9UX1NFVDs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rc3RhdGljIHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKmdsb2JhbF9w b3dlcl9jb3JlX29wczs8bzpwPjwvbzpwPjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHA+PG86cD4m bmJzcDs8L286cD48L3A+DQo8cD5TdWdnZXN0IGluaXRpYWxpc2luZyB0aGlzIHRvIE5VTEwgc28g d2UgY2FuIGNoZWNrIGluIHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMgaWYgaXQncyBudWxsIGFuZCB0 aHJvdyBhbiBlcnJvci4NCjxvOnA+PC9vOnA+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPltTaXZh XSBydGVfcG93ZXJfY29yZV9vcHMgYXMgc3RhdGljIGdsb2JhbCBpcyBpbml0aWFsaXplZCB0byBO VUxMIGF0IHJ1bnRpbWUuIE5vdCBzdXJlLCBpZiBpdOKAmXMgc3RpbGwgcmVxdWlyZWQgdG8gaW5p dGlhbGl6ZSB0byBOVUxMLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+LS1zbmlwLS08bzpw PjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1i b3R0b206NS4wcHQiPg0KPHByZT4rc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAqPG86cD48L286 cD48L3ByZT4NCjxwcmU+K3J0ZV9wb3dlcl9nZXRfY29yZV9vcHModm9pZCk8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rezxvOnA+PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cD48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxwPk5lZWQgYSBjaGVjayBoZXJlIHRvIHNlZSBpZiBydGVfcG93ZXJf Z2V0X2NvcmVfb3BzIGlzIE5VTEwuIElmIGl0IGlzLCB0aGVuIHRoZSBkZXZlbG9wZXIgaGFzIHBy b2JhYmx5IGNhbGxlZCBhIGZyZXF1ZW5jeSBjaGFuZ2UgQVBJIGJlZm9yZSB0aGUgcmVsZXZhbnQg aW5pdCBmdW5jdGlvbiwgc28gdGhyb3cgYW4gZXJyb3IuDQo8bzpwPjwvbzpwPjwvcD4NCjxwPkFs c28sIGFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgY2FsbCB0aGlzIG5lZWQgdG8gY2hlY2sgaWYgaXQg cmV0dXJucyBOVUxMIHNvIGFzIHRvIGF2b2lkIGEgc2VnZmF1bHQgd2hlbiB0aGV5IGF0dGVtcHRz IHRvIGNhbGwgdGhlIG9wIGZ1bmN0aW9uLjxvOnA+PC9vOnA+PC9wPg0KPHA+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2Vy aWYiPltTaXZhXSBBQ0suIFdpbGwgZml4IHRoaXMgaW4gbmV4dCB2ZXJzaW9uLjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9 Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cHJlPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0dXJuIGdsb2JhbF9wb3dlcl9jb3JlX29wczs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rfTxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cD4tLXNuaXAtLTxv OnA+PC9vOnA+PC9wPg0KPHA+PG86cD4mbmJzcDs8L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHls ZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxwcmU+ZGlmZiAtLWdp dCBhL2xpYi9wb3dlci9ydGVfcG93ZXIuaCBiL2xpYi9wb3dlci9ydGVfcG93ZXIuaDxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPmluZGV4IDRmYTRhZmUzOTkuLjVlNGFhY2YwOGIgMTAwNjQ0PG86cD48 L286cD48L3ByZT4NCjxwcmU+LS0tIGEvbGliL3Bvd2VyL3J0ZV9wb3dlci5oPG86cD48L286cD48 L3ByZT4NCjxwcmU+KysrIGIvbGliL3Bvd2VyL3J0ZV9wb3dlci5oPG86cD48L286cD48L3ByZT4N CjxwcmU+QEAgLTEsNSArMSw2IEBAPG86cD48L286cD48L3ByZT4NCjxwcmU+IC8qIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2U8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDsgKiBDb3B5cmlnaHQoYykgMjAxMC0yMDE0IEludGVsIENvcnBvcmF0aW9uPG86cD48L286cD48 L3ByZT4NCjxwcmU+KyAqIENvcHlyaWdodChjKSAyMDI0IEFkdmFuY2VkIE1pY3JvIERldmljZXMs IEluYy48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgKi88bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7I2lmbmRlZiBfUlRFX1BPV0VSX0g8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTQsMTQgKzE1LDIxIEBAPG86cD48L286cD48L3By ZT4NCjxwcmU+ICNpbmNsdWRlICZsdDtydGVfbG9nLmgmZ3Q7PG86cD48L286cD48L3ByZT4NCjxw cmU+ICNpbmNsdWRlICZsdDtydGVfcG93ZXJfZ3Vlc3RfY2hhbm5lbC5oJmd0OzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rI2luY2x1ZGUgJnF1b3Q7cnRl X3Bvd2VyX2NvcmVfb3BzLmgmcXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rPG86cD48L286 cD48L3ByZT4NCjxwcmU+ICNpZmRlZiBfX2NwbHVzcGx1czxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiBleHRlcm4gJnF1b3Q7QyZxdW90OyB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICNlbmRpZjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsvKiBQ b3dlciBNYW5hZ2VtZW50IEVudmlyb25tZW50IFN0YXRlICovPG86cD48L286cD48L3ByZT4NCjxw cmU+LWVudW0gcG93ZXJfbWFuYWdlbWVudF9lbnYge1BNX0VOVl9OT1RfU0VULCBQTV9FTlZfQUNQ SV9DUFVGUkVRLCBQTV9FTlZfS1ZNX1ZNLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgUE1fRU5WX1BTVEFURV9DUFVGUkVRLCBQTV9FTlZfQ1BQQ19D UFVGUkVRLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgUE1fRU5WX0FNRF9QU1RBVEVfQ1BVRlJFUX07PG86cD48L286cD48L3ByZT4NCjxwcmU+K2Vu dW0gcG93ZXJfbWFuYWdlbWVudF9lbnYgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUE1fRU5WX05PVF9TRVQgPSAwLDxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUE1f RU5WX0FDUElfQ1BVRlJFUSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFBNX0VOVl9LVk1fVk0sPG86cD48L286cD48L3ByZT4NCjxw cmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBQTV9FTlZfUFNUQVRFX0NQ VUZSRVEsPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBQTV9FTlZfQ1BQQ19DUFVGUkVRLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUE1fRU5WX0FNRF9QU1RBVEVfQ1BV RlJFUTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit9OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiA8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsvKio8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDsgKiBDaGVjayBpZiBhIHNwZWNpZmljIHBvd2VyIG1hbmFnZW1lbnQgZW52aXJvbm1lbnQg dHlwZSBpcyBzdXBwb3J0ZWQgb24gYTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC02Niw2ICs3 NCwxNSBAQCB2b2lkIHJ0ZV9wb3dlcl91bnNldF9lbnYodm9pZCk7PG86cD48L286cD48L3ByZT4N CjxwcmU+Jm5ic3A7ICovPG86cD48L286cD48L3ByZT4NCjxwcmU+IGVudW0gcG93ZXJfbWFuYWdl bWVudF9lbnYgcnRlX3Bvd2VyX2dldF9lbnYodm9pZCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ IDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisvKio8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rICog QGludGVybmFsIEdldCB0aGUgcG93ZXIgb3BzIHN0cnVjdCBmcm9tIGl0cyBpbmRleC48bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4rICo8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rICogQHJldHVybjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgKiZuYnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byB0aGUg b3BzIHN0cnVjdCBpbiB0aGUgdGFibGUgaWYgcmVnaXN0ZXJlZC48bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4rICovPG86cD48L286cD48L3ByZT4NCjxwcmU+K3N0cnVjdCBydGVfcG93ZXJfY29yZV9v cHMgKjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitydGVfcG93ZXJfZ2V0X2NvcmVfb3BzKHZvaWQp OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gLyoqPG86 cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICogSW5pdGlhbGl6ZSBwb3dlciBtYW5hZ2VtZW50 IGZvciBhIHNwZWNpZmljIGxjb3JlLiBJZiBydGVfcG93ZXJfc2V0X2VudigpIGhhczxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIG5vdCBiZWVuIGNhbGxlZCB0aGVuIGFuIGF1dG8tZGV0 ZWN0IG9mIHRoZSBlbnZpcm9ubWVudCB3aWxsIHN0YXJ0IGFuZDxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPkBAIC0xMDgsMTAgKzEyNSwxMyBAQCBpbnQgcnRlX3Bvd2VyX2V4aXQodW5zaWduZWQgaW50 IGxjb3JlX2lkKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgKiBAcmV0dXJuPG86cD48 L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICombmJzcDsgVGhlIG51bWJlciBvZiBhdmFpbGFibGUg ZnJlcXVlbmNpZXMuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICovPG86cD48L286cD48 L3ByZT4NCjxwcmU+LXR5cGVkZWYgdWludDMyX3QgKCpydGVfcG93ZXJfZnJlcXNfdCkodW5zaWdu ZWQgaW50IGxjb3JlX2lkLCB1aW50MzJfdCAqZnJlcXMsPG86cD48L286cD48L3ByZT4NCjxwcmU+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB1aW50MzJfdCBudW0pOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPitzdGF0aWMgaW5saW5lIHVpbnQzMl90PG86cD48L286cD48L3ByZT4NCjxwcmU+ K3J0ZV9wb3dlcl9mcmVxcyh1bnNpZ25lZCBpbnQgbGNvcmVfaWQsIHVpbnQzMl90ICpmcmVxcywg dWludDMyX3Qgbik8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rezxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IHJ0ZV9wb3dl cl9jb3JlX29wcyAqb3BzID0gcnRlX3Bvd2VyX2dldF9jb3JlX29wcygpOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tZXh0ZXJuIHJ0ZV9wb3dlcl9mcmVx c190IHJ0ZV9wb3dlcl9mcmVxczs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBvcHMtJmd0O2dldF9hdmFpbF9mcmVxcyhs Y29yZV9pZCwgZnJlcXMsIG4pOzxvOnA+PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cD48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwPlRoaXMgZnVuY3Rpb24gd2lsbCBzZWdmYXVsdCBpZiBp cyBjYWxsZWQgYmVmb3JlIHRoZSBhcHByb3ByaWF0ZSBpbml0IGlzIHBlcmZvcm1lZC4gU2VlIGNv bW1lbnRzIGFib3ZlIG9uIGdsb2JhbF9wb3dlcl9jb3JlX29wcy48bzpwPjwvbzpwPjwvcD4NCjxw PlNhbWUgZm9yIGFsbCB0aGUgZnVuY3Rpb25zIGJlbG93IHRoYXQgY2FsbCBnbG9iYWxfcG93ZXJf Y29yZV9vcHMoKS48bzpwPjwvbzpwPjwvcD4NCjxwPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGJs b2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8 cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPit9PG86cD48L286cD48L3ByZT4NCjxw cmU+IDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOy8qKjxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiZuYnNwOyAqIFJldHVybiB0aGUgY3VycmVudCBpbmRleCBvZiBhdmFpbGFibGUgZnJlcXVl bmNpZXMgb2YgYSBzcGVjaWZpYyBsY29yZS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTI0 LDkgKzE0NCwxMyBAQCBleHRlcm4gcnRlX3Bvd2VyX2ZyZXFzX3QgcnRlX3Bvd2VyX2ZyZXFzOzxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIEByZXR1cm48bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDsgKiZuYnNwOyBUaGUgY3VycmVudCBpbmRleCBvZiBhdmFpbGFibGUgZnJlcXVl bmNpZXMuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICovPG86cD48L286cD48L3ByZT4N CjxwcmU+LXR5cGVkZWYgdWludDMyX3QgKCpydGVfcG93ZXJfZ2V0X2ZyZXFfdCkodW5zaWduZWQg aW50IGxjb3JlX2lkKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rc3RhdGljIGlubGluZSB1aW50 MzJfdDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitydGVfcG93ZXJfZ2V0X2ZyZXEodW5zaWduZWQg aW50IGxjb3JlX2lkKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit7PG86cD48L286cD48L3ByZT4N CjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgcnRlX3Bv d2VyX2NvcmVfb3BzICpvcHMgPSBydGVfcG93ZXJfZ2V0X2NvcmVfb3BzKCk7PG86cD48L286cD48 L3ByZT4NCjxwcmU+IDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi1leHRlcm4gcnRlX3Bvd2VyX2dl dF9mcmVxX3QgcnRlX3Bvd2VyX2dldF9mcmVxOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIG9wcy0mZ3Q7Z2V0X2ZyZXEo bGNvcmVfaWQpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit9PG86cD48L286cD48L3ByZT4NCjxw cmU+IDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOy8qKjxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiZuYnNwOyAqIFNldCB0aGUgbmV3IGZyZXF1ZW5jeSBmb3IgYSBzcGVjaWZpYyBsY29yZSBi eSBpbmRpY2F0aW5nIHRoZSBpbmRleCBvZjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0xNDQs ODIgKzE2OCwxMDEgQEAgZXh0ZXJuIHJ0ZV9wb3dlcl9nZXRfZnJlcV90IHJ0ZV9wb3dlcl9nZXRf ZnJlcTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgKiZuYnNwOyAtIDAgb24gc3VjY2Vz cyB3aXRob3V0IGZyZXF1ZW5jeSBjaGFuZ2VkLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNw OyAqJm5ic3A7IC0gTmVnYXRpdmUgb24gZXJyb3IuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5i c3A7ICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LXR5cGVkZWYgaW50ICgqcnRlX3Bvd2VyX3Nl dF9mcmVxX3QpKHVuc2lnbmVkIGludCBsY29yZV9pZCwgdWludDMyX3QgaW5kZXgpOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPi08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tZXh0ZXJuIHJ0ZV9wb3dl cl9zZXRfZnJlcV90IHJ0ZV9wb3dlcl9zZXRfZnJlcTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4r c3RhdGljIGlubGluZSB1aW50MzJfdDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitydGVfcG93ZXJf c2V0X2ZyZXEodW5zaWduZWQgaW50IGxjb3JlX2lkLCB1aW50MzJfdCBpbmRleCk8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAqb3BzID0gcnRl X3Bvd2VyX2dldF9jb3JlX29wcygpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiA8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4tLyoqPG86cD48L286cD48L3ByZT4NCjxwcmU+LSAqIEZ1bmN0aW9uIHBv aW50ZXIgZGVmaW5pdGlvbiBmb3IgZ2VuZXJpYyBmcmVxdWVuY3kgY2hhbmdlIGZ1bmN0aW9ucy4g UmV2aWV3PG86cD48L286cD48L3ByZT4NCjxwcmU+LSAqIGVhY2ggZW52aXJvbm1lbnRzIHNwZWNp ZmljIGRvY3VtZW50YXRpb24gZm9yIHVzYWdlLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gKjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gKiBAcGFyYW0gbGNvcmVfaWQ8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4tICombmJzcDsgbGNvcmUgaWQuPG86cD48L286cD48L3ByZT4NCjxwcmU+LSAqPG86 cD48L286cD48L3ByZT4NCjxwcmU+LSAqIEByZXR1cm48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4t ICombmJzcDsgLSAxIG9uIHN1Y2Nlc3Mgd2l0aCBmcmVxdWVuY3kgY2hhbmdlZC48bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4tICombmJzcDsgLSAwIG9uIHN1Y2Nlc3Mgd2l0aG91dCBmcmVxdWVuY3kg Y2hhbmdlZC48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tICombmJzcDsgLSBOZWdhdGl2ZSBvbiBl cnJvci48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tICovPG86cD48L286cD48L3ByZT4NCjxwcmU+ LXR5cGVkZWYgaW50ICgqcnRlX3Bvd2VyX2ZyZXFfY2hhbmdlX3QpKHVuc2lnbmVkIGludCBsY29y ZV9pZCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyByZXR1cm4gb3BzLSZndDtzZXRfZnJlcShsY29yZV9pZCwgaW5kZXgpOzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPit9PG86cD48L286cD48L3ByZT4NCjxwcmU+IDxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOy8qKjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFNj YWxlIHVwIHRoZSBmcmVxdWVuY3kgb2YgYSBzcGVjaWZpYyBsY29yZSBhY2NvcmRpbmcgdG8gdGhl IGF2YWlsYWJsZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIGZyZXF1ZW5jaWVzLjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBz cGVjaWZpYyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDsgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tZXh0ZXJuIHJ0ZV9wb3dlcl9mcmVxX2No YW5nZV90IHJ0ZV9wb3dlcl9mcmVxX3VwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitzdGF0aWMg aW5saW5lIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitydGVfcG93ZXJfZnJlcV91cCh1bnNp Z25lZCBpbnQgbGNvcmVfaWQpPG86cD48L286cD48L3ByZT4NCjxwcmU+K3s8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBy dGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMoKTs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gb3BzLSZndDtmcmVxX3VwKGxjb3JlX2lkKTs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rfTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiA8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDsvKio8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsg KiBTY2FsZSBkb3duIHRoZSBmcmVxdWVuY3kgb2YgYSBzcGVjaWZpYyBsY29yZSBhY2NvcmRpbmcg dG8gdGhlIGF2YWlsYWJsZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIGZyZXF1ZW5j aWVzLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFJldmlldyBlYWNoIGVudmlyb25t ZW50cyBzcGVjaWZpYyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS48bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDsgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tZXh0ZXJuIHJ0ZV9wb3dlcl9m cmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX2Rvd247PG86cD48L286cD48L3ByZT4NCjxwcmU+ K3N0YXRpYyBpbmxpbmUgaW50PG86cD48L286cD48L3ByZT4NCjxwcmU+K3J0ZV9wb3dlcl9mcmVx X2Rvd24odW5zaWduZWQgaW50IGxjb3JlX2lkKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit7PG86 cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVfcG93ZXJfZ2V0X2NvcmVfb3Bz KCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+KzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIG9wcy0mZ3Q7ZnJlcV9kb3du KGxjb3JlX2lkKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rfTxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsvKio8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDsgKiBTY2FsZSB1cCB0aGUgZnJlcXVlbmN5IG9mIGEgc3BlY2lmaWMgbGNvcmUg dG8gdGhlIGhpZ2hlc3QgYWNjb3JkaW5nIHRvIHRoZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZu YnNwOyAqIGF2YWlsYWJsZSBmcmVxdWVuY2llcy48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDsgKiBSZXZpZXcgZWFjaCBlbnZpcm9ubWVudHMgc3BlY2lmaWMgZG9jdW1lbnRhdGlvbiBmb3Ig dXNhZ2UuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICovPG86cD48L286cD48L3ByZT4N CjxwcmU+LWV4dGVybiBydGVfcG93ZXJfZnJlcV9jaGFuZ2VfdCBydGVfcG93ZXJfZnJlcV9tYXg7 PG86cD48L286cD48L3ByZT4NCjxwcmU+K3N0YXRpYyBpbmxpbmUgaW50PG86cD48L286cD48L3By ZT4NCjxwcmU+K3J0ZV9wb3dlcl9mcmVxX21heCh1bnNpZ25lZCBpbnQgbGNvcmVfaWQpPG86cD48 L286cD48L3ByZT4NCjxwcmU+K3s8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9 IHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMoKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rPG86cD48 L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBy ZXR1cm4gb3BzLSZndDtmcmVxX21heChsY29yZV9pZCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ K308bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7 LyoqPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICogU2NhbGUgZG93biB0aGUgZnJlcXVl bmN5IG9mIGEgc3BlY2lmaWMgbGNvcmUgdG8gdGhlIGxvd2VzdCBhY2NvcmRpbmcgdG8gdGhlPG86 cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICogYXZhaWxhYmxlIGZyZXF1ZW5jaWVzLjxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBzcGVj aWZpYyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS4uPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5i c3A7ICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LWV4dGVybiBydGVfcG93ZXJfZnJlcV9jaGFu Z2VfdCBydGVfcG93ZXJfZnJlcV9taW47PG86cD48L286cD48L3ByZT4NCjxwcmU+K3N0YXRpYyBp bmxpbmUgaW50PG86cD48L286cD48L3ByZT4NCjxwcmU+K3J0ZV9wb3dlcl9mcmVxX21pbih1bnNp Z25lZCBpbnQgbGNvcmVfaWQpPG86cD48L286cD48L3ByZT4NCjxwcmU+K3s8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBy dGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMoKTs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gb3BzLSZndDtmcmVxX21pbihsY29yZV9pZCk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+K308bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gPG86cD48 L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7LyoqPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7 ICogUXVlcnkgdGhlIFR1cmJvIEJvb3N0IHN0YXR1cyBvZiBhIHNwZWNpZmljIGxjb3JlLjxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBzcGVj aWZpYyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS4uPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5i c3A7ICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LWV4dGVybiBydGVfcG93ZXJfZnJlcV9jaGFu Z2VfdCBydGVfcG93ZXJfdHVyYm9fc3RhdHVzOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitzdGF0 aWMgaW5saW5lIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitydGVfcG93ZXJfdHVyYm9fc3Rh dHVzKHVuc2lnbmVkIGludCBsY29yZV9pZCk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rezxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg c3RydWN0IHJ0ZV9wb3dlcl9jb3JlX29wcyAqb3BzID0gcnRlX3Bvd2VyX2dldF9jb3JlX29wcygp OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBvcHMtJmd0O3R1cmJvX3N0YXR1 cyhsY29yZV9pZCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+K308bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7LyoqPG86cD48L286cD48L3ByZT4N CjxwcmU+Jm5ic3A7ICogRW5hYmxlIFR1cmJvIEJvb3N0IGZvciB0aGlzIGxjb3JlLjxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqIFJldmlldyBlYWNoIGVudmlyb25tZW50cyBzcGVjaWZp YyBkb2N1bWVudGF0aW9uIGZvciB1c2FnZS4uPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7 ICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LWV4dGVybiBydGVfcG93ZXJfZnJlcV9jaGFuZ2Vf dCBydGVfcG93ZXJfZnJlcV9lbmFibGVfdHVyYm87PG86cD48L286cD48L3ByZT4NCjxwcmU+K3N0 YXRpYyBpbmxpbmUgaW50PG86cD48L286cD48L3ByZT4NCjxwcmU+K3J0ZV9wb3dlcl9mcmVxX2Vu YWJsZV90dXJibyh1bnNpZ25lZCBpbnQgbGNvcmVfaWQpPG86cD48L286cD48L3ByZT4NCjxwcmU+ K3s8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRfY29y ZV9vcHMoKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gb3BzLSZndDtlbmFi bGVfdHVyYm8obGNvcmVfaWQpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit9PG86cD48L286cD48 L3ByZT4NCjxwcmU+IDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOy8qKjxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOyAqIERpc2FibGUgVHVyYm8gQm9vc3QgZm9yIHRoaXMgbGNvcmUu PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICogUmV2aWV3IGVhY2ggZW52aXJvbm1lbnRz IHNwZWNpZmljIGRvY3VtZW50YXRpb24gZm9yIHVzYWdlLi48bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4mbmJzcDsgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tZXh0ZXJuIHJ0ZV9wb3dlcl9mcmVx X2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX2Rpc2FibGVfdHVyYm87PG86cD48L286cD48L3ByZT4N CjxwcmU+K3N0YXRpYyBpbmxpbmUgaW50PG86cD48L286cD48L3ByZT4NCjxwcmU+K3J0ZV9wb3dl cl9mcmVxX2Rpc2FibGVfdHVyYm8odW5zaWduZWQgaW50IGxjb3JlX2lkKTxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPit7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfb3BzICpvcHMgPSBydGVfcG93 ZXJfZ2V0X2NvcmVfb3BzKCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+IDxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPi0vKio8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tICogUG93ZXIgY2FwYWJpbGl0 aWVzIHN1bW1hcnkuPG86cD48L286cD48L3ByZT4NCjxwcmU+LSAqLzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPi1zdHJ1Y3QgcnRlX3Bvd2VyX2NvcmVfY2FwYWJpbGl0aWVzIHs8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVuaW9uIHs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVpbnQ2 NF90IGNhcGFiaWxpdGllczs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHN0cnVjdCB7PG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyB1aW50NjRfdCB0dXJibzoxOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAv KiombHQ7IFR1cmJvIGNhbiBiZSBlbmFibGVkLiAqLzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgdWludDY0X3QgcHJpb3JpdHk6MTsmbmJzcDsmbmJzcDsgLyoqJmx0 OyBTU1QtQkYgaGlnaCBmcmVxIGNvcmUgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH07PG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi19 OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgcmV0dXJuIG9wcy0mZ3Q7ZGlzYWJsZV90dXJibyhsY29yZV9pZCk7PG86cD48L286cD48 L3ByZT4NCjxwcmU+K308bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gPG86cD48L286cD48L3ByZT4N CjxwcmU+Jm5ic3A7LyoqPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICogUmV0dXJucyBw b3dlciBjYXBhYmlsaXRpZXMgZm9yIGEgc3BlY2lmaWMgbGNvcmUuPG86cD48L286cD48L3ByZT4N CjxwcmU+QEAgLTIzNSwxMCArMjc4LDE0IEBAIHN0cnVjdCBydGVfcG93ZXJfY29yZV9jYXBhYmls aXRpZXMgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqJm5ic3A7IC0gMCBvbiBzdWNj ZXNzLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAqJm5ic3A7IC0gTmVnYXRpdmUgb24g ZXJyb3IuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICovPG86cD48L286cD48L3ByZT4N CjxwcmU+LXR5cGVkZWYgaW50ICgqcnRlX3Bvd2VyX2dldF9jYXBhYmlsaXRpZXNfdCkodW5zaWdu ZWQgaW50IGxjb3JlX2lkLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX2NhcGFiaWxpdGllcyAqY2Fwcyk7PG86 cD48L286cD48L3ByZT4NCjxwcmU+K3N0YXRpYyBpbmxpbmUgaW50PG86cD48L286cD48L3ByZT4N CjxwcmU+K3J0ZV9wb3dlcl9nZXRfY2FwYWJpbGl0aWVzKHVuc2lnbmVkIGludCBsY29yZV9pZCw8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVj dCBydGVfcG93ZXJfY29yZV9jYXBhYmlsaXRpZXMgKmNhcHMpPG86cD48L286cD48L3ByZT4NCjxw cmU+K3s8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKm9wcyA9IHJ0ZV9wb3dlcl9nZXRf Y29yZV9vcHMoKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gPG86cD48L286cD48L3ByZT4NCjxw cmU+LWV4dGVybiBydGVfcG93ZXJfZ2V0X2NhcGFiaWxpdGllc190IHJ0ZV9wb3dlcl9nZXRfY2Fw YWJpbGl0aWVzOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIG9wcy0mZ3Q7Z2V0X2NhcHMobGNvcmVfaWQsIGNhcHMpOzxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPit9PG86cD48L286cD48L3ByZT4NCjxwcmU+IDxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiZuYnNwOyNpZmRlZiBfX2NwbHVzcGx1czxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiB9PG86cD48L286cD48L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPHA+LS1zbmlwLS08bzpwPjwvbzpwPjwvcD4NCjxwPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+ DQo= --_000_CH3PR12MB8233D10E87B04486046E99E786B52CH3PR12MB8233namp_--