From owner-freebsd-transport@freebsd.org Sun Feb 24 14:43:50 2019 Return-Path: Delivered-To: freebsd-transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72656150003D for ; Sun, 24 Feb 2019 14:43:50 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-eopbgr780084.outbound.protection.outlook.com [40.107.78.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D11446FCE2; Sun, 24 Feb 2019 14:43:48 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tU0KBaCviWZz1BhJmArInrZ8ru1l/BPSfU1XMypm/Ek=; b=En4t3tGCj2+CWkm5GZNU8oDlb/qOuSx9IUkV6cu65MhKb1wh/UhFSoDHQ9xNdcjitNciFu412jZuQdiR6aQ7Cs1qxKS9qcfHPBZjJ/6GtUOkKcNt6MQtKYQiTF+1e/LxIL49WETtjoRa4IjIse+0FwqfoiTf4DSnsb6t7WCMhWA= Received: from SN4PR0601MB3728.namprd06.prod.outlook.com (10.167.151.152) by SN4PR0601MB3696.namprd06.prod.outlook.com (10.167.141.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.18; Sun, 24 Feb 2019 14:43:45 +0000 Received: from SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::8964:7f8e:108:77a9]) by SN4PR0601MB3728.namprd06.prod.outlook.com ([fe80::8964:7f8e:108:77a9%3]) with mapi id 15.20.1643.018; Sun, 24 Feb 2019 14:43:45 +0000 From: "Scheffenegger, Richard" To: Randall Stewart CC: Michael Tuexen , "freebsd-transport@freebsd.org" Subject: RE: DSACK Thread-Topic: DSACK Thread-Index: AdTLWc4uYQf4MWyfQYim5HKMDVJsDAACEkwAAAAIW5AAACftAAA0cJuAAAEByoAAABOFAAAACHMgAABbFwAABCA/MA== Date: Sun, 24 Feb 2019 14:43:45 +0000 Message-ID: References: <5ACAD39A-2A77-43BB-BE93-994C1C6C93AB@freebsd.org> <5AD822A0-06D7-44DB-AFB1-2453FD59A222@freebsd.org> <58102EB5-6A5A-4BE1-ADEA-4EDCB56A39AE@freebsd.org> <328BFA58-EF05-473C-9DC0-05549E662213@netflix.com> <824585F6-342D-4F7F-BB2A-FA9CA661E5D2@netflix.com> In-Reply-To: <824585F6-342D-4F7F-BB2A-FA9CA661E5D2@netflix.com> Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcc3JpY2hhcmRcYXBwZGF0YVxyb2FtaW5nXDA5ZDg0OWI2LTMyZDMtNGE0MC04NWVlLTZiODRiYTI5ZTM1Ylxtc2dzXG1zZy05NDM3NDYwNy0zODQyLTExZTktYjVlZi0wMDE5ZDJlNGVjZDdcYW1lLXRlc3RcOTQzNzQ2MDgtMzg0Mi0xMWU5LWI1ZWYtMDAxOWQyZTRlY2Q3Ym9keS50eHQiIHN6PSI1MzAxIiB0PSIxMzE5NTQ5MzAyMjkwNDgzMTkiIGg9Ilp5bzJmTU9DQllOTDlueVF3RmdXUnl0dy9Sdz0iIGlkPSIiIGJsPSIwIiBibz0iMSIvPjwvbWV0YT4= x-dg-rorf: x-originating-ip: [70.90.167.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1ba60690-2bf6-4d54-c6ba-08d69a667ad9 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600110)(711020)(4605104)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:SN4PR0601MB3696; x-ms-traffictypediagnostic: SN4PR0601MB3696: x-ms-exchange-purlcount: 2 x-microsoft-exchange-diagnostics: =?utf-8?B?MTtTTjRQUjA2MDFNQjM2OTY7MjM6QlpDM3I5cEdrYTFNWnlOd1JqNkQvQzdX?= =?utf-8?B?VzNqRFNoRk1xTGV1MEhMN0FLaEFTSXRnRjdMUUErZDVQMVlYbnNHRllFUVFT?= =?utf-8?B?T0NnNlF6dG9GVkZhSE1VT2tQeVdsNWs3Q1JneEgyd3A5UXRoS0lsNktESnRD?= =?utf-8?B?ZExERHgwNUhhc0IvMjJjSy9INDVhWkNrNUNNem1maE5rRVBFSzlyOGFERGlY?= =?utf-8?B?eGRFWjl0RW9PNVorQ0cxdmQ0VkdBYVplbFRkYWRZMVZtSnVJcEoyTThLUWNJ?= =?utf-8?B?TW1pbW5YVERsQjFVQjR4R2hNTlc3Mmp5SG5VNlNqQS9NaW51S1QxT1AwYUFU?= =?utf-8?B?QnBnS1p5cjFxWXM2Rm9ISHlocjB4dTdkNjRWRzlJNGNnbytDblB2K0FCa2dj?= =?utf-8?B?Wk5TYlpCNWhPYkFzTXhqOEZBWWUvWDhUbjdKaFdjOGFaWElIeUNEMnBzZFdu?= =?utf-8?B?aFJIMTg2VFYrRUFqV3htZW1hWWlSR1FTZVYzMG1jOFVlTDJ0ZFNoY1JhdzFI?= =?utf-8?B?WWVKbG5FYjczWDNtUll3Z1Rvdit4d3NEQ3RuRDlvUVRCcjNmWTB5OWVFSWxD?= =?utf-8?B?ckUyWWlid0lxMVYzaVZwZWZnZnh1MFY4SHhzRmxIUktPVHdIWnNsN0RQRXR5?= =?utf-8?B?LzFnRUYyWFVYVG03Z05nTEw4cHViWFBzck45eXN0UDR6cVlKRTFlYUlabUQ5?= =?utf-8?B?NXp3NFMrYU41YUtmYjl2T3FTcHk4MjFPMkNYaUl1RHF3cjJWZzdCdm5lR2Js?= =?utf-8?B?QlpwNEJiR2ZndUJ6RTNRamVzemJsc2FxK1Jxak5BSEkzVXlORklYTXo5NUxT?= =?utf-8?B?RzljRmtzMkMrVkwrN293N1JlY2tnVDE3dGJxQmtocTlhMmhOU2Q5ak9zS3FN?= =?utf-8?B?bnNOMmdsL1RGNkgwd09MOFZZZWhpQVYwQTZMOEhRWkRsNHFYajhtUDZWVlhn?= =?utf-8?B?Y0xrbllROVoydXZKNW9kcW5xb3NjZCtXczA0MGJnTVFhSU84TmEwZm1nWHlK?= =?utf-8?B?c1JZRVVMREZjd3kxSjlhMDJpTHBDenVaZ2NkR2poYkZKVEdDenFIWW05aU5G?= =?utf-8?B?OVZyYnE0dno1QmNqSSs1OVdlaWhMOCtVeU9NeS9WOU1GUzc3NG82bHdPT25r?= =?utf-8?B?dzQwdUN2cGFJckxuSVRWU3p3M0VyMzdDTFUxR1FEa0g1TFJwVWxhTCt1UHBv?= =?utf-8?B?SFVhUjNRYlFUYUdzUmZEUmdCZWRwQmdZWlRxSFoxYmR3d1FwYUlWVXJzY2gw?= =?utf-8?B?RWdUek9zc283SVlvY0dlZXdpQzVqd01JMHBQeE9peldTdnhVMFRWdzh6Ti9I?= =?utf-8?B?ekZDMEt3cGgrYnJRcnpPVUJlakdrTHJBSndrR25aaHpBMEc0bmpFNmVTck1C?= =?utf-8?B?Szd4bUQ3dG5IOXpDVkNIM2gxSW0wM0s0bEFKNzVyU3JyaTliNitQaUxtcDd2?= =?utf-8?B?VFlKNjdSN2pNUDJkbFc0V2xvaXBDNXduV2NGdHNaaWNOQ1h0RENkN1RuS21u?= =?utf-8?B?cW96eDZoc3J2RkIycnZRYUdFQlJwam5RcVc1UXQ1VnNPMEFSZ1FTeDI4MTQ0?= =?utf-8?B?SFF3QWJ4UVNrekdNUHZPOE5UdW5Lelo1dDMxRlY4VDh5aEJpaSsvOUxabUdW?= =?utf-8?B?TENXbU9oSXFXamxaK3FJY0ZXdkYxdlN6clhXN3BUL3lPTjdaaHlXWnBxZS9m?= =?utf-8?B?anMvNnZNNmpZUTVqZThoODlBbklSWGdTS2t1M29yTlJlMWlRSE1uTDVnOXJi?= =?utf-8?B?ZGVjcnFwNnM3b3ZKZ250UHNUa0k2dnZlTHM3d1VDV1c2dnZpcnJpTm45ZkN4?= =?utf-8?B?UGEvVXNMZDlpNnRacy96UUwvNytLTnQxVlJpOW1RNytTNG5XZzRvYUtqemk4?= =?utf-8?B?dksrRE5CL25tUm9FQXByWmY2eWxQTkRDekFhZU5ybWtyNE9qaUc1eVVpelJj?= =?utf-8?B?eEkwWkxPMjdqL29hcUlpRE5Ld2dwVUNTQXN3Y0RlU1V2bkRmc252eFBzVXk3?= =?utf-8?Q?eeJHlwP/?= x-microsoft-antispam-prvs: x-forefront-prvs: 09583628E0 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(366004)(39860400002)(376002)(136003)(189003)(199004)(13464003)(6306002)(14444005)(5024004)(99286004)(305945005)(256004)(81156014)(53936002)(81166006)(55016002)(9686003)(66574012)(71190400001)(71200400001)(97736004)(74316002)(8936002)(25786009)(33656002)(2906002)(102836004)(86362001)(478600001)(53546011)(6506007)(221733001)(14454004)(66066001)(72206003)(966005)(7736002)(6436002)(8676002)(3480700005)(229853002)(4326008)(76176011)(7696005)(6246003)(486006)(93886005)(316002)(68736007)(186003)(5660300002)(11346002)(54906003)(105586002)(7116003)(52536013)(26005)(476003)(6116002)(6916009)(3846002)(106356001)(446003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN4PR0601MB3696; H:SN4PR0601MB3728.namprd06.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: netapp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 4MnDOq9ginv2GJ0eCOxOlBoAKFyKbl/MCPdtpNF2EnaIOHIoTM7uMHA6rGCdWPyB6kQSNZml8fx8nYvvpVronQMEStVFT+mhP6F+s4QX5Vke//uL4i/wsl8IV8rLRC4cyPneios4RxngExBl21zsWZSSkL9oezbzc5DzoY8HzyN5wXD22NVbNstKhwwUItz6sxS7kzVDOUDMVPQ7vX7Vq+R6OAMOlpLgbUmOMkU/EhZdoWmWwbaviH2cohVAkHZXcipy7XwQ5OMp/h8bdVBjcvDx//VMba/mIrvn30QmKUydR3voXAdAJvw2B7LMmEyqLnnfD3Pvckg8fF9dzW6rRDTtJKep+eW+rK4kiwXQdy7Lc3LWv6hvyRCgFToC4D2lx8xFOKAQJuRjLIGAtBbvqkdrP2HSWGRiu1QI1v0pl/s= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ba60690-2bf6-4d54-c6ba-08d69a667ad9 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2019 14:43:45.6577 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0601MB3696 X-Rspamd-Queue-Id: D11446FCE2 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netapp.onmicrosoft.com header.s=selector1-netapp-com header.b=En4t3tGC; spf=pass (mx1.freebsd.org: domain of Richard.Scheffenegger@netapp.com designates 40.107.78.84 as permitted sender) smtp.mailfrom=Richard.Scheffenegger@netapp.com X-Spamd-Result: default: False [-0.73 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[netapp.onmicrosoft.com:s=selector1-netapp-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/17]; NEURAL_HAM_LONG(-0.99)[-0.990,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[netapp.com]; NEURAL_HAM_MEDIUM(-0.50)[-0.497,0]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.80)[0.796,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: mx1.netapp.iphmx.com]; DKIM_TRACE(0.00)[netapp.onmicrosoft.com:+]; MIME_BASE64_TEXT(0.10)[]; SUBJ_ALL_CAPS(0.38)[5]; RCVD_IN_DNSWL_NONE(0.00)[84.78.107.40.list.dnswl.org : 127.0.3.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[] X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Feb 2019 14:43:50 -0000 aHR0cHM6Ly93aWtpLmZyZWVic2Qub3JnL2FjdGlvbi9sb2dpbi9UcmFuc3BvcnRQcm90b2NvbHMv dGNwX3JmY19jb21wbGlhbmNlDQoNCkFwcGFyZW50bHksIGl0IHdhcyBhZGRlZCB0aGVyZSB3aXRo IGNoYW5nZSAjMTMJMjAxNS0wOS0yNyAwMToyMzo0MAk4OTI1CSB0byBwcmV2aW91cwlFaXRhbkFk bGVyDQoNCkl0J3Mgbm90IHVubGlrZWx5LCB0aGF0IEkgd2FzIG1pc3Rha2VuIHNlZWluZyB0aGlz IGluIHVwc3RyZWFtLCBhbmQgdGhlICJzdXBwb3J0IiBvZiBEU0FDSyBjbGFpbWVkIGhlcmUgcmVh bGx5IGlzIG9ubHkgYWJvdXQgImlnbm9yaW5nIiBpbmNvbWluZyBEU0FDSyBwYWNrZXRzLi4uDQoN CkN1cnJlbnRseSBjaGVja2luZyB0byBzZWUsIGlmIHRoaXMgY2FuIGJlIGFkZGVkIHdpdGggYSBy ZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCBsb2dpY2FsIGNvbmRpdGlvbiwgYW5kIGNsZWFyZWQg b24gdGhlIG5leHQgaW5jb21pbmcgc2VnbWVudCAoZGF0YSBvciBwdXJlIEFDSykuDQoNCg0KLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJhbmRhbGwgU3Rld2FydCA8cnJzQG5ldGZs aXguY29tPiANClNlbnQ6IFNvbm50YWcsIDI0LiBGZWJydWFyIDIwMTkgMDQ6MTUNClRvOiBTY2hl ZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4NCkNj OiBNaWNoYWVsIFR1ZXhlbiA8dHVleGVuQGZyZWVic2Qub3JnPjsgZnJlZWJzZC10cmFuc3BvcnRA ZnJlZWJzZC5vcmcNClN1YmplY3Q6IFJlOiBEU0FDSw0KDQpSaWNoYXJkOg0KDQpJIGFncmVlIGl0 IHdvdWxkIGJlIGEgbmljZSB0byBhZGQgdGhpbmcuLiBJIGhhdmUgdGhvdWdodCBhYm91dCBkb2lu ZyBpdCBmb3IgUmFjayBhbmQgQkJSLCBidXQgdGhlcmUgYXJlIHNvIG1hbnkgb3RoZXIgdGhpbmdz IHRoYXQgbmVlZCB0ZW5kaW5nIHRvbyA6KQ0KDQpBcyB0byDigJxzdXBwb3J0IGlzIGNsYWltZWTi gJ0uLiB3aGVyZSBpcyB0aGF0LCBBIHNpbXBsZSBncmVwIHRocm91Z2ggdGhlIGNvZGUgZm9yIDI4 ODMgIGkuZS4NCg0KY2Qgc3lzL25ldGluZXQNCmdyZXAg4oCcMjg4M+KAnSB0Y3AqDQoNCmRvZXMg bm90IHNob3cgYW55dGhpbmcuLiBpcyBpdCBpbiBvbmUgb2YgdGhlIG1hbiBwYWdlcyBvciBzb21l dGhpbmc/DQoNClRoYW5rcw0KDQpSDQoNCj4gT24gRmViIDI0LCAyMDE5LCBhdCA3OjEwIEFNLCBT Y2hlZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNvbT4g d3JvdGU6DQo+DQo+IFdlbGwsIFJGQzI4ODMgc3VwcG9ydCBpcyBjbGFpbWVkLCBhbmQgaXQgbWF5 IGhhdmUgYmVlbiB3b3JraW5nIHNvbWV3aGF0IGluIHZlcnkgb2xkIGNvZGUgKGJlZm9yZSAyMDA1 PykgaW5jaWRlbnRhbGx5Li4uDQo+DQo+IEV2ZW4gdGhvdWdoIEZCU0QgZG9lc24ndCBtYWtlIHVz ZSBvZiBEU0FDSyBpbmZvcm1hdGlvbiwgTGludXggZG9lcyAodW53aW5kIG9mIHNwdXJpb3VzIFJU T3MgZm9yIGV4YW1wbGUpLiBTbyBoYXZpbmcgbWluaW1hbCBEU0FDSyAoYWdhaW4/KSBpcyBjZXJ0 YWlubHkgZ29vZCB0byBoYXZlLg0KPg0KPiBBbHNvLCBJIHdhbnRlZCB0byBzZWUgd2hhdCB0Y3Bf dXBkYXRlX3NhY2tfbGlzdCBkb2VzIHVuZGVyIGNlcnRhaW4gY29ybmVyIGNhc2VzLCB3aGVyZSB3 ZSd2ZSBydW4gaW50byBpc3N1ZXMsIHdoZW4gbm90IGFkanVzdGluZyB0aGUgc2FjayBibG9jayBs ZWZ0IGVkZ2UgKGJlbHQgKyBzdXNwZW5kZXJzKS4NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogUmFuZGFsbCBTdGV3YXJ0IDxycnNAbmV0ZmxpeC5jb20+DQo+IFNlbnQ6 IFNvbm50YWcsIDI0LiBGZWJydWFyIDIwMTkgMDQ6MDMNCj4NCj4NCj4gSSBqdXN0IGRvbuKAmXQg cmVtZW1iZXIgZXZlciBzZWVpbmcgY29kZSBpbiB0aGUgc3RhY2sgdG8gZG8gRFNBQ0suIEkga25v dyBJIGhhdmUgYWRkZWQgc29tZSBzbWFsbCBiaXRzIHRvIGJlIGF3YXJlIG9mIERTQUNLIGNvbWlu ZyBpbiBmcm9tIG90aGVyIHN0YWNrcyBpbiBCQlIgYW5kIFJhY2ssIGJ1dCBpdCBvbmx5IGRvZXMg YWNjb3VudGluZyBhbmQgZG9lcyBub3QgdXNlIHRoZSBpbmZvcm1hdGlvbi4uIG5vciBkb2VzIGl0 IGdlbmVyYXRlIGFueS4uDQo+DQo+IEkgaGF2ZSB0aG91Z2h0IGFib3V0IGRvaW5nIGl0LCBidXQg SSBoYXZlIG5vdCBwbGFjZWQgYSBiaWcgcHJpb3JpdHkgb24gaXTigKYuDQo+DQo+IFINCj4NCj4+ IE9uIEZlYiAyNCwgMjAxOSwgYXQgNzowMSBBTSwgTWljaGFlbCBUdWV4ZW4gPHR1ZXhlbkBmcmVl YnNkLm9yZz4gd3JvdGU6DQo+Pg0KPj4+IE9uIDI0LiBGZWIgMjAxOSwgYXQgMTI6MzIsIFJhbmRh bGwgU3Rld2FydCA8cnJzQG5ldGZsaXguY29tPiB3cm90ZToNCj4+Pg0KPj4+IEkgZG9u4oCZdCB0 aGluayBJIGhhdmUgZXZlciBzZWVuIEZyZWVCU0QgZW1pdCBhIERTQUNLLiBOb3cgYWRtaXR0ZWRs eSANCj4+PiBJIGhhdmUgb25seSBwYWlkIGNsb3NlIGF0dGVudGlvbiBpbiBjdXJyZW50LiBCdXQg dGhhdCBzcGFucyBldmVuIA0KPj4+IGJhY2sgaW50byAxMSBkYXlzIEkgdGhpbmsuDQo+Pj4NCj4+ PiBIbW0gd29uZGVyIGlmIEkgaGF2ZSBhIDEwIG1hY2hpbmUgSSBjYW4gZ28gYmFjayBhbmQgbG9v ayBhdCA6KQ0KPj4gSSB0cmllZCB0byB0ZXN0IG9uIDEwLjQgeWVzdGVyZGF5LCBidXQgcGFja2V0 ZHJpbGwgZG9lc24ndCBydW4gdGhhdCANCj4+IHdlbGwgb24gMTAuNCAobWlzc2luZyBwY2FwIGZ1 bmN0aW9ucykuLi4gSSdtIG5vdCBzdXJlIEkgd2FudCB0byBiYWNrcG9ydCBpdC4NCj4+DQo+PiBC ZXN0IHJlZ2FyZHMNCj4+IE1pY2hhZWwNCj4+Pg0KPj4+IFINCj4+Pg0KPj4+PiBPbiBGZWIgMjMs IDIwMTksIGF0IDU6MzAgQU0sIE1pY2hhZWwgVHVleGVuIDx0dWV4ZW5AZnJlZWJzZC5vcmc+IHdy b3RlOg0KPj4+Pg0KPj4+Pj4gT24gMjMuIEZlYiAyMDE5LCBhdCAxMToyOCwgU2NoZWZmZW5lZ2dl ciwgUmljaGFyZCA8UmljaGFyZC5TY2hlZmZlbmVnZ2VyQG5ldGFwcC5jb20+IHdyb3RlOg0KPj4+ Pj4NCj4+Pj4+DQo+Pj4+PiBCaW4gZ3JhZCBhbSBmbHVnaGFmZW4gdW5kIGhhYiBsZWlkZXIgbnVy IEhFQUQgYmVpIG1pciAodW5kIGVpbiBpc28gdm9uIDEwLCB3byBpY2ggZ3JhZCB2ZXJzdWNoLCBk YXMgbWl0IHNjYXB5IHp1IGNoZWNrZW4pLg0KPj4+Pj4NCj4+Pj4+IEZhbGxzIGR1IHNjaG5lbGwg ZWluZW4gcGFja2V0ZHJpbGwgZ2VnZW4gQlNEMTEgb2huZSBEMTg5NjAgbWFjaGVuIGthbm5zdCwg dW5kIGVzIGRhIG5vY2ggRFNBQ0tzIHJhdXNzZW5kZXQsIHfDpHJlIGRhcyB0b2xsIQ0KPj4+Pj4N Cj4+Pj4+IEljaCBmw7xyY2h0ZSBhYmVyLCBkYXMgZGFzIHNjaG9uIGzDpG5nZXJlIFplaXQga2Fw dXR0IGlzdCAtIGRhIHdpciBudW4gZG9jaCBub2NoIG5pY2h0IEQxODk2MCBkcmlubmVuIGhhYmVu LCB3aWUgaWNoIGlycnTDvG1saWNoIGRhY2h0ZS4NCj4+Pj4gT0suIEknbGwgdGFrZSBhIGxvb2su DQo+Pj4+DQo+Pj4+IEhhdmUgYSBzYXZlIHRyaXAhDQo+Pj4+DQo+Pj4+IEJlc3QgcmVnYXJkcw0K Pj4+PiBNaWNoYWVsDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPj4+Pj4gRnJvbTogTWljaGFlbCBUdWV4ZW4gPHR1ZXhlbkBmcmVlYnNkLm9y Zz4NCj4+Pj4+IFNlbnQ6IFNhbXN0YWcsIDIzLiBGZWJydWFyIDIwMTkgMTE6MjUNCj4+Pj4+IFRv OiBTY2hlZmZlbmVnZ2VyLCBSaWNoYXJkIDxSaWNoYXJkLlNjaGVmZmVuZWdnZXJAbmV0YXBwLmNv bT4NCj4+Pj4+IENjOiBmcmVlYnNkLXRyYW5zcG9ydEBmcmVlYnNkLm9yZw0KPj4+Pj4gU3ViamVj dDogUmU6IERTQUNLDQo+Pj4+Pg0KPj4+Pj4gTmV0QXBwIFNlY3VyaXR5IFdBUk5JTkc6IFRoaXMg aXMgYW4gZXh0ZXJuYWwgZW1haWwuIERvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1l bnRzIHVubGVzcyB5b3UgcmVjb2duaXplIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQg aXMgc2FmZS4NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+Pj4gT24gMjMuIEZlYiAy MDE5LCBhdCAxMDoyOSwgU2NoZWZmZW5lZ2dlciwgUmljaGFyZCA8UmljaGFyZC5TY2hlZmZlbmVn Z2VyQG5ldGFwcC5jb20+IHdyb3RlOg0KPj4+Pj4+DQo+Pj4+Pj4gSGksDQo+Pj4+Pj4NCj4+Pj4+ PiBBIGNvbGxlYWd1ZSBwb2ludGVkIG1lIHRvIHRoZSBzdGFjayAoSEVBRCkgbm8gbG9uZ2VyIGVt aXR0aW5nIERTQUNLIG9wdGlvbnMgYSBmZXcgZGF5cyBhZ28uLi4NCj4+Pj4+Pg0KPj4+Pj4+IEkg d2FzIHVuZGVyIHRoZSBpbXByZXNzaW9uLCB0aGF0IG9sZGVyIHZlcnNpb25zIG9mIEZyZWVCU0Qg d291bGQgc2VuZCBvdXQgRFNBQ0tzIGZvciBzcHVyaW91cyBkdXBsaWNhdGUgcGFja2V0cy4NCj4+ Pj4+Pg0KPj4+Pj4+IEJ1dCB3aGVuIEkgdHJ5IHRoaXMgc2NyaXB0IGFnYWluc3QgSEVBRCwgcmVn dWxhciBjdW11bGF0aXZlIEFDS3Mgd2l0aG91dCBEU0FDSyBibG9ja3MgYXJlIHNob3dpbmcgdXAu DQo+Pj4+Pj4NCj4+Pj4+PiBDdXJyZW50bHkgYmFuZHdpZHRoIHN0YXJ2ZWQgLSBidXQgd2FzIHRo YXQgYSBjb25zY2lvdXMgZGVjaXNpb24/IE9yIHdhcyBtZSBvYnNlcnZpbmcgRFNBQ0tzIG5ldmVy IGEgdGhpbmc/DQo+Pj4+PiBJIHdvdWxkIHNheSBpZiBpdCBpcyB3b3JraW5nIGluIHN0YWJsZS8x MSwgYnV0IG5vdCBpbiBzdGFibGUvMTIgYW5kIGhlYWQsIGl0IGlzIGEgcmVncmVzc2lvbi4NCj4+ Pj4+DQo+Pj4+PiBCZXN0IHJlZ2FyZHMNCj4+Pj4+IE1pY2hhZWwNCj4+Pj4+Pg0KPj4+Pj4+IFRo YW5rcyBhIGxvdCwNCj4+Pj4+PiBSaWNoYXJkDQo+Pj4+Pj4NCj4+Pj4+DQo+Pj4+DQo+Pj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+IGZyZWVi c2QtdHJhbnNwb3J0QGZyZWVic2Qub3JnIG1haWxpbmcgbGlzdCANCj4+Pj4gaHR0cHM6Ly9saXN0 cy5mcmVlYnNkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtdHJhbnNwb3J0DQo+Pj4+IFRv IHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLXRyYW5zcG9ydC11bnN1YnNj cmliZUBmcmVlYnNkLm9yZyINCj4+Pg0KPj4+IC0tLS0tLQ0KPj4+IFJhbmRhbGwgU3Rld2FydA0K Pj4+IHJyc0BuZXRmbGl4LmNvbQ0KPj4+DQo+Pj4NCj4+Pg0KPj4NCj4NCj4gLS0tLS0tDQo+IFJh bmRhbGwgU3Rld2FydA0KPiBycnNAbmV0ZmxpeC5jb20NCj4NCj4NCj4NCg0KLS0tLS0tDQpSYW5k YWxsIFN0ZXdhcnQNCnJyc0BuZXRmbGl4LmNvbQ0KDQoNCg0K