From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id D10C31FF0C1 for ; Tue, 25 Aug 2026 10:09:07 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id C8F7821613; Tue, 25 Aug 2026 10:08:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; t=1787233329; cv=none; d=google.com; s=arc-20260327; b=DE+sY1Z0MlPvRAY1a7af5u6r6LzteuCa3OjzsZ4JNAn/aFqxsKfMLtoWqINiAkD6VU jmJpxNPIOm72ZS+KpOve9f4SVq03jXXwIew6RE0pQEEdVRoOK612jcW6H6XChbjqrVGE MGCAxlIstVBq1E4JcMbrjmf2zxamZK4wKtGP06nM2MlFRzqYB6EVPX1FfCDZZIL8iv1M a6dxv0F1h7bf3qFlWsBpFFxF8GWCe/8nYT7yRSv1pDo//dqczEtfiL6tbePVu5QdYSqj 2Z/jSeKDuAUJx0Prn33g7tKSjOg0xhIKBj7KbyBerxIRp/4S+A22j9o+IxWv1xcuH59J QBxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=YXaqhS3Q7p8iLgXHSNpAJVgow8V4exHWlZCI+S4eWUs=; fh=h8bKk6inSdRO7HLkEaFaHFjP/Ut0YqCxd51RD/nrCcg=; b=nhD8JXVHny+8vQU2c6bG5NASxmu1b6x5rxBZjZBsHErlwdo+Bq6FlBuhCc4ghN0ht0 ed9cggrLOkWrbElE9f160i34Xma7GXm5xBA76ksRviAej0DPQkNiuG1/Bcw7o05cv5y/ hnD5J2/BpsBOQHokjQVnwjAFvhgj7w4jldYZ+H9TsObYB/PrXX9sDmeGMHQi81qLlvtM sQp8dkW5YcEZUeGtEAA1u7czhfMsrpY8/8imhLoKJaamI1IMn6I0A8c3sbw3+30ozTL4 vcuuXEb9kWMHQ0om9Pb32LVpWqGd1kSrNQDRa13J0trNMBlHUv4Ctf6iPuSd795/5PrW 17Vw==; darn=lists.proxmox.com ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=azharul.com; s=t28hkp5; t=1787233329; x=1787838129; darn=lists.proxmox.com; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YXaqhS3Q7p8iLgXHSNpAJVgow8V4exHWlZCI+S4eWUs=; b=AOievbTzi7BjPszPXG4hehjAR1gJIPK999i+l70uD4Kvj0UN4BoDRUjT7ax94bxDnW EipJmPjn6/91mK+HWZ41r/rjbf4kfteJ6Csv+YZ9OBvHpgrqCaZ4j3jwL97C4BLTbmJe izMOvCs2Nic01fd4EWcCqhx7pnQYJ5G6rOh74zTXkwTqVOT1vGrtiJ6KfGD0zgRupvH6 3lhVJ0CYNm6t2y0ekCqcUA6hvNr4rdXFrI4zyB8y/MtVEE1r6eGvkQDPCHszexv856hP ZPJaLg5b5iiHZ9LQFs6oRajVmYGRZIP0S3WYW5vbLZG0aaH6uyyOzZCy3MikIJxbx41u QSxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787233329; x=1787838129; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=YXaqhS3Q7p8iLgXHSNpAJVgow8V4exHWlZCI+S4eWUs=; b=mVGEuSm7VkZxkJQn9kOyk7FR5p5CaFFfDEhlyqknpSeeWZNJ3QDTj2Ba0zrYrBAjGH W91TQeNSZK5z94Hs8yKDhqKWRC+5pLT+LTnLGKPSpRYQFVD+wCPPaQRLPca7uUDJdK3b tuaFMFO6Mqej8fJD5RpoQ0D5uWthz4K9bhx0mMuaef+UMnBZ2hXHO5WGSxtsy6E4so3I 9y3m9MZ8qCA+IDcqFO6xwPvc0tEYbgzlHtz5k+fy5jsx6XhwmtwCd3ad8YTyywNJeAN7 HFSL14HYtJ6e58LrGU8H+dLtKumdYqVsAp/X6foMrT27Sq9QDVrQUSnet+aZi7tWtaKT XP/g== X-Gm-Message-State: AFuF++lR3cl/lCGp2XkgRZgQ3nYhKD4dN/ZQ0ODHnemHDCf2Wl4NVkYr g7cCcZI3eXKePO0UO4sp5neFBhlDgQWJ+LUDNTOJBokqW7j6VpkA96MIR09q/gQLY7pvKAUTH3M mb0q7e1zU1CGgnV/bu9XmYQUKFS46LJ3z9DW8dIrdR6tDnF+SAOapgbRk X-Gm-Gg: AR+sD13KnJK2Q083AjB4ZzKFatWgSCj3fbxm3z+H050C6Ub77A0sQTurlnj7iYu7f/N V87+g1n6k3eDJYgsC/bwTBW+4JBfAgT+zbyqH2WsZhj1Khj4NrQx2+GeqgSGKSDmkxZjn/NebkM zoFC2L2FzNDoM8KQCARNw9f4gRU8ykHZtK+5wVdMDMBb7hSH0dntzimlry0lESq1RfmBp5Ov1vl IBwlg+oHt7/wIxWH1By2BwqTfv42HBBXBWWUC9nDHdm62DSEiYDY2BqrHqECoKU1fASoYMoq7ni wDdIM+6mXVp7JqqkKvHTrYP30vGNXc5UkTfrZrvGHHVOYVeGSQJBXlO/5nWbD8EuDzz5xkEPstR vfMH9LMmlh7pj5hzvsEsxRHaci9YjH9mUwzo0jD5TZEjqDVSVq8r3dWSBIO6lDG0FzxlgRaeVue 5jhsBYqTa2HspIT51+rEg= X-Received: by 2002:a05:690c:e1c6:10b0:826:f78b:8462 with SMTP id 00721157ae682-847091daa5amr20220797b3.7.1787233328544; Thu, 20 Aug 2026 06:42:08 -0700 (PDT) MIME-Version: 1.0 References: <20260810144713.75806-1-haque@azharul.com> <20260810144713.75806-3-haque@azharul.com> In-Reply-To: From: Azharul Haque Date: Thu, 20 Aug 2026 09:41:57 -0400 X-Gm-Features: AcwNN1WL_C5QhPRHEcGaYw7T_BMMCk7mxG9twZeRcvg-1Ny3Wi-1mX0XMhjOxLA Message-ID: Subject: Re: [PATCH dart-api-client v2 2/2] fix #4281: access: add OpenID Connect auth-url/login helpers To: Shan Shaji X-SPAM-LEVEL: Spam detection results: 0 AWL 0.600 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy HTML_MESSAGE 0.001 HTML included in message POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-MailFrom: haque@azharul.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation Message-ID-Hash: XOQUCK7LU2HWZ4DHRXSOS6MR5V2THYM2 X-Message-ID-Hash: XOQUCK7LU2HWZ4DHRXSOS6MR5V2THYM2 X-Mailman-Approved-At: Tue, 25 Aug 2026 10:08:31 +0200 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 3.3.10 CC: pve-devel@lists.proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: SGkgU2hhbiwNCg0KDQpHb29kIGNhdGNoZXMsIHRoYW5rcy4gWW91J3JlIHJpZ2h0IHRoYXQgdGhl IFBNRyBhbHRlcm5hdGl2ZSBpbiB0aGUgdGlja2V0DQpyZWdleCBkb2Vzbid0IGJlbG9uZyBoZXJl IHNpbmNlIE9wZW5JRCBsb2dpbiBvbmx5IGFwcGxpZXMgdG8gUFZFLCBJJ2xsDQpuYXJyb3cgaXQg dG8gKFBWRSkoPzpRVUFSKT86Li4uLg0KDQpJJ2xsIGFsc28gZmFjdG9yIHRoZSBzaGFyZWQgdGlj a2V0IHJlZ2V4L3RpbWUvVEZBIHBhcnNpbmcgYmxvY2sgb3V0IG9mDQpoYW5kbGVBY2Nlc3NUaWNr ZXRSZXNwb25zZSBhbmQgaGFuZGxlT3BlbklkTG9naW5SZXNwb25zZSBpbnRvIGl0cyBvd24NCmhl bHBlciwgc28gaXQncyBub3QgZHVwbGljYXRlZCBiZXR3ZWVuIHRoZSB0d28uDQoNCg0KSSdsbCBp bmNsdWRlIGJvdGggaW4gdGhlIHYzIHNlcmllcyB0b25pZ2h0IGFsb25nIHdpdGggdGhlIHJlc3Qg b2YgdGhlDQpmZWVkYmFjay4NCg0KDQpCZXN0LA0KDQpBemhhcnVsDQoNCk9uIFRodSwgQXVnIDIw LCAyMDI2IGF0IDU6NDnigK9BTSBTaGFuIFNoYWppIDxzLnNoYWppQHByb3htb3guY29tPiB3cm90 ZToNCg0KPiBPbiBNb24gQXVnIDEwLCAyMDI2IGF0IDQ6NDcgUE0gQ0VTVCwgQXpoYXJ1bCBIYXF1 ZSB3cm90ZToNCj4gPiBBZGQgb3BlbklkQXV0aFVybCgpIGFuZCBvcGVuSWRMb2dpbigpLCBtaXJy b3JpbmcgdGhlIGV4aXN0aW5nDQo+ID4gYXV0aGVudGljYXRlKCkvYWNjZXNzRG9tYWlucygpIGZ1 bmN0aW9ucyB1c2VkIGJ5IHRoZSBsb2dpbiBmb3JtDQo+ID4gYmVmb3JlIGFuIGF1dGhlbnRpY2F0 ZWQgUHJveG1veEFwaUNsaWVudCBleGlzdHMuDQo+ID4NCj4gPiBvcGVuSWRBdXRoVXJsKCkgcmVx dWVzdHMgdGhlIHByb3ZpZGVyJ3MgYXV0aG9yaXphdGlvbiBVUkwgZm9yIGENCj4gPiByZWFsbSBm cm9tIC9hY2Nlc3Mvb3BlbmlkL2F1dGgtdXJsLiBvcGVuSWRMb2dpbigpIGV4Y2hhbmdlcyB0aGUN Cj4gPiBzdGF0ZS9jb2RlIG9idGFpbmVkIGZyb20gdGhlIHByb3ZpZGVyJ3MgcmVkaXJlY3QgZm9y IGEgUFZFIHRpY2tldA0KPiA+IHZpYSAvYWNjZXNzL29wZW5pZC9sb2dpbiwgdGhlIHNhbWUgd2F5 IGF1dGhlbnRpY2F0ZSgpIGRvZXMgZm9yDQo+ID4gcGFzc3dvcmQgcmVhbG1zLg0KPiA+DQo+ID4g VGhlIE9wZW5JRCBsb2dpbiByZXNwb25zZSBjYXJyaWVzIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJu YW1lIGluIGl0cw0KPiA+IGJvZHkgcmF0aGVyIHRoYW4gaXQgYmVpbmcga25vd24gdXBmcm9udCBi eSB0aGUgY2FsbGVyLCBzbw0KPiA+IGhhbmRsZU9wZW5JZExvZ2luUmVzcG9uc2UoKSBpcyBhZGRl ZCBhbG9uZ3NpZGUgdGhlIGV4aXN0aW5nDQo+ID4gaGFuZGxlQWNjZXNzVGlja2V0UmVzcG9uc2Uo KS9oYW5kbGVUZmFDaGFsbGVuZ2VSZXNwb25zZSgpIHRvIGJ1aWxkDQo+ID4gQ3JlZGVudGlhbHMg ZnJvbSBpdC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEF6aGFydWwgSGFxdWUgPGhhcXVlQGF6 aGFydWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBsaWIvc3JjL2F1dGhlbnRpY2F0ZS5kYXJ0ICAgICAg ICAgICB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGxpYi9zcmMvaGFu ZGxlX3RpY2tldF9yZXNwb25zZS5kYXJ0IHwgMzYgKysrKysrKysrKysrDQo+ID4gIHRlc3QvdGVz dC5kYXJ0ICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKw0KPiA+ICAzIGZpbGVzIGNo YW5nZWQsIDE0MSBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL3NyYy9h dXRoZW50aWNhdGUuZGFydCBiL2xpYi9zcmMvYXV0aGVudGljYXRlLmRhcnQNCj4gPiBpbmRleCA3 YmQ5Y2VmLi5lMmQ3NmExIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9zcmMvYXV0aGVudGljYXRlLmRh cnQNCj4gPiArKysgYi9saWIvc3JjL2F1dGhlbnRpY2F0ZS5kYXJ0DQo+ID4gQEAgLTcyLDYgKzcy LDkxIEBAIEZ1dHVyZTxQcm94bW94QXBpQ2xpZW50PiBhdXRoZW50aWNhdGUoDQo+ID4gICAgfQ0K PiA+ICB9DQo+ID4NCj4gPiArLy8vIFJlcXVlc3RzIHRoZSBwcm92aWRlcidzIGF1dGhvcml6YXRp b24gVVJMIGZvciBhbiBPcGVuSUQgQ29ubmVjdA0KPiByZWFsbS4NCj4gPiArLy8vDQo+ID4gKy8v LyBbcmVkaXJlY3RVcmxdIG11c3QgbWF0Y2ggYSByZWRpcmVjdCBVUkkgcmVnaXN0ZXJlZCB3aXRo IHRoZSByZWFsbSdzDQo+ID4gKy8vLyBPcGVuSUQgcHJvdmlkZXIsIGFuZCBpcyB3aGVyZSB0aGUg cHJvdmlkZXIgc2VuZHMgdGhlIHVzZXIgYmFjayB0bw0KPiBhZnRlcg0KPiA+ICsvLy8gdGhleSBh dXRoZW50aWNhdGUgKGNhcnJ5aW5nIGBzdGF0ZWAgYW5kIGBjb2RlYCBxdWVyeSBwYXJhbWV0ZXJz KS4NCj4gPiArRnV0dXJlPFN0cmluZz4gb3BlbklkQXV0aFVybCgNCj4gPiArICBTdHJpbmcgcmVh bG0sDQo+ID4gKyAgVXJpIGFwaUJhc2VVcmwsDQo+ID4gKyAgVXJpIHJlZGlyZWN0VXJsLA0KPiA+ ICsgIGJvb2wgdmFsaWRhdGVTU0wsIHsNCj4gPiArICBodHRwLkNsaWVudD8gaHR0cENsaWVudCwN Cj4gPiArfSkgYXN5bmMgew0KPiA+ICsgIGh0dHBDbGllbnQgPz89IGdldEN1c3RvbUlPSHR0cENs aWVudCh2YWxpZGF0ZVNTTDogdmFsaWRhdGVTU0wpOw0KPiA+ICsNCj4gPiArICB2YXIgYm9keSA9 IHsNCj4gPiArICAgICdyZWFsbSc6IHJlYWxtLA0KPiA+ICsgICAgJ3JlZGlyZWN0LXVybCc6IHJl ZGlyZWN0VXJsLnRvU3RyaW5nKCksDQo+ID4gKyAgfTsNCj4gPiArDQo+ID4gKyAgdHJ5IHsNCj4g PiArICAgIGZpbmFsIHBhdGggPSAnL2FwaTIvanNvbi9hY2Nlc3Mvb3BlbmlkL2F1dGgtdXJsJzsN Cj4gPiArICAgIGZpbmFsIHJlc3BvbnNlID0gYXdhaXQgaHR0cENsaWVudA0KPiA+ICsgICAgICAg IC5wb3N0KGFwaUJhc2VVcmwucmVwbGFjZShwYXRoOiBwYXRoKSwgYm9keTogYm9keSkNCj4gPiAr ICAgICAgICAudGltZW91dChEdXJhdGlvbihzZWNvbmRzOiAyNSkpOw0KPiA+ICsNCj4gPiArICAg IHJlc3BvbnNlLnZhbGlkYXRlKHRydWUpOw0KPiA+ICsNCj4gPiArICAgIHJldHVybiBqc29uRGVj b2RlKHJlc3BvbnNlLmJvZHkpWydkYXRhJ10gYXMgU3RyaW5nOw0KPiA+ICsgIH0gb24gTlNFcnJv ckNsaWVudEV4Y2VwdGlvbiBjYXRjaCAoZSkgew0KPiA+ICsgICAgaWYgKGUuZXJyb3IuY29kZSA9 PSAtMTIwMikgew0KPiA+ICsgICAgICB0aHJvdyBIYW5kc2hha2VFeGNlcHRpb24oZS5tZXNzYWdl KTsNCj4gPiArICAgIH0NCj4gPiArICAgIHJldGhyb3c7DQo+ID4gKyAgfSBvbiBodHRwLkNsaWVu dEV4Y2VwdGlvbiBjYXRjaCAoZSkgew0KPiA+ICsgICAgaWYgKGUubWVzc2FnZS5jb250YWlucygn bmV0OjpFUlJfQ0VSVF9BVVRIT1JJVFlfSU5WQUxJRCcpKSB7DQo+ID4gKyAgICAgIHRocm93IEhh bmRzaGFrZUV4Y2VwdGlvbihlLm1lc3NhZ2UpOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgcmV0aHJv dzsNCj4gPiArICB9DQo+ID4gK30NCj4gPiArDQo+ID4gKy8vLyBFeGNoYW5nZXMgdGhlIGBzdGF0 ZWAvYGNvZGVgIG9idGFpbmVkIGZyb20gdGhlIE9wZW5JRCBwcm92aWRlcidzDQo+IHJlZGlyZWN0 DQo+ID4gKy8vLyBmb3IgYSBQcm94bW94IFZFIHRpY2tldCwgbWlycm9yaW5nIHdoYXQgW2F1dGhl bnRpY2F0ZV0gZG9lcyBmb3INCj4gcGFzc3dvcmQNCj4gPiArLy8vIHJlYWxtcy4NCj4gPiArRnV0 dXJlPFByb3htb3hBcGlDbGllbnQ+IG9wZW5JZExvZ2luKA0KPiA+ICsgIFN0cmluZyBzdGF0ZSwN Cj4gPiArICBTdHJpbmcgY29kZSwNCj4gPiArICBVcmkgYXBpQmFzZVVybCwNCj4gPiArICBVcmkg cmVkaXJlY3RVcmwsDQo+ID4gKyAgYm9vbCB2YWxpZGF0ZVNTTCwgew0KPiA+ICsgIGh0dHAuQ2xp ZW50PyBodHRwQ2xpZW50LA0KPiA+ICt9KSBhc3luYyB7DQo+ID4gKyAgaHR0cENsaWVudCA/Pz0g Z2V0Q3VzdG9tSU9IdHRwQ2xpZW50KHZhbGlkYXRlU1NMOiB2YWxpZGF0ZVNTTCk7DQo+ID4gKw0K PiA+ICsgIHZhciBib2R5ID0gew0KPiA+ICsgICAgJ3N0YXRlJzogc3RhdGUsDQo+ID4gKyAgICAn Y29kZSc6IGNvZGUsDQo+ID4gKyAgICAncmVkaXJlY3QtdXJsJzogcmVkaXJlY3RVcmwudG9TdHJp bmcoKSwNCj4gPiArICB9Ow0KPiA+ICsNCj4gPiArICB0cnkgew0KPiA+ICsgICAgZmluYWwgcGF0 aCA9ICcvYXBpMi9qc29uL2FjY2Vzcy9vcGVuaWQvbG9naW4nOw0KPiA+ICsgICAgZmluYWwgcmVz cG9uc2UgPSBhd2FpdCBodHRwQ2xpZW50DQo+ID4gKyAgICAgICAgLnBvc3QoYXBpQmFzZVVybC5y ZXBsYWNlKHBhdGg6IHBhdGgpLCBib2R5OiBib2R5KQ0KPiA+ICsgICAgICAgIC50aW1lb3V0KER1 cmF0aW9uKHNlY29uZHM6IDI1KSk7DQo+ID4gKw0KPiA+ICsgICAgZmluYWwgY3JlZGVudGlhbHMg PSBoYW5kbGVPcGVuSWRMb2dpblJlc3BvbnNlKHJlc3BvbnNlLCBhcGlCYXNlVXJsKTsNCj4gPiAr DQo+ID4gKyAgICByZXR1cm4gUHJveG1veEFwaUNsaWVudCgNCj4gPiArICAgICAgY3JlZGVudGlh bHMsDQo+ID4gKyAgICAgIGh0dHBDbGllbnQ6IGh0dHBDbGllbnQsDQo+ID4gKyAgICApOw0KPiA+ ICsgIH0gb24gTlNFcnJvckNsaWVudEV4Y2VwdGlvbiBjYXRjaCAoZSkgew0KPiA+ICsgICAgaWYg KGUuZXJyb3IuY29kZSA9PSAtMTIwMikgew0KPiA+ICsgICAgICB0aHJvdyBIYW5kc2hha2VFeGNl cHRpb24oZS5tZXNzYWdlKTsNCj4gPiArICAgIH0NCj4gPiArICAgIHJldGhyb3c7DQo+ID4gKyAg fSBvbiBodHRwLkNsaWVudEV4Y2VwdGlvbiBjYXRjaCAoZSkgew0KPiA+ICsgICAgaWYgKGUubWVz c2FnZS5jb250YWlucygnbmV0OjpFUlJfQ0VSVF9BVVRIT1JJVFlfSU5WQUxJRCcpKSB7DQo+ID4g KyAgICAgIHRocm93IEhhbmRzaGFrZUV4Y2VwdGlvbihlLm1lc3NhZ2UpOw0KPiA+ICsgICAgfQ0K PiA+ICsgICAgcmV0aHJvdzsNCj4gPiArICB9DQo+ID4gK30NCj4gPiArDQo+ID4gIEZ1dHVyZTxM aXN0PFB2ZUFjY2Vzc0RvbWFpbk1vZGVsPz4+IGFjY2Vzc0RvbWFpbnMoDQo+ID4gICAgVXJpIGFw aUJhc2VVcmwsDQo+ID4gICAgYm9vbCB2YWxpZGF0ZVNTTCwgew0KPiA+IGRpZmYgLS1naXQgYS9s aWIvc3JjL2hhbmRsZV90aWNrZXRfcmVzcG9uc2UuZGFydA0KPiBiL2xpYi9zcmMvaGFuZGxlX3Rp Y2tldF9yZXNwb25zZS5kYXJ0DQo+ID4gaW5kZXggYmEyMTI4Zi4uYTQzYWVkMCAxMDA2NDQNCj4g PiAtLS0gYS9saWIvc3JjL2hhbmRsZV90aWNrZXRfcmVzcG9uc2UuZGFydA0KPiA+ICsrKyBiL2xp Yi9zcmMvaGFuZGxlX3RpY2tldF9yZXNwb25zZS5kYXJ0DQo+ID4gQEAgLTM5LDYgKzM5LDQyIEBA IENyZWRlbnRpYWxzIGhhbmRsZUFjY2Vzc1RpY2tldFJlc3BvbnNlKA0KPiA+ICAgICk7DQo+ID4g IH0NCj4gPg0KPiA+ICtDcmVkZW50aWFscyBoYW5kbGVPcGVuSWRMb2dpblJlc3BvbnNlKA0KPiA+ ICsgICAgaHR0cC5SZXNwb25zZSByZXNwb25zZSwgVXJpIGFwaUJhc2VVcmwpIHsNCj4gPiArICBy ZXNwb25zZS52YWxpZGF0ZShmYWxzZSk7DQo+DQo+DQo+ICAgICA+ICsgIGZpbmFsIGJvZHlKc29u ID0ganNvbkRlY29kZShyZXNwb25zZS5ib2R5KVsnZGF0YSddOw0KPiAgICAgPiArDQo+ICAgICA+ ICsgIGZpbmFsIHRpY2tldCA9IGJvZHlKc29uWyd0aWNrZXQnXTsNCj4gICAgID4gKw0KPiAgICAg PiArICBmaW5hbCBjc3JmVG9rZW4gPSBib2R5SnNvblsnQ1NSRlByZXZlbnRpb25Ub2tlbiddOw0K PiAgICAgPiArDQo+ICAgICA+ICsgIGZpbmFsIHVzZXJuYW1lID0gYm9keUpzb25bJ3VzZXJuYW1l J107DQo+ICAgICA+ICsNCj4gICAgID4gKyAgZmluYWwgdGlja2V0UmVnZXggPQ0KPiBSZWdFeHAo cicoUFZFfFBNRykoPzpRVUFSKT86KD86KFxTKyk6KT8oW0EtWjAtOV17OH0pOjonKQ0KPg0KPiAg ICAgSSBrbm93LCB5b3UgY29waWVkIHRoaXMgcmVnZXggZnJvbSB0aGUgaGFuZGxlQWNjZXNzVGlj a2V0UmVzcG9uc2UNCj4gZnVuY3Rpb24uIEJ1dCBJTUhPLA0KPiAgICAgdGhlIGZpcnN0IGdyb3Vw IGRvbid0IG5lZWQgdG8gbWF0Y2ggZm9yIFBNRyBhcyB3ZWxsLiBJdCBjb3VsZCBqdXN0IGJlDQo+ IFBWRS4NCj4NCj4gICAgICAgZmluYWwgdGlja2V0UmVnZXggPQ0KPiBSZWdFeHAocicoUFZFKSg/ OlFVQVIpPzooPzooXFMrKTopPyhbQS1aMC05XXs4fSk6OicpDQo+DQo+ICAgICA+ICsgICAgICAu Zmlyc3RNYXRjaChib2R5SnNvblsndGlja2V0J10pITsNCj4gICAgID4gKw0KPiAgICAgPiArICBm aW5hbCB0aW1lID0gRGF0ZVRpbWUuZnJvbU1pbGxpc2Vjb25kc1NpbmNlRXBvY2goDQo+ICAgICA+ ICsgICAgICBpbnQucGFyc2UodGlja2V0UmVnZXguZ3JvdXAoMykhLCByYWRpeDogMTYpICogMTAw MCk7DQo+ICAgICA+ICsNCj4gICAgID4gKyAgVGZhQ2hhbGxlbmdlPyB0ZmE7DQo+ICAgICA+ICsg IGlmICh0aWNrZXQuc3RhcnRzV2l0aCgnUFZFOiF0ZmEhJykpIHsNCj4gICAgID4gKyAgICB0ZmEg PSBUZmFDaGFsbGVuZ2UuZnJvbUpzb24oDQo+ICAgICA+ICsNCj4ganNvbkRlY29kZShVcmkuZGVj b2RlQ29tcG9uZW50KHRpY2tldC5zdWJzdHJpbmcoOSkuc3BsaXQoJzonKVswXSkpKTsNCj4gICAg ID4gKyAgfSBlbHNlIGlmIChib2R5SnNvblsnTmVlZFRGQSddICE9IG51bGwgJiYgYm9keUpzb25b J05lZWRURkEnXSA9PQ0KPiAxKSB7DQo+ICAgICA+ICsgICAgdGZhID0gVGZhQ2hhbGxlbmdlLmxl Z2FjeSgpOw0KPiAgICAgPiArICB9DQo+DQo+ICAgVGhpcyBibG9jayBpcyBjb21tb24gaW4gYm90 aCBoYW5kbGVBY2Nlc3NUaWNrZXRSZXNwb25zZSBhbmQNCj4gaGFuZGxlT3BlbklkTG9naVJlc3Bv bnNlDQo+ICAgZnVuY3Rpb25zLiBJTUhPLCB3ZSBjb3VsZCBzZXBlcmF0ZSB0aGlzIGludG8gaXRz IG93biBmdW5jdGlvbi4NCj4NCj4gPiArICByZXR1cm4gQ3JlZGVudGlhbHMoDQo+ID4gKyAgICBh cGlCYXNlVXJsLA0KPiA+ICsgICAgdXNlcm5hbWUsDQo+ID4gKyAgICB0aWNrZXQ6IHRpY2tldCwN Cj4gPiArICAgIGNzcmZUb2tlbjogY3NyZlRva2VuLA0KPiA+ICsgICAgZXhwaXJhdGlvbjogdGlt ZSwNCj4gPiArICAgIHRmYTogdGZhLA0KPiA+ICsgICk7DQo+ID4gK30NCj4gPiArDQo+ID4gIENy ZWRlbnRpYWxzIGhhbmRsZVRmYUNoYWxsZW5nZVJlc3BvbnNlKA0KPiA+ICAgICAgaHR0cC5SZXNw b25zZSByZXNwb25zZSwgQ3JlZGVudGlhbHMgcGVuZGluZ1RmYUNyZWRlbnRpYWxzKSB7DQo+ID4g ICAgcmVzcG9uc2UudmFsaWRhdGUoZmFsc2UpOw0KPiA+IGRpZmYgLS1naXQgYS90ZXN0L3Rlc3Qu ZGFydCBiL3Rlc3QvdGVzdC5kYXJ0DQo+ID4gaW5kZXggMjMzNjhhMi4uODZjMjI3MiAxMDA2NDQN Cj4gPiAtLS0gYS90ZXN0L3Rlc3QuZGFydA0KPiA+ICsrKyBiL3Rlc3QvdGVzdC5kYXJ0DQo+ID4g QEAgLTQ5LDUgKzQ5LDI1IEBAIHZvaWQgbWFpbigpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAg RGF0ZVRpbWUuZnJvbU1pbGxpc2Vjb25kc1NpbmNlRXBvY2goDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICBpbnQucGFyc2UoJzVERjhFQzIyJywgcmFkaXg6IDE2KSAqIDEwMDApKSk7DQo+ID4g ICAgICB9KTsNCj4gPiArDQo+ID4gKyAgICB0ZXN0KCd2YWxpZCBvcGVuaWQgbG9naW4gcmVzcG9u c2UgZXh0cmFjdGlvbicsICgpIHsNCj4gPiArICAgICAgZmluYWwgdGlja2V0ID0NCj4gPiArICAg ICAgICAgICdQVkU6amRvZUBrZXljbG9haw0KPiA6NURGOEVDMjI6OlNUVjRITk8xd3BsbXN5TURN NXM2U1VzVTRjUzdzQkJCdytIT0NFaFNTVis2V0d0ejN6d0l6SHFCaHEvemlKb0JzN05xcXlMWEc0 d245alhKQ01kWWh0K25kcXd4dGRGUXNVTk9GMVEvZVRXd2N5bCtRMWZtUE5PSUlVb3hNWThPcUdC Vm96Z0lpbWlBSnhkcW0rMlNKbnJQRW1sSmdlNm0zeWYvT0VWQWtLRkNmUk1PdFN1eVZuSWJ1THg2 aDZvYnZlekJVUDUrWkh6ZVRNbW1YY0g0ck9zT0tnVzlYZndyeUxIYmtqanE5RW5ueDB4alFhQkQ5 Qm81RVJxdVkwaE5tV2NkUEMvcDdaeklMVHI0eEg5c0plOU5hMno2R2hnSnlUZ09DQU1lbmd5SWVn eVNNcTdJS0lrbXNwOG9kRjQvaUlDMzAwNS9YTEY0dy9EalBZUVVNQT09JzsNCj4gPiArICAgICAg ZmluYWwgY3NyZlRva2VuID0NCj4gJzVERjhFREVDOi9iYjQ0eGRIeVZRRG8yZUQvOHR5MFdWWHdN Z3d0MUhqaFZITFpYMllieFEnOw0KPiA+ICsgICAgICB2YXIgcmVzcG9uc2UgPSBodHRwLlJlc3Bv bnNlKA0KPiA+ICsNCj4gJ3siZGF0YSI6eyJjbHVzdGVybmFtZSI6InRlc3RjbHVzdGVyIiwidXNl cm5hbWUiOiJqZG9lQGtleWNsb2FrDQo+ICIsIkNTUkZQcmV2ZW50aW9uVG9rZW4iOiI1REY4RURF QzovYmI0NHhkSHlWUURvMmVELzh0eTBXVlh3TWd3dDFIamhWSExaWDJZYnhRIiwiY2FwIjp7fSwi dGlja2V0IjoiJHRpY2tldCJ9fScsDQo+ID4gKyAgICAgICAgICAyMDApOw0KPiA+ICsgICAgICBl eHBlY3QoDQo+ID4gKyAgICAgICAgICBoYW5kbGVPcGVuSWRMb2dpblJlc3BvbnNlKHJlc3BvbnNl LCBkdW1teUVuZHBvaW50KSwNCj4gPiArICAgICAgICAgIGlzQTxDcmVkZW50aWFscz4oKQ0KPiA+ ICsgICAgICAgICAgICAgIC5oYXZpbmcoKGUpID0+IGUudXNlcm5hbWUsICdVc2VybmFtZScsICdq ZG9lQGtleWNsb2FrJykNCj4gPiArICAgICAgICAgICAgICAuaGF2aW5nKChlKSA9PiBlLnRpY2tl dCwgJ1RpY2tldCcsIHRpY2tldCkNCj4gPiArICAgICAgICAgICAgICAuaGF2aW5nKChlKSA9PiBl LmNzcmZUb2tlbiwgJ0NTUkYgVG9rZW4nLCBjc3JmVG9rZW4pDQo+ID4gKyAgICAgICAgICAgICAg LmhhdmluZygNCj4gPiArICAgICAgICAgICAgICAgICAgKGUpID0+IGUuZXhwaXJhdGlvbiwNCj4g PiArICAgICAgICAgICAgICAgICAgJ1Rva2VuIGV4cGlyYXRpb24gdGltZScsDQo+ID4gKyAgICAg ICAgICAgICAgICAgIERhdGVUaW1lLmZyb21NaWxsaXNlY29uZHNTaW5jZUVwb2NoKA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgaW50LnBhcnNlKCc1REY4RUMyMicsIHJhZGl4OiAxNikgKiAx MDAwKSkpOw0KPiA+ICsgICAgfSk7DQo+ID4gICAgfSk7DQo+ID4gIH0NCj4NCj4gSWYgeW91IHdv dWxkIGxpa2UgdG8gbWFrZSB0aGUgY2hhbmdlcyBJIG1lbnRpb25lZCwgcGxlYXNlIGZlZWwgZnJl ZSB0byBkbw0KPiB0aGF0LCBlbHNlIEkgY2FuIGRvIGl0IGluIGEgc2VwZXJhdGUgc2VyaWVzLg0K Pg0KPg0K