Re: Propagating IP/ECN field when L2TP sits between IP as both L2 payload and PSN
"Carlos Pignataro (cpignata)" <[email protected]> Thu, 1 Jun 2017 13:23:17 +0000
| Newsgroups | gmane.ietf.l2tpext |
|---|---|
| Message-ID | <[email protected]> |
SGksIEJvYiwNCg0KPiBPbiBNYXkgMzEsIDIwMTcsIGF0IDY6MTEgUE0sIEJvYiBCcmlzY29lIDxp ZXRmQGJvYmJyaXNjb2UubmV0PiB3cm90ZToNCj4gDQo+IENhcmxvcywNCj4gDQo+IE9uIDMxLzA1 LzE3IDE3OjQ0LCBDYXJsb3MgUGlnbmF0YXJvIChjcGlnbmF0YSkgd3JvdGU6DQo+PiBIaSwgQm9i LA0KPj4gDQo+PiBBZGRpbmcgb24gYSBjb3VwbGUgb2YgYml0cyBvbiB0b3Agb2YgSWduYWNpbydz IHJlc3BvbnNlLiANCj4+IA0KPj4gTDJUUHYyLCBSRkMgMjY2MSwgdHJhbnNwb3J0cyBvbmx5IFBQ UCAoYW5kIG11bHRpIHByb3RvY29scyB3aXRoaW4gaXQsIGluY2x1ZGluZyBvZiBjb3Vyc2UgSVAp IGFuZCBydW5zIG92ZXIgVURQLiBJbiBjb250cmFzdCwgTDJUUHYzIHRyYW5zcG9ydHMgZGlyZWN0 bHkgYSB2YXJpZXR5IG9mIHByb3RvY29scyAoRXRoZXJuZXQsIEhETEMsIGV0Yy4pIGFuZCBydW5z IGRpcmVjdGx5IG92ZXIgSVAgcHJvdG9jb2wgMTE1IG9yIG92ZXIgVURQLiBSRkMgMzkzMSBpcyB0 aGUgYmFzZSBMMlRQdjMgc3BlY2lmaWNhdGlvbiBidXQgbmVlZHMgYSBwcm90b2NvbCBjb21wYW5p b24gZG9jdW1lbnQuIFNvbWUgb2YgdGhvc2UgcHJvdG9jb2xzIGFyZSBmaW5pc2hlZCwgZS5nLiBS RkMgNDcxOSBidXQgb3RoZXJzIGxpa2UgUFBQIG9yICJyYXciIElQIGFyZSBpbiBJbnRlcm5ldC1E cmFmdHMuIA0KPiBZdXAsIGdvdCBhbGwgdGhhdC4gVGhhbmtzLiANCj4gDQo+IEkganVzdCBkaWRu J3QgdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb24gb2YgSWduYWNpbydzIGVtYWlsIHRoYXQgdXBk YXRpbmcgdGhlIHYyIHByb3RvY29sICh0aGF0IHNvbGVseSBzdXBwb3J0cyBQUFApIGNvdWxkIGJl IG1vcmUgY29tcGxleCB0aGFuIHVwZGF0aW5nIHRoZSB2MyBwcm90b2NvbCB0aGF0IEkgdGhvdWdo dCBzdXBwb3J0ZWQgUFBQIGFuZCBtYW55IG1vcmUgcHJvdG9jb2xzLiBJdCBpbXBsaWVkICh0byBt ZSkgdGhhdCBtYXliZSB2MyBkb2Vzbid0IHN1cHBvcnQgUFBQIGluIHNvbWUgd2F5Lg0KDQpBZG1p dHRlZGx5LCBJIGhhdmUgbm90IHJlYWQgaW4gZGV0YWlsIFJGQyA2MDQwIG9yIGRyYWZ0LWlldGYt dHN2d2ctcmZjNjA0MHVwZGF0ZS1zaGltIOKAlCBob3dldmVyLCBJIGRvIGhhdmUgc29tZSBxdWVz dGlvbnMgdG8gYmV0dGVyIHVuZGVyc3RhbmQgdGhlIGFwcGxpY2FiaWxpdHkuDQoNCmRyYWZ0LWll dGYtdHN2d2ctcmZjNjA0MHVwZGF0ZS1zaGltIHRhbGtzIGFib3V0IOKAnElQLWluLUlQIFR1bm5l bHMgd2l0aCBUaWdodGx5IENvdXBsZWQgU2hpbSBIZWFkZXJz4oCdLg0KDQpHUkUgY2FuIGJlIHRo b3VnaHQgb2YgYW4gSVAtaW4tSVAgdHVubmVsIHdpdGggYSB0aWdodGx5IGNvdXBsZWQgc2hpbSwg d2hlbiB0cmFuc3BvcnRpbmcgSVAgZGlyZWN0bHkgKGFsdGhvdWdoIEdSRSBjYW4gdHJhbnNwb3J0 IG11bHRpLXByb3RvY29scykuDQoNClthbmQgYSBzbWFsbCBub3RlIHRoYXQgeW91IG1pZ2h0IG5l ZWQgYSByZWZlcmVuY2UgdG8gUkZDIDc2NzZdLg0KDQpIb3dldmVyLCBHUkUgY2FuIGNhcnJ5IFNv bWV0aGluZy1pbi1JUCwgd2l0aCDigJxzb21ldGhpbmciIHBvdGVudGlhbGx5IGNhcnJ5aW5nIGFs c28gSVAuIEluIHRoYXQgY2FzZSwgSSBkbyBub3QgYmVsaWV2ZSB0aGF04oCZcyBhbiBJUC1pbi1J UC13aXRoLXNoaW0uDQoNCkZvciB0aGUgTDJUUHYyIGNhc2UsIEwyVFAgY2FycmllcyBQUFAuIFBQ UCBjYW4gaW4gdHVybiBjYXJyeSBJUCwgYW5kL29yc29tZXRoaW5nIGVsc2UsIGFuZCB1c3VhbGx5 IGEgbWl4dHVyZS4gSXMgdGhpcyByZWFsbHkgYXBwbGljYWJsZSB0byB5b3VyIGRyYWZ0Pw0KDQpG b3IgTDJUUHYzLCBMMlRQIGNhcnJpZXMgYSB2YXJpZXR5IG9mIHByb3RvY29scywgb25lIG9mIHdo aWNoIGlzIElQIGRpcmVjdGx5LiBIb3dldmVyLCBhbHRob3VnaCB0aGVyZSBpcyBydW5uaW5nIGNv ZGUsIHRoZXJl4oCZcyBubyBSRkMgZm9yIGl0IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwv ZHJhZnQtaWV0Zi1sMnRwZXh0LXB3ZTMtaXAtMDUuKSBTaW1pbGFybHksIFJGQyAzOTMxIHNlZW1z IG91dHNpZGUgc2NvcGUuDQoNClthbmQgYW5vdGhlciBxdWVzdGlvbiAsd2hhdCBhYm91dCBNUExT LCB3aXRoIFJGQyA1MTI5P10NCg0KPiANCj4+IA0KPj4gQnkgdGhlIHdheSB5b3UgY2FuIGZpbmQg ZXhhbXBsZSBvZiBjYXBhYmlsaXRpZXMgaW4gc3Vic2VjdGlvbnMgb2YgU2VjdGlvbiA1LjEuMSBv ZiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1sMnRwZXh0LWwydHAtcHBw LTA4DQo+PiANCj4+IEkgZG8gbm90IHVuZGVyc3RhbmQgaG93ZXZlciB3aHkgIlVwZGF0ZSIsIG9y IHdoYXQgdGhhdCBpbXBsaWVzIHRvIGEgY29tcGxpYW50IGltcGxlbWVudGF0aW9uLiBNYW55IGZl YXR1cmVzIG9mIEwyVFAgYXJlIHNwZWNpZmllZCBpbiB2YXJpb3VzIFdHcywgbm90ICJVcGRhdGlu ZyIgdGhlIGJhc2Ugc3BlY3MuIA0KPiBCeSBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSB3b3JkIGV4 dGVuc2lvbiwgaWYgYSBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIGNvbXBsaWFudCB3aXRoIFJGQzM5 MzEgZG9lcyBub3QgaW1wbGVtZW50IGFuIGV4dGVuc2lvbiwgaXQgaXMgc3RpbGwgY29tcGxpYW50 IHdpdGggUkZDMzkzMS4gSXMgdGhpcyBob3cgdGhlIHdvcmQgImV4dGVuc2lvbiIgaXMgdXNlZCBp biBMMlRQIGxhbmQ/DQo+IA0KDQpUaGF04oCZcyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSB1bnF1 YWxpZmllZCB3b3JkIOKAnGV4dGVuc2lvbuKAnSBiZXlvbmQgTDJUUCBsYW5kLiBJcyB0aGF0IGRp ZmZlcmVudCBhbnl3aGVyZT8NCg0KPiBXaGVyZWFzLCBpZiBvbmUgSVAgaGVhZGVyIGVuY2Fwc3Vs YXRlcyBhbm90aGVyLCBpZiB0aGUgRUNOIGZpZWxkIHdlcmUgcHJvY2Vzc2VkIGluIGFueSB3YXkg b3RoZXIgdGhhbiBSRkM2MDQwLCBpdCB3b3VsZCBiZSBpbnZhbGlkICh1bmxlc3MgYW5vdGhlciBS RkMgd2VyZSB3cml0dGVuIHRvIHVwZGF0ZSBSRkM2MDQwKS4gVGhlcmVmb3JlLCB3aGVuZXZlciBM MlRQIGlzIHR1bm5lbGxpbmcgSVAgaW4gSVAsIGl0IGlzIG1hbmRhdG9yeSB0byBjb21wbHkgd2l0 aCBSRkM2MDQwLiBTbyBJIGFtIGFza2luZyB0aGUgTDJUUGV4dCBXRyBmb3IgYWR2aWNlIG9uIGhv dyB5b3UgZ3V5cyB3b3VsZCBtYWtlIGEgbWFuZGF0b3J5IHVwZGF0ZSB0byBMMlRQLCByYXRoZXIg dGhhbiAnanVzdCcgYW4gb3B0aW9uYWwgZXh0ZW5zaW9uLg0KPiANCg0KSSB0aGluayBmaXJzdCB3 ZSBwcm9iYWJseSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGFwcGxpY2FiaWxpdHkgYmVjYXVzZSBp dCBpcyBub3QgYW4gSVAtaW4tSVAgZW5jYXAsIHRoZXJl4oCZcyBhIExheWVyIDIgaGVhZGVyIGlu IGJldHdlZW4sIG5vdCB0aWdodGx5IGNvdXBsZWQgYnV0IHJhdGhlciBwYXJ0IG9mIHRoZSB0cmFu c3BvcnRlZCBwYXlsb2FkLg0KDQpOb3csIHdoYXQgeW91IGRlc2NyaWJlIGluIHRlcm1zIG9mIGxl dmVsIG9mIG1hbmRhdG9yeSBhcHBsaWVzIHRvIFJGQyA2MDQwLiBJZiBhbiBpbXBsZW1lbnRhdGlv biBkb2VzIG5vdCBjb21wbHkgd2l0aCBSRkMgNjA0MCBpdCBpcywgd2VsbCwgbm90IGNvbXBsaWFu dCB3aXRoIFJGQyA2MDQwLg0KDQpUaGFua3MhDQoNCkNhcmxvcy4NCg0KPiANCj4gQm9iDQo+IA0K Pj4gVGhhbmtzLA0KPj4gDQo+PiBTZW50IGZyb20gbXkgaVBhZA0KPj4gDQo+PiBPbiBNYXkgMzAs IDIwMTcsIGF0IDEwOjQ4IFBNLCBCb2IgQnJpc2NvZSA8aWV0ZkBib2JicmlzY29lLm5ldD4gd3Jv dGU6DQo+PiANCj4+PiBJZ25hY2lvLA0KPj4+IA0KPj4+IFRoYW5rcyBmb3IgeW91ciByYXBpZCBy ZXNwb25zZS4NCj4+PiANCj4+PiBPbiAzMS8wNS8xNyAwMjo1MSwgSWduYWNpbyBHb3lyZXQgd3Jv dGU6DQo+Pj4+IEkgYW0gYSBsaXR0bGUgY29uZnVzZWQgYnkgdGhlIGRvdWJsZSBuZWdhdGl2ZSBp biAibm9uLW9wdGlvbmFsIi4NCj4+Pj4gRG8geW91IG1lYW4gIm1hbmRhdG9yeSI/IElmIHNvLCB3 aHkgbm90IGp1c3Qgc2F5IHRoYXQ/DQo+Pj4gWWVzLCBtYW5kYXRvcnkuDQo+Pj4gVGhhdCBsYW5n dWFnZSB3YXMgbm90IGluIHRoZSBkcmFmdDsgb25seSBpbiBteSBlbWFpbC4NCj4+Pj4gDQo+Pj4+ IFRoZSBsYWNrIG9mIGEgY2FwYWJpbGl0aWVzIEFWUCB0aGF0IHlvdSB3ZXJlIGxvb2tpbmcgZm9y IGlzIG1haW5seQ0KPj4+PiBiZWNhdXNlIGl0IGhhc24ndCBiZWVuIG5lZWRlZCBzbyBmYXIuIFlv dSBhcmUgd2VsY29tZSB0byBzdWJtaXQgYQ0KPj4+PiBkcmFmdCB3aXRoIHNvbWV0aGluZyBsaWtl IHRoYXQuIEdlbmVyYWxseSBzcGVha2luZywgYWRkaW5nIGEgc2ltcGxlDQo+Pj4+IGJpbmFyeSBB VlAgaXMgZWFzeSBhbmQgc2ltcGxlciB0byBoYW5kbGUuDQo+Pj4gR29vZC4NCj4+Pj4gDQo+Pj4+ IEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggdGhlIG5ldyBzdWdnZXN0ZWQgQVZQLCBidXQgY2FuIHlv dSBleHBsYWluDQo+Pj4+IHdoeSBpcyBpdCBpbXBvcnRhbnQgdG8ga25vdyBpZiB0aGUgcmVtb3Rl IHN1cHBvcnRzIG9yIG5vdCB0aGlzDQo+Pj4+IGV4dGVuc2lvbj8gQ2FuJ3QgYSB0dW5uZWwgZW5k IGRlZHVjZSB0aGlzIGluZm9ybWF0aW9uIGJ5IG9ic2VydmluZw0KPj4+PiB0aGUgSVAgaGVhZGVy IHJlY2VpdmVkPw0KPj4+IEknbSBhZnJhaWQgbm90LiBJdCBpcyBjcml0aWNhbCBmb3IgdGhlIGlu Z3Jlc3MgKGluIGVhY2ggZGlyZWN0aW9uKSB0byBjaGVjayB0aGF0IHRoZSBlZ3Jlc3MgZGVjYXAg d2lsbCBjb3JyZWN0bHkgcHJvcGFnYXRlIHRoZSBvdXRlciBFQ04gZmllbGQgaW50byB0aGUgZm9y d2FyZGVkIHBheWxvYWQgcHJvdG9jb2wuIE90aGVyd2lzZSBleHBsaWNpdCBjb25nZXN0aW9uIHNp Z25hbHMgYWRkZWQgYnkgYSBub2RlIHdpdGhpbiB0aGUgdHVubmVsIGNvdWxkIGp1c3QgZ2V0IHN0 cmlwcGVkIGF0IGRlY2FwLiBXaXRoIGNvbmdlc3Rpb24gZmVlZGJhY2sgYmxhY2staG9sZWQsIHRo ZSBsb2FkIHdvdWxkIGNvbnRpbnVlIHRvIGluY3JlYXNlIHVudGlsIG92ZXJsb2FkIGFuZCB0YWls IGRyb3AuDQo+Pj4gDQo+Pj4gQlRXLCB0aGUgZm9yd2FyZGVkIEVDTiBmaWVsZCBhZnRlciBkZWNh cCBoYXMgdG8gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgRUNOIGZpZWxkcyBpbiB0aGUgb3V0ZXIg YW5kIGlubmVyIElQIGhlYWRlcnMgKFJGQzYwNDAgZ2l2ZXMgYSA0eDQgbWF0cml4IG9mIGFsbCB0 aGUgY29tYmluYXRpb25zIG9mIHRoZSB0d28gMi1iaXQgRUNOIGNvZGVwb2ludHMpLiBTbyBJIGFt IGludGVyZXN0ZWQgdG8ga25vdyB3aGV0aGVyIHRoaXMgbWlnaHQgcHJlc2VudCBwcm9ibGVtcyBm b3IgTDJUUCBpbXBsZW1lbnRhdGlvbnMgKEVDTiBwcm9wYWdhdGlvbiBvbiBkZWNhcCBoYXMgYmVl biBpbXBsZW1lbnRlZCBPSyBpbiBMaW51eCBmb3Igc2ltaWxhciBzdHJ1Y3R1cmVzIGxpa2UgVlhM QU4pLg0KPj4+IA0KPj4+PiANCj4+Pj4gUmVnYXJkaW5nIHRoZSBleHRlbnNpb24gdnMgdXBkYXRl IHF1ZXN0aW9uOiBpZiBpdCBpcyBhbiB1cGRhdGUsDQo+Pj4+IHRoZW4gd2h5IG5lZ290aWF0ZSBz dXBwb3J0PyBXb3VsZG4ndCBFQ04gcHJvcGFnYXRpb24gYmUgbWFuZGF0ZWQNCj4+Pj4gYnkgdGhp cyB1cGRhdGU/DQo+Pj4gVW5mb3J0dW5hdGVseSwgYSBtYW5kYXRvcnkgdXBkYXRlIHN0aWxsIGhh cyB0byBjb3BlIHdpdGggdGhlIGFib3ZlIGluY3JlbWVudGFsIGRlcGxveW1lbnQgcHJvYmxlbS4N Cj4+Pj4gDQo+Pj4+IFRoZXJlIGlzIG5vIHNlY3Rpb24gZm9yIEwyVFB2MiAoUkZDMjY2MSkgb3Ig YW55IGZ1cnRoZXIgc3VnZ2VzdGlvbg0KPj4+PiBvbiBob3cgdG8gaGFuZGxlIGl0LiBJJ20gbm90 IHNheWluZyB0aGF0IGl0IGlzIG5lY2Vzc2FyeSwgYnV0IHNpbmNlDQo+Pj4+IGl0IGlzIG1lbnRp b25lZCBlYXJsaWVyIGluIHRoZSBkb2N1bWVudCwgeW91IG1heSB3YW50IHRvIGFkZCBhIGZldw0K Pj4+PiB3b3Jkcy4gTm90ZSB0aGF0IHRoaW5ncyBhcmUgYSBiaXQgbW9yZSBjb21wbGljYXRlZCBp biB2MiBiZWNhdXNlDQo+Pj4+IGl0IHRyYW5zcG9ydHMgUFBQIHBhY2tldHMsIHdoaWNoIG1heSBp bmNsdWRlIElQIHBhY2tldHMgKG9yIHBvcnRpb25zDQo+Pj4+IG9mIFBQUCBwYWNrZXRzIGlmIHVz aW5nIE11bHRpbGluaykuIEkgaGF2ZSBubyBpc3N1ZSBwdW50aW5nIG9uIEwyVFB2Mg0KPj4+PiBk ZXRhaWxzLg0KPj4+ICogR2l2ZW4geW91IHNheSBMMlRQdjIgaXMgbW9yZSBjb21wbGljYXRlZCBj b3MgaXQgdHJhbnNwb3J0cyBQUFAgcGFja2V0cywgdGhhdCBzZWVtcyB0byBpbXBseSB0aGF0IEwy VFB2MyBkb2VzIG5vdCB0cmFuc3BvcnQgUFBQLCB3aGljaCBkb2Vzbid0IHNvdW5kIHJpZ2h0Pw0K Pj4+IA0KPj4+IEkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB0aGUgcmVsYXRpb25zaGlwIGJldHdl ZW4gTDJUUHYyICYgdjMgKEkgaGF2ZSBjb21lIGFjcm9zcyBMMlRQIGEgbG90IGluIGFuIG9wZXJh dGlvbmFsIGNvbnRleHQsIGJ1dCBuZXZlciByZWFsbHkgc3R1ZGllZCBpdCBhcyBhIHByb3RvY29s IHVudGlsIG5vdykuDQo+Pj4gDQo+Pj4gKiBJcyB0aGVyZSBzdGlsbCBhIGxvdCBvZiBMMlRQdjIg YXJvdW5kPw0KPj4+IA0KPj4+ICogV291bGQgaXQgYmUgYmVsaWV2YWJsZSB0aGF0IGEgTDJUUHYy IGltcGxlbWVudGF0aW9uIG1pZ2h0IGJlIHVwZGF0ZWQgZm9yIEVDTiBzdXBwb3J0IGJ1dCBub3Qg dXBkYXRlZCB0byBMMlRQdjM/DQo+Pj4gDQo+Pj4gQ2hlZXJzDQo+Pj4gDQo+Pj4gDQo+Pj4gQm9i DQo+Pj4gDQo+Pj4+IA0KPj4+PiAtSWduYWNpbw0KPj4+PiANCj4+Pj4gDQo+Pj4+IEF0IDE1OjQ5 IDUvMzAvMjAxNywgQm9iIEJyaXNjb2Ugd3JvdGU6DQo+Pj4+IA0KPj4+Pj4gSGkgbDJ0cGV4dCBs aXN0LA0KPj4+Pj4gW3JlcGVhdGluZyBwcmV2aW91cyBwb3N0LCBidXQgd2l0aCBzZWxmLWV4cGxh bmF0b3J5IHN1YmplY3QgbGluZV0NCj4+Pj4+IA0KPj4+Pj4gVGhpcyBpcyBhIHBsZWEgZm9yIGhl bHAgb24gYSBzaG9ydCBzdWJzZWN0aW9uIG9mIGEgc2hvcnQgZHJhZnQgdGhhdCB1cGRhdGVzIEwy VFAgKGFtb25nc3Qgb3RoZXIgdHVubmVsIHByb3RvY29scykuDQo+Pj4+PiANCj4+Pj4+IEluIHRo ZSBUcmFuc3BvcnQgQXJlYSBXRyAodHN2d2cpIHdlIGhhdmUgYmVlbiB3b3JraW5nIG9uIGRlZmlu aW5nIHByb3BhZ2F0aW9uIG9mIHRoZSBFQ04gZmllbGQgYmV0d2VlbiBJUCBoZWFkZXJzIHNlcGFy YXRlZCBieSBzaGltIGhlYWRlcihzKToNCj4+Pj4+ICAgIGRyYWZ0LWlldGYtdHN2d2ctcmZjNjA0 MHVwZGF0ZS1zaGltDQo+Pj4+PiANCj4+Pj4+IEwyVFAgaXMgb25lIHN1Y2ggcHJvdG9jb2wgKHdo ZW4gdGhlIHBheWxvYWQgb2YgdGhlIEwyIHByb3RvY29sIGlzIElQLCBhbmQgdGhlIG91dGVyIFBT TiBpcyBJUCkuIFRoaXMgaXMgcGFydGljdWxhcmx5IHJlbGV2YW50IGF0IHRoZSBtb21lbnQsIGJl Y2F1c2Ugb2YgdGhlIGxvdyBsYXRlbmN5IChMNFMpIHdvcmsgYmFzZWQgb24gRUNOIGFuZCBiZWNh dXNlIGRlcGxveW1lbnQgb2YgRUNOIGhhcyBmaW5hbGx5IHRha2VuIG9mZiB7Tm90ZSAxfS4NCj4+ Pj4+IA0KPj4+Pj4gSSBwcmVzZW50ZWQgdGhpcyB0dW5uZWxsaW5nIHdvcmsgaW4gaW50YXJlYSBq dXN0IHVuZGVyIGEgeWVhciBhZ28uIFNpbmNlIHRoZW4gdHN2d2cgaGFzIGFkb3B0ZWQgdGhlIGRy YWZ0IGFuZCBhc2tlZCB0aGF0IHdlIGluY2x1ZGUgc3BlY2lmaWMgdXBkYXRlIHRleHQgZm9yIGVh Y2ggYWZmZWN0ZWQgdHVubmVsIHByb3RvY29sLiBJIGp1c3QgcG9zdGVkIG15IGZpcnN0IGF0dGVt cHQgYXQgTDJUUCB1cGRhdGUgdGV4dDoNCj4+Pj4+ICAgIDxodHRwczovL3Rvb2xzLmlldGYub3Jn L2h0bWwvZHJhZnQtaWV0Zi10c3Z3Zy1yZmM2MDQwdXBkYXRlLXNoaW0tMDE+ZHJhZnQtaWV0Zi10 c3Z3Zy1yZmM2MDQwdXBkYXRlLXNoaW0tMDENCj4+Pj4+IA0KPj4+Pj4gU3BlY2lmaWMgcXVlc3Rp b25zOg0KPj4+Pj4gDQo+Pj4+PiBQcml6ZSBmb3IgdGhlIGJlc3QgYW5zd2VyIHRvIGFsbCAzIHF1 ZXN0aW9uczogeW91IGdldCB0byBiZWNvbWUgYSBjby1hdXRob3IgKGlmIHlvdSB3YW50IDopDQo+ Pj4+PiANCj4+Pj4+IFExLiBMMlRQIGlzIG1lYW50IGZvciBhbGwgc29ydHMgb2Ygb3V0ZXJzIGFu ZCBpbm5lcnMsIHNvIGl0IGlzIG5vdCBjbGVhciB3aGVyZSB0byBkZWZpbmUgYmVoYXZpb3VyIGZv ciB0aGUgc3BlY2lhbCAoYnV0IHZlcnkgY29tbW9uKSBjYXNlIG9mIElQIGFzIHRoZSBMMiBwYXls b2FkIGFuZCBJUCBhbmQgYXMgdGhlIFBTTi4gVGhhdCBpczoNCj4+Pj4+ICAgICBJUCAgICA6ICAg IFtVRFBdICAgIDogICAgTDJUUCAgICA6ICAgIEwyLXNwZWNpZmljLXN1YmxheWVyICAgIDogICAg TDIgICAgOiAgICBJUA0KPj4+Pj4gDQo+Pj4+PiBJIGRlY2lkZWQgb24gdXBkYXRpbmcgPFNwZWNp ZmljJTIwcXVlc3Rpb25zOj5TLjQuNSBvZiBSRkMzOTMxLCBidXQgc3VnZ2VzdGlvbnMgZm9yIGEg YmV0dGVyIHBsYWNlIGFyZSB3ZWxjb21lLg0KPj4+Pj4gDQo+Pj4+PiBRMi4gTDJUUCBpcyB1c3Vh bGx5IGV4dGVuZGVkIG5vdCB1cGRhdGVkLiBIb3dldmVyLCBpbiB0aGlzIGNhc2UsIGNvbXBsaWFu Y2Ugd2l0aCBSRkM2MDQwIGlzIG5vbi1vcHRpb25hbCwgc28gSSB0aGluayB1cGRhdGUgcmF0aGVy IHRoYW4gZXh0ZW5zaW9uIGlzIGFwcHJvcHJpYXRlLiBSZWFzb246IEFsdGhvdWdoIFJGQzYwNDAg aXMgbm9uLW9wdGlvbmFsIGl0IGluY2x1ZGVzIGEgY29tcGF0aWJpbGl0eSBtb2RlIHRoYXQgZGVm aW5lcyB3aGF0IGhhcyB0byBoYXBwZW4gd2hlbiBhIHR1bm5lbCBlbmRwb2ludCBkb2Vzbid0IHN1 cHBvcnQgRUNOIHByb3BhZ2F0aW9uLg0KPj4+Pj4gDQo+Pj4+PiBQbHMgcmVhZCB0aGUgKHNob3J0 KSBkcmFmdCBhbmQsIGlmIHlvdSBkaXNhZ3JlZSwgc3VnZ2VzdCBob3cgYW4gZXh0ZW5zaW9uIGNh biBiZSBub24tb3B0aW9uYWwuDQo+Pj4+PiANCj4+Pj4+IFEzLiBUaGUgdHVubmVsIGluaXRpYXRv ciBuZWVkcyB0byBjaGVjayB0aGF0IHRoZSBvdGhlciBlbmQgc3VwcG9ydHMgRUNOIHByb3BhZ2F0 aW9uLiBJIGhhdmUgcHJvcG9zZWQgYW4gQXR0cmlidXRlIFZhbHVlIFBhaXIgKEFWUCkgZm9yIHRo aXMgdGhhdCBpcyBlZmZlY3RpdmVseSBqdXN0IGEgYm9vbGVhbiBjaG9pY2UgZnJvbSBlYWNoIGVu ZCAoWWVzIG9yIHNpbGVuY2UpLiBJIGV4cGVjdGVkIHRvIGZpbmQgYW4gQVZQIHdpdGggcGVyLWNv bnRyb2wtY29ubmVjdGlvbiBmbGFncyBmb3IgdHVubmVsIGVuZHBvaW50IGNhcGFiaWxpdGllcyB0 aGF0IEkgY291bGQganVzdCBleHRlbmQgd2l0aCBvbmUgbW9yZSBmbGFnLCBidXQgdGhlcmUgZG9l c24ndCBzZWVtIHRvIGJlIHN1Y2ggYSB0aGluZyBhbHJlYWR5IGluIEwyVFAuIERpZCBJIG1pc3Mg aXQ/DQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4gQ2hlZXJzDQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4g Qm9iDQo+Pj4+PiANCj4+Pj4+IHtOb3RlIDF9OiB+NzAlIG9mIFdlYiBzZXJ2ZXJzLCB+NTAlIG9m IEFwcGxlIGNsaWVudCBkZXZpY2VzIG9uIGZpeGVkIG9yIFdpRmkgYWNjZXNzLCBhbmQgbm93IGlu Y3JlYXNpbmcgcm91dGVyIGRlcGxveW1lbnQgb2YgRUNOIGlzIGFwcGVhcmluZy4NCj4+PiANCj4+ PiAtLSANCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+Pj4gQm9iIEJyaXNjb2UgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaHR0cDovL2JvYmJyaXNjb2UubmV0Lw0KPj4+IA0KPj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gTDJ0cGV4dCBtYWlsaW5nIGxp c3QNCj4+PiBMMnRwZXh0QGlldGYub3JnDQo+Pj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h bi9saXN0aW5mby9sMnRwZXh0DQo+IA0KPiAtLSANCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBCb2IgQnJpc2NvZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gaHR0cDovL2JvYmJyaXNjb2UubmV0Lw0K DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMMnRwZXh0 IG1haWxpbmcgbGlzdApMMnRwZXh0QGlldGYub3JnCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt YW4vbGlzdGluZm8vbDJ0cGV4dAo=