Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1df1-0006G6-De for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jul 2021 23:42:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1m1dey-0003S7-WD for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jul 2021 23:42:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1dey-0003Ru-Bc for pgsql-hackers@lists.postgresql.org; Thu, 08 Jul 2021 23:42:24 +0000 Received: from mail-dm6nam12on2058.outbound.protection.outlook.com ([40.107.243.58] helo=NAM12-DM6-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1deu-0002oh-DU for pgsql-hackers@lists.postgresql.org; Thu, 08 Jul 2021 23:42:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lvzmiXGdvGzK6h31qFDnFLb/AvuiOL0SRymQj8v3m5VIM7uAV4Ts+R4f3zyeWJJk768Gh5JDoYnQE62v25s8+/M5EsoUkGyOgunPMnpDm5nvl5/+ng3jh6JK1SOBFs2dLUxeqd12iuiHgbNDkJkOuDeh/8a6PCrtR5zOT80TZNZmJnHOiBeyNA1Ro9J7t0m/N35k0B0WsQRnp3k04RnhM6sca/X1gWG3sZWsFOhL2dU9vVHAj7EutULDBYIDRJCegO9QHmtnaG4aYuUgZ6ZDxUK3vFj9JynKLXr7WZ6X2g4xxPBIKOFjpURRN41Wnx/W8AN2jcAi+lU9ouE5Bh2AcQ== 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-SenderADCheck; bh=wUXcq2Ry3aVQEEWb+tuKt2DG8UK7PLkC7PjC6e57Fqg=; b=EQIhiwtUOLL3Zcw9wuAeahdkaN9PNkOWWVrkCAP8SAxi7QrYY23LKXuK7L3F+HTJLGXCucMHGOfBkQ3QbE1y6+D0E8C5s7fVMGi8anEK35mq0/qepCs4csRuZqJqu50H2FIuEUDQvKM1HoKIqaPUnXUinejjgmfKpEiOQzPsRVhDwgf87QMyOVOCn2AfQh1TEP7zI7xxYSaubUASw+Ucx508pVwupHaRcXbR266G6KZD3Z2CDTaPVKbIAvsr0Qca/LIZTtd8N63YsyUZLTP/DzW2sulkpYOIEguN9MYlb0Ckd9Ka+BxCqKFwDyzCVuiwxUdb91lkko27AuHud8+2ZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wUXcq2Ry3aVQEEWb+tuKt2DG8UK7PLkC7PjC6e57Fqg=; b=HmNd2pKH4Wg7wZPwcfyDEmEy2j4lSymSEz4xwEFJVky+SRZ+q//LTyn1EbeVEqXXLe2mLUVMCMugTiSBMym9gtuM2P5FpS6uVyFRli7yKTINiKo6EREn1BFDzQ/Hs5TXimNQitFXcBpgMPeyH4EQlRn99hqYKJ1ZirkZaNA1tCU= Received: from MWHPR05MB2896.namprd05.prod.outlook.com (2603:10b6:300:65::20) by MW4PR05MB8810.namprd05.prod.outlook.com (2603:10b6:303:12d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.10; Thu, 8 Jul 2021 23:42:18 +0000 Received: from MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::59e1:5f08:31c6:1d3]) by MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::59e1:5f08:31c6:1d3%9]) with mapi id 15.20.4308.021; Thu, 8 Jul 2021 23:42:18 +0000 From: Jacob Champion To: "magnus@hagander.net" CC: "pgsql-hackers@lists.postgresql.org" Subject: Re: PROXY protocol support Thread-Topic: PROXY protocol support Thread-Index: AQHXD4uSqyjv0bJ6g0yM1Pd9N9IAz6pxb0GAgACI9ICAAAsJgIACQb4AgAAKkYCAACt+gIAAqAWAgACkdICAAVD8AIAAFGSAgARREQCAAmaLAICtlE+AgA8N34A= Date: Thu, 8 Jul 2021 23:42:18 +0000 Message-ID: <8aeede56330ca5721265428302c7f73e4e2e1264.camel@vmware.com> References: <955367547640a1e24a72d0e79236f49ec7f0dd21.camel@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: hagander.net; dkim=none (message not signed) header.d=none;hagander.net; dmarc=none action=none header.from=vmware.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 17d378e1-7ce4-4b38-bced-08d9426a060e x-ms-traffictypediagnostic: MW4PR05MB8810: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1107; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WBwTmlfNRuBcTKYTzGHcJTCijHSOeEcOuH3Ab2O21zoPaNcf47z5VG4XWJbx13RPGuYDQrRkvs7T+b64bqe61QbBLfubHeyg4sii2tzAT7yv9VBAwq2lP4qbwn83nqGR7Vm2o0A35EZyzTwgEd8y+o75Sp9ogcseKYLUgE4zyB5VH6PRIstH/PmIFda5Wy5M5fM1UV/yP2lab9M0WFRa+NEG9ITqB1ERjPJ06VbtrxB3iNKdv8n6+zi3dtTwN6R7VwzovzWYAIAnOmdrA4hYYpiNs6cALyRlSDyppcjMcBzsmZPZm4uyZpdRPnMeKhTxZyIYs28QCOzucpWfUDj/Lb+hexpvwtQSqR+/2YGbceo4nPylKQJaBV1IsogWjpf/Ytvqq4C2upTQ6aw1pPV+y2GP7N4J/4+KTjpJnshf7tbPbpMbjAiA3NZ92IDCqJvNjnqRHJrrSrp6JDj9qHc0sCQOKz0dNJC9cq9yqCXXCC7Fm2gcaDr6qwETHCa3oGnY0aOC/aDV6riNcjYkoTeEL0eCOwJmtRPyeS2lqUFR5Azn4qLeafR9BHIk3JXhlr7jshp/Iahnd9JsOd5jTuGjexRcdTKkLxr6+bSs0CSk+Xz9s5DAmvyXQaMMGhNhBFQ9TjHtK09VoMH1X60NeZii2A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR05MB2896.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(39860400002)(396003)(366004)(346002)(4326008)(8676002)(6512007)(316002)(478600001)(3480700007)(36756003)(66446008)(6486002)(2616005)(76116006)(53546011)(64756008)(66476007)(26005)(7116003)(66946007)(66556008)(6916009)(8936002)(6506007)(86362001)(83380400001)(2906002)(5660300002)(71200400001)(38100700002)(186003)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZVhHM0EyMEtkM0JHSFZhZEFXWTU0RVNuVFRGOVJ3YWxUb3lGY0ZaN1NaRlJW?= =?utf-8?B?Tmc5Nm8zUVgyNEh1UFpJSlc5Q3VkcEp0U3VmOGtqZVJRRVlmUXJYM2pPQnN1?= =?utf-8?B?Wkgxb0htSkxaUkZqSEtFNlkxMVVabER5eVlUS09Ydk5yYTdTYTkzMVJNWlMv?= =?utf-8?B?MEpGblRqVEhTVnZVVE1jZUp5bDNqVnRTdE5tMGlva0tWSHI2djJLRUMvWndu?= =?utf-8?B?U29QbG5HOTFkRVM0M3RJMmNHcTRxdUNEdGxNTFVmMWE3VUtMdDl2YkhCZ2xL?= =?utf-8?B?TDdVaWJmRFR4eC90VEZDZzUzQlBJWkRKckx0QnlVcjU2UmVzejFrV3BKZEww?= =?utf-8?B?TkticmhwdnNmNmFaSlFrdWRKZzRwQTRveVN6R091MEFtVGpqWStTakE2S1Ar?= =?utf-8?B?NVJ5cWdUQnlzTkNjTi9vUEV0amMwOG01eGxaU0M2N2ZHNDZXQ1lsMDVnYjd6?= =?utf-8?B?RUJPTlRVRzY0NFlpWjVRSWloWWpZUjJKSWNjYTJCZFZiK2w1TmFyMmFYazZ6?= =?utf-8?B?eTI2UjN0UUwxMTBFdWV6WkMwWUxLUEcwM09JdVRjVHRLZG54MDlYQUxmY3Vl?= =?utf-8?B?NW5YV1ZjQXVYaUlHa3kzYW9hdm5OOFJYSTkwVEk0WlhUZ0Q4WG1KdFJidVNn?= =?utf-8?B?QUJNZE45ckV2cEZvZmVxNTdPZ24vMTZZNTQ4dm9FMFBLUE5iM21kWlNXQ0g0?= =?utf-8?B?VXV4aURGbVF5MFdSSWdzTmpKOWxBcENyZ05GeS9MWGV4RXRLbzZKb3JFdjRT?= =?utf-8?B?ek9tSnoyWDN1MXhHaTBZSDVJSjgxeUI3aVEvbXQyM0VFK2xIOGJWTVdwZSt1?= =?utf-8?B?aUZmL3NXNytGMk52SENJNXZ2SzErYU9sYTd5elZWY0M0Z0ppUXNIdndjWlRI?= =?utf-8?B?Zml5WGlLcmMvY0k4SkpWeVcxL2JYL1dtY2toSUxrYkpRdE1VTVhkWmZISmti?= =?utf-8?B?RkVsc0ZwYkQyQVF5ZGRmbTl2dENvdzN0WjM2SEllN1Npc3NqUWJFZjY4ekxF?= =?utf-8?B?QlFqaEQzc1JkWjBEYU52eExTZWZZaE9qa2FGRXNhblc3d3NsMER0Y25GRHBD?= =?utf-8?B?Ykw5ZWZNcks1MGNNaTZEK3Boejh5UmduTVlMdVF3dzNMNnovTTAxRDZyaGlJ?= =?utf-8?B?L2pwWUV6UC8ySGdUVzA2NndCOXI1aFcyUUxLNVlaaTlPbmdaTzFVMjNvYmw3?= =?utf-8?B?Qk11dEZJRUVSMktrNEhvOU1nd2FESmtGTk1ZWnZYUi9lTjVUaGsxYzNkYlhp?= =?utf-8?B?d1ZDL0FNVUIvUlYxSkY2NjNPc3oxSG5keVI3RHZjM1lBNlBEY2dTdmx2SHlJ?= =?utf-8?B?aCtXTWVURFpRQWVBUUVYMnRaMmFVMDk2cGR3cE9PTk44UVdnZHBKVm0yZjQ5?= =?utf-8?B?UkxPZEMxOVF0Z0grS0dCUS9XQkJXZEV5UGdmNzNuK2JzTnNPUlQ3WDBuVWUw?= =?utf-8?B?Z0hGYmdIZCs1Z0NMcEVobXVoaHdHdzRLT0ltRy90dzRUc241K0VDWEw3dWRw?= =?utf-8?B?a0JSZ2tWMjFGRzNVeDhqRlBHMFViQWlmUU96c3E0eERRZkE4b2xYN3Nudnp3?= =?utf-8?B?VmhoNU5sZGl3QW13bDAxbVl4aFQ3d2pzUTgxMGkxOFhtSWxhK1FoVDF3L3E5?= =?utf-8?B?YzJTdWYxY1Bvc3RXNFluZEp1RUw2U3NWcHZ5U1B0eDFXVWo5S0R6RU1NU2xq?= =?utf-8?B?WU9qMWVjRUhYZDlwYzV2SFhGblB5RHVpWnlreFlKS0xiY3c3ckgzNHI0Q1RM?= =?utf-8?Q?WIv1r/ChANqtthXtuFHghVofynwfwh3R72x9PsP?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <55ED5B4A983C52469C61F2DE4715E576@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR05MB2896.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17d378e1-7ce4-4b38-bced-08d9426a060e X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2021 23:42:18.4122 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Y/MHIDyv0hVWD9ozG/pXlzWzNss1xoRoidqxRXCRKPzKvODpSSW6T9G00navonVlvOPn/g7kwCwDnUds/f8/3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR05MB8810 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGkgTWFnbnVzLA0KDQpJJ20gb25seSBqdXN0IHN0YXJ0aW5nIHRvIHBhZ2UgdGhpcyBiYWNrIGlu dG8gbXkgaGVhZCwgc28gdGhpcyBpcyBieSBubw0KbWVhbnMgYSBmdWxsIHJldmlldyBvZiB0aGUg djcgY2hhbmdlcyAtLSBqdXN0IHN0dWZmIEkndmUgbm90aWNlZCBvdmVyDQp0aGUgbGFzdCBkYXkg b3Igc28gb2YgcG9raW5nIGFyb3VuZC4NCg0KT24gVHVlLCAyMDIxLTA2LTI5IGF0IDExOjQ4ICsw MjAwLCBNYWdudXMgSGFnYW5kZXIgd3JvdGU6DQo+IE9uIFRodSwgTWFyIDExLCAyMDIxIGF0IDEy OjA1IEFNIEphY29iIENoYW1waW9uIDxwY2hhbXBpb25Adm13YXJlLmNvbT4gd3JvdGU6DQo+ID4g T24gVHVlLCAyMDIxLTAzLTA5IGF0IDExOjI1ICswMTAwLCBNYWdudXMgSGFnYW5kZXIgd3JvdGU6 DQo+ID4gPiAtIFx4MCA6IExPQ0FMIDogWy4uLl0gVGhlIHJlY2VpdmVyIG11c3QgYWNjZXB0IHRo aXMgY29ubmVjdGlvbiBhcw0KPiA+ID4gdmFsaWQgYW5kIG11c3QgdXNlIHRoZSByZWFsIGNvbm5l Y3Rpb24gZW5kcG9pbnRzIGFuZCBkaXNjYXJkIHRoZQ0KPiA+ID4gcHJvdG9jb2wgYmxvY2sgaW5j bHVkaW5nIHRoZSBmYW1pbHkgd2hpY2ggaXMgaWdub3JlZC4NCj4gPiANCj4gPiBTbyB3ZSBzaG91 bGQgaWdub3JlIHRoZSBlbnRpcmUgInByb3RvY29sIGJsb2NrIiAoYnkgd2hpY2ggSSBiZWxpZXZl DQo+ID4gdGhleSBtZWFuIHRoZSBwcm90b2NvbC1hbmQtYWRkcmVzcy1mYW1pbHkgYnl0ZSkgaW4g dGhlIGNhc2Ugb2YgTE9DQUwsDQo+ID4gYW5kIGp1c3QgYWNjZXB0IGl0IHdpdGggdGhlIG9yaWdp bmFsIGFkZHJlc3MgaW5mbyBpbnRhY3QuIFRoYXQgc2VlbXMgdG8NCj4gPiBtYXRjaCB0aGUgc2Ft cGxlIGNvZGUgaW4gdGhlIGJhY2sgb2YgdGhlIHNwZWMuIFRoZSBjdXJyZW50IGJlaGF2aW9yIGlu DQo+ID4gdGhlIHBhdGNoIHdpbGwgYXBwbHkgdGhlIFBST1hZIGJlaGF2aW9yIGluY29ycmVjdGx5 IGlmIHRoZSBzZW5kZXIgc2VuZHMNCj4gPiBhIExPQ0FMIGhlYWRlciB3aXRoIHNvbWV0aGluZyBv dGhlciB0aGFuIFVOU1BFQyAtLSB3aGljaCBpcyBzdHJhbmdlDQo+ID4gYmVoYXZpb3IgYnV0IG5v dCBleHBsaWNpdGx5IHByb2hpYml0ZWQgYXMgZmFyIGFzIEkgY2FuIHNlZS4NCj4gDQo+IFllYWgs IEkgdGhpbmsgd2UgZG8gdGhlIHJpZ2h0IHRoaW5nIGluIHRoZSAicmlnaHQgdXNlY2FzZSIuDQoN ClRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGlzLCBJIHRoaW5rLCBzdHJpY3RlciB0aGFuIHRo ZSBzcGVjIGFza3MNCmZvci4gV2UncmUgc3VwcG9zZWQgdG8gaWdub3JlIHRoZSBmYW1pbHkgZm9y IExPQ0FMIGNhc2VzLCBhbmQgaXQncyBub3QNCmNsZWFyIHRvIG1lIHdoZXRoZXIgd2UncmUgc3Vw cG9zZWQgdG8gYWxzbyBpZ25vcmUgdGhlIGVudGlyZSAiZmFtIg0KZmFtaWx5LWFuZC1wcm90b2Nv bCBieXRlICh0aGUgcGhyYXNlICJwcm90b2NvbCBibG9jayIgaXMgbm90IGFjdHVhbGx5DQpkZWZp bmVkIGluIHRoZSBzcGVjKS4NCg0KSXQncyBwcm9iYWJseSBub3QgYSBiaWcgZGVhbCBpbiBwcmFj dGljZSwgYnV0IGl0IGNvdWxkIG1lc3Mgd2l0aA0KaW50ZXJvcGVyYWJpbGl0eSBmb3IgbGF6aWVy IHByb3h5IGltcGxlbWVudGF0aW9ucy4gSSB0aGluayBJJ2xsIGFzayB0aGUNCkhBUHJveHkgZm9s a3MgZm9yIHNvbWUgY2xhcmlmaWNhdGlvbiB0b21vcnJvdy4NCg0KPiArICAgICAgPHRlcm0+PHZh cm5hbWU+cHJveHlfc2VydmVyczwvdmFybmFtZT4gKDx0eXBlPnN0cmluZzwvdHlwZT4pDQo+ICsg ICAgICA8aW5kZXh0ZXJtPg0KPiArICAgICAgIDxwcmltYXJ5Pjx2YXJuYW1lPnByb3h5X3NlcnZl cnM8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5Pg0KPiArICAgICAg PC9pbmRleHRlcm0+DQo+ICsgICAgICA8L3Rlcm0+DQo+ICsgICAgICA8bGlzdGl0ZW0+DQo+ICsg ICAgICAgPHBhcmE+DQo+ICsgICAgICAgIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb25lIG9y IG1vcmUgaG9zdCBuYW1lcywgY2lkciBzcGVjaWZpY2F0aW9ucyBvciB0aGUNCj4gKyAgICAgICAg bGl0ZXJhbCA8bGl0ZXJhbD51bml4PC9saXRlcmFsPiwgaW5kaWNhdGluZyB3aGljaCBwcm94eSBz ZXJ2ZXJzIHRvIHRydXN0IHdoZW4NCj4gKyAgICAgICAgY29ubmVjdGluZyBvbiB0aGUgcG9ydCBz cGVjaWZpZWQgaW4gPHhyZWYgbGlua2VuZD0iZ3VjLXByb3h5LXBvcnQiIC8+Lg0KDQpUaGUgZG9j dW1lbnRhdGlvbiBtZW50aW9ucyB0aGF0IGhvc3QgbmFtZXMgYXJlIHZhbGlkIGluIHByb3h5X3Nl cnZlcnMsDQpidXQgY2hlY2tfcHJveHlfc2VydmVycygpIHVzZXMgdGhlIEFJX05VTUVSSUNIT1NU IGhpbnQgd2l0aA0KZ2V0YWRkcmluZm8oKSwgc28gaG9zdCBuYW1lcyBnZXQgcmVqZWN0ZWQuDQoN Cj4gKyAgICAgICAgICAgR1VDX2NoZWNrX2VycmRldGFpbCgiSW52YWxpZCBJUCBhZGRycmVzcyAl cyIsIHRvayk7DQoNCnMvYWRkcnJlc3MvYWRkcmVzcy8NCg0KSSd2ZSBiZWVuIHRoaW5raW5nIG1v cmUgYWJvdXQgeW91ciBlYXJsaWVyIGNvbW1lbnQ6DQoNCj4gQW4gaW50ZXJlc3RpbmcgdGhpbmcg aXMgd2hhdCB0byBkbyBhYm91dA0KPiBpbmV0X3NlcnZlcl9hZGRyL2luZXRfc2VydmVyX3BvcnQu IFRoYXQgc29ydCBvZiBsb29wcyBiYWNrIHVwIHRvIHRoZQ0KPiBvcmlnaW5hbCBxdWVzdGlvbiBv ZiB3aGVyZS9ob3cgdG8gZXhwb3NlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUNCj4gcHJveHkg aW4gZ2VuZXJhbCAoc2luY2UgcmlnaHQgbm93IGl0IGp1c3QgbG9ncykuIFJpZ2h0IG5vdyB5b3Ug Y2FuDQo+IGFjdHVhbGx5IHVzZSBpbmV0X3NlcnZlcl9wb3J0KCkgdG8gc2VlIGlmIHRoZSBjb25u ZWN0aW9uIHdhcyBwcm94aWVkDQo+IChhcyBsb25nIGFzIGl0IHdhcyBvdmVyIHRjcCkuDQoNCklN TyB0aGVzZSBzaG91bGQgcmV0dXJuIHRoZSAidmlydHVhbCIgZHN0X2FkZHIvcG9ydCwgaW5zdGVh ZCBvZg0KZXhwb3NpbmcgdGhlIHBoeXNpY2FsIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gdG8gdGhl IGNsaWVudC4gVGhhdCB3YXksDQppZiB5b3UgaW50ZW5kIGZvciB5b3VyIHByb3h5IHRvIGJlIHRy YW5zcGFyZW50LCB5b3UncmUgbm90IGFkdmVydGlzaW5nDQp5b3VyIG5ldHdvcmsgaW50ZXJuYWxz IHRvIGNvbm5lY3RlZCBjbGllbnRzLiBJdCBhbHNvIG1lYW5zIHRoYXQgY2xpZW50cw0KY2FuIHJl YXNvbmFibHkgZXhwZWN0IHRvIGJlIGFibGUgdG8gcmVjb25uZWN0IHRvIHRoZSBhZGRyOnBvcnQg dGhhdCB3ZQ0KZ2l2ZSB0aGVtLCBhbmQgcHJldmVudHMgY29uZnVzaW9uIGlmIHRoZSBwcm94eSBp cyB1c2luZyBhbiBhZGRyZXNzDQpmYW1pbHkgdGhhdCB0aGUgY2xpZW50IGRvZXNuJ3QgZXZlbiBz dXBwb3J0IChlLmcuIHRoZSBjbGllbnQgaXMgSVB2NC0NCm9ubHkgYnV0IHRoZSBwcm94eSBjb25u ZWN0cyB2aWEgSVB2NikuDQoNCi0tSmFjb2INCg==