From mboxrd@z Thu Jan 1 00:00:00 1970 From: wtm Subject: "Invalid duration format" error after updating to version 9.1 Date: Sat, 9 Sep 2017 13:15:51 -0500 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="94eb2c1242f40ce7570558c5af13" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42984) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqkIR-0002cX-1A for emacs-orgmode@gnu.org; Sat, 09 Sep 2017 14:16:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqkIM-0005s6-Pp for emacs-orgmode@gnu.org; Sat, 09 Sep 2017 14:15:59 -0400 Received: from mail-ua0-x22d.google.com ([2607:f8b0:400c:c08::22d]:33987) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dqkIM-0005pY-G0 for emacs-orgmode@gnu.org; Sat, 09 Sep 2017 14:15:54 -0400 Received: by mail-ua0-x22d.google.com with SMTP id s15so7352051uag.1 for ; Sat, 09 Sep 2017 11:15:53 -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" To: emacs-orgmode@gnu.org --94eb2c1242f40ce7570558c5af13 Content-Type: text/plain; charset="UTF-8" Hello, I'm running Org mode 9.1 under Emacs 25.2 on Windows 10 (version information below) and I've encountered a problem when running my agenda commands that I'm unsure how to troubleshoot. Org mode version 9.1 (9.1-elpaplus @ c:/scimax/elpa/org-plus-contrib-20170906/) GNU Emacs 25.2.1 (x86_64-w64-mingw32) of 2017-04-24 After running a custom agenda command, I'm given an error, "Invalid duration format: ":45". The backtrace is attached. I've tried going through all my agenda files and changing any instances of durations without a leading "0" for minutes. :45 --> 0:45 But this doesn't seem to help. I know that recent changes (see http://orgmode.org/Changes.html) may be related to my issue. I'm just not sure how to troubleshoot from here. I'd appreciate advice on next steps that I might take. Thank you, Will --94eb2c1242f40ce7570558c5af13 Content-Type: text/plain; charset="US-ASCII"; name="2017-09-09_orgmode-duration-error-backtrace.txt" Content-Disposition: attachment; filename="2017-09-09_orgmode-duration-error-backtrace.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j7dmnhzx0 RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKGVycm9yICJJbnZhbGlkIGR1cmF0aW9uIGZv cm1hdDogXCI6NDVcIiIpDQogIHNpZ25hbChlcnJvciAoIkludmFsaWQgZHVyYXRpb24gZm9ybWF0 OiBcIjo0NVwiIikpDQogIGVycm9yKCJJbnZhbGlkIGR1cmF0aW9uIGZvcm1hdDogJVMiICI6NDUi KQ0KICBvcmctZHVyYXRpb24tdG8tbWludXRlcygiOjQ1IikNCiAgb3JnLXJlZnJlc2gtcHJvcGVy dHkoKChlZmZvcnQgLiBpZGVudGl0eSkgKGVmZm9ydC1taW51dGVzIC4gb3JnLWR1cmF0aW9uLXRv LW1pbnV0ZXMpKSAiOjQ1IiBuaWwpDQogIG9yZy1yZWZyZXNoLXByb3BlcnRpZXMoIkVmZm9ydCIg KChlZmZvcnQgLiBpZGVudGl0eSkgKGVmZm9ydC1taW51dGVzIC4gb3JnLWR1cmF0aW9uLXRvLW1p bnV0ZXMpKSkNCiAgb3JnLXJlZnJlc2gtZWZmb3J0LXByb3BlcnRpZXMoKQ0KICBvcmctYWdlbmRh LXByZXBhcmUtYnVmZmVycygoIn4vRHJvcGJveC9vcmcvd29yay5vcmciICJ+L0Ryb3Bib3gvb3Jn L3dvcmsub3JnX2FyY2hpdmUiICJ+L0Ryb3Bib3gvb3JnL3dvcmstc29tZWRheS5vcmciICJ+L0Ry b3Bib3gvb3JnL3BlcnNvbmFsLm9yZyIgIn4vRHJvcGJveC9vcmcvcGVyc29uYWwtc29tZWRheS5v cmciICJ+L0Ryb3Bib3gvb3JnL2xlYXJuaW5nLm9yZyIgIn4vRHJvcGJveC9vcmcvdGVhY2hpbmct YW5kLWxlYXJuaW5nLm9yZyIgIn4vRHJvcGJveC9vcmcvcmVmaWxlLnR4dCIgIn4vRHJvcGJveC9v cmcvZG90ZW1hY3MvaW5pdC5vcmciICJ+L0Ryb3Bib3gvb3JnL2Jsb2cub3JnIiAifi9Ecm9wYm94 L29yZy93cml0aW5nLm9yZyIgIn4vRHJvcGJveC9vcmcvb3JnLm9yZyIgIn4vRHJvcGJveC9vcmcv am91cm5hbC5vcmciICJ+L0Ryb3Bib3gvb3JnL3dpa2kub3JnIiAiYzovVXNlcnMvV2lsbC9Ecm9w Ym94L29yZy9qb3VybmFsLzIwMTYxMTMwLm9yZyIgIn4vRHJvcGJveC9vcmcvcm9vdC5vcmciICJ+ L0Ryb3Bib3gvb3JnL2luZm9saXQub3JnIikpDQogIChpZiBvcmctYWdlbmRhLW11bHRpIChwcm9n biAoc2V0cSBidWZmZXItcmVhZC1vbmx5IG5pbCkgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkgKGlm IChvciAoYm9icCkgb3JnLWFnZW5kYS1jb21wYWN0LWJsb2NrcyAobm90IG9yZy1hZ2VuZGEtYmxv Y2stc2VwYXJhdG9yKSkgbmlsIChpbnNlcnQgIlxuIiAoaWYgKHN0cmluZ3Agb3JnLWFnZW5kYS1i bG9jay1zZXBhcmF0b3IpIG9yZy1hZ2VuZGEtYmxvY2stc2VwYXJhdG9yIChtYWtlLXN0cmluZyAo d2luZG93LXdpZHRoKSBvcmctYWdlbmRhLWJsb2NrLXNlcGFyYXRvcikpICJcbiIpKSAobmFycm93 LXRvLXJlZ2lvbiAocG9pbnQpIChwb2ludC1tYXgpKSkgKHNldHEgb3JnLWRvbmUta2V5d29yZHMt Zm9yLWFnZW5kYSBuaWwpIChvcmctYWdlbmRhLXByZXBhcmUtd2luZG93IChnZXQtYnVmZmVyLWNy ZWF0ZSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lKSBmaWx0ZXItYWxpc3QpIChzZXRxIGJ1ZmZlci1y ZWFkLW9ubHkgbmlsKSAob3JnLWFnZW5kYS1yZXNldC1tYXJrZXJzKSAobGV0ICgoaW5oaWJpdC1y ZWFkLW9ubHkgdCkpIChlcmFzZS1idWZmZXIpKSAob3JnLWFnZW5kYS1tb2RlKSAoc2V0cSBvcmct YWdlbmRhLWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSAoc2V0cSBvcmctYWdlbmRhLWNvbnRyaWJ1 dGluZy1maWxlcyBuaWwpIChzZXRxIG9yZy1hZ2VuZGEtY29sdW1ucy1hY3RpdmUgbmlsKSAob3Jn LWFnZW5kYS1wcmVwYXJlLWJ1ZmZlcnMgKG9yZy1hZ2VuZGEtZmlsZXMgbmlsIChxdW90ZSBpZm1v ZGUpKSkgKHNldHEgb3JnLXRvZG8ta2V5d29yZHMtZm9yLWFnZW5kYSAob3JnLXVuaXF1aWZ5IG9y Zy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEpKSAoc2V0cSBvcmctZG9uZS1rZXl3b3Jkcy1mb3It YWdlbmRhIChvcmctdW5pcXVpZnkgb3JnLWRvbmUta2V5d29yZHMtZm9yLWFnZW5kYSkpIChzZXRx IG9yZy1hZ2VuZGEtbGFzdC1wcmVmaXgtYXJnIGN1cnJlbnQtcHJlZml4LWFyZykgKHNldHEgb3Jn LWFnZW5kYS10aGlzLWJ1ZmZlci1uYW1lIG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUpIChhbmQgbmFt ZSAobm90IG9yZy1hZ2VuZGEtbmFtZSkgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAocXVvdGUg b3JnLWFnZW5kYS1uYW1lKSkgbmFtZSkpKQ0KICAoaWYgKG9yZy1hZ2VuZGEtdXNlLXN0aWNreS1w KSAocHJvZ24gKHB1dCAocXVvdGUgb3JnLWFnZW5kYS10YWctZmlsdGVyKSA6cHJlc2V0LWZpbHRl ciBuaWwpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtY2F0ZWdvcnktZmlsdGVyKSA6cHJlc2V0LWZp bHRlciBuaWwpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVnZXhwLWZpbHRlcikgOnByZXNldC1m aWx0ZXIgbmlsKSAob3JnLWFnZW5kYS1wcmVwYXJlLXdpbmRvdyAoZ2V0LWJ1ZmZlciBvcmctYWdl bmRhLWJ1ZmZlci1uYW1lKSBmaWx0ZXItYWxpc3QpIChtZXNzYWdlICJTdGlja3kgQWdlbmRhIGJ1 ZmZlciwgdXNlIGByJyB0byByZWZyZXNoIikgKG9yIG9yZy1hZ2VuZGEtbXVsdGkgKG9yZy1hZ2Vu ZGEtZml0LXdpbmRvdy10by1idWZmZXIpKSAodGhyb3cgKHF1b3RlIGV4aXQpICJTdGlja3kgQWdl bmRhIGJ1ZmZlciwgdXNlIGByJyB0byByZWZyZXNoIikpIChzZXRxIG9yZy10b2RvLWtleXdvcmRz LWZvci1hZ2VuZGEgbmlsKSAocHV0IChxdW90ZSBvcmctYWdlbmRhLXRhZy1maWx0ZXIpIDpwcmVz ZXQtZmlsdGVyIG9yZy1hZ2VuZGEtdGFnLWZpbHRlci1wcmVzZXQpIChwdXQgKHF1b3RlIG9yZy1h Z2VuZGEtY2F0ZWdvcnktZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBvcmctYWdlbmRhLWNhdGVnb3J5 LWZpbHRlci1wcmVzZXQpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVnZXhwLWZpbHRlcikgOnBy ZXNldC1maWx0ZXIgb3JnLWFnZW5kYS1yZWdleHAtZmlsdGVyLXByZXNldCkgKHB1dCAocXVvdGUg b3JnLWFnZW5kYS1lZmZvcnQtZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBvcmctYWdlbmRhLWVmZm9y dC1maWx0ZXItcHJlc2V0KSAoaWYgb3JnLWFnZW5kYS1tdWx0aSAocHJvZ24gKHNldHEgYnVmZmVy LXJlYWQtb25seSBuaWwpIChnb3RvLWNoYXIgKHBvaW50LW1heCkpIChpZiAob3IgKGJvYnApIG9y Zy1hZ2VuZGEtY29tcGFjdC1ibG9ja3MgKG5vdCBvcmctYWdlbmRhLWJsb2NrLXNlcGFyYXRvcikp IG5pbCAoaW5zZXJ0ICJcbiIgKGlmIChzdHJpbmdwIG9yZy1hZ2VuZGEtYmxvY2stc2VwYXJhdG9y KSBvcmctYWdlbmRhLWJsb2NrLXNlcGFyYXRvciAobWFrZS1zdHJpbmcgKHdpbmRvdy13aWR0aCkg b3JnLWFnZW5kYS1ibG9jay1zZXBhcmF0b3IpKSAiXG4iKSkgKG5hcnJvdy10by1yZWdpb24gKHBv aW50KSAocG9pbnQtbWF4KSkpIChzZXRxIG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgbmls KSAob3JnLWFnZW5kYS1wcmVwYXJlLXdpbmRvdyAoZ2V0LWJ1ZmZlci1jcmVhdGUgb3JnLWFnZW5k YS1idWZmZXItbmFtZSkgZmlsdGVyLWFsaXN0KSAoc2V0cSBidWZmZXItcmVhZC1vbmx5IG5pbCkg KG9yZy1hZ2VuZGEtcmVzZXQtbWFya2VycykgKGxldCAoKGluaGliaXQtcmVhZC1vbmx5IHQpKSAo ZXJhc2UtYnVmZmVyKSkgKG9yZy1hZ2VuZGEtbW9kZSkgKHNldHEgb3JnLWFnZW5kYS1idWZmZXIg KGN1cnJlbnQtYnVmZmVyKSkgKHNldHEgb3JnLWFnZW5kYS1jb250cmlidXRpbmctZmlsZXMgbmls KSAoc2V0cSBvcmctYWdlbmRhLWNvbHVtbnMtYWN0aXZlIG5pbCkgKG9yZy1hZ2VuZGEtcHJlcGFy ZS1idWZmZXJzIChvcmctYWdlbmRhLWZpbGVzIG5pbCAocXVvdGUgaWZtb2RlKSkpIChzZXRxIG9y Zy10b2RvLWtleXdvcmRzLWZvci1hZ2VuZGEgKG9yZy11bmlxdWlmeSBvcmctdG9kby1rZXl3b3Jk cy1mb3ItYWdlbmRhKSkgKHNldHEgb3JnLWRvbmUta2V5d29yZHMtZm9yLWFnZW5kYSAob3JnLXVu aXF1aWZ5IG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEpKSAoc2V0cSBvcmctYWdlbmRhLWxh c3QtcHJlZml4LWFyZyBjdXJyZW50LXByZWZpeC1hcmcpIChzZXRxIG9yZy1hZ2VuZGEtdGhpcy1i dWZmZXItbmFtZSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lKSAoYW5kIG5hbWUgKG5vdCBvcmctYWdl bmRhLW5hbWUpIChzZXQgKG1ha2UtbG9jYWwtdmFyaWFibGUgKHF1b3RlIG9yZy1hZ2VuZGEtbmFt ZSkpIG5hbWUpKSkgKHNldHEgYnVmZmVyLXJlYWQtb25seSBuaWwpKQ0KICAobGV0ICgoZmlsdGVy LWFsaXN0IChpZiBvcmctYWdlbmRhLXBlcnNpc3RlbnQtZmlsdGVyIChzYXZlLWN1cnJlbnQtYnVm ZmVyIChzZXQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1l KSkgKGxpc3QgKGNvbnMgKHF1b3RlIHRhZykgb3JnLWFnZW5kYS10YWctZmlsdGVyKSAoY29ucyAo cXVvdGUgcmUpIG9yZy1hZ2VuZGEtcmVnZXhwLWZpbHRlcikgKGNvbnMgKHF1b3RlIGVmZm9ydCkg b3JnLWFnZW5kYS1lZmZvcnQtZmlsdGVyKSAoY29ucyAocXVvdGUgY2F0KSBvcmctYWdlbmRhLWNh dGVnb3J5LWZpbHRlcikpKSkpKSAoaWYgKG9yZy1hZ2VuZGEtdXNlLXN0aWNreS1wKSAocHJvZ24g KHB1dCAocXVvdGUgb3JnLWFnZW5kYS10YWctZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBuaWwpIChw dXQgKHF1b3RlIG9yZy1hZ2VuZGEtY2F0ZWdvcnktZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBuaWwp IChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVnZXhwLWZpbHRlcikgOnByZXNldC1maWx0ZXIgbmls KSAob3JnLWFnZW5kYS1wcmVwYXJlLXdpbmRvdyAoZ2V0LWJ1ZmZlciBvcmctYWdlbmRhLWJ1ZmZl ci1uYW1lKSBmaWx0ZXItYWxpc3QpIChtZXNzYWdlICJTdGlja3kgQWdlbmRhIGJ1ZmZlciwgdXNl IGByJyB0byByZWZyZXNoIikgKG9yIG9yZy1hZ2VuZGEtbXVsdGkgKG9yZy1hZ2VuZGEtZml0LXdp bmRvdy10by1idWZmZXIpKSAodGhyb3cgKHF1b3RlIGV4aXQpICJTdGlja3kgQWdlbmRhIGJ1ZmZl ciwgdXNlIGByJyB0byByZWZyZXNoIikpIChzZXRxIG9yZy10b2RvLWtleXdvcmRzLWZvci1hZ2Vu ZGEgbmlsKSAocHV0IChxdW90ZSBvcmctYWdlbmRhLXRhZy1maWx0ZXIpIDpwcmVzZXQtZmlsdGVy IG9yZy1hZ2VuZGEtdGFnLWZpbHRlci1wcmVzZXQpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtY2F0 ZWdvcnktZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBvcmctYWdlbmRhLWNhdGVnb3J5LWZpbHRlci1w cmVzZXQpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVnZXhwLWZpbHRlcikgOnByZXNldC1maWx0 ZXIgb3JnLWFnZW5kYS1yZWdleHAtZmlsdGVyLXByZXNldCkgKHB1dCAocXVvdGUgb3JnLWFnZW5k YS1lZmZvcnQtZmlsdGVyKSA6cHJlc2V0LWZpbHRlciBvcmctYWdlbmRhLWVmZm9ydC1maWx0ZXIt cHJlc2V0KSAoaWYgb3JnLWFnZW5kYS1tdWx0aSAocHJvZ24gKHNldHEgYnVmZmVyLXJlYWQtb25s eSBuaWwpIChnb3RvLWNoYXIgKHBvaW50LW1heCkpIChpZiAob3IgKGJvYnApIG9yZy1hZ2VuZGEt Y29tcGFjdC1ibG9ja3MgKG5vdCBvcmctYWdlbmRhLWJsb2NrLXNlcGFyYXRvcikpIG5pbCAoaW5z ZXJ0ICJcbiIgKGlmIChzdHJpbmdwIG9yZy1hZ2VuZGEtYmxvY2stc2VwYXJhdG9yKSBvcmctYWdl bmRhLWJsb2NrLXNlcGFyYXRvciAobWFrZS1zdHJpbmcgLi4uIG9yZy1hZ2VuZGEtYmxvY2stc2Vw YXJhdG9yKSkgIlxuIikpIChuYXJyb3ctdG8tcmVnaW9uIChwb2ludCkgKHBvaW50LW1heCkpKSAo c2V0cSBvcmctZG9uZS1rZXl3b3Jkcy1mb3ItYWdlbmRhIG5pbCkgKG9yZy1hZ2VuZGEtcHJlcGFy ZS13aW5kb3cgKGdldC1idWZmZXItY3JlYXRlIG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUpIGZpbHRl ci1hbGlzdCkgKHNldHEgYnVmZmVyLXJlYWQtb25seSBuaWwpIChvcmctYWdlbmRhLXJlc2V0LW1h cmtlcnMpIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KSkgKGVyYXNlLWJ1ZmZlcikpIChvcmct YWdlbmRhLW1vZGUpIChzZXRxIG9yZy1hZ2VuZGEtYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpIChz ZXRxIG9yZy1hZ2VuZGEtY29udHJpYnV0aW5nLWZpbGVzIG5pbCkgKHNldHEgb3JnLWFnZW5kYS1j b2x1bW5zLWFjdGl2ZSBuaWwpIChvcmctYWdlbmRhLXByZXBhcmUtYnVmZmVycyAob3JnLWFnZW5k YS1maWxlcyBuaWwgKHF1b3RlIGlmbW9kZSkpKSAoc2V0cSBvcmctdG9kby1rZXl3b3Jkcy1mb3It YWdlbmRhIChvcmctdW5pcXVpZnkgb3JnLXRvZG8ta2V5d29yZHMtZm9yLWFnZW5kYSkpIChzZXRx IG9yZy1kb25lLWtleXdvcmRzLWZvci1hZ2VuZGEgKG9yZy11bmlxdWlmeSBvcmctZG9uZS1rZXl3 b3Jkcy1mb3ItYWdlbmRhKSkgKHNldHEgb3JnLWFnZW5kYS1sYXN0LXByZWZpeC1hcmcgY3VycmVu dC1wcmVmaXgtYXJnKSAoc2V0cSBvcmctYWdlbmRhLXRoaXMtYnVmZmVyLW5hbWUgb3JnLWFnZW5k YS1idWZmZXItbmFtZSkgKGFuZCBuYW1lIChub3Qgb3JnLWFnZW5kYS1uYW1lKSAoc2V0IChtYWtl LWxvY2FsLXZhcmlhYmxlIChxdW90ZSBvcmctYWdlbmRhLW5hbWUpKSBuYW1lKSkpIChzZXRxIGJ1 ZmZlci1yZWFkLW9ubHkgbmlsKSkpDQogIG9yZy1hZ2VuZGEtcHJlcGFyZSgiQWdlbmRhIikNCiAg KGxldCBuaWwgKG9yZy1hZ2VuZGEtcHJlcGFyZSBuYW1lKSkNCiAgZXZhbCgobGV0IG5pbCAob3Jn LWFnZW5kYS1wcmVwYXJlIG5hbWUpKSkNCiAgb3JnLWxldChuaWwgKG9yZy1hZ2VuZGEtcHJlcGFy ZSBuYW1lKSkNCiAgb3JnLWFnZW5kYS1ydW4tc2VyaWVzKCJBZ2VuZGEiICgoKGFnZW5kYSAiIikg KHRhZ3MgIlJFRklMRSIgKChvcmctYWdlbmRhLW92ZXJyaWRpbmctaGVhZGVyICJUYXNrcyB0byBS ZWZpbGUiKSAob3JnLXRhZ3MtbWF0Y2gtbGlzdC1zdWJsZXZlbHMgbmlsKSkpICh0YWdzLXRvZG8g Ii1DQU5DRUxMRUQvISIgKChvcmctYWdlbmRhLW92ZXJyaWRpbmctaGVhZGVyICJTdHVjayBQcm9q ZWN0cyIpIChvcmctYWdlbmRhLXNraXAtZnVuY3Rpb24gKHF1b3RlIHdpbGwvc2tpcC1ub24tc3R1 Y2stcHJvamVjdHMpKSAob3JnLWFnZW5kYS1zb3J0aW5nLXN0cmF0ZWd5IChxdW90ZSAoY2F0ZWdv cnkta2VlcCkpKSkpICh0YWdzLXRvZG8gIi1IT0xELUNBTkNFTExFRC8hIiAoKG9yZy1hZ2VuZGEt b3ZlcnJpZGluZy1oZWFkZXIgIlByb2plY3RzIikgKG9yZy1hZ2VuZGEtc2tpcC1mdW5jdGlvbiAo cXVvdGUgd2lsbC9za2lwLW5vbi1wcm9qZWN0cykpIChvcmctdGFncy1tYXRjaC1saXN0LXN1Ymxl dmVscyAocXVvdGUgaW5kZW50ZWQpKSAob3JnLWFnZW5kYS1zb3J0aW5nLXN0cmF0ZWd5IChxdW90 ZSAoY2F0ZWdvcnkta2VlcCkpKSkpICh0YWdzLXRvZG8gIi1DQU5DRUxMRUQvIU5FWFQiICgob3Jn LWFnZW5kYS1vdmVycmlkaW5nLWhlYWRlciAoY29uY2F0ICJQcm9qZWN0IE5leHQgVGFza3MiIChp ZiB3aWxsL2hpZGUtc2NoZWR1bGVkLWFuZC13YWl0aW5nLW5leHQtdGFza3MgIiIgIiAoaW5jbHVk aW5nIFdBSVRJTkcgYW5kIFNDSEVEVUxFRCB0YXNrcykiKSkpIChvcmctYWdlbmRhLXNraXAtZnVu Y3Rpb24gKHF1b3RlIHdpbGwvc2tpcC1wcm9qZWN0cy1hbmQtaGFiaXRzLWFuZC1zaW5nbGUtdGFz a3MpKSAob3JnLXRhZ3MtbWF0Y2gtbGlzdC1zdWJsZXZlbHMgdCkgKG9yZy1hZ2VuZGEtdG9kby1p Z25vcmUtc2NoZWR1bGVkIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNr cykgKG9yZy1hZ2VuZGEtdG9kby1pZ25vcmUtZGVhZGxpbmVzIHdpbGwvaGlkZS1zY2hlZHVsZWQt YW5kLXdhaXRpbmctbmV4dC10YXNrcykgKG9yZy1hZ2VuZGEtdG9kby1pZ25vcmUtd2l0aC1kYXRl IHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcykgKG9yZy1hZ2VuZGEt c29ydGluZy1zdHJhdGVneSAocXVvdGUgKHRvZG8tc3RhdGUtZG93biBlZmZvcnQtdXAgY2F0ZWdv cnkta2VlcCkpKSkpICh0YWdzLXRvZG8gIi1SRUZJTEUtQ0FOQ0VMTEVELVdBSVRJTkctSE9MRC8h IiAoKG9yZy1hZ2VuZGEtb3ZlcnJpZGluZy1oZWFkZXIgKGNvbmNhdCAiUHJvamVjdCBTdWJ0YXNr cyIgKGlmIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcyAiIiAiIChp bmNsdWRpbmcgV0FJVElORyBhbmQgU0NIRURVTEVEIHRhc2tzKSIpKSkgKG9yZy1hZ2VuZGEtc2tp cC1mdW5jdGlvbiAocXVvdGUgd2lsbC9za2lwLW5vbi1wcm9qZWN0LXRhc2tzKSkgKG9yZy1hZ2Vu ZGEtdG9kby1pZ25vcmUtc2NoZWR1bGVkIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmct bmV4dC10YXNrcykgKG9yZy1hZ2VuZGEtdG9kby1pZ25vcmUtZGVhZGxpbmVzIHdpbGwvaGlkZS1z Y2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcykgKG9yZy1hZ2VuZGEtdG9kby1pZ25vcmUt d2l0aC1kYXRlIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcykgKG9y Zy1hZ2VuZGEtc29ydGluZy1zdHJhdGVneSAocXVvdGUgKGNhdGVnb3J5LWtlZXApKSkpKSAodGFn cy10b2RvICItUkVGSUxFLUNBTkNFTExFRC1XQUlUSU5HLUhPTEQtT05HT0lORy8hIiAoKG9yZy1h Z2VuZGEtb3ZlcnJpZGluZy1oZWFkZXIgKGNvbmNhdCAiU3RhbmRhbG9uZSBUYXNrcyIgKGlmIHdp bGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcyAiIiAiIChpbmNsdWRpbmcg V0FJVElORyBhbmQgU0NIRURVTEVEIHRhc2tzKSIpKSkgKG9yZy1hZ2VuZGEtc2tpcC1mdW5jdGlv biAocXVvdGUgd2lsbC9za2lwLXByb2plY3QtdGFza3MpKSAob3JnLWFnZW5kYS10b2RvLWlnbm9y ZS1zY2hlZHVsZWQgd2lsbC9oaWRlLXNjaGVkdWxlZC1hbmQtd2FpdGluZy1uZXh0LXRhc2tzKSAo b3JnLWFnZW5kYS10b2RvLWlnbm9yZS1kZWFkbGluZXMgd2lsbC9oaWRlLXNjaGVkdWxlZC1hbmQt d2FpdGluZy1uZXh0LXRhc2tzKSAob3JnLWFnZW5kYS10b2RvLWlnbm9yZS13aXRoLWRhdGUgd2ls bC9oaWRlLXNjaGVkdWxlZC1hbmQtd2FpdGluZy1uZXh0LXRhc2tzKSAob3JnLWFnZW5kYS1zb3J0 aW5nLXN0cmF0ZWd5IChxdW90ZSAoY2F0ZWdvcnkta2VlcCkpKSkpICh0YWdzLXRvZG8gIi1SRUZJ TEUtQ0FOQ0VMTEVELVdBSVRJTkctSE9MRCtPTkdPSU5HLyEiICgob3JnLWFnZW5kYS1vdmVycmlk aW5nLWhlYWRlciAoY29uY2F0ICJPbmdvaW5nIFRhc2tzIiAoaWYgd2lsbC9oaWRlLXNjaGVkdWxl ZC1hbmQtd2FpdGluZy1uZXh0LXRhc2tzICIiICIgKGluY2x1ZGluZyBXQUlUSU5HIGFuZCBTQ0hF RFVMRUQgdGFza3MpIikpKSAob3JnLWFnZW5kYS1za2lwLWZ1bmN0aW9uIChxdW90ZSB3aWxsL3Nr aXAtcHJvamVjdC10YXNrcykpIChvcmctYWdlbmRhLXRvZG8taWdub3JlLXNjaGVkdWxlZCB3aWxs L2hpZGUtc2NoZWR1bGVkLWFuZC13YWl0aW5nLW5leHQtdGFza3MpIChvcmctYWdlbmRhLXRvZG8t aWdub3JlLWRlYWRsaW5lcyB3aWxsL2hpZGUtc2NoZWR1bGVkLWFuZC13YWl0aW5nLW5leHQtdGFz a3MpIChvcmctYWdlbmRhLXRvZG8taWdub3JlLXdpdGgtZGF0ZSB3aWxsL2hpZGUtc2NoZWR1bGVk LWFuZC13YWl0aW5nLW5leHQtdGFza3MpIChvcmctYWdlbmRhLXNvcnRpbmctc3RyYXRlZ3kgKHF1 b3RlIChjYXRlZ29yeS1rZWVwKSkpKSkgKHRhZ3MtdG9kbyAiLUNBTkNFTExFRCtXQUlUSU5HfEhP TEQvISIgKChvcmctYWdlbmRhLW92ZXJyaWRpbmctaGVhZGVyIChjb25jYXQgIldhaXRpbmcgYW5k IFBvc3Rwb25lZCBUYXNrcyIgKGlmIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4 dC10YXNrcyAiIiAiIChpbmNsdWRpbmcgV0FJVElORyBhbmQgU0NIRURVTEVEIHRhc2tzKSIpKSkg KG9yZy1hZ2VuZGEtc2tpcC1mdW5jdGlvbiAocXVvdGUgd2lsbC9za2lwLW5vbi10YXNrcykpIChv cmctdGFncy1tYXRjaC1saXN0LXN1YmxldmVscyBuaWwpIChvcmctYWdlbmRhLXNvcnRpbmctc3Ry YXRlZ3kgKHF1b3RlICh0aW1lc3RhbXAtdXApKSkgKG9yZy1hZ2VuZGEtdG9kby1pZ25vcmUtc2No ZWR1bGVkIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRpbmctbmV4dC10YXNrcykgKG9yZy1h Z2VuZGEtdG9kby1pZ25vcmUtZGVhZGxpbmVzIHdpbGwvaGlkZS1zY2hlZHVsZWQtYW5kLXdhaXRp bmctbmV4dC10YXNrcykpKSAodGFncyAiLVJFRklMRS8iICgob3JnLWFnZW5kYS1vdmVycmlkaW5n LWhlYWRlciAiVGFza3MgdG8gQXJjaGl2ZSIpIChvcmctYWdlbmRhLXNraXAtZnVuY3Rpb24gKHF1 b3RlIHdpbGwvc2tpcC1ub24tYXJjaGl2YWJsZS10YXNrcykpIChvcmctdGFncy1tYXRjaC1saXN0 LXN1YmxldmVscyBuaWwpKSkpIG5pbCkpDQogIChpZiAob3IgKHN5bWJvbHAgKG50aCAyIGVudHJ5 KSkgKGZ1bmN0aW9ucCAobnRoIDIgZW50cnkpKSkgKHByb2duIChzZXRxIHR5cGUgKG50aCAyIGVu dHJ5KSBvcmctbWF0Y2ggKGV2YWwgKG50aCAzIGVudHJ5KSkgbHByb3BzIChudGggNCBlbnRyeSkp IChpZiBvcmctYWdlbmRhLXN0aWNreSAoc2V0cSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lIChvciAo YW5kIChzdHJpbmdwIG9yZy1tYXRjaCkgKGZvcm1hdCAiKk9yZyBBZ2VuZGEoJXM6JXMpKiIgb3Jn LWtleXMgb3JnLW1hdGNoKSkgKGZvcm1hdCAiKk9yZyBBZ2VuZGEoJXMpKiIgb3JnLWtleXMpKSkp IChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVkby1jb21tYW5kKSAocXVvdGUgb3JnLWxwcm9wcykg bHByb3BzKSAoY29uZCAoKGVxIHR5cGUgKHF1b3RlIGFnZW5kYSkpIChvcmctbGV0IGxwcm9wcyAo cXVvdGUgKG9yZy1hZ2VuZGEtbGlzdCBjdXJyZW50LXByZWZpeC1hcmcpKSkpICgoZXEgdHlwZSAo cXVvdGUgYWdlbmRhKikpIChvcmctbGV0IGxwcm9wcyAocXVvdGUgKG9yZy1hZ2VuZGEtbGlzdCBj dXJyZW50LXByZWZpeC1hcmcgbmlsIG5pbCB0KSkpKSAoKGVxIHR5cGUgKHF1b3RlIGFsbHRvZG8p KSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChvcmctdG9kby1saXN0IGN1cnJlbnQtcHJlZml4LWFy ZykpKSkgKChlcSB0eXBlIChxdW90ZSBzZWFyY2gpKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChv cmctc2VhcmNoLXZpZXcgY3VycmVudC1wcmVmaXgtYXJnIG9yZy1tYXRjaCBuaWwpKSkpICgoZXEg dHlwZSAocXVvdGUgc3R1Y2spKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChvcmctYWdlbmRhLWxp c3Qtc3R1Y2stcHJvamVjdHMgY3VycmVudC1wcmVmaXgtYXJnKSkpKSAoKGVxIHR5cGUgKHF1b3Rl IHRhZ3MpKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChvcmctdGFncy12aWV3IGN1cnJlbnQtcHJl Zml4LWFyZyBvcmctbWF0Y2gpKSkpICgoZXEgdHlwZSAocXVvdGUgdGFncy10b2RvKSkgKG9yZy1s ZXQgbHByb3BzIChxdW90ZSAob3JnLXRhZ3MtdmlldyAocXVvdGUgLi4uKSBvcmctbWF0Y2gpKSkp ICgoZXEgdHlwZSAocXVvdGUgdG9kbykpIChvcmctbGV0IGxwcm9wcyAocXVvdGUgKG9yZy10b2Rv LWxpc3Qgb3JnLW1hdGNoKSkpKSAoKGVxIHR5cGUgKHF1b3RlIHRhZ3MtdHJlZSkpIChvcmctY2hl Y2stZm9yLW9yZy1tb2RlKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChvcmctbWF0Y2gtc3BhcnNl LXRyZWUgY3VycmVudC1wcmVmaXgtYXJnIG9yZy1tYXRjaCkpKSkgKChlcSB0eXBlIChxdW90ZSB0 b2RvLXRyZWUpKSAob3JnLWNoZWNrLWZvci1vcmctbW9kZSkgKG9yZy1sZXQgbHByb3BzIChxdW90 ZSAob3JnLW9jY3VyIChjb25jYXQgIl4iIG9yZy1vdXRsaW5lLXJlZ2V4cCAiWyAJXSoiIC4uLiAi XFw+IikpKSkpICgoZXEgdHlwZSAocXVvdGUgb2NjdXItdHJlZSkpIChvcmctY2hlY2stZm9yLW9y Zy1tb2RlKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChvcmctb2NjdXIgb3JnLW1hdGNoKSkpKSAo KGZ1bmN0aW9ucCB0eXBlKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIChmdW5jYWxsIHR5cGUgb3Jn LW1hdGNoKSkpKSAoKGZib3VuZHAgdHlwZSkgKG9yZy1sZXQgbHByb3BzIChxdW90ZSAoZnVuY2Fs bCB0eXBlIG9yZy1tYXRjaCkpKSkgKHQgKHVzZXItZXJyb3IgIkludmFsaWQgY3VzdG9tIGFnZW5k YSBjb21tYW5kIHR5cGUgJXMiIHR5cGUpKSkpIChvcmctYWdlbmRhLXJ1bi1zZXJpZXMgKG50aCAx IGVudHJ5KSAoY2RyIChjZHIgZW50cnkpKSkpDQogIChjb25kICgoc2V0cSBlbnRyeSAoYXNzb2Mg b3JnLWtleXMgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMpKSAoaWYgKG9yIChzeW1ib2xwIChu dGggMiBlbnRyeSkpIChmdW5jdGlvbnAgKG50aCAyIGVudHJ5KSkpIChwcm9nbiAoc2V0cSB0eXBl IChudGggMiBlbnRyeSkgb3JnLW1hdGNoIChldmFsIChudGggMyBlbnRyeSkpIGxwcm9wcyAobnRo IDQgZW50cnkpKSAoaWYgb3JnLWFnZW5kYS1zdGlja3kgKHNldHEgb3JnLWFnZW5kYS1idWZmZXIt bmFtZSAob3IgKGFuZCAuLi4gLi4uKSAoZm9ybWF0ICIqT3JnIEFnZW5kYSglcykqIiBvcmcta2V5 cykpKSkgKHB1dCAocXVvdGUgb3JnLWFnZW5kYS1yZWRvLWNvbW1hbmQpIChxdW90ZSBvcmctbHBy b3BzKSBscHJvcHMpIChjb25kICgoZXEgdHlwZSAocXVvdGUgYWdlbmRhKSkgKG9yZy1sZXQgbHBy b3BzIChxdW90ZSAuLi4pKSkgKChlcSB0eXBlIChxdW90ZSBhZ2VuZGEqKSkgKG9yZy1sZXQgbHBy b3BzIChxdW90ZSAuLi4pKSkgKChlcSB0eXBlIChxdW90ZSBhbGx0b2RvKSkgKG9yZy1sZXQgbHBy b3BzIChxdW90ZSAuLi4pKSkgKChlcSB0eXBlIChxdW90ZSBzZWFyY2gpKSAob3JnLWxldCBscHJv cHMgKHF1b3RlIC4uLikpKSAoKGVxIHR5cGUgKHF1b3RlIHN0dWNrKSkgKG9yZy1sZXQgbHByb3Bz IChxdW90ZSAuLi4pKSkgKChlcSB0eXBlIChxdW90ZSB0YWdzKSkgKG9yZy1sZXQgbHByb3BzIChx dW90ZSAuLi4pKSkgKChlcSB0eXBlIChxdW90ZSB0YWdzLXRvZG8pKSAob3JnLWxldCBscHJvcHMg KHF1b3RlIC4uLikpKSAoKGVxIHR5cGUgKHF1b3RlIHRvZG8pKSAob3JnLWxldCBscHJvcHMgKHF1 b3RlIC4uLikpKSAoKGVxIHR5cGUgKHF1b3RlIHRhZ3MtdHJlZSkpIChvcmctY2hlY2stZm9yLW9y Zy1tb2RlKSAob3JnLWxldCBscHJvcHMgKHF1b3RlIC4uLikpKSAoKGVxIHR5cGUgKHF1b3RlIHRv ZG8tdHJlZSkpIChvcmctY2hlY2stZm9yLW9yZy1tb2RlKSAob3JnLWxldCBscHJvcHMgKHF1b3Rl IC4uLikpKSAoKGVxIHR5cGUgKHF1b3RlIG9jY3VyLXRyZWUpKSAob3JnLWNoZWNrLWZvci1vcmct bW9kZSkgKG9yZy1sZXQgbHByb3BzIChxdW90ZSAuLi4pKSkgKChmdW5jdGlvbnAgdHlwZSkgKG9y Zy1sZXQgbHByb3BzIChxdW90ZSAuLi4pKSkgKChmYm91bmRwIHR5cGUpIChvcmctbGV0IGxwcm9w cyAocXVvdGUgLi4uKSkpICh0ICh1c2VyLWVycm9yICJJbnZhbGlkIGN1c3RvbSBhZ2VuZGEgY29t bWFuZCB0eXBlICVzIiB0eXBlKSkpKSAob3JnLWFnZW5kYS1ydW4tc2VyaWVzIChudGggMSBlbnRy eSkgKGNkciAoY2RyIGVudHJ5KSkpKSkgKChlcXVhbCBvcmcta2V5cyAiQyIpIChzZXRxIG9yZy1h Z2VuZGEtY3VzdG9tLWNvbW1hbmRzIG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzLW9yaWcpIChj dXN0b21pemUtdmFyaWFibGUgKHF1b3RlIG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzKSkpICgo ZXF1YWwgb3JnLWtleXMgImEiKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctYWdlbmRh LWxpc3QpKSkgKChlcXVhbCBvcmcta2V5cyAicyIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3Rl IG9yZy1zZWFyY2gtdmlldykpKSAoKGVxdWFsIG9yZy1rZXlzICJTIikgKG9yZy1jYWxsLXdpdGgt YXJnIChxdW90ZSBvcmctc2VhcmNoLXZpZXcpIChvciBhcmcgKHF1b3RlICg0KSkpKSkgKChlcXVh bCBvcmcta2V5cyAidCIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy10b2RvLWxpc3Qp KSkgKChlcXVhbCBvcmcta2V5cyAiVCIpIChvcmctY2FsbC13aXRoLWFyZyAocXVvdGUgb3JnLXRv ZG8tbGlzdCkgKG9yIGFyZyAocXVvdGUgKDQpKSkpKSAoKGVxdWFsIG9yZy1rZXlzICJtIikgKGNh bGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3JnLXRhZ3MtdmlldykpKSAoKGVxdWFsIG9yZy1rZXlz ICJNIikgKG9yZy1jYWxsLXdpdGgtYXJnIChxdW90ZSBvcmctdGFncy12aWV3KSAob3IgYXJnIChx dW90ZSAoNCkpKSkpICgoZXF1YWwgb3JnLWtleXMgImUiKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChx dW90ZSBvcmctc3RvcmUtYWdlbmRhLXZpZXdzKSkpICgoZXF1YWwgb3JnLWtleXMgIj8iKSAob3Jn LXRhZ3MtdmlldyBuaWwgIitGTEFHR0VEIikgKGFkZC1ob29rIChxdW90ZSBwb3N0LWNvbW1hbmQt aG9vaykgKGZ1bmN0aW9uIChsYW1iZGEgbmlsIChpZiAoY3VycmVudC1tZXNzYWdlKSBuaWwgKGxl dCogKC4uLiAuLi4pIChpZiBub3RlIC4uLikpKSkpIHQgdCkpICgoZXF1YWwgb3JnLWtleXMgIiMi KSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctYWdlbmRhLWxpc3Qtc3R1Y2stcHJvamVj dHMpKSkgKChlcXVhbCBvcmcta2V5cyAiLyIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9y Zy1vY2N1ci1pbi1hZ2VuZGEtZmlsZXMpKSkgKChlcXVhbCBvcmcta2V5cyAiISIpIChjdXN0b21p emUtdmFyaWFibGUgKHF1b3RlIG9yZy1zdHVjay1wcm9qZWN0cykpKSAodCAodXNlci1lcnJvciAi SW52YWxpZCBhZ2VuZGEga2V5IikpKQ0KICAobGV0KiAoKHByZWZpeC1kZXNjcmlwdGlvbnMgbmls KSAob3JnLWFnZW5kYS1idWZmZXItbmFtZSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lKSAob3JnLWFn ZW5kYS13aW5kb3ctc2V0dXAgKGlmIChlcXVhbCAoYnVmZmVyLW5hbWUpIG9yZy1hZ2VuZGEtYnVm ZmVyLW5hbWUpIChxdW90ZSBjdXJyZW50LXdpbmRvdykgb3JnLWFnZW5kYS13aW5kb3ctc2V0dXAp KSAob3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMtb3JpZyBvcmctYWdlbmRhLWN1c3RvbS1jb21t YW5kcykgKG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzIChkZWxxIG5pbCAobWFwY2FyIChmdW5j dGlvbiAobGFtYmRhICh4KSAoY29uZCAuLi4gLi4uIC4uLiAuLi4pKSkgb3JnLWFnZW5kYS1jdXN0 b20tY29tbWFuZHMpKSkgKG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzIChvcmctY29udGV4dHVh bGl6ZS1rZXlzIG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzIG9yZy1hZ2VuZGEtY3VzdG9tLWNv bW1hbmRzLWNvbnRleHRzKSkgKGJ1ZiAoY3VycmVudC1idWZmZXIpKSAoYmZuIChidWZmZXItZmls ZS1uYW1lIChidWZmZXItYmFzZS1idWZmZXIpKSkgZW50cnkga2V5IHR5cGUgb3JnLW1hdGNoIGxw cm9wcyBhbnMpIChpZiBvcmctYWdlbmRhLW92ZXJyaWRpbmctcmVzdHJpY3Rpb24gbmlsIChpZiBv cmctYWdlbmRhLWtlZXAtcmVzdHJpY3RlZC1maWxlLWxpc3QgbmlsIChwdXQgKHF1b3RlIG9yZy1h Z2VuZGEtZmlsZXMpIChxdW90ZSBvcmctcmVzdHJpY3QpIG5pbCkpIChzZXRxIG9yZy1hZ2VuZGEt cmVzdHJpY3QgbmlsKSAobW92ZS1tYXJrZXIgb3JnLWFnZW5kYS1yZXN0cmljdC1iZWdpbiBuaWwp IChtb3ZlLW1hcmtlciBvcmctYWdlbmRhLXJlc3RyaWN0LWVuZCBuaWwpKSAocHV0IChxdW90ZSBv cmctYWdlbmRhLXJlZG8tY29tbWFuZCkgKHF1b3RlIG9yZy1scHJvcHMpIG5pbCkgKHB1dCAocXVv dGUgb3JnLWFnZW5kYS1yZWRvLWNvbW1hbmQpIChxdW90ZSBsYXN0LWFyZ3MpIG5pbCkgKHNldHEg b3JnLWFnZW5kYS1sYXN0LWRpc3BhdGNoLWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSAoaWYgb3Jn LWtleXMgbmlsIChzZXRxIGFucyAob3JnLWFnZW5kYS1nZXQtcmVzdHJpY3Rpb24tYW5kLWNvbW1h bmQgcHJlZml4LWRlc2NyaXB0aW9ucykgb3JnLWtleXMgKGNhciBhbnMpIHJlc3RyaWN0aW9uIChj ZHIgYW5zKSkpIChpZiBvcmctYWdlbmRhLXN0aWNreSAoc2V0cSBvcmctYWdlbmRhLWJ1ZmZlci1u YW1lIChmb3JtYXQgIipPcmcgQWdlbmRhKCVzKSoiIG9yZy1rZXlzKSkpIChpZiAoYW5kIChub3Qg b3JnLWFnZW5kYS1vdmVycmlkaW5nLXJlc3RyaWN0aW9uKSByZXN0cmljdGlvbikgKHByb2duIChw dXQgKHF1b3RlIG9yZy1hZ2VuZGEtZmlsZXMpIChxdW90ZSBvcmctcmVzdHJpY3QpIChsaXN0IGJm bikpIChjb25kICgoZXEgcmVzdHJpY3Rpb24gKHF1b3RlIHJlZ2lvbikpIChzZXRxIG9yZy1hZ2Vu ZGEtcmVzdHJpY3QgKGN1cnJlbnQtYnVmZmVyKSkgKG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVz dHJpY3QtYmVnaW4gKHJlZ2lvbi1iZWdpbm5pbmcpKSAobW92ZS1tYXJrZXIgb3JnLWFnZW5kYS1y ZXN0cmljdC1lbmQgKHJlZ2lvbi1lbmQpKSkgKChlcSByZXN0cmljdGlvbiAocXVvdGUgc3VidHJl ZSkpIChzYXZlLWV4Y3Vyc2lvbiAoc2V0cSBvcmctYWdlbmRhLXJlc3RyaWN0IChjdXJyZW50LWJ1 ZmZlcikpIChvcmctYmFjay10by1oZWFkaW5nIHQpIChtb3ZlLW1hcmtlciBvcmctYWdlbmRhLXJl c3RyaWN0LWJlZ2luIChwb2ludCkpIChtb3ZlLW1hcmtlciBvcmctYWdlbmRhLXJlc3RyaWN0LWVu ZCAocHJvZ24gLi4uKSkpKSkpKSAoY29uZCAoKHNldHEgZW50cnkgKGFzc29jIG9yZy1rZXlzIG9y Zy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzKSkgKGlmIChvciAoc3ltYm9scCAobnRoIDIgZW50cnkp KSAoZnVuY3Rpb25wIChudGggMiBlbnRyeSkpKSAocHJvZ24gKHNldHEgdHlwZSAobnRoIDIgZW50 cnkpIG9yZy1tYXRjaCAoZXZhbCAobnRoIDMgZW50cnkpKSBscHJvcHMgKG50aCA0IGVudHJ5KSkg KGlmIG9yZy1hZ2VuZGEtc3RpY2t5IChzZXRxIG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUgKG9yIC4u LiAuLi4pKSkgKHB1dCAocXVvdGUgb3JnLWFnZW5kYS1yZWRvLWNvbW1hbmQpIChxdW90ZSBvcmct bHByb3BzKSBscHJvcHMpIChjb25kICgoZXEgdHlwZSAuLi4pIChvcmctbGV0IGxwcm9wcyAuLi4p KSAoKGVxIHR5cGUgLi4uKSAob3JnLWxldCBscHJvcHMgLi4uKSkgKChlcSB0eXBlIC4uLikgKG9y Zy1sZXQgbHByb3BzIC4uLikpICgoZXEgdHlwZSAuLi4pIChvcmctbGV0IGxwcm9wcyAuLi4pKSAo KGVxIHR5cGUgLi4uKSAob3JnLWxldCBscHJvcHMgLi4uKSkgKChlcSB0eXBlIC4uLikgKG9yZy1s ZXQgbHByb3BzIC4uLikpICgoZXEgdHlwZSAuLi4pIChvcmctbGV0IGxwcm9wcyAuLi4pKSAoKGVx IHR5cGUgLi4uKSAob3JnLWxldCBscHJvcHMgLi4uKSkgKChlcSB0eXBlIC4uLikgKG9yZy1jaGVj ay1mb3Itb3JnLW1vZGUpIChvcmctbGV0IGxwcm9wcyAuLi4pKSAoKGVxIHR5cGUgLi4uKSAob3Jn LWNoZWNrLWZvci1vcmctbW9kZSkgKG9yZy1sZXQgbHByb3BzIC4uLikpICgoZXEgdHlwZSAuLi4p IChvcmctY2hlY2stZm9yLW9yZy1tb2RlKSAob3JnLWxldCBscHJvcHMgLi4uKSkgKChmdW5jdGlv bnAgdHlwZSkgKG9yZy1sZXQgbHByb3BzIC4uLikpICgoZmJvdW5kcCB0eXBlKSAob3JnLWxldCBs cHJvcHMgLi4uKSkgKHQgKHVzZXItZXJyb3IgIkludmFsaWQgY3VzdG9tIGFnZW5kYSBjb21tYW5k IHR5cGUgJXMiIHR5cGUpKSkpIChvcmctYWdlbmRhLXJ1bi1zZXJpZXMgKG50aCAxIGVudHJ5KSAo Y2RyIChjZHIgZW50cnkpKSkpKSAoKGVxdWFsIG9yZy1rZXlzICJDIikgKHNldHEgb3JnLWFnZW5k YS1jdXN0b20tY29tbWFuZHMgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMtb3JpZykgKGN1c3Rv bWl6ZS12YXJpYWJsZSAocXVvdGUgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMpKSkgKChlcXVh bCBvcmcta2V5cyAiYSIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy1hZ2VuZGEtbGlz dCkpKSAoKGVxdWFsIG9yZy1rZXlzICJzIikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3Jn LXNlYXJjaC12aWV3KSkpICgoZXF1YWwgb3JnLWtleXMgIlMiKSAob3JnLWNhbGwtd2l0aC1hcmcg KHF1b3RlIG9yZy1zZWFyY2gtdmlldykgKG9yIGFyZyAocXVvdGUgKDQpKSkpKSAoKGVxdWFsIG9y Zy1rZXlzICJ0IikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3JnLXRvZG8tbGlzdCkpKSAo KGVxdWFsIG9yZy1rZXlzICJUIikgKG9yZy1jYWxsLXdpdGgtYXJnIChxdW90ZSBvcmctdG9kby1s aXN0KSAob3IgYXJnIChxdW90ZSAoNCkpKSkpICgoZXF1YWwgb3JnLWtleXMgIm0iKSAoY2FsbC1p bnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctdGFncy12aWV3KSkpICgoZXF1YWwgb3JnLWtleXMgIk0i KSAob3JnLWNhbGwtd2l0aC1hcmcgKHF1b3RlIG9yZy10YWdzLXZpZXcpIChvciBhcmcgKHF1b3Rl ICg0KSkpKSkgKChlcXVhbCBvcmcta2V5cyAiZSIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3Rl IG9yZy1zdG9yZS1hZ2VuZGEtdmlld3MpKSkgKChlcXVhbCBvcmcta2V5cyAiPyIpIChvcmctdGFn cy12aWV3IG5pbCAiK0ZMQUdHRUQiKSAoYWRkLWhvb2sgKHF1b3RlIHBvc3QtY29tbWFuZC1ob29r KSAoZnVuY3Rpb24gKGxhbWJkYSBuaWwgKGlmIChjdXJyZW50LW1lc3NhZ2UpIG5pbCAobGV0KiAu Li4gLi4uKSkpKSB0IHQpKSAoKGVxdWFsIG9yZy1rZXlzICIjIikgKGNhbGwtaW50ZXJhY3RpdmVs eSAocXVvdGUgb3JnLWFnZW5kYS1saXN0LXN0dWNrLXByb2plY3RzKSkpICgoZXF1YWwgb3JnLWtl eXMgIi8iKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctb2NjdXItaW4tYWdlbmRhLWZp bGVzKSkpICgoZXF1YWwgb3JnLWtleXMgIiEiKSAoY3VzdG9taXplLXZhcmlhYmxlIChxdW90ZSBv cmctc3R1Y2stcHJvamVjdHMpKSkgKHQgKHVzZXItZXJyb3IgIkludmFsaWQgYWdlbmRhIGtleSIp KSkpDQogIChjYXRjaCAocXVvdGUgZXhpdCkgKGxldCogKChwcmVmaXgtZGVzY3JpcHRpb25zIG5p bCkgKG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUgb3JnLWFnZW5kYS1idWZmZXItbmFtZSkgKG9yZy1h Z2VuZGEtd2luZG93LXNldHVwIChpZiAoZXF1YWwgKGJ1ZmZlci1uYW1lKSBvcmctYWdlbmRhLWJ1 ZmZlci1uYW1lKSAocXVvdGUgY3VycmVudC13aW5kb3cpIG9yZy1hZ2VuZGEtd2luZG93LXNldHVw KSkgKG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzLW9yaWcgb3JnLWFnZW5kYS1jdXN0b20tY29t bWFuZHMpIChvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcyAoZGVscSBuaWwgKG1hcGNhciAoZnVu Y3Rpb24gKGxhbWJkYSAuLi4gLi4uKSkgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMpKSkgKG9y Zy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzIChvcmctY29udGV4dHVhbGl6ZS1rZXlzIG9yZy1hZ2Vu ZGEtY3VzdG9tLWNvbW1hbmRzIG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzLWNvbnRleHRzKSkg KGJ1ZiAoY3VycmVudC1idWZmZXIpKSAoYmZuIChidWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFz ZS1idWZmZXIpKSkgZW50cnkga2V5IHR5cGUgb3JnLW1hdGNoIGxwcm9wcyBhbnMpIChpZiBvcmct YWdlbmRhLW92ZXJyaWRpbmctcmVzdHJpY3Rpb24gbmlsIChpZiBvcmctYWdlbmRhLWtlZXAtcmVz dHJpY3RlZC1maWxlLWxpc3QgbmlsIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtZmlsZXMpIChxdW90 ZSBvcmctcmVzdHJpY3QpIG5pbCkpIChzZXRxIG9yZy1hZ2VuZGEtcmVzdHJpY3QgbmlsKSAobW92 ZS1tYXJrZXIgb3JnLWFnZW5kYS1yZXN0cmljdC1iZWdpbiBuaWwpIChtb3ZlLW1hcmtlciBvcmct YWdlbmRhLXJlc3RyaWN0LWVuZCBuaWwpKSAocHV0IChxdW90ZSBvcmctYWdlbmRhLXJlZG8tY29t bWFuZCkgKHF1b3RlIG9yZy1scHJvcHMpIG5pbCkgKHB1dCAocXVvdGUgb3JnLWFnZW5kYS1yZWRv LWNvbW1hbmQpIChxdW90ZSBsYXN0LWFyZ3MpIG5pbCkgKHNldHEgb3JnLWFnZW5kYS1sYXN0LWRp c3BhdGNoLWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSAoaWYgb3JnLWtleXMgbmlsIChzZXRxIGFu cyAob3JnLWFnZW5kYS1nZXQtcmVzdHJpY3Rpb24tYW5kLWNvbW1hbmQgcHJlZml4LWRlc2NyaXB0 aW9ucykgb3JnLWtleXMgKGNhciBhbnMpIHJlc3RyaWN0aW9uIChjZHIgYW5zKSkpIChpZiBvcmct YWdlbmRhLXN0aWNreSAoc2V0cSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lIChmb3JtYXQgIipPcmcg QWdlbmRhKCVzKSoiIG9yZy1rZXlzKSkpIChpZiAoYW5kIChub3Qgb3JnLWFnZW5kYS1vdmVycmlk aW5nLXJlc3RyaWN0aW9uKSByZXN0cmljdGlvbikgKHByb2duIChwdXQgKHF1b3RlIG9yZy1hZ2Vu ZGEtZmlsZXMpIChxdW90ZSBvcmctcmVzdHJpY3QpIChsaXN0IGJmbikpIChjb25kICgoZXEgcmVz dHJpY3Rpb24gKHF1b3RlIHJlZ2lvbikpIChzZXRxIG9yZy1hZ2VuZGEtcmVzdHJpY3QgKGN1cnJl bnQtYnVmZmVyKSkgKG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVzdHJpY3QtYmVnaW4gKHJlZ2lv bi1iZWdpbm5pbmcpKSAobW92ZS1tYXJrZXIgb3JnLWFnZW5kYS1yZXN0cmljdC1lbmQgKHJlZ2lv bi1lbmQpKSkgKChlcSByZXN0cmljdGlvbiAocXVvdGUgc3VidHJlZSkpIChzYXZlLWV4Y3Vyc2lv biAoc2V0cSBvcmctYWdlbmRhLXJlc3RyaWN0IC4uLikgKG9yZy1iYWNrLXRvLWhlYWRpbmcgdCkg KG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVzdHJpY3QtYmVnaW4gLi4uKSAobW92ZS1tYXJrZXIg b3JnLWFnZW5kYS1yZXN0cmljdC1lbmQgLi4uKSkpKSkpIChjb25kICgoc2V0cSBlbnRyeSAoYXNz b2Mgb3JnLWtleXMgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMpKSAoaWYgKG9yIChzeW1ib2xw IChudGggMiBlbnRyeSkpIChmdW5jdGlvbnAgKG50aCAyIGVudHJ5KSkpIChwcm9nbiAoc2V0cSB0 eXBlIChudGggMiBlbnRyeSkgb3JnLW1hdGNoIChldmFsIC4uLikgbHByb3BzIChudGggNCBlbnRy eSkpIChpZiBvcmctYWdlbmRhLXN0aWNreSAoc2V0cSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lIC4u LikpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVkby1jb21tYW5kKSAocXVvdGUgb3JnLWxwcm9w cykgbHByb3BzKSAoY29uZCAoLi4uIC4uLikgKC4uLiAuLi4pICguLi4gLi4uKSAoLi4uIC4uLikg KC4uLiAuLi4pICguLi4gLi4uKSAoLi4uIC4uLikgKC4uLiAuLi4pICguLi4gLi4uIC4uLikgKC4u LiAuLi4gLi4uKSAoLi4uIC4uLiAuLi4pICguLi4gLi4uKSAoLi4uIC4uLikgKHQgLi4uKSkpIChv cmctYWdlbmRhLXJ1bi1zZXJpZXMgKG50aCAxIGVudHJ5KSAoY2RyIChjZHIgZW50cnkpKSkpKSAo KGVxdWFsIG9yZy1rZXlzICJDIikgKHNldHEgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMgb3Jn LWFnZW5kYS1jdXN0b20tY29tbWFuZHMtb3JpZykgKGN1c3RvbWl6ZS12YXJpYWJsZSAocXVvdGUg b3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMpKSkgKChlcXVhbCBvcmcta2V5cyAiYSIpIChjYWxs LWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy1hZ2VuZGEtbGlzdCkpKSAoKGVxdWFsIG9yZy1rZXlz ICJzIikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3JnLXNlYXJjaC12aWV3KSkpICgoZXF1 YWwgb3JnLWtleXMgIlMiKSAob3JnLWNhbGwtd2l0aC1hcmcgKHF1b3RlIG9yZy1zZWFyY2gtdmll dykgKG9yIGFyZyAocXVvdGUgKDQpKSkpKSAoKGVxdWFsIG9yZy1rZXlzICJ0IikgKGNhbGwtaW50 ZXJhY3RpdmVseSAocXVvdGUgb3JnLXRvZG8tbGlzdCkpKSAoKGVxdWFsIG9yZy1rZXlzICJUIikg KG9yZy1jYWxsLXdpdGgtYXJnIChxdW90ZSBvcmctdG9kby1saXN0KSAob3IgYXJnIChxdW90ZSAo NCkpKSkpICgoZXF1YWwgb3JnLWtleXMgIm0iKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBv cmctdGFncy12aWV3KSkpICgoZXF1YWwgb3JnLWtleXMgIk0iKSAob3JnLWNhbGwtd2l0aC1hcmcg KHF1b3RlIG9yZy10YWdzLXZpZXcpIChvciBhcmcgKHF1b3RlICg0KSkpKSkgKChlcXVhbCBvcmct a2V5cyAiZSIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy1zdG9yZS1hZ2VuZGEtdmll d3MpKSkgKChlcXVhbCBvcmcta2V5cyAiPyIpIChvcmctdGFncy12aWV3IG5pbCAiK0ZMQUdHRUQi KSAoYWRkLWhvb2sgKHF1b3RlIHBvc3QtY29tbWFuZC1ob29rKSAoZnVuY3Rpb24gKGxhbWJkYSBu aWwgKGlmIC4uLiBuaWwgLi4uKSkpIHQgdCkpICgoZXF1YWwgb3JnLWtleXMgIiMiKSAoY2FsbC1p bnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctYWdlbmRhLWxpc3Qtc3R1Y2stcHJvamVjdHMpKSkgKChl cXVhbCBvcmcta2V5cyAiLyIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy1vY2N1ci1p bi1hZ2VuZGEtZmlsZXMpKSkgKChlcXVhbCBvcmcta2V5cyAiISIpIChjdXN0b21pemUtdmFyaWFi bGUgKHF1b3RlIG9yZy1zdHVjay1wcm9qZWN0cykpKSAodCAodXNlci1lcnJvciAiSW52YWxpZCBh Z2VuZGEga2V5IikpKSkpDQogIChsYW1iZGEgKCZvcHRpb25hbCBhcmcgb3JnLWtleXMgcmVzdHJp Y3Rpb24pICJEaXNwYXRjaCBhZ2VuZGEgY29tbWFuZHMgdG8gY29sbGVjdCBlbnRyaWVzIHRvIHRo ZSBhZ2VuZGEgYnVmZmVyLlxuUHJvbXB0cyBmb3IgYSBjb21tYW5kIHRvIGV4ZWN1dGUuICBBbnkg cHJlZml4IGFyZyB3aWxsIGJlIHBhc3NlZFxub24gdG8gdGhlIHNlbGVjdGVkIGNvbW1hbmQuICBU aGUgZGVmYXVsdCBzZWxlY3Rpb25zIGFyZTpcblxuYSAgICAgQ2FsbCBgb3JnLWFnZW5kYS1saXN0 JyB0byBkaXNwbGF5IHRoZSBhZ2VuZGEgZm9yIGN1cnJlbnQgZGF5IG9yIHdlZWsuXG50ICAgICBD YWxsIGBvcmctdG9kby1saXN0JyB0byBkaXNwbGF5IHRoZSBnbG9iYWwgdG9kbyBsaXN0LlxuVCAg ICAgQ2FsbCBgb3JnLXRvZG8tbGlzdCcgdG8gZGlzcGxheSB0aGUgZ2xvYmFsIHRvZG8gbGlzdCwg c2VsZWN0IG9ubHlcbiAgICAgIGVudHJpZXMgd2l0aCBhIHNwZWNpZmljIFRPRE8ga2V5d29yZCAo dGhlIHVzZXIgZ2V0cyBhIHByb21wdCkuXG5tICAgICBDYWxsIGBvcmctdGFncy12aWV3JyB0byBk aXNwbGF5IGhlYWRsaW5lcyB3aXRoIHRhZ3MgbWF0Y2hpbmdcbiAgICAgIGEgY29uZGl0aW9uICAo dGhlIHVzZXIgaXMgcHJvbXB0ZWQgZm9yIHRoZSBjb25kaXRpb24pLlxuTSAgICAgTGlrZSBgbScs IGJ1dCBzZWxlY3Qgb25seSBUT0RPIGVudHJpZXMsIG5vIG9yZGluYXJ5IGhlYWRsaW5lcy5cbmUg ICAgIEV4cG9ydCB2aWV3cyB0byBhc3NvY2lhdGVkIGZpbGVzLlxucyAgICAgU2VhcmNoIGVudHJp ZXMgZm9yIGtleXdvcmRzLlxuUyAgICAgU2VhcmNoIGVudHJpZXMgZm9yIGtleXdvcmRzLCBvbmx5 IHdpdGggVE9ETyBrZXl3b3Jkcy5cbi8gICAgIE11bHRpIG9jY3VyIGFjcm9zcyBhbGwgYWdlbmRh IGZpbGVzIGFuZCBhbHNvIGZpbGVzIGxpc3RlZFxuICAgICAgaW4gYG9yZy1hZ2VuZGEtdGV4dC1z ZWFyY2gtZXh0cmEtZmlsZXMnLlxuPCAgICAgUmVzdHJpY3QgYWdlbmRhIGNvbW1hbmRzIHRvIGJ1 ZmZlciwgc3VidHJlZSwgb3IgcmVnaW9uLlxuICAgICAgUHJlc3Mgc2V2ZXJhbCB0aW1lcyB0byBn ZXQgdGhlIGRlc2lyZWQgZWZmZWN0LlxuPiAgICAgUmVtb3ZlIGEgcHJldmlvdXMgcmVzdHJpY3Rp b24uXG4jICAgICBMaXN0IFwic3R1Y2tcIiBwcm9qZWN0cy5cbiEgICAgIENvbmZpZ3VyZSB3aGF0 IFwic3R1Y2tcIiBtZWFucy5cbkMgICAgIENvbmZpZ3VyZSBjdXN0b20gYWdlbmRhIGNvbW1hbmRz LlxuXG5Nb3JlIGNvbW1hbmRzIGNhbiBiZSBhZGRlZCBieSBjb25maWd1cmluZyB0aGUgdmFyaWFi bGVcbmBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcycuICBJbiBwYXJ0aWN1bGFyLCBzcGVjaWZp YyB0YWdzIGFuZCBUT0RPIGtleXdvcmRcbnNlYXJjaGVzIGNhbiBiZSBwcmUtZGVmaW5lZCBpbiB0 aGlzIHdheS5cblxuSWYgdGhlIGN1cnJlbnQgYnVmZmVyIGlzIGluIE9yZyBtb2RlIGFuZCB2aXNp dGluZyBhIGZpbGUsIHlvdSBjYW4gYWxzb1xuZmlyc3QgcHJlc3MgYDwnIG9uY2UgdG8gaW5kaWNh dGUgdGhhdCB0aGUgYWdlbmRhIHNob3VsZCBiZSB0ZW1wb3JhcmlseVxuKHVudGlsIHRoZSBuZXh0 IHVzZSBvZiBgXFxbb3JnLWFnZW5kYV0nKSByZXN0cmljdGVkIHRvIHRoZSBjdXJyZW50IGZpbGUu XG5QcmVzc2luZyBgPCcgdHdpY2UgbWVhbnMgdG8gcmVzdHJpY3QgdG8gdGhlIGN1cnJlbnQgc3Vi dHJlZSBvciByZWdpb25cbihpZiBhY3RpdmUpLiIgKGludGVyYWN0aXZlICJQIikgKGNhdGNoIChx dW90ZSBleGl0KSAobGV0KiAoKHByZWZpeC1kZXNjcmlwdGlvbnMgbmlsKSAob3JnLWFnZW5kYS1i dWZmZXItbmFtZSBvcmctYWdlbmRhLWJ1ZmZlci1uYW1lKSAob3JnLWFnZW5kYS13aW5kb3ctc2V0 dXAgKGlmIChlcXVhbCAoYnVmZmVyLW5hbWUpIG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUpIChxdW90 ZSBjdXJyZW50LXdpbmRvdykgb3JnLWFnZW5kYS13aW5kb3ctc2V0dXApKSAob3JnLWFnZW5kYS1j dXN0b20tY29tbWFuZHMtb3JpZyBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcykgKG9yZy1hZ2Vu ZGEtY3VzdG9tLWNvbW1hbmRzIChkZWxxIG5pbCAobWFwY2FyIChmdW5jdGlvbiAuLi4pIG9yZy1h Z2VuZGEtY3VzdG9tLWNvbW1hbmRzKSkpIChvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcyAob3Jn LWNvbnRleHR1YWxpemUta2V5cyBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcyBvcmctYWdlbmRh LWN1c3RvbS1jb21tYW5kcy1jb250ZXh0cykpIChidWYgKGN1cnJlbnQtYnVmZmVyKSkgKGJmbiAo YnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpIGVudHJ5IGtleSB0eXBlIG9y Zy1tYXRjaCBscHJvcHMgYW5zKSAoaWYgb3JnLWFnZW5kYS1vdmVycmlkaW5nLXJlc3RyaWN0aW9u IG5pbCAoaWYgb3JnLWFnZW5kYS1rZWVwLXJlc3RyaWN0ZWQtZmlsZS1saXN0IG5pbCAocHV0IChx dW90ZSBvcmctYWdlbmRhLWZpbGVzKSAocXVvdGUgb3JnLXJlc3RyaWN0KSBuaWwpKSAoc2V0cSBv cmctYWdlbmRhLXJlc3RyaWN0IG5pbCkgKG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVzdHJpY3Qt YmVnaW4gbmlsKSAobW92ZS1tYXJrZXIgb3JnLWFnZW5kYS1yZXN0cmljdC1lbmQgbmlsKSkgKHB1 dCAocXVvdGUgb3JnLWFnZW5kYS1yZWRvLWNvbW1hbmQpIChxdW90ZSBvcmctbHByb3BzKSBuaWwp IChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVkby1jb21tYW5kKSAocXVvdGUgbGFzdC1hcmdzKSBu aWwpIChzZXRxIG9yZy1hZ2VuZGEtbGFzdC1kaXNwYXRjaC1idWZmZXIgKGN1cnJlbnQtYnVmZmVy KSkgKGlmIG9yZy1rZXlzIG5pbCAoc2V0cSBhbnMgKG9yZy1hZ2VuZGEtZ2V0LXJlc3RyaWN0aW9u LWFuZC1jb21tYW5kIHByZWZpeC1kZXNjcmlwdGlvbnMpIG9yZy1rZXlzIChjYXIgYW5zKSByZXN0 cmljdGlvbiAoY2RyIGFucykpKSAoaWYgb3JnLWFnZW5kYS1zdGlja3kgKHNldHEgb3JnLWFnZW5k YS1idWZmZXItbmFtZSAoZm9ybWF0ICIqT3JnIEFnZW5kYSglcykqIiBvcmcta2V5cykpKSAoaWYg KGFuZCAobm90IG9yZy1hZ2VuZGEtb3ZlcnJpZGluZy1yZXN0cmljdGlvbikgcmVzdHJpY3Rpb24p IChwcm9nbiAocHV0IChxdW90ZSBvcmctYWdlbmRhLWZpbGVzKSAocXVvdGUgb3JnLXJlc3RyaWN0 KSAobGlzdCBiZm4pKSAoY29uZCAoKGVxIHJlc3RyaWN0aW9uIC4uLikgKHNldHEgb3JnLWFnZW5k YS1yZXN0cmljdCAuLi4pIChtb3ZlLW1hcmtlciBvcmctYWdlbmRhLXJlc3RyaWN0LWJlZ2luIC4u LikgKG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVzdHJpY3QtZW5kIC4uLikpICgoZXEgcmVzdHJp Y3Rpb24gLi4uKSAoc2F2ZS1leGN1cnNpb24gLi4uIC4uLiAuLi4gLi4uKSkpKSkgKGNvbmQgKChz ZXRxIGVudHJ5IChhc3NvYyBvcmcta2V5cyBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcykpIChp ZiAob3IgKHN5bWJvbHAgLi4uKSAoZnVuY3Rpb25wIC4uLikpIChwcm9nbiAoc2V0cSB0eXBlIC4u LiBvcmctbWF0Y2ggLi4uIGxwcm9wcyAuLi4pIChpZiBvcmctYWdlbmRhLXN0aWNreSAuLi4pIChw dXQgLi4uIC4uLiBscHJvcHMpIChjb25kIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSAob3JnLWFnZW5kYS1ydW4tc2VyaWVzIChudGggMSBl bnRyeSkgKGNkciAuLi4pKSkpICgoZXF1YWwgb3JnLWtleXMgIkMiKSAoc2V0cSBvcmctYWdlbmRh LWN1c3RvbS1jb21tYW5kcyBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcy1vcmlnKSAoY3VzdG9t aXplLXZhcmlhYmxlIChxdW90ZSBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcykpKSAoKGVxdWFs IG9yZy1rZXlzICJhIikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3JnLWFnZW5kYS1saXN0 KSkpICgoZXF1YWwgb3JnLWtleXMgInMiKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmct c2VhcmNoLXZpZXcpKSkgKChlcXVhbCBvcmcta2V5cyAiUyIpIChvcmctY2FsbC13aXRoLWFyZyAo cXVvdGUgb3JnLXNlYXJjaC12aWV3KSAob3IgYXJnIChxdW90ZSAuLi4pKSkpICgoZXF1YWwgb3Jn LWtleXMgInQiKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctdG9kby1saXN0KSkpICgo ZXF1YWwgb3JnLWtleXMgIlQiKSAob3JnLWNhbGwtd2l0aC1hcmcgKHF1b3RlIG9yZy10b2RvLWxp c3QpIChvciBhcmcgKHF1b3RlIC4uLikpKSkgKChlcXVhbCBvcmcta2V5cyAibSIpIChjYWxsLWlu dGVyYWN0aXZlbHkgKHF1b3RlIG9yZy10YWdzLXZpZXcpKSkgKChlcXVhbCBvcmcta2V5cyAiTSIp IChvcmctY2FsbC13aXRoLWFyZyAocXVvdGUgb3JnLXRhZ3MtdmlldykgKG9yIGFyZyAocXVvdGUg Li4uKSkpKSAoKGVxdWFsIG9yZy1rZXlzICJlIikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUg b3JnLXN0b3JlLWFnZW5kYS12aWV3cykpKSAoKGVxdWFsIG9yZy1rZXlzICI/IikgKG9yZy10YWdz LXZpZXcgbmlsICIrRkxBR0dFRCIpIChhZGQtaG9vayAocXVvdGUgcG9zdC1jb21tYW5kLWhvb2sp IChmdW5jdGlvbiAobGFtYmRhIG5pbCAuLi4pKSB0IHQpKSAoKGVxdWFsIG9yZy1rZXlzICIjIikg KGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3JnLWFnZW5kYS1saXN0LXN0dWNrLXByb2plY3Rz KSkpICgoZXF1YWwgb3JnLWtleXMgIi8iKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmct b2NjdXItaW4tYWdlbmRhLWZpbGVzKSkpICgoZXF1YWwgb3JnLWtleXMgIiEiKSAoY3VzdG9taXpl LXZhcmlhYmxlIChxdW90ZSBvcmctc3R1Y2stcHJvamVjdHMpKSkgKHQgKHVzZXItZXJyb3IgIklu dmFsaWQgYWdlbmRhIGtleSIpKSkpKSkoKQ0KICBhcHBseSgobGFtYmRhICgmb3B0aW9uYWwgYXJn IG9yZy1rZXlzIHJlc3RyaWN0aW9uKSAiRGlzcGF0Y2ggYWdlbmRhIGNvbW1hbmRzIHRvIGNvbGxl Y3QgZW50cmllcyB0byB0aGUgYWdlbmRhIGJ1ZmZlci5cblByb21wdHMgZm9yIGEgY29tbWFuZCB0 byBleGVjdXRlLiAgQW55IHByZWZpeCBhcmcgd2lsbCBiZSBwYXNzZWRcbm9uIHRvIHRoZSBzZWxl Y3RlZCBjb21tYW5kLiAgVGhlIGRlZmF1bHQgc2VsZWN0aW9ucyBhcmU6XG5cbmEgICAgIENhbGwg YG9yZy1hZ2VuZGEtbGlzdCcgdG8gZGlzcGxheSB0aGUgYWdlbmRhIGZvciBjdXJyZW50IGRheSBv ciB3ZWVrLlxudCAgICAgQ2FsbCBgb3JnLXRvZG8tbGlzdCcgdG8gZGlzcGxheSB0aGUgZ2xvYmFs IHRvZG8gbGlzdC5cblQgICAgIENhbGwgYG9yZy10b2RvLWxpc3QnIHRvIGRpc3BsYXkgdGhlIGds b2JhbCB0b2RvIGxpc3QsIHNlbGVjdCBvbmx5XG4gICAgICBlbnRyaWVzIHdpdGggYSBzcGVjaWZp YyBUT0RPIGtleXdvcmQgKHRoZSB1c2VyIGdldHMgYSBwcm9tcHQpLlxubSAgICAgQ2FsbCBgb3Jn LXRhZ3MtdmlldycgdG8gZGlzcGxheSBoZWFkbGluZXMgd2l0aCB0YWdzIG1hdGNoaW5nXG4gICAg ICBhIGNvbmRpdGlvbiAgKHRoZSB1c2VyIGlzIHByb21wdGVkIGZvciB0aGUgY29uZGl0aW9uKS5c bk0gICAgIExpa2UgYG0nLCBidXQgc2VsZWN0IG9ubHkgVE9ETyBlbnRyaWVzLCBubyBvcmRpbmFy eSBoZWFkbGluZXMuXG5lICAgICBFeHBvcnQgdmlld3MgdG8gYXNzb2NpYXRlZCBmaWxlcy5cbnMg ICAgIFNlYXJjaCBlbnRyaWVzIGZvciBrZXl3b3Jkcy5cblMgICAgIFNlYXJjaCBlbnRyaWVzIGZv ciBrZXl3b3Jkcywgb25seSB3aXRoIFRPRE8ga2V5d29yZHMuXG4vICAgICBNdWx0aSBvY2N1ciBh Y3Jvc3MgYWxsIGFnZW5kYSBmaWxlcyBhbmQgYWxzbyBmaWxlcyBsaXN0ZWRcbiAgICAgIGluIGBv cmctYWdlbmRhLXRleHQtc2VhcmNoLWV4dHJhLWZpbGVzJy5cbjwgICAgIFJlc3RyaWN0IGFnZW5k YSBjb21tYW5kcyB0byBidWZmZXIsIHN1YnRyZWUsIG9yIHJlZ2lvbi5cbiAgICAgIFByZXNzIHNl dmVyYWwgdGltZXMgdG8gZ2V0IHRoZSBkZXNpcmVkIGVmZmVjdC5cbj4gICAgIFJlbW92ZSBhIHBy ZXZpb3VzIHJlc3RyaWN0aW9uLlxuIyAgICAgTGlzdCBcInN0dWNrXCIgcHJvamVjdHMuXG4hICAg ICBDb25maWd1cmUgd2hhdCBcInN0dWNrXCIgbWVhbnMuXG5DICAgICBDb25maWd1cmUgY3VzdG9t IGFnZW5kYSBjb21tYW5kcy5cblxuTW9yZSBjb21tYW5kcyBjYW4gYmUgYWRkZWQgYnkgY29uZmln dXJpbmcgdGhlIHZhcmlhYmxlXG5gb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMnLiAgSW4gcGFy dGljdWxhciwgc3BlY2lmaWMgdGFncyBhbmQgVE9ETyBrZXl3b3JkXG5zZWFyY2hlcyBjYW4gYmUg cHJlLWRlZmluZWQgaW4gdGhpcyB3YXkuXG5cbklmIHRoZSBjdXJyZW50IGJ1ZmZlciBpcyBpbiBP cmcgbW9kZSBhbmQgdmlzaXRpbmcgYSBmaWxlLCB5b3UgY2FuIGFsc29cbmZpcnN0IHByZXNzIGA8 JyBvbmNlIHRvIGluZGljYXRlIHRoYXQgdGhlIGFnZW5kYSBzaG91bGQgYmUgdGVtcG9yYXJpbHlc bih1bnRpbCB0aGUgbmV4dCB1c2Ugb2YgYFxcW29yZy1hZ2VuZGFdJykgcmVzdHJpY3RlZCB0byB0 aGUgY3VycmVudCBmaWxlLlxuUHJlc3NpbmcgYDwnIHR3aWNlIG1lYW5zIHRvIHJlc3RyaWN0IHRv IHRoZSBjdXJyZW50IHN1YnRyZWUgb3IgcmVnaW9uXG4oaWYgYWN0aXZlKS4iIChpbnRlcmFjdGl2 ZSAiUCIpIChjYXRjaCAocXVvdGUgZXhpdCkgKGxldCogKChwcmVmaXgtZGVzY3JpcHRpb25zIG5p bCkgKG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUgb3JnLWFnZW5kYS1idWZmZXItbmFtZSkgKG9yZy1h Z2VuZGEtd2luZG93LXNldHVwIChpZiAoZXF1YWwgKGJ1ZmZlci1uYW1lKSBvcmctYWdlbmRhLWJ1 ZmZlci1uYW1lKSAocXVvdGUgY3VycmVudC13aW5kb3cpIG9yZy1hZ2VuZGEtd2luZG93LXNldHVw KSkgKG9yZy1hZ2VuZGEtY3VzdG9tLWNvbW1hbmRzLW9yaWcgb3JnLWFnZW5kYS1jdXN0b20tY29t bWFuZHMpIChvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcyAoZGVscSBuaWwgKG1hcGNhciAoZnVu Y3Rpb24gLi4uKSBvcmctYWdlbmRhLWN1c3RvbS1jb21tYW5kcykpKSAob3JnLWFnZW5kYS1jdXN0 b20tY29tbWFuZHMgKG9yZy1jb250ZXh0dWFsaXplLWtleXMgb3JnLWFnZW5kYS1jdXN0b20tY29t bWFuZHMgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMtY29udGV4dHMpKSAoYnVmIChjdXJyZW50 LWJ1ZmZlcikpIChiZm4gKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKSBl bnRyeSBrZXkgdHlwZSBvcmctbWF0Y2ggbHByb3BzIGFucykgKGlmIG9yZy1hZ2VuZGEtb3ZlcnJp ZGluZy1yZXN0cmljdGlvbiBuaWwgKGlmIG9yZy1hZ2VuZGEta2VlcC1yZXN0cmljdGVkLWZpbGUt bGlzdCBuaWwgKHB1dCAocXVvdGUgb3JnLWFnZW5kYS1maWxlcykgKHF1b3RlIG9yZy1yZXN0cmlj dCkgbmlsKSkgKHNldHEgb3JnLWFnZW5kYS1yZXN0cmljdCBuaWwpIChtb3ZlLW1hcmtlciBvcmct YWdlbmRhLXJlc3RyaWN0LWJlZ2luIG5pbCkgKG1vdmUtbWFya2VyIG9yZy1hZ2VuZGEtcmVzdHJp Y3QtZW5kIG5pbCkpIChwdXQgKHF1b3RlIG9yZy1hZ2VuZGEtcmVkby1jb21tYW5kKSAocXVvdGUg b3JnLWxwcm9wcykgbmlsKSAocHV0IChxdW90ZSBvcmctYWdlbmRhLXJlZG8tY29tbWFuZCkgKHF1 b3RlIGxhc3QtYXJncykgbmlsKSAoc2V0cSBvcmctYWdlbmRhLWxhc3QtZGlzcGF0Y2gtYnVmZmVy IChjdXJyZW50LWJ1ZmZlcikpIChpZiBvcmcta2V5cyBuaWwgKHNldHEgYW5zIChvcmctYWdlbmRh LWdldC1yZXN0cmljdGlvbi1hbmQtY29tbWFuZCBwcmVmaXgtZGVzY3JpcHRpb25zKSBvcmcta2V5 cyAoY2FyIGFucykgcmVzdHJpY3Rpb24gKGNkciBhbnMpKSkgKGlmIG9yZy1hZ2VuZGEtc3RpY2t5 IChzZXRxIG9yZy1hZ2VuZGEtYnVmZmVyLW5hbWUgKGZvcm1hdCAiKk9yZyBBZ2VuZGEoJXMpKiIg b3JnLWtleXMpKSkgKGlmIChhbmQgKG5vdCBvcmctYWdlbmRhLW92ZXJyaWRpbmctcmVzdHJpY3Rp b24pIHJlc3RyaWN0aW9uKSAocHJvZ24gKHB1dCAocXVvdGUgb3JnLWFnZW5kYS1maWxlcykgKHF1 b3RlIG9yZy1yZXN0cmljdCkgKGxpc3QgYmZuKSkgKGNvbmQgKChlcSByZXN0cmljdGlvbiAuLi4p IChzZXRxIG9yZy1hZ2VuZGEtcmVzdHJpY3QgLi4uKSAobW92ZS1tYXJrZXIgb3JnLWFnZW5kYS1y ZXN0cmljdC1iZWdpbiAuLi4pIChtb3ZlLW1hcmtlciBvcmctYWdlbmRhLXJlc3RyaWN0LWVuZCAu Li4pKSAoKGVxIHJlc3RyaWN0aW9uIC4uLikgKHNhdmUtZXhjdXJzaW9uIC4uLiAuLi4gLi4uIC4u LikpKSkpIChjb25kICgoc2V0cSBlbnRyeSAoYXNzb2Mgb3JnLWtleXMgb3JnLWFnZW5kYS1jdXN0 b20tY29tbWFuZHMpKSAoaWYgKG9yIChzeW1ib2xwIC4uLikgKGZ1bmN0aW9ucCAuLi4pKSAocHJv Z24gKHNldHEgdHlwZSAuLi4gb3JnLW1hdGNoIC4uLiBscHJvcHMgLi4uKSAoaWYgb3JnLWFnZW5k YS1zdGlja3kgLi4uKSAocHV0IC4uLiAuLi4gbHByb3BzKSAoY29uZCAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSkgKG9yZy1hZ2VuZGEtcnVu LXNlcmllcyAobnRoIDEgZW50cnkpIChjZHIgLi4uKSkpKSAoKGVxdWFsIG9yZy1rZXlzICJDIikg KHNldHEgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFuZHMgb3JnLWFnZW5kYS1jdXN0b20tY29tbWFu ZHMtb3JpZykgKGN1c3RvbWl6ZS12YXJpYWJsZSAocXVvdGUgb3JnLWFnZW5kYS1jdXN0b20tY29t bWFuZHMpKSkgKChlcXVhbCBvcmcta2V5cyAiYSIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3Rl IG9yZy1hZ2VuZGEtbGlzdCkpKSAoKGVxdWFsIG9yZy1rZXlzICJzIikgKGNhbGwtaW50ZXJhY3Rp dmVseSAocXVvdGUgb3JnLXNlYXJjaC12aWV3KSkpICgoZXF1YWwgb3JnLWtleXMgIlMiKSAob3Jn LWNhbGwtd2l0aC1hcmcgKHF1b3RlIG9yZy1zZWFyY2gtdmlldykgKG9yIGFyZyAocXVvdGUgLi4u KSkpKSAoKGVxdWFsIG9yZy1rZXlzICJ0IikgKGNhbGwtaW50ZXJhY3RpdmVseSAocXVvdGUgb3Jn LXRvZG8tbGlzdCkpKSAoKGVxdWFsIG9yZy1rZXlzICJUIikgKG9yZy1jYWxsLXdpdGgtYXJnIChx dW90ZSBvcmctdG9kby1saXN0KSAob3IgYXJnIChxdW90ZSAuLi4pKSkpICgoZXF1YWwgb3JnLWtl eXMgIm0iKSAoY2FsbC1pbnRlcmFjdGl2ZWx5IChxdW90ZSBvcmctdGFncy12aWV3KSkpICgoZXF1 YWwgb3JnLWtleXMgIk0iKSAob3JnLWNhbGwtd2l0aC1hcmcgKHF1b3RlIG9yZy10YWdzLXZpZXcp IChvciBhcmcgKHF1b3RlIC4uLikpKSkgKChlcXVhbCBvcmcta2V5cyAiZSIpIChjYWxsLWludGVy YWN0aXZlbHkgKHF1b3RlIG9yZy1zdG9yZS1hZ2VuZGEtdmlld3MpKSkgKChlcXVhbCBvcmcta2V5 cyAiPyIpIChvcmctdGFncy12aWV3IG5pbCAiK0ZMQUdHRUQiKSAoYWRkLWhvb2sgKHF1b3RlIHBv c3QtY29tbWFuZC1ob29rKSAoZnVuY3Rpb24gKGxhbWJkYSBuaWwgLi4uKSkgdCB0KSkgKChlcXVh bCBvcmcta2V5cyAiIyIpIChjYWxsLWludGVyYWN0aXZlbHkgKHF1b3RlIG9yZy1hZ2VuZGEtbGlz dC1zdHVjay1wcm9qZWN0cykpKSAoKGVxdWFsIG9yZy1rZXlzICIvIikgKGNhbGwtaW50ZXJhY3Rp dmVseSAocXVvdGUgb3JnLW9jY3VyLWluLWFnZW5kYS1maWxlcykpKSAoKGVxdWFsIG9yZy1rZXlz ICIhIikgKGN1c3RvbWl6ZS12YXJpYWJsZSAocXVvdGUgb3JnLXN0dWNrLXByb2plY3RzKSkpICh0 ICh1c2VyLWVycm9yICJJbnZhbGlkIGFnZW5kYSBrZXkiKSkpKSkpIG5pbCkNCiAgb3JnLWFnZW5k YSgpDQogIGZ1bmNhbGwtaW50ZXJhY3RpdmVseShvcmctYWdlbmRhKQ0KICBjYWxsLWludGVyYWN0 aXZlbHkob3JnLWFnZW5kYSBuaWwgbmlsKQ0KICBjb21tYW5kLWV4ZWN1dGUob3JnLWFnZW5kYSkN Cg== --94eb2c1242f40ce7570558c5af13--