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 A652B4588C; Wed, 28 Aug 2024 23:27:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 64194402BE; Wed, 28 Aug 2024 23:27:29 +0200 (CEST) Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) by mails.dpdk.org (Postfix) with ESMTP id 0EF5A40295 for ; Wed, 28 Aug 2024 23:27:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; i=@cisco.com; l=57643; q=dns/txt; s=iport; t=1724880448; x=1726090048; h=from:to:cc:subject:date:message-id:mime-version; bh=MeVN1aqI8D+EzOwKuzn+Vz1xofvycvvhhMoGQJOgaPs=; b=ZQ42jnFT51K64tdT0b1SFFf+jymfV+Ky9ABFPEi09umEue25mKUZRKvy gJ2VBr4AjhLOM+wEKWwgHsQhLGUZ2e5cAj0X1uxynStuRr9HTHTwP6iZQ AOzam/w+X/d9NoBNeXmKadVvjD4b5ScO61AyR/neV0G3Ni8sDIE+RQhjT c=; X-CSE-ConnectionGUID: nZ/QGdTASPmaz1p6/8YXqw== X-CSE-MsgGUID: D5ZdoLg8Q+KZ1HGEgl+nQg== X-Files: Re- Commit broke 32-bit testpmd app.eml : 32884 X-IPAS-Result: =?us-ascii?q?A0AJAAC7lc9mmJpdJa1aHAEBAQEBAQcBARIBAQQEAQFAJ?= =?us-ascii?q?YEWBwEBCwGBQDEqKHsCgQoSiGkDhE5fiHKKYYxfhlYUgWoIBwEBAQoBAgEBO?= =?us-ascii?q?wkEAQGFBwKJagImNAkOAQIEAQEBAQMCAwEBAQEBAQEBAQUBAQUBAQECAQcFF?= =?us-ascii?q?AEBAQEBAQEBNwVJhXUNhlwWFVISAVAvJwQBDQ0GFIJeAYIaSgMBEKJTAYFAA?= =?us-ascii?q?oooeIEBM4EB4A0KBhiBMAGBV0yCXINLASqBMAKECYNYgR0nG4FJRIEVQoVwF?= =?us-ascii?q?wKBKwESASOEE4IvBIdwiUBhg1qHG3wliHRwjEyBaQNZIQIRAVUTFwsJBYk9g?= =?us-ascii?q?wMFIQQlgWuBDRaCdYJOAoJYgWcJYYQ9gy6Bb4E+gVpHgRWBXjAbJAuCJYE/F?= =?us-ascii?q?YE1RT+CWWxOOQINAjeCMylzgj8dNgoDC209NQYOGwUEgTUFpA8tcAEagWYEN?= =?us-ascii?q?YFaghGBHiIJNgQcAlGCBJJVjzJHgTkLAYILn0cKhBWGWoU7lVsXgSCpJZhxI?= =?us-ascii?q?o1ZlV0ZDYRxAgQCBAUCDwEBBoFnOmtwcBWDI1EZD446gRUBCIJDy1KBAzACB?= =?us-ascii?q?wsBAQMJizYsgVEBAQ?= IronPort-PHdr: A9a23:DQdr0BaH4T7dYUv1S9osNOD/LTAchN3EVzX9orI9gL5IN6O78IunZ wrU5O5mixnCWoCIo/5Hiu+Dq6n7QiRA+peOtnkebYZBHwEIk8QYngEsQYaFBET3IeSsbnkSF 8VZX1gj9Ha+WXU= IronPort-Data: A9a23:MtZBvaD+dmMxCRVW/7vjw5YqxClBgxIJ4kV8jC+esTYN5kpAgigXv T1CBDDCKq3IPTmga9p0dd/vsVpC7NWRjos3WFMs7TdgSnYiRaHtC9rDcRn6MnKZcMGYEBs75 Z9FM9fOc8s6QHWM+UrxY7bt8Sl33/nQTLClVb6aMHssSAE+RXov2Ehql7Zk2YI02LBVb+/vV fba+6Uzb3f+gW4kbgr4kp6+lS6DnMgemRsTtw1naKBBtQWGznMcV89FL/DpcXXzTNEFQLPiG bvNl5i0rzjTl/sP5nxJsVpanmkiGOO60d2m0yIOM0SaqkEf4HF0i+Bjaad0hX5/012hh8p2x MhGqau+QAIoOryksOkGWnG0KQkmVUF90OGBeCDXXfC7lRWcLyO8maU2VinaAKVBkgpJKTAWn RAnAGhlgiCr34qe3L+9Q+9wscUvROGDFJ8foHxp0QbCBv8gR53ZK42SjTOP9G5t7izmNa+2i /sxMVKDXjyZC/F8Egt/5KYFoQudriKXnwu0B76ijfFfD2D7lGSd2VV2WTbfUoTiqc59xi50q o9aloj0KklyCTCR9daK2nSewdbgkR/SY7oXHa/h7qAt0Gyj33NGXXX6VXPjyRW4olS1V9QaI EsO929166Mz70esCNL6WnVUolbd4UVaAIUWQrZ8sVzRokbXy17x6mwsRTRbZc4hqsIeTj0x3 VjPlNTsbdBqmOfIEy7Hr+bJ/FtePwA5cF0OYgsLHTJGwOu6gK4egRaMSO9sRfvdYtrdQmyon GvQ80DSnY47gcMV/6mj8VOBhCijzqUlVSYv7QnRG2mi9A48P8iuZpej7h7Q6vMowJulokepu kpDoueS0Mk1NZSEhnWVHqJdLYGw+KPQWNHDumJHE54k/jWr3nese4FM/T1zTHuF1O5aJVcFh 2eN5GtsCI9vAZe8UUNgj2uM5ykC16PsE5HuUerZK4EIaZlqfwjB9yZrDaJx44wPuBZx+U3cE c7HGSpJMZr8If83pNZRb7xGuYLHPghkmQvuqWnTlnxLK4a2an+PUqsiO1CTdO0/567siFyKq YoAZ5DXlE0ODLGWjszrHWg7cA1iwZ8TWMCeliCrXrTaSuabMDh7UqaKkOlJl3JNw/sFyrqgE o6Btr9wkwen2iaddm1mm1hoaajkWt5kvGknMCk3dVeu0D5LXGpcxPl3SnfDRpF+rLYL5actF 5EtIpzQatwREW6v02pGMvHAQHlKKU7DafSmZXT1OVDSvvdIGmT0xzMTVlKyqHBeVXHq6aPTY dSIj2vmfHbKfCw7ZO7+Y/O0xFT3tn8Y8N+elWORSjWPUC0AKLRXFhE= IronPort-HdrOrdr: A9a23:EQqWl6iBY17vtu3Pjq3AFC+/A3BQX4l23DAbv31ZSRFFG/FwyP re/8jzhCWVtN9OYhAdcIi7SdW9qBPnmaKc4eEqTNGftXrdyRSVxeBZnMbfKlLbalfDH4JmpM NdmstFeZHN5DpB/LvHCWCDer5KrqjkgcWVbIzlvg5QpHRRGtpdBnBCe36m+yNNNW577LMCZe uhz/sCjQCNPV4QacO2DGQEWe/sm/3n/aiNXTc2QzQcxE2rlz2H1J7WeiL04v4ZaVxy6IZn1V KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBeSX4/JlZAnEu0KNXsBMSreCtDc6rKWE81Axiu TBpB8mIoBa927RRGeouhHgsjOQkQrGqkWSiWNws0GT4/ARdwhKTvapQrgpNicx3nBQ/+2UFp g7mF5x+aAnSy8o1x6NmeQgHysa5nZc50BS3tL6SxdkINMjgHg7l/1HwGpFVJgHBy7084YhDa 1nC9zd/u9fdReAY2nepXQH+q3lYp0fJGbxfqE5gL3d7xFG2HRii0cIzs0WmXkNsJo7Vplf/u zBdqBljqtHQMMaZb90QL5pe7r8NkXdBRbXdG6CK1XuE68Kf3rLtp7s+b0woOWnYoYBwpc+kI nIFFlYqWkxcUTzDtDm5uwBzjndBGGmGTj9wMBX4JZ0/rX6WbrwKCWGDEsjlsOxys9vdfEzm8 zDTK6+L8WTWFcGQ7w5rDEWc6MiW0UjbA== X-Talos-CUID: =?us-ascii?q?9a23=3A4EowqGl/rdtW8ikjMoRBpP3mHWrXOXvvi07/L3O?= =?us-ascii?q?RMl5sQa/MUQHXqJJUitU7zg=3D=3D?= X-Talos-MUID: 9a23:JFc/vwn7x5f7AJNUx/TYdnpOafVk5IChWHlOsqdfm+apOigzPQ6S2WE= X-IronPort-Anti-Spam-Filtered: true Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by rcdn-iport-9.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2024 21:27:26 +0000 Received: from rcdn-opgw-3.cisco.com (rcdn-opgw-3.cisco.com [72.163.7.164]) by rcdn-core-3.cisco.com (8.15.2/8.15.2) with ESMTPS id 47SLRPAf018254 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 28 Aug 2024 21:27:25 GMT X-CSE-ConnectionGUID: PMpK7Qy6T6antH3fLoes/A== X-CSE-MsgGUID: GULxY+YnStmvIB1SF/kAkg== Authentication-Results: rcdn-opgw-3.cisco.com; dkim=pass (signature verified) header.i=@cisco.com X-IronPort-AV: E=Sophos;i="6.10,183,1719878400"; d="eml'208?scan'208,208,217";a="26798352" Received: from mail-mw2nam04lp2170.outbound.protection.outlook.com (HELO NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.170]) by rcdn-opgw-3.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2024 21:27:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RwRHiPEKSWW5H0czbTtgrNLszbwBhZJ1kiErQcbkl5iFQfBa9BC/0Rj+IASp0HkMa6acJ0rjP8X39AStE3f0qASpVr+7VLszBESJ4fun+cChXTtwzdF1p7+d28Z51k/Ow5jk5scdVD2+PbOvajRd3MuX4WUILN8j49l3BzIJxv/PWpUYcH23lA4Lg7kdW0IgwX4fRiYhixtvygqTFVWdpu4rSeHHZImnoqZSr6e5wHt5+1ag8KQkopXxkV1Uxc8s0ec3nv2jDGL49XhcjappAmSyCkDkKvgaSdkSTuyEhi/NJBCd0BayXJ+04dEwgcyxTkwxQqnQZAQHyK4KDWHw7w== 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=MeVN1aqI8D+EzOwKuzn+Vz1xofvycvvhhMoGQJOgaPs=; b=XIPRmi7BWxL5lu2h8zFng2ukzJmqPmDwJnk4IE/rxM7t+5BmEeJtZbD1FF7PbiTuGJvBpchtA+Bo5+LOnNDS+PKU/kcNM2KzEuQ9sEzZyq5GZt2jXIOE87Tt6FQ4fnG/nzdrY+HAsCN5UMx/CWdTPEOh+5L979ctjCndm+clY1iwXQhpzWvuxjTjd747Sj/DdV6ZitySV3GY5oMnJl+8OMurJSKgty05y9IlwcvPjQAbfGJhU9Cvsi+G1iNB7ZgkU4SwkpXR+cTelXFvoFfRG2xglBAzoU49T5TCu0/3PVX2gvtHPtd0dy881qrlkU9URnLFbixVODr4Z5skiDvJww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none Received: from CY8PR11MB7898.namprd11.prod.outlook.com (2603:10b6:930:7b::9) by SJ0PR11MB6765.namprd11.prod.outlook.com (2603:10b6:a03:47b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.26; Wed, 28 Aug 2024 21:27:21 +0000 Received: from CY8PR11MB7898.namprd11.prod.outlook.com ([fe80::6511:daef:49f8:ec20]) by CY8PR11MB7898.namprd11.prod.outlook.com ([fe80::6511:daef:49f8:ec20%6]) with mapi id 15.20.7897.027; Wed, 28 Aug 2024 21:27:20 +0000 From: "Chris Brezovec (cbrezove)" To: "dev@dpdk.org" , "maxime.coquelin@redhat.com" CC: "common-dpio-core-team(mailer list)" Subject: 32-bit virtio failing on DPDK v23.11.1 (and tags) Thread-Topic: 32-bit virtio failing on DPDK v23.11.1 (and tags) Thread-Index: AQHa+XvKbH9UTCRajEes7MilQmD2hA== Date: Wed, 28 Aug 2024 21:27:20 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-Auto-Response-Suppress: DR, OOF, AutoReply X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR11MB7898:EE_|SJ0PR11MB6765:EE_ x-ms-office365-filtering-correlation-id: 5ac80e56-76cd-4160-9c64-08dcc7a83347 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?Windows-1252?Q?K8H2GZwZzstk2nZYGcLzSYKlxYG+xLowrv/0aoe8OgiASNjELWAOn4K7?= =?Windows-1252?Q?12Q8+JV05/EbWcxB1aXhNQBxTw+x7lSP5qVQ0a1oAkvoClJuubF0TCoI?= =?Windows-1252?Q?NxZJ/XrodhNknwZO3SOcMHvWF+GubWss8Yd90ROsapp6FSPqvbe2Ueyj?= =?Windows-1252?Q?aG6KATSZonCjGJszgJ4M9QGH2dHLZ+Jx/XdlOgs9x2Pf9JcHOwUaittA?= =?Windows-1252?Q?cIrhkO/mbiHhWyf0/JngZmPK5TkactiaNpILsVyqFYsyTbRahq7C0vt7?= =?Windows-1252?Q?bGeuU4tqnWHrQKtpsPfu53P6vSU1vRbmdecxqE+VmUYL5Z6Ngqg5rAUl?= =?Windows-1252?Q?O96FJqTWePW3/5c19Bj/Qm3JwhD07Vk3UfkOnYvzJlBnFIkZZ3bIlE5g?= =?Windows-1252?Q?w2c/qfjMmZyDvA1tkuEyW3i9KyS8sg/X9ZzHApnHhbHXK4PSaySnYYmi?= =?Windows-1252?Q?y3Hu67KaR2NvvyyQRPVcFxDjyvMxM6Yu8mkJIlCz0yQNLtY1jrt5Zz6K?= =?Windows-1252?Q?oMO9I0Z5FaVMH5V6RaapJCwDyOLe5YYWVNbw0x1ygULKgjO3wqPH9Gb0?= =?Windows-1252?Q?byChzR3PBFlsoKI3U4ldE5fj9psiMyerKEOwKlqcmjUWoHFf0zGWdpul?= =?Windows-1252?Q?/U61ezhea7UPucEfGj73B4JKOAiRqGTX9t4OYykUuGXSckEZwhHuHlS5?= =?Windows-1252?Q?kDUM72+CtIMYkhCh/v5bfg2ZSfgyP7SY+gn/+bNYbczcuzQrMiHJHcPO?= =?Windows-1252?Q?M8ydVAIhOjz7zmRXsatPjdTlSn8fQu2Vubq5K85bEfTX8l/e2hn0GJ7x?= =?Windows-1252?Q?pgYRGWeZXIVv7G1BCOCNt3Ij9uFwHd9QrE87v/fmK2J5VZnLoifDLxqM?= =?Windows-1252?Q?LuFWv2/ZqvfoVpBuUwlVJkWkZrP/SW2tSBoUUPuhmAlS/1zqmPBVC6wf?= =?Windows-1252?Q?WjllXOneUlcUTAxFuCOfNqne7LTaFL4JsmShFlYI41isyNZgl0a87HUu?= =?Windows-1252?Q?sGK5aF0/IM49Lm2oaQgMWKBlRr0azAYUk1WYD05qt0bC7I/wjgajfjKy?= =?Windows-1252?Q?brcyV8O3RYjE2Jbkx0/oEQyjJ4K8HPNKDvhN3/fR+TegOyVcaHv4/bfV?= =?Windows-1252?Q?TxZixuZclbCAaeu+RZsuPTgy9+oScrv6cixE4Z/rsXRAvPbOYxeuY7CL?= =?Windows-1252?Q?S8E/bvCItTy8XUpLlzSPgb+sV+JBfkQKKK/xaWnmyRxwxJRZMskDgnim?= =?Windows-1252?Q?tKuAU9uhNUOCdm5njWXOXMsnPa05GCQHFIpSXcEeswawQtJ7ctl22rTo?= =?Windows-1252?Q?UEZ7XNh20qFGHxHUp8F+cDeBsNWCiP/BdAuSnFUpr+c2pI7lV+lsBetS?= =?Windows-1252?Q?pH8H7zLKcQK48OSSlXGLW0MqKQswKBqCMxoAqeHLuNKPdDOPV7B3z8Q8?= =?Windows-1252?Q?xSwoFdhbSa8wNrj1LxUdF1uM50N4KCN0HlDj46f1MTM=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY8PR11MB7898.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?jqjUvzMH9CrexZSwrjzj0/bgRRAZDWssxenSYAWDLtxpfbdTDdS1LiFs?= =?Windows-1252?Q?s2LFh7UJUgpb9xqGt/Bsp7Bh8I+QGppPdvrA+Nbb9gUJCk73ZLhLtMd0?= =?Windows-1252?Q?QQumcI3Q9cCcUpvqOwjFGRw1B9Yqqg6JIFZvn9YCaba2ji1rL129WAgc?= =?Windows-1252?Q?VWXwzsf49iLk2S8Jl95rWFieWkJql2j2PnomuZUqcjapI0W7gD6wjIE0?= =?Windows-1252?Q?c/sMxnpQouSlLlkNtIuf8lLD/iadpkvNsNNJb+g5af2ZWuOfYBp6oIvx?= =?Windows-1252?Q?vigTTCYX4nLe5Sa0/LgjKRJLJ+L3F2QLM4czEtvAN1JtsGczEPdww8+d?= =?Windows-1252?Q?6pUnUQfKOeScujRj/nxkik0+KlQZxEbqJXnE3Qc4UGVq7xpisHoWvGdK?= =?Windows-1252?Q?O6J0uLxGlkclAmXryNfZOSLHhPjmatrGjwOWXDlZw8K/5JOP1attQC2l?= =?Windows-1252?Q?krjhLjf7+LZ0jY5kFo1VmaOC2u39+4KG/d2zOi6dvwAuqK8UlcpJpBx/?= =?Windows-1252?Q?WVXiSwgkhsuGiNcUJ9ymVUXADij3dYneDpKO8mv5OEy72NVoeQ3mP4/J?= =?Windows-1252?Q?pMIOkH0TJEpS4nJSrwEVk0OZXkAxFzkgk8w/vk6n8btw48aJ/q7pQlCg?= =?Windows-1252?Q?mSLqfEB7xHdlRAVcibNV3RcraYLCyXERazyuO8U31+B9L8QIPa7xFl93?= =?Windows-1252?Q?TqaVz7rvM6CN22hlE6IB99JsQ12tC/sZ3WpUa2/CQrKi6nLXFEglXybL?= =?Windows-1252?Q?+GkTjoY+0uCmFZbtXZd7V/BYC2idLJiGQISyc4Qgb7UeP2CwJzneLISC?= =?Windows-1252?Q?XF7e6AJe2KikjR2a3ZGkKzd8Kc/PleVmWaSEeCE8PtKF3FEZatQKyaYj?= =?Windows-1252?Q?xMHHvCA6Yfyj5vDxEDEPBNze/OqEgxUU2NCgN4WH4+kkYiSC+AfFe1Yt?= =?Windows-1252?Q?/uV3XqzilIqQbOD7mgZi5FvgWTyJ04Em8RB5QsPqgvp/By+qibXxYJ2G?= =?Windows-1252?Q?MbFetcONomVRXHdxJwbRE9RNlkSJyOiLrvPUQdskoYFy5e242KBsGWIe?= =?Windows-1252?Q?v1dt/tDj+BS8tKe3Ncs0qP1zoqKF62LlMXHWUIZWjk7A9qnelx51HzCP?= =?Windows-1252?Q?vab/u5Ky8hQXq+V9yj2Awz5Js+a7grAmWkoe84mJM6PIVc4NWwRXNMB2?= =?Windows-1252?Q?0ZNcrSo/L7baQtuTM1qVqrUxIcHh6h9rPd7EWTdQOyO1layc2M50Jsuk?= =?Windows-1252?Q?8nAebjeb5QeY/6pM08QHWI8grLv6RO+71HlZ+NR2fdvKs0qafzZaQh+G?= =?Windows-1252?Q?9TBspdlEeTbO7WzJ/c8OqDbwCvGnYYjn05UcBQPqpMFbtk1hBWZv7BiO?= =?Windows-1252?Q?vTkFebCzSlOO/Wp72jI9osKHF8SXAI6NZRbK4XIlhoA6Q8nMuvJnqlxF?= =?Windows-1252?Q?5FclGwmpBfCjpk8EMqKtZ4j94YL3cvmOE7sU+ea1kBSpjohaLVx3XuTg?= =?Windows-1252?Q?GZ+kP4eUi93qXi6cDT9xA7Z5bG1I5MfAxw/+LegPgrmcmhxemOwDRtEf?= =?Windows-1252?Q?xuALL3wuMpFXb+tfy7CZbtC9/ncrDzSWDy+PfDerLiwpawC2AHkQ4oAk?= =?Windows-1252?Q?XsDEfP6g4T7CXPw2XAbZ4fDePIcuSqB0bGpnIQrQwHVE4ZwxwiT+TWrq?= =?Windows-1252?Q?X+qIv4TPyRe0LQ9OTpp5fKIPusMwtFutAm+y3fZr4I7x2DuBuL0kO8tN?= =?Windows-1252?Q?RmP0POuaEvEnxpBH0AVfJhwwx7KgKT7g05TDpzwCExCpojy+QFeppuiq?= =?Windows-1252?Q?4f+sLQ=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_" MIME-Version: 1.0 X-OriginatorOrg: cisco.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR11MB7898.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ac80e56-76cd-4160-9c64-08dcc7a83347 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2024 21:27:20.7992 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Dk1zFVl5VZ7g9JOs01AVfQMo2oT3hAi1NHnZ3Flah8A2Kk4Jiv8dj7uqRPVvsLY5+itRWSsw59Y7wDalQI94Xg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6765 X-Outbound-SMTP-Client: 72.163.7.164, rcdn-opgw-3.cisco.com X-Outbound-Node: rcdn-core-3.cisco.com 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 --_004_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_ Content-Type: multipart/alternative; boundary="_000_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_" --_000_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable HI Maxime, My name is Chris Brezovec, we met and talked about some 32 bit virtio issue= s we were seeing at Cisco during the DPDK summit last year. There was also= a back and forth between you and Dave Johnson at Cisco last September rega= rding the same issue. I have attached some of the email chain from that co= nversation that resulted in this commit being made to dpdk v23.11 (https://= github.com/DPDK/dpdk/commit/8c41645be010ec7fa0df4f6c3790b167945154b4). We recently picked up the v23.11.1 DPDK release and saw that 32 bit virtio = is not working again, but 64-bit virtio is working. We are noticing CVQ ti= meouts - PMD receives no response from host and this leads to failure of th= e port to start. We were able to recreate this issue using testpmd. We ha= ve done some tracing through the virtio changes made during the development= of the v23.xx DPDK release, and believe we have identified the following r= ework commit to have caused a failure (https://github.com/DPDK/dpdk/commit/= a632f0f64ffba3553a18bdb51a670c1b603c0ce6). We have also tested v23.07, v23.11, v23.11.2-rc2, v24.07 and they all seem = to see the same issue when running in 32-bit mode using testpmd. We were hoping you might be able to take a quick look at the two commits an= d see if there might be something obvious missing in the refactor work that= might have caused this issue. I am thinking there might a location or two= in the code that should be using the VIRTIO_MBUF_ADDR() or similar macro t= hat might have been missed. Regards, ChrisB This is some of the testpmd output seen on v23.11.2-rc2: LD_LIBRARY_PATH=3D/home/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/lib /ho= me/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/app/dpdk-testpmd -l 2-3 -a 0= 000:07:00.0 --log-level pmd.net.iavf.*,8 --log-level lib.eal.*,8 --log-leve= l=3Dlib.eal:info --log-level=3Dlib.eal:debug --log-level=3Dlib.ethdev:info = --log-level=3Dlib.ethdev:debug --log-level=3Dlib.virtio:warning --log-level= =3Dlib.virtio:info --log-level=3Dlib.virtio:debug --log-level=3Dpmd.*:debug= --iova-mode=3Dpa -- -i =97 snip =97 virtio_send_command(): vq->vq_desc_head_idx =3D 0, status =3D 255, vq->hw->= cvq =3D 0x76d9acc0 vq =3D 0x76d9ac80 virtio_send_command_split(): vq->vq_queue_index =3D 2 virtio_send_command_split(): vq->vq_free_cnt=3D64 vq->vq_desc_head_idx=3D0 virtio_dev_promiscuous_disable(): Failed to disable promisc Failed to disable promiscuous mode for device (port 0): Resource temporaril= y unavailable Error during restoring configuration for device (port 0): Resource temporar= ily unavailable virtio_dev_stop(): stop Fail to start port 0: Resource temporarily unavailable Done virtio_send_command(): vq->vq_desc_head_idx =3D 0, status =3D 255, vq->hw->= cvq =3D 0x76d9acc0 vq =3D 0x76d9ac80 virtio_send_command_split(): vq->vq_queue_index =3D 2 virtio_send_command_split(): vq->vq_free_cnt=3D64 vq->vq_desc_head_idx=3D0 virtio_dev_promiscuous_enable(): Failed to enable promisc Error during enabling promiscuous mode for port 0: Resource temporarily una= vailable - ignore --_000_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

HI Maxime,

 

My name is Chris Br= ezovec, we met and talked about some 32 bit virtio issues we were seeing at= Cisco during the DPDK summit last year.  There was also a back and fo= rth between you and Dave Johnson at Cisco last September regarding the same issue.  I have attached some of the= email chain from that conversation that resulted in this commit being made= to dpdk v23.11 (https://github.com/DPDK/dpdk/commit/8c41645b= e010ec7fa0df4f6c3790b167945154b4).

 

We recently picked = up the v23.11.1 DPDK release and saw that 32 bit virtio is not working agai= n, but 64-bit virtio is working.  We are noticing CVQ timeouts - PMD r= eceives no response from host and this leads to failure of the port to start.  We were able to recreate this issue= using testpmd.  We have done some tracing through the virtio changes = made during the development of the v23.xx DPDK release, and believe we have= identified the following rework commit to have caused a failure (https://github.com/DPDK/dpdk/commit/a= 632f0f64ffba3553a18bdb51a670c1b603c0ce6).

 

We have also tested= v23.07, v23.11, v23.11.2-rc2, v24.07 and they all seem to see the same iss= ue when running in 32-bit mode using testpmd.

 

We were hoping you = might be able to take a quick look at the two commits and see if there migh= t be something obvious missing in the refactor work that might have caused = this issue.  I am thinking there might a location or two in the code that should be using the VIRTIO_MBUF_ADDR() = or similar macro that might have been missed.

 

Regards,=

ChrisB

 

This is some of the= testpmd output seen on v23.11.2-rc2:

 

LD_LIBRARY_PATH=3D/home/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/lib /= home/rmelton/scratch/dpdk-v23.11.2-rc2.git/build/app/dpdk-testpmd -l 2-3 -a= 0000:07:00.0 --log-level pmd.net.iavf.*,8 --log-level lib.eal.*,8 --log-level=3Dlib.eal:info --log-level=3Dlib.eal:d= ebug --log-level=3Dlib.ethdev:info --log-level=3Dlib.ethdev:debug --log-lev= el=3Dlib.virtio:warning --log-level=3Dlib.virtio:info --log-level=3Dlib.vir= tio:debug --log-level=3Dpmd.*:debug --iova-mode=3Dpa -- -i

 

=97 snip =97

 

virtio_send_command(): vq->vq_desc_head_idx =3D 0, status =3D 255, vq-= >hw->cvq =3D 0x76d9acc0 vq =3D 0x76d9ac80

virtio_send_command_split(): vq->vq_queue_index =3D 2

virtio_send_command_split(): vq->vq_free_cnt=3D64

vq->vq_desc_head_idx=3D0

virtio_dev_promiscuous_disable(): Failed to disable promisc

Failed to disable promiscuous mode for device (port 0): Resource temporar= ily unavailable

Error during restoring configuration for device (port 0): Resource tempor= arily unavailable

virtio_dev_stop(): stop

Fail to start port 0: Resource temporarily unavailable<= /p>

Done

virtio_send_command(): vq->vq_desc_head_idx =3D 0, status =3D 255, vq-= >hw->cvq =3D 0x76d9acc0 vq =3D 0x76d9ac80

virtio_send_command_split(): vq->vq_queue_index =3D 2

virtio_send_command_split(): vq->vq_free_cnt=3D64

vq->vq_desc_head_idx=3D0

virtio_dev_promiscuous_enable(): Failed to enable promisc

Error during enabling promiscuous mode for port 0: Resource temporarily u= navailable - ignore 

 

 

--_000_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_-- --_004_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_ Content-Type: application/octet-stream; name="Re- Commit broke 32-bit testpmd app.eml" Content-Description: Re- Commit broke 32-bit testpmd app.eml Content-Disposition: attachment; filename="Re- Commit broke 32-bit testpmd app.eml"; size=32884; creation-date="Wed, 28 Aug 2024 19:08:36 GMT"; modification-date="Wed, 28 Aug 2024 19:08:36 GMT" Content-Transfer-Encoding: base64 UmVjZWl2ZWQ6IGZyb20gTFYzUFIxMU1CODU3Ny5uYW1wcmQxMS5wcm9kLm91dGxvb2suY29tICgy NjAzOjEwYjY6NDA4OjFiODo6MjEpDQogYnkgTU4yUFIxMU1CNDE5MC5uYW1wcmQxMS5wcm9kLm91 dGxvb2suY29tIHdpdGggSFRUUFM7IFdlZCwgMjAgU2VwIDIwMjMNCiAxMzowNjowNCArMDAwMA0K UmVjZWl2ZWQ6IGZyb20gTU4yUFIxMUNBMDAxNC5uYW1wcmQxMS5wcm9kLm91dGxvb2suY29tICgy NjAzOjEwYjY6MjA4OjIzYjo6MTkpDQogYnkgTFYzUFIxMU1CODU3Ny5uYW1wcmQxMS5wcm9kLm91 dGxvb2suY29tICgyNjAzOjEwYjY6NDA4OjFiODo6MjEpIHdpdGgNCiBNaWNyb3NvZnQgU01UUCBT ZXJ2ZXIgKHZlcnNpb249VExTMV8yLA0KIGNpcGhlcj1UTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1 Nl9HQ01fU0hBMzg0KSBpZCAxNS4yMC42NzkyLjI4OyBXZWQsIDIwIFNlcA0KIDIwMjMgMTM6MDU6 NTcgKzAwMDANClJlY2VpdmVkOiBmcm9tIEJMMDJFUEYwMDAxQTEwNi5uYW1wcmQwNS5wcm9kLm91 dGxvb2suY29tDQogKDI2MDM6MTBiNjoyMDg6MjNiOmNhZmU6OjNjKSBieSBNTjJQUjExQ0EwMDE0 Lm91dGxvb2sub2ZmaWNlMzY1LmNvbQ0KICgyNjAzOjEwYjY6MjA4OjIzYjo6MTkpIHdpdGggTWlj cm9zb2Z0IFNNVFAgU2VydmVyICh2ZXJzaW9uPVRMUzFfMiwNCiBjaXBoZXI9VExTX0VDREhFX1JT QV9XSVRIX0FFU18yNTZfR0NNX1NIQTM4NCkgaWQgMTUuMjAuNjc5Mi4yOSB2aWEgRnJvbnRlbmQN CiBUcmFuc3BvcnQ7IFdlZCwgMjAgU2VwIDIwMjMgMTM6MDU6NTcgKzAwMDANCkF1dGhlbnRpY2F0 aW9uLVJlc3VsdHM6IHNwZj1mYWlsIChzZW5kZXIgSVAgaXMgMTczLjM3LjE0Mi44OCkNCiBzbXRw Lm1haWxmcm9tPXJlZGhhdC5jb207IGRraW09cGFzcyAoc2lnbmF0dXJlIHdhcyB2ZXJpZmllZCkN CiBoZWFkZXIuZD1yZWRoYXQuY29tO2RtYXJjPXBhc3MgYWN0aW9uPW5vbmUgaGVhZGVyLmZyb209 cmVkaGF0LmNvbTsNClJlY2VpdmVkLVNQRjogRmFpbCAocHJvdGVjdGlvbi5vdXRsb29rLmNvbTog ZG9tYWluIG9mIHJlZGhhdC5jb20gZG9lcyBub3QNCiBkZXNpZ25hdGUgMTczLjM3LjE0Mi44OCBh cyBwZXJtaXR0ZWQgc2VuZGVyKSByZWNlaXZlcj1wcm90ZWN0aW9uLm91dGxvb2suY29tOw0KIGNs aWVudC1pcD0xNzMuMzcuMTQyLjg4OyBoZWxvPWFsbG4taXBvcnQtMS5jaXNjby5jb207DQpSZWNl aXZlZDogZnJvbSBhbGxuLWlwb3J0LTEuY2lzY28uY29tICgxNzMuMzcuMTQyLjg4KSBieQ0KIEJM MDJFUEYwMDAxQTEwNi5tYWlsLnByb3RlY3Rpb24ub3V0bG9vay5jb20gKDEwLjE2Ny4yNDEuMTM5 KSB3aXRoIE1pY3Jvc29mdA0KIFNNVFAgU2VydmVyICh2ZXJzaW9uPVRMUzFfMiwgY2lwaGVyPVRM U19FQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0dDTV9TSEEzODQpIGlkDQogMTUuMjAuNjc5Mi4yMCB2 aWEgRnJvbnRlbmQgVHJhbnNwb3J0OyBXZWQsIDIwIFNlcCAyMDIzIDEzOjA1OjU3ICswMDAwDQpY LUNTRS1Db25uZWN0aW9uR1VJRDogMzY0QnZaNzdRY2UyeVlTS3lXL0wxdz09DQpYLUNTRS1Nc2dH VUlEOiBUMk0xSUhoSlFOQzV5OTh2enpNYnh3PT0NClJlY2VpdmVkOiBmcm9tIGFsbG4tY29yZS0x MC5jaXNjby5jb20gKFsxNzMuMzYuMTMuMTMyXSkNCiAgYnkgYWxsbi1pcG9ydC0xLmNpc2NvLmNv bSB3aXRoIEVTTVRQL1RMUy9FQ0RIRS1SU0EtQUVTMjU2LUdDTS1TSEEzODQ7IDIwIFNlcCAyMDIz IDEzOjA1OjQ5ICswMDAwDQpSZWNlaXZlZDogZnJvbSBhbGxuLWluYm91bmQtai5jaXNjby5jb20g KGFsbG4taW5ib3VuZC1qLmNpc2NvLmNvbSBbMTczLjM3LjE0Ny4yNDBdKQ0KCWJ5IGFsbG4tY29y ZS0xMC5jaXNjby5jb20gKDguMTUuMi84LjE1LjIpIHdpdGggRVNNVFBTIGlkIDM4S0Q1ajZ0MDE0 MzE3DQoJKHZlcnNpb249VExTdjEuMiBjaXBoZXI9REhFLVJTQS1BRVMyNTYtR0NNLVNIQTM4NCBi aXRzPTI1NiB2ZXJpZnk9T0spDQoJZm9yIDxjYnJlem92ZUBjaXNjby5jb20+OyBXZWQsIDIwIFNl cCAyMDIzIDEzOjA1OjQ5IEdNVA0KWC1DU0UtQ29ubmVjdGlvbkdVSUQ6IDdiMmthdkI4UXltSFhx YlpoUHRpS2c9PQ0KWC1DU0UtTXNnR1VJRDoga3dQUkpPK01TRUtQMisyZ0k0VmtQZz09DQpSZWNl aXZlZC1TUEY6IFBhc3MgKGFsbG4taW5ib3VuZC1qLmNpc2NvLmNvbTogZG9tYWluIG9mDQogIG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tIGRlc2lnbmF0ZXMgMTcwLjEwLjEyOS4xMjQgYXMNCiAg cGVybWl0dGVkIHNlbmRlcikgaWRlbnRpdHk9bWFpbGZyb207DQogIGNsaWVudC1pcD0xNzAuMTAu MTI5LjEyNDsgcmVjZWl2ZXI9YWxsbi1pbmJvdW5kLWouY2lzY28uY29tOw0KICBlbnZlbG9wZS1m cm9tPSJtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbSI7DQogIHgtc2VuZGVyPSJtYXhpbWUuY29x dWVsaW5AcmVkaGF0LmNvbSI7DQogIHgtY29uZm9ybWFuY2U9c3BmX29ubHk7IHgtcmVjb3JkLXR5 cGU9InY9c3BmMSI7DQogIHgtcmVjb3JkLXRleHQ9InY9c3BmMSBpcDQ6MTYyLjI0Ny4xNjAuMC8y MSBpcDQ6MTY3Ljg5LjAuMC8xNw0KICBpcDQ6MTY4LjI0NS4wLjAvMTcgaXA0OjE3MC4xMC4xMjgu MC8yNCBpcDQ6MTcwLjEwLjEyOS4wLzI0DQogIGlwNDoxNzAuMTAuMTMzLjAvMjQgaXA0OjE3My4x OTQuMC4wLzE2IGlwNDoxODUuNTguODQuOTMvMzINCiAgaXA0OjE5Mi4yNTAuMjA4LjExMiBpcDQ6 MTkyLjI1MC4yMDguMTEzIGlwNDoxOTIuMjU0LjExMi4wLzIwDQogIGlwNDoxOTguMi4xMjguMC8x OCBpcDQ6MTk4LjIxLjAuMC8yMSBpcDQ6MTk4LjI0NS44MC4wLzIwDQogIGlwNDoxOTguMzcuMTQ0 LjAvMjAgaXA0OjE5OS4xMjIuMTIwLjAvMjENCiAgaW5jbHVkZTpzcGYzLnJlZGhhdC5jb20gLWFs bCINClJlY2VpdmVkLVNQRjogTm9uZSAoYWxsbi1pbmJvdW5kLWouY2lzY28uY29tOiBubyBzZW5k ZXINCiAgYXV0aGVudGljaXR5IGluZm9ybWF0aW9uIGF2YWlsYWJsZSBmcm9tIGRvbWFpbiBvZg0K ICBwb3N0bWFzdGVyQHVzLXNtdHAtZGVsaXZlcnktMTI0Lm1pbWVjYXN0LmNvbSkgaWRlbnRpdHk9 aGVsbzsNCiAgY2xpZW50LWlwPTE3MC4xMC4xMjkuMTI0OyByZWNlaXZlcj1hbGxuLWluYm91bmQt ai5jaXNjby5jb207DQogIGVudmVsb3BlLWZyb209Im1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29t IjsNCiAgeC1zZW5kZXI9InBvc3RtYXN0ZXJAdXMtc210cC1kZWxpdmVyeS0xMjQubWltZWNhc3Qu Y29tIjsNCiAgeC1jb25mb3JtYW5jZT1zcGZfb25seQ0KQXV0aGVudGljYXRpb24tUmVzdWx0cy1P cmlnaW5hbDogYWxsbi1pbmJvdW5kLWouY2lzY28uY29tOyBzcGY9UGFzcw0KIHNtdHAubWFpbGZy b209bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IHNwZj1Ob25lDQogc210cC5oZWxvPXBvc3Rt YXN0ZXJAdXMtc210cC1kZWxpdmVyeS0xMjQubWltZWNhc3QuY29tOyBka2ltPXBhc3MgKHNpZ25h dHVyZQ0KIHZlcmlmaWVkKSBoZWFkZXIuaT1AcmVkaGF0LmNvbTsgZG1hcmM9cGFzcyAocD1ub25l IGRpcz1ub25lKSBkPXJlZGhhdC5jb20NCklyb25Qb3J0LVNEUjogNjUwYWVlMmJfUUQ5TDVIQ2Yw UUZ3dHNIY0ErdzAyZ2RNRmdjV0hGbFFJZWttL1ZXYXVzZHVmV24NCiBRR3F3aGo2SlVKQStPWk90 RVpPaFRWZXpQZ1R6U3dScCtFdXZXS1E9PQ0KWC1mcm9tLW91dHNpZGUtQ2lzY286IDE3MC4xMC4x MjkuMTI0DQpYLVRocmVhdFNjYW5uZXItVmVyZGljdDogTmVnYXRpdmUNClgtSVBBUy1SZXN1bHQ6 ID0/dXMtYXNjaWk/cT9BMEVEQUFBRzdRcGxoM3lCQ3FwYUdnRUJBUUVCQVFFQkFRRURBUUVCQVJJ QkE/PQ0KID0/dXMtYXNjaWk/cT9RRUJBZ0lCQVFFQlFJRTdCUUVCQVFFTEFZSTJlWUVHQkF0SGhG T0RUNFJPWDRaQWdpTURoRHlYYVlGV0Y/PQ0KID0/dXMtYXNjaWk/cT9JRVJBeGcrRHdFQkFnRUJB UUVJQVFFN0NRUUJBUU1CQTRVQUFvY0JBaDRIQVRRSkRnRUNBUUlCQVFFQkE/PQ0KID0/dXMtYXNj aWk/cT9RTUNBd0VCQVFFQkFRRUNBUUVCQkFFQkFRSUJBUUlFQWdJQkFRSVFBUUVCQVNJWEJ3NFFK NFU3Q0NVTmc/PQ0KID0/dXMtYXNjaWk/cT9sa1pnUXlCSFFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC QVFFWEFnMTRBUUVCQVFJQkVoRUVDd0VGQ0FFQkw/PQ0KID0/dXMtYXNjaWk/cT9Bc0JCQXNKQWhF REFRSUJBZ0lqQXdJQ1Jna0lCZ0VNQmdJQkFSNkNYQUdDT3lNREVaUXdqa0lCakhRQkE/PQ0KID0/ dXMtYXNjaWk/cT9RRjRmek9CQVlJSkFRRUdCQU1DQVgyQlg2NHdnVjhKZ1JvdUFZZ0lBWVU1R0lN N2VpY1BnVlZFZ1JVbmc/PQ0KID0/dXMtYXNjaWk/cT9SV0JiejZCVTRFUEFvRXJBUklCSVJVWGd5 K0NhSWNtZ2lDRlB3TUNBaktDSm9NdkF5ZUtKU3FCQ0FoY2c/PQ0KID0/dXMtYXNjaWk/cT9XbzlB ZzFVQ3d0ZGdSRlJPSUU3QWdJUkp4SVVCVUp3R3dNSEE0RUVFQ3NIQkRJYkJ3WUpGaGdWSlFaUkI/ PQ0KID0/dXMtYXNjaWk/cT9DMGtDUk1TUGdTQlo0RlJDb0VHUHhFT0VZSkZJZ0lITmpZWlM0SmRD UlVNTlFSS2RoQXJCQlFZZ1JNRWE/PQ0KID0/dXMtYXNjaWk/cT9oOFZIamNSRWhrTkF3aDJIUUlS SXp3REJRTUVOZ29WRFFzaEJWY0RSd1pMQ3dNQ0hBVURBd1NCTmdVUEg/PQ0KID0/dXMtYXNjaWk/ cT9nSVFHZ1lPS1FNREdWQUNFQlFEUGdNREJnTUxNQVFPQXhrckhVQUNBUXR0UFRVR0F3c2JCa0FD SjZGRUE/PQ0KID0/dXMtYXNjaWk/cT8yNkJieTArQm9FN0lHQWJCU1VqR2pBTEN5K1NjUWtFc1FN MEI0UU9nVmtHRElvVmxRb0dEd1F2aEFHTWI/PQ0KID0/dXMtYXNjaWk/cT9nT0dKUlNLYVRPSEdK Z3RJSTFCbFVxRWNRSUVBZ1FGQWhhQll6cHNjRTBqVUlKbkNVWURHUStCTm94cUM/PQ0KID0/dXMt YXNjaWk/cT9RTU5DWU5XaFdXS0ZqODFBZ2t3QWdjQkNnRUJBd21KSVlJb0FRRT89DQpJcm9uUG9y dC1QSGRyOiBBOWEyMzo4d3dkdXhRVThYeEJRc3paTFpaVHNzNm1BTnBzb3ZtUkFXWWxnNkhQYTVw d2U2aXV0Njd2SQ0KIEZiWXJhMDB5Z09UQThPQ3U2a1AxcnVlbXB1amNGSkR5SzdDaWt4S1NJWkxX UjRCaEpkZXRDMGJLK25CSkd2RmFkWEhWR2dFSg0KIHZsRVQwSnY1SHFoTUVKWVM0N1VibHpXcFdD dXYzWkpRazJzZlFWNktmN29GWUhNa3MrNXkvNjkrNEhKWXdWUG1UR3hmYTUrSQ0KIEErNW9BblB0 OFFhbTVadUo2VS94eGZHb25aRmYvbGR5SDkxSzE2VWd4dno2Y0M4OFlKNS9TaFhwL3d2NmROTFg3 L2dmNlEvUQ0KIDd4WURUQW1QSDR3NmNiMnF4VE5UaGFCNjJVRlhHa09uUlJHR3dmSzRBamtVNW4r cnlYMnJ1VnkxaldVTXMzd1ZyQTBSQyt0Nw0KIDd4M1J4L3lpU2NJTENBMi9XZktnY0Z0bHExYm9S YWhweHRpdzQ3SVpZeWVLZlJ6Y3IvQmNkNGNXR0ZNV050YVdTNWNEWU9tZA0KIDRZQkRPUVBNdWxX b0lmZ3AxVUFzd1d6QlFldUMrenp4VEZGbldQMjBLNGczdWc5RFEzTDBnNHRFdFFUdTNyVXR0WDFN NklTWA0KIFBpeXdxYlN3alREYnZaVzFpbmc0NFhXZFJBaHVPeU1VcXgwY2NyUXowa2tDZ1RJamxD S3BvM3FQak9WMC9vQ3YzS0g0T3BuVA0KIE9LdmxuQW9xd1Z3b2ppcDNjb3NrSmZHaVo4VnlsL2U2 U1YxMnBvNkpkcTlTRU5pWjlPdkRaUmZ1VDJBT1lSc1hzTWlYMzludQ0KIER3OHlyQWV0NUMyZkRV R3hJZ255aERRWmZLS2NveUY3eGIvV091U1B6cDJoSHhvZHIyOWlodXYvMFd0eE83eFd0ZW8zVnBX bw0KIFNSSWpNZkJ1M0VDMlJIYzk4U0tTLzF3OVZxdjF6YUkwZ0RjOE9CRUlVWXNtS3JVS3A0aDNy NHdsb2NJdmtqWkFpRDJuMEQyZw0KIGFtTGZVc240dWlsOC9ucmI3ZjZxcE9HS29ONGxodnlQcmt3 bHNHN0crZzBMeFlDVW1lRDllbTkxYkR2NTFEMVRiWklnL0Vzag0KIEtYVXZwN1hLZDRacTZPM0JR SmV6NWd1NnhLaUR6ZTl6TlFYZzJNSElrOUVlQk9Ha1lma0kwM0NMZmJsQnZtbG1WdXNpaTFreA0K IC9YZU03M2hISnJOS24vRG5hLzhmYlptOGtKYzB3OHp6Y3hINTU1TkY3NE9QdmJ6V2s3dnROUEdG Qjg0TXhXNHovdjVCTmh5eg0KIEk4ZVhHT1BBcXFIUDZ6T3ExQ0kvZjR2TC9PUWE0OFN2VGJ4TS9r bDUvandnbjhsZ1ZJUllLdWswWWNOWkh5bEF2aHFPVmlWYg0KIFdUb2o5c2JER3NHb0FVelFQVHZp RktZVUQ1VFkzaXlYN2c3NWpFK0VJK21DSjNNUjQrc2dMeUV3aWkzQklGWlptZGZDbENSRA0KIDNq b2M0U0VXL0VYWlNLSVBNQnVqendFV3FLOVM0TTd5UjZ1c3dyNng2SmhMdVhQNGlJWXI0N3MxTUJw NSszUGtoRS83U0Y0QQ0KIDl5SDAyNlJWMkYwZ244SVJ6Z3UwYTlqdWtOOTBFbU0wS2wvZy94R0M5 TmUvTzlHVWdZaE5aSEF5T3gyRWN6OVdnWEVmdHVSVg0KIFZtbVFkU21BVFFwUTl3cjM5SUFmbHR6 RjgyNWpoRGIwU3FuRzZVYm1xQ1dDcElwNnE3Y3hHRHhKOGhseEhiR3lxWWhpMTRtVA0KIDlOWE8y Ty9ucUJ4K0Z1Yk80bWMyWCtlbUt1d1BZRVIyRExLOGkvRDEyK0R1RjFmVms4NkdmSGZXSDBiZWt6 UWhkLzQvVWpGQw0KIGJTcERPSmpla0Z0d05DUFlvbE5hdHZ5aWxNT0JQdnFKdG5jWkNQNzB6TzhE QWlGeExTa1o0dnhjR0piMXlMWVhneE0yUXdlNA0KIDE2S0xRUTlRQ0M3ckNpV1dEQmpDM3JqZTAv dnQrNWtweVgvQmdVUHhnU1NabEZobjRLNDl4VVZtTFRjVU9zZTA3a0VwV1pyNA0KIDJGdkJGdXcx TkxMSTlHQnZBRm1PcTViWklWNXFGeEgyR1RUc0VwdFA1V0lLTDErZ2xrWmNFSjh1RWE5K1E5d0Q5 QmxtTmdycQ0KIFg1aTV3MXJOSytjMFZVSkl6YVJ6WkgxTi92Y0xYRHY4UlN1YlliTTExM2UyY3JR OGFBS3ZxZHI0MjcvdFIya1F4Snh1MDVzMQ0KIE1OWWhpUDBEdWppRWw5TEF0cjRCMXdzL2wxaHA3 aUFQM2R1cjRpQnozQm9PTG01dm5qWTF0WWdGT1lwbVY2c0tzMVNQS09OQw0KIEVuNUZNaEpZcXJQ TTdrdm1sMmtaUnNmSUxvS3JmOXNZSnIzSkxPYWpmZjFiYnM2eFcvLzBUc1VoZUljMGhlQzdTMTVH T0RTMg0KIEpOWDJmeUEyaHJDU3pDdWwwcXJzTTM4aGRKZmVEc1FFMkdqbXlUdEdJTURhcVJ1Y05R T0JIeTFLc0s2ZzlSeTFadmdRR1ZSKw0KIDFQbUJsOVV2YTNJTVFhVlBVRDZqd1piaDA4YzgzbW1u Q2I5MFRGdWlEQXVxUGlhM1NuRGh2cnZiZ0VHUFdnWlQyNWtrVnJxUA0KIGMyb25zZ1hEa092YVJR a2tnZmcrVmZpeXZvK3hzVTNKRzdWWFVwT1kyM3FOV2hrU2FXOXJQK1BaY1ZJNUpJdXZuZGNWK0tn Yg0KIEZhR0Q2TG5xaDBCM1M3NVdtWll6emMzZGplbDZQQ2IvbFI3amllSElXNTN2VC9GZnBOeHcx TEY2Y1RZVkx0TjJXZ2NTU2Qxaw0KIHpUUkRWV25iY09rODlpT21wSEl2L3Z0TWdEQVhKMEdZeWJi OXFxWjl3bWsyR2cyTVJld3o2eUR3OUhxTlZBSTZpUDY3NFZGZg0KIGdHWDhBU2xSZE9zL2FhZ0FM YzBHeXNKRGdyK3dkSm9RNkZZaTVOdTNMZ0xobUVreFplSjAySmJrbXZaSS9OSmhhelhiSHhSRg0K IEdVSW5ONzUzenJ1NEZabGFTeWo5b0hlZG56R2hjMGlSNEhuYmswbW1Rd2c4dTFFYmNYMTdMVjRo SGRZbW4yajlscnNTOE40eA0KIFNzM2xid3d6V01nMDd3WmxoSUd6VHplS0xWUEhuWnpNekxKengy eTFPcVQ2NmhGWUZ5TVk3bVNpVmRodll1YkpiTzVrd1ZoUQ0KIFJPYkc1aDlRaEFoNU1OakVWdk8y MFRvNW8yN0tlZmlkNVVva0Nla2dUT1lnY0VBZTlvaDAvc1FnaXgvUG5qaCtHY28wUE0vaw0KIFVs MjFJcWg3K0J1ZVE5RnBNcFJjVFlBY2hId2J0a1l3RHptaXJ4U3pJNk9pb2FvR0pnbFVpMEFRTTZ4 RmFyc1dDa0s0UExnTQ0KIFF2S1dEUXdxWGFlVEtDYlZRYUU4RWt6dFRhSENZMmlZa0xYYTNVY3hN OXBBUU9BTFdSRmpRd1VWU2w4bFprOFdVVGluWlM5SQ0KIEJvbXVHaFEweHIrclIxQm9nb0pIeEQ3 Vm1HYXBRR2liU295Uk4yZGFoRlg5UXBGb1V6U05KL1c5ZnA5U2hsUjVZYnB0d21STQ0KIGlxZWJn Vk1BM3NPWHhtQkRrRGlPN1RvN3Q3Wjd1V2NCK3lXTmZiQ1lieVM3K2RaVXFUQTNvcWhoNjFoK1R2 RUxjQ1RKajlpQQ0KIHZrOGoxSkVSbXg4RXQvRmxpOG5WamRTakNmUmQ0dVhxUk85NUNCdHY0WG1x cWl0WFFQcTZJQ0dFS2NVT3RKcXFGaTZncWFHWQ0KIHZhWm56MHhhUzFaMlpVRjJXTFN4ZkFCMFVR VGhTQmplM2psRWJrSnVTUFhDcU9Gc3JWYUF4NFNkMlY0TTg0YnA2NDUxeE5HYg0KIE5iU2tjaTls cVl0aVBrekJoOUpWRWUwbk1hdmFJMUNMelNuT1YvSERWck5QN09EVGRIUzYvbitlcmowQ2JSVWlP TVJ0aHU2dg0KIGl1ZEh3cmhlRCtDakRMdUVSdW9OTE1FZ0NhZU5SMVk4SWF6RjNRbFFXM3FYTlBq WjF1d044WnFnRGszeDVVdWkzL0tQSEphTw0KIGo5NU8wOUF0YnlmNnlwRWorNDNRak1acUNNOWE3 RGV5bURBdGJXUUk0MXowN01qR2lsdWt1TkcvSGsyZzZCWTZpMUpYcjA5bQ0KIFNmZnFNSnZ2MER6 bCtDT3pqUjlWeDhkejFRRHpJbVB2RWhrSmVEWTdzd1pCaTZDcFVwTHREL0JUVTFRKzRndEVORGt0 cUZPeA0KIDhLYW5hYjNMbkpEOWRqVDRNMFFRc3FTSThPY08zMW5PaDNzUzF1MlJFTUlTeUNtTVdi SGlnbFRpdmFYb3plUXA0ZzdyNVdxaw0KIDUwWFY3SmZWVm9kRFA0V0NrMTVXdGNGSmQwa08xRnMy YTdlbDhNTzZYZWsrVlBVVGRWYnU1MkJYZldMSFBqcktUQ3hsN1JJWg0KIHhJVWg3ai9LTTVBVSsr emsxd25ZVjU4a29QUUhrUFdWdDBZdVRWdldRZ3lwRlFldUdnN1ZHQTQzRmpwTHgrOCtISkdYK0Ro aA0KIFFZNDAwRXRCSVpsdkNlcCtWbzhJVURHNFRjOWdGVmswOHV3bWlpZktYYndOUHZpQk44TVRY Q282QTVvYk11OUcwRXZORVd6aA0KIFJBMmJXbWJBZUlBeWVNbUxTY3kxMnErOGROT0FhSU9GUE1V SmtWTW1MZlBJYTF2aUFzVXF6MzdseFlZdmEyY1VkMDd6bHRzSw0KIGRuMjh6cEJ3MTR4TllGdFkv V0lZdk1Ubng0SXdmalMyMDNnbnVFcG5GMUhlQjVMcVR2VUlYVlQvaFJQYk9WdUpqTDByTFV6cw0K IGtyYnltY0ZJQzVVRUtOMDZ2TnlxaEZrYTduR2tuS21nK0lGZXh2MmJMYjZUZXZSdW5DY3g1ZlpH QlZxaXh0T3pSRVZ1K0V2aQ0KIDQ4aWF4YkdEaEYxaXVITVQxSlRiWnFFY0ZnT0o4dEtxQ3FLTEh6 STY3aVJoOHNzWmNQbFVicXdLSTNHL0tjTTNoRDlUVlp2Ug0KIGNKVnRKUkhSdDcxZ0FuWk5adTFk ZTlWajA5MG9seXRmQkxmVmJ4SVlFN1p5V1pYNVp2amtka25oYzhGWVd0RlpBYzFlU1N2dQ0KIHVT TzkxOXMyNlhGQll0cUpDOWRCTk5NTjJwcUNwVHJ5bWdBNVM0R1ZXUHZsTHBla2xIbmpYZTBweUxi Q0NUd1lvaDRmUG5QSQ0KIHdsaEJORy81WE0wOUszK3pGZlQ5dCsyeTNqU0U5Tmt0NWVQNE9jZW9k T0dEZmxUVUw5eDlrV2FrSWhEVEh2c1dHbktRNWF6SQ0KIE5EclpvOGdZTWFSYUQ3eVcwR2ppejh6 VThiNlBjcThacW1PandieVFJOUlzWTZkbERrOVBNNjVIenNhRmw5K3ZlWUdySzU3WQ0KIEFRQ1pk SThiM3VLLzB3bU1MZWpKUTZEenRpMGEzdTJiQ0JUVStFYXdlaStacUphMVR0cE43WG1qbjRoUzV3 eHh2S3J0MFVLUQ0KIGRCQ2p4M1R3K3FpZTVnTFVTWDNIUzg0R1UySHJpNDRtbTU5YytjcWw3NWdt RldSNlI5RmFXSE5MYlkxT3lSZXN0b3hCRTJmTw0KIHlCL0RtNCtBbDZhaDQzZTVBTHAzZllaL2pC V21KQmYxdWdXMVJxMjlwTFpmaitvWDdTbTdKdlB0QzkxSjkwdnM2eDBQTXJvSg0KIGRLYnVaZmZt QlRGUVpYUXV4SERXeW0vWGFrLytKQVlNR2REVGY5RWxIdHdjOVFCb3BaRTRGRXRXOTBXT3FjS0U2 d3d2dldtWg0KIEQ1bEV5TUkzR3BBRGQvRzJUMEhqK3kxd0tlY25SQ1ZPc2RIVWxSTW9OQkpoZDBU VkRSemF5VVZxZnE0VDR2aGtHbUFXd0Rqdw0KIFM4TzlrRlg0UjRZMDROOWV1SDc3WkRaQ2NZV2wz aFRvdmQ1V1NMUUN0OWo4RjZwRWdsK2JuRGlSZm1obXZEdjFnVlhucXVFNw0KIHc9PQ0KSXJvblBv cnQtRGF0YTogQTlhMjM6dnpvZHZxcmhZUnVqVldXSUJNQzI2RmFCcUs1ZUJtSzlZUkl2Z0tyTHNK YUlzSTRTdEZDenQNCiBnYXJJQm1IYWYyTk5HZjJlNHQxYjRyajhrd0M3Y1dHeDk5a0dRTnVxQ2s4 UXl3VzhKYWNWWVdTSTI3T1pCK2ZmNWJKSks1RkENCiAyVHlTVFZpd09RY0VpZUV6dnQ0R3VTNTlS R1E3WW5SRy95a1RyYUNZM2d0TGVOZFlIOUpvUXA1bk9Ja2laSmZqOUc4QWdlYzANCiBmdi91TVMz MUdXTmdsYVlDVXBLcmZyWXdQOVRsSzZxNG1oQTd3Wm1QYXNqVUdMMnpoSDVNcnBQZGNsZEVGT2tF dUc0THNiaUwNCiA4N2Z3YmV3K0gvdS9odEZJcnRKUlo2aUx5WG02cGFMVmVTL29pSSt0NXFLMjND dWxRUm91a29QRDhmd1hHOE00OW0vYzNLZC8NCiAvMFczWEM0WVY5QjBxUWhCSTN4V1RFQmU4MTFG ZlF1RkxQdmVpYm42YVIvWnFBSkdwZmg2NndHTWEwNEFXRVgwcmw5VzJKSDYNCiA5WklFU0VJVGlD YWpkQzIrSzY2YWVZNTA2elBMT0d6Vkc4ZWtteDdpQ3JjRWU1alRaM0hRcnZILzg0ZGhXMXN3TVZQ R1B2VmINCiB0RUZMekZvYVh3c1lUVVdaUTlSVWNwNHhiMzV3Q0NsTDFXMHEzck56VVl6eTIzYTNB MTAzZjdtTjhQSWQ5aUxRKzFQazBxWXINCiAzNkE5R1A4YXYwZkhJM1BrMnZVcmlMODdnUEp0U0Rr WUxnd00vNmR6ZE5KdUFmUW5HTXlWQ01WYlZUdTlKRlZqV2JqQm9zR2QNCiBSTjhGakFWaGFNNDdr RzVTY2Z3ZHhhNXUzV0QrQlViWHJKdC8vWVM5UnJJMGEvSSswT1ZDMndGVUROYmVabC83cE53UUQw djINCiAxU0FoTSt2RGp0cTJGR0lkWjZEM3VpZTl6QzdKd0pGRkg0SFJSOGRSemtGMjhYaWc0NW0y M29qVWUxZk9LS3lpOVQwSHhUNXoNCiBEYUxzRFV5aXQwdllTZ2ppUHJURWJmdjNHekVtM1RaY3VJ bXpsNklBVC85djJ1VmNLYmdOdFA0c3dHS2hScFZCTi9CRmdIcGcNCiBaUVNweVNKQUFrejRYeWxp VGZJVytBUkJQU2w2dktFTGpER2tCczJSY1ZuOGpXbzluV3FacHdXNnpaN1RLdUlEaXJtVVdDMkMN CiBLTXdrVmtLakhPMkFKZE1SZklxQzI1V0k1bHhwWlVNN2Z5L0NwanBnaU5tTy9DZGpqT3Y4aUIw ZmxLMzFHdndpa1VxbXF4WEUNCiBjN0ZJSnYxVVNaQVV2ODJrR0xlcXdJaFBWa0RtWHRXS1lUN0dz bVQ4dmhiK2VQMmlJTzlGTzVmYUROaWtNaG52UHpzVFBycEgNCiB5WjNhcGJUa2tzQU9BRVBTaXpX OUlNWUpFc1daWDQ4SDR6MjQ4VlNlL1NDS1FNT0pZM1NJNkM1L0YvVlFLUTh4LzQ5dnI2UW8NCiBC bVZBeFlFb0hLaDNpZXZBVnZSTlJoZWhFYkhCc3NYUVlRVFpuQjNZajVGR2hFTFBlNlMwVXZvWDhk dkl1QitwYkF5bmFZY28NCiBqdHNVNXpvUDhtamd3L3ZvbHcxUllQd29JeHJhRktnZ2dmbUFzWnZT R1ZYazBkSUZsT1ZxT3ozTkJEaTdqY1BCU2VSdk00ejYNCiBlL29uQURDVEpaSkEwd29BTS9LWWJq OWh4bThyRm9NcXRKVUJrSG9HOWgwZkZtejBZNUlMeWVxc09RN0RmdFJJanIreHh5YjkNCiBUMnNQ ekVtbWNmM3JiVUlyZWI1M1pLL2s5L3hFczlWUEZacklHM0EzTFBuYVFqWTVqV0N4S0ZEWXNhcGZC ZmNkbi9GeUtXNmINCiA5cG8wc0NtWWUwTG8yaFJ1clVoT3IxdTg2RTN5UFczZzdwODBBNWZQVzdx YW02ekFlaEtPVWkyM3Nob3Q0eE15SVJHdUFDd1oNCiBGbTl4OWxDTlppTk8rTG5DRlEwSmpkNVh0 K2MxUG9ScENiZTNjNDFMR3IrK2lWejJyaU5DbWRXQURXaGx3MWZLK0ZUSEw0KzQNCiBPSjhwdk1U MVJPenVpQXFQdm1Da0NwUTBXYUdkVjRFY3FjL3M2QWxFSjNac1JVcXhuNUNjSzdqSkhmUHVyL1hV T3AxTTI0dVANCiBqT3dyNGpCamU0RnhrUDlMbHdDSlVLVTF1OVozWmt6cUJSR3lXRVpIR3V3bS8z SHVLNFQvQVpRK2pFSlhBaHEzazE1OCtac0MNCiBGTkthV3h4QjR1enBnbE51dVlTZmxxQ09ROTdB RCtoeG5mUTBIb016VzNRY0ZtcFhEZkNMVW83SXVlOHczb2ErR045SUJsZXANCiBiR1Y1Mkw1WXcy M2ZzdXE4SElBWmw1OW9mL0pYTzVPekFyenFQbTZMcDdVQTdnN2ZqdlhyYXU4YmtVWXF4YmNJSjBR aHhUSHENCiBNWnU0TlJMUTRIeGJnQkprWklyRTRPYjkrVTBZektWS0ZOU1JjcE8rUHN5SWxqZFh6 V3B5QjZ5SzB5VlVlRmNGY3pncUVPWEoNCiBaUm5HWk5TYWs2WXlpMkxrQUUrT1ljTkJMMUZ4TmdT KzlzSWYrTFFGMTRzNnJld2dHSmdqOFBOeTNMWW1tUXVmdFJKbFBROUkNCiBLUDNjeGFwTURTWnBW bFFxbC8zZ1BoMEFFaUtTdmhhVzFTa3g4R3d5dnNES0x3YnV1STFjVTBTN0txOWowL0lEQ1JacFND cnINCiBDSHhUSTZJNmR3NjBvbDl2WnJlSW9NYURTV09GTjdEZnVDcDhnZXlqdGR3VWUzeUlmcis3 d003bG5TM1BpQjlINmNnWk5Cc3ANCiBMSGM3UC8xeEJ6a3VaZzFZVUQ0bXI2QU5mQkM5SnlnVnRw dExlYklGbjFRc2kvWWF2L092ajgvMW5HZUFzRlZtZXdFNHZqOWENCiBSbTBRNWF5ZjRSTld2TjI1 bjVjV3c1QkdUa3pWb1gxYWFiQm8zdW1qdkt1VXhJeTd5M09IT21GeDFUSU0xNUpWM1l2RUlLa0wN CiBBM05vTk84ejRwOGdLVVFJUTRiRnRkMEI1TmNDMzN5YTVzTUx0SGVtMkdSTVRpMXZ3bWtwTERu cXlzRjFSaktMWHVoUytQUi8NCiBwUFBRMG5GUmlTWTRhM240b2xRak4xdmcwY3hFbjE0dk9nWGUz QWQ4ZjVRanhTUkxqWVBEY1laQUtVOEpxQmtxQTdBLzdDbVcNCiAyaVZkMG9uTXp2M1locGNleGFs NE5qRFlCYVdOdFpUQnZqSGZBNFc3MkdtUUFib0lyUFpETFZZbzNJcXB6ODhmemI0MStpb0oNCiBP MFA0bkM2YkZENzNwaHRRdjFWL2ZDaHgvdHV3dlRCM0g4VDVFVGhpSXJJRGcwREJha1JubWxVZE9h WHVmY3J6K21XL0trS0cNCiBZUTBlWXlBYUZ5Z0RGWDBEZDRsZDNOUkdROFVwaUtxbG05MEt5S094 ZHZVc3A2SGl1Wkh6WlVUL2cwMVBxSXJOS3czeUh3bUgNCiBSc2JoRmRoSjBpTTEzQVRzTGR2c05V czZVT3hJZXplQmRDMGRjY1BXaVZMOTV5TkJxOGIwdy91VU1iQm9Bek9PT0tTTHI4RnENCiBnU1Iz Zz09DQpJcm9uUG9ydC1IZHJPcmRyOiBBOWEyMzpLWVFhbTZQZGhhMm1lY0JjVHZPanNNaUJJS29h U3ZwMDM3Qk43VEVJZGZVMVNMM2dxeQ0KIG5LcHA4bVBIRFA2UXI1TkV0USsreG9RWlB0Zlpxanor OFMzV0JoQjllZnRXRGQwUVBHRUdnRjEvcUUvOVRPSVVQREg0Vm1wTQ0KIFJkbXNaRmViak41UkFU dDZ6SENFUFJLYnNkS0pmdHl0SE51ZHZqDQpYLVRhbG9zLUNVSUQ6IDlhMjM6V3gxY0NXT04zZWNQ U081REJ5TTk5MGNLTUpBY1kzajkvRzdhRVUrQUZXZEtSK2pBDQpYLVRhbG9zLU1VSUQ6ID0/dXMt YXNjaWk/cT85YTIzPTNBQ3lBV3p3M0dpcEQ5SlhOdEsvWUoxNVI4MkRVajRMdVdNbUlxMHJBPz0N CiA9P3VzLWFzY2lpP3E/OWx1cThiMjhxTkJiQnNqZVBUZHB5Pz0NClgtSXJvblBvcnQtQW50aS1T cGFtLUZpbHRlcmVkOiB0cnVlDQpYLUlyb25Qb3J0LUFWOiBFPVNvcGhvcztpPSI2LjAzLDE2Miwx Njk0NzM2MDAwIjsgDQogICBkPSJzY2FuJzIwOCI7YT0iOTgyOTk0ODgiDQpYLUlyb25Qb3J0LU91 dGJyZWFrLVN0YXR1czogTm8sIGxldmVsIDAsIFVua25vd24gLSBVbmtub3duDQpSZWNlaXZlZDog ZnJvbSB1cy1zbXRwLWRlbGl2ZXJ5LTEyNC5taW1lY2FzdC5jb20gKFsxNzAuMTAuMTI5LjEyNF0p DQogIGJ5IGFsbG4taW5ib3VuZC1qLmNpc2NvLmNvbSB3aXRoIEVTTVRQL1RMUy9FQ0RIRS1SU0Et QUVTMjU2LUdDTS1TSEEzODQ7IDIwIFNlcCAyMDIzIDEzOjA1OjQ3ICswMDAwDQpES0lNLVNpZ25h dHVyZTogdj0xOyBhPXJzYS1zaGEyNTY7IGM9cmVsYXhlZC9yZWxheGVkOyBkPXJlZGhhdC5jb207 DQoJcz1taW1lY2FzdDIwMTkwNzE5OyB0PTE2OTUyMTUxNDc7DQoJaD1mcm9tOmZyb206cmVwbHkt dG86c3ViamVjdDpzdWJqZWN0OmRhdGU6ZGF0ZTptZXNzYWdlLWlkOm1lc3NhZ2UtaWQ6DQoJIHRv OnRvOmNjOmNjOm1pbWUtdmVyc2lvbjptaW1lLXZlcnNpb246Y29udGVudC10eXBlOmNvbnRlbnQt dHlwZToNCgkgY29udGVudC10cmFuc2Zlci1lbmNvZGluZzpjb250ZW50LXRyYW5zZmVyLWVuY29k aW5nOg0KCSBpbi1yZXBseS10bzppbi1yZXBseS10bzpyZWZlcmVuY2VzOnJlZmVyZW5jZXM7DQoJ Ymg9emdYU0FxK0p3VW00WGJnODRYMWRlTDBaU2RpUDRHQ0w3NHoxTzIvQmpyWT07DQoJYj1qQnB6 MUhOcXA2MEFzN3FWK2p0RnA0a2RCek56NGZBaG40OTNrN2hEV1pjUHNuLzZCWWtPSGEzL24rSDA1 ZEZYK0Z1dUVmDQoJaGFUcTRFUE9zMzBVQlNtM3RCNC92TXVSODV4RnBDa3ErQm01a1dDZnZNMGFS U1JFL2V6bFJLemlKNXV3SDNSQWpTWWxVcQ0KCWc3N1c5Ym50SWFqY1FzZGQ3OVZaci9TTlJYekww ZkE9DQpSZWNlaXZlZDogZnJvbSBtaW1lY2FzdC1teDAyLnJlZGhhdC5jb20gKG14LWV4dC5yZWRo YXQuY29tIFs2Ni4xODcuMjMzLjczXSkNCiBieSByZWxheS5taW1lY2FzdC5jb20gd2l0aCBFU01U UCB3aXRoIFNUQVJUVExTICh2ZXJzaW9uPVRMU3YxLjIsDQogY2lwaGVyPVRMU19FQ0RIRV9SU0Ff V0lUSF9BRVNfMjU2X0dDTV9TSEEzODQpIGlkDQogdXMtbXRhLTYxLXhpZ3YyTkZ0UHNpNjBaTlRm RWUxN1EtMTsgV2VkLCAyMCBTZXAgMjAyMyAwOTowNTo0MiAtMDQwMA0KWC1NQy1VbmlxdWU6IHhp Z3YyTkZ0UHNpNjBaTlRmRWUxN1EtMQ0KUmVjZWl2ZWQ6IGZyb20gc210cC5jb3JwLnJlZGhhdC5j b20gKGludC1teDA1LmludG1haWwucHJvZC5pbnQucmR1Mi5yZWRoYXQuY29tIFsxMC4xMS41NC41 XSkNCgkodXNpbmcgVExTdjEuMiB3aXRoIGNpcGhlciBFQ0RIRS1SU0EtQUVTMjU2LUdDTS1TSEEz ODQgKDI1Ni8yNTYgYml0cykpDQoJKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0ZWQpDQoJ YnkgbWltZWNhc3QtbXgwMi5yZWRoYXQuY29tIChQb3N0Zml4KSB3aXRoIEVTTVRQUyBpZCA1OEEz ODI4MEQyMDc7DQoJV2VkLCAyMCBTZXAgMjAyMyAxMzowNTo0MCArMDAwMCAoVVRDKQ0KUmVjZWl2 ZWQ6IGZyb20gWzEwLjM5LjIwOC4zNV0gKHVua25vd24gWzEwLjM5LjIwOC4zNV0pDQoJYnkgc210 cC5jb3JwLnJlZGhhdC5jb20gKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIDg3Q0NDMTY4NkQ7DQoJ V2VkLCAyMCBTZXAgMjAyMyAxMzowNTozOCArMDAwMCAoVVRDKQ0KTWVzc2FnZS1JRDogPGRkMmRk NDE2LWYxZjktZjc3OS00ZjZhLTEwNWZkNmE3YWI2Y0ByZWRoYXQuY29tPg0KRGF0ZTogV2VkLCAy MCBTZXAgMjAyMyAxNTowNTozNyArMDIwMA0KVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFgxMTsg TGludXggeDg2XzY0OyBydjoxMDIuMCkgR2Vja28vMjAxMDAxMDENCiBUaHVuZGVyYmlyZC8xMDIu MTMuMA0KU3ViamVjdDogUmU6IENvbW1pdCBicm9rZSAzMi1iaXQgdGVzdHBtZCBhcHANCkZyb206 IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQpUbzogIlJvZ2Vy IE1lbHRvbiAocm1lbHRvbikiIDxybWVsdG9uQGNpc2NvLmNvbT4sDQogICAgICAgICJEYXZlIEpv aG5zb24gKGRhdmVqbykiIDxkYXZlam9AY2lzY28uY29tPiwNCiAgICAgICAgImRldkBkcGRrLm9y ZyIgPGRldkBkcGRrLm9yZz4sDQogICAgICAgICJTYW1wYXRoIFBlZWNodSAoc3BlZWNodSkiIDxz cGVlY2h1QGNpc2NvLmNvbT4sIGNoZW5iby54aWFAb3V0bG9vay5jb20NCkNjOiAiTWFsY29sbSBC dW1nYXJkbmVyIChtYnVtZ2FyZCkiIDxtYnVtZ2FyZEBjaXNjby5jb20+LA0KICAgICAgICAiQ2hy aXMgQnJlem92ZWMgKGNicmV6b3ZlKSIgPGNicmV6b3ZlQGNpc2NvLmNvbT4sDQogICAgICAgIERh dmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KUmVmZXJlbmNlczogPE1O MlBSMTFNQjQ1ODE0MTUxQUNDODM4MUFCRkIxRENCOUJEMDU5QE1OMlBSMTFNQjQ1ODEubmFtcHJk MTEucHJvZC5vdXRsb29rLmNvbT4NCiA8NjM0ODY3NjQtM2I0NC0zMjk5LTY4MzAtMDU0MzVkZmQ3 OGYzQHJlZGhhdC5jb20+DQogPE1OMlBSMTFNQjQ1ODEzMzFGNUMyNjNDRTYwNEI0NDUwOEJEMDQ5 QE1OMlBSMTFNQjQ1ODEubmFtcHJkMTEucHJvZC5vdXRsb29rLmNvbT4NCiA8ODI3ZjkxMmYtZmMy ZC02ZDQxLWJhOGMtZTdmM2Y5ZjJlMjRiQHJlZGhhdC5jb20+DQogPE1OMlBSMTFNQjQ1ODFDQTZF Mzc0REZCOTc0RTYxNjNDRkJEMEQ5QE1OMlBSMTFNQjQ1ODEubmFtcHJkMTEucHJvZC5vdXRsb29r LmNvbT4NCiA8TU4yUFIxMU1CNDU4MUJDRkZBMEZEOEZGOUIxMjhGMzVFQkQxQjlATU4yUFIxMU1C NDU4MS5uYW1wcmQxMS5wcm9kLm91dGxvb2suY29tPg0KIDxNTjJQUjExTUI0NTgxNkQ3QkQ3MkNF QTFDOUVEQzZBOTlCRENFOUBNTjJQUjExTUI0NTgxLm5hbXByZDExLnByb2Qub3V0bG9vay5jb20+ DQogPE1OMlBSMTFNQjQ1ODE5OEExMUM5Q0RBMjdDNjlGQkEzN0JEMUZBQE1OMlBSMTFNQjQ1ODEu bmFtcHJkMTEucHJvZC5vdXRsb29rLmNvbT4NCiA8TVc0UFIxMU1CNjU3MDdFNDVGMTczRTUyQjc5 OUU1REE0RDNFRkFATVc0UFIxMU1CNjU3MC5uYW1wcmQxMS5wcm9kLm91dGxvb2suY29tPg0KIDxh ZTRjOGFhZi02YzEyLThkZGYtOTBiOS03NmU3NjU2NDcyOGRAY2lzY28uY29tPg0KIDxiMDFkMjc0 NC05ODJhLWY0YjctOGZiMy00OGVlOWVjYWNkMDVAcmVkaGF0LmNvbT4NCkluLVJlcGx5LVRvOiA8 YjAxZDI3NDQtOTgyYS1mNGI3LThmYjMtNDhlZTllY2FjZDA1QHJlZGhhdC5jb20+DQpYLVNjYW5u ZWQtQnk6IE1JTUVEZWZhbmcgMy4xIG9uIDEwLjExLjU0LjUNClgtTWltZWNhc3QtU3BhbS1TY29y ZTogMA0KWC1NaW1lY2FzdC1PcmlnaW5hdG9yOiByZWRoYXQuY29tDQpDb250ZW50LUxhbmd1YWdl OiBlbi1VUw0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9 Zmxvd2VkDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQpYLU91dGJvdW5kLVNNVFAt Q2xpZW50OiAxNzMuMzcuMTQ3LjI0MCwgYWxsbi1pbmJvdW5kLWouY2lzY28uY29tDQpYLU91dGJv dW5kLU5vZGU6IGFsbG4tY29yZS0xMC5jaXNjby5jb20NClJldHVybi1QYXRoOiBtYXhpbWUuY29x dWVsaW5AcmVkaGF0LmNvbQ0KWC1NUy1FeGNoYW5nZS1Pcmdhbml6YXRpb24tRXhwaXJhdGlvblN0 YXJ0VGltZTogMjAgU2VwIDIwMjMgMTM6MDU6NTcuNDUxOQ0KIChVVEMpDQpYLU1TLUV4Y2hhbmdl LU9yZ2FuaXphdGlvbi1FeHBpcmF0aW9uU3RhcnRUaW1lUmVhc29uOiBPcmlnaW5hbFN1Ym1pdA0K WC1NUy1FeGNoYW5nZS1Pcmdhbml6YXRpb24tRXhwaXJhdGlvbkludGVydmFsOiAxOjAwOjAwOjAw LjAwMDAwMDANClgtTVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLUV4cGlyYXRpb25JbnRlcnZhbFJl YXNvbjogT3JpZ2luYWxTdWJtaXQNClgtTVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLU5ldHdvcmst TWVzc2FnZS1JZDoNCiA1ZjdjNDdiMS1mYzZmLTQyMTMtOWY0My0wOGRiYjlkYTU0N2MNClgtRU9Q QXR0cmlidXRlZE1lc3NhZ2U6IDANClgtTVMtRXhjaGFuZ2UtT3JnYW5pemF0aW9uLU1lc3NhZ2VE aXJlY3Rpb25hbGl0eTogT3JpZ2luYXRpbmcNClgtTVMtUHVibGljVHJhZmZpY1R5cGU6IEVtYWls DQpYLU1TLVRyYWZmaWNUeXBlRGlhZ25vc3RpYzoNCiBCTDAyRVBGMDAwMUExMDY6RUVffExWM1BS MTFNQjg1Nzc6RUVffE1OMlBSMTFNQjQxOTA6RUVfDQpYLU1TLUV4Y2hhbmdlLU9yZ2FuaXphdGlv bi1BdXRoU291cmNlOg0KIEJMMDJFUEYwMDAxQTEwNi5uYW1wcmQwNS5wcm9kLm91dGxvb2suY29t DQpYLU1TLUV4Y2hhbmdlLU9yZ2FuaXphdGlvbi1BdXRoQXM6IEFub255bW91cw0KWC1PcmlnaW5h dG9yT3JnOiBjaXNjby5vbm1pY3Jvc29mdC5jb20NClgtTVMtT2ZmaWNlMzY1LUZpbHRlcmluZy1D b3JyZWxhdGlvbi1JZDogNWY3YzQ3YjEtZmM2Zi00MjEzLTlmNDMtMDhkYmI5ZGE1NDdjDQpYLU1T LUV4Y2hhbmdlLU9yZ2FuaXphdGlvbi1TQ0w6IDENClgtTWljcm9zb2Z0LUFudGlzcGFtOiBCQ0w6 NTsNClgtRm9yZWZyb250LUFudGlzcGFtLVJlcG9ydDoNCiBDSVA6MTczLjM3LjE0Mi44ODtDVFJZ OlVTO0xBTkc6ZW47U0NMOjE7U1JWOjtJUFY6TkxJO1NGVjpOU1BNO0g6YWxsbi1pcG9ydC0xLmNp c2NvLmNvbTtQVFI6YWxsbi1pcG9ydC0xLmNpc2NvLmNvbTtDQVQ6Tk9ORTtTRlM6KDEzMjMwMDMx KSg0NjM2MDA5KSgyODYwMDUpKDQ1MTE5OTAyNCkoODIzMTA0MDAwMTEpKDUzNTQ2MDExKSgzMTY5 NjAwMikoODMzODA0MDAwMDEpKDc2MzYwMDMpKDc1OTYwMDMpKDM1NjAwNSkoODQzMDA0MDAwMDEp KDg2MzYyMDAxKSgzNjc1NjAwMykoMjYxNjAwNSkoMTA3ODg2MDAzKSg2MjY2MDAyKSg0MjYwMDMp KDI2MDA1KSgxMTAxMzYwMDUpKDU0OTA2MDAzKSgzMDg2NDAwMykoNDQ4MzIwMTEpKDg5MzYwMDIp KDg2NzYwMDIpKDEwOTYwMDMpKDQzMjYwMDgpKDMzNjAxMikoMzE2ODYwMDQpKDU4ODAwNDAwMDA1 KSg5NjYwMDUpKDQyNjk2MDA0KSg0Mzc0MDUwMDAwMik7RElSOklOQjsNClgtTVMtRXhjaGFuZ2Ut Q3Jvc3NUZW5hbnQtT3JpZ2luYWxBcnJpdmFsVGltZTogMjAgU2VwIDIwMjMgMTM6MDU6NTcuMTM5 NA0KIChVVEMpDQpYLU1TLUV4Y2hhbmdlLUNyb3NzVGVuYW50LU5ldHdvcmstTWVzc2FnZS1JZDog NWY3YzQ3YjEtZmM2Zi00MjEzLTlmNDMtMDhkYmI5ZGE1NDdjDQpYLU1TLUV4Y2hhbmdlLUNyb3Nz VGVuYW50LUlkOiA1YWUxYWY2Mi05NTA1LTQwOTctYTY5YS1jMTU1M2VmNzg0MGUNClgtTVMtRXhj aGFuZ2UtQ3Jvc3NUZW5hbnQtT3JpZ2luYWxBdHRyaWJ1dGVkVGVuYW50Q29ubmVjdGluZ0lwOiBU ZW5hbnRJZD01YWUxYWY2Mi05NTA1LTQwOTctYTY5YS1jMTU1M2VmNzg0MGU7SXA9WzE3My4zNy4x NDIuODhdO0hlbG89W2FsbG4taXBvcnQtMS5jaXNjby5jb21dDQpYLU1TLUV4Y2hhbmdlLUNyb3Nz VGVuYW50LUF1dGhTb3VyY2U6DQogQkwwMkVQRjAwMDFBMTA2Lm5hbXByZDA1LnByb2Qub3V0bG9v ay5jb20NClgtTVMtRXhjaGFuZ2UtQ3Jvc3NUZW5hbnQtQXV0aEFzOiBBbm9ueW1vdXMNClgtTVMt RXhjaGFuZ2UtQ3Jvc3NUZW5hbnQtRnJvbUVudGl0eUhlYWRlcjogSHlicmlkT25QcmVtDQpYLU1T LUV4Y2hhbmdlLVRyYW5zcG9ydC1Dcm9zc1RlbmFudEhlYWRlcnNTdGFtcGVkOiBMVjNQUjExTUI4 NTc3DQpYLU1TLUV4Y2hhbmdlLVRyYW5zcG9ydC1FbmRUb0VuZExhdGVuY3k6IDAwOjAwOjA3Ljgy OTg4MzQNClgtTVMtRXhjaGFuZ2UtUHJvY2Vzc2VkLUJ5LUJjY0ZvbGRlcmluZzogMTUuMjAuNjc5 Mi4wMjUNClgtTWljcm9zb2Z0LUFudGlzcGFtLU1haWxib3gtRGVsaXZlcnk6DQoJdWNmOjE7am1y OjA7YXV0aDowO2Rlc3Q6QztPRlI6Q3VzdG9tUnVsZXM7RU5HOig5MTAwMDEpKDk0NDUwNjQ3OCko OTQ0NjI2NjA0KSg5MjAwOTcpKDkzMDA5NykoMTQwMDAzKTsNClgtTWljcm9zb2Z0LUFudGlzcGFt LU1lc3NhZ2UtSW5mbzoNCgk9P3V0Zi04P0I/VFdKRmVWRk5jek5LUnpkWk5XaHViSGMzZEVWV2My dGplRTFVY1M5dU1UVkRZMkpQY1V0TE1sUk9NR0p3Pz0NCiA9P3V0Zi04P0I/VWs5NGNEaDZkR3g2 YVRRd04zZGFiMkZ1TDIxc2FYYzBlRTlzVmpZMVRuSnZibmxoVjBWR09YWXlRM1pzPz0NCiA9P3V0 Zi04P0I/VmpreFlsZHRTMnRpZG10b2RHazVaVk0zVVZGNU9FeGtZV3hvTXpoeFprSlZSVFpYVFho V1VUVXpWMU5tPz0NCiA9P3V0Zi04P0I/YUdwb1RHdEZOMko2ZVRFeVEwbE5hbWd3WmxWUWIzVnVT SEV3WTI5V2JqZzBSVkZPVG14RlJFdElUMHBFPz0NCiA9P3V0Zi04P0I/U0RKUlRFSlhhSFpUT0ZW c2QycFVSalJqVDBsMmRXcHVjMFpoVm1KMVVIZEJlVFJxTW1GR1FXMHhUMlZHPz0NCiA9P3V0Zi04 P0I/YkVOVFUxWlVUbFJEVXpGNFpITmtTbWRIUm5ReFQyOW9kSEpKY2toMVJXazJZM0JwZW5rNU5F VjJSemc0Pz0NCiA9P3V0Zi04P0I/TVRsNVZqVmxVbVZZYlcxNU5UTlFaazQyTjNwd2MydGFNM0o0 Y1c1M09Xb3dPVlJCVFU4eVR6WTJSVFFyPz0NCiA9P3V0Zi04P0I/UmxKSlUzSkplRXRzYm5kRlFu VnlWVWRNTVhvMVdYRlNMMlYxZWtWRE5sVkxUbFIxWW5GNk9XUnlaMWg0Pz0NCiA9P3V0Zi04P0I/ VTFWb1RtUkxTWGRwYUhaRlpEbE9lVXhMZVRSVGVWRkhjbEpYUmxKWVZVYzRlRTlQU2xSU2JrbEdS MEpWPz0NCiA9P3V0Zi04P0I/TUV0c04wSkxjVnBVUWtNNFJ6VlJjVWRuV1ZsQk9EVktLek5zVEVn eFR6RkdZMDVhWWxKVVRtdDNSaXQwPz0NCiA9P3V0Zi04P0I/TUZGQlptazJNR2hPTnl0bGNIcEhV M1ExZUZOSlVsZFVLMlpuZEN0M2IyUk9NQ3RyUVdneU5EaFJSSE4yPz0NCiA9P3V0Zi04P0I/Wkho ek1VczNWV3RyVWxJMWFXaEJVelJyTlRka1dUQjFibFJVTkdsWmJqRXZNVEI2ZWpGb1pFTTBkMjFy Pz0NCiA9P3V0Zi04P0I/WlRSUFowNVNjM0ZvZWtWdmExbE9jSEZFYmxac05ETTBUbmRSTlRoVGVY VkdTbFkwU2l0aVNVc3pTemN3Pz0NCiA9P3V0Zi04P0I/U25ORlZtNHlSbGRpTXpoRWFreFVLM2hu UVZwbldWVlNXblpxUm5aUmFGcFFWVFJPU1hCb0wxaHNObXhhPz0NCiA9P3V0Zi04P0I/Y0hweWFs RlVjMDFYWWxwNVJXdHljR3huUWpaVk9XeEZPRzVVV21KNWVteDRkM0JJUm1SUlJIaFBUSEpSPz0N CiA9P3V0Zi04P0I/TjBoTFl6Vk9hRE0yVTA5MVF6aG1UakE1VjA5a056UTBUek5rVFhKUFZYSmFM M0ZRYXpKV00zRkhRak4wPz0NCiA9P3V0Zi04P0I/YmtjeVFuVXJUSE0zUmk5ck0wd3pjV2N5WjJK bE5GbEpTSGxSZFVock9YVk5aeXRsV0RSRVYyNUxTRTEwPz0NCiA9P3V0Zi04P0I/YXpjd1ZFbDNV MlJSVG5jMFFsVkJWblV5VEhCRWREUjJSRVJrWW14R016VlViRnAyY3pab1dHcENkRkJQPz0NCiA9 P3V0Zi04P0I/VjJSWWMyMUdXbXBWYTBoWGJqTjBURWsxY2tsdlRHeEZiamcyZVRaRlZHMVNjblJX V0ZCckwzVm1VbUpJPz0NCiA9P3V0Zi04P0I/TjBkV2JTdG5ObXg1TlhrMmNtUnZNWFZYVTJOQmRE WnBSemRPTW1KNEt6aFpaSGxoUlRKSk4xWjRkMDFxPz0NCiA9P3V0Zi04P0I/TDAxS1dFTnJTM0Jz ZVdFdlRYbGhTSHAxWjJGUlQxVlZhVlZTUjNGdE0ydEdjRkpNZW1sR1pITndVaTl4Pz0NCiA9P3V0 Zi04P0I/YWt4aFdsSk5XREZhYkZkUlpWTmtVRTU2YTJ0dlNHZDFSMGxuYldoeVRqQlZjbFJvWVRK SU1EbEZXWEF4Pz0NCiA9P3V0Zi04P0I/VGpoTlQyRnFOREpKWWt4dk1IWlJkbnBDWTNSWGFVVnpV SFJQZDA1NU5GTjRUMmxITDBrMVNrSk1jbXh3Pz0NCiA9P3V0Zi04P0I/VEVVMVdURmhNMlJOVEhk bWMwWnJXRk5PV0RkNVIyWndOQ3M0WXpGU00wNUZVWFpKYmtSQ1MwTXZjemxSPz0NCiA9P3V0Zi04 P0I/TjA1cVNIUlRUak5rTldSdlNHaEdNbVV2Y1hKbGMyaHpWSEJ1U21aSU1YQjVlalkwVkU1YWJr aG9iMEZNPz0NCiA9P3V0Zi04P0I/ZFhKaE9HWmlVMDFIVWtONWRGcGtiekV5Tm1oeWRVOXlUemN4 TWt4emRFRlFkMHM1UjFWcmVtNVFOM0pRPz0NCiA9P3V0Zi04P0I/ZVdkc1VXZE1NV1pVTDNGYWRE ZDRVemt6TTBadlJXZ3lNak5IWm1OcGVrNTBVbkJJVUdjeWIyVllWMWxFPz0NCiA9P3V0Zi04P0I/ UmxwTVpFWkZPV1ozUVRsTlNGbEZSWEUyU205clpreEdWRGR2SzFoa2F5OWxRemx0YmpCeWFTdEpO akYzPz0NCiA9P3V0Zi04P0I/VEV0WGJrUXJUbWxQWmswclEwZzNhMmRDZFRObUwyaFpiRkpLWkhk UFIyY3pORUYzY1V4SWRWSTRVbm80Pz0NCiA9P3V0Zi04P0I/Y0hVd1IxZDFaV05EWmpCek5YcHVl VkJ0VUdWUmVHMUdOakJZTW00d05qUjJPRkJvVVdaUloya3hRM1psPz0NCiA9P3V0Zi04P0I/VTA5 cUx6SXJWSEk1ZWxWVFRWRjBUbFZ1YjNCclQwNUhiRXh1YW1neWVtWm5NblV6WTBsSmEwMDVTVEI1 Pz0NCiA9P3V0Zi04P0I/V2xoNlpuYzJObkptUTNCT1VsUXhPRlJXYkVWR1lXOHhhMkpqVkhrMllV NUpMMmREU0ZwSlkzUk9RbmcyPz0NCiA9P3V0Zi04P0I/Y0VoaVlXRm1UV2RESzI5WWRWRkhVbVZ4 YTJSc1lrVnFiRzV3Y0RSQllsQlRTSFpQZVRoaU9WcDFWRFp1Pz0NCiA9P3V0Zi04P0I/YkVGRFNG VlNWSGhpVG1aVGNXUlhRbk4xTHk5S2NGTnBSVlZTSzBRNWJHdFJORUU1YTBOUlprdDJSM0F2Pz0N CiA9P3V0Zi04P0I/V0dFdk5pdE1TV0Y0Um5OUGFWVm5SalZGV1ZwclZubG5ZWGRRUkVWTE1GcFhk Rk5yVkUxRWQxSTFjRVZ2Pz0NCiA9P3V0Zi04P0I/TW5wYVpGUTNZMlEwVG5nNVIyUjRXRWxxS3ps VlFWTnBXRWc0Um14U1JEQTFlRVpqVjIxbGRrOUhjVlYzPz0NCiA9P3V0Zi04P0I/ZVdVd1FsQjBU bGRWUVhJclZVWnlSVGhrZW5kaFJta3ZjRTFSVGxOU1NIQndNRmxKUkZJeFdsRkVPSHByPz0NCiA9 P3V0Zi04P0I/UjJ4NVMzYzFOSFIzT1ZkNk5UbFFaVVJzVFhGaFFqWjRXbVYxWlRWVlNrNVNVRXRy YjBORVVXNXRRMUk1Pz0NCiA9P3V0Zi04P0I/VWtWWk4wcGpZMkZHYkRFMlRVVXZXRGRTVVZad1ZF RmhSRFZ5V1ZaNmNXWm1PREZLTWt0d2VYVm1VbkIwPz0NCiA9P3V0Zi04P0I/UzI5cFUzVnBZaTlq VkRkU1ptNVFiemhuY2tWcGIxbFJWbVkzWkRoamNTOVdaVUZwWlRaNmVuQjBTWGN5Pz0NCiA9P3V0 Zi04P0I/YWtObk1sbzRWRmh5YlZwTmFuSjFRVTlrZGs1bGNTOU9OVm8yZUd0RlVYbFdha0Z1VW14 eU9Ga3dTbGNyPz0NCiA9P3V0Zi04P0I/ZG5KSlVtUjNVMmw1WVVZMVZHSTFPRmtyVFdJMVNWQTBT bWRpZFRaV2NUZG5QVDA9Pz0NCk1JTUUtVmVyc2lvbjogMS4wDQoNCg0KDQpPbiA5LzIwLzIzIDA5 OjM1LCBNYXhpbWUgQ29xdWVsaW4gd3JvdGU6DQo+IEhpLA0KPiANCj4gSSB0cmllZCB0byByZXBy b2R1Y2Ugd2l0aG91dCBzdWNjZXNzKHNlZSBhdHRhY2hlZCBsb2cpLg0KPiANCj4gSSBmYWlsIHRv IHJlcHJvZHVjZSBiZWNhdXNlIGJ1Zl9pb3ZhIGZpdHMgaW50byAzMiBiaXRzIGluIG15IGNhc2U6 DQo+IChnZGIpIHAgL3ggKnR4X3BrdHNbMF0NCj4gDQo+ICQ0ID0gew0KPiAgwqAgY2FjaGVsaW5l MCA9IDB4NzdiMTllYzAsDQo+ICDCoCBidWZfYWRkciA9IDB4NzdiMTlmNDAsDQo+ICDCoCBidWZf aW92YSA9IDB4NDk1MTlmNDAsDQo+ICDCoCByZWFybV9kYXRhID0gMHg3N2IxOWVkMCwNCj4gDQo+ IEhvd2V2ZXIsIGxvb2tpbmcgYXQgeW91ciByZXBvcnQsIHNvbWV0aGluZyBsaWtlIHRoaXMgd291 bGQgd29yayBmb3IgeW91Og0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0cXVldWUuaCANCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydHF1ZXVlLmgNCj4gaW5kZXgg OWQ0YWJhMTFhMy4uMzhlZmJjNTE3YSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRxdWV1ZS5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0cXVldWUuaA0KPiBA QCAtMTI0LDcgKzEyNCw3IEBAIHZpcnRxdWV1ZV9zdG9yZV9mbGFnc19wYWNrZWQoc3RydWN0IA0K PiB2cmluZ19wYWNrZWRfZGVzYyAqZHAsDQo+ICDCoCAqICh2aXJ0aW8tcGNpIGFuZCB2aXJ0aW8t dXNlcikuDQo+ICDCoCAqLw0KPiAgwqAjZGVmaW5lIFZJUlRJT19NQlVGX0FERFIobWIsIHZxKSBc DQo+IC3CoMKgwqDCoMKgwqAgKCh1aW50NjRfdCkoKih1aW50cHRyX3QgKikoKHVpbnRwdHJfdCko bWIpICsgDQo+ICh2cSktPm1idWZfYWRkcl9vZmZzZXQpKSkNCj4gK8KgwqDCoMKgwqDCoCAoKih1 aW50NjRfdCAqKSgodWludHB0cl90KShtYikgKyAodnEpLT5tYnVmX2FkZHJfb2Zmc2V0KSkNCj4g DQo+IA0KPiBUaGUgcHJvYmxlbSBpcyB0aGF0IGl0IHdvdWxkIGxpa2VseSBicmVhayBWaXJ0aW8t dXNlciBlbiAzMmJpdHMgbW9kZSwgYXMNCj4gdGhpcyBpcyBob3cgaXQgd2FzIGluaXRpYWxseSBp bXBsZW1lbnRlZCwgYW5kIGdvdCBmaXhlZCBmZXcgeWVhcnMgYWdvLA0KPiBhcyBEYXZpZCBoaW50 ZWQgdG8gbWU6DQo+IA0KPiBjb21taXQgMjYwYWFlOWFkOTYyMWUzZTc1OGYxNDQzYWJiOGZjYmMy NWVjZTA3Yw0KPiBBdXRob3I6IEppYW5mZW5nIFRhbiA8amlhbmZlbmcudGFuQGludGVsLmNvbT4N Cj4gRGF0ZTrCoMKgIFdlZCBBcHIgMTkgMDI6MzA6MzMgMjAxNyArMDAwMA0KPiANCj4gIMKgwqDC oCBuZXQvdmlydGlvLXVzZXI6IGZpeCBhZGRyZXNzIG9uIDMyLWJpdCBzeXN0ZW0NCj4gDQo+ICDC oMKgwqAgdmlydGlvLXVzZXIgY2Fubm90IHdvcmsgb24gMzItYml0IHN5c3RlbSBhcyBoaWdoZXIg MzItYml0IG9mIHRoZQ0KPiAgwqDCoMKgIGFkZHIgZmllbGQgKDY0LWJpdCkgaW4gdGhlIGRlc2Mg aXMgZmlsbGVkIHdpdGggbm9uLXplcm8gdmFsdWUNCj4gIMKgwqDCoCB3aGljaCBzaG91bGQgbm90 IGhhcHBlbiBmb3IgYSAzMi1iaXQgc3lzdGVtLg0KPiANCj4gIMKgwqDCoCBJbiBjYXNlIG9mIHZp cnRpby11c2VyLCB3ZSB1c2UgYnVmX2FkZHIgb2YgbWJ1ZiB0byBmaWxsIHRoZQ0KPiAgwqDCoMKg IHZpcnRxdWV1ZSBkZXNjIGFkZHIuIFRoaXMgaXMgYSByZWdyZXNzaW9uIGJ1Zy4gRm9yIDMyLWJp dCBzeXN0ZW0sDQo+ICDCoMKgwqAgdGhlIGZpcnN0IDQgYnl0ZXMgb2YgbWJ1ZiBpcyBidWZfYWRk ciwgd2l0aCBmb2xsb3dpbmcgOCBieXRlcyBmb3INCj4gIMKgwqDCoCBidWZfcGh5YWRkci4gV2l0 aCBiZWxvdyB3cm9uZyBkZWZpbml0aW9uLCBib3RoIGJ1Zl9hZGRyIGFuZCBsb3dlcg0KPiAgwqDC oMKgIDQgYnl0ZXMgYnVmX3BoeWFkZHIgYXJlIG9idGFpbmVkIHRvIGZpbGwgdGhlIHZpcnRxdWV1 ZSBkZXNjLg0KPiAgwqDCoMKgwqDCoCAjZGVmaW5lIFZJUlRJT19NQlVGX0FERFIobWIsIHZxKSBc DQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgqKHVpbnQ2NF90ICopKCh1aW50cHRyX3QpKG1i KSArICh2cSktPm9mZnNldCkpDQo+IA0KPiAgwqDCoMKgIEZpeGVzOiAyNWY4MGQxMDg3ODAgKCJu ZXQvdmlydGlvOiBmaXggcGFja2V0IGNvcnJ1cHRpb24iKQ0KPiAgwqDCoMKgIENjOiBzdGFibGVA ZHBkay5vcmcNCj4gDQo+ICDCoMKgwqAgU2lnbmVkLW9mZi1ieTogSmlhbmZlbmcgVGFuIDxqaWFu ZmVuZy50YW5AaW50ZWwuY29tPg0KPiAgwqDCoMKgIEFja2VkLWJ5OiBZdWFuaGFuIExpdSA8eXVh bmhhbi5saXVAbGludXguaW50ZWwuY29tPg0KPiANCj4gSWYgbXkgdW5kZXJzdGFuZGluZyBpcyBj b3JyZWN0LCBvbiAzMiBiaXRzLCB3aGVuIG1idWYtPmJ1Zl9hZGRyIGlzIHVzZWQNCj4gKFZpcnRp by11c2VyKSwgd2UgbmVlZCB0byBtYXNrIG91dCB0aGUgaGlnaGVyIDQgYnl0ZXMsIHdoaWxlIHdo ZW4gdXNpbmcNCj4gVmlydGlvLXBjaSB3ZSBuZWVkIHRoZSBmdWxsIDY0IGJpdHMgKGFzIHRoZSBw aHlzaWNhbCBhZGRyZXNzZXMgdXNlZCBhcw0KPiBJT1ZBIG9uIHRoZSBndWVzdCBhcmUgNjQgYml0 cykuDQoNCkkgcG9zdGVkIGEgZml4IGFpbWluZyBhdCBtYWtpbmcgaXQgd29yayBmb3IgYm90aCBW aXJ0aW8tdXNlciBhbmQgVmlydGlvLQ0KUENJIDMyIGJpdHMgYnVpbGRzIHdoaWxlIG5vdCBpbXBh Y3RpbmcgNjQgYml0cyBwZXJmb3JtYW5jZS4gQ291bGQgeW91DQpwbGVhc2UgaGF2ZSBhIHRyeSBh bmQgcmVwb3J0IGZlZWRiYWNrIGJ5IHJlcGx5aW5nIHRvIHRoZSBwYXRjaD8NCg0KUmVnYXJkcywN Ck1heGltZQ0KDQo+IFJlZ2FyZHMsDQo+IE1heGltZQ0KPiANCj4gT24gOS8xMy8yMyAxNToyNCwg Um9nZXIgTWVsdG9uIChybWVsdG9uKSB3cm90ZToNCj4+ICtDaHJpcyBCcmV6b3ZlYw0KPj4NCj4+ IEhpIE1heGltZSwNCj4+DQo+PiBDaHJpcyBmcm9tIG91ciB0ZWFtIGlzIGF0dGVuZGluZyB0aGUg RFBESyBTdW1taXQgaW4gRHVibGluIHRoaXMgd2Vlay4gDQo+PiBJZiB5b3UgaGF2ZSBzb21lIHRp bWUgYXZhaWxhYmxlLCB3ZSdkIGFwcHJlY2lhdGUgaXQgaWYgaGUgY291bGQgbWVldCANCj4+IHdp dGggeW91IHRvIGRpc2N1c3MgdGhlIDMyYml0IHZpcnRpbyBpc3N1ZSB3ZSBhcmUgc2VlaW5nLg0K Pj4NCj4+IFJlZ2FyZHMsDQo+PiBSb2dlciBNZWx0b24NCj4+DQo+PiBPbiA5LzYvMjMgMjo1NyBQ TSwgRGF2ZSBKb2huc29uIChkYXZlam8pIHdyb3RlOg0KPj4+DQo+Pj4gSGkgTWF4aW1lLA0KPj4+ DQo+Pj4gVGhpcyBlbWFpbCBpcyByZWdhcmRpbmcgdGhlIGZvbGxvd2luZyBjb21taXQ6DQo+Pj4N Cj4+PiBodHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2NvbW1pdC9iYTU1Yzk0YTdlYmMzODZk MjI4OGQ2NTc4ZWQ1N2FhZDZjYjkyNjU3DQo+Pj4NCj4+PiBBIHF1ZXJ5IGhhZCBiZWVuIHNlbnQg cHJldmlvdXNseSBvbiB0aGlzIHRvcGljIChzZWUgYmVsb3cpIGluZGljYXRpbmcgDQo+Pj4gdGhp cyBjb21taXQgYXBwZWFycyB0byBoYXZlIGJyb2tlbiB0aGUgMzItYml0IHRlc3RwbWQgYXBwIGFu ZCANCj4+PiBpbXBhY3RlZCBvbmUgb2Ygb3VyIHByb2R1Y3RzIHRoYXQgcnVucyBhcyBhIDMyLWJp dCBEUERLIGFwcGxpY2F0aW9uLiAgDQo+Pj4gV2UgY29uc2VxdWVudGx5IGJhY2tlZCB0aGUgY29t bWl0IG91dCBvZiBvdXIgcHJvZHVjdCBidXQgd291bGQgcHJlZmVyIA0KPj4+IHRvIGdldCBhIGZp eCBmb3IgaXQuwqAgSW4gdGhlIGVhcmxpZXIgZXhjaGFuZ2UsIHlvdSBoYWQgYXNrZWQgaWYgd2Ug DQo+Pj4gd2VyZSB1c2luZyB2aXJ0aW8tcGNpIG9yIHZpcnRpby11c2VyICh3ZSBhcmUgdXNpbmcg dmlydGlvLXBjaSkgYW5kIA0KPj4+IGFza2VkIGZvciBsb2dzIHdoaWNoIFNhbXBhdGggcHJvdmlk ZWQuwqAgSXTigJlzIGJlZW4gYSB3aGlsZSwgc28gbGV0IG1lIA0KPj4+IG5vdyBpZiB5b3UgbmVl ZCBtZSB0byBzZW5kIHJlc2VuZCB0aG9zZSBsb2dzIG9yIG5lZWQgYW55IG90aGVyIA0KPj4+IGlu Zm9ybWF0aW9uLg0KPj4+DQo+Pj4gRldJVywgSSByZXByb2R1Y2VkIHRoaXMgdXNpbmcgdGVzdHBt ZCBhbmQgbm90aWNlZCB0aGF0IHRoaXMgcGFydCBvZiANCj4+PiB0aGUgY2hhbmdlIHNlZW1zIHRv IGJlIHRoZSBpbnRlcmVzdGluZyBwYXJ0IChpbiANCj4+PiBkcml2ZXJzL25ldC92aXJ0aW8vdmly dHF1ZXVlLmgpOg0KPj4+DQo+Pj4gLyoqDQo+Pj4NCj4+PiAqIFJldHVybiB0aGUgSU9WQSAob3Ig dmlydHVhbCBhZGRyZXNzIGluIGNhc2Ugb2YgdmlydGlvLXVzZXIpIG9mIG1idWYNCj4+Pg0KPj4+ ICogZGF0YSBidWZmZXIuDQo+Pj4NCj4+PiAqDQo+Pj4NCj4+PiAqIFRoZSBhZGRyZXNzIGlzIGZp cnN0bHkgY2FzdGVkIHRvIHRoZSB3b3JkIHNpemUgKHNpemVvZih1aW50cHRyX3QpKQ0KPj4+DQo+ Pj4gKiBiZWZvcmUgY2FzdGluZyBpdCB0byB1aW50NjRfdC4gVGhpcyBpcyB0byBtYWtlIGl0IHdv cmsgd2l0aCBkaWZmZXJlbnQNCj4+Pg0KPj4+ICogY29tYmluYXRpb24gb2Ygd29yZCBzaXplICg2 NCBiaXQgYW5kIDMyIGJpdCkgYW5kIHZpcnRpbyBkZXZpY2UNCj4+Pg0KPj4+ICogKHZpcnRpby1w Y2kgYW5kIHZpcnRpby11c2VyKS4NCj4+Pg0KPj4+ICovDQo+Pj4NCj4+PiAjZGVmaW5lIFZJUlRJ T19NQlVGX0FERFIobWIsIHZxKSBcDQo+Pj4NCj4+PiDCoMKgwqDCoMKgICgodWludDY0X3QpKCoo dWludHB0cl90ICopKCh1aW50cHRyX3QpKG1iKSArIA0KPj4+ICh2cSktPm1idWZfYWRkcl9vZmZz ZXQpKQ0KPj4+DQo+Pj4gSWYgSSByZXZlcnQganVzdCB0aGlzIHBhcnQgb2YgdGhlIGNoYW5nZXNl dCAoYnkgcmUtdXNpbmcgdGhlIA0KPj4+IFZJUlRJT19NQlVGX0FERFIgdG8gcmV0dXJuIGJ1Zl9p b3ZhIHdoaWNoIG1hdGNoZXMgd2hhdCBpdCBoYWQgdXNlZCANCj4+PiBwcmV2aW91c2x5KSwgdGhl biAzMi1iaXQgdGVzdHBtZCBpcyBhYmxlIHRvIHJlY2VpdmUgdHJhZmZpYyBhZ2FpbjoNCj4+Pg0K Pj4+ICNkZWZpbmUgVklSVElPX01CVUZfQUREUihtYiwgdnEpIChtYi0+YnVmX2lvdmEpDQo+Pj4N Cj4+PiBMb29raW5nIGF0IHRoZSBhZGRyZXNzIHByb2R1Y2VkIGJ5IGVhY2ggb2YgdGhlc2UsIEkg c2VlIHRoZSBhZGRyZXNzIA0KPj4+IGlzIHRoZSBzYW1lIGV4Y2VwdCB0aGF0IHRoZSBjYXN0aW5n IHJlc3VsdHMgaW4gdGhlIHVwcGVyIGJpdHMgZ2V0dGluZyANCj4+PiBjbGVhcmVkOg0KPj4+DQo+ Pj4gQWRkcmVzcyBmcm9tIHBhdGNoIChub253b3JraW5nIGNhc2UpID0gMHg1OGU3YzkwMA0KPj4+ DQo+Pj4gQWRkcmVzcyB1c2luZyBidWZfaW92YSAod29ya2luZyBjYXNlKSA9IDB4MTU4ZTdjOTAw DQo+Pj4NCj4+PiA6Og0KPj4+DQo+Pj4gQWRkcmVzcyBmcm9tIHBhdGNoIChub253b3JraW5nIGNh c2UpID0gMHg1OGU3YmZjMA0KPj4+DQo+Pj4gQWRkcmVzcyB1c2luZyBidWZfaW92YSAod29ya2lu ZyBjYXNlKSA9IDB4MTU4ZTdiZmMwDQo+Pj4NCj4+PiA6Og0KPj4+DQo+Pj4gQWRkcmVzcyBmcm9t IHBhdGNoIChub253b3JraW5nIGNhc2UpID0gMHg1OGU3YjY4MA0KPj4+DQo+Pj4gQWRkcmVzcyB1 c2luZyBidWZfaW92YSAod29ya2luZyBjYXNlKSA9IDB4MTU4ZTdiNjgwDQo+Pj4NCj4+PiA6Og0K Pj4+DQo+Pj4gUmVnYXJkcywgRGF2ZQ0KPj4+DQo+Pj4gKkZyb206ICpTYW1wYXRoIFBlZWNodSAo c3BlZWNodSkgPHNwZWVjaHVAY2lzY28uY29tPg0KPj4+ICpEYXRlOiAqTW9uZGF5LCBKYW51YXJ5 IDMwLCAyMDIzIGF0IDM6MjkgUE0NCj4+PiAqVG86ICpNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5j b3F1ZWxpbkByZWRoYXQuY29tPiwgDQo+Pj4gY2hlbmJvLnhpYUBpbnRlbC5jb20gPGNoZW5iby54 aWFAaW50ZWwuY29tPiwgZGV2QGRwZGsub3JnIDxkZXZAZHBkay5vcmc+DQo+Pj4gKkNjOiAqUm9n ZXIgTWVsdG9uIChybWVsdG9uKSA8cm1lbHRvbkBjaXNjby5jb20+LCBNYWxjb2xtIEJ1bWdhcmRu ZXIgDQo+Pj4gKG1idW1nYXJkKSA8bWJ1bWdhcmRAY2lzY28uY29tPg0KPj4+ICpTdWJqZWN0OiAq UmU6IENvbW1pdCBicm9rZSAzMi1iaXQgdGVzdHBtZCBhcHANCj4+Pg0KPj4+IEhpIE1heGltZSwN Cj4+Pg0KPj4+IENvdWxkIHlvdSBwbGVhc2UgbGV0IHVzIGtub3cgaWYgeW91IGdvdCBhIGNoYW5j ZSB0byBsb29rIGF0IHRoZSANCj4+PiBkZWJ1Z3MgbG9ncyBJIHByb3ZpZGVkPw0KPj4+DQo+Pj4g VGhhbmtzLA0KPj4+DQo+Pj4gU2FtcGF0aA0KPj4+DQo+Pj4gKkZyb206ICpTYW1wYXRoIFBlZWNo dSAoc3BlZWNodSkgPHNwZWVjaHVAY2lzY28uY29tPg0KPj4+ICpEYXRlOiAqVHVlc2RheSwgRGVj ZW1iZXIgNiwgMjAyMiBhdCAxOjA4IFBNDQo+Pj4gKlRvOiAqTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4sIA0KPj4+IGNoZW5iby54aWFAaW50ZWwuY29tIDxjaGVu Ym8ueGlhQGludGVsLmNvbT4sIGRldkBkcGRrLm9yZyA8ZGV2QGRwZGsub3JnPg0KPj4+ICpDYzog KlJvZ2VyIE1lbHRvbiAocm1lbHRvbikgPHJtZWx0b25AY2lzY28uY29tPg0KPj4+ICpTdWJqZWN0 OiAqUmU6IENvbW1pdCBicm9rZSAzMi1iaXQgdGVzdHBtZCBhcHANCj4+Pg0KPj4+IEhpIE1heGlt ZSwNCj4+Pg0KPj4+IERpZCB5b3UgZ2V0IGEgY2hhbmNlIHRvIGxvb2sgaW50byB0aGlzPw0KPj4+ DQo+Pj4gUGxlYXNlIGxldCBtZSBrbm93IGlmIHlvdSBuZWVkIGFueXRoaW5nIGVsc2UuDQo+Pj4N Cj4+PiBUaGFua3MsDQo+Pj4NCj4+PiBTYW1wYXRoDQo+Pj4NCj4+PiAqRnJvbTogKlNhbXBhdGgg UGVlY2h1IChzcGVlY2h1KSA8c3BlZWNodUBjaXNjby5jb20+DQo+Pj4gKkRhdGU6ICpXZWRuZXNk YXksIE5vdmVtYmVyIDIzLCAyMDIyIGF0IDU6MTUgUE0NCj4+PiAqVG86ICpNYXhpbWUgQ29xdWVs aW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPiwgDQo+Pj4gY2hlbmJvLnhpYUBpbnRlbC5j b20gPGNoZW5iby54aWFAaW50ZWwuY29tPiwgZGV2QGRwZGsub3JnIDxkZXZAZHBkay5vcmc+DQo+ Pj4gKkNjOiAqUm9nZXIgTWVsdG9uIChybWVsdG9uKSA8cm1lbHRvbkBjaXNjby5jb20+DQo+Pj4g KlN1YmplY3Q6ICpSZTogQ29tbWl0IGJyb2tlIDMyLWJpdCB0ZXN0cG1kIGFwcA0KPj4+DQo+Pj4g SGkgTWF4aW1lLA0KPj4+DQo+Pj4gSeKAmW0gYXR0YWNoaW5nIHRoZSBmb2xsb3dpbmcgZm9yIHJl ZmVyZW5jZS4NCj4+Pg0KPj4+IMKgICogSW5zdHJ1Y3Rpb25zIGZvciBDZW50b3M4IHRlc3Qgc2V0 dXANCj4+PiDCoCAqIERpZmZzIGJldHdlZW4gdGhlIHdvcmtpbmcgYW5kIG5vbi13b3JraW5nIHZl cnNpb25zICh3b3JraW5nDQo+Pj4gwqDCoMKgIHZlcnNpb24gaGFzIHRoZSBwcm9ibGVtIGNvbW1p dCBiYWNrZWQgb3V0KQ0KPj4+IMKgICogV29ya2luZyBsb2dzIChzdGF0cyBzaG93IHRoYXQgcGlu ZyBwYWNrZXRzIGZyb20gbmVpZ2hib3IgVk0gY2FuIGJlDQo+Pj4gwqDCoMKgIHNlZW4gd2l0aCBi b3RoIDY0LWJpdCBhbmQgMzItYml0IGFwcHMpDQo+Pj4gwqAgKiBOb24td29ya2luZyBsb2dzIChz dGF0cyBzaG93IHRoYXQgcGluZyBwYWNrZXRzIGZyb20gbmVpZ2hib3IgVk0NCj4+PiDCoMKgwqAg YXJlIHNlZW4gd2l0aCA2NC1iaXQgYXBwIGJ1dCBOT1Qgc2VlbiB3aXRoIDMyLWJpdCBhcHApDQo+ Pj4NCj4+PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+Pj4NCj4+PiAkIHN1ZG8gLi91 c2VydG9vbHMvZHBkay1kZXZiaW5kLnB5IC0tc3RhdHVzDQo+Pj4NCj4+PiBOZXR3b3JrIGRldmlj ZXMgdXNpbmcgRFBESy1jb21wYXRpYmxlIGRyaXZlcg0KPj4+DQo+Pj4gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4+Pg0KPj4+IDAwMDA6MDc6MDAuMCAnVmly dGlvIG5ldHdvcmsgZGV2aWNlIDEwNDEnIGRydj1pZ2JfdWlvIHVudXNlZD0NCj4+Pg0KPj4+IDAw MDA6MDg6MDAuMCAnVmlydGlvIG5ldHdvcmsgZGV2aWNlIDEwNDEnIGRydj1pZ2JfdWlvIHVudXNl ZD0NCj4+Pg0KPj4+IE5ldHdvcmsgZGV2aWNlcyB1c2luZyBrZXJuZWwgZHJpdmVyDQo+Pj4NCj4+ PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4+DQo+Pj4gMDAwMDowMTow MC4wICdWaXJ0aW8gbmV0d29yayBkZXZpY2UgMTA0MScgaWY9ZW5wMXMwIGRydj12aXJ0aW8tcGNp IA0KPj4+IHVudXNlZD1pZ2JfdWlvICpBY3RpdmUqDQo+Pj4NCj4+PiDigKYNCj4+Pg0KPj4+ID09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4+DQo+Pj4gVGhhbmtzLA0KPj4+DQo+Pj4gU2Ft cGF0aA0KPj4+DQo+Pj4gKkZyb206ICpNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tPg0KPj4+ICpEYXRlOiAqVHVlc2RheSwgTm92ZW1iZXIgMjIsIDIwMjIgYXQgNDoy NCBBTQ0KPj4+ICpUbzogKlNhbXBhdGggUGVlY2h1IChzcGVlY2h1KSA8c3BlZWNodUBjaXNjby5j b20+LCANCj4+PiBjaGVuYm8ueGlhQGludGVsLmNvbSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+LCBk ZXZAZHBkay5vcmcgPGRldkBkcGRrLm9yZz4NCj4+PiAqQ2M6ICpSb2dlciBNZWx0b24gKHJtZWx0 b24pIDxybWVsdG9uQGNpc2NvLmNvbT4NCj4+PiAqU3ViamVjdDogKlJlOiBDb21taXQgYnJva2Ug MzItYml0IHRlc3RwbWQgYXBwDQo+Pj4NCj4+PiBIaSwNCj4+Pg0KPj4+IEluIG15IGluaXRpYWwg cmVwbHkgKHNlZSBiZWxvdyksIEkgYWxzbyBhc2tlZCBpZiB5b3UgaGFkIGxvZ3MgdG8gc2hhcmUu DQo+Pj4gQW5kIHdvbmRlcmVkIHdoZXRoZXIgaXQgaGFwcGVucyB3aXRoIFZpcnRpbyBQQ0kgb3Ig VmlydGlvLXVzZXI/DQo+Pj4NCj4+PiBSZWdhcmRzLA0KPj4+IE1heGltZQ0KPj4+DQo+Pj4gT24g MTEvMTYvMjIgMDA6MzAsIFNhbXBhdGggUGVlY2h1IChzcGVlY2h1KSB3cm90ZToNCj4+PiA+ICsr IGRldkBkcGRrLm9yZyA8bWFpbHRvOmRldkBkcGRrLm9yZyA8bWFpbHRvOmRldkBkcGRrLm9yZz4+ DQo+Pj4gPg0KPj4+ID4gKkZyb206ICpNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tPg0KPj4+ID4gKkRhdGU6ICpUdWVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMiBhdCAz OjE5IEFNDQo+Pj4gPiAqVG86ICpTYW1wYXRoIFBlZWNodSAoc3BlZWNodSkgPHNwZWVjaHVAY2lz Y28uY29tPiwgDQo+Pj4gY2hlbmJvLnhpYUBpbnRlbC5jb20NCj4+PiA+IDxjaGVuYm8ueGlhQGlu dGVsLmNvbT4NCj4+PiA+ICpDYzogKlJvZ2VyIE1lbHRvbiAocm1lbHRvbikgPHJtZWx0b25AY2lz Y28uY29tPg0KPj4+ID4gKlN1YmplY3Q6ICpSZTogQ29tbWl0IGJyb2tlIDMyLWJpdCB0ZXN0cG1k IGFwcA0KPj4+ID4NCj4+PiA+IEhpIFNhbXBhdGgsDQo+Pj4gPg0KPj4+ID4NCj4+PiA+IFBsZWFz ZSBhZGQgZGV2QGRwZGsub3JnLCB0aGUgdXBzdHJlYW0gbWFpbGluZyBsaXN0LCBpZiB0aGlzIGlz IHJlbGF0ZWQNCj4+PiA+IHRvIHRoZSB1cHN0cmVhbSBEUERLIHByb2plY3QuSWYgaXQgaXMgdXNp bmcgUkhFTCBEUERLIHBhY2thZ2UsIHBsZWFzZQ0KPj4+ID4gdXNlIHRoZSBhcHByb3ByaWF0ZSBz dXBwb3J0IGNoYW5uZWxzLg0KPj4+ID4NCj4+PiA+IE9uIDExLzE0LzIyIDIzOjU1LCBTYW1wYXRo IFBlZWNodSAoc3BlZWNodSkgd3JvdGU6DQo+Pj4gPsKgID4gSGkgVmlydGlvIE1haW50YWluZXJz IHRlYW0sDQo+Pj4gPsKgID4NCj4+PiA+wqAgPiBUaGlzIGVtYWlsIGlzIHJlZ2FyZGluZyB0aGUg Zm9sbG93aW5nIGNvbW1pdC4NCj4+PiA+wqAgPg0KPj4+ID7CoCA+DQo+Pj4gPiANCj4+PiBodHRw czovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2NvbW1pdC9iYTU1Yzk0YTdlYmMzODZkMjI4OGQ2NTc4 ZWQ1N2FhZDZjYjkyNjU3IDxodHRwczovL2dpdGh1Yi5jb20vRFBESy9kcGRrL2NvbW1pdC9iYTU1 Yzk0YTdlYmMzODZkMjI4OGQ2NTc4ZWQ1N2FhZDZjYjkyNjU3PiA8aHR0cHM6Ly9naXRodWIuY29t L0RQREsvZHBkay9jb21taXQvYmE1NWM5NGE3ZWJjMzg2ZDIyODhkNjU3OGVkNTdhYWQ2Y2I5MjY1 NyA8aHR0cHM6Ly9naXRodWIuY29tL0RQREsvZHBkay9jb21taXQvYmE1NWM5NGE3ZWJjMzg2ZDIy ODhkNjU3OGVkNTdhYWQ2Y2I5MjY1Nz4+DQo+Pj4gPsKgID4NCj4+PiA+wqAgPiBUaGUgYWJvdmUg Y29tbWl0IGFwcGVhcnMgdG8gaGF2ZSBicm9rZW4gdGhlIDMyLWJpdCB0ZXN0cG1kIGFwcCAoYW5k DQo+Pj4gPsKgID4gY29uc2VxdWVudGx5IGltcGFjdGVkIG9uZSBvZiBvdXIgcHJvZHVjdHMgdGhh dCBydW5zIGFzIGEgMzItYml0IA0KPj4+IERQREsNCj4+PiA+wqAgPiBhcHApLiBUaGUgNjQtYml0 IHRlc3RwbWQgYXBwIGRvZXMgbm90IGFwcGVhciB0byBiZSBpbXBhY3RlZCB0aG91Z2guDQo+Pj4g Pg0KPj4+ID4gV2UnbGwgbmVlZCBzb21lIGxvZ3MgdG8gdW5kZXJzdGFuZCB3aGF0IGlzIGdvaW5n IG9uLg0KPj4+ID4gRG9lcyBpdCBoYXBwZW4gd2l0aCB2aXJ0aW8tcGNpIG9yIHZpcnRpby11c2Vy Pw0KPj4+ID4NCj4+PiA+IFJlZ2FyZHMsDQo+Pj4gPiBNYXhpbWUNCj4+PiA+DQo+Pj4gPsKgID4g V2l0aCB0aGUgY29tbWl0IGluIHBsYWNlLCB3ZSBkaWRu4oCZdCBzZWUgYW55IHBhY2tldHMgZ29p bmcgDQo+Pj4gdGhyb3VnaCBhdA0KPj4+ID7CoCA+IGFsbC4gQWZ0ZXIgYmFja2luZyBvdXQgdGhl IGNvbW1pdCBhbmQgcmVidWlsZGluZyB0aGUgMzItYml0IA0KPj4+IHRlc3RwbWQgYXBwDQo+Pj4g PsKgID4gaW4gb3VyIHRlc3Qgc2V0dXAsIHdlIHdlcmUgYWJsZSB0byBwYXNzIHRyYWZmaWMgYXMg ZXhwZWN0ZWQuDQo+Pj4gPsKgID4NCj4+PiA+wqAgPiBDb3VsZCB5b3UgcGxlYXNlIGxldCB1cyBr bm93IGlmIHRoaXMgaXMgYSBrbm93biBpc3N1ZT8gQW5kIGlmIA0KPj4+IHRoZXJlIGlzIGENCj4+ PiA+wqAgPiBmaXggYXZhaWxhYmxlIGZvciBpdD8NCj4+PiA+wqAgPg0KPj4+ID7CoCA+IFRoYW5r IHlvdSwNCj4+PiA+wqAgPg0KPj4+ID7CoCA+IFNhbXBhdGggUGVlY2h1DQo+Pj4gPsKgID4NCj4+ PiA+wqAgPiBDaXNjbyBTeXN0ZW1zDQo+Pj4gPsKgID4NCj4+PiA+DQo+Pj4NCj4+DQoNCg== --_004_CY8PR11MB7898D4C4B1584D3966EFE1B0D0952CY8PR11MB7898namp_--