Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 74490 invoked from network); 8 Nov 2005 07:06:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Nov 2005 07:06:47 -0000 Received: (qmail 36020 invoked by uid 500); 8 Nov 2005 07:06:41 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 35993 invoked by uid 500); 8 Nov 2005 07:06:40 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 35979 invoked by uid 99); 8 Nov 2005 07:06:40 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Nov 2005 23:06:40 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of appler@gmail.com designates 64.233.162.197 as permitted sender) Received: from [64.233.162.197] (HELO zproxy.gmail.com) (64.233.162.197) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Nov 2005 23:06:33 -0800 Received: by zproxy.gmail.com with SMTP id z3so470394nzf for ; Mon, 07 Nov 2005 23:06:18 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=eWSx92u5vTGetKHQEhOVhl5o7EEynE9TTphei1egFEIwYfRdUmD5lWb6YKJGg7S9rYnGCcckTNUVGn4KTo/Sv0kxKBlqvLspmz2STrcK8nrA3C+yyMJHi48wMeFhRnebglbVYYPdqdzF41/3KVhWr83SPQHb1w0zqyLN8v2DGI4= Received: by 10.65.193.17 with SMTP id v17mr6196886qbp; Mon, 07 Nov 2005 23:06:18 -0800 (PST) Received: by 10.64.195.4 with HTTP; Mon, 7 Nov 2005 23:06:18 -0800 (PST) Message-ID: <48b708490511072306i35df1111qb5d3ee22fc1e8dca@mail.gmail.com> Date: Tue, 8 Nov 2005 16:06:18 +0900 From: Cheolgoo Kang To: java-user@lucene.apache.org, Youngho Cho Subject: Re: korean and lucene In-Reply-To: <001401c5dab0$dd942520$0201a8c0@local> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline References: <000501c5daa6$80abdba0$0201a8c0@local> <000801c5daa9$33403020$0201a8c0@local> <001401c5dab0$dd942520$0201a8c0@local> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N SGVsbG8sCgpJJ3ZlIGNyZWF0ZWQgYSBuZXcgSklSQSBpc3N1ZSB3aXRoIEtvcmVhbiBhbmFseXNp cyB0aGF0ClN0YW5kYXJkQW5hbHl6ZXIgc3BsaXRzIG9uZSB3b3JkIGludG8gc2V2ZXJhbCB0b2tl bnMgZWFjaCB3aXRoIG9uZQpjaGFyYWN0ZXIuIENhdXNlIEtvcmVhbiBpcyBub3QgYSBwaG9ub2dy YW0sIG9uZSBjaGFyYWN0ZXIgaW4gS29yZWFuCmhhcyBhbG1vc3Qgbm8gbWVhbmluZyBhdCBhbGwu IFNvIHdvcmQgaW4gS29yZWFuIHNob3VsZCBiZSBwcmVzZXJ2ZWQKbm90IGxpa2UgQ2hpbmVzZSBv ciBKYXBhbmVzZS4KCkkndmUgYXR0YWNoZWQgYSBwYXRjaCB0byBTdGFuZGFyZFRva2VuaXplciB0 byBkbyB0aGlzIGFuZCBwYXNzZWQgdGhlCnRlc3QgY2FzZSBUZXN0U3RhbmRhcmRBbmFseXplcihh bHNvIHBhdGNoZWQgdG8gdGVzdCBLb3JlYW4gd29yZHMpLgoKVGhhbmtzIQoKT24gMTAvMjcvMDUs IFlvdW5naG8gQ2hvIDx5b3VuZ2hvQG5hbm5ldC5jby5rcj4gd3JvdGU6Cj4gSGVsbG8sCj4KPiBP ayAsIEkndmUgYXR0YWNoZWQgbXkgdGVzdCBjb2RlIGZvciBLb3JlYW4gd2hpY2ggaXMgc2xpdGVs eSBtb2RpZmllZCBLb2ppJ3MgY29kZS4KPgo+IEp1c3QgcHV0IGludG8gdGhlIGxpYS5hbmFseXNp cy5pMThuIHBhY2thZ2UgYXQgTHVjZW5lSW5BY3Rpb24KPiBhbmQgcnVuIGFudC4KPgo+IEhvcGVs eSBzb21lb25lIGlzIGhlbHBlZC4KPgo+IC0tLS0tLS0tIGJ1aWxkLnhtbCAgLS0tLS0tLS0tCj4K PiAgIDx0YXJnZXQgbmFtZT0iSmFwYW5lc2VEZW1vIiBkZXBlbmRzPSJwcmVwYXJlIgo+ICAgICAg ICAgICBkZXNjcmlwdGlvbj0iRXhhbXBsZXMgb2YgSmFuYW5lc2UgYW5hbHlzaXMiPgo+ICAgICA8 aW5mbz4KPgo+ICAgICAgIEphcGFuZXNlIFRlc3QuLi4KPgo+ICAgICA8L2luZm8+Cj4KPiAgICAg PHJ1bi1tYWluIGNsYXNzPSJsaWEuYW5hbHlzaXMuaTE4bi5KYXBhbmVzZURlbW8iLz4KPiAgIDwv dGFyZ2V0Pgo+Cj4gICA8dGFyZ2V0IG5hbWU9IktvcmVhbkRlbW8iIGRlcGVuZHM9InByZXBhcmUi Cj4gICAgICAgICAgIGRlc2NyaXB0aW9uPSJFeGFtcGxlcyBvZiBLb3JlYW4gYW5hbHlzaXMiPgo+ ICAgICA8aW5mbz4KPgo+ICAgICAgIEtvcmVhbiBUZXN0Li4uCj4KPiAgICAgPC9pbmZvPgo+Cj4g ICAgIDxydW4tbWFpbiBjbGFzcz0ibGlhLmFuYWx5c2lzLmkxOG4uS29yZWFuRGVtbyIvPgo+ICAg PC90YXJnZXQ+Cj4KPgo+IFRoYW5rcywKPgo+IFlvdW5naG8KPgo+Cj4gLS0tLS0gT3JpZ2luYWwg TWVzc2FnZSAtLS0tLQo+IEZyb206ICJZb3VuZ2hvIENobyIgPHlvdW5naG9AbmFubmV0LmNvLmty Pgo+IFRvOiA8amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnPjsgIllvdW5naG8gQ2hvIiA8eW91 bmdob0BuYW5uZXQuY28ua3I+Cj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjcsIDIwMDUgMTI6 NDcgUE0KPiBTdWJqZWN0OiBSZToga29yZWFuIGFuZCBsdWNlbmUKPgo+Cj4gPiBIZWxsbyBhbGwK PiA+IFBsZXNlIGZvcmdpdmUgbWUgcGVydmlvdXMgbXkgc3R1cGlkIG1lc3NhZ2UKPiA+Cj4gPiAg ICAgIFtlY2hvXSBSdW5uaW5nIGxpYS5hbmFseXNpcy5pMThuLktvcmVhbkRlbW8uLi4KPiA+ICAg ICAgW2phdmFdIFvqsr1dIFvquLBdICBhbmFseXplciA9IG9yZy5hcGFjaGUubHVjZW5lLmFuYWx5 c2lzLnN0YW5kYXJkLlN0YW5kYXJkQW5hbHl6ZXIKPiA+ICAgICAgW2phdmFdIHBocmFzZSA9IOqy veq4sAo+ID4gICAgICBbamF2YV0gcXVlcnkgPSAi6rK9IOq4sCIKPiA+Cj4gPiBJIGdvdCB0aGUg Z29vZCByZXN1bHQuCj4gPgo+ID4gV2hlbiBJIGNvbXBpbGUgSSBqdXN0IHJlbmFtZSBvbGQgdmVy c2lvbiBsdWNlbmUtMS40LjMuamFyIHRvIGx1Y2VuZS0xLjQuMy5qYXJfYmFrCj4gPiBhbmQgYWxs IG5ldyAxLjkgbHVjZW5lLiBhbmQgYnVpbGQgdGhlIHRlc3QgcGFja2FnZS4KPiA+IEFmdGVyIEkg cmVtb3ZlIGx1Y2VuZS0xLjQuMy5qYXJfYmFrIGluIGxpYiBkaXJlY3RvcnkgY29tcGxldGVseQo+ ID4gSSBnb3QgdGhlIGV4cGVjdGVkIHJlc3VsdCAhISEuCj4gPgo+ID4gSSBkb24ndCBrbm93IHRo ZSByZWFzb24uLi4gKCBsb29rcyBsaWtlIG15IGZpbmdlciBtYWtlIHNvbWUgdHJvdWJsZS4uLiAp Cj4gPgo+ID4gQW55d2F5IHRoYW5rcyBLb2ppIGFuZCBDaGVvbGdvbwo+ID4gSSB3aWxsIGZ1cnRo ZXIgdGVzdCBub3cuLi4KPiA+Cj4gPiBZb3VuZ2hvCj4gPgo+ID4KPiA+Cj4gPgo+ID4gLS0tLS0g T3JpZ2luYWwgTWVzc2FnZSAtLS0tLQo+ID4gRnJvbTogIllvdW5naG8gQ2hvIiA8eW91bmdob0Bu YW5uZXQuY28ua3I+Cj4gPiBUbzogPGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZz4KPiA+IFNl bnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDA1IDEyOjI4IFBNCj4gPiBTdWJqZWN0OiBSZTog a29yZWFuIGFuZCBsdWNlbmUKPiA+Cj4gPgo+ID4gPiBIZWxsbyBLb2ppCj4gPiA+Cj4gPiA+IEhl cmUgaXMgdGVzdCByZXN1bHQuCj4gPiA+IEphcGFuZXNlIGlzIE9LICEuCj4gPiA+IG1heWJlIGFu dCBjbGVhbiAgZGlkIHNvbWUgZWZmZWN0Lgo+ID4gPgo+ID4gPiBBbnl3YXkgcGxlYXNlIHJlZmVy IHRvIHRoZSByZXN1bHQgdXNpbmcgMS45Cj4gPiA+Cj4gPiA+ICAgICAgW2VjaG9dIFJ1bm5pbmcg bGlhLmFuYWx5c2lzLmkxOG4uSmFwYW5lc2VEZW1vLi4uCj4gPiA+ICAgICAgW2phdmFdIFvjg6ld IFvjg6FdIFvjg7NdIFvlsYtdICBhbmFseXplciA9IG9yZy5hcGFjaGUubHVjZW5lLmFuYWx5c2lz LnN0YW5kYXJkLlN0YW5kYXJkQW5hbHl6ZXIKPiA+ID4gICAgICBbamF2YV0gcGhyYXNlID0g44Op P+ODoeODs+Wxiwo+ID4gPiAgICAgIFtqYXZhXSBxdWVyeSA9IGNvbnRlbnQ644OpP+ODoeODs+Wx iwo+ID4gPgo+ID4gPiAgICAgW2VjaG9dIFJ1bm5pbmcgbGlhLmFuYWx5c2lzLmkxOG4uS29yZWFu RGVtby4uLgo+ID4gPiAgICAgIFtqYXZhXSAgYW5hbHl6ZXIgPSBvcmcuYXBhY2hlLmx1Y2VuZS5h bmFseXNpcy5zdGFuZGFyZC5TdGFuZGFyZEFuYWx5emVyCj4gPiA+ICAgICAgW2phdmFdIHBocmFz ZSA9IOqyvQo+ID4gPiAgICAgIFtqYXZhXSBxdWVyeSA9Cj4gPiA+Cj4gPiA+ICAgICAgW2VjaG9d IFJ1bm5pbmcgbGlhLmFuYWx5c2lzLmkxOG4uSmFwYW5lc2VEZW1vLi4uCj4gPiA+ICAgICAgW2ph dmFdIFvjg6ldIFvjg6Hjg7NdIFvjg7PlsYtdICBhbmFseXplciA9IG9yZy5hcGFjaGUubHVjZW5l LmFuYWx5c2lzLmNqay5DSktBbmFseXplcgo+ID4gPiAgICAgIFtqYXZhXSBwaHJhc2UgPSDjg6k/ 44Oh44Oz5bGLCj4gPiA+ICAgICAgW2phdmFdIHF1ZXJ5ID0gY29udGVudDrjg6k/44Oh44Oz5bGL Cj4gPiA+Cj4gPiA+ICAgICBbZWNob10gUnVubmluZyBsaWEuYW5hbHlzaXMuaTE4bi5Lb3JlYW5E ZW1vLi4uCj4gPiA+ICAgICAgW2phdmFdIFvqsr1dICBhbmFseXplciA9IG9yZy5hcGFjaGUubHVj ZW5lLmFuYWx5c2lzLmNqay5DSktBbmFseXplcgo+ID4gPiAgICAgIFtqYXZhXSBwaHJhc2UgPSDq sr0KPiA+ID4gICAgICBbamF2YV0gcXVlcnkgPSDqsr0KPiA+ID4KPiA+ID4gICAgICBbZWNob10g UnVubmluZyBsaWEuYW5hbHlzaXMuaTE4bi5Lb3JlYW5EZW1vLi4uCj4gPiA+ICAgICAgW2phdmFd ICBhbmFseXplciA9IG9yZy5hcGFjaGUubHVjZW5lLmFuYWx5c2lzLnN0YW5kYXJkLlN0YW5kYXJk QW5hbHl6ZXIKPiA+ID4gICAgICBbamF2YV0gcGhyYXNlID0g6rK96riwCj4gPiA+ICAgICAgW2ph dmFdIHF1ZXJ5ID0KPiA+ID4KPiA+ID4gICAgICBbZWNob10gUnVubmluZyBsaWEuYW5hbHlzaXMu aTE4bi5Lb3JlYW5EZW1vLi4uCj4gPiA+ICAgICAgW2phdmFdIFvqsr3quLBdICBhbmFseXplciA9 IG9yZy5hcGFjaGUubHVjZW5lLmFuYWx5c2lzLmNqay5DSktBbmFseXplcgo+ID4gPiAgICAgIFtq YXZhXSBwaHJhc2UgPSDqsr3quLAKPiA+ID4gICAgICBbamF2YV0gcXVlcnkgPSDqsr3quLAKPiA+ ID4KPiA+ID4KPiA+ID4gU3RhbmRhcmQgYW5hbHl6ZXIgZGlkbid0IHRva2VuaXplZCB0aGUgS29y ZWFuIENoYXJhY3RlciBhdCBhbGwuLi4uCj4gPiA+Cj4gPiA+IFVnLi4uLiAgbG9vayBsaWtlCj4g PiA+ICBodHRwOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTFVDRU5FLTQ0NAo+ID4g PiAgZGlkbid0IGVmZmVjdCBhdCBhbGwgZm9yIEtvcmVhbi4KPiA+ID4KPiA+ID4KPiA+ID4gVGhh bmtzCj4gPiA+Cj4gPiA+IFlvdW5naG8KPiA+ID4KPiA+ID4gLS0tLS0gT3JpZ2luYWwgTWVzc2Fn ZSAtLS0tLQo+ID4gPiBGcm9tOiAiS29qaSBTZWtpZ3VjaGkiIDxrb2ppLnNla2lndWNoaUBtNC5k aW9uLm5lLmpwPgo+ID4gPiBUbzogPGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZz47ICJZb3Vu Z2hvIENobyIgPHlvdW5naG9AbmFubmV0LmNvLmtyPgo+ID4gPiBTZW50OiBUaHVyc2RheSwgT2N0 b2JlciAyNywgMjAwNSAxMTo0NyBBTQo+ID4gPiBTdWJqZWN0OiBSRToga29yZWFuIGFuZCBsdWNl bmUKPiA+ID4KPiA+ID4KPiA+ID4gPiBIZWxsbyBZb3VuZ2hvLAo+ID4gPiA+Cj4gPiA+ID4gSSBk b24ndCB1bmRlcnN0YW5kIHdoeSB5b3UgY291bGRuJ3QgZ2V0IGhpdHMgcmVzdWx0IGluIEphcGFu ZXNlLAo+ID4gPiA+IHRob3VnaCwgeW91IGhhZCBiZXR0ZXIgY2hlY2sgd2h5IHRoZSBxdWVyeSB3 YXMgZW1wdHkgd2l0aCBLb3JlYW4gZGF0YToKPiA+ID4gPgo+ID4gPiA+ID4gRm9yIEtvcmVhbgo+ ID4gPiA+ID4gICAgICBbZWNob10gUnVubmluZyBsaWEuYW5hbHlzaXMuaTE4bi5Lb3JlYW5EZW1v Li4uCj4gPiA+ID4gPiAgICAgIFtqYXZhXSBwaHJhc2UgPSDqsr0KPiA+ID4gPiA+ICAgICAgW2ph dmFdIHF1ZXJ5ID0KPiA+ID4gPgo+ID4gPiA+IFRoZSBsYXN0IGxpbmUgc2hvdWxkIGJlIHF1ZXJ5 ID0g6rK9Cj4gPiA+ID4gdG8gZ2V0IGhpdHMgcmVzdWx0LiBDYW4geW91IGNoZWNrIHdoeSBTdGFu ZGFyZEFuYWx5emVyCj4gPiA+ID4gcmVtb3ZlcyAi6rK9IiBkdXJpbmcgdG9rZW5pemluZz8KPiA+ ID4gPgo+ID4gPiA+IEtvamkKPiA+ID4gPgo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0KPiA+ID4gPiA+IEZyb206IFlvdW5naG8gQ2hvIFttYWlsdG86eW91bmdob0BuYW5uZXQu Y28ua3JdCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywgMjAwNSAxMTozNyBB TQo+ID4gPiA+ID4gVG86IGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZwo+ID4gPiA+ID4gU3Vi amVjdDogUmU6IGtvcmVhbiBhbmQgbHVjZW5lCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+ IEhlbGxvIEtvamksCj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhhbmtzIGZvciB5b3VyIGtpbmQgcmVw bHkuCj4gPiA+ID4gPgo+ID4gPiA+ID4gWWVzLCBJIHVzZWQgUXVlcnlQYXJzZXIuIG5vcm1hbHkg SSB1c2VkCj4gPiA+ID4gPiBRdWVyeSA9IFF1ZXJ5UGFyc2VyLnBhcnNlKCApIG1ldGhvZC4KPiA+ ID4gPiA+Cj4gPiA+ID4gPiBJIHB1dCB5b3VyIHNhbXBsZSBjb2RlIGludG8gbGlhLmFuYWx5c2lz LmkxOG4gcGFja2FnZSBpbiBMdWNlbmVBY3Rpb24KPiA+ID4gPiA+IGFuZCBydW4gSmFwYW5lc2VE ZW1vIHVzaW5nIDEuNCBhbmQgMS45Cj4gPiA+ID4gPgo+ID4gPiA+ID4gcmVzdWx0cyBhcmUKPiA+ ID4gPiA+Cj4gPiA+ID4gPiAgICAgIFtlY2hvXSBSdW5uaW5nIGxpYS5hbmFseXNpcy5pMThuLkph cGFuZXNlRGVtby4uLgo+ID4gPiA+ID4gICAgICBbamF2YV0gcXVlcnkgPSBjb250ZW50OuODqT/j g6Hjg7PlsYsKPiA+ID4gPiA+Cj4gPiA+ID4gPiBJIGNhbid0IGdldCBoaXRzIHJlc3VsdC4KPiA+ ID4gPiA+Cj4gPiA+ID4gPiBGb3IgS29yZWFuCj4gPiA+ID4gPiAgICAgIFtlY2hvXSBSdW5uaW5n IGxpYS5hbmFseXNpcy5pMThuLktvcmVhbkRlbW8uLi4KPiA+ID4gPiA+ICAgICAgW2phdmFdIHBo cmFzZSA9IOqyvQo+ID4gPiA+ID4gICAgICBbamF2YV0gcXVlcnkgPQo+ID4gPiA+ID4KPiA+ID4g PiA+IEkgY2FuJ3QgZ2V0IHF1ZXJ5IHBhcnNlIHJlc3VsdC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBU aGFua3MsCj4gPiA+ID4gPgo+ID4gPiA+ID4gWW91bmdobwo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4g PiA+ID4gPgo+ID4gPiA+ID4gLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQo+ID4gPiA+ID4g RnJvbTogIktvamkgU2VraWd1Y2hpIiA8a29qaS5zZWtpZ3VjaGlAbTQuZGlvbi5uZS5qcD4KPiA+ ID4gPiA+IFRvOiA8amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnPjsgIllvdW5naG8gQ2hvIiA8 eW91bmdob0BuYW5uZXQuY28ua3I+Cj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAy NywgMjAwNSA5OjQ4IEFNCj4gPiA+ID4gPiBTdWJqZWN0OiBSRToga29yZWFuIGFuZCBsdWNlbmUK PiA+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gPiBIaSBZb3VuZ2hvLAo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiBXaXRoIHJlZ2FyZCB0byBKYXBhbmVzZSwgdXNpbmcgU3RhbmRhcmRBbmFseXpl ciwKPiA+ID4gPiA+ID4gSSBjYW4gc2VhcmNoIGEgd29yZC9waGFzZS4KPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gRGlkIHlvdSB1c2UgUXVlcnlQYXJzZXI/IFN0YW5kYXJkQW5hbHl6ZXIgdG9rZW5p emVzCj4gPiA+ID4gPiA+IENKSyBjaGFyYWN0ZXJzIGludG8gYSBzdHJlYW0gb2Ygc2luZ2xlIGNo YXJhY3Rlci4KPiA+ID4gPiA+ID4gVXNlIFF1ZXJ5UGFyc2VyIHRvIGdldCBhIFBocmFzZVF1ZXJ5 IGFuZCBzZWFyY2ggdGhlIHF1ZXJ5Lgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBQbGVhc2Ugc2Vl IHRoZSBmb2xsb3dpbmcgc2FtcGxlIGNvZGUuIFJlcGxhY2UgSmFwYW5lc2UKPiA+ID4gPiA+ID4g ImNvbnRlbnRzIiBhbmQgKHNlYXJjaCB0YXJnZXQpICJwaHJhc2UiIHdpdGggS29yZWFuIGluIHRo ZQo+ID4gPiA+ID4gcHJvZ3JhbSBhbmQgcnVuLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiByZWdh cmRzLAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBLb2ppCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4gPiA+ID4g PiBpbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKPiA+ID4gPiA+ID4gaW1wb3J0IG9yZy5hcGFj aGUubHVjZW5lLmFuYWx5c2lzLkFuYWx5emVyOwo+ID4gPiA+ID4gPiBpbXBvcnQgb3JnLmFwYWNo ZS5sdWNlbmUuYW5hbHlzaXMuc3RhbmRhcmQuU3RhbmRhcmRBbmFseXplcjsKPiA+ID4gPiA+ID4g aW1wb3J0IG9yZy5hcGFjaGUubHVjZW5lLmFuYWx5c2lzLmNqay5DSktBbmFseXplcjsKPiA+ID4g PiA+ID4gaW1wb3J0IG9yZy5hcGFjaGUubHVjZW5lLnN0b3JlLkRpcmVjdG9yeTsKPiA+ID4gPiA+ ID4gaW1wb3J0IG9yZy5hcGFjaGUubHVjZW5lLnN0b3JlLlJBTURpcmVjdG9yeTsKPiA+ID4gPiA+ ID4gaW1wb3J0IG9yZy5hcGFjaGUubHVjZW5lLmluZGV4LkluZGV4V3JpdGVyOwo+ID4gPiA+ID4g PiBpbXBvcnQgb3JnLmFwYWNoZS5sdWNlbmUuZG9jdW1lbnQuRG9jdW1lbnQ7Cj4gPiA+ID4gPiA+ IGltcG9ydCBvcmcuYXBhY2hlLmx1Y2VuZS5kb2N1bWVudC5GaWVsZDsKPiA+ID4gPiA+ID4gaW1w b3J0IG9yZy5hcGFjaGUubHVjZW5lLnNlYXJjaC5JbmRleFNlYXJjaGVyOwo+ID4gPiA+ID4gPiBp bXBvcnQgb3JnLmFwYWNoZS5sdWNlbmUuc2VhcmNoLkhpdHM7Cj4gPiA+ID4gPiA+IGltcG9ydCBv cmcuYXBhY2hlLmx1Y2VuZS5zZWFyY2guUXVlcnk7Cj4gPiA+ID4gPiA+IGltcG9ydCBvcmcuYXBh Y2hlLmx1Y2VuZS5xdWVyeVBhcnNlci5RdWVyeVBhcnNlcjsKPiA+ID4gPiA+ID4gaW1wb3J0IG9y Zy5hcGFjaGUubHVjZW5lLnF1ZXJ5UGFyc2VyLlBhcnNlRXhjZXB0aW9uOwo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiBwdWJsaWMgY2xhc3MgSmFwYW5lc2VCeVN0YW5kYXJkQW5hbHl6ZXIgewo+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIEZJRUxE X0NPTlRFTlQgPSAiY29udGVudCI7Cj4gPiA+ID4gPiA+ICAgICBwcml2YXRlIHN0YXRpYyBmaW5h bCBTdHJpbmdbXSBjb250ZW50cyA9IHsKPiA+ID4gPiA+ID4gIuadseS6rOOBq+OBr+OBiuOBhOOB l+OBhOODqeODvOODoeODs+Wxi+OBjOOBn+OBj+OBleOCk+OBguOCiuOBvuOBmeOAgiIsCj4gPiA+ ID4gPiA+ICLljJfmtbfpgZPjgavjgoLjgYrjgYTjgZfjgYTjg6njg7zjg6Hjg7PlsYvjgYzjgYLj gorjgb7jgZnjgIIiCj4gPiA+ID4gPiA+ICAgICB9Owo+ID4gPiA+ID4gPiAgICAgcHJpdmF0ZSBz dGF0aWMgZmluYWwgU3RyaW5nIHBocmFzZSA9ICLjg6njg7zjg6Hjg7PlsYsiOwo+ID4gPiA+ID4g PiAgICAgLy9wcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgcGhyYXNlID0gIuWxiyI7Cj4gPiA+ ID4gPiA+ICAgICBwcml2YXRlIHN0YXRpYyBBbmFseXplciBhbmFseXplciA9IG51bGw7Cj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ICAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiggU3RyaW5nW10g YXJncyApIHRocm93cwo+ID4gPiA+ID4gSU9FeGNlcHRpb24sIFBhcnNlRXhjZXB0aW9uIHsKPiA+ ID4gPiA+ID4gRGlyZWN0b3J5IGRpcmVjdG9yeSA9IG1ha2VJbmRleCgpOwo+ID4gPiA+ID4gPiBz ZWFyY2goIGRpcmVjdG9yeSApOwo+ID4gPiA+ID4gPiBkaXJlY3RvcnkuY2xvc2UoKTsKPiA+ID4g PiA+ID4gICAgIH0KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gICAgIHByaXZhdGUgc3RhdGljIEFu YWx5emVyIGdldEFuYWx5emVyKCl7Cj4gPiA+ID4gPiA+IGlmKCBhbmFseXplciA9PSBudWxsICl7 Cj4gPiA+ID4gPiA+ICAgICBhbmFseXplciA9IG5ldyBTdGFuZGFyZEFuYWx5emVyKCk7Cj4gPiA+ ID4gPiA+ICAgICAvL2FuYWx5emVyID0gbmV3IENKS0FuYWx5emVyKCk7Cj4gPiA+ID4gPiA+IH0K PiA+ID4gPiA+ID4gcmV0dXJuIGFuYWx5emVyOwo+ID4gPiA+ID4gPiAgICAgfQo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiAgICAgcHJpdmF0ZSBzdGF0aWMgRGlyZWN0b3J5IG1ha2VJbmRleCgpIHRo cm93cyBJT0V4Y2VwdGlvbiB7Cj4gPiA+ID4gPiA+IERpcmVjdG9yeSBkaXJlY3RvcnkgPSBuZXcg UkFNRGlyZWN0b3J5KCk7Cj4gPiA+ID4gPiA+IEluZGV4V3JpdGVyIHdyaXRlciA9IG5ldyBJbmRl eFdyaXRlciggZGlyZWN0b3J5LCBnZXRBbmFseXplcigpLCB0cnVlICk7Cj4gPiA+ID4gPiA+IGZv ciggaW50IGkgPSAwOyBpIDwgY29udGVudHMubGVuZ3RoOyBpKysgKXsKPiA+ID4gPiA+ID4gICAg IERvY3VtZW50IGRvYyA9IG5ldyBEb2N1bWVudCgpOwo+ID4gPiA+ID4gPiAgICAgZG9jLmFkZCgg bmV3IEZpZWxkKCBGSUVMRF9DT05URU5ULCBjb250ZW50c1tpXSwKPiA+ID4gPiA+IEZpZWxkLlN0 b3JlLllFUywgRmllbGQuSW5kZXguVE9LRU5JWkVEICkgKTsKPiA+ID4gPiA+ID4gICAgIHdyaXRl ci5hZGREb2N1bWVudCggZG9jICk7Cj4gPiA+ID4gPiA+IH0KPiA+ID4gPiA+ID4gd3JpdGVyLmNs b3NlKCk7Cj4gPiA+ID4gPiA+IHJldHVybiBkaXJlY3Rvcnk7Cj4gPiA+ID4gPiA+ICAgICB9Cj4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHNlYXJjaCggRGly ZWN0b3J5IGRpcmVjdG9yeSApIHRocm93cwo+ID4gPiA+ID4gSU9FeGNlcHRpb24sIFBhcnNlRXhj ZXB0aW9uIHsKPiA+ID4gPiA+ID4gSW5kZXhTZWFyY2hlciBzZWFyY2hlciA9IG5ldyBJbmRleFNl YXJjaGVyKCBkaXJlY3RvcnkgKTsKPiA+ID4gPiA+ID4gUXVlcnlQYXJzZXIgcGFyc2VyID0gbmV3 IFF1ZXJ5UGFyc2VyKCBGSUVMRF9DT05URU5ULCBnZXRBbmFseXplcigpICk7Cj4gPiA+ID4gPiA+ IFF1ZXJ5IHF1ZXJ5ID0gcGFyc2VyLnBhcnNlKCBwaHJhc2UgKTsKPiA+ID4gPiA+ID4gU3lzdGVt Lm91dC5wcmludGxuKCAicXVlcnkgPSAiICsgcXVlcnkgKTsKPiA+ID4gPiA+ID4gSGl0cyBoaXRz ID0gc2VhcmNoZXIuc2VhcmNoKCBxdWVyeSApOwo+ID4gPiA+ID4gPiBmb3IoIGludCBpID0gMDsg aSA8IGhpdHMubGVuZ3RoKCk7IGkrKyApCj4gPiA+ID4gPiA+ICAgICBTeXN0ZW0ub3V0LnByaW50 bG4oICJkb2MgPSAiICsgaGl0cy5kb2MoIGkgKS5nZXQoIEZJRUxEX0NPTlRFTlQgKSApOwo+ID4g PiA+ID4gPiBzZWFyY2hlci5jbG9zZSgpOwo+ID4gPiA+ID4gPiAgICAgfQo+ID4gPiA+ID4gPiB9 Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0KPiA+ID4gPiA+ID4gPiBGcm9tOiBZb3VuZ2hvIENobyBbbWFpbHRvOnlvdW5naG9A bmFubmV0LmNvLmtyXQo+ID4gPiA+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAy MDA1IDg6MTggQU0KPiA+ID4gPiA+ID4gPiBUbzogamF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3Jn OyBDaGVvbGdvbyBLYW5nCj4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IGtvcmVhbiBhbmQgbHVj ZW5lCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEhlbGxvIENoZW9s Z29vLAo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gTm93IEkgdXBkYXRlZCBteSBsdWNlbmUg dmVyc2lvbiB0byAxLjkgZm9yIHVzaW5nIFN0YW5kYXJkQW5hbHl6ZXIKPiA+ID4gPiA+ID4gPiBm b3IgS29yZWFuLgo+ID4gPiA+ID4gPiA+IEFuZCB0ZXN0ZWQgeW91ciBwYXRjaCB3aGljaCBpcyBh bHJlYWR5IGFkb3B0ZWQgaW4gMS45Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBodHRwOi8v aXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTFVDRU5FLTQ0NAo+ID4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ID4gQnV0IFN0aWxsIEkgaGF2ZSBubyBnb29kICByZXN1bHRzIHdpdGggS29yZWFu IGNvbXBhcmUgd2l0aAo+ID4gPiA+ID4gQ0pLQW5hbHl6ZXIuCj4gPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gPiBTaW5nbGUgY2hhcmFjdGVyIGlzIGdvb2QgbWF0Y2ggYnV0IG1vcmUgdHdvIGNoYXJh Y3RlciB3b3JkCj4gPiA+ID4gPiA+ID4gZG9lc24ndCBtYXRjaCBhdCBhbGwuCj4gPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiBBbSBJIHNvbWV0aGluZyBtaXNzaW5nIG9yIHN0aWxsIHRoZXJlIG5l ZWQgc29tZSBtb3JlIHdvcmtzID8KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gVGhhbmtzLAo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gWW91bmdoby4KPiA+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gLS0tLS0gT3JpZ2luYWwgTWVzc2Fn ZSAtLS0tLQo+ID4gPiA+ID4gPiA+IEZyb206ICJDaGVvbGdvbyBLYW5nIiA8YXBwbGVyQGdtYWls LmNvbT4KPiA+ID4gPiA+ID4gPiBUbzogPGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZz47ICJK b2huIFdhbmciIDxqb2huLndhbmdAZ21haWwuY29tPgo+ID4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNk YXksIE9jdG9iZXIgMDQsIDIwMDUgMTA6MTEgQU0KPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTog a29yZWFuIGFuZCBsdWNlbmUKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gPiBTdGFuZGFyZEFuYWx5emVyJ3MgSmF2YUNDIGJhc2VkIFN0YW5kYXJkVG9rZW5pemVyLmpq IGNhbm5vdCByZWFkCj4gPiA+ID4gPiA+ID4gPiBLb3JlYW4gcGFydCBvZiBVbmljb2RlIGNoYXJh Y3RlciBibG9ja3MuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gWW91IHNob3VsZCAx KSB1c2UgQ0pLQW5hbHl6ZXIgb3IgMikgYWRkIEtvcmVhbiBjaGFyYWN0ZXIKPiA+ID4gPiA+ID4g PiA+IGJsb2NrKDB4QUMwMH4weEQ3QUYpIHRvIHRoZSBDSksgdG9rZW4gZGVmaW5pdGlvbiBvbiB0 aGUKPiA+ID4gPiA+ID4gPiA+IFN0YW5kYXJkVG9rZW5pemVyLmpqIGZpbGUuCj4gPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+ID4gSG9wZSBpdCBoZWxwcy4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gT24gMTAvNC8wNSwgSm9obiBXYW5nIDxqb2huLndh bmdAZ21haWwuY29tPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gSGk6Cj4gPiA+ID4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+ID4gPiA+IFdlIGFyZSBydW5uaW5nIGludG8gcHJvYmxlbXMgd2l0aCBz ZWFyY2hpbmcgb24ga29yZWFuCj4gPiA+ID4gPiA+ID4gZG9jdW1lbnRzLiBXZSBhcmUKPiA+ID4g PiA+ID4gPiA+ID4gdXNpbmcgdGhlIFN0YW5kYXJkQW5hbHl6ZXIgYW5kIGV2ZXJ5dGhpbmcgd29y a3Mgd2l0aCBDaGluZXNlCj4gPiA+ID4gPiA+ID4gYW5kIEphcGFuZXNlLgo+ID4gPiA+ID4gPiA+ ID4gPiBBcmUgdGhlcmUga25vd24gcHJvYmxlbXMgd2l0aCBLb3JlYW4gd2l0aCBMdWNlbmU/Cj4g PiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiA+IFRoYW5rcwo+ID4gPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+ID4gPiAtSm9obgo+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiAtLQo+ ID4gPiA+ID4gPiA+ID4gQ2hlb2xnb28KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gPiA+ID4gPiBUbyB1bnN1YnNjcmliZSwgZS1t YWlsOiBqYXZhLXVzZXItdW5zdWJzY3JpYmVAbHVjZW5lLmFwYWNoZS5vcmcKPiA+ID4gPiA+ID4g PiA+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6IGphdmEtdXNlci1oZWxwQGx1Y2Vu ZS5hcGFjaGUub3JnCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+ID4gPiBUbyB1bnN1YnNjcmliZSwgZS1tYWlsOiBqYXZh LXVzZXItdW5zdWJzY3JpYmVAbHVjZW5lLmFwYWNoZS5vcmcKPiA+ID4gPiA+ID4gRm9yIGFkZGl0 aW9uYWwgY29tbWFuZHMsIGUtbWFpbDogamF2YS11c2VyLWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcK PiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g PiA+ID4gVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogamF2YS11c2VyLXVuc3Vic2NyaWJlQGx1Y2Vu ZS5hcGFjaGUub3JnCj4gPiA+ID4gRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMsIGUtbWFpbDogamF2 YS11c2VyLWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUbyB1bnN1YnNj cmliZSwgZS1tYWlsOiBqYXZhLXVzZXItdW5zdWJzY3JpYmVAbHVjZW5lLmFwYWNoZS5vcmcKPiBG b3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBqYXZhLXVzZXItaGVscEBsdWNlbmUuYXBh Y2hlLm9yZwo+Cj4KPgoKCi0tCkNoZW9sZ29vCg==