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 C99E341B9F; Wed, 1 Feb 2023 14:55:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE9104021F; Wed, 1 Feb 2023 14:55:07 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 01CEF4021D for ; Wed, 1 Feb 2023 14:55:05 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3116LPb5023920 for ; Wed, 1 Feb 2023 05:55:05 -0800 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3nfjr8schf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 01 Feb 2023 05:54:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CcvC1ypu71Ry9TawYfHGXz1wR5qqvAaa1S+4q8Yiq6fa8ECE/8TJ0gZT58PWEBiQCn+vuwnuLp1lZ5Ik+9SQjPubLrUl/uEfKR1yp2+CXkfarJxPx4DnFIjbgPIhlylvtYOJ0JMc7XXB4BbqlYxivCtwX+ewivqoF+z66/CmH+nEBzLEdIuKItI7XxPvyZW+sJsCMeP34EUmOzvKqsnyCCtgBPsP5LgDZSGiyhxMjXi0KBlrMDBufWtvaXGtNoXZYNYrhDMZomWOyvlFYjPo33uSGxtGJ1UUMMp8Ki++3KIn4nfaxZYX7oMpZa5UlDApcrVb/6S3T5HeNoqRC0oK5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ewzldDhQZgPu1snx7kpXtU6OV6GS8GWQKqHUBxHzpFM=; b=hdWbceOPsQmZ655+cBbh4GkyJqaZqYIvpF07wYaFFBhrvjJtDssnN9LIEQ2FaQx3oe0OJJ+P1wu+cJggfe8eFbzpgGldXpADAv1psmTMNGBXY6MyWFT3u7KGjTjNouXc7fTZAEBih5YumTvhGS/PQRgVXk+CIMoxt38SrxaxqhXS8Ydvw6E0YITQroWREflmuJSI2jEm7prk+GDghOE5rB3+BPwrG8tg7wg6S0U356EkNWgyY3k7kn3U4RnPXIZNzpI8F2ADGBvtST08RAXDZiozi6RJIqNoy1IsGbdCEmlqgMkU4U2O4R35DxWD8I247CWwiad2gAqyEp7LtZ5OzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ewzldDhQZgPu1snx7kpXtU6OV6GS8GWQKqHUBxHzpFM=; b=qdPxV3j+rvNhb1FWUNwNEaTS4b9F4l8atL7KQkXpqIw+ZMK5WemET/9aR+pCv+p0cbYIelZqHEMkqmQ+LU/5KzsBRiaAtooCyjxjY86j1/bYbq+sPF1a8CKCts2XGZHg/CFQRJtsDLUYdZYrm32f+on4xatO4eDJnJ0UQwaZliE= Received: from BL0PR18MB3748.namprd18.prod.outlook.com (2603:10b6:208:36::16) by MN2PR18MB3528.namprd18.prod.outlook.com (2603:10b6:208:26e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Wed, 1 Feb 2023 13:54:52 +0000 Received: from BL0PR18MB3748.namprd18.prod.outlook.com ([fe80::e077:3804:c9cd:7704]) by BL0PR18MB3748.namprd18.prod.outlook.com ([fe80::e077:3804:c9cd:7704%7]) with mapi id 15.20.5944.013; Wed, 1 Feb 2023 13:54:52 +0000 Content-Type: multipart/mixed; boundary="_000_BL0PR18MB37481BDC8D5E1BD36BC455B5A5D19BL0PR18MB3748namp_" From: Anup Prabhu To: Srikanth Yalavarthi , Srikanth Yalavarthi CC: "dev@dpdk.org" , Shivah Shankar Shankar Narayan Rao , Jerin Jacob Kollanukkaran , Prince Takkar , Parijat Shukla Subject: RE: [PATCH v4 1/4] mldev: add headers for internal ML functions Thread-Topic: [PATCH v4 1/4] mldev: add headers for internal ML functions Thread-Index: AQHZNhxHM+oJ6i9J50WzMCIJaW0F7666HOsg Date: Wed, 1 Feb 2023 13:54:52 +0000 Message-ID: References: <20221208193532.16718-1-syalavarthi@marvell.com> <20230201090454.14649-1-syalavarthi@marvell.com> <20230201090454.14649-2-syalavarthi@marvell.com> In-Reply-To: <20230201090454.14649-2-syalavarthi@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYXByYWJodVxh?= =?us-ascii?Q?cHBkYXRhXHJvYW1pbmdcMDlkODQ5YjYtMzJkMy00YTQwLTg1ZWUtNmI4NGJh?= =?us-ascii?Q?MjllMzViXG1zZ3NcbXNnLWZlNjRiNDhlLWEyMzctMTFlZC1iNzJjLWY0N2Iw?= =?us-ascii?Q?OTdlNGFiOFxhbWUtdGVzdFxmZTY0YjQ4Zi1hMjM3LTExZWQtYjcyYy1mNDdi?= =?us-ascii?Q?MDk3ZTRhYjhib2R5LnR4dCIgc3o9IjEyMDA1IiB0PSIxMzMxOTczMzI5MDQ2?= =?us-ascii?Q?MjUxODAiIGg9InRaVjhUSXplaVBiMG9rVGxweGYya0h3K28yTT0iIGlkPSIi?= =?us-ascii?Q?IGJsPSIwIiBibz0iMSIgY2k9ImNBQUFBRVJIVTFSU1JVRk5DZ1VBQU5nSEFB?= =?us-ascii?Q?QWNSTS9BUkRiWkFiYlJHaEwxN3NaaXR0RWFFdlh1eG1JTUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFIQUFBQUJvQndBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFFQUFRQUJBQUFBM1R6RkFBQUFBQUFBQUFBQUFBQUFBSjRBQUFCaEFHUUFa?= =?us-ascii?Q?QUJ5QUdVQWN3QnpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR01BZFFCekFIUUFid0J0QUY4QWNB?= =?us-ascii?Q?QmxBSElBY3dCdkFHNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FB?= =?us-ascii?Q?QUFBQUNlQUFBQVl3QjFBSE1BZEFCdkFHMEFYd0J3QUdnQWJ3QnVBR1VBYmdC?= =?us-ascii?Q?MUFHMEFZZ0JsQUhJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUNBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhV?= =?us-ascii?Q?QWN3QjBBRzhBYlFCZkFITUFjd0J1QUY4QVpBQmhBSE1BYUFCZkFIWUFNQUF5?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?TUFkUUJ6QUhRQWJ3QnRBRjhBY3dCekFHNEFYd0JyQUdVQWVRQjNBRzhBY2dC?= =?us-ascii?Q?a0FITUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWXdCMUFITUFkQUJ2QUcw?= =?us-ascii?Q?QVh3QnpBSE1BYmdCZkFHNEFid0JrQUdVQWJBQnBBRzBBYVFCMEFHVUFjZ0Jm?= =?us-ascii?Q?QUhZQU1BQXlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFB?= =?us-ascii?Q?QUFBSUFBQUFBQUo0QUFBQmpBSFVBY3dCMEFHOEFiUUJmQUhNQWN3QnVBRjhB?= =?us-ascii?Q?Y3dCd0FHRUFZd0JsQUY4QWRnQXdBRElBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FB?= =?us-ascii?Q?QUdRQWJBQndBRjhBY3dCckFIa0FjQUJsQUY4QVl3Qm9BR0VBZEFCZkFHMEFa?= =?us-ascii?Q?UUJ6QUhNQVlRQm5BR1VBWHdCMkFEQUFNZ0FBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFaQUJzQUhBQVh3QnpB?= =?us-ascii?Q?R3dBWVFCakFHc0FYd0JqQUdnQVlRQjBBRjhBYlFCbEFITUFjd0JoQUdjQVpR?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCa0FHd0FjQUJmQUhRQVpRQmhBRzBBY3dCZkFHOEFiZ0JsQUdRQWNnQnBBSFlBWlFCZkFHWUFhUUJzQUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR1VBYlFCaEFHa0FiQUJmQUdFQVpBQmtBSElBWlFCekFITUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhRQVpRQnlBRzBBYVFCdUFIVUFjd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFBPT0iLz48L21ldGE+ x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL0PR18MB3748:EE_|MN2PR18MB3528:EE_ x-ms-office365-filtering-correlation-id: 49c628d0-9e11-4fbf-eda5-08db045be47c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4n43iIzTm/zNuqquRw2geUQ0UNOpY9T/+EfoFQES3lkmtg9ClYiq9P9ezGaGUgtCUQY9IBMSr6u5UQCbR7q0/0KAuZ1NPxIeIq7EWQ63hNMT6+T8MFiRLgwzqq0dqIZFwuGeAoFJBm54/iRarD1PjmCkzmdPbAPwKJHoRaz/8Y42o7FA20eMcR4U0N658UEKY4bJU9312bX2KQ6r+I25nCX26Mwjj+akkxcQdlM47rExtQ07MaI3jPSROYNzC8HTVMibMztS6p0KCrR2Y0arA6HvfjWcGNKG6aTGsFARe5umpPiOI8BWvbHFEmnpaeFOhRRFWjIKNs4ZT8kWRN5k8iU1Dgvy3GaPXOsyX+xVUSBwVe/9ZHSBk2htJ4MXFlzpu7NWBduC9gHEkv2iW1GhV4D2ghOHENenlNYEbKvSebitDWaYhT3lSJutBoUsK+qv9L7SPDmggK9u65/bO3Qj58F1m0YnwhzzxNziFqQHNFMSF03rSwIlo3C4IRqYYfOPdSUed5vUy4N7RQxselIPOamJDBPdUjpaxdnK3+2p8EkZof8irZPXAizn26WHxAAuHH4BmTbX+lyh+R/5qgqNYJkKbltov28PKCd5FPdYFE0AV9m+eUTcxFerH6ChF7P4bdxra+P5qVt2MDbShhf2S/sTRi8uVQP5Y1YZ6uW3gYcK8Mcsu7gZeDH7z+wbnA/K x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR18MB3748.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(376002)(39860400002)(396003)(366004)(136003)(346002)(451199018)(71200400001)(478600001)(66476007)(66446008)(64756008)(66556008)(7696005)(55016003)(86362001)(4326008)(76116006)(41300700001)(8676002)(8936002)(66946007)(83380400001)(2906002)(26005)(6636002)(186003)(9686003)(107886003)(122000001)(38070700005)(38100700002)(5660300002)(30864003)(53546011)(6506007)(33656002)(54906003)(110136005)(52536014)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?zBstpZVmexvNoYVzcpSQPGWPBG5XvTq+KXOIIMZfdVkO/pUAAsfU0eNaLSgS?= =?us-ascii?Q?i1VXPdpfEUOwgnrfbSLsLrbfm0wSeWjvsuasWxy6UuKV4quSCmabFAjpWCXT?= =?us-ascii?Q?Py5UoZnjMdV4g1CXjByRVcHDNR0+zzkeXNmMRRwlcRo14GbLZ1Yebblqhqkp?= =?us-ascii?Q?G9UQ9srM156FLt3KRJCGXmBwmHC4qM5vgyCVN2yWJSNxuk3U0fKSvf8eS9hi?= =?us-ascii?Q?UMm4eL6VDpQXerPnHKZEezDi6GbPjhgObgax7jWjwINdP9a5jnFY0ejt4DSk?= =?us-ascii?Q?w5fPUOWpr743m74Z0iJoAbKsjxOWG/pWY+EP9InHES2XBgx2ITo7pGL5Kzuz?= =?us-ascii?Q?+5Np9Cu/oSBi+1fq5/Nm3yoxc/jhhhSF6IekdekNh0pyzfz+9Tcin7PqHzaO?= =?us-ascii?Q?MFfw3zv7jQV/MVdzE9TOk2znhydQsFHTREASkv7QmeIxuD/DkVnWdd5+kJkC?= =?us-ascii?Q?weqAG9shPCiJK+UYCbujYSTFcNTUjVGFw6zd01Q4ZQZOOsYMbCpgJ4c3EMKv?= =?us-ascii?Q?0wBSkik+aa89VQ6vU+3jlCT5xwldDA1nSgSJHy4IwvkrRMyINt6hBPuTPpOY?= =?us-ascii?Q?rUVACSm8bukP0n6lZC4rxe0xgAO+CsV4CiZi3iHYrpEi5C2SVsMQ8XR+ggOB?= =?us-ascii?Q?kxoAw7YHLzx48OMYPlYOt1NNQJ2v6czaj+6QCNQOEjtyUw+bTTc5Yiob0hzs?= =?us-ascii?Q?xH2I4hPtlc9jZ/oh1E+9jD+WjgGhBkwzJBsfXFoQSZX9INeyQzeoV7LuRq3g?= =?us-ascii?Q?iRZ657TojiUGXbr2dL0EhCmk62qz7cr1780UxaRTisOPh7MMn/ituECN/HPF?= =?us-ascii?Q?g4dWjjUJDLHscYOEJv+ffznwOBmSrYd1NCBhmkFDt1jVxvP0deMOFM0NVDO3?= =?us-ascii?Q?GE4rUwvmJMbGD1VvmIEylv8Rf68ys71OJlQuAfrAmtw8f747PxiAKKSYhxsY?= =?us-ascii?Q?bqCK2xYYDS0YbBVa6+438l3EqeaLs6b5LzGGCMgZXvFJT8A+bqCmYHdhc16V?= =?us-ascii?Q?HqOheQ26TGOqx9oFd+24RvmRx29w+E3rn2a5aIrp7v3CwHTua26o/YaBlbSR?= =?us-ascii?Q?a+VBZ1ez7Qy/erlo23geESOY4JmyNKRJ3ADfLFdtxmrjQyrz8WjNhhbUr11q?= =?us-ascii?Q?mQOXzWjqNw6Iti/3CT7GuchwjW56Qkt72aCfBVSO4xUrhvOvsA9QGnCxi3P/?= =?us-ascii?Q?e2j/8lq5VWkB0VQE5sTx8FGonKAgTTz0WK1hxx0s87muxEv37v7E5dC0U32U?= =?us-ascii?Q?EeWuTQ3JBJpGbpt2hvfKvBAuQ0VZJfApsDGVpnaicj8YXQHwI98ePYtKTS/K?= =?us-ascii?Q?4N97sLBV2AW3HRwvhRN7GGFbly/7p1WUp/17Tob/8XtxqrV0FW5zEH1qLlVO?= =?us-ascii?Q?eZuyBuskOFAX3ChrojxXCu0p/a2amy3EuAQvNES3wXuiklmUBUQ4IlHlyp16?= =?us-ascii?Q?QDyjPXn4wmbQbYkcVaWtL/lmK5+/si/5RHiBEpsGKk+GuiFx/xyt1reLxmej?= =?us-ascii?Q?ey2vC5bS6BO5jUMB13gtpFJjmkw2gntD3exyaERjLMrXZPL1meDlsvl24ccL?= =?us-ascii?Q?UJQnQGjDWMgvkA6VA5dKTW0itBV5Et0Lskb2CO0H?= MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR18MB3748.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49c628d0-9e11-4fbf-eda5-08db045be47c X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 13:54:52.4359 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LuNqTn7ABjZuA097YFwg0lazewI6puyQ3o9aazPcxnaw7peVc6VA4dSL70drK24/Wl5WPiro2AE/HtGHwdcH6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3528 X-Proofpoint-GUID: sd7TF9V-A4_1sYYH-aPV2YrBUXdlLtgu X-Proofpoint-ORIG-GUID: sd7TF9V-A4_1sYYH-aPV2YrBUXdlLtgu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-02-01_04,2023-01-31_01,2022-06-22_01 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_BL0PR18MB37481BDC8D5E1BD36BC455B5A5D19BL0PR18MB3748namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable -----Original Message----- From: Srikanth Yalavarthi =20 Sent: Wednesday, February 1, 2023 2:35 PM To: Srikanth Yalavarthi Cc: dev@dpdk.org; Shivah Shankar Shankar Narayan Rao ; Jerin Jacob Kollanukkaran ; Anup Prabhu Subject: [PATCH v4 1/4] mldev: add headers for internal ML functions Added header files for internal ML utility routines to convert IO type and = format to string, IO type to size and routines to convert data types. Signed-off-by: Srikanth Yalavarthi --- lib/mldev/meson.build | 2 + lib/mldev/mldev_utils.c | 5 + lib/mldev/mldev_utils.h | 345 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 352 insertions(+) create mode 100644 lib/mldev/mldev_utils.c create mode 100644 lib/mldev/m= ldev_utils.h Acked-by: Anup Prabhu diff --git a/lib/mldev/meson.build b/lib/mldev/meson.build index 5c99532c1a= ..452b83a480 100644 --- a/lib/mldev/meson.build +++ b/lib/mldev/meson.build @@ -4,6 +4,7 @@ sources =3D files( 'rte_mldev_pmd.c', 'rte_mldev.c', + 'mldev_utils.c', ) =20 headers =3D files( @@ -16,6 +17,7 @@ indirect_headers +=3D files( =20 driver_sdk_headers +=3D files( 'rte_mldev_pmd.h', + 'mldev_utils.h', ) =20 deps +=3D ['mempool'] diff --git a/lib/mldev/mldev_utils.c b/lib/mldev/mldev_utils.c new file mod= e 100644 index 0000000000..9dbbf013a0 --- /dev/null +++ b/lib/mldev/mldev_utils.c @@ -0,0 +1,5 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2022 Marvell. + */ + +#include "mldev_utils.h" diff --git a/lib/mldev/mldev_utils.h b/lib/mldev/mldev_utils.h new file mod= e 100644 index 0000000000..04cdaab567 --- /dev/null +++ b/lib/mldev/mldev_utils.h @@ -0,0 +1,345 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2022 Marvell. + */ + +#ifndef _RTE_MLDEV_UTILS_H_ +#define _RTE_MLDEV_UTILS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file + * + * RTE ML Device PMD utility API + * + * These APIs for the use from ML drivers, user applications shouldn't use= them. + * + */ + +#include +#include + +/** + * @internal + * + * Get the size an ML IO type in bytes. + * + * @param[in] type + * Enumeration of ML IO data type. + * + * @return + * - > 0, Size of the data type in bytes. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_type_size_get(enum rte_ml_io_type type); + +/** + * @internal + * + * Get the name of an ML IO type. + * + * @param[in] type + * Enumeration of ML IO data type. + * @param[in] str + * Address of character array. + * @param[in] len + * Length of character array. + */ +__rte_internal +void +rte_ml_io_type_to_str(enum rte_ml_io_type type, char *str, int len); + +/** + * @internal + * + * Get the name of an ML IO format. + * + * @param[in] type + * Enumeration of ML IO format. + * @param[in] str + * Address of character array. + * @param[in] len + * Length of character array. + */ +__rte_internal +void +rte_ml_io_format_to_str(enum rte_ml_io_format format, char *str, int=20 +len); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to signed 8-bit + * integer format (INT8). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements * 4) bytes. + * @param[out] output + * Output buffer to store INT8 numbers. Size of buffer is equal to (nb_ele= ments * 1) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_int8(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in signed 8-bit integer format=20 +(INT8) to single precision + * floating format (float32). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing INT8 numbers. Size of buffer is equal to (nb_el= ements * 1) bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_int8_to_float32(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to unsigned + * 8-bit integer format (UINT8). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements * 4) bytes. + * @param[out] output + * Output buffer to store UINT8 numbers. Size of buffer is equal to (nb_el= ements * 1) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_uint8(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in unsigned 8-bit integer format=20 +(UINT8) to single precision + * floating format (float32). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing UINT8 numbers. Size of buffer is equal to (nb_e= lements * 1) bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_uint8_to_float32(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to signed + * 16-bit integer format (INT16). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements * 4) bytes. + * @param[out] output + * Output buffer to store INT16 numbers. Size of buffer is equal to (nb_el= ements * 2) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_int16(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in signed 16-bit integer format=20 +(INT16) to single precision + * floating format (float32). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing INT16 numbers. Size of buffer is equal to (nb_e= lements * 2) bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_int16_to_float32(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to unsigned + * 16-bit integer format (UINT16). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements * 4) bytes. + * @param[out] output + * Output buffer to store UINT16 numbers. Size of buffer is equal to (nb_e= lements * 2) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_uint16(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in unsigned 16-bit integer=20 +format (UINT16) to single + * precision floating format (float32). + * + * @param[in] scale + * Scale factor for conversion. + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing UINT16 numbers. Size of buffer is equal to (nb_= elements * 2) bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_uint16_to_float32(float scale, uint64_t nb_elements, void=20 +*input, void *output); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to half + * precision floating point format (FP16). + * + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements *4) bytes. + * @param[out] output + * Output buffer to store float16 numbers. Size of buffer is equal to (nb_= elements * 2) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_float16(uint64_t nb_elements, void *input, void=20 +*output); + +/** + * @internal + * + * Convert a buffer containing numbers in half precision floating=20 +format (FP16) to single precision + * floating point format (float32). + * + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float16 numbers. Size of buffer is equal to (nb= _elements * 2) bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float16_to_float32(uint64_t nb_elements, void *input, void=20 +*output); + +/** + * @internal + * + * Convert a buffer containing numbers in single precision floating=20 +format (float32) to brain + * floating point format (bfloat16). + * + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing float32 numbers. Size of buffer is equal to (nb= _elements *4) bytes. + * @param[out] output + * Output buffer to store bfloat16 numbers. Size of buffer is equal to (nb= _elements * 2) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_float32_to_bfloat16(uint64_t nb_elements, void *input, void=20 +*output); + +/** + * @internal + * + * Convert a buffer containing numbers in brain floating point format=20 +(bfloat16) to single precision + * floating point format (float32). + * + * @param[in] nb_elements + * Number of elements in the buffer. + * @param[in] input + * Input buffer containing bfloat16 numbers. Size of buffer is equal to (n= b_elements * 2) + * bytes. + * @param[out] output + * Output buffer to store float32 numbers. Size of buffer is equal to (nb_= elements * 4) bytes. + * + * @return + * - 0, Success. + * - < 0, Error code on failure. + */ +__rte_internal +int +rte_ml_io_bfloat16_to_float32(uint64_t nb_elements, void *input, void=20 +*output); + +#ifdef __cplusplus +} +#endif + +#endif /* _RTE_MLDEV_UTILS_H_ */ -- 2.17.1 --_000_BL0PR18MB37481BDC8D5E1BD36BC455B5A5D19BL0PR18MB3748namp_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+Iu43AQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAADM3Q0YwMkI4 NzI1MUY1NDk5QTRFNDBEMDYxODIyMzAwAOcGAQ2ABAACAAAAAgACAAEFgAMADgAAAOcHAgABAA0A NgA0AAMAawEBIIADAA4AAADnBwIAAQANADYANAADAGsBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABAEAAAABSRTogW1BBVENIIHY0IDEvNF0gbWxkZXY6IGFkZCBoZWFkZXJz IGZvciBpbnRlcm5hbCBNTCBmdW5jdGlvbnMA5BQBA5AGAIhgAABtAAAAAgF/AAEAAABRAAAAPEJM MFBSMThNQjM3NDgxQkRDOEQ1RTFCRDM2QkM0NTVCNUE1RDE5QEJMMFBSMThNQjM3NDgubmFtcHJk MTgucHJvZC5vdXRsb29rLmNvbT4AAAAACwAfDgAAAAACAQkQAQAAAHsNAAB3DQAAPjkAAExaRnUT zeRhYQAKZmJpZAQAAGNjwHBnMTI1MgD+A0PwdGV4dAH3AqQD4wIABGNoCsBzZXQwIO8HbQKDAFAR TTIKgAa0AoCWfQqACMg7CWIxOQ7AvwnDFnIKMhZxAoAVYioJsHMJ8ASQYXQFsg5QA2Bzom8BgCBF eBHBbhgwXQZSdgSQF7YCEHIAwHR9CFBuGjEQIAXABaAbZGSaIANSIBAiF7JcdgiQ5HdrC4BkNR1T BPAHQA0XcDAKcRfyYmttawZzAZAAICBCTV9C4EVHSU59CvwB8QvwtQ7AbAuAZQqBIaQtInJ6TwUQ ZwuAB0AF0AeQc65hGDAicyGVRgNhOgYAhQUQawBwdGggWQdABGF2H4FoaSA8cxp5JYdAAMAaIWxs LvkFoG0+AzAhpAZgAjAkwAZXCYAYUHNkYXksQCBGZWJydQrAeUwgMSkgAdAyMynwOiAzNSBQTSGV VG/PJM8l3ybrIZVDYytQAQCAdkBkcGRrLgWw/Gc7BgAsgCxAK+Av0ABwdyugBcAwRk4KwCkAA5FS 9GFvLKFzMFQjEBhwJustL7BKBnEDoEoA0G9ijCBLBvALYG51azCBqQORPGoz0moy3UE00EZwKpAY cGJodSygYU5wNyMtfygCdWI1cGMBKGFbUEFUQ0ggBHY0KcAvNF0gbSZsLvErUGFkHGBoZe87MASQ BCAa4SALgBuhIxPSTBxwdW45kGkCIA4A/SGrQTtAHFE7dBxwAxAHke07/nU9MCGgdCmwA2BAkY8o wRzAMeAb5SBJTxzA/HlwGeAAcBxhGvNBkh9gnTPhZykgQlZDgml6QrSfQR8fkSjwAZBCc3MuIZwm UyLgGFBkLRkwZi18YnkrXyxvOA8iRCGVIHkhoGIvOsNNUAeQAiAuXGJ1AxAcYE5wfE5xMmwgK0yv TVRfQJJHQGM/TpMqgE8PUBxJoE6gMzT/UVFT71T/VVNRhiowPzQZlP5kKSAqcE7gC4ASAAAgPUL4 KCspUYYFADuAECA6sOcEcSnAHqA2NDpQUg9Qpc9Zf1qPUuc9jWNrSIFI8t82zzffIasN4AEgICJw IvD5BUBhL00vTjNkQGQvTjMHHbEQMFFAYzk5NTNAMmMxYS4uU7AywGI4M2E0OBIwXQR/Ighj/04F IZVVUWV/auxAYkBjkDQsNlFgbiA3XiBt4FGGGSAIcGMHkT2tPyQoUYZwxicbkV9QNMhwbWQnYCcs cF9xZ/9yOWvgcwZQO3JYWPdRhjt2k2/dbeIxNm4yMTdug61m8mkJcDmQXzt2K2/erVGGZAUQGjFf KOBrev/7cE9xXWh0P3VMgMh2zy7hCnB+I1t1UGVtcG/5BvAnXWLvadxQS2wLUEv/GFAH4D8yXKtn BB6gi8ZoANA5ZGJiATAxaHABQP1pSC9NgjTQJ0BrX4jfJ2DZbXkwLBIweeAsKoButwgrLyoGAFBE WC3OTA5QCfASAC1JAQACMAcGkAiRSRBCU0QtM/QtQwtgdRIAgPeSkAhQFHB5ItFoBUAoYynbKfJO 4E0nBZUIL45mjmZaIwuAYwpAXNEiUqsi/4W/hs9S6I8fUveKH4svjDMYMDRjKPABoDU2N/+NL44/ nY9empEZU6KR75L/f5QPlR+WL5c/mE0C8AEBICBfUlRFXzzAREUAVl9VVElMU1/8SF+YlwEBIbGu j6+ZrZntrlNfDmAKQHOzkqNGEDHxBJIiQyIDMAAAmKYJ8N+bAbH+p4AYEKoYQD8yqgh3qgmw0Tyy RC8AqBEqkUSxQIdBUEm4f6pyVDtw/xIAu1I/dEmQGeCp0Rx0PMH9fRRzKSCp0QXAYTALUA5QNxiA PUJDoGgIYDrQbif3BUC+Er3RbaxZrG+Yfxng7jxxYidxCrB0U1AuNsP9f3PExVi2z7fUPDbBv6py R/8SEL3DROU8skJWM/FI8BAgi0dHuOxACrFhbVsLgP86oEKCzVkBkRlgNNAHgBhx/T1BIBkwzAVG t81Pt9QJcP50CHALkM+sacAnoJFQBgC/RPLRQb3SRrfMv9SoPNVSvEVyA2AbwlzR0RFmC3D/CkAJ cKxfo5GzYHFiyU48MeejRnFk28BvX0KCfXBE8fJfGDB0KAnw0KBFYN2b/UJzKRYgx2/If8mPyp4j EP8HgNEyy+vSb85fz2/Qf9GP/+cP6BFDseiNPmEJcAQR6jH/EcIA0BuiCsAxYetf5+QecPXULkwJ 8GdJke5v73ra7/nivHZvDdDdD94UGJB9cP9DwN7/4AYpIBHCqoBDsSkg/zwx8OLgj+Gf4q/jv+TP QmD/GuTmP+dP6F/pbwBPAf/sz//t3/MP7//xD/IfCZ/0P/VP//Zf3eIa5PfvEdpDBfnvo0b/+v/8 D/0fuOyqsEH0RuBOIP9IwD8BQdEfcDPwQ+Ge4ARQ/mI7sjPxy5BXkJ9RYUA5gOZpy5DZkmxvwBEc AaNGfUMVKB3zZ7CrcESzSGIg/jhI4GPQqgk8Mt7APxEfFeBJTlQ4KQD/Bl/AAPu4Wn9EUyUi2bE5 kNkRO/KPQdQdogofAqRuYl+sIO+FMKihtAcDxU4cQ+oiKba/1uK90hsUKB8CpDPwcECQfQNNSS6i Gw8cEB+FHCYuz9WHMDUdkCuwcXU8kUGh9igpiaqBNKtw1y4CRkWB5zqgRYEuvyBPNxMwJkOD/9kQ sKAisjHPMt8z75/ANR/P0w/UH2nA1WJ1Y2+R12//2H/Zjw6fD6/cvxOlMWQSkv0YoTgfdCUEv0EY oV0w3hBvKXrVcBDSFdcqLpNLBSr/NwQWnxevGL8ZzxrfG+8gWf8hrqNGIqQgBB0Mqgkd9x8O/z3P JB8lLyY/J09ajylvKn//K48sny2vNz8vz1JWOc863/877zz/Nc823zfvOPsxX2jf/2nvNI9Zvz7v P/9BD0IfQy//RD9FT0Zf3ZdIohKSH4VI7/9J/0sPTB9NL04/T09QX1Fv31J/HO8d/x8PcsF1wFAg U/dcCVP/ImNVIr9sH1t/XI//XZ9er1+/YM9h32Lvlb9lD/9mHzCPcH9xj3Kfc69sT21f/25vOQqQ E58/oE+hX2tvdO//df93D3gfeS96P3tPfF99b/9H24BiSN+Aj4Gfgq+Dv4TP/4Xfhu+H/4kPjXeO r1T8kBT/Vi9XP1hPWV+jH5JPk1+Ub/+Vf5aPl5+Yr5m/zK+b35zv/7+bpz+oT6lfqm+jL6Q/pU// b1+e/9bf1++iL8evrJ+tr/+uv6/PsN+x77L/tA+1FLYj/37ftt+377j/ug+7H7wvvT9/vk/Ur4l/ io+Lnx9vjdwx/jbBvyJ1/HDHX9HvyX/Kj//Ln/8fzb/Oz8/f0O/R/9MP/9Qfnj/ej9+f4K/hv9pf 22+/3H85SfxwDQ8OHw8vIB/h/+Hv4v/lz+Uf5i/nP+hP6V//6m+0j0ga/HDtb+5/74/wn//xr/K/ 88/03/Xv9v/BNfx//1T//hHD78T/xg/HHxDvAB//AS8CPwNPBF8FbwZ/B486b/8Jrwq/Zy4VPxZP F18YbxEv/xI/E0/dXwz/RM9F3xAvGY//Gp8brxy/Hc8e3x/vIP8iD/9+ZC9Q7L8kryW/Js8n3yjv /yn/Kw8sH0Jv91/4b/l/jK//+38vb4/H/h8/jzcfOC85P/9s7ztfPG89fz6PcZ9Ar0G//wvvTC9N P05PT19H/0kPSh//ppxDr3vvfP9G32yfUW9Sf/+I71SfVa9Wv1fPWN+1PyQP/1v/XQ9eH18vYD9h T2JfY2//ZH/A22pdZ25rxTGobplmP/80D2wvdr9uT29fcG+kP3KP/3OfdK91v3bPd99479Urgz// hE+FX4Zvfx+AL4E/Sx967/+zH7Qvfh+Hj4ifia+Kv4vP/4zfje+O/5AP7DVaX5Kfk6//lL+Vz5bf l++Y/5oPsI9k/9dmD2cf+m5o0EBmoI/U+85wzSDKgKJXRlBsD63P/6nPqt+r76z/rg+3j7Aveg// uq+7v7zNvc+2b7d/uI+5m/+x/+Yf5y+1L9s/v7/Az/Mff8Lvw//FD8Yfxy8jDe0VKP/Kb8t4zJvM F81/zo/Pn/Gf/9G/0s/T09eC2G/Vn9plMa//Mr/ZT6K/8a/cT91f3m/ff//o3+Gf4q/jv+0v7j/v T/Bf/xLv6g/rH+wv5N8YLxk/vW//DU/yj/Of9K/1v/bP99/47//5//sKyLz8r/2//s//3wDv/wH/ Aw8EHwUv0/8HL9YfaMTeYhOwDuAKfwuPYhb1DQ//Ey8PLxA/EU8SXxNvFH8Vj//kXyAfIS/njxrv G/8dDx4f/x8iPoZJb0p/S48anyQfJS//Jj8nTyhfKW8qfyuPLJ+RK/8+hi7vL/8xDzIfMy80PzVP /zZfN284cjwTPQ865KXGPnj/CT8KT2tfDG9V/0CPQZ9Cr/9Dv00fRd9G70f+UV9Sb1N//1SJpclM z03fTu9P/x8ffD//fU8iT1VfVm9Xf1iPWZ9ar/9bv1zPXd/HnD6GLj9hX2Jv42N/ZI8jaWaOIIXw kDC0Y3COsHOZUmSXfZg33VSgZJjAl7+bAyBlkJkQAFJURV9NTERFAFZfVVRJTFNfJEhfj4gtLaXF Mi6cMTefYKXFpcV9faYQAaDQAB8AQgABAAAAGAAAAEEAbgB1AHAAIABQAHIAYQBiAGgAdQAAAB8A ZQABAAAAKAAAAGEAcAByAGEAYgBoAHUAQABtAGEAcgB2AGUAbABsAC4AYwBvAG0AAAAfAGQAAQAA AAoAAABTAE0AVABQAAAAAAACAUEAAQAAAGIAAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBBAG4A dQBwACAAUAByAGEAYgBoAHUAAABTAE0AVABQAAAAYQBwAHIAYQBiAGgAdQBAAG0AYQByAHYAZQBs AGwALgBjAG8AbQAAAAAAHwACXQEAAAAoAAAAYQBwAHIAYQBiAGgAdQBAAG0AYQByAHYAZQBsAGwA LgBjAG8AbQAAAB8A5V8BAAAAMAAAAHMAaQBwADoAYQBwAHIAYQBiAGgAdQBAAG0AYQByAHYAZQBs AGwALgBjAG8AbQAAAB8AGgwBAAAAGAAAAEEAbgB1AHAAIABQAHIAYQBiAGgAdQAAAB8AHwwBAAAA KAAAAGEAcAByAGEAYgBoAHUAQABtAGEAcgB2AGUAbABsAC4AYwBvAG0AAAAfAB4MAQAAAAoAAABT AE0AVABQAAAAAAACARkMAQAAAGIAAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBBAG4AdQBwACAA UAByAGEAYgBoAHUAAABTAE0AVABQAAAAYQBwAHIAYQBiAGgAdQBAAG0AYQByAHYAZQBsAGwALgBj AG8AbQAAAAAAHwABXQEAAAAoAAAAYQBwAHIAYQBiAGgAdQBAAG0AYQByAHYAZQBsAGwALgBjAG8A bQAAAAsAQDoBAAAAHwAaAAEAAAASAAAASQBQAE0ALgBOAG8AdABlAAAAAAADAPE/CQQAAAsAQDoB AAAAAwD9P+QEAAACAQswAQAAABAAAAA3zwK4clH1SZpOQNBhgiMAAwAXAAEAAABAADkAAN65wUQ2 2QFAAAgw83jwwUQ22QEfADcAAQAAAIAAAABSAEUAOgAgAFsAUABBAFQAQwBIACAAdgA0ACAAMQAv ADQAXQAgAG0AbABkAGUAdgA6ACAAYQBkAGQAIABoAGUAYQBkAGUAcgBzACAAZgBvAHIAIABpAG4A dABlAHIAbgBhAGwAIABNAEwAIABmAHUAbgBjAHQAaQBvAG4AcwAAAB8APQABAAAACgAAAFIARQA6 ACAAAAAAAAMA3j+fTgAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAALACsAAAAAAAMA LgAAAAAAAwA2AAAAAAAfAHAAAQAAAHgAAABbAFAAQQBUAEMASAAgAHYANAAgADEALwA0AF0AIABt AGwAZABlAHYAOgAgAGEAZABkACAAaABlAGEAZABlAHIAcwAgAGYAbwByACAAaQBuAHQAZQByAG4A YQBsACAATQBMACAAZgB1AG4AYwB0AGkAbwBuAHMAAAACAXEAAQAAABsAAAABAdk2HEcz6gnqL0nn RbMwIglpbQXvrroc6yAACwAGDAAAAAAfADUQAQAAAKIAAAA8AEIATAAwAFAAUgAxADgATQBCADMA NwA0ADgAMQBCAEQAQwA4AEQANQBFADEAQgBEADMANgBCAEMANAA1ADUAQgA1AEEANQBEADEAOQBA AEIATAAwAFAAUgAxADgATQBCADMANwA0ADgALgBuAGEAbQBwAHIAZAAxADgALgBwAHIAbwBkAC4A bwB1AHQAbABvAG8AawAuAGMAbwBtAD4AAAAAAB8AORABAAAAJgEAADwAMgAwADIAMgAxADIAMAA4 ADEAOQAzADUAMwAyAC4AMQA2ADcAMQA4AC0AMQAtAHMAeQBhAGwAYQB2AGEAcgB0AGgAaQBAAG0A YQByAHYAZQBsAGwALgBjAG8AbQA+ACAAPAAyADAAMgAzADAAMgAwADEAMAA5ADAANAA1ADQALgAx ADQANgA0ADkALQAxAC0AcwB5AGEAbABhAHYAYQByAHQAaABpAEAAbQBhAHIAdgBlAGwAbAAuAGMA bwBtAD4AIAA8ADIAMAAyADMAMAAyADAAMQAwADkAMAA0ADUANAAuADEANAA2ADQAOQAtADIALQBz AHkAYQBsAGEAdgBhAHIAdABoAGkAQABtAGEAcgB2AGUAbABsAC4AYwBvAG0APgAAAAAAHwBCEAEA AABiAAAAPAAyADAAMgAzADAAMgAwADEAMAA5ADAANAA1ADQALgAxADQANgA0ADkALQAyAC0AcwB5 AGEAbABhAHYAYQByAHQAaABpAEAAbQBhAHIAdgBlAGwAbAAuAGMAbwBtAD4AAAAAAAMAgBD///// AwATEgAAAABAAAcwGn+TwUQ22QECARAwAQAAAEYAAAAAAAAAgi/7vKe3KkC6A7CK+Ser2AcAY7Zw XvPKj0CAM8aMTaB58QAAAAABCwAAY7ZwXvPKj0CAM8aMTaB58QAABQ5mYQAAAAACARMwAQAAABAA AAAz6gnqL0nnRbMwIglpbQXvAgEUMAEAAAAMAAAAMwYAAOCtc7ktAAAAAwBbMwEAAAADAFo2AAAA AAMAaDYNAAAACwD6NgEAAAAfANk/AQAAAPgBAAAtAC0ALQAtAC0ATwByAGkAZwBpAG4AYQBsACAA TQBlAHMAcwBhAGcAZQAtAC0ALQAtAC0ADQAKAEYAcgBvAG0AOgAgAFMAcgBpAGsAYQBuAHQAaAAg AFkAYQBsAGEAdgBhAHIAdABoAGkAIAA8AHMAeQBhAGwAYQB2AGEAcgB0AGgAaQBAAG0AYQByAHYA ZQBsAGwALgBjAG8AbQA+ACAADQAKAFMAZQBuAHQAOgAgAFcAZQBkAG4AZQBzAGQAYQB5ACwAIABG AGUAYgByAHUAYQByAHkAIAAxACwAIAAyADAAMgAzACAAMgA6ADMANQAgAFAATQANAAoAVABvADoA IABTAHIAaQBrAGEAbgB0AGgAIABZAGEAbABhAHYAYQByAHQAaABpACAAPABzAHkAYQBsAGEAdgBh AHIAdABoAGkAQABtAGEAcgB2AGUAbABsAC4AYwBvAG0APgANAAoAQwBjADoAIABkAGUAdgBAAGQA cABkAGsALgBvAHIAZwA7ACAAUwBoAGkAdgBhAGgAIABTAGgAYQBuAGsAYQByACAAUwBoAGEAbgBr AGEAcgAgAE4AYQByAGEAeQBhAG4AIABSAGEAbwAgADwAcwBzAGgAYQBuAGsAYQByAG4AYQByAGEA QABtAGEAcgB2AGUAbABsAC4AAAAfAPg/AQAAABgAAABBAG4AdQBwACAAUAByAGEAYgBoAHUAAAAf APo/AQAAABgAAABBAG4AdQBwACAAUAByAGEAYgBoAHUAAAAfACJAAQAAAAYAAABFAFgAAAAAAB8A I0ABAAAA+gAAAC8ATwA9AEUAWABDAEgAQQBOAEcARQBMAEEAQgBTAC8ATwBVAD0ARQBYAEMASABB AE4ARwBFACAAQQBEAE0ASQBOAEkAUwBUAFIAQQBUAEkAVgBFACAARwBSAE8AVQBQACAAKABGAFkA RABJAEIATwBIAEYAMgAzAFMAUABEAEwAVAApAC8AQwBOAD0AUgBFAEMASQBQAEkARQBOAFQAUwAv AEMATgA9ADMAQQA0AEMANQA2ADgAQgA2ADAAOQA0ADQAQwAzADkAOQAxAEQAMwBBADkAMwAzADAA NQAzADAAMQA0ADAARAAtAEEAUABSAEEAQgBIAFUAAAAAAB8AJEABAAAABgAAAEUAWAAAAAAAHwAl QAEAAAD6AAAALwBPAD0ARQBYAEMASABBAE4ARwBFAEwAQQBCAFMALwBPAFUAPQBFAFgAQwBIAEEA TgBHAEUAIABBAEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBE AEkAQgBPAEgARgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8A QwBOAD0AMwBBADQAQwA1ADYAOABCADYAMAA5ADQANABDADMAOQA5ADEARAAzAEEAOQAzADMAMAA1 ADMAMAAxADQAMABEAC0AQQBQAFIAQQBCAEgAVQAAAAAAHwAwQAEAAAAYAAAAQQBuAHUAcAAgAFAA cgBhAGIAaAB1AAAAHwAxQAEAAAAYAAAAQQBuAHUAcAAgAFAAcgBhAGIAaAB1AAAAHwA4QAEAAAAY AAAAQQBuAHUAcAAgAFAAcgBhAGIAaAB1AAAAHwA5QAEAAAAYAAAAQQBuAHUAcAAgAFAAcgBhAGIA aAB1AAAAAwBZQAAAAAADAFpAAAAAAAMAN1ABAAAAAwAJWQEAAAAfAApdAQAAACgAAABhAHAAcgBh AGIAaAB1AEAAbQBhAHIAdgBlAGwAbAAuAGMAbwBtAAAAHwALXQEAAAAoAAAAYQBwAHIAYQBiAGgA dQBAAG0AYQByAHYAZQBsAGwALgBjAG8AbQAAAAIBFV0BAAAAEgAAAAJH++FwVREdQof8Llj2OLbg AQAAAgEWXQEAAAASAAAAAkf74XBVER1Ch/wuWPY4tuABAAALAACACCAGAAAAAADAAAAAAAAARgAA AAAUhQAAAAAAAAMAAIBQ42MLzJzQEbzbAIBfzM4EAQAAACQAAABJAG4AZABlAHgAaQBuAGcARQBy AHIAbwByAEMAbwBkAGUAAAAbAAAAHwAAgFDjYwvMnNARvNsAgF/MzgQBAAAAKgAAAEkAbgBkAGUA eABpAG4AZwBFAHIAcgBvAHIATQBlAHMAcwBhAGcAZQAAAAAAAQAAAHAAAABJAG4AZABlAHgAaQBu AGcAIABQAGUAbgBkAGkAbgBnACAAdwBoAGkAbABlACAAQgBpAGcARgB1AG4AbgBlAGwAUABPAEkA SQBzAFUAcABUAG8ARABhAHQAZQAgAGkAcwAgAGYAYQBsAHMAZQAuAAAACwAAgFDjYwvMnNARvNsA gF/MzgQBAAAAJgAAAEkAcwBQAGUAcgBtAGEAbgBlAG4AdABGAGEAaQBsAHUAcgBlAAAAAAAAAAAA CwAAgAggBgAAAAAAwAAAAAAAAEYAAAAABoUAAAAAAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAD hQAAAAAAAAMAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAA AEYBAAAAMgAAAEUAeABjAGgAYQBuAGcAZQBBAHAAcABsAGkAYwBhAHQAaQBvAG4ARgBsAGEAZwBz AAAAAAAgAAAAAgEAgBOP8kH0gxRBpYTu21prC/8BAAAALgAAAEgAZQBhAGQAZQByAEIAbwBkAHkA RgByAGEAZwBtAGUAbgB0AEwAaQBzAHQAAAAAAAEAAAA2AAAAAQAKAAAABAAAAAEAAAAUAAAAAAAA AAIAAAAEAAAAAAAAABQAAAAAAAAAngEAAP////8AAAAAAAALAACAE4/yQfSDFEGlhO7bWmsL/wEA AAAcAAAASABhAHMAUQB1AG8AdABlAGQAVABlAHgAdAAAAAEAAAALAACAE4/yQfSDFEGlhO7bWmsL /wEAAAAoAAAASQBzAFEAdQBvAHQAZQBkAFQAZQB4AHQAQwBoAGEAbgBnAGUAZAAAAAEAAAACAQCA E4/yQfSDFEGlhO7bWmsL/wEAAABAAAAAQwBvAG4AdgBlAHIAcwBhAHQAaQBvAG4AVAByAGUAZQBQ AGEAcgBlAG4AdABSAGUAYwBvAHIAZABLAGUAeQAAAAEAAAAuAAAAAAAAAIIv+7yntypAugOwivkn q9gBAGO2cF7zyo9AgDPGjE2gefEAAWm3uwsAAAAAHwAAgB+k6zOoei5Cvnt54amOVLMBAAAAOAAA AEMAbwBuAHYAZQByAHMAYQB0AGkAbwBuAEkAbgBkAGUAeABUAHIAYQBjAGsAaQBuAGcARQB4AAAA AQAAAPIBAABJAEkAPQBbAEMASQBEAD0AZQBhADAAOQBlAGEAMwAzAC0ANAA5ADIAZgAtADQANQBl ADcALQBiADMAMwAwAC0AMgAyADAAOQA2ADkANgBkADAANQBlAGYAOwBJAEQAWABIAEUAQQBEAD0A MAAxAEQAOQAzADYAMQBDADQANwA7AEkARABYAEMATwBVAE4AVAA9ADIAXQA7AFMAQgBNAEkARAA9 ADgANQA7AFMAMQA9ADwAMgAwADIAMwAwADIAMAAxADAAOQAwADQANQA0AC4AMQA0ADYANAA5AC0A MgAtAHMAeQBhAGwAYQB2AGEAcgB0AGgAaQBAAG0AYQByAHYAZQBsAGwALgBjAG8AbQA+ADsAUgBU AFAAPQBEAGkAcgBlAGMAdABDAGgAaQBsAGQAOwBUAEQATgA9AE0AaQBzAG0AYQB0AGMAaAA7AFQA UAA9AFMAYQBtAGUAOwBUAEYAUgA9AE4AbwB0AEYAbwByAGsAaQBuAGcAOwBWAGUAcgBzAGkAbwBu AD0AVgBlAHIAcwBpAG8AbgAgADEANQAuADIAMAAgACgAQgB1AGkAbABkACAANQA5ADQANAAuADAA KQAsACAAUwB0AGEAZwBlAD0ASAAxADsAVQBQAD0ARAAwADsARABQAD0AMQAwADEAAAAAAB8AAIAT j/JB9IMUQaWE7ttaawv/AQAAABYAAABDAGwAaQBlAG4AdABJAG4AZgBvAAAAAAABAAAAKgAAAEMA bABpAGUAbgB0AD0ATQBTAEUAeABjAGgAYQBuAGcAZQBSAFAAQwAAAAAAAwAAgAggBgAAAAAAwAAA AAAAAEYAAAAAEIUAAAAAAAADAACACCAGAAAAAADAAAAAAAAARgAAAAAYhQAAAAAAAAsAAIAIIAYA AAAAAMAAAAAAAABGAAAAAA6FAAAAAAAACwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAgoUAAAAAAABA AACACCAGAAAAAADAAAAAAAAARgAAAAC/hQAAkDKMnEQ22QECAQCACCAGAAAAAADAAAAAAAAARgEA AAA2AAAASQBuAFQAcgBhAG4AcwBpAHQATQBlAHMAcwBhAGcAZQBDAG8AcgByAGUAbABhAHQAbwBy AAAAAAABAAAAEAAAAI1Il0d0S95Gu9F/N8f+5oYfAACACCAGAAAAAADAAAAAAAAARgAAAADYhQAA AQAAABIAAABJAFAATQAuAE4AbwB0AGUAAAAAAAMAAIApAwIAAAAAAMAAAAAAAABGAQAAABAAAAAk AEQARwBNAGEAcgBrAAAAt9pjUx8AAICGAwIAAAAAAMAAAAAAAABGAQAAABIAAAB4AC0AZABnAC0A cgBlAGYAAAAAAAEAAAACDAAAUABHADEAbABkAEcARQArAFAARwBGADAASQBHADUAdABQAFMASgBp AGIAMgBSADUATABuAFIANABkAEMASQBnAGMARAAwAGkAWQB6AHAAYwBkAFgATgBsAGMAbgBOAGMA WQBYAEIAeQBZAFcASgBvAGQAVgB4AGgAYwBIAEIAawBZAFgAUgBoAFgASABKAHYAWQBXADEAcABi AG0AZABjAE0ARABsAGsATwBEAFEANQBZAGoAWQB0AE0AegBKAGsATQB5ADAAMABZAFQAUQB3AEwA VABnADEAWgBXAFUAdABOAG0ASQA0AE4ARwBKAGgATQBqAGwAbABNAHoAVgBpAFgARwAxAHoAWgAz AE4AYwBiAFgATgBuAEwAVwBaAGwATgBqAFIAaQBOAEQAaABsAEwAVwBFAHkATQB6AGMAdABNAFQA RgBsAFoAQwAxAGkATgB6AEoAagBMAFcAWQAwAE4AMgBJAHcATwBUAGQAbABOAEcARgBpAE8ARgB4 AGgAYgBXAFUAdABkAEcAVgB6AGQARgB4AG0AWgBUAFkAMABZAGoAUQA0AFoAaQAxAGgATQBqAE0A MwBMAFQARQB4AFoAVwBRAHQAWQBqAGMAeQBZAHkAMQBtAE4ARABkAGkATQBEAGsAMwBaAFQAUgBo AFkAagBoAGkAYgAyAFIANQBMAG4AUgA0AGQAQwBJAGcAYwAzAG8AOQBJAGoARQB5AE0ARABBADEA SQBpAEIAMABQAFMASQB4AE0AegBNAHgATwBUAGMAegBNAHoASQA1AE0ARABRADIATQBqAFUAeABP AEQAQQBpAEkARwBnADkASQBuAFIAYQBWAGoAaABVAFMAWABwAGwAYQBWAEIAaQBNAEcAOQByAFYA RwB4AHcAZQBHAFkAeQBhADAAaAAzAEsAMgA4AHkAVABUADAAaQBJAEcAbABrAFAAUwBJAGkASQBH AEoAcwBQAFMASQB3AEkAaQBCAGkAYgB6ADAAaQBNAFMASQBnAFkAMgBrADkASQBtAE4AQgBRAFUA RgBCAFIAVgBKAEkAVgBUAEYAUwBVADEASgBWAFIAawA1AEQAWgAxAFYAQgBRAFUANQBuAFMARQBG AEIAUQBXAE4AUwBUAFMAOQBCAFUAawBSAGkAVwBrAEYAaQBZAGwASgBIAGEARQB3AHgATgAzAE4A YQBhAFgAUgAwAFIAVwBGAEYAZABsAGgAMQBlAEcAMQBKAFQAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBJAFEAVQBGAEIA UQBVAEoAdgBRAG4AZABCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYARgBRAFUARgBSAFEAVQBKAEIAUQBVAEYAQgBNADEAUgA2AFIA awBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFMAagBSAEIAUQBV AEYAQwBhAEUARgBIAFUAVQBGAGEAUQBVAEoANQBRAFUAZABWAFEAVwBOADMAUQBuAHAAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAFYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBaADAARgBCAFEAVQBGAEIAUQBXADUAbgBRAFUARgBCAFIAMAAx AEIAWgBGAEYAQwBlAGsARgBJAFUAVQBGAGkAZAAwAEoAMABRAFUAWQA0AFEAVwBOAEIAUQBtAHgA QgBTAEUAbABCAFkAMwBkAEMAZABrAEYASABOAEUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBSAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAMABGAEIAUQBVAEYAQgBRAFUATgBsAFEAVQBGAEIAUQBWAGwAMwBRAGoARgBC AFMARQAxAEIAWgBFAEYAQwBkAGsARgBIAE0ARQBGAFkAZAAwAEoAMwBRAFUAZABuAFEAVwBKADMA UQBuAFYAQgBSADEAVgBCAFkAbQBkAEMATQBVAEYASABNAEUARgBaAFoAMABKAHMAUQBVAGgASgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAE4AQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEMAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAGwAQgBRAFUARgBCAFEAVQBGAEsATgBFAEYAQgBRAFUASgBxAFEAVQBoAFYAUQBXAE4AMwBR AGoAQgBCAFIAegBoAEIAWQBsAEYAQwBaAGsARgBJAFQAVQBGAGoAZAAwAEoAMQBRAFUAWQA0AFEA VgBwAEIAUQBtAGgAQgBTAEUAMQBCAFkAVQBGAEMAWgBrAEYASQBXAFUARgBOAFEAVQBGADUAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAABgAAAB4AC0AZABnAC0AcgBl AGYAbwBuAGUAAAABAAAAAgwAAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUgBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAbgBRAFUARgBCAFEAVQBGAEIAYgBtAGQAQgBRAFUARgBIAFQAVQBGAGsAVQBVAEoANgBRAFUA aABSAFEAVwBKADMAUQBuAFIAQgBSAGoAaABCAFkAMwBkAEMAZQBrAEYASABOAEUARgBZAGQAMABK AHkAUQBVAGQAVgBRAFcAVgBSAFEAagBOAEIAUgB6AGgAQgBZADIAZABDAGEAMABGAEkAVABVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFYARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBEAFEAVQBG AEIAUQBVAEYAQgBRADIAVgBCAFEAVQBGAEIAVwBYAGQAQwBNAFUARgBJAFQAVQBGAGsAUQBVAEoA MgBRAFUAYwB3AFEAVgBoADMAUQBuAHAAQgBTAEUAMQBCAFkAbQBkAEMAWgBrAEYASABOAEUARgBp AGQAMABKAHIAUQBVAGQAVgBRAFcASgBCAFEAbgBCAEIAUgB6AEIAQgBZAFYARgBDAE0ARQBGAEgA VgBVAEYAagBaADAASgBtAFEAVQBoAFoAUQBVADEAQgBRAFgAbABCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBKAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUwBVAEYAQgBRAFUARgBC AFEAVQBvADAAUQBVAEYAQgBRAG0AcABCAFMARgBWAEIAWQAzAGQAQwBNAEUARgBIAE8ARQBGAGkA VQBVAEoAbQBRAFUAaABOAFEAVwBOADMAUQBuAFYAQgBSAGoAaABCAFkAMwBkAEMAZAAwAEYASABS AFUARgBaAGQAMABKAHMAUQBVAFkANABRAFcAUgBuAFEAWABkAEIAUgBFAGwAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYARgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFcAZABCAFEAVQBGAEIAUQBVAEYAdQBa ADAARgBCAFEAVQBkAFIAUQBXAEoAQgBRAG4AZABCAFIAagBoAEIAWQAzAGQAQwBjAGsARgBJAGEA MABGAGoAUQBVAEoAcwBRAFUAWQA0AFEAVgBsADMAUQBtADkAQgBSADAAVgBCAFoARQBGAEMAWgBr AEYASABNAEUARgBhAFUAVQBKADYAUQBVAGgATgBRAFYAbABSAFEAbQA1AEIAUgAxAFYAQgBXAEgA ZABDAE0AawBGAEUAUQBVAEYATgBaADAARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFUA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBOAEIAUQBVAEYAQgBRAFUARgBEAFoAVQBGAEIAUQBV AEYAYQBRAFUASgB6AFEAVQBoAEIAUQBWAGgAMwBRAG4AcABCAFIAMwBkAEIAVwBWAEYAQwBhAGsA RgBIAGMAMABGAFkAZAAwAEoAcQBRAFUAZABuAFEAVgBsAFIAUQBqAEIAQgBSAGoAaABCAFkAbABG AEMAYgBFAEYASQBUAFUARgBqAGQAMABKAG8AUQBVAGQAagBRAFYAcABSAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAYAAAAeAAtAGQAZwAtAHIA ZQBmAHQAdwBvAAAAAQAAAAoHAABRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAawBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEoAUQBVAEYAQgBRAFUARgBCAFMAagBSAEIAUQBVAEYA QwBhADAARgBIAGQAMABGAGoAUQBVAEoAbQBRAFUAaABSAFEAVgBwAFIAUQBtAGgAQgBSAHoAQgBC AFkAMwBkAEMAWgBrAEYASABPAEUARgBpAFoAMABKAHMAUQBVAGQAUgBRAFcATgBuAFEAbgBCAEIA UwBGAGwAQgBXAGwARgBDAFoAawBGAEgAVwBVAEYAaABVAFUASgB6AFEAVQBkAFYAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAFYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBaADAARgBCAFEAVQBGAEIAUQBXADUAbgBRAFUARgBCAFIAMQBWAEIA WQBsAEYAQwBhAEUARgBIAGEAMABGAGkAUQBVAEoAbQBRAFUAZABGAFEAVgBwAEIAUQBtAHQAQgBT AEUAbABCAFcAbABGAEMAZQBrAEYASQBUAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAMABGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBSAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAMABGAEIAUQBVAEYAQgBRAFUATgBsAFEAVQBGAEIAUQBXAEoAUgBRAG0AaABCAFMA RQBsAEIAWgBHAGQAQwBiAEUARgBIAGQAMABGAGkAUQBVAEoAbQBRAFUAaABSAFEAVgBwAFIAUQBu AGwAQgBSAHoAQgBCAFkAVgBGAEMAZABVAEYASQBWAFUARgBqAGQAMABGAEIAUQBVAEYAQgBRAFUA RgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBG AEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYA QgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBC AFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIA UQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBR AFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBVAEYAQgBRAFUARgBCAFEA VQBGAEIAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEMAUQBVAEYAQgBRAFUARgBCAFEAVQBGAEIAUQBV AGwAQgBRAFUARgBCAFEAVQBGAEIAUABUADAAaQBMAHoANAA4AEwAMgAxAGwAZABHAEUAKwAAAAAA HwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAFAAAAHgALQBkAGcALQByAG8AcgBmAAAAAQAAAAoAAAB0 AHIAdQBlAAAAAAADAA00/T8AAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAABhAHUAdABoAGUA bgB0AGkAYwBhAHQAaQBvAG4ALQByAGUAcwB1AGwAdABzAAAAAAABAAAAugAAAGQAawBpAG0APQBu AG8AbgBlACAAKABtAGUAcwBzAGEAZwBlACAAbgBvAHQAIABzAGkAZwBuAGUAZAApACAAaABlAGEA ZABlAHIALgBkAD0AbgBvAG4AZQA7AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABhAGMAdABpAG8AbgA9 AG4AbwBuAGUAIABoAGUAYQBkAGUAcgAuAGYAcgBvAG0APQBtAGEAcgB2AGUAbABsAC4AYwBvAG0A OwAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAHgAAAGEAYwBjAGUAcAB0AGwAYQBuAGcAdQBh AGcAZQAAAAAAAQAAABoAAABlAG4ALQBJAE4ALAAgAGUAbgAtAFUAUwAAAAAAHwAAgIYDAgAAAAAA wAAAAAAAAEYBAAAAIAAAAHgALQBtAHMALQBoAGEAcwAtAGEAdAB0AGEAYwBoAAAAAQAAAAIAAAAA AAAASAAAgAggBgAAAAAAwAAAAAAAAEYBAAAAIgAAAE4AZQB0AHcAbwByAGsATQBlAHMAcwBhAGcA ZQBJAGQAAAAAANAoxkkRnr9P7aUI2wRb5HwfAACAhgMCAAAAAADAAAAAAAAARgEAAAAuAAAAeAAt AG0AcwAtAHAAdQBiAGwAaQBjAHQAcgBhAGYAZgBpAGMAdAB5AHAAZQAAAAAAAQAAAAwAAABFAG0A YQBpAGwAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAA2AAAAeAAtAG0AcwAtAHQAcgBhAGYAZgBp AGMAdAB5AHAAZQBkAGkAYQBnAG4AbwBzAHQAaQBjAAAAAAABAAAASAAAAEIATAAwAFAAUgAxADgA TQBCADMANwA0ADgAOgBFAEUAXwB8AE0ATgAyAFAAUgAxADgATQBCADMANQAyADgAOgBFAEUAXwAA AB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAFAAAAB4AC0AbQBzAC0AbwBmAGYAaQBjAGUAMwA2ADUA LQBmAGkAbAB0AGUAcgBpAG4AZwAtAGMAbwByAHIAZQBsAGEAdABpAG8AbgAtAGkAZAAAAAEAAABK AAAANAA5AGMANgAyADgAZAAwAC0AOQBlADEAMQAtADQAZgBiAGYALQBlAGQAYQA1AC0AMAA4AGQA YgAwADQANQBiAGUANAA3AGMAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADgAAAB4AC0AbQBz AC0AZQB4AGMAaABhAG4AZwBlAC0AcwBlAG4AZABlAHIAYQBkAGMAaABlAGMAawAAAAEAAAAEAAAA MQAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADoAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBl AC0AYQBuAHQAaQBzAHAAYQBtAC0AcgBlAGwAYQB5AAAAAAABAAAABAAAADAAAAAfAACAhgMCAAAA AADAAAAAAAAARgEAAAAqAAAAeAAtAG0AaQBjAHIAbwBzAG8AZgB0AC0AYQBuAHQAaQBzAHAAYQBt AAAAAAABAAAADgAAAEIAQwBMADoAMAA7AAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABEAAAA eAAtAG0AaQBjAHIAbwBzAG8AZgB0AC0AYQBuAHQAaQBzAHAAYQBtAC0AbQBlAHMAcwBhAGcAZQAt AGkAbgBmAG8AAAABAAAAggUAADQAbgA0ADMAaQBJAHoAVABtAC8AegBOAHUAcQBxAHUAUgB3ADIA ZwBlAFUAUQAwAFUATgBPAHAAWQA5AFQALwArAEUAZgBvAEYAUQBFAFMAMwBsAGsAbQB0AGcAOQBD AGwAWQBpAHEAOQBQADkAZQB6AEcAYQBHAFUAZwB0AEMAVQBRAFkAOQBJAEIATQBTAHIANgB1ADUA VQBRAEMAYgBSADcAcQAwAC8AMABLAEEAdQBaADEATgBQAHgASQBlAEkAcQA3AEUAVwBRADYAMwBo AE4ATQBUADYAKwBUADgATQBGAGkAUgBMAGcAdwB6AHEAcQAwAGQAcQBJAFoARgB3AHUARwBlAEEA bwBGAEoAQgBtADUANAAvAGkAUgBhAHIARAAxAFAAagBtAEMAawB6AG0AZABQAGIAQQBQAHcASwBK AEgAbwBSAGEAegAvADgAWQA0ADIAbwA3AEYAQQAyADAAZQBNAGMAUgA0AFUAMABOADYANQA4AFUA RQBLAFkANABiAEoAVQA5ADMAMQAyAGIAWAAyAEsAUQA2AHIAKwBJADIANQBuAEMAWAAyADYATQB3 AGoAagArAGEAawBrAHgAYwBRAGQAbABNADQANwByAEUAeAB0AFEAMAA3AE0AYQBJADMAagBQAFMA UgBPAFkATgB6AEMAOABIAFQAVgBNAGkAYgBNAHoAdABTADYAcAAwAEsAQwByAFIAMgBZADAAYQBy AEEANgBIAHYAZgBqAFcAYwBHAE4ASwBHADYAYQBUAEcAcwBGAEEAUgBlADUAdQBtAHAAUABpAE8A SQA4AEIAVwB2AGIASABGAEUAbQBuAHAAYQBlAEYATwBoAFIAUgBGAFcAagBJAEsATgBzADQAWgBU ADgAawBXAFIATgA1AGsAOABpAFUAMQBEAGcAdgB5ADMARwBhAFAAWABPAHMAeQBYACsAeABWAFUA UwBCAHcAVgBlAC8AOQBaAEgAUwBCAGsAMgBoAHQASgA0AE0AWABGAGwAegBwAHUANwBOAFcAQgBk AHUAQwA5AGcASABFAGsAdgAyAGkAVwAxAEcAaABWADQARAAyAGcAaABPAEgARQBOAGUAbgBsAE4A WQBFAGIASwB2AFMAZQBiAGkAdABEAFcAYQBZAGgAVAAzAGwAUwBKAHUAdABCAG8AVQBzAEsAKwBx AHYAOQBMADcAUwBQAEQAbQBnAGcASwA5AHUANgA1AC8AYgBPADMAUQBqADUAOABGADEAbQAwAFkA bgB3AGgAegB6AHgATgB6AGkARgBxAFEASABOAEYATQBTAEYAMAAzAHIAUwB3AEkAbABvADMAQwA0 AEkAUgBxAFkAWQBmAE8AUABkAFMAVQBlAGQANQB2AFUAeQA0AE4ANwBSAFEAeABzAGUAbABJAFAA TwBhAG0ASgBEAEIAUABkAFUAagBwAGEAeABkAG4ASwAzACsAMgBwADgARQBrAFoAbwBmADgAaQBy AFoAUABYAEEAaQB6AG4AMgA2AFcASAB4AEEAQQB1AEgASAA0AEIAbQBUAGIAWAArAGwAeQBoACsA UgAvADUAcQBnAHEATgBZAEoAawBLAGIAbAB0AG8AdgAyADgAUABLAEMAZAA1AEYAUABkAFkARgBF ADAAQQBWADkAbQArAGUAVQBUAGMAeABGAGUAcgBIADYAQwBoAEYANwBQADQAYgBkAHgAcgBhACsA UAA1AHEAVgB0ADIATQBEAGIAUwBoAGgAZgAyAFMALwBzAFQAUgBpADgAdQBWAFEAUAA1AFkAMQBZ AFoANgB1AFcAMwBnAFkAYwBLADgATQBjAHMAdQA3AGcAWgBlAEQASAA3AHoAKwB3AGIAbgBBAC8A SwAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgALQBmAG8AcgBlAGYAcgBvAG4AdAAt AGEAbgB0AGkAcwBwAGEAbQAtAHIAZQBwAG8AcgB0AAAAAQAAAHQEAABDAEkAUAA6ADIANQA1AC4A MgA1ADUALgAyADUANQAuADIANQA1ADsAQwBUAFIAWQA6ADsATABBAE4ARwA6AGUAbgA7AFMAQwBM ADoAMQA7AFMAUgBWADoAOwBJAFAAVgA6AE4ATABJADsAUwBGAFYAOgBOAFMAUABNADsASAA6AEIA TAAwAFAAUgAxADgATQBCADMANwA0ADgALgBuAGEAbQBwAHIAZAAxADgALgBwAHIAbwBkAC4AbwB1 AHQAbABvAG8AawAuAGMAbwBtADsAUABUAFIAOgA7AEMAQQBUADoATgBPAE4ARQA7AFMARgBTADoA KAAxADMAMgAzADAAMAAyADUAKQAoADQANgAzADYAMAAwADkAKQAoADMANwA2ADAAMAAyACkAKAAz ADkAOAA2ADAANAAwADAAMAAwADIAKQAoADMAOQA2ADAAMAAzACkAKAAzADYANgAwADAANAApACgA MQAzADYAMAAwADMAKQAoADMANAA2ADAAMAAyACkAKAA0ADUAMQAxADkAOQAwADEAOAApACgANwAx ADIAMAAwADQAMAAwADAAMAAxACkAKAA0ADcAOAA2ADAAMAAwADAAMQApACgANgA2ADQANwA2ADAA MAA3ACkAKAA2ADYANAA0ADYAMAAwADgAKQAoADYANAA3ADUANgAwADAAOAApACgANgA2ADUANQA2 ADAAMAA4ACkAKAA3ADYAOQA2ADAAMAA1ACkAKAA1ADUAMAAxADYAMAAwADMAKQAoADgANgAzADYA MgAwADAAMQApACgANAAzADIANgAwADAAOAApACgANwA2ADEAMQA2ADAAMAA2ACkAKAA0ADEAMwAw ADAANwAwADAAMAAwADEAKQAoADgANgA3ADYAMAAwADIAKQAoADgAOQAzADYAMAAwADIAKQAoADYA NgA5ADQANgAwADAANwApACgAOAAzADMAOAAwADQAMAAwADAAMAAxACkAKAAyADkAMAA2ADAAMAAy ACkAKAAyADYAMAAwADUAKQAoADYANgAzADYAMAAwADIAKQAoADEAOAA2ADAAMAAzACkAKAA5ADYA OAA2ADAAMAAzACkAKAAxADAANwA4ADgANgAwADAAMwApACgAMQAyADIAMAAwADAAMAAwADEAKQAo ADMAOAAwADcAMAA3ADAAMAAwADAANQApACgAMwA4ADEAMAAwADcAMAAwADAAMAAyACkAKAA1ADYA NgAwADMAMAAwADAAMAAyACkAKAAzADAAOAA2ADQAMAAwADMAKQAoADUAMwA1ADQANgAwADEAMQAp ACgANgA1ADAANgAwADAANwApACgAMwAzADYANQA2ADAAMAAyACkAKAA1ADQAOQAwADYAMAAwADMA KQAoADEAMQAwADEAMwA2ADAAMAA1ACkAKAA1ADIANQAzADYAMAAxADQAKQAoADMAMQA2ADAAMAAy ACkAOwBEAEkAUgA6AE8AVQBUADsAUwBGAFAAOgAxADEAMAAxADsAAAAfAACAhgMCAAAAAADAAAAA AAAARgEAAABcAAAAeAAtAG0AcwAtAGUAeABjAGgAYQBuAGcAZQAtAGEAbgB0AGkAcwBwAGEAbQAt AG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtAGMAaAB1AG4AawBjAG8AdQBuAHQAAAABAAAABAAAADEA AAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABKAAAAeAAtAG0AcwAtAGUAeABjAGgAYQBuAGcAZQAt AGEAbgB0AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtADAAAAAAAAEAAACCDAAA egBCAHMAdABwAFoAVgBtAGUAeAB2AE4AbwBZAFYAegBjAHAAUwBRAFAARwBXAFAAQgBHADUAWAB2 AFQAcQArAEsAWABPAEkASQBNAFoAZgBkAFYAawBPAC8AcABVAEEAQQBzAGYAVQAwAGUATgBhAEwA UwBnAFMAaQAxAFYAWABQAGQAcABmAEUAVQBPAHcAZwBuAHIAZgBiAFMATABzAEwAcgBiAGYAbQAw AHcAUwBlAFcAagB2AHMAdQBhAHMAVwB4AHkANgBVAHUASwBWADQAcQB1AFMAQwBtAGEAYgBGAEEA agBwAFcAQwBYAFQAUAB5ADUAVQBvAFoAbgBqAE0AZABWADQAZwAxAEMAWABqAEIAeQBSAFYAYwBI AEQATgBSADAAKwB6AHoAawBlAFgATgBtAE0AUgBSAHcAbABjAFIAbwAxADQARwBiAEwAWgAxAFkA ZQBiAGIAbABxAGgAcQBrAHAARwA5AFUAUQA5AHMAcgBNADEANQA2AEYATAB0ADMASwBSAEoAQwBH AFgAbQBCAHcAbQBIAEMANABxAE0ANQB2AGcAeQBDAFYATgAyAHkAVwBKAFMATgB4AHUAawAzAFUA MABmAEsAUwB2AGYAOABlAFMAOQBoAGkAVQBNAG0ANABlAEwANgBWAEQAcABRAFgAZQByAFAAbgBI AEsAWgBFAGUAegBEAGkANgBHAGIAUABqAGgAZwBPAGIAZwBhAHgANwBqAFcAagB3AEkATgBkAFAA OQBhADUAagBuAEYAWQAwAGUAagB0ADQARABTAGsAdwA1AGYAUABVAE8AVwBwAHIANwA0ADMAbQA3 ADQAWgAwAGkASgBvAEEAYgBLAHMAagB4AE8AVwBHAC8AcABXAFkAKwBFAFAAOQBJAG4ASABFAFMA MgBYAEIAZwB4ADIASQBUAG8ANwBwAEcATAA1AEsAegB1AHoAKwA1AE4AcAA5AEMAdQAvAG8AUwBC AGkAKwAxAGYAcQA1AC8ATgBtADMAeQBvAHgAYwAvAGoAaABoAGgAUwBGADYASQBlAGsAZABlAGsA TgBoADAAcAB5AHoAZgB6ACsAOQBUAGMAaQBuADcAUABxAEgAegBhAE8ATQBGAGYAdwAzAHoAdgA3 AGoAUQBWAC8ATQBWAGQAegBFADkAVABPAGsAMgB6AG4AaAB5AGQAUQBzAEYASABUAFIARQBBAFMA awB2ADcAUQBtAGUASQB4AHUARAAvAEQAawBWAG4AVwBkAGQANQArAGsASgBrAEMAdwBlAHEAQQBH ADkAcwBoAFAAQwBpAEoASwArAFUAWQBDAGIAdQBqAFkAUwBUAEYAYwBOAFQAVQBqAFYARwBGAHcA NgB6AGQAMAAxAFEANABaAFEAWgBPAE8AcwBZAE0AYgBDAHAAZwBKADQAYwAzAEUATQBLAHYAMAB3 AEIAUwBrAGkAawArAGEAYQA4ADkAVgBRADYAdgBVACsAMwBqAGwAQwBUADUAeAB3AGwAZABEAEEA MQBuAFMAZwBTAEoASAB5ADQASQB3AHYAawByAFIATQB5AEkATgB0ADYAaABCAFAAdQBUAFAAcABP AFkAcgBVAFYAQQBDAFMAbQA4AGIAdQBrAFAAMABuADYAbABaAEMANAByAHgAZQAwAHgAZwBBAE8A KwBDAHMAVgA0AEMAaQBaAGkAMwBpAEgAWQByAHAARQBpADUAQwAyAFMAVgBzAE0AUQA4AFgAUgAr AGcAZwBPAEIAawB4AG8AQQB3ADcAWQBIAEwAegB4ADQAOABPAE0AWQBQAGwAWQBPAHQAMQBOAE4A UQBKADIAdgA2AGMAegBhAGoAKwA2AFEAQwBOAFEATwBFAGoAdAB5AFUAdwArAGIAVABUAGMANQBZ AGkAbwBiADAAaAB6AHMAeABIADIASQA0AGgAUAB0AGwAYwA5AGoAWgAvAG8AaAAxAEUAKwA5AGoA RAArAFcAagBnAEcAaABCAGsAdwB6AEoAQgBzAGYAWABGAG8AUQBTAFoAWAA5AEkATgBlAHkAUQB6 AGUAbwBWADcATAB1AFIAcQAzAGcAaQBSAFoANgA1ADcAVABvAGoAaQBVAEcAWABiAHIAMgBkAEwA MABFAGgAQwBtAGsANgAyAHEAegA3AGMAcgAxADcAOAAwAFUAeABhAFIAVABpAHMATwBQAGgANwBN AE0AbgAvAGkAdAB1AEUAQwBOAC8ASABQAEYAZwA0AGQAVwBqAGoAVQBKAEQATABIAHMAYwBZAE8A RQBKAHYAKwBmAGYAegBuAHcATwBCAG0AUwByAFkAZAAxAE4AQwBCAGgAbQBrAEYARAB0ADEAagBW AHgAdgBQADAAZABlAE0ATwBGAE0AMABOAFYARABPADMARwBFADQAcgBVAHcAdgBtAEoATQBiAEcA RAAxAFYAdgBtAEkARQB5AGwAdgA4AFIAZgA2ADgAeQBzADcAMQBPAEoAbABRAHUAQQBmAHIAQQBt AHQAdwA4AGYANwA0ADcAUAB4AGkAQQBLAEsAUwBZAGgAeABzAFkAYgBxAEMASwAyAHgAWQBZAEQA UwAwAFkAYgBCAFYAYQA2ACsANAAzADgAbAAzAEUAcQBlAGEATABzADYAYgA1AEwAegBHAEcAQwBN AGcAWgBYAHYARgBKAFQAOABBACsAYgBxAEMAbQBZAEgAZABoAGMAMQA2AFYASABxAE8AaABlAFEA MgA2AFQARwBPAHEAeAA5AG8ARgBkACsAMgA0AFIAdgBtAFIAeAAyADkAdwArAEUAMwByAG4AMgBh ADUAYQBJAHIAcAA3AHYAMwBDAHcASABUAHUAYQAyADYAbwAvAFkAYQBCAGwAYgBTAFIAYQArAFYA QgBaADEAZQB6ADcAUQB5AC8AZQByAGwAbwAyADMAZwBlAEUAUwBPAFkANABKAG0AeQBOAEsAUgBK ADMAQQBEAGYATABGAGQAdAB4AG0AcgBqAFEAeQByAHoAOABXAGoATgBoAGgAYgBVAHIAMQAxAHEA bQBRAE8AWAB6AFcAagBxAE4AdwA2AEkAdABpAC8AMwBDAFQANwBHAHUAYwBoAHcAagBXADUANgBR AGsAdAA3ADIAYQBDAGYAQgBWAFMATwA0AHgAVQByAGgAdgBPAHYAcwBBADkAUQBHAG4AQwB4AGkA MwBQAC8AZQAyAGoALwA4AGwAcQA1AFYAVwBrAEIAMABWAFEARQA1AHMAVAB4ADgARgBHAG8AbgBL AEEAZwBUAFQAegAwAFcASwAxAGgAeAB4ADAAcwA4ADcAbQB1AHgARQB2ADMANwB2ADcARQA1AGQA QwAwAFUAMwAyAFUARQBlAFcAdQBUAFEAMwBKAEIASgBwAEcAYgBwAHQAMgBoAHYAZgBLAHYAQgBB AHUAUQAwAFYAWgBKAGYAQQBwAHMARABHAFYAcABuAGEAaQBjAGoAOABZAFgAUQBIAHcASQA5ADgA ZQBQAFkAdABLAFQAUwAvAEsANABOADkANwBzAEwAQgBWADIAQQBXADMASABSAHcAdgBoAFIATgA3 AEcARwBGAGIAbAB5AC8ANwBwADEAVwBVAHAALwAxADcAVABvAGIALwA4AFgAdAB4AHEAcgBWADAA RgBXADUAegBFAEgAMQBxAEwAbABWAE8AZQBaAHUAeQBCAHUAcwBrAE8ARgBBAFgAMwBDAGgAcgBv AGoAeABYAEMAdQAwAHAALwBhADIAYQBtAHkAMwBFAHUAQQBRAHYATgBFAFMAMwB3AFgAdQBpAGsA bABtAFUAQgBVAFEANABJAGwASABsAHkAcAAxADYAUQBEAHkAagBQAFgAbgA0AHcAbQBiAFEAYgBZ AGsAYwBWAGEAVwB0AEwALwBsAG0ASwA1ACsALwBzAGkALwA1AFIASABpAEIARQBwAHMARwBLAGsA KwBHAHUAaQBGAHgALwB4AHkAdAAxAHIAZQBMAHgAbQBlAGoAZQB5ADIAdgBDADUAYgBTADYAQgBP ADUAagBVAE0AQgAxADMAZwB0AHAARgBKAGoAbQBrAHcAMgBnAG4AdABEADMAZQB4AHkAYQBFAFIA agBMAE0AcgBYAFoAUABMADEAbQBlAEQAbABzAHYAbAAyADQAYwBjAEwAVQBKAFEAbgBRAEcAagBE AFcATQBnAHYAawBBADYAVgBBADUAZABLAFQAVwAwAGkAdABCAFYANQBFAHQAMABMAHMAawBiADIA QwBPADAASAAAAAAALMU= --_000_BL0PR18MB37481BDC8D5E1BD36BC455B5A5D19BL0PR18MB3748namp_--