From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: [RFC] testing the org exporters Date: Fri, 01 Jul 2011 17:55:14 +0530 Message-ID: <81iprmxk5x.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([140.186.70.92]:46057) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qccmj-0003pL-C2 for emacs-orgmode@gnu.org; Fri, 01 Jul 2011 08:25:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qccmg-00072f-Q8 for emacs-orgmode@gnu.org; Fri, 01 Jul 2011 08:25:24 -0400 Received: from mail-pv0-f169.google.com ([74.125.83.169]:53265) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qccmf-00072J-Sz for emacs-orgmode@gnu.org; Fri, 01 Jul 2011 08:25:22 -0400 Received: by pvc12 with SMTP id 12so3318329pvc.0 for ; Fri, 01 Jul 2011 05:25:20 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain I have been using the attached test.org file as part of my org-odt related work. The usual steps I follow for testing are quite simple: 1. Visit the file 2. Export it to xhtml or odt 3. Visually make sure that everything is OK. I would like to add this file to the testing dir of the trunk. This file would be a good starting point for not only validating but also documenting (the quirks?) of various exporters. At the moment, I am not very inclined to have it integrated with ert[1]. Based on my experience, the standalone test.org file has proven it's worth multiple times over during the development phase. What do you think? I am happy to hear feedback on 1. what to put in that test.org 2. where to put the test.org 3. how to have it integrated with test framework. --=-=-= Content-Type: archive/tar Content-Disposition: attachment; filename=tests.tar Content-Transfer-Encoding: base64 Content-Description: tests.tar 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTYAMDAwMTAwMQAwMDAwMDA0NzE2MQAx MTYwMzE0MjAyNwAwMTQwMzQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAdXN0YXIgIABramFtYnVuYXRoYW4AAAAAAAAAAAAAAAAAAAAAAAAAAE5vbmUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIytUSVRMRTogVGVzdGZpbGUgZm9yIE9w ZW5Eb2N1bWVudFRleHQgRXhwb3J0ZXIKIytBVVRIT1I6ICAgIEphbWJ1bmF0aGFuIEsKIytFTUFJ TDogICAgIGtqYW1idW5hdGhhbkBnbWFpbC5jb20KIytEQVRFOiAgICAgIDIwMTEtMDQtMDQgTW9u CiMrREVTQ1JJUFRJT046CiMrS0VZV09SRFM6CiMrTEFOR1VBR0U6ICBlbgojK09QVElPTlM6ICAg SDo0IG51bTp0IHRvYzp0IFxuOm5pbCBAOnQgOjp0IHw6dCBeOnQgLTp0IGY6dCAqOnQgPDp0CiMr T1BUSU9OUzogICBUZVg6dCBMYVRlWDp0IHNraXA6bmlsIGQ6bmlsIHRvZG86dCBwcmk6bmlsIHRh Z3M6bm90LWluLXRvYwoKIytFWFBPUlRfU0VMRUNUX1RBR1M6IGV4cG9ydAojK0VYUE9SVF9FWENM VURFX1RBR1M6IG5vZXhwb3J0CiMrTElOS19VUDoKIytMSU5LX0hPTUU6CiMrWFNMVDoKIytTVEFS VFVQOiBvdmVydmlldwoKCiMgVXNlIEMtYyBDLWUgTyBvciBDLWMgQy1lIG8gdG8gZXhwb3J0IHRo aXMgYnVmZmVyIHRvIE9wZW5Eb2N1bWVudFRleHQKCgpTb21lIHRleHQgYmVmb3JlIGZpcnN0IGhl YWRsaW5lW2ZuOjFdLgoKKiBPRFQgRXhwb3J0ZXIJCQkJCQkgICAgOnByb2plY3Q6aGFja2luZzoK KiogT25saW5lIFJlZmVyZW5jZXMKICAgLSBbW2h0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29m ZmljZS92MS4xL09TL09wZW5Eb2N1bWVudC12MS4xLWh0bWwvT3BlbkRvY3VtZW50LXYxLjEuaHRt bF1bT0RGIFNwZWNpZmljYXRpb25dXQogICAtIFtbaHR0cDovL2Jvb2tzLmV2Yy1jaXQuaW5mby9v ZGJvb2svYm9vay5odG1sXVtPQVNJUyBPcGVuRG9jdW1lbnQgRXNzZW50aWFscyAoQm9vayldXQog ICAtIFtbaHR0cDovL3dpa2kuc2VydmljZXMub3Blbm9mZmljZS5vcmcvd2lraS9Eb2N1bWVudGF0 aW9uL09PbzNfVXNlcl9HdWlkZXMvV3JpdGVyX0d1aWRlXVtPcGVuT2ZmaWNlLm9yZydzIFdyaXRl ciBHdWlkZV1dCiAgICAgRG93bmxvYWRhYmxlIHBkZiB2ZXJzaW9uIGFyZSBhdmFpbGFibGUgW1to dHRwOi8vd2lraS5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy93aWtpL0RvY3VtZW50YXRpb24vT09v M19Vc2VyX0d1aWRlcy9DaGFwdGVyc11baGVyZV1dCgoqKiBWYWxpZGF0aW9uIHRvb2xzCiAgIC0g W1todHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9vZmZpY2UvdjEuMS9PUy9PcGVuRG9jdW1lbnQt c2NoZW1hLXYxLjEucm5nXVtPcGVuRG9jdW1lbnQtc2NoZW1hLXYxLjEucm5nXV0KICAgLSBVc2Ug W1todHRwOi8vd3d3LnRoYWlvcGVuc291cmNlLmNvbS9yZWxheG5nL3RyYW5nLmh0bWxdW1RyYW5n XV0gdG8gZ2VuZXJhdGUgLnJuYyBmaWxlIGZyb20gLnJuZyBmaWxlLgoKKiogb3JnLW9kdC5lbCBC dWdzIGFuZCBQZW5kaW5nIEl0ZW1zCioqKiBUT0RPIExpbmtzIHRvIExpc3RpZmllZCBIZWFkbGlu ZXMgYXJlIG5vdCBnZW5lcmF0ZWQKICAgIEV4cG9ydCB0aGlzIGRvY3VtZW4gd2l0aCBIOjMgYW5k IG5vdGUgdGhhdCBsaW5rIHJlZmVyZW5jZXMgdW5kZXIKICAgIFtbUmVmZXJlbmNlc11dIGFyZSBi cm9rZW4uIFRvIGNpcmN1bXZlbnQgdGhpcyBpc3N1ZSBjaGFuZ2UgZGVmYXVsdAogICAgc2V0dGlu Z3MgZnJvbSBIOjMgdG8gSDo0IGZvciBub3cuCioqKiBUT0RPIENsZWFudXAgb24gY3Jhc2gKICAg IFdoZW4gb2R0IGV4cG9ydGVyIHRocm93cyBhbiBlcnJvciB0aGUgeG1sIGZpbGVzIGFyZSBjb250 ZW50LnhtbCwKICAgIHN0eWxlcy54bWwgZXRjIGFyZSBsZWZ0IHN0YXlpbmcgYXJvdW5kLiBOZWVk IHRvIGNsZWFuIHRoZXNlIHVwCiAgICB1c2luZyB1bndpbmQtcHJvdGVjdD8KKioqIFRPRE8gRml4 IGFsbCBpbnRlcmFjdGl2ZSBjb21tYW5kcwogICAgb3JnLWV4cG9ydC1yZWdpb24tYXMtb2R0LCBv cmctZXhwb3J0LWFzLW9kdC10by1idWZmZXIgZXRjLgojK2JlZ2luX3NyYyBzaAogIGVtYWNzIC0t YmF0Y2ggLUwgIn4vc3JjL29yZy1qYW1idS9saXNwIiAtLWV2YWwgIihwcm9nbiAocmVxdWlyZSAn b3JnLW9kdCkgKHNldHEgb3JnLWV4cG9ydC1oZWFkbGluZS1sZXZlbHMgMykgKHRvZ2dsZS1kZWJ1 Zy1vbi1lcnJvcikpIiAtLXZpc2l0PWRyYWZ0Y29weS5vcmcgLS1mdW5jYWxsIG9yZy1leHBvcnQt YXMtb2R0LWJhdGNoCiMrZW5kX3NyYwoKKioqIFRPRE8gRml4IGlzc3VlcyByZXBvcnRlZCBieSBD aHJpc3RpYW4gTW9lIChmaXJzdCBwb3N0KQogICAgU0NIRURVTEVEOiA8MjAxMS0wMS0zMSBNb24+ CiAgICBTZWUgW1todHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3Mtb3JnbW9k ZS8yMDExLTAxL21zZzAxMjkzLmh0bWxdW3RoaXMgcG9zdF1dLgoKICAgIC0gRml4IGNyb3NzIHJl ZmVyZW5jZXMgdG8gVGFibGVzLCBJbWFnZXMgZXRjLiBBYmlsaXR5IHRvIGNob29zZQogICAgICBv dGhlciB0eXBlcyBuYW1lcywgbGlrZSBDaGFydCwgRmlndXJlLCBldGMuCiAgICAtIFBhcmFncmFw aHMgd2VyZSBmcmVxdWVudGx5IHNwbGl0IHVwLCBtaWQtc2VudGVuY2UsIGJ5IHVud2FudGVkCiAg ICAgIHBhcmFncmFwaCBicmVha3MuIE5vdCBzdXJlIHdoZXRoZXIgdGhpcyBwcm9ibGVtIHN0aWxs IGV4aXN0cwogICAgICB3aXRoIHRoZSBsYXRlc3QgcmVsZWFzZSBvZiBvcmctb2R0LgoKKioqIFRP RE8gRml4IGlzc3VlcyByZXBvcnRlZCBieSBDaHJpc3RpYW4gTW9lIChzZWNvbmQgcG9zdCkKICAg IFNDSEVEVUxFRDogPDIwMTEtMDMtMjEgTW9uPgogICAgU2VlIFtbaHR0cDovL2xpc3RzLmdudS5v cmcvYXJjaGl2ZS9odG1sL2VtYWNzLW9yZ21vZGUvMjAxMS0wMy9tc2cwMTM3OS5odG1sXVt0aGlz IHBvc3RdXQoKKioqKiBUT0RPIFN5bnRheCBoaWdobGlnaHRpbmcgb2Ygc291cmNlIGNvZGUgYmxv Y2tzCiAgICAgLSBVc2UgaHRtbGZvbnRpZnkuZWwgbWF5YmUKCioqKiogVE9ETyBPcmdWZXJzZSBj YW4gYmUgYWVzdGhldGljYWxseSBtb3JlIHBsZWFzaW5nPwoKKioqKiBUT0RPIEV4cG9ydCBvZiB0 ZXN0Lm9yZyB3aXRoIExhVGVYOnZlcmJhdGltIG9wdGlvbgogICAgIEVxdWF0aW9ucyB1bmRlciAg W1tMYVRlWCBGcmFnbWVudHNdXSBnbyBpbnZpc2libGUKCioqKiogVE9ETyBCcm9rZW4gbGluayB3 aXRoaW4gW1tSZWZlcmVuY2VzIHRvIERlZGljYXRlZCBUYXJnZXRdXQoKKioqIFRPRE8gU3VwcG9y dCBmb3IgTWF0aE1MCiAgICBbMjAxMS0wMy0yOSBUdWVdCiAgICBNYXRoVG9XZWIgY291bGQgYmUg dXNlZCBmb3IgdGhpcy4gU2VlIFtbaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2Vt YWNzLW9yZ21vZGUvMjAxMS0wMy9tc2cwMTc1NS5odG1sXVtmb2xsb3dpbmcgcG9zdF1dLgoKKioq IFRPRE8gVmFsaWRhdGlvbiBmYWlsdXJlcyB3aXRoID1IVE1MX0NPTlRBSU5FUl9DTEFTUz0KICAg IFsyMDExLTA0LTAyIFNhdF0KICAgIDpQUk9QRVJUSUVTOgogICAgOkhUTUxfQ09OVEFJTkVSX0NM QVNTOiBjdXN0b20KICAgIDpFTkQ6CgogICAgVGhpcyBzZWN0aW9uIGludHJvZHVjZXMgdHdvIGlz c3Vlcy4KICAgIC0gQSB0ZXh0OnNwYW4gZWxlbWVudCBjYW5ub3Qgb2NjdXIgd2l0aGluIHRleHQ6 Ym9va21hcmstcmVmLiBIb3cKICAgICAgdG8gaGFuZGxlIHRoaXMuCiAgICAtIHRleHQ6c3R5bGUt bmFtZSBhdHRyaWJ1dGUgZm9yIHRleHQ6c2VjdGlvbiBjYW5ub3QgaGF2ZQogICAgICBzcGFjZXMu IEV4cGxvcmUgc3R5bGluZyBvZiBzZWN0aW9uIGluIE9wZW5PZmZpY2UuCgoqKiogVE9ETyBUYWJs ZXMgd2l0aGluIGEgbGlzdC1pdGVtCQkJCSAgIDpub2V4cG9ydDoKICAgIFRhYmxlcyBjYW5ub3Qg b2NjdXIgYXMgbGlzdC1pdGVtLiBPcGVuT2ZmaWNlIFdyaXRlciBzZWVtcyB0bwogICAgaGFuZGxl IHRoaXMgc2NlbmFyaW8gYXMgZm9sbG93czogV2hpbGUgZW5jb3VudGVyaW5nIGEgdGFibGUKICAg IHRlcm1pbmF0ZSB0aGUgdG9wLWxldmVsIGxpc3QuIEluc2VydCBmb3JtYXR0ZWQgVGFibGUgd2l0 aCB0aGUgc2FtZQogICAgaW5kZW50YXRpb24gYXMgaWYgaXQgd2VyZSBhIGxpc3QtaXRlbSBvZiB0 aGUgb3JpZ2luYWwgbGlzdC4gT25jZQogICAgdGhlIHRhYmxlIGlzIGluc2VydGVkLCByZS1vcGVu IHRoZSBsaXN0IGFuZCBzdGFydCBlbWl0dGluZyB0aGUKICAgIGZvbGxvd2luZyBsaXN0LWl0ZW1z IGF0IHRoZSByaWdodCBuZXN0ZWQgbGV2ZWwuCgogICAgRml4aW5nIHRoaXMgYnVnIHdvdWxkIHJl cXVpcmUgdGhhdCB0aGUgbGlzdCBjYWxsYmFja3MgcHJvdmlkZQogICAgaW5mb3JtYXRpb24gb24g dGhlIGluZGVudGF0aW9uIGxldmVsIG9mIHRoZSBjdXJyZW50IGxpc3QuIE5vdCBzdXJlCiAgICBo b3cgdG8gc2V0IHRoZSBUYWJsZSBpbmRlbnRhdGlvbiBwcm9wZXJ0aWVzPwoKICAgIC0gTDEuMQog ICAgLSBMMS4yCiAgICAgIC0gTDIuMQogICAgICAtIEwyLjIKCgl8ICAgfCBmb3JtdWxhIGRlYnVn Z2VyIGxhYmVsIHwgcHJvY2Vzc2luZyBzdGFnZSAgICAgICAgICAgfAoJfCAvIHwgPCAgICAgICAg ICAgICAgICAgICAgICB8IDw+ICAgICAgICAgICAgICAgICAgICAgICAgIHwKCXwtLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cgl8ICAgfCBS ZXN1bHQ6ICAgICAgICAgICAgICAgIHwgb3V0cHV0IG9mIENhbGMgICAgICAgICAgICAgfAoJfCAg IHwgRm9ybWF0OiAgICAgICAgICAgICAgICB8IHJlZm9ybWF0dGluZyB3aXRoID1wcmludGY9IHwK CgogICAgICAtIEwyLjMKICAgIC0gTDEuMwoKKioqIERPTkUgU3VwcG9ydCBmb3IgQ3VzdG9tIFN0 eWxlcwogICAgQ0xPU0VEOiA8MjAxMS0wMy0yNCBUaHU+CiAgICA6TE9HQk9PSzoKICAgIC0gQ0xP U0lORyBOT1RFICA8MjAxMS0wMy0yNCBUaHU+CiAgICA6RU5EOgoKICAgIFNlZSBmb2xsb3dpbmcg W1todHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3Mtb3JnbW9kZS8yMDExLTAz L21zZzAxNTEyLmh0bWxdW3Bvc3RdXQoKKioqIFRPRE8gRW1pdCBUYWJsZSBPZiBDb250ZW50cyBp biBOYXRpdmUgRm9ybWF0CioqKiBUT0RPIFB1bGwgQ2hhbmdlcyBmcm9tIE1hc3RlciBCcmFuY2gK ICAgIFNDSEVEVUxFRDogPDIwMTEtMDQtMDIgU2F0IC4rMjFkPgoKKioqIFRPRE8gTWVyZ2Ugd2l0 aCBNYXN0ZXIgYnJhbmNoIFswLzNdCiAgICAtIFsgXSBTeW5jaHJvbml6ZSB3aXRoIE1hc3RlciBi cmFuY2gKICAgIC0gWyBdIFVwZGF0ZSBPcmcncyBJbmZvIE1hbnVhbAogICAgLSBbIF0gRml4IEJ5 dGUtY29tcGlsYXRpb24sIERvY3N0cmluZ3MsIENvcHlyaWdodCwgbGljZW5zZSB0ZXh0CiAgICAg IGV0YyBldGMKCgoqIFNhbXBsZSBDb250ZW50IChQcm9vZiBPZiBDb25jZXB0KQoqKiBDaGFyYWN0 ZXIgU3R5bGVzCioqKiBCb2xkCgogICAgKlRoaXMgaXMgYm9sZCB0ZXh0KgoKKioqIEl0YWxpYwoK ICAgIC9UaGlzIGlzIGFuIGl0YWxpY2l6ZWQgdGV4dC8KCioqKiBVbmRlcmxpbmUKCiAgICBfVGhp cyBpcyBhbiB1bmRlcmxpbmVkIHRleHRfCgoqKiogQ29kZQoKICAgID1UaGlzIGlzIGEgY29kZSB0 ZXh0PQoKKioqIFZlcmJhdGltCgogICAgflRoaXMgaXMgYSB2ZXJiYXRpbSB0ZXh0fgoKKioqIFN0 cmlrZXRocm91Z2gKCiAgICArVGhpcyBpcyBhIHN0cmlrZXRob3J1Z2ggdGV4dCsKCioqKiBTdXBl ciBhbmQgU3Vic2NyaXB0cwoKICAgIFkgPSBhX3swfVheezJ9K2FfezF9WF57MX0rYV97Mn0KKiog TWlzY2VsbGFuZW91cwoKICAgSGVyZSBpcyBhIG5kYXNoIC0tLCBhIG1kYXNoIC0tLSwgYW4gZWxs aXBzaXMgLi4uLgoKICAgYW5kIGEgaG9yaXpvbnRhbCBsaW5lCiAgIC0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKKiogU3BlY2lhbCBlbnRpdGllcwoKICAgXGFscGhhXntufSA9IFxiZXRhXntufSArIFxn YW1tYV57bn0KCioqIFBhcmFncmFwaCBTdHlsZXMKKioqIFF1b3RhdGlvbgoKKioqKiBTdHlsZTEK CiMrQkVHSU5fUVVPVEUKICAgIEV2ZXJ5dGhpbmcgc2hvdWxkIGJlIG1hZGUgYXMgc2ltcGxlIGFz IHBvc3NpYmxlLAogICAgYnV0IG5vdCBhbnkgc2ltcGxlciAtLSBBbGJlcnQgRWluc3RlaW4KIytF TkRfUVVPVEUKCioqKiogUVVPVEUgU3R5bGUyCgogICAgIEV2ZXJ5dGhpbmcgc2hvdWxkIGJlIG1h ZGUgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLAogICAgIGJ1dCBub3QgYW55IHNpbXBsZXIgLS0gQWxi ZXJ0IEVpbnN0ZWluCgoqKiogVmVyc2UKCiMrQkVHSU5fVkVSU0UKICBHcmVhdCBjbG91ZHMgb3Zl cmhlYWQKICBUaW55IGJsYWNrIGJpcmRzIHJpc2UgYW5kIGZhbGwKICBTbm93IGNvdmVycyBFbWFj cwoKICAgICAgLS0gQWxleFNjaHJvZWRlcgojK0VORF9WRVJTRQoKKioqIENlbnRlcmVkCgojK0JF R0lOX0NFTlRFUgogICBUaGlzIGlzIGEgY2VudGVyZWQgcGFyYWdyYXBoLgojK0VORF9DRU5URVIK CioqKiBFeGFtcGxlCioqKiogRXhhbXBsZSBTdHlsZSAxCgojK2JlZ2luX2V4YW1wbGUKICBGaXJz dCBsaW5lIG9mIHRoZSBleGFtcGxlLgogIFNlY29uZCBsaW5lIG9mIHRoZSBleGFtcGxlLgojK2Vu ZF9leGFtcGxlCgoqKioqIEV4YW1wbGUgU3R5bGUgMgoKOiAgICAgRmlyc3QgbGluZSBvZiB0aGUg ZXhhbXBsZS4KOiAgICAgU2Vjb25kIGxpbmUgb2YgdGhlIGV4YW1wbGUuCgoKKioqIFNvdXJjZSBC bG9jawoqKioqIEVtYWNzIExpc3AgQmxvY2sKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAogIChkZWZ1 biBoZWxsb3dvcmxkICgpCiAgICAiIgogICAgKG1lc3NhZ2UgImhlbGxvIHdvcmxkIikpCiMrZW5k X3NyYwoKKioqKiBPcmcgU291cmNlIEJsb2NrCgojK2JlZ2luX3NyYyBvcmcKICAsKiBTb21lIEFw cG9pbnRtZW50CiAgLCAgU0NIRURVTEVEOiA8MjAxMC0xMS0xNyBXZWQ+CiMrZW5kX3NyYwoKKioq KiBBZHZhbmNlZCBTb3VyY2UgQmxvY2tzCiAgICAgQWR2YW5jZWQgc291cmNlIGJsb2NrcyB0YWtl cyB0aGUgZm9sbG93aW5nIG9wdGlvbnMKICAgICAtIFstK11uOiByZXN0YXJ0IG9yIGNvbnRpbnVl IG51bWJlcmluZwogICAgIC0gcjogcmVtb3ZlIGxhYmVscwogICAgIC0gazoga2VlcAogICAgIC0g aTogcHJlc2VydmUgaW5kZW50YXRpb24KICAgICAtIHQ6IHRleHQgYXJlYQogICAgIC0gdzogd2lk dGgKICAgICAtIGg6IGhlaWdodAogICAgICMrQkVHSU5fU1JDIGVtYWNzLWxpc3AgLW4KICAgICAo c2F2ZS1leGN1cnNpb24gICAgICAgICAgICAgICAgICAocmVmOnNjKQogICAgICAgIChpZ25vcmUp CiAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkgICAgICAgKHJlZjpqdW1wKQogICAgICMr RU5EX1NSQwoKICAgICBJbiBsaW5lIFtbKHNjKV1dIHdlIHJlbWVtYmVyIHRoZSBjdXJyZW50IHBv c2l0aW9uLiAgW1soanVtcCldW0xpbmUgKGp1bXApXV0ganVtcHMKICAgICB0byBwb2ludC1taW4u CgoqKioqIFRleHQgQXJlYXMgaW4gSFRNTCBleHBvcnQKCiAgICAgIytCRUdJTl9FWEFNUExFIC10 IC13IDQwCiAgICAgICAoZGVmdW4gb3JnLXhvciAoYSBiKQogICAgICAgICAgIkV4Y2x1c2l2ZSBv ci4iCiAgICAgICAgICAoaWYgYSAobm90IGIpIGIpKQogICAgICMrRU5EX0VYQU1QTEUKCioqIE5h dGl2ZSBIVE1MIGFuZCBPRFQKKioqIEhhbmRjcmFmdGVkIFBhcmEKCiMrYmVnaW5faHRtbAogIDxw PgogICAgVGhpcyBpcyBhIGhhbmR3cml0dGVuIGh0bWwgcGFyYQogIDwvcD4KIytlbmRfaHRtbAoK CiMrYmVnaW5fb2R0CiAgPHRleHQ6cD4gVGhpcyBpcyBhIGhhbmR3cml0dGVuIG9kdCBwYXJhPC90 ZXh0OnA+CiMrZW5kX29kdAoKIytIVE1MOiA8ZGl2IHN0eWxlPSJ3aWR0aDo1MCU7ZmxvYXQ6bGVm dDsiPgogICpFbmdsaXNoIEFscGhhYmV0cyoKICAgIC0gQQogICAgLSBCCiAgICAtIEMKICAqR3Jl ZWsgQWxwaGFiZXRzKgogICAgLSBBbHBoYQogICAgLSBCZXRhCiAgICAtIEdhbW1hCiAgIytodG1s OiA8L2Rpdj4KICAjK2h0bWw6IDxkaXYgc3R5bGU9IndpZHRoOjUwJTtmbG9hdDpyaWdodDsiPgog ICpSZXZlcnNlZCBFbmdsaXNoIEFscGhhYmV0cyoKICAgIC0gQwogICAgLSBCCiAgICAtIEEKICAq UmV2ZXJzZWQgR3JlZWsgQWxwaGFiZXRzKgogICAgLSBHYW1tYQogICAgLSBCZXRhCiAgICAtIEFs cGhhCiAgIytIVE1MOiA8L2Rpdj4KCgoqKiogQW4gRXF1YXRpb24gYXMgRW1iZWRlZCBNYXRoTUwK ICAgQSB0cmlnb25vbWV0cmljIGVxdWF0aW9uIGVtYmVkZGVkIGluICpNYXRoTUwqCgojK2JlZ2lu X29kdAogIDx0ZXh0OnA+CiAgICA8ZHJhdzpmcmFtZSBkcmF3OnN0eWxlLW5hbWU9ImZyMiIgZHJh dzpuYW1lPSJPYmplY3QzIiB0ZXh0OmFuY2hvci10eXBlPSJhcy1jaGFyIiBzdmc6d2lkdGg9IjYu MzcxY20iIHN2ZzpoZWlnaHQ9IjAuNDgzY20iIGRyYXc6ei1pbmRleD0iMyI+CiAgICAgIDxkcmF3 Om9iamVjdD4KICAgICAgICA8bWF0aCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRo L01hdGhNTCI+CiAgICAgICAgICA8c2VtYW50aWNzPgogICAgICAgICAgICA8bXJvdz4KICAgICAg ICAgICAgICA8bWk+c2luPC9taT4KICAgICAgICAgICAgICA8bXJvdz4KICAgICAgICAgICAgICAg IDxtcm93PgogICAgICAgICAgICAgICAgICA8bW8gc3RyZXRjaHk9ImZhbHNlIj4oPC9tbz4KICAg ICAgICAgICAgICAgICAgPG1yb3c+CiAgICAgICAgICAgICAgICAgICAgPG1pPkE8L21pPgogICAg ICAgICAgICAgICAgICAgIDxtbyBzdHJldGNoeT0iZmFsc2UiPis8L21vPgogICAgICAgICAgICAg ICAgICAgIDxtaT5CPC9taT4KICAgICAgICAgICAgICAgICAgPC9tcm93PgogICAgICAgICAgICAg ICAgICA8bW8gc3RyZXRjaHk9ImZhbHNlIj4pPC9tbz4KICAgICAgICAgICAgICAgIDwvbXJvdz4K ICAgICAgICAgICAgICAgIDxtaSBtYXRodmFyaWFudD0ibm9ybWFsIj49PC9taT4KICAgICAgICAg ICAgICAgIDxtaT5zaW48L21pPgogICAgICAgICAgICAgIDwvbXJvdz4KICAgICAgICAgICAgICA8 bWkgbWF0aHZhcmlhbnQ9Iml0YWxpYyI+QUNvczwvbWk+CiAgICAgICAgICAgICAgPG1yb3c+CiAg ICAgICAgICAgICAgICA8bWk+QjwvbWk+CiAgICAgICAgICAgICAgICA8bW8gc3RyZXRjaHk9ImZh bHNlIj4rPC9tbz4KICAgICAgICAgICAgICAgIDxtaT5jb3M8L21pPgogICAgICAgICAgICAgIDwv bXJvdz4KICAgICAgICAgICAgICA8bWk+QTwvbWk+CiAgICAgICAgICAgICAgPG1pPnNpbjwvbWk+ CiAgICAgICAgICAgICAgPG1pPkI8L21pPgogICAgICAgICAgICA8L21yb3c+CiAgICAgICAgICAg IDxhbm5vdGF0aW9uIGVuY29kaW5nPSJTdGFyTWF0aCA1LjAiPnNpbiAoQStCKSA9IHNpbiBBQ29z IEIgKyBjb3MgQSBzaW4gQgogICAgICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgICA8L3Nl bWFudGljcz4KICAgICAgICA8L21hdGg+CiAgICAgIDwvZHJhdzpvYmplY3Q+CiAgICA8L2RyYXc6 ZnJhbWU+CiAgPC90ZXh0OnA+CiMrZW5kX29kdAoKKiogTGlzdHMKKioqIFNpbXBsZSBMaXN0cwoq KioqIE51bWJlcmVkIExpc3QKCiAgICAgVGhpcyBpcyBhIG51bWJlcmVkIGxpc3QuCgogICAgIDEu IEwxTjEKICAgICAyLiBMMU4yCiAgICAgMy4gTDFOMwoKKioqKiBCdWxsZXRlZCBMaXN0CgogICAg IFRoaXMgaXMgYSBidWxsZXRlZCBsaXN0LgogICAgIC0gTDFCMQogICAgIC0gTDFCMgogICAgIC0g TDFCMwoKKioqKiBEZXNjcmlwdGlvbiBMaXN0CgogICAgIFRoZXJlIGlzIGEgbmVzdGVkIGRlc2Ny aXB0aW9uIGxpc3QgZG93biBiZWxvdwogICAgIC0gVGVybS0xIDo6IFRoaXMgaXMgYSBkZWZpbml0 aW9uIGZvciBUZXJtLTEgd2hpY2ggd3JhcHMgYXJvdW5kIHRvCiAgICAgICAgICAgICAgICAgdGhl IG5leHQgbGluZQogICAgIC0gVGVybS0yIDo6IFRoaXMgaXMgYSBkZWZpbml0aW9uIGZvciBUZXJt LTIgd2hpY2ggd3JhcHMgYXJvdW5kIHRvCiAgICAgICAgICAgICAgICAgdGhlIG5leHQgbGluZQog ICAgICAgLSBUZXJtLTIuMSA6OiBEZWZpbml0aW9uIGZvciBUZXJtLTIuMQogICAgICAgLSBUZXJt LTIuMiA6OiBEZWZpbml0aW9uIGZvciBUZXJtLTIuMgoKKioqKiBBIENvbXBsZXggTGlzdAoKICAg ICAxLiBMMU4xCiAgICAgICAJMS4gTDJOMgogICAgICAgCTIuIEwyTjMKICAgICAyLiBMMU40CiAg ICAgICAJKiBMMkIxCiAgICAgICAJKiBMMkIyCgkgIC0gTDNCMwoKCSAgICBGaXJzdCBwYXJhZ3Jh cGguCgoJICAgIFNlY29uZCBwYXJhZ3JhcGguCgoJICAtIEwzQjQKICAgICAzLiBMMU41CiAgICAg ICAJMS4gTDJONgogICAgICAgICAgIDEuIEwzTjcKCioqKiBBIFZlcnkgQ29tcGxleCBMaXN0Cioq KiogTG9yZCBvZiB0aGUgUmluZ3MKCiAgICAgTXkgZmF2b3JpdGUgc2NlbmVzIGFyZSAoaW4gdGhp cyBvcmRlcikKICAgICAxLiBUaGUgYXR0YWNrIG9mIHRoZSBSb2hpcnJpbQogICAgIDIuIEVvd3lu J3MgZmlnaHQgd2l0aCB0aGUgd2l0Y2gga2luZwogICAgICAgCSsgdGhpcyB3YXMgYWxyZWFkeSBt eSBmYXZvcml0ZSBzY2VuZSBpbiB0aGUgYm9vawogICAgICAgCSsgSSByZWFsbHkgbGlrZSBNaXJh bmRhIE90dG8uCiAgICAgICAgICAtIERlZmluaXRpb24tMSA6OiBEZXNjcmlwdGlvbi0xCiAgICAg ICAgICAtIERlZmluaXRpb24tMiA6OiBEZXNjcmlwdGlvbi0yCiAgICAgMy4gUGV0ZXIgSmFja3Nv biBiZWluZyBzaG90IGJ5IExlZ29sYXMKICAgICAgIAlIZSBtYWtlcyBhIHJlYWxseSBmdW5ueSBm YWNlIHdoZW4gaXQgaGFwcGVucy4KICAgICAgIAktIG9uIERWRCBvbmx5CiAgICAgQnV0IGluIHRo ZSBlbmQsIG5vIGluZGl2aWR1YWwgc2NlbmVzIG1hdHRlciBidXQgdGhlIGZpbG0gYXMgYSB3aG9s ZS4KICAgICBJbXBvcnRhbnQgYWN0b3JzIGluIHRoaXMgZmlsbSBhcmU6CiAgICAgLSBFbGlqYWgg V29vZCA6OiBIZSBwbGF5cyBGcm9kbwogICAgIC0gU2VhbiBBdXN0aW4gOjogSGUgcGxheXMgU2Ft LCBGcm9kbydzIGZyaWVuZC4gIEkgc3RpbGwgcmVtZW1iZXIKCQkgICAgICBoaW0gdmVyeSB3ZWxs IGZyb20gaGlzIHJvbGUgYXMgTWlrZXkgV2Fsc2ggaW4KCQkgICAgICBUaGUgR29vbmllcwogICAg ICAgLSBFbWJlZGRlZCBEZWZpbml0aW9uIDEgOjogRW1iZWRkZWQgRGVzY3JpcHRpb24gMQogICAg ICAgLSBFbWJlZGRlZCBEZWZpbml0aW9uIDIgOjogRW1iZWRkZWQgRGVzY3JpcHRpb24gMgoKKiog SW1hZ2VzCioqKiBJbWFnZSBVUkxzCiAgICBTZWUgdGhlIFlvdSBjYW4gc2VlIHRoZSBvZmZpY2lh bCBsb2dvIG9mIE9yZ21vZGUgaGVyZToKICAgIFtbaHR0cDovL29yZ21vZGUub3JnL2ltZy9vcmct bW9kZS11bmljb3JuLnBuZ11dCgoqKiogSW5saW5lZCBJbWFnZXMKKioqKiBBIHNpbXBsZSBpbmxp bmVkIGltYWdlCgogICAgW1suL29yZy1tb2RlLXVuaWNvcm4ucG5nXV0KCioqKiogQSBzaW1wbGUg aW1hZ2Ugd2l0aCBjYXB0aW9uIGFuZCBsYWJlbAoKIytDQVBUSU9OOiBVbmljb3JuIExvZ28KIytM QUJFTDogZmlnOjEwMjQKICBbWy4vb3JnLW1vZGUtdW5pY29ybi5wbmddXQoKKioqKiBBbiBpbWFn ZSB0aGF0IGlzIGV4cGxpY2l0bHkgc2l6ZWQKIytDQVBUSU9OOiBVbmljb3JuIExvZ28KIytMQUJF TDogZmlnOjEwMjUKIytBVFRSX09EVDogKDp3aWR0aCAxMCA6aGVpZ2h0IDEwKQogIFtbLi9vcmct bW9kZS11bmljb3JuLnBuZ11dCgoqKioqIEFuIGltYWdlIHRoYXQgaXMgc2NhbGVkCiMrQVRUUl9P RFQ6ICg6c2NhbGUgMC41KQogIFtbLi9vcmctbW9kZS11bmljb3JuLnBuZ11dCgoqKiogVGh1bWJu YWlscwogICAgVGhpcyBpcyBhIGNsaWNrYWJsZSBpbWFnZSBbW2h0dHA6Ly9vcmdtb2RlLm9yZ11b Li9vcmctbW9kZS11bmljb3JuLnBuZ11dCgoKKioqIFJlZmVyZW5jZSB0byBhbiBJbWFnZQogICAg UGxlYXNlIHJlZmVyIHRvIFxyZWZ7ZmlnOjEwMjR9IGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgoK KioqIExhVGVYIEZyYWdtZW50cwoKKioqKiBMYVRlWCBGcmFnbWVudDEKIyAgIFNlZSBvcmctZm9y bWF0LWxhdGV4LW9wdGlvbnMKCiAgICBUaGVyZSBpcyBhIGVxdWF0aW9uIGRvd24gYmVsb3cuCgog ICBcYmVnaW57ZXF1YXRpb259CiAgICAgZSA9IFxmcmFjezF9ezJ9bXZeMgogICBcZW5ke2VxdWF0 aW9ufQoKKioqKiBMYVRlWCBGcmFnbWVudDIKCiAgICAgXGJlZ2lue2VxdWF0aW9ufQogICAgIHg9 XHNxcnR7Yn0KICAgICBcZW5ke2VxdWF0aW9ufQoKICAgICBJZiAkYV4yPWIkIGFuZCBcKCBiPTIg XCksIHRoZW4gdGhlIHNvbHV0aW9uIG11c3QgYmUgZWl0aGVyICQkCiAgICAgYT0rXHNxcnR7Mn0g JCQgb3IgXFsgYT0tXHNxcnR7Mn0gXF0uCgoqKiBGaWxlIFVSTHMKKioqIFJlbGF0aXZlIFVSTAog ICAgW1suLi8uLi8uLi9saXNwL29yZy1odG1sLmVsXVtUaGlzIGlzIGEgcmVsYXRpdmUgbGluayB0 byBvcmctaHRtbC5lbF1dCgoqKiogQWJzb2x1dGUgVVJMCiAgICBbW2ZpbGU6fi9zcmMvb3JnbW9k ZS5vcmcvY29udHJpYi9vZHQvT3JnT2R0U3R5bGVzLnhtbF1bVGhpcyBpcyBhbiBhYnNvbHV0ZSBs aW5rIHRvIHN0eWxlcyBmaWxlXV0KCioqIExpbmtzCioqKiBUYXJnZXRzCioqKiogRnV6enkgVGFy Z2V0CioqKiogVGFyZ2V0IHdpdGggQ1VTVE9NSUQKICAgICA6UFJPUEVSVElFUzoKICAgICA6Q1VT VE9NX0lEOiBhYWJiY2NkZGVlZmYKICAgICA6RU5EOgoKKioqKiBEZWRpY2F0ZWQgVGFyZ2V0IFN0 eWxlMQojICAgPDxEZWRpY2F0ZWQgVGFyZ2V0Pj4KCioqKiogRGVkaWNhdGVkIFRhcmdldCBTdHls ZTIKCiAgICAgVGhlcmUgaXMgYSBkZWRpY2F0ZWQgdGFyZ2V0IGF0IHRoZSBlbmQgb2YgdGhpcyBz ZW50ZW5jZSAtCiAgICAgPDxEZWRpY2F0ZWQgVGFyZ2V0MT4+LgoKKioqKiA8PDxSYWRpb2VkIFRh cmdldD4+PgoKKioqIFJlZmVyZW5jZXMKKioqKiBSZWZlcmVuY2VzIHRvIEZ1enp5IFRhcmdldAoK ICAgICBUaGlzIGlzIGEgbGluayB0byBbW0Z1enp5IFRhcmdldF1dLgoKKioqKiBSZWZlcmVuY2Vz IHRvIENVU1RPTUlEIGxpbmtzCgogICAgIFRoaXMgaXMgYSBsaW5rIHRvIFtbI2FhYmJjY2RkZWVm Zl1bVGFyZ2V0IHdpdGggQ1VTVE9NSURdXS4gVGhpcyBpcyBub2Rlc2MgbGluayB0byBbWyNhYWJi Y2NkZGVlZmZdXS4KCioqKiogUmVmZXJlbmNlcyB0byBEZWRpY2F0ZWQgVGFyZ2V0CgogICAgIFRo ZXJlIGlzIGEgbGluayB0byBub2Rlc2MgW1tEZWRpY2F0ZWQgVGFyZ2V0XV0gaGVyZS4gVGhlcmUg aXMgYSBsaW5rCiAgICAgdG8gW1tEZWRpY2F0ZWQlMjBUYXJnZXRdW0p1bXAgdG8gRGVkaWNhdGVk IFRhcmdldF1dIGhlcmUuCgogICAgIFRoZXJlIGlzIGEgbGluayB0byBbW0RlZGljYXRlZCUyMFRh cmdldDFdW0RlZGljYXRlZCBUYXJnZXQxXV0gaGVyZS4KCioqKiogUmVmZXJlbmNlcyB0byBSYWRp b2VkIExpbmtzCgogICAgIFRoaXMgc2VjdGlvbiBoYXMgcmVmZXJlbmNlcyB0byBSYWRpb2VkIFRh cmdldC4gT25lIG1vcmUgcmVmZXJlbmNlCiAgICAgdG8gUmFkaW9lZCBUYXJnZXQuCgoqKiBUYWJs ZXMKKioqIEEgc2ltcGxlIE9yZ21vZGUgVGFibGUKCiAgICB8IEVTVCB8IE5ldyBZb3JrIHwgLTU6 MDAgfAogICAgfCBJU1QgfCBNYWRyYXMgICB8ICs1OjMwIHwKICAgIHwgQVNUIHwgQmFocmFpbiAg fCAgICAgICB8CgoKKioqIEEgZm9ybWF0dGVkIE9yZ21vZGUgVGFibGUKCiMrQ0FQVElPTjogQW4g RXhhbXBsZSBUYWJsZQojK0xBQkVMOiAgIHRhYmxlOjEwCgogICAgfCAgICAgTGFiZWxzIHwgQzEg ICAgICAgICAgfCBDMiAgICAgICAgICAgIHwgICAgICAgICAgIEMzIHwKICAgIHwtLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS18CiAgICB8ICAg ICAgICAgIC8gfCA8ICAgICAgICAgICB8ID4gICAgICAgICAgICAgfCAgICAgICAgICAgPD4gfAog ICAgfCAgICAgICAgPHI+IHwgPGw+ICAgICAgICAgfCA8Yz4gICAgICAgICAgIHwgICAgICAgICAg PHI+IHwKICAgIHwgUjEgKFJpZ2h0KSB8IFIxQzEgKExlZnQpIHwgUjFDMiAoQ2VudGVyKSB8IFIx QzMgKFJpZ2h0KSB8CiAgICB8ICAgICAgICAgUjIgfCBSMkMxICAgICAgICB8IFIyQzIgICAgICAg ICAgfCAgICAgICAgIFIyQzMgfAogICAgfC0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLXwKICAgIHwgICAgICAgICBSMyB8IFIzQzEgICAgICAg IHwgUjNDMiAgICAgICAgICB8ICAgICAgICAgUjNDMyB8CiAgICB8ICAgICAgICAgUjQgfCBSNEMx ICAgICAgICB8IFI0QzIgICAgICAgICAgfCAgICAgICAgIFI0QzMgfAogICAgfC0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLXwKICAgIHwgICAg ICAgICBSNSB8IFI1QzEgICAgICAgIHwgUjVDMiAgICAgICAgICB8ICAgICAgICAgUjVDMyB8CiAg ICB8ICAgICAgICAgUjYgfCBSNkMxICAgICAgICB8IFI2QzIgICAgICAgICAgfCAgICAgICAgIFI2 QzMgfAogICAgfCAgICAgICAgIFI3IHwgUjdDMSAgICAgICAgfCBSN0MyICAgICAgICAgIHwgICAg ICAgICAgICAgIHwKICAgIHwtLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS18CgoqKiogVGFibGUuZWwgVGFibGUgd2l0aCBubyBTcGFubmluZwoj IFNlZSBvcmctZXhwb3J0LXByZWZlci1uYXRpdmUtZXhwb3J0ZXItZm9yLXRhYmxlcwoKICAgICst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKwogICAgfFRlcm0gICAgICAgICAgIHxQZXJj ZW50YWdlICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsKICAgIHxR dWFydGVyICAgICAgICB8MjUlICAgICAgICAgICAgfAogICAgfE9uZS1Gb3VydGggICAgIHwgICAg ICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsKICAgIHxI YWxmICAgICAgICAgICB8NTAlICAgICAgICAgICAgfAogICAgfE9uZS1ieS1Ud28gICAgIHwgICAg ICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsKICAgIHxU aHJlZS1RdWFydGVycyB8NzUlICAgICAgICAgICAgfAogICAgfFRocmVlLUZvdXJ0aHMgIHwgICAg ICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsKICAgIHxG dWxsICAgICAgICAgICB8MTAwJSAgICAgICAgICAgfAogICAgfFdob2xlICAgICAgICAgIHwgICAg ICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSsKCioqKiBU YWJsZS5lbCBUYWJsZSB3aXRoIFNwYW5uaW5nCgogICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rCiAgICB8TmFtZSAgICAgIHxjbWQgICAgICAgIGNhbGxzICAg ICB8UGVyY2VudGFnZXwKICAgICstLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICstLS0t LS0tLS0tKwogICAgfHJnYiAgICAgICB8OTMgICAgICAgICA1MzQgICAgICAgfDQ2JSAgICAgICB8 CiAgICArLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLSsKICAgIHxY YWggICAgICAgfDgyICAgICAgICAgMDkwICAgICAgIHw0MCUgICAgICAgfAogICAgKy0tLS0tLS0t LS0rICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0rCiAgICB8dG90YWwgICAgIHwyMDMg ICAgICAgIDExOCAgICAgICB8MTAwJSAgICAgIHwKICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKwoKKioqIEFub3RoZXIgVGFibGUuZWwgVGFibGUgd2l0aCBT cGFubmluZwoKICAgICstLS0tLS0tLS0tLSstLS0tLS0tLS0tKwogICAgfCAgIFIxQzEgICAgfCAg IFIxQzIgICB8CiAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSsKICAgIHwgICAgICBSMkMxIFIy QzIgICAgICAgfAogICAgKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCiAgICB8ICAgUjNDMSAgICB8 ICAgUjNDMiAgIHwKICAgIHwgICAgICAgICAgICstLS0tLS0tLS0tKwogICAgfCAgIFI0QzEgICAg fCAgIFI0QzIgICB8CiAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSsKCioqIFRhYmxlIFJlZmVy ZW5jZWQKCiAgIFBsZWFzZSByZWZlciB0byBccmVme3RhYmxlOjEwfSBmb3IgZnVydGhlciBpbmZv cm1hdGlvbi4KCioqIEZvb3Rub3RlIERlZmluaXRpb25zIChQYXJ0IDEpCgpbZm46WFlaXSBUaGVy ZSBpcyBhIGxpbmsgdG8gW1todHRwOi8vT3JnbW9kZS5vcmddW09yZ21vZGUub3JnXV0uCgoqKiBG b290bm90ZSBVc2FnZQoqKiogUGxhaW4gRm9vdG5vdGVzCgogICAgVGhpcyBwYXJhZ3JhcGggaGFz IG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgZm9vdG5vdGUuIFRoaXMKICAgIGlzIHRo ZSBmaXJzdCByZWZlcmVuY2UgdG8gYSBmb290bm90ZSBbMV0uIFRoaXMgaXMgYSBzZWNvbmQKICAg IHJlZmVyZW5jZSB0byB0aGUgc2FtZSBmb290bm90ZSBbMV0uCgoqKiogTmFtZWQgRm9vdG5vdGVz CgogICAgRm9vdG5vdGUgbmFtZWQgWFlaIFtmbjpYWVpdLgoKKioqIElubGluZWQgRm9vdG5vdGUK CiAgICBJbmxpbmVkIGZvb3Rub3RlIFtmbjo6IGlubGluZSBkZWZpbml0aW9uXQoKKioqIE5hbWVk IGFuZCBJbmxpbmVkIEZvb3Rub3RlCgogICBOYW1lZCBhbmQgSW5saW5lZCBmb290bm90ZSBbZm46 bmFtZTogbmFtZWQgZGVmaW5pdGlvbl0KCiMgRm9vdG5vdGUgRGVmaW5pdGlvbnMgKFBhcnQgMikK ClsxXSBRdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFF1aWNrIGJyb3du IGZveCBqdW1wcyBvdmUKdGhlIGxhenkgZG9nLgoKKiogQmFjay10by1iYWNrIGZvb3Rub3RlcwoK ICAgU2FtcGxlIGV4YW1wbGVzIGRvd24gYmVsb3cgYXJlIHRha2VuIGZyb20KICAgaHR0cDovL2xp c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLW9yZ21vZGUvMjAxMS0wNS9tc2cwMDQyNi5o dG1sLgoKKioqIEZpcnN0IGhlYWRsaW5lCgojIFtmbjo6ZmFrZSBmb290bm90ZQoKICAgIExvcmVt IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg ZG8KICAgIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu YQogICAgYWxpcXVhW2ZuOjppbmxpbmUxXVsxXS4KCioqKiBTZWNvbmQgaGVhZGxpbmUKCiAgICBE dWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQg ZXNzZQogICAgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXJbZm46aW5sYWJl bDphbiBpbmxpbmUKICAgIGZvb3Rub3RlXVtmbjppbmxhYmVsMjpbW2h0dHA6Ly93d3cuZ29vZ2xl LmNvbV1bZ29vZ2xlXV0gdGhpc10uCgogICAgQ2FsbCBhbiBhbHJlYWR5IGRlZmluZWQgaW5saW5l IGZvb3Rub3RlW2ZuOmlubGFiZWxdLgoKKiogQWJvdXQgT3JnbW9kZQogICBPcmcgaXMgYSBtb2Rl IGZvciBrZWVwaW5nIG5vdGVzLCBtYWludGFpbmluZyBUT0RPIGxpc3RzLCBhbmQgZG9pbmcKICAg cHJvamVjdCBwbGFubmluZyB3aXRoIGEgZmFzdCBhbmQgZWZmZWN0aXZlIHBsYWluLXRleHQgc3lz dGVtLgoKICAgT3JnIGRldmVsb3BzIG9yZ2FuaXphdGlvbmFsIHRhc2tzIGFyb3VuZCBOT1RFUyBm aWxlcyB0aGF0IGNvbnRhaW4KICAgbGlzdHMgb3IgaW5mb3JtYXRpb24gYWJvdXQgcHJvamVjdHMg YXMgcGxhaW4gdGV4dC4gT3JnIGlzCiAgIGltcGxlbWVudGVkIG9uIHRvcCBvZiBPdXRsaW5lIG1v ZGUsIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGtlZXAKICAgdGhlIGNvbnRlbnQgb2YgbGFy Z2UgZmlsZXMgd2VsbCBzdHJ1Y3R1cmVkLiBWaXNpYmlsaXR5IGN5Y2xpbmcgYW5kCiAgIHN0cnVj dHVyZSBlZGl0aW5nIGhlbHAgdG8gd29yayB3aXRoIHRoZSB0cmVlLiBUYWJsZXMgYXJlIGVhc2ls eQogICBjcmVhdGVkIHdpdGggYSBidWlsdC1pbiB0YWJsZSBlZGl0b3IuIE9yZyBzdXBwb3J0cyBU T0RPIGl0ZW1zLAogICBkZWFkbGluZXMsIHRpbWVzdGFtcHMsIGFuZCBzY2hlZHVsaW5nLiBJdCBk eW5hbWljYWxseSBjb21waWxlcwogICBlbnRyaWVzIGludG8gYW4gYWdlbmRhIHRoYXQgdXRpbGl6 ZXMgYW5kIHNtb290aGx5IGludGVncmF0ZXMgbXVjaCBvZgogICB0aGUgRW1hY3MgY2FsZW5kYXIg YW5kIGRpYXJ5LiBQbGFpbiB0ZXh0IFVSTC1saWtlIGxpbmtzIGNvbm5lY3QgdG8KICAgd2Vic2l0 ZXMsIGVtYWlscywgVXNlbmV0IG1lc3NhZ2VzLCBCQkRCIGVudHJpZXMsIGFuZCBhbnkgZmlsZXMK ICAgcmVsYXRlZCB0byB0aGUgcHJvamVjdHMuIEZvciBwcmludGluZyBhbmQgc2hhcmluZyBvZiBu b3RlcywgYW4gT3JnCiAgIGZpbGUgY2FuIGJlIGV4cG9ydGVkIGFzIGEgc3RydWN0dXJlZCBBU0NJ SSBmaWxlLCBhcyBIVE1MLCBvciAoVE9ETwogICBhbmQgYWdlbmRhIGl0ZW1zIG9ubHkpIGFzIGFu IGlDYWxlbmRhciBmaWxlLiBJdCBjYW4gYWxzbyBzZXJ2ZSBhcyBhCiAgIHB1Ymxpc2hpbmcgdG9v bCBmb3IgYSBzZXQgb2YgbGlua2VkIHdlYiBwYWdlcy4KCiAgIEFzIGEgcHJvamVjdCBwbGFubmlu ZyBlbnZpcm9ubWVudCwgT3JnIHdvcmtzIGJ5IGFkZGluZyBtZXRhZGF0YSB0bwogICBvdXRsaW5l IG5vZGVzLiBCYXNlZCBvbiB0aGlzIGRhdGEsIHNwZWNpZmljIGVudHJpZXMgY2FuIGJlIGV4dHJh Y3RlZAogICBpbiBxdWVyaWVzIGFuZCBjcmVhdGUgZHluYW1pYyBhZ2VuZGEgdmlld3MuCgogICBP cmcgbW9kZSBjb250YWlucyB0aGUgT3JnIEJhYmVsIGVudmlyb25tZW50IHdoaWNoIGFsbG93cyB5 b3UgdG8gd29yawogICB3aXRoIGVtYmVkZGVkIHNvdXJjZSBjb2RlIGJsb2NrcyBpbiBhIGZpbGUs IHRvIGZhY2lsaXRhdGUgY29kZQogICBldmFsdWF0aW9uLCBkb2N1bWVudGF0aW9uLCBhbmQgdGFu Z2xpbmcuCgogICBPcmcncyBhdXRvbWF0aWMsIGNvbnRleHQtc2Vuc2l0aXZlIHRhYmxlIGVkaXRv ciB3aXRoIHNwcmVhZHNoZWV0CiAgIGNhcGFiaWxpdGllcyBjYW4gYmUgaW50ZWdyYXRlZCBpbnRv IGFueSBtYWpvciBtb2RlIGJ5IGFjdGl2YXRpbmcgdGhlCiAgIG1pbm9yIE9yZ3RibCBtb2RlLiBV c2luZyBhIHRyYW5zbGF0aW9uIHN0ZXAsIGl0IGNhbiBiZSB1c2VkIHRvCiAgIG1haW50YWluIHRh YmxlcyBpbiBhcmJpdHJhcnkgZmlsZSB0eXBlcywgZm9yIGV4YW1wbGUgaW4gTGFUZVguIFRoZQog ICBzdHJ1Y3R1cmUgZWRpdGluZyBhbmQgbGlzdCBjcmVhdGlvbiBjYXBhYmlsaXRpZXMgY2FuIGJl IHVzZWQgb3V0c2lkZQogICBPcmcgd2l0aCB0aGUgbWlub3IgT3Jnc3RydWN0IG1vZGUuCgogICBP cmcga2VlcHMgc2ltcGxlIHRoaW5ncyBzaW1wbGUuIFdoZW4gZmlyc3QgZmlyZWQgdXAsIGl0IHNo b3VsZCBmZWVsCiAgIGxpa2UgYSBzdHJhaWdodGZvcndhcmQsIGVhc3kgdG8gdXNlIG91dGxpbmVy LiBDb21wbGV4aXR5IGlzIG5vdAogICBpbXBvc2VkLCBidXQgYSBsYXJnZSBhbW91bnQgb2YgZnVu Y3Rpb25hbGl0eSBpcyBhdmFpbGFibGUgd2hlbiB5b3UKICAgbmVlZCBpdC4gT3JnIGlzIGEgdG9v bGJveCBhbmQgY2FuIGJlIHVzZWQgaW4gZGlmZmVyZW50IHdheXMgYW5kIGZvcgogICBkaWZmZXJl bnQgZW5kcywgZm9yIGV4YW1wbGU6CgogICAtICBhbiBvdXRsaW5lIGV4dGVuc2lvbiB3aXRoIHZp c2liaWxpdHkgY3ljbGluZyBhbmQgc3RydWN0dXJlIGVkaXRpbmcKICAgLSAgYW4gQVNDSUkgc3lz dGVtIGFuZCB0YWJsZSBlZGl0b3IgZm9yIHRha2luZyBzdHJ1Y3R1cmVkIG5vdGVzCiAgIC0gIGEg VE9ETyBsaXN0IGVkaXRvcgogICAtICBhIGZ1bGwgYWdlbmRhIGFuZCBwbGFubmVyIHdpdGggZGVh ZGxpbmVzIGFuZCB3b3JrIHNjaGVkdWxpbmcKICAgLSAgYW4gZW52aXJvbm1lbnQgaW4gd2hpY2gg dG8gaW1wbGVtZW50IERhdmlkIEFsbGVuJ3MgR1REIHN5c3RlbQogICAtICBhIHNpbXBsZSBoeXBl cnRleHQgc3lzdGVtLCB3aXRoIEhUTUwgYW5kIExhVGVYIGV4cG9ydAogICAtICBhIHB1Ymxpc2hp bmcgdG9vbCB0byBjcmVhdGUgYSBzZXQgb2YgaW50ZXJsaW5rZWQgd2VicGFnZXMKICAgLSAgYW4g ZW52aXJvbm1lbnQgZm9yIGxpdGVyYXRlIHByb2dyYW1taW5nCgogICBUaGVyZSBpcyBhIHdlYnNp dGUgZm9yIE9yZyB3aGljaCBwcm92aWRlcyBsaW5rcyB0byB0aGUgbmV3ZXN0CiAgIHZlcnNpb24g b2YgT3JnLCBhcyB3ZWxsIGFzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24sIGZyZXF1ZW50bHkgYXNr ZWQKICAgcXVlc3Rpb25zIChGQVEpLCBsaW5rcyB0byB0dXRvcmlhbHMsIGV0Yy4gVGhpcyBwYWdl IGlzIGxvY2F0ZWQgYXQKICAgaHR0cDovL29yZ21vZGUub3JnLgoKKiBGb290bm90ZXMKCltmbjox XSBUaGlzIGZvb3Rub3RlIHJlZmVyZW5jZWQgYmVmb3JlIGZpcnN0IGhlYWRsaW5lLgoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --=-=-= Content-Type: text/plain Footnotes: [1] This is mostly because I don't know nothing about ert. -- --=-=-=--