From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Price Subject: Re: org-odt/org-export errors/paths Date: Thu, 7 Jul 2011 16:29:00 -0400 Message-ID: References: <814o2yf1cy.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=20cf307d02fe3118c704a78091f0 Return-path: Received: from eggs.gnu.org ([140.186.70.92]:52737) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QevC3-0001pR-WF for emacs-orgmode@gnu.org; Thu, 07 Jul 2011 16:29:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QevC1-0002I5-U8 for emacs-orgmode@gnu.org; Thu, 07 Jul 2011 16:29:03 -0400 Received: from mail-vx0-f169.google.com ([209.85.220.169]:44397) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QevC1-0002Hq-Ds for emacs-orgmode@gnu.org; Thu, 07 Jul 2011 16:29:01 -0400 Received: by vxg38 with SMTP id 38so1223297vxg.0 for ; Thu, 07 Jul 2011 13:29:00 -0700 (PDT) In-Reply-To: <814o2yf1cy.fsf@gmail.com> 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 Cc: Org Mode --20cf307d02fe3118c704a78091f0 Content-Type: multipart/alternative; boundary=20cf307d02fe3118c404a78091ee --20cf307d02fe3118c404a78091ee Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Jambunathan, I tried emacs -Q -L /home/matt/src/org-mode/lisp -L /home/matt/src/org-mode/contrib/lisp/ but the exporter still isn't working for me. The debug log is attached -- = I wanted to leave the escaped characters intact. C-h v shows that org-export-backends is in fact defined: org-export-backends is a variable defined in `org-exp.el'. Its value is (odt docbook html beamer ascii latex) but the backtrace looks to me like org doesn't quite understand that. thanks Jambunathan. matt On Thu, Jul 7, 2011 at 1:26 PM, Jambunathan K wrote= : > > Matt > > Happy to hear from you. > > IIRC, You were the first ever user of org-odt. You were having setup > issues last time as well :-). > > [http://www.mail-archive.com/emacs-orgmode@gnu.org/msg33276.html] > > > Hi folks, > > > > recently updated to 7.6 (via git) and am trying to follow t > > directions to enable org-odt. I'm having trouble with the exporter, > > and suspect something is messed up in my .emacs somewhere, am hoping > > you guys can help. > > > > My current problem: org-odt export fails with this error (apologies > > for gmail's HTMLization of this message): > > -------------- > > Exporting to ODT using org-lparse... > > Using vacuous schema [3 times] > > File /tmp/odt-10243EXp/content.xml no longer exists! > > let*: Wrong number of arguments: #[nil "=C3=86=E2=80=B0 =C5=A0=C5=92~= =CB=86eb=CB=86=C3=87 > > =C3=86=C3=88#=C6=92) > > ---------------- > > Please recreate the crash after doing `M-x toggle-debug-on-error'. It is > easy to debug the crash report if the files are not byte-compiled. > > May be you should try loading minimal emacs with: > emacs -Q -L "" -L > > and then try exporting. > > Jambunathan K. > > > > > I seem to have something messed up in my org path, because when I > > first tried to enable org-odt, evaluation of org-odt.el failed with a > > void-variable error which I fixed by manually loading org-exp.el. > > Here are what I believe to be the relevant parts of my org setup: > > > > ;; get current docs > > (setq Info-default-directory-list (cons "/home/matt/src/org-mode/doc" > > Info-default-directory-list)) > > ;; new load paths > > (setq load-path (cons "/home/matt/src/org-mode/contrib/lisp/" > > load-path)) > > (setq load-path (cons "/home/matt/src/org-mode/lisp/" load-path)) > > > > (require 'org-exp) > > (require 'org-odt) > > > > and here are the few org customizations I've made, beside the > > somewhat lengthy capture templates: > > > > '(org-default-notes-file "~/Dropbox/GTD/Collect.org") > > '(org-directory "~/Dropbox/GTD/") > > '(org-modules (quote (org-bbdb org-bibtex org-docview org-gnus > > org-info org-jsinfo org-irc org-mew org-mhe org-rmail org-vm org-exp > > org-w3m org-odt \.\.\.))) > > '(org-startup-folded (quote content)) > > '(org-startup-indented t) > > > > Thanks as always guys! > > Matt > > > > > > -- > --20cf307d02fe3118c404a78091ee Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Jambunathan,

I tried emacs -Q -L /home/matt/src/org-mode/lisp -L = /home/matt/src/org-mode/contrib/lisp/
but the exporter still isn't = working for me.=C2=A0 The debug log is attached -- I wanted to leave the es= caped characters intact.=C2=A0 C-h v shows that org-export-backends is in f= act defined:

org-export-backends is a variable defined in `org-exp.el'.
Its v= alue is (odt docbook html beamer ascii latex)

but the backtrace look= s to me like org doesn't quite understand that.=C2=A0

thanks Ja= mbunathan.
matt

On Thu, Jul 7, 2011 at 1:26 PM, Jamb= unathan K <k= jambunathan@gmail.com> wrote:

Matt

Happy to hear from you.

IIRC, You were the first ever user of org-odt. You were having setup
issues last time as well :-).

[http://www.mail-archive.com/emacs-orgmode@gnu.org/msg33= 276.html]

> Hi folks,
>
> recently updated to 7.6 (via git) and am trying to follow t
> directions to enable org-odt.=C2=A0 I'm having trouble with the ex= porter,
> and suspect something is messed up in my .emacs somewhere, am hoping > you guys can help.=C2=A0
>
> My current problem: org-odt export fails with this error (apologies > for gmail's HTMLization of this message):
> --------------
> Exporting to ODT using org-lparse...
> Using vacuous schema [3 times]
> File /tmp/odt-10243EXp/content.xml no longer exists!
> let*: Wrong number of arguments: #[nil "=C3=86=E2=80=B0 =C5=A0=C5= =92~=CB=86eb=CB=86=C3=87
> =C3=86=C3=88#=C6=92)
> ----------------

Please recreate the crash after doing `M-x toggle-debug-on-error'= . It is
easy to debug the crash report if the files are not byte-compiled.

May be you should try loading minimal emacs with:
emacs -Q -L "<lispdir of Org>" -L <contriblispdir of Org= >

and then try exporting.

Jambunathan K.

>
> I seem to have something messed up in my org path, because when I
> first tried to enable org-odt, evaluation of org-odt.el failed with a<= br> > void-variable error which I fixed by manually loading org-exp.el.=C2= =A0
> Here are what I believe to be the relevant parts of my org setup:
>
> ;; get current docs
> (setq Info-default-directory-list (cons "/home/matt/src/org-mode/= doc"
> Info-default-directory-list))
> ;; new load paths
> (setq load-path (cons "/home/matt/src/org-mode/contrib/lisp/"= ;
> load-path))
> (setq load-path (cons "/home/matt/src/org-mode/lisp/" load-p= ath))
>
> (require 'org-exp)
> (require 'org-odt)
>
> and here are the few org customizations I've made, beside the
> somewhat lengthy capture templates:
>
> =C2=A0'(org-default-notes-file "~/Dropbox/GTD/Collect.org&quo= t;)
> =C2=A0'(org-directory "~/Dropbox/GTD/")
> =C2=A0'(org-modules (quote (org-bbdb org-bibtex org-docview org-gn= us
> org-info org-jsinfo org-irc org-mew org-mhe org-rmail org-vm org-exp > org-w3m org-odt \.\.\.)))
> =C2=A0'(org-startup-folded (quote content))
> =C2=A0'(org-startup-indented t)
>
> Thanks as always guys!
> Matt
>
>

--

--20cf307d02fe3118c404a78091ee-- --20cf307d02fe3118c704a78091f0 Content-Type: application/octet-stream; name="org_to_odt.debug" Content-Disposition: attachment; filename="org_to_odt.debug" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gpu612350 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMg I1tuaWwgIlwzMDZcMjExGBlcMjEyXDIxNH5cMjEwZWJcMjEwXDMwNwpcMzA2XDMxMCNcMjAzKQBc MzExXDMwNhscXDMxMgwLXCIqXDIxMRBcMjAzCwBcMzEzXDMwMQhcIlwyMTBcMjAyCwBlYlwyMTBc MzA3DVwzMDZcMzEwI1wyMDNcXABcMzE0XDMwNhscXDMxMgwLXCIqXDIwNkkAXDMxMVwzMDYbHFwz MTIMC1wiKlwyMTEQXDIwMywACFwzMTVcMjMyXDIwNCwAXDMxM1wzMDEIXCJcMjEwXDIwMiwAKgkq XDIwNyIgW2wgcnRuIG9yZy1mb290bm90ZS1kZWZpbml0aW9uLXJlIHN0cmluZyBudW0gb3JnLWZv b3Rub3RlLXJlIG5pbCByZS1zZWFyY2gtZm9yd2FyZCB0IDIgbWF0Y2gtc3RyaW5nLW5vLXByb3Bl cnRpZXMgYWRkLXRvLWxpc3QgLi4uXSA1ICgiL2hvbWUvbWF0dC9zcmMvb3JnLW1vZGUvbGlzcC9v cmctZm9vdG5vdGUuZWxjIiAuIDY3NTEpXSAxKQogIG9yZy1mb290bm90ZS1hbGwtbGFiZWxzKHdp dGgtZGVmcykKICAobGV0KiAob3JnLWxwYXJzZS1lbmNvZGUtcGVuZGluZyBvcmctbHBhcnNlLXBh ci1vcGVuIG9yZy1scGFyc2Utb3V0bGluZS10ZXh0LW9wZW4gKG9yZy1scGFyc2UtbGF0ZXgtZnJh Z21lbnQtZmFsbGJhY2sgKG9yIChpZ25vcmUtZXJyb3JzIChvcmctbHBhcnNlLWdldCAocXVvdGUg TEFURVgtRlJBR01FTlQtRkFMTEJBQ0spKSkgKGlmIChhbmQgKG9yZy1jaGVjay1leHRlcm5hbC1j b21tYW5kICJsYXRleCIgIiIgdCkgKG9yZy1jaGVjay1leHRlcm5hbC1jb21tYW5kICJkdmlwbmci ICIiIHQpKSAocXVvdGUgZHZpcG5nKSAocXVvdGUgdmVyYmF0aW0pKSkpIChvcmctbHBhcnNlLWlu c2VydC10YWctd2l0aC1uZXdsaW5lcyAocXVvdGUgYm90aCkpIChvcmctbHBhcnNlLXRvLWJ1ZmZl ciB0by1idWZmZXIpIChvcmctbHBhcnNlLWJvZHktb25seSBib2R5LW9ubHkpIChvcmctbHBhcnNl LWVudGl0eS1jb250cm9sLWNhbGxiYWNrcy1hbGlzdCAob3JnLWxwYXJzZS1nZXQgKHF1b3RlIEVO VElUWS1DT05UUk9MKSkpIChvcmctbHBhcnNlLWVudGl0eS1mb3JtYXQtY2FsbGJhY2tzLWFsaXN0 IChvcmctbHBhcnNlLWdldCAocXVvdGUgRU5USVRZLUZPUk1BVCkpKSAob3B0LXBsaXN0IChvcmct ZXhwb3J0LXByb2Nlc3Mtb3B0aW9uLWZpbHRlcnMgKG9yZy1jb21iaW5lLXBsaXN0cyAob3JnLWRl ZmF1bHQtZXhwb3J0LXBsaXN0KSBleHQtcGxpc3QgKG9yZy1pbmZpbGUtZXhwb3J0LXBsaXN0KSkp KSAoYm9keS1vbmx5IChvciBib2R5LW9ubHkgKHBsaXN0LWdldCBvcHQtcGxpc3QgOmJvZHktb25s eSkpKSB2YWxpZCBvcmctbHBhcnNlLWR5bi1maXJzdC1oZWFkaW5nLXBvcyAob2RkIG9yZy1vZGQt bGV2ZWxzLW9ubHkpIChyZWdpb24tcCAob3JnLXJlZ2lvbi1hY3RpdmUtcCkpIChyYmVnIChhbmQg cmVnaW9uLXAgKHJlZ2lvbi1iZWdpbm5pbmcpKSkgKHJlbmQgKGFuZCByZWdpb24tcCAocmVnaW9u LWVuZCkpKSAoc3VidHJlZS1wIChpZiAocGxpc3QtZ2V0IG9wdC1wbGlzdCA6aWdub3JlLXN1YnRy ZWUtcCkgbmlsICh3aGVuIHJlZ2lvbi1wIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIHJiZWcp IChhbmQgKG9yZy1hdC1oZWFkaW5nLXApICg+PSAuLi4gcmVuZCkpKSkpKSAobGV2ZWwtb2Zmc2V0 IChpZiBzdWJ0cmVlLXAgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgcmJlZykgKCsgKGZ1bmNh bGwgb3V0bGluZS1sZXZlbCkgKGlmIG9yZy1vZGQtbGV2ZWxzLW9ubHkgMSAwKSkpIDApKSAob3B0 LXBsaXN0IChzZXRxIG9yZy1leHBvcnQtb3B0LXBsaXN0IChpZiBzdWJ0cmVlLXAgKG9yZy1leHBv cnQtYWRkLXN1YnRyZWUtb3B0aW9ucyBvcHQtcGxpc3QgcmJlZykgb3B0LXBsaXN0KSkpIChvcmct Y3VycmVudC1leHBvcnQtZGlyIChvciBwdWItZGlyIChvcmctbHBhcnNlLWdldCAocXVvdGUgRVhQ T1JULURJUikgb3B0LXBsaXN0KSkpIChvcmctY3VycmVudC1leHBvcnQtZmlsZSBidWZmZXItZmls ZS1uYW1lKSAobGV2ZWwgMCkgKGxpbmUgIiIpIChvcmlnbGluZSAiIikgdHh0IHRvZG8gKHVtYXgg bmlsKSAodW1heC10b2MgbmlsKSAoZmlsZW5hbWUgKGlmIHRvLWJ1ZmZlciBuaWwgKGV4cGFuZC1m aWxlLW5hbWUgKGNvbmNhdCAoZmlsZS1uYW1lLXNhbnMtZXh0ZW5zaW9uIChvciAuLi4gLi4uKSkg Ii4iIChvcmctbHBhcnNlLWdldCAocXVvdGUgRklMRS1OQU1FLUVYVEVOU0lPTikgb3B0LXBsaXN0 KSkgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKG9yIHB1Yi1kaXIgKG9yZy1scGFyc2UtZ2V0IC4u LiBvcHQtcGxpc3QpKSkpKSkgKGN1cnJlbnQtZGlyIChpZiBidWZmZXItZmlsZS1uYW1lIChmaWxl LW5hbWUtZGlyZWN0b3J5IGJ1ZmZlci1maWxlLW5hbWUpIGRlZmF1bHQtZGlyZWN0b3J5KSkgKGJ1 ZmZlciAoaWYgdG8tYnVmZmVyIChjb25kICgoZXEgdG8tYnVmZmVyIChxdW90ZSBzdHJpbmcpKSAo Z2V0LWJ1ZmZlci1jcmVhdGUgKG9yZy1scGFyc2UtZ2V0IC4uLikpKSAodCAoZ2V0LWJ1ZmZlci1j cmVhdGUgdG8tYnVmZmVyKSkpIChmaW5kLWZpbGUtbm9zZWxlY3QgKG9yIChsZXQgKC4uLikgKGFu ZCBmIC4uLiAuLi4pKSBmaWxlbmFtZSkpKSkgKG9yZy1sZXZlbHMtb3BlbiAobWFrZS12ZWN0b3Ig b3JnLWxldmVsLW1heCBuaWwpKSAoZGF0ZSAocGxpc3QtZ2V0IG9wdC1wbGlzdCA6ZGF0ZSkpIChk YXRlIChjb25kICgoYW5kIGRhdGUgKHN0cmluZy1tYXRjaCAiJSIgZGF0ZSkpIChmb3JtYXQtdGlt ZS1zdHJpbmcgZGF0ZSkpIChkYXRlIGRhdGUpICh0IChmb3JtYXQtdGltZS1zdHJpbmcgIiVZLSVt LSVkICVUICVaIikpKSkgKGR1bW15IChzZXRxIG9wdC1wbGlzdCAocGxpc3QtcHV0IG9wdC1wbGlz dCA6ZWZmZWN0aXZlLWRhdGUgZGF0ZSkpKSAodGl0bGUgKG9yZy14bWwtZW5jb2RlLW9yZy10ZXh0 LXNraXAtbGlua3MgKG9yIChhbmQgc3VidHJlZS1wIChvcmctZXhwb3J0LWdldC10aXRsZS1mcm9t LXN1YnRyZWUpKSAocGxpc3QtZ2V0IG9wdC1wbGlzdCA6dGl0bGUpIChhbmQgKG5vdCBib2R5LW9u bHkpIChub3QgKHBsaXN0LWdldCBvcHQtcGxpc3QgOnNraXAtYmVmb3JlLTFzdC1oZWFkaW5nKSkg KG9yZy1leHBvcnQtZ3JhYi10aXRsZS1mcm9tLWJ1ZmZlcikpIChhbmQgYnVmZmVyLWZpbGUtbmFt ZSAoZmlsZS1uYW1lLXNhbnMtZXh0ZW5zaW9uIChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5IGJ1ZmZl ci1maWxlLW5hbWUpKSkgIlVOVElUTEVEIikpKSAoZHVtbXkgKHNldHEgb3B0LXBsaXN0IChwbGlz dC1wdXQgb3B0LXBsaXN0IDp0aXRsZSB0aXRsZSkpKSAoaHRtbC10YWJsZS10YWcgKHBsaXN0LWdl dCBvcHQtcGxpc3QgOmh0bWwtdGFibGUtdGFnKSkgKHF1b3RlLXJlMCAoY29uY2F0ICJeWyAJXSoi IG9yZy1xdW90ZS1zdHJpbmcgIlxcPiIpKSAocXVvdGUtcmUgKGNvbmNhdCAiXlxcKFxcKitcXClc XChbIAldKyIgb3JnLXF1b3RlLXN0cmluZyAiXFw+XFwpIikpIChvcmctbHBhcnNlLWR5bi1jdXJy ZW50LWVudmlyb25tZW50IG5pbCkgKGxhbmctd29yZHMgKG9yIChhc3NvYyAocGxpc3QtZ2V0IG9w dC1wbGlzdCA6bGFuZ3VhZ2UpIG9yZy1leHBvcnQtbGFuZ3VhZ2Utc2V0dXApIChhc3NvYyAiZW4i IG9yZy1leHBvcnQtbGFuZ3VhZ2Utc2V0dXApKSkgKGR1bW15IChzZXRxIG9wdC1wbGlzdCAocGxp c3QtcHV0IG9wdC1wbGlzdCA6bGFuZy13b3JkcyBsYW5nLXdvcmRzKSkpIChoZWFkLWNvdW50IDAp IGNudCAoc3RhcnQgMCkgKGNvZGluZy1zeXN0ZW0tZm9yLXdyaXRlIChvciAoaWdub3JlLWVycm9y cyAob3JnLWxwYXJzZS1nZXQgKHF1b3RlIENPRElORy1TWVNURU0tRk9SLVdSSVRFKSkpIChhbmQg KGJvdW5kcCAocXVvdGUgYnVmZmVyLWZpbGUtY29kaW5nLXN5c3RlbSkpIGJ1ZmZlci1maWxlLWNv ZGluZy1zeXN0ZW0pKSkgKHNhdmUtYnVmZmVyLWNvZGluZy1zeXN0ZW0gKG9yIChpZ25vcmUtZXJy b3JzIChvcmctbHBhcnNlLWdldCAocXVvdGUgQ09ESU5HLVNZU1RFTS1GT1ItU0FWRSkpKSAoYW5k IChib3VuZHAgKHF1b3RlIGJ1ZmZlci1maWxlLWNvZGluZy1zeXN0ZW0pKSBidWZmZXItZmlsZS1j b2Rpbmctc3lzdGVtKSkpIChyZWdpb24gKGJ1ZmZlci1zdWJzdHJpbmcgKGlmIHJlZ2lvbi1wIChy ZWdpb24tYmVnaW5uaW5nKSAocG9pbnQtbWluKSkgKGlmIHJlZ2lvbi1wIChyZWdpb24tZW5kKSAo cG9pbnQtbWF4KSkpKSAuLi4pIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KSkgKG9yZy11bm1v ZGlmaWVkIChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpIChx dW90ZSAoOm9yZy1saWNlbnNlLXRvLWtpbGwgdCkpKSkpIChtZXNzYWdlICJFeHBvcnRpbmcuLi4i KSAob3JnLWluaXQtc2VjdGlvbi1udW1iZXJzKSAoc2V0cSBvcmctbHBhcnNlLW91dHB1dC1idWZm ZXIgYnVmZmVyKSAoc2V0LWJ1ZmZlciBvcmctbHBhcnNlLW91dHB1dC1idWZmZXIpIChsZXQgKChp bmhpYml0LXJlYWQtb25seSB0KSkgKGVyYXNlLWJ1ZmZlcikpIChmdW5kYW1lbnRhbC1tb2RlKSAo b3JnLWluc3RhbGwtbGV0YmluZCkgKGFuZCAoZmJvdW5kcCAocXVvdGUgc2V0LWJ1ZmZlci1maWxl LWNvZGluZy1zeXN0ZW0pKSAoc2V0LWJ1ZmZlci1maWxlLWNvZGluZy1zeXN0ZW0gY29kaW5nLXN5 c3RlbS1mb3Itd3JpdGUpKSAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCBuaWwpIChvcmctb2RkLWxl dmVscy1vbmx5IG9kZCkpIChtYXBjIChsYW1iZGEgKHgpIChzZXQgKG1ha2UtbG9jYWwtdmFyaWFi bGUgKG50aCAyIHgpKSAocGxpc3QtZ2V0IG9wdC1wbGlzdCAoY2FyIHgpKSkpIG9yZy1leHBvcnQt cGxpc3QtdmFycykgKHNldHEgdW1heCAoaWYgYXJnIChwcmVmaXgtbnVtZXJpYy12YWx1ZSBhcmcp IG9yZy1leHBvcnQtaGVhZGxpbmUtbGV2ZWxzKSkgKHNldHEgdW1heC10b2MgKGlmIChpbnRlZ2Vy cCBvcmctZXhwb3J0LXdpdGgtdG9jKSAobWluIG9yZy1leHBvcnQtd2l0aC10b2MgdW1heCkgdW1h eCkpICh3aGVuIChhbmQgb3JnLWV4cG9ydC13aXRoLXRvYyAobm90IGJvZHktb25seSkpIChzZXRx IGxpbmVzIChvcmctbHBhcnNlLXByZXBhcmUtdG9jIGxpbmVzIGxldmVsLW9mZnNldCBvcHQtcGxp c3QgdW1heC10b2MpKSkgKHVubGVzcyBib2R5LW9ubHkgKG9yZy1scGFyc2UtYmVnaW4gKHF1b3Rl IERPQ1VNRU5ULUNPTlRFTlQpIG9wdC1wbGlzdCkgKG9yZy1scGFyc2UtYmVnaW4gKHF1b3RlIERP Q1VNRU5ULUJPRFkpIG9wdC1wbGlzdCkpIChzZXRxIGhlYWQtY291bnQgMCkgKG9yZy1pbml0LXNl Y3Rpb24tbnVtYmVycykgKG9yZy1scGFyc2UtYmVnaW4tcGFyYWdyYXBoKSAod2hpbGUgKHNldHEg bGluZSAocG9wIGxpbmVzKSBvcmlnbGluZSBsaW5lKSAoY2F0Y2ggKHF1b3RlIG5leHRsaW5lKSAo d2hlbiAoYW5kIChvcmctbHBhcnNlLWN1cnJlbnQtZW52aXJvbm1lbnQtcCAocXVvdGUgcXVvdGUp KSAoc3RyaW5nLW1hdGNoICJeXFwqKyAiIGxpbmUpKSAob3JnLWxwYXJzZS1lbmQtZW52aXJvbm1l bnQgKHF1b3RlIHF1b3RlKSkpICh3aGVuIChvcmctbHBhcnNlLWN1cnJlbnQtZW52aXJvbm1lbnQt cCAocXVvdGUgcXVvdGUpKSAob3JnLWxwYXJzZS1pbnNlcnQgKHF1b3RlIExJTkUpIGxpbmUpICh0 aHJvdyAocXVvdGUgbmV4dGxpbmUpIG5pbCkpICh3aGVuIChhbmQgb3JnLWV4cG9ydC13aXRoLWZp eGVkLXdpZHRoIChzdHJpbmctbWF0Y2ggIl5bIAldKjpcXChcXChbIAldXFx8JFxcKVxcKC4qXFwp XFwpIiBsaW5lKSkgKHdoZW4gKG5vdCAob3JnLWxwYXJzZS1jdXJyZW50LWVudmlyb25tZW50LXAg Li4uKSkgKG9yZy1scGFyc2UtYmVnaW4tZW52aXJvbm1lbnQgKHF1b3RlIGZpeGVkd2lkdGgpKSkg KG9yZy1scGFyc2UtaW5zZXJ0IChxdW90ZSBMSU5FKSAobWF0Y2gtc3RyaW5nIDMgbGluZSkpICh3 aGVuIChvciAobm90IGxpbmVzKSAobm90IC4uLikpIChvcmctbHBhcnNlLWVuZC1lbnZpcm9ubWVu dCAocXVvdGUgZml4ZWR3aWR0aCkpKSAodGhyb3cgKHF1b3RlIG5leHRsaW5lKSBuaWwpKSAod2hl biAoYW5kIChnZXQtdGV4dC1wcm9wZXJ0eSAwIChxdW90ZSBvcmctbmF0aXZlLXRleHQpIGxpbmUp IChub3QgKDwgLi4uIC4uLikpKSAobGV0ICgoaW5kIC4uLikpIChvcmctbHBhcnNlLWJlZ2luLWVu dmlyb25tZW50IChxdW90ZSBuYXRpdmUpKSAob3JnLWxwYXJzZS1pbnNlcnQgKHF1b3RlIExJTkUp IGxpbmUpICh3aGlsZSAoYW5kIGxpbmVzIC4uLiAuLi4pIChvcmctbHBhcnNlLWluc2VydCAuLi4g Li4uKSkgKG9yZy1scGFyc2UtZW5kLWVudmlyb25tZW50IChxdW90ZSBuYXRpdmUpKSkgKHRocm93 IChxdW90ZSBuZXh0bGluZSkgbmlsKSkgKHdoZW4gKGFuZCAoZ2V0LXRleHQtcHJvcGVydHkgMCAo cXVvdGUgb3JnLXByb3RlY3RlZCkgbGluZSkgKG5vdCAoPCAuLi4gLi4uKSkpIChsZXQgKChpbmQg Li4uKSkgKG9yZy1scGFyc2UtaW5zZXJ0IChxdW90ZSBMSU5FKSBsaW5lKSAod2hpbGUgKGFuZCBs aW5lcyAuLi4gLi4uKSAob3JnLWxwYXJzZS1pbnNlcnQgLi4uIC4uLikpKSAodGhyb3cgKHF1b3Rl IG5leHRsaW5lKSBuaWwpKSAod2hlbiAoc3RyaW5nLW1hdGNoICJeT1JHLVxcKC4rXFwpLVxcKFNU QVJUXFx8RU5EXFwpJCIgbGluZSkgKGxldCogKChzdHlsZSAuLi4pIChmIC4uLikpICh3aGVuICht ZW1xIHN0eWxlIC4uLikgKGZ1bmNhbGwgZiBzdHlsZSkgKHRocm93IC4uLiBuaWwpKSkpIChydW4t aG9va3MgKHF1b3RlIG9yZy1leHBvcnQtaHRtbC1hZnRlci1ibG9ja3F1b3Rlcy1ob29rKSkgKHdo ZW4gKG9yZy1scGFyc2UtY3VycmVudC1lbnZpcm9ubWVudC1wIChxdW90ZSB2ZXJzZSkpIChsZXQg KChpIC4uLikpIChpZiAoPiBpIDApIChzZXRxIGxpbmUgLi4uKSkgKHVubGVzcyAoc3RyaW5nLW1h dGNoICJcXFxcXFxcXFsgCV0qJCIgbGluZSkgKHNldHEgbGluZSAuLi4pKSkpIChzZXRxIHN0YXJ0 IDApICh3aGlsZSAoc3RyaW5nLW1hdGNoICI8PDw/XFwoW148Pl0qXFwpPj4+P1xcKChJTlZJU0lC TEUpXFwpP1sgCV0qXG4/IiBsaW5lIHN0YXJ0KSAoY29uZCAoKGdldC10ZXh0LXByb3BlcnR5IC4u LiAuLi4gbGluZSkgKHNldHEgc3RhcnQgLi4uKSkgKChtYXRjaC1lbmQgMikgKHNldHEgbGluZSAu Li4pKSAoKGFuZCBvcmctZXhwb3J0LXdpdGgtdG9jIC4uLikgKHNldHEgbGluZSAuLi4pKSAodCAo c2V0cSBsaW5lIC4uLikpKSkgKGxldCAoKG9yZy1scGFyc2UtZW5jb2RlLXBlbmRpbmcgdCkpIChz ZXRxIGxpbmUgKG9yZy1scGFyc2UtaGFuZGxlLXRpbWUtc3RhbXBzIGxpbmUpKSkgKG9yIChzdHJp bmctbWF0Y2ggb3JnLXRhYmxlLWhsaW5lLXJlZ2V4cCBsaW5lKSAoc3RyaW5nLW1hdGNoICJeWyAJ XSpcXChbK10tXFx8fFsgXVxcKVstKyB8XSpbK3xdWyAJXSokIiBsaW5lKSAoc2V0cSBsaW5lIChv cmcteG1sLWVuY29kZS1vcmctdGV4dC1za2lwLWxpbmtzIGxpbmUpKSkgKHNldHEgbGluZSAob3Jn LWxwYXJzZS1mb3JtYXQtb3JnLWxpbmsgbGluZSBvcHQtcGxpc3QpKSAoaWYgKGFuZCAoc3RyaW5n LW1hdGNoIG9yZy10b2RvLWxpbmUtcmVnZXhwIGxpbmUpIChtYXRjaC1iZWdpbm5pbmcgMikpIChz ZXRxIGxpbmUgKGNvbmNhdCAoc3Vic3RyaW5nIGxpbmUgMCAuLi4pIChvcmctbHBhcnNlLWZvcm1h dCAuLi4gLi4uKSAoc3Vic3RyaW5nIGxpbmUgLi4uKSkpKSAod2hlbiBvcmctZXhwb3J0LXdpdGgt Zm9vdG5vdGVzIChzZXRxIHN0YXJ0IDApICh3aGlsZSAoc3RyaW5nLW1hdGNoICJcXChbXiogCV0u Kj9cXClbIAldKlxcW1xcKFswLTldK1xcKVxcXSIgbGluZSBzdGFydCkgKGlmIChvciAuLi4gLi4u KSAoc2V0cSBzdGFydCAuLi4pIChsZXQgLi4uIC4uLiAuLi4pKSkpIChjb25kICgoc3RyaW5nLW1h dGNoICJeXFwoXFwqK1xcKVsgCV0rXFwoLipcXCkiIGxpbmUpIChzZXRxIGxldmVsIChvcmctdHIt bGV2ZWwgLi4uKSB0eHQgKG1hdGNoLXN0cmluZyAyIGxpbmUpKSAoaWYgKHN0cmluZy1tYXRjaCBx dW90ZS1yZTAgdHh0KSAoc2V0cSB0eHQgLi4uKSkgKGlmICg8PSBsZXZlbCAuLi4pIChzZXRxIGhl YWQtY291bnQgLi4uKSkgKHVubGVzcyBvcmctbHBhcnNlLWR5bi1maXJzdC1oZWFkaW5nLXBvcyAo c2V0cSBvcmctbHBhcnNlLWR5bi1maXJzdC1oZWFkaW5nLXBvcyAuLi4pKSAob3JnLWxwYXJzZS1i ZWdpbi1sZXZlbCBsZXZlbCB0eHQgdW1heCBoZWFkLWNvdW50KSAod2hlbiAoc3RyaW5nLW1hdGNo IHF1b3RlLXJlIGxpbmUpIChvcmctbHBhcnNlLWJlZ2luLWVudmlyb25tZW50IC4uLikpKSAoKGFu ZCBvcmctZXhwb3J0LXdpdGgtdGFibGVzIChzdHJpbmctbWF0Y2ggIl5cXChbIAldKlxcKVxcKHxc XHxcXCstK1xcK1xcKSIgbGluZSkpICh3aGVuIChub3QgdGFibGUtb3BlbikgKHNldHEgdGFibGUt b3BlbiB0IHRhYmxlLWJ1ZmZlciBuaWwgdGFibGUtb3JpZy1idWZmZXIgbmlsKSkgKHNldHEgdGFi bGUtYnVmZmVyIChjb25zIGxpbmUgdGFibGUtYnVmZmVyKSB0YWJsZS1vcmlnLWJ1ZmZlciAoY29u cyBvcmlnbGluZSB0YWJsZS1vcmlnLWJ1ZmZlcikpICh3aGVuIChvciAuLi4gLi4uKSAoc2V0cSB0 YWJsZS1vcGVuIG5pbCB0YWJsZS1idWZmZXIgLi4uIHRhYmxlLW9yaWctYnVmZmVyIC4uLikgKG9y Zy1scGFyc2UtZW5kLXBhcmFncmFwaCkgKG9yZy1scGFyc2UtaW5zZXJ0IC4uLiB0YWJsZS1idWZm ZXIgdGFibGUtb3JpZy1idWZmZXIpKSkgKHQgKHdoZW4gKGdldC10ZXh0LXByb3BlcnR5IDAgLi4u IGxpbmUpIChzZXRxIGxpbmUgLi4uKSkgKHdoZW4gKHN0cmluZy1tYXRjaCAiXlsgCV0qLVxcezUs XFx9WyAJXSokIiBsaW5lKSAod2l0aC1vcmctbHBhcnNlLXByZXNlcnZlLXBhcmFncmFwaC1zdGF0 ZSAuLi4pICh0aHJvdyAuLi4gbmlsKSkgKHdoZW4gKHN0cmluZy1tYXRjaCAiXiBbLSsqXS1cXHxe WyAJXSokIiBsaW5lKSAod2hlbiBvcmctbHBhcnNlLWZvb3Rub3RlLW51bWJlciAuLi4gLi4uKSAo b3JnLWxwYXJzZS1iZWdpbi1wYXJhZ3JhcGgpKSAod2hlbiBvcmctZXhwb3J0LXdpdGgtZm9vdG5v dGVzICh3aGVuIC4uLiAuLi4pICh3aGVuIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSAoY29uZCAoLi4u IC4uLikgKG9yZy1leHBvcnQtcHJlc2VydmUtYnJlYWtzIC4uLikpIChsZXQgKC4uLikgKHdoaWxl IC4uLiAuLi4gLi4uIC4uLikpIChvcmctbHBhcnNlLWluc2VydCAocXVvdGUgTElORSkgbGluZSkp KSkpICh3aGVuIChvcmctbHBhcnNlLWN1cnJlbnQtZW52aXJvbm1lbnQtcCAocXVvdGUgcXVvdGUp KSAob3JnLWxwYXJzZS1lbmQtZW52aXJvbm1lbnQgKHF1b3RlIHF1b3RlKSkpIChvcmctbHBhcnNl LWVuZC1sZXZlbCAxIHVtYXgpICh3aGVuIChhbmQgKD4gdW1heCAwKSBvcmctbHBhcnNlLWR5bi1m aXJzdC1oZWFkaW5nLXBvcykgKG9yZy1scGFyc2UtZW5kLW91dGxpbmUtdGV4dC1vci1vdXRsaW5l KSkgKG9yZy1scGFyc2UtZW5kIChxdW90ZSBET0NVTUVOVC1CT0RZKSBvcHQtcGxpc3QpICh1bmxl c3MgYm9keS1vbmx5IChvcmctbHBhcnNlLWVuZCAocXVvdGUgRE9DVU1FTlQtQ09OVEVOVCkpKSAo dW5sZXNzIChwbGlzdC1nZXQgb3B0LXBsaXN0IDpidWZmZXItd2lsbC1iZS1raWxsZWQpIChzZXQt YXV0by1tb2RlIHQpKSAob3JnLWxwYXJzZS1lbmQgKHF1b3RlIEVYUE9SVCkpIChnb3RvLWNoYXIg KHBvaW50LW1pbikpIChvciAob3JnLWV4cG9ydC1wdXNoLXRvLWtpbGwtcmluZyAodXBjYXNlIChz eW1ib2wtbmFtZSBvcmctbHBhcnNlLWJhY2tlbmQpKSkgKG1lc3NhZ2UgIkV4cG9ydGluZy4uLiBk b25lIikpIChjb25kICgobm90IHRvLWJ1ZmZlcikgKGxldCAoKGYgKG9yZy1scGFyc2UtZ2V0IC4u LikpKSAob3IgKGFuZCBmIChmdW5jdGlvbnAgZikgKGZ1bmNhbGwgZiBmaWxlbmFtZSBvcHQtcGxp c3QpKSAoc2F2ZS1idWZmZXIpKSkgKG9yICh3aGVuIChhbmQgKGJvdW5kcCAuLi4pIG9yZy1scGFy c2Utb3RoZXItYmFja2VuZCAobm90IC4uLikpIChsZXQgKC4uLikgKHdoZW4gb3JnLWV4cG9ydC1j b252ZXJ0LXByb2Nlc3MgLi4uKSkpIChjdXJyZW50LWJ1ZmZlcikpKSAoKGVxIHRvLWJ1ZmZlciAo cXVvdGUgc3RyaW5nKSkgKHByb2cxIChidWZmZXItc3Vic3RyaW5nIChwb2ludC1taW4pIChwb2lu dC1tYXgpKSAoa2lsbC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKSAodCAoY3VycmVudC1idWZm ZXIpKSkpKQogIG9yZy1kby1scGFyc2UobmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwpCiAgKGxldCog KChvcmctbHBhcnNlLWJhY2tlbmQgKGludGVybiBuYXRpdmUtYmFja2VuZCkpIChvcmctbHBhcnNl LW90aGVyLWJhY2tlbmQgKGludGVybiB0YXJnZXQtYmFja2VuZCkpKSAodW5sZXNzIChvcmctbHBh cnNlLWJhY2tlbmQtaXMtbmF0aXZlLXAgbmF0aXZlLWJhY2tlbmQpIChlcnJvciAiRG9uJ3Qga25v dyBob3cgdG8gZXhwb3J0IG5hdGl2ZWx5IHRvIGJhY2tlbmQgJXMiIG5hdGl2ZS1iYWNrZW5kKSkg KHVubGVzcyAob3IgKG5vdCB0YXJnZXQtYmFja2VuZCkgKGVxdWFsIHRhcmdldC1iYWNrZW5kIG5h dGl2ZS1iYWNrZW5kKSAobWVtYmVyIHRhcmdldC1iYWNrZW5kIChvcmctbHBhcnNlLWdldCAocXVv dGUgT1RIRVItQkFDS0VORFMpKSkpIChlcnJvciAiRG9uJ3Qga25vdyBob3cgdG8gZXhwb3J0IHRv IGJhY2tlbmQgJXMgJXMiIHRhcmdldC1iYWNrZW5kIChmb3JtYXQgInZpYSAlcyIgbmF0aXZlLWJh Y2tlbmQpKSkgKHJ1bi1ob29rcyAocXVvdGUgb3JnLWV4cG9ydC1maXJzdC1ob29rKSkgKG9yZy1k by1scGFyc2UgYXJnIGhpZGRlbiBleHQtcGxpc3QgdG8tYnVmZmVyIGJvZHktb25seSBwdWItZGly KSkKICBvcmctbHBhcnNlKCJvZHQiICJvZHQiIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsKQogIG9y Zy1leHBvcnQtYXMtb2R0KG5pbCkKICBjYWxsLWludGVyYWN0aXZlbHkob3JnLWV4cG9ydC1hcy1v ZHQpCiAgKGlmIChhbmQgYmcgKG50aCAyIGFzcykgKG5vdCAoYnVmZmVyLWJhc2UtYnVmZmVyKSkg KG5vdCAob3JnLXJlZ2lvbi1hY3RpdmUtcCkpKSAobGV0ICgocCAoc3RhcnQtcHJvY2VzcyAoY29u Y2F0ICJFeHBvcnRpbmcgIiAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSAoYnVmZmVyLWZpbGUtbmFt ZSkpKSAiKk9yZyBQcm9jZXNzZXMqIiAoZXhwYW5kLWZpbGUtbmFtZSBpbnZvY2F0aW9uLW5hbWUg aW52b2NhdGlvbi1kaXJlY3RvcnkpICItYmF0Y2giICItbCIgdXNlci1pbml0LWZpbGUgIi0tZXZh bCIgIihyZXF1aXJlICdvcmctZXhwKSIgIi0tZXZhbCIgIihzZXRxIG9yZy13YWl0IC4yKSIgKGJ1 ZmZlci1maWxlLW5hbWUpICItZiIgKHN5bWJvbC1uYW1lIChudGggMSBhc3MpKSkpKSAoc2V0LXBy b2Nlc3Mtc2VudGluZWwgcCAocXVvdGUgb3JnLWV4cG9ydC1wcm9jZXNzLXNlbnRpbmVsKSkgKG1l c3NhZ2UgIkJhY2tncm91bmQgcHJvY2VzcyBcIiVzXCI6IHN0YXJ0ZWQiIHApKSAoaWYgc3VidHJl ZS1wIChwcm9nbiAob3JnLW1hcmstc3VidHJlZSkgKG9yZy1hY3RpdmF0ZS1tYXJrKSkpIChjYWxs LWludGVyYWN0aXZlbHkgKG50aCAxIGFzcykpICh3aGVuIChhbmQgYnBvcyAoZ2V0LWJ1ZmZlci13 aW5kb3cgY2J1ZikpIChsZXQgKChjdyAoc2VsZWN0ZWQtd2luZG93KSkpIChzZWxlY3Qtd2luZG93 IChnZXQtYnVmZmVyLXdpbmRvdyBjYnVmKSkgKGdvdG8tY2hhciBjcG9zKSAoZGVhY3RpdmF0ZS1t YXJrKSAoc2VsZWN0LXdpbmRvdyBjdykpKSkKICAobGV0KiAoKGJnIChvcmcteG9yIChlcXVhbCBh cmcgKHF1b3RlICgxNikpKSBvcmctZXhwb3J0LXJ1bi1pbi1iYWNrZ3JvdW5kKSkgKHN1YnRyZWUt cCAob3IgKG9yZy1yZWdpb24tYWN0aXZlLXApIChlcSBvcmctZXhwb3J0LWluaXRpYWwtc2NvcGUg KHF1b3RlIHN1YnRyZWUpKSkpIChoZWxwICJbdF0gICBpbnNlcnQgdGhlIGV4cG9ydCBvcHRpb24g dGVtcGxhdGVcblt2XSAgIGxpbWl0IGV4cG9ydCB0byB2aXNpYmxlIHBhcnQgb2Ygb3V0bGluZSB0 cmVlXG5bMV0gICBzd2l0Y2ggYnVmZmVyL3N1YnRyZWUgZXhwb3J0XG5bU1BDXSBwdWJsaXNoIGVu Y2xvc2luZyBzdWJ0cmVlICh3aXRoIExhVGVYX0NMQVNTIG9yIEVYUE9SVF9GSUxFX05BTUUgcHJv cClcblxuW2Evbi91XSBleHBvcnQgYXMgQVNDSUkvTGF0aW4tMS9VVEYtOCAgICAgICAgIFtBL04v VV0gdG8gdGVtcG9yYXJ5IGJ1ZmZlclxuXG5baF0gZXhwb3J0IGFzIEhUTUwgICAgICBbSF0gdG8g dGVtcG9yYXJ5IGJ1ZmZlciAgIFtSXSBleHBvcnQgcmVnaW9uXG5bYl0gZXhwb3J0IGFzIEhUTUwg YW5kIG9wZW4gaW4gYnJvd3NlclxuXG5bbF0gZXhwb3J0IGFzIExhVGVYICAgICBbTF0gdG8gdGVt cG9yYXJ5IGJ1ZmZlclxuW3BdIGV4cG9ydCBhcyBMYVRlWCBhbmQgcHJvY2VzcyB0byBQREYgICAg ICAgICAgICBbZF0gLi4uIGFuZCBvcGVuIFBERiBmaWxlXG5cbltEXSBleHBvcnQgYXMgRG9jQm9v ayAgIFtWXSBleHBvcnQgYXMgRG9jQm9vaywgcHJvY2VzcyB0byBQREYsIGFuZCBvcGVuXG5cbltv XSBleHBvcnQgYXMgT3BlbkRvY3VtZW50VGV4dCAgICAgICAgICAgICAgICAgICAgW09dIC4uLiBh bmQgb3BlblxuXG5bal0gZXhwb3J0IGFzIFRhc2tKdWdnbGVyICAgICAgICAgICAgICAgICAgICAg ICAgIFtKXSAuLi4gYW5kIG9wZW5cblxuW21dIGV4cG9ydCBhcyBGcmVlbWluZCBtaW5kIG1hcFxu W3hdIGV4cG9ydCBhcyBYT1hPXG5bZ10gZXhwb3J0IHVzaW5nIFdlcyBIYXJkYWtlcidzIGdlbmVy aWMgZXhwb3J0ZXJcblxuW2ldIGV4cG9ydCBjdXJyZW50IGZpbGUgYXMgaUNhbGVuZGFyIGZpbGVc bltJXSBleHBvcnQgYWxsIGFnZW5kYSBmaWxlcyBhcyBpQ2FsZW5kYXIgZmlsZXMgICBbY10gLi4u YXMgb25lIGNvbWJpbmVkIGZpbGVcblxuW0ZdIHB1Ymxpc2ggY3VycmVudCBmaWxlICAgICAgICAg IFtQXSBwdWJsaXNoIGN1cnJlbnQgcHJvamVjdFxuW1hdIHB1Ymxpc2ggYSBwcm9qZWN0Li4uICAg ICAgICAgIFtFXSBwdWJsaXNoIGV2ZXJ5IHByb2plY3RzIikgKGNtZHMgKHF1b3RlICgoMTE2IG9y Zy1pbnNlcnQtZXhwb3J0LW9wdGlvbnMtdGVtcGxhdGUgbmlsKSAoMTE4IG9yZy1leHBvcnQtdmlz aWJsZSBuaWwpICg5NyBvcmctZXhwb3J0LWFzLWFzY2lpIHQpICg2NSBvcmctZXhwb3J0LWFzLWFz Y2lpLXRvLWJ1ZmZlciB0KSAoMTEwIG9yZy1leHBvcnQtYXMtbGF0aW4xIHQpICg3OCBvcmctZXhw b3J0LWFzLWxhdGluMS10by1idWZmZXIgdCkgKDExNyBvcmctZXhwb3J0LWFzLXV0ZjggdCkgKDg1 IG9yZy1leHBvcnQtYXMtdXRmOC10by1idWZmZXIgdCkgKDEwNCBvcmctZXhwb3J0LWFzLWh0bWwg dCkgKDk4IG9yZy1leHBvcnQtYXMtaHRtbC1hbmQtb3BlbiB0KSAoNzIgb3JnLWV4cG9ydC1hcy1o dG1sLXRvLWJ1ZmZlciBuaWwpICg4MiBvcmctZXhwb3J0LXJlZ2lvbi1hcy1odG1sIG5pbCkgKDEy MCBvcmctZXhwb3J0LWFzLXhveG8gdCkgKDEwMyBvcmctZXhwb3J0LWdlbmVyaWMgdCkgKDY4IG9y Zy1leHBvcnQtYXMtZG9jYm9vayB0KSAoODYgb3JnLWV4cG9ydC1hcy1kb2Nib29rLXBkZi1hbmQt b3BlbiB0KSAoMTExIG9yZy1leHBvcnQtYXMtb2R0IHQpICg3OSBvcmctZXhwb3J0LWFzLW9kdC1h bmQtb3BlbiB0KSAoMTA2IG9yZy1leHBvcnQtYXMtdGFza2p1Z2dsZXIgdCkgKDc0IG9yZy1leHBv cnQtYXMtdGFza2p1Z2dsZXItYW5kLW9wZW4gdCkgKDEwOSBvcmctZXhwb3J0LWFzLWZyZWVtaW5k IHQpICgxMDggb3JnLWV4cG9ydC1hcy1sYXRleCB0KSAoMTEyIG9yZy1leHBvcnQtYXMtcGRmIHQp ICgxMDAgb3JnLWV4cG9ydC1hcy1wZGYtYW5kLW9wZW4gdCkgKDc2IG9yZy1leHBvcnQtYXMtbGF0 ZXgtdG8tYnVmZmVyIG5pbCkgKDEwNSBvcmctZXhwb3J0LWljYWxlbmRhci10aGlzLWZpbGUgdCkg KDczIG9yZy1leHBvcnQtaWNhbGVuZGFyLWFsbC1hZ2VuZGEtZmlsZXMgdCkgKDk5IG9yZy1leHBv cnQtaWNhbGVuZGFyLWNvbWJpbmUtYWdlbmRhLWZpbGVzIHQpICg3MCBvcmctcHVibGlzaC1jdXJy ZW50LWZpbGUgdCkgKDgwIG9yZy1wdWJsaXNoLWN1cnJlbnQtcHJvamVjdCB0KSAoODggb3JnLXB1 Ymxpc2ggdCkgKDY5IG9yZy1wdWJsaXNoLWFsbCB0KSkpKSByMSByMiBhc3MgKGNwb3MgKHBvaW50 KSkgKGNidWYgKGN1cnJlbnQtYnVmZmVyKSkgYnBvcykgKHNhdmUtZXhjdXJzaW9uIChzYXZlLXdp bmRvdy1leGN1cnNpb24gKGlmIHN1YnRyZWUtcCAobWVzc2FnZSAiRXhwb3J0IHN1YnRyZWU6ICIp IChtZXNzYWdlICJFeHBvcnQgYnVmZmVyOiAiKSkgKGRlbGV0ZS1vdGhlci13aW5kb3dzKSAod2l0 aC1vdXRwdXQtdG8tdGVtcC1idWZmZXIgIipPcmcgRXhwb3J0L1B1Ymxpc2hpbmcgSGVscCoiIChw cmluYyBoZWxwKSkgKG9yZy1maXQtd2luZG93LXRvLWJ1ZmZlciAoZ2V0LWJ1ZmZlci13aW5kb3cg IipPcmcgRXhwb3J0L1B1Ymxpc2hpbmcgSGVscCoiKSkgKHdoaWxlIChlcSAoc2V0cSByMSAocmVh ZC1jaGFyLWV4Y2x1c2l2ZSkpIDQ5KSAoY29uZCAoc3VidHJlZS1wIChzZXRxIHN1YnRyZWUtcCBu aWwpIChtZXNzYWdlICJFeHBvcnQgYnVmZmVyOiAiKSkgKChub3Qgc3VidHJlZS1wKSAoc2V0cSBz dWJ0cmVlLXAgdCkgKG1lc3NhZ2UgIkV4cG9ydCBzdWJ0cmVlOiAiKSkpKSAod2hlbiAoZXEgcjEg MzIpIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIHQpIChlbmQgKHNhdmUtZXhjdXJzaW9uIC4uLiAu Li4pKSkgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSAoaWYgKHJlLXNlYXJjaC1iYWNrd2FyZCAiXlsg CV0rXFwoOmxhdGV4X2NsYXNzOlxcfDpleHBvcnRfdGl0bGU6XFx8OmV4cG9ydF9maWxlX25hbWU6 XFwpWyAJXStcXFMtIiBlbmQgdCkgKHByb2duIChvcmctYmFjay10by1oZWFkaW5nIHQpIChzZXRx IHN1YnRyZWUtcCB0KSAoc2V0cSBicG9zIC4uLikgKG1lc3NhZ2UgIlNlbGVjdCBjb21tYW5kIChm b3Igc3VidHJlZSk6ICIpIChzZXRxIHIxIC4uLikpIChlcnJvciAiTm8gZW5jbG9zaW5nIG5vZGUg d2l0aCBMYVRlWF9DTEFTUyBvciBFWFBPUlRfVElUTEUgb3IgRVhQT1JUX0ZJTEVfTkFNRSIpKSkp KSkgKHJlZGlzcGxheSkgKGFuZCBicG9zIChnb3RvLWNoYXIgYnBvcykpIChzZXRxIHIyIChpZiAo PCByMSAyNykgKCsgcjEgOTYpIHIxKSkgKHVubGVzcyAoc2V0cSBhc3MgKGFzc3EgcjIgY21kcykp IChlcnJvciAiTm8gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGgga2V5ICVjIiByMSkpIChpZiAoYW5k IGJnIChudGggMiBhc3MpIChub3QgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpIChub3QgKG9yZy1yZWdp b24tYWN0aXZlLXApKSkgKGxldCAoKHAgKHN0YXJ0LXByb2Nlc3MgKGNvbmNhdCAiRXhwb3J0aW5n ICIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgLi4uKSkgIipPcmcgUHJvY2Vzc2VzKiIgKGV4cGFu ZC1maWxlLW5hbWUgaW52b2NhdGlvbi1uYW1lIGludm9jYXRpb24tZGlyZWN0b3J5KSAiLWJhdGNo IiAiLWwiIHVzZXItaW5pdC1maWxlICItLWV2YWwiICIocmVxdWlyZSAnb3JnLWV4cCkiICItLWV2 YWwiICIoc2V0cSBvcmctd2FpdCAuMikiIChidWZmZXItZmlsZS1uYW1lKSAiLWYiIChzeW1ib2wt bmFtZSAobnRoIDEgYXNzKSkpKSkgKHNldC1wcm9jZXNzLXNlbnRpbmVsIHAgKHF1b3RlIG9yZy1l eHBvcnQtcHJvY2Vzcy1zZW50aW5lbCkpIChtZXNzYWdlICJCYWNrZ3JvdW5kIHByb2Nlc3MgXCIl c1wiOiBzdGFydGVkIiBwKSkgKGlmIHN1YnRyZWUtcCAocHJvZ24gKG9yZy1tYXJrLXN1YnRyZWUp IChvcmctYWN0aXZhdGUtbWFyaykpKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChudGggMSBhc3MpKSAo d2hlbiAoYW5kIGJwb3MgKGdldC1idWZmZXItd2luZG93IGNidWYpKSAobGV0ICgoY3cgKHNlbGVj dGVkLXdpbmRvdykpKSAoc2VsZWN0LXdpbmRvdyAoZ2V0LWJ1ZmZlci13aW5kb3cgY2J1ZikpIChn b3RvLWNoYXIgY3BvcykgKGRlYWN0aXZhdGUtbWFyaykgKHNlbGVjdC13aW5kb3cgY3cpKSkpKQog IG9yZy1leHBvcnQobmlsKQogIGNhbGwtaW50ZXJhY3RpdmVseShvcmctZXhwb3J0IG5pbCBuaWwp CiAgcmVjdXJzaXZlLWVkaXQoKQogIGRlYnVnKGVycm9yICh2b2lkLXZhcmlhYmxlIG9yZy1leHBv cnQtYmFja2VuZHMpKQogIGFkZC10by1saXN0KG9yZy1leHBvcnQtYmFja2VuZHMgb2R0KQogIGV2 YWwtYnVmZmVyKCM8YnVmZmVyICAqbG9hZCo+IG5pbCAiL2hvbWUvbWF0dC9zcmMvb3JnLW1vZGUv Y29udHJpYi9saXNwL29yZy1vZHQuZWwiIG5pbCB0KSAgOyBSZWFkaW5nIGF0IGJ1ZmZlciBwb3Np dGlvbiA0Njc5CiAgbG9hZC13aXRoLWNvZGUtY29udmVyc2lvbigiL2hvbWUvbWF0dC9zcmMvb3Jn LW1vZGUvY29udHJpYi9saXNwL29yZy1vZHQuZWwiICIvaG9tZS9tYXR0L3NyYy9vcmctbW9kZS9j b250cmliL2xpc3Avb3JnLW9kdC5lbCIgbmlsIHQpCiAgcmVxdWlyZShvcmctb2R0KQogIGV2YWwt cmVnaW9uKDIxMiAyMzAgdCAobGFtYmRhIChpZ25vcmUpIChnb3RvLWNoYXIgMjMwKSAocXVvdGUg KHJlcXVpcmUgKHF1b3RlIG9yZy1vZHQpKSkpKSAgOyBSZWFkaW5nIGF0IGJ1ZmZlciBwb3NpdGlv biAyMjgKICBhcHBseShldmFsLXJlZ2lvbiAoMjEyIDIzMCB0IChsYW1iZGEgKGlnbm9yZSkgKGdv dG8tY2hhciAyMzApIChxdW90ZSAocmVxdWlyZSAocXVvdGUgb3JnLW9kdCkpKSkpKQogIGV2YWwt ZGVmdW4tMigpCiAgZXZhbC1kZWZ1bihuaWwpCiAgY2FsbC1pbnRlcmFjdGl2ZWx5KGV2YWwtZGVm dW4gdCBuaWwpCiAgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kKG5pbCkKICBjYWxsLWludGVyYWN0 aXZlbHkoZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIG5pbCBuaWwpCg== --20cf307d02fe3118c704a78091f0--