From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 6344D1FF179 for ; Wed, 1 Oct 2025 17:00:53 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 26157227F1; Wed, 1 Oct 2025 17:00:58 +0200 (CEST) Message-ID: Date: Wed, 1 Oct 2025 17:00:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox VE development discussion , Gabriel Goller References: <20250916124108.209042-1-g.goller@proxmox.com> Content-Language: en-US From: Stefan Hanreich In-Reply-To: <20250916124108.209042-1-g.goller@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.714 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [fabrics.rs] Subject: Re: [pve-devel] [PATCH perl-rs v2] fix: sdn: fabrics: always add node-ip to all fabric interfaces X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" SGF2ZSBzb21lIGFkZGl0aW9uYWwgY29tbWVudHMgSSB3YW50ZWQgdG8gcG9zdCBvbiB0aGUgTUwg c28gdGhleSBkb24ndApnZXQgbG9zdCwgYnV0IHRoZXkncmUgbW9yZSBmb29kIGZvciB0aG91Z2gg Zm9yIGZ1cnRoZXIgaW1wcm92ZW1lbnRzIG9mCnRoZSB3aG9sZSBTRE4gLyBGYWJyaWNzIHN0YWNr IHdydCBWUkZzLgoKVGVzdGVkIHRoZSBwYXRjaCBzZXJpZXMgYW5kIGxvb2tlZCBhdCB0aGUgY29k ZSAtIExHVE0hCgpSZXZpZXdlZC1ieTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3ht b3guY29tPgpUZXN0ZWQtYnk6IFN0ZWZhbiBIYW5yZWljaCA8cy5oYW5yZWljaEBwcm94bW94LmNv bT4KCk9uIDkvMTYvMjUgMjo0MSBQTSwgR2FicmllbCBHb2xsZXIgd3JvdGU6Cj4gT3BlbkZhYnJp YyBjYW4gaGFuZGxlIGNvbXBsZXRlbHkgdW5udW1iZXJlZCBpbnRlcmZhY2VzLCBzbyBpbnRlcmZh Y2VzCj4gd2hpY2ggZG9uJ3QgaGF2ZSBhbiBpcCBjb25maWd1cmVkLiBUaGlzIHdvcmtzIGdyZWF0 IGluIG1hbnkgc2V0dXBzLCBidXQKPiBjYW4gY2F1c2Ugc29tZSBpbnRyaWNhdGUgQVJQIGlzc3Vl cyBpbiBzb21lIHNwZWNpZmljIHNldHVwcy4KPiAKPiBUaGUgcHJvYmxlbQo+ID09PT09PT09PT09 Cj4gCj4gQ29uc2lkZXIgYSBzZXR1cCBsaWtlIHRoaXM6Cj4gCj4gICAg4pSM4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSQICAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAgIOKU jOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkAo+ICAgIOKUgiBOb2RlMSAg4pSc4pSA4pSA4pSA 4pSA4pSA4pSkIE5vZGUyICDilJzilIDilIDilIDilIDilIDilKQgTm9kZTMgIOKUggo+ICAgIOKU gjEwLjAuMS4x4pSCICAgICDilIIxMC4wLjEuMuKUgiAgICAg4pSCMTAuMC4xLjPilIIKPiAgICDi lJTilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUmCAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYCj4gCj4gV2hlbiBwaW5n aW5nIGZyb20gTm9kZTEgdG8gTm9kZTIgYW5kIGZyb20gTm9kZTIgdG8gTm9kZTMgZXZlcnl0aGlu Zwo+IHdvcmtzLiBBIHBpbmcgZnJvbSBOb2RlMSB0byBOb2RlMyBhbHNvIHdvcmtzLCBidXQgT05M WSBpZiB0aGVyZSBoYXMgYmVlbgo+IGEgcGluZyBiZXR3ZWVuIE5vZGUyLU5vZGUzIGFuZCBOb2Rl Mi1Ob2RlMSBpbiB0aGUgbGFzdCA2MCBzZWNvbmRzLiBUaGlzCj4gaXMgYmVjYXVzZSB0aGVyZSBp cyBhIHN1YnRsZSBkaWZmZXJlbmNlIGJldHdlZW4gcGluZ2luZyBmcm9tIE5vZGUyIHRvCj4gTm9k ZTMgdnMgYW4gQVJQIGxvb2t1cCBmcm9tIE5vZGUyIHRvIE5vZGUzIGhhcHBlbmluZyBiZWNhdXNl IE5vZGUyIHdhbnRzCj4gdG8gZm9yd2FyZCBhIHBhY2tldCBmcm9tIE5vZGUxIHRvIE5vZGUzLgo+ IAo+IFdlIGNhbiBzZWUgdGhpcyBkaWZmZXJlbmNlIHF1aXRlIGVhc2lseSBieSBqdXN0IHRjcGR1 bXBpbmcgYWxsIHRoZSBBUlAKPiBwYWNrYWdlcyBleGl0aW5nIE5vZGUyLgo+IAo+IFNjZW5hcmlv IDE6IFBpbmcgZnJvbSBOb2RlMiB0byBOb2RlMwo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+IAo+IEEgc2ltcGxlIGxvb2t1cCBpbiB0aGUgcm91dGluZyB0YWJsZSB3aWxs IHRlbGwgdXMgdGhhdCB0byByZWFjaCBOb2RlMyB3ZQo+IG5lZWQgdG8gZ28gdGhyb3VnaCBpbnRl cmZhY2UgKGUuZy4pIGVuczIwIG9ubGluayAoc28ganVzdCB0aHJvdyBpdCBvbnRvCj4gdGhlIGxp bmsgd2l0aG91dGggYW55IG5leHRob3AgY2hlY2spIGFuZCB1c2UgdGhlIHNyYyBhZGRyZXNzIG9m Cj4gMTAuMC4xLjIuIFNvIHBpbmcgd2lsbCBjcmVhdGUgYSBzaW1wbGUgSUNNUCBwYWNrZXQgd2l0 aCB0aGUgZGVzdGluYXRpb24KPiBhZGRyZXNzIG9mIDEwLjAuMS4zIGFuZCB0aGUgc291cmNlIGFk ZHJlc3Mgb2YgMTAuMC4xLjIuIFRvIHNlbmQgdGhlCj4gcGFja2FnZSB0aGUgbWFjIGFkZHJlc3Mg b2YgdGhlIGRlc3RpbmF0aW9uIG5lZWRzIHRvIGJlIGZpZ3VyZWQgb3V0LCBzbyBhCj4gQVJQIHBh Y2tldCBpcyBzZW5kIFswXS4gVGhlIGFycF9hbm5vdW5jZSBzeXNjdGwgaXMgMCBieSBkZWZhdWx0 LCBzbyB3ZQo+IHNpbXBseSBsb29rdXAgaWYgYW55IGxvY2FsIGludGVyZmFjZSBoYXMgdGhlIGFk ZHJlc3MgMTAuMC4xLjIgKHRoZQo+IHNvdXJjZSBhZGRyZXNzIG9mIHRoZSBwYWNrZXQgd2Ugd2Fu dCB0byBzZW5kIG91dCksIGlmIHllcywgdGhlbiB3ZQo+IGNob29zZSB0aGF0IGFzIGEgc291cmNl IGFkZHJlc3MgZm9yIHRoZSBBUlAgcGFja2V0IGFzIHdlbGwgYW5kIHNlbmQgaXQKPiBvdXQgWzFd LiBUaGlzIHdpbGwgZ2VuZXJhdGUgYW4gQVJQIHJlcXVlc3QgbGlrZSB0aGUgZm9sbG93aW5nOgo+ IAo+ICAgICBSZXF1ZXN0IHdoby1oYXMgMTAuMC4xLjIgdGVsbCAxMC4wLjEuMwo+IAo+IFdlIGdl dCBhIG5pY2UgcmVzcG9uc2U6Cj4gCj4gICAgIFJlcGx5IDEwLjAuMS4yIGlzLWF0IGJjOjI0OjEx OjkxOmEwOjQ5Cj4gCj4gQW5kIHNlbmQgYSBwaW5nIGF0IHRoZSBzcGVjaWZpZWQgYWRkcmVzcywg d2hpY2ggd2lsbCB3b3JrIGFuZCBnaXZlIHVzIGEKPiByZXN1bHQuCj4gCj4gVGhlIHNlY29uZCBz Y2VuYXJpbyBkb2VzIG5vdCB3b3JrIHRoYXQgd2VsbCwgYmVjYXVzZSB0aGUgQVJQIHBhY2tldCBp cwo+IGNvbnN0cnVjdGVkIHdyb25nbHkuCj4gCj4gU2NlbmFyaW8gMjogUGFja2V0IGZvcndhcmQg ZnJvbSBOb2RlMiB0byBOb2RlMwo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAKPiBJbiB0aGlzIHNjZW5hcmlvIHdlIHBpbmcgZnJvbSBOb2RlMSB0byBO b2RlMywgd2hpY2ggbWVhbnMgdGhhdCBOb2RlMgo+IG5lZWRzIHRvIGZvcndhcmQgb3VyIHBhY2tl dC4gV2hlbiB0aGUgcGFja2V0IGFycml2ZXMgYXQgTm9kZTIsIHdlIGFnYWluCj4gY2hlY2sgdGhl IHJvdXRpbmcgdGFibGUsIHdoZXJlIHdlIHNlZSB0aGUgc2FtZSBlbnRyeSBhcyBiZWZvcmUsIHNv Cj4gMTAuMC4xLjMgaXMgYXZhaWxhYmxlIGF0IChlLmcuKSBlbnMyMCBvbmxpbmsgd2l0aCB0aGUg c3JjIGFkZHJlc3MKPiAxMC4wLjEuMi4gVGhpcyBpcyBmaW5lLCBidXQgd2Ugc3RpbGwgbmVlZCB0 byBkbyBhbiBBUlAgcmVxdWVzdCB0byBsb29rdXAKPiB0aGUgbWFjIGFkZHJlc3Mgb2YgdGhlIG5l aWdoYm9yIHdoaWNoIGlzIGF0dGFjaGVkIGF0IGVuczIwLiBTbyB3ZSB0YWtlCj4gdGhlIHBhY2tl dCB3ZSBnZXQgZnJvbSBOb2RlMSwgd2hpY2ggaGFzIGEgc291cmNlIGFkZHJlc3Mgb2YgMTAuMC4x LjEsIGFuZAo+IGNhbGwgYXJwX3NvbGljaXQgb24gaXQgdG8gbWFrZSBhbiBBUlAgcmVxdWVzdCBh bmQgZmluZCB0aGUgbmVpZ2hib3JzIG1hYwo+IGFkZHJlc3MuIGFycF9zb2xpY2l0IHdpbGwgdGFr ZSB0aGUgc291cmNlIGFkZHJlc3Mgb2YgdGhlIHBhY2tldAo+ICgxMC4wLjEuMSkgYW5kIGxvb2t1 cCB0byBzZWFyY2ggaXQgbG9jYWxseS4gVGhpcyBjaGVjayBmYWlscyBiZWNhdXNlCj4gMTAuMC4x LjEgaXMgbm90IGF2YWlsYWJsZSBsb2NhbGx5ICh0aGVyZSBpcyBhIGRpcmVjdCByb3V0ZSB0byBp dCwgYnV0Cj4gaXQncyBub3QgY29uZmlndXJlZCBvbiBhbnkgbG9jYWwgaW50ZXJmYWNlIChSVE5f TE9DQUwpKS4gYXJwX3NvbGljaXQKPiB3aWxsIHRodXMgWzJdIGNhbGwgaW5ldF9zZWxlY3RfYWRk ciwgd2hpY2ggZ29lcyB0aHJvdWdoIGFsbCB0aGUgaXAKPiBhZGRyZXNzZXMgb24gdGhlIGN1cnJl bnQgaW50ZXJmYWNlICh0aGVyZSBhcmUgbm9uZSwgYmVjYXVzZSB0aGlzCj4gaW50ZXJmYWNlIGlz IHVubnVtYmVyZWQpIGFuZCB0aGVuIGl0ZXJhdGUgdGhyb3VnaCBhbGwgdGhlIG90aGVyCj4gaW50 ZXJmYWNlcyBvbiB0aGUgaG9zdCBhbmQgc2VsZWN0IHRoZSBmaXJzdCBvbmUgd2l0aCAnc2NvcGUg bGluaycuIFRoaXMKPiBpcCB3aWxsIHRoZW4gYmUgc2VsZWN0ZWQgYXMgdGhlIHNvdXJjZSBhZGRy ZXNzIGZvciB0aGUgb3V0Z29pbmcgQVJQCj4gcGFja2FnZS4gTm93IGlmIHdlJ3JlIGx1Y2t5IHRo aXMgaXMgdGhlIGR1bW15IGludGVyZmFjZSBvbiBvdXIgbm9kZSBhbmQKPiB3ZSBzZWxlY3QgdGhl IGNvcnJlY3Qgc291cmNlIGFkZHJlc3MgKDEwLjAuMS4yKSAtLSBidXQgd2UgY291bGQgYWxzbyBi ZQo+IHVubHVja3kgYW5kIGl0IHNlbGVjdHMgYSBjb21wbGV0ZWx5IHJhbmRvbSBhZGRyZXNzIGZy b20gYW5vdGhlcgo+IGludGVyZmFjZSBlLmcuIDE3Mi4xNi4wLjI2LiBJZiB3ZSdyZSB1bmx1Y2t5 IGFycF9zb2xpY2l0IHdpbGwgc2VuZCBvdXQKPiB0aGUgZm9sbG93aW5nIEFSUCBwYWNrZXQ6Cj4g Cj4gICAgIFJlcXVlc3Qgd2hvLWhhcyAxMC4wLjEuMyB0ZWxsIDE3Mi4xNi4wLjI2Cj4gCj4gV2Ug d2lsbCBnZXQgYSBjb3JyZWN0IHJlc3BvbnNlIGJ1dCB0aGUgcmVzcG9uc2Ugd2lsbCBlbmQgdXAg b24gYW5vdGhlcgo+IGludGVyZmFjZSAoYmVjYXVzZSAxNzIuMTYuMC4yNiBpcyBub3Qgb24gdGhl IHNhbWUgaW50ZXJmYWNlIGFzCj4gMTAuMC4xLjIpLiBUaGlzIG1lYW5zIHdlIHdpbGwgc2VuZCBv dXQgdGhlc2UgQVJQIHJlcXVlc3RzIHJlcGVhdGVkbHkgYW5kCj4gbmV2ZXIgZ2V0IGFuIGFuc3dl ciwgc28gdGhlIHBpbmcgZnJvbSBOb2RlMSB0byBOb2RlMyB3aWxsIGdldAo+ICJEZXN0aW5hdGlv biBob3N0IHVucmVhY2hhYmxlIGVycm9ycyIuCgpJbnRlcmVzdGluZywgdGhhdCB0aGUgc3JjIElQ IGFkZHJlc3MgZGlyZWN0aXZlIGZyb20gdGhlIHJvdXRlIGlzIG5vdApjb25zaWRlcmVkIGF0IGFs bDoKCjE3Mi4xNi4xMjMuMiBuaGlkIDE2MiB2aWEgMTcyLjE2LjEyMy4yIGRldiBlbnMyMiBbLi5d IHNyYyAxNzIuMTYuMTIzLjEKCkRpZG4ndCBkaWcgZnVydGhlciBpbnRvIGl0LCB0aGVyZSdzIGEg Z29vZCBjaGFuY2UgdGhlcmUncyBhIGdvb2QgcmVhc29uCmZvciB0aGF0IEkganVzdCBkaWRuJ3Qg c2VlIGltbWVkaWF0ZWx5LgoKCldoYXQgSSBhbHNvIGZvdW5kIGludGVyZXN0aW5nIHdoaWxlIGp1 bXBpbmcgZG93biB0aGlzIHJhYmJpdCBob2xlIGlzIHRoZQpmb2xsb3dpbmcgY29tbWVudCAvIGNv ZGUgc2VjdGlvbiBpbiB0aGUgaW5ldF9zZWxlY3RfYWRkciBmdW5jdGlvbiBbMV06CgovKiBGb3Ig VlJGcywgdGhlIFZSRiBkZXZpY2UgdGFrZXMgdGhlIHBsYWNlIG9mIHRoZSBsb29wYmFjayBkZXZp Y2UsCiAqIHdpdGggYWRkcmVzc2VzIG9uIGl0IGJlaW5nIHByZWZlcnJlZC4gIE5vdGUgaW4gc3Vj aCBjYXNlcyB0aGUKICogbG9vcGJhY2sgZGV2aWNlIHdpbGwgYmUgYW1vbmcgdGhlIGRldmljZXMg dGhhdCBmYWlsIHRoZSBtYXN0ZXJfaWR4CiAqIGVxdWFsaXR5IGNoZWNrIGluIHRoZSBsb29wIGJl bG93LgogKi8KClNvLCBpbiB0aGF0IGNhc2UgKGlpdWMpIG9uZSBjb3VsZCBzaWRlLXN0ZXAgdGhh dCBwcm9ibGVtIGJ5CmNvbXBhcnRtZW50YWxpemluZyB0aGUgZmFicmljIGluc2lkZSBpdHMgb3du IFZSRiAoZnVydGhlciByZWluZm9yY2luZyBteQpiZWxpZWYgaW4gaW1wbGVtZW50aW5nIFZSRiBz dXBwb3J0IHNvb25lciB0aGFuIGxhdGVyIHRvIGF2b2lkIGlzc3VlcwpsaWtlIHRoaXMgd2hlbiBy dW5uaW5nIGV2ZXJ5dGhpbmcgaW4gb25lIHJvdXRpbmcgdGFibGUsIHBhcnRpY3VsYXJseQptdWx0 aXBsZSBmYWJyaWNzKS4KCmZhYnJpY2QgaGFzIG5vIFZSRiBzdXBwb3J0IGF0bSB0aG91Z2ggKGNv dWxkIHBvdGVudGlhbGx5IHJ1biBpdCB2aWEgaXAKdnJmIGV4ZWMsIGJ1dCB0aGF0IHNlZW1zIGhh Y2t5KSAtIE9TUEYgYW5kIEJHUCBkby4KCgpbMV0KaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIv c2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvbmV0L2lwdjQvZGV2 aW5ldC5jP2g9djYuMTcjbjEzNTkKCj4gRm9yIG1vcmUgaW5mb3JtYXRpb24gY2hlY2sgb3V0IHRo ZSBzaW1wbGlmaWVkIHZlcnNpb24gb2YgdGhlIGFycF9zb2xpY2l0Cj4gZnVuY3Rpb24gYmVsb3c6 Cj4gCj4gVGhlIGxvZ2ljIGlzIGltcGxlbWVudGVkIGluIHRoZSBhcnBfc29saWNpdCBmdW5jdGlv biB3aGljaCBpcyBzaG93biBoZXJlCj4gaW4gYSBzaW1wbGlmaWVkIGZvcm06Cj4gCj4gICAgIHN0 YXRpYyB2b2lkIGFycF9zb2xpY2l0KHN0cnVjdCBuZWlnaGJvdXIgKm5laWdoLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQo+ICAgICB7Cj4gCSAgICBfX2JlMzIgc2FkZHIgPSAwOwo+IAkgICAgc3RydWN0 IG5ldF9kZXZpY2UgKmRldiA9IG5laWdoLT5kZXY7Cj4gCSAgICBfX2JlMzIgdGFyZ2V0ID0gKihf X2JlMzIgKiluZWlnaC0+cHJpbWFyeV9rZXk7Cj4gCj4gCSAgICBzd2l0Y2ggKElOX0RFVl9BUlBf QU5OT1VOQ0UoaW5fZGV2KSkgewo+IAkgICAgZGVmYXVsdDoKPiAJICAgIGNhc2UgMDoJCS8qIEJ5 IGRlZmF1bHQgYW5ub3VuY2UgYW55IGxvY2FsIElQICovCj4gCQkgICAgaWYgKHNrYiAmJiBpbmV0 X2FkZHJfdHlwZV9kZXZfdGFibGUoZGV2X25ldChkZXYpLCBkZXYsCj4gCQkJCQkgICAgICBpcF9o ZHIoc2tiKS0+c2FkZHIpID09IFJUTl9MT0NBTCkKPiAJCQkgICAgc2FkZHIgPSBpcF9oZHIoc2ti KS0+c2FkZHI7Cj4gCQkgICAgYnJlYWs7Cj4gCSAgICBjYXNlIDE6CQkvKiBSZXN0cmljdCBhbm5v dW5jZW1lbnRzIG9mIHNhZGRyIGluIHNhbWUgc3VibmV0ICovCj4gCQkgICAgaWYgKCFza2IpCj4g CQkJICAgIGJyZWFrOwo+IAkJICAgIHNhZGRyID0gaXBfaGRyKHNrYiktPnNhZGRyOwo+IAkJICAg IGlmIChpbmV0X2FkZHJfdHlwZV9kZXZfdGFibGUoZGV2X25ldChkZXYpLCBkZXYsCj4gCQkJCQkJ IHNhZGRyKSA9PSBSVE5fTE9DQUwpIHsKPiAJCQkgICAgLyogc2FkZHIgc2hvdWxkIGJlIGtub3du IHRvIHRhcmdldCAqLwo+IAkJCSAgICBpZiAoaW5ldF9hZGRyX29ubGluayhpbl9kZXYsIHRhcmdl dCwgc2FkZHIpKQo+IAkJCQkgICAgYnJlYWs7Cj4gCQkgICAgfQo+IAkJICAgIHNhZGRyID0gMDsK PiAJCSAgICBicmVhazsKPiAJICAgIGNhc2UgMjoJCS8qIEF2b2lkIHNlY29uZGFyeSBJUHMsIGdl dCBhIHByaW1hcnkvcHJlZmVycmVkIG9uZSAqLwo+IAkJICAgIGJyZWFrOwo+IAkgICAgfQo+IAo+ IAkgICAgaWYgKCFzYWRkcikKPiAJCSAgICBzYWRkciA9IGluZXRfc2VsZWN0X2FkZHIoZGV2LCB0 YXJnZXQsIFJUX1NDT1BFX0xJTkspOwo+IAo+IAkgICAgYXJwX3NlbmRfZHN0KEFSUE9QX1JFUVVF U1QsIEVUSF9QX0FSUCwgdGFyZ2V0LCBkZXYsIHNhZGRyLAo+IAkJCSBkc3RfaHcsIGRldi0+ZGV2 X2FkZHIsIE5VTEwsIGRzdCk7Cj4gICAgIH0KPiAKPiBIb3cgdG8gZml4IHRoaXMKPiA9PT09PT09 PT09PT09PT0KPiAKPiBXZSBjb3VsZCBmaXggdGhpcyBieSB0d2Vha2luZyB0aGUgYXJwX2Fubm91 bmNlIG9wdGlvbiwgYnV0IHdlIHdvdWxkIG5lZWQKPiB0byBiZSBjYXJlZnVsIGFuZCBvbmx5IGRv IHRoaXMgb24gb3V0Z29pbmcgaW50ZXJmYWNlcy4gVGhlIHByb2JsZW0gaXMKPiBoZXJlIHRoYXQg d2UgY2FuJ3QgdGVsbCB3aGljaCBpbnRlcmZhY2VzIHdpbGwgb25seSBiZSBvdXRnb2luZwo+IGlu dGVyZmFjZXMuCj4gQSBtdWNoIHNpbXBsZXIgc29sdXRpb24gd291bGQgYmUgdG8ganVzdCBzZXQg dGhlIGlwIGFkZHJlc3Mgb2YgdGhlIG5vZGUKPiAoaW4gb3VyIGNhc2UgZm9yIE5vZGUyIDEwLjAu MS4yKSBvbiBldmVyeSBpbnRlcmZhY2VzIHdoaWNoIGlzIGluIHRoZQo+IGZhYnJpYy4gSW4gdGhh dCBjYXNlIGluZXRfc2VsZWN0X2FkZHIgd2lsbCBzZWxlY3QgdGhlIGNvcnJlY3QgYWRkcmVzcwo+ IGJlY2F1c2UgaXQncyBzZXQgb24gdGhlIG91dGdvaW5nIGludGVyZmFjZS4gVGhpcyBtZWFucyBh bGwgdGhlIEFSUAo+IHJlcXVlc3RzIHdpbGwgYmUgc2VudCBvdXQgd2l0aCB0aGUgY29ycmVjdCBz b3VyY2UgYWRkcmVzcy4KPiAKPiBbMF06IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9s aW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC90cmVlL25ldC9pcHY0L2FycC5jI24z MzMKPiBbMV06IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0 L3RvcnZhbGRzL2xpbnV4LmdpdC90cmVlL25ldC9pcHY0L2FycC5jI24zNTIKPiBbMl06IGh0dHBz Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4 LmdpdC90cmVlL25ldC9pcHY0L2FycC5jI24zNzMKPiAKPiBTaWduZWQtb2ZmLWJ5OiBHYWJyaWVs IEdvbGxlciA8Zy5nb2xsZXJAcHJveG1veC5jb20+Cj4gLS0tCj4gCj4gQ2hhbmdlbG9nOgo+IHYx Ogo+ICAqIGV4cGxhaW5lZCB0aGUgcHJvYmxlbSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UgYmV0dGVy LCBubyBmdW5jdGlvbmFsCj4gICAgY2hhbmdlLgo+IAo+ICBwdmUtcnMvc3JjL2JpbmRpbmdzL3Nk bi9mYWJyaWNzLnJzIHwgMTcgKysrKysrKysrKysrKy0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDEz IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3B2ZS1ycy9z cmMvYmluZGluZ3Mvc2RuL2ZhYnJpY3MucnMgYi9wdmUtcnMvc3JjL2JpbmRpbmdzL3Nkbi9mYWJy aWNzLnJzCj4gaW5kZXggNTg3YjFkNjhjOGZiLi45ZDVmYTZjNTNkNzAgMTAwNjQ0Cj4gLS0tIGEv cHZlLXJzL3NyYy9iaW5kaW5ncy9zZG4vZmFicmljcy5ycwo+ICsrKyBiL3B2ZS1ycy9zcmMvYmlu ZGluZ3Mvc2RuL2ZhYnJpY3MucnMKPiBAQCAtNTQ0LDEyICs1NDQsMjEgQEAgcHViIG1vZCBwdmVf cnNfc2RuX2ZhYnJpY3Mgewo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGUhKGlu dGVyZmFjZXMsICJ7aW50ZXJmYWNlfSIpPzsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ ICAKPiAtICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90IGlwIGlzIGNvbmZpZ3VyZWQs IGFkZCBhdXRvIGFuZCBlbXB0eSBpZmFjZSB0byBicmluZyBpbnRlcmZhY2UgdXAKPiArICAgICAg ICAgICAgICAgICAgICAgICAgLy8gSWYgbm8gaXAgaXMgY29uZmlndXJlZCwgYWRkIGF1dG8gYW5k IGlmYWNlIHdpdGggbm9kZSBpcCB0byBicmluZyBpbnRlcmZhY2UgdXAKPiArICAgICAgICAgICAg ICAgICAgICAgICAgLy8gT3BlbkZhYnJpYyBkb2Vzbid0IHJlYWxseSBuZWVkIGFuIGlwIG9uIHRo ZSBpbnRlcmZhY2UsIGJ1dCB0aGUgcHJvYmxlbQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAv LyBpcyB0aGF0IGFycCBjYW4ndCB0ZWxsIHdoaWNoIHNvdXJjZSBhZGRyZXNzIHRvIHVzZSBpbiBz b21lIGNhc2VzLCBzbwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIGJldHRlciBp ZiB3ZSBzZXQgdGhlIG5vZGUgYWRkcmVzcyBvbiBhbGwgdGhlIGZhYnJpYyBpbnRlcmZhY2VzLgo+ ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsZXQgKE5vbmUsIE5vbmUpID0gKGludGVyZmFj ZS5pcCgpLCBpbnRlcmZhY2UuaXA2KCkpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxldCBjaWRyID0gQ2lkcjo6ZnJvbShpZiBsZXQgU29tZShpcCkgPSBub2RlLmlwKCkgewo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElwQWRkcjo6ZnJvbShpcCkKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShpcCkgPSBub2RlLmlwNigp IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJcEFkZHI6OmZyb20oaXApCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFueWhvdzo6YmFpbCEoInRoZXJlIGhhcyB0byBiZSBhIGlwdjQgb3Ig aXB2NiBub2RlIGFkZHJlc3MiKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGludGVyZmFjZSA9IHJlbmRlcl9pbnRl cmZhY2UoaW50ZXJmYWNlLm5hbWUoKSwgY2lkciwgZmFsc2UpPzsKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdyaXRlbG4hKGludGVyZmFjZXMpPzsKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHdyaXRlbG4hKGludGVyZmFjZXMsICJhdXRvIHt9IiwgaW50ZXJmYWNlLm5hbWUo KSk/Owo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVsbiEoaW50ZXJmYWNlcywg ImlmYWNlIHt9IiwgaW50ZXJmYWNlLm5hbWUoKSk/Owo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgd3JpdGVsbiEoaW50ZXJmYWNlcywgIlx0aXAtZm9yd2FyZCAxIik/Owo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgd3JpdGUhKGludGVyZmFjZXMsICJ7aW50ZXJmYWNlfSIpPzsK PiAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ICAgICAgICAgICAgICAgICAgICAgIH0KPiAg ICAgICAgICAgICAgICAgIH0KCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1v eC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8v cHZlLWRldmVsCg==