Re: Is it possible for an inbound connector to invoke servlet?
Simon Aquilina <[email protected]> Wed, 10 Dec 2008 00:46:48 +0100
| Newsgroups | gmane.comp.java.sun.connector |
|---|---|
| Message-ID | <[email protected]> |
--_79af1183-96c1-4470-a2f9-bc854aaed3c6_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIaSBRaUp1biBZYW5nLA0KDQpUaGFuayB5b3UgYWdhaW4gZm9yIHlvdXIgcmVwbHkuIEkgaGF2 ZSBjaGVja2VkDQp0aGUgajJlZSB0dXRvcmlhbCBhcyB5b3Ugc3VnZ2VzdGVkLiBJZiBJIHVzZSB0 aGlzIG1ldGhvZCB0aGVuIEkgd291bGQNCmltcGxlbWVudCB0aGF0IGNvZGUgd2l0aGluIHRoZSBN ZXNzYWdlIERyaXZlbiBCZWFuIChNREIpIGVuZHBvaW50LiANCg0KSG93ZXZlcg0KSSBzZWUgb25s eSBvbmUgcHJvYmxlbSB3aXRoIHRoZSBhYm92ZSBkZXNpZ24uIExpa2UgdGhhdCBteSBSZXNvdXJj ZQ0KQWRhcHRlciAoUkEpIHdvdWxkIGNhbGwgdGhlIE1EQiBhbmQgdGhlIE1EQiB3b3VsZCB0aGVu IGNhbGwgdGhlDQpTZXJ2bGV0LiBIb3dldmVyIGluIHRoZSBKYXZhIEVFIDUgVHV0b3JpYWwsIENo YXB0ZXIgMzUsIEFib3V0IFJlc291cmNlDQpBZGFwdGVycyAoaHR0cDovL2phdmEuc3VuLmNvbS9q YXZhZWUvNS9kb2NzL3R1dG9yaWFsL2RvYy9ibmNqeS5odG1sKQ0KdGhlcmUgaXMgYSBkaWFncmFt IHdoaWNoIHNlZW1zIHRvIGluZGljYXRlIHRoYXQgdGhlIFJBIHNob3VsZCBiZSBhYmxlDQp0byBj YWxsIHRoZSBXZWIgQ29tcG9uZW50cyBkaXJlY3RseS4gQXJlbid0IHNlcnZsZXRzIGFsc28gV2Vi DQpDb21wb25lbnRzPyBJZiB5ZXMgdGhlbiBzaG91bGQndCB0aGUgUkEgYmUgYWJsZSB0byBpbnZv a2UgYSBzZXJ2bGV0DQpkaXJlY3RseSBieSB1c2luZyB0aGUgTWVzc2FnZUVuZHBvaW50RmFjdG9y eSwgd2l0aCB0aGUgZGlmZmVyZW5jZSB0aGF0DQp0aGUgTWVzc2FnZSBFbmRwb2ludCBpbiB0aGlz IGNhc2Ugd291bGQgYmUgdGhlIHdhbnRlZCBzZXJ2bGV0IHJhdGhlcg0KdGhlbiBhbiBNREIuIEkg ZG8gbm90IGtub3cgaWYgbXkgbGluZSBvZiB0aG91Z2h0IGlzIGNsZWFyIGVub3VnaC4gSWYNCm5v dCBwbGVhc2UgZG8gbm90IGhlc2l0YXRlIHRvIHRlbGwgbWUgYW5kIEkgd2lsbCB0cnkgdG8gcmVw aHJhc2UgOikNCg0KSQ0Kd2lsbCBhbHNvIHRha2UgeW91ciBzdWdnZXN0aW9uIGFuZCBhc2sgdGhl IHF1ZXN0aW9uIGFib3V0IGFuIEFkYXB0ZXIgb24NCnRoZSBhcGFjaGUgZm9ydW0gdG8gc2VlIHdo YXQgdGhleSBzYXkgYXMgd2VsbC4gQWdhaW4gdGhhbmsgeW91IHZlcnkNCm11Y2ggZm9yIHlvdXIg aW50ZXJlc3QgYW5kIHJlcGxpZXMgOikgdGhleSBhcmUgcmVhbGx5IGFwcmVjaWF0ZWQuDQoNCkJl c3QgUmVnYXJkcywNClNpbW9uIEouIEFxdWlsaW5hDQoNCkRhdGU6IEZyaSwgNSBEZWMgMjAwOCAx NDowMzowOSArMDgwMA0KRnJvbTogd2VhbHRoZXJAMTYzLkNPTQ0KU3ViamVjdDogUmU6IElzIGl0 IHBvc3NpYmxlIGZvciBhbiBpbmJvdW5kIGNvbm5lY3RvciB0byBpbnZva2Ugc2VydmxldD8NClRv OiBDT05ORUNUT1ItSU5URVJFU1RASkFWQS5TVU4uQ09NDQoNCmkgYW0gc29ycnksIGkgZG9uJ3Qg a25vdyBqY2EgdG9vIG11Y2guDQpidXQgaSB0aGluayB0aGUgYmVsb3cgY29kZSBtYXkgYmUgYSBs aXR0bGUgaGVscCB0byB5b3UuDQogDQogDQpwYWNrYWdlIG9yZy54ZnJlZS51cmw7DQppbXBvcnQg amF2YS5pby5CdWZmZXJlZFJlYWRlcjsNCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOw0KaW1w b3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7DQppbXBvcnQgamF2YS5uZXQuTWFsZm9ybWVk VVJMRXhjZXB0aW9uOw0KaW1wb3J0IGphdmEubmV0LlVSTDsNCmltcG9ydCBqYXZhLm5ldC5VUkxD b25uZWN0aW9uOw0KcHVibGljIGNsYXNzIFVSTENvbm5lY3Rpb25UZXN0IHsNCiBwdWJsaWMgc3Rh dGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7DQogIFN0cmluZyB1cmxOYW1lID0gImh0dHA6 Ly93d3cuZ29vZ2xlLmNvbSI7DQogIGlmIChhcmdzLmxlbmd0aCAhPSAwKSB7DQogICB1cmxOYW1l ID0gYXJnc1swXTsNCiAgfQ0KICB0cnkgew0KICAgVVJMIHVybCA9IG5ldyBVUkwodXJsTmFtZSk7 DQogICBVUkxDb25uZWN0aW9uIGNvbiA9IHVybC5vcGVuQ29ubmVjdGlvbigpOw0KICAgY29uLnNl dERvSW5wdXQodHJ1ZSk7DQogICBjb24uc2V0RG9PdXRwdXQodHJ1ZSk7DQogICBCdWZmZXJlZFJl YWRlciByZWFkZXIgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKA0K ICAgICBjb24uZ2V0SW5wdXRTdHJlYW0oKSkpOw0KICAgU3lzdGVtLm91dC5wcmludGxuKHJlYWRl ci5yZWFkTGluZSgpKTsNCiAgfSBjYXRjaCAoTWFsZm9ybWVkVVJMRXhjZXB0aW9uIGUpIHsNCiAg IC8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgY2F0Y2ggYmxvY2sNCiAgIGUucHJpbnRTdGFja1RyYWNl KCk7DQogIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsNCiAgIC8vIFRPRE8gQXV0by1nZW5lcmF0 ZWQgY2F0Y2ggYmxvY2sNCiAgIGUucHJpbnRTdGFja1RyYWNlKCk7DQogIH0NCiB9DQp9DQogDQp5 b3UgY2FuIGdldCBtb3JlIGluZm9ybWF0aW9uIGF0IGh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8x LjQuMi9kb2NzL2FwaS9qYXZhL25ldC9VUkxDb25uZWN0aW9uLmh0bWwuDQoNCllvdXJzIHNpbmNl cmVseSwNClFpSnVuIFlhbmcNCg0K5ZyoMjAwOC0xMi0wNO+8jCJTaW1vbiBBcXVpbGluYSIgPHNp bTA4NUBIT1RNQUlMLkNPTT4g5YaZ6YGT77yaDQoNCkhpIGFnYWluLA0KDQpTaW5jZSBJIGRpZCBu b3QgcmVjZWl2ZSBhbnkgcmVwbHkgSSB0aG91Z2h0IHRvIHNlbmQgYW5vdGhlciBlbWFpbCB3aXRo IHRoZSBhZGRpdGlvbmFsIHJlLXNlYXJjaCBJIGRpZC4gQmFzaWNhbGx5IGZyb20gdGhlIGRpYWdy YW0gb24gc2xpZGUgZml2ZSAoNSkgb2YgdGhlIHByZXNlbnRhdGlvbiAnSmF2YeKEoiBFRSBDb25u ZWN0b3JzIERlbXlzdGlmaWVkJyBieSBCaW5vZCBQLkcsIEdlb3JnZSBUaGFyYWthbiwgU2l2YWt1 bWFyIFRoeWFnYXJhamFuIGl0IGlzIGNsZWFyIHRoYXQgYSBjdXN0b20gY29ubmVjdG9yIHNob3Vs ZCBiZSBhYmxlIHRvIGludm9rZSBhIGRlcGxveWVkIHNlcnZsZXQuDQoNCkhhdmluZyBzYWlkIHRo YXQgSSBzdGlsbCBjYW5ub3QgdW5kZXJzdGFuZCBob3cgdGhpcyBjYW4gYmUgZG9uZS4gSW4gdGhl IGRvY3VtZW50ICdKMkVF4oSiIENvbm5lY3RvciBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbicg dGhlcmUgaXMgYSB3aG9sZSBjaGFwdGVyIG9uIGhvdyB0byBpbnZva2UgYW4gRUpCIChDaGFwdGVy IDEzKSBob3dldmVyIEkgY2Fubm90IGZpbmQgYW55dGhpbmcgYWJvdXQgU2VydmxldCBJbnZva2F0 aW9uLiBJIGFsc28gZG93bmxvYWRlZCB0aGUgU2VydmxldCBTcGVjaWZpY2F0aW9uIGRvY3VtZW50 IGJ1dCBjYW5ub3QgcmVhbGx5IG1hcCB0aGUgdHdvIHRvZ2V0aGVyIChwcm9iYWJibHkgZHVlIHRv IG15IGxpdHRsZSBrbm93bGVkZ2UgYWJvdXQgdGhlIHN1YmplY3QpLiBJIGhhdmUgYWxzbyBjaGVj a2VkIGhvdyB0aGUgSHR0cCBDb25uZWN0b3Igb2YgVG9tY2F0IHdvcmtzIGFuZCBoZXJlIEkgZm91 bmQgb3V0IHRoYXQgdGhlIFRvbWNhdCB3aGVuIGxvYWRlZCB0aGUgSHR0cCBDb25uZWN0b3Igd2ls bCBwcm92aWRlIGFuIEFkYXB0ZXIgaW4gb3JkZXIgdG8gaW52b2tlIFNlcnZsZXRzIGhvd2V2ZXIg ZG8gbm90IGtub3cgaWYgdGhpcyBpcyBhbHNvIHRoZSBjYXNlIGZvciBhIEpFRSBBcHBsaWNhdGlv biBTZXJ2ZXIsIG5vciBkbyBJIGtub3cgaWYgSSBoYXZlIHRvIHNldCBzb21lIGV4dHJhIGNvbmZp Z3VyYXRpb24gdG8gaGF2ZSBzdWNoIGFuIG9iamVjdCBhdmFpbGFibGUuDQoNClRoYW5rcyBhbmQg UmVnYXJkcywNClNpbW9uIEouIEFxdWlsaW5hDQoNCg0KDQpGcm9tOiBzaW0wODVAaG90bWFpbC5j b20NClRvOiBjb25uZWN0b3ItaW50ZXJlc3RAamF2YS5zdW4uY29tDQpTdWJqZWN0OiBJcyBpdCBw b3NzaWJsZSBmb3IgYW4gaW5ib3VuZCBjb25uZWN0b3IgdG8gaW52b2tlIHNlcnZsZXQ/DQpEYXRl OiBNb24sIDEgRGVjIDIwMDggMjE6MDA6MTAgKzAxMDANCg0KDQoNCg0KDQoNCkhpLA0KDQpJIGFt IG5vdCBzdXJlIGlmIHRoaXMgaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIGFzayB0aGlzIHF1ZXN0aW9u LiBNeSBxdWVzdGlvbiBpcyByZWxhdGVkIHRvIGluYm91bmQgY29ubmVjdG9ycy4gRnJvbSB3aGF0 IEkgY2FuIHVuZGVyc3RhbmQgYW4gYXBwbGljYXRpb24gc2VydmVyIHdpbGwgc3RhcnQgYSBSZXNv dXJjZSBBZGFwdGVyIChSQSkuIFRoZW4gd2hlbiBhIE1lc3NhZ2UgRHJpdmVuIEJlYW4gKE1EQikg aXMgZGVwbG95ZWQgdGhlIHJlbGF0ZWQgUkEgYXJlIGluZm9ybWVkLiBUaGUgUkEgd291bGQgdGhl biBjcmVhdGUgYW4gRW5kcG9pbnQgQ29uc3VtZXIuIFdoZW4gYSBtZXNzYWdlIGlzIHJlY2VpdmVk IGZyb20gYW4gRUlTIHRoZSBFbmRwb2ludCBDb25zdW1lciB3aWxsIGNhbGwgYSBtZXRob2QgZnJv bSB0aGUgTURCLiANCg0KTm93IG15IHBsYW4gd2FzIHRvIGRldmVsb3Agc29tZXRoaW5nIHNpbWls YXIgdG8gdGhlIGh0dHAgcHJvdG9jb2wuIFRoZSBFbnRlcnByaXNlIEluZm9ybWF0aW9uIFN5c3Rl bSAoRUlTKSBtYWtlcyBhIHJlcXVlc3QsIHRoZSByZXF1ZXN0IGlzIHByb2Nlc3NlZCwgYW5kIGEg cmVzcG9uc2UgaXMgcmV0dXJuZWQgaW4gWE1MIChvciBmb3JtYXQgdW5kZXJzdG9vZCBieSB0aGUg RUlTKS4gQmVjYXVzZSBvZiB0aGlzIHNpbWlsYXJpdHkgSSB3YXMgd29uZGVyaW5nOyBJcyBpdCBw b3NzaWJsZSB0aGF0IGFuIGluYm91bmQgY29ubmVjdG9yIGludm9rZXMgYSBkZXBsb3llZCBzZXJ2 bGV0PyANCg0KVGhhbmtzIGFuZCBSZWdhcmRzLA0KU2ltb24gSi4NCg0KDQoNCg0KDQoNCg0KSW52 aXRlIHlvdXIgbWFpbCBjb250YWN0cyB0byBqb2luIHlvdXIgZnJpZW5kcyBsaXN0IHdpdGggV2lu ZG93cyBMaXZlIFNwYWNlcy4gSXQncyBlYXN5ISBUcnkgaXQhDQoNCg0KRGlzY292ZXIgdGhlIG5l dyBXaW5kb3dzIFZpc3RhIExlYXJuIG1vcmUhID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBUbyB1bnN1YnNj cmliZSwgc2VuZCBlbWFpbCB0byBsaXN0c2VydkBqYXZhLnN1bi5jb20gYW5kIGluY2x1ZGUgaW4g dGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UgInNpZ25vZmYgQ09OTkVDVE9SLUlOVEVSRVNUIi4gRm9y IGdlbmVyYWwgaGVscCwgc2VuZCBlbWFpbCB0byBsaXN0c2VydkBqYXZhLnN1bi5jb20gYW5kIGlu Y2x1ZGUgaW4gdGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UgImhlbHAiLiANCg0KDQrnvZHmmJPlhY3o tLnpgq7vvIzlhajnkIPmnIDlpKfnmoTkuK3mloflhY3otLnpgq7nrrENCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KVG8gdW5zdWJzY3JpYmUsIHNlbmQgZW1haWwgdG8gbGlzdHNlcnZAamF2YS5zdW4uY29t IGFuZCBpbmNsdWRlIGluIHRoZSBib2R5DQpvZiB0aGUgbWVzc2FnZSAic2lnbm9mZiBDT05ORUNU T1ItSU5URVJFU1QiLiAgRm9yIGdlbmVyYWwgaGVscCwgc2VuZCBlbWFpbCB0bw0KbGlzdHNlcnZA amF2YS5zdW4uY29tIGFuZCBpbmNsdWRlIGluIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlICJoZWxw Ii4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQpJbnZpdGUgeW91ciBtYWlsIGNvbnRhY3RzIHRvIGpvaW4geW91ciBmcmll bmRzIGxpc3Qgd2l0aCBXaW5kb3dzIExpdmUgU3BhY2VzLiBJdCdzIGVhc3khDQpodHRwOi8vc3Bh Y2VzLmxpdmUuY29tL3NwYWNlc2FwaS5hc3B4P3d4X2FjdGlvbj1jcmVhdGUmd3hfdXJsPS9mcmll bmRzLmFzcHgmbWt0PWVuLXVz --_79af1183-96c1-4470-a2f9-bc854aaed3c6_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT4NCi5obW1lc3NhZ2UgUA0Kew0KbWFyZ2luOjBweDsNCnBh ZGRpbmc6MHB4DQp9DQpib2R5LmhtbWVzc2FnZQ0Kew0KZm9udC1zaXplOiAxMHB0Ow0KZm9udC1m YW1pbHk6VmVyZGFuYQ0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSdobW1lc3Nh Z2UnPg0KSGkgUWlKdW4gWWFuZyw8YnI+PGJyPlRoYW5rIHlvdSBhZ2FpbiBmb3IgeW91ciByZXBs eS4gSSBoYXZlIGNoZWNrZWQNCnRoZSBqMmVlIHR1dG9yaWFsIGFzIHlvdSBzdWdnZXN0ZWQuIElm IEkgdXNlIHRoaXMgbWV0aG9kIHRoZW4gSSB3b3VsZA0KaW1wbGVtZW50IHRoYXQgY29kZSB3aXRo aW4gdGhlIE1lc3NhZ2UgRHJpdmVuIEJlYW4gKE1EQikgZW5kcG9pbnQuIDxicj48YnI+SG93ZXZl cg0KSSBzZWUgb25seSBvbmUgcHJvYmxlbSB3aXRoIHRoZSBhYm92ZSBkZXNpZ24uIExpa2UgdGhh dCBteSBSZXNvdXJjZQ0KQWRhcHRlciAoUkEpIHdvdWxkIGNhbGwgdGhlIE1EQiBhbmQgdGhlIE1E QiB3b3VsZCB0aGVuIGNhbGwgdGhlDQpTZXJ2bGV0LiBIb3dldmVyIGluIHRoZSBKYXZhIEVFIDUg VHV0b3JpYWwsIENoYXB0ZXIgMzUsIEFib3V0IFJlc291cmNlDQpBZGFwdGVycyAoaHR0cDovL2ph dmEuc3VuLmNvbS9qYXZhZWUvNS9kb2NzL3R1dG9yaWFsL2RvYy9ibmNqeS5odG1sKQ0KdGhlcmUg aXMgYSBkaWFncmFtIHdoaWNoIHNlZW1zIHRvIGluZGljYXRlIHRoYXQgdGhlIFJBIHNob3VsZCBi ZSBhYmxlDQp0byBjYWxsIHRoZSBXZWIgQ29tcG9uZW50cyBkaXJlY3RseS4gQXJlbid0IHNlcnZs ZXRzIGFsc28gV2ViDQpDb21wb25lbnRzPyBJZiB5ZXMgdGhlbiBzaG91bGQndCB0aGUgUkEgYmUg YWJsZSB0byBpbnZva2UgYSBzZXJ2bGV0DQpkaXJlY3RseSBieSB1c2luZyB0aGUgTWVzc2FnZUVu ZHBvaW50RmFjdG9yeSwgd2l0aCB0aGUgZGlmZmVyZW5jZSB0aGF0DQp0aGUgTWVzc2FnZSBFbmRw b2ludCBpbiB0aGlzIGNhc2Ugd291bGQgYmUgdGhlIHdhbnRlZCBzZXJ2bGV0IHJhdGhlcg0KdGhl biBhbiBNREIuIEkgZG8gbm90IGtub3cgaWYgbXkgbGluZSBvZiB0aG91Z2h0IGlzIGNsZWFyIGVu b3VnaC4gSWYNCm5vdCBwbGVhc2UgZG8gbm90IGhlc2l0YXRlIHRvIHRlbGwgbWUgYW5kIEkgd2ls bCB0cnkgdG8gcmVwaHJhc2UgOik8YnI+PGJyPkkNCndpbGwgYWxzbyB0YWtlIHlvdXIgc3VnZ2Vz dGlvbiBhbmQgYXNrIHRoZSBxdWVzdGlvbiBhYm91dCBhbiBBZGFwdGVyIG9uDQp0aGUgYXBhY2hl IGZvcnVtIHRvIHNlZSB3aGF0IHRoZXkgc2F5IGFzIHdlbGwuIEFnYWluIHRoYW5rIHlvdSB2ZXJ5 DQptdWNoIGZvciB5b3VyIGludGVyZXN0IGFuZCByZXBsaWVzIDopIHRoZXkgYXJlIHJlYWxseSBh cHJlY2lhdGVkLjxicj48YnI+QmVzdCBSZWdhcmRzLDxicj5TaW1vbiBKLiBBcXVpbGluYTxicj48 YnI+PGhyIGlkPSJzdG9wU3BlbGxpbmciPkRhdGU6IEZyaSwgNSBEZWMgMjAwOCAxNDowMzowOSAr MDgwMDxicj5Gcm9tOiB3ZWFsdGhlckAxNjMuQ09NPGJyPlN1YmplY3Q6IFJlOiBJcyBpdCBwb3Nz aWJsZSBmb3IgYW4gaW5ib3VuZCBjb25uZWN0b3IgdG8gaW52b2tlIHNlcnZsZXQ/PGJyPlRvOiBD T05ORUNUT1ItSU5URVJFU1RASkFWQS5TVU4uQ09NPGJyPjxicj48ZGl2PmkgYW0gc29ycnksIGkg ZG9uJ3Qga25vdyBqY2EgdG9vIG11Y2guPC9kaXY+DQo8ZGl2PmJ1dCBpIHRoaW5rIHRoZSBiZWxv dyBjb2RlIG1heSBiZSBhIGxpdHRsZSBoZWxwJm5ic3A7dG8geW91LjwvZGl2Pg0KPGRpdj4mbmJz cDs8L2Rpdj4NCjxkaXY+Jm5ic3A7PC9kaXY+DQo8ZGl2PnBhY2thZ2Ugb3JnLnhmcmVlLnVybDs8 L2Rpdj4NCjxkaXY+aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7PGJyPmltcG9ydCBqYXZh LmlvLklPRXhjZXB0aW9uOzxicj5pbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjs8YnI+ aW1wb3J0IGphdmEubmV0Lk1hbGZvcm1lZFVSTEV4Y2VwdGlvbjs8YnI+aW1wb3J0IGphdmEubmV0 LlVSTDs8YnI+aW1wb3J0IGphdmEubmV0LlVSTENvbm5lY3Rpb247PC9kaXY+DQo8ZGl2PnB1Ymxp YyBjbGFzcyBVUkxDb25uZWN0aW9uVGVzdCB7PGJyPiZuYnNwO3B1YmxpYyBzdGF0aWMgdm9pZCBt YWluKFN0cmluZ1tdIGFyZ3MpIHs8YnI+Jm5ic3A7Jm5ic3A7U3RyaW5nIHVybE5hbWUgPSAiPGEg aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tIj5odHRwOi8vd3d3Lmdvb2dsZS5jb208L2E+Ijs8 YnI+Jm5ic3A7Jm5ic3A7aWYgKGFyZ3MubGVuZ3RoICE9IDApIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5i c3A7dXJsTmFtZSA9IGFyZ3NbMF07PGJyPiZuYnNwOyZuYnNwO308L2Rpdj4NCjxkaXY+Jm5ic3A7 Jm5ic3A7dHJ5IHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7VVJMIHVybCA9IG5ldyBVUkwodXJsTmFt ZSk7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO1VSTENvbm5lY3Rpb24gY29uID0gdXJsLm9wZW5Db25u ZWN0aW9uKCk7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO2Nvbi5zZXREb0lucHV0KHRydWUpOzxicj4m bmJzcDsmbmJzcDsmbmJzcDtjb24uc2V0RG9PdXRwdXQodHJ1ZSk7PC9kaXY+DQo8ZGl2PiZuYnNw OyZuYnNwOyZuYnNwO0J1ZmZlcmVkUmVhZGVyIHJlYWRlciA9IG5ldyBCdWZmZXJlZFJlYWRlcihu ZXcgSW5wdXRTdHJlYW1SZWFkZXIoPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Nv bi5nZXRJbnB1dFN0cmVhbSgpKSk7PGJyPiZuYnNwOyZuYnNwOyZuYnNwO1N5c3RlbS5vdXQucHJp bnRsbihyZWFkZXIucmVhZExpbmUoKSk7PC9kaXY+DQo8ZGl2PiZuYnNwOyZuYnNwO30gY2F0Y2gg KE1hbGZvcm1lZFVSTEV4Y2VwdGlvbiBlKSB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOy8vIFRPRE8g QXV0by1nZW5lcmF0ZWQgY2F0Y2ggYmxvY2s8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ZS5wcmludFN0 YWNrVHJhY2UoKTs8YnI+Jm5ic3A7Jm5ic3A7fSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgezxicj4m bmJzcDsmbmJzcDsmbmJzcDsvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIGNhdGNoIGJsb2NrPGJyPiZu YnNwOyZuYnNwOyZuYnNwO2UucHJpbnRTdGFja1RyYWNlKCk7PGJyPiZuYnNwOyZuYnNwO308YnI+ Jm5ic3A7fTxicj59PC9kaXY+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPGRpdj55b3UgY2FuIGdldCZu YnNwO21vcmUgaW5mb3JtYXRpb24gYXQgPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9qMnNl LzEuNC4yL2RvY3MvYXBpL2phdmEvbmV0L1VSTENvbm5lY3Rpb24uaHRtbCI+aHR0cDovL2phdmEu c3VuLmNvbS9qMnNlLzEuNC4yL2RvY3MvYXBpL2phdmEvbmV0L1VSTENvbm5lY3Rpb24uaHRtbDwv YT4uPC9kaXY+DQo8ZGl2Pjxicj5Zb3VycyBzaW5jZXJlbHksPC9kaXY+DQo8ZGl2PlFpSnVuIFlh bmc8L2Rpdj4NCjxkaXY+PC9kaXY+PGJyPuWcqDIwMDgtMTItMDTvvIwiU2ltb24gQXF1aWxpbmEi ICZsdDtzaW0wODVASE9UTUFJTC5DT00mZ3Q7IOWGmemBk++8mjxicj4NCjxibG9ja3F1b3RlIGlk PSJFQ19pc1JlcGx5Q29udGVudCIgc3R5bGU9ImJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKDIw NCwgMjA0LCAyMDQpOyBwYWRkaW5nLWxlZnQ6IDFleDsiPkhpIGFnYWluLDxicj48YnI+U2luY2Ug SSBkaWQgbm90IHJlY2VpdmUgYW55IHJlcGx5IEkgdGhvdWdodCB0byBzZW5kIGFub3RoZXIgZW1h aWwgd2l0aCB0aGUgYWRkaXRpb25hbCByZS1zZWFyY2ggSSBkaWQuIEJhc2ljYWxseSBmcm9tIHRo ZSBkaWFncmFtIG9uIHNsaWRlIGZpdmUgKDUpIG9mIHRoZSBwcmVzZW50YXRpb24gJ0phdmHihKIg RUUgQ29ubmVjdG9ycyBEZW15c3RpZmllZCcgYnkgQmlub2QgUC5HLCBHZW9yZ2UgVGhhcmFrYW4s IFNpdmFrdW1hciBUaHlhZ2FyYWphbiBpdCBpcyBjbGVhciB0aGF0IGEgY3VzdG9tIGNvbm5lY3Rv ciBzaG91bGQgYmUgYWJsZSB0byBpbnZva2UgYSBkZXBsb3llZCBzZXJ2bGV0Ljxicj48YnI+SGF2 aW5nIHNhaWQgdGhhdCBJIHN0aWxsIGNhbm5vdCB1bmRlcnN0YW5kIGhvdyB0aGlzIGNhbiBiZSBk b25lLiBJbiB0aGUgZG9jdW1lbnQgJ0oyRUXihKIgQ29ubmVjdG9yIEFyY2hpdGVjdHVyZSBTcGVj aWZpY2F0aW9uJyB0aGVyZSBpcyBhIHdob2xlIGNoYXB0ZXIgb24gaG93IHRvIGludm9rZSBhbiBF SkIgKENoYXB0ZXIgMTMpIGhvd2V2ZXIgSSBjYW5ub3QgZmluZCBhbnl0aGluZyBhYm91dCBTZXJ2 bGV0IEludm9rYXRpb24uIEkgYWxzbyBkb3dubG9hZGVkIHRoZSBTZXJ2bGV0IFNwZWNpZmljYXRp b24gZG9jdW1lbnQgYnV0IGNhbm5vdCByZWFsbHkgbWFwIHRoZSB0d28gdG9nZXRoZXIgKHByb2Jh YmJseSBkdWUgdG8gbXkgbGl0dGxlIGtub3dsZWRnZSBhYm91dCB0aGUgc3ViamVjdCkuIEkgaGF2 ZSBhbHNvIGNoZWNrZWQgaG93IHRoZSBIdHRwIENvbm5lY3RvciBvZiBUb21jYXQgd29ya3MgYW5k IGhlcmUgSSBmb3VuZCBvdXQgdGhhdCB0aGUgVG9tY2F0IHdoZW4gbG9hZGVkIHRoZSBIdHRwIENv bm5lY3RvciB3aWxsIHByb3ZpZGUgYW4gQWRhcHRlciBpbiBvcmRlciB0byBpbnZva2UgU2Vydmxl dHMgaG93ZXZlciBkbyBub3Qga25vdyBpZiB0aGlzIGlzIGFsc28gdGhlIGNhc2UgZm9yIGEgSkVF IEFwcGxpY2F0aW9uIFNlcnZlciwgbm9yIGRvIEkga25vdyBpZiBJIGhhdmUgdG8gc2V0IHNvbWUg ZXh0cmEgY29uZmlndXJhdGlvbiB0byBoYXZlIHN1Y2ggYW4gb2JqZWN0IGF2YWlsYWJsZS48YnI+ PGJyPlRoYW5rcyBhbmQgUmVnYXJkcyw8YnI+U2ltb24gSi4gQXF1aWxpbmE8YnI+PGJyPg0KPGhy IGlkPSJFQ19zdG9wU3BlbGxpbmciPg0KRnJvbTogPGEgaHJlZj0ibWFpbHRvOnNpbTA4NUBob3Rt YWlsLmNvbSI+c2ltMDg1QGhvdG1haWwuY29tPC9hPjxicj5UbzogPGEgaHJlZj0ibWFpbHRvOmNv bm5lY3Rvci1pbnRlcmVzdEBqYXZhLnN1bi5jb20iPmNvbm5lY3Rvci1pbnRlcmVzdEBqYXZhLnN1 bi5jb208L2E+PGJyPlN1YmplY3Q6IElzIGl0IHBvc3NpYmxlIGZvciBhbiBpbmJvdW5kIGNvbm5l Y3RvciB0byBpbnZva2Ugc2VydmxldD88YnI+RGF0ZTogTW9uLCAxIERlYyAyMDA4IDIxOjAwOjEw ICswMTAwPGJyPjxicj4NCjxzdHlsZT4NCi5FeHRlcm5hbENsYXNzIC5FQ19obW1lc3NhZ2UgUA0K e3BhZGRpbmc6MHB4O30NCi5FeHRlcm5hbENsYXNzIGJvZHkuRUNfaG1tZXNzYWdlDQp7Zm9udC1z aXplOjEwcHQ7Zm9udC1mYW1pbHk6VmVyZGFuYTt9DQo8L3N0eWxlPg0KDQo8c3R5bGU+DQpAcGFn ZQ0Kezt9DQouRXh0ZXJuYWxDbGFzcyBQDQp7bWFyZ2luLWJvdHRvbTowLjIxY207bGluZS1oZWln aHQ6MTUwJTt0ZXh0LWFsaWduOmp1c3RpZnk7fQ0KLkV4dGVybmFsQ2xhc3MgUC5FQ193ZXN0ZXJu DQp7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywgc2Fucy1zZXJpZjt9DQo8L3N0eWxl Pg0KDQo8cCBjbGFzcz0iRUNfRUNfd2VzdGVybiIgYWxpZ249ImxlZnQiPkhpLDxicj48YnI+SSBh bSBub3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSByaWdodCBwbGFjZSB0byBhc2sgdGhpcyBxdWVzdGlv bi4gTXkgcXVlc3Rpb24gaXMgcmVsYXRlZCB0byBpbmJvdW5kIGNvbm5lY3RvcnMuIEZyb20gd2hh dCBJIGNhbiB1bmRlcnN0YW5kIGFuIGFwcGxpY2F0aW9uIHNlcnZlciB3aWxsIHN0YXJ0IGEgUmVz b3VyY2UgQWRhcHRlciAoUkEpLiBUaGVuIHdoZW4gYSBNZXNzYWdlIERyaXZlbiBCZWFuIChNREIp IGlzIGRlcGxveWVkIHRoZSByZWxhdGVkIFJBIGFyZSBpbmZvcm1lZC4gVGhlIFJBIHdvdWxkIHRo ZW4gY3JlYXRlIGFuIEVuZHBvaW50IENvbnN1bWVyLiBXaGVuIGEgbWVzc2FnZSBpcyByZWNlaXZl ZCBmcm9tIGFuIEVJUyB0aGUgRW5kcG9pbnQgQ29uc3VtZXIgd2lsbCBjYWxsIGEgbWV0aG9kIGZy b20gdGhlIE1EQi4gPGJyPjxicj5Ob3cgbXkgcGxhbiB3YXMgdG8gZGV2ZWxvcCBzb21ldGhpbmcg c2ltaWxhciB0byB0aGUgaHR0cCBwcm90b2NvbC4gVGhlIEVudGVycHJpc2UgSW5mb3JtYXRpb24g U3lzdGVtIChFSVMpIG1ha2VzIGEgcmVxdWVzdCwgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkLCBh bmQgYSByZXNwb25zZSBpcyByZXR1cm5lZCBpbiBYTUwgKG9yIGZvcm1hdCB1bmRlcnN0b29kIGJ5 IHRoZSBFSVMpLiBCZWNhdXNlIG9mIHRoaXMgc2ltaWxhcml0eSBJIHdhcyB3b25kZXJpbmc7IElz IGl0IHBvc3NpYmxlIHRoYXQgYW4gaW5ib3VuZCBjb25uZWN0b3IgaW52b2tlcyBhIGRlcGxveWVk IHNlcnZsZXQ/IDxicj48YnI+VGhhbmtzIGFuZCBSZWdhcmRzLDxicj5TaW1vbiBKLjxicj48YnI+ PC9wPjxicj48YnI+PGJyPjxicj4NCjxocj4NCkludml0ZSB5b3VyIG1haWwgY29udGFjdHMgdG8g am9pbiB5b3VyIGZyaWVuZHMgbGlzdCB3aXRoIFdpbmRvd3MgTGl2ZSBTcGFjZXMuIEl0J3MgZWFz eSEgPGEgaHJlZj0iaHR0cDovL3NwYWNlcy5saXZlLmNvbS9zcGFjZXNhcGkuYXNweD93eF9hY3Rp b249Y3JlYXRlJmFtcDt3eF91cmw9L2ZyaWVuZHMuYXNweCZhbXA7bWt0PWVuLXVzIj5UcnkgaXQh PC9hPjxicj4NCjxocj4NCkRpc2NvdmVyIHRoZSBuZXcgV2luZG93cyBWaXN0YSA8YSBocmVmPSJo dHRwOi8vc2VhcmNoLm1zbi5jb20vcmVzdWx0cy5hc3B4P3E9d2luZG93cyt2aXN0YSZhbXA7bWt0 PWVuLVVTJmFtcDtmb3JtPVFCUkUiPkxlYXJuIG1vcmUhPC9hPiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g VG8gdW5zdWJzY3JpYmUsIHNlbmQgZW1haWwgdG8gPGEgaHJlZj0ibWFpbHRvOmxpc3RzZXJ2QGph dmEuc3VuLmNvbSI+bGlzdHNlcnZAamF2YS5zdW4uY29tPC9hPiBhbmQgaW5jbHVkZSBpbiB0aGUg Ym9keSBvZiB0aGUgbWVzc2FnZSAic2lnbm9mZiBDT05ORUNUT1ItSU5URVJFU1QiLiBGb3IgZ2Vu ZXJhbCBoZWxwLCBzZW5kIGVtYWlsIHRvIDxhIGhyZWY9Im1haWx0bzpsaXN0c2VydkBqYXZhLnN1 bi5jb20iPmxpc3RzZXJ2QGphdmEuc3VuLmNvbTwvYT4gYW5kIGluY2x1ZGUgaW4gdGhlIGJvZHkg b2YgdGhlIG1lc3NhZ2UgImhlbHAiLiA8L2Jsb2NrcXVvdGU+PGJyPjxicj48aHI+DQo8YSBocmVm PSJodHRwOi8vd3d3LnllYWgubmV0Ij7nvZHmmJPlhY3otLnpgq7vvIzlhajnkIPmnIDlpKfnmoTk uK3mloflhY3otLnpgq7nrrE8L2E+DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClRvIHVuc3Vic2NyaWJl LCBzZW5kIGVtYWlsIHRvIGxpc3RzZXJ2QGphdmEuc3VuLmNvbSBhbmQgaW5jbHVkZSBpbiB0aGUg Ym9keQ0Kb2YgdGhlIG1lc3NhZ2UgInNpZ25vZmYgQ09OTkVDVE9SLUlOVEVSRVNUIi4gIEZvciBn ZW5lcmFsIGhlbHAsIHNlbmQgZW1haWwgdG8NCmxpc3RzZXJ2QGphdmEuc3VuLmNvbSBhbmQgaW5j bHVkZSBpbiB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZSAiaGVscCIuPGJyIC8+PGhyIC8+SW52aXRl IHlvdXIgbWFpbCBjb250YWN0cyB0byBqb2luIHlvdXIgZnJpZW5kcyBsaXN0IHdpdGggV2luZG93 cyBMaXZlIFNwYWNlcy4gSXQncyBlYXN5ISA8YSBocmVmPSdodHRwOi8vc3BhY2VzLmxpdmUuY29t L3NwYWNlc2FwaS5hc3B4P3d4X2FjdGlvbj1jcmVhdGUmd3hfdXJsPS9mcmllbmRzLmFzcHgmbWt0 PWVuLXVzJyB0YXJnZXQ9J19uZXcnPlRyeSBpdCE8L2E+PC9ib2R5Pg0KPC9odG1sPg== --_79af1183-96c1-4470-a2f9-bc854aaed3c6_--