Return-Path: X-Original-To: apmail-ctakes-dev-archive@www.apache.org Delivered-To: apmail-ctakes-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 33D49184A4 for ; Mon, 29 Jun 2015 14:54:38 +0000 (UTC) Received: (qmail 5784 invoked by uid 500); 29 Jun 2015 14:54:38 -0000 Delivered-To: apmail-ctakes-dev-archive@ctakes.apache.org Received: (qmail 5730 invoked by uid 500); 29 Jun 2015 14:54:38 -0000 Mailing-List: contact dev-help@ctakes.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ctakes.apache.org Delivered-To: mailing list dev@ctakes.apache.org Received: (qmail 5705 invoked by uid 99); 29 Jun 2015 14:54:37 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jun 2015 14:54:37 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 61C76C09C6 for ; Mon, 29 Jun 2015 14:54:37 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.001 X-Spam-Level: X-Spam-Status: No, score=0.001 tagged_above=-999 required=6.31 tests=[URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 2buM_v8dB5QA for ; Mon, 29 Jun 2015 14:54:24 +0000 (UTC) Received: from mailsmtp1.childrenshospital.org (mailsmtp1.childrenshospital.org [134.174.13.91]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTPS id C0A4042AA9 for ; Mon, 29 Jun 2015 14:54:23 +0000 (UTC) Received: from pps.filterd (mailsmtp1.childrenshospital.org [127.0.0.1]) by mailsmtp1.childrenshospital.org (8.15.0.59/8.15.0.59) with SMTP id t5TEot46014140 for ; Mon, 29 Jun 2015 10:54:17 -0400 Received: from smtpndc2.chboston.org (smtpndc2.chboston.org [10.20.50.105]) by mailsmtp1.childrenshospital.org with ESMTP id 1v9v1ugku4-1 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 29 Jun 2015 10:54:16 -0400 Received: from pps.filterd (smtpndc2.chboston.org [127.0.0.1]) by smtpndc2.chboston.org (8.15.0.59/8.15.0.59) with SMTP id t5TEp589006878 for ; Mon, 29 Jun 2015 10:54:15 -0400 Received: from chexhubcasbdc2.chboston.org (chexhubcasbdc2.chboston.org [10.20.18.93]) by smtpndc2.chboston.org with ESMTP id 1v9nsqbt0u-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for ; Mon, 29 Jun 2015 10:54:15 -0400 Received: from CHEXMBX4A.CHBOSTON.ORG ([fe80::39e4:467b:9f1b:f1e4]) by CHEXHUBCASBDC2.CHBOSTON.ORG ([::1]) with mapi id 14.03.0224.002; Mon, 29 Jun 2015 10:54:15 -0400 From: "Finan, Sean" To: "dev@ctakes.apache.org" Subject: RE: The fast dictionary pipeline vs. the regular one Thread-Topic: The fast dictionary pipeline vs. the regular one Thread-Index: AdCr/V7abTGHYLgwS3iAlT2ofSLVRAAVMRiuAC9+uIAAB7ZdAAFOWrKAAANwbxA= Date: Mon, 29 Jun 2015 14:54:14 +0000 Message-ID: <393252F14C42F946952F1ED75D316CAD65C4A733@CHEXMBX4A.CHBOSTON.ORG> References: <798E66FF532D5A44AE06D6D87F64AD94BD7594A3@RAVEN.algotec.co.il> <81C97CE0-5009-433C-A095-C2CA7507D182@wiredinformatics.com> <393252F14C42F946952F1ED75D316CAD65C49FAF@CHEXMBX4A.CHBOSTON.ORG> <798E66FF532D5A44AE06D6D87F64AD94BD75B047@RAVEN.algotec.co.il> In-Reply-To: <798E66FF532D5A44AE06D6D87F64AD94BD75B047@RAVEN.algotec.co.il> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.20.50.129] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2015-06-29_02:,, signatures=0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2015-06-29_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 kscore.is_bulkscore=0 kscore.compositescore=1 compositescore=0.9 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 rbsscore=0.9 spamscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1506180000 definitions=main-1506290238 SGkgT3Jhbml0LA0KDQo+IiBFYWNoIGlzIHRoZSBQcmVmZXJyZWQgVGVybSBpbiBhdCBsZWFzdCBv bmUgb2YgdGhlID4xNTAgc291cmNlcyBpbiB0aGUgTWV0YXRoZXNhdXJ1cy4gTmVpdGhlciBpcyBm cm9tIGEgV0hPIHZvY2FidWxhcnkgc291cmNlLiBUaGUgdGVybXMgYXJlIHJlbGF0ZWQgaW4gdGhh dCBHbGlvYmxhc3RvbWEgaXMgdGhlIEJyb2FkZXIgdGVybSAoUkIpIG9mIHRoZSAyIGFuZCBHbGlv Ymxhc3RvbWEgTXVsdGlmb3JtZSBpcyB0aGUgTmFycm93ZXIgdGVybSAoUk4pLiINCg0KSG1tbSwg SSdtIG5vdCBzdXJlIHdoeSB0aGV5IGFzc2lnbmVkIG5hcnJvd2VyIGFuZCBicm9hZGVyIC4uLiBU aGUgdHdvIGFyZSBmcm9tIGRpZmZlcmVudCBzb3VyY2UgZGljdGlvbmFyaWVzIGFuZCBub3QgcmVs YXRlZCBpbiBzdWNoIGEgbWFubmVyLiAgQWdhaW4sIHRoZSBXSE8gdGVybSBpcyBmcm9tIHRoZSBN ZXNoIGFuZCBOQ0kgc291cmNlcywgd2hpbGUgdGhlIGZ1bGwgR0JNIHNwZWxsLW91dCBpcyBmcm9t IENTUC4gIE5vbmUgYXJlIGZyb20gdGhlIHNvdXJjZSBuYW1lZCBXSE8gKGZvciBhZHZlcnNlIGRy dWdzKS4gIFNlZSBodHRwOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMva25vd2xlZGdl X3NvdXJjZXMvbWV0YXRoZXNhdXJ1cy9yZWxlYXNlL3NvdXJjZV92b2NhYnVsYXJpZXMuaHRtbA0K DQpUaGUgV0hPIGNsYXNzaWZpY2F0aW9uIHNjaGVtZSBkb2VzIG5vdCBoYXZlIGdpb2JsYXN0b21h IG11bHRpZm9ybWUgYXQgYWxsLCBqdXN0IGdpb2JsYXN0b21hLiAgSGVuY2UgdGhlcmUgY2Fubm90 IGJlIGEgaGllcmFyY2hpY2FsIHJlbGF0aW9uc2hpcCBpbiB0aGF0IG9udG9sb2d5LiAgQ2hlY2sg dGhlIHBhcGVyIG9uIHRoZSBsYXRlc3QgV0hPIGNsYXNzaWZpY2F0aW9uIG9mIGJyYWluIHR1bW91 cnM6IGh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wbWMvYXJ0aWNsZXMvUE1DMTkyOTE2NS8g DQpPciBjaGVjayB0aGUgZGVmaW5pdGlvbiBmcm9tIHRoZSBOYXRpb25hbCBCcmFpbiBUdW1vciBT b2NpZXR5J3MgIFR1bW9yIFR5cGVzIHBhZ2U6IGh0dHA6Ly93d3cuYWJ0YS5vcmcvYnJhaW4tdHVt b3ItaW5mb3JtYXRpb24vdHlwZXMtb2YtdHVtb3JzLw0KIiBBc3Ryb2N5dG9tYSBHcmFkZSBJViAo YWxzbyBjYWxsZWQgR2xpb2JsYXN0b21hLCBwcmV2aW91c2x5IG5hbWVkIOKAnEdsaW9ibGFzdG9t YSBNdWx0aWZvcm1lLOKAnSDigJxHcmFkZSBJViBHbGlvYmxhc3RvbWEs4oCdIGFuZCDigJxHQk3i gJ0p4oCUIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgYXN0cm9jeXRvbWEgZ3JhZGUgSVbigJRwcmlt YXJ5LCBvciBkZSBub3ZvLCBhbmQgc2Vjb25kYXJ5LiBQcmltYXJ5IHR1bW9ycyBhcmUgdmVyeSBh Z2dyZXNzaXZlIGFuZCB0aGUgbW9zdCBjb21tb24gZm9ybSBvZiBhc3Ryb2N5dG9tYSBncmFkZSBJ Vi4gVGhlIHNlY29uZGFyeSB0dW1vcnMgYXJlIHRob3NlIHdoaWNoIG9yaWdpbmF0ZSBhcyBhIGxv d2VyLWdyYWRlIHR1bW9yIGFuZCBldm9sdmUgaW50byBhIGdyYWRlIElWIHR1bW9yLiINCg0KS2Vl cCBpbiBtaW5kIHRoYXQgdGhlIHVtbHMgaXMgYSBsaXZpbmcgZG9jdW1lbnQgYW5kIGNvcnJlY3Rp b25zIGFyZSBtYWRlIGFsbCB0aGUgdGltZSAtIGl0IGlzIG5vdCBmbGF3bGVzcyBhbmQgdGhpcyBt aWdodCBiZSBhIGNhc2UgdGhhdCBzaG91bGQgYmUgcmVwb3J0ZWQuDQoNCg0KPiBJbiB0aGUgcmVn dWxhciBwaXBlbGluZSwgdGhlICBjb25jZXB0IGFycmF5IG9mICJnYm0iIGNvbnRhaW5zIHRoZSBD VUkgb2YgIkdsaW9ibGFzdG9tYSIgb25seSwgd2hpbGUgaW4gdGhlIGZhc3QgcGlwZWxpbmUsIHRo ZSBjb25jZXB0IGFycmF5IG9mICJHQk0iIGNvbnRhaW5zIHRoZSBDVUlzIG9mIGJvdGggIkdsaW9i bGFzdG9tYSIgYW5kICJnbGlvYmxhc3RvbWEgTXVsdGlmb3JtZSIuDQoNCkFub3RoZXIgdGhpbmcg dG8ga2VlcCBpbiBtaW5kIGlzIHRoYXQgdGhlIHJlZ3VsYXIgcGlwZWxpbmUgZG9lcyBub3QgYWx3 YXlzIHByb3ZpZGUgdGhlIGJlc3QgZGlzY292ZXJpZXMuICBJbiB0aGlzIGNhc2UsIGlmIGl0IGlz IG5vdCBnaXZpbmcgeW91IGdpb2JsYXN0b21hIG11bHRpZm9ybWUgZm9yIEdCTSB0aGVuIGl0IGlz IHByb3ZpZGluZyBpbmNvbXBsZXRlIGluZm9ybWF0aW9uIC0gYXMgZ2lvYmxhc3RvbWEgbXVsdGlm b3JtZSBpcyBleGFjdGx5IHdoYXQgR0JNIHN0YW5kcyBmb3IgYW5kIHRoYXQgY3VpIHNob3VsZCBi ZSBwcm92aWRlZCB3aGVuIGdibSBpcyBkaXNjb3ZlcmVkLiAgT3RoZXJ3aXNlLCBpZiBhIHJlc2Vh cmNoZXIgKHBvc3NpYmx5IG1vcmUgaW5jbGluZWQgdG8gdXNlIC4uLm11bHRpZm9ybWUgdGhhbiBh IGNsaW5pY2lhbikgaXMgc2VhcmNoaW5nIGZvciB0aGUgLi4ubXVsdGlmb3JtZSBjdWkgdGhlbiB0 aGV5IHdpbGwgbm90IGZpbmQgd2hhdCB0aGV5IGFyZSBsb29raW5nIGZvciBhbmQgbWF5IHRoaW5r IHRoYXQgYSBnYm0gZG9lcyBub3QgZXhpc3QuDQoNCg0KSSBob3BlIHRoYXQgdGhpcyBjbGVhcnMg dGhlIGFpciwNClNlYW4NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogT3Jh bml0IERyb3IgW21haWx0bzpvcmFuaXRAYWxnb3RlYy5jby5pbF0gDQpTZW50OiBNb25kYXksIEp1 bmUgMjksIDIwMTUgNDo0NCBBTQ0KVG86IGRldkBjdGFrZXMuYXBhY2hlLm9yZw0KU3ViamVjdDog UkU6IFRoZSBmYXN0IGRpY3Rpb25hcnkgcGlwZWxpbmUgdnMuIHRoZSByZWd1bGFyIG9uZQ0KDQpI aSwNCg0KDQoNClRoYW5rIHlvdSBhbGwgZm9yIHRoZSBkZXRhaWxlZCByZXBsaWVzLg0KDQoNCg0K UGVyIHRoZSAiR2xpb2JsYXN0b21hIiBhbmQgIiBHbGlvYmxhc3RvbWEgTXVsdGlmb3JtZSIgdGVy bXMsIEkgaGF2ZSBjb250YWN0ZWQgTkxNIHdpdGggbXkgcXVlc3Rpb24gYW5kIHRoZWlyIGFuc3dl ciB3YXMgYXMgZm9sbG93czoNCg0KIiBFYWNoIGlzIHRoZSBQcmVmZXJyZWQgVGVybSBpbiBhdCBs ZWFzdCBvbmUgb2YgdGhlID4xNTAgc291cmNlcyBpbiB0aGUgTWV0YXRoZXNhdXJ1cy4gTmVpdGhl ciBpcyBmcm9tIGEgV0hPIHZvY2FidWxhcnkgc291cmNlLiBUaGUgdGVybXMgYXJlIHJlbGF0ZWQg aW4gdGhhdCBHbGlvYmxhc3RvbWEgaXMgdGhlIEJyb2FkZXIgdGVybSAoUkIpIG9mIHRoZSAyIGFu ZCBHbGlvYmxhc3RvbWEgTXVsdGlmb3JtZSBpcyB0aGUgTmFycm93ZXIgdGVybSAoUk4pLiINCg0K DQoNCkluIHRoZSByZWd1bGFyIHBpcGVsaW5lLCB0aGUgIGNvbmNlcHQgYXJyYXkgb2YgImdibSIg Y29udGFpbnMgdGhlIENVSSBvZiAiR2xpb2JsYXN0b21hIiBvbmx5LCB3aGlsZSBpbiB0aGUgZmFz dCBwaXBlbGluZSwgdGhlIGNvbmNlcHQgYXJyYXkgb2YgIkdCTSIgY29udGFpbnMgdGhlIENVSXMg b2YgYm90aCAiR2xpb2JsYXN0b21hIiBhbmQgImdsaW9ibGFzdG9tYSBNdWx0aWZvcm1lIi4NCg0K DQoNCkJlc3QsDQoNCk9yYW5pdC4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCg0KRnJvbTogRmluYW4sIFNlYW4gW21haWx0bzpTZWFuLkZpbmFu QGNoaWxkcmVucy5oYXJ2YXJkLmVkdV0gDQoNClNlbnQ6IE1vbmRheSwgSnVuZSAyMiwgMjAxNSA1 OjEzIFBNDQoNClRvOiBkZXZAY3Rha2VzLmFwYWNoZS5vcmcNCg0KU3ViamVjdDogUkU6IFRoZSBm YXN0IGRpY3Rpb25hcnkgcGlwZWxpbmUgdnMuIHRoZSByZWd1bGFyIG9uZQ0KDQoNCg0KSGkgYWxs LA0KDQoNCg0KSeKAmW0gZ2xhZCB0aGF0IHRoZXJlIGNvbnRpbnVlcyB0byBiZSBpbnRlcmVzdCBp biB0aGUgZmFzdCBhbHRlcm5hdGl2ZSB0byB0aGUgZGljdGlvbmFyeSBsb29rdXAgYW5kIEkgd2Vs Y29tZSBhbGwgdGVzdGluZy4NCg0KDQoNCkdCTSBhY3R1YWxseSBpcyBHbGlvYmxhc3RvbWEgTXVs dGlmb3JtZSDigJMgaGVuY2UgdGhlIOKAnE3igJ0uICAgVGhlIFdITyBuYW1lIGlzIHRoZSBhYmJy ZXZpYXRlZCDigJxHbGlvYmxhc3RvbWHigJ0sIGJ1dCB0aGV5IGFyZSBhY3R1YWxseSBub3QgKGFz IGZhciBhcyBJIGNhbiBkaXNjZXJuKSBkaWZmZXJlbnQgdGhpbmdzLiAgSWYgeW91IGNoZWNrIHRo ZSBtZXRhdGhlc2F1cnVzIDIwMTFhYiwgR0JNIGJyaW5ncyB1cCBib3RoIEdsaW9ibGFzdG9tYSBD MDAxNzYzNiBhbmQgR2xpb2JsYXN0b21hIE11bHRpZm9ybWUgQzE2MjE5NTguICBUaGUgZmlyc3Qg Y29tZXMgZnJvbSBNZXNoIGFuZCBOQ0ksIHRoZSBzZWNvbmQgZnJvbSBDU1AuICBJZiB5b3UgbG9v ayBhdCB0aGUgZGVmaW5pdGlvbnMgdGhleSBhcmUgc3lub255bW91czog4oCcbWFsaWduYW50IGZv cm0gb2YgYXN0cm9jeXRvbWEgaGlzdG9sb2dpY2FsbHkgY2hhcmFjdGVyaXplZCBieSBwbGVvbW9y cGhpc20gb2YgY2VsbHMsIG51Y2xlYXIgYXR5cGlhLCBtaWNyb2hlbW9ycmhhZ2UgYW5kIG5lY3Jv c2lzOyBtYXkgYXJpc2UgaW4gYW55IHJlZ2lvbiBvZiB0aGUgY2VudHJhbCBuZXJ2b3VzIHN5c3Rl bSwgd2l0aCBhIHByZWRpbGVjdGlvbiBmb3IgdGhlIGNlcmVicmFsIGhlbWlzcGhlcmVzLCBiYXNh bCBnYW5nbGlhLCBhbmQgY29tbWlzc3VyYWwgcGF0aHdheXMu4oCdICBNYXBwaW5nIHRvIGEgZGlm ZmVyZW50IENVSSBpbiB0aGUgVU1MUyBkb2VzIG5vdCBhbHdheXMgbWVhbiB0aGF0IHRoZXkgYXJl IHRydWx5IGRpZmZlcmVudCBjb25jZXB0cy4gIEl0IG9mdGVuIG1lYW5zIHRoYXQgdGhleSBjYW1l IGZyb20gMiBkaWZmZXJlbnQgc291cmNlIGRpY3Rpb25hcmllcyAoc3VjaCBhcyBpbiB0aGlzIGNh c2UpLiAgQWxzbyBjaGVjayBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJs P3U9aHR0cHMtM0FfX2VuLndpa2lwZWRpYS5vcmdfd2lraV9HbGlvYmxhc3RvbWEtNUZtdWx0aWZv cm1lJmQ9QlFJR2FRJmM9cVM0Z29XQlQ3cG9wbE02OXp5XzN4aEt3RVcxNEpaTVNkaW9Db3BweGVG VSZyPWZzNjdHdmxHWnN0VHB5SWlzQ1lOWW1RQ1A2cjBiY3BLR2Q0ZjdkNGdUYW8mbT1uVzVOcFM3 ckpmMEpfVTI3SEZiR011MjdkSEhMbTZmaERLZkhzMXEyVkFRJnM9aUVNQndoeXpWdG1Mb1d1TnJF bS15Zm0wb2R0aWh6WHpVeXJmQnE1M0I5USZlPSAgIEJ1dCBJIGFtIGEgbGl0dGxlIGNvbmZ1c2Vk OiBhcmUgeW91IHNheWluZyB0aGF0IHlvdSBnb3Qgb25seSBHbGlvYmxhc3RvbWEgTXVsdGlmb3Jt ZSBDMTYyMTk1OCBhbmQgbm90IEdsaW9ibGFzdG9tYSBDMDAxNzYzNiA/ICBXaGVuIEkgcnVuIGl0 IEkgZ2V0IGJvdGggcmV0dXJucyDigKYNCg0KDQoNCkJyaXR0IGlzIGNvcnJlY3QgKHRoYW5rIHlv dSkgaW4gdGhhdCBpZiB5b3UgY2hhbmdlIHRoZSBkZWZhdWx0IG1pbmltdW0gc3BhbiBmcm9tIDMg dG8gMiB5b3Ugd2lsbCBnZXQgQ3V0YW5lb3VzIE1hc3RvY3l0b3NpcyBDMTEzNjAzMyB3aXRoaW4g 4oCcNS41IGNt4oCdLiAgVGhlIG1pbmltdW0gc3BhbiBpcyAzIChub3QgMikgdG8gcHJldmVudCB0 aGluZ3MgbGlrZSB0aGUgb2J2aW91c2x5IGdhcmJhZ2UgcmV0dXJuIG9mIEN1dGFuZW91cyBNYXN0 b2N5dG9zaXMgZm9yIGV2ZXJ5IOKAnGNt4oCdLiAgSG93ZXZlciwgZmVlbCBmcmVlIHRvIGNoYW5n ZSBpdCB0byBmaXQgeW91ciBwdXJwb3Nlcy4gIDIgY2hhcmFjdGVycyBpcyB0aGUgbWluaW11bSDi gJMgeW91IGNhbm5vdCBsb29rdXAgMSBjaGFyYWN0ZXIgdGVybXMgd2l0aCB0aGUgZGVmYXVsdCBk aWN0aW9uYXJ5LiAgWW91IGNhbiBkbyBzbyB3aXRoIGEgY3VzdG9tIGRpY3Rpb25hcnkgaWYgeW91 IGxpa2Ug4oCTIHdoaWNoIG1pZ2h0IGJlIHVzZWZ1bCBpZiB5b3UganVzdCBoYXZlIDEgb3IgMiBz aW5nbGUtY2hhcmFjdGVyIHRlcm1zLg0KDQoNCg0KU2Vhbg0KDQoNCg0KRnJvbTogYnJpdHQgZml0 Y2ggW21haWx0bzpicml0dC5maXRjaEB3aXJlZGluZm9ybWF0aWNzLmNvbV0NCg0KU2VudDogTW9u ZGF5LCBKdW5lIDIyLCAyMDE1IDk6MjQgQU0NCg0KVG86IGRldkBjdGFrZXMuYXBhY2hlLm9yZw0K DQpTdWJqZWN0OiBSZTogVGhlIGZhc3QgZGljdGlvbmFyeSBwaXBlbGluZSB2cy4gdGhlIHJlZ3Vs YXIgb25lDQoNCg0KDQpSZWdhcmRpbmcgdGhlIG1pc3Mgb24g4oCcY23igJ0gaW4gIzIsIHlvdSBt aWdodCB3YW50IHRvIGNoZWNrIG91dCB0aGUgZGljdGlvbmFyeSB4bWwgZGVzY3JpcHRvciBvciB1 aW1hZml0IHdpcmluZywgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSBhcmUgdXNpbmcsIGZvciB0aGUg cGFyYW1ldGVyIOKAnG1pbmltdW1TcGFu4oCdLiBJZiBJIHJlY2FsbCBjb3JyZWN0bHkgdGhlIGRl ZmF1bHQgbWluaW11bSBzcGFuIGlzIDMgY2hhcmFjdGVycywgaG93ZXZlciB5b3UgY2FuIHJlZHVj ZSBpdCB0byAyIGlmIGRlc2lyZWQuDQoNCg0KDQpDaGVlcnMsDQoNCg0KDQpCcml0dA0KDQoNCg0K DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCcml0dCBGaXRjaA0KDQpXaXJlZCBJbmZv cm1hdGljcw0KDQoyNjUgRnJhbmtsaW4gU3QgU3RlIDE3MDINCg0KQm9zdG9uLCBNQSAwMjExMA0K DQpodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fd2ly ZWRpbmZvcm1hdGljcy5jb20mZD1CUUlHYVEmYz1xUzRnb1dCVDdwb3BsTTY5enlfM3hoS3dFVzE0 SlpNU2Rpb0NvcHB4ZUZVJnI9ZnM2N0d2bEdac3RUcHlJaXNDWU5ZbVFDUDZyMGJjcEtHZDRmN2Q0 Z1RhbyZtPW5XNU5wUzdySmYwSl9VMjdIRmJHTXUyN2RISExtNmZoREtmSHMxcTJWQVEmcz00dDY1 NWVHN181blh2YlF4ZWFndUx5VkEyYUxqcTdRblF0cmJvQVBILVB3JmU9IA0KDQpCcml0dC5GaXRj aEB3aXJlZGluZm9ybWF0aWNzLmNvbTxtYWlsdG86QnJpdHQuRml0Y2hAd2lyZWRpbmZvcm1hdGlj cy5jb20+DQoNCg0KDQpPbiBKdW4gMjEsIDIwMTUsIGF0IDI6NDUgUE0sIE1pbGxlciwgVGltb3Ro eSA8VGltb3RoeS5NaWxsZXJAY2hpbGRyZW5zLmhhcnZhcmQuZWR1PG1haWx0bzpUaW1vdGh5Lk1p bGxlckBjaGlsZHJlbnMuaGFydmFyZC5lZHU+PiB3cm90ZToNCg0KDQoNClNlYW4gd3JvdGUgdGhl IGZhc3QgdmVyc2lvbiBhbmQgbWF5IGJlIGFibGUgdG8gYW5zd2VyIHlvdXIgc3BlY2lmaWMgcXVl c3Rpb25zLiBCdXQgaW4gZ2VuZXJhbCwgdGhlIGZhc3QgZGljdGlvbmFyeSBkb2VzIG5vdCBtYXRj aCBwZXJmb3JtYW5jZSBleGFjdGx5IC0tIGl0IGlzIG5vdCBpbXBsZW1lbnRpbmcgYW4gZXF1aXZh bGVudCBzZWFyY2ggYW5kIGl0IGhhcyBkaWZmZXJlbnQgaW5kZXhpbmcgbWV0aG9kcy4gV2UgYXJl IGhhcHB5IHRvIHJlY2VpdmUgcmVwb3J0cyBvZiB3aGF0IHNlZW0gbGlrZSBidWdzLCB0aG91Z2gs IGFueSBuZXcgc29mdHdhcmUgaXMgbGlrZWx5IHRvIGhhdmUgc29tZS4gV2hhdCBJIHdpbGwgc2F5 IGlzIHRoYXQgSSBrbm93IFNlYW4gaGFzIHJ1biBzb21lIChhcyB5ZXQgdW5wdWJsaXNoZWQpIGV4 cGVyaW1lbnRzIGFuZCB3ZSBiZWxpZXZlIHRoYXQgaW4gdGhlIGFnZ3JlZ2F0ZSB0aGUgbmV3IHN5 c3RlbSBvdXRwdXQgaXMgYXQgbGVhc3QgYXMgaGlnaCBxdWFsaXR5IGFzIHRoZSBvbGRlciBvbmUu DQoNClRpbQ0KDQoNCg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCg0KRnJvbTogT3Jhbml0IERyb3IgW29yYW5pdEBhbGdvdGVjLmNvLmlsPG1haWx0bzpvcmFu aXRAYWxnb3RlYy5jby5pbD5dDQoNClNlbnQ6IFN1bmRheSwgSnVuZSAyMSwgMjAxNSA0OjM3IEFN DQoNClRvOiBkZXZAY3Rha2VzLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBjdGFrZXMuYXBhY2hlLm9y Zz4NCg0KU3ViamVjdDogVGhlIGZhc3QgZGljdGlvbmFyeSBwaXBlbGluZSB2cy4gdGhlIHJlZ3Vs YXIgb25lDQoNCg0KDQpIZWxsbywNCg0KDQoNCkkgYW0gdXNpbmcgY3Rha2VzIDMuMi4yIHdpdGgg dGhlIHJlZ3VsYXIgcGlwZWxpbmUuIFJlY2VudGx5LCBJIGhhdmUgdGVzdGVkIHRoZSBmYXN0IGRp Y3Rpb25hcnkgcGlwZWxpbmUgYW5kIGluZGVlZCBpdCBpcyBtdWNoIGZhc3Rlci4NCg0KSG93ZXZl ciwgSSBoYXZlIGVuY291bnRlcmVkIHdpdGggc2V2ZXJhbCBxdWFsaXR5IGRpZmZlcmVuY2VzIGlu IHRoZSByZXR1cm5lZCBhbm5vdGF0aW9ucy4gRm9yIGV4YW1wbGU6DQoNCg0KDQoNCg0KMS4gICAg ICAgV2l0aCB0aGUgZmFzdCBwaXBlbGluZSwgdGhlIHRlcm0gIkdCTSIgaXMgYW5ub3RhdGVkIGFz ICJnbGlvYmxhc3RvbWEgbXVsdGlmb3JtZSIsIHdoaWxlIGluIHRoZSByZWd1bGFyIHBpcGVsaW5l IGl0IGlzIGFubm90YXRlZCBhcyAiZ2xpb2JsYXN0b21hIi4NCg0KTm90ZSB0aGF0IGFjY29yZGlu ZyB0byB0aGUgVU1MUyBEQiwgdGhlIGNvbmNlcHQgb2YgIkdCTSIgaXMgImdsaW9ibGFzdG9tYSIg YW5kICJnbGlvYmxhc3RvbWEgbXVsdGlmb3JtZSIgaXMgbWFwcGVkIHRvIGEgbmFycm93ZXIgY29u Y2VwdC4NCg0KDQoNCg0KDQoyLiAgICAgICBUaGUgd29yZCAiY20iIGluIGEgcGhyYXNlIGxpa2Ug IjUuNSBjbSBYIDIuNiBjbSIgaXMgYW5ub3RhdGVkIGJ5IHRoZSByZWd1bGFyIHBpcGVsaW5lIGFz ICJDdXRhbmVvdXMgTWFzdG9jeXRvc2lzIiwgd2hpbGUgaW4gdGhlIGZhc3QgcGlwZWxpbmUgaXQg aXMgIG5vdCBhbm5vdGF0ZWQgYXMgYSBtZWRpY2FsIHRlcm0gKGFzIGV4cGVjdGVkIGFuZCBhcyBp biBVTUxTKS4NCg0KDQoNCg0KDQpBbnkgZXhwbGFuYXRpb24gZm9yIHRoZSBkaWZmZXJlbmNlcz8N Cg0KDQoNClRoYW5rIHlvdSwNCg0KT3Jhbml0Lg0KDQoNCg0KDQoNCg0KDQo=