From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Harkins Subject: Seeking advice on a worg contribution Date: Sun, 04 May 2014 09:38:27 +0800 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="trojita=_eb75e931-e110-42dc-81f7-ff9824c2de7c" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51302) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WglOC-0005Kc-32 for emacs-orgmode@gnu.org; Sat, 03 May 2014 21:38:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WglO4-0007MR-EG for emacs-orgmode@gnu.org; Sat, 03 May 2014 21:38:48 -0400 Received: from mail-pa0-x234.google.com ([2607:f8b0:400e:c03::234]:35691) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WglO3-0007MJ-TB for emacs-orgmode@gnu.org; Sat, 03 May 2014 21:38:40 -0400 Received: by mail-pa0-f52.google.com with SMTP id kx10so7499682pab.39 for ; Sat, 03 May 2014 18:38:38 -0700 (PDT) Received: from localhost ([218.192.147.19]) by mx.google.com with ESMTPSA id i10sm31965497pat.36.2014.05.03.18.38.36 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 03 May 2014 18:38:38 -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: orgmode This is a multipart/mixed message in MIME format. --trojita=_eb75e931-e110-42dc-81f7-ff9824c2de7c Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable I finally finished a draft (attached, and not carefully proofread yet) of a=20= new worg page to outline what I had to do for a big Beamer publishing=20 project. Could somebody look it over and advise of any formatting problems?=20= I guess it should be basically OK; I copied the standard worg header, and I=20= stuck to normal org markup throughout. A specific formatting question: I have several source code blocks with=20 captions. The captions are formatted exactly the same as normal paragraphs.=20= Will worg use a different CSS style for captions? If not, what do I have to=20= do to make it do that? (At least, display the captions slightly smaller.) Thanks, hjh --trojita=_eb75e931-e110-42dc-81f7-ff9824c2de7c Content-Type: text/plain Content-Disposition: attachment; filename=beamer-dual-format.org Content-Transfer-Encoding: base64 IytUSVRMRTogICAgIFVzaW5nIEJlYW1lciBleHBvcnQgdG8gcHJvZHVjZSBzbGlkZXNob3dzIGFu ZCBhcnRpY2xlLXN0eWxlIGhhbmRvdXRzIGZyb20gdGhlIHNhbWUgb3JnIHNvdXJjZQojK0FVVEhP UjogICAgSmFtZXMgSGFya2lucwojK0VNQUlMOiAgICAgCiMrREFURTogICAgICAKIytMQU5HVUFH RTogIGVuCiMrT1BUSU9OUzogICBIOjIgbnVtOm5pbCB0b2M6dCBcbjpuaWwgOjp0IHw6dCBeOnQg LTp0IGY6dCAqOnQKIytPUFRJT05TOiAgIHRleDp0IGQ6KEhJREUpIHRhZ3M6bm90LWluLXRvYwoj K1NUQVJUVVA6ICAgZm9sZAojK0NBVEVHT1JZOiAgIHdvcmcKCiogUHJvamVjdCBvdmVydmlldwoK VGhlIHByb2plY3QgaXMgdHJhaW5pbmcgbWF0ZXJpYWwgZm9yIGEgb25lLXdlZWsgaW50ZW5zaXZl IHdvcmtzaG9wIGluIGF1ZGlvIApzeW50aGVzaXMgYW5kIGxpdmUtcGVyZm9ybWFuY2UgY29udHJv bCBpbiB0aGUgU3VwZXJDb2xsaWRlciBwcm9ncmFtbWluZyAKbGFuZ3VhZ2UuIFRoZSB3b3Jrc2hv cCB3YXMgY29tbWlzc2lvbmVkIGJ5IENIRUFSUywgdGhlIENoaW5hIApFbGVjdHJvQWNvdXN0aWMg UmVzb3VyY2UgU3VydmV5LCBhbmQgd2lsbCBiZSBnaXZlbiBmaXJzdCBpbiBTaGVueWFuZywgUFJD LgoKSSB3YW50ZWQgdG8gaGF2ZSB0aG9yb3VnaCBwcmVzZW50YXRpb24gc2xpZGVzIGF2YWlsYWJs ZSwgZm9yIHNvbWUga2luZHMgb2YgCmV4cGxhbmF0aW9uIHRoYXQgYXJlIGRpZmZpY3VsdCBvdGhl cndpc2UsIGFuZCBhbHNvIGdpdmUgYSBQREYgYm9vayB0byAKd29ya3Nob3AgYXR0ZW5kZWVzIGZv ciB0aGVpciBmdXR1cmUgcmVmZXJlbmNlLiBEdXJpbmcgdGhlIHdyaXRpbmcgcHJvY2VzcywgCnRo ZSBib29rIGJlY2FtZSBtb3JlIGltcG9ydGFudCwgYXMgYSB3YXkgdG8gcHJvdmlkZSBjb3B5cmln aHQtZnJlZSAKdHV0b3JpYWxzIGZvciB0cmFuc2xhdGlvbiBpbnRvIENoaW5lc2UuIFRoZSBib29r IGV2ZW50dWFsbHkgZ3JldyB0byAyMzcgCnBhZ2VzICh3aXRoLCBhZG1pdHRlZGx5LCBtb3JlIHdo aXRlIHNwYWNlIHBlciBwYWdlIHRoYW4gYSBzdGFuZGFyZCBwcm9zZSAKbGF5b3V0KSwgcmVuZGVy ZWQgZnJvbSAxMDg0OSBsaW5lcyBvZiBMYVRlWCBjb2RlLCBhbGwgb2Ygd2hpY2ggd2VyZSAKZ2Vu ZXJhdGVkIGRpcmVjdGx5IGJ5IHRoZSBvcmcgQmVhbWVyIGV4cG9ydGVyIHdpdGggbm8gbWFudWFs IGVkaXRzIHRvIGFueSAKb2YgdGhlID10ZXg9IGZpbGVzLgoKQWNoaWV2aW5nIHRoYXQgcmVxdWly ZWQgc29tZSBpbmdlbnVpdHkgaW4gYm90aCBvcmcgbW9kZSBhbmQgTGFUZVguIFRoaXMgCndvcmcg cGFnZSBkb2N1bWVudHMgdGhlIHByb2plY3QncyBkZXNpZ24gYW5kIGltcGxlbWVudGF0aW9uLgoK KiBSZXF1aXJlbWVudHMKCi0gT25lIG9yZyBzb3VyY2UgdG8gcHJvZHVjZSBzbGlkZXNob3dzIGFu ZCBwcmludGVkIG1hdGVyaWFsLgogIC0gQmVhbWVyIGV4cG9ydCBmb3IgYm90aCBmb3JtYXRzLgog ICAgLSBOb3JtYWwgL2JlYW1lci8gZG9jdW1lbnQgY2xhc3MgZm9yIHNsaWRlcy4KICAgIC0gRG9j dW1lbnQgY2xhc3MgL2FydGljbGUvIGZvciB0aGUgYm9vaywgd2l0aAogICAgICA9XHVzZXBhY2th Z2V7YmVhbWVyYXJ0aWNsZX09IGluIHRoZSBwcmVhbWJsZS4KICAtIEhlYWRlciBmaWxlcyB0byBk ZXRlcm1pbmUgUERGIGxheW91dC4KICAtIEFkZGl0aW9uYWwgZXhwbGFuYXRvcnkgdGV4dCB0aGF0 IHdpbGwgYmUgb21pdHRlZCBmcm9tIHNsaWRlc2hvd3MuCiAgICAtIFVzZSB0aGUgYmVhbWVyIGNs YXNzIG9wdGlvbiAvaWdub3Jlbm9uZnJhbWV0ZXh0LyBmb3Igc2xpZGVzLgogICAgLSBQdXQgbm90 ZXMgdW5kZXIgZnJhbWUtbGV2ZWwgaGVhZGluZ3MsIHdpdGggdGhlIGJlYW1lciB0YWcKICAgICAg PUJfaWdub3JlaGVhZGluZz0uCgotIEluZGV4ZWQgZ2xvc3NhcmllcyBvZiB0ZXJtcywgY2xhc3Nl cyBhbmQgbWV0aG9kcywgd2l0aG91dCB3cml0aW5nCiAgY3VtYmVyc29tZSBMYVRlWCBzeW50YXgg Zm9yIHRoZSBnbG9zc2FyaWVzIHBhY2thZ2UuCiAgLSBLZWVwIGdsb3NzYXJ5IGRlZmluaXRpb25z IGluIG9yZyB0YWJsZXMuCiAgLSBDb252ZXJ0IHRvIExhVGVYIHN5bnRheCB1c2luZyBlbWFjcy1s aXNwIHNvdXJjZSBibG9ja3MuCiAgLSBDb252ZXJ0IG9ubHkgb25jZSBpbiB0aGUgYm9vayBjb21i aW5pbmcgYWxsIGNoYXB0ZXJzLCBidXQgb25jZSBwZXIgc2xpZGVzaG93LgoKLSBFeHRyYWN0IGNh cHRpb25lZCBzb3VyY2UgYmxvY2tzIGludG8gcGxhaW4tdGV4dCBmaWxlcyBmb3IgU3VwZXJDb2xs aWRlci4KICAtID1vcmctZWxlbWVudC1tYXA9IGRpZCBhbGwgdGhlIGhhcmQgd29yay4KCiogSW1w bGVtZW50YXRpb24KCioqIE9uZSBzb3VyY2U6IEZpbGUgc3RydWN0dXJlClRoZSBMYVRlWCBwcmVh bWJsZSBjb250cm9scyB0aGUgb3V0cHV0IGZvcm1hdDsgc28sIHRvIGhhdmUgZGlmZmVyZW50IG91 dHB1dCAKZnJvbSB0aGUgc2FtZSBvcmcgc291cmNlLCB0aGUgcHJlYW1ibGUgbXVzdCBiZSBzZXBh cmF0ZSBmcm9tIHRoZSBjb250ZW50LiAKSGVyZSwgd2UgaGF2ZSB0d28gaGVhZGVyczoKCi0gPXNs aWRlaGVhZC5vcmc9LCB3aGljaCBzcGVjaWZpZXMgdGhlIGRvY3VtZW50IGNsYXNzIC9iZWFtZXIv IHdpdGgKICB0aGUgL3ByZXNlbnRhdGlvbi8gb3B0aW9uLgotID1wcmludGhlYWQyLm9yZz0sIHdo aWNoIHNwZWNpZmllcyB0aGUgL2FydGljbGUvIGNsYXNzIGFuZCBhZGRzIHRoZQogIC9iZWFtZXJh cnRpY2xlLyBwYWNrYWdlIHNvIHRoYXQgdGhlIGFydGljbGUgY2xhc3MgY2FuIGludGVycHJldAog IGJlYW1lciBmb3JtYXR0aW5nIGNvbW1hbmRzLgoKT3RoZXIgZm9ybWF0dGluZyBkaWZmZXJlbmNl cyBhcmUgaW1wbGVtZW50ZWQgaGVyZS4gRm9yIGluc3RhbmNlLCBpbmxpbmUgCmNvZGUgZnJhZ21l bnRzIGFyZSBjb2xvcmVkIGdyZWVuIGluIHRoZSBzbGlkZXMsIGJ1dCByZW1haW4gYmxhY2sgaW4g dGhlIAphcnRpY2xlLgoKSGVhZGVyIGZpbGVzIGNvbnRhaW4gbm90aGluZyBzcGVjaWZpYyB0byBh bnkgY2hhcHRlciwgYW5kIGNvbnRlbnQgZmlsZXMgYXJlIApzdHJpY3RseSBjb250ZW50LCBubyBm b3JtYXR0aW5nIGRlZmluaXRpb25zLiBOZWl0aGVyIG9mIHRoZXNlIGFyZSBleHBvcnRlZCAKZGly ZWN0bHkuIFRoZSBleHBvcnQgZmlsZXMgcHJvdmlkZSB0aGUgdGl0bGUgYW5kIGF1dGhvciBmaWVs ZHMsIGFuZCBpbmNsdWRlIAooPSMrSU5DTFVERTo9KSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIGFu ZCBjb250ZW50IGZpbGVzLiBUaGV5IGFsc28gaW5jbHVkZSAKdGhlIGdsb3NzYXJ5IGZpbGU7IGRl dGFpbHMgdG8gZm9sbG93LgoKIytuYW1lOiBzbGlkZWhlYWQKIytjYXB0aW9uOiBQcmltYXJ5IGV4 cG9ydCBvcHRpb25zIGZvciBzbGlkZXNob3cgZm9ybWF0LgojK2JlZ2luX3NyYyBvcmcKICAsIytz dGFydHVwOiBiZWFtZXIKICAsIytMYVRlWF9DTEFTUzogYmVhbWVyCiAgLCMrTGFUZVhfQ0xBU1Nf T1BUSU9OUzogW2lnbm9yZW5vbmZyYW1ldGV4dCxwcmVzZW50YXRpb25dCiAgLCMrQkVBTUVSX1RI RU1FOiBkZWZhdWx0CiMrZW5kX3NyYwoKIytuYW1lOiBwcmludGhlYWQKIytjYXB0aW9uOiBQcmlt YXJ5IGV4cG9ydCBvcHRpb25zIGZvciBhcnRpY2xlIGZvcm1hdC4KIytiZWdpbl9zcmMgb3JnCiAg LCMrc3RhcnR1cDogYmVhbWVyCiAgLCMrTGFUZVhfQ0xBU1M6IGFydGljbGUKICAsIytMYVRlWF9D TEFTU19PUFRJT05TOiBbYTRwYXBlcix0d29zaWRlLDExcHRdCiAgLCMrQkVBTUVSX1RIRU1FOiBk ZWZhdWx0CiAgLCMrTEFURVhfSEVBREVSOiBcdXNlcGFja2FnZXtiZWFtZXJhcnRpY2xlfQojK2Vu ZF9zcmMKCiMrbmFtZTogY29udGVudHMKIytjYXB0aW9uOiBCZWdpbm5pbmcgb2Ygb25lIG9mIHRo ZSBjb250ZW50cyBmaWxlcy4KIytiZWdpbl9zcmMgb3JnCiAgLCMrc3RhcnR1cDogYmVhbWVyCiAg CiAgLCogV29ya3Nob3AgaW50cm9kdWN0aW9uCiAgLCoqIFdvcmtzaG9wIGludHJvZHVjdGlvbgog ICwqKiogV29ya3Nob3AgZ29hbHMKICAsKioqKiBUZWFjaCBzeW50aGVzaXMgdGVjaG5pcXVlcyBi eSBleHBlcmltZW50YXRpb24KICAgICAgIC0gU0MgbGV0cyB1cyB0YWtlIGFwYXJ0IHN5bnRoZXNp emVyIGNvbXBvbmVudHMsIGFuZCBwdXQgdGhlbSBiYWNrIHRvZ2V0aGVyLgogICAgICAgLSBTQydz IC9KdXN0LUluLVRpbWUgbGlicmFyeS8gbWFrZXMgaXQgZWFzeSB0byByZS1wYXRjaCBjb21wb25l bnRzIGludGVyYWN0aXZlbHkuCiAgLCoqKiogVGVhY2ggdGVjaG5pcXVlcyBmb3IgbGl2ZSBjb250 cm9sIGFuZCBwZXJmb3JtYW5jZQogICAgICAgLSBDb250cm9sIGJ5IGdyYXBoaWMgaW50ZXJmYWNl cyBhbmQgZXh0ZXJuYWwgZGV2aWNlcy4KICAgICAgIC0gRW5kIGdvYWw6IEEgZ3JvdXAgY29tcG9z aXRpb24sIHRvIHBlcmZvcm0gdG9nZXRoZXIuCiAgLCoqKiogKkhhdmUgZnVuIHByb2dyYW1taW5n ISoKICAgICAgIC0gRW1waGFzaXMgb24gL3BsYXkvIG92ZXIgL2NvcnJlY3RuZXNzLy4KIytlbmRf c3JjCgojK25hbWU6IHNsaWRlRXhwb3J0CiMrY2FwdGlvbjogVGhlIHNsaWRlc2hvdyBkb2N1bWVu dCB0aGF0IGlzIGFjdHVhbGx5IGV4cG9ydGVkLgojK2JlZ2luX3NyYyBvcmcKICAsIytzdGFydHVw OiBiZWFtZXIKICAKICAsIytUSVRMRTogU3VwZXJDb2xsaWRlciBXZWVrLCBEYXkgMSBcXCBJbnRy b2R1Y3RvcnkgU0MsIFN5bnRoZXNpcyBhbmQgU2VxdWVuY2luZwogICwjK0RBVEU6IFx0b2RheQog ICwjK0FVVEhPUjogSC4gSmFtZXMgSGFya2lucwogIAogICwjK0lOQ0xVREU6ICIuLi9zbGlkZWhl YWQub3JnIgogICwjK2luY2x1ZGU6ICIuLi9nbG9zc2FyeS5vcmciCiAgCiAgLCMraW5jbHVkZTog Ii4vMDEtY29udGVudHMub3JnIiA6bWlubGV2ZWwgMQojK2VuZF9zcmMKCkkgc2V0dGxlZCBvbiBh IHByb2plY3QgbGF5b3V0IGxpa2UgdGhpczoKCi0gPXNob3dzLz0gZGlyZWN0b3J5CiAgLSA9c2xp ZGVoZWFkLm9yZz06IExhVGVYIHByZWFtYmxlIGZvciBCZWFtZXIncyBwcmVzZW50YXRpb24gc3R5 bGUKICAtID1wcmludGhlYWQyLm9yZz06IFByZWFtYmxlIGZvciB0aGUgYXJ0aWNsZSBkb2N1bWVu dCBjbGFzcywgd2l0aCB0aGUgYmVhbWVyYXJ0aWNsZSBwYWNrYWdlCiAgLSA9Z2xvc3Nhcmllcy5v cmc9OiBUYWJsZXMgb2YgZ2xvc3NhcnkgZGVmaW5pdGlvbnMsIGFuZCBlbWFjcy1saXNwIHNvdXJj ZSBibG9ja3MgZm9yIGNvbnZlcnNpb24KICAtID0wMS1pbnRyby89IGRpcmVjdG9yeQogICAgLSA9 MDEtY29udGVudHMub3JnPTogU2xpZGUgY29udGVudHMsIG5vIGhlYWRlciBpbmZvIGF0IGFsbAog ICAgLSA9MDEtc2xpZGVzaG93Lm9yZz06IERlZmluZXMgdGhpcyBjaGFwdGVyJ3MgaGVhZGVyICh0 aXRsZSwKICAgICAgYXV0aG9yLCBldGMuKSwgaW5jbHVkZXMgPXNsaWRlaGVhZC5vcmc9LCA9Z2xv c3Nhcmllcy5vcmc9IGFuZAogICAgICA9MDEtY29udGVudHMub3JnPQogICAgLSA9aW1nLz0gZGly ZWN0b3J5IChwbmcgYW5kIFBERiBmaWxlcyBmb3IgUGFydCBJKQogIC0gPTAyLXN5bnRoLz0gZGly ZWN0b3J5LCBzdHJ1Y3R1cmVkIGxpa2UgPTAxPQogICAgU2ltaWxhciBkaXJlY3RvcmllcyBmb3Ig Y2hhcHRlcnMgMy0tNgogIC0gPWZ1bGwtYXJ0aWNsZS89IGRpcmVjdG9yeQogICAgLSA9ZnVsbC1h cnRpY2xlLm9yZz06IERlZmluZXMgdGl0bGUgZXRjLiwgaW5jbHVkZXMKICAgICAgPXByaW50aGVh ZDIub3JnPSwgPWdsb3NzYXJpZXMub3JnPSwgL2FsbC8gY29udGVudCBmaWxlcyBhbmQKICAgICAg YWRkaXRpb25hbCBzZWN0aW9ucyBhdCB0aGUgZW5kIGZvciBnbG9zc2FyaWVzCgpUbyByZW5kZXIg dGhlIHNsaWRlcyBmb3IgZGF5IDEsIEkgdmlzaXQgPTAxLXNsaWRlc2hvdy5vcmc9IGluIEVtYWNz CmFuZCBleHBvcnQgdG8gQmVhbWVyLiBUaGUgcHJpbnQtIG9yIHRhYmxldC1yZWFkeSBib29rIGNv bWVzIGZyb20KPWZ1bGwtYXJ0aWNsZS5vcmc9LiBUaGlzIHNob3VsZCBhbHNvIGJlIGV4cG9ydGVk IGJ5IHRoZSBCZWFtZXIKYmFja2VuZCwgZXZlbiB0aG91Z2ggdGhlIGRvY3VtZW50IGNsYXNzIGlz IC9hcnRpY2xlLy4gVGhpcyBtYWtlcwpzZW5zZSwgaG93ZXZlcjsgdGhlIG9yZyBzb3VyY2UgdXNl cyBCZWFtZXItc3BlY2lmaWMgbWFya3VwIHdoaWNoIHRoZQpub3JtYWwgTGFUZVggYmFja2VuZCB3 aWxsIG5vdCB1bmRlcnN0YW5kLiBJdCdzIExhVGVYIGl0c2VsZiB0aGF0CiJjb252ZXJ0cyIgdGhl IGZvcm1hdCB0byBhcnRpY2xlIHRocm91Z2ggaW5jbHVzaW9uIG9mIHRoZQovYmVhbWVyYXJ0aWNs ZS8gcGFja2FnZS4KCioqKiBFeHBsYW5hdG9yeSBwcm9zZQpTbGlkZXMgbWluaW1pemUgdGhlIGFt b3VudCBvZiB0ZXh0IG9uIG9uZSBzY3JlZW4sIGJ5IHVzaW5nIHNob3J0ZXIsIHNpbXBsZXIgCnNl bnRlbmNlcyBpbiBvdXRsaW5lIGxheW91dHMuIFNvbWUgaXNzdWVzIGNhbGwgZm9yIGEgbmFycmF0 aXZlIGRpc2N1c3Npb24gCmluIHByb3NlLiBQcm9zZSBzaG91bGQgL25vdC8gYmUgc2hvd24gaW4g YSBzbGlkZSBwcmVzZW50YXRpb24hCgpCZWFtZXIgY2FuIG9taXQgdGV4dCBmcm9tIGEgcHJlc2Vu dGF0aW9uIHVzaW5nIHRoZSBkb2N1bWVudCBjbGFzcyBvcHRpb24gCi9pZ25vcmVub25mcmFtZXRl eHQvLiBUZXh0IHRoYXQgYXBwZWFycyBvdXRzaWRlIG9mIGEgL2ZyYW1lLyBlbnZpcm9ubWVudCAK d2lsbCBiZSBzdXBwcmVzc2VkLiBUaGUgdHJpY2sgaXMgdG8gZ2V0IG9yZyB0byBleHBvcnQgdGV4 dCBvdXRzaWRlIG9mIGEgCmZyYW1lLCB3aXRob3V0IGFmZmVjdGluZyBzZWN0aW9uaW5nLgoKT3Jn IGNyZWF0ZXMgYSBmcmFtZSB3aGVuIGl0IGVuY291bnRlcnMgYSBoZWFkbGluZSBhdCB0aGUgbGV2 ZWwgZGVmaW5lZCBieSAKdGhlID1IOj0gZXhwb3J0IG9wdGlvbiwgYW5kIGl0IGNsb3NlcyB0aGUg ZnJhbWUgYXQgdGhlIG5leHQgaGVhZGxpbmUgYXQgCnRoaXMgbGV2ZWwgb3IgaGlnaGVyLiBUaGlz IHByb2plY3QgdXNlcyA9SDozPSwgc28gbm9ybWFsbHksIHRoZSBjb250ZW50cyAKdW5kZXIgZXZl cnkgdGhpcmQtbGV2ZWwgaGVhZGxpbmUgd2lsbCBiZSBlbmNsb3NlZCBpbiBiZWdpbi9lbmQgZnJh bWUgdGFncy4KCklmIHRoZSBoZWFkbGluZSBoYXMgdGhlIEJlYW1lci1zcGVjaWZpYyB0YWcgPTpC X2lnbm9yZWhlYWRpbmc6PSwgdGhlbiB0aGUgCmhlYWRpbmcgL2FuZC8gdGhlIGJlZ2luL2VuZCBm cmFtZSBjb21tYW5kcyBhcmUgc3VwcHJlc3NlZCwgYnV0IGFsbCB0aGUgCmNvbnRlbnQgYXBwZWFy cy4KCiMrbmFtZTogcHJvc2Vfc291cmNlCiMrY2FwdGlvbjogT3JnIHNvdXJjZSwgaW5jbHVkaW5n IGEgcGFyYWdyYXBoIHRoYXQgc2hvdWxkIGFwcGVhciBvdXRzaWRlIG9mIGEgZnJhbWUuCiMrYmVn aW5fc3JjIG9yZwogICwjK09QVElPTlM6IEg6MyB0ZXhodDp0CiAgLCMrTGFUZVhfQ0xBU1M6IGJl YW1lcgogICwjK0xhVGVYX0NMQVNTX09QVElPTlM6IFtpZ25vcmVub25mcmFtZXRleHQscHJlc2Vu dGF0aW9uXQogIAogICwqIFNlY3Rpb24gaGVhZAogICwqKiBTdWJzZWN0aW9uIGhlYWQKICAsKioq IEZyYW1lIHRpdGxlCiAgLCoqKiogQmxvY2sgaGVhZGVyCiAgICAgICBUZXh0LgogICAgICAgLSBC dWxsZXQgcG9pbnQuCiAgLCoqKiBNb3JlIGV4cGxhbmF0aW9uIGNvbWluZyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpCX2lnbm9yZWhlYWRpbmc6CiAgICAgIDpQUk9QRVJUSUVTOgog ICAgICA6QkVBTUVSX2VudjogaWdub3JlaGVhZGluZwogICAgICA6RU5EOgogICAgICBIZXJlLCB3 ZSBleHBsYWluIHBvaW50cyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZSBpbiBtb3JlCiAgICAgIGRl dGFpbC4gVGhpcyB0ZXh0IHdpbGwgYWx3YXlzIGFwcGVhciBpbiB0aGUgZXhwb3J0ZWQgTGFUZVgs IGJ1dAogICAgICB0aGUgL2lnbm9yZW5vbmZyYW1ldGV4dC8gY2xhc3Mgb3B0aW9uIHdpbGwgcHJl dmVudCBpdCBmcm9tIGJlaW5nCiAgICAgIHJlbmRlcmVkIGluIHRoZSBwcmVzZW50YXRpb24uCiMr ZW5kX3NyYwoKIytuYW1lOiBwcm9zZV9leHBvcnRlZAojK2NhcHRpb246IFRoZSBMYVRlWCBleHBv cnQgcmVzdWx0LiBOb3RlIHRoZSBhYnNlbmNlIG9mIGJlZ2luL2VuZCBmcmFtZSBjb21tYW5kcyBh cm91bmQgdGhlIGZyZWUtc3RhbmRpbmcgcGFyYWdyYXBoLgojK2JlZ2luX3NyYyBsYXRleAolIENy ZWF0ZWQgMjAxNC0wNS0wMSBUaHUgMTY6MDUKXGRvY3VtZW50Y2xhc3NbaWdub3Jlbm9uZnJhbWV0 ZXh0LHByZXNlbnRhdGlvbl17YmVhbWVyfQpcYmVnaW57ZG9jdW1lbnR9Cgpcc2VjdGlvbntTZWN0 aW9uIGhlYWR9ClxsYWJlbHtzZWMtMX0KXHN1YnNlY3Rpb257U3Vic2VjdGlvbiBoZWFkfQpcbGFi ZWx7c2VjLTEtMX0KXGJlZ2lue2ZyYW1lfVtsYWJlbD1zZWMtMS0xLTFde0ZyYW1lIHRpdGxlfQpc YmVnaW57YmxvY2t9e0Jsb2NrIGhlYWRlcn0KVGV4dC4KXGJlZ2lue2l0ZW1pemV9ClxpdGVtIEJ1 bGxldCBwb2ludC4KXGVuZHtpdGVtaXplfQpcZW5ke2Jsb2NrfQpcZW5ke2ZyYW1lfQoKSGVyZSwg d2UgZXhwbGFpbiBwb2ludHMgZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUgaW4gbW9yZQpkZXRhaWwu IFRoaXMgdGV4dCB3aWxsIGFsd2F5cyBhcHBlYXIgaW4gdGhlIGV4cG9ydGVkIFxMYVRlWHt9LCBi dXQKdGhlIFxlbXBoe2lnbm9yZW5vbmZyYW1ldGV4dH0gY2xhc3Mgb3B0aW9uIHdpbGwgcHJldmVu dCBpdCBmcm9tIGJlaW5nCnJlbmRlcmVkIGluIHRoZSBwcmVzZW50YXRpb24uClxlbmR7ZG9jdW1l bnR9CiMrZW5kX3NyYwoKKioqIFByb2JsZW06IFBvc2l0aW9uIG9mID1cbWFrZXRpdGxlPSBjb21t YW5kCgpCZWNhdXNlIG9mIC9pZ25vcmVub25mcmFtZXRleHQvLCB0aGUgTGFUZVggPVxtYWtldGl0 bGU9IGNvbW1hbmQgbXVzdCBhcHBlYXIgCmluIGEgZnJhbWUgZm9yIHRoZSBzbGlkZXNob3dzLiBC dXQsIGl0IHNob3VsZCAvbm90LyBiZSBpbiBhIGZyYW1lIGZvciB0aGUgCmFydGljbGUuIEZ1cnRo ZXIsIHdlIGNhbid0IGRpc3Rpbmd1aXNoIGJldHdlZW4gcHJlc2VudGF0aW9uIGFuZCBhcnRpY2xl IApiYXNlZCBvbiB0aGUgb3JnIGV4cG9ydCBiYWNrZW5kLCBiZWNhdXNlIGJvdGggYXJlIGV4cG9y dGVkIGJ5IHRoZSBCZWFtZXIgCmJhY2tlbmQuCgpJbiBteSBlbnZpcm9ubWVudCwgSSB1c2VkIGEg aGFjayB0aGF0IGFzc3VtZXMgQmVhbWVyIGhhcyBiZWVuIGFkZGVkIHRvCj1vcmctbGF0ZXgtY2xh c3Nlcz0gdW5kZXIgdGhlIGV4YWN0IHN0cmluZyAiYmVhbWVyLiIgVGhpcyBpcyBub3QKaWRlYWws IGJlY2F1c2UgYSB1c2VyIG1pZ2h0IGhhdmUgYWRkZWQgYSBjdXN0b20gY2xhc3MgdW5kZXIgYQpk aWZmZXJlbnQgbmFtZS4gTmljb2xhcyBHb2F6aW91IHByb3Bvc2VkIGFuIGFsdGVybmF0ZSBhcHBy b2FjaCB1c2luZwpyZWd1bGFyIGV4cHJlc3Npb25zLCBidXQgSSBkaWRuJ3QgaW1wbGVtZW50IGl0 IGluIG15IGVudmlyb25tZW50LgoKVGhpcyBjb2RlIHNuaXBwZXQgc2hvdWxkIHJlcGxhY2UgdGhl IGV4cHJlc3Npb24gZm9sbG93aW5nIHRoZSBjb21tZW50Cj07OyAxMC4gVGl0bGUgY29tbWFuZD0g aW4gdGhlIGZ1bmN0aW9uID1vcmctYmVhbWVyLXRlbXBsYXRlPSwgZGVmaW5lZAppbiBveC1iZWFt ZXIuZWwuCgojK25hbWU6IG1ha2V0aXRsZWhhY2sKIytjYXB0aW9uOiBIYWNrIHRvIHB1dCB0aGUg bWFrZXRpdGxlIGNvbW1hbmQgaW4gYSBmcmFtZSBmb3IgdGhlIGJlYW1lciBjbGFzcyBvbmx5Lgoj K2JlZ2luX3NyYyBlbWFjcy1saXNwCiAgICAgICA7OyAxMC4gVGl0bGUgY29tbWFuZC4KICAgICAg IChsZXQgKCh0aXRsZWNtZCAob3JnLWVsZW1lbnQtbm9ybWFsaXplLXN0cmluZwogICAgICAgIChj b25kICgoc3RyaW5nPSAiIiB0aXRsZSkgbmlsKQogICAgICAgICAgICAgICgobm90IChzdHJpbmdw IG9yZy1sYXRleC10aXRsZS1jb21tYW5kKSkgbmlsKQogICAgICAgICAgICAgICgoc3RyaW5nLW1h dGNoICJcXCg/OlteJV1cXHxeXFwpJXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Jn LWxhdGV4LXRpdGxlLWNvbW1hbmQpCiAgICAgICAgICAgICAgIChmb3JtYXQgb3JnLWxhdGV4LXRp dGxlLWNvbW1hbmQgdGl0bGUpKQogICAgICAgICAgICAgICh0IG9yZy1sYXRleC10aXRsZS1jb21t YW5kKSkpKSkKICAgICAgICAgKGlmIChzdHJpbmc9IChwbGlzdC1nZXQgaW5mbyA6bGF0ZXgtY2xh c3MpICJiZWFtZXIiKQogICAgICAgICAgICAgKGZvcm1hdCAiXFxiZWdpbntmcmFtZX0lc1xcZW5k e2ZyYW1lfSIgdGl0bGVjbWQpCiAgICAgICAgICAgdGl0bGVjbWQpKQojK2VuZF9zcmMKCioqKiBQ cm9ibGVtOiBSZWxhdGl2ZSBsaW5rcyB0byBpbWFnZXMKCkltYWdlIGZpbGVzIGFyZSBzdG9yZWQg aW4gPWltZy89IGRpcmVjdG9yaWVzIHVuZGVyIHRoZSBkaXJlY3RvcnkgZm9yIGVhY2ggCnBhcnQu IFRoZSBpbWFnZXMgbXVzdCBhbHNvIGJlIGFjY2Vzc2libGUgZnJvbSA9ZnVsbC1hcnRpY2xlLz0s IHNvIHNpbXBsZSAKbGlua3Mgb2YgdGhlIGZvcm0gPS4vaW1nL2ZpbGVuYW1lPSB3aWxsIG5vdCB3 b3JrLiBJbnN0ZWFkLCB0aGlzIGZvcm0gb2YgCmxpbmsgaGFuZGxlcyBib3RoIGV4cG9ydCBsb2Nh dGlvbnM6ID0uLi8wMS1pbnRyby9pbWcvZmlsZW5hbWU9LgoKKiogR2xvc3NhcmllcwpUaGUgTGFU ZVggL2dsb3NzYXJpZXMvIHBhY2thZ2UgaGFuZGxlZCBhbGwgbXkgcmVxdWlyZW1lbnRzOiBtdWx0 aXBsZSAKZ2xvc3NhcmllcyBmb3IgZGlmZmVyZW50IGNhdGVnb3JpZXMgb2YgdGVybXMgYW5kIGF1 dG9tYXRpYyBpbmRleGluZyBvZiAKcmVmZXJlbmNlcyB0byB0ZXJtcyBpbiB0aGUgdGV4dC4gVGhl IHN5bnRheCBvZiB0aGUgXG5ld2dsb3NzYXJ5ZW50cnkgCmNvbW1hbmQgaXMgbW9yZSB2ZXJib3Nl IHRoYW4gSSB3YW50ZWQgdG8gbWFuYWdlIGJ5IGhhbmQuIE9yZyB0YWJsZXMgYXJlIGEgCnVzZWZ1 bCBhbHRlcm5hdGl2ZS4KCkkgZGl2aWRlZCBnbG9zc2FyeSBlbnRyaWVzIGludG8gZm91ciBjYXRl Z29yaWVzOiB0ZXJtcyBhbmQgY29uY2VwdHMsIHVuaXQgCmdlbmVyYXRvcnMsIG90aGVyIGNsYXNz ZXMsIGFuZCBtZXRob2RzLiBJIHVzZWQgdHdvIHRhYmxlIHN0cnVjdHVyZXM6CgotIEZvciBVR2Vu czogQ2F0ZWdvcnkgKG5vdCB1c2VkKSwgbmFtZSwgZGVzY3JpcHRpb24sIGFuZCBsaXN0IG9mIGlu cHV0cy4KLSBPdGhlcnM6IFRlcm0sIHBsdXJhbCBmb3JtLCBkZXNjcmlwdGlvbi4KClRoZSB0d28g c3RydWN0dXJlcyBjYWxsZWQgZm9yIHR3byBsaXNwIGZ1bmN0aW9uczsgdGhleSBhcmUgZXNzZW50 aWFsbHkgdGhlIApzYW1lIGV4Y2VwdCBmb3IgdGhlIHN0cmluZ3MgZ2VuZXJhdGVkIGFuZCB0aGUg aGFuZGxpbmcgb2YgdGFibGUgcm93cy4gVGhlIApub24tVUdlbiBmdW5jdGlvbiBpbmNsdWRlcyBh cmd1bWVudHMgZm9yIHRoZSB0YWJsZSBhbmQgaWRlbnRpZmllcnMgdG8gZW1iZWQgCmluIHRoZSBM YVRlWCBzeW50YXgsIHRvIGJlIHN1cHBsaWVkIGluIHRoZSA9IytDQUxMPSBsaW5lcy4KCiMrbmFt ZTogZ2xvc3NhcnlUYWJsZQojK2NhcHRpb246IFBhcnQgb2YgYSBnbG9zc2FyeSB0YWJsZS4KIyti ZWdpbl9zcmMgb3JnCiAgLCMrbmFtZTogZ2xvc3MKICB8IFRlcm0gIHwgUGx1cmFsICB8IERlc2Ny aXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICB8LS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LXwKICB8IEFEU1IgIHwgICAgICAgICB8IEFuIEF0dGFjay1EZWNheS1TdXN0YWluLVJlbGVhc2Ug ZW52ZWxvcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICB8IHByb3h5IHwgcHJveGllcyB8IEEgcGxhY2Vob2xkZXIgdGhh dCBhbGxvd3MgeW91IHRvIGRlZmluZSBjb25uZWN0aW9ucyBiZXR3ZWVuIG1vZHVsZXMgaW5kZXBl bmRlbnQgb2YgZWFjaCBtb2R1bGUncyBjb250ZW50IHwKIytlbmRfc3JjCgojK25hbWU6IGdsb3Nz YXJ5RnVuY3Rpb24KIytjYXB0aW9uOiBGdW5jdGlvbiB0byBjb252ZXJ0IGEgbm9ybWFsIChub24t VUdlbikgZ2xvc3NhcnkgdGFibGUgaW50byBMYVRlWCBtYXJrdXAuCiMrYmVnaW5fc3JjIG9yZwog ICwjK25hbWU6IG1ha2VnbG9zcwogICwjK2JlZ2luX3NyYyBlbWFjcy1saXNwIDp2YXIgdGJsPWds b3NzIGdsb3NzdHlwZT0nbmlsIDpleHBvcnRzIG5vbmUgOnJlc3VsdHMgdmFsdWUgbGF0ZXgKICAg IChsZXQgKChzdHIgIiIpCiAgICAgICAgICAoZ2x0eXBlIChpZiBnbG9zc3R5cGUgKGZvcm1hdCAi dHlwZT0lcywiIGdsb3NzdHlwZSkgIiIpKSkKICAgICAgKHBvcCB0YmwpCiAgICAgIChwb3AgdGJs KQogICAgICAod2hpbGUgdGJsCiAgICAgICAgKGxldCAoKGl0ZW0gKHBvcCB0YmwpKSkKICAgICAg ICAgIChzZXRxIHN0cgogICAgICAgICAgICAgICAgKGNvbmNhdCBzdHIKICAgICAgICAgICAgICAg ICAgICAgICAgKGZvcm1hdCAiXFxuZXdnbG9zc2FyeWVudHJ5eyVzfXslc25hbWU9eyVzfSwlc2Rl c2NyaXB0aW9uPXslc319XG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhciBp dGVtKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsdHlwZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChwb3AgaXRlbSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGV0ICgocGx1cmFsIChwb3AgaXRlbSkpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGlmIChzdHJpbmc9IHBsdXJhbCAiIikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9y bWF0ICJwbHVyYWw9eyVzfSwiIHBsdXJhbCkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjYXIgaXRlbSkpKSkpKQogICAgICBzdHIpCiAgLCMrZW5kX3NyYwojK2VuZF9zcmMKCioq KiBQcm9ibGVtOiBSZWR1bmRhbnQgZ2xvc3NhcnkgZXhwb3J0IGluIHRoZSBmdWxsIGFydGljbGUK ClRoZSB0d28gb3V0cHV0IHN0eWxlcyByYWlzZSBzb21lIGNvbmZsaWN0aW5nIHJlcXVpcmVtZW50 czoKCi0gKlByZXNlbnRhdGlvbiBzdHlsZToqIEJlY2F1c2Ugb2YgdGhlIC9pZ25vcmVub25mcmFt ZXRleHQvIGNsYXNzCiAgb3B0aW9uLCB0aGUgPVxuZXdnbG9zc2FyeWVudHJ5PSBjb21tYW5kcyBt dXN0IGFwcGVhciB3aXRoaW4gYQogIGZyYW1lLiBUaGV5IGNhbm5vdCBnbyBpbnRvID1zbGlkZWhl YWQub3JnPS4gRWFjaCBzZXBhcmF0ZSBjb250ZW50cwogIGZpbGUgbXVzdCBpbmNsdWRlIGl0cyBv d24gY2FsbHMgdG8gdGhlIGdsb3NzYXJ5IGZ1bmN0aW9ucy4KCi0gKkFydGljbGUgc3R5bGU6KiBU aGUgY29udGVudHMgZmlsZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBzYW1lIGV4cG9ydAogIGZpbGUg LS0gd2hpY2ggd291bGQgcHJvZHVjZSByZWR1bmRhbnQgY29waWVzIG9mIHRoZSBnbG9zc2FyeQog IGVudHJpZXMuCgpUaGlzIGNhbGxzIGZvciAvY29uZGl0aW9uYWwgZXhlY3V0aW9uLyBvZiB0aGUg QmFiZWwgY2FsbHMuIEEKbm90LXF1aXRlLW9idmlvdXMgZmVhdHVyZSBvZiBCYWJlbCBwcm9wZXJ0 aWVzIGlzIHRoYXQgdGhleSBtYXkgYmUKRW1hY3MtbGlzcCBleHByZXNzaW9ucy4gVGhhdCBsZWFk cyB0byBhIHNvbHV0aW9uOiBVc2UgYSBjb2RlIGJsb2NrIGF0CnRoZSBiZWdpbm5pbmcgb2YgdGhl ID0wKi1zbGlkZXNob3cub3JnPSBhbmQgPWZ1bGwtYXJ0aWNsZS5vcmc9IGZpbGVzCnRvIHNldCBh IGZsYWcsID1oamgtZXhwb3J0aW5nLXNsaWRlcz0uCgojK25hbWU6IHNldGZsYWctc2xpZGVzCiMr Y2FwdGlvbjogU2V0dGluZyB0aGUgc2xpZGVzaG93IGZsYWcgZm9yIHNsaWRlc2hvd3MuCiMrYmVn aW5fc3JjIG9yZwogICwjK25hbWU6IHNldC1zbGlkZS1mbGFnCiAgLCMrYmVnaW5fc3JjIGVtYWNz LWxpc3AgOmV4cG9ydHMgcmVzdWx0cyA6cmVzdWx0cyB2YWx1ZSBsYXRleAogIChzZXRxIGhqaC1l eHBvcnRpbmctc2xpZGVzICd0KQogICIiCiAgLCMrZW5kX3NyYwojK2VuZF9zcmMKCiMrbmFtZTog c2V0ZmxhZy1hcnRpY2xlCiMrY2FwdGlvbjogU2V0dGluZyB0aGUgc2xpZGVzaG93IGZsYWcgZm9y IHRoZSBhcnRpY2xlLgojK2JlZ2luX3NyYyBvcmcKICAsIytuYW1lOiBzZXQtc2xpZGUtZmxhZwog ICwjK2JlZ2luX3NyYyBlbWFjcy1saXNwIDpleHBvcnRzIHJlc3VsdHMgOnJlc3VsdHMgdmFsdWUg bGF0ZXgKICAoc2V0cSBoamgtZXhwb3J0aW5nLXNsaWRlcyBuaWwpCiAgIiIKICAsIytlbmRfc3Jj CiMrZW5kX3NyYwoKVGhlbiwgdGhlID0jK0NBTEw6PSBsaW5lcyBjYW4gdXNlIGFuID0oaWYuLi4p PSBleHByZXNzaW9uIHRvIGRlY2lkZQp3aGV0aGVyIHRoZSA9OmV4cG9ydHM9IHByb3BlcnR5IHNo b3VsZCBiZSAicmVzdWx0cyIgb3IgIm5vbmUuIiBJZiB0aGlzCnJlc3VsdCBpcyAibm9uZSwiIHRo ZW4gQmFiZWwgc2tpcHMgdGhhdCBjYWxsLiBTbywgZWFjaCBnbG9zc2FyeQpzZWN0aW9uIGV2YWx1 YXRlcyBvbmx5IG9uY2UgcGVyIGV4cG9ydCwgbm8gbWF0dGVyIGhvdyBtYW55IGNvbnRlbnRzCmZp bGVzIGFyZSBpbmNsdWRlZC4KCiMrbmFtZTogY2FsbC1zbGlkZXMKIytjYXB0aW9uOiBDYWxsaW5n IHRoZSBnbG9zc2FyeSBmdW5jdGlvbiBpbiBhIHNsaWRlc2hvdy4KIytiZWdpbl9zcmMgb3JnCiAg LCMrY2FsbDogbWFrZWdsb3NzIDpleHBvcnRzIChpZiBoamgtZXhwb3J0aW5nLXNsaWRlcyAicmVz dWx0cyIgIm5vbmUiKSA6cmVzdWx0cyB2YWx1ZSBsYXRleAogICwjK3Jlc3VsdHM6IG1ha2VnbG9z cwojK2VuZF9zcmMKCiMrbmFtZTogY2FsbC1hcnRpY2xlCiMrY2FwdGlvbjogQ2FsbGluZyB0aGUg Z2xvc3NhcnkgZnVuY3Rpb24gaW4gdGhlIGFydGljbGUuCiMrYmVnaW5fc3JjIG9yZwogICwjK25h bWU6IG1ha2VnbG9zc19hcnQKICAsIytjYWxsOiBtYWtlZ2xvc3MgOmV4cG9ydHMgKGlmIGhqaC1l eHBvcnRpbmctc2xpZGVzICJub25lIiAicmVzdWx0cyIpIDpyZXN1bHRzIHZhbHVlIGxhdGV4CiAg LCMrcmVzdWx0czogbWFrZWdsb3NzX2FydAojK2VuZF9zcmMKCioqKiBPdXRwdXQgZm9ybWF0CkJ5 IGRlZmF1bHQsIG9yZyB0cmVhdHMgQ0FMTCByZXN1bHRzIGFzIGV4YW1wbGUgYmxvY2tzLiBJbiBM YVRlWApleHBvcnQsIGV4YW1wbGUgYmxvY2tzIGFyZSB3cmFwcGVkIGluIGEgL3ZlcmJhdGltLyBl bnZpcm9ubWVudC4gVGhlc2UKZnVuY3Rpb25zIHJldHVybiBMYVRlWCBzeW50YXgsIHRvIGVtYmVk IGludG8gdGhlIExhVGVYIGRvY3VtZW50IGFzCmlzLiBBZGRpbmcgInZhbHVlIGxhdGV4IiB0byB0 aGUgPTpyZXN1bHRzPSBwcm9wZXJ0eSB0YWtlcyBjYXJlIG9mCnRoYXQuCgoqKiBFeHRyYWN0aW9u IG9mIGNhcHRpb25lZCBzb3VyY2UgY29kZSBibG9ja3MKSSBhbHNvIHdhbnRlZCB0byBwcm92aWRl IFN1cGVyQ29sbGlkZXIgY29kZSBmaWxlcyBjb250YWluaW5nIHRoZQpudW1iZXJlZCBleGFtcGxl cyBmcm9tIHRoZSB0ZXh0LiBUaGF0IG1lYW5zIGl0ZXJhdGluZyBvdmVyIHRoZSBzb3VyY2UKY29k ZSBibG9ja3MsIGFuZCBjb2xsZWN0aW5nIHRoZSBjb2RlIGZyb20gZXZlcnkgYmxvY2sgdGhhdCBo YXMgYQpjYXB0aW9uLiAoQ29kZSBibG9ja3Mgd2l0aG91dCBhIGNhcHRpb24gZG8gbm90IHJlY2Vp dmUgYSBsaXN0aW5nCm51bWJlci4pCgpUaGUgU3dpc3MtYXJteS1rbmlmZSBmdW5jdGlvbiA9b3Jn LWVsZW1lbnQtbWFwPSBoYW5kbGVzIHRoZSBpdGVyYXRpb24KaW4gYSB3YXkgdGhhdCBpcyBhYnN1 cmRseSBzaW1wbGUgdG8gdXNlOiBmaXJzdCwgdXNlCj1vcmctZWxlbWVudC1wYXJzZS1idWZmZXI9 IHRvIGdldCBhbiBvYmplY3Qgc3RydWN0dXJlIGZvciB0aGUgb3JnCmJ1ZmZlcidzIGNvbnRlbnRz LCBhbmQgdGhlbiBjYWxsID1vcmctZWxlbWVudC1tYXA9IG9uIHRoZSBwYXJzZWQgdHJlZSwKZmls dGVyaW5nIG9uID0nc3JjLWJsb2NrPS4KCkVhY2ggZWxlbWVudCBpZGVudGlmaWVkIHRoaXMgd2F5 IGlzIHJhdGhlciBjb21wbGV4LiBFeHRlbnNpdmUgdGVzdHMKd2l0aCBFbWFjcyBzdGVwIGRlYnVn Z2luZyBoZWxwZWQgbWUgZmluZCBzZXZlcmFsIHByb2Nlc3Npbmcgc3RlcHM6CgoxLiBUaGUgaW50 ZXJlc3RpbmcgYml0IG9mIHRoZSBzb3VyY2UtYmxvY2sgZWxlbWVudCBpcyB0aGUgc2Vjb25kIGl0 ZW0KICAgaW4gdGhlIGxpc3Q6ID0oY2FyIChjZHIgZWxlbWVudCkpPS4KCjIuID1wbGlzdC1nZXQ9 IGZpbmRzIHRoZSByZWxldmFudCBzdHJpbmdzIGluIHRoaXMgc2Vjb25kIGl0ZW0uIEJ1dAogICB0 aGlzIGZ1bmN0aW9uIHJldHVybnMgbm90IG9ubHkgdGhlIHN0cmluZywgYnV0IHNldmVyYWwgb3Ro ZXIKICAgcHJvcGVydGllcy4gVGhlIHN0cmluZyB3ZSBuZWVkIGlzIGF0IHRoZSBoZWFkIG9mIHRo ZSBsaXN0LCBidXQgdGhpcwogICBtYXkgYmUgYnVyaWVkIHdpdGhpbiBzZXZlcmFsIG5lc3RlZCBs aXN0cy4gU28gSSB3cm90ZSBhIGZ1bmN0aW9uLAogICA9aGpoLWdldC1zdHJpbmctZnJvbS1uZXN0 ZWQtdGhpbmc9LCB0aGF0IGtlZXBzIHN0cmlwcGluZyBvZmYgImNhciIKICAgZnJvbSB0aGUgb2Jq ZWN0LCB1bnRpbCBpdCBmaW5kcyBhIHN0cmluZy4KCjMuIFRoaXMgc3RyaW5nIGl0c2VsZiBhbHNv IGluY2x1ZGVzIGZvcm1hdHRpbmcgcHJvcGVydGllcywgc28gSSBoYWQgdG8KICAgdXNlID1zdWJz dHJpbmctbm8tcHJvcGVydGllcz0gb24gdGhlc2UgaXRlbXMuCgpUbyBnZW5lcmF0ZSB0aGUgYWdn cmVnYXRlIGNvZGUgZmlsZSwgdGhlbiwgSSBzaW1wbHkgZG8gPU0teApoamgtc3JjLWJsb2Nrcy10 by1idWZmZXI9LCB0eXBlIGluIHRoZSBzdGFydGluZyBsaXN0aW5nIG51bWJlciBmb3IKdGhpcyBj aGFwdGVyLCBhbmQgaW4gYSBmZXcgc2Vjb25kcywgSSBnZXQgYSBidWZmZXIgY29udGFpbmluZwpT dXBlckNvbGxpZGVyIGNvZGUgc2VwYXJhdGVkIGJ5IGNvbW1lbnRzIGhvbGRpbmcgdGhlIGNhcHRp b25zLCBlLmcuOgoKIytiZWdpbl9zcmMge1N1cGVyQ29sbGlkZXJ9IC1pCi8qKioqKioqKioqKioq KgogTGlzdGluZyA2LiBBIHZlcnkgc2ltcGxlIHN5bnRoLgogKioqKioqKioqKioqKiovCgphID0g eyBTaW5Pc2MuYXIoNDQwLCAwLCAwLjEpLmR1cCB9LnBsYXk7CgovLyBUbyBtYWtlIGl0IHN0b3A6 CmEucmVsZWFzZTsKIytlbmRfc3JjCgojK25hbWU6IGV4dHJhY3QKIytjYXB0aW9uOiBFbWFjcy1s aXNwIGZ1bmN0aW9ucyB0byBmaW5kIGNhcHRpb25lZCBzb3VyY2UgYmxvY2tzIHdpdGhpbiBhIGJ1 ZmZlci4KIytiZWdpbl9zcmMgZW1hY3MtbGlzcCAtaQooZGVmdW4gaGpoLWdldC1zdHJpbmctZnJv bS1uZXN0ZWQtdGhpbmcgKHRoaW5nKQogICJQZWVsIG9mZiAnY2FyJ3MgZnJvbSBhIG5lc3RlZCBs aXN0IHVudGlsIHRoZSBjYXIgaXMgYSBzdHJpbmcuIgogICh3aGlsZSAoYW5kIHRoaW5nIChub3Qg KHN0cmluZ3AgdGhpbmcpKSkKICAgIChzZXRxIHRoaW5nIChjYXIgdGhpbmcpKSkKICB0aGluZwop CgooZGVmdW4gaGpoLXNyYy1ibG9ja3MtdG8tc3RyaW5nIChjb3VudGVyIGdldC1zb21lKQogICJJ dGVyYXRlIHNyYyBibG9ja3MgZnJvbSBvcmctZWxlbWVudCBhbmQgYWRkIHRoZW0gdG8gYSBzdHJp bmcuIgogIChpbnRlcmFjdGl2ZSAiblN0YXJ0aW5nIGxpc3RpbmcgbnVtYmVyOiBcblAiKQogICh3 aGVuIChub3QgY291bnRlcikgKHNldHEgY291bnRlciAxKSkKICAobGV0ICgodHJlZSAob3JnLWVs ZW1lbnQtcGFyc2UtYnVmZmVyKSkKCShzdHJpbmcgIiIpCgkoZ2V0LWFsbCAobm90IGdldC1zb21l KSkpCiAgICAob3JnLWVsZW1lbnQtbWFwIHRyZWUgJ3NyYy1ibG9jawogICAgICAobGFtYmRhIChl bGVtZW50KQoJKHNldHEgZWxlbWVudCAoY2FyIChjZHIgZWxlbWVudCkpKQoJKGxldCAoKGNhcHRp b24gKGhqaC1nZXQtc3RyaW5nLWZyb20tbmVzdGVkLXRoaW5nIChwbGlzdC1nZXQgZWxlbWVudCA6 Y2FwdGlvbikpKQoJICAgICAgKHNvdXJjZSAoaGpoLWdldC1zdHJpbmctZnJvbS1uZXN0ZWQtdGhp bmcgKHBsaXN0LWdldCBlbGVtZW50IDp2YWx1ZSkpKSkKCSAgKHdoZW4gY2FwdGlvbgoJICAgICh3 aGVuIChvciBnZXQtYWxsIAoJCSAgICAgIChsZXQgKChwYXJtcwoJCQkgICAgIChoamgtZ2V0LXN0 cmluZy1mcm9tLW5lc3RlZC10aGluZyAocGxpc3QtZ2V0IGVsZW1lbnQgOnBhcmFtZXRlcnMpKSkp CgkJCShhbmQgKHN0cmluZ3AgcGFybXMpIChzdHJpbmctbWF0Y2gtcCAiZXh0cmFjdCIgcGFybXMp KSkpCgkgICAgICAoc2V0cSBzdHJpbmcgKGNvbmNhdCBzdHJpbmcgKGZvcm1hdCAiLyoqKioqKioq KioqKioqCiBMaXN0aW5nICVkLiAlcwogKioqKioqKioqKioqKiovCgolc1xuXG4iCgkJCQkJICBj b3VudGVyCgkJCQkJICAoc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgY2FwdGlvbikKCQkJCQkgIChz dWJzdHJpbmctbm8tcHJvcGVydGllcyBzb3VyY2UpKSkpKQoJICAgIDsgYWx3YXlzIGluY3JlbWVu dCBpZiB0aGVyZSB3YXMgYSBjYXB0aW9uCgkgICAgKHNldHEgY291bnRlciAoMSsgY291bnRlcikp KSkpKQogICAgc3RyaW5nKSkKCihkZWZ1biBoamgtc3JjLWJsb2Nrcy10by1idWZmZXIgKGNvdW50 ZXIgZ2V0LXNvbWUpCiAgIlB1dCBhbGwgdGhlIGNhcHRpb25lZCBzb3VyY2UgYmxvY2tzIGZyb20g YSBidWZmZXIgaW50byBhbm90aGVyIGJ1ZmZlci4iCiAgKGludGVyYWN0aXZlICJuU3RhcnRpbmcg bGlzdGluZyBudW1iZXI6IFxuUCIpCiAgKGxldCogKChjb250ZW50cyAoaGpoLXNyYy1ibG9ja3Mt dG8tc3RyaW5nIGNvdW50ZXIgZ2V0LXNvbWUpKQoJIChidWZwYXRoIChidWZmZXItZmlsZS1uYW1l KSkKCSAobmV3bmFtZSAoY29uY2F0IChmaWxlLW5hbWUtc2Fucy1leHRlbnNpb24gYnVmcGF0aCkg Ii5zY2QiKSkKCSAoYnVmbmFtZSAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBuZXduYW1lKSkKCSAo bmV3YnVmIChnZXQtYnVmZmVyLWNyZWF0ZSBidWZuYW1lKSkpCiAgICAod2l0aC1jdXJyZW50LWJ1 ZmZlciBuZXdidWYKICAgICAgKGVyYXNlLWJ1ZmZlcikKICAgICAgKGluc2VydCBjb250ZW50cykK ICAgICAgKHNldC12aXNpdGVkLWZpbGUtbmFtZSBuZXduYW1lKSkKICAgIChzd2l0Y2gtdG8tYnVm ZmVyLW90aGVyLXdpbmRvdyBuZXdidWYpKSkKIytlbmRfc3JjCgojICMrYmVnaW5fY29tbWVudAoj ICMrbmFtZTogCiMgIytjYXB0aW9uOiAKIyAjK2JlZ2luX3NyYyBvcmcKIyAjK2VuZF9zcmMKIyAj K2VuZF9jb21tZW50CgoqKiBQYXJ0aXRpb25pbmcgdGhlIGFydGljbGUgZXhwb3J0ClJhdGhlciB0 aGFuIGNyZWF0ZSBhIGRvY3VtZW50IGNsYXNzIHRvIHR1cm4gdG9wLWxldmVsIGhlYWRpbmdzIGlu dG8gPVxwYXJ0PSAKY29tbWFuZHMsIEkgZW1iZWRkZWQgdGhlIExhVGVYIGNvZGUgZm9yIGl0IGRp cmVjdGx5IGludG8gdGhlIGZ1bGwtYXJ0aWNsZSAKdGVtcGxhdGUuIFRoZSB0cmljayBpcyBjbG9z aW5nIHRoZSBlbnZpcm9ubWVudHMgZm9yIHRoZSBwcmV2aW91cyBzZWN0aW9ucy4gClRoaXMgcmVx dWlyZXMgYSB0b3AtbGV2ZWwgaGVhZGluZywgd2hpY2ggc2hvdWxkIG5vdCBzdGFydCBhIG5ldyBz ZWN0aW9uLiBJIApmb3VuZCB0aGF0ID06Ql9pZ25vcmVoZWFkaW5nOj0gZGlkIG5vdCB3b3JrIGZv ciB0aGlzLCBidXQgYW4gZXhwb3J0IGZpbHRlciAKYnkgU3V2YXl1IEFsaVtmbjo1NGU5NTFmNV0g ZGlkIGV4YWN0bHkgd2hhdCBJIG5lZWRlZC4KCiMrbmFtZTogYXJ0aWNsZVBhcnRzCiMrY2FwdGlv bjogUGFydCBvZiB0aGUgZnVsbC1hcnRpY2xlIGV4cG9ydCBkb2N1bWVudCwgd2l0aCBlbWJlZGRl ZCBMYVRlWCBccGFydCBzeW50YXguCiMrYmVnaW5fc3JjIG9yZwogICwjK3N0YXJ0dXA6IGJlYW1l cgogIAogICwjK1RJVExFOiBXb3Jrc2hvcDogU3ludGhlc2lzIGFuZCBQZXJmb3JtYW5jZSBpbiBT dXBlckNvbGxpZGVyCiAgLCMrREFURTogXHRvZGF5CiAgLCMrQVVUSE9SOiBILiBKYW1lcyBIYXJr aW5zCiAgCiAgLCMrSU5DTFVERTogIi4uL3ByaW50aGVhZDIub3JnIgogICwjK2luY2x1ZGU6ICIu Li9nbG9zc2FyeS5vcmciCiAgLCogUGFydCAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmlnbm9yZWhlYWRpbmc6CiAgLCMrbGF0ZXg6IFxjbGVh cnBhZ2VccGFydHtJbnRyb2R1Y3RvcnkgU0MsIFN5bnRoZXNpcyBhbmQgU2VxdWVuY2luZ30KICAs IytpbmNsdWRlOiAiLi4vMDEtaW50cm8vMDEtY29udGVudHMub3JnIiA6bWlubGV2ZWwgMQogIAog ICwqIFBhcnQgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDppZ25vcmVoZWFkaW5nOgogICwjK2xhdGV4OiBcY2xlYXJwYWdlXHBhcnR7U2VxdWVu Y2luZyB3aXRoIFBhdHRlcm5zOyBTeW50aGVzaXMgVGVjaG5pcXVlc30KICAsIytpbmNsdWRlOiAi Li4vMDItc3ludGgvMDItY29udGVudHMub3JnIiA6bWlubGV2ZWwgMQojK2VuZF9zcmMKCiogV2Vh a25lc3NlcwoqKiBSZWxpYW5jZSBvbiBMYVRlWC1zcGVjaWZpYyBtYXJrdXAKCk9uZSBzaWduaWZp Y2FudCBwcm9ibGVtLCB3aGljaCB0aGlzIHByb2plY3QgZGlkIG5vdCBhdHRlbXB0IHRvIHNvbHZl LAppcyB0byByZWNvbmNpbGUgdGhlIExhVGVYJ3MgL3NlbWFudGljIG1hcmt1cC8gd2l0aCBvcmcn cyBpZGVhbCBvZgpiYWNrZW5kLWluZGVwZW5kZW50IG1hcmt1cC4gSW4gTGFUZVgsIGl0J3MgY29t bW9uIHRvIGRlZmluZSBkaWZmZXJlbnQKbWFya3VwIGNvbW1hbmRzIGZvciBkaWZmZXJlbnQgdHlw ZXMgb2YgdGV4dC4gVGhpcyBwcm9qZWN0LCBmb3IKaW5zdGFuY2UsIHVzZXMgPVxjZHt9PSBmb3Ig aW4tbGluZSBjb2RlIHNuaXBwZXRzIGFuZCA9XGNpe309IGZvciBjb2RlCmtleXdvcmRzIGFuZCBp ZGVudGlmaWVycy4gQm90aCByZW5kZXIgaW4gdGhlIG1vbm9zcGFjZSBmb250LCBpbiB0aGUKc2Ft ZSBjb2xvcjsgYnkgbWFya2luZyB0aGVtIHVwIGRpZmZlcmVudGx5LCBJIGNhbiBlYXNpbHkgY2hh bmdlIHRoZQpmb3JtYXR0aW5nIG9mIG9uZSBvciB0aGUgb3RoZXIgYnkgY2hhbmdpbmcgdGhlIGNv bW1hbmQncwpkZWZpbml0aW9uLiAoSW4gZmFjdCwgdGhlcmUgaXMgYSBzbGlnaHQgZGlmZmVyZW5j ZTogPVxjaT0gaWRlbnRpZmllcnMKYXJlIHB1dCBpbnRvIGFuID1cbWJveD0sIHRvIHN1cHByZXNz IGh5cGhlbmF0aW9uLikKCk9yZydzIGZvcm1hdHRpbmcgbWFya3VwIGlzIHZpc3VhbDogYXN0ZXJp c2tzIGZvciBib2xkLCBzbGFzaGVzIGZvcgppdGFsaWNzIGFuZCBzbyBvbi4KCkkgdGhpbmsgZXhw b3J0IG1hY3Jvc1tmbjo1YzgwMjc1Yl0gY291bGQgc3VwcG9ydCBzZW1hbnRpYyBtYXJrdXAgdGhh dCBjb3VsZCBleHBvcnQKdG8gTGFUZVggb3IgSFRNTCBlcXVhbGx5IHdlbGwsIGJ1dCBJIGRpZG4n dCBpbnZlc3RpZ2F0ZSB0aGF0IGluIHRoaXMKcHJvamVjdC4gSGVyZSwgSSBqdXN0IGVtYmVkZGVk IExhVGVYIGNvbW1hbmRzIGRpcmVjdGx5IGludG8gdGhlIG9yZwpmaWxlczogZnJlZSBzdGFuZGlu ZyBmb3Igc2ltcGxlIHVzZXMsIGFuZCB1c2luZyBleHBvcnQgc25pcHBldHNbZm46NDQ4ZDExNjRd IGZvcgptb3JlIGludHJpY2F0ZSBjYXNlcyAoc3VjaCBhcyBjb2RlIGV4YW1wbGVzIGluY2x1ZGlu ZyBjdXJseSBicmFjZXMsCndoaWNoIExhVGVYIGV4cG9ydCB0cmVhdHMgc3BlY2lhbGx5KS4KCiog Rm9vdG5vdGVzCgpbZm46NTRlOTUxZjVdIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv bnMvMTAyOTUxNzcvaXMtdGhlcmUtYW4tZXF1aXZhbGVudC1vZi1vcmctbW9kZXMtYi1pZ25vcmVo ZWFkaW5nLWZvci1ub24tYmVhbWVyLWRvY3VtZW50cwoKW2ZuOjVjODAyNzViXSBodHRwOi8vb3Jn bW9kZS5vcmcvbWFudWFsL01hY3JvLXJlcGxhY2VtZW50Lmh0bWwjTWFjcm8tcmVwbGFjZW1lbnQK Cltmbjo0NDhkMTE2NF0gRXhwb3J0IHNuaXBwZXRzIGxvb2sgbGlrZSB0aGlzOgo9QEBiYWNrZW5k bmFtZTp0ZXh0Li4uQEA9LiBUaGV5IHdpbGwgZXhwb3J0IG9ubHkgdG8gdGhhdCBiYWNrZW5kLiBZ b3UKY2FuIHdyaXRlIHNldmVyYWwgb2YgdGhlbSBpbiBhIHJvdyBmb3IgZGlmZmVyZW50IGJhY2tl bmRzOgo9QEBsYXRleDpcZW1waHtpdGFsaWN9QEBAQGh0bWw6PGk+aXRhbGljPC9pPkBAPSBhbmQg ZWFjaCBleHBvcnQgc3R5bGUKcmVjZWl2ZXMgdGhlIHJpZ2h0IHNuaXBwZXQuCgo= --trojita=_eb75e931-e110-42dc-81f7-ff9824c2de7c--