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 1n5GF8-0002eJ-QV for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Jan 2022 00:02:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n5GF7-0004EH-Ob for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Jan 2022 00:02:57 +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 1n5GF7-0004E7-1Z for pgsql-hackers@lists.postgresql.org; Thu, 06 Jan 2022 00:02:57 +0000 Received: from mail-dm6nam10on20629.outbound.protection.outlook.com ([2a01:111:f400:7e88::629] helo=NAM10-DM6-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 1n5GF2-00063k-8N for pgsql-hackers@postgresql.org; Thu, 06 Jan 2022 00:02:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g+0tAE980vQshG2kV0bxDnLbUfeJbwuOfO9OT4sR4pgkoBPSymsH/OP+BQzKRg11/waxMNBU85uo7PAdnKGTRw6imRUbDwhUHwFypeU8HkBfvyXRcbh0OKoeRs5CbdBCPRKZTmuH3AOWuLjaUwABMeGRIs8rMhgjLgCOe4G7lhkSDrqfxgUMdI7FQcCsHHlumZ4o9oOT0VdgnfikX4Nmz2NuGWc3ulpcKx7//hPpKV4PaUoc5hjYRNxzo2cUtYZ8oFlApduKzOG3MeGLCPCczGnsRyS58x2Jn8m/HJNUqeuFohRFYrn0gDtL4CdahdOIMhCoVleHTrYt+erN26rHIw== 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=cwkGc3bNGTnk2k89oNvQKgjFpob3/cFH2C823BDPjBo=; b=A8p4Ftnk8gz3djEBCF8Av6xxvDkB0ZqPbzKxsFSa/MCDnzTcYOHutuxHnX65t0zGkOMFfodfduMqmxuET3gPrGC7/uYXB3MUMbFYQmlEF4Gz92+Im3YPKXEtykMVkiSPa1XdSiDYf9Wz6yjGxIXRoXA0hAOFa+jTZLFsocoyBzY49eKPQzs38ZDg6LvbHNf7/lNc+VWubZ7CqVUv9mt/IiC5RCQ9yCjk1YRY+oaRWtqqOLe6qU5c3drIU5U4EFf2NkikNYG2mSLKhVcQHpJV9Bxocp19AE1ugbRET6Txe+KJMFXfozCSVJlbfWVkVAHKapq/0BMBuE0ZJzoJ7fWRRg== 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=cwkGc3bNGTnk2k89oNvQKgjFpob3/cFH2C823BDPjBo=; b=Ds5SnpS/82HP0fFF55513qIxLzthpEYh3XyYQwVBrpylNDtUy78kGOrcm5zue859C29bn3BSQYJH05c+9nLpnVfExEuCTTCrx48hQBNxo4BgtMDtjI40uHqwTGISg25YwKL7RMogiJJvBREhyWAIWb4weIqOH4Oc/3ipzwOqUqY= Received: from CO1PR05MB8087.namprd05.prod.outlook.com (2603:10b6:303:db::16) by MWHPR05MB3424.namprd05.prod.outlook.com (2603:10b6:301:42::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.6; Thu, 6 Jan 2022 00:02:28 +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.007; Thu, 6 Jan 2022 00:02:28 +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/5mA03aw0noUAgADXTYCAAMfZAIAAFMUAgBtEogCAA6YZAA== Date: Thu, 6 Jan 2022 00:02:27 +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: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes 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: fc9533ae-b7b4-41bc-4161-08d9d0a7d3c9 x-ms-traffictypediagnostic: MWHPR05MB3424:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TcMf2SoGjIEieldCMjXjIeCk1/hgQHeoyrxPOgif2Fn1Xe26Q+4AuBAQje9XDvgnFep4wzLoQ0x6HCepuWEVFQnqgxjvpYh1/YE03k++LlxD0QLs62dEPOpgY5WIljWywYwd5dsErrvk0Ilr37KUhLzstGjb31VvU6A+UhlTVwik6HYETDbCSGZIZmVznAps3tFhd3WNBhZ4uAoF5AVvS15alMJW2w+qTnt8qwFrE9sZ9K6vuXfz/Hh4YUlDI1EPm5pc9VyPKNF9kaz+38ni0rrtUOX4XscGJMwb/co6fx4s+CCe0VQwRxzofVoc/qyW7TeMH/xaR7Dl1kOg/ANbY+wAkHhMk0ZV26dCi+yhghevNwsHCtvvHk7dS6QRDacQ/0B0oXlrrHpx9SpZ7R2X01WMTsgTTsus5h+ZoZvuUkmsMHWxx5LgLa96lnzsg2KinAr1+4ALWGacma0pDOm56WYf4KjghJ/07JNYpKwYoJqfUh8XyOJ8du1c4ZvnEQa2Kmg0reMV4DcZ38NP0jYE3ASVAKfwLzcX3sNegd5MvaD7S00oH6WG47gwQkeMCErp2WMMNBW0cD/HdQwna0xzTDHy2l1BvamumGT03bOsIpyBWCZpoEryqe4ExR91+VYQsXAyxBLUCQtBZ89q92e71T6QE2ZxefRKIawWFik+YrFh8lqTiedaOIvFdw/G98TnPLDT9mCZsoynf2TzW9aoKQ== 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)(508600001)(71200400001)(4001150100001)(122000001)(99936003)(38100700002)(5660300002)(2616005)(8936002)(186003)(66446008)(4326008)(38070700005)(6486002)(6506007)(26005)(6512007)(2906002)(36756003)(86362001)(6916009)(64756008)(4744005)(8676002)(66946007)(316002)(66556008)(76116006)(66476007)(20210929001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TW5NT3ZNYUhONmNzdy83WGpDNDA1bWlFTUZrQUpaOGRGbmk3Tkc4ZjV2dlVx?= =?utf-8?B?OEYrWXNtMnc3Qnd6NW0zZWZRMHBTcE5ZK2dCTm5xMXM2M25uRndETVRoVkly?= =?utf-8?B?RDloUk1sbjUvMFpMSHRvT0RwanFrSlJTNzdCazN2M2dYV1EyYldLcmdpR2pj?= =?utf-8?B?SmlXTEo0NEc1NnIzOWdPRnY4bTNGRjRvQTU1eVpNU1puRTZmNVIvaFJ1YXg3?= =?utf-8?B?ZTRTVTQwdTBhcjhlaWMxdVNQVlZGTHgvV2NRZ1hkQmw4NjhOenhJS254L29h?= =?utf-8?B?a3FxR3NJR1c4WTFkaDhTMmJtdlpiTGl5cysrMDhUZGJJdjBuRXE1eERaWDda?= =?utf-8?B?SklBbm13REVUTGJQTnZOVEEyR29PWlpqYlFtWi8rNWRkeGhtMDZRNXNpa2xL?= =?utf-8?B?WXMzTS9CZ01hM2FnSThvbEdjT1hSU3RsdGtqOEo0Mld4c3JRdkdkY3ozTnFB?= =?utf-8?B?WVNHUlFXLzlUQXlvMVdMM1Z2ajJTK1g2Q00raTRPaTVhWmNUMytTbW1lcXRx?= =?utf-8?B?ckVLdU80TTBqNDF6S1pwWUVIZ01TUDgwN2ZSMlNGZDFZVVAwTml6Q1dwaEU4?= =?utf-8?B?dnYzdzYxRTZ4azN0dUpMaVNjQklLdGg2TlAvKzU4RlBIek9RTFJiallxSUlC?= =?utf-8?B?SWJ3ZE9nUTZKL29zNW0yN1B5cUVHVTJVQjhDeGpjMlVMeWZtcjdkMHhrcS9a?= =?utf-8?B?OXNKREo4TjNpdk0weWlsck9ydGlZM0N0UGdQWWRnMk5aeEt3MGFkMzkzVEpU?= =?utf-8?B?eFNxYnJEaVc3ZnJ3WWxDTjhVSHZvVXdVU0pNZmV3MjNyNHAwcnRza2h3a0tr?= =?utf-8?B?aEt6REhYbDh6Yk5Sb2FWTmx2bzFqUDgyZnEwMkNaMFM5ME82MTMxUW8vdG54?= =?utf-8?B?YjFKaCtrdHRxWkk0NWIyNWNrdko0Q1hmL2F3NkFrc05PNWVIY2o0TW9ucG1M?= =?utf-8?B?MUJuYkhuU1M1L2FrWTg3VzVZZEFQdkxvSnJFK2NwdWFxRFp2dlkvY1c4WVoy?= =?utf-8?B?T1JwS1ZjWG9jV3cyc0hEcWhDQ1V1Z0dXKzNHL3BoekVPMEJkVFR6aVlRWWhC?= =?utf-8?B?VE91MVBONGRSWGlWWkltTm9McENUOGNGUTBaNTg0Nk5PT1JRZkRXMEFSUkJx?= =?utf-8?B?elpPM0FZbUxVWHkxb1F2YzZVS1VZQnRiM0xRVHVMTFVCanJJN2NNZThSRm10?= =?utf-8?B?K1d3UzhqUmRxZVAwT0tNa3lsb2NBYUNhM2JYTnhkUDNVUXY2TGZ0eEUvZjg5?= =?utf-8?B?UkNXZmdNcndDa0R1QTJYYWlOdEduRmVYc3BUWlErSlN5UzFRQkJNTGdKZHox?= =?utf-8?B?WlB4Zkd3cUoyNHY0amdvcDhnNHJ0T29YRWFXZWVOUEtvYURMSE1iUVlpRk02?= =?utf-8?B?T1doUVhRbHQzUWIyVUd4TDRpUGRnd29lVGdPemROcndURElHdWg5VUl1NmxK?= =?utf-8?B?bkMvL2xGQ0FmZmZIS2VBa0lhRXZuc2t6VVhEcW5XSHVpM2lFTHhNcFcwdHFG?= =?utf-8?B?di9tUFBJWitXVzBZRVNGTTg2MEFxMG50c2JBc3R0cDJwVE1YanlvRWdHOXIz?= =?utf-8?B?TWhUaE5NVzFRQ05pRWZZRld1bDZ2U2lQd3BxT2VkbFNZdis2MkpVMUJPWVR6?= =?utf-8?B?TUZMT3NjbmRZUzJzaXBhYTVQSDJXUWRlcDAxN29SSndsQW9KOGJJa0VnUDVU?= =?utf-8?B?eUZCTUdiUmZwenhJai9vTzdSb3JEblV5QVNDOHBNZlltb013SzY1M1l6ZFhl?= =?utf-8?B?aVZhV3pOam9VNE1qbHJNRUo4RTFDbytCbGZwRFdVMEYzRXBmaDRPb3F2Q283?= =?utf-8?B?T1YrZ0VINGl1OCtlN28waEJVSmtkeU9yQzBCNEtrc2J5cEt2Y0tyQ3Q5MzB4?= =?utf-8?B?VDNXbzdxU2hFTnVMdmE5QW91bkZNdmQ2RXBBQXdWMUE4VVpyWlE3cHBIZENh?= =?utf-8?B?ZkhaY0tqc0dGUzkrVzdzUEVQMWYwdnRoc28xRTZRSTkwZXI5cE9XbnV2OTY4?= =?utf-8?B?UlZSUVpkQmtwUGhVOW9qU3pIYnpaMUNYYzJwRUFoNi9VR1YyTURTZ1U2cGNa?= =?utf-8?B?RnlFR1ZxdGNhMEdTL3ZkbG5md2QrQk94UHdmUTNYUTFUMWJ6VUpjUWVTaEQ4?= =?utf-8?B?bXpkTm9YbE9BbDZJUm05UGQzSE4vdyt6WGQzWkhqNlpIaGIwZ0hTeXVYd1VT?= =?utf-8?Q?BBjlF34zNJtXBxUF3toiY0Q=3D?= Content-Type: multipart/mixed; boundary="_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_" 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: fc9533ae-b7b4-41bc-4161-08d9d0a7d3c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 00:02:27.9515 (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: 7fQo8LrYY4unpPl+9kTK0E394SG9jcwqkDd4eDV2AyQY5OeOv4vSA8ES9aTHeIWfPBpYNCMLRwtwoBXzMMNM1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3424 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: <55A9D93053B6D7409B3FD9E8CC26E7E8@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 T24gTW9uLCAyMDIyLTAxLTAzIGF0IDE2OjE5ICswMDAwLCBKYWNvYiBDaGFtcGlvbiB3cm90ZToN Cj4gT24gRnJpLCAyMDIxLTEyLTE3IGF0IDE1OjQwICswOTAwLCBLeW90YXJvIEhvcmlndWNoaSB3 cm90ZToNCj4gPiANCj4gPiArIGluZXRfbmV0X3B0b25faXB2NChjb25zdCBjaGFyICpzcmMsIHVf Y2hhciAqZHN0KQ0KPiA+ICAoY2FsbHMgaW5ldF9uZXRfcHRvbl9pcHY0X2ludGVybmFsKHNyYywg ZHN0LCB0cnVlKSkNCj4gPiArIGluZXRfcHRvbl9pcHY0KGNvbnN0IGNoYXIgKnNyYywgdV9jaGFy ICpkc3QpDQo+ID4gIChjYWxscyBpbmV0X25ldF9wdG9uX2lwdjRfaW50ZXJuYWwoc3JjLCBkc3Qs IGZhbHNlKSkNCj4gDQo+IFNvdW5kcyBnb29kLCBJIHdpbGwgbWFrZSB0aGF0IGNoYW5nZS4gVGhh bmtzIGZvciB0aGUgZmVlZGJhY2shDQoNCnYzIGltcGxlbWVudHMgYSBwZ19pbmV0X3B0b24oKSwg YnV0IGZvciBJUHY2IGluc3RlYWQgb2YgSVB2NCBhcw0KcHJlc2VudGVkIGFib3ZlIChzaW5jZSB3 ZSBvbmx5IG5lZWQgaW5ldF9wdG9uKCkgZm9yIElQdjYgaW4gdGhpcyBjYXNlKS4NCkl0J3Mgc3Bs aXQgaW50byBhIHNlcGFyYXRlIHBhdGNoICgwMDAzKSBmb3IgZWFzZSBvZiByZXZpZXcuDQoNClRo YW5rcyENCi0tSmFjb2INCg== --_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_ Content-Type: text/x-patch; name="v3-0001-Move-inet_net_pton-to-src-port.patch" Content-Description: v3-0001-Move-inet_net_pton-to-src-port.patch Content-Disposition: attachment; filename="v3-0001-Move-inet_net_pton-to-src-port.patch"; size=4628; creation-date="Thu, 06 Jan 2022 00:02:27 GMT"; modification-date="Thu, 06 Jan 2022 00:02:27 GMT" Content-ID: <8D0DD29FDE5C224FA24EC1159959D9C8@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSAzMDgxYjFlMGY3YWY2MDI0MTk3OGM3N2JiYTcxZTgwNmJhNWMyNWY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFdlZCwgMjQgTm92IDIwMjEgMTQ6NDY6MTEgLTA4MDAKU3ViamVjdDogW1BBVENIIHYz IDEvM10gTW92ZSBpbmV0X25ldF9wdG9uKCkgdG8gc3JjL3BvcnQKClRoaXMgd2lsbCBiZSBoZWxw ZnVsIGZvciBJUCBhZGRyZXNzIHZlcmlmaWNhdGlvbiBpbiBsaWJwcS4KLS0tCiBzcmMvYmFja2Vu ZC91dGlscy9hZHQvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAxIC0KIHNyYy9pbmNsdWRl L3BvcnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmMvaW5jbHVk ZS91dGlscy9idWlsdGlucy5oICAgICAgICAgICAgICAgICAgICB8ICA0IC0tLS0KIHNyYy9wb3J0 L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjL3tiYWNr ZW5kL3V0aWxzL2FkdCA9PiBwb3J0fS9pbmV0X25ldF9wdG9uLmMgfCAxNiArKysrKysrKysrKysr KystCiBzcmMvdG9vbHMvbXN2Yy9Na3ZjYnVpbGQucG0gICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiA2IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiBy ZW5hbWUgc3JjL3tiYWNrZW5kL3V0aWxzL2FkdCA9PiBwb3J0fS9pbmV0X25ldF9wdG9uLmMgKDk2 JSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvTWFrZWZpbGUgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvTWFrZWZpbGUKaW5kZXggNDFiNDg2YmNlZi4uZDE3M2Q1MjE1NyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNiBAQCBPQkpTID0gXAogCWdlb19zZWxm dW5jcy5vIFwKIAlnZW9fc3BnaXN0Lm8gXAogCWluZXRfY2lkcl9udG9wLm8gXAotCWluZXRfbmV0 X3B0b24ubyBcCiAJaW50Lm8gXAogCWludDgubyBcCiAJanNvbi5vIFwKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3BvcnQuaCBiL3NyYy9pbmNsdWRlL3BvcnQuaAppbmRleCBmZDljOWQ2Zjk0Li5j Y2EyOTgzOWJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3J0LmgKKysrIGIvc3JjL2luY2x1 ZGUvcG9ydC5oCkBAIC01MTgsNiArNTE4LDkgQEAgZXh0ZXJuIGludAlwZ19jb2RlcGFnZV90b19l bmNvZGluZyhVSU5UIGNwKTsKIGV4dGVybiBjaGFyICpwZ19pbmV0X25ldF9udG9wKGludCBhZiwg Y29uc3Qgdm9pZCAqc3JjLCBpbnQgYml0cywKIAkJCQkJCQkgIGNoYXIgKmRzdCwgc2l6ZV90IHNp emUpOwogCisvKiBwb3J0L2luZXRfbmV0X3B0b24uYyAqLworZXh0ZXJuIGludAlwZ19pbmV0X25l dF9wdG9uKGludCBhZiwgY29uc3QgY2hhciAqc3JjLCB2b2lkICpkc3QsIHNpemVfdCBzaXplKTsK KwogLyogcG9ydC9wZ19zdHJvbmdfcmFuZG9tLmMgKi8KIGV4dGVybiB2b2lkIHBnX3N0cm9uZ19y YW5kb21faW5pdCh2b2lkKTsKIGV4dGVybiBib29sIHBnX3N0cm9uZ19yYW5kb20odm9pZCAqYnVm LCBzaXplX3QgbGVuKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2J1aWx0aW5zLmgg Yi9zcmMvaW5jbHVkZS91dGlscy9idWlsdGlucy5oCmluZGV4IGIwN2VlZmFmMWUuLmE1YTE4ZTYy YmEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2J1aWx0aW5zLmgKKysrIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvYnVpbHRpbnMuaApAQCAtOTIsMTAgKzkyLDYgQEAgZXh0ZXJuIGludAl4aWRD b21wYXJhdG9yKGNvbnN0IHZvaWQgKmFyZzEsIGNvbnN0IHZvaWQgKmFyZzIpOwogZXh0ZXJuIGNo YXIgKnBnX2luZXRfY2lkcl9udG9wKGludCBhZiwgY29uc3Qgdm9pZCAqc3JjLCBpbnQgYml0cywK IAkJCQkJCQkgICBjaGFyICpkc3QsIHNpemVfdCBzaXplKTsKIAotLyogaW5ldF9uZXRfcHRvbi5j ICovCi1leHRlcm4gaW50CXBnX2luZXRfbmV0X3B0b24oaW50IGFmLCBjb25zdCBjaGFyICpzcmMs Ci0JCQkJCQkJIHZvaWQgKmRzdCwgc2l6ZV90IHNpemUpOwotCiAvKiBuZXR3b3JrLmMgKi8KIGV4 dGVybiBkb3VibGUgY29udmVydF9uZXR3b3JrX3RvX3NjYWxhcihEYXR1bSB2YWx1ZSwgT2lkIHR5 cGlkLCBib29sICpmYWlsdXJlKTsKIGV4dGVybiBEYXR1bSBuZXR3b3JrX3NjYW5fZmlyc3QoRGF0 dW0gaW4pOwpkaWZmIC0tZ2l0IGEvc3JjL3BvcnQvTWFrZWZpbGUgYi9zcmMvcG9ydC9NYWtlZmls ZQppbmRleCBiMzc1NGQ4OTQwLi43MTkxY2Q2NjMzIDEwMDY0NAotLS0gYS9zcmMvcG9ydC9NYWtl ZmlsZQorKysgYi9zcmMvcG9ydC9NYWtlZmlsZQpAQCAtNDMsNiArNDMsNyBAQCBPQkpTID0gXAog CWJzZWFyY2hfYXJnLm8gXAogCWNoa2xvY2FsZS5vIFwKIAlpbmV0X25ldF9udG9wLm8gXAorCWlu ZXRfbmV0X3B0b24ubyBcCiAJbm9ibG9jay5vIFwKIAlwYXRoLm8gXAogCXBnX2JpdHV0aWxzLm8g XApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2luZXRfbmV0X3B0b24uYyBiL3Ny Yy9wb3J0L2luZXRfbmV0X3B0b24uYwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBz cmMvYmFja2VuZC91dGlscy9hZHQvaW5ldF9uZXRfcHRvbi5jCnJlbmFtZSB0byBzcmMvcG9ydC9p bmV0X25ldF9wdG9uLmMKaW5kZXggZDMyMjFhMTMxMy4uYmFlNTBiYTY3ZSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L2luZXRfbmV0X3B0b24uYworKysgYi9zcmMvcG9ydC9pbmV0 X25ldF9wdG9uLmMKQEAgLTE0LDE0ICsxNCwxOCBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBO RUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQKICAqIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdB UkUuCiAgKgotICoJICBzcmMvYmFja2VuZC91dGlscy9hZHQvaW5ldF9uZXRfcHRvbi5jCisgKgkg IHNyYy9wb3J0L2luZXRfbmV0X3B0b24uYwogICovCiAKICNpZiBkZWZpbmVkKExJQkNfU0NDUykg JiYgIWRlZmluZWQobGludCkKIHN0YXRpYyBjb25zdCBjaGFyIHJjc2lkW10gPSAiSWQ6IGluZXRf bmV0X3B0b24uYyx2IDEuNC4yLjMgMjAwNC8wMy8xNyAwMDo0MDoxMSBtYXJrYSBFeHAgJCI7CiAj ZW5kaWYKIAorI2lmbmRlZiBGUk9OVEVORAogI2luY2x1ZGUgInBvc3RncmVzLmgiCisjZWxzZQor I2luY2x1ZGUgInBvc3RncmVzX2ZlLmgiCisjZW5kaWYKIAogI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CkBAIC0yOSw5ICszMywxOSBAQCBzdGF0aWMgY29u c3QgY2hhciByY3NpZFtdID0gIklkOiBpbmV0X25ldF9wdG9uLmMsdiAxLjQuMi4zIDIwMDQvMDMv MTcgMDA6NDA6MTEgbQogI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGN0eXBlLmg+CiAK KyNpZm5kZWYgRlJPTlRFTkQKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIiAvKiBwZ3JtaW5j bHVkZSBpZ25vcmUgKi8JLyogbmVlZGVkIG9uIHNvbWUKIAkJCQkJCQkJCQkJCQkJICogcGxhdGZv cm1zICovCiAjaW5jbHVkZSAidXRpbHMvaW5ldC5oIgorI2Vsc2UKKy8qCisgKiBJbiBhIGZyb250 ZW5kIGJ1aWxkLCB3ZSBjYW4ndCBpbmNsdWRlIGluZXQuaCwgYnV0IHdlIHN0aWxsIG5lZWQgdG8g aGF2ZQorICogc2Vuc2libGUgZGVmaW5pdGlvbnMgb2YgdGhlc2UgdHdvIGNvbnN0YW50cy4gIE5v dGUgdGhhdCBwZ19pbmV0X25ldF9udG9wKCkKKyAqIGFzc3VtZXMgdGhhdCBQR1NRTF9BRl9JTkVU IGlzIGVxdWFsIHRvIEFGX0lORVQuCisgKi8KKyNkZWZpbmUgUEdTUUxfQUZfSU5FVAkoQUZfSU5F VCArIDApCisjZGVmaW5lIFBHU1FMX0FGX0lORVQ2CShBRl9JTkVUICsgMSkKKyNlbmRpZgogCiAK IHN0YXRpYyBpbnQJaW5ldF9uZXRfcHRvbl9pcHY0KGNvbnN0IGNoYXIgKnNyYywgdV9jaGFyICpk c3QpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL21zdmMvTWt2Y2J1aWxkLnBtIGIvc3JjL3Rvb2xz L21zdmMvTWt2Y2J1aWxkLnBtCmluZGV4IDQwNGM0NWE2ZjMuLmZhODc1MTFlMDQgMTAwNjQ0Ci0t LSBhL3NyYy90b29scy9tc3ZjL01rdmNidWlsZC5wbQorKysgYi9zcmMvdG9vbHMvbXN2Yy9Na3Zj YnVpbGQucG0KQEAgLTEwMCw3ICsxMDAsNyBAQCBzdWIgbWt2Y2J1aWxkCiAKIAlvdXIgQHBncG9y dGZpbGVzID0gcXcoCiAJICBjaGtsb2NhbGUuYyBleHBsaWNpdF9iemVyby5jIGZscy5jIGdldHBl ZXJlaWQuYyBnZXRydXNhZ2UuYyBpbmV0X2F0b24uYwotCSAgZ2V0YWRkcmluZm8uYyBnZXR0aW1l b2ZkYXkuYyBpbmV0X25ldF9udG9wLmMga2lsbC5jIG9wZW4uYworCSAgZ2V0YWRkcmluZm8uYyBn ZXR0aW1lb2ZkYXkuYyBpbmV0X25ldF9udG9wLmMgaW5ldF9uZXRfcHRvbi5jIGtpbGwuYyBvcGVu LmMKIAkgIHNucHJpbnRmLmMgc3RybGNhdC5jIHN0cmxjcHkuYyBkaXJtb2QuYyBub2Jsb2NrLmMg cGF0aC5jCiAJICBkaXJlbnQuYyBkbG9wZW4uYyBnZXRvcHQuYyBnZXRvcHRfbG9uZy5jIGxpbmsu YwogCSAgcHJlYWQuYyBwcmVhZHYuYyBwd3JpdGUuYyBwd3JpdGV2LmMgcGdfYml0dXRpbHMuYwot LSAKMi4yNS4xCgo= --_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_ Content-Type: text/x-patch; name="v3-0002-libpq-allow-IP-address-SANs-in-server-certs.patch" Content-Description: v3-0002-libpq-allow-IP-address-SANs-in-server-certs.patch Content-Disposition: attachment; filename="v3-0002-libpq-allow-IP-address-SANs-in-server-certs.patch"; size=39075; creation-date="Thu, 06 Jan 2022 00:02:27 GMT"; modification-date="Thu, 06 Jan 2022 00:02:27 GMT" Content-ID: <7A9F0C5F4D49344A8082586DF485C013@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSA4NDk4NzAwMWYwZmM3YjVhNjAxOGMzZjU0Njg0Yjc4MGZlZTIwNGNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFRodSwgMTggTm92IDIwMjEgMTU6MzY6MTggLTA4MDAKU3ViamVjdDogW1BBVENIIHYz IDIvM10gbGlicHE6IGFsbG93IElQIGFkZHJlc3MgU0FOcyBpbiBzZXJ2ZXIgY2VydHMKClRoZSBj dXJyZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIGV4YWN0bHkgb25lIElQIGFkZHJlc3MgaW4g YSBzZXJ2ZXIKY2VydGlmaWNhdGUncyBDb21tb24gTmFtZSwgd2hpY2ggaXMgYnJpdHRsZSAodGhl IHN0cmluZ3MgbXVzdCBtYXRjaApleGFjdGx5KS4gIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv ciBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBpbiBhCnNlcnZlcidzIFN1YmplY3QgQWx0ZXJuYXRp dmUgTmFtZXMuCgpQZXIgZGlzY3Vzc2lvbiBvbi1saXN0OgoKLSBJZiB0aGUgY2xpZW50J3MgZXhw ZWN0ZWQgaG9zdCBpcyBhbiBJUCBhZGRyZXNzLCB3ZSBhbGxvdyBmYWxsYmFjayB0bwogIHRoZSBT dWJqZWN0IENvbW1vbiBOYW1lIGlmIGFuIGlQQWRkcmVzcyBTQU4gaXMgbm90IHByZXNlbnQsIGV2 ZW4gaWYKICBhIGROU05hbWUgaXMgcHJlc2VudC4gVGhpcyBtYXRjaGVzIHRoZSBiZWhhdmlvciBv ZiBOU1MsIGluIHZpb2xhdGlvbgogIG9mIHRoZSByZWxldmFudCBSRkNzLgoKLSBVbmxpa2UgTlNT LCB3ZSBkb24ndCBtYXAgSVB2NCB0byBJUHY2IGFkZHJlc3Nlcywgb3IgdmljZS12ZXJzYS4KLS0t CiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtY29tbW9uLmMgICAgICAgfCAxMDIgKysr KysrKysrKysrKysrKwogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLWNvbW1vbi5oICAg ICAgIHwgIDExICsrCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtb3BlbnNzbC5jICAg ICAgfCAxMTQgKysrKysrKysrKysrKysrKy0tCiAuLi4vY29uZi9zZXJ2ZXItY24tYW5kLWlwLWFs dC1uYW1lcy5jb25maWcgICAgfCAgMjQgKysrKwogc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlw LWFsdC1uYW1lcy5jb25maWcgIHwgIDE5ICsrKwogLi4uL2NvbmYvc2VydmVyLWlwLWNuLWFuZC1h bHQtbmFtZXMuY29uZmlnICAgIHwgIDIxICsrKysKIC4uLi9zZXJ2ZXItaXAtY24tYW5kLWRucy1h bHQtbmFtZXMuY29uZmlnICAgICB8ICAyMSArKysrCiBzcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXIt aXAtY24tb25seS5jb25maWcgICAgfCAgMTIgKysKIC4uLi9zc2wvc3NsL3NlcnZlci1jbi1hbmQt aXAtYWx0LW5hbWVzLmNydCAgICB8ICAyMCArKysKIC4uLi9zc2wvc3NsL3NlcnZlci1jbi1hbmQt aXAtYWx0LW5hbWVzLmtleSAgICB8ICAyNyArKysrKwogc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXIt aXAtYWx0LW5hbWVzLmNydCAgICAgIHwgIDE5ICsrKwogc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXIt aXAtYWx0LW5hbWVzLmtleSAgICAgIHwgIDI3ICsrKysrCiAuLi4vc3NsL3NzbC9zZXJ2ZXItaXAt Y24tYW5kLWFsdC1uYW1lcy5jcnQgICAgfCAgMTkgKysrCiAuLi4vc3NsL3NzbC9zZXJ2ZXItaXAt Y24tYW5kLWFsdC1uYW1lcy5rZXkgICAgfCAgMjcgKysrKysKIC4uLi9zc2wvc2VydmVyLWlwLWNu LWFuZC1kbnMtYWx0LW5hbWVzLmNydCAgICB8ICAyMCArKysKIC4uLi9zc2wvc2VydmVyLWlwLWNu LWFuZC1kbnMtYWx0LW5hbWVzLmtleSAgICB8ICAyNyArKysrKwogc3JjL3Rlc3Qvc3NsL3NzbC9z ZXJ2ZXItaXAtY24tb25seS5jcnQgICAgICAgIHwgIDE4ICsrKwogc3JjL3Rlc3Qvc3NsL3NzbC9z ZXJ2ZXItaXAtY24tb25seS5rZXkgICAgICAgIHwgIDI3ICsrKysrCiBzcmMvdGVzdC9zc2wvc3Ns ZmlsZXMubWsgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKwogc3JjL3Rlc3Qvc3NsL3QvMDAx X3NzbHRlc3RzLnBsICAgICAgICAgICAgICAgIHwgMTAxICsrKysrKysrKysrKysrKy0KIDIwIGZp bGVzIGNoYW5nZWQsIDY0NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItY24tYW5kLWlwLWFsdC1uYW1lcy5j b25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItaXAtYWx0 LW5hbWVzLmNvbmZpZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3NzbC9jb25mL3NlcnZl ci1pcC1jbi1hbmQtYWx0LW5hbWVzLmNvbmZpZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0 L3NzbC9jb25mL3NlcnZlci1pcC1jbi1hbmQtZG5zLWFsdC1uYW1lcy5jb25maWcKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItaXAtY24tb25seS5jb25maWcKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9zc2wvc3NsL3NlcnZlci1jbi1hbmQtaXAtYWx0LW5h bWVzLmNydAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3NzbC9zc2wvc2VydmVyLWNuLWFu ZC1pcC1hbHQtbmFtZXMua2V5CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3NsL3NzbC9z ZXJ2ZXItaXAtYWx0LW5hbWVzLmNydAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3NzbC9z c2wvc2VydmVyLWlwLWFsdC1uYW1lcy5rZXkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9z c2wvc3NsL3NlcnZlci1pcC1jbi1hbmQtYWx0LW5hbWVzLmNydAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy90ZXN0L3NzbC9zc2wvc2VydmVyLWlwLWNuLWFuZC1hbHQtbmFtZXMua2V5CiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXItaXAtY24tYW5kLWRucy1hbHQtbmFt ZXMuY3J0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXItaXAtY24t YW5kLWRucy1hbHQtbmFtZXMua2V5CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3NsL3Nz bC9zZXJ2ZXItaXAtY24tb25seS5jcnQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9zc2wv c3NsL3NlcnZlci1pcC1jbi1vbmx5LmtleQoKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLXNlY3VyZS1jb21tb24uYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1j b21tb24uYwppbmRleCBhZmE1ZDEzM2UxLi43OTZiNzhlMzQ4IDEwMDY0NAotLS0gYS9zcmMvaW50 ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtY29tbW9uLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGli cHEvZmUtc2VjdXJlLWNvbW1vbi5jCkBAIC0xOSw5ICsxOSwxMyBAQAogCiAjaW5jbHVkZSAicG9z dGdyZXNfZmUuaCIKIAorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxhcnBhL2lu ZXQuaD4KKwogI2luY2x1ZGUgImZlLXNlY3VyZS1jb21tb24uaCIKIAogI2luY2x1ZGUgImxpYnBx LWludC5oIgorI2luY2x1ZGUgInBvcnQuaCIKICNpbmNsdWRlICJwcWV4cGJ1ZmZlci5oIgogCiAv KgpAQCAtMTQ0LDYgKzE0OCwxMDQgQEAgcHFfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRp ZmljYXRlX25hbWUoUEdjb25uICpjb25uLAogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiBD aGVjayBpZiBhbiBJUCBhZGRyZXNzIGZyb20gYSBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZSBtYXRjaGVz IHRoZSBwZWVyJ3MKKyAqIGhvc3RuYW1lICh3aGljaCBtdXN0IGl0c2VsZiBiZSBhbiBJUHY0LzYg YWRkcmVzcykuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMsIGFuZCAw IGlmIGl0IGRvZXMgbm90LiBPbiBlcnJvciwgcmV0dXJucworICogLTEsIGFuZCBzZXRzIHRoZSBs aWJwcSBlcnJvciBtZXNzYWdlLgorICoKKyAqIEEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRo ZSBjZXJ0aWZpY2F0ZSdzIElQIGFkZHJlc3MgaXMgcmV0dXJuZWQgaW4KKyAqICpzdG9yZV9uYW1l LiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIGl0LgorICovCitpbnQKK3Bx X3ZlcmlmeV9wZWVyX25hbWVfbWF0Y2hlc19jZXJ0aWZpY2F0ZV9pcChQR2Nvbm4gKmNvbm4sCisJ CQkJCQkJCQkJICAgY29uc3QgY2hhciAqaXBkYXRhLCBzaXplX3QgaXBsZW4sCisJCQkJCQkJCQkJ ICAgY2hhciAqKnN0b3JlX25hbWUpCit7CisJY2hhcgkgICAqYWRkcnN0cjsKKwlpbnQJCQltYXRj aCA9IDA7CisJY2hhcgkgICAqaG9zdCA9IGNvbm4tPmNvbm5ob3N0W2Nvbm4tPndoaWNoaG9zdF0u aG9zdDsKKwlpbnQJCQlmYW1pbHk7CisJY2hhcgkJdG1wW3NpemVvZiAiZmZmZjpmZmZmOmZmZmY6 ZmZmZjpmZmZmOmZmZmY6MjU1LjI1NS4yNTUuMjU1Il07CisJY2hhcgkJc2VidWZbUEdfU1RSRVJS T1JfUl9CVUZMRU5dOworCisJKnN0b3JlX25hbWUgPSBOVUxMOworCisJaWYgKCEoaG9zdCAmJiBo b3N0WzBdICE9ICdcMCcpKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNvbm4tPmVycm9y TWVzc2FnZSwKKwkJCQkJCQkgbGlicHFfZ2V0dGV4dCgiaG9zdCBuYW1lIG11c3QgYmUgc3BlY2lm aWVkXG4iKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKgorCSAqIFRoZSBkYXRhIGZyb20gdGhl IGNlcnRpZmljYXRlIGlzIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4gQ29udmVydCBvdXIgaG9zdAor CSAqIHN0cmluZyB0byBuZXR3b3JrLW9yZGVyZWQgYnl0ZXMgYXMgd2VsbCwgZm9yIGNvbXBhcmlz b24uIChUaGUgaG9zdCBzdHJpbmcKKwkgKiBpc24ndCBndWFyYW50ZWVkIHRvIGFjdHVhbGx5IGJl IGFuIElQIGFkZHJlc3MsIHNvIGlmIHRoaXMgY29udmVyc2lvbgorCSAqIGZhaWxzIHdlIG5lZWQg dG8gY29uc2lkZXIgaXQgYSBtaXNtYXRjaCByYXRoZXIgdGhhbiBhbiBlcnJvci4pCisJICovCisJ aWYgKGlwbGVuID09IDQpCisJeworCQkvKiBJUHY0ICovCisJCXN0cnVjdCBpbl9hZGRyIGFkZHI7 CisKKwkJZmFtaWx5ID0gUEdTUUxfQUZfSU5FVDsKKworCQkvKgorCQkgKiBUaGUgdXNlIG9mIGlu ZXRfYXRvbigpIGluc3RlYWQgb2YgaW5ldF9wdG9uKCkgaXMgZGVsaWJlcmF0ZTsgdGhlCisJCSAq IGxhdHRlciBjYW5ub3QgaGFuZGxlIGFsdGVybmF0ZSBJUHY0IG5vdGF0aW9ucyAoIm51bWJlcnMt YW5kLWRvdHMiKS4KKwkJICovCisJCWlmIChpbmV0X2F0b24oaG9zdCwgJmFkZHIpKQorCQl7CisJ CQlpZiAobWVtY21wKGlwZGF0YSwgJmFkZHIuc19hZGRyLCBpcGxlbikgPT0gMCkKKwkJCQltYXRj aCA9IDE7CisJCX0KKwl9CisJZWxzZSBpZiAoaXBsZW4gPT0gMTYpCisJeworCQkvKiBJUHY2ICov CisJCXVuc2lnbmVkIGNoYXIgYWRkclsxNl07CisKKwkJZmFtaWx5ID0gUEdTUUxfQUZfSU5FVDY7 CisKKwkJLyoKKwkJICogcGdfaW5ldF9uZXRfcHRvbigpIHdpbGwgYWNjZXB0IENJRFIgbWFza3Ms IHdoaWNoIHdlIGRvbid0IHdhbnQgdG8KKwkJICogbWF0Y2gsIHNvIHNraXAgdGhlIGNvbXBhcmlz b24gaWYgdGhlIGhvc3Qgc3RyaW5nIGNvbnRhaW5zIGEgc2xhc2guCisJCSAqLworCQlpZiAoIXN0 cmNocihob3N0LCAnLycpCisJCQkmJiBwZ19pbmV0X25ldF9wdG9uKFBHU1FMX0FGX0lORVQ2LCBo b3N0LCBhZGRyLCAtMSkgPT0gMTI4KQorCQl7CisJCQlpZiAobWVtY21wKGlwZGF0YSwgYWRkciwg aXBsZW4pID09IDApCisJCQkJbWF0Y2ggPSAxOworCQl9CisJfQorCWVsc2UKKwl7CisJCS8qCisJ CSAqIE5vdCBJUHY0IG9yIElQdjYuIFdlIGNvdWxkIGlnbm9yZSB0aGUgZmllbGQsIGJ1dCBsZW5p ZW5jeSBzZWVtcyB3cm9uZworCQkgKiBnaXZlbiB0aGUgc3ViamVjdCBtYXR0ZXIuCisJCSAqLwor CQlhcHBlbmRQUUV4cEJ1ZmZlcigmY29ubi0+ZXJyb3JNZXNzYWdlLAorCQkJCQkJICBsaWJwcV9n ZXR0ZXh0KCJjZXJ0aWZpY2F0ZSBjb250YWlucyBJUCBhZGRyZXNzIHdpdGggaW52YWxpZCBsZW5n dGggJWx1XG4iKSwKKwkJCQkJCSAgKHVuc2lnbmVkIGxvbmcpIGlwbGVuKTsKKwkJcmV0dXJuIC0x OworCX0KKworCS8qIEdlbmVyYXRlIGEgaHVtYW4tcmVhZGFibGUgcmVwcmVzZW50YXRpb24gb2Yg dGhlIGNlcnRpZmljYXRlJ3MgSVAuICovCisJYWRkcnN0ciA9IHBnX2luZXRfbmV0X250b3AoZmFt aWx5LCBpcGRhdGEsIDggKiBpcGxlbiwgdG1wLCBzaXplb2YodG1wKSk7CisJaWYgKCFhZGRyc3Ry KQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmNvbm4tPmVycm9yTWVzc2FnZSwKKwkJCQkJCSAg bGlicHFfZ2V0dGV4dCgiY291bGQgbm90IGNvbnZlcnQgY2VydGlmaWNhdGUncyBJUCBhZGRyZXNz IHRvIHN0cmluZzogJXNcbiIpLAorCQkJCQkJICBzdHJlcnJvcl9yKGVycm5vLCBzZWJ1Ziwgc2l6 ZW9mKHNlYnVmKSkpOworCQlyZXR1cm4gLTE7CisJfQorCisJKnN0b3JlX25hbWUgPSBzdHJkdXAo YWRkcnN0cik7CisJcmV0dXJuIG1hdGNoOworfQorCiAvKgogICogVmVyaWZ5IHRoYXQgdGhlIHNl cnZlciBjZXJ0aWZpY2F0ZSBtYXRjaGVzIHRoZSBob3N0bmFtZSB3ZSBjb25uZWN0ZWQgdG8uCiAg KgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLWNvbW1vbi5oIGIv c3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLWNvbW1vbi5oCmluZGV4IDIzODlmNjcxN2Eu LjI5ZDRmNTQyMzAgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1j b21tb24uaAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtY29tbW9uLmgKQEAg LTE4LDkgKzE4LDIwIEBACiAKICNpbmNsdWRlICJsaWJwcS1mZS5oIgogCisvKgorICogSW4gYSBm cm9udGVuZCBidWlsZCwgd2UgY2FuJ3QgaW5jbHVkZSBpbmV0LmgsIGJ1dCB3ZSBzdGlsbCBuZWVk IHRvIGhhdmUKKyAqIHNlbnNpYmxlIGRlZmluaXRpb25zIG9mIHRoZXNlIHR3byBjb25zdGFudHMu ICBOb3RlIHRoYXQgcGdfaW5ldF9uZXRfbnRvcCgpCisgKiBhc3N1bWVzIHRoYXQgUEdTUUxfQUZf SU5FVCBpcyBlcXVhbCB0byBBRl9JTkVULgorICovCisjZGVmaW5lIFBHU1FMX0FGX0lORVQJKEFG X0lORVQgKyAwKQorI2RlZmluZSBQR1NRTF9BRl9JTkVUNgkoQUZfSU5FVCArIDEpCisKIGV4dGVy biBpbnQJcHFfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX25hbWUoUEdjb25u ICpjb25uLAogCQkJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqbmFtZWRhdGEsIHNpemVfdCBuYW1l bGVuLAogCQkJCQkJCQkJCQkJCQkgY2hhciAqKnN0b3JlX25hbWUpOworZXh0ZXJuIGludAlwcV92 ZXJpZnlfcGVlcl9uYW1lX21hdGNoZXNfY2VydGlmaWNhdGVfaXAoUEdjb25uICpjb25uLAorCQkJ CQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKmFkZHJkYXRhLCBzaXplX3QgYWRkcmxlbiwKKwkJCQkJ CQkJCQkJCQkgICBjaGFyICoqc3RvcmVfbmFtZSk7CiBleHRlcm4gYm9vbCBwcV92ZXJpZnlfcGVl cl9uYW1lX21hdGNoZXNfY2VydGlmaWNhdGUoUEdjb25uICpjb25uKTsKIAogI2VuZGlmCQkJCQkJ CS8qIEZFX1NFQ1VSRV9DT01NT05fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGli cHEvZmUtc2VjdXJlLW9wZW5zc2wuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1v cGVuc3NsLmMKaW5kZXggMzNmMDk1YzEyZS4uNDc5ZjYzMTk3YSAxMDA2NDQKLS0tIGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5zc2wuYworKysgYi9zcmMvaW50ZXJmYWNlcy9s aWJwcS9mZS1zZWN1cmUtb3BlbnNzbC5jCkBAIC03Miw2ICs3Miw5IEBAIHN0YXRpYyBpbnQJdmVy aWZ5X2NiKGludCBvaywgWDUwOV9TVE9SRV9DVFggKmN0eCk7CiBzdGF0aWMgaW50CW9wZW5zc2xf dmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX25hbWUoUEdjb25uICpjb25uLAog CQkJCQkJCQkJCQkJCQkJICBBU04xX1NUUklORyAqbmFtZSwKIAkJCQkJCQkJCQkJCQkJCSAgY2hh ciAqKnN0b3JlX25hbWUpOworc3RhdGljIGludAlvcGVuc3NsX3ZlcmlmeV9wZWVyX25hbWVfbWF0 Y2hlc19jZXJ0aWZpY2F0ZV9pcChQR2Nvbm4gKmNvbm4sCisJCQkJCQkJCQkJCQkJCQlBU04xX09D VEVUX1NUUklORyAqYWRkcl9lbnRyeSwKKwkJCQkJCQkJCQkJCQkJCWNoYXIgKipzdG9yZV9uYW1l KTsKIHN0YXRpYyB2b2lkIGRlc3Ryb3lfc3NsX3N5c3RlbSh2b2lkKTsKIHN0YXRpYyBpbnQJaW5p dGlhbGl6ZV9TU0woUEdjb25uICpjb25uKTsKIHN0YXRpYyBQb3N0Z3Jlc1BvbGxpbmdTdGF0dXNU eXBlIG9wZW5fY2xpZW50X1NTTChQR2Nvbm4gKik7CkBAIC01MDksNiArNTEyLDUyIEBAIG9wZW5z c2xfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX25hbWUoUEdjb25uICpjb25u LCBBU04xX1NUUklORyAqbmFtCiAJcmV0dXJuIHBxX3ZlcmlmeV9wZWVyX25hbWVfbWF0Y2hlc19j ZXJ0aWZpY2F0ZV9uYW1lKGNvbm4sIChjb25zdCBjaGFyICopIG5hbWVkYXRhLCBsZW4sIHN0b3Jl X25hbWUpOwogfQogCisvKgorICogT3BlblNTTC1zcGVjaWZpYyB3cmFwcGVyIGFyb3VuZAorICog cHFfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX2lwKCksIGNvbnZlcnRpbmcg dGhlCisgKiBBU04xX09DVEVUX1NUUklORyBpbnRvIGEgcGxhaW4gQyBzdHJpbmcuCisgKi8KK3N0 YXRpYyBpbnQKK29wZW5zc2xfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX2lw KFBHY29ubiAqY29ubiwKKwkJCQkJCQkJCQkJCUFTTjFfT0NURVRfU1RSSU5HICphZGRyX2VudHJ5 LAorCQkJCQkJCQkJCQkJY2hhciAqKnN0b3JlX25hbWUpCit7CisJaW50CQkJbGVuOworCWNvbnN0 IHVuc2lnbmVkIGNoYXIgKmFkZHJkYXRhOworCisJLyogU2hvdWxkIG5vdCBoYXBwZW4uLi4gKi8K KwlpZiAoYWRkcl9lbnRyeSA9PSBOVUxMKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNv bm4tPmVycm9yTWVzc2FnZSwKKwkJCQkJCQkgbGlicHFfZ2V0dGV4dCgiU1NMIGNlcnRpZmljYXRl J3MgYWRkcmVzcyBlbnRyeSBpcyBtaXNzaW5nXG4iKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwkv KgorCSAqIEdFTl9JUEFERCBpcyBhbiBPQ1RFVCBTVFJJTkcgY29udGFpbmluZyBhbiBJUCBhZGRy ZXNzIGluIG5ldHdvcmsgYnl0ZQorCSAqIG9yZGVyLgorCSAqLworI2lmZGVmIEhBVkVfQVNOMV9T VFJJTkdfR0VUMF9EQVRBCisJYWRkcmRhdGEgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoYWRkcl9l bnRyeSk7CisjZWxzZQorCWFkZHJkYXRhID0gQVNOMV9TVFJJTkdfZGF0YShhZGRyX2VudHJ5KTsK KyNlbmRpZgorCWxlbiA9IEFTTjFfU1RSSU5HX2xlbmd0aChhZGRyX2VudHJ5KTsKKworCS8qIE9L IHRvIGNhc3QgZnJvbSB1bnNpZ25lZCB0byBwbGFpbiBjaGFyLCBzaW5jZSBpdCdzIGFsbCBBU0NJ SS4gKi8KKwlyZXR1cm4gcHFfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX2lw KGNvbm4sIChjb25zdCBjaGFyICopIGFkZHJkYXRhLCBsZW4sIHN0b3JlX25hbWUpOworfQorCitz dGF0aWMgYm9vbAoraXNfaXBfYWRkcmVzcyhjb25zdCBjaGFyICpob3N0KQoreworCXN0cnVjdCBp bl9hZGRyCWR1bW15NDsKKwl1bnNpZ25lZCBjaGFyCWR1bW15NlsxNl07CisKKwlyZXR1cm4gaW5l dF9hdG9uKGhvc3QsICZkdW1teTQpCisJCXx8IChwZ19pbmV0X25ldF9wdG9uKFBHU1FMX0FGX0lO RVQ2LCBob3N0LCBkdW1teTYsIC0xKSA9PSAxMjgpOworfQorCiAvKgogICoJVmVyaWZ5IHRoYXQg dGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBtYXRjaGVzIHRoZSBob3N0bmFtZSB3ZSBjb25uZWN0ZWQg dG8uCiAgKgpAQCAtNTIyLDYgKzU3MSwzNiBAQCBwZ3Rsc192ZXJpZnlfcGVlcl9uYW1lX21hdGNo ZXNfY2VydGlmaWNhdGVfZ3V0cyhQR2Nvbm4gKmNvbm4sCiAJU1RBQ0tfT0YoR0VORVJBTF9OQU1F KSAqIHBlZXJfc2FuOwogCWludAkJCWk7CiAJaW50CQkJcmMgPSAwOworCWNoYXIJICAgKmhvc3Qg PSBjb25uLT5jb25uaG9zdFtjb25uLT53aGljaGhvc3RdLmhvc3Q7CisJaW50CQkJaG9zdF90eXBl OworCWJvb2wJCWNoZWNrX2NuID0gdHJ1ZTsKKworCUFzc2VydChob3N0ICYmIGhvc3RbMF0pOyAv KiBzaG91bGQgYmUgZ3VhcmFudGVlZCBieSBjYWxsZXIgKi8KKworCS8qCisJICogV2UgdHJ5IHRv IG1hdGNoIHRoZSBOU1MgYmVoYXZpb3IgaGVyZSwgd2hpY2ggaXMgYSBzbGlnaHQgZGVwYXJ0dXJl IGZyb20KKwkgKiB0aGUgc3BlYyBidXQgc2VlbXMgdG8gbWFrZSBtb3JlIGludHVpdGl2ZSBzZW5z ZToKKwkgKgorCSAqIElmIGNvbm5ob3N0IGNvbnRhaW5zIGEgRE5TIG5hbWUsIGFuZCB0aGUgY2Vy dGlmaWNhdGUncyBTQU5zIGNvbnRhaW4gYW55CisJICogZE5TTmFtZSBlbnRyaWVzLCB0aGVuIHdl J2xsIGlnbm9yZSB0aGUgU3ViamVjdCBDb21tb24gTmFtZSBlbnRpcmVseTsKKwkgKiBvdGhlcndp c2UsIHdlIGZhbGwgYmFjayB0byBjaGVja2luZyB0aGUgQ04uIChUaGlzIGJlaGF2aW9yIG1hdGNo ZXMgdGhlCisJICogUkZDLikKKwkgKgorCSAqIElmIGNvbm5ob3N0IGNvbnRhaW5zIGFuIElQIGFk ZHJlc3MsIGFuZCB0aGUgU0FOcyBjb250YWluIGlQQWRkcmVzcworCSAqIGVudHJpZXMsIHdlIGFn YWluIGlnbm9yZSB0aGUgQ04uIE90aGVyd2lzZSwgd2UgYWxsb3cgdGhlIENOIHRvIG1hdGNoLAor CSAqIEVWRU4gSUYgdGhlcmUgaXMgYSBkTlNOYW1lIGluIHRoZSBTQU5zLiAoUkZDIDYxMjUgcHJv aGliaXRzIHRoaXM6ICJBCisJICogY2xpZW50IE1VU1QgTk9UIHNlZWsgYSBtYXRjaCBmb3IgYSBy ZWZlcmVuY2UgaWRlbnRpZmllciBvZiBDTi1JRCBpZiB0aGUKKwkgKiBwcmVzZW50ZWQgaWRlbnRp ZmllcnMgaW5jbHVkZSBhIEROUy1JRCwgU1JWLUlELCBVUkktSUQsIG9yIGFueQorCSAqIGFwcGxp Y2F0aW9uLXNwZWNpZmljIGlkZW50aWZpZXIgdHlwZXMgc3VwcG9ydGVkIGJ5IHRoZSBjbGllbnQu IikKKwkgKgorCSAqIE5PVEU6IFByaW9yIHZlcnNpb25zIG9mIGxpYnBxIGRpZCBub3QgY29uc2lk ZXIgaVBBZGRyZXNzIGVudHJpZXMgYXQgYWxsLAorCSAqIHNvIHRoaXMgbmV3IGJlaGF2aW9yIG1p Z2h0IGJyZWFrIGEgY2VydGlmaWNhdGUgdGhhdCBoYXMgZGlmZmVyZW50IElQCisJICogYWRkcmVz c2VzIGluIHRoZSBTdWJqZWN0IENOIGFuZCB0aGUgU0FOcy4KKwkgKi8KKwlpZiAoaXNfaXBfYWRk cmVzcyhob3N0KSkKKwkJaG9zdF90eXBlID0gR0VOX0lQQUREOworCWVsc2UKKwkJaG9zdF90eXBl ID0gR0VOX0ROUzsKIAogCS8qCiAJICogRmlyc3QsIGdldCB0aGUgU3ViamVjdCBBbHRlcm5hdGl2 ZSBOYW1lcyAoU0FOcykgZnJvbSB0aGUgY2VydGlmaWNhdGUsCkBAIC01MzcsMjQgKzYxNiwzNCBA QCBwZ3Rsc192ZXJpZnlfcGVlcl9uYW1lX21hdGNoZXNfY2VydGlmaWNhdGVfZ3V0cyhQR2Nvbm4g KmNvbm4sCiAJCWZvciAoaSA9IDA7IGkgPCBzYW5fbGVuOyBpKyspCiAJCXsKIAkJCWNvbnN0IEdF TkVSQUxfTkFNRSAqbmFtZSA9IHNrX0dFTkVSQUxfTkFNRV92YWx1ZShwZWVyX3NhbiwgaSk7CisJ CQljaGFyCSAgICphbHRfbmFtZSA9IE5VTEw7CisKKwkJCWlmIChuYW1lLT50eXBlID09IGhvc3Rf dHlwZSkKKwkJCQljaGVja19jbiA9IGZhbHNlOwogCiAJCQlpZiAobmFtZS0+dHlwZSA9PSBHRU5f RE5TKQogCQkJewotCQkJCWNoYXIJICAgKmFsdF9uYW1lOwotCiAJCQkJKCpuYW1lc19leGFtaW5l ZCkrKzsKIAkJCQlyYyA9IG9wZW5zc2xfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmlj YXRlX25hbWUoY29ubiwKIAkJCQkJCQkJCQkJCQkJCQkJICAgbmFtZS0+ZC5kTlNOYW1lLAogCQkJ CQkJCQkJCQkJCQkJCQkgICAmYWx0X25hbWUpOworCQkJfQorCQkJZWxzZSBpZiAobmFtZS0+dHlw ZSA9PSBHRU5fSVBBREQpCisJCQl7CisJCQkJKCpuYW1lc19leGFtaW5lZCkrKzsKKwkJCQlyYyA9 IG9wZW5zc2xfdmVyaWZ5X3BlZXJfbmFtZV9tYXRjaGVzX2NlcnRpZmljYXRlX2lwKGNvbm4sCisJ CQkJCQkJCQkJCQkJCQkJCSBuYW1lLT5kLmlQQWRkcmVzcywKKwkJCQkJCQkJCQkJCQkJCQkJICZh bHRfbmFtZSk7CisJCQl9CiAKLQkJCQlpZiAoYWx0X25hbWUpCi0JCQkJewotCQkJCQlpZiAoISpm aXJzdF9uYW1lKQotCQkJCQkJKmZpcnN0X25hbWUgPSBhbHRfbmFtZTsKLQkJCQkJZWxzZQotCQkJ CQkJZnJlZShhbHRfbmFtZSk7Ci0JCQkJfQorCQkJaWYgKGFsdF9uYW1lKQorCQkJeworCQkJCWlm ICghKmZpcnN0X25hbWUpCisJCQkJCSpmaXJzdF9uYW1lID0gYWx0X25hbWU7CisJCQkJZWxzZQor CQkJCQlmcmVlKGFsdF9uYW1lKTsKIAkJCX0KKwogCQkJaWYgKHJjICE9IDApCiAJCQkJYnJlYWs7 CiAJCX0KQEAgLTU2MiwxMyArNjUxLDE0IEBAIHBndGxzX3ZlcmlmeV9wZWVyX25hbWVfbWF0Y2hl c19jZXJ0aWZpY2F0ZV9ndXRzKFBHY29ubiAqY29ubiwKIAl9CiAKIAkvKgotCSAqIElmIHRoZXJl IGlzIG5vIHN1YmplY3RBbHROYW1lIGV4dGVuc2lvbiBvZiB0eXBlIGROU05hbWUsIGNoZWNrIHRo ZQorCSAqIElmIHRoZXJlIGlzIG5vIHN1YmplY3RBbHROYW1lIGV4dGVuc2lvbiBvZiB0aGUgbWF0 Y2hpbmcgdHlwZSwgY2hlY2sgdGhlCiAJICogQ29tbW9uIE5hbWUuCiAJICoKIAkgKiAoUGVyIFJG QyAyODE4IGFuZCBSRkMgNjEyNSwgaWYgdGhlIHN1YmplY3RBbHROYW1lIGV4dGVuc2lvbiBvZiB0 eXBlCi0JICogZE5TTmFtZSBpcyBwcmVzZW50LCB0aGUgQ04gbXVzdCBiZSBpZ25vcmVkLikKKwkg KiBkTlNOYW1lIGlzIHByZXNlbnQsIHRoZSBDTiBtdXN0IGJlIGlnbm9yZWQuIFdlIGJyZWFrIHRo aXMgcnVsZSBpZiBob3N0IGlzCisJICogYW4gSVAgYWRkcmVzczsgc2VlIHRoZSBjb21tZW50IGFi b3ZlLikKIAkgKi8KLQlpZiAoKm5hbWVzX2V4YW1pbmVkID09IDApCisJaWYgKChyYyA9PSAwKSAm JiBjaGVja19jbikKIAl7CiAJCVg1MDlfTkFNRSAgKnN1YmplY3RfbmFtZTsKIApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWNuLWFuZC1pcC1hbHQtbmFtZXMuY29uZmlnIGIv c3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWNuLWFuZC1pcC1hbHQtbmFtZXMuY29uZmlnCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmE2ZmEwOWJhZDMKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItY24tYW5kLWlwLWFsdC1uYW1lcy5jb25m aWcKQEAgLTAsMCArMSwyNCBAQAorIyBBbiBPcGVuU1NMIGZvcm1hdCBDU1IgY29uZmlnIGZpbGUg Zm9yIGNyZWF0aW5nIGEgc2VydmVyIGNlcnRpZmljYXRlLgorIworIyBUaGlzIGNlcnRpZmljYXRl IGNvbnRhaW5zIGEgQ04gYW5kIFNBTnMgZm9yIGJvdGggSVB2NCBhbmQgSVB2Ni4KKworCitbIHJl cSBdCitkaXN0aW5ndWlzaGVkX25hbWUgICAgID0gcmVxX2Rpc3Rpbmd1aXNoZWRfbmFtZQorcmVx X2V4dGVuc2lvbnMgICAgICAgICA9IHYzX3JlcQorcHJvbXB0ICAgICAgICAgICAgICAgICA9IG5v CisKK1sgcmVxX2Rpc3Rpbmd1aXNoZWRfbmFtZSBdCisjIE5vdGU6IEFjY29yZGluZyB0byBSRkMg MjgxOCBhbmQgNjEyNSwgdGhlIENOIGlzIGlnbm9yZWQsIHdoZW4gRE5TIG5hbWVzIGFyZQorIyBw cmVzZW50IGluIHRoZSBTQU5zLiBCdXQgdGhleSBhcmUgc2lsZW50IG9uIHdoZXRoZXIgdGhlIENO IGlzIGNoZWNrZWQgd2hlbiBJUAorIyBhZGRyZXNzZXMgYXJlIHByZXNlbnQuCitDTiA9IGNvbW1v bi1uYW1lLnBnLXNzbHRlc3QudGVzdAorT1UgPSBQb3N0Z3JlU1FMIHRlc3Qgc3VpdGUKKworIyBG b3IgU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lcworWyB2M19yZXEgXQorc3ViamVjdEFsdE5hbWUg PSBAYWx0X25hbWVzCisKK1sgYWx0X25hbWVzIF0KK0lQLjEgPSAxOTIuMC4yLjEKK0lQLjIgPSAy MDAxOkRCODo6MQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlwLWFsdC1u YW1lcy5jb25maWcgYi9zcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItaXAtYWx0LW5hbWVzLmNvbmZp ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jMjJmMjI5NTFhCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlwLWFsdC1uYW1lcy5jb25m aWcKQEAgLTAsMCArMSwxOSBAQAorIyBBbiBPcGVuU1NMIGZvcm1hdCBDU1IgY29uZmlnIGZpbGUg Zm9yIGNyZWF0aW5nIGEgc2VydmVyIGNlcnRpZmljYXRlLgorIworIyBUaGlzIGNlcnRpZmljYXRl IGhhcyBhIHR3byBJUC1hZGRyZXNzIFNBTnMsIGFuZCBubyBDTi4KKworWyByZXEgXQorZGlzdGlu Z3Vpc2hlZF9uYW1lICAgICA9IHJlcV9kaXN0aW5ndWlzaGVkX25hbWUKK3JlcV9leHRlbnNpb25z ICAgICAgICAgPSB2M19yZXEKK3Byb21wdCAgICAgICAgICAgICAgICAgPSBubworCitbIHJlcV9k aXN0aW5ndWlzaGVkX25hbWUgXQorT1UgPSBQb3N0Z3JlU1FMIHRlc3Qgc3VpdGUKKworIyBGb3Ig U3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lcworWyB2M19yZXEgXQorc3ViamVjdEFsdE5hbWUgPSBA YWx0X25hbWVzCisKK1sgYWx0X25hbWVzIF0KK0lQLjEgPSAxOTIuMC4yLjEKK0lQLjIgPSAyMDAx OkRCODo6MQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlwLWNuLWFuZC1h bHQtbmFtZXMuY29uZmlnIGIvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlwLWNuLWFuZC1hbHQt bmFtZXMuY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmE0MDg3 ZjBhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9zc2wvY29uZi9zZXJ2ZXItaXAtY24t YW5kLWFsdC1uYW1lcy5jb25maWcKQEAgLTAsMCArMSwyMSBAQAorIyBBbiBPcGVuU1NMIGZvcm1h dCBDU1IgY29uZmlnIGZpbGUgZm9yIGNyZWF0aW5nIGEgc2VydmVyIGNlcnRpZmljYXRlLgorIwor IyBUaGlzIGNlcnRpZmljYXRlIGNvbnRhaW5zIGJvdGggYSBDTiBhbmQgU0FOcyBpbiBJUCBhZGRy ZXNzIGZvcm1hdC4KKworCitbIHJlcSBdCitkaXN0aW5ndWlzaGVkX25hbWUgICAgID0gcmVxX2Rp c3Rpbmd1aXNoZWRfbmFtZQorcmVxX2V4dGVuc2lvbnMgICAgICAgICA9IHYzX3JlcQorcHJvbXB0 ICAgICAgICAgICAgICAgICA9IG5vCisKK1sgcmVxX2Rpc3Rpbmd1aXNoZWRfbmFtZSBdCitDTiA9 IDE5Mi4wLjIuMQorT1UgPSBQb3N0Z3JlU1FMIHRlc3Qgc3VpdGUKKworIyBGb3IgU3ViamVjdCBB bHRlcm5hdGl2ZSBOYW1lcworWyB2M19yZXEgXQorc3ViamVjdEFsdE5hbWUgPSBAYWx0X25hbWVz CisKK1sgYWx0X25hbWVzIF0KK0lQLjEgPSAxOTIuMC4yLjIKK0lQLjIgPSAyMDAxOkRCODo6MQpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL2NvbmYvc2VydmVyLWlwLWNuLWFuZC1kbnMtYWx0LW5h bWVzLmNvbmZpZyBiL3NyYy90ZXN0L3NzbC9jb25mL3NlcnZlci1pcC1jbi1hbmQtZG5zLWFsdC1u YW1lcy5jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNzEyMTgw M2I0OQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3NzbC9jb25mL3NlcnZlci1pcC1jbi1h bmQtZG5zLWFsdC1uYW1lcy5jb25maWcKQEAgLTAsMCArMSwyMSBAQAorIyBBbiBPcGVuU1NMIGZv cm1hdCBDU1IgY29uZmlnIGZpbGUgZm9yIGNyZWF0aW5nIGEgc2VydmVyIGNlcnRpZmljYXRlLgor IworIyBUaGlzIGNlcnRpZmljYXRlIGNvbnRhaW5zIGJvdGggYSBDTiBhbmQgU0FOcyBpbiBJUCBh ZGRyZXNzIGZvcm1hdC4KKworCitbIHJlcSBdCitkaXN0aW5ndWlzaGVkX25hbWUgICAgID0gcmVx X2Rpc3Rpbmd1aXNoZWRfbmFtZQorcmVxX2V4dGVuc2lvbnMgICAgICAgICA9IHYzX3JlcQorcHJv bXB0ICAgICAgICAgICAgICAgICA9IG5vCisKK1sgcmVxX2Rpc3Rpbmd1aXNoZWRfbmFtZSBdCitD TiA9IDE5Mi4wLjIuMQorT1UgPSBQb3N0Z3JlU1FMIHRlc3Qgc3VpdGUKKworIyBGb3IgU3ViamVj dCBBbHRlcm5hdGl2ZSBOYW1lcworWyB2M19yZXEgXQorc3ViamVjdEFsdE5hbWUgPSBAYWx0X25h bWVzCisKK1sgYWx0X25hbWVzIF0KK0ROUy4xID0gZG5zMS5hbHQtbmFtZS5wZy1zc2x0ZXN0LnRl c3QKK0ROUy4yID0gZG5zMi5hbHQtbmFtZS5wZy1zc2x0ZXN0LnRlc3QKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3NzbC9jb25mL3NlcnZlci1pcC1jbi1vbmx5LmNvbmZpZyBiL3NyYy90ZXN0L3NzbC9j b25mL3NlcnZlci1pcC1jbi1vbmx5LmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi41ODVkOGJkYWU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL2Nv bmYvc2VydmVyLWlwLWNuLW9ubHkuY29uZmlnCkBAIC0wLDAgKzEsMTIgQEAKKyMgQW4gT3BlblNT TCBmb3JtYXQgQ1NSIGNvbmZpZyBmaWxlIGZvciBjcmVhdGluZyBhIHNlcnZlciBjZXJ0aWZpY2F0 ZS4KKyMKKworWyByZXEgXQorZGlzdGluZ3Vpc2hlZF9uYW1lICAgICA9IHJlcV9kaXN0aW5ndWlz aGVkX25hbWUKK3Byb21wdCAgICAgICAgICAgICAgICAgPSBubworCitbIHJlcV9kaXN0aW5ndWlz aGVkX25hbWUgXQorQ04gPSAxOTIuMC4yLjEKK09VID0gUG9zdGdyZVNRTCB0ZXN0IHN1aXRlCisK KyMgTm8gU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Ns L3NzbC9zZXJ2ZXItY24tYW5kLWlwLWFsdC1uYW1lcy5jcnQgYi9zcmMvdGVzdC9zc2wvc3NsL3Nl cnZlci1jbi1hbmQtaXAtYWx0LW5hbWVzLmNydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi40ZTU4Yzg1Y2NiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL3Nz bC9zZXJ2ZXItY24tYW5kLWlwLWFsdC1uYW1lcy5jcnQKQEAgLTAsMCArMSwyMCBAQAorLS0tLS1C RUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlETHpDQ0FoZWdBd0lCQWdJSUlDRVJLUkUxVVFBd0RR WUpLb1pJaHZjTkFRRUxCUUF3UWpGQU1ENEdBMVVFCitBd3czVkdWemRDQkRRU0JtYjNJZ1VHOXpk R2R5WlZOUlRDQlRVMHdnY21WbmNtVnpjMmx2YmlCMFpYTjBJSE5sCitjblpsY2lCalpYSjBjekFl RncweU1URXhNamt4T1RNMU5URmFGdzAwT1RBME1UWXhPVE0xTlRGYU1FWXhIakFjCitCZ05WQkFz TUZWQnZjM1JuY21WVFVVd2dkR1Z6ZENCemRXbDBaVEVrTUNJR0ExVUVBd3diWTI5dGJXOXVMVzVo CitiV1V1Y0djdGMzTnNkR1Z6ZEM1MFpYTjBNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4 QU1JSUJDZ0tDCitBUUVBNis4SVlLQUZuWjdWK2ZEbzFjeU1wYkdCTHpDZkpPUS8xbzJqT0dQNCtH anBzWmd2NlM2VVQyTWhlQzhNCitpaUVGcll3ZHNTSVp5WWMzakVacmx1eS9VdVIwYkNHdHFVOTJC Q3FhMGlCTGh2SE9nalI1ODh1MjUzZUx4UXRRCis4aUpuMTFRUHJLTWszNW5Na21ZOEdmSHQ0c0dG YnZCTDYrR3BpcEhxN2E2Y2RlM1ordjRrQ0I1ZEtNWURVRHRtCiszbUptdml1R05BdTV3T3FJdGsy WWk1ZHdKczEwNTQwMDdLTkgwSWw0M3VyeGlPZm5rTFMwY0c1a2VoYm9QZjg2Cit2eEJ0M2lIQnly VS85L0RZNUl2UUNmU1hWTmE2cmI1dzUvcEdqYTlhQ2VpNk12MWpRWS9WOFNNUVRnYStNT3NBCisw V0I5YWt4TWkyTnh3UzIrQlE0ay9NY1Bsd0lEQVFBQm95VXdJekFoQmdOVkhSRUVHakFZaHdUQUFB SUJoeEFnCitBUTI0QUFBQUFBQUFBQUFBQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVFM bzJSekMwN2RHOXArSjNBCitXNkMwcDNZK09zL1lFMkQ5d2ZwNFRJRFRaeGNSVVFaMFM2YWhGMU42 c3A4bDlLSEJKSFBVMWNVcFJBVTFvRCtZCitTcW1uUC9WSlJSRFRUajlZdGRjL1Z1bzJqZUxwU1lo VktyQ3F0anFJckN3WUpGb1lSbU1veFR0Skdsd0EwaFNkCitrd28zWFlyQUxQVVFXVUVyVFlQdk5m RE5JdVV3cVVYTmZTMENYdUlPVk4zTEorc2hlZ2c2UHdiaDlCNVQ5Tkh4CitrSCtIc3dhamhkcGRu WklnaDBGWVRsVENQSUxEckI0OWFPV3dxTGE1NEFVQTZXWGEzNWhQc1A4U29xTDlFdWNxCitpZlBo Qll5YWRzak9iKzcwTjhHYmJBc0RQTjFqQ1g5TDhSdU5jRWt4U0NLQ1l4OTFjV1hoN0s1S01QdUds ekI3CitqOHhCCistLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9zc2wvc3NsL3NlcnZlci1jbi1hbmQtaXAtYWx0LW5hbWVzLmtleSBiL3NyYy90ZXN0L3NzbC9z c2wvc2VydmVyLWNuLWFuZC1pcC1hbHQtbmFtZXMua2V5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjgzN2VlZjk5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9z c2wvc3NsL3NlcnZlci1jbi1hbmQtaXAtYWx0LW5hbWVzLmtleQpAQCAtMCwwICsxLDI3IEBACist LS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCitNSUlFcEFJQkFBS0NBUUVBNis4SVlLQUZu WjdWK2ZEbzFjeU1wYkdCTHpDZkpPUS8xbzJqT0dQNCtHanBzWmd2Cis2UzZVVDJNaGVDOE1paUVG cll3ZHNTSVp5WWMzakVacmx1eS9VdVIwYkNHdHFVOTJCQ3FhMGlCTGh2SE9nalI1Cis4OHUyNTNl THhRdFE4aUpuMTFRUHJLTWszNW5Na21ZOEdmSHQ0c0dGYnZCTDYrR3BpcEhxN2E2Y2RlM1ordjRr CitDQjVkS01ZRFVEdG0zbUptdml1R05BdTV3T3FJdGsyWWk1ZHdKczEwNTQwMDdLTkgwSWw0M3Vy eGlPZm5rTFMwCitjRzVrZWhib1BmODZ2eEJ0M2lIQnlyVS85L0RZNUl2UUNmU1hWTmE2cmI1dzUv cEdqYTlhQ2VpNk12MWpRWS9WCis4U01RVGdhK01Pc0EwV0I5YWt4TWkyTnh3UzIrQlE0ay9NY1Bs d0lEQVFBQkFvSUJBUUN1TkZLVk5kS3ZyVVlGCitSTEpHbXNBRzMrZW85bGVybjdUYk1MMmh0Mzl2 dTlkQndFTXdBNnFTYTNtZENmQlNWVXVoOXVFOWx4WS9UVTNnCitqMmFGaTgxQTRWcHROUGpMR05i bEFLaE1HbmhwN1VVenNwZVJRWXVOb1NGY25weG9ES3RydksvT0lxL3BRZUJoCitBSWZFQ0hSRGgr eUVHMzJUYjQ0RnVQUWtCMWVUWWw4eGJNRUltcmhOVWFTakprN3RUc215ZEh5MERqbXFIVktYCitI VWowVFJFZkRCRE9CaUh0WTBYVjZQdTNibnFESC9US0xUZlVmM1VkZlR1YXkzWWFpOWFFY1JQV3A5 R3JNTzdHCitheHNLQ2lmVHo2MTc3Z3lyNkZ2OEhMZU1aTWg5ck1aUm4zZTB6ZmFGNnZySDFRblpa T3RzNWpwVWEwS3VnU0NkCisvL3VDMGlOeEFvR0JBUFhWYzNiK28zaFk1Z2N3d3BhVzZKdHNhckRy bU5SeHJpenFJREc3TmdwcXdkRlhnVGk2Cis2cTB0MnBqdjgxQVRxaWo2OUljUGtOU2lzc3lSNE9F S251L09GSld6cmVnOHlMaTc1V0hLaTBFLzZtc0hwd1JrCitkMXlQMFpnZDA1b3RzL3lPakRTcDU5 M1JhZ2FQVnZIQnhNRUNaL1RtM0IrVHE1NUF6dWRkL3p2TEFvR0JBUFd3Cit4ZjBvVUVKbDZOZFVa RDZLN2VGYzZqZjh5cnBEODVkbGRla282TGVOOHgwWGxLS1d2VURKMiszb2l6WG9RdkNtCis4Ynk2 S09ZRUlvNE1ydFh1eTlNbXRQV2ZOdlJCcitoc1VIY2hJajdJZ0ZhOWJLWHlLMkZuSnF1LzhDYkV5 bWxpCitlWnU3aG9PaGVsdXJobkZ5MXpTcXdOTzRHQytrdzYwWS9CTzNaMW5sQW9HQVZPeVlKdE53 eFhKd2hLdGpqWUkwCitlUHpMSHJORTZKOGMvSWNrK0Fra2NoVFBQL0pxd1o1UTArS3pVWUlURyth dk1ka0FBR2h3TUFURW44Y0ZXTGpDCitqelV5QjBVN0hxOWc1L0NCSFhkTEJBK0FlOWo0Nlp1TFlI Nk9lVzVVV3o3T25zRGZ6cEdqZUEyUUF4UWhoUUxiCitaWkhmTjh0STM5K3p1Y2ZKc2tQV21HRUNn WUVBZzlndUYxRm42SW5KcnF3UjgySVlqNlNONkNlWEh1ZlNNMzkyCitDLzR4RERkM3JEZjRRbHdF Q1YySjBSekdmOUk1QWUyRXNoTndXU2NFNkJlMFJ3ZVRoNmN3MnRKcTZoN0o2RDhmCisyeDREdzQ5 VEY3a2xNZFJJSlVmMmY1cExwSEpjY0xzd3FUcXp6N1Y2OVBDU0FCVnhtVWk4bTZFaUVZY29ucDVX Cit2N25mRTJVQ2dZQUxyRXF6bmN1U0lYM3E2VFZBam56VDdnTzRoOGgyVFVla0lXZEhRRmxkRng4 UjdLbmNnZ25kCis0OGdRcWhld2NoTlI4M1VDY2Q3cFBzQ2NUcXU2VVIxUVJkcS9EVjVQNkozeGRa MmlTLzJnQ002aHZXSXZLWkV2CisvQ2xua3lGQ09XN3pYNlJLSVh0UllaVFYxa3ozVGFqQXBpMzRS VEllSU1UaWVhQ2FybkJKYkE9PQorLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3NzbC9zc2wvc2VydmVyLWlwLWFsdC1uYW1lcy5jcnQgYi9zcmMvdGVz dC9zc2wvc3NsL3NlcnZlci1pcC1hbHQtbmFtZXMuY3J0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjhhMWJjNjIwYmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9z c2wvc3NsL3NlcnZlci1pcC1hbHQtbmFtZXMuY3J0CkBAIC0wLDAgKzEsMTkgQEAKKy0tLS0tQkVH SU4gQ0VSVElGSUNBVEUtLS0tLQorTUlJRENUQ0NBZkdnQXdJQkFnSUlJQ0VSS1JFRVVBQXdEUVlK S29aSWh2Y05BUUVMQlFBd1FqRkFNRDRHQTFVRQorQXd3M1ZHVnpkQ0JEUVNCbWIzSWdVRzl6ZEdk eVpWTlJUQ0JUVTB3Z2NtVm5jbVZ6YzJsdmJpQjBaWE4wSUhObAorY25abGNpQmpaWEowY3pBZUZ3 MHlNVEV4TWpreE9UQTBOVEJhRncwME9UQTBNVFl4T1RBME5UQmFNQ0F4SGpBYworQmdOVkJBc01G VkJ2YzNSbmNtVlRVVXdnZEdWemRDQnpkV2wwWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRAor Z2dFUEFEQ0NBUW9DZ2dFQkFPTTh5QjZhVldiMTd1anIzYXlVNjJteEhRb3FuNEN2Rzl5WGxKdkdP R3YvdXJzVworVnMwVVlKZGM5NkxzTlpOMXN6ZG05YXlOekNJdzNlamErVUxzanhDaTYrM0xNNHBP NzZJT1JML1hGYW1sVFBZYgorQlo0cEhkWlZCMG5uWkFBbldDWlB5WGRuak9LUTUrOHVuVlhrZmli a2pqOFVFTEJKMnNuZWhzT2ErQ1RrT0JlegorenhZTXF4QWdieXdMSVlzVzQ0OGJydW43VVhwV21x YkdLK1NzZEdhSVo1U2I3WmV6YzVsdDZDckxlbVRaVEhISworN2w0V1pGQ0NFaTR0M3NnTzhvMXZE RUxEL0lFNUc4bHlYdklkZ0pnNnQ4c3NwZXI3aUN3NlM4eCtva2hqaVNqVAordkRMVTJnNEFhbnFa UlpCNDlhUHdUbzBRVWNKQTJCQ0p4TDl4THk4Q0F3RUFBYU1sTUNNd0lRWURWUjBSQkJvdworR0lj RXdBQUNBWWNRSUFFTnVBQUFBQUFBQUFBQUFBQUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVB d1pKKworOEtwQUJUbE1FZ0tuSElZYjM1SXRHaHRGaVRMUXRhOVJrWHg3dmFlRHdwT2RQUC9JdnV2 cGpwUVprb2JSZ0JzaworYk5NMEt1SnBkMm1TVHBoUUF0NmVLUUlkY1Bya3p2Yy9ZaDlPSzNZTkxV QWJ1L1poQlVuQnZGblVMNHduMmYxVQorbWZPK204UC9MeHlid3FLeDdyMW1iYUIrdFAzUlR4eExj SU12bTlFQ1BRRW9CbnRmRUwzMjVXZG9qK1d1UUg1WQorSXZjTTZGYUNUa1FzTklQYmFCRDVsNU1o TUxIUlVMWnVqYkRqWHFHU3ZSTVFmbnM2bnAvYmlNak5kUUE4Tlo1egorU1RlVUZ2a1FiQ3hvQTBZ WUxnb1NITDVLaFpqWHJnMmcrVCsyVFV5Q1RSLzkxeGY5T29PakJaZGl4UjBTMER6SgorQjErNXZu VWpaYUNmblNFQTdBPT0KKy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3NzbC9zc2wvc2VydmVyLWlwLWFsdC1uYW1lcy5rZXkgYi9zcmMvdGVzdC9zc2wvc3Ns L3NlcnZlci1pcC1hbHQtbmFtZXMua2V5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLmIyMTBiM2E5OTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9zc2wvc3NsL3Nl cnZlci1pcC1hbHQtbmFtZXMua2V5CkBAIC0wLDAgKzEsMjcgQEAKKy0tLS0tQkVHSU4gUlNBIFBS SVZBVEUgS0VZLS0tLS0KK01JSUVwUUlCQUFLQ0FRRUE0enpJSHBwVlp2WHU2T3ZkckpUcmFiRWRD aXFmZ0s4YjNKZVVtOFk0YS8rNnV4WlcKK3pSUmdsMXozb3V3MWszV3pOMmIxckkzTUlqRGQ2TnI1 UXV5UEVLTHI3Y3N6aWs3dm9nNUV2OWNWcWFWTTloc0YKK25pa2QxbFVIU2Vka0FDZFlKay9KZDJl TTRwRG43eTZkVmVSK0p1U09QeFFRc0VuYXlkNkd3NXI0Sk9RNEY3UFAKK0ZneXJFQ0J2TEFzaGl4 YmpqeHV1NmZ0UmVsYWFwc1lyNUt4MFpvaG5sSnZ0bDdOem1XM29Lc3Q2Wk5sTWNjcnUKK1hoWmtV SUlTTGkzZXlBN3lqVzhNUXNQOGdUa2J5WEplOGgyQW1EcTN5eXlsNnZ1SUxEcEx6SDZpU0dPSktO TzgKK010VGFEZ0JxZXBsRmtIajFvL0JPalJCUndrRFlFSW5FdjNFdkx3SURBUUFCQW9JQkFDcDN1 WTYrbVNkYzN3RjQKKzB6emx0L2xRdUhTbDhwbENJSnJoV1V5amh2Zm9HeVhMenYwVXlkaC83MmZy YlRmWnoxeVRTV2F1T1hCS1lhNmEKKy9lcWIrMERJc2Y4Rzh1THVUYXFqc0FXS1ZPb1hrb0tNR2tp c3RuN1A5VVRDa2RYVmhJdmtiV3A3VjhFZ0E3aVgKK3BaL2Z6QlBJc3l6bXV4ZTNOY1IwYWdzMGN4 dXhrTnV1K1lYRHYxb1RlZG1UMndTM0NacTFkL1QxWS9FT1ZJZjgKK0l6bmQyYU92ZXJsc250Nmlp UTNaV2RHL1c1RjhGaG5yUi9yckJkWXNkQ3Y2VEgvS1VZZXhuRE9VWXBheWpEYnUKK29BS25pZlBw NlVxaU9NNFN1Qkw4M09BejE5anB0cDV2cEYzNzBCRVZSczNlSzBxK3pvL21FVGp2OUhzWGRvbFoK K2xmb1hBMEVDZ1lFQS83bmIyYXpicS8ybXV2WENoMVp4Q0VibjNtdDhLWG9KUC94a3gvdjllRWMv Y2M1UTllMFYKKzJvR2ZqQzJoU0UrYmpPV013aVVNRDZ1VStpUmpoejVBM0l2VXhub1Nkb0w3SDlw MGhUcUxNeVA3ZFREa29WRjUKK2FFdUxNYWlJNVlFbmZBRnU5TDVoOFpLaWVvUVRCb3NjVDA2d25H amg5cEJWOWJ0aGZUS0E3a3NDZ1lFQTQzc2IKKzU1bTlXTDRrV0NQd09BcDN2ZEVBRnl4em1aSGxP MjZzRVFPVS9tNWFOMDFwdW1ZeWJCcnV6aUVYTUk5NnlmVGoKK1ZtWEtSZWVZYjZYVWlDY3MzZkxT aXBELys4LzhDc2pPNHVNT1J0eFd1bVhlOEFiS1pmeXNHRnpMN3dKbEJ5R1QKKzM4QUdRd0lHL1hE OGNLbmFpRU1YNEUvM093YmNveHdpeG8zV1pDMENnWUVBb3ZhcUo5bUVVK0pjOGgvVFM3UEcKK2JH UGpOMVovMVY2enJsY0ZVbncvVnZyd2IzSHZIZ2xzTjhjTENhVzZkZjVsUGpDNnRxNHROWDgrZlBu YmcwQWsKK3pXYyt2UXpsM3lneEtHZHFnY3lCRUtJSmlQRVRnY29OK0d6TDAyVjNkK29LWTNmMllY bEJxVlNzdmk2VWdVTDkKK1UzenVCMzYvSVFWeUFocmJVWkZ4b0drQ2dZRUFuYUZBTytOdnJwL0xo WHdaeUd1UWYrcmttaXBHVElNcGlsNXQKK1F6anROTVY1SkZzelNXUHB5cmw3QTBFdzFZaUcrSTBH UDJjM20rc1kyVHpiSWlHcldIMGI0Y01LYnc2M1F5M1YKK0ZxbHB5amFDcnBWS3Y1NmsvN2p2ODgz Unp1UWs1NlVmMStzeks1bXJDRklUeTJvWHNWWjBwQTRsYmpTYURUakEKKzdEOTY4VjBDZ1lFQStx S3FYS0w5OCtjNUNNUG5wZiswQjF4MnpneVV5bTFvdVBmb24yeDVmaEs4NFQ1M3pETUEKK3pmZFVK L1NPWnc2L2M5dlJGN1JMOGgrWmZGZEl5b0FYdjRUdDZtSWlaZTdQK0FVVmc2WGdKMGNlMk1VU2VX akkKK1c4RDRXZFNpMGp5cXI5OVR1VkJXaGJUWkp2aU1CM3BIcUthSFEwN2huZC9sUHR2enNpSDEy cWs9CistLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv c3NsL3NzbC9zZXJ2ZXItaXAtY24tYW5kLWFsdC1uYW1lcy5jcnQgYi9zcmMvdGVzdC9zc2wvc3Ns L3NlcnZlci1pcC1jbi1hbmQtYWx0LW5hbWVzLmNydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi4yYmUwMmZlYjAzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3Ns L3NzbC9zZXJ2ZXItaXAtY24tYW5kLWFsdC1uYW1lcy5jcnQKQEAgLTAsMCArMSwxOSBAQAorLS0t LS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlESFRDQ0FnV2dBd0lCQWdJSUlDSUJCQlEyTVFB d0RRWUpLb1pJaHZjTkFRRUxCUUF3UWpGQU1ENEdBMVVFCitBd3czVkdWemRDQkRRU0JtYjNJZ1VH OXpkR2R5WlZOUlRDQlRVMHdnY21WbmNtVnpjMmx2YmlCMFpYTjBJSE5sCitjblpsY2lCalpYSjBj ekFlRncweU1qQXhNRFF5TWpNMk16RmFGdzAwT1RBMU1qSXlNak0yTXpGYU1EUXhIakFjCitCZ05W QkFzTUZWQnZjM1JuY21WVFVVd2dkR1Z6ZENCemRXbDBaVEVTTUJBR0ExVUVBd3dKTVRreUxqQXVN aTR4CitNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXdtcVRkUUpm czJUaTl0UGl0WXAyCisyN0kwSHZML2tOU2dBNmVnRnIwZm9SbzBCb3J3Sk5JemRiVjArRW5zZmlC TlRXTDVJdDI2Z3FPN1VQM21zOHQyCit2SEQ1Z2tYZlQrZjZ0czBsVkpFY0lPa1VELzh3czRJYzlZ NHVQcWI0Z04rcFVLcWN4dG1MVzFUWWs4NE1CSzU5CitYejR5UFBTNk4rRy9ETU1lRkhUTmtNOUVR d24vK0RDM2ZEc1dkR1lNMkdSV0RUSkdnMUE1dFNVY0Yrc2V1N2kxCitWZzdYYWpCZnN2Z0FVQXNy QXhWK1gvc0xaaDk0SFkrcGFENndmYUk5OW1ZMk9YVmMvWFcvejFyOVdRem5vcjY1Citaa29uTkNh UGZhdnFQRzV2cW5hYjlBeVFjcVBxbVg4aGYveHJuaUFTQkFrcU5DY3RiQVNyRkNJWXZDSmZHZm1Y CitFUUlEQVFBQm95VXdJekFoQmdOVkhSRUVHakFZaHdUQUFBSUNoeEFnQVEyNEFBQUFBQUFBQUFB QUFBQUJNQTBHCitDU3FHU0liM0RRRUJDd1VBQTRJQkFRQmY3a21ZZlJZZm5XazFPVWZZM04xa2FO ZzlwaUJCbEZyOWcrT1FuOUtVCit6aXJrTjdzMFpRYkNHeFYxdUpRQktTNThOeUU0MTRWb3JhdTc3 Mzc5ZW1nWURjQ0JwRElZcGtMaU51alZySU9yCitnZ1JGS3NGUmd4dTQvbXcwQlNnQ2NWOFJQZTlT V0haOTBNb3M3VE1DblcvUGR4T0NEMXdEMFlNa2NzMHJ3QjNsCiswS3pjN2pEbmZPRXZtZ3cvWXNt N3Y2N3BzKzA1VXE1VnNrUTZXcnBTQXc2a1BEL1FNdXVCQVg4QVRQY3pJYW94Cit6QU15bmNxMUlp U0l3RzkzZjNFb1FRVGhkUTcwQzZHOXZMY3U5VHRMNkpBc0VNRkV6Ujk5Z3QxV3Nxdm1nbDlXCitr U3R6ajF5aklXZW81Z0lzYTRKZ2NrZTFsWnZpV3lyVHhIRGZ5dW5ZRTVpNQorLS0tLS1FTkQgQ0VS VElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXItaXAtY24t YW5kLWFsdC1uYW1lcy5rZXkgYi9zcmMvdGVzdC9zc2wvc3NsL3NlcnZlci1pcC1jbi1hbmQtYWx0 LW5hbWVzLmtleQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi41NGZlODBm YzY4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXItaXAtY24tYW5k LWFsdC1uYW1lcy5rZXkKQEAgLTAsMCArMSwyNyBAQAorLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBL RVktLS0tLQorTUlJRXBBSUJBQUtDQVFFQXdtcVRkUUpmczJUaTl0UGl0WXAyMjdJMEh2TC9rTlNn QTZlZ0ZyMGZvUm8wQm9ydworSk5JemRiVjArRW5zZmlCTlRXTDVJdDI2Z3FPN1VQM21zOHQydkhE NWdrWGZUK2Y2dHMwbFZKRWNJT2tVRC84dworczRJYzlZNHVQcWI0Z04rcFVLcWN4dG1MVzFUWWs4 NE1CSzU5WHo0eVBQUzZOK0cvRE1NZUZIVE5rTTlFUXduLworK0RDM2ZEc1dkR1lNMkdSV0RUSkdn MUE1dFNVY0Yrc2V1N2kxVmc3WGFqQmZzdmdBVUFzckF4VitYL3NMWmg5NAorSFkrcGFENndmYUk5 OW1ZMk9YVmMvWFcvejFyOVdRem5vcjY1Wmtvbk5DYVBmYXZxUEc1dnFuYWI5QXlRY3FQcQorbVg4 aGYveHJuaUFTQkFrcU5DY3RiQVNyRkNJWXZDSmZHZm1YRVFJREFRQUJBb0lCQUI2R2dWU1Q1TmJU OWxidQorK2Qrck4vSlN6cUExWXk4b1UxOS9pRUZKdkplYzk2STNXbkZObDhyWmpONFhMVXk0WWFy TzZYTXlBVURWMkdsbAorRkQ0U3FqZjRQUlRaUjdEU0thbGVHSWhvcUZQNmhLM21VWTA5MXJJdmVz OVhoQmtvQlB1bmJpcENxZ0RURjVaTgorZWRHYVhCRUNRUDBWSjgveVgvN3UrK0FXWHRobmpEaXM5 WDB0YVpmRmcvUFliVjdTQ0oxSGcxTy93RXNnWGxuQworN21iTDZ3a0NXMGY2NzAwQjB4MWtLYlpx Slk5NXhScXA2SXBxMmxJUWJKRGRHeXdvajBXektxTmx0ZjljZXIrcgorY1hsOFdqZWlNdnZ2cGw0 dUdoY2tBYnpVaWZVenhONkEzZjFmdS9YS3RPbWFiTWk5dDdKNE1SZmdPZ2VkZ3RRQgorMGphWkdT a0NnWUVBK2xCTG5OWTZNNDhIWDJtZHRyODYrbjQxZ2g2OXY4WjdvTmlrSkZEWmtvZHJ2STh1cUUw aQorMFh3bllQRmRkdDhOYm11VWhodXpJMk04UktoR0xnZGxiS3BrU1NWYWZuTWZjeFJtWDJFQXRX UWdkdlgxSXVsdAorNzUyTFdkQmdTdXcydmx6dnkzVC9HWW5qTXJYU0NHcHV0NGFtcW9qTUVidlVH dklkU1VNZEhHTUNnWUVBeHRVMQorV2l4S1BMNmFFbll5MWY0YnliemNOZ0d0bDhQQlJ6OXh3K1A0 NmcraWpPUG9hRzlPNzNUcjdBbjExQU8wMDNPdAorREhoTVcrYjh5SEx5eG9Ld1Myc1UyY04vbEtC OHhOUVlaYzFENjFSTkpsemduSE1YbkEwbGNIMEkzTTM1ZnFLcgorLzcxcEQxWlA0MFNTSlMrb2Qv S0VqVzgwWHp1T2R5aVhnOHE4MXZzQ2dZRUFuVVBMYmJzdWord2h6ckZWbEZacgorSUt3Z3hDSzZS bjNXZUlVRUE0a0VXVXBaeHZzU2JrMGdQZ3RKMWw5dXdGdDlYYzJiWC9LUlJ2OTNBdy9TSCtNbgor dHZFSzF1WHdDQmdlUHpnbTVXL1ZlU0Z5UUN0aG0xQ2JjSHREN09hOVNQVkZvNjVTUGpyQWQzUXBX VmZnb01iMQorenJwN2hoTXlXMFh1Q2d2cG1IamhGazhDZ1lFQXhxL3RoWE0ycCtiTExXR2h3UWNS RzVHMjk5ekxiQmw0UFVzZgorMHVFdkxpMTdnSkNLQURvaVJkU3ZvQW4vOWVIU1EyNlhZUnVoS2tE ekh4Y0dsT21wWTJQWXpSYTNtWHlaMFZJaworSXk1d0RXd0xRQ2VWWjZEMjJjQ2xSZmdiOEJGL25G VFB6Vm1uNzJTUHBnb3loQ2hRajdQdlV5bnB5clJIMDdqagorVnhZemlCc0NnWUFGcjM3WGJsMFZu WFZLK1hVK3ZNd1VaamNGNGpwb0NyN1NGWnFnUmJXMkdiWVNVb011UFhucworUm5KaCtGdmkxTlVl aStFNXMxSDRQMXBWcTRwMGpGeFA0R3ZIL3F2TmpuSW4vRXIzYmJxdnBveDZkV1VKWHBycQorcVRR U0RJZW9EQy9WOGN5Um9JZnFQdlRWcVk4UmdldzZHRWt2MGJBSW1keGhvU25nN3ZJc2VnPT0KKy0t LS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zc2wvc3Ns L3NlcnZlci1pcC1jbi1hbmQtZG5zLWFsdC1uYW1lcy5jcnQgYi9zcmMvdGVzdC9zc2wvc3NsL3Nl cnZlci1pcC1jbi1hbmQtZG5zLWFsdC1uYW1lcy5jcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMC4uMjNjMDZkYTAxYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3Nz bC9zc2wvc2VydmVyLWlwLWNuLWFuZC1kbnMtYWx0LW5hbWVzLmNydApAQCAtMCwwICsxLDIwIEBA CistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSURRekNDQWl1Z0F3SUJBZ0lJSUNJQkJC UTJNUUV3RFFZSktvWklodmNOQVFFTEJRQXdRakZBTUQ0R0ExVUUKK0F3dzNWR1Z6ZENCRFFTQm1i M0lnVUc5emRHZHlaVk5SVENCVFUwd2djbVZuY21WemMybHZiaUIwWlhOMElITmwKK2NuWmxjaUJq WlhKMGN6QWVGdzB5TWpBeE1EUXlNak0yTXpGYUZ3MDBPVEExTWpJeU1qTTJNekZhTURReEhqQWMK K0JnTlZCQXNNRlZCdmMzUm5jbVZUVVV3Z2RHVnpkQ0J6ZFdsMFpURVNNQkFHQTFVRUF3d0pNVGt5 TGpBdU1pNHgKK01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOHhk ZGJvL3gyVE9TSWEvYnI4Qk4KK28vVVJkVHI5K2wyUjVZb2ppWktEdUx4aVFWa2dDMzBQSjIvQ05G S0loMm5IaFJyemtuSTZzRVRWdHJ4Wis5VjIKK3FSYzF5U2hWdTQ2MnUwREhQUk1JWm5aSU9aZzNo bE5CMGNSV2JPZ2xVS2x0dElBUk5FUVVjVFV5UE90eW80L3YKKyt1MEVqNU5UTmNIRmJGVDAxdmRE OU1qUWlDTzNqS2RBd1BJYjE0alRnNEM3MUVwWitMdWVsRG80RHpGMi9YZ0cKK1dxVVRyZ0QvWG5C VS82MFBVOUl5M0cwblZweDIxcTZwcG45RzdhOVIraThGakJjd1cxVCtjZnNCRFdoQXYrYmkKK1Jt U0FrRU5mOEw4VHdPbERRVXdST2tmejNIejM2dnVKamRrcmVRSnNpcUwwSG5ybkg1VDVHOVV6Sk84 NkZ2WlEKKzV3SURBUUFCbzBzd1NUQkhCZ05WSFJFRVFEQStnaDFrYm5NeExtRnNkQzF1WVcxbExu Qm5MWE56YkhSbGMzUXUKK2RHVnpkSUlkWkc1ek1pNWhiSFF0Ym1GdFpTNXdaeTF6YzJ4MFpYTjBM blJsYzNRd0RRWUpLb1pJaHZjTkFRRUwKK0JRQURnZ0VCQUYrbWZhdzZpQlB6cENncXE4MzBwSFJh M1l6bTFhZXp0OFNrZVJvaFVZSE52L3lDbkRTUmFxdGoKK3hiRU5paDNsSk1TVEJMM2cwd3RUT0hm SDhWaUMvaCtsdllFTEh6WEtpYzdna2pWN0g1WEVUS0dyMFpzakJCVDIKKzRjWlFLYkQ5ZTB4MEhy RU5YTVlnR3BCZjc0N3FMNnVUT1ZKZEcwczE1aHdwTHE0N2JZNVdValhhdGhlamJweFcKK3BybUY4 Rit4YUM1Mk45UC8xVm5xZ3VRQjkwOUY0eDFweU9LN0Q3dGpGdStZOEplN1BIS2JiNldZNUs2eEF2 NnQKK1IxN0NZMDc0OS9Gb3RscGhxdUVsVVIyYnM1Wnp2NVlyalVIUFRjYndLdmNINWNkTmk5My91 Nk5KdDJ4TkFvWWYKK2FaRVJoWDVUQTlEWWs0Z0M4T1kweUdhWUNJajNEZDQ9CistLS0tLUVORCBD RVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zc2wvc3NsL3NlcnZlci1pcC1j bi1hbmQtZG5zLWFsdC1uYW1lcy5rZXkgYi9zcmMvdGVzdC9zc2wvc3NsL3NlcnZlci1pcC1jbi1h bmQtZG5zLWFsdC1uYW1lcy5rZXkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uMGFjZTQxZTBhMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3NzbC9zc2wvc2VydmVy LWlwLWNuLWFuZC1kbnMtYWx0LW5hbWVzLmtleQpAQCAtMCwwICsxLDI3IEBACistLS0tLUJFR0lO IFJTQSBQUklWQVRFIEtFWS0tLS0tCitNSUlFb2dJQkFBS0NBUUVBOHhkZGJvL3gyVE9TSWEvYnI4 Qk5vL1VSZFRyOStsMlI1WW9qaVpLRHVMeGlRVmtnCitDMzBQSjIvQ05GS0loMm5IaFJyemtuSTZz RVRWdHJ4Wis5VjJxUmMxeVNoVnU0NjJ1MERIUFJNSVpuWklPWmczCitobE5CMGNSV2JPZ2xVS2x0 dElBUk5FUVVjVFV5UE90eW80L3YrdTBFajVOVE5jSEZiRlQwMXZkRDlNalFpQ08zCitqS2RBd1BJ YjE0alRnNEM3MUVwWitMdWVsRG80RHpGMi9YZ0dXcVVUcmdEL1huQlUvNjBQVTlJeTNHMG5WcHgy CisxcTZwcG45RzdhOVIraThGakJjd1cxVCtjZnNCRFdoQXYrYmlSbVNBa0VOZjhMOFR3T2xEUVV3 Uk9rZnozSHozCis2dnVKamRrcmVRSnNpcUwwSG5ybkg1VDVHOVV6Sk84NkZ2WlE1d0lEQVFBQkFv SUJBR3YwQkZvRk1ySHlaUUx3Cit4ZTdXeDZQNFFUaCthaXUxUWdWZHcwcGs5bm9qcnI2MmhiU1Va Ulp1V3lCQlJzQmNDVzdpK1NnZjhsQTFRWE5WCitVZUMwZTIyOEVQYTBJdDZZRWk0MkprVEpId0ho cFZGdWQ3bi9YMHQ0bGFqbnJ5cVRFMVVGU3A2YlhUaXBGeFpXCit1U0pKMlpqbGlSRDVyQXBEY3hr WTRXSlZqS2czYUV0N1AvRGlNOGlLR2Z5RTZzdHE3MlZqRWJKamRWaU1FY09QCitCTmYwVGlSRVp6 NU1wN2pBVldocGVuMGViYkxPQlZXVjQvT05OY0wreXFSNG1DRURVU0ZHZXdyVFZYNHpITDBBCito WWsxOThDNUY4c0Z2RURuRmtQY285c1hNVmFubUxvSThzYmhQNElJejlnNCtHVTZrRnVqN2ZVS3Ax MUF6cXYrCiszV1FES1lFQ2dZRUEvWEc0bW1HL2c4Rkc0NHk0Mm1mWnBVWFdpMXB3VTRDUUlyaGtv VTVqN0VQUXJ2UmJvT09FCitSdjk1alN3eVp1NHZDcWp5STVGTjFqQ0dUZGhtdCsrUjFlLy96SDZI cWE5U21vK2p3N0R0QUZyQ1lkMUpuQ2YxCitUb093c1lQSHY0UDdBOHE4a2M1dkNOSXYrQVFTbFAv d3FkVk5vM2dyZGY3Y0dYa010RVk0RjlVQ2dZRUE5WXJxCit6V2RuTkdQQVR1U0JxTDZUU2pRMzdv UitkQkQ2V25Hc2lEZW5Ra096eURQRlozQ1QxRGpKZ2hqRXR4YzhFZk5mCitPbzhkTU1SMnErNUZa UW83V3VxT05FZ3l6S2VQaU5SOFJLMmdPWXBnZGpOOWJpaDFzQWhIUjEwRDI2Y3B3bERKCitieDdE NVp6RU5MYmRabWZFaVd3S3N3bmFJaE40eU1hbGdFMG1QOHNDZ1lBaHpKeTEyZnRVY3Q0bFVvc0Vk WDBOCitFWGMvTmx4c2htU3lmS3pPNWtsbEpOWWJ2dkxKVGc1QithZ1lMNkM1SVdLY3BWTkZjd2RT WFQ1TCsyUVhlNWVUCitWR0prdnlzUWNoVXVENkhqWXlENFB5SlZNdEd5UlpIdFdwcWgwZFU5c1Rn MGxVRDRvUE1sMWdJWHJWTmRFNVRnCiswVlY5UzNWZ1V4Qy9ST2x3MFR5QjBRS0JnR3NWRTBOUzlo SkY4bWMxaGtvMkdud0ErK2Q4UnIyTmJmRWxvKzJmCisvOFNKVEExaWJwT202QUZrWnBUakFsOHF0 ZHJLUFZ5SGIxNkdQNDdKa2QvM3Ixejk3OWhqS0N4U1l1bDBhV0YyCitLdXNOS3ZaQmpGRVBPZ3Yw QUVuaUNiMndVQ2piSEkzbVo5NXFHTE00a0tPSlc0L20yMStyUzBNVEpOakNzUWljCitITE16QW9H QWVDc1kwOWQzbTh4R2VVK0R1VFBDNkdIN1NneS9OQllxUzVWYVZOamIyam51WmxXMlNTVzJvaUlE Cis0dFhUaTRydUttSEM4OThCZnlGeGhTTXF1Yit0ZzNwVnFJWUFEQzcxcm5KTHJWeWMxU3pvV3pM N3lNVDNxRmo3CitDN1pZWlltZkc5YWdjWmI1TmtxS1BUZkN4a0JoV2JkZ1RUZ0JLVk8veFFzdDhF VWdrbzg9CistLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3Qvc3NsL3NzbC9zZXJ2ZXItaXAtY24tb25seS5jcnQgYi9zcmMvdGVzdC9zc2wvc3NsL3NlcnZl ci1pcC1jbi1vbmx5LmNydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45 YmYwMTVjZjE4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3NsL3NzbC9zZXJ2ZXItaXAt Y24tb25seS5jcnQKQEAgLTAsMCArMSwxOCBAQAorLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t CitNSUlDOFRDQ0Fka0NDQ0FoRVNrUk4xSUFNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1FSXhRREErQmdO VkJBTU1OMVJsCitjM1FnUTBFZ1ptOXlJRkJ2YzNSbmNtVlRVVXdnVTFOTUlISmxaM0psYzNOcGIy NGdkR1Z6ZENCelpYSjJaWElnCitZMlZ5ZEhNd0hoY05NakV4TVRJNU1Ua3pOelV5V2hjTk5Ea3dO REUyTVRrek56VXlXakEwTVI0d0hBWURWUVFMCitEQlZRYjNOMFozSmxVMUZNSUhSbGMzUWdjM1Zw ZEdVeEVqQVFCZ05WQkFNTUNURTVNaTR3TGpJdU1UQ0NBU0l3CitEUVlKS29aSWh2Y05BUUVCQlFB RGdnRVBBRENDQVFvQ2dnRUJBTldzMXVVTDcxbkhZRjlaajZwK00zTXBZRHZ4CiszMmlDalZkdEg1 YTJxcFNXSFhUZzByUjhkTFgweTkyY3ZPWXZNWEhSYWpaVDFhdnBIcjhkb29QWVNWYVhwR01LCitO dkYvUWkrV0ZZb3ZSYlAydm1kMXl2MWNnVy9GZ2did0pGV1ZvYml6SXo0c2V5QTRkMEIyajlmcW9p Mk9GQk5QCitodVc2NjRTakYwdTNwMjF0RHkrNDNpMkxOVU1BS2Y2ZG5SUjVWcWVuYXRoODdMRVU0 MXRTTHVkdTZOWGdiRk1rCitqdmZOa2w0ZDB3N1lDemVYbWtsbVNJK3VhWDNQbEpKNE56UU8yajh3 NUJ2bktWaE5WRDBLamdyWFo2bkIvOEY3CitQZzNYWStkN3JKbHdSZ1hlbVU2cmVzV1FESjcrVWFD OXU3STRFSVArOWx6Q1Ivbk5CcVVrdHBIUm1IVUNBd0VBCitBVEFOQmdrcWhraUc5dzBCQVFzRkFB T0NBUUVBb3MxSm5jVjhZZjRVYUtsNmgxR2RZdGNWdHpGeUp2QkVuaFJECiswN2xkTCtUWW5mWmlY OHdLMnNzQnRNM2NnL0M3OHk1YnpkVWE1WEdTODNaS1FKRkZkaEU3UFNucnZ5TnF5SXFZCitaZ05C eHRvM2d5dmlyK0VqTzF1OUJBQjBOUDNyM2dZb0hSRFpTMXhPUFB6dDRXZ2p1VWdUTE05azgyR3Nx QWJPCitVck9UT2RSbmtJcUM1eExwYTA1RW5SeUpQUnNSMXcxUFJKQzJYWEtuSEl1RmpNYjR2N1V1 UHd5Q2NYMVA1aW9jCityUXN6UWNPUnkvTCtrMGV6Q2t5d2VPUmc2OGh0alliQkh1d091aUdmb2s2 eUtLRE16clR2RDNsSXNsbHM2ZVg3Cis0c0kzWFdxemtQbUc5VnN4bTlWdTkvTWErUFJPNzZWeUNv SXdCZCtVZmc1dk5YaE1tdz09CistLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9zc2wvc3NsL3NlcnZlci1pcC1jbi1vbmx5LmtleSBiL3NyYy90ZXN0L3NzbC9z c2wvc2VydmVyLWlwLWNuLW9ubHkua2V5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjE5NjY1MzBlNzIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9zc2wvc3NsL3Nl cnZlci1pcC1jbi1vbmx5LmtleQpAQCAtMCwwICsxLDI3IEBACistLS0tLUJFR0lOIFJTQSBQUklW QVRFIEtFWS0tLS0tCitNSUlFb3dJQkFBS0NBUUVBMWF6VzVRdnZXY2RnWDFtUHFuNHpjeWxnTy9I ZmFJS05WMjBmbHJhcWxKWWRkT0RTCit0SHgwdGZUTDNaeTg1aTh4Y2RGcU5sUFZxK2tldngyaWc5 aEpWcGVrWXdvMjhYOUNMNVlWaWk5RnMvYStaM1hLCisvVnlCYjhXQ0J2QWtWWldodUxNalBpeDdJ RGgzUUhhUDErcWlMWTRVRTArRzVicnJoS01YUzdlbmJXMFBMN2plCitMWXMxUXdBcC9wMmRGSGxX cDZkcTJIenNzUlRqVzFJdTUyN28xZUJzVXlTTzk4MlNYaDNURHRnTE41ZWFTV1pJCitqNjVwZmMr VWtuZzNOQTdhUHpEa0crY3BXRTFVUFFxT0N0ZG5xY0gvd1hzK0RkZGo1M3VzbVhCR0JkNlpUcXQ2 Cit4WkFNbnY1Um9MMjdzamdRZy83MlhNSkgrYzBHcFNTMmtkR1lkUUlEQVFBQkFvSUJBUUROWHZp VTRXbkY4cm1RCitLN2JIK2RCZHFiRVRMS0M4Qkc3eFRyTUQyc0lOV2xNcG1VVXJzRXRFNytwYU1H SG5KQWowQ29GNWdnNW0wd040CitVWFY0SDVRdHBFYWQ0cDE0ZEFZYlVyZVZQMlpSV0tFZE03eE0x SEtjQ1V1MmUyMlF6T2JKYlhROE4raUh5WDNrCisrWSs3eVlyakdpSDFoWVIwbmJuc25BeXgrK3p5 WUJTUWVxenBkUXdmL0JMWTV4Wm15WVdOZnFiY2tpTXBFcU1zCitFbVptR1huQ2pJaXB6RUMwTFFI b1NXOVBOYTkyWjlidnV4T0tZbDhpSFlERFhqdk1SRm9aQlNpTVhwekhRb2NiCitRbFE1RjRheWZX Mk9yT2hwTmJZN25pWU05R04zQms5VGdNUCswQmtKRTZ1dWt0TFlXMzVMWTFNNzhDQ1BXY1diCitu cEpOSzNRQkFvR0JBT3hrR3JoQUhBeXNTbXRpckl5TWR2eVNiNzZ3Yi9Va2ZpK0FVTEt6MjBGSTVq NC9HWG05CitxQ2IyR2VUK0ZGU1VIZVNDOGYwRUZub3NSWWtkQkdydXFlWmlvSSs1clVrYm9ZRkpQ c3BBSEF1dmc5a2d0ZkYrCitrdnBoRDRPNFAvZm9Zc0VaUng2NkZIb3pEYmhyclI1VVhjN0t6cVJJ QVNjL0QzRk94MlVGSkxiMUFvR0JBT2RtCitXY2FNdll5Z2w5WlcrVGhXQVIxeEcxWDcwQUdLd3Js cnBGMmhCa1dZeFN1cnhTTVhuRDBEVXpDOU5iNEV5Q2FNCitjMnVTcUVaT0tkVytYZlh0SzJEbnFY S2ZiM1lDVkVvR040Z1ZmeXVXL3Z4aWkvK1p4TG8zbWQvYjN2cmtaRVZwCitwZmtYeS9Ib1o3MVlO N2JOcGNEcE9uaG1sNnZ2dUNSQ1lGbkkxV3VCQW9HQUMwc2hCNnB3Yko2U2s1ek1ONDdDCitaSUN1 ZkFLNzVvOU94QUF5V3NkQzgxU0RRM2dLUkltdURlWjJDRDJuUlA4cWltOURGbDVxb0gyYStOajlE QXJJCis3U3ZMRmZLOTk1OHRVUnJwdUFubURSemVoTElPWHpJMzNXUmp0RnhLR2hMdEhPS1RSa0dI bHVyM2ZkY1BGMExhCitsSFdWOTcxRTZOWVhhOGRpdVUzTW1qMENnWUJZZCtrYTMvUVlMODNkUktO RHhwM21nN2ZQeDlaZXdJNXlGWlZoCit0bzZQVFRrVTJUY2xrNEZJVWwwYjVUc0d5dzA2cjdmeENN RU5JQlVlZ3dtcFhHT1pTUGlmdWhVREtTRFFyRS9PCisxMmtuWVROYml0RzdoeTZQZzNKeEE3N2Ni VFZvMUZ1QVFIallvK0lGb2hTcTd6VFA3RnRPYk9yUDhYYVZaa3N3CitDSGlRQVFLQmdCVzRFaUE5 QUFuWjFMT3BpZkF2TTdiczBOSGc5NXFUd3RBTDUyV0tvbTJnYTJIK2xNaHhldTZZCitoVVN5dEMv ZjlrQUxWY1lsb1poa0xZcE8wN3gxZ1hteTdmNHBhck1qQTRFeCs0dmZ1M2tQZDhHaU5HWitBVUpE CitubkoxT0lOWTl6aVhKWmZqdTdGcFZXcGtpdVB6V0NoNnkvbzNnWi92ZXE1bUlVeHVETVZhCist LS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL3Nz bGZpbGVzLm1rIGIvc3JjL3Rlc3Qvc3NsL3NzbGZpbGVzLm1rCmluZGV4IDI3MGY1NWE1OGYuLjYx ODVjZjc1YWEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3NzbC9zc2xmaWxlcy5taworKysgYi9zcmMv dGVzdC9zc2wvc3NsZmlsZXMubWsKQEAgLTIyLDkgKzIyLDE0IEBACiAjIGtleS9jZXJ0aWZpY2F0 ZSBwYWlyIHdpbGwgYmUgZ2VuZXJhdGVkIGZvciB5b3UsIHNpZ25lZCBieSB0aGUgYXBwcm9wcmlh dGUgQ0EuCiAjCiBTRVJWRVJTIDo9IHNlcnZlci1jbi1hbmQtYWx0LW5hbWVzIFwKKwlzZXJ2ZXIt Y24tYW5kLWlwLWFsdC1uYW1lcyBcCiAJc2VydmVyLWNuLW9ubHkgXAorCXNlcnZlci1pcC1jbi1v bmx5IFwKKwlzZXJ2ZXItaXAtY24tYW5kLWFsdC1uYW1lcyBcCisJc2VydmVyLWlwLWNuLWFuZC1k bnMtYWx0LW5hbWVzIFwKIAlzZXJ2ZXItc2luZ2xlLWFsdC1uYW1lIFwKIAlzZXJ2ZXItbXVsdGlw bGUtYWx0LW5hbWVzIFwKKwlzZXJ2ZXItaXAtYWx0LW5hbWVzIFwKIAlzZXJ2ZXItbm8tbmFtZXMg XAogCXNlcnZlci1yZXZva2VkCiBDTElFTlRTIDo9IGNsaWVudCBjbGllbnQtZG4gY2xpZW50LXJl dm9rZWQgY2xpZW50X2V4dApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3NsL3QvMDAxX3NzbHRlc3Rz LnBsIGIvc3JjL3Rlc3Qvc3NsL3QvMDAxX3NzbHRlc3RzLnBsCmluZGV4IDc3OWFiNjY4MzguLmE3 Y2NlNzcwZWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3NzbC90LzAwMV9zc2x0ZXN0cy5wbAorKysg Yi9zcmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVzdHMucGwKQEAgLTIxLDcgKzIxLDcgQEAgaWYgKCRF TlZ7d2l0aF9zc2x9IG5lICdvcGVuc3NsJykKIH0KIGVsc2UKIHsKLQlwbGFuIHRlc3RzID0+IDEx MDsKKwlwbGFuIHRlc3RzID0+IDEzNTsKIH0KIAogIyMjIyBTb21lIGNvbmZpZ3VyYXRpb24KQEAg LTI1Myw2ICsyNTMsMjMgQEAgJG5vZGUtPmNvbm5lY3RfZmFpbHMoCiAJICBxci9cUXNlcnZlciBj ZXJ0aWZpY2F0ZSBmb3IgImNvbW1vbi1uYW1lLnBnLXNzbHRlc3QudGVzdCIgZG9lcyBub3QgbWF0 Y2ggaG9zdCBuYW1lICJ3cm9uZ2hvc3QudGVzdCJcRS8KICk7CiAKKyMgVGVzdCB3aXRoIGFuIElQ IGFkZHJlc3MgaW4gdGhlIENvbW1vbiBOYW1lLiBUaGlzIGlzIGEgc3RyYW5nZSBjb3JuZXIgY2Fz ZSB0aGF0CisjIG5ldmVydGhlbGVzcyBpcyBzdXBwb3J0ZWQsIGFzIGxvbmcgYXMgdGhlIGFkZHJl c3Mgc3RyaW5nIG1hdGNoZXMgZXhhY3RseS4KK3N3aXRjaF9zZXJ2ZXJfY2VydCgkbm9kZSwgJ3Nl cnZlci1pcC1jbi1vbmx5Jyk7CisKKyRjb21tb25fY29ubnN0ciA9CisgICJ1c2VyPXNzbHRlc3R1 c2VyIGRibmFtZT10cnVzdGRiIHNzbGNlcnQ9aW52YWxpZCBzc2xyb290Y2VydD1zc2wvcm9vdCtz ZXJ2ZXJfY2EuY3J0IGhvc3RhZGRyPSRTRVJWRVJIT1NUQUREUiBzc2xtb2RlPXZlcmlmeS1mdWxs IjsKKworJG5vZGUtPmNvbm5lY3Rfb2soIiRjb21tb25fY29ubnN0ciBob3N0PTE5Mi4wLjIuMSIs CisJIklQIGFkZHJlc3MgaW4gdGhlIENvbW1vbiBOYW1lIik7CisKKyRub2RlLT5jb25uZWN0X2Zh aWxzKAorCSIkY29tbW9uX2Nvbm5zdHIgaG9zdD0xOTIuMDAwLjAwMi4wMDEiLAorCSJtaXNtYXRj aCBiZXR3ZWVuIGhvc3QgbmFtZSBhbmQgc2VydmVyIGNlcnRpZmljYXRlIElQIGFkZHJlc3MiLAor CWV4cGVjdGVkX3N0ZGVyciA9PgorCSAgcXIvXFFzZXJ2ZXIgY2VydGlmaWNhdGUgZm9yICIxOTIu MC4yLjEiIGRvZXMgbm90IG1hdGNoIGhvc3QgbmFtZSAiMTkyLjAwMC4wMDIuMDAxIlxFLworKTsK KwogIyBUZXN0IFN1YmplY3QgQWx0ZXJuYXRpdmUgTmFtZXMuCiBzd2l0Y2hfc2VydmVyX2NlcnQo JG5vZGUsICdzZXJ2ZXItbXVsdGlwbGUtYWx0LW5hbWVzJyk7CiAKQEAgLTMwNSw3ICszMjIsNTQg QEAgJG5vZGUtPmNvbm5lY3RfZmFpbHMoCiAJICBxci9cUXNlcnZlciBjZXJ0aWZpY2F0ZSBmb3Ig InNpbmdsZS5hbHQtbmFtZS5wZy1zc2x0ZXN0LnRlc3QiIGRvZXMgbm90IG1hdGNoIGhvc3QgbmFt ZSAiZGVlcC5zdWJkb21haW4ud2lsZGNhcmQucGctc3NsdGVzdC50ZXN0IlxFLwogKTsKIAotIyBU ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZSB3aXRoIGEgQ04gYW5kIFNBTnMuIFBlciBSRkNzIDI4MTgg YW5kIDYxMjUsIHRoZSBDTgorIyBUZXN0IGNlcnRpZmljYXRlIHdpdGggSVAgYWRkcmVzc2VzIGlu IHRoZSBTQU5zLgorc3dpdGNoX3NlcnZlcl9jZXJ0KCRub2RlLCAnc2VydmVyLWlwLWFsdC1uYW1l cycpOworCiskbm9kZS0+Y29ubmVjdF9vaygKKwkiJGNvbW1vbl9jb25uc3RyIGhvc3Q9MTkyLjAu Mi4xIiwKKwkiaG9zdCBtYXRjaGluZyBhbiBJUHY0IGFkZHJlc3MgKFN1YmplY3QgQWx0ZXJuYXRp dmUgTmFtZSAxKSIpOworCiskbm9kZS0+Y29ubmVjdF9vaygKKwkiJGNvbW1vbl9jb25uc3RyIGhv c3Q9MTkyLjAwMC4wMDIuMDAxIiwKKwkiaG9zdCBtYXRjaGluZyBhbiBJUHY0IGFkZHJlc3MgaW4g YWx0ZXJuYXRlIGZvcm0gKFN1YmplY3QgQWx0ZXJuYXRpdmUgTmFtZSAxKSIpOworCiskbm9kZS0+ Y29ubmVjdF9mYWlscygKKwkiJGNvbW1vbl9jb25uc3RyIGhvc3Q9MTkyLjAuMi4yIiwKKwkiaG9z dCBub3QgbWF0Y2hpbmcgYW4gSVB2NCBhZGRyZXNzIChTdWJqZWN0IEFsdGVybmF0aXZlIE5hbWUg MSkiLAorCWV4cGVjdGVkX3N0ZGVyciA9PgorCSAgcXIvXFFzZXJ2ZXIgY2VydGlmaWNhdGUgZm9y ICIxOTIuMC4yLjEiIChhbmQgMSBvdGhlciBuYW1lKSBkb2VzIG5vdCBtYXRjaCBob3N0IG5hbWUg IjE5Mi4wLjIuMiJcRS8KKyk7CisKKyRub2RlLT5jb25uZWN0X2ZhaWxzKAorCSIkY29tbW9uX2Nv bm5zdHIgaG9zdD0xOTIuMC4yLjEvMzIiLAorCSJJUHY0IGhvc3Qgd2l0aCBDSURSIG1hc2sgZG9l cyBub3QgbWF0Y2giLAorCWV4cGVjdGVkX3N0ZGVyciA9PgorCSAgcXIvXFFzZXJ2ZXIgY2VydGlm aWNhdGUgZm9yICIxOTIuMC4yLjEiIChhbmQgMSBvdGhlciBuYW1lKSBkb2VzIG5vdCBtYXRjaCBo b3N0IG5hbWUgIjE5Mi4wLjIuMVwvMzIiXEUvCispOworCiskbm9kZS0+Y29ubmVjdF9vaygKKwki JGNvbW1vbl9jb25uc3RyIGhvc3Q9MjAwMTpEQjg6OjEiLAorCSJob3N0IG1hdGNoaW5nIGFuIElQ djYgYWRkcmVzcyAoU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lIDIpIik7CisKKyRub2RlLT5jb25u ZWN0X29rKAorCSIkY29tbW9uX2Nvbm5zdHIgaG9zdD0yMDAxOmRiODowOjA6MDowOjA6MSIsCisJ Imhvc3QgbWF0Y2hpbmcgYW4gSVB2NiBhZGRyZXNzIGluIGFsdGVybmF0ZSBmb3JtIChTdWJqZWN0 IEFsdGVybmF0aXZlIE5hbWUgMikiKTsKKworJG5vZGUtPmNvbm5lY3RfZmFpbHMoCisJIiRjb21t b25fY29ubnN0ciBob3N0PTo6MSIsCisJImhvc3Qgbm90IG1hdGNoaW5nIGFuIElQdjYgYWRkcmVz cyAoU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lIDIpIiwKKwlleHBlY3RlZF9zdGRlcnIgPT4KKwkg IHFyL1xRc2VydmVyIGNlcnRpZmljYXRlIGZvciAiMTkyLjAuMi4xIiAoYW5kIDEgb3RoZXIgbmFt ZSkgZG9lcyBub3QgbWF0Y2ggaG9zdCBuYW1lICI6OjEiXEUvCispOworCiskbm9kZS0+Y29ubmVj dF9mYWlscygKKwkiJGNvbW1vbl9jb25uc3RyIGhvc3Q9MjAwMTpEQjg6OjEvMTI4IiwKKwkiSVB2 NiBob3N0IHdpdGggQ0lEUiBtYXNrIGRvZXMgbm90IG1hdGNoIiwKKwlleHBlY3RlZF9zdGRlcnIg PT4KKwkgIHFyL1xRc2VydmVyIGNlcnRpZmljYXRlIGZvciAiMTkyLjAuMi4xIiAoYW5kIDEgb3Ro ZXIgbmFtZSkgZG9lcyBub3QgbWF0Y2ggaG9zdCBuYW1lICIyMDAxOkRCODo6MVwvMTI4IlxFLwor KTsKKworIyBUZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZSB3aXRoIGEgQ04gYW5kIEROUyBTQU5zLiBQ ZXIgUkZDcyAyODE4IGFuZCA2MTI1LCB0aGUgQ04KICMgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiB0 aGUgY2VydGlmaWNhdGUgaGFzIGJvdGguCiBzd2l0Y2hfc2VydmVyX2NlcnQoJG5vZGUsICdzZXJ2 ZXItY24tYW5kLWFsdC1uYW1lcycpOwogCkBAIC0zMjMsNiArMzg3LDM5IEBAICRub2RlLT5jb25u ZWN0X2ZhaWxzKAogCSAgcXIvXFFzZXJ2ZXIgY2VydGlmaWNhdGUgZm9yICJkbnMxLmFsdC1uYW1l LnBnLXNzbHRlc3QudGVzdCIgKGFuZCAxIG90aGVyIG5hbWUpIGRvZXMgbm90IG1hdGNoIGhvc3Qg bmFtZSAiY29tbW9uLW5hbWUucGctc3NsdGVzdC50ZXN0IlxFLwogKTsKIAorIyBCdXQgd2Ugd2ls bCBmYWxsIGJhY2sgdG8gY2hlY2sgdGhlIENOIGlmIHRoZSBTQU5zIGNvbnRhaW4gb25seSBJUCBh ZGRyZXNzZXMuCitzd2l0Y2hfc2VydmVyX2NlcnQoJG5vZGUsICdzZXJ2ZXItY24tYW5kLWlwLWFs dC1uYW1lcycpOworCiskbm9kZS0+Y29ubmVjdF9vaygiJGNvbW1vbl9jb25uc3RyIGhvc3Q9Y29t bW9uLW5hbWUucGctc3NsdGVzdC50ZXN0IiwKKwkiY2VydGlmaWNhdGUgd2l0aCBib3RoIGEgQ04g YW5kIElQIFNBTnMgbWF0Y2hlcyBDTiIpOworJG5vZGUtPmNvbm5lY3Rfb2soIiRjb21tb25fY29u bnN0ciBob3N0PTE5Mi4wLjIuMSIsCisJImNlcnRpZmljYXRlIHdpdGggYm90aCBhIENOIGFuZCBJ UCBTQU5zIG1hdGNoZXMgU0FOIDEiKTsKKyRub2RlLT5jb25uZWN0X29rKCIkY29tbW9uX2Nvbm5z dHIgaG9zdD0yMDAxOmRiODo6MSIsCisJImNlcnRpZmljYXRlIHdpdGggYm90aCBhIENOIGFuZCBJ UCBTQU5zIG1hdGNoZXMgU0FOIDIiKTsKKworIyBBbmQgbm93IHRoZSBzYW1lIHRlc3RzLCBidXQg d2l0aCBJUCBhZGRyZXNzZXMgYW5kIEROUyBuYW1lcyBzd2FwcGVkLgorc3dpdGNoX3NlcnZlcl9j ZXJ0KCRub2RlLCAnc2VydmVyLWlwLWNuLWFuZC1hbHQtbmFtZXMnKTsKKworJG5vZGUtPmNvbm5l Y3Rfb2soIiRjb21tb25fY29ubnN0ciBob3N0PTE5Mi4wLjIuMiIsCisJImNlcnRpZmljYXRlIHdp dGggYm90aCBhbiBJUCBDTiBhbmQgSVAgU0FOcyAxIik7Ciskbm9kZS0+Y29ubmVjdF9vaygiJGNv bW1vbl9jb25uc3RyIGhvc3Q9MjAwMTpkYjg6OjEiLAorCSJjZXJ0aWZpY2F0ZSB3aXRoIGJvdGgg YW4gSVAgQ04gYW5kIElQIFNBTnMgMiIpOworJG5vZGUtPmNvbm5lY3RfZmFpbHMoCisJIiRjb21t b25fY29ubnN0ciBob3N0PTE5Mi4wLjIuMSIsCisJImNlcnRpZmljYXRlIHdpdGggYm90aCBhbiBJ UCBDTiBhbmQgSVAgU0FOcyBpZ25vcmVzIENOIiwKKwlleHBlY3RlZF9zdGRlcnIgPT4KKwkgIHFy L1xRc2VydmVyIGNlcnRpZmljYXRlIGZvciAiMTkyLjAuMi4yIiAoYW5kIDEgb3RoZXIgbmFtZSkg ZG9lcyBub3QgbWF0Y2ggaG9zdCBuYW1lICIxOTIuMC4yLjEiXEUvCispOworCitzd2l0Y2hfc2Vy dmVyX2NlcnQoJG5vZGUsICdzZXJ2ZXItaXAtY24tYW5kLWRucy1hbHQtbmFtZXMnKTsKKworJG5v ZGUtPmNvbm5lY3Rfb2soIiRjb21tb25fY29ubnN0ciBob3N0PTE5Mi4wLjIuMSIsCisJImNlcnRp ZmljYXRlIHdpdGggYm90aCBhbiBJUCBDTiBhbmQgRE5TIFNBTnMgbWF0Y2hlcyBDTiIpOworJG5v ZGUtPmNvbm5lY3Rfb2soIiRjb21tb25fY29ubnN0ciBob3N0PWRuczEuYWx0LW5hbWUucGctc3Ns dGVzdC50ZXN0IiwKKwkiY2VydGlmaWNhdGUgd2l0aCBib3RoIGFuIElQIENOIGFuZCBETlMgU0FO cyBtYXRjaGVzIFNBTiAxIik7Ciskbm9kZS0+Y29ubmVjdF9vaygiJGNvbW1vbl9jb25uc3RyIGhv c3Q9ZG5zMi5hbHQtbmFtZS5wZy1zc2x0ZXN0LnRlc3QiLAorCSJjZXJ0aWZpY2F0ZSB3aXRoIGJv dGggYW4gSVAgQ04gYW5kIEROUyBTQU5zIG1hdGNoZXMgU0FOIDIiKTsKKwogIyBGaW5hbGx5LCB0 ZXN0IGEgc2VydmVyIGNlcnRpZmljYXRlIHRoYXQgaGFzIG5vIENOIG9yIFNBTnMuIE9mIGNvdXJz ZSwgdGhhdCdzCiAjIG5vdCBhIHZlcnkgc2Vuc2libGUgY2VydGlmaWNhdGUsIGJ1dCBsaWJwcSBz aG91bGQgaGFuZGxlIGl0IGdyYWNlZnVsbHkuCiBzd2l0Y2hfc2VydmVyX2NlcnQoJG5vZGUsICdz ZXJ2ZXItbm8tbmFtZXMnKTsKLS0gCjIuMjUuMQoK --_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_ Content-Type: text/x-patch; name="v3-0003-squash-libpq-allow-IP-address-SANs-in-server-cert.patch" Content-Description: v3-0003-squash-libpq-allow-IP-address-SANs-in-server-cert.patch Content-Disposition: attachment; filename="v3-0003-squash-libpq-allow-IP-address-SANs-in-server-cert.patch"; size=6857; creation-date="Thu, 06 Jan 2022 00:02:27 GMT"; modification-date="Thu, 06 Jan 2022 00:02:27 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAzOTlmYjYxMjUwNzBmNWMzZGQ3ZjczZWJmZmYyMTEyNjBmN2MyYzVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFdlZCwgNSBKYW4gMjAyMiAxNTo0NzowMyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjMg My8zXSBzcXVhc2ghIGxpYnBxOiBhbGxvdyBJUCBhZGRyZXNzIFNBTnMgaW4gc2VydmVyIGNlcnRz CgpQZXIgcmV2aWV3LCBwcm92aWRlIGEgcGdfaW5ldF9wdG9uKCkgaW50ZXJmYWNlIGZvciBJUHY2 IGFuZCByZWZhY3RvciB0aGUKaW50ZXJuYWxzIGFjY29yZGluZ2x5LiBJUHY0IGlzIG5vdCB5ZXQg aW1wbGVtZW50ZWQuIFRoZSBjYWxsIHNpdGVzIHRoYXQKanVzdCB3YW50IHN0YW5kYXJkIGFkZHJl c3NlcyB3aXRob3V0IGEgQ0lEUiBtYXNrIGhhdmUgYmVlbiB1cGRhdGVkIHRvCnVzZSB0aGUgbmV3 IGZ1bmN0aW9uLgoKSW50ZXJuYWxseSwgdGhlIElQdjYgcGFyc2VyIG5vdyB0YWtlcyBhbiBhbGxv d19jaWRyIGJvb2xlYW4uIEkndmUKcGx1bWJlZCB0aGF0IGFsbCB0aGUgd2F5IGRvd24gdG8gZ2V0 Yml0cygpIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZQphbW91bnQgb2YgY29kZSB0b3VjaGVkLCBh dCB0aGUgZXhwZW5zZSBvZiBhbiB1bm5lY2Vzc2FyeSBmdW5jdGlvbiBjYWxsCmluIHRoZSBmYWls aW5nIGNhc2UuCi0tLQogc3JjL2luY2x1ZGUvcG9ydC5oICAgICAgICAgICAgICAgICAgICAgICB8 ICAxICsKIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1jb21tb24uYyAgfCAgNyArLS0K IHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1vcGVuc3NsLmMgfCAgMiArLQogc3JjL3Bv cnQvaW5ldF9uZXRfcHRvbi5jICAgICAgICAgICAgICAgICB8IDY2ICsrKysrKysrKysrKysrKysr Ky0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3J0LmggYi9zcmMvaW5jbHVkZS9wb3J0LmgK aW5kZXggY2NhMjk4MzliYy4uZTU0MGRlYTBlNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcG9y dC5oCisrKyBiL3NyYy9pbmNsdWRlL3BvcnQuaApAQCAtNTIwLDYgKzUyMCw3IEBAIGV4dGVybiBj aGFyICpwZ19pbmV0X25ldF9udG9wKGludCBhZiwgY29uc3Qgdm9pZCAqc3JjLCBpbnQgYml0cywK IAogLyogcG9ydC9pbmV0X25ldF9wdG9uLmMgKi8KIGV4dGVybiBpbnQJcGdfaW5ldF9uZXRfcHRv bihpbnQgYWYsIGNvbnN0IGNoYXIgKnNyYywgdm9pZCAqZHN0LCBzaXplX3Qgc2l6ZSk7CitleHRl cm4gaW50CXBnX2luZXRfcHRvbihpbnQgYWYsIGNvbnN0IGNoYXIgKnNyYywgdm9pZCAqZHN0KTsK IAogLyogcG9ydC9wZ19zdHJvbmdfcmFuZG9tLmMgKi8KIGV4dGVybiB2b2lkIHBnX3N0cm9uZ19y YW5kb21faW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNl Y3VyZS1jb21tb24uYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1jb21tb24uYwpp bmRleCA3OTZiNzhlMzQ4Li5lYzZjMWY3NTM5IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9s aWJwcS9mZS1zZWN1cmUtY29tbW9uLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2Vj dXJlLWNvbW1vbi5jCkBAIC0yMDksMTIgKzIwOSw3IEBAIHBxX3ZlcmlmeV9wZWVyX25hbWVfbWF0 Y2hlc19jZXJ0aWZpY2F0ZV9pcChQR2Nvbm4gKmNvbm4sCiAKIAkJZmFtaWx5ID0gUEdTUUxfQUZf SU5FVDY7CiAKLQkJLyoKLQkJICogcGdfaW5ldF9uZXRfcHRvbigpIHdpbGwgYWNjZXB0IENJRFIg bWFza3MsIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8KLQkJICogbWF0Y2gsIHNvIHNraXAgdGhlIGNv bXBhcmlzb24gaWYgdGhlIGhvc3Qgc3RyaW5nIGNvbnRhaW5zIGEgc2xhc2guCi0JCSAqLwotCQlp ZiAoIXN0cmNocihob3N0LCAnLycpCi0JCQkmJiBwZ19pbmV0X25ldF9wdG9uKFBHU1FMX0FGX0lO RVQ2LCBob3N0LCBhZGRyLCAtMSkgPT0gMTI4KQorCQlpZiAocGdfaW5ldF9wdG9uKFBHU1FMX0FG X0lORVQ2LCBob3N0LCBhZGRyKSA9PSAxKQogCQl7CiAJCQlpZiAobWVtY21wKGlwZGF0YSwgYWRk ciwgaXBsZW4pID09IDApCiAJCQkJbWF0Y2ggPSAxOwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5zc2wuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNl Y3VyZS1vcGVuc3NsLmMKaW5kZXggNDc5ZjYzMTk3YS4uMDdlMjI2YzZlZSAxMDA2NDQKLS0tIGEv c3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5zc2wuYworKysgYi9zcmMvaW50ZXJm YWNlcy9saWJwcS9mZS1zZWN1cmUtb3BlbnNzbC5jCkBAIC01NTUsNyArNTU1LDcgQEAgaXNfaXBf YWRkcmVzcyhjb25zdCBjaGFyICpob3N0KQogCXVuc2lnbmVkIGNoYXIJZHVtbXk2WzE2XTsKIAog CXJldHVybiBpbmV0X2F0b24oaG9zdCwgJmR1bW15NCkKLQkJfHwgKHBnX2luZXRfbmV0X3B0b24o UEdTUUxfQUZfSU5FVDYsIGhvc3QsIGR1bW15NiwgLTEpID09IDEyOCk7CisJCXx8IChwZ19pbmV0 X3B0b24oUEdTUUxfQUZfSU5FVDYsIGhvc3QsIGR1bW15NikgPT0gMSk7CiB9CiAKIC8qCmRpZmYg LS1naXQgYS9zcmMvcG9ydC9pbmV0X25ldF9wdG9uLmMgYi9zcmMvcG9ydC9pbmV0X25ldF9wdG9u LmMKaW5kZXggYmFlNTBiYTY3ZS4uN2MyOWFkZTcwOSAxMDA2NDQKLS0tIGEvc3JjL3BvcnQvaW5l dF9uZXRfcHRvbi5jCisrKyBiL3NyYy9wb3J0L2luZXRfbmV0X3B0b24uYwpAQCAtNTAsOCArNTAs OCBAQCBzdGF0aWMgY29uc3QgY2hhciByY3NpZFtdID0gIklkOiBpbmV0X25ldF9wdG9uLmMsdiAx LjQuMi4zIDIwMDQvMDMvMTcgMDA6NDA6MTEgbQogCiBzdGF0aWMgaW50CWluZXRfbmV0X3B0b25f aXB2NChjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0KTsKIHN0YXRpYyBpbnQJaW5ldF9jaWRy X3B0b25faXB2NChjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0LCBzaXplX3Qgc2l6ZSk7Ci1z dGF0aWMgaW50CWluZXRfbmV0X3B0b25faXB2Nihjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0 KTsKLXN0YXRpYyBpbnQJaW5ldF9jaWRyX3B0b25faXB2Nihjb25zdCBjaGFyICpzcmMsIHVfY2hh ciAqZHN0LCBzaXplX3Qgc2l6ZSk7CitzdGF0aWMgaW50CWluZXRfcHRvbl9pcHY2X2ludGVybmFs KGNvbnN0IGNoYXIgKnNyYywgdV9jaGFyICpkc3QsIHNpemVfdCBzaXplLAorCQkJCQkJCQkJYm9v bCBhbGxvd19jaWRyKTsKIAogCiAvKgpAQCAtODIsOSArODIsOSBAQCBwZ19pbmV0X25ldF9wdG9u KGludCBhZiwgY29uc3QgY2hhciAqc3JjLCB2b2lkICpkc3QsIHNpemVfdCBzaXplKQogCQkJCWlu ZXRfbmV0X3B0b25faXB2NChzcmMsIGRzdCkgOgogCQkJCWluZXRfY2lkcl9wdG9uX2lwdjQoc3Jj LCBkc3QsIHNpemUpOwogCQljYXNlIFBHU1FMX0FGX0lORVQ2OgotCQkJcmV0dXJuIHNpemUgPT0g LTEgPwotCQkJCWluZXRfbmV0X3B0b25faXB2NihzcmMsIGRzdCkgOgotCQkJCWluZXRfY2lkcl9w dG9uX2lwdjYoc3JjLCBkc3QsIHNpemUpOworCQkJcmV0dXJuIGluZXRfcHRvbl9pcHY2X2ludGVy bmFsKHNyYywgZHN0LAorCQkJCQkJCQkJCSAgIChzaXplID09IC0xKSA/IDE2IDogc2l6ZSwKKwkJ CQkJCQkJCQkgICB0cnVlIC8qIGFsbG93IENJRFIgKi8pOwogCQlkZWZhdWx0OgogCQkJZXJybm8g PSBFQUZOT1NVUFBPUlQ7CiAJCQlyZXR1cm4gLTE7CkBAIC0zNjAsMTMgKzM2MCwyMiBAQCBlbXNn c2l6ZToKIH0KIAogc3RhdGljIGludAotZ2V0Yml0cyhjb25zdCBjaGFyICpzcmMsIGludCAqYml0 c3ApCitnZXRiaXRzKGNvbnN0IGNoYXIgKnNyYywgaW50ICpiaXRzcCwgYm9vbCBhbGxvd19jaWRy KQogewogCXN0YXRpYyBjb25zdCBjaGFyIGRpZ2l0c1tdID0gIjAxMjM0NTY3ODkiOwogCWludAkJ CW47CiAJaW50CQkJdmFsOwogCWNoYXIJCWNoOwogCisJaWYgKCFhbGxvd19jaWRyKQorCXsKKwkJ LyoKKwkJICogSWYgd2UgZ290IGhlcmUsIHRoZSB0b3AtbGV2ZWwgY2FsbCBpcyB0byBwZ19pbmV0 X3B0b24oKSBhbmQgdGhlCisJCSAqIGNhbGxlciBzdXBwbGllZCBhIENJRFIgbWFzaywgd2hpY2gg aXNuJ3QgYWxsb3dlZC4KKwkJICovCisJCXJldHVybiAwOworCX0KKwogCXZhbCA9IDA7CiAJbiA9 IDA7CiAJd2hpbGUgKChjaCA9ICpzcmMrKykgIT0gJ1wwJykKQEAgLTM5Myw3ICs0MDIsNyBAQCBn ZXRiaXRzKGNvbnN0IGNoYXIgKnNyYywgaW50ICpiaXRzcCkKIH0KIAogc3RhdGljIGludAotZ2V0 djQoY29uc3QgY2hhciAqc3JjLCB1X2NoYXIgKmRzdCwgaW50ICpiaXRzcCkKK2dldHY0KGNvbnN0 IGNoYXIgKnNyYywgdV9jaGFyICpkc3QsIGludCAqYml0c3AsIGJvb2wgYWxsb3dfY2lkcikKIHsK IAlzdGF0aWMgY29uc3QgY2hhciBkaWdpdHNbXSA9ICIwMTIzNDU2Nzg5IjsKIAl1X2NoYXIJICAg Km9kc3QgPSBkc3Q7CkBAIC00MjQsNyArNDMzLDcgQEAgZ2V0djQoY29uc3QgY2hhciAqc3JjLCB1 X2NoYXIgKmRzdCwgaW50ICpiaXRzcCkKIAkJCQlyZXR1cm4gMDsKIAkJCSpkc3QrKyA9IHZhbDsK IAkJCWlmIChjaCA9PSAnLycpCi0JCQkJcmV0dXJuIGdldGJpdHMoc3JjLCBiaXRzcCk7CisJCQkJ cmV0dXJuIGdldGJpdHMoc3JjLCBiaXRzcCwgYWxsb3dfY2lkcik7CiAJCQl2YWwgPSAwOwogCQkJ biA9IDA7CiAJCQljb250aW51ZTsKQEAgLTQzOSwxOCArNDQ4LDEyIEBAIGdldHY0KGNvbnN0IGNo YXIgKnNyYywgdV9jaGFyICpkc3QsIGludCAqYml0c3ApCiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRp YyBpbnQKLWluZXRfbmV0X3B0b25faXB2Nihjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0KQot ewotCXJldHVybiBpbmV0X2NpZHJfcHRvbl9pcHY2KHNyYywgZHN0LCAxNik7Ci19Ci0KICNkZWZp bmUgTlNfSU42QUREUlNaIDE2CiAjZGVmaW5lIE5TX0lOVDE2U1ogMgogI2RlZmluZSBOU19JTkFE RFJTWiA0CiAKIHN0YXRpYyBpbnQKLWluZXRfY2lkcl9wdG9uX2lwdjYoY29uc3QgY2hhciAqc3Jj LCB1X2NoYXIgKmRzdCwgc2l6ZV90IHNpemUpCitpbmV0X3B0b25faXB2Nl9pbnRlcm5hbChjb25z dCBjaGFyICpzcmMsIHVfY2hhciAqZHN0LCBzaXplX3Qgc2l6ZSwgYm9vbCBhbGxvd19jaWRyKQog ewogCXN0YXRpYyBjb25zdCBjaGFyIHhkaWdpdHNfbFtdID0gIjAxMjM0NTY3ODlhYmNkZWYiLAog CQkJCXhkaWdpdHNfdVtdID0gIjAxMjM0NTY3ODlBQkNERUYiOwpAQCAtNTE4LDEzICs1MjEsMTMg QEAgaW5ldF9jaWRyX3B0b25faXB2Nihjb25zdCBjaGFyICpzcmMsIHVfY2hhciAqZHN0LCBzaXpl X3Qgc2l6ZSkKIAkJCWNvbnRpbnVlOwogCQl9CiAJCWlmIChjaCA9PSAnLicgJiYgKCh0cCArIE5T X0lOQUREUlNaKSA8PSBlbmRwKSAmJgotCQkJZ2V0djQoY3VydG9rLCB0cCwgJmJpdHMpID4gMCkK KwkJCWdldHY0KGN1cnRvaywgdHAsICZiaXRzLCBhbGxvd19jaWRyKSA+IDApCiAJCXsKIAkJCXRw ICs9IE5TX0lOQUREUlNaOwogCQkJc2F3X3hkaWdpdCA9IDA7CiAJCQlicmVhazsJCQkJLyogJ1ww JyB3YXMgc2VlbiBieSBpbmV0X3B0b240KCkuICovCiAJCX0KLQkJaWYgKGNoID09ICcvJyAmJiBn ZXRiaXRzKHNyYywgJmJpdHMpID4gMCkKKwkJaWYgKGNoID09ICcvJyAmJiBnZXRiaXRzKHNyYywg JmJpdHMsIGFsbG93X2NpZHIpID4gMCkKIAkJCWJyZWFrOwogCQlnb3RvIGVub2VudDsKIAl9CkBA IC01MzgsNiArNTQxLDkgQEAgaW5ldF9jaWRyX3B0b25faXB2Nihjb25zdCBjaGFyICpzcmMsIHVf Y2hhciAqZHN0LCBzaXplX3Qgc2l6ZSkKIAlpZiAoYml0cyA9PSAtMSkKIAkJYml0cyA9IDEyODsK IAorCS8qIFdpdGhvdXQgYSBDSURSIG1hc2ssIHRoZSBhYm92ZSBzaG91bGQgZ3VhcmFudGVlIGEg Y29tcGxldGUgYWRkcmVzcy4gKi8KKwlBc3NlcnQoYWxsb3dfY2lkciB8fCBiaXRzID09IDEyOCk7 CisKIAllbmRwID0gdG1wICsgMTY7CiAKIAlpZiAoY29sb25wICE9IE5VTEwpCkBAIC01NzYsMyAr NTgyLDI5IEBAIGVtc2dzaXplOgogCWVycm5vID0gRU1TR1NJWkU7CiAJcmV0dXJuIC0xOwogfQor CisvKgorICogQ29udmVydHMgYSBuZXR3b3JrIGFkZHJlc3MgaW4gcHJlc2VudGF0aW9uIGZvcm1h dCB0byBuZXR3b3JrIGZvcm1hdC4gVGhlIG1haW4KKyAqIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlz IGFuZCBwZ19pbmV0X25ldF9wdG9uKCkgYWJvdmUgaXMgdGhhdCBDSURSIG5vdGF0aW9uIGlzCisg KiBub3QgYWxsb3dlZC4KKyAqCisgKiBUaGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgZHN0IGRlcGVu ZHMgb24gdGhlIGFkZHJlc3MgZmFtaWx5OgorICoKKyAqICAgICBQR1NRTF9BRl9JTkVUOiAgbm90 IGltcGxlbWVudGVkIHlldCAocmV0dXJucyAtMSB3aXRoIEVBRk5PU1VQUE9SVCkKKyAqICAgICBQ R1NRTF9BRl9JTkVUNjogKmRzdCBtdXN0IGJlIGEgdV9jaGFyWzE2XQorICoKKyAqIE92ZXIgYW5k IGFib3ZlIHRoZSBzdGFuZGFyZCBpbmV0X3B0b24oKSBmdW5jdGlvbmFsaXR5LCB3ZSBhbHNvIHNl dCBlcnJubyBvbgorICogcGFyc2UgZmFpbHVyZSwgd2l0aCB0aGUgc2FtZSBtZWFuaW5ncyBhcyB3 aXRoIHBnX2luZXRfbmV0X3B0b24oKS4KKyAqLworaW50CitwZ19pbmV0X3B0b24oaW50IGFmLCBj b25zdCBjaGFyICpzcmMsIHZvaWQgKmRzdCkKK3sKKwlpZiAoYWYgIT0gUEdTUUxfQUZfSU5FVDYp CisJeworCQkvKiBDdXJyZW50bHkgb25seSBJUHY2IGlzIGltcGxlbWVudGVkLiAqLworCQllcnJu byA9IEVBRk5PU1VQUE9SVDsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAoaW5ldF9wdG9u X2lwdjZfaW50ZXJuYWwoc3JjLCBkc3QsIDE2LCBmYWxzZSAvKiBubyBDSURSICovKSA9PSAxMjgp OworfQotLSAKMi4yNS4xCgo= --_004_f7d53c77e33b2e22e520f2b3aac7c5b863636b85camelvmwarecom_--