Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8DF8E18836 for ; Mon, 30 Nov 2015 21:15:15 +0000 (UTC) Received: (qmail 93194 invoked by uid 500); 30 Nov 2015 21:15:10 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 93135 invoked by uid 500); 30 Nov 2015 21:15:10 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 93124 invoked by uid 99); 30 Nov 2015 21:15:09 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Nov 2015 21:15:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 7BA17C103A for ; Mon, 30 Nov 2015 21:15:09 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.001 X-Spam-Level: X-Spam-Status: No, score=-0.001 tagged_above=-999 required=6.31 tests=[SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id PJ-mBmoWy9mR for ; Mon, 30 Nov 2015 21:14:57 +0000 (UTC) Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0123.outbound.protection.outlook.com [157.56.112.123]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id A28C120FF5 for ; Mon, 30 Nov 2015 21:14:56 +0000 (UTC) Received: from DB4PR07CA038.eurprd07.prod.outlook.com (10.242.229.48) by AMSPR07MB406.eurprd07.prod.outlook.com (10.242.22.143) with Microsoft SMTP Server (TLS) id 15.1.331.20; Mon, 30 Nov 2015 21:14:53 +0000 Received: from DB3FFO11FD044.protection.gbl (2a01:111:f400:7e04::115) by DB4PR07CA038.outlook.office365.com (2a01:111:e400:9828::48) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Mon, 30 Nov 2015 21:14:53 +0000 Authentication-Results: spf=softfail (sender IP is 104.40.229.156) smtp.mailfrom=shapeblue.com; cloudstack.apache.org; dkim=none (message not signed) header.d=none;cloudstack.apache.org; dmarc=none action=none header.from=shapeblue.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning shapeblue.com discourages use of 104.40.229.156 as permitted sender) Received: from smtp.eu1.exclaimer.net (104.40.229.156) by DB3FFO11FD044.mail.protection.outlook.com (10.47.217.75) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Mon, 30 Nov 2015 21:14:52 +0000 Received: from emea01-db3-obe.outbound.protection.outlook.com (213.199.154.83) by smtp.eu1.exclaimer.net (104.40.229.156) with Exclaimer Signature Manager ESMTP Proxy smtp.eu1.exclaimer.net; Mon, 30 Nov 2015 21:14:52 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true Received: from DB5PR07MB0774.eurprd07.prod.outlook.com (10.161.195.22) by DB5PR07MB0773.eurprd07.prod.outlook.com (10.161.195.21) with Microsoft SMTP Server (TLS) id 15.1.331.20; Mon, 30 Nov 2015 21:14:50 +0000 Received: from DB5PR07MB0774.eurprd07.prod.outlook.com ([10.161.195.22]) by DB5PR07MB0774.eurprd07.prod.outlook.com ([10.161.195.22]) with mapi id 15.01.0331.023; Mon, 30 Nov 2015 21:14:50 +0000 From: John Burwell To: "dev@cloudstack.apache.org" Subject: Re: Package Repositories Thread-Topic: Package Repositories Thread-Index: AQHRKBcSeUGn2Fctr0Cq4wFEmK0zSp6uDuEAgABgLYCAAA3rAIAADPkAgADK2gCAAD64gIAACkuAgAAAuwCAAAD5gIAEvpGAgAADMoCAAAD4gIAAAS0AgABpDYCAAEujAA== Date: Mon, 30 Nov 2015 21:14:49 +0000 Message-ID: <4925998C-7CBE-475A-B887-DE810124FA3E@shapeblue.com> References: <8238AF81-2BB2-4AEB-978E-906EA887BFCD@shapeblue.com> <772480582.69791.1448557706225.JavaMail.zimbra@li.nux.ro> <02D51410-C23C-4EAF-ACDF-B39446AA5A39@citrix.com> <39538BAB-A4ED-477C-9976-253A809BB3C7@gmail.com> <1140871896.72360.1448878825885.JavaMail.zimbra@li.nux.ro> <086A6676-FC19-41D9-AC41-50FBAEA30854@gmail.com> In-Reply-To: <086A6676-FC19-41D9-AC41-50FBAEA30854@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.2104) authentication-results: spf=none (sender IP is ) smtp.mailfrom=john.burwell@shapeblue.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [98.218.146.14] X-Microsoft-Exchange-Diagnostics-untrusted: 1;DB5PR07MB0773;5:eKYm/tuv/MYZTGKqZa5iCDThyTn5uv+Wh9arg7pMFF6BljbwPd4fPIDMjm/MXuM5j/nxbQmQkC89XJT+19kdtbCx4YM+/tEFMd+s9K1sVuDADfkaUexkhoOhXVqQH1IpFTH4+c+ZhNJ+kAo0UuZOrQ==;24:rtzY7iX8CZ5Q4+uwxWEPcp3OyKhqUU+gjZiJ9n/1T/6OX9tN2U8R1YUW3FjMISlrfM5tX6ccnJ3vJmiAhrwEN2CPrS+c/yUmRuApWTozhqg= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR07MB0773; X-Microsoft-Antispam-PRVS: x-exchange-antispam-report-test: UriScan:(121084725601253);UriScan:(121084725601253); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:DB5PR07MB0773;BCL:0;PCL:0;RULEID:;SRVR:DB5PR07MB0773;BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:AMSPR07MB406;BCL:0;PCL:0;RULEID:;SRVR:AMSPR07MB406; x-forefront-prvs: 0776C39A48 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10019020)(6009001)(189002)(13464003)(24454002)(199003)(377454003)(164054003)(13734003)(189998001)(19580405001)(15974865002)(102836003)(5004730100002)(86362001)(50226001)(107886002)(2900100001)(122556002)(97736004)(1720100001)(3846002)(2950100001)(586003)(19273905006)(6116002)(2351001)(36756003)(10400500002)(76176999)(110136002)(19580395003)(5002640100001)(15975445007)(40100003)(1096002)(221733001)(66066001)(5890100001)(105586002)(87936001)(11100500001)(5001960100002)(77096005)(83716003)(5008740100001)(106356001)(450100001)(81156007)(15395725005)(101416001)(93886004)(1220700001)(106116001)(50986999)(82746002)(57306001)(92566002)(2501003)(33656002)(104396002)(563064011);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR07MB0773;H:DB5PR07MB0774.eurprd07.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; received-spf: None (protection.outlook.com: shapeblue.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <366902F6559C784B86FA7696995DEE49@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR07MB0773 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB3FFO11FD044.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD044;1:FNL9iZm2BYWGhBozKaNH5ZrSRw75EE2vXiBOcoE8bEyQF9qOBPqa5msx72/PjWaHE+g62H6ntwoqY8v1KXHhjOp0tb1HABwTWWP+XhGtuH2ODs9+AZAS+dnl7uwyIlmjo4U6hYkEign5PlQxWA2+NENO7mahoSDJ6EpClBfiv8QJ2TO/hwbTIP6c4taXxio3ZW1oMntIvfp5Daq36hUSFWD/Tq/1xIJKIqVnll7cGS+frBAIeZiWfa8KO6orviCNvHFb0SbjhJOCGJJo1NGlU7MqfKBs5QQWH4DkinMN6qzGumTxknLk+06Uj6NPBo02UYXgb32CG2I/YVPazzGF/o6aG1j1DbSX2SZPC6w3Q9A= X-Forefront-Antispam-Report: CIP:104.40.229.156;CTRY:;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(199003)(377454003)(189002)(13734003)(13464003)(164054003)(24454002)(19580405001)(77096005)(106116001)(5890100001)(19580395003)(2501003)(57306001)(15975445007)(450100001)(82746002)(106466001)(2950100001)(86362001)(105596002)(92566002)(93886004)(2900100001)(15395725005)(76176999)(23676002)(66066001)(26826002)(1720100001)(221733001)(87936001)(47776003)(33656002)(50226001)(3846002)(50466002)(189998001)(36756003)(10400500002)(5008740100001)(586003)(11100500001)(6806005)(5001970100001)(15974865002)(40100003)(2351001)(110136002)(83716003)(21840400001)(1096002)(50986999)(122556002)(6116002)(102836003)(107886002)(1220700001)(19273905006)(5004730100002)(6070500001)(104396002)(563064011);DIR:OUT;SFP:1102;SCL:1;SRVR:AMSPR07MB406;H:smtp.eu1.exclaimer.net;FPR:;SPF:SoftFail;PTR:smtp.eu1.exclaimer.net;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB406;2:Ox01VEsVKs6LizRQavvc6rInBM47Mpw8l5sJdA5X+jieGvwKYddVcTqhBk8r+lfjcME1GYVUPIqr+PNDoRd2N5z/fckDsSd+8tC1hXUhwAYflryw+HwwHpXobnOcOeyD5yRv2xqKp0daUNNCwhSpDA==;3:84aBD3+8wy8GTgWubX4nMiTTUb4GivyHIQHQUlOPCXN30WhXgRAfVM+AQGEJP9WJialje3DkSR5sSpgRc837sNNu7fOruCjrw0gNBa9WdLE4Pt6UYegXgZD5DnpGEAPMpOXB5m2MXrxjBwQvtJr90lJMKfEbv5VFviLywOnLBjYu7hD2uRMl3WtknwxVqYTxvnig/Nf+eCgeaHmfQonUkAWjTxLz6EHjIrPtyshvDBc=;25:Q1NhnUnSO+t0iv/7CDReQuKQfmYXRZ4tgM0sdmJH3YEB+j5P1NIFqpC4SXP+YPJrWGp6CAf4E8uoAHbnMT5PxsUWC7BKEQJ+7a1ZW/ouQTwCxb57VE332zGx4lCOsfGq73SlEyQVzw0FKkTvlDREEH6Mit75ze5eV6dePlShHnw75mcoJXNoTVT/8M6y1i974vLbkjMwmlW/ciu+bIKuhsjF6f1Uv9Dal+kTrobai5iiI3JKw+zpQBlRMvqvrL6NFzhGrpl6RL5YKOGV/EuDIg==;20:uhMZkPrwCQU7i+ig9ddbAijy/3FcjseuTxM/TwkRmxLzEL3Ez0D9E+lEgOjYIQXrlNEJwbAbDVWa5EK6X+cEaGopW/vgh1GUjrUCEKrwXBYeGbLy4mDR0KiUMdb2qV7HomfuX5S/Z6uJ9GSPKaCL+gKWjnHnpG1ssUPoBInwY5BY/U4y9PcBURb4fsS8GsG2xlKsMHB9RWIlWOD5hXATbR0LvCVTPBtAT1dKSK/Kd9n9pPOtyH9l3x/STTeYbb8h X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AMSPR07MB406; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB406;4:M9z3P6HNdV/TiH/bHP+gKzl4mwcCyu18t/Pq2UUkslATRvBr7xtREyKfx/OfOfrfDVY42VulT8Z7bj1kRCUgaBxGTstenAlezgKMsLTQobDk+PRg2wbgqE9F451QooEneJfSy7BqGwTlixopHAar0rxhBAAFpuB3VcytM1u1YTr8hxdxT+X33H5S6qSd3EXbFFWXUlPlikKMH02eNKeUbK0NrD2gwwDTlhg+k+P5S1Cn6NnItkcIlESkKHQZFtQrKMHwWaTnZD7BS57U4rrBlACf8QYE7L8sAX7/MV0aZl2V0dkDucvsuS0Dgf6y13R6VWq0tJLl4L747nVHcZN1ID4kpNgm5fZ3nkdiDEdSasKV0HShG4lIhpOsLBw87xnXUBcGw63yB5gUBdfjpgrQfUNRHFAu5v8lYxnk/Ku2CWIthS1rjKhpfdF4CBlOL1M3 X-Forefront-PRVS: 0776C39A48 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUI0MDY7MjM6K095SjR1MnJXMi9rZmg3QkJENHhSNjh0OGl4?= =?utf-8?B?WmtUMkpqMmgvL3diZ1R4VnNVbUtBUUNVaDZjcWJyWmViYnNQK1RJaEJiWC8z?= =?utf-8?B?S1pDbDA2SFMxd0ZadUkvanZOWi9zdXVHYVNMS2hLc1pxa2J2TytwQmgrc01Q?= =?utf-8?B?M3ZDSStVUVpRdlcvWlhvL3FPckg5SjBuaG5FZjhKQzhHb3ZhdkVMN1pZRUkz?= =?utf-8?B?NXl5QkxQUW45RW5SaTlqcTF3L0U0RGpRdnFobGhmamVwLzd3MVkxMnlBYXND?= =?utf-8?B?dDlyRTIwbEI4TTFGSjljc0lWTjI3dWJrQ0o0cHRWRWRGTVNGaG9BMHF4bU1w?= =?utf-8?B?TUY1TzFydStZN3cyNjg0VW1oTjdsUjgydUduQ0ZLV0xPU1JMS1RSWWFsNjZ1?= =?utf-8?B?ZVNDVjg5di80aTByR3l5QmZwUFI4MERIdEh4bnJxK3Z3NDBpcXhPZ1dZb2tv?= =?utf-8?B?VTZTUVBEK0VQOHI5dC83dUlxaHRtdXhhV0lWNGdTT0VLSS9CbEJiVVAySFIz?= =?utf-8?B?U1VCWkg3OWZUa1pOcTk5U3Uwa1EvdHpielJqY3BpTWVzWk5lVlowd3h6VDFW?= =?utf-8?B?S09Kc1cvSHZ3MW1jTlhmSndjU0VvOFdRQkx1VWZaOG44a20rREpFcHNiRnB1?= =?utf-8?B?TzhQWXJiUnBzV1JJU3cvZThDMmVxQkNHNDZOVWQydUlOZTl1NnZrbEZiV05Y?= =?utf-8?B?a2hVY0RQeVZFRS9jK0N6RHAvejRGejE0cDZSSGRVaVl1V1JpOW1wNmV2Yit0?= =?utf-8?B?c3p2N2t6dFVNM3dZMWhncmVQNjJON0gxZ1lDZ1Z0c2tWVzMxRjFweDlYb21y?= =?utf-8?B?T0xPV3BORlNGd0dKYnBlbkVoYUJiMnBOaXgxMVdadGRPUDVZeWFndHpnS2xS?= =?utf-8?B?S0czcnRnQ1lOcXIvcTZOU25YWHlDeDA3NVJkUWRFbnQ0S3ZqaVUrVHhKNzJB?= =?utf-8?B?bzloU3JERUNIZkdBZ2VqV29HS1lSckxxeG9DeDBRYTR4TUJkMmtOakxQc2hF?= =?utf-8?B?WWNzQkFZbldwaTdUYXlJdlRpUXVUV3RNZ2Y4NmVPeXFXcHlwajVOOXRSUXRu?= =?utf-8?B?NVBOUE1VUWpmbW5UMm9XM21kZkNpZHozNjhKZFRZbVdHM2hMU0hjL05nbWta?= =?utf-8?B?UlQ5eUhwQm0yV1gxTXF2MStuRzF4akZIZU5ZTW85TThORnlMLzFMV253b3My?= =?utf-8?B?NUxoNDd2UVdDMGtYdnA1RURTZTBKaFY2ZW5DVHlVdWpyTmRpVHpncm9TeXha?= =?utf-8?B?bjBtb1VEd3pQejhJTVlRRVpsbmZvZGxjU3pnbUF0RURVT3FmTHMwY2ZxVkVl?= =?utf-8?B?emc4dmE3d1hiMGhUU1VKYi9FckVFREhQRVQxcGJiZUFPN3R2Z2ZrVXZlVlNT?= =?utf-8?B?Q3ByVDBXVlZxL0h1cjJneG5NRGFWU3czbWErUkJNRDZNME4xeFNTNlN1ekNI?= =?utf-8?B?c1gvRG85U3F5LzZ0dFF6angzK2diT3hMbHRlektkMHZ1L1YxbmJ2RmJaVExQ?= =?utf-8?B?dGU5cjg0YXdhTUliZUcxc0t3YThLaEE4b0pmdGp5SjlzZTh0WXJocW1HaWNV?= =?utf-8?B?SERxUytQcmRBd1ppSUFjQkcyOXgxSkJscWQvMzdmRWJsWDhqN0dUWUhUd2Zv?= =?utf-8?B?bG9kRWZBcUNlT3d2REhjcFgyZUpnVGVFRVRSd092NEJSTmNxVVhWbTNxL2NC?= =?utf-8?B?SlpTSGhDeTVSQjZtckZWTnllRFJaVENGcG5zWU1kTm1Ud08vdXVUaVRFdHNM?= =?utf-8?B?WXJObjBkZ0JWL2Q5cWtmV2lOT1VWVVdaWk1YRHI0RTJiV2ZiZ0J0NWJNUWs4?= =?utf-8?B?VzFkOVhDd1JQT2tQVjgvR3FYdHFtbGxPWndjSTBZWHgzekVlb1NncSthVVdU?= =?utf-8?B?RzFIL3JWTWI4MCtqcVprWXcydGZTNUtHZFFxR3k2dEtGWUtKeXlSbTV6TXBz?= =?utf-8?B?TjRIRTd4M3l6YlVLc3ZSZTI3TEIrUElkaWN4anZnYkJEalpsUDE3emh0ZkhF?= =?utf-8?B?YzJTUmxIZklVNWRGY1E4NTRGZUVVQlJFVE5yWjlTeHNFWkJQbnJ5ekF5aWZu?= =?utf-8?B?MlNmMzZ4QlkvNHZBZG1rTmlHbGxXWVRmeHh4dk9LakduU3RjWm9FNFBlS0ZD?= =?utf-8?B?bHAwc1lEYXlib3p2SnFJZ09ZaEI4NExsQUxWcWo0NzBzWUhzdERtWS9RdmlP?= =?utf-8?B?OXFHVHZGQ0RGcHVIRjdGUkpuMlNNUmwvU3dWUWNQcmN1YXFpTkNYbWFJZy9j?= =?utf-8?Q?VS4CE6Vt2DWl+1aKC?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB406;5:fKS08aOyRWgcfCYE8Y/XhyVf5gO6Q5pIQLCuwjFe7Mn9eOAzQfebFNSG43A917FIfGhUnEHO33LqiQlXEk5qeLgKQZdV2hTljb2mTE+Yj/BeoxV+tJn8dnAWoR7qI7X8L56feii6R5ClUFLfEkBA5Q==;24:LxSdx1Qwr0qskSJTJD7S2chhjG5HsPWr71j1hFRMUw3/10IfWa67mWaasoiMpWLM3OO6i38M1o9XpVivLdfokB4FEkfSmbn0awSBGBoB3kk= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: shapeblue.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2015 21:14:52.9862 (UTC) X-MS-Exchange-CrossTenant-Id: fc8906f6-e50e-4dad-98a0-ec2e3abe14f5 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fc8906f6-e50e-4dad-98a0-ec2e3abe14f5;Ip=[104.40.229.156];Helo=[smtp.eu1.exclaimer.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB406 U2ViYXN0aWFuLA0KDQpBcyBJIG1lbnRpb25lZCBpbiBteSBpbml0aWFsIG1lc3NhZ2UsIHRoZSBw dWJsaWMgU2hhcGVCbHVlIHJlcG9zaXRvcmllcyBbMV0gYXJlIG5vcmVkaXN0IGJ1aWxkcyBvZiBy ZWxlYXNlIGJhc2VsaW5lcyB3aXRoIG5vIGFkZGl0aW9uYWwgcGF0Y2hlcyBvciBjaGFuZ2VzLiAg TXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHRoZSBwcm9qZWN0IGNhbm5vdCBvZmZpY2lhbGx5IGRp c3RyaWJ1dGUgdGhlIG5vcmVkaXN0IHBsdWdpbnMgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgY29t bXVuaXR5IHRvIGRpc3RyaWJ1dGUgbGlicmFyaWVzIHJlcXVpcmVkIGJ5IHRoZXNlIGNvbXBvbmVu dHMuICBJZiBteSB1bmRlcnN0YW5kaW5nIGlzIGNvcnJlY3QsIEkgZG9u4oCZdCB0aGluayBhIGNv bW11bml0eSBtYW5hZ2VkIHBhY2thZ2UgcmVwb3MgY291bGQgY29udGFpbiBwYWNrYWdlcyB3aXRo IHRoaXMgY29tcG9uZW50cy4NCg0KSSBhbSArMSB0byB0aGUgY2F0ZWdvcmllcy4gIEkgYW0gKzEg dG8gdGhlIG1ha2luZyBwYWNrYWdlcyBvZmZpY2lhbCBwcm9qZWN0IGRlbGl2ZXJhYmxlcyB0aGF0 IGFyZSB2b3RlZCBvdXQuICBVc2VycyBjbGVhciBwcmVmZXIgdG8gaW5zdGFsbCB2aWEgcGFja2Fn ZXMuICBJdCBzZWVtcyBsaWtlIGFwcGx5aW5nIHRoZSBmdWxsIGF0dGVudGlvbiBvZiB0aGUgY29t bXVuaXR5IHRvIHRlc3QgdGhlbSB3b3VsZCBjZXJ0YWlubHkgYSBnb29kIHRoaW5nIGZvciB1c2Vy cy4NCg0KVGhhbmtzLA0KLUpvaG4NCg0KWzFdOiBodHRwOi8vcGFja2FnZXMuc2hhcGVibHVlLmNv bS9jbG91ZHN0YWNrL3Vwc3RyZWFtDQoNCuKAlA0KSm9obiBCdXJ3ZWxsDQpWUCBTb2Z0d2FyZSBF bmdpbmVlcmluZw0KDQoNClVTQTogKDU3MSkgNDAzLTI0MTEgfCBVSzogKzQ0IDIwIDM2MDMgMDU0 Mg0Kam9obi5idXJ3ZWxsQHNoYXBlYmx1ZS5jb20gfCB3d3cuc2hhcGVibHVlLmNvbSB8IFR3aXR0 ZXI6IEBTaGFwZUJsdWUNClNoYXBlQmx1ZSBMdGQsIDUzIENoYW5kb3MgUGxhY2UsIENvdmVudCBH YXJkZW4sIExvbmRvbiwgV0MyTiA0SFMNCg0KPiBPbiBOb3YgMzAsIDIwMTUsIGF0IDExOjQ0IEFN LCBzZWJnb2EgPHJ1bnNlYkBnbWFpbC5jb20+IHdyb3RlOg0KPg0KPg0KPiBPbiBOb3YgMzAsIDIw MTUsIGF0IDExOjI4IEFNLCBQYXVsIEFuZ3VzIDxwYXVsLmFuZ3VzQHNoYXBlYmx1ZS5jb20+IHdy b3RlOg0KPg0KPj4gU2ViYXN0aWVuLA0KPj4NCj4+IENhbiB5b3UgY29uZmlybSB0aGF0IHVzZXJz IGNhbiBleHBlY3QgdG8gZmluZCB0aGUgbm9yZWRpc3QgYnVpbGQgb2YgdGhlIHJwbXMgYW5kIGRl YnMgYXQgYXB0LWdldC5ldSA/DQo+Pg0KPg0KPiBJIGRvbid0IGtub3cNCj4NCj4gV2hhdCBJIHVu ZGVyc3Rvb2QgZnJvbSBSb2hpdCwgaXMgdGhhdCB0aGUgInNoYXBlYmx1ZSIgcmVwbyBhbHNvIGNv bnRhaW5zIHBrZ3MgdGhhdCBhcmUgaG90LWZpeGVkIGFuZCBoYXZlIGZlYXR1cmVzIGJhY2sgcG9y dGVkLg0KPiBJbiB0aGF0IHNlbnNlIGl0IGlzIHF1aXRlIGEgZGlmZmVyZW50IHJlcG8gdGhhbiBh cHQtZ2V0IHdoaWNoIG9ubHkgaGFzIHBrZyBmb3IgZWFjaCByZWxlYXNlLg0KPg0KPg0KPj4NCj4+ DQo+Pg0KPj4gUGF1bCBBbmd1cw0KPj4gVlAgVGVjaG5vbG9neSAgICAgICAgICwgICAgICAgU2hh cGVCbHVlIEx0ZA0KPj4gczogICAwMjAzNjE3MDUyOCAgICAgICB8ICAgICAgdDogICAgIEBjbG91 ZHlhbmd1cyAgICAgIHwgICAgICBtOiAgICAgKzQ0IDc3MTE0MTg3ODQNCj4+IGU6ICAgcGF1bC5h bmd1c0BzaGFwZWJsdWUuY29tICAgICAgICAgIHwgICAgICB3OiAgICAgd3d3LnNoYXBlYmx1ZS5j b20NCj4+ICAgICAgIDUzIENoYW5kb3MgUGxhY2UsIENvdmVudCBHYXJkZW4sIExvbmRvbiBXQzJO IDRIUy4gVUsNCj4+DQo+PiBTaGFwZSBCbHVlIEx0ZCBpcyBhIGNvbXBhbnkgaW5jb3Jwb3JhdGVk IGluIEVuZ2xhbmQgJiBXYWxlcy4gU2hhcGVCbHVlIFNlcnZpY2VzIEluZGlhIExMUCBpcyBhIGNv bXBhbnkgaW5jb3Jwb3JhdGVkIGluIEluZGlhIGFuZCBpcyBvcGVyYXRlZCB1bmRlciBsaWNlbnNl IGZyb20gU2hhcGUgQmx1ZSBMdGQuIFNoYXBlIEJsdWUgQnJhc2lsIENvbnN1bHRvcmlhIEx0ZGEg aXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBCcmFzaWwgYW5kIGlzIG9wZXJhdGVkIHVuZGVy IGxpY2Vuc2UgZnJvbSBTaGFwZSBCbHVlIEx0ZC4gU2hhcGVCbHVlIFNBIFB0eSBMdGQgaXMgYSBj b21wYW55IHJlZ2lzdGVyZWQgYnkgVGhlIFJlcHVibGljIG9mIFNvdXRoIEFmcmljYSBhbmQgaXMg dHJhZGVkIHVuZGVyIGxpY2Vuc2UgZnJvbSBTaGFwZSBCbHVlIEx0ZC4gU2hhcGVCbHVlIGlzIGEg cmVnaXN0ZXJlZCB0cmFkZW1hcmsuDQo+PiBUaGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMg dG8gaXQgbWF5IGJlIGNvbmZpZGVudGlhbCBhbmQgYXJlIGludGVuZGVkIHNvbGVseSBmb3IgdGhl IHVzZSBvZiB0aGUgaW5kaXZpZHVhbCB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4gQW55IHZpZXdz IG9yIG9waW5pb25zIGV4cHJlc3NlZCBhcmUgc29sZWx5IHRob3NlIG9mIHRoZSBhdXRob3IgYW5k IGRvIG5vdCBuZWNlc3NhcmlseSByZXByZXNlbnQgdGhvc2Ugb2YgU2hhcGUgQmx1ZSBMdGQgb3Ig cmVsYXRlZCBjb21wYW5pZXMuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQg b2YgdGhpcyBlbWFpbCwgeW91IG11c3QgbmVpdGhlciB0YWtlIGFueSBhY3Rpb24gYmFzZWQgdXBv biBpdHMgY29udGVudHMsIG5vciBjb3B5IG9yIHNob3cgaXQgdG8gYW55b25lLiBQbGVhc2UgY29u dGFjdCB0aGUgc2VuZGVyIGlmIHlvdSBiZWxpZXZlIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1h aWwgaW4gZXJyb3IuDQo+Pg0KPj4NCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBG cm9tOiBEYWFuIEhvb2dsYW5kIFttYWlsdG86ZGFhbi5ob29nbGFuZEBnbWFpbC5jb21dDQo+PiBT ZW50OiAzMCBOb3ZlbWJlciAyMDE1IDEwOjI0DQo+PiBUbzogZGV2IDxkZXZAY2xvdWRzdGFjay5h cGFjaGUub3JnPg0KPj4gU3ViamVjdDogUmU6IFBhY2thZ2UgUmVwb3NpdG9yaWVzDQo+Pg0KPj4g KzEgYWxsIHRoZSB3YXksIHNlYmFzdGllbg0KPj4NCj4+IE9uIE1vbiwgTm92IDMwLCAyMDE1IGF0 IDExOjIwIEFNLCBOdXghIDxudXhAbGkubnV4LnJvPiB3cm90ZToNCj4+DQo+Pj4gKzEgeW91ciBj YXRlZ29yaWVzLg0KPj4+DQo+Pj4gQWxzbyArMSBmb3IgdGhlIHVuaWZpZWQgdGhpbmcgdW5kZXIg Y2xvdWRzdGFjay5hcGFjaGUub3JnIGRvbWFpbi4NCj4+Pg0KPj4+IC0tDQo+Pj4gU2VudCBmcm9t IHRoZSBEZWx0YSBxdWFkcmFudCB1c2luZyBCb3JnIHRlY2hub2xvZ3khDQo+Pj4NCj4+PiBOdXgh DQo+Pj4gd3d3Lm51eC5ybw0KPj4+DQo+Pj4gLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQ0K Pj4+PiBGcm9tOiAic2ViZ29hIiA8cnVuc2ViQGdtYWlsLmNvbT4NCj4+Pj4gVG86IGRldkBjbG91 ZHN0YWNrLmFwYWNoZS5vcmcNCj4+Pj4gU2VudDogTW9uZGF5LCAzMCBOb3ZlbWJlciwgMjAxNSAx MDowODo1OQ0KPj4+PiBTdWJqZWN0OiBSZTogUGFja2FnZSBSZXBvc2l0b3JpZXMNCj4+Pg0KPj4+ PiBIaSBmb2xrcywgd2UgbmVlZCB0byByZXNvbHZlIHRoaXMuDQo+Pj4+DQo+Pj4+IDEtQnV0IEkg aGF2ZSB0byBzdGFydCB3aXRoIG9uZSBjb21tZW50Og0KPj4+PiBBcGFjaGUgb3BlbiBvZmZpY2Ug cmVsZWFzZXMgYmluYXJpZXMsIHVzZXJzIGRvbid0IGNvbXBpbGUgZnJvbSBzb3VyY2UuDQo+Pj4g U28gaXQgaXMNCj4+Pj4gcG9zc2libGUgd2l0aGluIEFTRiB0byBvZmZpY2lhbGx5IHJlbGVhc2Ug YmluYXJpZXMuDQo+Pj4+DQo+Pj4+IDItV2UgaGF2ZSBzZXZlcmFsIGluaXRpYXRpdmVzIGFyb3Vu ZCByZXBvcywgYXB0LWdldC5ldSAoV2lkbyksDQo+Pj4gc2hhcGVibHVlIHJlcG9zLA0KPj4+PiBO dXggbWlycm9ycyBhbmQgaW1hZ2UgdGVtcGxhdGVzLg0KPj4+PiBTZWVtcyBldmVyeW9uZSBhZ3Jl ZXMgd2UgbmVlZCBhIHRhZyB0ZWFtIHRvIGNvb3JkaW5hdGUgYWxsIG9mIGl0IGFuZA0KPj4+IG9m ZmVyIGENCj4+Pj4gdW5pZmllZCBmcm9udC4NCj4+Pj4NCj4+Pj4gMy1UaGlzIHVuaWZpZWQgZnJv bnQgaXMgZ3JlYXQsIGJ1dCBpdCB3b24ndCBoYXBwZW4gdGhpcyB3ZWVrLCBpdA0KPj4+PiB3aWxs DQo+Pj4gdGFrZSB0aW1lDQo+Pj4+IGFuZCBkZWRpY2F0aW9uLg0KPj4+Pg0KPj4+PiA0LVRoZSBz bWFsbCBpc3N1ZSB3ZSBhcmUgZmFjaW5nIGlzIGFib3V0IDMgbGluZXMgaW4gYW4gSFRNTCBmaWxl IG9uDQo+Pj4+IG91cg0KPj4+IHdlYnNpdGUuDQo+Pj4+IFBpZXJyZS1MdWMgYW5kIEkgaGFkIGEg Y2hhdCBGcmlkYXksIGluIG9uZSBvZiBoaXMgY29tbWVudHMgb24gdGhlIFBSDQo+Pj4+IGhlIHN1 Z2dlc3RlZCB0aGF0IHdlIGxpc3QgMyBjYXRlZ29yaWVzOg0KPj4+Pg0KPj4+PiAtIHNvdXJjZQ0K Pj4+PiAtIGNvbW11bml0eSByZXBvDQo+Pj4+IC0gMy1yZCBwYXJ0eSByZXBvDQo+Pj4+DQo+Pj4+ IEkgYW0gKzEgd2l0aCB0aGlzLCB3aHkgPw0KPj4+Pg0KPj4+PiAtc291cmNlIGlzIGEgbm8gYnJh aW5lcg0KPj4+PiAtIGNvbW11bml0eSByZXBvIChhcHQtZ2V0KSBiZWNhdXNlIHRoYXQncyBvdXIg ZGVmYWN0byBwa2cgcmVwbyBldmVuDQo+Pj4gdGhvdWdoIHdlDQo+Pj4+IGRvbid0IHZvdGUgb24g cGFja2FnZXMuIFRoZXJlIHdhcyBub3Qgdm90ZSB0byBzYXkgdGhlc2Ugd2VyZSBvdXINCj4+PiBj b21tdW5pdHkgcmVwbw0KPj4+PiBidXQgdGhhdCdzIGEgZmFjdC4gU2V2ZXJhbCBwZW9wbGUgaGF2 ZSBhY2Nlc3MgdG8gdGhlIG1hY2hpbmUgYW5kIGNhbg0KPj4+PiBtYWtlIHVwZGF0ZXMgZXRjLi4u DQo+Pj4+IC0gM3JkIHBhcnR5LCBhbGxvd3MgdXMgdG8gbGlzdCB2ZW5kb3IgcGtnIHJlcG8uIFRo ZSBtb3JlIHZlbmRvcnMNCj4+Pj4gcHJvdmlkZSBDbG91ZFN0YWNrIHRoZSBiZXR0ZXIuIEkgc2Vl IGl0IGEgYml0IGxpa2UgdGhlICJib29rcyINCj4+Pj4gZGlzY3Vzc2lvbnMgd2UgaGFkIGNvdXBs ZSB5ZWFycyBhZ28uIFdlIGRvIG5vdCBlbmRvcnNlIHRoZW0sIGJ1dCB3ZSBzaG91bGQgcHJvbW90 ZSB0aGVtLg0KPj4+Pg0KPj4+PiBJbiBvdXIgZG9jcyBob3dldmVyLCB3ZSBzaG91bGQgbm90IGJl IHJlZmVyZW5jaW5nIDNyZCBwYXJ0eSByZXBvcywNCj4+Pj4gYW5kDQo+Pj4gYW55IFVSTHMNCj4+ Pj4gc2hvdWxkIGJlIGNsb3Vkc3RhY2sgcHJvamVjdCBzcGVjaWZpYy4NCj4+Pj4NCj4+Pj4gQ2Fu IHlvdSBwbGVhc2UgcmVwbHkgd2l0aCB5b3VyIHZvdGUgb24gdGhlc2UgMyBjYXRlZ29yaWVzLiBJ IHRoaW5rDQo+Pj4+IGl0J3MgYSBjb21wcm9taXNlIHRoYXQgaGVscHMgdXMgbW92ZSBmb3J3YXJk Lg0KPj4+Pg0KPj4+PiAtc2ViYXN0aWVuDQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+IE9uIE5vdiAy NywgMjAxNSwgYXQgMTA6NDEgQU0sIERhYW4gSG9vZ2xhbmQNCj4+Pj4gPGRhYW4uaG9vZ2xhbmRA Z21haWwuY29tPg0KPj4+IHdyb3RlOg0KPj4+Pg0KPj4+Pj4gT24gRnJpLCBOb3YgMjcsIDIwMTUg YXQgMTA6MzggQU0sIFBhdWwgQW5ndXMNCj4+Pj4+IDxwYXVsLmFuZ3VzQHNoYXBlYmx1ZS5jb20+ DQo+Pj4+PiB3cm90ZToNCj4+Pj4+DQo+Pj4+Pj4gRG9lc24ndCB0aGF0IG1lYW50IHRoYXQgd2Un bGwgaGF2ZSB0byB2b3RlIG9uIHRoZSBzb3VyY2UgYW5kIHRoZQ0KPj4+IHBhY2thZ2VkDQo+Pj4+ Pj4gcnBtcy9kZWJzIG90aGVyd2lzZSB0aGV5IHdlIGhhdmUgbm8gb2ZmaWNpYWwgY29tbXVuaXR5 IHN0YW5kaW5nLiA/DQo+Pj4+Pj4NCj4+Pj4+IOKAi0kgYW0gbm90IHN1cmUgaG93IHdlIGNhbiBn aXZlIHRoZW0gb2ZmaWNpYWwgc3RhbmRpbmcgeWV0IGJ1dCB3ZQ0KPj4+Pj4gYXJlIHRoZSBhcGFj aGUgZm91bmRhdGlvbuKAiywgc28gd2Ugdm90ZSBvbiBzb3VyY2UuIEkgd291bGQgc2F5IHdlDQo+ Pj4+PiB2b3RlIG9uIHRoZSBwYWNrYWdpbmcgc29mdHdhcmUgZnJvbSBhIGRpZmZlcmVudCByZXBv IHRoZW4gdGhlDQo+Pj4+PiBjb3JlK3BsdWdpbnMgYW5kIGF1dG9tYXRpY2FsbHkgdXBkYXRlIGEg cmVwbyBmcm9tIHRoYXQgb25lLiBUaGUNCj4+Pj4+IHJlcG8gd2lsbCBub3QgYmUgZW5kb3JzZWQg YnV0IHRoZSB3YXkgaXQgaXMgZmlsbGVkIHdpbGwgYmUuDQo+Pj4+Pg0KPj4+Pj4gbXkg4oKsMCww MiBvZiBmdXR1cmUgZHJlYW1zDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+Pj4+Pj4gRnJvbTogRGFhbiBIb29nbGFuZCBbbWFpbHRvOmRhYW4uaG9vZ2xh bmRAZ21haWwuY29tXQ0KPj4+Pj4+IFNlbnQ6IDI3IE5vdmVtYmVyIDIwMTUgMDk6MzYNCj4+Pj4+ PiBUbzogZGV2IDxkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPg0KPj4+Pj4+IFN1YmplY3Q6IFJl OiBQYWNrYWdlIFJlcG9zaXRvcmllcw0KPj4+Pj4+DQo+Pj4+Pj4gT24gRnJpLCBOb3YgMjcsIDIw MTUgYXQgOTo1OCBBTSwgUGF1bCBBbmd1cw0KPj4+Pj4+IDxwYXVsLmFuZ3VzQHNoYXBlYmx1ZS5j b20+DQo+Pj4+Pj4gd3JvdGU6DQo+Pj4+Pj4NCj4+Pj4+Pj4gU28uIE15IHVuZGVyc3RhbmRpbmcg aXMgdGhhdCB0byBtYWtlIHRoZSBwYWNrYWdlcyBpbiB0aGUgcmVwbw0KPj4+ICdvZmZpY2lhbCcN Cj4+Pj4+Pj4gdGhleSBtdXN0IGJlIHZvdGVkIG9uLiAtLSB3b3VsZCB3ZSBtYWtlIHRoZSBwYWNr YWdlcyB3aGF0IHdlDQo+Pj4+Pj4+IHZvdGUgb24sIHJhdGhlciB0aGF0IHRoZSBzb3VyY2UgY29k ZSAoYmVhcmluZyBpbiBtaW5kIHlvdSBjYW4ndCBzZXBhcmF0ZSB0aGUNCj4+Pj4+Pj4gcGFja2Fn aW5nIGluIHRoYXQgY2FzZSkuIElNSE8sIGl0J2xsIG1ha2UgdGVzdGluZyBhIHdob2xlIGxvdA0K Pj4+IHNpbXBsZXINCj4+Pj4+PiBmb3INCj4+Pj4+Pj4gZm9sa3MgaWYgdGhlcmUgaXMganVzdCBu byByZXF1aXJlbWVudCB0byBidWlsZCBmcm9tIHNvdXJjZS4NCj4+Pj4+Pj4NCj4+Pj4+Pg0KPj4+ Pj4+IOKAi1dlIHdpbGwgbm90IHN0b3Agdm90aW5nIG9uIHRoZSBzb3VyY2UhIEFueSB2b3RlIG9u IC0sIG9yDQo+Pj4+Pj4gb3RoZXJ3aXNlIGhhbmRsaW5nIG9mIHBhY2thZ2VzIGlzIGEgc2VwYXJh dGUgdGhpbmcu4oCLDQo+Pj4+Pj4NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gLS0NCj4+Pj4+IERhYW4N Cj4+Pg0KPj4NCj4+DQo+Pg0KPj4gLS0NCj4+IERhYW4NCj4+IEZpbmQgb3V0IG1vcmUgYWJvdXQg U2hhcGVCbHVlIGFuZCBvdXIgcmFuZ2Ugb2YgQ2xvdWRTdGFjayByZWxhdGVkIHNlcnZpY2VzDQo+ Pg0KPj4gSWFhUyBDbG91ZCBEZXNpZ24gJiBCdWlsZDxodHRwOi8vc2hhcGVibHVlLmNvbS9pYWFz LWNsb3VkLWRlc2lnbi1hbmQtYnVpbGQvLz4NCj4+IENTRm9yZ2Ug4oCTIHJhcGlkIElhYVMgZGVw bG95bWVudCBmcmFtZXdvcms8aHR0cDovL3NoYXBlYmx1ZS5jb20vY3Nmb3JnZS8+DQo+PiBDbG91 ZFN0YWNrIENvbnN1bHRpbmc8aHR0cDovL3NoYXBlYmx1ZS5jb20vY2xvdWRzdGFjay1jb25zdWx0 YW5jeS8+DQo+PiBDbG91ZFN0YWNrIFNvZnR3YXJlIEVuZ2luZWVyaW5nPGh0dHA6Ly9zaGFwZWJs dWUuY29tL2Nsb3Vkc3RhY2stc29mdHdhcmUtZW5naW5lZXJpbmcvPg0KPj4gQ2xvdWRTdGFjayBJ bmZyYXN0cnVjdHVyZSBTdXBwb3J0PGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3RhY2staW5m cmFzdHJ1Y3R1cmUtc3VwcG9ydC8+DQo+PiBDbG91ZFN0YWNrIEJvb3RjYW1wIFRyYWluaW5nIENv dXJzZXM8aHR0cDovL3NoYXBlYmx1ZS5jb20vY2xvdWRzdGFjay10cmFpbmluZy8+DQo+Pg0KPj4g VGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIHRvIGl0IG1heSBiZSBjb25maWRlbnRpYWwg YW5kIGFyZSBpbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGluZGl2aWR1YWwgdG8g d2hvbSBpdCBpcyBhZGRyZXNzZWQuIEFueSB2aWV3cyBvciBvcGluaW9ucyBleHByZXNzZWQgYXJl IHNvbGVseSB0aG9zZSBvZiB0aGUgYXV0aG9yIGFuZCBkbyBub3QgbmVjZXNzYXJpbHkgcmVwcmVz ZW50IHRob3NlIG9mIFNoYXBlIEJsdWUgTHRkIG9yIHJlbGF0ZWQgY29tcGFuaWVzLiBJZiB5b3Ug YXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IG9mIHRoaXMgZW1haWwsIHlvdSBtdXN0IG5l aXRoZXIgdGFrZSBhbnkgYWN0aW9uIGJhc2VkIHVwb24gaXRzIGNvbnRlbnRzLCBub3IgY29weSBv ciBzaG93IGl0IHRvIGFueW9uZS4gUGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBpZiB5b3UgYmVs aWV2ZSB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsIGluIGVycm9yLiBTaGFwZSBCbHVlIEx0 ZCBpcyBhIGNvbXBhbnkgaW5jb3Jwb3JhdGVkIGluIEVuZ2xhbmQgJiBXYWxlcy4gU2hhcGVCbHVl IFNlcnZpY2VzIEluZGlhIExMUCBpcyBhIGNvbXBhbnkgaW5jb3Jwb3JhdGVkIGluIEluZGlhIGFu ZCBpcyBvcGVyYXRlZCB1bmRlciBsaWNlbnNlIGZyb20gU2hhcGUgQmx1ZSBMdGQuIFNoYXBlIEJs dWUgQnJhc2lsIENvbnN1bHRvcmlhIEx0ZGEgaXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBC cmFzaWwgYW5kIGlzIG9wZXJhdGVkIHVuZGVyIGxpY2Vuc2UgZnJvbSBTaGFwZSBCbHVlIEx0ZC4g U2hhcGVCbHVlIFNBIFB0eSBMdGQgaXMgYSBjb21wYW55IHJlZ2lzdGVyZWQgYnkgVGhlIFJlcHVi bGljIG9mIFNvdXRoIEFmcmljYSBhbmQgaXMgdHJhZGVkIHVuZGVyIGxpY2Vuc2UgZnJvbSBTaGFw ZSBCbHVlIEx0ZC4gU2hhcGVCbHVlIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsuDQo+PiBGaW5k IG91dCBtb3JlIGFib3V0IFNoYXBlQmx1ZSBhbmQgb3VyIHJhbmdlIG9mIENsb3VkU3RhY2sgcmVs YXRlZCBzZXJ2aWNlcw0KPj4NCj4+IElhYVMgQ2xvdWQgRGVzaWduICYgQnVpbGQNCj4+IENTRm9y Z2Ug4oCTIHJhcGlkIElhYVMgZGVwbG95bWVudCBmcmFtZXdvcmsNCj4+IENsb3VkU3RhY2sgQ29u c3VsdGluZw0KPj4gQ2xvdWRTdGFjayBTb2Z0d2FyZSBFbmdpbmVlcmluZw0KPj4gQ2xvdWRTdGFj ayBJbmZyYXN0cnVjdHVyZSBTdXBwb3J0DQo+PiBDbG91ZFN0YWNrIEJvb3RjYW1wIFRyYWluaW5n IENvdXJzZXMNCj4+DQo+PiBUaGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgdG8gaXQgbWF5 IGJlIGNvbmZpZGVudGlhbCBhbmQgYXJlIGludGVuZGVkIHNvbGVseSBmb3IgdGhlIHVzZSBvZiB0 aGUgaW5kaXZpZHVhbCB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4gQW55IHZpZXdzIG9yIG9waW5p b25zIGV4cHJlc3NlZCBhcmUgc29sZWx5IHRob3NlIG9mIHRoZSBhdXRob3IgYW5kIGRvIG5vdCBu ZWNlc3NhcmlseSByZXByZXNlbnQgdGhvc2Ugb2YgU2hhcGUgQmx1ZSBMdGQgb3IgcmVsYXRlZCBj b21wYW5pZXMuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQgb2YgdGhpcyBl bWFpbCwgeW91IG11c3QgbmVpdGhlciB0YWtlIGFueSBhY3Rpb24gYmFzZWQgdXBvbiBpdHMgY29u dGVudHMsIG5vciBjb3B5IG9yIHNob3cgaXQgdG8gYW55b25lLiBQbGVhc2UgY29udGFjdCB0aGUg c2VuZGVyIGlmIHlvdSBiZWxpZXZlIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4gZXJy b3IuIFNoYXBlIEJsdWUgTHRkIGlzIGEgY29tcGFueSBpbmNvcnBvcmF0ZWQgaW4gRW5nbGFuZCAm IFdhbGVzLiBTaGFwZUJsdWUgU2VydmljZXMgSW5kaWEgTExQIGlzIGEgY29tcGFueSBpbmNvcnBv cmF0ZWQgaW4gSW5kaWEgYW5kIGlzIG9wZXJhdGVkIHVuZGVyIGxpY2Vuc2UgZnJvbSBTaGFwZSBC bHVlIEx0ZC4gU2hhcGUgQmx1ZSBCcmFzaWwgQ29uc3VsdG9yaWEgTHRkYSBpcyBhIGNvbXBhbnkg aW5jb3Jwb3JhdGVkIGluIEJyYXNpbCBhbmQgaXMgb3BlcmF0ZWQgdW5kZXIgbGljZW5zZSBmcm9t IFNoYXBlIEJsdWUgTHRkLiBTaGFwZUJsdWUgU0EgUHR5IEx0ZCBpcyBhIGNvbXBhbnkgcmVnaXN0 ZXJlZCBieSBUaGUgUmVwdWJsaWMgb2YgU291dGggQWZyaWNhIGFuZCBpcyB0cmFkZWQgdW5kZXIg bGljZW5zZSBmcm9tIFNoYXBlIEJsdWUgTHRkLiBTaGFwZUJsdWUgaXMgYSByZWdpc3RlcmVkIHRy YWRlbWFyay4NCg0KRmluZCBvdXQgbW9yZSBhYm91dCBTaGFwZUJsdWUgYW5kIG91ciByYW5nZSBv ZiBDbG91ZFN0YWNrIHJlbGF0ZWQgc2VydmljZXMNCg0KSWFhUyBDbG91ZCBEZXNpZ24gJiBCdWls ZDxodHRwOi8vc2hhcGVibHVlLmNvbS9pYWFzLWNsb3VkLWRlc2lnbi1hbmQtYnVpbGQvLz4NCkNT Rm9yZ2Ug4oCTIHJhcGlkIElhYVMgZGVwbG95bWVudCBmcmFtZXdvcms8aHR0cDovL3NoYXBlYmx1 ZS5jb20vY3Nmb3JnZS8+DQpDbG91ZFN0YWNrIENvbnN1bHRpbmc8aHR0cDovL3NoYXBlYmx1ZS5j b20vY2xvdWRzdGFjay1jb25zdWx0YW5jeS8+DQpDbG91ZFN0YWNrIFNvZnR3YXJlIEVuZ2luZWVy aW5nPGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3RhY2stc29mdHdhcmUtZW5naW5lZXJpbmcv Pg0KQ2xvdWRTdGFjayBJbmZyYXN0cnVjdHVyZSBTdXBwb3J0PGh0dHA6Ly9zaGFwZWJsdWUuY29t L2Nsb3Vkc3RhY2staW5mcmFzdHJ1Y3R1cmUtc3VwcG9ydC8+DQpDbG91ZFN0YWNrIEJvb3RjYW1w IFRyYWluaW5nIENvdXJzZXM8aHR0cDovL3NoYXBlYmx1ZS5jb20vY2xvdWRzdGFjay10cmFpbmlu Zy8+DQoNClRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyB0byBpdCBtYXkgYmUgY29uZmlk ZW50aWFsIGFuZCBhcmUgaW50ZW5kZWQgc29sZWx5IGZvciB0aGUgdXNlIG9mIHRoZSBpbmRpdmlk dWFsIHRvIHdob20gaXQgaXMgYWRkcmVzc2VkLiBBbnkgdmlld3Mgb3Igb3BpbmlvbnMgZXhwcmVz c2VkIGFyZSBzb2xlbHkgdGhvc2Ugb2YgdGhlIGF1dGhvciBhbmQgZG8gbm90IG5lY2Vzc2FyaWx5 IHJlcHJlc2VudCB0aG9zZSBvZiBTaGFwZSBCbHVlIEx0ZCBvciByZWxhdGVkIGNvbXBhbmllcy4g SWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGVtYWlsLCB5b3Ug bXVzdCBuZWl0aGVyIHRha2UgYW55IGFjdGlvbiBiYXNlZCB1cG9uIGl0cyBjb250ZW50cywgbm9y IGNvcHkgb3Igc2hvdyBpdCB0byBhbnlvbmUuIFBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgaWYg eW91IGJlbGlldmUgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvci4gU2hhcGUg Qmx1ZSBMdGQgaXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBFbmdsYW5kICYgV2FsZXMuIFNo YXBlQmx1ZSBTZXJ2aWNlcyBJbmRpYSBMTFAgaXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBJ bmRpYSBhbmQgaXMgb3BlcmF0ZWQgdW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlIEJsdWUgTHRkLiBT aGFwZSBCbHVlIEJyYXNpbCBDb25zdWx0b3JpYSBMdGRhIGlzIGEgY29tcGFueSBpbmNvcnBvcmF0 ZWQgaW4gQnJhc2lsIGFuZCBpcyBvcGVyYXRlZCB1bmRlciBsaWNlbnNlIGZyb20gU2hhcGUgQmx1 ZSBMdGQuIFNoYXBlQmx1ZSBTQSBQdHkgTHRkIGlzIGEgY29tcGFueSByZWdpc3RlcmVkIGJ5IFRo ZSBSZXB1YmxpYyBvZiBTb3V0aCBBZnJpY2EgYW5kIGlzIHRyYWRlZCB1bmRlciBsaWNlbnNlIGZy b20gU2hhcGUgQmx1ZSBMdGQuIFNoYXBlQmx1ZSBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrLg0K