From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=; dkim=pass header.d=tudelft.nl; arc=pass; dmarc=pass (Used From Domain Record) header.from=tudelft.nl policy.dmarc=reject Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::6]) by mail.toke.dk (Postfix) with ESMTPS id C6B29D6D2ED for ; Thu, 26 Feb 2026 14:56:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IwiaeKTTa9WN0ixIda6/Be9DAn5Lzgb/v95iczztVMFZGdqwH2n/ptr3ztDc+YSFm74tfUrApwRbX8fUOcGV3S+rTSRwNcOXFoFOQZPJSWtY3YzW29CmKhzsovSFbyA+rJnOhLTMPyC8B56nT2Q79fFceuI7awLbL2C/o7jfAMRk6lpYF38iPaWEc3wqUW4+8vto/XRq4FXg5TWMziEpm3+kwQGm7Xanw+2KK5rtv93DCHtVHWOyBYxkOlmBi4azfAA4TvhIQQE/o4Iyod2x+aeCzg2FnsTNeCObgggdhlKDwRxg3l0ahxlcvVIhBT9jIQEhEZ2so9ztiJqOCVDqBg== 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=a2zAlvlK5USlp4vBWhXZE6BtkQ086fn8MyG9Qwpz4z0=; b=gysnyesSvMP2aoy+mtao66YUuUOw/LndlLwy0h5dT5NpZoazP0jkIrUV98UUIDYsfBj6Bp8Y72FneMy8FYmz2CgieCqNl9xiWP+PbebqVJxoi99DDPmjLuTVIROmu90E8VHCar4gOoslft7cZVuE5CDSoJCZFgdz5TWaDWCtQwlU16LflXmLP0OrfPBs5qya6PYaeS4dCCgs8Kutu/2isEoqrCGpVVBP8EF1uuC1LH9mTllIqjUhzoJvp5cOglh7gLsqQUDXpxhKbPdqnCLzhWxvJtG4Su1f5D5R3dC9S3f7KotPCxTkoV+zmWsVMeRQvzpShog9DGhiKIf3Pe55jQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tudelft.nl; dmarc=pass action=none header.from=tudelft.nl; dkim=pass header.d=tudelft.nl; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tudelft.nl; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a2zAlvlK5USlp4vBWhXZE6BtkQ086fn8MyG9Qwpz4z0=; b=SzFMMFu/g5d8hDJU5Rf90xyb7DeTTJ5kxG/bPdS5nbICF3m5+a3wRsGiMVKYoL2GR1M1ERM06d0nehGSSkncrs4XNrJFnQoDliL2vZIEopYWBYQcQow1susbRZIoikW8e16aJ6LZeddjOrP3sBBUCrXWXmSm4fqD2K5lwg5jBN6OivkBofwLLTTvawfFA6eGGy3UvoT86/UIfKykaGsqAbuqE58OLh2uT9VslNOqQJT4ddlMIDky375P7otP0Sj2pl5RjiARYY0xB9QgldOciPhKPe9LGEEBaD7OY/ARgDUgGvKNvhoDIoTwR16loRovdOBh61Kig5xCSLdZHydOsQ== Received: from VI1PR09MB2621.eurprd09.prod.outlook.com (2603:10a6:803:7d::10) by DB9PR09MB6667.eurprd09.prod.outlook.com (2603:10a6:10:4ce::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.10; Thu, 26 Feb 2026 13:56:35 +0000 Received: from VI1PR09MB2621.eurprd09.prod.outlook.com ([fe80::a5c1:b641:f4fa:edb]) by VI1PR09MB2621.eurprd09.prod.outlook.com ([fe80::a5c1:b641:f4fa:edb%4]) with mapi id 15.20.9654.007; Thu, 26 Feb 2026 13:56:35 +0000 From: Nitinder Mohan To: Vint Cerf , Mark Handley CC: David Lang , Nick Matthews , Daniel AJ Sokolov , Dave Taht via Starlink Thread-Topic: =?utf-8?B?W1N0YXJsaW5rXSBSZTogRGF0YSBjZW50ZXJzIGFyZSByYWNpbmcgdG8gc3Bh?= =?utf-8?B?Y2Ug4oCUIGFuZCByZWd1bGF0aW9uIGNhbuKAmXQga2VlcCB1cA==?= Thread-Index: AQHcpmNa1KB4aP6bL0+V0xaYkSuz9LWTf24AgACzuYCAABIoAIAAIb2AgAB5ngCAAByBgIAAAYIO Date: Thu, 26 Feb 2026 13:56:24 +0000 Message-ID: References: <4f2228ec-042a-48ed-8946-a6c37f10ca94@rogers.com> <2o0r5r7s-0750-o2p1-7738-n4n88q9093qs@ynat.uz> <69q3s580-8560-q213-2n61-o36qns8o6q4o@ynat.uz> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-reactions: allow x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VI1PR09MB2621:EE_|DB9PR09MB6667:EE_ x-ms-office365-filtering-correlation-id: 72fa20af-4fb7-4495-f4ad-08de753edb06 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|4022899009|786006|376014|38070700021|13003099007|8096899003; x-microsoft-antispam-message-info: z1senTayT2NW+JPMBpavDaquS/kpl36uxW8guL8fRfZJvINOpSprlkGasDCXwLJjJM7/lJOmp5Gwh2OcHKZPmwkwxeL6+t33JgT5VJLIQxWl6IxaTmvHaoPLTwFimvBSEG+o2SuvAQ/q86+68zTQVHOIZWnI/4MgrqbSZCx6Z1mWxHSYZjZoRGAtwi3cZrSlkCDTaQaH50jMMHk4qjzasgCvE87hPL4R76wWLf8NCfeQd48lEJTrIiEbxdxgnjlk6E1yOrFrJ3Z2GZ+pbP9+rA4yXVDb5AjJmh/ki7qUOhNqDd+qemzN4QSK27XG1ER1CN6RB6FwFo6fvuarBw3ap6io93EeM0IF0OS+AGbzVds3U0RGhsZOKJaTOhTUlsu6XQI8yp/zSOZbHI8VnZZZmBonYJws9CHk77MzZuVKrCGH6ffjh9OK798ldvvANAI2D3akvXXRyBh5KsnJu9d0SdG14/ZfgP18er2pNCiS9m2k3aNPoF75P/NBu7JUfaKU+QMRH+Qf2+T0+tFx8PlIiz4KNKsvL+BNZJuI7Bz/vXvkUc5BXSkO4lCvys6pHhr1o0ap7DLRhKBVUuq9GSjuOCuUEfaB0g9dIasZGRGSghe8MRnyHZch9X0vMLHwPxhuEPl1A8SRlfQjXJ+I2Q/ymq4ePJ4LX2WEPW9KcVebi4q08aOHv1To3wIarKLoLyORDLOaHUIfIsG1MiF8NCQ/HZ3k7/pAyzTC9UvOUgWZjts= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR09MB2621.eurprd09.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(4022899009)(786006)(376014)(38070700021)(13003099007)(8096899003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SjVteFBoRk5WaGdSYVdIK3RCZ2owZXRzYnlJdk1NajI4bXBWbHZsR3F2UTRz?= =?utf-8?B?NVozU2ZXT1g3ZmhqSEpOdWNIektNSW42QkNCWGk1Y3FOMHhMRWZoN0d2ckJx?= =?utf-8?B?VXhwUysrTDZpbE5JeXpYU3k4Ym9zNVd2cGUwbWkyTXdVWndEQ1pGWWphZUti?= =?utf-8?B?NEZ0bUlVNEZrYW5WWkdDdUczeUFRbnplYmNYRXg0RWZCN3JSd09taG9lVkNn?= =?utf-8?B?b3RTNmxFMm9TRDRSNXNJcHk0ekhuV0hZRWIzK2g1WDVBNnBCRG54THZZMGNL?= =?utf-8?B?SDZIOHl4ZVlUaWZLZVRXMWgzaTlpU3Q0dHdlNUYyVzluSnJKWlIyYlFIL3RU?= =?utf-8?B?OVRBSGRlMXZGMC9EbHZKTWVtRzhZNHRoUkI1NmVtaUJyUVhtSHliUFNodGlB?= =?utf-8?B?VEZ4U2UyVHpTc2xweG01Skkxam5tZnFMZlpMcjMzS0RyblNXY1dmVkZoTEc4?= =?utf-8?B?ZXpSeFd2V1lLNjNjTUtiRCt1c2NkY1pid0JuS1ZPSUVGMzM3S2VVb1MzVHVT?= =?utf-8?B?RnFyWGRORnRBSU1QR0pnV1YwN0hleU5sdzNPdU9QQ2JvQ2lOTkN4dmQ4NkV4?= =?utf-8?B?Y2tER3VRUHk1VXZWbGxhS1RjbitiNU1HaU5kL0tnV09ha2pXeUdSVzJPRzZw?= =?utf-8?B?Z2xRYktSYWljVVpsc1dHeVB0b2hYcWFoOWxTczR0UVJZaXFoN2dBMFNwUjF1?= =?utf-8?B?djZ4NWZrS1RwcjkrSm4yRWhwdlpBVE5ZTXZ3MlVndjVlYzI4SHZQdFhyRG5R?= =?utf-8?B?aHVXbVlQeGQyT3BQd0puTGluN1lBVGNJUHZ4dFN1UExhSFJqcS8zVVlwVmx1?= =?utf-8?B?aHc0Y1dvUjJFTGxWZ3RtMStmSHpNWnVwUnlVdGduUjNJZDh2NGdLZnM5b2g0?= =?utf-8?B?ZnNvZUhqenpVNEhsM3h2b2xJdDlpZjdPeFk1NjNJSVVBWlVONjZqSjR6TXND?= =?utf-8?B?VzZySzFyYmx1M3pPTTJHR3FKeU40SE1ialVxcHdWS1liNDJzVHBRME8waFhs?= =?utf-8?B?NEZuV2dnQ1hmNUtNYXduUkltQlVpMWloVEU2MXVKZnIvbzlBRFVTVWFkVHhr?= =?utf-8?B?anF4QmVLMHpZRWFCUGdYTHE4U2xxWTEyTDFNYSsxbDVUL3Buak1QRmlYdHRw?= =?utf-8?B?VFV3RUl2MUp2UE95WHdRVWFQT0VJWEQrTkkxYW1iK01sQlE2Ym9PNHIwWlFr?= =?utf-8?B?RjcxVDhXR0ZUZ1lCNlFqSUZaVHJZc2wvQ3psTlBXOUlIcm12NDBzdTIyVWdU?= =?utf-8?B?ckZsdVJ4V3BGUldQSGxUVFFCWnlIemFadkdmOHJJK1RWbUhwN3NNdHZjRjlw?= =?utf-8?B?ZE9BL0tEenRER3h3SzkyQXVKbDhOSDJLYzBZWlZtNWxBRDBOaFFtaVFKMUZs?= =?utf-8?B?TXYrdjBUWFR3bTFWRVB4QmJyYzR2Sjk1WXh4Tm5ZcUJIMTJsSzJIcEtHdDhW?= =?utf-8?B?T3EyZ2w4eVoxWDlsYlBjQ0JpQU9WQjVOMEFNS0UydVEzVVdabnlYcHhwOEpp?= =?utf-8?B?dnRBNGE2OTdXWm1rckJ3ejlOMCtIcUxORkh3UmVCSjRUVCtzZFZscDRpM0lv?= =?utf-8?B?Y0RCNERHWmhJa0NvM0ZrZks4RTdPQlA5UzlOYzhpa2xBaXdXV3Z3VlNpVHBH?= =?utf-8?B?Vm5jYnQzeUxucjRxUlRxVytPbTkvY1IwamtpbWc3UE9JYTdyaUdXREs2ZENG?= =?utf-8?B?Q1pUR3Qva2FiUFhzbTR1dkhRL1JWTHk0QWxsOGc4TUZMdnltNHExbHdiVXlM?= =?utf-8?B?Sm83b3B5WUhQVjhsMGFUaWpaeVpXNCt0SzFCdURBNDJnUWgxcVNyV3FLSlJz?= =?utf-8?B?b3BML050Z3U0eVJXZUZqN0xZMHlXSENWSWNuVHNscTRjUllTbFN6OVFmUjV6?= =?utf-8?B?ak1pTm1EczRENXJMVm9aaERXMUhZMnRxYmdSb1ovL0FVTDZvdFNKelN4SkJk?= =?utf-8?B?SS9LeUlFMno1cHJPLzNzZHVNUGc2SHBNb3pyQktZblhDMTZ5TkNlSHd4MDhk?= =?utf-8?B?VnBlY2NNQjJ1VWdZQTFuQjF1dUk5UUtaTFVZOHBBM1dJRkRMbkt2bXUwdkQx?= =?utf-8?B?QWRPT3JTVnZRckoxSlVuUEZ5VitIeGsySFEycllYWWFDT2VPM2s0RXhLVzkx?= =?utf-8?B?UUJPaGV5RXhQNldsd05DMm9MVis3S3labFpRWi9tUmY5a2x6UWEvZXJFTEcz?= =?utf-8?B?WERES3NiRE9hSTREemFyYTJLdEUrMHpTZ29DL2FxTHhXY0xZQmVKR05ySExE?= =?utf-8?B?NktVTVhkRFZhVkp4QjJIRzZ1dHc4OXR0Q0haR0tlSWhqTCtWNjhQbjZqNnRM?= =?utf-8?B?cEVDVzRiUGMvblRrWHNZUTJlblJ6elRlQStWa2Zsb3lJd2VJZzhwQT09?= MIME-Version: 1.0 X-OriginatorOrg: tudelft.nl X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR09MB2621.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72fa20af-4fb7-4495-f4ad-08de753edb06 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Feb 2026 13:56:35.5648 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 096e524d-6929-4030-8cd3-8ab42de0887b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: modQj1/kGX0+IH43Mk8ofxRS33hxxNKQD9JP6+D48CKLXywTos3MKr2gX5SzBi32C53jphtywJPmX/qCJ3OsJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR09MB6667 Message-ID-Hash: Q4XWRE3V5N3JMO3RTUZ6RIYLGFDWYNMY X-Message-ID-Hash: Q4XWRE3V5N3JMO3RTUZ6RIYLGFDWYNMY X-MailFrom: N.Mohan@tudelft.nl X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8" X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Starlink] =?utf-8?q?Re=3A_Data_centers_are_racing_to_space_=E2=80=94_and_regulation_can=E2=80=99t_keep_up?= List-Id: "Starlink has bufferbloat. Bad." Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VGhpcyBoYXMgYmVlbiBhIGdyZWF0IGRpc2N1c3Npb24gc28gZmFyISBUaGFua3MgYWxsIQ0KDQpX ZSByZWNlbnRseSBoZWxkIGEgRGFnc3R1aGwgc2VtaW5hciAoMjYwNjIsICJDb25uZWN0ZWQgU3Bh Y2UiKTxodHRwczovL3d3dy5kYWdzdHVobC5kZS9lbi9zZW1pbmFycy9zZW1pbmFyLWNhbGVuZGFy L3NlbWluYXItZGV0YWlscy8yNjA2Mj4gYnJpbmdpbmcgdG9nZXRoZXIgcmVzZWFyY2hlcnMgZnJv bSBhY2FkZW1pYSwgaW5kdXN0cnksIGFuZCBzcGFjZSBhZ2VuY2llcyB0byB3b3JrIHRocm91Z2gg ZXhhY3RseSB0aGVzZSBxdWVzdGlvbnMuIFdlIGFyZSBzdGlsbCBwcmVwYXJpbmcgdGhlIHJlcG9y dCBhbmQgSSB3aWxsIHN1bW1hcml6ZSB0aGUga2V5IGZpbmRpbmdzIGluIFRoZU5ldHdvcmtpbmdD aGFubmVsIHBhbmVsPGh0dHBzOi8vbmV0d29ya2luZ2NoYW5uZWwuZXUvY29ubmVjdGVkLXNwYWNl LWNoYWxsZW5nZXMtYW5kLW9wcG9ydHVuaXRpZXMtaW4tc2F0ZWxsaXRlLWNvbXB1dGluZy1hbmQt bmV0d29ya2luZy8+IDxodHRwczovL25ldHdvcmtpbmdjaGFubmVsLmV1L2Nvbm5lY3RlZC1zcGFj ZS1jaGFsbGVuZ2VzLWFuZC1vcHBvcnR1bml0aWVzLWluLXNhdGVsbGl0ZS1jb21wdXRpbmctYW5k LW5ldHdvcmtpbmcvPiBpbiBhIGZldyB3ZWVrcyAocmVnaXN0ZXIgdG8gY2F0Y2ggdGhhdCkuIElu IHRoZSBtZWFudGltZSwgbGV0IG1lIHNoYXJlIGEgZmV3IGluc2lnaHRzIG9uIHRoZSBkaXNjdXNz aW9ucyBoZXJlLg0KDQogIDEuDQpUaGUgZG93bmxpbmsgYm90dGxlbmVjayBpcyB0aGUgcmVhbCBt b3RpdmF0aW9uIGZvciBzcGFjZSBjb21wdXRpbmcsIG5vdCByZXBsYWNpbmcgZ3JvdW5kIGRhdGEg Y2VudGVycy4gU2F0ZWxsaXRlcyB3aXRoIGhpZ2gtZmlkZWxpdHkgc2Vuc29ycyBjb2xsZWN0IG9u IHRoZSBvcmRlciBvZiB0ZXJhYnl0ZXMgcGVyIG9yYml0IGJ1dCBjYW4gdHJhbnNtaXQgb25seSB0 ZW5zIG9mIGdpZ2FieXRlcyBwZXIgZ3JvdW5kIHBhc3MuIEZvciBkZWVwIHNwYWNlIG1pc3Npb25z IHRoZSBzaXR1YXRpb24gaXMgZmFyIHdvcnNlLCB3aXRoIE1hcnMgb3JiaXRlcnMgcmV0dXJuaW5n IHJvdWdobHkgMSBwZXJjZW50IG9mIGNhcHR1cmVkIGRhdGEuIFRoaXMgZGF0YSBkaXNwYXJpdHkg bWFrZXMgb25ib2FyZCBjb21wdXRhdGlvbiBhbiBlbmdpbmVlcmluZyBuZWNlc3NpdHkgZm9yIGZp bHRlcmluZyBhbmQgcHJpb3JpdGl6aW5nIHdoYXQgZ2V0cyBzZW50IGRvd24uIEluIExFTywgdGhl IGJlbmVmaXRzIGFyZSBsaW1pdGVkIGJ1dCB3ZSBjb252ZXJnZWQgdGhhdCBpdCBjYW4gYmUgYmVu ZWZpY2lhbCB0byBkbyBBSS1pbi1zcGFjZSBmb3Igc3BhY2UtZ2VuZXJhdGVkIGRhdGEgKHNlZSBw b2ludCAyIGFuZCA1KS4NCiAgMi4NCk9yYml0YWwgZGF0YSBjZW50ZXJzIHNlcnZpbmcgRWFydGgt YmFzZWQgdXNlcnMgZmFjZSBmdW5kYW1lbnRhbCBwaHlzaWNzIGNvbnN0cmFpbnRzLCBleGFjdGx5 IGFzIHRoaXMgdGhyZWFkIGhhcyBpZGVudGlmaWVkLiBIZWF0IGRpc3NpcGF0aW9uIGlzIHRoZSBo YXJkZXN0IHByb2JsZW0uIFNhdGVsbGl0ZXMgY2FuIG9ubHkgcmFkaWF0ZSBoZWF0LCBhbmQgYXZh aWxhYmxlIHJhZGlhdG9yIHN1cmZhY2UgYXJlYSBpcyBzdHJpY3RseSBsaW1pdGVkLiBVbmxpa2Ug Z3JvdW5kIGZhY2lsaXRpZXMgd2l0aCBhY3RpdmUgY29vbGluZywgdGhlcmUgaXMgYSBoYXJkIHRo ZXJtb2R5bmFtaWMgY2VpbGluZyBvbiBob3cgbXVjaCBjb21wdXRhdGlvbiBhbnkgaW5kaXZpZHVh bCBzYXRlbGxpdGUgY2FuIHN1c3RhaW4uIFRoZSBzZW1pbmFyIHJlYWNoZWQgc3Ryb25nIGNvbnNl bnN1cyB0aGF0IHRoZSAiZGF0YSBjZW50ZXIgaW4gc3BhY2UiIGNvbmNlcHQgZm9yIGdlbmVyYWwg RWFydGgtY2VudHJpYyB3b3JrbG9hZHMgaXMgbm90IHZhbGlkYXRlZCwgYW5kIHRoZSBzdXN0YWlu YWJpbGl0eSBtYXRoIGRvZXMgbm90IGN1cnJlbnRseSB3b3JrIG91dC4gUHVibGlzaGVkIGFuYWx5 c2lzIHByZXNlbnRlZCBhdCB0aGUgc2VtaW5hciBzaG93ZWQgdGhhdCB0aGUgQ08yIGZvb3Rwcmlu dCBvZiBsYXVuY2hpbmcgY29tcHV0aW5nIGhhcmR3YXJlIHRvIG9yYml0IHZpYSBjdXJyZW50LWdl bmVyYXRpb24gcm9ja2V0cyBmYXIgZXhjZWVkcyB0aGF0IG9mIG9wZXJhdGluZyBlcXVpdmFsZW50 IHRlcnJlc3RyaWFsIGZhY2lsaXRpZXMuDQogIDMuDQpUaGUgaW5mZXJlbmNlIHZzLiB0cmFpbmlu ZyBkaXN0aW5jdGlvbiByYWlzZWQgaW4gdGhpcyB0aHJlYWQgbWFwcyBwcmVjaXNlbHkgdG8gd2hh dCB3ZSBmb3VuZC4gVHJhaW5pbmcgY2x1c3RlcnMgYXJlIGVzc2VudGlhbGx5IHJ1bGVkIG91dCBm b3Igc3BhY2UuIFRoZXkgcmVxdWlyZSBtYXNzaXZlIGxvdy1sYXRlbmN5IGludGVyY29ubmVjdHMs IGNvbnRpbnVvdXMgaHVtYW4gbWFpbnRlbmFuY2UgZm9yIGhhcmR3YXJlIGZhaWx1cmVzLCBhbmQg cG93ZXIgZGVuc2l0aWVzIGluY29tcGF0aWJsZSB3aXRoIG9yYml0YWwgY29uc3RyYWludHMuIElu ZmVyZW5jZSBpcyBtb3JlIHBsYXVzaWJsZSBpbiBwcmluY2lwbGUgZ2l2ZW4gc21hbGxlciBjbHVz dGVyIHNpemVzLCBidXQgdGhlIGxhdGVuY3kgYW5kIGhhbmRvdmVyIHByb2JsZW1zIHJhaXNlZCBp biB0aGlzIHRocmVhZCBhcmUgcmVhbCBhbmQgdW5zb2x2ZWQuIEFzIG9iamVjdHMgaW4gb3JiaXQg ZGlzYXBwZWFyIG92ZXIgdGhlIGhvcml6b24sIG1haW50YWluaW5nIHNlc3Npb24gY29udGludWl0 eSB3aXRoIGFuIGluZmVyZW5jZSBlbmdpbmUgcmVxdWlyZXMgZWl0aGVyIHN0b3JlLWFuZC1mb3J3 YXJkIChpbnRyb2R1Y2luZyB2YXJpYWJsZSwgcG90ZW50aWFsbHkgbGFyZ2UgbGF0ZW5jeSkgb3Ig aW5zdGFudGlhdGluZyBlcXVpdmFsZW50IHN0YXRlIG9uIHRoZSBuZXh0IHNhdGVsbGl0ZSBjb21p bmcgaW50byB2aWV3LCB3aGljaCBpcyBhbiBvcGVuIGRpc3RyaWJ1dGVkIHN5c3RlbXMgcHJvYmxl bSB3aXRoIG5vIHByb3ZlbiBzb2x1dGlvbiBhdCBzY2FsZS4NCiAgNC4NClRoZSBhcHByb3ByaWF0 ZSBtb2RlbCBpcyBkaXN0cmlidXRlZCwgbm90IGNlbnRyYWxpemVkLiBSYXRoZXIgdGhhbiBhdHRl bXB0aW5nIHRvIHJlcGxpY2F0ZSB0ZXJyZXN0cmlhbC1zY2FsZSBkYXRhIGNlbnRlcnMgaW4gb3Ji aXQsIHRoZSBzZW1pbmFyIGNvbnZlcmdlZCBvbiBkaXN0cmlidXRlZCBjb21wdXRpbmcgYWNyb3Nz IGNvbnN0ZWxsYXRpb25zIGFzIHRoZSB2aWFibGUgcGFyYWRpZ20uIE1hbnkgc21hbGxlciBzYXRl bGxpdGVzIGVhY2ggcGVyZm9ybWluZyBmb2N1c2VkIHByZXByb2Nlc3NpbmcsIGZpbHRlcmluZywg YW5kIGNsYXNzaWZpY2F0aW9uLCB0aGVuIGNvb3JkaW5hdGluZyByZXN1bHRzLiBUaGlzIGRpc3Ry aWJ1dGVzIHRoZXJtYWwgbG9hZHMgYW5kIHBvd2VyIHJlcXVpcmVtZW50cyB3aGlsZSBtYXRjaGlu ZyB0aGUgcGh5c2ljYWwgcmVhbGl0eSBvZiBvcmJpdGFsIG1lY2hhbmljcy4NCiAgNS4NCkxpZ2h0 d2VpZ2h0LCBwdXJwb3NlLWJ1aWx0IEFJIGlzIHdoYXQgd29ya3MgaW4gc3BhY2UsIG5vdCBMTE1z LiBUaGUgc2VtaW5hciBmb3VuZCBjbGVhciBjb25zZW5zdXMgdGhhdCBsYXJnZSBsYW5ndWFnZSBt b2RlbHMgYW5kIGhlYXZ5IHRyYW5zZm9ybWVyIGFyY2hpdGVjdHVyZXMgYXJlIGluYXBwcm9wcmlh dGUgZm9yIG9yYml0YWwgZGVwbG95bWVudCBnaXZlbiBwb3dlciwgdGhlcm1hbCwgYW5kIHJhZGlh dGlvbiBjb25zdHJhaW50cy4gV2hhdCBkb2VzIHdvcmsgYXJlIGN1c3RvbSBjb252b2x1dGlvbmFs IG5ldXJhbCBuZXR3b3JrcyBvcHRpbWl6ZWQgZm9yIHNwZWNpZmljIHRhc2tzIChjbG91ZCBkZXRl Y3Rpb24sIGFub21hbHkgaWRlbnRpZmljYXRpb24sIG9iamVjdCB0cmFja2luZykgdGhhdCBjYW4g cnVuIHdpdGhpbiB0aWdodCBwb3dlciBhbmQgdGltZSBidWRnZXRzLiBUaGVyZSBpcyBvbmUgY2Fu IHVzZSB0aGUgTEVPLSBvciBNRU8tIGJhc2VkIEFJIGRhdGEgY2VudGVycyBmb3IgcHJvY2Vzc2lu ZyByZW1vdGUgc2Vuc2luZyBnZW5lcmF0ZWQgZGF0YSBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgbGFy Z2UgaHlwZXJzcGVjdHJhbCBpbWFnZXMgYW5kIHRoZXNlIHNhdGVsbGl0ZXMgaGF2ZSBsaW1pdGVk IHBvaW50IGNvbnRhY3QgYW5kIHRyYW5zZmVyIHRpbWVzIHdpdGggdGhlIEVhcnRoLiBPZiBjb3Vy c2UsIHRoaXMgYnJpbmdzIHVwIHRoZSBxdWVzdGlvbiBvZiBpbnRlci1jb25zdGVsbGF0aW9uIGNv bm5lY3Rpdml0eSwgd2hpY2ggaXRzZWxmIGlzIGFuIGludGVyZXN0aW5nIHJlc2VhcmNoIGRpcmVj dGlvbi4NCiAgNi4NClRoZSBDT1RTIGhhcmR3YXJlIHNoaWZ0IGlzIHJlYWwgYnV0IGNvbWVzIHdp dGggdHJhZGVvZmZzLiBUaGUgc3BhY2UgaW5kdXN0cnkgaXMgbW92aW5nIGF3YXkgZnJvbSByYWRp YXRpb24taGFyZGVuZWQgbGVnYWN5IHByb2Nlc3NvcnMgdG93YXJkIGNvbW1lcmNpYWwgb2ZmLXRo ZS1zaGVsZiBjb21wb25lbnRzIHdpdGggYXBwcm9wcmlhdGUgZmF1bHQgdG9sZXJhbmNlIGFuZCBz aGllbGRpbmcuIFRoaXMgZHJhbWF0aWNhbGx5IGltcHJvdmVzIGF2YWlsYWJsZSBjb21wdXRlIHBl cmZvcm1hbmNlLiBCdXQgYXMgbm90ZWQgaW4gdGhpcyB0aHJlYWQsIHJhZGlhdGlvbiBlZmZlY3Rz IG9uIG1vZGVybiBzbWFsbC1nZW9tZXRyeSBjaGlwcyBhcmUgYSBnZW51aW5lIGNvbmNlcm4sIGFu ZCB0aGUgYXBwcm9hY2ggd29ya3Mgb25seSB3aGVuIHlvdSBoYXZlIGVub3VnaCByZWR1bmRhbmN5 IGFjcm9zcyBhIGNvbnN0ZWxsYXRpb24gdG8gdG9sZXJhdGUgaW5kaXZpZHVhbCBmYWlsdXJlcy4N CiAgNy4NClRoZSBwb2ludHMgYWJvdXQgcmVndWxhdGlvbiBhbmQgbGF1bmNoIGNvc3RzIGN1dHRp bmcgYm90aCB3YXlzIGFyZSB3ZWxsIHRha2VuLiBUaGUgc2VtaW5hciBhbHNvIHNwZW50IHNpZ25p ZmljYW50IHRpbWUgb24gcG9saWN5IGFuZCBzdXN0YWluYWJpbGl0eS4gQ29uY2VybnMgd2VyZSBy YWlzZWQgYWJvdXQgdGhlIHByb3NwZWN0IG9mIG1hc3NpdmUgY29uc3RlbGxhdGlvbnMgZGVwbG95 ZWQgZm9yIEFJIHB1cnBvc2VzLCBpbmNsdWRpbmcgZGVicmlzIHJpc2tzLCBhdG1vc3BoZXJpYyBl ZmZlY3RzIGZyb20gcmUtZW50cnksIGFuZCB3aGV0aGVyIHRoZSBzcGFjZSBpbmR1c3RyeSBpcyBy ZXBlYXRpbmcgaGlzdG9yaWNhbCBwYXR0ZXJucyBvZiBvdmVyYnVpbGRpbmcgZHJpdmVuIGJ5IGNv bXBldGl0aW9uIHJhdGhlciB0aGFuIHZhbGlkYXRlZCBkZW1hbmQuIFRoZSBzdXN0YWluYWJpbGl0 eSBxdWVzdGlvbiByZW1haW5zIGdlbnVpbmVseSBvcGVuIGFuZCBuZWVkcyByaWdvcm91cyBmdWxs LWxpZmVjeWNsZSBhY2NvdW50aW5nIHRoYXQgZG9lcyBub3QgeWV0IGV4aXN0Lg0KDQpGb3IgYW55 b25lIGludGVyZXN0ZWQsIEkgd3JvdGUgYSBzaG9ydCBzdW1tYXJ5IG9mIHRoZSBzZW1pbmFyIGZp bmRpbmdzIGhlcmU6IGh0dHBzOi8vc3BlYXJsYWIubmwvbmV3cy8yMDI2LTAyLTEwLWRhZ3N0dWhs LWNvbm5lY3RlZC1zcGFjZS1zZW1pbmFyDQpUaGFua3MgYW5kIFJlZ2FyZHMsDQoNCk5pdGluZGVy IE1vaGFuDQpBc3Npc3RhbnQgUHJvZmVzc29yDQpIZWFkIG9mIFNQRUFSIExhYiwgTmV0d29ya2Vk IFN5c3RlbXMgR3JvdXANClRVIERlbGZ0LCBOZXRoZXJsYW5kcw0KUGVyc29uYWwgd2Vic2l0ZTog aHR0cHM6Ly93d3cubml0aW5kZXJtb2hhbi5jb20vDQpMYWIgd2Vic2l0ZTogaHR0cHM6Ly9zcGVh cmxhYi5ubC8NCkZyb206IFZpbnQgQ2VyZiB2aWEgU3RhcmxpbmsgPHN0YXJsaW5rQGxpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldD4NCkRhdGU6IFRodXJzZGF5LCAyNiBGZWJydWFyeSAyMDI2IGF0IDE0OjM3 DQpUbzogTWFyayBIYW5kbGV5IDxtYXJrQGhhbmRsZXkub3JnLnVrPg0KQ2M6IERhdmlkIExhbmcg PGRhdmlkQGxhbmcuaG0+LCBOaWNrIE1hdHRoZXdzIDxtYXR0aG5pY2tAZ21haWwuY29tPiwgRGFu aWVsIEFKIFNva29sb3YgPGRhbmllbEBmYWxjby5jYT4sIERhdmUgVGFodCB2aWEgU3Rhcmxpbmsg PHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4NClN1YmplY3Q6IFtTdGFybGlua10gUmU6 IERhdGEgY2VudGVycyBhcmUgcmFjaW5nIHRvIHNwYWNlIOKAlCBhbmQgcmVndWxhdGlvbiBjYW7i gJl0IGtlZXAgdXANCg0KbWF5YmUgdGhpcyBoYXMgYWxyZWFkeSBiZWVuIGFkZHJlc3NlZCBidXQg dGhpbmdzIGluIG9yYml0IGRpc2FwcGVhciBvdmVyDQp0aGUgaG9yaXpvbi4gSWYgeW91IHJlbHkg b24gc3RvcmUvZm9yd2FyZCByZWxheSB0byBrZWVwIGluIHRvdWNoIHdpdGggYW4NCmluZmVyZW5j aW5nIGVuZ2luZSB3aGlsZSBpbiBvcmJpdCwgeW91IHdpbGwgZXhwZXJpZW5jZSB2YXJpYWJsZSBs YXRlbmN5LiBJDQpkb24ndCBzZWUgaG93IHlvdSBjb3VsZCBlYXNpbHkgaW5zdGFudGlhdGUgdGhl IHNhbWUgaW5mZXJlbmNpbmcgb24gdGhlIG5leHQNCmRhdGEgY2VudGVyIHRvIGNvbWUgaW50byB2 aWV3LiBTZWVtcyB0byBtZSB0aGlzIGlzIGEgdmVyeSBkaWZmZXJlbnQNCmNvbXB1dGluZyBhbmQg Y29tbXVuaWNhdGlvbiBlbnZpcm9ubWVudCB0aGFuIGdyb3VuZC1iYXNlZCBkYXRhIGNlbnRlcnMg b24NCnRoZSB0ZXJyZXN0cmlhbCBJbnRlcm5ldC4NCg0KV2hhdCBhbSBJIG1pc3Npbmc/DQoNCnYN Cg0KDQpPbiBUaHUsIEZlYiAyNiwgMjAyNiBhdCA2OjU14oCvQU0gTWFyayBIYW5kbGV5IHZpYSBT dGFybGluayA8DQpzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+IHdyb3RlOg0KDQo+IEFJ IGRhdGFjZW50ZXJzIGVmZmVjdGl2ZWx5IHNwbGl0IGludG8gdHJhaW5pbmcgYW5kIGluZmVyZW5j ZSwgYW5kIGl0J3MNCj4gd29ydGggb3B0aW1pemluZyBmb3Igb25lIG9yIHRoZSBvdGhlci4gIEZv ciB0cmFpbmluZywgeW91IHdhbnQgYXMgbXVjaA0KPiBjb21wdXRlIGluIG9uZSBsb3cgbGF0ZW5j eSBjbHVzdGVyIGFzIHBvc3NpYmxlLiAgQSBzaW5nbGUgR0IyMDAgcmFjayAoNzINCj4gR1BVcykg aXMgY3VycmVudGx5IGFyb3VuZCAxNjBrVywgYW5kIGEgbGVhZGluZyBlZGdlIHRyYWluaW5nIGNs dXN0ZXIgaXMgbm93DQo+IHdlbGwgbm9ydGggb2YgMTAwLDAwMCBHUFVzLiAgQSBzaW5nbGUgVlIy MDAgcmFjayB3aWxsIGJlIH4yNTBrVyBsYXRlciB0aGlzDQo+IHllYXIuICBGb3IgaW5mZXJlbmNl LCB5b3UgdHlwaWNhbGx5IG5lZWVkIGJldHdlZW4gYSBmZXcgYW5kIGEgZmV3IGh1bmRyZWQNCj4g R1BVcyAob3IgZXF1aXZhbGVudHMgLSBUUFVzLCBDZWxlYnJhcywgZXRjKSBpbnRlcmNvbm5lY3Rl ZC4NCj4NCj4gSXQncyBlYXN5IHRvIHNlZSBpbmZlcmVuY2UgY2x1c3RlcnMsIGVzcGVjaWFsbHkg d2FmZXItc2NhbGUgbGlrZSBDZWxlYnJhcywNCj4gYmVpbmcgY2FwYWJsZSBvZiBiZWluZyBwdXQg aW4gb3JiaXQuICBCdXQgdGhlIHByb2JsZW0gdGhlcmUgaXMgbG93KGlzaCkNCj4gbGF0ZW5jeSB0 byBjdXN0b21lcnMgaXMgYWxzbyBhIHJlcXVpcmVtZW50LCBzbyB0aGF0IGNvbnN0cmFpbnMgdGhl IG9yYml0cw0KPiB5b3UgY291bGQgdXNlLiAgQW5kIGl0J3MgYWN0dWFsbHkgbm90IGhhcmQgdG8g Z2V0IHRlcnJlc3RyaWFsIHBvd2VyIGlmIHlvdQ0KPiBjYW4gc2NhdHRlciBsYXJnZSBudW1iZXJz IG9mIHNtYWxsZXIgaW5mZXJlbmNlIGNsdXN0ZXJzIHdvcmxkd2lkZSwgd2hpY2ggaXMNCj4gd2hh dCB3ZSBkby4NCj4NCj4gSXQncyByZWFsbHkgaGFyZCB0byBzZWUgdHJhaW5pbmcgY2x1c3RlcnMg aW4gb3JiaXQsIG5vdCBvbmx5IGZvciBjb29saW5nDQo+IHJlYXNvbnMsIGJ1dCBhbHNvIGJlY2F1 c2UgdGhleSBoYXZlIHZlcnkgaGlnaCBmYWlsdXJlIHJhdGVzIGFuZCByZXF1aXJlIGENCj4gbG90 IG9mIGh1bWFuIG1haW50ZW5hbmNlLiAgSW4gb3VyIGN1cnJlbnQgc3VwZXJjb21wdXRlcnMgd2Un cmUgbG9va2luZyBhdA0KPiBtb3JlIHRoYW4gYSBtaWxsaW9uIG9wdGljYWwgbGlua3MgaW4gb25l IGJ1aWxkaW5nLCBzbyB0aGVyZSBpcyBhIGNvbnRpbnVvdXMNCj4gcmF0ZSBvZiBsaW5rIGZhaWx1 cmUgYW5kIHJlcGxhY2VtZW50LiAgV2UgYXJlIGNvbnRpbnVvdXNseSByZXBsYWNpbmcNCj4gc3dp dGNoZXMgYW5kIEdQVSBub2Rlcy4gICBOb3cgeW91IGNhbiBkZXNpZ24gZm9yIHJlc2lsaWVuY2Us IGFuZCB3ZSBhcmUNCj4gYWxyZWFkeSBydW5uaW5nIGEgbmV3IG5ldHdvcmsgZGVzaWduIHRoYXQg ZG9lcyB0aGlzLiAgQnV0IGxpdmluZyBvbiB0aGUNCj4gbGVhZGluZyBlZGdlIG9mIHdoYXQncyBw b3NzaWJsZSBpbiBjb21wdXRlIGFuZCBoYXZpbmcgbG93IGZhaWx1cmUgcmF0ZXMNCj4gdGVuZCB0 byBiZSBtdXR1YWxseSBpbmNvbXBhdGlibGUuICBXZSBhcmUgd29ya2luZyB3aXRoIGFsbCBvdXIg c3VwcGxpZXJzIHRvDQo+IHJlZHVjZSBmYWlsdXJlIHJhdGVzIGluIHRoZSBuZXh0LWJ1dC1vbmUg Z2VuZXJhdGlvbiBieSBkZXNpZ24gLSB3ZSdkIGxvdmUNCj4gdGhhdCBiZWNhdXNlIGEgbm9uLXRy aXZpYWwgY2F1c2Ugb2YgZmFpbHVyZSBpcyBhIHRlY2huaWNpYW4gZml4aW5nIG9uZQ0KPiBmYXVs dCBhbmQgY2F1c2luZyBhbm90aGVyLiAgU28gdGhlcmUncyBhIGxvdCBvZiBob3BlIHRvIGltcHJv dmUgdGhpbmdzLCBidXQNCj4gdGhlcmUncyBub3RoaW5nIGNvbWluZyBkb3duIHRoZSBwaXBlbGlu ZSB0aGF0IHdvdWxkIGFsbG93IGxhcmdlIHRyYWluaW5nDQo+IGNsdXN0ZXJzIHRvIGhhdmUgbGVh ZGluZyBlZGdlIHBlcmZvcm1hbmNlIGFuZCBzaW11bHRhbmVvdXNseSBydW4gdW5tYW5uZWQuDQo+ DQo+IE1hcmsgKGN1cnJlbnRseSBkb2luZyBzdXBlcmNvbXB1dGVyIG5ldHdvcmtzIGF0IE9wZW5B SSkNCj4NCj4gT24gVGh1LCAyNiBGZWIgMjAyNiwgYXQgNDozOSBBTSwgRGF2aWQgTGFuZyB2aWEg U3Rhcmxpbmsgd3JvdGU6DQo+ID4gYSBjb3VwbGUgY29tbWVudHMgaW4gcmVzcG9uc2UgKHNwZWNp ZmljYWxseSBhcHBseWluZyB0byBTcGFjZVgNCj4gPg0KPiA+IHRoZXkgYXJlIHdvcmtpbmcgdG8g cmVkdWNlIGxhdW5jaCBjb3N0cyBiZXR3ZWVuIDEweCBhbmQgMTAweA0KPiA+DQo+ID4gdGhleSBh cmUgbm90IGp1c3QgbG9va2luZyBhdCBzdW4gc3luY2hyb25vdXMgb3JiaXQsIGJ1dCBhbHNvIGF0 DQo+IGxhdW5jaGluZyBmcm9tDQo+ID4gdGhlIG1vb24gaW50byBhIG1vb24tc2l6ZSBlYXJ0aCBv cmJpdCBvciBzb2xhciBvcmJpdA0KPiA+DQo+ID4gcmU6IGNoaXAgdnVsbmVyYWJpbGl0eSB0byBy YWRpYXRpb24NCj4gPg0KPiA+IGNoaXBzIGhhdmUgZ290dGVuIE1VQ0ggc21hbGxlciBvdmVyIHRo ZSB5ZWFycywgd2hpY2ggaW4gcGFydCBtYWtlcyBpdA0KPiBtb3JlDQo+ID4gbGlrZWx5IGZvciBh IGNlbGwgdGhhdCdzIGhpdCB0byBmbGlwLCBidXQgYWxzbyBtZWFucyB0aGF0IChmb3IgYSBnaXZl bg0KPiA+IGNhcGFiaWxpdHkpIGl0J3MgbXVjaCBzbWFsbGVyLCBzbyBpcyBmYXIgbGVzcyBsaWtl bHkgdG8gYmUgaGl0Lg0KPiA+DQo+ID4gcHJvYmFiaWxpdHkgYmFzZWQgc3lzdGVtcyBkb24ndCBy ZXF1aXJlIGV2ZXJ5IGNhbGN1bGF0aW9uIHRvIGJlIHBlcmZlY3QNCj4gPg0KPiA+ICJBSSIgc3lz dGVtcyBuZWVkIHRvIGJlIHZhbGlkYXRlZCBhbnl3YXkgKHNpbmNlIHRoZWlyIGJlaGF2aW9yIGNh bid0IGJlDQo+ID4gcHJlZGljdGVkKSwgc28gaWYgdGhlcmUgYXJlIHRvbyBtYW55IGVycm9ycywg aXQganVzdCB3aWxsIGZhaWwgdmFsaWRhdGlvbg0KPiA+DQo+ID4gd2l0aCBlbm91Z2ggcHJvY2Vz c2luZyBjYXBhY2l0eSwgeW91IGNhbiByZS1ydW4gdGhlIGNhbGN1bGF0aW9ucyBhbmQNCj4gY29t cGFyZQ0KPiA+IHJlc3V0cy4NCj4gPg0KPiA+DQo+ID4gT25lIHRoaW5nIEkgaGF2ZW4ndCBzZWVu IHBlb3BsZSB0YWxrIGFib3V0IGlzIHRoYXQgc3BhY2UtYmFzZWQgc3lzdGVtcw0KPiA+IGFyZSBO T1QNCj4gPiBnb2luZyB0byBiZSBtYXNzaXZlLCBjb2hlcmVudCBjbHVzdGVycyB0aGUgd2F5IGN1 cnJlbnQgQUkgdHJhaW5pbmcNCj4gPiBjbHVzdGVycyBhcmUuDQo+ID4gVGhleSB3aWxsIGJlIG1h bnkgc21hbGxlciBjbHVzdGVycyB3aXRoIHJlbGF0aXZlbHkgbG93IGJhbmR3aWR0aC9oaWdoDQo+ ID4gbGF0ZW5jeQ0KPiA+IGNvbW11bmljYXRpb25zIGJldHdlZW4gdGhlbSAoeW91IGNhbid0IHNl bmQgZGF0YSBmYXN0ZXIgdGhhbiB0aGUgc3BlZWQNCj4gPiBvZg0KPiA+IGxpZ2h0KS4gVGhlIGZp cnN0IHBvc3RzIGFib3V0IHNwYWNlIGRhdGFjZW50ZXJzIHdlcmUgZGVuc2UsIG1hc3NpdmUNCj4g PiB0aGluZ3MNCj4gPiAoY29tcGFyYWJsZSBpbiBzaXplIHRvIGdyb3VuZCBiYXNlZCBzeXN0ZW1z KSB3aXRoIHNvbGFyIHBhbmVscyBhbmQNCj4gPiByYWRpYXRvcnMNCj4gPiBtZWFzdXJlZCBpbiBz cXVhcmUgbWlsZXMuIEVsb24gYW5kIFNwYWNlWCBhcmUgdGFsa2luZyBhYm91dCBtYW55IHNtYWxs DQo+ID4gc2F0ZWxsaXRlcyBpbiB0aGUgMTAwS3cgcmFuZ2UsIHNpbWlsYXIgaW4gc2l6ZSB0byB0 aGUgc3RhcmxpbmsNCj4gPiBzYXRlbGxpdGVzIHRoYXQNCj4gPiBTdGFyc2hpcCBjYW4gZGVwbG95 Lg0KPiA+DQo+ID4NCj4gPg0KPiA+IEkgZnVsbHkgZXhwZWN0IHRoYXQgbmV3IHRyYWluaW5nIGFs Z29yaXRobXMgd2lsbCBiZSBmb3VuZCB0aGF0IHdpbGwNCj4gPiBkcmFzdGljYWxseQ0KPiA+IGlt cHJvdmUgdGhlIGVmZmljaWVuY3ksIGJ1dCBJIGFsc28gZXhwZWN0IHRoYXQgd2hlbiB0aGV5IGFy ZSBmb3VuZCwNCj4gPiB0aG9zZQ0KPiA+IGNvbXBhbmllcyB3aXRoIGxvdHMgb2YgaGFyZHdhcmUg YW5kIGV4cGVydGlzZSBpbiBydW5uaW5nIGl0IHdpbGwgYmUNCj4gPiBhYmxlIHRvIG1ha2UNCj4g PiBiZXR0ZXIgdXNlIG9mIHRoZSBuZXcgYWxnb3JpdGhtcywgaWYgb25seSB0byB0cmFpbiBtb3Jl IG1vZGVscyBkb2luZw0KPiA+IGRpZmZlcmVudA0KPiA+IHRoaW5ncyBhdCB0aGUgc2FtZSB0aW1l LiBJdCBzdGlsbCBmYXZvcnMgdGhvc2UgY29tcGFuaWVzIHRoYXQgZ2V0IGFoZWFkDQo+ID4gKGFu ZA0KPiA+IGRvbid0IGNvbGxhcHNlIGluIHRoZSBwcm9jZXNzKQ0KPiA+DQo+ID4gZXZlcnkgYnVi YmxlIG92ZXItYnVpbGRzIGluZnJhc3RydWN0dXJlLCBhcyBhIGxvdCBvZiBwZW9wbGUgd2hvIGxv c2UNCj4gPiB0aGVpcg0KPiA+IHNoaXJ0cyBqdW1wIG9uIGJvYXJkIHRoZSBuZXcgZmFkIHdpdGhv dXQgYmVpbmcgYWJsZSB0byBldmFsdWF0ZSB0aGUNCj4gPiBjb21wYW5pZXMuDQo+ID4gQnV0IHRo b3NlIGNvbXBhbmllcyB0aGF0IGZhaWwgZ2VuZXJhbGx5IGdldCBib3VnaHQgb3V0IGJ5IG90aGVy cywNCj4gPiBjaGVhcCwgYW5kIHRoZQ0KPiA+IGluZnJhc3RydWN0dXJlIHRoYXQgaXMgYnVpbHQg Z2V0cyB1c2VkIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGEgbW9yZQ0KPiA+IHJlYWxpc3RpYw0KPiA+ IGJ1c2luZXNzIG1vZGVsLiBJdCBtYXkgdGFrZSB5ZWFycyAoc2VlIHRoZSBtYXNzaXZlIG92ZXJi dWlsZGluZyBvZg0KPiA+IGZpYmVyIGluIHNvbWUNCj4gPiBhcmVhcyksIGJ1dCBpdCB3aWxsIGV2 ZW50dWFsbHkgYmUgdXNlZC4NCj4gPg0KPiA+IEkgdGhpbmsgdGhlcmUgaXMgZGlzYWdyZWVtZW50 IG9uIGlmIEFJIGlzIGdvaW5nIHRvICdob2NrZXkgc3RpY2snIG9yDQo+IG5vdCwgYnV0DQo+ID4g ZXZlbiBpZiBpdCBkb2Vzbid0LCB0aGVlIGFyZSBhIGxvdCBvZiBnb29kIHVzZXMgZm9yIHRoZSBw YXR0ZXJuIG1hdGNoaW5nDQo+ID4gY2FwYWJpbGl0eSAoanVzdCBub3QgYXQgdG9kYXkncyBwcmlj ZXMpDQo+ID4NCj4gPiBEYXZpZCBMYW5nDQo+ID4NCj4gPg0KPiA+IE9uIFdlZCwgMjUgRmViIDIw MjYsIE5pY2sgTWF0dGhld3Mgd3JvdGU6DQo+ID4NCj4gPj4gRGF0ZTogV2VkLCAyNSBGZWIgMjAy NiAxOTozODo1MiAtMDcwMA0KPiA+PiBGcm9tOiBOaWNrIE1hdHRoZXdzIDxtYXR0aG5pY2tAZ21h aWwuY29tPg0KPiA+PiBUbzogRGF2aWQgTGFuZyA8ZGF2aWRAbGFuZy5obT4NCj4gPj4gQ2M6IERh bmllbCBBSiBTb2tvbG92IDxkYW5pZWxAZmFsY28uY2E+LA0KPiA+PiAgICAgRGF2ZSBUYWh0IHZp YSBTdGFybGluayA8c3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0Pg0KPiA+PiBTdWJqZWN0 OiBSZTogW1N0YXJsaW5rXSBSZTogRGF0YSBjZW50ZXJzIGFyZSByYWNpbmcgdG8gc3BhY2Ug4oCU IGFuZA0KPiByZWd1bGF0aW9uDQo+ID4+ICAgICBjYW7igJl0IGtlZXAgdXANCj4gPj4NCj4gPj4g VGhlIHVuZGVybHlpbmcgdGhlb3J5IGhlcmUgaXMgaWYgc29tZW9uZSBidWlsZHMgYSBtb2RlbCB0 aGF0IGNhbiBpbXByb3ZlDQo+ID4+IGl0c2VsZiBmYXN0ZXIgdGhhbiBodW1hbnMsIHRoZXkgd2lu LiBNaWxpdGFyeSwgZWNvbm9teSwgZnV0dXJlIHByb2JsZW1zLA0KPiA+PiBldGMuIFRoYXQgY291 bGQgaGF2ZSBhIGxvdCBvZiByZWFsIG9uLUVhcnRoIGltcGFjdC4gVGhlcmUncyBpbnZlc3RtZW50 cw0KPiBhbmQNCj4gPj4gcmFjZXMgZ29pbmcgb24gdGhhdCBzdXBwb3J0IHRoYXQgdGhlb3J5Lg0K PiA+Pg0KPiA+PiBJZiB0aGUgbWFqb3IgbGltaXRpbmcgZmFjdG9yIGlzIGhvdyBiaWcgYW5kIGZh c3QgeW91IGNhbiBidWlsZCBwb3dlcg0KPiBwbGFudHMNCj4gPj4gb24gZWFydGgsIGFuZCBhc3N1 bWUgdGhlIHBlcnNvbiB3aXRoIHRoZSBtb3N0IGFjY2VzcyB0byBwb3dlciB3aW5zLCBpdA0KPiA+ PiBzdGFydHMgdG8gbWFrZSBtb3JlIHNlbnNlLg0KPiA+Pg0KPiA+PiBIb3dldmVyLCB0aGVyZSdz IGFsc28gYSBnaWFudCBsaXN0IG9mIHRlY2huaWNhbCBhc3N1bXB0aW9ucyB0aGF0IG5lZWQNCj4g dG8gYmUNCj4gPj4gdHJ1ZSBmb3IgdGhvc2UgYXNzdW1wdGlvbnMgdG8gZmx5IChnZXQgaXQ/KS4g QW5kIHRob3NlIHRlY2huaWNhbA0KPiA+PiBhc3N1bXB0aW9ucyBkb24ndCBuZWNlc3NhcmlseSBu ZWVkIHRvIGJlIHRydWUgaW4gb3JkZXIgdG8gY2FzaCB0aGUNCj4gY2hlY2tzDQo+ID4+IGZyb20g cGVvcGxlIHRoYXQgZWl0aGVyIHdhbnQgdG8gY29tcGV0ZSBpbiB0aGF0IHJhY2Ugb3IgaW52ZXN0 IGluDQo+IHNvbWVvbmUNCj4gPj4gdGhhdCBpcy4NCj4gPj4NCj4gPj4gU29tZSBvZiB0aGUgYXNz dW1wdGlvbnMgSSd2ZSBjb21lIHRvIGluY2x1ZGU6DQo+ID4+ICogQWRkaW5nIG1vcmUgcG93ZXIg YW5kIGRhdGEgdG8gbW9kZWxzIGV2ZW50dWFsbHkgZ2V0cyB5b3UgdG8gdGhlDQo+ID4+IGludGVs bGlnZW5jZSBuZWVkZWQgdG8gaG9ja2V5IHN0aWNrLiAoVmVyc3VzIHNvbHZpbmcgdGhpcyBwcm9i bGVtIHdpdGggYQ0KPiA+PiBkaWZmZXJlbnQgYXBwcm9hY2gsIGFsZ29yaXRobXMsIG9yIGRpZmZl cmVudCBraW5kcyBvZiBkYXRhLikNCj4gPj4gKiBUaGUgbW9kZWxzLCBkYXRhLCBhbmQgdW5kZXJs eWluZyBhbGdvcml0aG1zIGFyZW4ndCBlYXNpbHkgcmVwbGljYXRlZA0KPiBieQ0KPiA+PiBvdGhl cnMgb25jZSB0aGV5IHN0YXJ0IGV4cG9uZW50aWFsbHkgaW5jcmVhc2luZyBpbiBhYmlsaXR5LiBF LmcuIGNhbg0KPiA+PiBzb21lb25lIGxpa2UgRGVlcHNlZWsganVzdCB0YWtlIHRoZSBvdXRwdXRz IG9mIHRoZSBmaXJzdCBtb3ZlciwgYW5kIHRoZW4NCj4gPj4gbm90IHJlcXVpcmUgdGhlIHNhbWUg cG93ZXIgY2FwYWNpdHkgYW5kIHJlcGxpY2F0ZSBhIHNpbWlsYXIgdmFsdWUuIFRoaXMNCj4gPj4g d291bGQgc2xvdyBkb3duIHRoZSBmaXJzdCBtb3ZlciB2ZWxvY2l0eSBiZW5lZml0cy4NCj4gPj4g KiBBSSBldmVudHVhbGx5IHN0YXJ0cyBjcmVhdGluZyByZXR1cm5zLg0KPiA+PiAqIExhdW5jaCBj b3N0cyBnbyBkb3duIHNpZ25pZmljYW50bHkgKHgxMD8pDQo+ID4+ICogVGhlcmUncyBlbm91Z2gg cm9vbSBpbiBzdW4gc3luY2hyb25vdXMgb3JiaXQgdG8gcnVuIGF0IHBvd2VyIHNjYWxlcw0KPiBu b3QNCj4gPj4gcG9zc2libGUgb24gZWFydGggd2l0aG91dCBraWNraW5nIG9mZiBLZXNzbGVyDQo+ ID4+ICogQSBjb21iaW5hdGlvbiBvZiB2ZXJ5IGxhcmdlIHNvbGFyIHBhbmVscywgcmFkaWF0aXZl IGNvb2xpbmcsIGZsdWlkDQo+ID4+IGV4Y2hhbmdlIGJldHdlZW4gdGhlbSwgdGhlIGNvbXB1dGlu ZywgcHJvcHVsc2lvbiwgYW5kIGFueSBuZWNlc3NhcnkNCj4gPj4gcmVkdW5kYW5jeSBvZiB0aGVz ZSBjb21wb25lbnRzIGlzIHN0aWxsIGVjb25vbWljYWwuDQo+ID4+ICogT3BlcmF0aW9uYWwgbG9z cyBkdWUgdG8gcmFkaWF0aW9uLCBtaWNybyBhc3Rlcm9pZHMsIGFuZCBnZW5lcmFsDQo+ID4+IGNv bXBvbmVudCBmYWlsdXJlIGlzIHRvbGVyYWJsZS4NCj4gPj4gKiBDb21wb25lbnRzIGxpa2UgR1BV cyBhbmQgUkFNIGFuZCB1bmRlcmx5aW5nIGJ1cyBzdHJ1Y3R1cmVzIGNhbiBiZQ0KPiBidWlsdA0K PiA+PiB0byBiZSBtb3JlIHJhZGlhdGlvbiB0b2xlcmFudC4NCj4gPj4gKiBCdXJuaW5nIHVwIG5l dyBvcmRlcnMgb2YgbWFnbml0dWRlIG9mIGFtb3VudHMgb2YgZWxlbWVudHMgaW4gdGhlDQo+ID4+ IGF0bW9zcGhlcmUgY2FuIGJlIG1hbmFnZWQgKGFsdW1pbnVtLCBzaWxpY29uLCBldGMuKQ0KPiA+ PiAqIE9yLCB0aGVyZSBpcyBzb21lIGFtb3VudCBvZiBpbi1vcmJpdCByZWN5Y2xpbmcgYW5kIG1h bnVmYWN0dXJpbmcNCj4gd2l0aG91dA0KPiA+PiByZXR1cm5pbmcgbWF0ZXJpYWwgYmFjayB0byBF YXJ0aC4NCj4gPj4gKiBCYW5kd2lkdGggY2FuIGJlIGJ1aWx0IGZvciAxKSBpbnRyYSBjbHVzdGVy IHdpdGhpbiBhIHNhdGVsbGl0ZSwgMikNCj4gY3Jvc3MNCj4gPj4gY2x1c3RlciB2aWEgT0lTbCwg MykgQmFjayB0byBFYXJ0aCB1c2luZyBSRiBvciBsYXNlcnMuDQo+ID4+ICogUmVndWxhdG9yeSBi b2RpZXMgYWdyZWUgd2l0aCB0aGUgcmlzayB2ZXJzdXMgcmV3YXJkIGFuZCBhcHByb3ZlIHRoaXMN Cj4gPj4ga2luZCBvZiBwbGFuLg0KPiA+PiAqIFRoZSBzbWFydGVyLXRoYW4taHVtYW4gQUkgZG9l c24ndCBkZWNpZGUgdG8gZGVzdHJveSB0aGUgaHVtYW4gcmFjZSBpbg0KPiBhDQo+ID4+IG1vdmUg b2Ygc2VsZiBwcmVzZXJ2YXRpb24gYmVjYXVzZSB0aGUgQUkgY29tcGFuaWVzIGRpZG4ndCBoYXZl IHRpbWUgZm9yDQo+ID4+IGJvdW5kYXJpZXMuDQo+ID4+DQo+ID4+IEkgdGhpbmsgaXQncyBhIG5l YXQgdGhvdWdodCBleHBlcmltZW50LCBldmVuIGlmIGl0J3MgYSBsaXR0bGUNCj4gdGVycmlmeWlu ZyBpbg0KPiA+PiBzY2FsZSBhbmQgaW1wYWN0IGlmIGl0J3MgcmVtb3RlbHkgcG9zc2libGUuDQo+ ID4+DQo+ID4+IC1uaWNrDQo+ID4+DQo+ID4+IE9uIFdlZCwgRmViIDI1LCAyMDI2LCA2OjMz4oCv UE0gRGF2aWQgTGFuZyB2aWEgU3RhcmxpbmsgPA0KPiA+PiBzdGFybGlua0BsaXN0cy5idWZmZXJi bG9hdC5uZXQ+IHdyb3RlOg0KPiA+Pg0KPiA+Pj4gRGFuaWVsIEFKIFNva29sb3Ygd3JvdGU6DQo+ ID4+Pg0KPiA+Pj4+IEJsb2NrIHNwb3RzIGluIG9yYml0DQo+ID4+Pg0KPiA+Pj4gYXQgdGhlIHNj YWxlIHRoYXQgaGUgb3BlcmF0ZXMsIGV2ZXJ5b25lIGVsc2UgY29tYmluZWQgaW4gaW4gdGhlIG5v aXNlLg0KPiA+Pj4gU3RhcmxpbmsNCj4gPj4+IGlzIGFscmVhZHkgc2V2ZXJhbCB0aW1lcyB0aGUg bnVtYmVyIG9mIG90aGVyIHNhdGVsbGl0ZXMgaW4gb3JiaXQNCj4gY29tYmluZWQuDQo+ID4+Pg0K PiA+Pj4gYmVzaWRlcywgaW4gdGhlIGxvbmcgcnVuLCBoZSdzIHRhbGtpbmcgYWJvdXQgbGF1bmNo aW5nIGZyb20gdGhlIG1vb24NCj4gaW50bw0KPiA+Pj4gc29sYXINCj4gPj4+IG9yYml0LCBub3Qg ZWFydGggb3JiaXQsIGJ1dCBldmVuIGlmIGhlIHdhcyBqdXN0IHRhbGtpbmcgYWJvdXQgbGF1bmNo aW5nDQo+ID4+PiBpbnRvDQo+ID4+PiBlYXJ0aCBvcmJpdCBuZWFyIHRoZSBtb29uJ3Mgb3JiaXQs IGl0J3Mgbm90IGxpa2UgdGhlcmUgYXJlIHZlcnkgbWFueQ0KPiA+Pj4gc2F0ZWxsaXRlcw0KPiA+ Pj4gdGhlcmUgdG8gY29udGVuZCB3aXRoLg0KPiA+Pj4NCj4gPj4+PiBGcm9tIGEgdGVjaG5vbG9n eSBwb2ludCBvZiB2aWV3LCB0aGlzIGlzIGJvbmtlcnMuDQo+ID4+Pg0KPiA+Pj4gaWYgeW91IG9u bHkgbG9vayBhdCB0ZWNobmljYWwgZGV0YWlscywgeW91IG1heSBiZSByaWdodCwgYnV0IGlmIHlv dSBhZGQNCj4gPj4+IHRoZQ0KPiA+Pj4gcmVndWxhdG9yeSBidXJkZW4gYW5kIGRlbGF5cyBpbiBi dWlsZGluZyB0cmFkaXRpb25hbCBkYXRhY2VudGVycywgdGhhdA0KPiBtYXkNCj4gPj4+IGJlDQo+ ID4+PiBlbm91Z2ggdG8gY2hhbmdlIHRoZSBtYXRoLg0KPiA+Pj4NCj4gPj4+IE5vdywgaWYgd2Ug Y291bGQgZWFzZSB0aGUgcmVndWxhdGlvbnMgc28gdGhhdCBpdCdzIGVhc2llciB0byBidWlsZA0K PiBwb3dlcg0KPiA+Pj4gcGxhbnRzDQo+ID4+PiBhbmQgaG9vayB1cCB0byB0aGUgZ3JpZCAob3Ig Z2V0IHNtYWxsIG5leHQtZ2VuIG51Y2xlYXIgcG93ZXIgcGxhbnRzDQo+ID4+PiBvcGVyYXRpb25h bA0KPiA+Pj4gc28gdGhleSBjYW4gYmUgZHJvcHBlZCBhdCB0aGUgZGF0YWNlbnRlcnMpLCB0aGF0 IGNvdWxkIGNoYW5nZSB0aGUgbWF0aA0KPiA+Pj4gYmFjay4NCj4gPj4+DQo+ID4+PiBEYXZpZCBM YW5nDQo+ID4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPiA+Pj4gU3RhcmxpbmsgbWFpbGluZyBsaXN0IC0tIHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJs b2F0Lm5ldA0KPiA+Pj4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBzdGFybGluay1s ZWF2ZUBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4gPj4+DQo+ID4+DQo+ID4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBTdGFybGluayBtYWlsaW5n IGxpc3QgLS0gc3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+ID4gVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbiBlbWFpbCB0byBzdGFybGluay1sZWF2ZUBsaXN0cy5idWZmZXJibG9hdC5uZXQN Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gU3Rh cmxpbmsgbWFpbGluZyBsaXN0IC0tIHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPiBU byB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHN0YXJsaW5rLWxlYXZlQGxpc3RzLmJ1ZmZl cmJsb2F0Lm5ldA0KPg0KDQoNCi0tDQpQbGVhc2Ugc2VuZCBhbnkgcG9zdGFsL292ZXJuaWdodCBk ZWxpdmVyaWVzIHRvOg0KVmludCBDZXJmDQpHb29nbGUsIExMQw0KMTkwMCBSZXN0b24gTWV0cm8g UGxhemEsIDE2dGggRmxvb3INClJlc3RvbiwgVkEgMjAxOTANCisxICg1NzEpIDIxMyAxMzQ2DQoN Cg0KdW50aWwgZnVydGhlciBub3RpY2UNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQpTdGFybGluayBtYWlsaW5nIGxpc3QgLS0gc3RhcmxpbmtAbGlzdHMu YnVmZmVyYmxvYXQubmV0DQpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHN0YXJsaW5r LWxlYXZlQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0K