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 1mL9c9-000821-1s for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Aug 2021 19:40:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mL9c7-0004XR-Q1 for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Aug 2021 19:40:07 +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 1mL9c7-0004XI-Fa for pgsql-hackers@lists.postgresql.org; Tue, 31 Aug 2021 19:40:07 +0000 Received: from mail-dm6nam12on2080.outbound.protection.outlook.com ([40.107.243.80] helo=NAM12-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 1mL9c3-0004ot-Pt for pgsql-hackers@postgresql.org; Tue, 31 Aug 2021 19:40:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bU7ovzq4fTIs5LHzU0OSSv9OvSMk7YMicNmGJKo/aOTvVruVrvkFIC5xGSXhCQ8I9wwJ8xc+TcAcfNdhI60AgnWNfo186bBaSCCcYcPgKwJXPIKKE+DDQqHxgKooiixKAs/1XABmej4DQDsiLD+88OEw71vycwwYAGrfRROtD3+yxb2bgJHCIXX0+U+EntOFnKum+CPXzIKaIKjp5CT9GQ9qIWGf9I9zJj6S+l6k3OL1hJyc6Xc4umwS6x8IDpQKbsCpYNAvkFjBKccj5fdi64L7T8V49cJBC+wQEUX5qbxbVG+k6BVxvyHWPWk1MGMiFs7dMOv5vV11RXdF7E+/LA== 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; bh=DA3fEZB9gdqwqT/jVRtd2X1vh3PLgZf+une0qkQWqoQ=; b=Oquy0aP+HQW1vvC5UFE7Vhi0xQjHK0UqxjN07MMHPdAcs+45Y913vzVB65NN2oCO2LoY7pmgPaKeDYwd+q2gMalovrPytGLyVXQfK9WMl1xxXXE20Ilh3M3WJJAUyBLjmJcWxxnO4b5b94EgkUX18ifyeJbG83O9jns10skkuJNRuwrGax14B2qrUmWj3X2prOGY/zxYbxDSdYtLYxbIWycokjKcFtmKzCrA/dagXExcW6SFi9z5NvAKbwIVA5FzpcNMtzLADLPLZqoc6u7cdy6vBTomB5CiyVcBdNmKsh714p3Ukoy0rgxfdxbyRptO+cyeDFbNRIzTp5TBJhCoeA== 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=DA3fEZB9gdqwqT/jVRtd2X1vh3PLgZf+une0qkQWqoQ=; b=XDto8M5jsoWuKkMBhygLQ5dy+FqQTJ5d27LjOp1ZvpDG4gtm45UQsT6aT55qtq0O7IBJsxVLJdIya8H3BTauzrTsyxIZu3tlbtAxj+hBrdzRzC7r9pSm26xZcrW2JrU5OzIKhq1BLYgxjBiVzGFJpyp1jB6Y4i1BcFl0mru7NEM= Received: from MWHPR05MB2896.namprd05.prod.outlook.com (2603:10b6:300:65::20) by MWHPR05MB2893.namprd05.prod.outlook.com (2603:10b6:300:5e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.10; Tue, 31 Aug 2021 19:40:00 +0000 Received: from MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::b8ad:c0df:fc49:52a]) by MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::b8ad:c0df:fc49:52a%8]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021 19:40:00 +0000 From: Jacob Champion To: "pgsql-hackers@postgresql.org" Subject: [PATCH] Support pg_ident mapping for LDAP Thread-Topic: [PATCH] Support pg_ident mapping for LDAP Thread-Index: AQHXnp/8Me+eqJaobEuyik0A7q2vTQ== Date: Tue, 31 Aug 2021 19:39:59 +0000 Message-ID: <1a61806047c536e7528b943d0cfe12608118ca31.camel@vmware.com> 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: postgresql.org; dkim=none (message not signed) header.d=none;postgresql.org; dmarc=none action=none header.from=vmware.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a2b2062f-a04b-424b-ac1e-08d96cb71ec5 x-ms-traffictypediagnostic: MWHPR05MB2893: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kfNHniGaLnjLDFJjivmM1X8hFCIhlj6kr6j2YA0yvry6aYFk7yUHGfEIoV4CyoSr19c71XJDOdsZIev99J0ey9whQGtU7b3YHNYiF6guN/u4N/tgaFnuhe1fjL7K+6XYQfNtCABY8IH6U0lEU8k/AwqKFCjkIxE5JWM1fc2cVDLKbLGy6kekmNAacia7RQQlp2mXTEQsqmPOvRNl3NJPTV8Q9gWGkWmiIk888dX6XAwRL7Otbl6LKJHm3hiyV85atokw2Vgt8NAtBR3oonxyE5H1t7SqKmdJag5Ulri9YjRSOfmf51JazzCWw5bn2EA7ASMk5x+yTq0VYRQ9+mBkUg/XLmmgZrC0pGBd8TRxOKmu6mtVftgOl/eDIvlDyqsiqDH0RwEWQ+3lf/qUSkCNB+iVVCUa2Xfp7CT68AWzvMOajvqgYqoEQRLAQA28aTfeqiuhUDPgVkVKlULqrhCQD0quALQCcZAf9mn+05UARVvR+zq5Gz85Vw0ElPRX8wZOAdA1MbUXzTtPFX0Y4XVr3Ki1hMpafY4ZxZY+TEeNCUj7+r/URe1z+2G1fqih2jHZUB7eF+yPiJOFh4grBkKz59vgcpNmyR9y0Atrb6i2CVnVNeJUX1maXPISruQwatvje2sKqDflCjJFchbXuwEb553PbrJ6CLughtJwOZyzXdP50VJK9qQwbvReW7PuSiKzsTRBuWX3cZQu2ElrtoyMsFlQjIL36U3yVzMUdFwkZ6dM4wBO56hELxG6oHINBTyD8GjT6KXBPnhMAGQhIEWGZXgrdLvY607+Pj4E7q9xXO0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR05MB2896.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6916009)(66946007)(2906002)(5660300002)(66476007)(66556008)(66446008)(8936002)(66616009)(966005)(36756003)(64756008)(26005)(316002)(99936003)(6486002)(2616005)(508600001)(38070700005)(83380400001)(6506007)(71200400001)(86362001)(6512007)(186003)(122000001)(8676002)(76116006)(38100700002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d3gweUIzN3d4aTRvaWRaOUlmZE55cFl1eVdRbzMvcnQ3T2FMOVlCRnFWZU1J?= =?utf-8?B?aWN1TmxPdWlXL3Arc3RjUEVVMUM3ZkZVY2dFbDlpZXZ5RlY1YVlyamtUbTk3?= =?utf-8?B?QSthL09wS0dGSDcrU1BKb2dSbUFRRnNxTE91U012Snl6clJWeE9DME1IVjho?= =?utf-8?B?bStiVXVYUVdobHhYaVZxcUZnY2RwNEdXSjgvWlpDUWtWeWs3Wjg2dEl1ZnQ5?= =?utf-8?B?ZDNYMFVaN3REQ2s0aEhmTTFPak1LZ0xKWjFOVk5tTThtYi81d09CZVN1K2Iz?= =?utf-8?B?SDdsak9nVkd3YWRvTW1RcXZCbWZDT1FZd0RNNitFMWU1K3lRUG1zUHEyMFl5?= =?utf-8?B?cWMyOHZ1RThaZnNadU83bUJ0Ri9TUXZja0FNUGkxb2N1bUJmdk9CQVBJV2V5?= =?utf-8?B?NGliTUtZalQrNElWUHc2TGhUc3B6dEtWckNXRnJNb01pZkcwTmEvZ3NvakJv?= =?utf-8?B?azlnc0wra0NCTjhGZi9iTE5QditnR3l1NjJLeU4vdk0yZkM4dXJocnAyUWd0?= =?utf-8?B?U3MyL3MrRUV3V2dRRWZMWjVIU2JkTGg5QnZnMFlJcmFLZW5Mcm85dVV4YVhC?= =?utf-8?B?Y01NcjB1c0ZKS1FXWVRoZGJPOHlic2N4WThsMXZmVjNoNTFQZEpna2dHMjIx?= =?utf-8?B?SkFZR29DbkhGdHJWRkJ6bHNKNkhrbWlSU2ZNdXFFclNpMHRpcUMxa0F5bksw?= =?utf-8?B?MGZ0bHoycHBVa3drNVBlbE1WazdydnUvOWQ2dEVhMjNzNFJCa3dGa01HTWc1?= =?utf-8?B?ZExyQnN2WUxLeGxtbFBldjY3TzNtc09ZTDhmTXZORi84WTNHUE1NZlE2With?= =?utf-8?B?RWRGV3RYbHNsN1JuWlV3Nk1lTWtOUHJoS1Y1cCtNTFFVcWVZUW1McGxSeExk?= =?utf-8?B?TVVRdnZ1RWlyczdhc3gxaTk0ZlRjbHZ6QXNPL2xxS283UU5GR0FCRWFXd3R3?= =?utf-8?B?Z3RyYlBYS0dSV2hYazNYWnh0bk1McldHRGpTYTVpQUI3SUFnZ1BNUzAyTDhq?= =?utf-8?B?Z2pvdlMvcmZoaUJRZ0Q0ek9MUy9xNWYvdHA2R01XYzdIWGZCbG81VWd5bndq?= =?utf-8?B?bmdoSGEzUW1INE84QWFSOTJ6T0JlZmFrTUVvR0RRZklZTU9qQjc3WFZsRGZU?= =?utf-8?B?b3pzczJoOEl5WkRrOHBpVS9RZEVmcVkyNkVsY1M5MTU0UDlwbGRPVFMzMk1h?= =?utf-8?B?dlpSNmFCcXdvdC93Wk10WlFScTByNE1GNG83dTEweTlKdmdvWngvbjl2dW9K?= =?utf-8?B?UHNFZzRXTEY0cFNnRjNDNDIra2grU1o1cXdPdjFnM29tcjZDSTgrR0dwTXlG?= =?utf-8?B?ZzhPT3ZPdktGSUFZN2N1S0JGb2NQREVmcHdaWjhXWmtxdEZneVA5eURyS2dD?= =?utf-8?B?VWFyYi9jQ3A0d0pGSyt0ZXpKL3BHMkRZN1hRdHlXZzZ3bllvK2tiVWN0Y1R2?= =?utf-8?B?enVOajlYMnZscFQybjdGNHlDVVI0SGQzR1dydWdzN0RmMnAxSStONC9qWHRx?= =?utf-8?B?aUdrZjh0SlR1MitON2hhbkVRUWtvUy9QTWVpYXEzUnBDWWNaNCt0UUdZcGZP?= =?utf-8?B?NzkxYXV5eFpZQmt6MG5MWXpBOWVibzBFaENybURyRGh4VzBZVjIzWlZVRkVW?= =?utf-8?B?SzhhbWc4UHh4ODV0U1NpbnRpeERtQzBuNDc3TlhiamN2c0lvUExZTmNNZjBN?= =?utf-8?B?bDFiNlA3M1pXcWlFSXp5cXhmZjVEK2NpTDJYMFJhZXRQclBNWUxHTlZPazFv?= =?utf-8?Q?kuUpYUswrIgB8znqtCOULCerPL9lLMI8TOtvx3j?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_1a61806047c536e7528b943d0cfe12608118ca31camelvmwarecom_" MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR05MB2896.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2b2062f-a04b-424b-ac1e-08d96cb71ec5 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 19:39:59.8952 (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: x4zYlYICZSaPc6tKONooE0m1JL1hY8TqwBB1vUKFzUaJHRTXWVMug3kmNag7JET+fcp0zqLuJoVPI7TVPmpx7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB2893 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_1a61806047c536e7528b943d0cfe12608118ca31camelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: <1F686EFCBDB5DC4A8C350FD0581F91F9@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 SGVsbG8sDQoNClRoZXJlIHdhcyBhIGJyaWVmIGRpc2N1c3Npb24gWzFdIGJhY2sgaW4gRmVicnVh cnkgb24gYWxsb3dpbmcgdXNlcg0KbWFwcGluZyBmb3IgTERBUCwgaW4gb3JkZXIgdG8gb3BlbiB1 cCBzb21lIG1vcmUgY29tcGxleCBhdXRob3JpemF0aW9uDQpsb2dpYyAoYW5kIHNsaWdodGx5IHJl ZHVjZSB0aGUgbmVlZCBmb3IgTERBUC10by1Qb3N0Z3JlcyB1c2VyDQpzeW5jaHJvbml6YXRpb24p LiBBdHRhY2hlZCBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIHRoYXQgc2VwYXJhdGVzDQp0 aGUgTERBUCBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlvbiBpZGVudGl0aWVzLCBhbmQg bGV0cyB0aGUNCmNsaWVudCBjb250cm9sIHRoZSBmb3JtZXIgd2l0aCBhbiBgbGRhcHVzZXJgIGNv bm5lY3Rpb24gb3B0aW9uIG9yIGl0cw0KYXNzb2NpYXRlZCBQR0xEQVBVU0VSIGVudnZhci4NCg0K VGhpcyBpc24ndCBhcyB1c2VmdWwgYXMsIHNheSwgYXV0aG9yaXphdGlvbiBiYXNlZCBvbiBMREFQ IGF0dHJpYnV0ZXMgb3INCmdyb3VwIG1lbWJlcnNoaXAsIGJ1dCBpdCBzZWVtcyBsaWtlIGEgbmVj ZXNzYXJ5IHN0ZXAgdG93YXJkcyB0aGF0DQpmZWF0dXJlLCBzaW5jZSB3ZSdsbCBuZWVkIHRvIHNl cGFyYXRlIGF1dGhuIGFuZCBhdXRoeiBhbnl3YXkuIFRoaXMNCnByb3ZpZGVzIHNvbWUgZmVhdHVy ZSBwYXJpdHkgd2l0aCBvdGhlciBhdXRoIG1ldGhvZHMgbGlrZSBnc3MsIGFuZCBpdA0Kc29sdmVz IHRoZSAibGV0IGFueW9uZSB3aG8gY2FuIGF1dGhlbnRpY2F0ZSBhZ2FpbnN0IExEQVAgY29ubmVj dCBhcyBYDQpyb2xlIiB1c2UgY2FzZSB0cml2aWFsbHkuDQoNClRoZXJlIGlzIHByZWNlZGVudCBm b3IgYWxsb3dpbmcgdGhlIERCQSB0byBjaG9vc2Ugd2hldGhlciB0byBtYXAgYSBiYXJlDQp1c2Vy bmFtZSBvciB0aGUgImZ1bGwiIGlkZW50aXR5IGV4cGFuc2lvbiAtLSBzZWUgZm9yIGV4YW1wbGUN CmluY2x1ZGVfcmVhbG09MSBmb3IgZ3NzIGFuZCBjbGllbnRuYW1lPUROIGZvciBjZXJ0IC0tIHNv IEkgYWRkZWQgYW4NCmxkYXBfbWFwX2RuPTEgb3B0aW9uIHdoaWNoIGNhbiBiZSB1c2VkIHRvIG1h cCB0aGUgd2hvbGUgRE4uIChJJ20gbm90DQplbnRpcmVseSBjb252aW5jZWQgdGhhdCBpdCdzIHVz ZWZ1bCwgYnV0IG1heWJlIHRoZXJlIGFyZSBzb21lDQpkZXBsb3ltZW50cyB0aGF0IHB1dCBhdXRo b3JpemF0aW9uIGluZm9ybWF0aW9uIGludG8gdGhlIExEQVAgdG9wb2xvZ3ksDQpsaWtlICJldmVy eW9uZSBpbiB0aGlzIHBhcnRpY3VsYXIgc3VidHJlZSBpcyBhbiBhZG1pbiIuKSBVbmxpa2UNCmlu Y2x1ZGVfcmVhbG0sIHRoaXMgaXMgb25seSBhbGxvd2VkIHdpdGggYW4gZXhwbGljaXQgbWFwLiBJ IGRvbid0DQphbnRpY2lwYXRlIHBlb3BsZSB1c2luZyBhIGZ1bGwgRE4gYXMgYSBkYXRhYmFzZSB1 c2VybmFtZSwgYW5kIEknbQ0Kd29ycmllZCB0aGF0IGRvaW5nIHRoYXQgd2l0aG91dCBub3JtYWxp emF0aW9uIGNvdWxkIGNhdXNlIHNvbWUgbWFqb3INCmNvbmZ1c2lvbiBhbmQvb3Igc2VjdXJpdHkg cHJvYmxlbXMuDQoNCldoZW4gdXNpbmcgYSBuZXdlciBjbGllbnQgd2l0aCBhbiBvbGRlciBzZXJ2 ZXIsIHRoZSBuZXcgYGxkYXB1c2VyYA0Kb3B0aW9uIHdpbGwgY2F1c2UgYSBjb25uZWN0aW9uIGZh aWx1cmUuIEZvciB0aGUgY2FzZSB3aGVyZSBQR1VTRVIgYW5kDQpQR0xEQVBVU0VSIGFyZSBpZGVu dGljYWwsIHRoYXQgZmFpbHVyZSBpcyB0ZWNobmljYWxseSB1bm5lY2Vzc2FyeSwgYW5kDQpJIGJy aWVmbHkgY29uc2lkZXJlZCBzdHJpcHBpbmcgdGhlIGBsZGFwdXNlcmAgb3B0aW9uIGZyb20gdGhl DQpjb25uZWN0aW9uIHN0cmluZyBpbiB0aGF0IGNhc2Ugc28gdGhhdCB3ZSBjb3VsZCBoYXZlIHdp ZGVyDQpjb21wYXRpYmlsaXR5LiBJIG5vdyB0aGluayB0aGF0J3MgYSBiYWQgaWRlYSwgYmVjYXVz ZSBzdWRkZW5seQ0KaW50cm9kdWNpbmcgYSBoYXJkIGNvbm5lY3Rpb24gZmFpbHVyZSAob3IgbmV3 IHN1Y2Nlc3MpIGp1c3QgYmVjYXVzZQ0KeW91ciBQR0xEQVBVU0VSIHZhcmlhYmxlIGNoYW5nZWQg d291bGQgYmUgYSBtYWpvciBzdXBwb3J0IGhhemFyZC4gVGhlDQpUT0RPIGlzIHN0aWxsIGluIHRo ZSBjb2RlIHRvIHJlbWluZCBtZSB0byBoYXZlIHRoZSBjb252ZXJzYXRpb24uDQoNCldEWVQ/DQoN Ci0tSmFjb2INCg0KWzFdIGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvOTRm NmI5NDVmOWNhOGNhYmUyYjlkMmEzOGVjMTlkY2E2ZjkwYTA4My5jYW1lbCU0MHZtd2FyZS5jb20N Cg== --_002_1a61806047c536e7528b943d0cfe12608118ca31camelvmwarecom_ Content-Type: text/x-patch; name="Allow-user-name-mapping-with-LDAP.patch" Content-Description: Allow-user-name-mapping-with-LDAP.patch Content-Disposition: attachment; filename="Allow-user-name-mapping-with-LDAP.patch"; size=19936; creation-date="Tue, 31 Aug 2021 19:39:59 GMT"; modification-date="Tue, 31 Aug 2021 19:39:59 GMT" Content-ID: <7D5E307A6EBDA349999AD875E3AFCCBF@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSAyNGQ1ODI3OWJiODUzNDBhNTVlZDYxOGE2MGEyMGIwNDgzYWMzYTBhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IE1vbiwgMzAgQXVnIDIwMjEgMTY6Mjk6NTkgLTA3MDAKU3ViamVjdDogW1BBVENIXSBB bGxvdyB1c2VyIG5hbWUgbWFwcGluZyB3aXRoIExEQVAKCkVuYWJsZSB0aGUgYG1hcGAgSEJBIG9w dGlvbiBmb3IgdGhlIGxkYXAgYXV0aCBtZXRob2QuIFRvIG1ha2UgZWZmZWN0aXZlCnVzZSBvZiB0 aGlzIGZyb20gdGhlIGNsaWVudCBzaWRlLCB0aGUgbGRhcHVzZXIgY29ubmVjdGlvbiBvcHRpb24g KGFuZCBhCmNvcnJlc3BvbmRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGUsIFBHTERBUFVTRVIpIGhh cyBiZWVuIGFkZGVkOyBpdApkZWZhdWx0cyB0byB0aGUgUEdVU0VSLgoKRm9yIG1vcmUgYWR2YW5j ZWQgbWFwcGluZywgdGhlIGxkYXBfbWFwX2RuIEhCQSBvcHRpb24gY2FuIGJlIHNldCB0byB1c2UK dGhlIGZ1bGwgdXNlciBEaXN0aW5ndWlzaGVkIE5hbWUgZHVyaW5nIHVzZXIgbWFwcGluZy4gKFRo aXMgcGFyYWxsZWxzCnRoZSBpbmNsdWRlX3JlYWxtPTEgYW5kIGNsaWVudG5hbWU9RE4gb3B0aW9u cy4pCi0tLQogZG9jL3NyYy9zZ21sL2NsaWVudC1hdXRoLnNnbWwgICAgICAgfCAgNDUgKysrKysr KystCiBkb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCAgICAgICAgICAgICB8ICAzMiArKysrKysKIHNy Yy9iYWNrZW5kL2xpYnBxL2F1dGguYyAgICAgICAgICAgIHwgIDM4ICsrKysrKy0tCiBzcmMvYmFj a2VuZC9saWJwcS9oYmEuYyAgICAgICAgICAgICB8ICAyOSArKysrKy0KIHNyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcG9zdG1hc3Rlci5jIHwgICAyICsKIHNyYy9pbmNsdWRlL2xpYnBxL2hiYS5oICAg ICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmggICAgICAgIHwg ICA1ICsKIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYyAgIHwgICA2ICsrCiBzcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1wcm90b2NvbDMuYyB8ICAgMiArCiBzcmMvaW50ZXJmYWNlcy9s aWJwcS9saWJwcS1pbnQuaCAgICB8ICAgMSArCiBzcmMvdGVzdC9sZGFwL3QvMDAxX2F1dGgucGwg ICAgICAgICB8IDE0NSArKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxMSBmaWxlcyBjaGFu Z2VkLCAyOTEgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL2NsaWVudC1hdXRoLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY2xpZW50LWF1dGguc2dt bAppbmRleCAwMmYwNDg5MTEyLi5kOTAyZWI5ZDAxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv Y2xpZW50LWF1dGguc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY2xpZW50LWF1dGguc2dtbApAQCAt MTYyNCwxMCArMTYyNCwxMSBAQCBvbWljcm9uICAgICAgICAgYnJ5YW5oICAgICAgICAgICAgICAg ICAgZ3Vlc3QxCiAgICAgVGhpcyBhdXRoZW50aWNhdGlvbiBtZXRob2Qgb3BlcmF0ZXMgc2ltaWxh cmx5IHRvCiAgICAgPGxpdGVyYWw+cGFzc3dvcmQ8L2xpdGVyYWw+IGV4Y2VwdCB0aGF0IGl0IHVz ZXMgTERBUAogICAgIGFzIHRoZSBwYXNzd29yZCB2ZXJpZmljYXRpb24gbWV0aG9kLiBMREFQIGlz IHVzZWQgb25seSB0byB2YWxpZGF0ZQotICAgIHRoZSB1c2VyIG5hbWUvcGFzc3dvcmQgcGFpcnMu IFRoZXJlZm9yZSB0aGUgdXNlciBtdXN0IGFscmVhZHkKLSAgICBleGlzdCBpbiB0aGUgZGF0YWJh c2UgYmVmb3JlIExEQVAgY2FuIGJlIHVzZWQgZm9yCi0gICAgYXV0aGVudGljYXRpb24uCi0gICA8 L3BhcmE+CisgICAgdGhlIHVzZXIgbmFtZS9wYXNzd29yZCBwYWlycy4gVGhlcmVmb3JlIGRhdGFi YXNlIHVzZXJzIG11c3QgYWxyZWFkeQorICAgIGV4aXN0IGluIHRoZSBkYXRhYmFzZSBiZWZvcmUg TERBUCBjYW4gYmUgdXNlZCBmb3IgYXV0aGVudGljYXRpb24uIFVzZXIgbmFtZQorICAgIG1hcHBp bmcgY2FuIGJlIHVzZWQgdG8gYWxsb3cgdGhlIExEQVAgdXNlciBuYW1lIHRvIGJlIGRpZmZlcmVu dCBmcm9tIHRoZQorICAgIGRhdGFiYXNlIHVzZXIgbmFtZS4KKzwvcGFyYT4KIAogICAgPHBhcmE+ CiAgICAgTERBUCBhdXRoZW50aWNhdGlvbiBjYW4gb3BlcmF0ZSBpbiB0d28gbW9kZXMuIEluIHRo ZSBmaXJzdCBtb2RlLApAQCAtMTcwMyw2ICsxNzA0LDQyIEBAIG9taWNyb24gICAgICAgICBicnlh bmggICAgICAgICAgICAgICAgICBndWVzdDEKICAgICAgICA8L3BhcmE+CiAgICAgICA8L2xpc3Rp dGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0 ZXJtPjxsaXRlcmFsPm1hcDwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAg ICAgPHBhcmE+CisgICAgICAgIEFsbG93cyBmb3IgbWFwcGluZyBiZXR3ZWVuIExEQVAgYW5kIGRh dGFiYXNlIHVzZXIgbmFtZXMuIFNlZQorICAgICAgICA8eHJlZiBsaW5rZW5kPSJhdXRoLXVzZXJu YW1lLW1hcHMiLz4gZm9yIGRldGFpbHMuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRl bT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVy bT48bGl0ZXJhbD5sZGFwX21hcF9kbjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+ CisgICAgICAgPHBhcmE+CisgICAgICAgIFNldCB0byAxIHRvIHVzZSB0aGUgdXNlcidzIGZ1bGwg RGlzdGluZ3Vpc2hlZCBOYW1lIChlLmcuCisgICAgICAgIDxsaXRlcmFsPnVpZD1zb21ldXNlcixk Yz1leGFtcGxlLGRjPWNvbTwvbGl0ZXJhbD4pIGR1cmluZyB1c2VyIG5hbWUKKyAgICAgICAgbWFw cGluZy4gV2hlbiBzZXQgdG8gMCAodGhlIGRlZmF1bHQpLCBvbmx5IHRoZSBiYXJlIHVzZXJuYW1l IChpbiB0aGlzCisgICAgICAgIGV4YW1wbGUsIDxsaXRlcmFsPnNvbWV1c2VyPC9saXRlcmFsPikg d2lsbCBiZSBtYXBwZWQuIFRoaXMgb3B0aW9uIG1heQorICAgICAgICBvbmx5IGJlIHVzZWQgaW4g Y29uanVuY3Rpb24gd2l0aCB0aGUgPGxpdGVyYWw+bWFwPC9saXRlcmFsPiBvcHRpb24uCisgICAg ICAgPC9wYXJhPgorICAgICAgIDxub3RlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgIFdoZW4g dXNpbmcgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIGluIGNvbWJpbmF0aW9uIHdpdGggdGhp cyBvcHRpb24sCisgICAgICAgICBjYXJlIHNob3VsZCBiZSB0YWtlbiB0byBjb3JyZWN0bHkgYW5j aG9yIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gaW4KKyAgICAgICAgIG9yZGVyIHRvIGF2b2lkIGZh bHNlIHBvc2l0aXZlcy4gRm9yIGV4YW1wbGUsIHRoZSBhbmNob3JlZCBleHByZXNzaW9uCisgICAg ICAgICA8bGl0ZXJhbD4vLGRjPWV4YW1wbGUsZGM9Y29tJDwvbGl0ZXJhbD4gd2lsbCBtYXRjaCBv bmx5IEROcyB1bmRlcm5lYXRoCisgICAgICAgICB0aGUgPGxpdGVyYWw+ZXhhbXBsZS5jb208L2xp dGVyYWw+IHN1YnRyZWUsIHdoZXJlYXMgdGhlIHVuYW5jaG9yZWQKKyAgICAgICAgIDxsaXRlcmFs Pi9kYz1leGFtcGxlLGRjPWNvbTwvbGl0ZXJhbD4gY291bGQgbWF0Y2gKKyAgICAgICAgIDxsaXRl cmFsPnVpZD1tYWwsZGM9ZXhhbXBsZSxkYz1jb21tdW5pdHksZGM9aW52YWxpZDwvbGl0ZXJhbD4K KyAgICAgICAgIG9yIGFueSBudW1iZXIgb2YgRE5zIHRoYXQgYXJlIG5vdCByb290ZWQgYXQKKyAg ICAgICAgIDxsaXRlcmFsPmV4YW1wbGUuY29tPC9saXRlcmFsPi4gKFdoZXRoZXIgdGhlc2UgRE5z IGV4aXN0IGluIHRoZSBMREFQCisgICAgICAgICB0cmVlIHRvIGJlIGFidXNlZCBpcyBkZXBlbmRl bnQgb24gdGhlIExEQVAgZGVwbG95bWVudCBhbmQgb3V0c2lkZSB0aGUKKyAgICAgICAgIHNjb3Bl IG9mIHRoaXMgZG9jdW1lbnRhdGlvbi4pCisgICAgICAgIDwvcGFyYT4KKyAgICAgICA8L25vdGU+ CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KICAgICA8L3ZhcmlhYmxl bGlzdD4KICAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAppbmRleCBiNDQ5YzgzNGE5Li44YTBlYzcxNWU0IDEw MDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbGli cHEuc2dtbApAQCAtMTQ1NSw2ICsxNDU1LDI4IEBAIHBvc3RncmVzcWw6Ly8lMkZ2YXIlMkZsaWIl MkZwb3N0Z3Jlc3FsL2RibmFtZQogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50 cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0ibGlicHEtY29ubmVjdC1sZGFwdXNlciIgeHJl ZmxhYmVsPSJsZGFwdXNlciI+CisgICAgICA8dGVybT48bGl0ZXJhbD5sZGFwdXNlcjwvbGl0ZXJh bD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFdoZW4g Y29ubmVjdGluZyB0byBzZXJ2ZXJzIHRoYXQgdXNlIExEQVAgYXV0aGVudGljYXRpb24sIHRoaXMg b3B0aW9uCisgICAgICAgIHNldHMgdGhlIHVzZXJuYW1lIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8g YmluZCB0byB0aGUgTERBUCBzZXJ2ZXIuCisgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSA8cHJvZHVj dG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHVzZXIgbmFtZQorICAgICAgICAoPHhyZWYg bGlua2VuZD0ibGlicHEtY29ubmVjdC11c2VyIi8+KSBpcyB1c2VkIHRvIGJpbmQuCisgICAgICAg PC9wYXJhPgorCisgICAgICAgPG5vdGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgRm9yIHRo aXMgb3B0aW9uIHRvIGJlIHVzZWZ1bCwgdGhlIHNlcnZlciBtdXN0IGJlIGFwcHJvcHJpYXRlbHkK KyAgICAgICAgIGNvbmZpZ3VyZWQgd2l0aCBhIHVzZXIgbmFtZSBtYXAgKDx4cmVmIGxpbmtlbmQ9 ImF1dGgtdXNlcm5hbWUtbWFwcyIvPikuCisgICAgICAgICBTZXJ2ZXIgdmVyc2lvbnMgcHJpb3Ig dG8gMTUgYWx3YXlzIHVzZSB0aGUKKyAgICAgICAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9w cm9kdWN0bmFtZT4gdXNlciBuYW1lIHRvIGJpbmQgYW5kIGNhbm5vdCBtYWtlCisgICAgICAgICB1 c2Ugb2YgdGhpcyBvcHRpb24uCisgICAgICAgIDwvcGFyYT4KKyAgICAgICA8L25vdGU+CisgICAg ICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5 IGlkPSJsaWJwcS1jb25uZWN0LWdzc2VuY21vZGUiIHhyZWZsYWJlbD0iZ3NzZW5jbW9kZSI+CiAg ICAgICA8dGVybT48bGl0ZXJhbD5nc3NlbmNtb2RlPC9saXRlcmFsPjwvdGVybT4KICAgICAgIDxs aXN0aXRlbT4KQEAgLTc5MTgsNiArNzk0MCwxNiBAQCBteUV2ZW50UHJvYyhQR0V2ZW50SWQgZXZ0 SWQsIHZvaWQgKmV2dEluZm8sIHZvaWQgKnBhc3NUaHJvdWdoKQogICAgICA8L3BhcmE+CiAgICAg PC9saXN0aXRlbT4KIAorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICA8aW5kZXh0 ZXJtPgorICAgICAgIDxwcmltYXJ5PjxlbnZhcj5QR0xEQVBVU0VSPC9lbnZhcj48L3ByaW1hcnk+ CisgICAgICA8L2luZGV4dGVybT4KKyAgICAgIDxlbnZhcj5QR0xEQVBVU0VSPC9lbnZhcj4gYmVo YXZlcyB0aGUgc2FtZSBhcyB0aGUKKyAgICAgIDx4cmVmIGxpbmtlbmQ9ImxpYnBxLWNvbm5lY3Qt bGRhcHVzZXIiLz4gY29ubmVjdGlvbiBwYXJhbWV0ZXIuCisgICAgIDwvcGFyYT4KKyAgICA8L2xp c3RpdGVtPgorCiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4KICAgICAgIDxpbmRleHRlcm0+ CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2VuZC9saWJw cS9hdXRoLmMKaW5kZXggOGNjMjNlZjdmYi4uZWViNWE2ZDQ2ZiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvbGlicHEvYXV0aC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtMjQ3 OSw4ICsyNDc5LDEwIEBAIENoZWNrTERBUEF1dGgoUG9ydCAqcG9ydCkKIAljaGFyCSAgICpwYXNz d2Q7CiAJTERBUAkgICAqbGRhcDsKIAlpbnQJCQlyOworCWNvbnN0IGNoYXIgKmxkYXB1c2VyOwog CWNoYXIJICAgKmZ1bGx1c2VyOwogCWNvbnN0IGNoYXIgKnNlcnZlcl9uYW1lOworCWNvbnN0IGNo YXIgKm1hcF9uYW1lOwogCiAjaWZkZWYgSEFWRV9MREFQX0lOSVRJQUxJWkUKIApAQCAtMjUzMiw2 ICsyNTM0LDExIEBAIENoZWNrTERBUEF1dGgoUG9ydCAqcG9ydCkKIAkJcmV0dXJuIFNUQVRVU19F UlJPUjsKIAl9CiAKKwkvKiBJZiBhIFBHTERBUFVTRVIgd2FzIG5vdCBwcm92aWRlZCwgZGVmYXVs dCB0byBQR1VTRVIuICovCisJbGRhcHVzZXIgPSBwb3J0LT5sZGFwdXNlcjsKKwlpZiAoIWxkYXB1 c2VyIHx8ICFsZGFwdXNlclswXSkKKwkJbGRhcHVzZXIgPSBwb3J0LT51c2VyX25hbWU7CisKIAlp ZiAocG9ydC0+aGJhLT5sZGFwYmFzZWRuKQogCXsKIAkJLyoKQEAgLTI1NDMsNyArMjU1MCw3IEBA IENoZWNrTERBUEF1dGgoUG9ydCAqcG9ydCkKIAkJTERBUE1lc3NhZ2UgKmVudHJ5OwogCQljaGFy CSAgICphdHRyaWJ1dGVzW10gPSB7TERBUF9OT19BVFRSUywgTlVMTH07CiAJCWNoYXIJICAgKmRu OwotCQljaGFyCSAgICpjOworCQljb25zdCBjaGFyICpjOwogCQlpbnQJCQljb3VudDsKIAogCQkv KgpAQCAtMjU1Miw3ICsyNTU5LDcgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCQkgKiB0 aGVtIHdvdWxkIG1ha2UgaXQgcG9zc2libGUgdG8gaW5qZWN0IGFueSBraW5kIG9mIGN1c3RvbSBm aWx0ZXJzIGluCiAJCSAqIHRoZSBMREFQIGZpbHRlci4KIAkJICovCi0JCWZvciAoYyA9IHBvcnQt PnVzZXJfbmFtZTsgKmM7IGMrKykKKwkJZm9yIChjID0gbGRhcHVzZXI7ICpjOyBjKyspCiAJCXsK IAkJCWlmICgqYyA9PSAnKicgfHwKIAkJCQkqYyA9PSAnKCcgfHwKQEAgLTI1OTAsMTEgKzI1OTcs MTEgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCiAJCS8qIEJ1aWxkIGEgY3VzdG9tIGZp bHRlciBvciBhIHNpbmdsZSBhdHRyaWJ1dGUgZmlsdGVyPyAqLwogCQlpZiAocG9ydC0+aGJhLT5s ZGFwc2VhcmNoZmlsdGVyKQotCQkJZmlsdGVyID0gRm9ybWF0U2VhcmNoRmlsdGVyKHBvcnQtPmhi YS0+bGRhcHNlYXJjaGZpbHRlciwgcG9ydC0+dXNlcl9uYW1lKTsKKwkJCWZpbHRlciA9IEZvcm1h dFNlYXJjaEZpbHRlcihwb3J0LT5oYmEtPmxkYXBzZWFyY2hmaWx0ZXIsIGxkYXB1c2VyKTsKIAkJ ZWxzZSBpZiAocG9ydC0+aGJhLT5sZGFwc2VhcmNoYXR0cmlidXRlKQotCQkJZmlsdGVyID0gcHNw cmludGYoIiglcz0lcykiLCBwb3J0LT5oYmEtPmxkYXBzZWFyY2hhdHRyaWJ1dGUsIHBvcnQtPnVz ZXJfbmFtZSk7CisJCQlmaWx0ZXIgPSBwc3ByaW50ZigiKCVzPSVzKSIsIHBvcnQtPmhiYS0+bGRh cHNlYXJjaGF0dHJpYnV0ZSwgbGRhcHVzZXIpOwogCQllbHNlCi0JCQlmaWx0ZXIgPSBwc3ByaW50 ZigiKHVpZD0lcykiLCBwb3J0LT51c2VyX25hbWUpOworCQkJZmlsdGVyID0gcHNwcmludGYoIih1 aWQ9JXMpIiwgbGRhcHVzZXIpOwogCiAJCXIgPSBsZGFwX3NlYXJjaF9zKGxkYXAsCiAJCQkJCQkg IHBvcnQtPmhiYS0+bGRhcGJhc2VkbiwKQEAgLTI2MjEsMTIgKzI2MjgsMTIgQEAgQ2hlY2tMREFQ QXV0aChQb3J0ICpwb3J0KQogCQl7CiAJCQlpZiAoY291bnQgPT0gMCkKIAkJCQllcmVwb3J0KExP RywKLQkJCQkJCShlcnJtc2coIkxEQVAgdXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLCBwb3J0 LT51c2VyX25hbWUpLAorCQkJCQkJKGVycm1zZygiTERBUCB1c2VyIFwiJXNcIiBkb2VzIG5vdCBl eGlzdCIsIGxkYXB1c2VyKSwKIAkJCQkJCSBlcnJkZXRhaWwoIkxEQVAgc2VhcmNoIGZvciBmaWx0 ZXIgXCIlc1wiIG9uIHNlcnZlciBcIiVzXCIgcmV0dXJuZWQgbm8gZW50cmllcy4iLAogCQkJCQkJ CQkgICBmaWx0ZXIsIHNlcnZlcl9uYW1lKSkpOwogCQkJZWxzZQogCQkJCWVyZXBvcnQoTE9HLAot CQkJCQkJKGVycm1zZygiTERBUCB1c2VyIFwiJXNcIiBpcyBub3QgdW5pcXVlIiwgcG9ydC0+dXNl cl9uYW1lKSwKKwkJCQkJCShlcnJtc2coIkxEQVAgdXNlciBcIiVzXCIgaXMgbm90IHVuaXF1ZSIs IGxkYXB1c2VyKSwKIAkJCQkJCSBlcnJkZXRhaWxfcGx1cmFsKCJMREFQIHNlYXJjaCBmb3IgZmls dGVyIFwiJXNcIiBvbiBzZXJ2ZXIgXCIlc1wiIHJldHVybmVkICVkIGVudHJ5LiIsCiAJCQkJCQkJ CQkJICAiTERBUCBzZWFyY2ggZm9yIGZpbHRlciBcIiVzXCIgb24gc2VydmVyIFwiJXNcIiByZXR1 cm5lZCAlZCBlbnRyaWVzLiIsCiAJCQkJCQkJCQkJICBjb3VudCwKQEAgLTI2OTEsNyArMjY5OCw3 IEBAIENoZWNrTERBUEF1dGgoUG9ydCAqcG9ydCkKIAllbHNlCiAJCWZ1bGx1c2VyID0gcHNwcmlu dGYoIiVzJXMlcyIsCiAJCQkJCQkJcG9ydC0+aGJhLT5sZGFwcHJlZml4ID8gcG9ydC0+aGJhLT5s ZGFwcHJlZml4IDogIiIsCi0JCQkJCQkJcG9ydC0+dXNlcl9uYW1lLAorCQkJCQkJCWxkYXB1c2Vy LAogCQkJCQkJCXBvcnQtPmhiYS0+bGRhcHN1ZmZpeCA/IHBvcnQtPmhiYS0+bGRhcHN1ZmZpeCA6 ICIiKTsKIAogCXIgPSBsZGFwX3NpbXBsZV9iaW5kX3MobGRhcCwgZnVsbHVzZXIsIHBhc3N3ZCk7 CkBAIC0yNzEzLDkgKzI3MjAsMjIgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCiAJbGRh cF91bmJpbmQobGRhcCk7CiAJcGZyZWUocGFzc3dkKTsKKworCS8qCisJICogQ2hlY2sgdGhlIHVz ZXJtYXAgZm9yIGF1dGhvcml6YXRpb24uIElmIGxkYXBfbWFwX2RuIGlzIHNldCBhbmQgdGhlIGFk bWluCisJICogaGFzIHNldCB1cCBhbiBleHBsaWNpdCBtYXAsIHdlIHVzZSB0aGUgZnVsbCBkaXN0 aW5ndWlzZWQgbmFtZSBkdXJpbmcgdGhlCisJICogbWFwcGluZy4gIE90aGVyd2lzZSB3ZSBqdXN0 IGNoZWNrIHRoZSBiYXJlIExEQVAgdXNlcm5hbWUuCisJICovCisJbWFwX25hbWUgPSBsZGFwdXNl cjsKKwlpZiAocG9ydC0+aGJhLT51c2VybWFwICYmIHBvcnQtPmhiYS0+dXNlcm1hcFswXSAmJiBw b3J0LT5oYmEtPmxkYXBfbWFwX2RuKQorCQltYXBfbmFtZSA9IGZ1bGx1c2VyOworCisJciA9IGNo ZWNrX3VzZXJtYXAocG9ydC0+aGJhLT51c2VybWFwLCBwb3J0LT51c2VyX25hbWUsIG1hcF9uYW1l LAorCQkJCQkgIHBnX2tyYl9jYXNlaW5zX3VzZXJzKTsKKwogCXBmcmVlKGZ1bGx1c2VyKTsKIAot CXJldHVybiBTVEFUVVNfT0s7CisJcmV0dXJuIHI7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9saWJwcS9oYmEuYyBiL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCmluZGV4IDNiZTg3 NzhkMjEuLmRhOWUxYWU1MDkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCisr KyBiL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCkBAIC0xNTk2LDYgKzE1OTYsMjQgQEAgcGFyc2Vf aGJhX2xpbmUoVG9rZW5pemVkTGluZSAqdG9rX2xpbmUsIGludCBlbGV2ZWwpCiAJCQkqZXJyX21z ZyA9ICJjYW5ub3QgdXNlIGxkYXBzZWFyY2hhdHRyaWJ1dGUgdG9nZXRoZXIgd2l0aCBsZGFwc2Vh cmNoZmlsdGVyIjsKIAkJCXJldHVybiBOVUxMOwogCQl9CisKKwkJLyoKKwkJICogU2V0dGluZyBs ZGFwX21hcF9kbj0xIHRlbGxzIHRoZSBzZXJ2ZXIgdG8gdXNlIHRoZSBmdWxsIEROIHdoZW4KKwkJ ICogbWFwcGluZyB1c2VycywgYnV0IGl0IGRvZXNuJ3QgZG8gYW55dGhpbmcgaWYgdGhlcmUncyBu byB1c2VybWFwCisJCSAqIGRlZmluZWQuIFRvIHByZXZlbnQgY29uZnVzaW9uLCBkb24ndCBhbGxv dyB0aGlzIHRvIGJlIHNldCB3aXRob3V0IGEKKwkJICogbWFwLgorCQkgKi8KKwkJaWYgKHBhcnNl ZGxpbmUtPmxkYXBfbWFwX2RuCisJCQkmJiAhKHBhcnNlZGxpbmUtPnVzZXJtYXAgJiYgcGFyc2Vk bGluZS0+dXNlcm1hcFswXSkpCisJCXsKKwkJCWVyZXBvcnQoZWxldmVsLAorCQkJCQkoZXJyY29k ZShFUlJDT0RFX0NPTkZJR19GSUxFX0VSUk9SKSwKKwkJCQkJIGVycm1zZygiYXV0aGVudGljYXRp b24gb3B0aW9uIFwibGRhcF9tYXBfZG5cIiByZXF1aXJlcyBhcmd1bWVudCBcIm1hcFwiIHRvIGJl IHNldCIpLAorCQkJCQkgZXJyY29udGV4dCgibGluZSAlZCBvZiBjb25maWd1cmF0aW9uIGZpbGUg XCIlc1wiIiwKKwkJCQkJCQkJbGluZV9udW0sIEhiYUZpbGVOYW1lKSkpOworCQkJKmVycl9tc2cg PSAiYXV0aGVudGljYXRpb24gb3B0aW9uIFwibGRhcF9tYXBfZG5cIiByZXF1aXJlcyBhcmd1bWVu dCBcIm1hcFwiIHRvIGJlIHNldCI7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQogCX0KIAogCWlmIChw YXJzZWRsaW5lLT5hdXRoX21ldGhvZCA9PSB1YVJBRElVUykKQEAgLTE3MTMsOCArMTczMSw5IEBA IHBhcnNlX2hiYV9hdXRoX29wdChjaGFyICpuYW1lLCBjaGFyICp2YWwsIEhiYUxpbmUgKmhiYWxp bmUsCiAJCQloYmFsaW5lLT5hdXRoX21ldGhvZCAhPSB1YVBlZXIgJiYKIAkJCWhiYWxpbmUtPmF1 dGhfbWV0aG9kICE9IHVhR1NTICYmCiAJCQloYmFsaW5lLT5hdXRoX21ldGhvZCAhPSB1YVNTUEkg JiYKKwkJCWhiYWxpbmUtPmF1dGhfbWV0aG9kICE9IHVhTERBUCAmJgogCQkJaGJhbGluZS0+YXV0 aF9tZXRob2QgIT0gdWFDZXJ0KQotCQkJSU5WQUxJRF9BVVRIX09QVElPTigibWFwIiwgZ2V0dGV4 dF9ub29wKCJpZGVudCwgcGVlciwgZ3NzYXBpLCBzc3BpLCBhbmQgY2VydCIpKTsKKwkJCUlOVkFM SURfQVVUSF9PUFRJT04oIm1hcCIsIGdldHRleHRfbm9vcCgiaWRlbnQsIHBlZXIsIGdzc2FwaSwg c3NwaSwgbGRhcCwgYW5kIGNlcnQiKSk7CiAJCWhiYWxpbmUtPnVzZXJtYXAgPSBwc3RyZHVwKHZh bCk7CiAJfQogCWVsc2UgaWYgKHN0cmNtcChuYW1lLCAiY2xpZW50Y2VydCIpID09IDApCkBAIC0x OTMxLDYgKzE5NTAsMTQgQEAgcGFyc2VfaGJhX2F1dGhfb3B0KGNoYXIgKm5hbWUsIGNoYXIgKnZh bCwgSGJhTGluZSAqaGJhbGluZSwKIAkJUkVRVUlSRV9BVVRIX09QVElPTih1YUxEQVAsICJsZGFw c3VmZml4IiwgImxkYXAiKTsKIAkJaGJhbGluZS0+bGRhcHN1ZmZpeCA9IHBzdHJkdXAodmFsKTsK IAl9CisJZWxzZSBpZiAoc3RyY21wKG5hbWUsICJsZGFwX21hcF9kbiIpID09IDApCisJeworCQlS RVFVSVJFX0FVVEhfT1BUSU9OKHVhTERBUCwgImxkYXBfbWFwX2RuIiwgImxkYXAiKTsKKwkJaWYg KHN0cmNtcCh2YWwsICIxIikgPT0gMCkKKwkJCWhiYWxpbmUtPmxkYXBfbWFwX2RuID0gdHJ1ZTsK KwkJZWxzZQorCQkJaGJhbGluZS0+bGRhcF9tYXBfZG4gPSBmYWxzZTsKKwl9CiAJZWxzZSBpZiAo c3RyY21wKG5hbWUsICJrcmJfcmVhbG0iKSA9PSAwKQogCXsKIAkJaWYgKGhiYWxpbmUtPmF1dGhf bWV0aG9kICE9IHVhR1NTICYmCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bv c3RtYXN0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCmluZGV4IDlj MmM5ODYxNGEuLjZhMWMxMjQ5ZDYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIv cG9zdG1hc3Rlci5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBA IC0yMTY1LDYgKzIxNjUsOCBAQCByZXRyeTE6CiAJCQkJcG9ydC0+ZGF0YWJhc2VfbmFtZSA9IHBz dHJkdXAodmFscHRyKTsKIAkJCWVsc2UgaWYgKHN0cmNtcChuYW1lcHRyLCAidXNlciIpID09IDAp CiAJCQkJcG9ydC0+dXNlcl9uYW1lID0gcHN0cmR1cCh2YWxwdHIpOworCQkJZWxzZSBpZiAoc3Ry Y21wKG5hbWVwdHIsICJsZGFwdXNlciIpID09IDApCisJCQkJcG9ydC0+bGRhcHVzZXIgPSBwc3Ry ZHVwKHZhbHB0cik7CiAJCQllbHNlIGlmIChzdHJjbXAobmFtZXB0ciwgIm9wdGlvbnMiKSA9PSAw KQogCQkJCXBvcnQtPmNtZGxpbmVfb3B0aW9ucyA9IHBzdHJkdXAodmFscHRyKTsKIAkJCWVsc2Ug aWYgKHN0cmNtcChuYW1lcHRyLCAicmVwbGljYXRpb24iKSA9PSAwKQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvbGlicHEvaGJhLmggYi9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaAppbmRleCA4ZDlm MzgyMWIxLi44NzI5MDU2ZjA5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaAor KysgYi9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHR5cGVkZWYg c3RydWN0IEhiYUxpbmUKIAlpbnQJCQlsZGFwc2NvcGU7CiAJY2hhcgkgICAqbGRhcHByZWZpeDsK IAljaGFyCSAgICpsZGFwc3VmZml4OworCWJvb2wJCWxkYXBfbWFwX2RuOwogCUNsaWVudENlcnRN b2RlIGNsaWVudGNlcnQ7CiAJQ2xpZW50Q2VydE5hbWUgY2xpZW50Y2VydG5hbWU7CiAJY2hhcgkg ICAqa3JiX3JlYWxtOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaCBi L3NyYy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmgKaW5kZXggMDIwMTVlZmUxMy4uMjZmNzY0YWFl OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaAorKysgYi9zcmMvaW5j bHVkZS9saWJwcS9saWJwcS1iZS5oCkBAIC0yMDMsNiArMjAzLDExIEBAIHR5cGVkZWYgc3RydWN0 IFBvcnQKIAl2b2lkCSAgICpnc3M7CiAjZW5kaWYKIAorCS8qCisJICogTERBUCBzdHJ1Y3R1cmVz LgorCSAqLworCWNvbnN0IGNoYXIgKmxkYXB1c2VyOworCiAJLyoKIAkgKiBTU0wgc3RydWN0dXJl cy4KIAkgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYyBi L3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYwppbmRleCA0OWVlYzNlODM1Li5hOTRh MGZlNDdiIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMKKysr IGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtY29ubmVjdC5jCkBAIC0zNDQsNiArMzQ0LDEwIEBA IHN0YXRpYyBjb25zdCBpbnRlcm5hbFBRY29ubmluZm9PcHRpb24gUFFjb25uaW5mb09wdGlvbnNb XSA9IHsKIAkJIlRhcmdldC1TZXNzaW9uLUF0dHJzIiwgIiIsIDE1LCAvKiBzaXplb2YoInByZWZl ci1zdGFuZGJ5IikgPSAxNSAqLwogCW9mZnNldG9mKHN0cnVjdCBwZ19jb25uLCB0YXJnZXRfc2Vz c2lvbl9hdHRycyl9LAogCisJeyJsZGFwdXNlciIsICJQR0xEQVBVU0VSIiwgTlVMTCwgTlVMTCwK KwkJIkxEQVAtVXNlciIsICIiLCAyMCwKKwlvZmZzZXRvZihzdHJ1Y3QgcGdfY29ubiwgcGdsZGFw dXNlcil9LAorCiAJLyogVGVybWluYXRpbmcgZW50cnkgLS0tIE1VU1QgQkUgTEFTVCAqLwogCXtO VUxMLCBOVUxMLCBOVUxMLCBOVUxMLAogCU5VTEwsIE5VTEwsIDB9CkBAIC0xNDM2LDYgKzE0NDAs OCBAQCBjb25uZWN0T3B0aW9uczIoUEdjb25uICpjb25uKQogCQkJZ290byBvb21fZXJyb3I7CiAJ fQogCisJLyogVE9ETzogdW5zZXQgcGdsZGFwdXNlciBpZiBpdCdzIHRoZSBzYW1lIGFzIHBndXNl ciwgZm9yIGNvbXBhdGliaWxpdHk/ICovCisKIAkvKgogCSAqIE9ubHkgaWYgd2UgZ2V0IHRoaXMg ZmFyIGlzIGl0IGFwcHJvcHJpYXRlIHRvIHRyeSB0byBjb25uZWN0LiAoV2UgbmVlZCBhCiAJICog c3RhdGUgZmxhZywgcmF0aGVyIHRoYW4ganVzdCB0aGUgYm9vbGVhbiByZXN1bHQgb2YgdGhpcyBm dW5jdGlvbiwgaW4KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXByb3RvY29s My5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtcHJvdG9jb2wzLmMKaW5kZXggOWFiM2JmMWZj Yi4uNDJlNGU1MzVlYSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtcHJvdG9j b2wzLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtcHJvdG9jb2wzLmMKQEAgLTIyMjAs NiArMjIyMCw4IEBAIGJ1aWxkX3N0YXJ0dXBfcGFja2V0KGNvbnN0IFBHY29ubiAqY29ubiwgY2hh ciAqcGFja2V0LAogCQlBRERfU1RBUlRVUF9PUFRJT04oInJlcGxpY2F0aW9uIiwgY29ubi0+cmVw bGljYXRpb24pOwogCWlmIChjb25uLT5wZ29wdGlvbnMgJiYgY29ubi0+cGdvcHRpb25zWzBdKQog CQlBRERfU1RBUlRVUF9PUFRJT04oIm9wdGlvbnMiLCBjb25uLT5wZ29wdGlvbnMpOworCWlmIChj b25uLT5wZ2xkYXB1c2VyICYmIGNvbm4tPnBnbGRhcHVzZXJbMF0pCisJCUFERF9TVEFSVFVQX09Q VElPTigibGRhcHVzZXIiLCBjb25uLT5wZ2xkYXB1c2VyKTsKIAlpZiAoY29ubi0+c2VuZF9hcHBu YW1lKQogCXsKIAkJLyogVXNlIGFwcG5hbWUgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIHVzZSBmYWxs YmFjayAqLwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmggYi9z cmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1pbnQuaAppbmRleCA0OTA0NThhZGVmLi5lYThlMjNk YTA4IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1pbnQuaAorKysgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1pbnQuaApAQCAtMzkwLDYgKzM5MCw3IEBAIHN0cnVj dCBwZ19jb25uCiAJY2hhcgkgICAqa3Jic3J2bmFtZTsJCS8qIEtlcmJlcm9zIHNlcnZpY2UgbmFt ZSAqLwogCWNoYXIJICAgKmdzc2xpYjsJCQkvKiBXaGF0IEdTUyBsaWJyYXJ5IHRvIHVzZSAoImdz c2FwaSIgb3IKIAkJCQkJCQkJICogInNzcGkiKSAqLworCWNoYXIJICAgKnBnbGRhcHVzZXI7CQkv KiBMREFQIHVzZXJuYW1lLCBpZiBub3QgcGd1c2VyICovCiAJY2hhcgkgICAqc3NsX21pbl9wcm90 b2NvbF92ZXJzaW9uOwkvKiBtaW5pbXVtIFRMUyBwcm90b2NvbCB2ZXJzaW9uICovCiAJY2hhcgkg ICAqc3NsX21heF9wcm90b2NvbF92ZXJzaW9uOwkvKiBtYXhpbXVtIFRMUyBwcm90b2NvbCB2ZXJz aW9uICovCiAJY2hhcgkgICAqdGFyZ2V0X3Nlc3Npb25fYXR0cnM7CS8qIGRlc2lyZWQgc2Vzc2lv biBwcm9wZXJ0aWVzICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9sZGFwL3QvMDAxX2F1dGgucGwg Yi9zcmMvdGVzdC9sZGFwL3QvMDAxX2F1dGgucGwKaW5kZXggMWQxMjgyZjhkYy4uMDFiNTVjOTYx NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbGRhcC90LzAwMV9hdXRoLnBsCisrKyBiL3NyYy90ZXN0 L2xkYXAvdC8wMDFfYXV0aC5wbApAQCAtOSw3ICs5LDcgQEAgdXNlIFRlc3Q6Ok1vcmU7CiAKIGlm ICgkRU5We3dpdGhfbGRhcH0gZXEgJ3llcycpCiB7Ci0JcGxhbiB0ZXN0cyA9PiAyODsKKwlwbGFu IHRlc3RzID0+IDYwOwogfQogZWxzZQogewpAQCAtMjA2LDYgKzIwNiw3NyBAQCB0ZXN0X2FjY2Vz cygKIAkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QxLGRj PWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8KIAldLCk7CiAKK25vdGUgImlkZW50IG1hcHBp bmciOworCit1bmxpbmsoJG5vZGUtPmRhdGFfZGlyIC4gJy9wZ19oYmEuY29uZicpOworJG5vZGUt PmFwcGVuZF9jb25mKCdwZ19oYmEuY29uZicsCisJcXF7bG9jYWwgYWxsIGFsbCBsZGFwIGxkYXBz ZXJ2ZXI9JGxkYXBfc2VydmVyIGxkYXBwb3J0PSRsZGFwX3BvcnQgbGRhcHByZWZpeD0idWlkPSIg bGRhcHN1ZmZpeD0iLGRjPWV4YW1wbGUsZGM9bmV0IiBtYXA9bXltYXB9CispOworJG5vZGUtPnJl c3RhcnQ7CisKKyRFTlZ7IlBHUEFTU1dPUkQifSA9ICdzZWNyZXQxJzsKK3Rlc3RfYWNjZXNzKAor CSRub2RlLCAndGVzdDEnLCAyLAorCSdmYWlscyB3aXRob3V0IG1hcHBpbmcnLAorCWxvZ19saWtl ID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3Qx LGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJCXFyL25vIG1hdGNoIGluIHVzZXJt YXAgIm15bWFwIiBmb3IgdXNlciAidGVzdDEiLywKKwldKTsKKworJG5vZGUtPmFwcGVuZF9jb25m KCdwZ19pZGVudC5jb25mJywgcXF7bXltYXAgIC9eICB0ZXN0MX0pOworJG5vZGUtPnJlc3RhcnQ7 CisKK3Rlc3RfYWNjZXNzKAorCSRub2RlLCAndGVzdDEnLCAwLAorCSdzdWNjZWVkcyB3aXRoIG1h cHBpbmcnLAorCWxvZ19saWtlID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBp ZGVudGl0eT0idWlkPXRlc3QxLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJXSk7 CisKKyRFTlZ7IlBHUEFTU1dPUkQifSA9ICdzZWNyZXQyJzsKK3Rlc3RfYWNjZXNzKAorCSRub2Rl LCAndGVzdDInLCAyLAorCSdmYWlscyB3aXRoIHVubWFwcGVkIHJvbGUnLAorCWxvZ19saWtlID0+ IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QyLGRj PWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJCXFyL25vIG1hdGNoIGluIHVzZXJtYXAg Im15bWFwIiBmb3IgdXNlciAidGVzdDIiIGF1dGhlbnRpY2F0ZWQgYXMgInRlc3QyIi8sCisJXSk7 CisKKyRFTlZ7IlBHTERBUFVTRVIifSA9ICd0ZXN0Mic7Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwg J3Rlc3QxJywgMCwKKwknc3VjY2VlZHMgd2l0aCBkaWZmZXJlbnQgUEdMREFQVVNFUicsCisJbG9n X2xpa2UgPT4gWworCQlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9 dGVzdDIsZGM9ZXhhbXBsZSxkYz1uZXQiIG1ldGhvZD1sZGFwLywKKwkJcXIvY29ubmVjdGlvbiBh dXRob3JpemVkOiB1c2VyPXRlc3QxLywKKwldKTsKK2RlbGV0ZSAkRU5WeyJQR0xEQVBVU0VSIn07 CisKK3VubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ciskbm9kZS0+YXBw ZW5kX2NvbmYoJ3BnX2hiYS5jb25mJywKKwlxcXtsb2NhbCBhbGwgYWxsIGxkYXAgbGRhcHNlcnZl cj0kbGRhcF9zZXJ2ZXIgbGRhcHBvcnQ9JGxkYXBfcG9ydCBsZGFwcHJlZml4PSJ1aWQ9IiBsZGFw c3VmZml4PSIsZGM9ZXhhbXBsZSxkYz1uZXQiIG1hcD1teW1hcCBsZGFwX21hcF9kbj0xfQorKTsK K3VubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2lkZW50LmNvbmYnKTsKKyRub2RlLT5hcHBl bmRfY29uZigncGdfaWRlbnQuY29uZicsIHFxe215bWFwICAiLyxkYz1leGFtcGxlLGRjPW5ldFwk IiAgdGVzdDF9KTsKKyRub2RlLT5yZXN0YXJ0OworCiskRU5WeyJQR1BBU1NXT1JEIn0gPSAnc2Vj cmV0MSc7Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwgJ3Rlc3QxJywgMCwKKwknc3VjY2VlZHMgd2l0 aCBmdWxsIEROIG1hcHBpbmcnLAorCWxvZ19saWtlID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRo ZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QxLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9 bGRhcC8sCisJXSk7CisKKyRFTlZ7IlBHUEFTU1dPUkQifSA9ICdzZWNyZXQyJzsKK3Rlc3RfYWNj ZXNzKAorCSRub2RlLCAndGVzdDInLCAyLAorCSdmYWlscyB3aXRoIHVubWFwcGVkIHJvbGUgZm9y IGZ1bGwgRE4gbWFwcGluZycsCisJbG9nX2xpa2UgPT4gWworCQlxci9jb25uZWN0aW9uIGF1dGhl bnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDIsZGM9ZXhhbXBsZSxkYz1uZXQiIG1ldGhvZD1s ZGFwLywKKwkJcXIvbm8gbWF0Y2ggaW4gdXNlcm1hcCAibXltYXAiIGZvciB1c2VyICJ0ZXN0MiIg YXV0aGVudGljYXRlZCBhcyAidWlkPXRlc3QyLGRjPWV4YW1wbGUsZGM9bmV0Ii8sCisJXSk7CisK IG5vdGUgInNlYXJjaCtiaW5kIjsKIAogdW5saW5rKCRub2RlLT5kYXRhX2RpciAuICcvcGdfaGJh LmNvbmYnKTsKQEAgLTIyNyw2ICsyOTgsNzggQEAgdGVzdF9hY2Nlc3MoCiAJCXFyL2Nvbm5lY3Rp b24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MSxkYz1leGFtcGxlLGRjPW5ldCIg bWV0aG9kPWxkYXAvCiAJXSwpOwogCitub3RlICJzZWFyY2grYmluZCBpZGVudCBtYXBwaW5nIjsK KwordW5saW5rKCRub2RlLT5kYXRhX2RpciAuICcvcGdfaWRlbnQuY29uZicpOwordW5saW5rKCRu b2RlLT5kYXRhX2RpciAuICcvcGdfaGJhLmNvbmYnKTsKKyRub2RlLT5hcHBlbmRfY29uZigncGdf aGJhLmNvbmYnLAorCXFxe2xvY2FsIGFsbCBhbGwgbGRhcCBsZGFwc2VydmVyPSRsZGFwX3NlcnZl ciBsZGFwcG9ydD0kbGRhcF9wb3J0IGxkYXBiYXNlZG49IiRsZGFwX2Jhc2VkbiIgbWFwPW15bWFw fQorKTsKKyRub2RlLT5yZXN0YXJ0OworCiskRU5WeyJQR1BBU1NXT1JEIn0gPSAnc2VjcmV0MSc7 Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwgJ3Rlc3QxJywgMiwKKwknZmFpbHMgd2l0aG91dCBtYXBw aW5nJywKKwlsb2dfbGlrZSA9PiBbCisJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRl bnRpdHk9InVpZD10ZXN0MSxkYz1leGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCQlxci9u byBtYXRjaCBpbiB1c2VybWFwICJteW1hcCIgZm9yIHVzZXIgInRlc3QxIiBhdXRoZW50aWNhdGVk IGFzICJ0ZXN0MSIvLAorCV0pOworCiskbm9kZS0+YXBwZW5kX2NvbmYoJ3BnX2lkZW50LmNvbmYn LCBxcXtteW1hcCAgL14gIHRlc3QxfSk7Ciskbm9kZS0+cmVzdGFydDsKKwordGVzdF9hY2Nlc3Mo CisJJG5vZGUsICd0ZXN0MScsIDAsCisJJ3N1Y2NlZWRzIHdpdGggbWFwcGluZycsCisJbG9nX2xp a2UgPT4gWworCQlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVz dDEsZGM9ZXhhbXBsZSxkYz1uZXQiIG1ldGhvZD1sZGFwLywKKwldKTsKKworJEVOVnsiUEdQQVNT V09SRCJ9ID0gJ3NlY3JldDInOwordGVzdF9hY2Nlc3MoCisJJG5vZGUsICd0ZXN0MicsIDIsCisJ J2ZhaWxzIHdpdGggdW5tYXBwZWQgcm9sZScsCisJbG9nX2xpa2UgPT4gWworCQlxci9jb25uZWN0 aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDIsZGM9ZXhhbXBsZSxkYz1uZXQi IG1ldGhvZD1sZGFwLywKKwkJcXIvbm8gbWF0Y2ggaW4gdXNlcm1hcCAibXltYXAiIGZvciB1c2Vy ICJ0ZXN0MiIgYXV0aGVudGljYXRlZCBhcyAidGVzdDIiLywKKwldKTsKKworJEVOVnsiUEdMREFQ VVNFUiJ9ID0gJ3Rlc3QyJzsKK3Rlc3RfYWNjZXNzKAorCSRub2RlLCAndGVzdDEnLCAwLAorCSdz dWNjZWVkcyB3aXRoIGRpZmZlcmVudCBQR0xEQVBVU0VSJywKKwlsb2dfbGlrZSA9PiBbCisJCXFy L2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MixkYz1leGFtcGxl LGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCQlxci9jb25uZWN0aW9uIGF1dGhvcml6ZWQ6IHVzZXI9 dGVzdDEvLAorCV0pOworZGVsZXRlICRFTlZ7IlBHTERBUFVTRVIifTsKKwordW5saW5rKCRub2Rl LT5kYXRhX2RpciAuICcvcGdfaGJhLmNvbmYnKTsKKyRub2RlLT5hcHBlbmRfY29uZigncGdfaGJh LmNvbmYnLAorCXFxe2xvY2FsIGFsbCBhbGwgbGRhcCBsZGFwc2VydmVyPSRsZGFwX3NlcnZlciBs ZGFwcG9ydD0kbGRhcF9wb3J0IGxkYXBiYXNlZG49IiRsZGFwX2Jhc2VkbiIgbWFwPW15bWFwIGxk YXBfbWFwX2RuPTF9CispOwordW5saW5rKCRub2RlLT5kYXRhX2RpciAuICcvcGdfaWRlbnQuY29u ZicpOworJG5vZGUtPmFwcGVuZF9jb25mKCdwZ19pZGVudC5jb25mJywgcXF7bXltYXAgICIvLGRj PWV4YW1wbGUsZGM9bmV0XCQiICB0ZXN0MX0pOworJG5vZGUtPnJlc3RhcnQ7CisKKyRFTlZ7IlBH UEFTU1dPUkQifSA9ICdzZWNyZXQxJzsKK3Rlc3RfYWNjZXNzKAorCSRub2RlLCAndGVzdDEnLCAw LAorCSdzdWNjZWVkcyB3aXRoIGZ1bGwgRE4gbWFwcGluZycsCisJbG9nX2xpa2UgPT4gWworCQlx ci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDEsZGM9ZXhhbXBs ZSxkYz1uZXQiIG1ldGhvZD1sZGFwLywKKwldKTsKKworJEVOVnsiUEdQQVNTV09SRCJ9ID0gJ3Nl Y3JldDInOwordGVzdF9hY2Nlc3MoCisJJG5vZGUsICd0ZXN0MicsIDIsCisJJ2ZhaWxzIHdpdGgg dW5tYXBwZWQgcm9sZSBmb3IgZnVsbCBETiBtYXBwaW5nJywKKwlsb2dfbGlrZSA9PiBbCisJCXFy L2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MixkYz1leGFtcGxl LGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCQlxci9ubyBtYXRjaCBpbiB1c2VybWFwICJteW1hcCIg Zm9yIHVzZXIgInRlc3QyIiBhdXRoZW50aWNhdGVkIGFzICJ1aWQ9dGVzdDIsZGM9ZXhhbXBsZSxk Yz1uZXQiLywKKwldKTsKKwogbm90ZSAibXVsdGlwbGUgc2VydmVycyI7CiAKIHVubGluaygkbm9k ZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ci0tIAoyLjI1LjEKCg== --_002_1a61806047c536e7528b943d0cfe12608118ca31camelvmwarecom_--