Re: AW: AW: AW: AW: sieve-test (Pigeonhole) on Ubuntu: PCRE support and address test restrictions on Return-Path
Stephan Bosch via dovecot <[email protected]> Sat, 11 Jul 2026 14:43:46 +0200
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <[email protected]> |
DQpPcCAxMS03LTIwMjYgb20gMTI6Mjggc2NocmVlZiBNaWNoYWVsIE1lcnogdmlhIGRvdmVjb3Q6 DQo+IFN1YmplY3Q6IFJlOiBzaWV2ZS10ZXN0IChQaWdlb25ob2xlKSBvbiBVYnVudHU6IFBDUkUg c3VwcG9ydCBhbmQgYWRkcmVzcyB0ZXN0IHJlc3RyaWN0aW9ucyBvbiBSZXR1cm4tUGF0aA0KPg0K PiBIZWxsbyBBa2ksDQo+DQo+IEdyZWF0IHByb2dyZXNzOiBhZnRlciBhZGRpbmcgLW8gbWFpbF9k cml2ZXI9bWFpbGRpciwgdGhlICg/aSkgUENSRSBlcnJvcnMgYXJlIGNvbXBsZXRlbHkgZ29uZS4g VGhhbmsgeW91IQ0KPiBUaGUgb25seSByZW1haW5pbmcgaXNzdWUgaXMgdGhlIHJldHVybi1wYXRo IHJlc3RyaWN0aW9uIGluIHRoZSBhZGRyZXNzIHRlc3Q6DQo+DQo+ICAgIGVycm9yOiBzcGVjaWZp ZWQgaGVhZGVyICdyZXR1cm4tcGF0aCcgaXMgbm90IGFsbG93ZWQgZm9yIHRoZSBhZGRyZXNzIHRl c3QuDQo+DQo+IFRoaXMgYWZmZWN0cyBzZXZlcmFsIHJ1bGVzIGluIG15IHJ1bGVzZXQgdGhhdCB1 c2UgY29uc3RydWN0cyBsaWtlOg0KPg0KPiAgICBpZiBhZGRyZXNzIDpkb21haW4gOmlzICJyZXR1 cm4tcGF0aCIgImV4YW1wbGUuY29tIiB7IH0NCj4NCj4gQXMgeW91IG1lbnRpb25lZCBlYXJsaWVy LCB0aGUgZW52ZWxvcGUgdGVzdCB3b3VsZCBiZSB0aGUgUkZDLWNvbXBsaWFudCBhbHRlcm5hdGl2 ZS4gSG93ZXZlciwgc2luY2UgbXkgcnVsZXNldCBydW5zIG9uIGEgQ3lydXMgSU1BUGQgYmFja2Vu ZCAod2hpY2ggYWNjZXB0cyByZXR1cm4tcGF0aCBpbiB0aGUgYWRkcmVzcyB0ZXN0KSwgc3dpdGNo aW5nIHRvIGVudmVsb3BlIHdvdWxkIG1lYW4gbWFpbnRhaW5pbmcgdHdvIHNlcGFyYXRlIHZlcnNp b25zIG9mIHRoZSBydWxlc2V0IOKAlCBvbmUgZm9yIHByb2R1Y3Rpb24gYW5kIG9uZSBmb3Igb2Zm bGluZSB0ZXN0aW5nIOKAlCB3aGljaCBkZWZlYXRzIHRoZSBwdXJwb3NlLg0KPg0KPiBJcyB0aGVy ZSBhIHNpZXZlLXRlc3Qgb3B0aW9uIChlLmcuIHZpYSAtbyBvciBhIGNvbmZpZyBzZXR0aW5nKSB0 aGF0IHdvdWxkIGFsbG93IG9yIHJlbGF4IHRoZSByZXR1cm4tcGF0aCByZXN0cmljdGlvbiBpbiB0 aGUgYWRkcmVzcyB0ZXN0LCBzbyB0aGF0IHNpZXZlLXRlc3QgY2FuIHByb2Nlc3MgdGhlIHNjcmlw dCB3aXRob3V0IG1vZGlmaWNhdGlvbj8NCj4NCj4gVGhhbmsgeW91IGFnYWluIGZvciB5b3VyIGNv bnRpbnVlZCBzdXBwb3J0IOKAlCB3ZSBhcmUgdmVyeSBjbG9zZSB0byBhIHdvcmtpbmcgc29sdXRp b24hDQoNClRoZXJlIGFyZSBubyBzdWNoIG9wdGlvbnMgdG8gZXZhZGUgdGhpcyBjaGVjay4gSG93 ZXZlciwgY3VycmVudGx5IHlvdSANCmNhbiBzdGlsbCBjb21taXQgYW4gYXRyb2NpdHkgbGlrZSB0 aGlzOg0KDQpyZXF1aXJlICJyZWdleCI7DQpyZXF1aXJlICJ2YXJpYWJsZXMiOw0KDQpzZXQgImhk ciIgInJldHVybi1wYXRoIjsNCg0KaWYgYWRkcmVzcyAiJHtoZHJ9IiAiZnJvcEBleGFtcGxlLmNv bSIgew0KIMKgIMKgZGlzY2FyZDsNCn0NCg0KU3RpbGwsIHNpbmNlIHRoaXMgaXMgYW4gb21pc3Np b24sIEkgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoaXMgd2lsbCANCnJlbWFpbiBwb3NzaWJsZSBp biB0aGUgZnV0dXJlLg0KDQpSZWdhcmRzLA0KDQpTdGVwaGFuLg0KDQo+DQo+IEJlc3QgcmVnYXJk cywNCj4gTWljaGFlbCBNZXJ6DQo+IG1pY2hhZWwubWVyekB3dG5ldC5kZQ0KPg0KPiAtLS0tLVVy c3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+IFZvbjogQWtpIFR1b21pIDxha2kudHVvbWlA b3Blbi14Y2hhbmdlLmNvbT4NCj4gR2VzZW5kZXQ6IFNhbXN0YWcsIDExLiBKdWxpIDIwMjYgMTE6 MzgNCj4gQW46IG1pY2hhZWwubWVyekB3dG5ldC5kZTsgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290 IDxkb3ZlY290QGRvdmVjb3Qub3JnPg0KPiBDYzogU3RlcGhhbiBCb3NjaCA8c3RlcGhhbkByZW5h bWUtaXQubmw+DQo+IEJldHJlZmY6IFJlOiBBVzogQVc6IEFXOiBzaWV2ZS10ZXN0IChQaWdlb25o b2xlKSBvbiBVYnVudHU6IFBDUkUgc3VwcG9ydCBhbmQgYWRkcmVzcyB0ZXN0IHJlc3RyaWN0aW9u cyBvbiBSZXR1cm4tUGF0aA0KPg0KPiBFdmVuIGlmIHlvdSB1c2UgaXQgc3RhbmRhbG9uZSwgaGF2 aW5nIGEgc21hbGwgZG92ZWNvdC5jb25mIGZpbGUsIGNvbmZpZ3VyZWQsIG1pZ2h0IHdvcmsuIEFu eXdheXMsIC1vIG1haWxfZHJpdmVyPW1haWxkaXIgKGFzIGl0IHN1Z2dlc3RzKSB3b3VsZCBoZWxw LiBtYWlsX2xvY2F0aW9uIHdhcyBzcGxpdCBpbnRvIG11bHRpcGxlIHNldHRpbmdzIGluIDIuNC4N Cj4NCj4gQWtpDQo+DQo+PiBPbiAxMS8wNy8yMDI2IDEwOjE1IEVFU1QgTWljaGFlbCBNZXJ6IHZp YSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3JnPiB3cm90ZToNCj4+DQo+PiAgIA0KPj4gSGVs bG8gQWtpLA0KPj4NCj4+IEdvb2QgbmV3czogYWZ0ZXIgaW5zdGFsbGluZyBEb3ZlY290IDIuNC40 IGZyb20gcmVwby5kb3ZlY290Lm9yZywgdGhlICg/aSkgcmVnZXggZXJyb3JzIGFyZSBnb25lLiBQ Q1JFIGFwcGVhcnMgdG8gYmUgd29ya2luZyBjb3JyZWN0bHkgbm93Lg0KPj4gSG93ZXZlciwgc2ll dmUtdGVzdCBub3cgZmFpbHMgd2l0aCBhIGRpZmZlcmVudCBlcnJvcjoNCj4+DQo+PiAgICBzaWV2 ZS10ZXN0OiBGYXRhbDogbWFpbF9kcml2ZXIgbm90IHNldCBhbmQgYXV0b2RldGVjdGlvbiBmYWls ZWQ6DQo+PiAgICBNYWlsIHN0b3JhZ2UgYXV0b2RldGVjdGlvbiBmYWlsZWQgKGhvbWU9L2hvbWUv bWljaGEsIG1haWxfcGF0aD0pDQo+PiAgICAtIFNldCBtYWlsX2RyaXZlciBleHBsaWNpdGx5DQo+ Pg0KPj4gSSBhbSBpbnZva2luZyBzaWV2ZS10ZXN0IGFzIGZvbGxvd3M6DQo+Pg0KPj4gICAgc2ll dmUtdGVzdCBcDQo+PiAgICAgIC14ICJmaWxlaW50byByZWdleCBjb3B5IGJvZHkgdmFyaWFibGVz IGltYXA0ZmxhZ3MgZWRpdGhlYWRlciIgXA0KPj4gICAgICAtZSBcDQo+PiAgICAgIC10IC90bXAv dHJhY2UudHh0IFwNCj4+ICAgICAgfi9zaWV2ZS10ZXN0L3J1bGVzL3Y0XzFfNy5zaWV2ZSBcDQo+ PiAgICAgIDxtYWlsLmVtbD4NCj4+DQo+PiBJIGhhdmUgYWxzbyB0cmllZCAtbyBtYWlsX2xvY2F0 aW9uPW1haWxkaXI6fi9zaWV2ZS10ZXN0L21haWxib3ggYW5kIC1vDQo+PiBwbHVnaW4vbWFpbF9s b2NhdGlvbj1tYWlsZGlyOn4vc2lldmUtdGVzdC9tYWlsYm94LCBib3RoIG9mIHdoaWNoIHByb2R1 Y2UgIlVua25vd24gc2V0dGluZyIgZXJyb3JzLg0KPj4NCj4+IEkgYW0gbm90IHJ1bm5pbmcgYSBE b3ZlY290IG1haWwgc2VydmVyIOKAlCBJIGFtIHVzaW5nIHNpZXZlLXRlc3QgcHVyZWx5IGFzIGFu IG9mZmxpbmUgdGVzdGluZyB0b29sIHdpdGhvdXQgYW55IERvdmVjb3Qgc2VydmVyIGNvbmZpZ3Vy YXRpb24uDQo+Pg0KPj4gQ291bGQgeW91IGFkdmlzZSBvbiB0aGUgY29ycmVjdCB3YXkgdG8gc2V0 IG1haWxfZHJpdmVyIChvciBtYWlsX2xvY2F0aW9uKSBmb3Igc2lldmUtdGVzdCAyLjQuNCBpbiBh IHN0YW5kYWxvbmUvc2VydmVybGVzcyBjb250ZXh0Pw0KPj4NCj4+IFRoYW5rIHlvdSB2ZXJ5IG11 Y2guDQo+Pg0KPj4gQmVzdCByZWdhcmRzLA0KPj4gTWljaGFlbCBNZXJ6DQo+PiBtaWNoYWVsLm1l cnpAd3RuZXQuZGUNCj4+DQo+PiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+ PiBWb246IEFraSBUdW9taSB2aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4NCj4+IEdl c2VuZGV0OiBGcmVpdGFnLCAxMC4gSnVsaSAyMDI2IDE5OjQ0DQo+PiBBbjogbWljaGFlbC5tZXJ6 QHd0bmV0LmRlOyBNaWNoYWVsIE1lcnogdmlhIGRvdmVjb3QNCj4+IDxkb3ZlY290QGRvdmVjb3Qu b3JnPg0KPj4gQ2M6IFN0ZXBoYW4gQm9zY2ggPHN0ZXBoYW5AcmVuYW1lLWl0Lm5sPg0KPj4gQmV0 cmVmZjogUmU6IEFXOiBBVzogc2lldmUtdGVzdCAoUGlnZW9uaG9sZSkgb24gVWJ1bnR1OiBQQ1JF IHN1cHBvcnQNCj4+IGFuZCBhZGRyZXNzIHRlc3QgcmVzdHJpY3Rpb25zIG9uIFJldHVybi1QYXRo DQo+Pg0KPj4gQWx0aG91Z2ggSSBkaWQgdGVzdCB0aGlzOg0KPj4NCj4+ICAgICAgICAgICAgICAg ICAgTUFUQ0hfQ0FTRSgiKD9pKWhlbGxvIiwgIkhFTExPIiksDQo+PiAgICAgICAgICAgICAgICAg IE1BVENIX0NBU0UoIl4oP2kpXFxbKC4qKVxcXSAoLiopJCIsICJbYWNtZS11c2Vyc10NCj4+IFtm d2RdOiBoZWxsbywgd29ybGQiKSwNCj4+DQo+Pg0KPj4gYW5kIGRpZCBub3QgZ2V0IGFueSBjb21w bGFpbnRzIGZyb20gdGhlIGxpYnJhcnkgaXRzZWxmLiBTbyB0aGVyZSBpcyBzb21lIG90aGVyIHJl YXNvbiBmb3IgaXQgdG8gZmFpbC4NCj4+DQo+PiBBa2kNCj4+DQo+Pj4gT24gMTAvMDcvMjAyNiAy MDo0MCBFRVNUIEFraSBUdW9taSA8YWtpLnR1b21pQG9wZW4teGNoYW5nZS5jb20+IHdyb3RlOg0K Pj4+DQo+Pj4gICANCj4+PiBBIHNpZXZlIHN0eWxlIG9mIGRvaW5nICg/aSkgaXMNCj4+Pg0KPj4+ IGlmIGhlYWRlciA6cmVnZXggOmNvbXBhcmF0b3IgImk7YXNjaWktY2FzZW1hcCIgImZyb20iICI8 cmVnZXg+IiB7IH0NCj4+Pg0KPj4+IHlvdSBjYW4gYWxzbyB1c2UgdW5pY29kZS1jYXNlbWFwIGZv ciB1bmljb2RlLg0KPj4+DQo+Pj4gQWtpDQo+Pj4NCj4+Pj4gT24gMTAvMDcvMjAyNiAyMDoyNCBF RVNUIE1pY2hhZWwgTWVyeiB2aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4gd3JvdGU6 DQo+Pj4+DQo+Pj4+ICAgDQo+Pj4+IEhlbGxvIEFraSwNCj4+Pj4NCj4+Pj4gVGhhbmsgeW91IGZv ciB0aGUgY2xhcmlmaWNhdGlvbiDigJQgdGhhdCBpcyB2ZXJ5IGVuY291cmFnaW5nIG5ld3MuDQo+ Pj4+IEhlcmUgYXJlIGNvbmNyZXRlIGV4YW1wbGVzIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb25z IHVzZWQgaW4gbXkgcnVsZXNldCwgYWxvbmcgd2l0aCB0aGUgc2lldmUtdGVzdCBlcnJvciBtZXNz YWdlcyB0aGV5IHByb2R1Y2U6DQo+Pj4+DQo+Pj4+IEV4YW1wbGUgMSDigJQgaGVhZGVyIDpyZWdl eCB0ZXN0Og0KPj4+Pg0KPj4+PiAgICBpZiBoZWFkZXIgOnJlZ2V4ICJYLVNwYW0tU3RhdHVzIiAi KD9pKXNjb3JlPVsxLTldIiB7DQo+Pj4+DQo+Pj4+ICAgIEVycm9yOiBpbnZhbGlkIHJlZ3VsYXIg ZXhwcmVzc2lvbiAnKD9pKXNjb3JlPVsxLTldJyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAgICAg ICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gRXhh bXBsZSAyIOKAlCBoZWFkZXIgOnJlZ2V4IHRlc3Q6DQo+Pj4+DQo+Pj4+ICAgIGlmIGhlYWRlciA6 cmVnZXggImZyb20iICIoP2kpZ3JvdXBzXC5nb29nbGVcLmNvbSIgew0KPj4+Pg0KPj4+PiAgICBF cnJvcjogaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gJyg/aSlncm91cHNcLmdvb2dsZVwuY29t JyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAgICAgICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1 bGFyIGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4gRXhhbXBsZSAzIOKAlCBoZWFkZXIgOnJlZ2V4IHRl c3Qgd2l0aCBhbmNob3Jpbmc6DQo+Pj4+DQo+Pj4+ICAgIGlmIGhlYWRlciA6cmVnZXggInN1Ympl Y3QiICJeKD9pKShyZXxmd2QpOiIgew0KPj4+Pg0KPj4+PiAgICBFcnJvcjogaW52YWxpZCByZWd1 bGFyIGV4cHJlc3Npb24gJ14oP2kpKHJlfGZ3ZCk6JyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ICAg ICAgICAgICBpbnZhbGlkIHByZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24NCj4+Pj4NCj4+Pj4g QWxsIGVycm9ycyBmb2xsb3cgdGhlIHNhbWUgcGF0dGVybjogdGhlICg/aSkgaW5saW5lIGZsYWcg Zm9yIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcgaXMgcmVqZWN0ZWQgcmVnYXJkbGVzcyBvZiBp dHMgcG9zaXRpb24gaW4gdGhlIGV4cHJlc3Npb24gb3IgdGhlIGhlYWRlciBiZWluZyB0ZXN0ZWQu DQo+Pj4+DQo+Pj4+IFRoZSBmdWxsIHJlcXVpcmUgc3RhdGVtZW50IGF0IHRoZSB0b3Agb2YgdGhl IHNjcmlwdCBpczoNCj4+Pj4NCj4+Pj4gICAgcmVxdWlyZSBbImZpbGVpbnRvIiwgInJlamVjdCIs ICJ2YWNhdGlvbiIsICJyZWdleCIsICJjb3B5IiwNCj4+Pj4gICAgICAgICAgICAgImJvZHkiLCAi dmFyaWFibGVzIiwgImltYXA0ZmxhZ3MiLCAiZWRpdGhlYWRlciJdOw0KPj4+Pg0KPj4+PiBzaWV2 ZS10ZXN0IGlzIGludm9rZWQgYXMgZm9sbG93czoNCj4+Pj4NCj4+Pj4gICAgc2lldmUtdGVzdCBc DQo+Pj4+ICAgICAgLXggImZpbGVpbnRvIHJlZ2V4IGNvcHkgYm9keSB2YXJpYWJsZXMgaW1hcDRm bGFncyBlZGl0aGVhZGVyIiBcDQo+Pj4+ICAgICAgLXQgL3RtcC90cmFjZS50eHQgXA0KPj4+PiAg ICAgIH4vc2lldmUtdGVzdC9ydWxlcy92NF8wXzEzLnNpZXZlIFwNCj4+Pj4gICAgICA8bWFpbC5l bWw+DQo+Pj4+DQo+Pj4+IERvdmVjb3QgdmVyc2lvbjogMjoyLjQuNC01K3VidW50dTI0LjA0IChm cm9tIHJlcG8uZG92ZWNvdC5vcmcpDQo+Pj4+IFVidW50dTogMjQuMDQuMyBMVFMgKE5vYmxlKSwg V1NMMg0KPj4+Pg0KPj4+PiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciBsb29raW5nIGludG8gdGhp cy4NCj4+Pj4NCj4+Pj4gQmVzdCByZWdhcmRzLA0KPj4+PiBNaWNoYWVsIE1lcnoNCj4+Pj4gbWlj aGFlbC5tZXJ6QHd0bmV0LmRlDQo+Pj4+DQo+Pj4+IE1pY2hhZWwgTWVyeg0KPj4+PiBCYXJna29w cGVsIDE1LCAyMjg0NCBOb3JkZXJzdGVkdA0KPj4+PiBNb2JpbCAwMTcyIDQwNDkxNzENCj4+Pj4N Cj4+Pj4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KPj4+PiBWb246IEFraSBU dW9taSB2aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4NCj4+Pj4gR2VzZW5kZXQ6IEZy ZWl0YWcsIDEwLiBKdWxpIDIwMjYgMTk6MTYNCj4+Pj4gQW46IG1pY2hhZWwubWVyekB3dG5ldC5k ZTsgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290DQo+Pj4+IDxkb3ZlY290QGRvdmVjb3Qub3JnPg0K Pj4+PiBDYzogU3RlcGhhbiBCb3NjaCA8c3RlcGhhbkByZW5hbWUtaXQubmw+DQo+Pj4+IEJldHJl ZmY6IFJlOiBBVzogc2lldmUtdGVzdCAoUGlnZW9uaG9sZSkgb24gVWJ1bnR1OiBQQ1JFIHN1cHBv cnQNCj4+Pj4gYW5kIGFkZHJlc3MgdGVzdCByZXN0cmljdGlvbnMgb24gUmV0dXJuLVBhdGgNCj4+ Pj4NCj4+Pj4gQnVpbGQgb3B0aW9ucyBkb2VzIG5vdCBpbmNsdWRlIGFsbCBidWlsZCBvcHRpb25z LCB1bmZvcnR1bmF0ZWx5LiAiaW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIiBt ZWFucyB0aGUgUENSRSBpcyBhdmFpbGFibGUsIHRoZSBlcnJvciB3b3VsZCBiZSBjbGVhciB0aGF0 IHRoZXJlIGlzIG5vIFBDUkUgc3VwcG9ydCBpZiBpdCB3YXMgbWlzc2luZy4NCj4+Pj4NCj4+Pj4g Q2FuIHlvdSBwcm92aWRlIHRoZSBleGFjdCByZWd1bGFyIGV4cHJlc3Npb24sIGFuZCBob3cgeW91 IGFyZSB1c2luZyBpdD8NCj4+Pj4NCj4+Pj4gQWtpDQo+Pj4+DQo+Pj4+PiBPbiAxMC8wNy8yMDI2 IDIwOjA2IEVFU1QgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3Jn PiB3cm90ZToNCj4+Pj4+DQo+Pj4+PiAgIA0KPj4+Pj4gSGVsbG8gQWtpLA0KPj4+Pj4NCj4+Pj4+ IFRoYW5rIHlvdSBmb3IgdGhlIHBvaW50ZXIgdG8gaHR0cHM6Ly9yZXBvLmRvdmVjb3Qub3JnLg0K Pj4+Pj4gSSBoYXZlIG5vdyBpbnN0YWxsZWQgRG92ZWNvdCAyLjQuNCBmcm9tIHRoZSBvZmZpY2lh bCByZXBvc2l0b3J5IG9uIFVidW50dSAyNC4wNCBMVFMgKE5vYmxlKSBhbmQgY2FuIGNvbmZpcm0g dGhhdCB0aGUgcGFja2FnZXMgYXJlIGF2YWlsYWJsZSBhbmQgaW5zdGFsbCBjb3JyZWN0bHkuDQo+ Pj4+PiBIb3dldmVyLCBjaGVja2luZyB0aGUgYnVpbGQgb3B0aW9ucyBzaG93cyB0aGF0IFBDUkUg c3VwcG9ydCBpcyBub3QgaW5jbHVkZWQ6DQo+Pj4+Pg0KPj4+Pj4gICAgJCBkb3ZlY290IC0tYnVp bGQtb3B0aW9ucw0KPj4+Pj4gICAgQnVpbGQgb3B0aW9uczogaW9sb29wPWVwb2xsIG5vdGlmeT1p bm90aWZ5IGV4cGVyaW1lbnRhbC1pbWFwNHJldjIgb3BlbnNzbCBpb19ibG9ja19zaXplPTgxOTIN Cj4+Pj4+ICAgIFNRTCBkcml2ZXIgcGx1Z2luczogbXlzcWwgcG9zdGdyZXNxbCBzcWxpdGUNCj4+ Pj4+ICAgIFBhc3NkYjogbGRhcCBwYW0gcGFzc3dkIHBhc3N3ZC1maWxlIHNxbA0KPj4+Pj4gICAg VXNlcmRiOiBsZGFwKHBsdWdpbikgcGFzc3dkIHByZWZldGNoIHBhc3N3ZC1maWxlIHNxbA0KPj4+ Pj4NCj4+Pj4+IFRoZXJlIGlzIG5vIFBDUkUgZW50cnksIGFuZCBzaWV2ZS10ZXN0IHN0aWxsIHJl amVjdHMgYWxsICg/aSkgaW5saW5lIGZsYWdzIGluIHJlZ2V4IGV4cHJlc3Npb25zIHdpdGggImlu dmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiIuDQo+Pj4+PiBNYXkgSSBhc2s6IGlz IFBDUkUgc3VwcG9ydCBpbnRlbnRpb25hbGx5IG5vdCBpbmNsdWRlZCBpbiB0aGUgb2ZmaWNpYWwg RG92ZWNvdC9QaWdlb25ob2xlIHBhY2thZ2VzLCBvciBpcyB0aGlzIGFuIG92ZXJzaWdodCBpbiB0 aGUgYnVpbGQgY29uZmlndXJhdGlvbj8NCj4+Pj4+IElmIFBDUkUgaXMgbm90IHBsYW5uZWQgdG8g YmUgaW5jbHVkZWQsIGlzIHRoZXJlIGEgcmVjb21tZW5kZWQgYWx0ZXJuYXRpdmUgYXBwcm9hY2gg Zm9yIGFjaGlldmluZyBjYXNlLWluc2Vuc2l0aXZlIHJlZ2V4IG1hdGNoaW5nIGluIFBpZ2Vvbmhv bGUncyBzaWV2ZS10ZXN0IHRoYXQgd291bGQgYmUgY29tcGF0aWJsZSB3aXRoIEN5cnVzIElNQVBk J3MgUENSRS1iYXNlZCByZWdleCBzeW50YXg/DQo+Pj4+Pg0KPj4+Pj4gVGhhbmsgeW91IGFnYWlu IGZvciB5b3VyIGhlbHAuDQo+Pj4+PiBCZXN0IHJlZ2FyZHMsDQo+Pj4+PiBNaWNoYWVsIE1lcnoN Cj4+Pj4+IG1pY2hhZWwubWVyekB3dG5ldC5kZQ0KPj4+Pj4NCj4+Pj4+IC0tLS0tVXJzcHLDvG5n bGljaGUgTmFjaHJpY2h0LS0tLS0NCj4+Pj4+IFZvbjogQWtpIFR1b21pIHZpYSBkb3ZlY290IDxk b3ZlY290QGRvdmVjb3Qub3JnPg0KPj4+Pj4gR2VzZW5kZXQ6IEZyZWl0YWcsIDEwLiBKdWxpIDIw MjYgMDY6NTENCj4+Pj4+IEFuOiBNaWNoYWVsIE1lcnogPG1pY2hhZWwubWVyekB3dG5ldC5kZT47 IE1pY2hhZWwgTWVyeiB2aWENCj4+Pj4+IGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNvdC5vcmc+OyBT dGVwaGFuIEJvc2NoDQo+Pj4+PiA8c3RlcGhhbkByZW5hbWUtaXQubmw+DQo+Pj4+PiBCZXRyZWZm OiBSZTogc2lldmUtdGVzdCAoUGlnZW9uaG9sZSkgb24gVWJ1bnR1OiBQQ1JFIHN1cHBvcnQgYW5k DQo+Pj4+PiBhZGRyZXNzIHRlc3QgcmVzdHJpY3Rpb25zIG9uIFJldHVybi1QYXRoDQo+Pj4+Pg0K Pj4+Pj4gWW91IGNhbiBnZXQgMi40LjQgcGFja2FnZXMgZm9yIHVidW50dSAyNC4wNCBmcm9tDQo+ Pj4+PiBodHRwczovL3JlcG8uZG92ZWNvdC5vcmcNCj4+Pj4+DQo+Pj4+PiBBa2kNCj4+Pj4+DQo+ Pj4+Pj4gT24gMDkvMDcvMjAyNiAyMjoyMSBFRVNUIE1pY2hhZWwgTWVyeiB2aWEgZG92ZWNvdCA8 ZG92ZWNvdEBkb3ZlY290Lm9yZz4gd3JvdGU6DQo+Pj4+Pj4NCj4+Pj4+PiAgIA0KPj4+Pj4+IERl YXIgU3RlcGhhbiwNCj4+Pj4+Pg0KPj4+Pj4+IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIg cXVpY2sgYW5kIGhlbHBmdWwgcmVzcG9uc2UuDQo+Pj4+Pj4NCj4+Pj4+PiBSZWdhcmRpbmcgcG9p bnQgMSAoUENSRSBzdXBwb3J0KSwgeW91ciBjb21tZW50IHRoYXQgVWJ1bnR1IDI0LjA0IGlzICJs aWtlbHkgc3R1Y2sgYXQgYSBxdWl0ZSBvbGQgdmVyc2lvbiBvZiBQaWdlb25ob2xlIiByYWlzZXMg YSBmb2xsb3ctdXAgcXVlc3Rpb246DQo+Pj4+Pj4NCj4+Pj4+PiAgRnJvbSB3aGljaCB2ZXJzaW9u IG9mIFBpZ2VvbmhvbGUgb253YXJkcyBpcyBQQ1JFIHN1cHBvcnQgaW5jbHVkZWQgYnkgZGVmYXVs dCAoaS5lLiBjb21waWxlZCBpbiB3aXRob3V0IHJlcXVpcmluZyBhbiBleHBsaWNpdCAtLXdpdGgt cGNyZSBmbGFnKT8gQW5kIGlzIHRoZXJlIGFuIG9mZmljaWFsIHJlcG9zaXRvcnksIFBQQSwgb3Ig cmVjb21tZW5kZWQgd2F5IHRvIG9idGFpbiBhIG1vcmUgcmVjZW50IFBpZ2VvbmhvbGUvZG92ZWNv dC1zaWV2ZSBiaW5hcnkgZm9yIFVidW50dSAyNC4wNCBMVFMgdGhhdCB3b3VsZCBpbmNsdWRlIFBD UkUgc3VwcG9ydCBvdXQgb2YgdGhlIGJveD8NCj4+Pj4+Pg0KPj4+Pj4+IFJlZ2FyZGluZyBwb2lu dCAyIChSZXR1cm4tUGF0aCAvIGVudmVsb3BlIHRlc3QpOiB0aGFuayB5b3UgZm9yIHRoZSBwb2lu dGVyLiBJIHVuZGVyc3RhbmQgdGhhdCB0aGUgZW52ZWxvcGUgdGVzdCB3b3VsZCBiZSB0aGUgUkZD LWNvbXBsaWFudCBhbHRlcm5hdGl2ZSB3aXRoaW4gUGlnZW9uaG9sZS4gSG93ZXZlciwgc2luY2Ug bXkgcnVsZXNldCBydW5zIG9uIGEgQ3lydXMgYmFja2VuZCB3aGVyZSB0aGUgYWRkcmVzcyB0ZXN0 IG9uIFJldHVybi1QYXRoIHdvcmtzIGZpbmUsIHRoaXMgd291bGQgbWVhbiBtYWludGFpbmluZyB0 d28gZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBydWxlc2V0IOKAlCBvbmUgZm9yIHByb2R1Y3Rp b24gKEN5cnVzKSBhbmQgb25lIGZvciBvZmZsaW5lIHRlc3RpbmcgKFBpZ2VvbmhvbGUpLiBUaGF0 IHNvbWV3aGF0IGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2Ygb2ZmbGluZSB0ZXN0aW5nLCBzbyBJIG1l bnRpb24gaXQgb25seSBmb3IgY29tcGxldGVuZXNzLg0KPj4+Pj4+DQo+Pj4+Pj4gVGhlIGtleSBx dWVzdGlvbiB0aGVyZWZvcmUgcmVtYWlucyB3aGV0aGVyIGEgUENSRS1lbmFibGVkIFBpZ2Vvbmhv bGUgYmluYXJ5IGlzIHJlYWxpc3RpY2FsbHkgb2J0YWluYWJsZSBmb3IgVWJ1bnR1IDI0LjA0LCBh cyB0aGF0IHdvdWxkIHJlc29sdmUgdGhlIG1haW4gYmxvY2tlci4NCj4+Pj4+Pg0KPj4+Pj4+IFRo YW5rIHlvdSBhZ2FpbiBmb3IgeW91ciB0aW1lLg0KPj4+Pj4+DQo+Pj4+Pj4gQmVzdCByZWdhcmRz LA0KPj4+Pj4+IE1pY2hhZWwgTWVyeg0KPj4+Pj4+DQo+Pj4+Pj4gdm9uIG1laW5lbSBpUGFkIFBy byA0R2VuIGdlc2VuZGV0DQo+Pj4+Pj4NCj4+Pj4+Pj4gQW0gMDkuMDcuMjAyNiB1bSAxODozOSBz Y2hyaWViIFN0ZXBoYW4gQm9zY2ggPHN0ZXBoYW5AcmVuYW1lLWl0Lm5sPjoNCj4+Pj4+Pj4NCj4+ Pj4+Pj4g77u/DQo+Pj4+Pj4+IE9wIDI5LTYtMjAyNiBvbSAwOTo1NiBzY2hyZWVmIG1pY2hhZWwu bWVyei0tLSB2aWEgZG92ZWNvdDoNCj4+Pj4+Pj4+ICAgICBIZWxsbywNCj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBJJ3ZlIGJlZW4gZXZhbHVhdGluZyBzaWV2ZS10 ZXN0IChQaWdlb25ob2xlLCBkb3ZlY290LXNpZXZlIHBhY2thZ2UsDQo+Pj4+Pj4+PiAgICAgdmVy c2lvbiAyLjMuMjEsIGFzIHNoaXBwZWQgd2l0aCBVYnVudHUgMjQuMDQgTFRTKSBhcyBhbiBvZmZs aW5lIHRlc3RpbmcNCj4+Pj4+Pj4+ICAgICB0b29sIGZvciBhIHBlcnNvbmFsIFNpZXZlIHJ1bGVz ZXQgdGhhdCBjdXJyZW50bHkgcnVucyBvbiBhIEN5cnVzIElNQVBkL0NNVQ0KPj4+Pj4+Pj4gICAg IFNpZXZlIDMuMCBiYWNrZW5kLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBEaWZmZXJlbnQgaW1wbGVtZW50 YXRpb24gYW5kIGRlc2lnbiBjaG9pY2VzIHdpbGwgbWVhbiB0aGF0IERvdmVjb3QgaGFzIGEgZGlm ZmVyZW50IG9waW5pb24gd2hhdCBpcyBhIHZhbGlkIFNpZXZlIHNjcmlwdCBhbmQgaG93IGl0IGlz IHRvIGJlIGV2YWx1YXRlZCB0aGFuIEN5cnVzLCBtYWtpbmcgdGhpcyBwcm9ibGVtYXRpYy4NCj4+ Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBJJ2QgbGlrZSB0byBhc2sgZm9yIHNvbWUgY2xh cmlmaWNhdGlvbiBvbiB0d28gcG9pbnRzLCBpbiBjYXNlIEknbSBtaXNzaW5nDQo+Pj4+Pj4+PiAg ICAgYSBjb25maWd1cmF0aW9uIG9wdGlvbi4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+ICAgICAxKSBQQ1JFIHN1cHBvcnQNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+ Pj4NCj4+Pj4+Pj4+ICAgICBNeSBydWxlc2V0IG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIGAo P2kpYCBpbmxpbmUgY2FzZS1pbnNlbnNpdGl2aXR5DQo+Pj4+Pj4+PiAgICAgZmxhZyB3aXRoaW4g OnJlZ2V4IHRlc3RzLCB3aGljaCBpcyB2YWxpZCB1bmRlciBQQ1JFIChhcyB1c2VkIGJ5IEN5cnVz KS4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgV2hlbiBydW5uaW5nIHNpZXZlLXRlc3QsIEkgZ2V0 Og0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgICAgZXJyb3I6IGlu dmFsaWQgcmVndWxhciBleHByZXNzaW9uICcoP2kpLi4uJyBmb3IgcmVnZXggbWF0Y2g6DQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4gICAgICAgaW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9u Lg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIENoZWNraW5nIGBk b3ZlY290IC0tYnVpbGQtb3B0aW9uc2Agc2hvd3Mgbm8gUENSRSBlbnRyeSwgd2hpY2ggc3VnZ2Vz dHMgdGhlDQo+Pj4+Pj4+PiAgICAgVWJ1bnR1LXBhY2thZ2VkIGJpbmFyeSB3YXMgY29tcGlsZWQg d2l0aG91dCAtLXdpdGgtcGNyZSBhbmQgZmFsbHMgYmFjayB0bw0KPj4+Pj4+Pj4gICAgIFBPU0lY IGV4dGVuZGVkIHJlZ2V4Lg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4g ICAgIFF1ZXN0aW9uOiBJcyBQQ1JFIHN1cHBvcnQgaW4gUGlnZW9uaG9sZSdzIHJlZ2V4IGV4dGVu c2lvbiBwdXJlbHkgYQ0KPj4+Pj4+Pj4gICAgIGNvbXBpbGUtdGltZSBkZWNpc2lvbiAoaS5lLiBz b21ldGhpbmcgdGhhdCB3b3VsZCBuZWVkIHRvIGJlIGFkZHJlc3NlZCBhdA0KPj4+Pj4+Pj4gICAg IHRoZSBkaXN0cmlidXRpb24gcGFja2FnaW5nIGxldmVsLCBub3QgdmlhIHJ1bnRpbWUgY29uZmln dXJhdGlvbiksIG9yIGlzDQo+Pj4+Pj4+PiAgICAgdGhlcmUgYSBydW50aW1lIHdheSB0byBlbmFi bGUgUENSRSBtYXRjaGluZyB0aGF0IEkgbWlnaHQgaGF2ZSBtaXNzZWQgKGUuZy4NCj4+Pj4+Pj4+ ICAgICB2aWEgLW8sIHNpZXZlX2V4dGVuc2lvbnMsIG9yIHNpbWlsYXIpPw0KPj4+Pj4+Pg0KPj4+ Pj4+PiBJdCBpcyBzdHJpY3RseSBjb21waWxlLXRpbWUgY29uZmlndXJlZC4gSSBkaWRuJ3QgaW1w bGVtZW50IHRoZSBQQ1JFIG1pZ3JhdGlvbiBteXNlbGYsIGJ1dCBJIGRvbid0IHRoaW5rIHRoZXJl IGlzIGEgUE9TSVggcmVnZXggZmFsbGJhY2sgZm9yIGl0LiBUaGlzIGxpa2VseSBtZWFucyB5b3Vy IFVidW50dSB2ZXJzaW9uIGlzIHN0aWxsIHN0dWNrIGF0IGEgcXVpdGUgb2xkIHZlcnNpb24gb2Yg UGlnZW9uaG9sZS4NCj4+Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICAyKSBSZXR1cm4tUGF0 aCBpbiB0aGUgYGFkZHJlc3NgIHRlc3QNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+ICAgICBTZXZlcmFsIG9mIG15IHJ1bGVzIHVzZToNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICAgIGFkZHJlc3MgOmRvbWFpbiA6aXMgInJldHVybi1wYXRo IiAiLi4uIg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIEN5cnVz IGFjY2VwdHMgdGhpcy4gUGlnZW9uaG9sZSdzIHNpZXZlLXRlc3QgcmVqZWN0cyBpdCB3aXRoOg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgICAgZXJyb3I6IHNwZWNp ZmllZCBoZWFkZXIgJ3JldHVybi1wYXRoJyBpcyBub3QgYWxsb3dlZA0KPj4+Pj4+Pj4gZm9yIHRo ZQ0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICAgIGFkZHJlc3MgdGVzdC4NCj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBJIHVuZGVyc3RhbmQgdGhpcyBpcyBsaWtlbHkg YW4gUkZDIDUyMjggc3RyaWN0bmVzcyBkaWZmZXJlbmNlIChDeXJ1cyBiZWluZw0KPj4+Pj4+Pj4g ICAgIG1vcmUgcGVybWlzc2l2ZSB0aGFuIHRoZSBSRkMgcmVxdWlyZXMpLg0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+ICAgICBJcyB0aGVyZSBhIHJlY29tbWVuZGVkIGFsdGVybmF0aXZlIHdpdGhpbiBTaWV2 ZSBpdHNlbGYgdG8gYWNoaWV2ZSB0aGUgc2FtZQ0KPj4+Pj4+Pj4gICAgIGVmZmVjdCAodGVzdGlu ZyB0aGUgYWRkcmVzcyBwb3J0aW9uIG9mIFJldHVybi1QYXRoKSB3aGlsZSBzdGF5aW5nIHdpdGhp bg0KPj4+Pj4+Pj4gICAgIHdoYXQgUGlnZW9uaG9sZSBhY2NlcHRzIC0tIGUuZy4gdmlhIHRoZSBg aGVhZGVyYCB0ZXN0IGNvbWJpbmVkIHdpdGggc29tZQ0KPj4+Pj4+Pj4gICAgIGFkZHJlc3MtcGFy c2luZyBhcHByb2FjaCwgb3IgdmlhIHRoZSBlbnZlbG9wZSB0ZXN0IGluc3RlYWQ/DQo+Pj4+Pj4+ DQo+Pj4+Pj4+IEVudmVsb3BlIHRlc3QgaXMgYmVzdCBpZiB5b3Ugd2FudCB0byB1c2UgYWRkcmVz cyBtYXRjaGluZy4NCj4+Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBGb3IgY29udGV4dDog SSdtIG5vdCBydW5uaW5nIGEgRG92ZWNvdCBtYWlsIHNlcnZlciBteXNlbGYuDQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4gICAgIEknbSB1c2luZyBzaWV2ZS10ZXN0IHB1cmVseSBhcyBhbiBvZmZsaW5lIHN5 bnRheC9iZWhhdmlvdXIgdmVyaWZpY2F0aW9uDQo+Pj4+Pj4+PiAgICAgdG9vbCBiZWZvcmUgZGVw bG95aW5nIHJ1bGVzZXQgY2hhbmdlcyB0byBhIHNlcGFyYXRlIEN5cnVzLWJhc2VkIHByb2R1Y3Rp b24NCj4+Pj4+Pj4+ICAgICBzeXN0ZW0uDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgIEkgdW5kZXJz dGFuZCB0aGlzIGlzIGEgYml0IG9mIGFuIHVudXN1YWwgdXNlIGNhc2UsIHNvIGFueSBndWlkYW5j ZSBvbg0KPj4+Pj4+Pj4gICAgIHdoZXRoZXIgUGlnZW9uaG9sZSBpcyB3ZWxsIHN1aXRlZCBmb3Ig dGhpcyBraW5kIG9mIGNyb3NzLWltcGxlbWVudGF0aW9uDQo+Pj4+Pj4+PiAgICAgdGVzdGluZyBh dCBhbGwgd291bGQgYWxzbyBiZSBhcHByZWNpYXRlZC4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBUaGFuayB5b3UgZm9yIHlvdXIgdGltZSBhbmQgZm9yIG1haW50 YWluaW5nIFBpZ2VvbmhvbGUuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+ PiAgICAgQmVzdCByZWdhcmRzLA0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICAgICBNaWNoYWVsIE1lcnoN Cj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+Pj4+Pj4gZG92ZWNv dCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNjcmliZQ0KPj4+ Pj4+Pj4gc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+Pj4+Pj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+Pj4+PiBk b3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJl DQo+Pj4+Pj4gc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+Pj4+ PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+Pj4g ZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNjcmli ZSBzZW5kDQo+Pj4+PiBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRvdmVjb3Qub3JnDQo+Pj4+ Pg0KPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cj4+Pj4+IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcgVG8gdW5z dWJzY3JpYmUgc2VuZA0KPj4+Pj4gYW4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9y Zw0KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K Pj4+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4NCj4+Pj4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0K Pj4+Pg0KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPj4+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVu c3Vic2NyaWJlIHNlbmQgYW4NCj4+Pj4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9y Zw0KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+ IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcgVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbg0KPj4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KPj4NCj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBkb3Zl Y290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJlIHNl bmQgYW4NCj4+IGVtYWlsIHRvIGRvdmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZG92ZWNvdCBtYWlsaW5n IGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZw0KPiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVt YWlsIHRvIGRvdmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RA ZG92ZWNvdC5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkb3ZlY290LWxlYXZl QGRvdmVjb3Qub3JnCg==