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 1n4Q3I-0003mN-D1 for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Jan 2022 16:19:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n4Q3H-0007ss-5H for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Jan 2022 16:19:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n4Q3G-0007sj-LU for pgsql-hackers@lists.postgresql.org; Mon, 03 Jan 2022 16:19:14 +0000 Received: from mail-bn1nam07on2082.outbound.protection.outlook.com ([40.107.212.82] helo=NAM02-BN1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n4Q3D-0004Pa-Bg for pgsql-hackers@postgresql.org; Mon, 03 Jan 2022 16:19:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lBtzyqYRH4iepdvo2UAQ+UmreFSXAzOu8pSN0jSKdP8lI5XtczcYmq4mqHymyF9PrXRvEN61s4o9jHCf4rC4fsUfB1E8pMZFd5CcdV+RpjSX3428zqnlRO5kBiA26XbBerz5tyPIt7dxtLCyI4/RoPIOwAIM+fzoNCcWiq3PZ5Nt7tOjVkhsIHKAj7Vg7TtHm4fTBtg4hLXnsE33pXAwP2ItfcKaz7CykkVvmYReNQv/mX1SaJzTfmQhPVAzyGMl8knvbiknK1cQoumnoD5aBmJ14iJxU+8EXM+ua5o/KrgkBWpMwAY1B6V8FlX7a5FQSKMBmkCuwINy4Y/QRZFLNQ== 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=HT8Mosm6lF9o+i9yUgnx+aGxZSDP+24VP8EvDn41QzY=; b=FCZQruuqniQHf2pL6r7KkdF1NfO/uFsH6tmo2yrwmQoMexey//gjrU2kYI3TziWjIyl9UUjIfeaZzIno/bnQq/qS6ARWCFDv+/7jykhcLNML0920uf/onkSU+VUWQTmenYBTuKYlegY6KJlDidMam/on6oo+YwxrtvMfWlFapIlZrLQz6iCLQ4CmQw2I+/pa8bCZ9x0eND8PGxACZikJSbgDtsudrUiNUdU67yW45unayNuRuwRG3coF5KKxl2BNovDtmXxHatG5DwMCChvgtcQTvBHhSNrxcRl5XXAEdLl3X8JPjTuaiGZUGl5w5NKAQB2XEN7oQmcDRsQeJ8RnOA== 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=HT8Mosm6lF9o+i9yUgnx+aGxZSDP+24VP8EvDn41QzY=; b=kB4tVVF1SSjSu60erGtYHNZYPDz3/oGzqTfE+iRxd5YmzV0Rl2ioNSu+EhXnWSFzpravTV/FMwuCLVq9qD+jWDLVhOM+hG++5BNr68n7KgV6zd7v8+5AcjjTYAO+jPMrbyqUEpXKYPlLTbz3eEhjLFs1XGLE+CgJF+ubOweuoac= Received: from CO1PR05MB8087.namprd05.prod.outlook.com (2603:10b6:303:db::16) by DM5PR05MB3356.namprd05.prod.outlook.com (2603:10b6:4:46::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.6; Mon, 3 Jan 2022 16:19:08 +0000 Received: from CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::3409:d4b6:1e3c:2c81]) by CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::3409:d4b6:1e3c:2c81%3]) with mapi id 15.20.4867.006; Mon, 3 Jan 2022 16:19:07 +0000 From: Jacob Champion To: "horikyota.ntt@gmail.com" CC: "pgsql-hackers@postgresql.org" Subject: Re: [PATCH] Accept IP addresses in server certificate SANs Thread-Topic: [PATCH] Accept IP addresses in server certificate SANs Thread-Index: AQHX8hoz9DTsvozxTE2eDKi/5mA03aw0noUAgADXTYCAAMfZAIAAFMUAgBtEogA= Date: Mon, 3 Jan 2022 16:19:07 +0000 Message-ID: References: <20211216.145418.356297361587367335.horikyota.ntt@gmail.com> <20211217.154010.579008875001314649.horikyota.ntt@gmail.com> <20211217.165430.655740392355518222.horikyota.ntt@gmail.com> In-Reply-To: <20211217.165430.655740392355518222.horikyota.ntt@gmail.com> 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 50f8fd82-03b7-438b-f560-08d9ced4c4c9 x-ms-traffictypediagnostic: DM5PR05MB3356:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dkYKRSnD5nobMwpQwDk6fdzqdVQMqn/OGn5CfU2etbhtj/KB8wFNSWQXsGbF16p58zFuF8C1YWwZ9ZpbEauQj8kVEp3Qk3HKUpMW0wW1+6GpG4VQkSmrVWrPlztQPpomY1xGEKRWszmQRUtQxmW3X9ViC0PvvwVZey9w175rD2shUxulnW3UbmQd7/VoAKJc51oG2PzR34gVJS5Swt9R11tpsoSe1nm3N/oB/p8NPVtFf+01uuCK+isZJOxPes7iOuGPxD7G0ZF29u+GiprY401wSUrys+06eFd2hr0nOB3mlYyx98prqg0VEMXM7NwdZYzJbOoirGLksFjpLjKHB7HMbbI0Q14rDPBVewbaBrIYMS5EIAHI+F3DXR6muOMIinWs59p077VlHOMMRRhPRaTNH11bafgKAt5+QCDfnt546h5uV5RfLrHGjcLJ34t3J5rWLc3cYZAN1Gs5MpGIQxBKzb1wRcK4nJ+vCy5uZg+1imKX1JEhUcSlWJWy/KLNbJowBIly9/UsrCWADt2GxqXmhQSzs6lFlE2GdRtekZEr8cKgtLwhzZrmFrASSwarjeSajEH+ZGgplATF8uLYFrjc4bDQhc9dvuIPT+k4ypARh+xG4Cag3M34BGS84hRGV7ClizUH9lKRl8mEw7Jyf/wAh+hErF0h2rDwc/03u+00+ujyQXsRolQ/kTzVLxt2bGznxukwLmhKCnR1bN1Fhyly+j1vbm2145j5aLWtSLPDiKRQKc3EATuqcioB6Kvn x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR05MB8087.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(26005)(36756003)(186003)(71200400001)(66476007)(83380400001)(2616005)(4001150100001)(64756008)(66946007)(66446008)(66556008)(6916009)(2906002)(316002)(5660300002)(86362001)(8936002)(6506007)(4326008)(8676002)(508600001)(6486002)(6512007)(76116006)(38100700002)(122000001)(38070700005)(20210929001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RlV3TEZwSzJKSE40NVZSWHRJUittWTNQZUVESmkrMnlMQ01IK2Nqd1ZzaE5N?= =?utf-8?B?aHozRUdDRWZrQ0dzeS9kRUVOREpoc3p1SmMyOG5WRHhqMWtuUHFvYmFJMm1E?= =?utf-8?B?RGJDcTlTLzBKYnRZTkxMVnZQcStCbGdISllqZnp0VXVPWlU5TEJBQkhwNWZE?= =?utf-8?B?MUFJdUJwazlINWx5cDRydjdVSzNGN3JsaDAwSEtrRnhOQ2FycEt1aEkwVEFI?= =?utf-8?B?SDBiZm1xS1hVSXE1Q2ZDZ1BPMG9oYVhhdUQ2UXhOeC9CNEE4WFJPeVJIUWxv?= =?utf-8?B?OVR0YUVndnk5Z1FHdG1rMG1iaWpodDRHdDZoOXRIN1dMbkdaN0Z6VWNKWCti?= =?utf-8?B?R1R2NHhaS2ovWnB2ZEVVcGMvbEhpTFB6Sml4WTZkOGhNUXZpUnRWcURmVnhr?= =?utf-8?B?dkplM1NObXFlYWw0dTdYampMNjBqTUZFNHFnYkQwMHEybVhRbmRpSVFSTk1O?= =?utf-8?B?cFd4Rms4dFJNYnBXMGVxcTdsM2s4UXFoeTArUVh0ckRLQ1RTRVBrRDRLTUU0?= =?utf-8?B?QUJ3RjZVZmZhZHptSU9sSTExZTlXZkkzMW1qWXVabHVlVDlzTVFuY3BwQWQz?= =?utf-8?B?S21vRmVXLzduOVo4Q1lUNHNQTks5WHJCaHl1ejNhOFlXM1ZlOHRWcHpEVHdu?= =?utf-8?B?Vk1hOHBjNFVidXdSK1QvOWN2NVROdzhFc2s3ZWRveWhpZzlpbW9KK3JQWDBS?= =?utf-8?B?MjlDVExVZElUUXZyNlFpMExwdWlDOFV4K2h5eVRpUXh0UUROcmNOaXdGOHRK?= =?utf-8?B?TE9JREpWOGNpUWplekJ1cng2RXd3VFBrOHI5T0lyOEtkc2ZiN2xwd1JYd0pP?= =?utf-8?B?MjUrbzBvSzVSaUp4c2VLanJOVDZRS2JKTFlTbEwrNWpaVmxkajNzc0lwUEUz?= =?utf-8?B?cW9KM005NkY0UFhqZGZhdXFhU1VXNjZhVXE3T2FqaFlMUmp4MVV0eU5uYVdP?= =?utf-8?B?V08rQmxKbjNWM2VpYmpXNDk3NmtaT0N1SzF0WFhRRG1VRGlTbjJuOElIeFpB?= =?utf-8?B?WGRDNCtweHdZVUJIZmdkdGUvR0hrSzlBanA5WWJTdnZ0dTlLamxVZTlCYTN3?= =?utf-8?B?UHVZeUFwZEZVR0VOeWJSd2hVQ3NzUVdwdks4dEliU1J5a1pRd08zNi9LbHkr?= =?utf-8?B?bDNRa01ScUU1MUo0Q1dmelJoT3BlYkU0ZWpUaStDYnZkTHdYSlBoL2hYVith?= =?utf-8?B?Z3pDcEdjdFlSeDZtcGxXdkx0NmJtWERhU0RwR1RsK1g3cUhXdUJhLzdUUEFG?= =?utf-8?B?SVNlSXhsUUtCeWxqMkR6TjRxaVB4c01iVDBHb0Z6STlqRi9SQ3BVeE5LUHYy?= =?utf-8?B?MWVEbWFzUFlib1JNaTRCWm9nQ053allUb1ZqV2h3YTltUzVrenpUczA0Y3V1?= =?utf-8?B?Tlg2N1puTGx0SmpJSnp3dm9SaHNMaGdjRWlSZiszMVkwYlNsUmdVTjlOVHlP?= =?utf-8?B?Vko4T1BSSUFmMUVhY3g0aG9QRW9Tdm9DWkVJRzlqUjZDV0FsbGN2Mm1ubXBt?= =?utf-8?B?T0RtNENCZXpLak5oWnYweFRrenRUVlA0U3l3d21lRUswQWM3enVWRVdGQ0ZG?= =?utf-8?B?TjNnVGU5Ky9Jb01wVUphNHBDeVlUTTF0c21HdXI0UllpYjBaTnFHYmVSRSt2?= =?utf-8?B?VmUrU1l5RlAzUE5DU0k5TWp5L2RIaklhdnVoK2wxZmhnWHpBeFNZVCtRN1hG?= =?utf-8?B?U0xnRVp5aGRoQW9xVVllbzJJUkdyNmtrcXI2SmhsZGY0aFBpays0aExZTEtJ?= =?utf-8?B?dUlPeER5UHI1bGFQSy9IMTJOOXFKb3dRODdhaWRTNHJ1RWRWVVVYTlR1QVQ3?= =?utf-8?B?VE8veUZoTGxhRHZLa0IzM3pQMVJPaGFCeFFVb2dRR05IUlBmVUhYVEdDOFJH?= =?utf-8?B?SkV5S2Y0NkdpdjZzejRINDZ5aTRDOC9UVEFhcU5NVTRkeHVHRURJTnhud3Fi?= =?utf-8?B?KzMvUXFuM2I4OGRMQXJSaTBWbFJPODlpQW9INTFFazBkV0wwM0JrK2xJV0VU?= =?utf-8?B?TEd1Z1Jod2hFbUhTWmtmN0lwcklMNENGTU5Sc0hybmZFd1IvOFVnVDNQTlJn?= =?utf-8?B?eXVPZVE3bGcxNjZJbUw4a3YyWjM5V0Z4emdDZjU1RGdkSzlYMzNNUTNweHpK?= =?utf-8?B?SjhmYmxUVklPcVIvVEQxd0oyTHgrQVVwTEFudlN5dU9sOFdDbk83anBKa0x0?= =?utf-8?Q?cCPo2s37eYHxbKEu0OIVRdk=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <07412B1745AF4E459BC84293FDE88311@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: CO1PR05MB8087.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50f8fd82-03b7-438b-f560-08d9ced4c4c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jan 2022 16:19:07.8500 (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: zSOcJZ/teTYC75IwpaJzfRlj5kk58H2B5sPdGIdVoEzCzqTFUzdvgw2nsWkMxCuytKrCmV3tM+9L5h5zvtsx2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR05MB3356 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpLCAyMDIxLTEyLTE3IGF0IDE2OjU0ICswOTAwLCBLeW90YXJvIEhvcmlndWNoaSB3cm90 ZToNCj4gU29ycnkgZm9yIHRoZSBzaWxseSBtaXN0YWtlLg0KPiANCj4gQXQgRnJpLCAxNyBEZWMg MjAyMSAxNTo0MDoxMCArMDkwMCAoSlNUKSwgS3lvdGFybyBIb3JpZ3VjaGkgPGhvcmlreW90YS5u dHRAZ21haWwuY29tPiB3cm90ZSBpbiANCj4gPiA+IE5TUyBkZXBhcnRzIHNsaWdodGx5IGZyb20g dGhlIHNwZWMgYW5kIHdpbGwgYWRkaXRpb25hbGx5IHRyeSB0byBtYXRjaA0KPiA+ID4gYW4gSVAg YWRkcmVzcyBhZ2FpbnN0IHRoZSBDTiwgYnV0IG9ubHkgaWYgdGhlcmUgYXJlIG5vIGlQQWRkcmVz c2VzIGluDQo+ID4gPiB0aGUgU0FOLiBJdCByb3VnaGx5IG1hdGNoZXMgdGhlIGxvZ2ljIGZvciBE TlMgbmFtZXMuDQo+ID4gDQo+ID4gT3BlblNTTCBzZWVtcyBkaWZmZXJlbnQuIFg1MDlfY2hlY2tf aG9zdCgpIHRyaWVzIFNBTiB0aGVuIENOIGlmZiBTQU4NCj4gPiBkb2Vzbid0IGV4aXN0LiAgWDUw OV9jaGVja19pcCgpIHRyaWVzIFNBTiBhbmQgY29tcGxldGVseSBpZ25vcmVzDQo+ID4gaVBBZHJl c3MgYW5kIENOLg0KPiANCj4gT3BlblNTTCBzZWVtcyBkaWZmZXJlbnQuIFg1MDlfY2hlY2tfaG9z dCgpIHRyaWVzIFNBTiB0aGVuIENOIGlmZiBTQU4NCj4gZG9lc24ndCBleGlzdC4gIFg1MDlfY2hl Y2tfaXAoKSB0cmllcyBpUEFkZHJlc3MgYW5kIGNvbXBsZXRlbHkgaWdub3Jlcw0KPiBDTi4NCg0K UmlnaHQuDQoNCk9uIEZyaSwgMjAyMS0xMi0xNyBhdCAxNTo0MCArMDkwMCwgS3lvdGFybyBIb3Jp Z3VjaGkgd3JvdGU6DQo+DQo+ID4gKyAgICAgICAgICAgICAgICAqIHBnX2luZXRfbmV0X3B0b24o KSB3aWxsIGFjY2VwdCBDSURSIG1hc2tzLCB3aGljaCB3ZSBkb24ndCB3YW50IHRvDQo+ID4gPiAr ICAgICAgICAgICAgICAgICogbWF0Y2gsIHNvIHNraXAgdGhlIGNvbXBhcmlzb24gaWYgdGhlIGhv c3Qgc3RyaW5nIGNvbnRhaW5zIGEgc2xhc2guDQo+ID4gPiArICAgICAgICAgICAgICAgICovDQo+ ID4gPiArICAgICAgICAgICAgICAgaWYgKCFzdHJjaHIoaG9zdCwgJy8nKQ0KPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgJiYgcGdfaW5ldF9uZXRfcHRvbihQR1NRTF9BRl9JTkVUNiwgaG9z dCwgYWRkciwgLTEpID09IDEyOCkNCj4gPiA+IA0KPiA+ID4gSWYgYSBjaWRyIGlzIGdpdmVuLCBw Z19pbmV0X25ldF9wdG9uIHJldHVybnMgYSBudW1iZXIgbGVzcyB0aGFuIDEyOCBzbw0KPiA+ID4g d2UgZG9uJ3QgbmVlZCB0byBjaGVjayAnLycgZXhwbGljaXR5PyAgKEknbSBub3Qgc3VyZSAnLzEy OCcgaXMNCj4gPiA+IHNlbnNpYmxlIGJ1dCBkb2Vzbid0IGhhcm0uLikNCj4gPiANCj4gPiBQZXJz b25hbGx5IEkgdGhpbmsgdGhhdCwgaWYgc29tZW9uZSB3YW50cyB5b3VyIGxpYnBxIHRvIGNvbm5l Y3QgdG8gYQ0KPiA+IHNlcnZlciB3aXRoIGEgaG9zdG5hbWUgb2YgInNvbWU6aXB2Njo6YWRkcmVz cy8xMjgiLCB0aGVuIHRoZXkgYXJlDQo+ID4gdHJ5aW5nIHRvIHB1bGwgc29tZXRoaW5nIChldmFk aW5nIGEgcG9vcmx5IGNvZGVkIGJsb2NrbGlzdCwgcGVyaGFwcz8pDQo+ID4gYW5kIHdlIHNob3Vs ZCBub3QgYWxsb3cgdGhhdCB0byBtYXRjaCBhbiBJUC4gVGhvdWdodHM/DQo+IA0KPiBJZiB0aGUg Y2xpZW50IGNvdWxkIGNvbm5lY3QgdG8gdGhlIG5ldHdvcmstYWRkcmVzcywgaXQgY291bGQgYmUg c2FpZA0KPiB0aGF0IHdlIGNhbiBhc3N1bWUgdGhhdCBhZGRyZXNzIGlzIHRoZSBuYW1lOnAgSnVz dCBraWRkaW5nLg0KPiANCj4gQXMgdGhlIG5hbWUgc3VnZ2VzdHMsIHRoZSBmdW5jdGlvbiByZWFk cyBhIG5ldHdvcmsgYWRkcmVzcy4gQW5kIHRoZQ0KPiBvbmx5IHVzZXIgaXMgbmV0d29ya19pbigp LiAgSSB0aGluayB3ZSBzaG91bGQgcHJvdmlkZSBwZ19pbmV0X3B0b24oKQ0KPiBpbnN0ZWFkIG9m IGFidXNpbmcgcGdfaW5ldF9uZXRfcHRvbigpLiAgaW5ldF9uZXRfcHRvbl8qKCkgZnVuY3Rpb25z DQo+IGNhbiBiZSBtb2RpZmllZCB0byByZWplY3QgL2NpZHIgcGFydCB3aXRob3V0IHJlZ3Jlc3Np b24gc28gd2UgYXJlIGFibGUNCj4gdG8gaGF2ZSBwZ19pbmV0X3B0b24oKSB3aXRoIGEgc21hbGwg YW1vdW50IG9mIGNoYW5nZS4NCj4gDQo+IC0gaW5ldF9uZXRfcHRvbl9pcHY0KGNvbnN0IGNoYXIg KnNyYywgdV9jaGFyICpkc3QpDQo+ICsgaW5ldF9uZXRfcHRvbl9pcHY0X2ludGVybmFsKGNvbnN0 IGNoYXIgKnNyYywgdV9jaGFyICpkc3QsIGJvb2wgbmV0YWRkcikNCj4gDQo+ICsgaW5ldF9uZXRf cHRvbl9pcHY0KGNvbnN0IGNoYXIgKnNyYywgdV9jaGFyICpkc3QpDQo+ICAoY2FsbHMgaW5ldF9u ZXRfcHRvbl9pcHY0X2ludGVybmFsKHNyYywgZHN0LCB0cnVlKSkNCj4gKyBpbmV0X3B0b25faXB2 NChjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0KQ0KPiAgKGNhbGxzIGluZXRfbmV0X3B0b25f aXB2NF9pbnRlcm5hbChzcmMsIGRzdCwgZmFsc2UpKQ0KDQpTb3VuZHMgZ29vZCwgSSB3aWxsIG1h a2UgdGhhdCBjaGFuZ2UuIFRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrIQ0KDQotLUphY29iDQo=