Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 99436 invoked from network); 8 Sep 2007 12:10:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Sep 2007 12:10:10 -0000 Received: (qmail 4261 invoked by uid 500); 8 Sep 2007 12:10:03 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 4110 invoked by uid 500); 8 Sep 2007 12:10:02 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 4098 invoked by uid 99); 8 Sep 2007 12:10:02 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Sep 2007 05:10:02 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of alexey.a.petrenko@gmail.com designates 64.233.182.187 as permitted sender) Received: from [64.233.182.187] (HELO nf-out-0910.google.com) (64.233.182.187) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Sep 2007 12:09:57 +0000 Received: by nf-out-0910.google.com with SMTP id h3so578706nfh for ; Sat, 08 Sep 2007 05:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=aAaP2j8CEaIuRQoD9i+cQtBxlAJQQr87EN+CxHZC2Oo=; b=GTxjh9QK7Hv4pBAH8RERGeB8TQgd+QyFDp+9CnfynvTnPt4NY324iu9IWafqPy69YBgwq9N0P/WQC0keZTyf3hS1uVr6fgBUciFU0R6QbAxIDMXOo+GGLmSQXC9iUiDRBA57gf56Znycq4Xu1kufTjG0R4USJHD3DwidyFH5LhU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=M3ZWp4Jxs2NgCxUVm/NIXKPU32na95kVrgzlEE0Xa7nW4vFJkfC7wqL9l8f5JKpkhMowRxMJ/rmHQzxTDn5hYXHQvcMsVUrPEdXyDk717t07uJVp1JZguu0a0sF5ymLI5eoA/3W1a4oGfUFpeli1rL3XIWzNrSyG6ID8TsWXcXw= Received: by 10.86.65.11 with SMTP id n11mr2178346fga.1189253374997; Sat, 08 Sep 2007 05:09:34 -0700 (PDT) Received: by 10.86.30.8 with HTTP; Sat, 8 Sep 2007 05:09:34 -0700 (PDT) Message-ID: Date: Sat, 8 Sep 2007 16:09:34 +0400 From: "Alexey Petrenko" To: general@incubator.apache.org Subject: Re: [PROPOSAL] JSPWiki In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline References: X-Virus-Checked: Checked by ClamAV on apache.org KzEKCjIwMDcvOC8zMCwgSmFubmUgSmFsa2FuZW4gPEphbm5lLkphbGthbmVuQGVjeXJkLmNvbT46 Cj4gSGVsbG8gYWxsIQo+Cj4gSSBhbSBKYW5uZSBKYWxrYW5lbiwgdGhlIGxlYWQgZGV2ZWxvcGVy IG9mIHRoZSBvcGVuIHNvdXJjZSB3aWtpCj4gZW5naW5lIGNhbGxlZCBKU1BXaWtpLCBhbmQgSSBo YXZlIGEgcHJvcG9zYWwgZm9yIHlvdXIgZW5qb3ltZW50Lgo+IFRoaXMgcHJvcG9zYWwgaXMgYXZh aWxhYmxlIGluIHRoZSB3ZWIgYXQgaHR0cDovL3d3dy5qc3B3aWtpLm9yZy93aWtpLwo+IEFwYWNo ZUpTUFdpa2lQcm9wb3NhbCwgc2hvdWxkIHlvdSB3aXNoIHRvIGhlbHAgdXMgdG8gbWFrZSBpdCBi ZXR0ZXIuCj4KPiAvSmFubmUKPgo+IC0tLS0tLS0tLQo+Cj4gQWJzdHJhY3QKPgo+IEFwYWNoZSBK U1BXaWtpIHdpbGwgYmUgYSBtb2R1bGFyIGFuZCB1c2VyLWV4dGVuc2libGUgd2lraS1lbmdpbmUs Cj4gYmFzZWQgb24gdGhlIG9wZW4gc291cmNlIEpTUFdpa2kgc29mdHdhcmUuCj4KPiBQcm9wb3Nh bAo+Cj4gSlNQV2lraSBpcyBhIHdpa2kgZW5naW5lIGF2YWlsYWJsZSB1bmRlciB0aGUgTGVzc2Vy IEdlbmVyYWwgUHVibGljCj4gTGljZW5zZS4gSXQgaGFzIGEgdmVyeSBtb2R1bGFyIGNvbnN0cnVj dGlvbiwgYW5kIGludGVncmF0ZXMKPiByZWxhdGl2ZWx5IG5pY2VseSB3aXRoIGEgYnVuY2ggb2Yg ZW50ZXJwcmlzZSBzeXN0ZW1zLiBJdCBpcyBhbHNvCj4gaW5oZXJlbnRseSBlbWJlZGRhYmxlLCBh bmQgaGFzIGJlZW4gaW5jb3Jwb3JhdGVkIGFzIGEgY29tcG9uZW50IGluIGEKPiBmZXcgZGlmZmVy ZW50IGNvbW1lcmNpYWwgYW5kIG9wZW4gc291cmNlIHByb2R1Y3RzLgo+Cj4gVGhlIGxhdGVzdCBK U1BXaWtpLCAyLjYsIHN1cHBvcnRzIEFKQVggYW5kIGZ1bGwgSTE4TiwgcGx1Z2dhYmxlCj4gYmFj a2VuZHMsIHBsdWdnYWJsZSBlZGl0b3JzLCBhbiBleHByZXNzaXZlIG1hcmt1cCwgYSBwbHVnaW4K PiBmcmFtZXdvcmssIGEgZmlsdGVyIGZyYW1ld29yaywgYW5kIGJ1aWx0LWluIFVSTCByZXdyaXRp bmcuCj4KPiBKU1BXaWtpIGFsc28gaGFzIGEgbmljZSB1bml0IHRlc3Qgc2V0IG9mIG92ZXIgNzAw IHVuaXQgdGVzdHMgd2hpY2gKPiBoYXZlIGJlZW4gaW52YWx1YWJsZSBpbiBrZWVwaW5nIGNvbXBh dGliaWxpdHkgYmV0d2VlbiByZWxlYXNlcy4KPiBCYWNrZ3JvdW5kCj4KPiBJbiB0aGUgcGFzdCBm ZXcgeWVhcnMsIHdpa2lzIGhhdmUgYmVjb21lIGEgY29tbW9uIGNvbGxhYm9yYXRpdmUgdG9vbC4K PiBUaGV5IGFyZSBsaWdodC13ZWlnaHQsIG9wZW4sIGFuZCBlYXN5IHRvIGRlcGxveS4gVGhlIEVu Z2xpc2gKPiBXaWtpcGVkaWEsIGN1cnJlbnRseSB0aGUgbGFyZ2VzdCBwdWJsaWMgd2lraSBzaXRl LCBjb250YWlucyBuZWFybHkKPiB0d28gbWlsbGlvbiBwYWdlcy4KPgo+IFdpa2lzIHdlcmUgb3Jp Z2luYWxseSBkZXNpZ25lZCB0byBiZSBzbWFsbCBncm91cCBjb2xsYWJvcmF0aW9uIHRvb2xzLAo+ IGJ1dCB0aGV5IGhhdmUgcHJvdmVuIHRvIGJlIHNjYWxhYmxlIHRvIGEgbGFyZ2UgbnVtYmVyIG9m IHVzZXJzLCBhcwo+IGV2aWRlbmNlZCBieSB0aGUgV2lraXBlZGlhIGV4YW1wbGUuIEhvd2V2ZXIs IHRoZWlyIG1vc3QgY29tbW9uIHVzZSBpcwo+IHN0aWxsIHdpdGhpbiBjb21wYW5pZXMgYW5kIG90 aGVyIGVudGl0aWVzIHdoaWNoIGRlcGxveSB0aGVtIGFzCj4gY29sbGFib3JhdGlvbiB0b29scywg YXVnbWVudGluZyBhbmQgZXZlbiByZXBsYWNpbmcgdHJhZGl0aW9uYWwgQ1NDVwo+IHRvb2xzLgo+ Cj4gSlNQV2lraSB3YXMgb3JpZ2luYWxseSBjcmVhdGVkIHRvIGFkZHJlc3MgdGhlIHNhbWUgZ3Jv dXAKPiBjb2xsYWJvcmF0aW9uIHRvb2wgbmVlZHMgYXMgc28gbWFueSBvdGhlciB3aWtpIGVuZ2lu ZXMuIEl0cyBnb2Fscwo+IHdlcmUgZnJvbSB0aGUgc3RhcnQgdG8gcHJvdmlkZSBleHRlbnNpYmls aXR5IGFuZCB1c2VyIHBvd2VyLCB3aGlsZQo+IGtlZXBpbmcgdGhlIGNvcmUgZnVuY3Rpb25hbGl0 eSBjbGVhci4gU2luY2UgaXQncyBpbmNlcHRpb24gaW4gMjAwMSwKPiBpdCBoYXMgZ3Jvd24gdG8g YmUgb25lIG9mIHRoZSBtb3JlIHBvcHVsYXIgb3BlbiBzb3VyY2Ugd2lraWVuZ2luZXMsCj4gYXQg bGVhc3QgaW4gdGhlIEphdmEgYXJlbmEuIEl0IGN1cnJlbnRseSBzaGlwcyB3aXRoIHRoZSBTdW4g UG9ydGFsCj4gU2VydmVyIDcsIGFuZCBmZWF0dXJlcyBhcyBhbiBpbnRlZ3JhbCBwYXJ0IG9mIHRo ZSBJbnRsYW5kIENvZGViZWFtZXIKPiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4KPgo+IFJhdGlv bmFsZQo+Cj4gSlNQV2lraSBoYXMgZ3Jvd24gbmljZWx5IG92ZXIgdGhlIHBhc3QgZmV3IHllYXJz LCBhbmQgY3VycmVudGx5Cj4gYXZlcmFnZXMgYXJvdW5kIDIwMDAgZG93bmxvYWRzIG1vbnRobHku IFRoZSB1c2Vycy1saXN0IGhhcyBhdCB0aGUKPiB3cml0aW5nIG9mIHRoaXMgMjA3IG1lbWJlcnMs IGFuZCB0aGUgZGV2ZWxvcGVycyBtYWlsaW5nIGxpc3QgaGFzIDM0Cj4gbWVtYmVycy4gVGhlcmUg YXJlIGN1cnJlbnRseSBzaXggcGVvcGxlIHdpdGggY29tbWl0IGFjY2VzcyB0byB0aGUgQ1ZTCj4g Y29kZWJhc2UuCj4KPiBIb3dldmVyLCB0aGVyZSBpcyBhIGNoYXNtIHRvIGhvdyBsYXJnZSBhbiBv cGVuIHNvdXJjZSBwcm9qZWN0IGNhbgo+IGdyb3cgdW5kZXIgYSAiYmVuZXZvbGVudCBkaWN0YXRv ciIg4oCTbW9kZWwuIE1hbnkgY29ycG9yYXRpb25zIGFyZQo+IHJlbHlpbmcgb24gdGhlIEpTUFdp a2kgY29kZSBiYXNlLCBhbmQgam9pbmluZyBBcGFjaGUgd291bGQgbGVzc2VuIHRoZQo+IHJpc2tz IGludm9sdmVkIGluIHVzaW5nIGl0LCB0aHVzIGdpdmluZyBtb3JlIGVudGl0aWVzIGFuIG9wcG9y dHVuaXR5Cj4gdG8gdXNlIHRoaXMgYWR2YW5jZWQgcHJvamVjdC4gSm9pbmluZyBBcGFjaGUgd291 bGQgbWFrZSB1cyBsZXNzCj4gZGVwZW5kZW50IG9uIGluZGl2aWR1YWwgZGV2ZWxvcGVycyBhbmQg d291bGQgc3RyZW5ndGhlbiBvdXIgY29tbXVuaXR5Lgo+Cj4gV2UgYWxzbyBmZWVsIHRoYXQgdGhl IGludHJvZHVjdGlvbiBvZiBBcGFjaGUgcHJvY2Vzc2VzIHdvdWxkIGluY3JlYXNlCj4gdGhlIGNv ZGUgcXVhbGl0eSwgYXMgd2VsbCBhcyBicmluZyBtb3JlIGludGVyZXN0ZWQgZGV2ZWxvcGVycyB0 byB0aGlzCj4gcHJvamVjdC4KPgo+IEFwYWNoZSBpcyBhbHNvIGxhY2tpbmcgYSB3aWtpIGVuZ2lu ZS4gSXQgaXMgY3VycmVudGx5IHVzaW5nIGVpdGhlcgo+IGNvbW1lcmNpYWwgc29mdHdhcmUgKENv bmZsdWVuY2UpIG9yIFB5dGhvbi1iYXNlZCB3aWtpIHNvZnR3YXJlCj4gKE1vaW5Nb2luKSBhcyBp dHMgb3duIHByb2plY3RzLiBBcyB3aWtpcyBhcmUgYmVjb21pbmcgdGhlIHdvcmtob3JzZQo+IG9m IG1hbnkgcHJvamVjdHMsIHdlIGZlZWwgdGhhdCBpdCB3b3VsZCBicmluZyBhIGdvb2QgYWRkaXRp b24gdG8gdGhlCj4gQXBhY2hlIGNvbW11bml0eS4KPgo+IEluaXRpYWwgR29hbHMKPgo+IFRoZSBp bml0aWFsIGdvYWxzIG9mIHRoZSBwcm9qZWN0IGlzIHRvIHJlbGVhc2UgSlNQV2lraSAyLjggdW5k ZXIgdGhlCj4gQXBhY2hlIGxpY2Vuc2U6Cj4KPiAgICAgICogQnJpbmcgaW4gdGhlIEpTUFdpa2kg Mi42IHN0YWJsZSBjb2RlIGJhc2UgaW50byBBcGFjaGUgYW5kCj4gYXBwbHkgQXBhY2hlIGxpY2Vu c2luZyBhbmQgcmVtb3ZlIGluY29tcGF0aWJsZSBkZXBlbmRlbmNpZXMgKHNlZQo+IEFwYWNoZVJl bGljZW5zaW5nIGZvciBtb3JlIGRpc2N1c3Npb24uKQo+ICAgICAgKiBSZWxlYXNlIEpTUFdpa2kg Mi44IGFzIGEgY2xvbmUgb2YgSlNQV2lraSAyLjYgLSB3aXRoIHNvbWUgYnVnCj4gZml4ZXMgYW5k IEFwYWNoZSBsaWNlbnNpbmcsIGhvd2V2ZXIga2VlcGluZyBjb21wYXRpYmlsaXR5IHdpdGgKPiBK U1BXaWtpIDIuNi4gVGhpcyBtZWFucyB0aGF0IHdlIGNhbm5vdCBlLmcuIGNoYW5nZSB0aGUgcGFj a2FnZSBuYW1pbmcKPiBmcm9tICJjb20uZWN5cmQuanNwd2lraSIgb3IgZWxzZSBhbGwgb2xkIHBs dWdpbnMgd2lsbCBmYWlsLiBJdCBpcyB5ZXQKPiB1bmNsZWFyIHdoZXRoZXIgdGhpcyB3aWxsIGJl IGFjY2VwdGFibGUgdG8gQVNGLgo+Cj4gQWZ0ZXIgdGhhdCwgd2Ugd2lsbCBzdGFydCB3b3JraW5n IG9uIEpTUFdpa2kgMy4wOgo+Cj4gICAgICAqIENsZWFuIHVwIG91ciBtZXRhZGF0YSBhbmQgYmFj a2VuZCBzdXBwb3J0IGJ5IGFkZGluZyBKU1ItMTcwCj4gcmVwb3NpdG9yeSBzdXBwb3J0Cj4gICAg ICAqIEFkb3B0aW9uIG9mIGEgbW9yZSBmbGV4aWJsZSB3ZWIgZnJhbWV3b3JrIChTdHJpcGVzLCBh biBBcGFjaGUtCj4gbGljZW5zZWQgcHJvamVjdCkKPiAgICAgICogTXVsdGktd2lraSBzdXBwb3J0 IChzby1jYWxsZWQgV2lraUZhcm1zLCBvciBXaWtpV2VicyBvcgo+IFdpa2lTcGFjZXMpCj4gICAg ICAqIE1vdmUgdG8gIm9yZy5hcGFjaGUuanNwd2lraSIgLXN0cnVjdHVyZSwgYnJlYWtpbmcKPiBj b21wYXRpYmlsaXR5IHdpdGggMi54IHNlcmllcwo+ICAgICAgKiBDbGVhbnVwIG9mIHRoZSBBUElz IGFuZCBzb21lIHJlZmFjdG9yaW5nIHdoaWNoIGhhcyBiZWVuIGR1ZQo+IGZvciBhIGxvbmcgdGlt ZQo+Cj4gQ3VycmVudCBTdGF0dXMKPgo+IEpTUFdpa2kgY29kZSBiYXNlIGlzIHJlbGF0aXZlbHkg c3RhYmxlLCBhbmQgZXZlbiB0aG91Z2ggc29tZSBwYXJ0cwo+IGFyZSBjZXJ0YWlubHkgc2hvd2lu ZyB0aGVpciBhZ2UsIHRoZSBjb2RlIGlzIGNsZWFybHkgbGFpZCBvdXQgKHdlCj4gb3JpZ2luYWxs eSB1c2VkIHRoZSBBdmFsb24gY29kaW5nIGNvbnZlbnRpb25zLCBidXQgc2luY2UgdGhlbiBpdCBo YXMKPiBiZWVuIHNsaWdodGx5IG1vZGlmaWVkKSwgYW5kIGlzIG9mdGVuIHRoYW5rZWQgZm9yIGl0 cyBjbGFyaXR5LiBXZSB1c2UKPiB0aGUgRmFjYWRlIGFuZCBBZGFwdGVyIHBhdHRlcm5zIGV4dGVu c2l2ZWx5IGFjcm9zcyBKU1BXaWtpLgo+Cj4gVGhlIGN1cnJlbnQgZGV2ZWxvcG1lbnQgcHJhY3Rp Y2UgaGFzIG1vc3RseSBiZWVuIGEgTGludXgtbGlrZQo+ICJiZW5ldm9sZW50IGRpY3RhdG9yIiAt bW9kZWwuIFRoZXJlIGhhdmUgYmVlbiBubyBtYWpvciBjbGFzaGVzIG9uIHRoZQo+IG1haWxpbmcg bGlzdHMsIGFuZCB0aGUgY29tbXVuaXR5IHRlbmRzIHRvIGJlIGhlbHBmdWwsIGV2ZW4gaWYKPiBz b21ldGltZXMgYSBsaXR0bGUgc2xvdyBpbiBoZWxwaW5nIG90aGVycy4KPgo+IE1lcml0b2NyYWN5 Cj4KPiBKU1BXaWtpIGhhcyBhbHdheXMgdHJpZWQgdG8gZ3JhbnQgY29tbWl0IGFjY2VzcyB0byBw ZW9wbGUgd2hvIGhhdmUKPiBwcm92ZW4gdGhlbXNlbHZlcyBhcyB3aWxsaW5nIGFuZCBjYXBhYmxl IG9mIGNvbnRyaWJ1dGluZyB0byB0aGUgY29kZQo+IGJhc2UsIFVJIGRlc2lnbiwgZG9jdW1lbnRh dGlvbiwgZXRjLiBXZSB3aWxsIGNlcnRhaW5seSBjb250aW51ZSB0aGlzCj4gcHJhY3RpY2UsIGFz IGl0IGhhcyBwcm92ZW4gdG8gYmUgdmVyeSB1c2VmdWwuIFdlIGhvcGUgdGhhdCB0aGUgQXBhY2hl Cj4gcHJvY2VzcyB3aWxsIG1ha2UgaXQgZXZlbiBtb3JlIHByYWN0aWNhbC4KPgo+IENvbW11bml0 eQo+Cj4gSlNQV2lraSBoYXMgZXhpc3RlZCBzaW5jZSAyMDAxLCBhbmQgZHVyaW5nIGl0cyBsaWZl LCB0aGUgY29tbXVuaXR5Cj4gaGFzIGJlZW4gZ3Jvd2luZyBzdGVhZGlseS4gQ3VycmVudGx5IHRo ZXJlIGlzIHNvbWUgMjAwLW9kZCBtZW1iZXJzIG9uCj4gdGhlIGpzcHdpa2ktdXNlcnMgbWFpbGlu ZyBsaXN0LCBhbmQgMzQgbWVtYmVycyBvbiB0aGUganNwd2lraS1kZXYtCj4gdXNlcnMgbWFpbGlu ZyBsaXN0Lgo+Cj4gSlNQV2lraSBoYXMgYWxzbyBiZWVuIGEgc3ViamVjdCBvZiBzb21lIHNjaWVu dGlmaWMgcGFwZXJzLCBhbmQgaXMKPiB1c2VkIGFzIGEgZGV2ZWxvcG1lbnQgcGxhdGZvcm0uCj4K PiBDb3JlIERldmVsb3BlcnMKPgo+IFRoZSBjb3JlIGRldmVsb3BlcnMgY29uc2lzdCBvZiBKYW5u ZSBKYWxrYW5lbiAoRmlubmlzaCwgdGhlIG9yaWdpbmFsCj4gbGVhZCBkZXZlbG9wZXIgYW5kIHN0 aWxsIHRoZSBwZXJzb24gd2l0aCB0aGUgbW9zdCBjb21taXRzKSwgQW5kcmV3Cj4gSmFxdWl0aCAo VVNBLCBhIHNlY3VyaXR5IGd1cnUpLCBEaXJrIEZyZWRlcmlja3ggKEJlbGdpdW0sIG91ciB1c2Vy Cj4gZXhwZXJpZW5jZSBzcGVjaWFsaXN0KSwgQ2hyaXN0b3BoIFNhdWVyIChHZXJtYW55LCB0aGUg bWFpbnRhaW5lciBvZgo+IHRoZSBXaWtpV2l6YXJkIGVkaXRvciksIGFuZCBKdWFuIFBhYmxvIFNh bnRvcyBSb2Ryw61ndWV6IChTcGFpbiwgdGhlCj4gaTE4biBzcGVjaWFsaXN0KS4KPgo+IFdlIGFy ZSBhIGRpdmVyc2UgZ3JvdXAsIHRob3VnaCBjb25jZW50cmF0ZWQgbW9zdGx5IGluIHRoZSBXZXN0 ZXJuCj4gY291bnRyaWVzLgo+Cj4gQWxpZ25tZW50Cj4KPiBXZSB1c2UgVG9tY2F0IGFzIG91ciBt YWluIGRldmVsb3BtZW50IHBsYXRmb3JtLCBhbmQgd2UgYXJlIGFscmVhZHkKPiB1c2luZyBhIGxh cmdlIG51bWJlciBvZiBBcGFjaGUgY29tcG9uZW50cyBmcm9tIExvZzRqIGFuZCByZWdleHBzIHRv Cj4gQ29tbW9ucyBMYW5nLgo+Cj4gSW4gdGhlIGZ1dHVyZSwgd2UgYXJlIHBsYW5uaW5nIHRvIHR1 cm4gb3VyIGJhY2tlbmQgdG8gdXNlIEpTUi0xNzAsCj4gd2hpY2ggbWFrZXMgQXBhY2hlIEphY2ty YWJiaXQgYW4gb2J2aW91cyBiaXQgb2YgdGhlIGZ1dHVyZSwgdGhvdWdoCj4gdGhlIG1pZ3JhdGlv biBmcm9tIG91ciBjdXJyZW50IHJlcG9zaXRvcnkgbW9kZWwgaXMgc3RpbGwgdW5jbGVhci4KPgo+ IE91ciBjb2RpbmcgcnVsZXMgYXJlIGFsc28gYmFzZWQgb24gQXBhY2hlIEF2YWxvbiBjb2Rpbmcg cnVsZXMuCj4KPiBLbm93biBSaXNrcwo+Cj4gQ2hhbmdpbmcgYSBsYXJnZSBjb2RlIGJhc2UgZnJv bSBvbmUgbGljZW5zZSB0byBhbm90aGVyIGFsd2F5cyBlbnRhaWxzCj4gcmlza3MuIFRoZXJlIG1h eSBiZSB1c2VycyB3aG8gbWlnaHQgb2JqZWN0IHRvIG1vdmluZyBmcm9tIEdOVSB0bwo+IEFwYWNo ZSBvbiBpZGVhbGlzdGljIGdyb3VuZHMsIGJ1dCBtb3N0IG9mIHRoZSB1c2VycyB3aWxsIHByb2Jh Ymx5Cj4gdGFrZSBhIHByYWdtYXRpYyBhcHByb2FjaC4KPgo+IEFub3RoZXIgcHJvYmxlbSBtYXkg YmUgaWYgd2UgY2Fubm90IGxvY2F0ZSBzdWl0YWJsZSBub24tR1BMIG9wdGlvbnMKPiBmb3Igb3Vy IGNvbXBvbmVudHMuIFRoaXMgbWF5IG1lYW4gbG9uZyBkZWxheXMsIGFzIHdlIG1heSBuZWVkIHRv Cj4gZGV2ZWxvcCBhbHRlcm5hdGl2ZXMgb3Vyc2VsdmVzLgo+Cj4gQWxzbywgdGhlIG1vdmUgaXMg bGlrZWx5IOKAkyBhdCBsZWFzdCBpbml0aWFsbHkg4oCTIHRvIGRpdmVydCByZXNvdXJjZXMKPiBm cm9tIGRldmVsb3BtZW50IHRvIGJ1cmV1Y3JhY3kuIFRoaXMgaXMgbGlrZWx5IHRvIHN0cmFpbiBh IG5lcnZlIG9yCj4gdHdvLiBUaGlzIGNhbiBob3BlZnVsbHkgYmUgbWl0aWdhdGVkIGJ5IHRoZSBN ZW50b3JzIGJ5IHByb3ZpZGluZwo+IGNsZWFyIGd1aWRhbmNlLgo+Cj4gVG8gYmUgZnVsbHkgYmx1 bnQsIEkgKEphbm5lIEphbGthbmVuKSBhbHNvIGZlZWwgYSBiaXQgcXVlYXN5IG9uCj4gZ2l2aW5n IGNvbnRyb2wgb2YgSlNQV2lraSDigJMgbXkgcGV0LCB3aGljaCBJIGhhdmUgZ3Jvb21lZCBmb3Ig bWFueQo+IHllYXJzIOKAkyBhd2F5IHRvIGEgZm91bmRhdGlvbi4gSG93ZXZlciwgdGhpcyBpcyBz b21ldGhpbmcgd2hpY2ggaXMKPiBiZXR0ZXIgaW4gbG9uZyB0ZXJtIGZvciBKU1BXaWtpLCBhbmQg dGhlcmVmb3JlIGl0IGlzIHdvcnRoIHRoZQo+IHNhY3JpZmljZXMuCj4KPiBKU1BXaWtpIDIuOCBp cyBkZXNpZ25lZCB0byBiZSBhIGxvdy1yaXNrLCBsb3ctaGFuZ2luZy1mcnVpdCB0eXBlIG9mIGEK PiByZWxlYXNlLCBhc3N1bWluZyB0aGF0IEFTRiBpcyBmaW5lIHdpdGggdGhlIHBhY2thZ2Ugbm90 IGJlaW5nIGluIHRoZQo+ICJvcmcuYXBhY2hlIiBoaWVyYXJjaHkuIElmIG5vdCwgd2UgaGF2ZSBu byBjaG9pY2UgYnV0IHRvIHdhaXQgdW50aWwKPiAzLjAgc2luY2UgYnJlYWtpbmcgdGhlIGJpbmFy eSBjb21wYXRpYmlsaXR5IHR3aWNlIGluIGEgcm93IHdvdWxkIG1lYW4KPiBwcm9ibGVtcyBmb3Ig YWxsIGRldmVsb3BlcnMuCj4gT3JwaGFuZWQgcHJvZHVjdHMKPgo+IFNpbmNlIEpTUFdpa2kgaGFz IGJlZW4gbGVhZCB1c2luZyBhICJiZW5ldm9sZW50IGRpY3RhdG9yIiDigJNtb2RlbCwgdGhlCj4g bGFyZ2VzdCBrbm93bGVkZ2Ugb2YgdGhlIGNvZGUgYmFzZSByZXN0cyBvbiBKYW5uZSBKYWxrYW5l bi4gSmFubmUgaGFzCj4gbm8gcGxhbnMgdG8gbGVhdmUgSlNQV2lraSBkZXZlbG9wbWVudCwgYnV0 IGNlcnRhaW5seSB0aGVyZSBpcyBhIG5lZWQKPiB0byBnZXQgbW9yZSBwZW9wbGUgd2hvIGhhdmUg YW4gaW50aW1hdGUga25vd2xlZGdlIG9mIHRoZSBjb2RlIGJhc2UKPiAoYW5kIHRoZSBkZWNpc2lv bnMgdGhlcmVvZikuCj4KPiBJbmV4cGVyaWVuY2Ugd2l0aCBPcGVuIFNvdXJjZQo+Cj4gSlNQV2lr aSB3YXMgc3RhcnRlZCBhcyBhbiBvcGVuIHNvdXJjZSBwcm9qZWN0IGluIEp1bmUgMjAwMSwgYW5k IGhhcwo+IHJlbWFpbmVkIGFuIG9wZW4gc291cmNlIHByb2plY3Qgc2luY2UuIElzc3VlIHRyYWNr aW5nIGFuZCBtYWlsaW5nCj4gbGlzdHMgaGF2ZSBiZWVuIG9wZW4gdG8gZXZlcnlvbmUgZnJvbSBk YXkgb25lLgo+Cj4gSG9tb2dlbm91cyBEZXZlbG9wZXJzCj4KPiBUaGUgY3VycmVudCBsaXN0IG9m IGNvbW1pdHRlcnMgaW5jbHVkZXMgcGVvcGxlIGZyb20gZml2ZSBjb3VudHJpZXMsCj4gZm91ciB0 aW1lem9uZXMgYW5kIHR3byBjb250aW5lbnRzLiBSZWd1bGFyIHBhdGNoZXMgY29tZSBpbiBhbHNv IGZyb20KPiBvdGhlciBjb3VudHJpZXMuCj4KPiBSZWxpYW5jZSBvbiBTYWxhcmllZCBEZXZlbG9w ZXJzCj4KPiBUaGVyZSBhcmUgY3VycmVudGx5IG5vIHBlb3BsZSBvbiB0aGUgY29tbWl0dGVyIGxp c3Qgd2hvIGdldCBwYWlkIHRvCj4gd29yayBvbiBKU1BXaWtpLiBIb3dldmVyLCB3ZSBkbyBnZXQg cGF0Y2hlcyBmcm9tIGEgbnVtYmVyIG9mCj4gY29tcGFuaWVzIHdpdGggYSB2ZXN0ZWQgaW50ZXJl c3QgaW4gSlNQV2lraS4KPgo+IEpTUFdpa2kgaXMgaW4gbm8gd2F5IHJlbGlhbnQgb24gc2FsYXJp ZWQgY29kZXJzLgo+Cj4gUmVsYXRpb25zaGlwcyB3aXRoIE90aGVyIEFwYWNoZSBQcm9kdWN0cwo+ Cj4gSlNQV2lraSB1c2VzIHF1aXRlIGEgZmV3IGRpZmZlcmVudCBBcGFjaGUgcHJvamVjdHMgYWxy ZWFkeSwgYW5kLCBvZgo+IGNvdXJzZSwgcnVucyBvbiB0b3Agb2YgVG9tY2F0ICh0aG91Z2ggaXQg aGFzIGJlZW4gZGV2ZWxvcGVkIHRvIGJlCj4gcHVyZSBKMkVFIG9ubHkgYW5kIGluIG5vIHdheSBy ZWxpZXMgb24gYW55IHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkpLgo+Cj4gSW4gdGhlIGZ1dHVyZSwg d2UgZXhwZWN0IHRvIGludGVncmF0ZSBzb21ld2hhdCB3aXRoIEphY2tyYWJiaXQuCj4KPiBBIEV4 Y2Vzc2l2ZSBGYXNjaW5hdGlvbiB3aXRoIHRoZSBBcGFjaGUgQnJhbmQKPgo+IEpTUFdpa2kgY291 bGQgY29udGludWUgb24gaXRzIG93biwgbm8gd29ycmllcy4gSG93ZXZlciwgd2UgZG8gZmVlbAo+ IHRoYXQgb3VyIGN1c3RvbWVycyBhbmQgdXNlcnMgd291bGQgZmVlbCBtb3JlIGNvbWZvcnRhYmxl IGlmIHRoZXJlIHdhcwo+IGEgIm5hbWUiIGF0dGFjaGVkIHRvIGl0IOKAkyBiZWNhdXNlIGl0IGxl c3NlbnMgdGhlIHJpc2sgb2YgSlNQV2lraSBqdXN0Cj4gZ29pbmcgYXdheSBzb21lIGRheS4KPgo+ IFRvIGJlIGZyYW5rLCB3ZSBhcmUgbW9yZSBpbnRlcmVzdGVkIGluIHRoZSBBcGFjaGUgcHJvY2Vz c2VzIGFuZCB0aGUKPiBzdGFiaWxpdHkgQXBhY2hlIHdvdWxkIGJyaW5nIHRvIHRoZSBwcm9qZWN0 IHRoYW4gdGhlIGFjdHVhbCBuYW1lLiBXZQo+IGFsc28gaG9wZSB0aGF0IEFwYWNoZSB3aWxsIGFk b3B0IHVzIGFzIHRoZWlyIHdpa2kgc29sdXRpb24gOy0pCj4KPiBEb2N1bWVudGF0aW9uCj4KPiBU aGUgY2hpZWYgSlNQV2lraSByZXNvdXJjZSBpcyB0aGUgaHR0cDovL3d3dy5qc3B3aWtpLm9yZy8g d2ViIHNpdGUuCj4gSXQgaXMgZnVydGhlciBhbWVuZGVkIGJ5IHRoZSBKU1BXaWtpIGRvY3VtZW50 YXRpb24gc2l0ZSAoaHR0cDovLwo+IGRvYy5qc3B3aWtpLm9yZy8yLjQpIGFzIHdlbGwgYXMgdGhl IEpTUFdpa2ktdXNlcnMgYW5kIEpTUFdpa2ktZGV2Cj4gbWFpbGluZyBsaXN0IGFyY2hpdmVzIGF0 IGh0dHA6Ly9lY3lyZC5jb20vcGlwZXJtYWlsL2pzcHdpa2ktdXNlcnMvCj4gYW5kIGh0dHA6Ly9l Y3lyZC5jb20vcGlwZXJtYWlsL2pzcHdpa2ktZGV2Ly4KPgo+IEluaXRpYWwgU291cmNlCj4KPiBU aGVyZSBpcyBhbiBpbml0aWFsIHNvdXJjZSBiYXNlIG9mIGFwcHJveGltYXRlbHkgNzAsMDAwIGxp bmVzIG9mCj4gY29kZS4gKEFjY29yZGluZyB0byBhbiBlc3RpbWF0ZSBieSB0aGUgT2hsb2ggY29k ZSBzZWFyY2ggZW5naW5lLCB0aGlzCj4gYW1vdW50cyB0byByb3VnaGx5IDE3IHBlcnNvbiB5ZWFy cykuCj4KPiBTb3VyY2UgYW5kIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBTdWJtaXNzaW9uIFBsYW4K Pgo+ICAgICAgKiBqc3B3aWtpLm9yZyBkb21haW4gZnJvbSBKYW5uZSBKYWxrYW5lbgo+ICAgICAg KiBKU1BXaWtpIHNvdXJjZSBjb2RlIGZyb20gYWxsIGNvbnRyaWJ1dG9ycyAoQ0xBcyBuZWVkIHRv IGJlIGRvbmUpCj4KPiBFeHRlcm5hbCBEZXBlbmRlbmNpZXMKPgo+IEpTUFdpa2kgaXMgcmVseWlu ZyBhbHJlYWR5IGV4dGVuc2l2ZWx5IG9uIGEgbnVtYmVyIG9mIEFwYWNoZS1saWNlbnNlZAo+IGxp YnJhcmllcy4gSG93ZXZlciwgd2UgYXJlIGFsc28gdXNpbmcgc29tZSBMR1BMLWJhc2VkIGxpYnJh cmllcywKPiB3aGljaCB3aWxsIGVpdGhlciBuZWVkIHRvIGJlIHJlcGxhY2VkIG9yIHJld3JpdHRl bi4gVGhlIGN1cnJlbnQgbGlzdAo+IG9mIGRlcGVuZGVuY2llcyBhbmQgdGhlIG1pZ3JhdGlvbiBw bGFuIGlzIGF2YWlsYWJsZSBoZXJlOgo+Cj4gaHR0cDovL3d3dy5qc3B3aWtpLm9yZy93aWtpL0Fw YWNoZVJlbGljZW5zaW5nCj4KPiBDcnlwdG9ncmFwaHkKPgo+IEpTUFdpa2kgdXNlcyBvbmx5IGNy eXB0b2dyYXBoeSBtZXRob2RzIChoYXNoIGNvZGVzKSBhdmFpbGFibGUgaW4gdGhlCj4gSjJTRSBp dHNlbGYuIFRoZXJlIGlzIG9uZSBleGNlcHRpb24gdG8gdGhpcyBydWxlLCBob3dldmVyOiB3ZSB1 c2UgYQo+IHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIEFwYWNoZSBUb21jYXQncyBI ZXhVdGlscyBmb3IKPiBjb252ZXJ0aW5nIGJ5dGUgYXJyYXlzIGludG8gaGV4YWRlY2ltYWwgZGln aXRzLgo+IChvcmcuYXBhY2hlLmNhdGFsaW5hLnV0aWwuSGV4VXRpbHMpLgo+Cj4gUmVxdWlyZWQg UmVzb3VyY2VzCj4KPiBNYWlsaW5nIGxpc3RzCj4KPiBKU1BXaWtpIGN1cnJlbnRseSBvcGVyYXRl cyBvbiB0d28gbWFpbGluZyBsaXN0cyAtIGpzcHdpa2ktCj4gdXNlcnNAanNwd2lraS5vcmcsIGFu ZCBqc3B3aWtpLWRldkBqc3B3aWtpLm9yZy4gSXQgd291bGQgYmUgZ29vZCB0bwo+IGNvbnRpbnVl IHRoZXNlIGJvdGggYWxzbyB1bmRlciBBcGFjaGUgSW5jdWJhdGlvbiwgd2l0aCB0aGUgYWRkaXRp b24KPiBvZiB0aGUgbWFuZGF0b3J5IGpzcHdpa2ktcHJpdmF0ZS4gQSBqc3B3aWtpLWNvbW1pdHMg LWxpc3QgbWlnaHQgYWxzbwo+IGJlIHVzZWZ1bC4KPgo+ICAgICAgKiBqc3B3aWtpLXVzZXJzIChj b250YWlucyB0aGUgZXhpc3RpbmcgbWVtYmVycyBvZiB0aGUganNwd2lraS0KPiB1c2VycykKPiAg ICAgICoganNwd2lraS1kZXYgKHRoZSBtZW1iZXJzIG9mIHRoZSBleGlzdGluZyBqc3B3aWtpLWRl dikKPiAgICAgICoganNwd2lraS1jb21taXRzIChuZXcgbGlzdCBmb3IgYW5ub3VuY2luZyBjb21t aXRzIHRvIHRoZSBzdm4KPiByZXBvc2l0b3J5KQo+ICAgICAgKiBqc3B3aWtpLXByaXZhdGUgKGZv ciB0aGUgUFBNQywgd2l0aCBtb2RlcmF0ZWQgc3Vic2NyaXB0aW9ucykKPgo+IFN1YnZlcnNpb24g RGlyZWN0b3J5Cj4KPiBKU1BXaWtpIGNvZGUgYmFzZSBzaG91bGQgYmUgbmFtZWQgImpzcHdpa2ki LCBhcyBpbgo+Cj4gaHR0cHM6Ly9zdm4uYXBhY2hlLm9yZy9yZXBvcy9hc2YvaW5jdWJhdG9yL2pz cHdpa2kKPgo+IElzc3VlIFRyYWNraW5nCj4KPiBDdXJyZW50IEpTUFdpa2kgYnVnIHRyYWNraW5n IGlzIGRvbmUgYXQgaHR0cDovL2J1Z3MuanNwd2lraS5vcmcvLAo+IHVzaW5nIEJ1Z3ppbGxhIDMu MC4gSXQgd291bGQgYmUgZ29vZCB0byBiZSBhYmxlIHRvIG1vdmUgdGhlIGN1cnJlbnQKPiBidWcg bGlzdCB0byB0aGUgQXBhY2hlIEJ1Z3ppbGxhLiBUaGUgcHJvamVjdCBuYW1lIHNob3VsZCBiZSAi SlNQV2lraSIuCj4KPiBJZiB0aGUgYnVnIGxpc3QgY2Fubm90IGJlIG1vdmVkLCB0aGVuIHdlIGNh biBjb250aW51ZSB0byB1c2UgdGhlCj4gSlNQV2lraSBidWcgdHJhY2tlci4KPiBPdGhlciBSZXNv dXJjZXMKPgo+ICAgICAgKiB3d3cuanNwd2lraS5vcmcgd2Vic2l0ZQo+ICAgICAgKiBkb2MuanNw d2lraS5vcmcKPiAgICAgICogYmxvZy5qc3B3aWtpLm9yZwo+ICAgICAgKiBzYW5kYm94LmpzcHdp a2kub3JnICh3aXBlZCBhdCBub29uIEdNVCB3aXRoIGEgY3VzdG9tIHNjcmlwdCkuCj4gICAgICAq IGJ1Z3MuanNwd2lraS5vcmcKPgo+IFNvbWUgb3IgYWxsIG9mIHRoZXNlIGNhbiBiZSBtb3ZlZCB0 byBBcGFjaGUuIEhvd2V2ZXIsIGRlZXBlcgo+IGRpc2N1c3Npb25zIG5lZWQgdG8gYmUgbWFkZSBv biB3aGljaCBvbmVzIEFwYWNoZSBpcyB3aWxsaW5nIHRvIGhvc3QuCj4KPiBJbml0aWFsIENvbW1p dHRlcnMKPgo+ICAgICAgKiBKYW5uZSBKYWxrYW5lbiAoamFsa2FuZW5AZWN5cmQuY29tKQo+ICAg ICAgKiBBbmRyZXcgSmFxdWl0aCAoYW5kcmV3QGZyZXNoY29va2llcy5vcmcpCj4gICAgICAqIERp cmsgRnJlZGVyaWNreCAoZGlyay5mcmVkZXJpY2t4QGdtYWlsLmNvbSkKPiAgICAgICogQ2hyaXN0 b3BoIFNhdWVyIChzYXVlckBocy1oZWlsYnJvbm4uZGUpCj4gICAgICAqIEp1YW4gUGFibG8gU2Fu dG9zIFJvZHLDrXF1ZXogKGp1YW5wYWJsby5zYW50b3NAZ21haWwuY29tKQo+ICAgICAgKiBNdXJy YXkgQWx0aGVpbSAobXVycmF5MDdAYWx0aGVpbS5jb20pCj4KPiBOb25lIG9mIHRoZSBpbml0aWFs IGNvbW1pdHRlcnMgaGF2ZSB5ZXQgc3VibWl0dGVkIGEgQ0xBLgo+Cj4gQWZmaWxpYXRpb25zCj4K PiBKYW5uZSBKYWxrYW5lbiB3b3JrcyBhcyBhIFByb2plY3QgTWFuYWdlciBpbiBOb2tpYSwgYnV0 IGhpcyB3b3JrIGhhcwo+IG5vdGhpbmcgdG8gZG8gd2l0aCBKU1BXaWtpLgo+Cj4gQW5kcmV3IEph cXVpdGggaXMgYSBzZW5pb3IgYW5hbHlzdCBhdCBZYW5rZWUgR3JvdXAsIGFuIElDVCByZXNlYXJj aAo+IGFuZCBjb25zdWx0aW5nIGZpcm0uIEhlIGNvdmVycyBzZWN1cml0eSBmb3IgWWFua2VlLiBO b2tpYSwgY3VyaW91c2x5LAo+IGlzIG9uZSBvZiBZYW5rZWUncyBjdXN0b21lcnMsIGJ1dCBhcHBh cmVudGx5IG5vdCB0aGUgcGFydCB0aGF0IEphbm5lCj4gd29ya3MgZm9yLiA6KQo+Cj4gQ2hyaXN0 b3BoIFNhdWVyIGlzIGEgcmVzZWFyY2hlciBhdCB0aGUgSGVpbGJyb25uIFVuaXZlcnNpdHksIEdl cm1hbnkuCj4gSGUgaXMgYSBQcm9qZWN0IE1hbmFnZXIgYXQgdGhlIEhlaWxicm9ubiBVbml2ZXJz aXRpZXMgaTNHIEluc3RpdHV0ZSwKPiB3aGljaCBvZmZlcnMgYnVzaW5lc3Mgc2VydmljZXMgZm9y IHNtYWxsIGFuZCBtZWRpdW0gc2l6ZWQgY29tcGFuaWVzLgo+Cj4gSnVhbiBQYWJsbyBTYW50b3Mg d29ya3MgYXMgYSBTb2Z0d2FyZSBFbmdpbmVlciBpbiBTZWN1ZW56aWEsIGFuIElUCj4gY29uc3Vs dGluZyBmaXJtIGluIE1hZHJpZC4KPgo+IFNwb25zb3JzCj4KPiBDaGFtcGlvbgo+Cj4gQ2hhbXBp b246IERhdmUgSm9obnNvbgo+IE5vbWluYXRlZCBNZW50b3JzCj4KPiBQZW9wbGUgd2hvIGhhdmUg YW5ub3VuY2VkIHRoZWlyIHdpbGxpbmduZXNzIHRvIGJlIE1lbnRvcnMgYXJlCj4KPiAgICAgICog RGF2ZSBKb2huc29uCj4gICAgICAqIFNhbSBSdWJ5Cj4gICAgICAqIEhlbm5pbmcgU2NobWllZGVo YXVzZW4KPgo+IFNwb25zb3JpbmcgRW50aXR5Cj4KPiBTcG9uc29yaW5nIGVudGl0eSBzaG91bGQg YmUgdGhlIEluY3ViYXRvci4KPiBQUE1DCj4KPiBUaGUgUFBNQyBzaGFsbCBjb25zaXN0IG9mIGlu aXRpYWwgY29tbWl0dGVycyBhbmQgdGhlIE1lbnRvcnMuCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVG8gdW5z dWJzY3JpYmUsIGUtbWFpbDogZ2VuZXJhbC11bnN1YnNjcmliZUBpbmN1YmF0b3IuYXBhY2hlLm9y Zwo+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6IGdlbmVyYWwtaGVscEBpbmN1YmF0 b3IuYXBhY2hlLm9yZwo+Cj4K