From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 1E7C175689 for ; Wed, 13 Oct 2021 16:32:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 124FD13505 for ; Wed, 13 Oct 2021 16:32:51 +0200 (CEST) Received: from mailgw01.exchange.at (mailgw01.exchange.at [77.244.249.185]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id EED01134FA for ; Wed, 13 Oct 2021 16:32:48 +0200 (CEST) Received: from mailgw01.exchange.at (localhost.localdomain [127.0.0.1]) by mailgw01.exchange.at (Proxmox) with ESMTP id C175A10210B; Wed, 13 Oct 2021 16:32:48 +0200 (CEST) Received: from EX1.ex16.local (ex1.ex16.local [10.0.117.21]) by mailgw01.exchange.at (Proxmox) with ESMTPS; Wed, 13 Oct 2021 16:32:48 +0200 (CEST) From: =?utf-8?B?VkVMQVJUSVMgUGhpbGlwcCBEw7xyaGFtbWVy?= To: 'Josef Johansson' , "'pve-devel@lists.proxmox.com'" Thread-Topic: AW: [pve-devel] BUG in vlan aware bridge Thread-Index: Ade/S/a5oqf07sdpT0G5nqfmnpicNf//+76A///I3NCAANDZAIAAJuUA//8vuUCAAae+gP//uHpwAA6bcAD//9sQoA== Date: Wed, 13 Oct 2021 14:32:48 +0000 Message-ID: References: <2b417bee43cb4484bcba66afc6076113@velartis.at> <093EC041-0E5D-41F2-99C9-CF8A5E767313@marinov.us> <4F0DFA30-F1ED-4322-857A-4F4C24B463FE@marinov.us> <1FAB115F-FD40-41E1-AC81-A781DA29B378@marinov.us> <190901a568da4ce3a4553e6d929e6828@velartis.at> <04e7ef9a-2054-d929-fd1d-cf5f63047816@oderland.se> <554d5b7c632b47a795de25bc56a41ac6@velartis.at> <664767b8-d40b-ef60-f4f0-52b4ddbb62ff@oderland.se> In-Reply-To: <664767b8-d40b-ef60-f4f0-52b4ddbb62ff@oderland.se> Accept-Language: de-AT, de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.0.117.132] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.080 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_ASCII_DIVIDERS 0.8 Spam that uses ascii formatting tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment 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. [proxmox.com] Subject: Re: [pve-devel] BUG in vlan aware bridge 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: , X-List-Received-Date: Wed, 13 Oct 2021 14:32:51 -0000 SWYgeW91IFN0b3AgcHZlIGZpcmV3YWxsIHNlcnZpY2UgYW5kIGVjaG8gMCA+IC9wcm9jL3N5cy9u ZXQvYnJpZGdlL2JyaWRnZS1uZi1jYWxsLWlwdGFibGVzICh5b3Ugc3RvcCB0aGUgbmV0ZmlsdGVy IGhvb2spDQpUaGVuIGl0IHdvcmtzIGZvciBtZSBhbHNvIHdpdGggdGFnZWQgdGFwIGRldmljZXMg YW5kIHZsYW4gYXdhcmUgYnJpZGdlLiBJIHRoaW5rIGl0IGlzIGEga2VybmVsIGJ1Zy4NCldoYXQg SSBkb27igJl0IHVuZGVyc3RhbmQgd2h5IG5vdCBtb3JlIHBlb3BsZSBhcmUgcmVwb3J0aW5nIGl0 Li4uDQoNCg0KLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KVm9uOiBKb3NlZiBK b2hhbnNzb24gPGpvc2VmQG9kZXJsYW5kLnNlPiANCkdlc2VuZGV0OiBNaXR0d29jaCwgMTMuIE9r dG9iZXIgMjAyMSAxNjoxOQ0KQW46IFZFTEFSVElTIFBoaWxpcHAgRMO8cmhhbW1lciA8cC5kdWVy aGFtbWVyQHZlbGFydGlzLmF0PjsgJ3B2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbScgPHB2ZS1k ZXZlbEBsaXN0cy5wcm94bW94LmNvbT4NCkJldHJlZmY6IFJlOiBBVzogW3B2ZS1kZXZlbF0gQlVH IGluIHZsYW4gYXdhcmUgYnJpZGdlDQoNCkhpLA0KDQpJIGNhbiBjb25maXJtIHRoYXQgcyA+IDEy MDAwIGRvZXMgbm90IHdvcmsgb24gZWl0aGVyDQoNCnNpemUsIHRhcCh1bnRhZ2dlZCwgbXR1IDE1 MDApLT52bGFuLWF3YXJlIGJyaWRnZShtdHUgOTAwMCktPmJvbmQobXR1IDkwMDApLCB0YXAodGFn Z2VkLCBtdHUxNTAwKS0+dmxhbi1hd2FyZSBicmlkZ2UobXR1IDkwMDApLT5ib25kKG10dSA5MDAw KQ0KDQpzID4gMTIwMDAsIGRvZXNuJ3Qgd29yaywgZG9lc24ndCB3b3JrDQoNCnMgPiA4MDAwICwg d29ya3MsIGRvZXNuJ3Qgd29yaw0KDQoNClRoZSB0cmFmZmljKG9uZSBwYWNrZXQgZGVmcmFnbWVu dGVkKSBpcyBqdXN0IGRyb3BwZWQgYmV0d2VlbiBicmlkZ2UgYW5kIHRhcC4gSSB0cmllZCBteSBO T1RSQUNLIGFuZCBpdCBkaWRuJ3QgaGF2ZSBhbnkgYWZmZWN0Lg0KDQoNCldlIGhhdmUgZWl0aGVy IGEgYnVnIGluIG15IG1lbGxhbm94IGNhcmRzIGhlcmUgb3IgdGhlIGtlcm5lbC4gSSBkb24ndCB0 aGluayB0aGlzIGlzIGEgbm9ybWFsIGNhc2UuDQoNCk1lZCB2w6RubGlnYSBow6Rsc25pbmdhcg0K Sm9zZWYgSm9oYW5zc29uDQoNCk9uIDEwLzEzLzIxIDE1OjUzLCBWRUxBUlRJUyBQaGlsaXBwIETD vHJoYW1tZXIgd3JvdGU6DQo+IEFuZCB3aGF0IGhhcHBlbnMgaWYgeW91IHVzZSBwYWNrZXQgc2l6 ZSA+IDkwMDA/IHRoaXMgc2hvdWxkIHN0aWxsIA0KPiB3b3JrLi4uKGJlY2F1c2UgaXQgZ2V0cyBm cmFnbWVudGVkKQ0KPg0KPiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+IFZv bjogcHZlLWRldmVsIDxwdmUtZGV2ZWwtYm91bmNlc0BsaXN0cy5wcm94bW94LmNvbT4gSW0gQXVm dHJhZyB2b24gDQo+IEpvc2VmIEpvaGFuc3Nvbg0KPiBHZXNlbmRldDogTWl0dHdvY2gsIDEzLiBP a3RvYmVyIDIwMjEgMTM6MzcNCj4gQW46IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KPiBC ZXRyZWZmOiBSZTogW3B2ZS1kZXZlbF0gQlVHIGluIHZsYW4gYXdhcmUgYnJpZGdlDQo+DQo+IEhp LA0KPg0KPiBBRkFJSyBpdCdzIG5ldGZpbHRlciB0aGF0IGlzIGRvaW5nIGRlZnJhZ21lbnRpbmcg c28gdGhhdCBpdCBjYW4gZmlyZXdhbGwuDQo+DQo+IElmIHlvdSBzcGVjaWZ5DQo+DQo+IGlwdGFi bGVzIC10IHJhdyAtSSBQUkVST1VUSU5HIC1zIDc3LjI0NC4yNDAuMTMxIC1qIE5PVFJBQ0sNCj4N Cj4gaXB0YWJsZXMgLXQgcmF3IC1JIFBSRVJPVVRJTkcgLXMgMzcuMTYuNzIuNTIgLWogTk9UUkFD Sw0KPg0KPiB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gbWFrZSBpdCBpZ25vcmUgeW91ciBwYWNrZXRz Lg0KPg0KPg0KPiBBcyBhIGRhdGFwb2ludCBJIGNvdWxkIHBpbmcgZmluZSBmcm9tIGEgTVRVIDE1 MDAgaG9zdCwgb3ZlciBNVFUgOTAwMCB2bGFuLWF3YXJlIGJyaWRnZXMgd2l0aCBmaXJld2FsbHMg dG8gYW5vdGhlciBNVFUgMTUwMC4NCj4NCj4gQXMgeW91IHdvdWxkIGFzc3VtZSB0aGUgcGFja2Fn ZSBpcyBkZWZyYWdtZW50ZWQgb3ZlciBNVFUgOTAwMCBsaW5rcyBhbmQgZnJhZ21lbnRlZCBhZ2Fp biBvdmVyIE1UVSAxNTAwIGRldmljZXMuDQo+DQo+IE1lZCB2w6RubGlnYSBow6Rsc25pbmdhcg0K PiBKb3NlZiBKb2hhbnNzb24NCj4NCj4gT24gMTAvMTMvMjEgMTE6MjIsIFZFTEFSVElTIFBoaWxp cHAgRMO8cmhhbW1lciB3cm90ZToNCj4+IEhJLA0KPj4NCj4+DQo+PiBZZXMgaSB0aGluayBpdCBo YXMgbm90aGluZyB0byBkbyB3aXRoIHRoZSBib25kcyBidXQgd2l0aCB0aGUgdmxhbiBhd2FyZSBi cmlkZ2UgaW50ZXJmYWNlLg0KPj4NCj4+IEkgc2VlIHRoaXMgd2l0aCBwaW5nIC1zIDE1MDANCj4+ DQo+PiBPbiB0YXAgaW50ZXJmYWNlOiANCj4+IDExOjE5OjM1LjE0MTQxNCA2Mjo0NzplMDpmZTpm OTozMSA+IDU0OmUwOjMyOjI3OjZlOjUwLCBldGhlcnR5cGUgSVB2NCAoMHgwODAwKSwgbGVuZ3Ro IDE1MTQ6ICh0b3MgMHgwLCB0dGwgNjQsIGlkIDM5OTk5LCBvZmZzZXQgMCwgZmxhZ3MgWytdLCBw cm90byBJQ01QICgxKSwgbGVuZ3RoIDE1MDApDQo+PiAgICAgMzcuMTYuNzIuNTIgPiA3Ny4yNDQu MjQwLjEzMTogSUNNUCBlY2hvIHJlcXVlc3QsIGlkIDIxODIsIHNlcSA0LCANCj4+IGxlbmd0aCAx NDgwDQo+PiAxMToxOTozNS4xNDE0MzAgNjI6NDc6ZTA6ZmU6Zjk6MzEgPiA1NDplMDozMjoyNzo2 ZTo1MCwgZXRoZXJ0eXBlIElQdjQgKDB4MDgwMCksIGxlbmd0aCA1NjI6ICh0b3MgMHgwLCB0dGwg NjQsIGlkIDM5OTk5LCBvZmZzZXQgMTQ4MCwgZmxhZ3MgW25vbmVdLCBwcm90byBJQ01QICgxKSwg bGVuZ3RoIDU0OCkNCj4+ICAgICAzNy4xNi43Mi41MiA+IDc3LjI0NC4yNDAuMTMxOiBpcC1wcm90 by0xDQo+Pg0KPj4gT24gdm1icjA6DQo+PiAxMToxOTozNS4xNDE0NDIgNjI6NDc6ZTA6ZmU6Zjk6 MzEgPiA1NDplMDozMjoyNzo2ZTo1MCwgZXRoZXJ0eXBlIDgwMi4xUSAoMHg4MTAwKSwgbGVuZ3Ro IDIwNDY6IHZsYW4gMzUwLCBwIDAsIGV0aGVydHlwZSBJUHY0ICgweDA4MDApLCAodG9zIDB4MCwg dHRsIDY0LCBpZCAzOTk5OSwgb2Zmc2V0IDAsIGZsYWdzIFtub25lXSwgcHJvdG8gSUNNUCAoMSks IGxlbmd0aCAyMDI4KQ0KPj4gICAgIDM3LjE2LjcyLjUyID4gNzcuMjQ0LjI0MC4xMzE6IElDTVAg ZWNobyByZXF1ZXN0LCBpZCAyMTgyLCBzZXEgNCwgDQo+PiBsZW5ndGggMjAwOA0KPj4NCj4+IE9u IGJvbmQwIGl0cyBnb25lLi4uLg0KPj4NCj4+IEJ1dCB3aG8gaXMgaW4gY2hhcmdlIG9mIGZyYWdl bWVudGluZyB0aGUgcGFja2V0cyBub3JtYWxseT8gVGhlIGJyaWRnZSBpdHNlbGY/IE5ldGZpbHRl cj8NCj4+DQo+PiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+PiBWb246IHB2 ZS1kZXZlbCA8cHZlLWRldmVsLWJvdW5jZXNAbGlzdHMucHJveG1veC5jb20+IEltIEF1ZnRyYWcg dm9uIA0KPj4gU3RveWFuIE1hcmlub3YNCj4+IEdlc2VuZGV0OiBNaXR0d29jaCwgMTMuIE9rdG9i ZXIgMjAyMSAwMDo0Ng0KPj4gQW46IFByb3htb3ggVkUgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbiA8 cHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tPg0KPj4gQmV0cmVmZjogUmU6IFtwdmUtZGV2ZWxd IEJVRyBpbiB2bGFuIGF3YXJlIGJyaWRnZQ0KPj4NCj4+IE9LLCBJIGhhdmUganVzdCB2ZXJpZmll ZCBpdCBoYXMgbm90aGluZyB0byBkbyB3aXRoIGJvbmRzLiBJIGdldCB0aGUgc2FtZSBiZWhhdmlv ciB3aXRoIHZsYW4gYXdhcmUgYnJpZGdlLCBicmlkZ2UtbmYtY2FsbC1pcHRhYmxlcz0xIHdpdGgg cmVndWxhciBldGgwIGJlaW5nIHBhcnQgb2YgdGhlIGJyaWRnZS4gUGFja2V0cyBhcnJpdmUgZnJh Z21lbnRlZCBvbiB0YXAsIHJlYXNzZW1ibGVkIGJ5IG5ldGZpbHRlciBhbmQgdGhlbiByZS1pbmpl Y3RlZCBpbiBicmlkZ2UgYXNzZW1ibGVkIChmdWxsIHNpemUpLg0KPj4NCj4+IEkgZGlkIGhhdmUg bGltaXRlZCBzdWNjZXNzIGJ5IHNldHRpbmcgbmV0LmJyaWRnZS5icmlkZ2UtbmYtZmlsdGVyLXZs YW4tdGFnZ2VkIHRvIDEuIE5vdyBwYWNrZXRzIHNlZW0gdG8gZ2V0IGZyYWdtZW50ZWQgb24gdGhl IHdheSBvdXQgYW5kIGJhY2sgaW4sIGJ1dCB0aGVyZSBhcmUgc3RpbGwgaXNzdWVzOg0KPj4NCj4+ IDEuIEknbSB0ZXN0aW5nIHdpdGggcGluZyAtcyAyMDAwICgxNTAwIG10dSBldmVyeXdoZXJlKSB0 byBhbiBleHRlcm5hbCBib3guIEkgZG8gc2VlIHJlcGx5IHBhY2tldHMgYXJyaXZlIG9uIHRoZSB2 bSBuaWMsIGJ1dCBwaW5nIGRvZXNuJ3Qgc2VlIHRoZW0uIEhhdmVuJ3QgYW5hbHl6ZWQgbXVjaCBm dXJ0aGVyLg0KPj4gMi4gV2hpbGUgd2F0Y2hpbmcgd2l0aCB0Y3BkdW1wIChpbnNpZGUgdGhlIHZt KSBpIG5vdGljZSAiaXAgcmVhc3NlbWJseSB0aW1lIGV4Y2VlZGVkIiBtZXNzYWdlcyBiZWluZyBn ZW5lcmF0ZWQgZnJvbSB0aGUgdm0uDQo+Pg0KPj4gSSdsbCB0cnkgdG8gaW52ZXN0aWdhdGUgYSBi aXQgZnVydGhlciB0b21vcnJvdy4NCj4+DQo+Pj4gT24gMTIgT2N0IDIwMjEsIGF0IDExOjI2IFBN LCBTdG95YW4gTWFyaW5vdiA8c3RveWFuQG1hcmlub3YudXM+IHdyb3RlOg0KPj4+DQo+Pj4gVGhh dCdzIGFuIGludGVyZXN0aW5nIG9ic2VydmF0aW9uLiBOb3cgdGhhdCBJIHRoaW5rIGFib3V0IGl0 LCBpdCBjb3VsZCBiZSBjYXVzZWQgYnkgYm9uZGluZyBhbmQgbm90IHRoZSB1bmRlcmx5aW5nIGRl dmljZS4gV2hlbiBJIHRlc3RlZCB0aGlzIChhYm91dCBhbiB5ZWFyIGFnbykgSSB3YXMgdXNpbmcg Ym9uZGluZyBvbiB0aGUgbWx4IGFkYXB0ZXJzIGFuZCBub3QgdXNpbmcgYm9uZGluZyBvbiBpbnRl bCBvbmVzLg0KPj4+DQo+Pj4+IE9uIDEyIE9jdCAyMDIxLCBhdCAzOjM2IFBNLCBWRUxBUlRJUyBQ aGlsaXBwIETDvHJoYW1tZXIgPHAuZHVlcmhhbW1lckB2ZWxhcnRpcy5hdD4gd3JvdGU6DQo+Pj4+ DQo+Pj4+IEhJLA0KPj4+Pg0KPj4+PiB3ZSB1c2UgSFAgU2VydmVyIHdpdGggSW50ZWwgQ2FyZHMg b3IgdGhlIHN0YW5kYXJkIGhwIG5pYyAoIGl0aGluayANCj4+Pj4gYWxzbyBpbnRlbCkNCj4+Pj4N Cj4+Pj4gQWxzbyBJIHNlZSB0aGUgSSBkaWQgYSBtaXN0YWtlOg0KPj4+Pg0KPj4+PiBTZXR1cCB3 b3JraW5nOg0KPj4+PiB0YXBYIChVTnRhZ2dlZCkgPC0gLT4gdm1icjAgPC0gLSA+IGJvbmQwDQo+ Pj4+DQo+Pj4+IGlzIGNvcnJlY3QuIChiZWZvcmUgSSBoYWQgYWxzbyB0YWdnZWQpDQo+Pj4+DQo+ Pj4+IGl0IHNob3VsZCBiZSA6DQo+Pj4+DQo+Pj4+IFNldHVwIG5vdCB3b3JraW5nOg0KPj4+PiB0 YXBYICh0YWdnZWQpIDwtIC0+IHZtYnIwIDwtIC0gPiBib25kMA0KPj4+Pg0KPj4+PiBTZXR1cCB3 b3JraW5nOg0KPj4+PiB0YXBYICh1bnRhZ2dlZCkgPC0gLT4gdm1icjAgPC0gLSA+IGJvbmQwDQo+ Pj4+DQo+Pj4+IFNldHVwIGFsc28gd29ya2luZzoNCj4+Pj4gdGFwWCA8IC0gLSA+IHZtYnIwdjM1 MCA8IC0tID4gYm9uZDAuMzUwIDwgLS0gPiBib25kMA0KPj4+Pg0KPj4+PiAtLS0tLVVyc3Byw7xu Z2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+Pj4+IFZvbjogcHZlLWRldmVsIDxwdmUtZGV2ZWwtYm91 bmNlc0BsaXN0cy5wcm94bW94LmNvbT4gSW0gQXVmdHJhZyB2b24gDQo+Pj4+IFN0b3lhbiBNYXJp bm92DQo+Pj4+IEdlc2VuZGV0OiBEaWVuc3RhZywgMTIuIE9rdG9iZXIgMjAyMSAxMzoxNg0KPj4+ PiBBbjogUHJveG1veCBWRSBkZXZlbG9wbWVudCBkaXNjdXNzaW9uIDxwdmUtZGV2ZWxAbGlzdHMu cHJveG1veC5jb20+DQo+Pj4+IEJldHJlZmY6IFJlOiBbcHZlLWRldmVsXSBCVUcgaW4gdmxhbiBh d2FyZSBicmlkZ2UNCj4+Pj4NCj4+Pj4gSSdtIGhhdmluZyB0aGUgdmVyeSBzYW1lIGlzc3VlIHdp dGggTWVsbGFub3ggZXRoZXJuZXQgYWRhcHRlcnMuIEkgZG9uJ3Qgc2VlIHRoaXMgYmVoYXZpb3Ig d2l0aCBJbnRlbCBuaWNzLiBXaGF0IG5ldHdvcmsgY2FyZHMgZG8geW91IGhhdmU/DQo+Pj4+DQo+ Pj4+PiBPbiAxMiBPY3QgMjAyMSwgYXQgMTo0OCBQTSwgVkVMQVJUSVMgUGhpbGlwcCBEw7xyaGFt bWVyIDxwLmR1ZXJoYW1tZXJAdmVsYXJ0aXMuYXQ+IHdyb3RlOg0KPj4+Pj4NCj4+Pj4+IEhJLA0K Pj4+Pj4NCj4+Pj4+IGkgYW0gcGxheWluZyBhcm91bmQgc2luY2UgZGF5cyBiZWNhdXNlIHdlIGhh dmUgc3RyYW5nZSBwYWNrZXQgbG9zc2VzLg0KPj4+Pj4gRmluYWxseSBJIGNhbiByZXBvcnQgZm9s bG93aW5nIChMaW51eCA1LjExLjIyLTQtcHZlLCBQcm94bW94IDcsIGFsbCBkZXZpY2VzIE1UVSAx NTAwKToNCj4+Pj4+DQo+Pj4+PiBQYWNrZXQgd2l0aCBzaXplcyA+IDE1MDAgd2l0aG91dCBWTEFO IHdvcmtpbmcgd2VsbCBidXQgYXQgdGhlIG1vbWVudCB0aGV5IGFyZSBUYWdnZWQgdGhleSBhcmUg ZHJvcHBlZCBieSB0aGUgYm9uZCBkZXZpY2UuDQo+Pj4+PiBOZXRmaWx0ZXIgKHNldCB0byAxKSBh bHdheXMgcmVhc3NlbWJsZXMgdGhlIHBhY2tldHMgd2hlbiB0aGV5IGFycml2ZSBhIGJyaWRnZS4g QnV0IHRoZXkgZG9uJ3QgZ2V0IGZyYWdtZW50ZWQgYWdhaW4gSSB0aGV5IGFyZSBWTEFOIHRhZ2dl ZC4gU28gdGhlIGJvbmQgZGV2aWNlIGRyb3BzIHRoZW0uIElmIHRoZSBicmlkZ2UgaXMgTk9UIFZs YW4gYXdhcmUgdGhleSBhbHNvIGdldCBmcmFnbWVudGVkIGFuZCBpdCB3b3JrcyB3ZWxsLg0KPj4+ Pj4NCj4+Pj4+IFNldHVwIG5vdCB3b3JraW5nOg0KPj4+Pj4NCj4+Pj4+IHRhcFggKHRhZ2dlZCkg PC0gLT4gdm1icjAgPC0gLSA+IGJvbmQwDQo+Pj4+Pg0KPj4+Pj4gU2V0dXAgd29ya2luZzoNCj4+ Pj4+DQo+Pj4+PiB0YXBYICh0YWdnZWQpIDwtIC0+IHZtYnIwIDwtIC0gPiBib25kMA0KPj4+Pj4N Cj4+Pj4+IFNldHVwIGFsc28gd29ya2luZzoNCj4+Pj4+DQo+Pj4+PiB0YXBYIDwgLSAtID4gdm1i cjB2MzUwIDwgLS0gPiBib25kMC4zNTAgPCAtLSA+IGJvbmQwDQo+Pj4+Pg0KPj4+Pj4gSGF2ZSB5 b3UgZ290IGFueSBpZGVhIHdoZXJlIHRvIHNlYXJjaD8gSSBkb24ndCB1bmRlcnN0YW5kIHdobyBp cyANCj4+Pj4+IGluIGNoYXJnZSBvZiBmcmFnbWVudGluZyBwYWNrYWdlcyBhZ2FpbiBpZiB0aGV5 IGdldCByZWFzc2VtYmxlZCBieSANCj4+Pj4+IG5ldGZpbHRlci4gKGFuZCB3aHkgaXQgaXMgbm90 IHdvcmtpbmcgd2l0aCB2bGFuIGF3YXJlIGJyaWRnZXMpDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+PiBwdmUt ZGV2ZWwgbWFpbGluZyBsaXN0DQo+Pj4+PiBwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20NCj4+ Pj4+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2 ZS1kZXZlbA0KPj4+Pj4NCj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4+Pj4gcHZlLWRldmVsIG1haWxpbmcgbGlzdA0KPj4+PiBwdmUtZGV2ZWxA bGlzdHMucHJveG1veC5jb20NCj4+Pj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmlu L21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsDQo+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+IHB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+ Pj4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tDQo+Pj4+IGh0dHBzOi8vbGlzdHMucHJveG1v eC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbA0KPj4+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gcHZlLWRldmVsIG1haWxp bmcgbGlzdA0KPj4+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KPj4+IGh0dHBzOi8vbGlz dHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbA0KPj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IHB2ZS1kZXZl bCBtYWlsaW5nIGxpc3QNCj4+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KPj4gaHR0cHM6 Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsDQo+ PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gcHZl LWRldmVsIG1haWxpbmcgbGlzdA0KPj4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tDQo+PiBo dHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2 ZWwNCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4g cHZlLWRldmVsIG1haWxpbmcgbGlzdA0KPiBwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20NCj4g aHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRl dmVsDQoNCg==