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 1nKmGB-0003na-4O for pgsql-hackers@arkaria.postgresql.org; Thu, 17 Feb 2022 19:16:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nKmG9-0008UH-CU for pgsql-hackers@arkaria.postgresql.org; Thu, 17 Feb 2022 19:16:09 +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 1nKmG8-0008U6-Qp for pgsql-hackers@lists.postgresql.org; Thu, 17 Feb 2022 19:16:09 +0000 Received: from mail-mw2nam08on2045.outbound.protection.outlook.com ([40.107.101.45] helo=NAM04-MW2-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 1nKmG3-00064B-G3 for pgsql-hackers@postgresql.org; Thu, 17 Feb 2022 19:16:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c1yLJq/zm+0MKN+bPGBvPYAwgexS4TyvOu3FELfIYeBWKF+uOcuKy3JOEmLndMiezISjRl6Zc12B39LC2iIRBpuQEuyB/qWPysgOvq1OiZIagmrLbj4HccqhlR3mepbSq/zZhmLNfK7lx29mgz1299fg2f2Ze9Tc8eaO0anM5O+eoJqZ4rUsWyVwDQNW+pTW4uTpVj/yNAUV8eLLpob4oVZq0ABLj3w6YBHEZDqjYWy5karTCPcgtmWF/lFyUPDZdCwDK8rlqTjQ5gjos4fs6KZh/uzGPodDtab4+RIkHWEk5PJZqOZWz/AuHAXfvNNjqTdun9ucMMUGwsUqvvbBEw== 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=uDm8U6wkVt2CeEmhw+GYAN5kwu1SUU43Hfx7y3NS1r4=; b=kcJK3Y3nABWRYZTPCV2le1USp9I1ej7VaiEqYw+31fEAUo95YF0VdHZki8uIHeGYbA4B0rn3IeBx4Q6uMuDY1Egfzhu+CmaXLnwZgr65UGXFyFjBdBvNM011K6uX1fqTj0SZmyDvhb2+YJLJikTs5QKXMZsRAUzfZWuqHWRErngtj8izkNhTLFDVvmj5PwR06HqdnUDPF2wqfTE8enz41CBKEiv5o6l+gIg9nHWFbTJI0zv9oX4fiXnVTJYXy5rGR4x2mDmsug+Kvv4LL1GCrKcf1zDbeRl1cYd9N1pCIzXZ6DnT6Kxq84QQ2qxTYd5Tb0Z9dOFdMGnmQD5n1LneGw== 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=uDm8U6wkVt2CeEmhw+GYAN5kwu1SUU43Hfx7y3NS1r4=; b=uskqDjF6Xcc/0+YJMZuDvp7W5/+yvifxpqLIDVETeF42Y+bq268a9HHJIhnFAszMx/PshtJ0Q6/cHZc/jwGo97p1FEW8yKTHfC1Da7fg7av44my7/sDL30B/eGkNDS2lXiTqTjQrrYkgj8c/BP4qs4VIrTzko0ERkqC4BwrylRc= Received: from CO1PR05MB8087.namprd05.prod.outlook.com (2603:10b6:303:db::16) by BN7PR05MB4211.namprd05.prod.outlook.com (2603:10b6:406:85::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.8; Thu, 17 Feb 2022 19:15:58 +0000 Received: from CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::615f:cd8c:40dd:8a99]) by CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::615f:cd8c:40dd:8a99%4]) with mapi id 15.20.5017.009; Thu, 17 Feb 2022 19:15:58 +0000 From: Jacob Champion To: "pgsql-hackers@postgresql.org" CC: "magnus@hagander.net" Subject: Re: [PATCH] Support pg_ident mapping for LDAP Thread-Topic: [PATCH] Support pg_ident mapping for LDAP Thread-Index: AQHXnp/8Me+eqJaobEuyik0A7q2vTauPUrYAgAAycoCAKhnvAIAASbQAgAABkwCAAAHiAIAwrgWAgK6ODgA= Date: Thu, 17 Feb 2022 19:15:57 +0000 Message-ID: <02ed821b2d992e2af97a8ae5b7ac44df41bf4214.camel@vmware.com> References: <1a61806047c536e7528b943d0cfe12608118ca31.camel@vmware.com> <2c90b6310ff516000c46b1a83ea412b613d72537.camel@vmware.com> <707358a252b85a6b71c611e39dbe04e0db5860b2.camel@vmware.com> <7a10cdac698bab0272019b6a89f8f9669db9a55e.camel@vmware.com> <7c50e5bf7f840800ff6b2c0fc8caf5a59d3e6fbc.camel@vmware.com> <459450db96ebe9311dd57f6708f0994dc23bdb63.camel@vmware.com> In-Reply-To: <459450db96ebe9311dd57f6708f0994dc23bdb63.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: 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: 56a964bd-f384-49c4-f31b-08d9f249ed81 x-ms-traffictypediagnostic: BN7PR05MB4211:EE_ x-ms-exchange-atpmessageproperties: SA|SL x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3276; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I5pgP6USZDahfV6fH4v1je6atIdiar49WK1xXQrCFken+gHUCcEizBpZrrPswBexwJTDkm5mBRjQALOO8uf4tNGNqeaUnUOtKnOoQxZXbsz/Qjg3Qx5MCId3uNptAX8BBikv/pU2O0QVGeLparJjPsC27fKb7lnQahdY/ZsK68lAloUDpDmu7UOq/KX3cdBtQdVeIwspPypjeqDs2Omjn34fXbuiu/P557ZPwWj6jMwVCJJ18Krf42iwpLWhxKFF5fCgG5qUZ8lnl+Edj5zzJhYMLgkLdHCDGvRTUaldBTLSr6B5T42FdbL+JAbwCpIg/jNvfW7X/q+a8rJ3Titu+DPN0R7tRrsAkcadD7x5Q2lcj8qWMWjfTWwozVAXozk4ON8K0PNKL8c3ApNxhgCN6gWsujnb3KON6zRoyf0okddnyi+O+R/ZNtRe85vfVk1X2of/5vHgV7fkIvgjhNFIk0a2C+MGSmZOFl3D+T2hK/MEgwXqitDHFVpsG2wjhH105RgdIu1ejpcmXW4xY6tNRksC5h3bZLI8oPdcg3lsGJSNMGK+sldcKt6o8kogiRRr+vdrh0j5Ii2PvgOQgEmaJM6x8ioecQ+8xkQqiVqxNOf1lJFRy/tFdiAP1t88i+FrQkBx430lSoEgZj8CZDZ6BEpOWoqSsMm37K63iG5vAQ/L7t/ycuu9SCVGvwBpt4W+OKp7PCVPrUaTaV8w+z50YQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR05MB8087.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(26005)(36756003)(558084003)(508600001)(86362001)(6486002)(186003)(66476007)(6512007)(66946007)(6506007)(2906002)(71200400001)(66446008)(38100700002)(122000001)(66556008)(2616005)(38070700005)(99936003)(5660300002)(8936002)(4001150100001)(76116006)(6916009)(4326008)(316002)(8676002)(64756008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V1Rza0hoOVZKVFllRGJiNk9kU2tadnFLa2diS2hzaFhITlgweUJiblVmT1E3?= =?utf-8?B?blgzYkRUcnRFU1JCTUg4OTFONjRreEl6L3Y5MVByNVJEcFk0c0xVbU1WT0Fo?= =?utf-8?B?UXkwZ3g1alRnZlYvU3lBVS9zTnY4ME4xdCtXZGhMNlhtc1h4QWl3U3g2QWxI?= =?utf-8?B?YnZoM3hLYXExTWRrM0QxTGhDT1N3YkpvVE40eE90MUVMNkFsdDdmNVVkaUw1?= =?utf-8?B?VjRMK0EwRTRpOG1QQTJBMmI5c1I4TzJWb2s1SUxETTh1cHcrOUVlMFdyUmtU?= =?utf-8?B?bk00cmhwNDg0SVFncktXbHRGYVBMRUNFY05FYlNDNjNsODg2aHA0OFZFZ3Ax?= =?utf-8?B?RVE4SXllQ2NkZkREU25DRlZ0R3B0M1J2SHBqUnVISGNPSHZiUitlTnQ1UVM5?= =?utf-8?B?Tk15eEVyVW5JNGduS0FERC94R1JtVWZyYlVhaEtnMVJkVVF6ZmdiL01sSTg0?= =?utf-8?B?SFZhN0NIMWV5SHhqRnM5OTlPY0J4bHlEUXB3b1Q0Nlo2Q2FBSndkbld4amZF?= =?utf-8?B?QjZ4TEsvYnM0VGJnOHN6M2h0amNXTFllTGw0RFlJZUoxeXBqTTBvNktZWm9S?= =?utf-8?B?ZzNObTR4L0xzQThMRytKazRjeEo2Z01ESG82NFdkWU5PRWdIdjhqZml0YWZt?= =?utf-8?B?aHppcEVWN2JmMFE5TVVxVU83SWN3bDlERWQzaDh1eWRIakcxQklTcFoxSW5R?= =?utf-8?B?bFQ5UWZYY3JwT0dCbmRvVjlmU0YzVnptR0hjd21ONkVldWhDNlVlei96c3RF?= =?utf-8?B?QkNjd3ZjaHJWQUNIRzVTbWczRGZsb3V3MjJiY2hhSkFuUVdEYkFZbG03WEcy?= =?utf-8?B?VWduOHljZndoTlFnd3U1QmFMZGxyRUMxdUlTcjRBenRlRUVPaExSNjlqS0xB?= =?utf-8?B?Y0Y4dDhoMGQ4TUJKdGJpZEVDbmhLV05aeG83L3RwZ3IrcnpYY09HR0JkMDNj?= =?utf-8?B?L2crdnhQb3lTZHQ5N2NBbEFhbWhic3lTTGFxdE4vcFZaNGl5cEhmMzNNQ1JB?= =?utf-8?B?MTFyS3R3a0V3THcyWHQyemZwVnRXaEJKRVc0UllzZ0dwcUNLK1lxUk5Iek9y?= =?utf-8?B?c0EwK2FoNTFjalFTeXBybXJXalVtSFRTbGR6UXRSMGR3TmpsU0YxNnBtUFNP?= =?utf-8?B?NmZROU9sQzJvYUFhUFhqa0JUSGNkUVJBM3lsWEk0ekVqbGhlM1pBUnBwZGFy?= =?utf-8?B?T0FrZlpRS2h6a1JTVXo2N1lKeFJzMTJjaFNzelIyQ2l4WmZkSjZGMllGTER5?= =?utf-8?B?QUN4VndnMXN5cHVMejhiNktKSmRaUnVVUlpuaDlaSE5YcGZ1dmIzaFZUMTBE?= =?utf-8?B?bjg2QkMxOEJEZFZkVGc3aWlKblc1VVBmdUtTNkwrZzRCSDBoUTl6VmxSOHNX?= =?utf-8?B?ejVVU3RpVkhsdURMdFltTkFkYlgvd05TcDRKNC9HaWxCaWk0Nms1d3BpNDVs?= =?utf-8?B?M0cxYURnTFVEQlFjcEg3NGhHa1VJdlFCWVdzZFgvOUJDSXZUUjRnQml1WXpw?= =?utf-8?B?NkFNUkdyWWpKTFFsL09KT1JobXI4dVBMSWRNS2xsNUxsY1U4UVoxRlRwaU9C?= =?utf-8?B?NUtCUDRaSnhiL2tPdjNEZ2hPS2dFTnBBTUwwVG01MlBnN1IwdGY2SFVYbXA4?= =?utf-8?B?YXpwM2RJaFFwWXp2WUFFclIxRThFbmptMmpNSEhlQXJkaWd1ckhZK1R5amd6?= =?utf-8?B?YUsyVUgwVTFta3hpZVdYWnduK3d4R0Q4eGdDSVhBZnJwYmtkekJrWWRnQ1Mx?= =?utf-8?B?VW15ZkVVY0treTdVZ0RVRWlYeGZYVDkzYkFrSWQwWFYyNHBsVFFIMWlBTWI2?= =?utf-8?B?ZzZCQWF5TVptYTBhK1hEL2lEby8rRnpTTHkwbzJyVnVEWlN5VlZxRXVVVVFn?= =?utf-8?B?ckpQdVVkdWF5ekF6eXBnTE1oR0N4L2VBQ2lGamd3RlQ5azYwSEgvWTRKQkgw?= =?utf-8?B?TXlBbHpPbUZDSGhVeWpqRGFtRXdxNzdhR1NlS3VmT2xJNUJ1cjBYbXR6cGQy?= =?utf-8?B?UlVLSlVTUk80NzEyZDIwUWJaN1VJbVc1T082MHNUWGJzNUEyWnRUeGdZT0FB?= =?utf-8?B?ZWFVbE5kUk5Gc015MnFMcHI1NFFYbFRQbXZEdWV6RFdONi90K1BJeW14SnBp?= =?utf-8?B?MHdpZVpYTTh4cThlSTE2VCswT1BNTEkwTEs0UEpCQzVJcEFMNi9jbTNVclBQ?= =?utf-8?Q?tYGdP3R39BZwGSQ93kf2UDk=3D?= Content-Type: multipart/mixed; boundary="_002_02ed821b2d992e2af97a8ae5b7ac44df41bf4214camelvmwarecom_" 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: 56a964bd-f384-49c4-f31b-08d9f249ed81 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 19:15:57.9793 (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: CXkUnNPzG6ghITh5uOif62hARDxdT7dQfwIj77doCVl20VG/0s+q/byYCmblNvxGmKn1OLYvrcKxFgnODJh4Jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR05MB4211 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_02ed821b2d992e2af97a8ae5b7ac44df41bf4214camelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gRnJpLCAyMDIxLTEwLTI5IGF0IDE3OjM4ICswMDAwLCBKYWNvYiBDaGFtcGlvbiB3cm90ZToN Cj4gdjMgYXR0YWNoZWQsIHdoaWNoIHVzZXMgdGhlIGFib3ZlIG5hbWluZyBzY2hlbWUgYW5kIHJl bW92ZXMgdGhlIHN0YWxlDQo+IFRPRE8uIENoYW5nZXMgaW4gc2luY2UtdjIuDQoNCnY0IHJlYmFz ZXMgb3ZlciB0aGUgcmVjZW50IFRBUCBjaGFuZ2VzLg0KDQotLUphY29iDQo= --_002_02ed821b2d992e2af97a8ae5b7ac44df41bf4214camelvmwarecom_ Content-Type: text/x-patch; name="v4-Allow-user-name-mapping-with-LDAP.patch" Content-Description: v4-Allow-user-name-mapping-with-LDAP.patch Content-Disposition: attachment; filename="v4-Allow-user-name-mapping-with-LDAP.patch"; size=22271; creation-date="Thu, 17 Feb 2022 19:15:56 GMT"; modification-date="Thu, 17 Feb 2022 19:15:56 GMT" Content-ID: <318D1A1A565A7E408EFF63C8848BDECD@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBlMGYzNjcyNTAxMzYxMGVhZGU5YmM4MzQxNGM0ZDFmNWFkZWExN2UyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IE1vbiwgMzAgQXVnIDIwMjEgMTY6Mjk6NTkgLTA3MDAKU3ViamVjdDogW1BBVENIIHY0 XSBBbGxvdyB1c2VyIG5hbWUgbWFwcGluZyB3aXRoIExEQVAKCkVuYWJsZSB0aGUgYG1hcGAgSEJB IG9wdGlvbiBmb3IgdGhlIGxkYXAgYXV0aCBtZXRob2QuIFRvIG1ha2UgZWZmZWN0aXZlCnVzZSBv ZiB0aGlzIGZyb20gdGhlIGNsaWVudCBzaWRlLCB0aGUgYXV0aHVzZXIgY29ubmVjdGlvbiBvcHRp b24gKGFuZCBhCmNvcnJlc3BvbmRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGUsIFBHQVVUSFVTRVIp IGhhcyBiZWVuIGFkZGVkOyBpdApkZWZhdWx0cyB0byB0aGUgUEdVU0VSLgoKRm9yIG1vcmUgYWR2 YW5jZWQgbWFwcGluZywgdGhlIGxkYXBfbWFwX2RuIEhCQSBvcHRpb24gY2FuIGJlIHNldCB0byB1 c2UKdGhlIGZ1bGwgdXNlciBEaXN0aW5ndWlzaGVkIE5hbWUgZHVyaW5nIHVzZXIgbWFwcGluZy4g KFRoaXMgcGFyYWxsZWxzCnRoZSBpbmNsdWRlX3JlYWxtPTEgYW5kIGNsaWVudG5hbWU9RE4gb3B0 aW9ucy4pCi0tLQogLi4uL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAg IHwgICAyICstCiBjb250cmliL3Bvc3RncmVzX2Zkdy9vcHRpb24uYyAgICAgICAgICAgICAgICAg fCAgIDggKy0KIGRvYy9zcmMvc2dtbC9jbGllbnQtYXV0aC5zZ21sICAgICAgICAgICAgICAgICB8 ICA0NSArKysrKy0KIGRvYy9zcmMvc2dtbC9saWJwcS5zZ21sICAgICAgICAgICAgICAgICAgICAg ICB8ICAzMiArKysrCiBkb2Mvc3JjL3NnbWwvcG9zdGdyZXMtZmR3LnNnbWwgICAgICAgICAgICAg ICAgfCAgIDMgKy0KIHNyYy9iYWNrZW5kL2xpYnBxL2F1dGguYyAgICAgICAgICAgICAgICAgICAg ICB8ICAzOCArKystLQogc3JjL2JhY2tlbmQvbGlicHEvaGJhLmMgICAgICAgICAgICAgICAgICAg ICAgIHwgIDI5ICsrKy0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jICAgICAg ICAgICB8ICAgMiArCiBzcmMvaW5jbHVkZS9saWJwcS9oYmEuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaCAgICAgICAgICAgICAgICAg IHwgICA2ICsKIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYyAgICAgICAgICAgICB8 ICAgNCArCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1wcm90b2NvbDMuYyAgICAgICAgICAgfCAg IDIgKwogc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmggICAgICAgICAgICAgIHwgICAx ICsKIHNyYy90ZXN0L2xkYXAvdC8wMDFfYXV0aC5wbCAgICAgICAgICAgICAgICAgICB8IDE0MyAr KysrKysrKysrKysrKysrKysKIDE0IGZpbGVzIGNoYW5nZWQsIDI5NyBpbnNlcnRpb25zKCspLCAx OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3Rl ZC9wb3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdy ZXNfZmR3Lm91dAppbmRleCBiMmUwMmNhZWZlLi5jMmVjYTY1MjFhIDEwMDY0NAotLS0gYS9jb250 cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTE4OCw3ICsxODgsNyBA QCBBTFRFUiBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIgdGVzdHNlcnZlcjEKIEFMVEVS IFVTRVIgTUFQUElORyBGT1IgcHVibGljIFNFUlZFUiB0ZXN0c2VydmVyMQogCU9QVElPTlMgKEFE RCBzc2xtb2RlICdyZXF1aXJlJyk7CiBFUlJPUjogIGludmFsaWQgb3B0aW9uICJzc2xtb2RlIgot SElOVDogIFZhbGlkIG9wdGlvbnMgaW4gdGhpcyBjb250ZXh0IGFyZTogdXNlciwgcGFzc3dvcmQs IHNzbHBhc3N3b3JkLCBwYXNzd29yZF9yZXF1aXJlZCwgc3NsY2VydCwgc3Nsa2V5CitISU5UOiAg VmFsaWQgb3B0aW9ucyBpbiB0aGlzIGNvbnRleHQgYXJlOiB1c2VyLCBwYXNzd29yZCwgc3NscGFz c3dvcmQsIGF1dGh1c2VyLCBwYXNzd29yZF9yZXF1aXJlZCwgc3NsY2VydCwgc3Nsa2V5CiAtLSBC dXQgd2UgY2FuIGFkZCB2YWxpZCBvbmVzIGZpbmUKIEFMVEVSIFVTRVIgTUFQUElORyBGT1IgcHVi bGljIFNFUlZFUiB0ZXN0c2VydmVyMQogCU9QVElPTlMgKEFERCBzc2xwYXNzd29yZCAnZHVtbXkn KTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L29wdGlvbi5jIGIvY29udHJpYi9w b3N0Z3Jlc19mZHcvb3B0aW9uLmMKaW5kZXggZmMzY2U2YTUzYS4uZDA3MzQxOGE1ZCAxMDA2NDQK LS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvb3B0aW9uLmMKKysrIGIvY29udHJpYi9wb3N0Z3Jl c19mZHcvb3B0aW9uLmMKQEAgLTMxNiwxMCArMzE2LDEyIEBAIEluaXRQZ0Zkd09wdGlvbnModm9p ZCkKIAkJcG9wdC0+a2V5d29yZCA9IGxvcHQtPmtleXdvcmQ7CiAKIAkJLyoKLQkJICogInVzZXIi IGFuZCBhbnkgc2VjcmV0IG9wdGlvbnMgYXJlIGFsbG93ZWQgb25seSBvbiB1c2VyIG1hcHBpbmdz LgotCQkgKiBFdmVyeXRoaW5nIGVsc2UgaXMgYSBzZXJ2ZXIgb3B0aW9uLgorCQkgKiAidXNlciIs ICJhdXRodXNlciIsIGFuZCBhbnkgc2VjcmV0IG9wdGlvbnMgYXJlIGFsbG93ZWQgb25seSBvbiB1 c2VyCisJCSAqIG1hcHBpbmdzLiAgRXZlcnl0aGluZyBlbHNlIGlzIGEgc2VydmVyIG9wdGlvbi4K IAkJICovCi0JCWlmIChzdHJjbXAobG9wdC0+a2V5d29yZCwgInVzZXIiKSA9PSAwIHx8IHN0cmNo cihsb3B0LT5kaXNwY2hhciwgJyonKSkKKwkJaWYgKHN0cmNtcChsb3B0LT5rZXl3b3JkLCAidXNl ciIpID09IDAgfHwKKwkJCXN0cmNtcChsb3B0LT5rZXl3b3JkLCAiYXV0aHVzZXIiKSA9PSAwIHx8 CisJCQlzdHJjaHIobG9wdC0+ZGlzcGNoYXIsICcqJykpCiAJCQlwb3B0LT5vcHRjb250ZXh0ID0g VXNlck1hcHBpbmdSZWxhdGlvbklkOwogCQllbHNlCiAJCQlwb3B0LT5vcHRjb250ZXh0ID0gRm9y ZWlnblNlcnZlclJlbGF0aW9uSWQ7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY2xpZW50LWF1 dGguc2dtbCBiL2RvYy9zcmMvc2dtbC9jbGllbnQtYXV0aC5zZ21sCmluZGV4IDAyZjA0ODkxMTIu LmQ5MDJlYjlkMDEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jbGllbnQtYXV0aC5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9jbGllbnQtYXV0aC5zZ21sCkBAIC0xNjI0LDEwICsxNjI0LDExIEBA IG9taWNyb24gICAgICAgICBicnlhbmggICAgICAgICAgICAgICAgICBndWVzdDEKICAgICBUaGlz IGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBvcGVyYXRlcyBzaW1pbGFybHkgdG8KICAgICA8bGl0ZXJh bD5wYXNzd29yZDwvbGl0ZXJhbD4gZXhjZXB0IHRoYXQgaXQgdXNlcyBMREFQCiAgICAgYXMgdGhl IHBhc3N3b3JkIHZlcmlmaWNhdGlvbiBtZXRob2QuIExEQVAgaXMgdXNlZCBvbmx5IHRvIHZhbGlk YXRlCi0gICAgdGhlIHVzZXIgbmFtZS9wYXNzd29yZCBwYWlycy4gVGhlcmVmb3JlIHRoZSB1c2Vy IG11c3QgYWxyZWFkeQotICAgIGV4aXN0IGluIHRoZSBkYXRhYmFzZSBiZWZvcmUgTERBUCBjYW4g YmUgdXNlZCBmb3IKLSAgICBhdXRoZW50aWNhdGlvbi4KLSAgIDwvcGFyYT4KKyAgICB0aGUgdXNl ciBuYW1lL3Bhc3N3b3JkIHBhaXJzLiBUaGVyZWZvcmUgZGF0YWJhc2UgdXNlcnMgbXVzdCBhbHJl YWR5CisgICAgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIGJlZm9yZSBMREFQIGNhbiBiZSB1c2VkIGZv ciBhdXRoZW50aWNhdGlvbi4gVXNlciBuYW1lCisgICAgbWFwcGluZyBjYW4gYmUgdXNlZCB0byBh bGxvdyB0aGUgTERBUCB1c2VyIG5hbWUgdG8gYmUgZGlmZmVyZW50IGZyb20gdGhlCisgICAgZGF0 YWJhc2UgdXNlciBuYW1lLgorPC9wYXJhPgogCiAgICA8cGFyYT4KICAgICBMREFQIGF1dGhlbnRp Y2F0aW9uIGNhbiBvcGVyYXRlIGluIHR3byBtb2Rlcy4gSW4gdGhlIGZpcnN0IG1vZGUsCkBAIC0x NzAzLDYgKzE3MDQsNDIgQEAgb21pY3JvbiAgICAgICAgIGJyeWFuaCAgICAgICAgICAgICAgICAg IGd1ZXN0MQogICAgICAgIDwvcGFyYT4KICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlz dGVudHJ5PgorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PGxpdGVyYWw+bWFwPC9s aXRlcmFsPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAg QWxsb3dzIGZvciBtYXBwaW5nIGJldHdlZW4gTERBUCBhbmQgZGF0YWJhc2UgdXNlciBuYW1lcy4g U2VlCisgICAgICAgIDx4cmVmIGxpbmtlbmQ9ImF1dGgtdXNlcm5hbWUtbWFwcyIvPiBmb3IgZGV0 YWlscy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3Rl bnRyeT4KKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPmxkYXBfbWFw X2RuPC9saXRlcmFsPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAg ICAgICAgU2V0IHRvIDEgdG8gdXNlIHRoZSB1c2VyJ3MgZnVsbCBEaXN0aW5ndWlzaGVkIE5hbWUg KGUuZy4KKyAgICAgICAgPGxpdGVyYWw+dWlkPXNvbWV1c2VyLGRjPWV4YW1wbGUsZGM9Y29tPC9s aXRlcmFsPikgZHVyaW5nIHVzZXIgbmFtZQorICAgICAgICBtYXBwaW5nLiBXaGVuIHNldCB0byAw ICh0aGUgZGVmYXVsdCksIG9ubHkgdGhlIGJhcmUgdXNlcm5hbWUgKGluIHRoaXMKKyAgICAgICAg ZXhhbXBsZSwgPGxpdGVyYWw+c29tZXVzZXI8L2xpdGVyYWw+KSB3aWxsIGJlIG1hcHBlZC4gVGhp cyBvcHRpb24gbWF5CisgICAgICAgIG9ubHkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRo ZSA8bGl0ZXJhbD5tYXA8L2xpdGVyYWw+IG9wdGlvbi4KKyAgICAgICA8L3BhcmE+CisgICAgICAg PG5vdGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgV2hlbiB1c2luZyByZWd1bGFyIGV4cHJl c3Npb24gbWF0Y2hpbmcgaW4gY29tYmluYXRpb24gd2l0aCB0aGlzIG9wdGlvbiwKKyAgICAgICAg IGNhcmUgc2hvdWxkIGJlIHRha2VuIHRvIGNvcnJlY3RseSBhbmNob3IgdGhlIHJlZ3VsYXIgZXhw cmVzc2lvbiBpbgorICAgICAgICAgb3JkZXIgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzLiBGb3Ig ZXhhbXBsZSwgdGhlIGFuY2hvcmVkIGV4cHJlc3Npb24KKyAgICAgICAgIDxsaXRlcmFsPi8sZGM9 ZXhhbXBsZSxkYz1jb20kPC9saXRlcmFsPiB3aWxsIG1hdGNoIG9ubHkgRE5zIHVuZGVybmVhdGgK KyAgICAgICAgIHRoZSA8bGl0ZXJhbD5leGFtcGxlLmNvbTwvbGl0ZXJhbD4gc3VidHJlZSwgd2hl cmVhcyB0aGUgdW5hbmNob3JlZAorICAgICAgICAgPGxpdGVyYWw+L2RjPWV4YW1wbGUsZGM9Y29t PC9saXRlcmFsPiBjb3VsZCBtYXRjaAorICAgICAgICAgPGxpdGVyYWw+dWlkPW1hbCxkYz1leGFt cGxlLGRjPWNvbW11bml0eSxkYz1pbnZhbGlkPC9saXRlcmFsPgorICAgICAgICAgb3IgYW55IG51 bWJlciBvZiBETnMgdGhhdCBhcmUgbm90IHJvb3RlZCBhdAorICAgICAgICAgPGxpdGVyYWw+ZXhh bXBsZS5jb208L2xpdGVyYWw+LiAoV2hldGhlciB0aGVzZSBETnMgZXhpc3QgaW4gdGhlIExEQVAK KyAgICAgICAgIHRyZWUgdG8gYmUgYWJ1c2VkIGlzIGRlcGVuZGVudCBvbiB0aGUgTERBUCBkZXBs b3ltZW50IGFuZCBvdXRzaWRlIHRoZQorICAgICAgICAgc2NvcGUgb2YgdGhpcyBkb2N1bWVudGF0 aW9uLikKKyAgICAgICAgPC9wYXJhPgorICAgICAgIDwvbm90ZT4KKyAgICAgIDwvbGlzdGl0ZW0+ CisgICAgIDwvdmFybGlzdGVudHJ5PgogICAgIDwvdmFyaWFibGVsaXN0PgogICAgPC9wYXJhPgog CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCBiL2RvYy9zcmMvc2dtbC9saWJw cS5zZ21sCmluZGV4IGUwYWI3Y2Q1NTUuLjIyNjVkODY1NzUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9saWJwcS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCkBAIC0xNDU1LDYg KzE0NTUsMjggQEAgcG9zdGdyZXNxbDovLyUyRnZhciUyRmxpYiUyRnBvc3RncmVzcWwvZGJuYW1l CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlz dGVudHJ5IGlkPSJsaWJwcS1jb25uZWN0LWF1dGh1c2VyIiB4cmVmbGFiZWw9ImF1dGh1c2VyIj4K KyAgICAgIDx0ZXJtPjxsaXRlcmFsPmF1dGh1c2VyPC9saXRlcmFsPjwvdGVybT4KKyAgICAgIDxs aXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgV2hlbiBjb25uZWN0aW5nIHRvIHNlcnZl cnMgdGhhdCB1c2UgTERBUCBhdXRoZW50aWNhdGlvbiwgdGhpcyBvcHRpb24KKyAgICAgICAgc2V0 cyB0aGUgdXNlcm5hbWUgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBiaW5kIHRvIHRoZSBMREFQIHNl cnZlci4KKyAgICAgICAgQnkgZGVmYXVsdCwgdGhlIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9w cm9kdWN0bmFtZT4gdXNlciBuYW1lCisgICAgICAgICg8eHJlZiBsaW5rZW5kPSJsaWJwcS1jb25u ZWN0LXVzZXIiLz4pIGlzIHVzZWQgdG8gYmluZC4KKyAgICAgICA8L3BhcmE+CisKKyAgICAgICA8 bm90ZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICBGb3IgdGhpcyBvcHRpb24gdG8gYmUgdXNl ZnVsLCB0aGUgc2VydmVyIG11c3QgYmUgYXBwcm9wcmlhdGVseQorICAgICAgICAgY29uZmlndXJl ZCB3aXRoIGEgdXNlciBuYW1lIG1hcCAoPHhyZWYgbGlua2VuZD0iYXV0aC11c2VybmFtZS1tYXBz Ii8+KS4KKyAgICAgICAgIFNlcnZlciB2ZXJzaW9ucyBwcmlvciB0byAxNSBhbHdheXMgdXNlIHRo ZQorICAgICAgICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiB1c2VyIG5h bWUgdG8gYmluZCBhbmQgY2Fubm90IG1ha2UKKyAgICAgICAgIHVzZSBvZiB0aGlzIG9wdGlvbi4K KyAgICAgICAgPC9wYXJhPgorICAgICAgIDwvbm90ZT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAg IDwvdmFybGlzdGVudHJ5PgorCiAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImxpYnBxLWNvbm5lY3Qt Z3NzZW5jbW9kZSIgeHJlZmxhYmVsPSJnc3NlbmNtb2RlIj4KICAgICAgIDx0ZXJtPjxsaXRlcmFs Pmdzc2VuY21vZGU8L2xpdGVyYWw+PC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgpAQCAtNzkyNCw2 ICs3OTQ2LDE2IEBAIG15RXZlbnRQcm9jKFBHRXZlbnRJZCBldnRJZCwgdm9pZCAqZXZ0SW5mbywg dm9pZCAqcGFzc1Rocm91Z2gpCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogCisgICAg PGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIDxpbmRleHRlcm0+CisgICAgICAgPHByaW1h cnk+PGVudmFyPlBHQVVUSFVTRVI8L2VudmFyPjwvcHJpbWFyeT4KKyAgICAgIDwvaW5kZXh0ZXJt PgorICAgICAgPGVudmFyPlBHQVVUSFVTRVI8L2VudmFyPiBiZWhhdmVzIHRoZSBzYW1lIGFzIHRo ZQorICAgICAgPHhyZWYgbGlua2VuZD0ibGlicHEtY29ubmVjdC1hdXRodXNlciIvPiBjb25uZWN0 aW9uIHBhcmFtZXRlci4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisKICAgICA8bGlz dGl0ZW0+CiAgICAgIDxwYXJhPgogICAgICAgPGluZGV4dGVybT4KZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbCBiL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dt bAppbmRleCA3YmI2ZTUyNWE0Li4xZWU1NjJmNDJmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv cG9zdGdyZXMtZmR3LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sCkBA IC0xMjEsNyArMTIxLDggQEAKICAgICA8aXRlbWl6ZWRsaXN0IHNwYWNpbmc9ImNvbXBhY3QiPgog ICAgICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4KLSAgICAgICA8bGl0ZXJhbD51c2VyPC9saXRl cmFsPiwgPGxpdGVyYWw+cGFzc3dvcmQ8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5zc2xwYXNzd29y ZDwvbGl0ZXJhbD4gKHNwZWNpZnkgdGhlc2UKKyAgICAgICA8bGl0ZXJhbD51c2VyPC9saXRlcmFs PiwgPGxpdGVyYWw+YXV0aHVzZXI8L2xpdGVyYWw+LAorICAgICAgIDxsaXRlcmFsPnBhc3N3b3Jk PC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+c3NscGFzc3dvcmQ8L2xpdGVyYWw+IChzcGVjaWZ5IHRo ZXNlCiAgICAgICAgaW4gYSB1c2VyIG1hcHBpbmcsIGluc3RlYWQsIG9yIHVzZSBhIHNlcnZpY2Ug ZmlsZSkKICAgICAgIDwvcGFyYT4KICAgICAgPC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2xpYnBxL2F1dGguYyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwppbmRleCBlZmM1 M2YzMTM1Li40NzIzZWIwMWM4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMK KysrIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCkBAIC0yNDgxLDggKzI0ODEsMTAgQEAgQ2hl Y2tMREFQQXV0aChQb3J0ICpwb3J0KQogCWNoYXIJICAgKnBhc3N3ZDsKIAlMREFQCSAgICpsZGFw OwogCWludAkJCXI7CisJY29uc3QgY2hhciAqbGRhcHVzZXI7CiAJY2hhcgkgICAqZnVsbHVzZXI7 CiAJY29uc3QgY2hhciAqc2VydmVyX25hbWU7CisJY29uc3QgY2hhciAqbWFwX25hbWU7CiAKICNp ZmRlZiBIQVZFX0xEQVBfSU5JVElBTElaRQogCkBAIC0yNTM0LDYgKzI1MzYsMTEgQEAgQ2hlY2tM REFQQXV0aChQb3J0ICpwb3J0KQogCQlyZXR1cm4gU1RBVFVTX0VSUk9SOwogCX0KIAorCS8qIElm IGEgUEdBVVRIVVNFUiB3YXMgbm90IHByb3ZpZGVkLCBkZWZhdWx0IHRvIFBHVVNFUi4gKi8KKwls ZGFwdXNlciA9IHBvcnQtPmF1dGhfdXNlcjsKKwlpZiAoIWxkYXB1c2VyIHx8ICFsZGFwdXNlclsw XSkKKwkJbGRhcHVzZXIgPSBwb3J0LT51c2VyX25hbWU7CisKIAlpZiAocG9ydC0+aGJhLT5sZGFw YmFzZWRuKQogCXsKIAkJLyoKQEAgLTI1NDUsNyArMjU1Miw3IEBAIENoZWNrTERBUEF1dGgoUG9y dCAqcG9ydCkKIAkJTERBUE1lc3NhZ2UgKmVudHJ5OwogCQljaGFyCSAgICphdHRyaWJ1dGVzW10g PSB7TERBUF9OT19BVFRSUywgTlVMTH07CiAJCWNoYXIJICAgKmRuOwotCQljaGFyCSAgICpjOwor CQljb25zdCBjaGFyICpjOwogCQlpbnQJCQljb3VudDsKIAogCQkvKgpAQCAtMjU1NCw3ICsyNTYx LDcgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCQkgKiB0aGVtIHdvdWxkIG1ha2UgaXQg cG9zc2libGUgdG8gaW5qZWN0IGFueSBraW5kIG9mIGN1c3RvbSBmaWx0ZXJzIGluCiAJCSAqIHRo ZSBMREFQIGZpbHRlci4KIAkJICovCi0JCWZvciAoYyA9IHBvcnQtPnVzZXJfbmFtZTsgKmM7IGMr KykKKwkJZm9yIChjID0gbGRhcHVzZXI7ICpjOyBjKyspCiAJCXsKIAkJCWlmICgqYyA9PSAnKicg fHwKIAkJCQkqYyA9PSAnKCcgfHwKQEAgLTI1OTIsMTEgKzI1OTksMTEgQEAgQ2hlY2tMREFQQXV0 aChQb3J0ICpwb3J0KQogCiAJCS8qIEJ1aWxkIGEgY3VzdG9tIGZpbHRlciBvciBhIHNpbmdsZSBh dHRyaWJ1dGUgZmlsdGVyPyAqLwogCQlpZiAocG9ydC0+aGJhLT5sZGFwc2VhcmNoZmlsdGVyKQot CQkJZmlsdGVyID0gRm9ybWF0U2VhcmNoRmlsdGVyKHBvcnQtPmhiYS0+bGRhcHNlYXJjaGZpbHRl ciwgcG9ydC0+dXNlcl9uYW1lKTsKKwkJCWZpbHRlciA9IEZvcm1hdFNlYXJjaEZpbHRlcihwb3J0 LT5oYmEtPmxkYXBzZWFyY2hmaWx0ZXIsIGxkYXB1c2VyKTsKIAkJZWxzZSBpZiAocG9ydC0+aGJh LT5sZGFwc2VhcmNoYXR0cmlidXRlKQotCQkJZmlsdGVyID0gcHNwcmludGYoIiglcz0lcykiLCBw b3J0LT5oYmEtPmxkYXBzZWFyY2hhdHRyaWJ1dGUsIHBvcnQtPnVzZXJfbmFtZSk7CisJCQlmaWx0 ZXIgPSBwc3ByaW50ZigiKCVzPSVzKSIsIHBvcnQtPmhiYS0+bGRhcHNlYXJjaGF0dHJpYnV0ZSwg bGRhcHVzZXIpOwogCQllbHNlCi0JCQlmaWx0ZXIgPSBwc3ByaW50ZigiKHVpZD0lcykiLCBwb3J0 LT51c2VyX25hbWUpOworCQkJZmlsdGVyID0gcHNwcmludGYoIih1aWQ9JXMpIiwgbGRhcHVzZXIp OwogCiAJCXIgPSBsZGFwX3NlYXJjaF9zKGxkYXAsCiAJCQkJCQkgIHBvcnQtPmhiYS0+bGRhcGJh c2VkbiwKQEAgLTI2MjMsMTIgKzI2MzAsMTIgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQog CQl7CiAJCQlpZiAoY291bnQgPT0gMCkKIAkJCQllcmVwb3J0KExPRywKLQkJCQkJCShlcnJtc2co IkxEQVAgdXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLCBwb3J0LT51c2VyX25hbWUpLAorCQkJ CQkJKGVycm1zZygiTERBUCB1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsIGxkYXB1c2VyKSwK IAkJCQkJCSBlcnJkZXRhaWwoIkxEQVAgc2VhcmNoIGZvciBmaWx0ZXIgXCIlc1wiIG9uIHNlcnZl ciBcIiVzXCIgcmV0dXJuZWQgbm8gZW50cmllcy4iLAogCQkJCQkJCQkgICBmaWx0ZXIsIHNlcnZl cl9uYW1lKSkpOwogCQkJZWxzZQogCQkJCWVyZXBvcnQoTE9HLAotCQkJCQkJKGVycm1zZygiTERB UCB1c2VyIFwiJXNcIiBpcyBub3QgdW5pcXVlIiwgcG9ydC0+dXNlcl9uYW1lKSwKKwkJCQkJCShl cnJtc2coIkxEQVAgdXNlciBcIiVzXCIgaXMgbm90IHVuaXF1ZSIsIGxkYXB1c2VyKSwKIAkJCQkJ CSBlcnJkZXRhaWxfcGx1cmFsKCJMREFQIHNlYXJjaCBmb3IgZmlsdGVyIFwiJXNcIiBvbiBzZXJ2 ZXIgXCIlc1wiIHJldHVybmVkICVkIGVudHJ5LiIsCiAJCQkJCQkJCQkJICAiTERBUCBzZWFyY2gg Zm9yIGZpbHRlciBcIiVzXCIgb24gc2VydmVyIFwiJXNcIiByZXR1cm5lZCAlZCBlbnRyaWVzLiIs CiAJCQkJCQkJCQkJICBjb3VudCwKQEAgLTI2OTMsNyArMjcwMCw3IEBAIENoZWNrTERBUEF1dGgo UG9ydCAqcG9ydCkKIAllbHNlCiAJCWZ1bGx1c2VyID0gcHNwcmludGYoIiVzJXMlcyIsCiAJCQkJ CQkJcG9ydC0+aGJhLT5sZGFwcHJlZml4ID8gcG9ydC0+aGJhLT5sZGFwcHJlZml4IDogIiIsCi0J CQkJCQkJcG9ydC0+dXNlcl9uYW1lLAorCQkJCQkJCWxkYXB1c2VyLAogCQkJCQkJCXBvcnQtPmhi YS0+bGRhcHN1ZmZpeCA/IHBvcnQtPmhiYS0+bGRhcHN1ZmZpeCA6ICIiKTsKIAogCXIgPSBsZGFw X3NpbXBsZV9iaW5kX3MobGRhcCwgZnVsbHVzZXIsIHBhc3N3ZCk7CkBAIC0yNzE1LDkgKzI3MjIs MjIgQEAgQ2hlY2tMREFQQXV0aChQb3J0ICpwb3J0KQogCiAJbGRhcF91bmJpbmQobGRhcCk7CiAJ cGZyZWUocGFzc3dkKTsKKworCS8qCisJICogQ2hlY2sgdGhlIHVzZXJtYXAgZm9yIGF1dGhvcml6 YXRpb24uIElmIGxkYXBfbWFwX2RuIGlzIHNldCBhbmQgdGhlIGFkbWluCisJICogaGFzIHNldCB1 cCBhbiBleHBsaWNpdCBtYXAsIHdlIHVzZSB0aGUgZnVsbCBkaXN0aW5ndWlzZWQgbmFtZSBkdXJp bmcgdGhlCisJICogbWFwcGluZy4gIE90aGVyd2lzZSB3ZSBqdXN0IGNoZWNrIHRoZSBiYXJlIExE QVAgdXNlcm5hbWUuCisJICovCisJbWFwX25hbWUgPSBsZGFwdXNlcjsKKwlpZiAocG9ydC0+aGJh LT51c2VybWFwICYmIHBvcnQtPmhiYS0+dXNlcm1hcFswXSAmJiBwb3J0LT5oYmEtPmxkYXBfbWFw X2RuKQorCQltYXBfbmFtZSA9IGZ1bGx1c2VyOworCisJciA9IGNoZWNrX3VzZXJtYXAocG9ydC0+ aGJhLT51c2VybWFwLCBwb3J0LT51c2VyX25hbWUsIG1hcF9uYW1lLAorCQkJCQkgIHBnX2tyYl9j YXNlaW5zX3VzZXJzKTsKKwogCXBmcmVlKGZ1bGx1c2VyKTsKIAotCXJldHVybiBTVEFUVVNfT0s7 CisJcmV0dXJuIHI7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9oYmEu YyBiL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCmluZGV4IGQ4NGE0MGI3MjYuLjc5MzVhNWRkMjkg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCisrKyBiL3NyYy9iYWNrZW5kL2xp YnBxL2hiYS5jCkBAIC0xNTk2LDYgKzE1OTYsMjQgQEAgcGFyc2VfaGJhX2xpbmUoVG9rZW5pemVk TGluZSAqdG9rX2xpbmUsIGludCBlbGV2ZWwpCiAJCQkqZXJyX21zZyA9ICJjYW5ub3QgdXNlIGxk YXBzZWFyY2hhdHRyaWJ1dGUgdG9nZXRoZXIgd2l0aCBsZGFwc2VhcmNoZmlsdGVyIjsKIAkJCXJl dHVybiBOVUxMOwogCQl9CisKKwkJLyoKKwkJICogU2V0dGluZyBsZGFwX21hcF9kbj0xIHRlbGxz IHRoZSBzZXJ2ZXIgdG8gdXNlIHRoZSBmdWxsIEROIHdoZW4KKwkJICogbWFwcGluZyB1c2Vycywg YnV0IGl0IGRvZXNuJ3QgZG8gYW55dGhpbmcgaWYgdGhlcmUncyBubyB1c2VybWFwCisJCSAqIGRl ZmluZWQuIFRvIHByZXZlbnQgY29uZnVzaW9uLCBkb24ndCBhbGxvdyB0aGlzIHRvIGJlIHNldCB3 aXRob3V0IGEKKwkJICogbWFwLgorCQkgKi8KKwkJaWYgKHBhcnNlZGxpbmUtPmxkYXBfbWFwX2Ru CisJCQkmJiAhKHBhcnNlZGxpbmUtPnVzZXJtYXAgJiYgcGFyc2VkbGluZS0+dXNlcm1hcFswXSkp CisJCXsKKwkJCWVyZXBvcnQoZWxldmVsLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0NPTkZJR19G SUxFX0VSUk9SKSwKKwkJCQkJIGVycm1zZygiYXV0aGVudGljYXRpb24gb3B0aW9uIFwibGRhcF9t YXBfZG5cIiByZXF1aXJlcyBhcmd1bWVudCBcIm1hcFwiIHRvIGJlIHNldCIpLAorCQkJCQkgZXJy Y29udGV4dCgibGluZSAlZCBvZiBjb25maWd1cmF0aW9uIGZpbGUgXCIlc1wiIiwKKwkJCQkJCQkJ bGluZV9udW0sIEhiYUZpbGVOYW1lKSkpOworCQkJKmVycl9tc2cgPSAiYXV0aGVudGljYXRpb24g b3B0aW9uIFwibGRhcF9tYXBfZG5cIiByZXF1aXJlcyBhcmd1bWVudCBcIm1hcFwiIHRvIGJlIHNl dCI7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQogCX0KIAogCWlmIChwYXJzZWRsaW5lLT5hdXRoX21l dGhvZCA9PSB1YVJBRElVUykKQEAgLTE3MTcsOCArMTczNSw5IEBAIHBhcnNlX2hiYV9hdXRoX29w dChjaGFyICpuYW1lLCBjaGFyICp2YWwsIEhiYUxpbmUgKmhiYWxpbmUsCiAJCQloYmFsaW5lLT5h dXRoX21ldGhvZCAhPSB1YVBlZXIgJiYKIAkJCWhiYWxpbmUtPmF1dGhfbWV0aG9kICE9IHVhR1NT ICYmCiAJCQloYmFsaW5lLT5hdXRoX21ldGhvZCAhPSB1YVNTUEkgJiYKKwkJCWhiYWxpbmUtPmF1 dGhfbWV0aG9kICE9IHVhTERBUCAmJgogCQkJaGJhbGluZS0+YXV0aF9tZXRob2QgIT0gdWFDZXJ0 KQotCQkJSU5WQUxJRF9BVVRIX09QVElPTigibWFwIiwgZ2V0dGV4dF9ub29wKCJpZGVudCwgcGVl ciwgZ3NzYXBpLCBzc3BpLCBhbmQgY2VydCIpKTsKKwkJCUlOVkFMSURfQVVUSF9PUFRJT04oIm1h cCIsIGdldHRleHRfbm9vcCgiaWRlbnQsIHBlZXIsIGdzc2FwaSwgc3NwaSwgbGRhcCwgYW5kIGNl cnQiKSk7CiAJCWhiYWxpbmUtPnVzZXJtYXAgPSBwc3RyZHVwKHZhbCk7CiAJfQogCWVsc2UgaWYg KHN0cmNtcChuYW1lLCAiY2xpZW50Y2VydCIpID09IDApCkBAIC0xOTM1LDYgKzE5NTQsMTQgQEAg cGFyc2VfaGJhX2F1dGhfb3B0KGNoYXIgKm5hbWUsIGNoYXIgKnZhbCwgSGJhTGluZSAqaGJhbGlu ZSwKIAkJUkVRVUlSRV9BVVRIX09QVElPTih1YUxEQVAsICJsZGFwc3VmZml4IiwgImxkYXAiKTsK IAkJaGJhbGluZS0+bGRhcHN1ZmZpeCA9IHBzdHJkdXAodmFsKTsKIAl9CisJZWxzZSBpZiAoc3Ry Y21wKG5hbWUsICJsZGFwX21hcF9kbiIpID09IDApCisJeworCQlSRVFVSVJFX0FVVEhfT1BUSU9O KHVhTERBUCwgImxkYXBfbWFwX2RuIiwgImxkYXAiKTsKKwkJaWYgKHN0cmNtcCh2YWwsICIxIikg PT0gMCkKKwkJCWhiYWxpbmUtPmxkYXBfbWFwX2RuID0gdHJ1ZTsKKwkJZWxzZQorCQkJaGJhbGlu ZS0+bGRhcF9tYXBfZG4gPSBmYWxzZTsKKwl9CiAJZWxzZSBpZiAoc3RyY21wKG5hbWUsICJrcmJf cmVhbG0iKSA9PSAwKQogCXsKIAkJaWYgKGhiYWxpbmUtPmF1dGhfbWV0aG9kICE9IHVhR1NTICYm CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYyBiL3NyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCmluZGV4IDczNWZlZDQ5MGIuLjZkYzkwZjVh YzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCisrKyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBAIC0yMjMyLDYgKzIyMzIsOCBA QCByZXRyeTE6CiAJCQkJcG9ydC0+ZGF0YWJhc2VfbmFtZSA9IHBzdHJkdXAodmFscHRyKTsKIAkJ CWVsc2UgaWYgKHN0cmNtcChuYW1lcHRyLCAidXNlciIpID09IDApCiAJCQkJcG9ydC0+dXNlcl9u YW1lID0gcHN0cmR1cCh2YWxwdHIpOworCQkJZWxzZSBpZiAoc3RyY21wKG5hbWVwdHIsICJhdXRo dXNlciIpID09IDApCisJCQkJcG9ydC0+YXV0aF91c2VyID0gcHN0cmR1cCh2YWxwdHIpOwogCQkJ ZWxzZSBpZiAoc3RyY21wKG5hbWVwdHIsICJvcHRpb25zIikgPT0gMCkKIAkJCQlwb3J0LT5jbWRs aW5lX29wdGlvbnMgPSBwc3RyZHVwKHZhbHB0cik7CiAJCQllbHNlIGlmIChzdHJjbXAobmFtZXB0 ciwgInJlcGxpY2F0aW9uIikgPT0gMCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBxL2hi YS5oIGIvc3JjL2luY2x1ZGUvbGlicHEvaGJhLmgKaW5kZXggOGQ5ZjM4MjFiMS4uODcyOTA1NmYw OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbGlicHEvaGJhLmgKKysrIGIvc3JjL2luY2x1ZGUv bGlicHEvaGJhLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBIYmFMaW5lCiAJ aW50CQkJbGRhcHNjb3BlOwogCWNoYXIJICAgKmxkYXBwcmVmaXg7CiAJY2hhcgkgICAqbGRhcHN1 ZmZpeDsKKwlib29sCQlsZGFwX21hcF9kbjsKIAlDbGllbnRDZXJ0TW9kZSBjbGllbnRjZXJ0Owog CUNsaWVudENlcnROYW1lIGNsaWVudGNlcnRuYW1lOwogCWNoYXIJICAgKmtyYl9yZWFsbTsKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmggYi9zcmMvaW5jbHVkZS9saWJw cS9saWJwcS1iZS5oCmluZGV4IGRkM2U1ZWZiYTMuLjVhZDRkNThlYzEgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmgKKysrIGIvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEt YmUuaApAQCAtMTQ3LDYgKzE0NywxMiBAQCB0eXBlZGVmIHN0cnVjdCBQb3J0CiAJY2hhcgkgICAq Y21kbGluZV9vcHRpb25zOwogCUxpc3QJICAgKmd1Y19vcHRpb25zOwogCisJLyoKKwkgKiBUaGUg dXNlcm5hbWUgdG8gdXNlIGR1cmluZyBhdXRoZW50aWNhdGlvbiwgaWYgZGlmZmVyZW50IGZyb20g dXNlcl9uYW1lLAorCSAqIG9yIGVsc2UgTlVMTC4gQ3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZv ciB0aGUgTERBUCBhdXRoIG1ldGhvZC4KKwkgKi8KKwljb25zdCBjaGFyICphdXRoX3VzZXI7CisK IAkvKgogCSAqIFRoZSBzdGFydHVwIHBhY2tldCBhcHBsaWNhdGlvbiBuYW1lLCBvbmx5IHVzZWQg aGVyZSBmb3IgdGhlICJjb25uZWN0aW9uCiAJICogYXV0aG9yaXplZCIgbG9nIG1lc3NhZ2UuIFdl IHNob3VsZG4ndCB1c2UgdGhpcyBwb3N0LXN0YXJ0dXAsIGluc3RlYWQKZGlmZiAtLWdpdCBhL3Ny Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWNvbm5lY3QuYwppbmRleCAzMGQ2YjdiMzc3Li5iZjNmMjEyNGFhIDEwMDY0NAotLS0gYS9zcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEv ZmUtY29ubmVjdC5jCkBAIC0zNDQsNiArMzQ0LDEwIEBAIHN0YXRpYyBjb25zdCBpbnRlcm5hbFBR Y29ubmluZm9PcHRpb24gUFFjb25uaW5mb09wdGlvbnNbXSA9IHsKIAkJIlRhcmdldC1TZXNzaW9u LUF0dHJzIiwgIiIsIDE1LCAvKiBzaXplb2YoInByZWZlci1zdGFuZGJ5IikgPSAxNSAqLwogCW9m ZnNldG9mKHN0cnVjdCBwZ19jb25uLCB0YXJnZXRfc2Vzc2lvbl9hdHRycyl9LAogCisJeyJhdXRo dXNlciIsICJQR0FVVEhVU0VSIiwgTlVMTCwgTlVMTCwKKwkJIkF1dGgtVXNlciIsICIiLCAyMCwK KwlvZmZzZXRvZihzdHJ1Y3QgcGdfY29ubiwgcGdhdXRodXNlcil9LAorCiAJLyogVGVybWluYXRp bmcgZW50cnkgLS0tIE1VU1QgQkUgTEFTVCAqLwogCXtOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAog CU5VTEwsIE5VTEwsIDB9CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1wcm90 b2NvbDMuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXByb3RvY29sMy5jCmluZGV4IDI2ZGJl YWVkOTcuLjUwOWFlZjM2ZGEgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXBy b3RvY29sMy5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXByb3RvY29sMy5jCkBAIC0y MjIwLDYgKzIyMjAsOCBAQCBidWlsZF9zdGFydHVwX3BhY2tldChjb25zdCBQR2Nvbm4gKmNvbm4s IGNoYXIgKnBhY2tldCwKIAkJQUREX1NUQVJUVVBfT1BUSU9OKCJyZXBsaWNhdGlvbiIsIGNvbm4t PnJlcGxpY2F0aW9uKTsKIAlpZiAoY29ubi0+cGdvcHRpb25zICYmIGNvbm4tPnBnb3B0aW9uc1sw XSkKIAkJQUREX1NUQVJUVVBfT1BUSU9OKCJvcHRpb25zIiwgY29ubi0+cGdvcHRpb25zKTsKKwlp ZiAoY29ubi0+cGdhdXRodXNlciAmJiBjb25uLT5wZ2F1dGh1c2VyWzBdKQorCQlBRERfU1RBUlRV UF9PUFRJT04oImF1dGh1c2VyIiwgY29ubi0+cGdhdXRodXNlcik7CiAJaWYgKGNvbm4tPnNlbmRf YXBwbmFtZSkKIAl7CiAJCS8qIFVzZSBhcHBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSB1c2Ug ZmFsbGJhY2sgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWludC5o IGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKaW5kZXggNDI5MDU1MzQ4Mi4uODhi MTI4NzNhNCAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKKysr IGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKQEAgLTM5MCw2ICszOTAsNyBAQCBz dHJ1Y3QgcGdfY29ubgogCWNoYXIJICAgKmtyYnNydm5hbWU7CQkvKiBLZXJiZXJvcyBzZXJ2aWNl IG5hbWUgKi8KIAljaGFyCSAgICpnc3NsaWI7CQkJLyogV2hhdCBHU1MgbGlicmFyeSB0byB1c2Ug KCJnc3NhcGkiIG9yCiAJCQkJCQkJCSAqICJzc3BpIikgKi8KKwljaGFyCSAgICpwZ2F1dGh1c2Vy OwkJLyogTERBUCB1c2VybmFtZSwgaWYgbm90IHBndXNlciAqLwogCWNoYXIJICAgKnNzbF9taW5f cHJvdG9jb2xfdmVyc2lvbjsJLyogbWluaW11bSBUTFMgcHJvdG9jb2wgdmVyc2lvbiAqLwogCWNo YXIJICAgKnNzbF9tYXhfcHJvdG9jb2xfdmVyc2lvbjsJLyogbWF4aW11bSBUTFMgcHJvdG9jb2wg dmVyc2lvbiAqLwogCWNoYXIJICAgKnRhcmdldF9zZXNzaW9uX2F0dHJzOwkvKiBkZXNpcmVkIHNl c3Npb24gcHJvcGVydGllcyAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbGRhcC90LzAwMV9hdXRo LnBsIGIvc3JjL3Rlc3QvbGRhcC90LzAwMV9hdXRoLnBsCmluZGV4IDA5NDI3MGNiNWQuLjQzM2Rj M2I4N2YgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2xkYXAvdC8wMDFfYXV0aC5wbAorKysgYi9zcmMv dGVzdC9sZGFwL3QvMDAxX2F1dGgucGwKQEAgLTIwNiw2ICsyMDYsNzcgQEAgdGVzdF9hY2Nlc3Mo CiAJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MSxkYz1l eGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxkYXAvCiAJXSwpOwogCitub3RlICJpZGVudCBtYXBwaW5n IjsKKwordW5saW5rKCRub2RlLT5kYXRhX2RpciAuICcvcGdfaGJhLmNvbmYnKTsKKyRub2RlLT5h cHBlbmRfY29uZigncGdfaGJhLmNvbmYnLAorCXFxe2xvY2FsIGFsbCBhbGwgbGRhcCBsZGFwc2Vy dmVyPSRsZGFwX3NlcnZlciBsZGFwcG9ydD0kbGRhcF9wb3J0IGxkYXBwcmVmaXg9InVpZD0iIGxk YXBzdWZmaXg9IixkYz1leGFtcGxlLGRjPW5ldCIgbWFwPW15bWFwfQorKTsKKyRub2RlLT5yZXN0 YXJ0OworCiskRU5WeyJQR1BBU1NXT1JEIn0gPSAnc2VjcmV0MSc7Cit0ZXN0X2FjY2VzcygKKwkk bm9kZSwgJ3Rlc3QxJywgMiwKKwknZmFpbHMgd2l0aG91dCBtYXBwaW5nJywKKwlsb2dfbGlrZSA9 PiBbCisJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MSxk Yz1leGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCQlxci9ubyBtYXRjaCBpbiB1c2VybWFw ICJteW1hcCIgZm9yIHVzZXIgInRlc3QxIi8sCisJXSk7CisKKyRub2RlLT5hcHBlbmRfY29uZign cGdfaWRlbnQuY29uZicsIHFxe215bWFwICAvXiAgdGVzdDF9KTsKKyRub2RlLT5yZXN0YXJ0Owor Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwgJ3Rlc3QxJywgMCwKKwknc3VjY2VlZHMgd2l0aCBtYXBw aW5nJywKKwlsb2dfbGlrZSA9PiBbCisJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRl bnRpdHk9InVpZD10ZXN0MSxkYz1leGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCV0pOwor CiskRU5WeyJQR1BBU1NXT1JEIn0gPSAnc2VjcmV0Mic7Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwg J3Rlc3QyJywgMiwKKwknZmFpbHMgd2l0aCB1bm1hcHBlZCByb2xlJywKKwlsb2dfbGlrZSA9PiBb CisJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MixkYz1l eGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxkYXAvLAorCQlxci9ubyBtYXRjaCBpbiB1c2VybWFwICJt eW1hcCIgZm9yIHVzZXIgInRlc3QyIiBhdXRoZW50aWNhdGVkIGFzICJ0ZXN0MiIvLAorCV0pOwor CiskRU5WeyJQR0FVVEhVU0VSIn0gPSAndGVzdDInOwordGVzdF9hY2Nlc3MoCisJJG5vZGUsICd0 ZXN0MScsIDAsCisJJ3N1Y2NlZWRzIHdpdGggZGlmZmVyZW50IFBHQVVUSFVTRVInLAorCWxvZ19s aWtlID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRl c3QyLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJCXFyL2Nvbm5lY3Rpb24gYXV0 aG9yaXplZDogdXNlcj10ZXN0MS8sCisJXSk7CitkZWxldGUgJEVOVnsiUEdBVVRIVVNFUiJ9Owor Cit1bmxpbmsoJG5vZGUtPmRhdGFfZGlyIC4gJy9wZ19oYmEuY29uZicpOworJG5vZGUtPmFwcGVu ZF9jb25mKCdwZ19oYmEuY29uZicsCisJcXF7bG9jYWwgYWxsIGFsbCBsZGFwIGxkYXBzZXJ2ZXI9 JGxkYXBfc2VydmVyIGxkYXBwb3J0PSRsZGFwX3BvcnQgbGRhcHByZWZpeD0idWlkPSIgbGRhcHN1 ZmZpeD0iLGRjPWV4YW1wbGUsZGM9bmV0IiBtYXA9bXltYXAgbGRhcF9tYXBfZG49MX0KKyk7Cit1 bmxpbmsoJG5vZGUtPmRhdGFfZGlyIC4gJy9wZ19pZGVudC5jb25mJyk7Ciskbm9kZS0+YXBwZW5k X2NvbmYoJ3BnX2lkZW50LmNvbmYnLCBxcXtteW1hcCAgIi8sZGM9ZXhhbXBsZSxkYz1uZXRcJCIg IHRlc3QxfSk7Ciskbm9kZS0+cmVzdGFydDsKKworJEVOVnsiUEdQQVNTV09SRCJ9ID0gJ3NlY3Jl dDEnOwordGVzdF9hY2Nlc3MoCisJJG5vZGUsICd0ZXN0MScsIDAsCisJJ3N1Y2NlZWRzIHdpdGgg ZnVsbCBETiBtYXBwaW5nJywKKwlsb2dfbGlrZSA9PiBbCisJCXFyL2Nvbm5lY3Rpb24gYXV0aGVu dGljYXRlZDogaWRlbnRpdHk9InVpZD10ZXN0MSxkYz1leGFtcGxlLGRjPW5ldCIgbWV0aG9kPWxk YXAvLAorCV0pOworCiskRU5WeyJQR1BBU1NXT1JEIn0gPSAnc2VjcmV0Mic7Cit0ZXN0X2FjY2Vz cygKKwkkbm9kZSwgJ3Rlc3QyJywgMiwKKwknZmFpbHMgd2l0aCB1bm1hcHBlZCByb2xlIGZvciBm dWxsIEROIG1hcHBpbmcnLAorCWxvZ19saWtlID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50 aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QyLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRh cC8sCisJCXFyL25vIG1hdGNoIGluIHVzZXJtYXAgIm15bWFwIiBmb3IgdXNlciAidGVzdDIiIGF1 dGhlbnRpY2F0ZWQgYXMgInVpZD10ZXN0MixkYz1leGFtcGxlLGRjPW5ldCIvLAorCV0pOworCiBu b3RlICJzZWFyY2grYmluZCI7CiAKIHVubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5j b25mJyk7CkBAIC0yMjcsNiArMjk4LDc4IEBAIHRlc3RfYWNjZXNzKAogCQlxci9jb25uZWN0aW9u IGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDEsZGM9ZXhhbXBsZSxkYz1uZXQiIG1l dGhvZD1sZGFwLwogCV0sKTsKIAorbm90ZSAic2VhcmNoK2JpbmQgaWRlbnQgbWFwcGluZyI7CisK K3VubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2lkZW50LmNvbmYnKTsKK3VubGluaygkbm9k ZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ciskbm9kZS0+YXBwZW5kX2NvbmYoJ3BnX2hi YS5jb25mJywKKwlxcXtsb2NhbCBhbGwgYWxsIGxkYXAgbGRhcHNlcnZlcj0kbGRhcF9zZXJ2ZXIg bGRhcHBvcnQ9JGxkYXBfcG9ydCBsZGFwYmFzZWRuPSIkbGRhcF9iYXNlZG4iIG1hcD1teW1hcH0K Kyk7Ciskbm9kZS0+cmVzdGFydDsKKworJEVOVnsiUEdQQVNTV09SRCJ9ID0gJ3NlY3JldDEnOwor dGVzdF9hY2Nlc3MoCisJJG5vZGUsICd0ZXN0MScsIDIsCisJJ2ZhaWxzIHdpdGhvdXQgbWFwcGlu ZycsCisJbG9nX2xpa2UgPT4gWworCQlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50 aXR5PSJ1aWQ9dGVzdDEsZGM9ZXhhbXBsZSxkYz1uZXQiIG1ldGhvZD1sZGFwLywKKwkJcXIvbm8g bWF0Y2ggaW4gdXNlcm1hcCAibXltYXAiIGZvciB1c2VyICJ0ZXN0MSIgYXV0aGVudGljYXRlZCBh cyAidGVzdDEiLywKKwldKTsKKworJG5vZGUtPmFwcGVuZF9jb25mKCdwZ19pZGVudC5jb25mJywg cXF7bXltYXAgIC9eICB0ZXN0MX0pOworJG5vZGUtPnJlc3RhcnQ7CisKK3Rlc3RfYWNjZXNzKAor CSRub2RlLCAndGVzdDEnLCAwLAorCSdzdWNjZWVkcyB3aXRoIG1hcHBpbmcnLAorCWxvZ19saWtl ID0+IFsKKwkJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3Qx LGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJXSk7CisKKyRFTlZ7IlBHUEFTU1dP UkQifSA9ICdzZWNyZXQyJzsKK3Rlc3RfYWNjZXNzKAorCSRub2RlLCAndGVzdDInLCAyLAorCSdm YWlscyB3aXRoIHVubWFwcGVkIHJvbGUnLAorCWxvZ19saWtlID0+IFsKKwkJcXIvY29ubmVjdGlv biBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QyLGRjPWV4YW1wbGUsZGM9bmV0IiBt ZXRob2Q9bGRhcC8sCisJCXFyL25vIG1hdGNoIGluIHVzZXJtYXAgIm15bWFwIiBmb3IgdXNlciAi dGVzdDIiIGF1dGhlbnRpY2F0ZWQgYXMgInRlc3QyIi8sCisJXSk7CisKKyRFTlZ7IlBHQVVUSFVT RVIifSA9ICd0ZXN0Mic7Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwgJ3Rlc3QxJywgMCwKKwknc3Vj Y2VlZHMgd2l0aCBkaWZmZXJlbnQgUEdBVVRIVVNFUicsCisJbG9nX2xpa2UgPT4gWworCQlxci9j b25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDIsZGM9ZXhhbXBsZSxk Yz1uZXQiIG1ldGhvZD1sZGFwLywKKwkJcXIvY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPXRl c3QxLywKKwldKTsKK2RlbGV0ZSAkRU5WeyJQR0FVVEhVU0VSIn07CisKK3VubGluaygkbm9kZS0+ ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ciskbm9kZS0+YXBwZW5kX2NvbmYoJ3BnX2hiYS5j b25mJywKKwlxcXtsb2NhbCBhbGwgYWxsIGxkYXAgbGRhcHNlcnZlcj0kbGRhcF9zZXJ2ZXIgbGRh cHBvcnQ9JGxkYXBfcG9ydCBsZGFwYmFzZWRuPSIkbGRhcF9iYXNlZG4iIG1hcD1teW1hcCBsZGFw X21hcF9kbj0xfQorKTsKK3VubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2lkZW50LmNvbmYn KTsKKyRub2RlLT5hcHBlbmRfY29uZigncGdfaWRlbnQuY29uZicsIHFxe215bWFwICAiLyxkYz1l eGFtcGxlLGRjPW5ldFwkIiAgdGVzdDF9KTsKKyRub2RlLT5yZXN0YXJ0OworCiskRU5WeyJQR1BB U1NXT1JEIn0gPSAnc2VjcmV0MSc7Cit0ZXN0X2FjY2VzcygKKwkkbm9kZSwgJ3Rlc3QxJywgMCwK Kwknc3VjY2VlZHMgd2l0aCBmdWxsIEROIG1hcHBpbmcnLAorCWxvZ19saWtlID0+IFsKKwkJcXIv Y29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlkPXRlc3QxLGRjPWV4YW1wbGUs ZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJXSk7CisKKyRFTlZ7IlBHUEFTU1dPUkQifSA9ICdzZWNy ZXQyJzsKK3Rlc3RfYWNjZXNzKAorCSRub2RlLCAndGVzdDInLCAyLAorCSdmYWlscyB3aXRoIHVu bWFwcGVkIHJvbGUgZm9yIGZ1bGwgRE4gbWFwcGluZycsCisJbG9nX2xpa2UgPT4gWworCQlxci9j b25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ1aWQ9dGVzdDIsZGM9ZXhhbXBsZSxk Yz1uZXQiIG1ldGhvZD1sZGFwLywKKwkJcXIvbm8gbWF0Y2ggaW4gdXNlcm1hcCAibXltYXAiIGZv ciB1c2VyICJ0ZXN0MiIgYXV0aGVudGljYXRlZCBhcyAidWlkPXRlc3QyLGRjPWV4YW1wbGUsZGM9 bmV0Ii8sCisJXSk7CisKIG5vdGUgIm11bHRpcGxlIHNlcnZlcnMiOwogCiB1bmxpbmsoJG5vZGUt PmRhdGFfZGlyIC4gJy9wZ19oYmEuY29uZicpOwotLSAKMi4yNS4xCgo= --_002_02ed821b2d992e2af97a8ae5b7ac44df41bf4214camelvmwarecom_--