From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gI3YAOsfA1/EfwAA0tVLHw (envelope-from ) for ; Mon, 06 Jul 2020 12:58:19 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id gDMUOOofA1/2IAAAbx9fmQ (envelope-from ) for ; Mon, 06 Jul 2020 12:58:18 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8D3C3940429 for ; Mon, 6 Jul 2020 12:58:17 +0000 (UTC) Received: from localhost ([::1]:43142 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsQhL-0000WZ-1p for larch@yhetil.org; Mon, 06 Jul 2020 08:58:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsQgz-0000WS-3k for emacs-orgmode@gnu.org; Mon, 06 Jul 2020 08:57:53 -0400 Received: from mail-ed1-f44.google.com ([209.85.208.44]:34387) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jsQgv-0006JV-2j for emacs-orgmode@gnu.org; Mon, 06 Jul 2020 08:57:52 -0400 Received: by mail-ed1-f44.google.com with SMTP id a8so33567870edy.1 for ; Mon, 06 Jul 2020 05:57:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IOv0Mh5bC7l56Mqw6UE/XD1Y26whw3sdD4zChLvd1FQ=; b=RHJ4q2OEBRmCX2zgigcbsnMu5IQb7x3x4m3cXFSn+3tx7fWZH54rxpPpWIA1a+oVFq g1QtABZd6KApx+hndw1tR9Ml1yx3MUyloGEsBlEcsL9olbktSQHHVXZ6EIRNIb3Pny1S rAUhMSm/V/qCgfQX2tSjXyyj9lNNOsbt5fx5WY8CejOwqv1FD/GdEn7NGuLriGju+PqP XVqerE18MZBdIhdiC7PqrrT4u3CD4Yd+yz9eFwz11SKiqwWFVQpyr13hj2xFL8SyBgKB UlGqLG12FMROrDfIIPbb5MpllPlxbSG0U9wJg9/EY30Ov1lHFkxswZExq+LMPqXumeCv ZyEA== X-Gm-Message-State: AOAM533nfqEwZY8HnWI/8L9LYDTe6ls/wJWglzlRxQ0/eFNzzgcs7lrI 7GPxX2wLeqkX0cdXpf5EnojOPEQ4REGTfUfFg/k= X-Google-Smtp-Source: ABdhPJxJIFVZSYpgiW04E5ljN7XxY21bXogFvt2Tj2l7hxhvGCHl+2iwXJ6v52de8NGpU7dSc+wsyskIEyDnRkcb4YU= X-Received: by 2002:a50:ec8f:: with SMTP id e15mr54296787edr.70.1594040267033; Mon, 06 Jul 2020 05:57:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: ian martins Date: Mon, 6 Jul 2020 08:57:35 -0400 Message-ID: Subject: Re: Bug: org-babel python with :results value sends function definition with a statement after a for loop to the shell incorrectly [9.3.6 (9.3.6-elpa @ /home/username/.emacs.d/elpa/org-9.3.6/)] To: Philip Blagoveschensky Content-Type: multipart/alternative; boundary="000000000000dfcff105a9c56bd0" Received-SPF: pass client-ip=209.85.208.44; envelope-from=ianxm1@gmail.com; helo=mail-ed1-f44.google.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/06 08:57:47 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -5 X-Spam_score: -0.6 X-Spam_bar: / X-Spam_report: (-0.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=jhu.edu (policy=none); spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -0.81 X-TUID: 1cnpYx+KelZH --000000000000dfcff105a9c56bd0 Content-Type: text/plain; charset="UTF-8" Hello Philip, I tested again and still can't reproduce the issue. ob-python doesn't change the indentation between individual lines of a code block, so this is strange. Do you have the same issue if you aren't using a session? Are you using tabs or spaces? (I tested with spaces) On Sun, Jul 5, 2020 at 7:37 AM Philip Blagoveschensky wrote: > Consider the following org-babel block: > > > > #+begin_src python :session bug_report > def foobar(): > for i in range(5): > pass > print "hello world" > > foobar() > #+end_src > > > > When I run it, this is what I see in the *bug_report* buffer: > > > > def foobar(): > ... for i in range(5): > ... pass > ... > >>> print "hello world" > File "", line 1 > print "hello world" > ^ > IndentationError: unexpected indent > > >>> foobar() > >>> > >>> open('/tmp/babel-MOOCF9/python-UW5PEF', 'w').write(str(_)) > >>> > >>> > >>> 'org_babel_python_eoe' > >>> 'org_babel_python_eoe' > >>> > > > > So, org-babel incorrectly decided that the line with the print is not a > part of the function's definition and sent it to Python shell as a > separate statement. Instead, it should've sent it as a part of foobar's > definition. > > This problem persists > - If I use python3 instead of python2 > - If I replace > print "hello world" > with > return 42 > > This problem disappears if I add :results output to the source block. > > > Emacs : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) > of 2019-09-23, modified by Debian > Package: Org mode version 9.3.6 (9.3.6-elpa @ > /home/username/.emacs.d/elpa/org-9.3.6/) > > > current state: > ============== > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-link-shell-confirm-function 'yes-or-no-p > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-mode-hook '(#[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-show-all append > local] > 5] > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook > org-babel-show-result-all append local] > 5] > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > org-babel-pre-tangle-hook '(save-buffer) > org-tab-first-hook '(org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-babel-load-languages '((emacs-lisp . t) (python . t)) > org-occur-hook '(org-first-headline-recenter) > org-cycle-hook '(org-cycle-hide-archived-subtrees > org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-speed-command-hook '(org-speed-command-activate > org-babel-speed-command-activate) > org-babel-tangle-lang-exts '(("python" . "py") ("emacs-lisp" . "el") > ("elisp" . "el")) > org-confirm-shell-link-function 'yes-or-no-p > org-link-parameters '(("attachment" :follow org-attach-open-link :export > org-attach-export-link :complete > org-attach-complete-link) > ("id" :follow org-id-open) > ("eww" :follow eww :store org-eww-store-link) > ("rmail" :follow org-rmail-open :store > org-rmail-store-link) > ("mhe" :follow org-mhe-open :store > org-mhe-store-link) > ("irc" :follow org-irc-visit :store > org-irc-store-link :export org-irc-export) > ("info" :follow org-info-open :export > org-info-export :store org-info-store-link) > ("gnus" :follow org-gnus-open :store > org-gnus-store-link) > ("docview" :follow org-docview-open :export > org-docview-export :store org-docview-store-link) > ("bibtex" :follow org-bibtex-open :store > org-bibtex-store-link) > ("bbdb" :follow org-bbdb-open :export > org-bbdb-export :complete org-bbdb-complete-link > :store org-bbdb-store-link) > ("w3m" :store org-w3m-store-link) ("file+sys") > ("file+emacs") > ("shell" :follow org-link--open-shell) > ("news" :follow > #[257 "\301\300\302 Q!\207" > ["news" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("mailto" :follow > #[257 "\301\300\302 Q!\207" > ["mailto" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("https" :follow > #[257 "\301\300\302 Q!\207" > ["https" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("http" :follow > #[257 "\301\300\302 Q!\207" > ["http" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("ftp" :follow > #[257 "\301\300\302 Q!\207" > ["ftp" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("help" :follow org-link--open-help) > ("file" :complete org-link-complete-file) > ("elisp" :follow org-link--open-elisp) > ("doi" :follow org-link--open-doi)) > org-link-elisp-confirm-function 'yes-or-no-p > ) > > > --000000000000dfcff105a9c56bd0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5IZWxsbyBQaGlsaXAsPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj5JIHRlc3RlZCBhZ2FpbiBhbmQgc3RpbGwgY2FuJiMzOTt0IHJlcHJvZHVjZSB0aGUgaXNzdWUu IMKgb2ItcHl0aG9uIGRvZXNuJiMzOTt0IGNoYW5nZSB0aGUgaW5kZW50YXRpb24gYmV0d2VlbiBp bmRpdmlkdWFsIGxpbmVzIG9mIGEgY29kZSBibG9jaywgc28gdGhpcyBpcyBzdHJhbmdlLiBEbyB5 b3UgaGF2ZSB0aGUgc2FtZSBpc3N1ZSBpZiB5b3UgYXJlbiYjMzk7dCB1c2luZyBhIHNlc3Npb24/ IEFyZSB5b3UgdXNpbmcgdGFicyBvciBzcGFjZXM/IChJIHRlc3RlZCB3aXRoIHNwYWNlcyk8YnI+ PC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRyIiBj bGFzcz0iZ21haWxfYXR0ciI+T24gU3VuLCBKdWwgNSwgMjAyMCBhdCA3OjM3IEFNIFBoaWxpcCBC bGFnb3Zlc2NoZW5za3kgJmx0OzxhIGhyZWY9Im1haWx0bzpwaGlsaXBAY3JhYm1hbi5tZSI+cGhp bGlwQGNyYWJtYW4ubWU8L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9 ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0 OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPkNvbnNpZGVyIHRo ZSBmb2xsb3dpbmcgb3JnLWJhYmVsIGJsb2NrOjxicj4NCjxicj4NCjxicj4NCjxicj4NCiMrYmVn aW5fc3JjIHB5dGhvbiA6c2Vzc2lvbiBidWdfcmVwb3J0PGJyPg0KZGVmIGZvb2JhcigpOjxicj4N CsKgIMKgIMKgZm9yIGkgaW4gcmFuZ2UoNSk6PGJyPg0KwqAgwqAgwqAgwqAgwqBwYXNzPGJyPg0K wqAgwqAgwqBwcmludCAmcXVvdDtoZWxsbyB3b3JsZCZxdW90Ozxicj4NCjxicj4NCmZvb2Jhcigp PGJyPg0KIytlbmRfc3JjPGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KV2hlbiBJIHJ1biBpdCwgdGhp cyBpcyB3aGF0IEkgc2VlIGluIHRoZSAqYnVnX3JlcG9ydCogYnVmZmVyOjxicj4NCjxicj4NCjxi cj4NCjxicj4NCmRlZiBmb29iYXIoKTo8YnI+DQouLi7CoCDCoCDCoGZvciBpIGluIHJhbmdlKDUp Ojxicj4NCi4uLsKgIMKgIMKgIMKgIMKgcGFzczxicj4NCi4uLjxicj4NCsKgJmd0OyZndDsmZ3Q7 wqAgwqAgwqBwcmludCAmcXVvdDtoZWxsbyB3b3JsZCZxdW90Ozxicj4NCsKgIMKgRmlsZSAmcXVv dDsmbHQ7c3RkaW4mZ3Q7JnF1b3Q7LCBsaW5lIDE8YnI+DQrCoCDCoCDCoHByaW50ICZxdW90O2hl bGxvIHdvcmxkJnF1b3Q7PGJyPg0KwqAgwqAgwqBePGJyPg0KSW5kZW50YXRpb25FcnJvcjogdW5l eHBlY3RlZCBpbmRlbnQ8YnI+DQo8YnI+DQrCoCZndDsmZ3Q7Jmd0OyBmb29iYXIoKTxicj4NCsKg Jmd0OyZndDsmZ3Q7PGJyPg0KwqAmZ3Q7Jmd0OyZndDsgb3BlbigmIzM5Oy90bXAvYmFiZWwtTU9P Q0Y5L3B5dGhvbi1VVzVQRUYmIzM5OywgJiMzOTt3JiMzOTspLndyaXRlKHN0cihfKSk8YnI+DQrC oCZndDsmZ3Q7Jmd0Ozxicj4NCsKgJmd0OyZndDsmZ3Q7PGJyPg0KwqAmZ3Q7Jmd0OyZndDsgJiMz OTtvcmdfYmFiZWxfcHl0aG9uX2VvZSYjMzk7PGJyPg0KwqAmZ3Q7Jmd0OyZndDsgJiMzOTtvcmdf YmFiZWxfcHl0aG9uX2VvZSYjMzk7PGJyPg0KwqAmZ3Q7Jmd0OyZndDs8YnI+DQo8YnI+DQo8YnI+ DQo8YnI+DQpTbywgb3JnLWJhYmVsIGluY29ycmVjdGx5IGRlY2lkZWQgdGhhdCB0aGUgbGluZSB3 aXRoIHRoZSBwcmludCBpcyBub3QgYSA8YnI+DQpwYXJ0IG9mIHRoZSBmdW5jdGlvbiYjMzk7cyBk ZWZpbml0aW9uIGFuZCBzZW50IGl0IHRvIFB5dGhvbiBzaGVsbCBhcyBhIDxicj4NCnNlcGFyYXRl IHN0YXRlbWVudC4gSW5zdGVhZCwgaXQgc2hvdWxkJiMzOTt2ZSBzZW50IGl0IGFzIGEgcGFydCBv ZiBmb29iYXImIzM5O3MgPGJyPg0KZGVmaW5pdGlvbi48YnI+DQo8YnI+DQpUaGlzIHByb2JsZW0g cGVyc2lzdHM8YnI+DQotIElmIEkgdXNlIHB5dGhvbjMgaW5zdGVhZCBvZiBweXRob24yPGJyPg0K LSBJZiBJIHJlcGxhY2U8YnI+DQrCoCDCoCDCoHByaW50ICZxdW90O2hlbGxvIHdvcmxkJnF1b3Q7 PGJyPg0KwqAgwqB3aXRoPGJyPg0KwqAgwqAgwqByZXR1cm4gNDI8YnI+DQo8YnI+DQpUaGlzIHBy b2JsZW0gZGlzYXBwZWFycyBpZiBJIGFkZCA6cmVzdWx0cyBvdXRwdXQgdG8gdGhlIHNvdXJjZSBi bG9jay48YnI+DQo8YnI+DQo8YnI+DQpFbWFjc8KgIDogR05VIEVtYWNzIDI2LjEgKGJ1aWxkIDIs IHg4Nl82NC1wYy1saW51eC1nbnUsIEdUSysgVmVyc2lvbiAzLjI0LjUpPGJyPg0KwqAgb2YgMjAx OS0wOS0yMywgbW9kaWZpZWQgYnkgRGViaWFuPGJyPg0KUGFja2FnZTogT3JnIG1vZGUgdmVyc2lv biA5LjMuNiAoOS4zLjYtZWxwYSBAIDxicj4NCi9ob21lL3VzZXJuYW1lLy5lbWFjcy5kL2VscGEv b3JnLTkuMy42Lyk8YnI+DQo8YnI+DQo8YnI+DQpjdXJyZW50IHN0YXRlOjxicj4NCj09PT09PT09 PT09PT09PGJyPg0KKHNldHE8YnI+DQrCoCBvcmctc3JjLW1vZGUtaG9vayAmIzM5Oyhvcmctc3Jj LWJhYmVsLWNvbmZpZ3VyZS1lZGl0LWJ1ZmZlcjxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgb3JnLXNyYy1tb2RlLWNvbmZpZ3VyZS1lZGl0LWJ1ZmZlcik8YnI+DQrCoCBvcmct bGluay1zaGVsbC1jb25maXJtLWZ1bmN0aW9uICYjMzk7eWVzLW9yLW5vLXA8YnI+DQrCoCBvcmct bWV0YWRvd24taG9vayAmIzM5OyhvcmctYmFiZWwtcG9wLXRvLXNlc3Npb24tbWF5YmUpPGJyPg0K wqAgb3JnLWNsb2NrLW91dC1ob29rICYjMzk7KG9yZy1jbG9jay1yZW1vdmUtZW1wdHktY2xvY2st ZHJhd2VyKTxicj4NCsKgIG9yZy1tb2RlLWhvb2sgJiMzOTsoI1swICZxdW90O1wzMDBcMzAxXDMw MlwzMDNcMzA0JFwyMDcmcXVvdDs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFth ZGQtaG9vayBjaGFuZ2UtbWFqb3ItbW9kZS1ob29rIG9yZy1zaG93LWFsbCBhcHBlbmQ8YnI+DQrC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBsb2NhbF08YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoDVdPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAjWzAgJnF1b3Q7 XDMwMFwzMDFcMzAyXDMwM1wzMDQkXDIwNyZxdW90Ozxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgW2FkZC1ob29rIGNoYW5nZS1tYWpvci1tb2RlLWhvb2s8YnI+DQrCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBvcmctYmFiZWwtc2hvdy1yZXN1bHQtYWxsIGFwcGVuZCBsb2Nh bF08YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDVdPGJyPg0KwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqBvcmctYmFiZWwtcmVzdWx0LWhpZGUtc3BlYyBvcmctYmFiZWwtaGlkZS1h bGwtaGFzaGVzKTxicj4NCsKgIG9yZy1hcmNoaXZlLWhvb2sgJiMzOTsob3JnLWF0dGFjaC1hcmNo aXZlLWRlbGV0ZS1tYXliZSk8YnI+DQrCoCBvcmctY29uZmlybS1lbGlzcC1saW5rLWZ1bmN0aW9u ICYjMzk7eWVzLW9yLW5vLXA8YnI+DQrCoCBvcmctYWdlbmRhLWJlZm9yZS13cml0ZS1ob29rICYj Mzk7KG9yZy1hZ2VuZGEtYWRkLWVudHJ5LXRleHQpPGJyPg0KwqAgb3JnLW1ldGF1cC1ob29rICYj Mzk7KG9yZy1iYWJlbC1sb2FkLWluLXNlc3Npb24tbWF5YmUpPGJyPg0KwqAgb3JnLWJpYnRleC1o ZWFkbGluZS1mb3JtYXQtZnVuY3Rpb24gI1syNTcgJnF1b3Q7XDMwMCBcMjM2QVwyMDcmcXVvdDsg Wzp0aXRsZV0gMyA8YnI+DQomcXVvdDtcblxuKGZuIEVOVFJZKSZxdW90O108YnI+DQrCoCBvcmct YmFiZWwtcHJlLXRhbmdsZS1ob29rICYjMzk7KHNhdmUtYnVmZmVyKTxicj4NCsKgIG9yZy10YWIt Zmlyc3QtaG9vayAmIzM5OyhvcmctYmFiZWwtaGlkZS1yZXN1bHQtdG9nZ2xlLW1heWJlPGJyPg0K wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgb3JnLWJhYmVsLWhlYWRlci1hcmctZXhw YW5kKTxicj4NCsKgIG9yZy1iYWJlbC1sb2FkLWxhbmd1YWdlcyAmIzM5OygoZW1hY3MtbGlzcCAu IHQpIChweXRob24gLiB0KSk8YnI+DQrCoCBvcmctb2NjdXItaG9vayAmIzM5OyhvcmctZmlyc3Qt aGVhZGxpbmUtcmVjZW50ZXIpPGJyPg0KwqAgb3JnLWN5Y2xlLWhvb2sgJiMzOTsob3JnLWN5Y2xl LWhpZGUtYXJjaGl2ZWQtc3VidHJlZXM8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBv cmctY3ljbGUtc2hvdy1lbXB0eS1saW5lczxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IG9yZy1vcHRpbWl6ZS13aW5kb3ctYWZ0ZXItdmlzaWJpbGl0eS1jaGFuZ2UpPGJyPg0KwqAgb3Jn LXNwZWVkLWNvbW1hbmQtaG9vayAmIzM5Oyhvcmctc3BlZWQtY29tbWFuZC1hY3RpdmF0ZTxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIG9yZy1iYWJlbC1zcGVlZC1j b21tYW5kLWFjdGl2YXRlKTxicj4NCsKgIG9yZy1iYWJlbC10YW5nbGUtbGFuZy1leHRzICYjMzk7 KCgmcXVvdDtweXRob24mcXVvdDsgLiAmcXVvdDtweSZxdW90OykgKCZxdW90O2VtYWNzLWxpc3Am cXVvdDsgLiAmcXVvdDtlbCZxdW90Oyk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAoJnF1b3Q7ZWxpc3AmcXVvdDsgLiAmcXVvdDtlbCZxdW90OykpPGJy Pg0KwqAgb3JnLWNvbmZpcm0tc2hlbGwtbGluay1mdW5jdGlvbiAmIzM5O3llcy1vci1uby1wPGJy Pg0KwqAgb3JnLWxpbmstcGFyYW1ldGVycyAmIzM5OygoJnF1b3Q7YXR0YWNobWVudCZxdW90OyA6 Zm9sbG93IG9yZy1hdHRhY2gtb3Blbi1saW5rIDpleHBvcnQ8YnI+DQrCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBvcmctYXR0YWNoLWV4cG9ydC1saW5rIDpjb21wbGV0ZTxicj4N CsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIG9yZy1hdHRhY2gtY29tcGxldGUt bGluayk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgmcXVvdDtpZCZx dW90OyA6Zm9sbG93IG9yZy1pZC1vcGVuKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgKCZxdW90O2V3dyZxdW90OyA6Zm9sbG93IGV3dyA6c3RvcmUgb3JnLWV3dy1zdG9y ZS1saW5rKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O3Jt YWlsJnF1b3Q7IDpmb2xsb3cgb3JnLXJtYWlsLW9wZW4gOnN0b3JlPGJyPg0KwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgb3JnLXJtYWlsLXN0b3JlLWxpbmspPGJyPg0KwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7bWhlJnF1b3Q7IDpmb2xsb3cgb3Jn LW1oZS1vcGVuIDpzdG9yZTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IG9yZy1taGUtc3RvcmUtbGluayk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCgmcXVvdDtpcmMmcXVvdDsgOmZvbGxvdyBvcmctaXJjLXZpc2l0IDpzdG9yZTxicj4NCsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIG9yZy1pcmMtc3RvcmUtbGluayA6ZXhw b3J0IG9yZy1pcmMtZXhwb3J0KTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgKCZxdW90O2luZm8mcXVvdDsgOmZvbGxvdyBvcmctaW5mby1vcGVuIDpleHBvcnQ8YnI+DQrC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBvcmctaW5mby1leHBvcnQgOnN0b3Jl IG9yZy1pbmZvLXN0b3JlLWxpbmspPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAoJnF1b3Q7Z251cyZxdW90OyA6Zm9sbG93IG9yZy1nbnVzLW9wZW4gOnN0b3JlPGJyPg0K wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgb3JnLWdudXMtc3RvcmUtbGluayk8 YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgmcXVvdDtkb2N2aWV3JnF1 b3Q7IDpmb2xsb3cgb3JnLWRvY3ZpZXctb3BlbiA6ZXhwb3J0PGJyPg0KwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgb3JnLWRvY3ZpZXctZXhwb3J0IDpzdG9yZSBvcmctZG9jdmll dy1zdG9yZS1saW5rKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZx dW90O2JpYnRleCZxdW90OyA6Zm9sbG93IG9yZy1iaWJ0ZXgtb3BlbiA6c3RvcmU8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBvcmctYmlidGV4LXN0b3JlLWxpbmspPGJy Pg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7YmJkYiZxdW90OyA6 Zm9sbG93IG9yZy1iYmRiLW9wZW4gOmV4cG9ydDxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIG9yZy1iYmRiLWV4cG9ydCA6Y29tcGxldGUgb3JnLWJiZGItY29tcGxldGUt bGluazxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDpzdG9yZSBvcmct YmJkYi1zdG9yZS1saW5rKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg KCZxdW90O3czbSZxdW90OyA6c3RvcmUgb3JnLXczbS1zdG9yZS1saW5rKSAoJnF1b3Q7ZmlsZStz eXMmcXVvdDspPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7 ZmlsZStlbWFjcyZxdW90Oyk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCgmcXVvdDtzaGVsbCZxdW90OyA6Zm9sbG93IG9yZy1saW5rLS1vcGVuLXNoZWxsKTxicj4NCsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O25ld3MmcXVvdDsgOmZvbGxv dzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICNbMjU3ICZxdW90O1wz MDFcMzAwXDMwMiBRIVwyMDcmcXVvdDs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBbJnF1b3Q7bmV3cyZxdW90OyBicm93c2UtdXJsICZxdW90OzomcXVvdDtdIDUg JnF1b3Q7XG5cbihmbiBVUkwpJnF1b3Q7XTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgICk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgmcXVv dDttYWlsdG8mcXVvdDsgOmZvbGxvdzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICNbMjU3ICZxdW90O1wzMDFcMzAwXDMwMiBRIVwyMDcmcXVvdDs8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBbJnF1b3Q7bWFpbHRvJnF1b3Q7IGJyb3dz ZS11cmwgJnF1b3Q7OiZxdW90O10gNSAmcXVvdDtcblxuKGZuIFVSTCkmcXVvdDtdPGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O2h0dHBzJnF1b3Q7IDpmb2xsb3c8YnI+DQrCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAjWzI1NyAmcXVvdDtcMzAxXDMwMFwzMDIgUSFc MjA3JnF1b3Q7PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgWyZx dW90O2h0dHBzJnF1b3Q7IGJyb3dzZS11cmwgJnF1b3Q7OiZxdW90O10gNSAmcXVvdDtcblxuKGZu IFVSTCkmcXVvdDtdPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKTxi cj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O2h0dHAmcXVvdDsg OmZvbGxvdzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICNbMjU3ICZx dW90O1wzMDFcMzAwXDMwMiBRIVwyMDcmcXVvdDs8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBbJnF1b3Q7aHR0cCZxdW90OyBicm93c2UtdXJsICZxdW90OzomcXVv dDtdIDUgJnF1b3Q7XG5cbihmbiBVUkwpJnF1b3Q7XTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgICk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCgmcXVvdDtmdHAmcXVvdDsgOmZvbGxvdzxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgICNbMjU3ICZxdW90O1wzMDFcMzAwXDMwMiBRIVwyMDcmcXVvdDs8YnI+DQrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBbJnF1b3Q7ZnRwJnF1b3Q7IGJyb3dz ZS11cmwgJnF1b3Q7OiZxdW90O10gNSAmcXVvdDtcblxuKGZuIFVSTCkmcXVvdDtdPGJyPg0KwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O2hlbHAmcXVvdDsgOmZvbGxvdyBvcmctbGluay0tb3Bl bi1oZWxwKTxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O2Zp bGUmcXVvdDsgOmNvbXBsZXRlIG9yZy1saW5rLWNvbXBsZXRlLWZpbGUpPGJyPg0KwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7ZWxpc3AmcXVvdDsgOmZvbGxvdyBvcmct bGluay0tb3Blbi1lbGlzcCk8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCgmcXVvdDtkb2kmcXVvdDsgOmZvbGxvdyBvcmctbGluay0tb3Blbi1kb2kpKTxicj4NCsKgIG9y Zy1saW5rLWVsaXNwLWNvbmZpcm0tZnVuY3Rpb24gJiMzOTt5ZXMtb3Itbm8tcDxicj4NCsKgICk8 YnI+DQo8YnI+DQo8YnI+DQo8L2Jsb2NrcXVvdGU+PC9kaXY+DQo= --000000000000dfcff105a9c56bd0--