Return-Path: X-Original-To: apmail-uima-user-archive@www.apache.org Delivered-To: apmail-uima-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E28BE1916A for ; Tue, 5 Apr 2016 15:23:34 +0000 (UTC) Received: (qmail 72325 invoked by uid 500); 5 Apr 2016 15:23:29 -0000 Delivered-To: apmail-uima-user-archive@uima.apache.org Received: (qmail 72281 invoked by uid 500); 5 Apr 2016 15:23:29 -0000 Mailing-List: contact user-help@uima.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@uima.apache.org Delivered-To: mailing list user@uima.apache.org Delivered-To: moderator for user@uima.apache.org Received: (qmail 50686 invoked by uid 99); 5 Apr 2016 12:54:54 -0000 X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.998 X-Spam-Level: * X-Spam-Status: No, score=1.998 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled X-InterSystems: Sent from InterSystems X-InterSystems: Sent from InterSystems X-InterSystems: Sent from InterSystems X-InterSystems: Sent from InterSystems From: Jos Denys To: Benjamin De Boe , "user@uima.apache.org" CC: Chen-Chieh Hsu Subject: RE: UIMACPP and multi-threading Thread-Topic: UIMACPP and multi-threading Thread-Index: AQHRjsPkC655B0nJQJqhCOpke7GjJp964b1AgABzDRA= Date: Tue, 5 Apr 2016 12:54:46 +0000 References: <20160404145616.ABF0C9D58E1@mail2.intersystems.com> In-Reply-To: Accept-Language: nl-NL, en-GB, en-US Content-Language: fr-FR X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.24.148.2] Content-Type: multipart/alternative; boundary="_000_13210C94032B324D9236B8D496CE99EA013AB196FEUKEXDS01iscin_" MIME-Version: 1.0 Message-Id: <20160405125449.80C349D5928@mail2.intersystems.com> --_000_13210C94032B324D9236B8D496CE99EA013AB196FEUKEXDS01iscin_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgRWRkaWUsDQoNCkkgd29ya2VkIG9uIHRoZSBDUFAtc2lkZSwgYW5kIHdoYXQgSSBub3RpY2Vk IHdhcyB0aGF0IHRoZSBKTkkgSW50ZXJmYWNlIGFsd2F5cyBwYXNzZXMgYW4gaW5zdGFuY2UgcG9p bnRlciA6DQoNCkpOSUVYUE9SVCB2b2lkIEpOSUNBTEwgSkFWQV9QUkVGSVgocmVzZXRKTkkpIChK TklFbnYqIGplRW52LCBqb2JqZWN0IGpvSlRhZikgew0KICB0cnkgew0KICAgIFVJTUFfVFBSSU5U KCJlbnRlcmluZyByZXNldERvY3VtZW50KCkiKTsNCg0KICAgIHVpbWE6OkpOSUluc3RhbmNlKiBw SW5zdGFuY2UgPSBKTklVdGlsczo6Z2V0Q3BwSW5zdGFuY2UoamVFbnYsIGpvSlRhZik7DQoNCg0K Tm93IHRoZSBzdHJhbmdlIHRoaW5nLCBhbmQgZmluYWxseSB3aGF0IGNhdXNlZCB0aGUgYWNjZXMg dmlvbGF0aW9uIGVycm9yLCB3YXMgdGhhdCB0aGUgcEluc3RhbmNlIHBvaW50ZXIgd2FzIHRoZSBz YW1lIGZvciB0aGUgMyB0aHJlYWRzIHRoYXQgKHNpbXVsdGFuZW91c2x5KSBkaWQgdGhlIFVJTUEg cHJvY2Vzc2luZywNCnNvIGl0IGxvb2tzIGxpa2UgdGhlIHNhbWUgQ0FTIHdhcyBwYXNzZWQgZm9y IDMgZGlmZmVyZW50IGFuYWx5c2lzIHdvcmtlciB0aHJlYWRzLg0KDQpBbnkgaWRlYSB3aHkgYW5k IGhvdyB0aGlzIGNhbiBoYXBwZW4gPw0KDQpUaGFua3MgZm9yIHlvdXIgZmVlZGJhY2ssDQpKb3Mg RGVueXMsDQpJbnRlclN5c3RlbXMgQmVuZWx1eC4NCg0KDQpEZSA6IEJlbmphbWluIERlIEJvZQ0K RW52b3nDqSA6IG1hcmRpIDUgYXZyaWwgMjAxNiAwOTozMw0Kw4AgOiB1c2VyQHVpbWEuYXBhY2hl Lm9yZw0KQ2MgOiBKb3MgRGVueXMgPEpvcy5EZW55c0BpbnRlcnN5c3RlbXMuY29tPjsgQ2hlbi1D aGllaCBIc3UgPENoZW4tQ2hpZWguSHN1QGludGVyc3lzdGVtcy5jb20+DQpPYmpldCA6IFJFOiBV SU1BQ1BQIGFuZCBtdWx0aS10aHJlYWRpbmcNCg0KDQpIaSBFZGRpZSwNCg0KDQoNClRoYW5rcyBm b3IgeW91ciBwcm9tcHQgcmVzcG9uc2UuDQoNCkluIG91ciBleHBlcmltZW50LCB3ZSBoYXZlIG9u ZSBpbml0aWFsIHRocmVhZCBpbnN0YW50aWF0aW5nIGEgQ2FzUG9vbCBhbmQgdGhlbiBwYXNzaW5n IGl0IG9uIHRvIG5ld2x5IHNwYXduZWQgdGhyZWFkcyB0aGF0IGVhY2ggaGF2ZSB0aGVpciBvd24g RGF2ZURldGVjdG9yIGluc3RhbmNlIGFuZCBmZXRjaCBhIG5ldyBDQVMgZnJvbSB0aGUgc2hhcmVk IHBvb2wuIFRoZSBVaW1hY3BwRW5naW5lIG9iamVjdHMnIGNwcEVuZ2luZVBvaW50ZXIgdmFyaWFi bGUgZGlmZmVycyBwZXIgdGhyZWFkLCBidXQgb24gdGhlIEMrKyBzaWRlLCBpdCBsb29rcyBsaWtl IGFsbCB0aHJlYWRzIGFyZSBwb2ludGluZyB0byB0aGUgc2FtZSBtZW1vcnkgYWRkcmVzcyBmb3Ig dGhlIENBUyB0aGV5IG9wZXJhdGUgb24uIEdpdmVuIHRoZSBhY3Rpb25zIFVpbWFjcHBFbmdpbmU6 cHJvY2VzcygpIHBlcmZvcm1zIGFuZCBpdHMgY2FzIGJlaW5nIHByb2Nlc3MgcmVnaXN0ZXJlZCBh cyBhIHByb3RlY3RlZCBmaWVsZCByYXRoZXIgdGhhbiBhIGxvY2FsIHZhcmlhYmxlLCBpdCdzIG5v IHdvbmRlciBpdCBjYXVzZXMgdHJvdWJsZS4NCg0KDQoNCkkgY2FuIGltYWdpbmUgVUlNQS1BUyBm b2xsb3dzIGEgcGF0aCB0aGF0J3MgcGVyaGFwcyBzbGlnaHRseSBkaWZmZXJlbnQgKGFuZCBhcHBh cmVudGx5IHNhZmUsIGdpdmVuIHlvdXIgdGVzdCBjYXNlKSwgYnV0IEknbSB3b25kZXJpbmcgd2hh dCB3ZSdyZSBkb2luZyB3cm9uZyB0aGF0IHdlIG5lZWQgdG8gZmlkZGxlIHdpdGggc3luY2hyb25p emVkIGtleXdvcmRzIG9uIHRoZSBmcmFtZXdvcmsgY2xhc3NlcyB0byBlbnN1cmUgd2UgYXZvaWQg dGhlIGNyYXNoLg0KDQpIZXJlJ3Mgb3VyIHRlc3QgcHJvZ3JhbS4gV2hlbiB0aGUgQ0FTIHBvb2wg aXMgc21hbGwgZW5vdWdoIChpLmUuIDUpLCB0aGluZ3Mgd29yayBmaW5lLiBXaGVuIGl0IGlzIGxh cmdlciB0aGFuIHRoZSBudW1iZXIgb2YgZG9jdW1lbnRzIHdlIHdhbnQgdG8gcHJvY2VzcyAoMjMp LCBpdCBhbHNvIHdvcmtzLiBXaGVuIGl0IGlzIHNvbWV3aGVyZSBpbiBiZXR3ZWVuIChpLmUuIDIw KSwgd2UgZ2V0IHRoZSBjcmFzaC4NCg0KDQoNCnBhY2thZ2UgY29tLmludGVyc3lzLnVpbWEudGVz dDsNCg0KDQoNCmltcG9ydCBqYXZhLmlvLkZpbGU7DQoNCmltcG9ydCBqYXZhLm5ldC5VUkw7DQoN CmltcG9ydCBqYXZhLm5ldC5VUkxDbGFzc0xvYWRlcjsNCg0KaW1wb3J0IG9yZy5hcGFjaGUudWlt YS5VSU1BRnJhbWV3b3JrOw0KDQppbXBvcnQgb3JnLmFwYWNoZS51aW1hLmFuYWx5c2lzX2VuZ2lu ZS5BbmFseXNpc0VuZ2luZTsNCg0KaW1wb3J0IG9yZy5hcGFjaGUudWltYS5jYXMuQ0FTOw0KDQpp bXBvcnQgb3JnLmFwYWNoZS51aW1hLnJlc291cmNlLlJlc291cmNlU3BlY2lmaWVyOw0KDQppbXBv cnQgb3JnLmFwYWNoZS51aW1hLnV0aWwuQ2FzQ3JlYXRpb25VdGlsczsNCg0KaW1wb3J0IG9yZy5h cGFjaGUudWltYS51dGlsLkNhc1Bvb2w7DQoNCmltcG9ydCBvcmcuYXBhY2hlLnVpbWEudXRpbC5M ZXZlbDsNCg0KaW1wb3J0IG9yZy5hcGFjaGUudWltYS51dGlsLlhNTElucHV0U291cmNlOw0KDQoN Cg0KLyoqDQoNCioNCg0KKiBAYXV0aG9yIGJkZWJvZQ0KDQoqLw0KDQpwdWJsaWMgY2xhc3MgU3Rh bmRhbG9uZSBpbXBsZW1lbnRzIFJ1bm5hYmxlIHsNCg0KDQoNCiAgICBwcml2YXRlIFN0cmluZyB0 ZXh0Ow0KDQogICAgcHJpdmF0ZSBBbmFseXNpc0VuZ2luZSBhZTsNCg0KICAgIHByaXZhdGUgQ2Fz UG9vbCBwb29sOw0KDQoNCg0KICAgIHB1YmxpYyBTdGFuZGFsb25lKFN0cmluZyB0eHQsIEFuYWx5 c2lzRW5naW5lIGFlLCBDYXNQb29sIHBvb2wpIHsNCg0KICAgICAgICB0aGlzLnRleHQgPSB0eHQ7 DQoNCiAgICAgICAgdGhpcy5hZSA9IGFlOw0KDQogICAgICAgIHRoaXMucG9vbCA9IHBvb2w7DQoN CiAgICB9DQoNCg0KDQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykg dGhyb3dzIEV4Y2VwdGlvbiB7DQoNCg0KDQogICAgICAgIFN0cmluZyBkZXNjUGF0aCA9ICgoYXJn cyAhPSBudWxsKSAmJiAoYXJncy5sZW5ndGggPiAwKSkgPyBhcmdzWzBdIDogIkM6XFxJbnRlclN5 c3RlbXNcXFVJTUFcXGJpblxcRGF2ZURldGVjdG9yLnhtbCI7DQoNCiAgICAgICBpbnQgY2FzUG9v bFNpemUgPSAoKGFyZ3MgIT0gbnVsbCkgJiYgKGFyZ3MubGVuZ3RoID4gMSkpID8gSW50ZWdlci52 YWx1ZU9mKGFyZ3NbMV0pIDogMjA7DQoNCg0KDQogICAgICAgIFhNTElucHV0U291cmNlIGluID0g bmV3IFhNTElucHV0U291cmNlKGRlc2NQYXRoKTsNCg0KICAgICAgICBSZXNvdXJjZVNwZWNpZmll ciBzcGVjaWZpZXINCg0KICAgICAgICAgICAgICAgID0gVUlNQUZyYW1ld29yay5nZXRYTUxQYXJz ZXIoKS5wYXJzZVJlc291cmNlU3BlY2lmaWVyKGluKTsNCg0KICAgICAgICBBbmFseXNpc0VuZ2lu ZSBhZSA9IFVJTUFGcmFtZXdvcmsucHJvZHVjZUFuYWx5c2lzRW5naW5lKHNwZWNpZmllcik7DQoN Cg0KDQogICAgICAgIFN0cmluZ1tdIHRleHQgPSBuZXcgU3RyaW5nWzIzXTsNCg0KICAgICAgICAv LyBwb3B1bGF0aW5nIHRoZSBhcnJheeKApg0KDQogICAgICAgIHRleHRbMjJdID0gIuKApiI7DQoN Cg0KDQogICAgICAgIENhc1Bvb2wgcG9vbCA9IChjYXNQb29sU2l6ZSA+IDApID8gbmV3IENhc1Bv b2woY2FzUG9vbFNpemUsIGFlKSA6IG51bGw7DQoNCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCB0ZXh0Lmxlbmd0aDsgaSsrKSB7DQoNCiAgICAgICAgICAgIFN0YW5kYWxvbmUgdGFzayA9IG5l dyBTdGFuZGFsb25lKHRleHRbaV0sIFVJTUFGcmFtZXdvcmsucHJvZHVjZUFuYWx5c2lzRW5naW5l KHNwZWNpZmllciksIChjYXNQb29sU2l6ZSA+IDApID8gcG9vbCA6IG51bGwpOw0KDQogICAgICAg ICAgICBUaHJlYWQgdCA9IG5ldyBUaHJlYWQodGFzayk7DQoNCiAgICAgICAgICAgIHQuc3RhcnQo KTsNCg0KICAgICAgICB9DQoNCiAgICB9DQoNCg0KDQogICAgQE92ZXJyaWRlDQoNCiAgICBwdWJs aWMgdm9pZCBydW4oKSB7DQoNCg0KDQogICAgICAgIENBUyBjYXMgID0gbnVsbDsNCg0KICAgICAg ICB0cnkgew0KDQogICAgICAgICAgICBpZiAocG9vbCAhPSBudWxsKSB7DQoNCiAgICAgICAgICAg ICAgICBjYXMgPSBwb29sLmdldENhcygpOw0KDQogICAgICAgICAgICB9IGVsc2Ugew0KDQogICAg ICAgICAgICAgICAgY2FzID0gQ2FzQ3JlYXRpb25VdGlscy5jcmVhdGVDYXMoYWUuZ2V0QW5hbHlz aXNFbmdpbmVNZXRhRGF0YSgpKTsNCg0KICAgICAgICAgICAgfQ0KDQoNCg0KICAgICAgICAgICAg Y2FzLnNldERvY3VtZW50VGV4dCh0ZXh0KTsNCg0KICAgICAgICAgICAgYWUucHJvY2VzcyhjYXMp Ow0KDQoNCg0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEb25lIHByb2Nlc3Npbmcg dGV4dCIpOw0KDQoNCg0KICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZSkgew0KDQogICAgICAg ICAgICBlLnByaW50U3RhY2tUcmFjZSgpOw0KDQogICAgICAgIH0gZmluYWxseSB7DQoNCiAgICAg ICAgICAgIGlmIChwb29sICE9IG51bGwpIHBvb2wucmVsZWFzZUNhcyhjYXMpOw0KDQogICAgICAg IH0NCg0KICAgIH0NCg0KfQ0KDQoNCg0KDQoNClByb2JhYmx5IGFsc28gb2Ygbm90ZTogd2Ugc29t ZXRpbWVzIGdldCBhIHNpbXBsZSBleGNlcHRpb24gb24gZGVzdHJveUpOSSgpIChwYXN0ZWQgYmVs b3cpLCByYXRoZXIgdGhhbiB0aGUgb3V0cmlnaHQgdG90YWwgcHJvY2VzcyBjcmFzaCBkZXNjcmli ZWQgZWFybGllci4gV2UgYXNzdW1lIHRoaXMgaXMganVzdCDigJxsdWNr4oCdIGluIHRoYXQgdGhl IGRpZmZlcmVudCB0aHJlYWRzIGFyZSBpbnZva2luZyBhIG5vdC1zby1jcml0aWNhbCBzZWN0aW9u Lg0KDQoNCg0KQXByIDA1LCAyMDE2IDk6MjU6MjUgQU0gb3JnLmFwYWNoZS51aW1hLnVpbWFjcHAu VWltYWNwcEFuYWx5c2lzQ29tcG9uZW50IGxvZ0pUYWZFeGNlcHRpb24NCg0KU0VWRVJFOiBUaGUg Zm9sbG93aW5nIGludGVybmFsIGV4Y2VwdGlvbiB3YXMgY2F1Z2h0OiA1LDAwMiAoVUlNQV9FUlJf RU5HSU5FX1VORVhQRUNURURfRVhDRVBUSU9OKQ0KDQpBcHIgMDUsIDIwMTYgOToyNToyNSBBTSBv cmcuYXBhY2hlLnVpbWEudWltYWNwcC5VaW1hY3BwQW5hbHlzaXNDb21wb25lbnQgbG9nSlRhZkV4 Y2VwdGlvbig0MzEpDQoNClNFVkVSRToNCg0KRXJyb3IgbnVtYmVyICA6IDUwMDINCg0KUmVjb3Zl cmFibGUgICA6IE5vDQoNCkVycm9yICAgICAgICAgOiBVbmV4cGVjdGVkIGVycm9yDQoNCig1MDAy KQ0KDQpvcmcuYXBhY2hlLnVpbWEudWltYWNwcC5JbnRlcm5hbFRhZkV4Y2VwdGlvbjoNCg0KRXJy b3IgbnVtYmVyICA6IDUwMDINCg0KUmVjb3ZlcmFibGUgICA6IE5vDQoNCkVycm9yICAgICAgICAg OiBVbmV4cGVjdGVkIGVycm9yDQoNCig1MDAyKQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUudWlt YS51aW1hY3BwLlVpbWFjcHBFbmdpbmUuZGVzdHJveUpOSShOYXRpdmUgTWV0aG9kKQ0KDQogICAg ICAgIGF0IG9yZy5hcGFjaGUudWltYS51aW1hY3BwLlVpbWFjcHBFbmdpbmUuZGVzdHJveShVaW1h Y3BwRW5naW5lLmphdmE6MzA0KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUudWltYS51aW1hY3Bw LlVpbWFjcHBBbmFseXNpc0NvbXBvbmVudC5kZXN0cm95KFVpbWFjcHBBbmFseXNpc0NvbXBvbmVu dC5qYXZhOjMzOCkNCg0KICAgICAgICBhdCBvcmcuYXBhY2hlLnVpbWEudWltYWNwcC5VaW1hY3Bw QW5hbHlzaXNDb21wb25lbnQuZmluYWxpemUoVWltYWNwcEFuYWx5c2lzQ29tcG9uZW50LmphdmE6 MzU0KQ0KDQogICAgICAgIGF0IGphdmEubGFuZy5TeXN0ZW0kMi5pbnZva2VGaW5hbGl6ZShTeXN0 ZW0uamF2YToxMjcwKQ0KDQogICAgICAgIGF0IGphdmEubGFuZy5yZWYuRmluYWxpemVyLnJ1bkZp bmFsaXplcihGaW5hbGl6ZXIuamF2YTo5OCkNCg0KICAgICAgICBhdCBqYXZhLmxhbmcucmVmLkZp bmFsaXplci5hY2Nlc3MkMTAwKEZpbmFsaXplci5qYXZhOjM0KQ0KDQogICAgICAgIGF0IGphdmEu bGFuZy5yZWYuRmluYWxpemVyJEZpbmFsaXplclRocmVhZC5ydW4oRmluYWxpemVyLmphdmE6MjEw KQ0KDQoNCg0KDQoNCg0KDQpNYW55IHRoYW5rcyBmb3IgeW91ciBmZWVkYmFjaywNCg0KDQoNCmJl bmphbWluDQoNCg0KDQoNCg0KLS0NCg0KQmVuamFtaW4gRGUgQm9lIHwgUHJvZHVjdCBNYW5hZ2Vy DQoNCk06ICszMiA0OTUgMTkgMTkgMjcgfCBUOiArMzIgMiA0NjQgOTcgMzMNCg0KSW50ZXJTeXN0 ZW1zIENvcnBvcmF0aW9uIHwgaHR0cDovL3d3dy5pbnRlcnN5c3RlbXMuY29tDQoNCg0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KDQpGcm9tOiBFZGRpZSBFcHN0ZWluIFttYWlsdG86ZWFl cHN0ZWluQGdtYWlsLmNvbV0NCg0KU2VudDogVHVlc2RheSwgQXByaWwgNSwgMjAxNiAxMjo0NyBB TQ0KDQpUbzogdXNlckB1aW1hLmFwYWNoZS5vcmc8bWFpbHRvOnVzZXJAdWltYS5hcGFjaGUub3Jn Pg0KDQpTdWJqZWN0OiBSZTogVUlNQUNQUCBhbmQgbXVsdGktdGhyZWFkaW5nDQoNCg0KDQpIaSBC ZW5qYW1pbiwNCg0KDQoNClVJTUFDUFAgaXMgdGhyZWFkIHNhZmUsIGFzIGlzIHRoZSBKTkkgaW50 ZXJmYWNlLiBUbyBjb25maXJtLCBJIGp1c3QgY3JlYXRlZCBhIFVJTUEtQVMgc2VydmljZSB3aXRo IDEwIGluc3RhbmNlcyBvZiBEYXZlRGV0ZWN0b3IsIGFuZCBmZWQgdGhlIHNlcnZpY2UNCg0KODAw IENBU2VzIHdpdGggdXAgdG8gMTAgY29uY3VycmVudCBDQVNlcyBhdCBhbnkgdGltZS4NCg0KDQoN Ckl0IGlzIG5vdCB0aGUgY2FzZSB3aXRoIERhdmVEZXRlY3RvciwgYnV0IGF0IGFubm90YXRvciBp bml0aWFsaXphdGlvbiBzb21lIGFuYWx5dGljcyB3aWxsIHN0b3JlIGluZm8gaW4gdGhyZWFkIGxv Y2FsIHN0b3JhZ2UsIGFuZCBleHBlY3QgdGhlIHNhbWUgdGhyZWFkIGJlIHVzZWQgdG8gY2FsbCB0 aGUgYW5ub3RhdG9yIHByb2Nlc3MgbWV0aG9kLiBVSU1BLUFTIGFuZCBEVUNDIGd1YXJhbnRlZSB0 aGF0IGFuIGluc3RhbnRpYXRlZCBBRSBpcyBhbHdheXMgY2FsbGVkIG9uIHRoZSBzYW1lIHRocmVh ZC4NCg0KDQoNCkVkZGllDQoNCg0KDQoNCg0KDQoNCk9uIE1vbiwgQXByIDQsIDIwMTYgYXQgMTA6 NTYgQU0sIEJlbmphbWluIERlIEJvZSA8IEJlbmphbWluLkRlQm9lQGludGVyc3lzdGVtcy5jb208 bWFpbHRvOkJlbmphbWluLkRlQm9lQGludGVyc3lzdGVtcy5jb20+PiB3cm90ZToNCg0KDQoNCj4g SGksDQoNCj4NCg0KPiBXZSdyZSB3b3JraW5nIHdpdGggYSBVSU1BQ1BQIGFubm90YXRvciAod3Jh cHBpbmcgb3VyIGV4aXN0aW5nIE5MUA0KDQo+IGxpYnJhcnkpIGFuZCBhcmUgcnVubmluZyBpbiB3 aGF0IGFwcGVhcnMgdG8gYmUgdGhyZWFkIHNhZmV0eSBpc3N1ZXMsDQoNCj4gd2hpY2ggd2UgY2Fu IHJlcHJvZHVjZSB3aXRoIHRoZSBEYXZlRGV0ZWN0b3IgZGVtbyBBRS4NCg0KPiBXaGVuIHNlcGFy YXRlIHRocmVhZHMgYXJlIGFjY2Vzc2luZyBzZXBhcmF0ZSBpbnN0YW5jZXMgb2YgdGhlDQoNCj4g b3JnLmFwYWNoZS51aW1hLnVpbWFjcHAuVWltYWNwcEFuYWx5c2lzQ29tcG9uZW50IHdyYXBwZXIg Y2xhc3Mgb24gdGhlDQoNCj4gSmF2YSBzaWRlLCBpdCBhcHBlYXJzIHRoZXkgYXJlIGludm9raW5n IHRoZSBzYW1lIG9iamVjdCBvbiB0aGUgQysrDQoNCj4gc2lkZSwgd2hpY2ggcmVzdWx0cyBpbiBx dWl0ZSBhIG1lc3MgKGFjY2VzcyB2aW9sYXRpb25zIGFuZCBwcm9jZXNzDQoNCj4gY3Jhc2hlcykg d2hlbiBkaWZmZXJlbnQgdGhyZWFkcyBjb25jdXJyZW50bHkgaW52b2tlIHJlc2V0Sk5JKCkgYW5k DQoNCj4gZmlsbENBU0pOSSgpIG9uIHRoZSBvcmcuYXBhY2hlLnVpbWEudWltYWNwcC5VaW1hY3Bw QW5hbHlzaXNDb21wb25lbnQNCg0KPiBvYmplY3QuIFdoZW4gdXNpbmcgYSBzbWFsbCBDQVMgcG9v bCBvbiB0aGUgSmF2YSBzaWRlLCB0aGUgcHJvYmxlbSBkb2VzDQoNCj4gbm90IHNlZW0gdG8gb2Nj dXIsIGJ1dCBpdCByZXN1cmZhY2VzIGlmIHRoZSBDQVMgcG9vbCBncm93cyBiaWdnZXIgYW5kDQoN Cj4gbWVtb3J5IHNldHRpbmdzIGFyZSBub3QgaW5jcmVhc2VkIGFjY29yZGluZ2x5LiBIb3dldmVy LCBpZiB0aGlzIHdlcmUgYQ0KDQo+IHB1cmUgbWVtb3J5IGlzc3VlLCB3ZSBoYWQgaG9wZWQgdG8g c2VlIG1vcmUgdGVsbGluZyBlcnJvcnMgYW5kIGp1c3QNCg0KPiBndWVzc2luZyBob3cgYmlnIG1l bW9yeSBzaG91bGQgYmUgZm9yIGxhcmdlciBkZXBsb3ltZW50cyBpc24ndCB2ZXJ5IGFwcGVhbGlu ZyBhbiBvcHRpb24gZWl0aGVyLg0KDQo+IEFkZGluZyB0aGUgc3luY2hyb25pemVkIGtleXdvcmQg dG8gdGhlIHJlbGV2YW50IG1ldGhvZCBvZiB0aGUgd3JhcHBlcg0KDQo+IGNsYXNzIG9uIHRoZSBK YXZhIHNpZGUgYWxzbyBhdm9pZHMgdGhlIGlzc3VlLCBhdCB0aGUgb2J2aW91cyBjb3N0IG9mDQoN Cj4gcGVyZm9ybWFuY2UuIE1vdmluZyB0byBVSU1BLUFTIGlzIG5vdCBhbiBvcHRpb24gZm9yIHVz LCBjdXJyZW50bHkuDQoNCj4NCg0KPiBHaXZlbiB0aGF0IHRoZSBkb2N1bWVudGF0aW9uIGlzIG5v dCBleHBsaWNpdCBhYm91dCBpdCwgd2UncmUgaG9waW5nIHRvDQoNCj4gZ2V0IGFuIHVuYW1iaWd1 b3VzIGFuc3dlciBmcm9tIHRoaXMgbGlzdDogaXMgVUlNQUNQUCBhY3R1YWxseSBzdXBwb3NlZA0K DQo+IHRvIGJlIHRocmVhZC1zYWZlPyBXZSBzYXcgb2xkIGFuZCByZXNvbHZlZCBKSVJBJ3MgdGhh dCBhZGRyZXNzZWQNCg0KPiB0aHJlYWQtc2FmZXR5IGlzc3VlcyBmb3IgVUlNQUNQUCwgc28gd2Ug YXNzdW1lZCBpdCB3YXMgdGhlIGNhc2UsIGJ1dA0KDQo+IHJlYWxpdHkgc2VlbXMgdG8gcG9pbnQg aW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4NCg0KPg0KDQo+DQoNCj4gVGhhbmtzIGluIGFkdmFu Y2UgZm9yIHlvdXIgZmVlZGJhY2ssDQoNCj4NCg0KPiBiZW5qYW1pbg0KDQo+DQoNCj4NCg0KPiAt LQ0KDQo+IEJlbmphbWluIERlIEJvZSB8IFByb2R1Y3QgTWFuYWdlcg0KDQo+IE06ICszMiA0OTUg MTkgMTkgMjcgfCBUOiArMzIgMiA0NjQgOTcgMzMgSW50ZXJTeXN0ZW1zIENvcnBvcmF0aW9uIHwN Cg0KPiBodHRwOi8vd3d3LmludGVyc3lzdGVtcy5jb20NCg0KPg0KDQo+DQo= --_000_13210C94032B324D9236B8D496CE99EA013AB196FEUKEXDS01iscin_--