Re: Kernel panic in XDP_REDIRECT
Yuval El-Hanany <[email protected]> Mon, 3 Jun 2024 11:20:55 +0000
| Newsgroups | org.kernel.vger.xdp-newbies |
|---|---|
| Message-ID | <[email protected]> |
VGhhbmtzIE1hZ251cywNCglzZWUgaW5saW5l4oCmDQoNClAuUy4NCkZvciBub3cgc2V0dGluZyB0 aGUgbG9ja3Mgc3RpbGwgcmVzdWx0cyBpbiBhIGNyYXNoIGluIHRoZSBtYXAgZmx1c2guIEkgdGhp bmsgSSBuZWVkIHRvIGxvY2sgYWRkaW5nIHRvIHRoZSBmbHVzaCBsaXN0cywgYnV0IEnigJlsbCBr ZWVwIHRyeWluZy4gSeKAmW0gc2V0dGluZyBsb2NrcyBvbmx5IGZvciB0aGUgcmVhZCBhbmQgbm90 IHNlbmQsIGFzIGZvciBzZW5kIHdlIGFsd2F5cyBzZW5kIG9uIHRoZSBzYW1lIHF1ZXVlIGFzIHRo ZSBjdXJyZW50IENQVSBJIGJlbGlldmUuDQoNCj4gT24gMyBKdW4gMjAyNCwgYXQgMTE6MzUsIE1h Z251cyBLYXJsc3NvbiA8bWFnbnVzLmthcmxzc29uQGdtYWlsLmNvbT4gd3JvdGU6DQo+IA0KPiBD QVVUSU9OOkV4dGVybmFsIEVtYWlsLCBEbyBub3QgY2xpY2sgb24gbGlua3Mgb3Igb3BlbiBhdHRh Y2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250 ZW50IGlzIHNhZmUuDQo+IA0KPiBPbiBGcmksIDMxIE1heSAyMDI0IGF0IDIzOjI5LCBZdXZhbCBF bC1IYW5hbnkgPFl1dmFsRUByYWR3YXJlLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIE1hZ251cywN Cj4+ICAgICAgICB0aGFua3MgZm9yIHRoZSBndWlkYW5jZSwgdGhhdOKAmXMgZXh0cmVtZWx5IGhl bHBmdWwuIEnigJlsbCB0cnkgdG8gaW1wbGVtZW50IGl0IHNvb24gd2l0aCBzcGluIGxvY2tzLCBh bmQgc2VlIGxhdGVyIGlmIEkgY2FuIGFkZCBzb21lIGxvdyBpbXBhY3QgbG9ja2xlc3MgbWVjaGFu aXNtLiBZb3UgZG9u4oCZdCByZWNrb24sIGFkZGluZyBhIGNvbmZpZ3VyYXRpb24gZmxhZyB0byB0 aGUgc29ja2V0IHRoYXQgd291bGQgZW5hYmxlIG11bHRpIHByb3ZpZGVycyB3aXRoIHNwaW4gbG9j a3MsIGlzIGFuIGFjY2VwdGFibGUgc29sdXRpb24/IEJ5IGRlZmF1bHQgaXQgd291bGQgYmUgbG9j a2xlc3MgYW5kIGJsb2NrIG11bHRpIHByb3ZpZGVycy4gTGF0ZXIgaXQgY2FuIGJlIHVwZ3JhZGVk IHRvIGEgYmV0dGVyIHNvbHV0aW9uIGlmIHRoZXJl4oCZcyBhIGJldHRlciBtdWx0aXByb2R1Y2Vy IHNvbHV0aW9uLg0KPiANCj4gVGhhdCBpcyBhIHBvc3NpYmxlIHNvbHV0aW9uLCB0aG91Z2ggc29t ZXRoaW5nIHRoYXQgd291bGQgaGF2ZSB0byBiZQ0KPiBzZW50IHRvIGJwZi1uZXh0IGFzIGEgbmV3 IGZlYXR1cmUuIE1heWJlIHN0YXRpYyBicmFuY2hlcyBjb3VsZCBiZSB1c2VkDQo+IHRvIG5vdCBo dXJ0IHBlcmZvcm1hbmNlIHdoZW4gaXQgaXMgdHVybmVkIG9mZi4NClNvdW5kcyBnb29kIHRvIG1l Lg0KPiANCj4+ICAgICAgICBJ4oCZbSBhdHRhY2hpbmcgbXkgcGF0Y2ggZm9yIGFkZGluZyB0aGUg cmVjZWl2ZSBxdWV1ZSB0byB0aGUgeGRwX2ZyYW1lIHNvIGl0IGlzIHVwZGF0ZWQgYWZ0ZXIgY3B1 bWFwLiBJ4oCZdmUgdGVzdGVkIGl0IGFuZCBpdCB3b3JrcyBhcyBmYXIgYXMgcmVjb25zdHJ1Y3Rp bmcgdGhlIHJ4IHF1ZXVlLiBJIGRvbuKAmXQga25vdyBpZiB5b3Ugc3RpbGwgY29uc2lkZXIgaXQg bmVjZXNzYXJ5LCBidXQgY3VycmVudGx5IHRoZSByeCBxdWV1ZSBpcyBub3Qgc2V0IHRvIGFueSB2 YWx1ZSwgc28gaXRzIHZhbHVlIGlzIHVuZGVmaW5lZCBhZnRlciBjcHVtYXAgcmVkaXJlY3QuIEl0 IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHVuZGVmaW5lZCByeCBxdWV1ZSB3aWxsIG1hdGNoIHRoZSBv bmUgYXR0YWNoZWQgdG8gdGhlIHNvY2tldCBhbmQgdGhlbiB0aGUgdGVzdCBmb3IgdW1lbSB3b3Vs ZCBiZSB0cnVlIEkgdGhpbmsuIE1heSBiZSBpdCBzaG91bGQgYmUgc2V0IHRvIC0xIChhbmQgZGVm aW5lIC0xIGFzIENQVU1BUCByZWNlaXZlIHF1ZXVlKSBhZnRlciByZWNvbnN0cnVjdGluZyBmcm9t IHhkcF9mcmFtZT8gVGhhdCB3b3VsZCBibG9jayB0aGUgdGVzdC4gSSBzaG91bGQgcHJvYmFibHkg dXNlIGEgZGlmZmVyZW50IGRlZmF1bHQgdmFsdWUgb3RoZXIgdGhhbiAwICh3aGljaCBpcyBhbiBh Y2NlcHRhYmxlIHJ4IHF1ZXVlKSwgdGhvdWdoIEnigJltIG5vdCBzdXJlIHRoZXJl4oCZcyBhIGNv ZGUgZmxvdyB0aGF0IGRvZXNu4oCZdCBzZXQgcnhxLCBzbyBpdCBtYXkgYmUganVzdCBhIHJvYnVz dG5lc3MgY29uZGl0aW9uLg0KPiANCj4gSXMgaXQgbm90IHNldCB0byAwIGJ5IHRoZSBmb2xsb3dp bmcgY29kZT8NCj4gDQo+IHN0YXRpYyBpbnQgY3B1X21hcF9icGZfcHJvZ19ydW5feGRwKHN0cnVj dCBicGZfY3B1X21hcF9lbnRyeSAqcmNwdSwNCj4gICB2b2lkICoqZnJhbWVzLCBpbnQgbiwNCj4g ICBzdHJ1Y3QgeGRwX2NwdW1hcF9zdGF0cyAqc3RhdHMpDQo+IHsNCj4gc3RydWN0IHhkcF9yeHFf aW5mbyByeHEgPSB7fTsNCj4gDQo+IExvb2tzIGdvb2QgaW4gZ2VuZXJhbC4gU29tZSBjb21tZW50 cyBhbmQgcXVlc3Rpb25zIGJlbG93Lg0KVGhlIGluaXQgaXMgbm90IGluIDUuMTUuMTE1IGFuZCA2 LjYuOC4gSeKAmWxsIG5lZWQgdG8gY2hlY2sgdGhlIGxhdGVzdC4gSG93ZXZlciwgaXQgd2lsbCBz ZXQgdGhlIHJlY2VpdmUgcXVldWUgdG8gMC4gU28gd291bGRu4oCZdCB5b3Ugc3RpbGwgYmUgYWJs ZSB0byBzZW5kIGZyb20gYW55IENQVSB0byB0aGUgMCBxdWV1ZT8NCj4gDQo+PiAgICAgICAgQ2hl ZXJzLA0KPj4gICAgICAgICAgICAgICAgWXV2YWwuDQo+PiANCj4+IGRpZmYgLXVyTiBhL2luY2x1 ZGUvbmV0L3hkcC5oIGIvaW5jbHVkZS9uZXQveGRwLmgNCj4+IC0tLSBhL2luY2x1ZGUvbmV0L3hk cC5oIDIwMjMtMDYtMDUgMDc6MjE6MjcuMDAwMDAwMDAwICswMDAwDQo+PiArKysgYi9pbmNsdWRl L25ldC94ZHAuaCAyMDI0LTA1LTI5IDEzOjA3OjA5LjY3MTY5NzQ3OSArMDAwMA0KPj4gQEAgLTEx Nyw2ICsxMTcsNyBAQA0KPj4gICAgICAgIHUxNiBoZWFkcm9vbTsNCj4+ICAgICAgICB1MzIgbWV0 YXNpemU6ODsNCj4+ICAgICAgICB1MzIgZnJhbWVfc3o6MjQ7DQo+PiArICAgICAgIHUzMiByeF9x dWV1ZV9pbmRleDsgLyogVXNlIHdoZW4gdW5wYWNraW5nIHRvIHhkcF9idWZmIGluIGNwdW1hcC4g Ki8NCj4+ICAgICAgICAvKiBMaWZldGltZSBvZiB4ZHBfcnhxX2luZm8gaXMgbGltaXRlZCB0byBO QVBJL2VucXVldWUgdGltZSwNCj4+ICAgICAgICAgKiB3aGlsZSBtZW0gaW5mbyBpcyB2YWxpZCBv biByZW1vdGUgQ1BVLg0KPj4gICAgICAgICAqLw0KPj4gQEAgLTE4MCw2ICsxODEsMTAgQEANCj4+ ICAgICAgICB4ZHAtPmRhdGFfZW5kID0gZnJhbWUtPmRhdGEgKyBmcmFtZS0+bGVuOw0KPj4gICAg ICAgIHhkcC0+ZGF0YV9tZXRhID0gZnJhbWUtPmRhdGEgLSBmcmFtZS0+bWV0YXNpemU7DQo+PiAg ICAgICAgeGRwLT5mcmFtZV9zeiA9IGZyYW1lLT5mcmFtZV9zejsNCj4+ICsgICAgICAgaWYgKHhk cC0+cnhxICE9IE5VTEwpDQo+IA0KPiBXaGVuIGNhbiB0aGUgcnhxIGJlIE5VTEw/DQpJIGFkZGVk IGl0IGZvciByb2J1c3RuZXNzLCBJIGNvdWxkbuKAmXQgZmluZCBhIGNvZGUgZmxvdyB3aGVyZSBp dCBjb3VsZCBiZSBOVUxMICh0aGVvcmV0aWNhbGx5IHJ4cSBmb3IgQ1BVTUFQIHJlZGlyZWN0IGlz IGEgaGFjayB3aGljaCByZXN1bHRzIGluIHRoZXNlIGlzc3VlcywgYnV0IHRoYXTigJlzIHNvcnQg b2YgdGhlIHBvaW50KS4NCj4gDQo+PiArICAgICAgIHsNCj4+ICsgICAgICAgICAgICAgICB4ZHAt PnJ4cS0+cXVldWVfaW5kZXggPSBmcmFtZS0+cnhfcXVldWVfaW5kZXg7DQo+PiArICAgICAgIH0N Cj4+IH0NCj4+IA0KPj4gc3RhdGljIGlubGluZQ0KPj4gQEAgLTIwNiw2ICsyMTEsNyBAQA0KPj4g ICAgICAgIHhkcF9mcmFtZS0+aGVhZHJvb20gPSBoZWFkcm9vbSAtIHNpemVvZigqeGRwX2ZyYW1l KTsNCj4+ICAgICAgICB4ZHBfZnJhbWUtPm1ldGFzaXplID0gbWV0YXNpemU7DQo+PiAgICAgICAg eGRwX2ZyYW1lLT5mcmFtZV9zeiA9IHhkcC0+ZnJhbWVfc3o7DQo+PiArICAgICAgIHhkcF9mcmFt ZS0+cnhfcXVldWVfaW5kZXggPSAoeGRwLT5yeHEgIT0gTlVMTCkgPyB4ZHAtPnJ4cS0+cXVldWVf aW5kZXggOiAwOw0KPj4gDQo+PiAgICAgICAgcmV0dXJuIDA7DQo+PiB9DQo+PiBAQCAtMjI2LDYg KzIzMiw3IEBADQo+PiANCj4+ICAgICAgICAvKiByeHEgb25seSB2YWxpZCB1bnRpbCBuYXBpX3Nj aGVkdWxlIGVuZHMsIGNvbnZlcnQgdG8geGRwX21lbV9pbmZvICovDQo+PiAgICAgICAgeGRwX2Zy YW1lLT5tZW0gPSB4ZHAtPnJ4cS0+bWVtOw0KPj4gKyAgICAgICB4ZHBfZnJhbWUtPnJ4X3F1ZXVl X2luZGV4ID0geGRwLT5yeHEtPnF1ZXVlX2luZGV4Ow0KPiANCj4gSXMgaXQgZW5vdWdoIGp1c3Qg dG8gcHV0IHRoaXMgYXNzaWdubWVudCBpbiB0aGUgZnVuY3Rpb24gYWJvdmU/DQpMb29raW5nIGF0 IGN1cnJlbnQgdXNhZ2UsIHhkcF91cGRhdGVfZnJhbWVfZnJvbV9idWZmIGlzIG9ubHkgY2FsbGVk IGFmdGVyIHJ1bm5pbmcgYSBCUEYgcHJvZ3JhbS4gSSBndWVzcyBhIEJQRiBwcm9ncmFtIGlzIG5v dCBzdXBwb3NlZCB0byB1cGRhdGUgdGhlIHF1ZXVlIGluZGV4LCBzbyB0aGUgZmlyc3QgdXBkYXRl IGlzIHJlYWxseSByZWR1bmRhbnQuDQo+IA0KPj4gICAgICAgIHJldHVybiB4ZHBfZnJhbWU7DQo+ PiB9DQo+PiBkaWZmIC11ck4gYS9uZXQvY29yZS94ZHAuYyBiL25ldC9jb3JlL3hkcC5jDQo+PiAt LS0gYS9uZXQvY29yZS94ZHAuYyAgICAyMDIzLTA2LTA1IDA3OjIxOjI3LjAwMDAwMDAwMCArMDAw MA0KPj4gKysrIGIvbmV0L2NvcmUveGRwLmMgICAgMjAyNC0wNS0yOSAxMzowODowOC44ODA0NTY5 NzMgKzAwMDANCj4+IEBAIC01MzYsNiArNTM2LDcgQEANCj4+ICAgICAgICB4ZHBmLT5tZXRhc2l6 ZSA9IG1ldGFzaXplOw0KPj4gICAgICAgIHhkcGYtPmZyYW1lX3N6ID0gUEFHRV9TSVpFOw0KPj4g ICAgICAgIHhkcGYtPm1lbS50eXBlID0gTUVNX1RZUEVfUEFHRV9PUkRFUjA7DQo+PiArICAgICAg IHhkcGYtPnJ4X3F1ZXVlX2luZGV4ID0gKHhkcC0+cnhxICE9IE5VTEwpID8geGRwLT5yeHEtPnF1 ZXVlX2luZGV4IDogMDsNCj4+IA0KPj4gICAgICAgIHhza19idWZmX2ZyZWUoeGRwKTsNCj4+ICAg ICAgICByZXR1cm4geGRwZjsNCj4+IA0KPj4+IE9uIDMwIE1heSAyMDI0LCBhdCAxMDo1NSwgTWFn bnVzIEthcmxzc29uIDxtYWdudXMua2FybHNzb25AZ21haWwuY29tPiB3cm90ZToNCj4+PiANCj4+ PiBDQVVUSU9OOkV4dGVybmFsIEVtYWlsLCBEbyBub3QgY2xpY2sgb24gbGlua3Mgb3Igb3BlbiBh dHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBj b250ZW50IGlzIHNhZmUuDQo+Pj4gDQo+Pj4gT24gV2VkLCAyOSBNYXkgMjAyNCBhdCAxNzoxOCwg WXV2YWwgRWwtSGFuYW55IDx5dXZhbGVAcmFkd2FyZS5jb20+IHdyb3RlOg0KPj4+PiANCj4+Pj4g T3VjaCwNCj4+Pj4gICAgICAgbm90IHdoYXQgSSB3YXMgaG9waW5nIGZvciA6LSguIEnigJltIGdv bm5hIHRoaW5rIGFib3V0IGl0IG15c2VsZi4gWW91IHdvdWxkIHN0aWxsIG5lZWQgdG8gZGlzYWJs ZSBYU0sgcmVkaXJlY3QgZnJvbSBhIENQVU1BUCBYRFAgcHJvZ3JhbS4gVGhlIHJ4X3F1ZXVlX2lu ZGV4IHdvdWxkIGJlIG9mIHRoZSBvcmlnaW5hdGluZyBDUFUgKGlmIHdlIHN0aWxsIGZpeCB0aGUg cnhfcXVldWVfaW5kZXggYnV0IGl0IGNhbuKAmXQgYmUgbGVmdCBhcyBpcyBhbnlob3cpLCBhbmQg WFNLIHJlZGlyZWN0IHdvdWxkIGJlIGFibGUgdG8gZmVlZCB0byB0aGUgc2FtZSBxdWV1ZSBmcm9t IGRpZmZlcmVudCBDUFVzLCBpZiBJIHVuZGVyc3RhbmQgdGhlIGFyY2hpdGVjdHVyZSBjb3JyZWN0 bHkuDQo+Pj4+IA0KPj4+PiAgICAgICBJ4oCZbGwgdHJ5IHRvIGFkZCBsb2NraW5nIGFuZCBzZWUg dGhlIHBlcmZvcm1hbmNlIGhpdC4gSXTigJlzIG9ubHkgdGhlIFhTSyByZWRpcmVjdCB0YXJnZXQg dGhhdCB3b3VsZCBuZWVkIGEgbG9jaz8gTWF5IGJlIGFkZCBhIGZsYWcgdG8gdGhlIHNvY2tldCBv ciB1bWVtIHRoYXQgYWxsb3dzIG11bHRpY3B1IGFjY2VzcyBhbmQgaW50cm9kdWNlcyBhIGxvY2s/ IEkgcmVhbGx5IHdhbm5hIGdldCB0aGlzIHdvcmtpbmcuIEZvciBteSB1c2UgY2FzZSwgaXQgd291 bGQgYmUgdGhlIG9wdGltYWwgc29sdXRpb24uIEkgbWlnaHQgZXZlbiBnbyBmb3IgYSBwcml2YXRl IGtlcm5lbCBpZiB0aGVyZeKAmXMgbm8gd2F5IHRvIGdldCBpdCBpbiBwcm9kdWN0aW9uIGtlcm5l bC4NCj4+PiANCj4+PiBZb3Ugd291bGQgbmVlZCB0byBhZGQgYSBzcGlubG9jayBpbiBfX3hza19y Y3ZfemMoKSwgX194c2tfcmN2KCkgKGZvcg0KPj4+IHNrYiBtb2RlKSwgYW5kIHhza19mbHVzaCgp LiBCYXNpY2FsbHkgdG8gYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VzcyB0aGUNCj4+PiByaW5nLCBp LmUuIHVzZXMgZnVuY3Rpb25zIHRoYXQgc3RhcnQgd2l0aCB4c2txXyB0aGF0IG5lZWQgdG8gYmUN Cj4+PiBwcm90ZWN0ZWQuIFRvIGdldCBhbnl0aGluZyBsaWtlIHRoaXMgaW50byB0aGUgc3RhbmRh cmQga2VybmVsLCB0aGUNCj4+PiBzcGlubG9ja3Mgd291bGQgaGF2ZSB0byBiZSBkaXNhYmxlZCAo c2luY2UgdGhleSBhcmUgY29zdGx5KSB3aGVuIG9ubHkNCj4+PiBvbmUga3RocmVhZC9uYXBpIGlk IGlzIHVzaW5nIHRoZSBzb2NrZXQsIGJ1dCBlbmFibGVkIHdoZW4gdHdvIG9yIG1vcmUNCj4+PiBr dGhyZWFkcyBkZWNpZGUgdG8gcmVkaXJlY3QgdG8gdGhlIHNhbWUgc29ja2V0LiBTaW5jZSBzb2Nr ZXRzIGNhbiBiZQ0KPj4+IGFkZGVkIGR5bmFtaWNhbGx5IHRvIHRoZSBYU0tNQVAgYW5kIHRoZSBw cmVzZW5jZSBvZiBtdWx0aXBsZSBzb2NrZXRzDQo+Pj4gaW4gdGhlIFhTS01BUCBkb2VzIG5vdCBt ZWFuIHRoYXQgdGhleSB3aWxsIGFsbCBiZSBhY2Nlc3NlZCBieSBhIG5hcGkNCj4+PiBpbnN0YW5j ZSwgdGhpcyBjb21wbGljYXRlcyB0aGUgaW1wbGVtZW50YXRpb24gYSBsb3QuIEkgcmVhbGx5IGRv IG5vdA0KPj4+IHdhbnQgdG8gaHVydCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGNvbW1vbiBjYXNl IHRoYXQgd2UgaGF2ZSB0b2RheS4NCj4+PiBCdXQgYSBwcml2YXRlIHBhdGNoIHNlZW1zIGRvYWJs ZS4NCj4+PiANCj4+PiBBbm90aGVyIG9wdGlvbiB3b3VsZCBiZSB0byBmaW5kIGEgd2F5IHRvIGRv IGEgbG9jay1sZXNzIG11bHRpLXByb2R1Y2VyDQo+Pj4gLyBzaW5nbGUtY29uc3VtZXIgcXVldWUg dXNpbmcgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIG9uIHRoZSBjb25zdW1lciAvDQo+Pj4gdXNlci1z cGFjZSBzaWRlLiBEbyBub3Qga25vdyBpZiB0aGlzIGlzIHBvc3NpYmxlIHRob3VnaC4gSXQgd2Fz IHRyaWNreQ0KPj4+IGVub3VnaCB0byBnZXQgdGhlIGN1cnJlbnQgU1BTQyByaW5nIGNvcnJlY3Qg b24gYWxsIGFyY2hpdGVjdHVyZXMuIEENCj4+PiBNUFNDIHJpbmcgd2lsbCBiZSBoYXJkZXIuIEFk ZGluZyBzcGluLWxvY2tzIHdvdWxkIGJlIGEgbG90IHNpbXBsZXIuDQo+Pj4gDQo+Pj4+IA0KPj4+ PiAgICAgICBUaGFua3MsDQo+Pj4+ICAgICAgICAgICAgICAgWXV2YWwuDQo+Pj4+IA0KPj4+Pj4g T24gMjkgTWF5IDIwMjQsIGF0IDE2OjI1LCBNYWdudXMgS2FybHNzb24gPG1hZ251cy5rYXJsc3Nv bkBnbWFpbC5jb20+IHdyb3RlOg0KPj4+Pj4gDQo+Pj4+PiBDQVVUSU9OOkV4dGVybmFsIEVtYWls LCBEbyBub3QgY2xpY2sgb24gbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJl Y29nbml6ZSB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+Pj4+PiAN Cj4+Pj4+IE9uIFdlZCwgMjkgTWF5IDIwMjQgYXQgMTM6MDcsIE1hZ251cyBLYXJsc3NvbiA8bWFn bnVzLmthcmxzc29uQGdtYWlsLmNvbT4gd3JvdGU6DQo+Pj4+Pj4gDQo+Pj4+Pj4gT24gV2VkLCAy OSBNYXkgMjAyNCBhdCAxMTowOCwgWXV2YWwgRWwtSGFuYW55IDxZdXZhbEVAcmFkd2FyZS5jb20+ IHdyb3RlOg0KPj4+Pj4+PiANCj4+Pj4+Pj4gSGksDQo+Pj4+Pj4+ICAgICAgSSBnb3Qga2VybmVs IHBhbmljIG9uIEtlcm5lbCA1LjE1LjExNyAod2l0aCB0aGUgc2hhcmVkIHVtZW0ga2VybmVsIHBh dGNoKS4gVGhlIHNjZW5hcmlvIHdhcyBzaW1wbGUuIEluc3RlYWQgb2YgcmVkaXJlY3RpbmcgdG8g YSBkaWZmZXJlbnQgY3B1IHVzaW5nIENQVU1BUCwgSeKAmXZlIHRyaWVkIHJlZGlyZWN0aW5nIHRy YWZmaWMgZnJvbSBhIENQVSBjb3JlIHRvIGEgZGlmZmVyZW50IENQVSBjb3JlIHVzaW5nIFhTSyBz b2NrZXRzLiBJIHVzZWQgMiBjb3Jlcy4gV2hlbiBlYWNoIHJlZGlyZWN0ZWQgdG8gdGhlIG90aGVy LCBhbGwgd29ya2VkIHdlbGwuIFdoZW4gcmVkaXJlY3RpbmcgdHJhZmZpYyBmcm9tIGJvdGggY29y ZXMgdG8gb25lIGNvcmUsIEkgZ290IGEga2VybmVsIHBhbmljIGFsbW9zdCBpbW1lZGlhdGVseSB1 bmRlciBsb2FkLiBUaGUgZmx1c2hfbGlzdCBzZWVtcyB0byBiZSBwZXIgY3B1LCBidXQgc29tZWhv dyBpdOKAmXMgbWVzc2VkIHVwIHdoZW4gdHdvIGNvcmVzIGFjY2VzcyB0aGUgaXQ/DQo+Pj4+Pj4+ IA0KPj4+Pj4+PiAgICAgIFRoYW5rcywNCj4+Pj4+Pj4gICAgICAgICAgICAgIFl1dmFsLg0KPj4+ Pj4+IA0KPj4+Pj4+IFRoYW5rcyBZdXZhbC4gV2lsbCB0YWtlIGEgbG9vayBhdCBpdC4NCj4+Pj4+ IA0KPj4+Pj4gSSB0aGluayB0aGUgc2FkIGNvbmNsdXNpb24gaGVyZSBpcyB0aGF0IEkgbmVlZCB0 byByZXZlcnQgdGhlIHBhdGNoDQo+Pj4+PiB0aGF0IEkgc2VudCB0byB5b3UuIFRoZSBwcm9ibGVt IGlzIHRoYXQgdGhlIHJpbmdzIGJldHdlZW4gdXNlci1zcGFjZQ0KPj4+Pj4gYW5kIGtlcm5lbC1z cGFjZSBhcmUgc2luZ2xlIHByb2R1Y2VyIC8gc2luZ2xlIGNvbnN1bWVyIGFuZCBhbGxvd2luZw0K Pj4+Pj4gdHdvIG9yIG1vcmUgTkFQSSB0aHJlYWRzIHRvIGFjY2VzcyB0aGUgc2FtZSByaW5nIGJ5 IHBlcmZvcm1pbmcgYQ0KPj4+Pj4gcmVkaXJlY3QgdG8gdGhlIHNhbWUgc29ja2V0IGF0IHRoZSBz YW1lIHRpbWUgd2lsbCBicmVhayB0aGlzLiBUaGUNCj4+Pj4+IGZsdXNoIGlzIGxpa2VseSBzb2x2 YWJsZSwgYnV0IHRoZSBhZGRpdGlvbiBvZiBlbnRyaWVzIHRvIHRoZSBzYW1lIHJpbmcNCj4+Pj4+ IHdvdWxkIHJlcXVpcmUgaW50cm9kdWNpbmcgbG9ja2luZyAob3IgYSBjb21wbGV0ZWx5IG5ldyBy aW5nIHR5cGUpDQo+Pj4+PiB3aGljaCBpcyBnb2luZyB0byBiZSB3YXkgdG9vIGV4cGVuc2l2ZS4g V2l0aCB0aGUgb2xkIGNvZGUsIGNoZWNraW5nDQo+Pj4+PiB0aGF0IHRoZSBxdWV1ZV9pbmRleCBv ZiB0aGUgcXVldWUgaXQgZ290IHRoZSBwYWNrZXQgb24gYmVpbmcgZXF1YWwgdG8NCj4+Pj4+IHRo ZSBzb2NrZXQncyBxdWV1ZV9pbmRleCB3b3VsZCBkaXNhbGxvdyB0aGlzIGFuZCBub3QgdHJpZ2dl ciB0aGlzDQo+Pj4+PiBwcm9ibGVtLg0KPj4+Pj4gDQo+Pj4+PiBJIGhhdmUgbm8gaWRlYSB3aHkg SSBkaWQgbm90IHRoaW5rIGFib3V0IHRoaXMgZWFybGllci4gTXkgc2luY2VyZQ0KPj4+Pj4gYXBv bG9naWVzIGZvciB0aGF0LiBJIHdpbGwgc2NyYXRjaCBteSBoZWFkIGZvciBhIHdoaWxlIG1vcmUs IGJ1dCBJIGFtDQo+Pj4+PiBub3QgaG9wZWZ1bCB0aGF0IEkgd2lsbCBjb21lIHVwIHdpdGggYSBn b29kIHNvbHV0aW9uIGZvciB0aGlzLg0KPj4+Pj4gDQo+Pj4+Pj4+IFR3byBkaWZmZXJlbnQgZHVt cHMuDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBEdW1wIDE6DQo+Pj4+Pj4+IA0KPj4+Pj4+PiAyMDI0LTA1 LTI5VDAxOlsgIDMwNi45OTc1NDhdIEJVRzoga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5j ZSwgYWRkcmVzczogMDAwMDAwMDAwMDAwMDAwOA0KPj4+Pj4+PiBbICAzMDcuMDg4MzcyXSAjUEY6 IHN1cGVydmlzb3IgcmVhZCBhY2Nlc3MgaW4ga2VybmVsIG1vZGUNCj4+Pj4+Pj4gWyAgMzA3LjE0 OTA3OV0gI1BGOiBlcnJvcl9jb2RlKDB4MDAwMCkgLSBub3QtcHJlc2VudCBwYWdlDQo+Pj4+Pj4+ IFsgIDMwNy4yMDk3NzRdIFBHRCAxMGYxMzEwNjcgUDREIDEwZjEzMTA2NyBQVUQgMTAyNjQyMDY3 IFBNRCAwDQo+Pj4+Pj4+IFsgIDMwNy4yNzY2MDhdIE9vcHM6IDAwMDAgWyMxXSBTTVANCj4+Pj4+ Pj4gWyAgMzA3LjMxMzcxMl0gQ1BVOiAzIFBJRDogMTkxOSBDb21tOiBzcDEgVGFpbnRlZDogUCAg ICAgICAgICAgT0UgICAgIDUuMTUuMTE3LTEtVUxQLU5HICMxDQo+Pj4+Pj4+IFsgIDMwNy40MDgy MTldIEhhcmR3YXJlIG5hbWU6IFJhZHdhcmUgUmFkd2FyZS9EZWZhdWx0IHN0cmluZywgQklPUyA1 LjI1ICg3ODVBLjAxNSkgMDUvMTEvMjAyMw0KPj4+Pj4+PiBbICAzMDcuNTA1Nzc5XSBSSVA6IDAw MTA6eHNrX2ZsdXNoKzB4Yi8weDQwDQo+Pj4+Pj4+IFsgIDMwNy41NTIwOTldIENvZGU6IGEwIDAz IDAwIDAwIDAxIGI4IGU0IGZmIGZmIGZmIGViIGRjIDQ5IDgzIDg1IGEwIDAzIDAwIDAwIDAxIGI4 IGU0IGZmIGZmIGZmIGViIGNkIDBmIDFmIDQwIDAwIDQ4IDhiIDg3IDQwIDAzIDAwIDAwIDU1IDQ4 IDg5IGU1IDw4Yj4gNTAgMDggNDggOGIgNDAgMTAgODkgMTAgNDggOGIgODcgNjggMDMgMDAgMDAg NDggOGIgODAgODAgMDAgMDANCj4+Pj4+Pj4gWyAgMzA3Ljc3MzY5NF0gUlNQOiAwMDAwOmZmZmZi N2FlMDEwMzdjODAgRUZMQUdTOiAwMDAxMDI4Nw0KPj4+Pj4+PiBbICAzMDcuODM1NDAxXSBSQVg6 IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiBmZmZmYTBhODhmOGFiNzY4IFJDWDogZmZmZmEwYTg4Zjhh YmFjMA0KPj4+Pj4+PiBbICAzMDcuOTE5NjcwXSBSRFg6IGZmZmZhMGE4OGY4YWJhYzAgUlNJOiAw MDAwMDAwMDAwMDAwMDA0IFJESTogZmZmZmEwYTg4ZjhhYjc2OA0KPj4+Pj4+PiBbICAzMDguMDAz OTIyXSBSQlA6IGZmZmZiN2FlMDEwMzdjODAgUjA4OiBmZmZmYTBhMTBiM2UwMDAwIFIwOTogMDAw MDAwMDAwMDAwNzY5Zg0KPj4+Pj4+PiBbICAzMDguMDg4MTcyXSBSMTA6IGZmZmZhMGExMDM1Y2Ew MDAgUjExOiAwMDAwMDAwMDBkN2Y5MTgwIFIxMjogZmZmZmEwYTg4ZjhhYjc2OA0KPj4+Pj4+PiBb ICAzMDguMTcyNDA1XSBSMTM6IGZmZmZhMGE4OGY4ZWJhYzAgUjE0OiBmZmZmYTBhMmVmMTM1MzAw IFIxNTogMDAwMDAwMDAwMDAwMDE1NQ0KPj4+Pj4+PiBbICAzMDguMjU2NjM1XSBGUzogIDAwMDA3 ZmZmZjdlOTdhODAoMDAwMCkgR1M6ZmZmZmEwYTg4ZjhjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAw MDAwMDAwMDAwDQo+Pj4+Pj4+IFsgIDMwOC4zNTIxODZdIENTOiAgMDAxMCBEUzogMDAwMCBFUzog MDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMNCj4+Pj4+Pj4gWyAgMzA4LjQyMDA0M10gQ1IyOiAw MDAwMDAwMDAwMDAwMDA4IENSMzogMDAwMDAwMDEwY2Y2ZTAwMCBDUjQ6IDAwMDAwMDAwMDA3NTBl ZTANCj4+Pj4+Pj4gWyAgMzA4LjUwNDMwOV0gUEtSVTogNTU1NTU1NTQNCj4+Pj4+Pj4gWyAgMzA4 LjUzNjI5Nl0gQ2FsbCBUcmFjZToNCj4+Pj4+Pj4gWyAgMzA4LjU2NTIwOV0gIDxUQVNLPg0KPj4+ Pj4+PiBbICAzMDguNTkwMDI2XSAgPyBzaG93X3JlZ3MrMHg1Ni8weDYwDQo+Pj4+Pj4+IFsgIDMw OC42MzAyMThdICA/IF9fZGllX2JvZHkrMHgxYS8weDYwDQo+Pj4+Pj4+IFsgIDMwOC42NzE0MzNd ICA/IF9fZGllKzB4MjUvMHgzMA0KPj4+Pj4+PiBbICAzMDguNzA3NTI5XSAgPyBwYWdlX2ZhdWx0 X29vcHMrMHhjMC8weDQ0MA0KPj4+Pj4+PiBbICAzMDguNzU0ODk3XSAgPyBkb19zeXNfcG9sbCsw eDQ3Yy8weDVlMA0KPj4+Pj4+PiBbICAzMDguNzk5MTg4XSAgPyBkb191c2VyX2FkZHJfZmF1bHQr MHgzMTkvMHg2ZTANCj4+Pj4+Pj4gWyAgMzA4Ljg1MDY1OV0gID8gZXhjX3BhZ2VfZmF1bHQrMHg2 Yy8weDEzMA0KPj4+Pj4+PiBbICAzMDguODk2OTkyXSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgy Ny8weDMwDQo+Pj4+Pj4+IFsgIDMwOC45NDYzOThdICA/IHhza19mbHVzaCsweGIvMHg0MA0KPj4+ Pj4+PiBbICAzMDguOTg1NTQ2XSAgX194c2tfbWFwX2ZsdXNoKzB4M2EvMHg4MA0KPj4+Pj4+PiBb ICAzMDkuMDI5ODI0XSAgeGRwX2RvX2ZsdXNoKzB4MTMvMHgyMA0KPj4+Pj4+PiBbICAzMDkuMDcx MDQzXSAgaTQwZV9maW5hbGl6ZV94ZHBfcngrMHg0NC8weDUwIFtpNDBlXQ0KPj4+Pj4+PiA1Njow Ny0wODowMCBOT1RJWyAgMzA5LjEyNzY1M10gIGk0MGVfY2xlYW5fcnhfaXJxX3pjKzB4MTMyLzB4 NTAwIFtpNDBlXQ0KPj4+Pj4+PiBbICAzMDkuMjAyNzM2XSAgaTQwZV9uYXBpX3BvbGwrMHgxMTkv MHgxMjcwIFtpNDBlXQ0KPj4+Pj4+PiBDRSAgc2xiOiByZWFsIHNlWyAgMzA5LjI1NjI4NV0gID8g eHNrX3NlbmRtc2crMHhmNC8weDEwMA0KPj4+Pj4+PiBbICAzMDkuMzE1OTY5XSAgPyBzb2NrX3Nl bmRtc2crMHgyZS8weDQwDQo+Pj4+Pj4+IFsgIDMwOS4zNTkyNDRdICBfX25hcGlfcG9sbCsweDIz LzB4MTYwDQo+Pj4+Pj4+IFsgIDMwOS40MDA0ODJdICBuZXRfcnhfYWN0aW9uKzB4MjMyLzB4Mjkw DQo+Pj4+Pj4+IFsgIDMwOS40NDQ3NzhdICBfX2RvX3NvZnRpcnErMHhkMC8weDI3MA0KPj4+Pj4+ PiBbICAzMDkuNDg3MDEyXSAgaXJxX2V4aXRfcmN1KzB4NzQvMHhhMA0KPj4+Pj4+PiBbICAzMDku NTI4MjQxXSAgY29tbW9uX2ludGVycnVwdCsweDgzLzB4YTANCj4+Pj4+Pj4gWyAgMzA5LjU3MzU3 N10gIGFzbV9jb21tb25faW50ZXJydXB0KzB4MjcvMHg0MA0KPj4+Pj4+PiBbICAzMDkuNjIzMDE3 XSBSSVA6IDAwMzM6MHg1Y2I2ODUNCj4+Pj4+Pj4gWyAgMzA5LjY1OTExNV0gQ29kZTogYjAgZmIg ZmYgZmYgNDggOGIgOGQgYjggZmIgZmYgZmYgNDQgODkgZjggMjMgNDQgOTEgMDggNzQgMDkgMzEg ZDIgODkgZDEgZTkgMjIgZmUgZmYgZmYgODMgODUgODggZmIgZmYgZmYgMDEgOGIgOTUgODggZmIg ZmYgZmYgPDM5PiAxNSA3OSAzMSAxZCAwNCAwZiA4NyBjMyBmZCBmZiBmZiA0YyA4YiA5ZCBiOCBm YiBmZiBmZiBlOSBhMiBmOA0KPj4+Pj4+PiBbICAzMDkuODgwODUzXSBSU1A6IDAwMmI6MDAwMDdm ZmZmZmZmZDgyMCBFRkxBR1M6IDAwMDAwMjA2DQo+Pj4+Pj4+IFsgIDMwOS45NDI2MDhdIFJBWDog MDAwMDAwMDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwNDcgUkNYOiAwMDAwMDAwMDA1MDkx MmJjDQo+Pj4+Pj4+IFsgIDMxMC4wMjY5MjJdIFJEWDogMDAwMDAwMDAwMDAwMDAzMyBSU0k6IDAw MDAwMDAwMDAwMDAwMDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAxDQo+Pj4+Pj4+IFsgIDMxMC4xMTEy MjhdIFJCUDogMDAwMDdmZmZmZmZmZGQ1MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAw MDAwMDAwMDAwMDA4DQo+Pj4+Pj4+IFsgIDMxMC4xOTU1NDhdIFIxMDogMDAwMDAwMDAwMmY2OGUw MCBSMTE6IDAwMDAwMDAwMDUwOTEyYmMgUjEyOiAwMDAwMDAwMDAwMDAwMDQ3DQo+Pj4+Pj4+IFsg IDMxMC4yNzk4NzddIFIxMzogMDAwMDAwMDAwMDAwMDAyMiBSMTQ6IDAwMDAwMDAwMDRmMDg1NjAg UjE1OiAwMDAwMDAwMGZmNTU1NTdmDQo+Pj4+Pj4+IFsgIDMxMC4zNjQxNjhdICA8L1RBU0s+DQo+ Pj4+Pj4+IFsgIDMxMC4zOTAwMTRdIE1vZHVsZXMgbGlua2VkIGluOiB1aW8gaTQwZSBlYyhQTykg ZXZkZXYgbmNzX2FjcGkoTykgYm9uZGluZyBzcl9tb2QgY2Ryb20gdXNiX3N0b3JhZ2UgZHdtYWNf aW50ZWwgc3RtbWFjIGkyY19pODAxIHBjc194cGNzIHBoeWxpbmsgaTJjX3NtYnVzIFtsYXN0IHVu bG9hZGVkOiBpNDBlXQ0KPj4+Pj4+PiBydmljZSByNSwgSVAgNC40WyAgMzEwLjU3Mzc3OV0gQ1Iy OiAwMDAwMDAwMDAwMDAwMDA4DQo+Pj4+Pj4+IFsgIDMxMC42MjkzNTldIC0tLVsgZW5kIHRyYWNl IDc4Y2Y5Zjk2ZjQ3Nzc1OWQgXS0tLQ0KPj4+Pj4+PiAuNC41OjgwIG9wZXJhdGlvbmFsLCBhZmZl Y3RlZCB2aXJ0IDIuMi4yLjEwDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBEdW1wIDI6DQo+Pj4+Pj4+IA0K Pj4+Pj4+PiAyMDI0LTA1LTI5VDAxOjU2OjA3LTA4OjAwIE5PVElDRSAgc2xiOiByZWFsIHNlcnZl WyAgMzExLjI1MDIxN10gUklQOiAwMDEwOnhza19mbHVzaCsweGIvMHg0MA0KPj4+Pj4+PiBbICAz MTEuMzAwMzM0XSBDb2RlOiBhMCAwMyAwMCAwMCAwMSBiOCBlNCBmZiBmZiBmZiBlYiBkYyA0OSA4 MyA4NSBhMCAwMyAwMCAwMCAwMSBiOCBlNCBmZiBmZiBmZiBlYiBjZCAwZiAxZiA0MCAwMCA0OCA4 YiA4NyA0MCAwMyAwMCAwMCA1NSA0OCA4OSBlNSA8OGI+IDUwIDA4IDQ4IDhiIDQwIDEwIDg5IDEw IDQ4IDhiIDg3IDY4IDAzIDAwIDAwIDQ4IDhiIDgwIDgwIDAwIDAwDQo+Pj4+Pj4+IFsgIDMxMS41 MjIwNzBdIFJTUDogMDAwMDpmZmZmYjdhZTAxMDM3YzgwIEVGTEFHUzogMDAwMTAyODcNCj4+Pj4+ Pj4gWyAgMzExLjU4MzgxMV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZmEwYTg4Zjhh Yjc2OCBSQ1g6IGZmZmZhMGE4OGY4YWJhYzANCj4+Pj4+Pj4gWyAgMzExLjY2ODExOF0gUkRYOiBm ZmZmYTBhODhmOGFiYWMwIFJTSTogMDAwMDAwMDAwMDAwMDAwNCBSREk6IGZmZmZhMGE4OGY4YWI3 NjgNCj4+Pj4+Pj4gWyAgMzExLjc1MjQwNV0gUkJQOiBmZmZmYjdhZTAxMDM3YzgwIFIwODogZmZm ZmEwYTEwYjNlMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDc2OWYNCj4+Pj4+Pj4gWyAgMzExLjgzNjcx Nl0gUjEwOiBmZmZmYTBhMTAzNWNhMDAwIFIxMTogMDAwMDAwMDAwZDdmOTE4MCBSMTI6IGZmZmZh MGE4OGY4YWI3NjgNCj4+Pj4+Pj4gWyAgMzExLjkyMTA0MF0gUjEzOiBmZmZmYTBhODhmOGViYWMw IFIxNDogZmZmZmEwYTJlZjEzNTMwMCBSMTU6IDAwMDAwMDAwMDAwMDAxNTUNCj4+Pj4+Pj4gWyAg MzEyLjAwNTM1OF0gRlM6ICAwMDAwN2ZmZmY3ZTk3YTgwKDAwMDApIEdTOmZmZmZhMGE4OGY4YzAw MDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KPj4+Pj4+PiBbICAzMTIuMTAwOTc1XSBD UzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzDQo+Pj4+Pj4+ IFsgIDMxMi4xNjg4ODZdIENSMjogMDAwMDAwMDAwMDAwMDAwOCBDUjM6IDAwMDAwMDAxMGNmNmUw MDAgQ1I0OiAwMDAwMDAwMDAwNzUwZWUwDQo+Pj4+Pj4+IFsgIDMxMi4yNTMyMzJdIFBLUlU6IDU1 NTU1NTU0DQo+Pj4+Pj4+IFsgIDMxMi4yODUyNDVdIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5n OiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0DQo+Pj4+Pj4+IFsgIDMxMi4zNjAzMjNdIEtl cm5lbCBPZmZzZXQ6IDB4M2EwMDAwMDAgZnJvbSAweGZmZmZmZmZmODEwMDAwMDAgKHJlbG9jYXRp b24gcmFuZ2U6IDB4ZmZmZmZmZmY4MDAwMDAwMC0weGZmZmZmZmZmYmZmZmZmZmYpDQo+Pj4+Pj4+ IFsgIDMxMi41NzA3MzldIC0tLVsgZW5kIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRh bCBleGNlcHRpb24gaW4gaW50ZXJydXB0IF0tLS0NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IA0KPj4+Pj4+ PiANCj4+Pj4+Pj4gMjAyNC0wNS0yOVQwMTowMDo0Ny0wODowMCBOT1RJQ0UgIHNsYjogcmVhbCBz ZXJ2aWNlIHIxNiwgSVAgNC40LjQuMTY6ODAgb3BlcmF0aW9uYWwsIGFmZmVjdGVkIFsgIDM5MC42 MDI1MDFdIEJVRzoga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgYWRkcmVzczogMDAw MDAwMDAwMDAwMDAwOA0KPj4+Pj4+PiBbICAzOTAuNjk5ODc1XSAjUEY6IHN1cGVydmlzb3IgcmVh ZCBhY2Nlc3MgaW4ga2VybmVsIG1vZGUNCj4+Pj4+Pj4gWyAgMzkwLjc2MDYyMF0gI1BGOiBlcnJv cl9jb2RlKDB4MDAwMCkgLSBub3QtcHJlc2VudCBwYWdlDQo+Pj4+Pj4+IFsgIDM5MC44MjEzNjFd IFBHRCAxMGQzMTkwNjcgUDREIDEwZDMxOTA2NyBQVUQgMTBkZjk0MDY3IFBNRCAwDQo+Pj4+Pj4+ IFsgIDM5MC44ODgyNjZdIE9vcHM6IDAwMDAgWyMxXSBTTVANCj4+Pj4+Pj4gWyAgMzkwLjkyNTQw OV0gQ1BVOiAzIFBJRDogMTkyMiBDb21tOiBzcDEgVGFpbnRlZDogUCAgICAgICAgICAgT0UgICAg IDUuMTUuMTE3LTEtVUxQLU5HICMxDQo+Pj4+Pj4+IFsgIDM5MS4wMjAwNDBdIEhhcmR3YXJlIG5h bWU6IFJhZHdhcmUgUmFkd2FyZS9EZWZhdWx0IHN0cmluZywgQklPUyA1LjI1ICg3ODVBLjAxNSkg MDUvMTEvMjAyMw0KPj4+Pj4+PiBbICAzOTEuMTE3NzU5XSBSSVA6IDAwMTA6eHNrX2ZsdXNoKzB4 Yi8weDQwDQo+Pj4+Pj4+IFsgIDM5MS4xNjQxNDddIENvZGU6IGEwIDAzIDAwIDAwIDAxIGI4IGU0 IGZmIGZmIGZmIGViIGRjIDQ5IDgzIDg1IGEwIDAzIDAwIDAwIDAxIGI4IGU0IGZmIGZmIGZmIGVi IGNkIDBmIDFmIDQwIDAwIDQ4IDhiIDg3IDQwIDAzIDAwIDAwIDU1IDQ4IDg5IGU1IDw4Yj4gNTAg MDggNDggOGIgNDAgMTAgODkgMTAgNDggOGIgODcgNjggMDMgMDAgMDAgNDggOGIgODAgODAgMDAg MDANCj4+Pj4+Pj4gWyAgMzkxLjM4NjAwOF0gUlNQOiAwMDE4OmZmZmZhZTVjODAyNDRkNDggRUZM QUdTOiAwMDAxMDI4Nw0KPj4+Pj4+PiBbICAzOTEuNDQ3NzkzXSBSQVg6IDAwMDAwMDAwMDAwMDAw MDAgUkJYOiBmZmZmOGJiODBmOGFiNzY4IFJDWDogZmZmZjhiYjgwZjhhYmFjMA0KPj4+Pj4+PiBb ICAzOTEuNTMyMTYxXSBSRFg6IGZmZmY4YmI4MGY4YWJhYzAgUlNJOiAwMDAwMDAwMDAwMDAwMDA0 IFJESTogZmZmZjhiYjgwZjhhYjc2OA0KPj4+Pj4+PiBbICAzOTEuNjE2NTE4XSBSQlA6IGZmZmZh ZTVjODAyNDRkNDggUjA4OiBmZmZmOGJiMDg0NWYwMDAwIFIwOTogMDAwMDAwMDAwMDAwOTY3YQ0K Pj4+Pj4+PiBbICAzOTEuNzAwODgzXSBSMTA6IGZmZmY4YmIwODMzZmRjMDAgUjExOiAwMDAwMDAw MDBjYTVhMTgwIFIxMjogZmZmZjhiYjgwZjhhYjc2OA0KPj4+Pj4+PiBbICAzOTEuNzg1MjMzXSBS MTM6IGZmZmY4YmI4MGY4ZWJhYzAgUjE0OiBmZmZmOGJiMDgxNTcxYjAwIFIxNTogMDAwMDAwMDAw MDAwMDEzMg0KPj4+Pj4+PiBbICAzOTEuODY5NjE1XSBGUzogIDAwMDA3ZmZmZjdlOTdhODAoMDAw MCkgR1M6ZmZmZjhiYjgwZjhjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQo+Pj4+ Pj4+IFsgIDM5MS45NjUyNzNdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAw MDAwODAwNTAwMzMNCj4+Pj4+Pj4gWyAgMzkyLjAzMzIyNF0gQ1IyOiAwMDAwMDAwMDAwMDAwMDA4 IENSMzogMDAwMDAwMDEwZDg0YjAwMCBDUjQ6IDAwMDAwMDAwMDA3NTBlZTANCj4+Pj4+Pj4gWyAg MzkyLjExNzU4MF0gUEtSVTogNTU1NTU1NTQNCj4+Pj4+Pj4gWyAgMzkyLjE0OTU5NF0gQ2FsbCBU cmFjZToNCj4+Pj4+Pj4gWyAgMzkyLjE3ODUzNl0gIDxJUlE+DQo+Pj4+Pj4+IFsgIDM5Mi4yMDIz NDVdICA/IHNob3dfcmVncysweDU2LzB4NjANCj4+Pj4+Pj4gWyAgMzkyLjI0MjU3MV0gID8gX19k aWVfYm9keSsweDFhLzB4NjANCj4+Pj4+Pj4gWyAgMzkyLjI4MzgwNl0gID8gX19kaWUrMHgyNS8w eDMwDQo+Pj4+Pj4+IFsgIDM5Mi4zMTk5MTldICA/IHBhZ2VfZmF1bHRfb29wcysweGMwLzB4NDQw DQo+Pj4+Pj4+IFsgIDM5Mi4zNjczMTVdICA/IGk0MGVfbXNpeF9jbGVhbl9yaW5ncysweDI3LzB4 NDAgW2k0MGVdDQo+Pj4+Pj4+IFsgIDM5Mi40MjcwMzVdICA/IGRvX3VzZXJfYWRkcl9mYXVsdCsw eDMxOS8weDZlMA0KPj4+Pj4+PiBbICAzOTIuNDc4NTM4XSAgPyBoYW5kbGVfaXJxX2V2ZW50KzB4 NDEvMHg2MA0KPj4+Pj4+PiBbICAzOTIuNTI1OTM0XSAgPyBleGNfcGFnZV9mYXVsdCsweDZjLzB4 MTMwDQo+Pj4+Pj4+IFsgIDM5Mi41NzIzMDRdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDI3LzB4 MzANCj4+Pj4+Pj4gWyAgMzkyLjYyMTc3MV0gID8geHNrX2ZsdXNoKzB4Yi8weDQwDQo+Pj4+Pj4+ IFsgIDM5Mi42NjA5NTRdICA/IHhza19mbHVzaCsweDM0LzB4NDANCj4+Pj4+Pj4gWyAgMzkyLjcw MTE3NF0gIF9feHNrX21hcF9mbHVzaCsweDNhLzB4ODANCj4+Pj4+Pj4gWyAgMzkyLjc0NTQ5N10g IHhkcF9kb19mbHVzaCsweDEzLzB4MjANCj4+Pj4+Pj4gWyAgMzkyLjc4Njc0OV0gIGk0MGVfZmlu YWxpemVfeGRwX3J4KzB4NDQvMHg1MCBbaTQwZV0NCj4+Pj4+Pj4gdmlydCAyLjIuMi4xMA0KPj4+ Pj4+PiBbICAzOTIuODQzMzcwXSAgaTQwZV9jbGVhbl9yeF9pcnFfemMrMHgxMzIvMHg1MDAgW2k0 MGVdDQo+Pj4+Pj4+IFsgIDM5Mi45MTg0NjVdICBpNDBlX25hcGlfcG9sbCsweDExOS8weDEyNzAg W2k0MGVdDQo+Pj4+Pj4+IA0KPj4+Pj4+PiAyMDI0LTA1LTI5VDAxOjBbICAzOTIuOTcyMDI3XSAg PyBzY2hlZHVsZXJfdGljaysweDlmLzB4ZDANCj4+Pj4+Pj4gWyAgMzkzLjAzMzgwNl0gID8gdGlj a19zY2hlZF9kb190aW1lcisweDQwLzB4NDANCj4+Pj4+Pj4gWyAgMzkzLjA4NDMwMF0gIF9fbmFw aV9wb2xsKzB4MjMvMHgxNjANCj4+Pj4+Pj4gWyAgMzkzLjEyNTU1Nl0gIG5ldF9yeF9hY3Rpb24r MHgyMzIvMHgyOTANCj4+Pj4+Pj4gWyAgMzkzLjE2OTg2OV0gIF9fZG9fc29mdGlycSsweGQwLzB4 MjcwDQo+Pj4+Pj4+IFsgIDM5My4yMTIxNDFdICBpcnFfZXhpdF9yY3UrMHg3NC8weGEwDQo+Pj4+ Pj4+IFsgIDM5My4yNTMzODddICBjb21tb25faW50ZXJydXB0KzB4NjIvMHhhMA0KPj4+Pj4+PiBb ICAzOTMuMjk4NzM0XSAgPC9JUlE+DQo+Pj4+Pj4+IFsgIDM5My4zMjM1NzFdICA8VEFTSz4NCj4+ Pj4+Pj4gWyAgMzkzLjM0ODQwOV0gIGFzbV9jb21tb25faW50ZXJydXB0KzB4MjcvMHg0MA0KPj4+ Pj4+PiBbICAzOTMuMzk3ODcxXSBSSVA6IDAwMTA6X19mZ2V0X2xpZ2h0KzB4NDMvMHgxMDANCj4+ Pj4+Pj4gWyAgMzkzLjQ0OTM5Nl0gQ29kZTogYjAgMGIgMDAgMDAgOGIgMDggODMgZjkgMDEgNzUg MzYgNDggOGIgNDAgMjAgOGIgMTggMzkgZGYgNzMgMWYgODkgZmEgNDggMzkgZGEgNDggMTkgZGIg NDggOGIgNDAgMDggMjEgZGYgNDggOGQgMDQgZjggNDggOGIgMDAgPDQ4PiA4NSBjMCA3NCAwNSA4 NSA3MCA0NCA3NCAwMiAzMSBjMCA1YiA0MSA1YyA0MSA1ZCA0MSA1ZSA0MSA1ZiA1ZA0KPj4+Pj4+ PiBbICAzOTMuNjcxMjc5XSBSU1A6IDAwMTg6ZmZmZmFlNWM4MTA1N2E5OCBFRkxBR1M6IDAwMDAw MjAyDQo+Pj4+Pj4+IFsgIDM5My43MzMwNTRdIFJBWDogZmZmZjhiYjA4MzU0MTEwMCBSQlg6IGZm ZmZmZmZmZmZmZmZmZmYgUkNYOiAwMDAwMDAwMDAwMDAwMDAxDQo+Pj4+Pj4+IFsgIDM5My44MTc0 MTNdIFJEWDogMDAwMDAwMDAwMDAwMDAyZiBSU0k6IDAwMDAwMDAwMDAwMDQwMDAgUkRJOiAwMDAw MDAwMDAwMDAwMDJmDQo+Pj4+Pj4+IFsgIDM5My45MDE3NzddIFJCUDogZmZmZmFlNWM4MTA1N2Fj MCBSMDg6IDAwMDAwMDAxMDAwMDAwMmYgUjA5OiAwMDAwMDAwMDAwMDAwMDAwDQo+Pj4+Pj4+IFsg IDM5My45ODYxMzNdIFIxMDogZmZmZmFlNWM4MTA1N2YwOCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAg UjEyOiAwMDAwMDAwMDAwMDAwMDAwDQo+Pj4+Pj4+IFsgIDM5NC4wNzA1MDZdIFIxMzogZmZmZmFl NWM4MTA1N2I1NCBSMTQ6IGZmZmZhZTVjODEwNTdiNGMgUjE1OiBmZmZmYWU1YzgxMDU3YjRjDQo+ Pj4+Pj4+IFsgIDM5NC4xNTQ4ODRdICBfX2ZkZ2V0KzB4ZS8weDEwDQo+Pj4+Pj4+IFsgIDM5NC4x ODk5OTNdICBkb19zeXNfcG9sbCsweDFmZC8weDVlMA0KPj4+Pj4+PiBbICAzOTQuMjMyMjg3XSAg PyBzdGVwX2ludG8rMHgxMWYvMHg3NTANCj4+Pj4+Pj4gWyAgMzk0LjI3NDU3MF0gID8gY29tbW9u X2ludGVycnVwdCsweDhlLzB4YTANCj4+Pj4+Pj4gWyAgMzk0LjMyMTk4N10gID8gY29tbW9uX2lu dGVycnVwdCsweDhlLzB4YTANCj4+Pj4+Pj4gWyAgMzk0LjM2OTQwNl0gID8gYXNtX2NvbW1vbl9p bnRlcnJ1cHQrMHgyNy8weDQwDQo+Pj4+Pj4+IFsgIDM5NC40MjA5MjldICA/IHhza19mbHVzaCsw eDM0LzB4NDANCj4+Pj4+Pj4gWyAgMzk0LjQ2MTE2Nl0gID8geHNrX3R4X3BlZWtfcmVsZWFzZV9k ZXNjX2JhdGNoKzB4MjRjLzB4MmUwDQo+Pj4+Pj4+IFsgIDM5NC41MjUwMTRdICA/IGk0MGVfY2xl YW5fcnhfaXJxX3pjKzB4MzQyLzB4NTAwIFtpNDBlXQ0KPj4+Pj4+PiBbICAzOTQuNTg1NzYzXSAg PyBpNDBlX3hza193YWtldXArMHhhMi8weGMwIFtpNDBlXQ0KPj4+Pj4+PiBbICAzOTQuNjM5MzMy XSAgPyB4c2tfeG1pdCsweDZkLzB4NmMwDQo+Pj4+Pj4+IFsgIDM5NC42Nzk1NjldICA/IGk0MGVf bmFwaV9wb2xsKzB4YzM5LzB4MTI3MCBbaTQwZV0NCj4+Pj4+Pj4gWyAgMzk0LjczNTIwMl0gID8g eHNrX3NlbmRtc2crMHhmNC8weDEwMA0KPj4+Pj4+PiBbICAzOTQuNzc4NDk4XSAgPyBzb2NrX3Nl bmRtc2crMHgyZS8weDQwDQo+Pj4+Pj4+IFsgIDM5NC44MjE4MDhdICA/IF9fc3lzX3NlbmR0bysw eDEzYS8weDE3MA0KPj4+Pj4+PiBbICAzOTQuODY3MTY2XSAgPyBfX3NuZF90aW1lcl91c2VyX2lv Y3RsKzB4OWUwLzB4YWEwDQo+Pj4+Pj4+IFsgIDM5NC45MjI4MTJdICA/IG5ldF9yeF9hY3Rpb24r MHgyMzIvMHgyOTANCj4+Pj4+Pj4gWyAgMzk0Ljk2OTIwNl0gIF9feDY0X3N5c19wb2xsKzB4YTAv MHgxMzANCj4+Pj4+Pj4gWyAgMzk1LjAxMzUzNF0gID8gX194NjRfc3lzX3BvbGwrMHhhMC8weDEz MA0KPj4+Pj4+PiBbICAzOTUuMDU5OTMwXSAgZG9fc3lzY2FsbF82NCsweDM0LzB4YjANCj4+Pj4+ Pj4gWyAgMzk1LjEwMjIxM10gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4 YWUNCj4+Pj4+Pj4gWyAgMzk1LjE2MTk0OF0gUklQOiAwMDMzOjB4N2ZmZmY3NmYwZDQ3DQo+Pj4+ Pj4+IFsgIDM5NS4yMDQyMjJdIENvZGU6IDAwIDAwIDAwIDViIDQ5IDhiIDQ1IDEwIDVkIDQxIDVj IDQxIDVkIDQxIDVlIGMzIDBmIDFmIDAwIGYzIDBmIDFlIGZhIDY0IDhiIDA0IDI1IDE4IDAwIDAw IDAwIDg1IGMwIDc1IDEwIGI4IDA3IDAwIDAwIDAwIDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYg NzcgNTEgYzMgNDggODMgZWMgMjggODkgNTQgMjQgMWMgNDggODkgNzQgMjQgMTANCj4+Pj4+Pj4g WyAgMzk1LjQyNjExOV0gUlNQOiAwMDJiOjAwMDA3ZmZmZmZmZmU2YzggRUZMQUdTOiAwMDAwMDI0 NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAwNw0KPj4+Pj4+PiBbICAzOTUuNTE1NjI1XSBSQVg6 IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogMDAwMDdmZmZmNzZm MGQ0Nw0KPj4+Pj4+PiBbICAzOTUuNTk5OTk2XSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAw MDAwMDAwMDAwMDAwMDAxIFJESTogMDAwMDdmZmZmZmZmZTZmOA0KPj4+Pj4+PiBbICAzOTUuNjg0 MzcxXSBSQlA6IDAwMDA3ZmZmZjdlODVmODAgUjA4OiAwMDAwMDAwMDE3M2VlZDgwIFIwOTogMDAw MDAwMDAwMDAwMDA1MQ0KPj4+Pj4+PiBbICAzOTUuNzY4NzQxXSBSMTA6IDAwMDAwMTE5M2MyNTgz ZGYgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KPj4+Pj4+PiBb ICAzOTUuODUzMTA4XSBSMTM6IDAwMDA3ZmZmZjdlODVmYjAgUjE0OiAwMDAwMDAwMDAwMDAwMDAw IFIxNTogMDAwMDAwMDAwMDAwMDAwMA0KPj4+Pj4+PiBbICAzOTUuOTM3NDg4XSAgPC9UQVNLPg0K Pj4+Pj4+PiBbICAzOTUuOTYzMzQ3XSBNb2R1bGVzIGxpbmtlZCBpbjogdWlvIGk0MGUgZWMoUE8p IGV2ZGV2IG5jc19hY3BpKE8pIGJvbmRpbmcgc3JfbW9kIGNkcm9tIHVzYl9zdG9yYWdlIGR3bWFj X2ludGVsIHN0bW1hYyBpMmNfaTgwMSBwY3NfeHBjcyBwaHlsaW5rIGkyY19zbWJ1cyBbbGFzdCB1 bmxvYWRlZDogaTQwZV0NCj4+Pj4+Pj4gMDo0Ny0wODowMCBOT1RJQ1sgIDM5Ni4xNDcyMzZdIENS MjogMDAwMDAwMDAwMDAwMDAwOA0KPj4+Pj4+PiBbICAzOTYuMjAyODM5XSAtLS1bIGVuZCB0cmFj ZSA5YjMwOWE5N2MwMDY1MTBmIF0tLS0NCj4+Pj4+Pj4gRSAgc2xiOiByZWFsIHNlcnZlciByMTYs IElQIDQuNC40LjE2IG9wZXJhdGlvbmFsDQo+Pj4+Pj4+IA0KPj4+Pj4+PiAyMDI0LTA1LTI5VDAx OjAwOjQ3LTA4OjAwIE5PVElDRSAgc2xiOiByZWFsIFsgIDM5Ni4zNDQyMjhdIFJJUDogMDAxMDp4 c2tfZmx1c2grMHhiLzB4NDANCj4+Pj4+Pj4gWyAgMzk2LjQwNjk3NV0gQ29kZTogYTAgMDMgMDAg MDAgMDEgYjggZTQgZmYgZmYgZmYgZWIgZGMgNDkgODMgODUgYTAgMDMgMDAgMDAgMDEgYjggZTQg ZmYgZmYgZmYgZWIgY2QgMGYgMWYgNDAgMDAgNDggOGIgODcgNDAgMDMgMDAgMDAgNTUgNDggODkg ZTUgPDhiPiA1MCAwOCA0OCA4YiA0MCAxMCA4OSAxMCA0OCA4YiA4NyA2OCAwMyAwMCAwMCA0OCA4 YiA4MCA4MCAwMCAwMA0KPj4+Pj4+PiBbICAzOTYuNjI4ODU5XSBSU1A6IDAwMTg6ZmZmZmFlNWM4 MDI0NGQ0OCBFRkxBR1M6IDAwMDEwMjg3DQo+Pj4+Pj4+IFsgIDM5Ni42OTA2MzJdIFJBWDogMDAw MDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4YmI4MGY4YWI3NjggUkNYOiBmZmZmOGJiODBmOGFiYWMw DQo+Pj4+Pj4+IFsgIDM5Ni43NzQ5ODVdIFJEWDogZmZmZjhiYjgwZjhhYmFjMCBSU0k6IDAwMDAw MDAwMDAwMDAwMDQgUkRJOiBmZmZmOGJiODBmOGFiNzY4DQo+Pj4+Pj4+IFsgIDM5Ni44NTkzNDZd IFJCUDogZmZmZmFlNWM4MDI0NGQ0OCBSMDg6IGZmZmY4YmIwODQ1ZjAwMDAgUjA5OiAwMDAwMDAw MDAwMDA5NjdhDQo+Pj4+Pj4+IFsgIDM5Ni45NDM2OTRdIFIxMDogZmZmZjhiYjA4MzNmZGMwMCBS MTE6IDAwMDAwMDAwMGNhNWExODAgUjEyOiBmZmZmOGJiODBmOGFiNzY4DQo+Pj4+Pj4+IFsgIDM5 Ny4wMjgwNjRdIFIxMzogZmZmZjhiYjgwZjhlYmFjMCBSMTQ6IGZmZmY4YmIwODE1NzFiMDAgUjE1 OiAwMDAwMDAwMDAwMDAwMTMyDQo+Pj4+Pj4+IFsgIDM5Ny4xMTI0MzNdIEZTOiAgMDAwMDdmZmZm N2U5N2E4MCgwMDAwKSBHUzpmZmZmOGJiODBmOGMwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAw MDAwMDANCj4+Pj4+Pj4gWyAgMzk3LjIwODEwM10gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAw IENSMDogMDAwMDAwMDA4MDA1MDAzMw0KPj4+Pj4+PiBbICAzOTcuMjc2MDYxXSBDUjI6IDAwMDAw MDAwMDAwMDAwMDggQ1IzOiAwMDAwMDAwMTBkODRiMDAwIENSNDogMDAwMDAwMDAwMDc1MGVlMA0K Pj4+Pj4+PiBbICAzOTcuMzYwNDE0XSBQS1JVOiA1NTU1NTU1NA0KPj4+Pj4+PiBbICAzOTcuMzky NDE5XSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGluIGludGVy cnVwdA0KPj4+Pj4+PiBbICAzOTcuNDY3NTU0XSBLZXJuZWwgT2Zmc2V0OiAweDM0NjAwMDAwIGZy b20gMHhmZmZmZmZmZjgxMDAwMDAwIChyZWxvY2F0aW9uIHJhbmdlOiAweGZmZmZmZmZmODAwMDAw MDAtMHhmZmZmZmZmZmJmZmZmZmZmKQ0KPj4+Pj4+PiBbICAzOTcuNjc4Mzg3XSAtLS1bIGVuZCBL ZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uIGluIGludGVycnVwdCBd LS0tDQoNCg0K