From unknown Sat Jun 21 17:35:30 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#57777 <57777@debbugs.gnu.org> To: bug#57777 <57777@debbugs.gnu.org> Subject: Status: 28.2; `vc-dir' picks incorrect backend. Reply-To: bug#57777 <57777@debbugs.gnu.org> Date: Sun, 22 Jun 2025 00:35:30 +0000 retitle 57777 28.2; `vc-dir' picks incorrect backend. reassign 57777 emacs submitter 57777 Mike Woolley severity 57777 normal tag 57777 moreinfo thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 13 12:30:43 2022 Received: (at submit) by debbugs.gnu.org; 13 Sep 2022 16:30:43 +0000 Received: from localhost ([127.0.0.1]:52783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oY8o6-0001sH-GY for submit@debbugs.gnu.org; Tue, 13 Sep 2022 12:30:43 -0400 Received: from lists.gnu.org ([209.51.188.17]:40908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oY8o4-0001s9-1c for submit@debbugs.gnu.org; Tue, 13 Sep 2022 12:30:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oY8o3-00058e-QS for bug-gnu-emacs@gnu.org; Tue, 13 Sep 2022 12:30:39 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:34430) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oY8o0-0006Uu-Eq for bug-gnu-emacs@gnu.org; Tue, 13 Sep 2022 12:30:39 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id AF14CE45FF; Tue, 13 Sep 2022 16:30:32 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo08-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo08-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wCDKSWGGHPFV; Tue, 13 Sep 2022 16:30:32 +0000 (UTC) Received: from smtpclient.apple (97e60a2a.skybroadband.com [151.230.10.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailout.easymail.ca (Postfix) with ESMTPSA id DD9CAE45B4; Tue, 13 Sep 2022 16:30:31 +0000 (UTC) From: Mike Woolley Content-Type: multipart/alternative; boundary="Apple-Mail=_F772FA39-2746-44E6-9224-1824FB46FFE6" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: 28.2; `vc-dir' picks incorrect backend. Message-Id: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> Date: Tue, 13 Sep 2022 17:30:28 +0100 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3696.120.41.1.1) Received-SPF: none client-ip=64.68.200.34; envelope-from=mike@bulsara.com; helo=mailout.easymail.ca X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --Apple-Mail=_F772FA39-2746-44E6-9224-1824FB46FFE6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Steps to repro: Start with a directory having both .Git and CVS sub-directories. Emacs -Q (setq vc-handled-backends '(Git CVS)) (vc-dir) Observe `vc-dir=E2=80=99 incorrectly uses the CVS backend rather than = Git. Open one of the vc-managed files and the Git backend is (correctly) = chosen. This used to work fine in emacs < 28. This issue was masked in 28.1 by bug#54935 forcing me to choose the = backend manually. Thanks, Mike In GNU Emacs 28.2 (build 1, aarch64-apple-darwin21.1.0, NS = appkit-2113.00 Version 12.0.1 (Build 21A559)) of 2022-09-12 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.6 Configured using: 'configure --with-ns '--enable-locallisppath=3D/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules' Configured features: ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS TOOLKIT_SCROLL_BARS ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (cl-print help-fns radix-tree help-mode pp shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-mtn vc-hg vc-git diff-mode easy-mmode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc-dir seq byte-opt gv bytecomp byte-compile cconv ewoc vc cl-loaddefs cl-lib vc-dispatcher iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 71262 11169) (symbols 48 8211 8) (strings 32 25210 2287) (string-bytes 1 793971) (vectors 16 17356) (vector-slots 8 226555 21748) (floats 8 30 67) (intervals 56 839 0) (buffers 992 17)) --Apple-Mail=_F772FA39-2746-44E6-9224-1824FB46FFE6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Steps= to repro:

  1. Start with a directory having both = .Git and CVS sub-directories.
  2. Emacs -Q
  3. (setq vc-handled-backends '(Git CVS))
  4. (vc-dir)
  5. Observe `vc-dir=E2=80=99 = incorrectly uses the CVS backend rather than Git.
  6. Open = one of the vc-managed files and the Git backend is (correctly) = chosen.
  7. This used to work fine in emacs < = 28.
  8. This issue was masked in 28.1 by bug#54935 = forcing me to choose the backend manually.

Thanks,
Mike

In GNU Emacs 28.2 (build = 1, aarch64-apple-darwin21.1.0, NS appkit-2113.00 Version 12.0.1 (Build = 21A559))
 of 2022-09-12 built on = armbob.lan
Windowing system distributor 'Apple', = version 10.3.2113
System Description:  macOS = 12.6

Configured = using:
 'configure --with-ns = '--enable-locallisppath=3D/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' = --with-modules'

Configured features:
ACL GMP GNUTLS JSON = LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS
TOOLKIT_SCROLL_BARS ZLIB

Important settings:
  value of $LANG: en_GB.UTF-8
  = locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in = effect:
  tooltip-mode: t
  global-eldoc-mode: t
  = eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  = mouse-wheel-mode: t
  tool-bar-mode: = t
  menu-bar-mode: t
 = file-name-shadow-mode: t
  = global-font-lock-mode: t
  font-lock-mode: = t
  blink-cursor-mode: t
  auto-composition-mode: t
  = auto-encryption-mode: t
  = auto-compression-mode: t
  line-number-mode: = t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(cl-print help-fns radix-tree = help-mode pp shadow sort mail-extr
emacsbug message = rmc puny dired dired-loaddefs rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util rmail = rmail-loaddefs
auth-source cl-seq eieio eieio-core = cl-macs eieio-loaddefs
password-cache json map = text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils = mailheader
sendmail rfc2047 rfc2045 ietf-drums = mm-util mail-prsvr mail-utils vc-mtn
vc-hg vc-git = diff-mode easy-mmode vc-bzr vc-src vc-sccs vc-svn vc-cvs
vc-rcs vc-dir seq byte-opt gv bytecomp byte-compile cconv = ewoc vc
cl-loaddefs cl-lib vc-dispatcher iso-transl = tooltip eldoc paren electric
uniquify ediff-hook = vc-hooks lisp-float-type elisp-mode mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win = tool-bar dnd
fontset image regexp-opt fringe = tabulated-list replace newcomment
text-mode = lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock = font-lock syntax
font-core term/tty-colors frame = minibuffer cl-generic cham georgian
utf-8-lang = misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech = european
ethiopic indian cyrillic chinese composite = emoji-zwj charscript charprop
case-table epa-hook = jka-cmpr-hook help simple abbrev obarray
cl-preloaded= nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env = code-pages
mule custom widget = hashtable-print-readable backquote threads kqueue
cocoa ns multi-tty make-network-process emacs)

Memory = information:
((conses 16 71262 11169)
 (symbols 48 8211 8)
 (strings = 32 25210 2287)
 (string-bytes 1 = 793971)
 (vectors 16 17356)
 (vector-slots 8 226555 21748)
 (floats 8 30 67)
 (intervals = 56 839 0)
 (buffers 992 = 17))

= --Apple-Mail=_F772FA39-2746-44E6-9224-1824FB46FFE6-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 14 10:33:08 2022 Received: (at 57777) by debbugs.gnu.org; 14 Sep 2022 14:33:08 +0000 Received: from localhost ([127.0.0.1]:55710 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTRs-0003rQ-Fl for submit@debbugs.gnu.org; Wed, 14 Sep 2022 10:33:08 -0400 Received: from quimby.gnus.org ([95.216.78.240]:49626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTRq-0003qr-Ey for 57777@debbugs.gnu.org; Wed, 14 Sep 2022 10:33:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=o0sQlfOo4l2qcm8IcL1NHckvfdAEIcDsmmWABpjt2oY=; b=l8ZjhC/qryWqz4MVXig6WOD85C VbuHSi5j7Z9nFz7IQqeWgN3dws2CjtPFwhHOHdmCtBEqQXxo9jzUCQIE09UAVyJtSAyvnjSZETZo9 9Uv53+DdWZUXoyelRL2JUXWckdzHdseuOqwpySMSnRrrwlAKJoUUYhd5+GlUNT8KLyl8=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oYTRh-0007K3-HE; Wed, 14 Sep 2022 16:32:59 +0200 From: Lars Ingebrigtsen To: Mike Woolley Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. In-Reply-To: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> (Mike Woolley's message of "Tue, 13 Sep 2022 17:30:28 +0100") References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> X-Now-Playing: David Bowie's _Brilliant Live Adventures (1): Ouvrez Le Chien (live Dallas '95)_: "Nite Flights" Date: Wed, 14 Sep 2022 16:32:55 +0200 Message-ID: <8735cu81rc.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Mike Woolley writes: > 1 Start with a directory having both .Git and CVS sub-directories. > 2 Emacs -Q > 3 (setq vc-handled-backends '(Git CVS)) > 4 (vc-dir) > 5 Observe `vc-dir’ incorrectly uses the CVS backend rather [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.0 DC_PNG_UNO_LARGO Message contains a single large png image X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mike Woolley writes: > 1 Start with a directory having both .Git and CVS sub-directories. > 2 Emacs -Q > 3 (setq vc-handled-backends '(Git CVS)) > 4 (vc-dir) > 5 Observe `vc-dir=E2=80=99 incorrectly uses the CVS backend rather than G= it. I'm unable to reproduce this problem with Emacs 28.2 (or the current trunk). I did: mkdir /tmp/vc /tmp/vc/.git /tmp/vc/CVS emacs -Q and then: (setq vc-handled-backends '(Git CVS)) (vc-dir "/tmp/vc") And got: --=-=-= Content-Type: image/png Content-Disposition: inline Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAA0AAAAF8CAIAAABpJkzqAAAABGdBTUEAALGPC/xhBQAAACBjSFJN AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAA EGNhTnYAAA8AAAAJYAAAB5oAAAEAOnwHfAAAgABJREFUeNrsnXV4VEf3x8/cuy7ZTbJxd0NCcCte KG2RUqBK27euv/pbfevuRp221Eux4u4QEhIghBB33WSz7nvv/P7Y3RA3onQ+T58+Ibl7984Z+94z Z84gcMOd9WGyZR2NscFggP7Eef+8vLxefBYh1PQzxtj5w9I/Vh2rONnqSs3zJQAgfyOi1e/59bTv PiEMEhqVKjouLikpqXlZmheq1c8ZGRkrV668+eab272gk1+2+s0vv/zy999/T506telPaWlp57Oy 5N7eg2KHRx99lKKoSZMmURQFAFar9fvvv5dKpbNmzTKZTEVFRe2WoqnGW/3T+UOr/7f9Z7s/q1Qq ANi/f/9gNYkkGzyqwZ1cEPjwnaEvPOb8uXHL7oL7nsIOpv3eQVNRn72pWHaN85+V762ufH91J3f+ SI5yeDBMsdvtaq1+5Nxrn3ztHaFQ2GBhdXYMABIu8hVQVovlw5efO7Nrk9xDwuVyL+mbuIFX/Ofu hZEid1t0aIpOHjyYerZQaWJb2p/nERCZMGJUcnJY/caPNxTYL/6J8p54+0NL41z3YI0VmUeOnc6r aNDbkVAeEJk0cfqUeIXrMR11R9as3lZkad4o6PjlL9w+ToQAsC71u7c3FrZtAVTEov/eO1WOAMB6 Zu2rv593tL0k+KrHH5zpQwGAI/u3V34+axsi96dCFz5+/wwfCgAAW2sydu86kVetMTM0X+LpHx43 apQ097f1pw14cJuc0Wg0K+Kl45fGT12AAQw2FmMEAOD8H3L95Bq0ECC4+Fc+B22/IQgAVGZm5cba i3+7+Nnm/wbXPSgk4VIUwjmHt6mP/c2ryxWLxc0anHj8Hc9dH8cBALDnbv5iWyHTaQGw3ahWGx19 1CYBgPIee9M9y0bK6e6Yz3Hu15d+yXIMRE05HA4A4HA4A9MwfBiYZOmscUonpMiumOT82Zxf1Lh1 D2bZ9sdwhDwXzhElxDr/qTuerjue3smdB6iE/YFzdj9YeqyteusEqw9j8XMI6jhD4eE7+WWrC7qp 26ADMYcQckqldlXjoNBcSDkcDowxRVEYY4ZhWJZ1Pl4rxdb0wbY/t6vhoKWSayvgOvqKgeQ8D8q4 EGbv8ILqz74HgNAXHutcvQEAZtiih58DAMWya7pUb+UcuDBs1RsAcLlcDgV1xXknjx6aNW+BF58y Mgxg8OZTCCDtyMGq/PM0wpeq3gDAXn3k5594t66aGylGAAAcedTUJVFTF9t09XUNGqPVgSkOXyCW eiq8PPjOqQx7jwjjFBRenKxYVdofv3j+59aZIUIEQIlDxi24YdyCdr6MUWdtWLujyIKHSTX0DWzF 8YN5469PECEAxA8Yd+3t465t0bJNTMjm0xfsg/uUQqHQWnPeUDVSVVWsCI4ScmiTg4Vmqu3imIou 6jdwX3HxRqilumuh2dw/IQQAIi6iKGgoL9RXFuLK80IPScf9IX7xo/Fdmblu/+cf76pi+6xNsqqM 374yzV+xdHqkrH0Rx9hsmMcbxjKjO9TToKFAznZ4gT4tEwBkV0zqXL0BAMZYvX0fAIgSYrtUb1pq KAm4rVu3dnnNtdde2+o3m3K39/SLzKHMoAu4i325G0qu+T/zzqe2e5+EkVO6vHm7/stBwfntrLsd MwwDABRFsSzLMExzgdX5HaC3Gq7dxxi0li+CB7WdXVD92feW0gr1jn2dqDdXiRi26JHnG3fsb9yy u/MrN0vQcBcJUqlUWZx7cMvGMeMmeHp5efIojDGXAp1afWDbZmVxnpdc1jfN1VS69/vPquddv2Ra tMw9ciCeh2+Ih2/7vdojJj6IKixjm9+jaOc3q+uuuv6aiWGS9ic7W0P2vg2bDhfp2aFk5YEZEDQZ f//me/vNV4QI23uxRILQcD/qQuXgGoaiKCGfayw8XCX3lfkGcPkiPkY2FqAr6YYQ2Fg897cq51/Q RWed6yJ08bMXXXk8DuJQyGE1VWRn2HMOCPlc50t4H1q9D9okq76w45vitOjksSPjosKDFDKxiE8z Fn1jXWVJbnbmGVX8HffN9qMAALOX8VtJARfGWzu7QJ+W6dBoLYUluKvpBmOs3rHfXFBizi/q/Mpc 7uAJOJZl+6Q5nqw81dOPWH2YwSp1k2PJ1Yc7drm1+8tuus166t4blNpHCDUpKqvV6vTAAYDTA9fu c7ZVdd1Rb9CedGv6lNPnN7jWOMNHWXw8qtP+36Ugu1goB9Plxed5kDWc3W9OuFwuj8OpLji/c9Pf N995r5yHAIBCsG/bP5W5WXwupy/XUBzqnB3fFabFjJ86edyo2EBp+3fGdl1dSUFOduapM+Vtx2mb 8vTmL3OORo1KHpkQGxHo7SERcVmrUa9WlhfmXsg6k11p+PdpN7flDAXbv/woZ+zkiSNjQgMUMjGf gxi7Sd9YV1VSeCE7K7t6KJhGIBDYdFW20oySTM/YyfOEXIq1Y8Y5qrRcM4V2VlSbXdS+dIMm+cah kICLAOPC9MOWgpO0pkrg4dEfJeqLNomtqoKTuwvaWwijwkdxkatr2O2Xr4Kr5aA6B/brdCbpUpBd NCjLdnlxPQ1KDhpCAu6aa67pxX1qDHVNPzvj3prT/DdN8XAO0SAPBW3L3q66aveX8SMmt/1ru/dp /stWtxr0dcNWusop4Giaxhg7l1ObX9bRx1v93KWG6+hWg+6BA4DfJSjGjoUD8iBmCn6WDnqJ+wYP Dw9lRenZ44emzJwdGRUDAJWlxWmH9jZWlfn6+PR5s7Wp8o/9k39sC1fqExQc4OMpE/O5NMUyNqvJ oNM0NijrlBpL55WIrarC9H2F6ft69M1M7rpXnlnX+ahS8s9bz/zT+SWVO95/dscQvT8AMNrStJ2l aTuHbntDCEkkEm3RMa2HX7nIIzx5spiHTA5gnJWOmv2/aTDuXrhb80VYDoXEXAoASrOOa4vOMnlH ZFJJO2M7NqaveT69D9p1r9pkt+wl8vGRugScTqu7rAMDsnnIy4y5A/JddoCzPIBBjIGzWq0DFmPY pr0OWh3TFIUxttlsHA6nRxFsXV7TnVtdrH67vckLODg10HLtsrmAY1m2m4qq81VUaCYQO7/JUBBw DTSslaJ7tQPRNH+RIhU96CXuGyiKkkollRfObVv3+4NPP0chavuGv6pyz0nE4r5eb2reaOx6ZekF ZellYkRCT6BpWiIS6M/+U0dzuQJhcEKyhEuZGWxjXH645tINmjvm2kg3aC9+js9BAg4FAFU5GbXZ 6bZTm6UiIU0Pyx6LPJJGhbskjaW2quGy9i+bKMjio7HWgRjDs/hgphAMioBzeoDUanWLDTW9JUDi V9jocrM133Pa0S5UAOCYKRgkKJpiGcZqtTYve+cut47WE3v0yyYd4/yT2WxmWZamBs0O0FJsWSwW 5y8NBoPJZHIWud2idbQRFdpTb918hkFfQnVyig8BYlhk7N9v2SyGNP5QKG7Pxw2+mPLwwWJPJPak JF5I4oX4IqBoPsWpOb6lqLD45JHDPB73Qk6uNWBE4NRrgWWAZbDVhA2NrKERG9VgbMS6Bmw1Dsvy E4YMPB5PzLLGs/9UURTjsIaOnCDkUBwazM23WLYMaOtkp0LTXykKhByKQyEMbPnZEzXZ6ba09RIe xeMN1XAHZ9hyR3/l+k5cOi/GOdpgU8H5YvsQLUafUc0BCQtx/VzOPC5Uc1wNadAEXH19fUhIyKWv 5U0KHtck4LoJv37Q3mZ4PK5Br9dqtV5eXk3WaNdETT83bcns5Joub+VwOJp78tRqtclo5HAHzf/a 5IFzPpJGo3F6y5wCrvNFT+gqn0j3cW6YsNuHysCyRYzEGM8x9df994lgqxgNkcJ2E8ovig5Lpvyj kVTR0TVe4+ZXHd+0Y+PfAFDZoPOevBRJXeunztI27/BY34BrCx2lp1ll8fAyBWHoIBAIkNWqz/i7 jrFZDJqosVdwhWIOBVYG253B+l3sVGh+BSAEPJri0wghYGymgvTDmsIztvTNYi7i8wVD1QZIPumO BybigtzCkvLq2voGjc5ssdmBK5R4+gZHJoydMinBh+8staPmxKEc879ha3U+D/EAIvot3K+Ei/Kb 6flBmMKdqv3UqVMpKSmdZIvoJkvir/4la12PPiIqHzThwuPy1I2NMk9PvV4vlUq73FjA4XAcDkfz mLleiDmWZR0OR5MTXqPRKJXKupoaoWDQXuxMJpNAILBarXw+HwDUarUz+s1gMFgslp4uofYalmUx xlardej0/z8kyIhwf/jhNouHn3rjTb2ZCk/u8jKBd6A0cer580cBgSxxmkAR2MnFSKpAUgUvZhJT etp+7LfhZRDC0IHP5yNkM2T8rdFUZ+u1oSPGe4dEiriIxZSNxbaLey5bSjdosWaKEPBpikcjhAAB bigvLMs+ZSk5w5zfJxUKhq7vDQCAExgSLPMXjfOPG9fpddiQv/3P/VWOIVyUPiWbBzboFz9cHhfy W7aIQZAyNE07HI6///77tttuc87flyLjZoRPmR42+UjZie72OiXNrxs0DxxGiMfl1NfVUhTl6ekp l8v5fD5N083jdZprLy6Xa7FYDAaDh4dHr0PfjEajM8isoaFBpVJpNJqqigqaQhTNGayYhLq6utDQ 0IqKCj8/P4vFUlZW5twNqtfrm29i6G+cHjibzTak+v8WMarg4Dv00FebbcwIfvZA6cNw5RR3O15V GjVaEpaIMUtxu13Owd7KQxju8Hg8GU0bio9bVKVF2jptWELkyGS5T4BzDLYx2OoAG4MdGFhnOC5C CAGHQhwK+DQScCge7ZJ1GmV14fkzDSW5jvP7KU2VTCIZ6nFvlE9wUJfeQbum4NiWjXuyVf8a+QYA APk8pKNwshX6ak+DAyBLgKratIhmWmGgTmJgWdbpZbnpppueffZZgaBFI+h88m5XspRrK+etvU5l Unfd5GzIb4+Iox9MPwTNMmaLhWGxr78/XyBAbtotrEqlmjZt2i233JKQkNC5HToRcxcuXPjpp5+O HTsml8l0Wm1DQz2fyxXw+QyiYJD2MQQGBl599dUIofLycp1O1/0PdmSr7n+8VWNjWbakpKSmpmao DQEKBm42wIhLDonN4sNvElDRw8z3drHP+kZwwlOQf1TTquglgvX1bG0hU5LJ1pcOU5sQhhoWi8Vk sUFQEhU+1j8sKiImPigklMvjA7QJd3Pi/pfdbqkuLy8pzKstK3IUncKV2SIBr9WcOFRBfM+QqJio iNDgQD+Fp9xDIuTzOBTL2KxGvVpVV11alJt99kKVYeBDjAf4JIaOELEw0oZ9L7n8dTSc47l2LbSu g6afBkzAOaOOnG6P8PDwFStWjB071tfXVyaTURQlEok6yXPR0eSdWnnq1g33q82aTr6XsiHFEcEg BsC5ioBZCmOGYSw2m8PuYFi2E83KMIyvn9+9998/duzYoKAgsVjctlF2JN0cDofJZKqqqkpPT1/9 xRdqlYrP43G5HB6XixDCCLFoMDcxxMbGjh07Vq1W90jA9TlarTYvL8/Z4YcgyTa41gihvYqoKOPC P2J0GeR7czVpvhh5KEDkiSRelMQTiT2RQAIUDTQXaB7QHMQTAAC2WYBxAGMDxg4sgy0GbFSzBjU2 NIJJTTYxEPoJp2PCYrODTxQdlMBRhAYGBQcGB3l7enp4eAj5PGfMscPhsNhsWq1epVHXVFbV1FTZ lWVMZQ5WFgl4XIFAQA3q3rLLgyEi4Jz4OXCcHWS9Wk7RUJDHBSWnw9fvQRBw4D46yW6392EGB8YD TNPBEdD+X/l1tNcpweD63pqgMIu6vXxjMJm8vBUp48b6+fpJpFI+n8/j8drmAXZVJ0LOocRms1mt VoPBUFdbeyo9Td3YKBGJLo41CGE0+MOE0wGGm9G16Siq1wOc03vnTODSdLyYc3F5KA9GCCDRBlPM eIwNuN14UhuCM3x0TADD95xTAmGY4gzJsFgsDqApz0DkGYQkXkgsRzwR4vAAADM2sJmxQc0aG7G6 im2s5iK2+ahOuHSGlIBz4sNAqAP8Hbg7sxcDUMtBFRzo0t00OAKuKf0966ab83fXNRcEtghgAhAj xgBAGxFPSYkruALlEDuODWMKMOpekI/NbrdYrA6G6b6hmgQKh6YFAj6Xy0EIYQx4aEi3dpsE9P8B Xx0J32EBD0OMHWJtOJBBfg7swQIfAwBYEegoqOOgahrn8VAhF2xkIiAQBhWnh8LhcDAM0/x4QOfI TNM0TdMcDofL5RLd1ucMQQHnhMbgxYKCAQkLEgx8DBwMAOBAYEVgQGCgoIGGRgqY7jWKdq4aMWIE aQEEAoFAIBCGHUNWwPU5ZLmdQCAQCAQCYZhBBByBQCAQCATCMIMIOAKBQCAQCIRhBhFwBAKBQCAQ CMMMIuAIBAKBQCAQhhlEwBEIBAKBQCAMM4iAIxAIBAKBQBhmXP6JUggEAoFAIPxL+DdkgHNCPHAE AoFAIBAIwwwi4AgEAoFAIBCGGUTAEQgEAoFAIAwziIAjEAgEAoFAGGYQAUcgEAgEAoEwzCACjkAg EAgEAmGYQQQcgUAgEAgEwjADtf2VTqdr91KpVErsRSAQCAQCgTDoEA8cgUAgEAgEwjCDCDgCgUAg EAiEYQYRcAQCgUAgEAjDDCLgCAQCgUAgEIYZRMARCAQCgUAgDDM4xASY0dWoCwoaCvJ18jnjF0Si 4V0c1qGpaszLbygo0HvNm7AwapgXp3s4DPrSgoa8PFWZJPzeaxQ0adUEAoFAuLz51ws4XPT17wvf r3VgAEp0Q/zYBZHDevbHRV//sfD9WgcAUKIbksYtjLr8xQxbnblqzv6TNgAA8aIldxEB11MDWnLW pv34e1Wlnhe5MPmeJ6NCBcQoBAKBMMS5KOC4sz5MtqyjMR7Mx2Ea8qrPFurqlEatnZZ6ikNj/EYm eHry+/ErMYthUMvcx8XBl1FhugkL7L+v0G0q3lytys/VNdSZNHpMi3hyf4+QRO/wQF5XahYr/z78 5kc1ZgwAtgvrjr3Lk3zwtB//32AzAoFAGMb0wANnLnx86qbNWgAAJIr+4NiSxR5dfsa27aGv/m+H DQMArXhw46rHk9oPumO19Tt+OvXb5sL0MivTcjKmxbKUufHX35qyZIyYLPgSCK1gLIXbcv5ZV3zq nNHKtvwToiQRAdNXJC1eFuDTkSLDljP7lJamPodx3aGK0sf94khfIxAIhCFND4Zpvv/YJPqf4wwG wNb684Xs4pSutkA4VOdy7M65gZL6jops93q2+sCxJ59LT1O270ZhjNr0zSdPbTm95s4lfz8TKiJ1 RiC4sFeU/fzsiR3nrO33Hcwaiqt2vF118J/kl38ZHc1p/xq7raXX1s44evEomDHUaMsLNGUFGpVv xI2LPMk6NoFAIPQnPRBwlGjMWE/qeAMDAIwhJ8fEpkg6V3BYVXe+xjU3cBKDRrYTWcMU/bn19v8V VDebMhCiRZ5CCWXXqa0WxrW8iTEj8vYg6zoEghtbfu5796edrr8ovxBFi7zFCm/arjWp6qxuhxyi g2X+dIfdOmGsB52pcTu+kXi0X2jPxReuL3z/2tRzdgBA8mX+NyzyJBVEIBAI/UlPFkqo6PFBCqqh jgUANjdLaQNJ58HO1pzaCy5lRkWOC1S02RDZuH/v3S9dVG/C0Mhb7xt3/fygKDkNAGAzF2eVH9h2 /q/NJUVm/6vmy8hLPYEAAAC4vuyrRy6qNySSTbh55KIV4fF+rk7i0GgvHC7Z+0vuiXxqwqJgSYe7 kVHkf6bdUXL45706KyBJQtwDT4RJ/xVblwkEAmFY06NIF96okDHCszuNAIB1WdVFTGRSZ5KKLcys 0TmdAJRo7ASvVtfi+rxXns8uswMAAKJDrprz1Tuj4psvkfKEkePiIsfF3fFo/Y49xrHBZFohEAAA WNORN1MPV7vUGyc4/J7Pps6JatGZOXLZyEXJI6+JX7illjep034u8r7qgyWzG/RKI9c3VMgn3YxA IBCGAT1L5CsOmjSSdo7vbFnNWVWnF7Oms6c1Tv2GxEGTRrbSb/bULw7vULr8B/JpM7//oKV6a/6Q Mp+rrw/3J0mHCQQAAHPq2V8PuDYeIFngbZ9Pa6XemvUdQdzi8Ahel7dEfIVHSBhRbwQCgTBc6Jko oiQTp3g7hRh2KDOz7J1dbKnNyHEF1vBGh40Tt/gjW5Pz9Xot47yrLOLpN5KjeMPGaATCIMIaDq4p VrlejXijHp48zHMXEggEAqEX9DBZAIqcFBJAKysYANZyKk3pmBvU0R0cORWZBuePVNzkYO8Wr/a4 ZPO5VLPrr5E3TbkuaOi8+bOGSmVGprK0zmxwUFIfeezooJQYUTflJbZZqopUJZW6mjqzzmS32jHN 43n6y6ITA0ZGiXqhURm99kKWsrDaqNFYzZgjkQk8PYU+gV6xMTLPgXOXYH1FTfppVaXSpLdTEk9p WHxAykiZR/d0A7aaKwpVpVX6WqVJZ3RYHcATCxRBXonJAbE+nJ6UARuratMz6ktqzSYHEnlJIxIC x4+QCf9dXZYtKTmQ6XC+GdGhMSsXS4hrmkAgEP599DTbEycxbIIss6IRA+CatMoyJqiDVP+47FRV jdPDRssmTZK3uIpR792tdOYXQVz/5cv9uEPCGGzFgROPfZy966zB2jyvAqK8EmJue3T6XXPknW3a YLUbn9701vaGRmt7uXQR5REZdv3dUx9Y5u/ZnQnXrD2yLvPXDfnHcvQmpp2/I64wIiX6gTeuXBrR cxlnqf/+rr/ePmFmAQDRUTcu/v3VSO92b+MwZv6dtvqnnKMFZnvLUvEU/leumvz4f6LCOhBQmowz q/8szT6vzCnU6dtLTIEoXvCkpHsen7xyjKjLbLOa7OzP3k3964TW1DzXGUJC/8Crr5Fq2IFvLbgx /dSrb2buzzVz/AOufmjOs8sUA5HjBtccKCt1bw0KXxwT04ut2Q7lD9fs3FrdfvZjOn7M+3+MCu26 keLS1Vue/krNtK2r9XtWrm/3I9TI55e9tFJE1mkJBALhkunxy7sgaPoErnMAZgoqTqk7uAybM9Ma XCukitBpiS2+B6sqjue6plw6MXr2ENmdwFqO/ZT6z5mW6g0AMNuYk/fRfWuXv1RQ1UmGLMQxKxtV 1g5OQsCsrqhkzbO/L37wbIG1i+eoOXTsjvk/3PFKxp5z7as3AMB2c0mWkZX13HR2zYanNr6T6lRv VMD8ed/8r3315qgqfOOGH294IeNAfmv1BgC2htqtH25avHL//rr2c5A1nDz30/rCk7ntqzcAwKyt 4vjp/93w831r682dPDC25azdvHj5rh+PtVRvAICxuabq729zC5iBbixM6emH7z60JUtvtDm05RW/ P7v+pb3mATgPApuz09xyleM5YZYHcb8RCATCv5IeD/+IP3F6oHPtDltrT57uIAzOXH3irDMADnlM ihjTcu3QkV+X6/oc8k8JCh16ETwUhyv3lXhLaKpJ2bC2nF+3/eeNUk1HszQShIUJKABEc+QBXgmj AidMCp08MXBEpFjYVEDMVO3Z/8C75cYOv9l+4adNy+4+cbjK0cIJSNMiucjPT+Qhomn3I3ESQyfI e1gwu2bT0+ue26FjMABCfrNmr/lgRHh7/k+m4sLjN/7zw2mzK4wRAd9LnjgmeFyyT7CsySpYfz7z kXuOnTZ1p+UALeR7+0n9fQSiZo5f7NAfeH3T64csHdiVLf1z6x2vFVbaLv6KFgp8/URSPho84c+e ++N0ur5ZKRj9th9ya/vfEejQlBS4svZSPr4JYcSZRSAQCP9OenFgjmJKeAKn9LQdAFszUusc84Lb 3sR+rjxd79RvnHHTg1ousuHGUo3WNdVRkbFeQ0e/IYoXNXfMnbckXjnRW84BAKYxt+SPzw5/uavR hAGwo/DXXW9Nu+3tOYL25k06aeWVXy6Wj07y8hG2+LuluuKv9/e+94/KhAEwU/LHifW3h6wKaXsP rNy55943iuvc/iRK7HnF8jHL5oeOH+nddE/ssNYWKc+cLMvxiAzskQA3N/z+xIaXd+scGABRgfPm /vDRqOh2V4WtdV/+3+7tVSwGAITkI0f835MTl02Wi51fx5hztqe99tqpdBXGAObzp17+IW79gz4d tiVKMPv5Zc9frQjx4TrrmjUbLxzK+vTtk/sqHBgAM9q/38u8ZdqUhDZNgSnM/O8bxQ2uiH1KMTb5 iSfGXjNOJqIAWHt1Vsm2dRk/bKiqsw1wS2GqyvWtvH6OKk01CwH96xHDan2NziV16QjP4N71Hdpr 8eprZja3GaPe+tixg7U9ciGioBUz3p3tTgDcWPr1Q+cKHACAJHMnvniPT3uPhoT+AiI5CQQCoS/o hYCjgsKmR1Gnc1kAXJteWcIEx7Qeq9nCE+VOFYJ4AdMntxqzcX2d0a3f+IEBvKEyoiPetP+t+uZW eTN3Ie0VH/3A58Fj3/nrzu+UZgzA6Dd/nHn7zHakBgDIR0TNbe/GgsCQVe+vULA/P7rFwABga/Xu Q4ZbbpG2mutxY8Hbr16ocukC5JE89v1Pp88Jav1NiMMPiAsJiAu5qieFw+qKTx7454t0M4sBECd6 2YLvXo8PaT/2EJf8sv/rLDsGAEQFLZy/9r2k8OaRVrQw8doZPyVI71l54IgGA3bk/JJ5/I75V3QY Akb5RvmGN5vRKaE4acHk1SOlDyzdtVeFAcCRn7Mpa1LCmJYmweZdn6Vlutx7yG/evN8+HXnRX0hx A5Nj706OXb5w3/I7ThcP6Coq7RsgpkHb/DspPw/ffl/PZBuM7gVUJPIXi3vXdxDHK9LLq/lvHIys 5ztsuApZuMJdVcr6pm7OkUnD473IYaoEAoHQn/RmxqG9r5juOhSBKaw41dDmAlafmqp2TjOcxMgr fFvPMkaDe+EV8T2GTtZ3xAkKl7YzjSHBxMcX3JXgWrq0553/61TPxQIlnv9AsuuEcMzmZje0CQxj 835N3e5KjAfc6DFfrJnZVr31DltZ7jM3bPg8zcxiAEqQcv91v73VkXoDMJWv+aHahAEAOFEpH77d Ur254UUnv3CXnzMckm0o3nmqxwdo0kGJj96scJWQ0aWd1LQyK1uX/8c+V9gb5R37/Osj213t9Qjz 9B7oSDBqzPJRI5o7linR7Jvigvr/MUyOprVmsWzIvPsQCAQCYaDp1YxDJc0M96UBALCt5mh665h8 3Fh+ONu5skLFzAxvM6thh9297gI0d2hsQO0Cnu9Nt4S61jAZ3aEDyl4c901H+I3wcN4CG+sMhlbL VY66TZvqXXsFaNnyF6dNkfXNs+vOpN17w/b1hXYMgLge815a+dMToZ0oHtOJnF3OfQmIN/3u8WM7 9qtFzIuJd6+JnslU90LVxs6NinApOLa0sPUdNEeLMi3OH1Hw4pQrvYdQi+DEj//8kwlTQ7g0Ao5M seDpJW8uGoB8Hthx8aR5mtuFfjOVK8+l1mSl1mSlNdRbyGBHIBAIlxO9W+fgjY6YIj+zXoUB208d rbZcE9E8kkp/suS0c7qg5Vdc0TbEDXG4TVHwjN0xPAylmBKewCnJsAMArj5bU8cGdOluYaw2g8HB cLlSCZdLASCBzAOgEQAAW+wWDNBsAmZKy09UujQdJ27ELZP7JK8xW7334L2Pn84xAgAgsc/NHyx9 cZ5Hp5XO5pyodK7SIW7A3BmdLdLRQfJgDpxzAABbUay2gU9PU7LR4d4RXChkAAAsKpMBg9fF72Ny Tte6dgRTwknTh0iumSaowDlXrJ0z3WK0IyGPP0AuQMShmmqPsXcessZW/HX01bV6FgA4ils2LFwa Thx2BAKBcNnQy0AVYdDMSbwN26wYsDq1LMcRkXLxRvaMQ5VGDABAB0bMTGhnZhOK3HMxtukNeFgY ivL3jvZAGSoMAExZYwUD7Qo4Rl2/f3POrkOVZ3MbyupdnkZE0VI/z9hYkbbp8DEMrTYs2ovrS93R bwETQ6P6YO2UKfhzy8q9xdV2AADaJ/yJL6+9Z0xXyX+xpajIwLgqp+z5Se8/370vszeadCwIe6pj eEIvEQILBgBsbSlqWXNpmdWdbMYrdoieNoAE4gE9QkTIbapBk942PPoOgUAgEPqe3kYa86fMChFt LzRiYKrLjhSwKU1CzV572JkhFpDPjKjR7bhNkJdCSAEwAICt9UoHwHA4CYgS+SgQqDAAYJ1ZzQC0 Khq2nFm795kP8woNuE0iOUZX03CqppO7Y63S5M4/RwWHy/rAocNaM3YUNz38/BeuuntMN45uYE31 Db2RBdhi79UiHXVxDZ1tKWqxWaV2PQmiRb7exH0EAJSnUEZBFQMA2FhnMmMYOjGkBAKBQBhAei0U ZNMixzpj2xnVkaO6puglJrf0mDOCihJdMSewPe8EUgR7uHasYba0SM0MD1NxRO51YswytlYrv9iS +s5ft76WW2DAvfOKWC0X7ygUcfpAwCGgKLc/izXteObPpzaouqGxHJbepeRgMdPH/iDG3pRkkMcR kOM+AQCQt8TXHZTIlGlqhknfIRAIBEJf0+u9/sg7fNZo+shJBgObc7i04c5kPwoAcMmR0jIGAICS hc0Z1/7tuZGKCBqyHADAlp+uqWf9/YdBPnnG6lY2iKJ5Ld1vukOHnlqjNLly3tIBE0feflPclBFy fy+hTEQ5zJaGWm1RdsHXr6enqtuXOVzeRYVisThaBsj1roZEi1+e7b15/w+ZJgYDNjdu/u+fNVWL Vj8ULO/s1hy+u2iU34hP/pya0r3QM8QVKPpYY3H4TfLfztgG4bCsoQhXHhZOwVkWANia+nwljg0k LjgCgUD4F9IsdO3A4+k9+SQlvWKWLyetxo7BdqbkmCb5Oi8AVnf0sOsELemU6IkdbGCkw4LG+KGs KgwA9qziQw1jVvoOeUuxxlp3jg/KS+zdXKywhm0/XHA5QxB3xN3X/fRUiLyZJKUloqBoUVAEnPj8 VAcCDsl9xFwEdgwAbFW5ngHJpefR4ofGPPtLQMpbW575pVbHAmZNJz/ZcJtx8Q9Ph3l1pJidK8UA AIA1RqNE6u85SAanhD7eTbmL9dVKDKFEqgAljksWU2f1LAA4VBlHzVevGBpHi5K6IRAIhAHlEjxf KGR2tDOLBDZX7jtmwQC4vvTAOQYDAOJPnR8q6eijHL+Z00TOr8bm8nWbh8EqKlNWe17blALfO6K5 gLPXZZxznXxFB498/tEW6q2b8CK9w133xFUny8v7yiI82fz/rfj1xagAVwo6W/Z3m257o6S+I4cW EkRHS5wPgu21JzPsg2ZxJIyIFLtM4lCdOWcDAgBQkdMDXfIbMxc2F1f3iWsSUXTTC4OD6c1iOE3R TXLbzpLdFQQCgdDPXMrSJR0eNTeWAgDAttR9FUYA9bHiTCsAAJKEXjm1k0NzuBMXxwa6ZAKT9UPq fvUQtxNbuDM/1yWqqOgJQc2yXQC2WDTuw9jpMEVEr3Yl0pEh4/1dN3Wcz/61D5UT4iWuWvznZ8kJ Tocotuf89M9trxQp25/5qcRJQa4zIljzvr/ylYM2F1NJEwMlrlhJ27GtxY1DTRVYdSfXpb792oH3 v83NHriH4yZHTg5ytRT7+QvrD1r74KsRLXB3V2ywmXp+RySgm9IKW/W2wdP9BAKB8C/hkmLPaK/Z c5xp3rDuWGGq0XLiQKUZAwCIJ8VM7zQPLX/cmJtHclyZcZU5r76SVzuEg5zYutxP1tY7XIe7+lw1 v8UKKuJxmo6rZxuN6t4VhBuw6GpP97EE6t9fPpqq7ct6Drpy7q8/TBknQwAA2J7369a736vQtDdR iybHz3WvXeoOHntnt3GwakYyNW6mp0vB6fanrk4bSmkzrMpv7/j5lmeOfvtjxpdvb122ZNvWmgF6 Op7PlSt8XGqJNR15N/1k/SV/MxJ6ut9JcKOuuhdNjyv09HBvmSlRV5PdFQQCgdC/XNrmASrOnUmf 1ZTs2l+y/4QNAwDiTZofLus8KIb2uvmJkSEuJxyu3rrz9uculHS4SZJV51QXGgbHRExdydv37tuj cu1QkM0euzyqZdl4npEhLkMy+Xn/ZPcuNzE9atWEme79Bda8zPvv2L+zrC/THMvGTfn228ljPVwa Lvu7fx5a016CfnH4Hbf68t3HTmx+asNru7XWQTG9NPL2ld5OmY8dqrWPbvnx/BDRcLh24+FP08xN 0tZRlffmZ6WmgflyFLh8zNwQ5JJw1UWfP5h+6hLffxDXL0TgWpi116ceNPbYzLTE3+0XZMrLDp4i PjgCgUDoVy5x9ycdHz07lAIAYM37Pzh2UIsBAIlCFszoOrJaPHnam7d6uzwJ2F6wbtuiqze88VPB 2Wqb6/UdM9pK5ZENqS/e8ePMJes/Pmjp38kbM9U5NUX1dvdUiA2VNTu/3bVi0cY151wZZSmPkP97 Ot6nVdloxby5LucZdjR8c9/6tzZUVbddhmIx22lsEOWf+MJTEe7tBVh3NvOhhWtuei717/3VRfUX Tx/DDruqQpm68+zHLx7eWtkzk3iMnfLVJ2NinflQWHPqu5tf2tPWwUbF3zHnP/GcpmO/1j7w49V3 7v9xZ1Vxg73Js2I3GkvOFm/4ev8Dqw4f66/Zmh55z8yVIZTbU1vyxsq197yXfbzQ5M7wi81qbe65 Rs1AOwmZrNRqcwvb44b0isKB8juJ/G94MT7IvVZvzr3wzortn/9YXtJwMXrNodaUVNq73Tyo8BQf obsvnv3o0I87VFobAAC2WqrPVuz8+Mh3WzpVdZQ4Ptl9lhir3/3cwd92qxrdJsJWa21W+Y4PDn29 2UjC4wgEAqEvuNStjhy/ebM9vv9ewwDWVGicvxNPjZ/Vna2LiD/5mSWv1qx7YbfOuTppKi1e82rx mleB5vNlUspusBqsrDuvGjqxp9xwTay0/2yBrYff/ePK9xBPJJCJkVVvMVhaKC7E87zu7YW3RLQV vVTSHdMXb9q8sRpjAEZZ8d1Tv3//vCAgVOYn53IRtltseq25vs6o6yJciQpdufCLmg33ra7WsgAA 2KI7+efRk38CACCaFgppcDBWqzvIHAmWzphyTXDP6tDripnfvKJb8WyhkgXs0Gx4emvsn9ffGdsy BYgo8NEv5pXdumtHFYsBANtLDma+djATAGgeV8hDrN1htrmrhhsyqR5P7Z9sFsgj/JnPphXeduSk BgMANmv2f7Vz/1eAaI5IRDFmu9WBB0URNIXsN/sVGsBkOOKJY59+1vDK6xUqBgCA1agOfHjg4EeU UCHyEFGsyaJW2ew9kbXiaTFT/ct21zgzVddv/e/WbTTN44HdwrAYAJDsuqjbrxV33Nio6CUx0b9n 5FsBAJj66vVPVm9AFFfEoTFjMzvbLJJdF3PnYjEHCAQCgXCJXPKUQ42cGxnQIiKMP21hhKybsznX c/mnN3x5d7BPS/3AWK2NDWa9hW02OWNTbl3hABycirHNaK5XmnTmFuqN9gq6a/WKN+e3f2A58op+ 5etZcwIvzurYZqkurDt9qjItver0ufrCcoPW2g2pgQQTHlv+1wdjkj2pVibEDGMy2EyWZlsEsa2w QNeLI+RDli1472Yvp4eN1VV88PjxzDaLf5ywpI/+XHLfJEmrE9MZm91gsJmszaqG1RRX9KOIEo2Y 8M3Pc64Ob/EgmHEY9TbLIKk3AE7ytJCWZyCgwKnhMQOZbZgOWjbztfcSYmToYqPDrKneUFumU9b3 TL0BAIgDV/43qvmBs5hhrGbG3QmwsUSj6vSeVGTCPQ/6N+8gGLM2o81samqzXd+EQCAQCN3j0n0G 3OTomb4XpzIkDV94haAH3hiOx+z/rty56eoHr/b347fzd0Rx/UbF3P6/Zbs2Th/T96/uyGfyyJsX hsT4cOkOHpoj9571n/l/7lz5zCxpJxO0KDHly603f/Bg3EhfDuq4/IjD84sKmDxW3vEp8dzoRXPW 7Vv12RMjp0QKOKij+wjCJ8bNjOP0xvGFBNOeunJVlEsjWnNPPf95tbltwQMin/z5jn8+m7Z0vEzc Qcl5nt6TFo2Y1s/JZCWJyZ9uWfXVE0kp/lyq3a9CwJXLk2eP/M9CxcCIKMWimc/PkzZZXxQ35tWH QvgD3Xv95k54Y9NV960KDpG13+aQUBQxLXrZM2OmBHRdRfLZk1/9ZPTY0DbtFyFhsN8Vc7y76td0 xO1z3nxnREpoe7WEKI/o4LnzvQUkYxyBQCD0Ae0Mpjqdrt1LpVJpPz8Ma9Lnnq3NLdLWax0OLkcq EfiEesfFK8IV3P5fnGINtY0FBeqKGqNKazVZWUzRYk9pWKxfyigvObdHd7Iri+pzi9SVtWa9yeEA xBNwRVKRr58kIEgeFiqR9uBurL6q4XxOQ2m1UWNwOBDFF/BkCklAiFd8vJc7ZmkgsDY2ns9SFpUb Gg12O0vxxHxvP1l4rG9ipFg4kKdosPaa3OozOY1VDVazHdM8rsRD6O0nDYvyiQkV8gdYGrCW/IMF h/NMHP+AOfNDQ0SD2ZEd1urs+qJCfaPGZmMpjoDroRD7hskjYqUSbk+LZa/LrsvL1ak0DsznefhI ghN8oiL4PbgNZtQF9fl52voGm9nKUnyeh580NMknOoxPDkQjEAiEPmJICTgCgUAgEAgEQtcMgzNI CQQCgUAgEAjNIQKOQCAQCAQCYZhBBByBQCAQCATCMIMIOAKBQCAQCIRhBhFwBAKBQCAQCMMMIuAI BAKBQCAQhhlEwBEIBAKBQCAMM4iAIxAIBAKBQBhmEAFHIBAIBAKBMMwgAo5AIBAIBAJhmEEEHIFA IBAIBMIwgwg4AoFAIBAIhGEGh5iAdWiqGvPyGwoK9F7zJiyMQsQkA4nDoC8taMjLU5VJwu+9RkET i/QFjPrPlVv+yscAQAUmvLJlQiKX2OTysgmpYgLh385FAced9WGyZR2N8b/LALjo6z8Wvl/rAABK dEPSuIVRlyohWFXl968dXHtIpffwu/b/5j53nUJI2llHtqrOXDVn/0kbAIB40ZK7OhVwxLDdt2tZ ZUaxsycjz2khMWRqv+xsQqqYQPjXQ5ZQcd9KVlb7+2Mb3tlSW62z6ysrf39m8wdpdtLMOjYXsN00 PzFsD9p03eGKMsbZwQVjZvmSyf2yswmpYgKB0CMB5zh9aE7s+1FR70dFfXTHX+YuZ15HxoGZrus/ vnuj9d9gT6wq3Z1ua7IMZjT79tU7SDsjhh1AWGPGARWDAQCQLHD8GLIsfdnZhFQxgUDoWQwcEnIF 7p8ZB9v1Bxysa4pFSCj4V4wx2M7YWgpbu40hzYwYdiBNpaxMz3E6NpF4YkiSqMsPMIYabXmBpqxA o/KNuHGR5+XXVXtsE1IcAoEw1OnZJgYBV+gO8Xc4GAzQecA/trMOV5QGRyj6V2wOoPyCxodT6QXu hUFKkDKOBOYTww4k6qMV+TZnt+OOmB0g6Op6XF/4/rWp5+wAgOTL/G9Y5ElsQopDIBCGPD1aQkUC Dt8tw+z2bsQuMU0eOI5I8O/Y3Un73ffBrAURXASAaMGIm+c/u0BI9rUSww4Y2HzmgNLZOZHIb/wk HjHS5WYTUsUEAgGgp0uoAq5bhmHGwXSp4LCdcXnggCv61+wYFCWN+XzXiPoKrUEiC1dwyeBKDDuA YG11eqar1/HGhCTLiEkuN5uQKiYQCADQcwEndLvs7N2JgWNYV5gS4oj+Ve4SmusTrvAhzYsYdqAx plZkm5x9jo6dGSQjMveyswmpYgKBAAA9TSNCcQQ814+MrWsBxzhYl5sOcYUkToNA6G/s2ftrndvD EVcxfhpZZL78bEKqmEAgOOnZJgbEFQoR6DAAOLrhgWPsTNMHu/DAMZaijMrzpfq6RjtXLvYL8hk7 wdeX3+PiMCZjZammvFJbXW8xmuxmK0YcWigRyL0lQaGesTFyOW8YVAq2misKVaVV+lqlSWd0WB3A EwsUQV6JyQGxPpweDdjYYsw/U32+UFuvtduB4gl5UrnIL1AWGaMI9eYMYBZAbKyqTc+oL6k1mxxI 5CWNSAgcP0I2WOvql0c7aYupNv2ka7MunRAy1r/fJ3e7Rlucra4sN+pMLC0W+sX5JI6SSZ2jCmtX ZtWcO6/T2WnPCN9Rk7y9+J03VUtNkbq6wtioshrNjINFPDHfO9QzerS3vwc1jGzSXnuzKfNUxcUG rdZmNGOuhC+V8z28xYExcj85jYZdcQgEwpCgZwKO4opdUy62O7rOwOpwX4MQV9LBTndWU7f5q+Pf ri/Nb2wRVEeLZWMXJj/wcMr0oK72GlqNOSeK9x0oPZlRnZWvN3acXILyHf3D4XnTepHz0lL//V1/ vX3CzAIAoqNuXPz7q5HeTRtyTx2Yc1NGZfvfSyU+vmrTg93aL6nJOLP6z9Ls88qcQp2+vRRniOIF T0q65/HJK8eIuryho67yj9Unvt9YXmFsL1UxoqRBPmPGBU9ZPPbOKzz6U8lhTXb2Z++m/nVCa2qu +RES+gdefY1U0/GLQF8Ztn/aCW5MP/Xqm5n7c80c/4CrH5rz7DLFYGdzsGZWnNE6K5sKmxHs22G1 4tLVW57+Ss20rav1e1aub98oI59f9tLKi3vJdWnnvvs0LyPbaGlZgVz/gIX/nbRQXvHzm1nHC21N owQ3MGjZq9Oun9B6MxPW1e/56sLxU8rCAqO5vTpBXEHotOhr706aMUJA9ZNNmMY/VmxdV4ABACjp 4rVLVo3q7KuY7MzHbj1XxQAAiK6c8dX74eKOOuHxwu1/FZ5IbWw0ddALw3wm3j3l3mu72wW7XcUE AuGyp4dnofKkYgSAAYCxd+2Ba4qTQ0K+tL3pUJOZ9vjDxw7XtrMfgjFq09YdOrXzwg1vLHrx6o4d Ikz9Z9f/8kkO0518/nSEIroXmSfsmg1PbXwn1aneqID5877530X11nfghpPnflpf10lyWszaKo6f /l9a4YHnr/t0lU/H7iu2eu+hh/+beVbT8SkTmNVX1h2urMtgQ267wqO//E3YlvPz9vvfKqy0tf0T NtdU/f3tQDX0vm4nTOnph+8+lKoHAIDyit+fXW+RrXp37qAuaDG5B6q0zi7HkY+f0c+y/ExpalY7 KtheW/PPE5u3Asu0HCDs1VV/PrwPr5m/IonTstnX7v2jpKjjZo/tlrID2V8cLtx327THHg7ypvvB JrQ8Zap0fYGOBQDWmHVCx46Sd2w9XHW8qtZZcsRJvMK/Xd3O1Fatezl10wlDZ9v1MasvU6nZ7m8j HcgqJhAIQ5yeDQCIJ5W4xhpH1x44zNjdHjgpX9JmjDJkHrvzjiOHmqk3isvz8hFJeajpWlav/P3x v57crO3YXcLabG1kCkIcId/LTxYR5RUR5uEr59IIAJB/kq+ipyOeXbPp6XXP7dAxGAAhv1mz13ww Inxgzq1BQAv53n5Sfx+BqNmchx36A69vev2QpQP74/q9e1Y9nHGmmXpDHK6XnzQwQOIt49IDJzHY 0j+33vFaC/VGCwW+fiIpHw240OnbdsKe++N0ur55W9dv+yG3loVBxFafftR1PAodFpQSOVAmRkjg 7zViRuiESV6efAAAzLrUG8dTPnJmyIhIvrPRYXPDxnfza9iuW73cV6zw4Qs4F5sJZiwXfjjw0qvl jWx/2ISKnB7o5apztuJ4dX0n38LqTx92+Y0RzydlEr/tTa15F965ed/fx1uqN4S4Ir7cRySTcjiU O4cmx2vkWD7q4+IQCIR/Az1cQnV64ABa7kK1p+2ft+p0NQuAhIu+uOv9uS6Hjt3tpUNSQSsBhzVF rz968qzBNb6JouMfemrSipkKTw4AYy09mbvmw6N/nDEzGLBDt/3F7SMTV94d08WkSnkGrbxnxPRR /iOTvAOlLS626/VF2TVKb9+eldfc8PsTG17erXNgAEQFzpv7w0ejotvsxqATx3+/Oan5OQFMXsb9 /z1f0+uTAijB7OeXPX+1IsSH6/Q3sGbjhUNZn759cl+FAwNgRvv3e5m3TJuS0MYdwVZlP/ff7BKX ZkKS2LgHHp+w7ApfhTv+iDHq8w+mPvrY2cJ+PsiAKcz87xvFDa6ZjlKMTX7iibHXjJOJKADWXp1V sm1dxg8bqupsHd6h7w3bZ+2EqSrXt3oKR5WmmoWAQfOJMOcrMutcL0y+00PCO/NUoaAVM96d7X51 aiz9+qFzBQ4AQJK5E1+8x6e9jyKhf/upHKnAhBe2jE/gAAAY09KeufdCNQMAyGPK2BffT4qUALDm U6/vene9lsFgy8o/kJtwU2L7ykN8xYRXX4oJ9XEHZzqsVafKdn17dtcpk7PZ12w+9mm8/MUbPei+ tglnVEiKIm+3EgMAk1N5pj5hvl/7D4mrK9MuuN5MuaPDxipaX4bry776v/TMevf7AsUNnBq9YHHY qBTvYIU7hBWzpjptybm6sxd4KYGoH6qYQCBc9vRwCZUjkVAIAANm7E2eMzZ7f0m1HTMAAObDuytN cyOdiwoXY+AkrTxwjjNfHdpQ7fqrePSkNT9OG+fh/iPND58y+tXxIUkP/fXiPgODARurVr+bs+jr EX6dzo7IP+yWO0fGtzeqcaXS+MnS+J4UFasrPnngny/SzSwGQJzoZQu+ez0+pD3fGxJJohMkLYpn FV3aoiTlG+Ub3mwepYTipAWTV4+UPrB0114VBgBHfs6mrEkJY1paBFsPfHLsoMZldfnE6T99O2FE y/gcWiyNG+3tSQH0q4DD5l2fpWWaXBbymzfvt09HXvRcUtzA5Ni7k2OXL9y3/I7TxR08ST8Ytq/a Ce0bIKahhWOY8vMYzIgktvhgpUstU+KUmV2sNHIVsnCFu6qU9U3SjCOThsd79fC17qIfXzwu5oqY vD9yWQDghXmHSVytd+yDSaO3Hs+0ADD6/HNmnNjuuSyI6yML9mm2tYbDD5oU+58JIWPe3/fBryoz BmBt2V9mHrty5hXefW0Tvt/E6YI9680YANvqTx2zXHldu+vhWHmgzLXgizgJ80O8W9U5tpz8MO1I NXavPSiufXPGTTMkrQcORIn8PZP8PZPm9VcVEwiEy52ezjhiiSuBapN3DZj6AwebZjKsPlJ4yuL+ S5MHTsKXNPsmrCv+cZ3adRSzKOSJD6deVG9NcL1WvHvlsgDXGKo/nPl3IR4ws9jKcp+5YcPnaWYW A1CClPuv++2t9tXbQEIHJT56sztsn9GlndS0Uj6sMu/nHQbXEO8R/tR740eIB+dR2br8P/a5Ni1Q 3rHPvz6y3XVnjzBP72EZxkONWT5qRPMgREo0+6a4oMErC6NOP+zyCVK+QeNHDNKTUFJ/lz8Ja+vN TYFtSO4Z5tovidVKc89WminhmCdn3j6N775vxbaNWrbvbUInzAmWOS/BjvP7KrXtDjesPnV3gzOL LhL4TZnZWokyBXl/7za5kyfJF344b1Vb9Tasq5hAIAwVejgIILHEFXDLuL1rTFHJgRLW+ScKgFWV 7DvtHGUu7lTlSvnNJzvjsfzDWvdKwDUTloe3v4SAZBH33OrvFIzY0bBzt2pgTi/XnUm794bt6wvt GABxPea9tPKnJ0KHhs6gYudGRbgUHFta2HoboepgfrrZZbzAJROWBA1ajIzmaFGmS8ej4MUpV3rD ZQYnfvznn0yYGsKlEXBkigVPL3lzkWQQ9VtRZUapq0vJpobGDVoWFMTluqO7bEyzCDCa17SGb+/5 ixglmfVgXLCz4WO2ZE9ZNdv3NuGPCx/v3pxkO1We2djONWxZ2fHzrlFNOCVygqL134u2FpfZXabw WTr+xol9ds7VkKliAoEwROixgPNwB9w6nOec4vKDRfkOAEp8zYOjImkAxnBwb41zCGNccXJI6sFr 9kXs+bRqo2snvGDK3OCOky+g0DnR7jAvtjC9qrHffXBs9d59N686fFjJYgAk9rn5sxs+v8VnsNND XIQO945wv89bVCZDC4M4sjPqXBFjlPiKuYGDlzuZyTlda3U9iXDSdL/B9l32S9cJnHPF2oOPZJ19 JOvU7V/cHSgfxIhyXHO4osLlnOGPnuk7JCZ33OM/dNbw48ImR7kszBbVXWjsB5sI/KbOFrl8cJba 1KNttwnhqj2lJQ7X0DV+cYhHqzpn9efSXB5w4HjOXhnQd4kOh2QVEwiEwaSnAs5DxnOvMrAODMDq Dh9QMgCUZ/jcG2JnBiMAXHOgKNsBAGB3JfJFMnmz+GdsLi52px+gvUfGdxZwQ4f6JbonRqZYVdK/ Ljim4M8tKx86nWMEAKB9wp/66YaX53lwYCjBE3q5V22w1d5iimGNpeXu8zE43omxgxciw5pLy6yu J6G9YiMv42AdJBDz+IPtnWX1GQfV7pelwPFjh1aT7RtoWUyiy5uFHbqKMrYfbELHXxXm07SKurdS 10rBMerju11eb8ovbNbkNu8ldm15uevBKD//ERF9p+n/DVVMIBB6Rk+nHqlMQLnWUFkHAFtfui+L wQDSSZHjpX6zZ0hpAKayaN8FFgAcdnc0vVczAceaG1SugRFxxX6dZ1SjJP4+7vdutbF/11BZa8aO 4mqn85ASzX/hqrvH8IfePn2K2zRtsNBiFsNWtabJsCLFIJ5xjc0qtftJaJGvN8l20L/mrqlMd++L FE4IGSm+LEtJeQW43GOALWo17g+bcEdHTnOrLuvJkrT6Vh7u4iOuQFzkvyA6oc3BElhr1ljdjxvk 4dd3wv7fUcUEAqFH9HSI4chcCUGwnXEAqI8UnbYCIN74WSESRI+eFeZFATCa/fsaGMCMg8EAgJCH vHkOdYe1KXMEh8Pr4glovnuYxCxjs/enLRBQTdmZWNOOZ/58aoPKMpwqE19MdEahQfUKMfammuJx BGS3XP9Wu+pIRaFrXyR3xMwA0WWql3l8uqmhO6xsv9iE9ppxjbcz1Qe21h3Za2ym4Bzn/ympYwEA EMfzimu923GCWR1N7R4JuxzbSBUTCIRL4eIQYz/wePqJE6mpqZ1fLxPKnIOHg3WwlqP7Ks0YED9w 1lQhAhCMi5rqgQDYov3FxYw7Vxziecmbz+EcflP8hr2rgRgcFvcrLaJoXr/GUiHR4pevuXOsyJ11 tHHzf//8z2eVmoHb/HqJcERNITc2q946mE/SrIoZ26Cmt73swebTB+ub9kWOnzIEvcZ9g9XSdLQy 6kIc9d4mKHCh27WGmbztpRfTDhuqDuxx7Z/lJkfPaDeJLpe+qOosDltfjRz/miomEAg9oafviEgu dG21dzB2ffm+kzYMwB0VOd25HUsUMnsKDwE48or2l7EO50kMSKhovohGCX3c/8QOY11Dp6Mca6xV uvNheon7O/MRPzTm2V9u/uxW1+HZmDWd/GTDbe+UNQ4LCUJL/H0pd5SQpqhs8B66RRXrq5XDRgIP Q7C6Ov00484rG5zs2fNb9Kkc4EqFMm+h3Fso8+D06Y2xrt597CriyWSon2yC/MPnTncF2zlySo4V uxqv9kDRKefWeYo/bkWkT3sjJ5IL5e53TKZG39BHER99UMUEAuEypKcCjpIJPZ3ixsHq04pO6AGA SpgV4e+6EX/yrGAhAmCU+w7obE4PHCVSeDYbbpEwIlLsTmbWcC63k8M/gSmrPe/Ox0RHKCIGYDGO J5v/vxW/vhgV4HyXxrbs7zbd9kZJfU/kEOJQTb7CLn2MfQc3Nt59giOjPniwkYFBonkVO1Rnztn6 7MaDY9ihjOF4eY5zoR/RMTODPHuxbEdTdJPctrOXprbpsf9b9v2BFd8fWPH1W+HiPlRwrLG82Ooe CqSBIai/bIL445eFu47VcqgP/9PgAABWf2R9tXPLEBUQuWBWBz4wnkdIqPtAruq685V98+bSB1VM IBAuQ3o8FgiFcuc6ncOauq9UwwLQ3jOvkDUpK8+pkSl8AMyc21dcYWUBAHGE3i1SLFBJEwNdBzOw 1qO7yg0dfhku2V2Y65IhVMyEQK+BWTpAvMRVi//8LDnBmT4E23N++ue2V4qU3RcMQq571wbW660D 5YCiYqeFBrizruT9mXFYM2jN6mIVY9uxrcV9lv9lcAzbAVbdyXWpb7924P1vc7MbB+dZsC3rQJ1T WCCO97jpvZFMSEA3JSuz6vs3zrT3Ba2vOX3BvbE50CfGF/WfTfgTYme6tjLgmm0FWSZgLhTsOesM 6KUirottu33B3e5lSWPdOy0cqn1/KvsgjqEvqphAIFyO9FjAUSKFFwUA2Fi567CJBaDDImY0O6UU +UTMHkUjAPuZ/H01GANQcrGiZdIiydT4WS6fHFbtSPu9sH1lhBsLv/ylzhX6wfW9av5Anh1DBV05 99cfpoyTubZs5P269e73KroZD0d5i92Jf7GqRD1gUXTclKTFUe5dwjXZ//vf+bL2nF+WBqO+n71X kqlxM91VrNufujqtb+KBBsuw7WBVfnvHz7c8c/TbHzO+fHvrsiXbttYMwtMYa9LSXHu9qbjgsb3L 3MwVeroTmrEl6upBc9x2AlPw24VslxpCiunBnfniL90mHK95K/2dTjbcULZrtzbjj8IqBgAAiQLn L5F1PGpSsQvD3e9QuPbvk79fesPvkyomEAiXIT0WcEjkp0AAwFbWnK3HAChgemRi89GUkl4xy5cG wLbajHMMACCFpHUeCWnEbTe493qZqz597NAxdZsvsjSsfWLPP+6jm2WzUq6PGuihSzZuyrffTh7r 4dJw2d/989Ca+u7sS0VSeZi7zPbM/L21AzW1c/xuezhW4cpkhau377r+xt1r9tZWahwOh11X15i5 N+vjJ3+fd9PJ3P6epaWRt690V7FDtfbRLT+e7wMNN2iGbQ2u3Xj407SLZ0I5qvLe/KzUNNCPYTlV kaV3Te6hVwQH9G5xjZb4u2UBU1528NRg+eCwtUrTns8Kqw+lffGrxnX2Htdr9nW+nP61CVIsjJvg XDbAttPfHPx5p9n55Z7z46b4dDYOcZISljSd+mVVb31szw979ZcSQtA3VUwgEC5Deu6BEyq8KQSA WcxiAEo0bZZ/y72hKHRGZCwHAGPGGQKnECtafw098q4Zy4NdviJTTsbdSzd8sKmqwsACAGMyZO9O e+K6318/bHJnrgx++Kl4n8F49fQYO+WrT8bEOs80YM2p725+aY+xa+8Vx3dcijvrqLHs3YcPbjlv sgEAYEuj+vTeM+8+tm9jdb+ID+8Fs16/Tu4KH8ds45msN+79ZcbYj+PiPhkzZc3ye3d/trGqdiA2 qNIj75m5MsTtDlSWvLFy7T3vZR8vNLlD17BZrc0916jpkS9w8AzbEiYrtdrc4ntwQ3pF4QA7rxw5 B6pdvlTaI2WGvJeTOyWOT3YfA8bqdz938LfdqkZ36bDVWptVvuODQ19vNva3Yc2p6U9et3fNr+UF 1TYGAwBrrKg7+NHeZ57Ir3SKIIQU1yYv6OxVrm9sgjxCrl7q4XwxZSo11VYAAMT1mn9zUBeHK1Ci GU+npHg2LfQ3bHti8yN3Hl+/qTKvxGxtaiCYtTTqS9LKdq1O/XmnAfd3FRMIhMuQnif0pv38RRS4 Tq+nZGGz2iQFp6MjZoSfyHEtjCIPP0nbsA0ki3j2o0m5d5w4rccAYK0oXv1E8WqEeHyasTqYZgMa 4siuff2qWyMHbeTyumLmN6/oVjxbqGQBOzQbnt4a++f1d3ZxzgF/5vL4gJ1nqxkAwNrTGY8uzqB5 XD52mO0YYwBKtHLpzKWB/bAmTInnvr78Q86mZ/+qNw5qlD/yCH/ms2mFtx05qcEAgM2a/V/t3P8V IJojElGM2W514J4rgsEzbCsz023a9IDn3rMq04+5zuKgg4PHx/T6DYeKXhIT/XtGvhUAgKmvXv9k 9QZEcUUcGjM2M+MM/pJdF3PnYnF/nwBgraja9k7VtncAcTk8irHZcPNGwo2Mf+CxYAkaEJusSEj8 PfWc+WKDFs9InBfd9Q3pkNhHPjS9+X9Zec6THDBTn17wW3oBACCEOAIOB1i7lWFY15likmuDVi6Q 8Pq3OAQC4fKj51MOCgiRNn1KPDlqQtuDQmnfWVdI3VMo8g1s/5Bv8Zgp362ZPsO/2UyIsc3SQr1R Ut8bP1rx7jUeg5oLlgpZtuC9m72cbi1WV/HB48czu1otE0+b8r+lMm5T2TAwVrupaTpirYWFhv7S V1zZ1W/cvO27GddPlElbGg5RXP8x8fc+nhTnnohRf04JohETvvl5ztXh3OZfghmHUW+z9Ea9DbZh L8JJnhYibWE6FDg1PGZAm6k9qyLTlYQHKaaHRFyCtqIiE+550L95P8WYtRltZhPj7o7YWKJRDeAb AbY7rNbm6g0J4+MeWz1+lGyAbIICI5dcLb5oEtpjzm1hsu51F8nY5JfWTrtqJL+VzMcY2812s5lx sBdPhDUXazra496HxSEQCJcdvRBwiiAP105AxB0/K0Ta3l1Hzo7wcU1myD9A0tG3yFMmfLftpnfv ior1bO3QoMWy8dfPWLPt5tcWygb/KHQkmPbUlavc+wOsuaee/7za3MVHxPPeuOHrhyLDRK01EqJ5 IRMT5idx+1M7cUJmjH/nt7tPpd+18ZfrVn981bvvXf3FDzfuOP7g0b+veeIahVt1Iy6P7te3ekli 8qdbVn31RFKKP5dq95sQcOXy5Nkj/7NQ0S39M8iGdaFYNPP5edKmTGeiuDGvPhTCH8g2yRYdrHIl KKREKTO9L21ypyNun/PmOyNSQturJUR5RAfPne8t6F/DIsmUhKVzPaVtSkLL5JPum/ne2kkTA9AA 2oQ7alVCjLtOhRMTF47sgUDnR0be9fN1772fMmeiTNLRcyBKEuo3ZbonbyCKQyAQLjPaGQ91Ol27 l0ql0v57DsZSdKoyu1SnVDs4MrFfkGLsBD8/weVgYcagzUqrulCqV5uBLxX5BnsljfGP8hxMl6Ij 48DcGzMqGACgIu65cdd/AwbiaVh7TW71mZzGqgar2Y5pHlfiIfT2k4ZF+cSECnuRW37wDcta8g8W HM4zcfwD5swPDRENbLtq+HnJ9k1lGACQT+yL2yeP7hP5iBl1QX1+nra+wWa2shSf5+EnDU3yiQ7j 95Nh2eJzz1yfWeQAACRfNvfrlwJxoyYvs6G80my0AU8s8I1WJCR7yvmDZ5M+GAMM5TmNFeVGtdZu cyAOnxZ4CLz8pUGxnkGKjtMdD9XiEAiEocFQeaejBVETo6MmXoYWpiWyMbNlY4bQE+Hq0zW1zhhG RIVGygYocoviBiSGBSSGXT6GpQSxs0fGzh6U72byK0658sQijykh8X01tSPaM9Z/Yqz/IJqV6yUf MVc+YujYpA+aqiRigiRiwmVSHAKBMDQgm5r+dZhrfltX6zr+gvYeN0ZIAqOHH7jyYGWNayMRb9RM PzK5X3Y2IVVMIBA6hwi4ywysrjtyUmPoIJ8Fq6375cltPxS5zkvij4y/KoLot+EHq8s4rHE5UcUB EyYMfpQosQkpDoFAGFhIWOxlhiUj4//uy7F4KZLHByTGeIUFCKViLg8YvUpXfK7iwP6KYq1LvSFa vvzRUeH0v9xgwxG2sjI937VxUTA+ZKSEmORyswmpYgKB0BVEwF1esCXnlAYMjKrh5M6Gkzs7vA5R wgmPX/P0ND7xvw0/cMORihLnIjjiJMwMlJBKvNxsQqqYQCB0CRFwlxf2/Fxtl8m6BEFhtz4399EF npfFNt9/Hawp40CD64hgnu/4qQIyuV9uNiFVTCAQuoYIuMsL/uJP7oxJLT1+sup0dn1Rma6u0Wqy MJiihR4ivyDPmBGBk2fGXjXTV0FCaoYrWFWVftaVXpczKiTFm5jkcrMJqWICgdANhkoeOAKBQCAQ CARCNyG7UAkEAoFAIBCGGUTAEQgEAoFAIAwziIAjEAgEAoFAGGYQAUcgEAgEAoEwzCACjkAg/Auw V6vK1MQMBMIwwFqqqjAQM3QJSSMyhHDY6kpVefkNBQU6n4WTF8UQdU0g9AVYc+L0+//NrkmZ+s6H UYpL7FcOu6pMU16orqjgJt8REUqOMuka1qzUVRRqygs1DYrw5QvlQ91mpIoHt7tqq396aN8hftQD H0+cGkKs3wlEwA2dVlv4zZ9Xf1DnAABKdEPKpEUxxCYEwiXD1m479vrLxTVWgINpq9f5PL/So/dz Amvcfs/GNacYDIDEkf6ryOzeDZsVn3/p+swiBwAg+TLf6xfKh/bjkioeXPubT7x5bE85y0LBJ7eb NZ/PuDqByJSOIE4eAoFw2cLWbjnyyovFNVYAAMBM7dlGDXspN8SYxZjY9XKGVPGgWl9Tn3nW4rQ/ U1/5w30HtuQ6iFk6oKfSlm2o+nNtzsmcxtIKbbXSbDA5bAwGRPEEXJFUFBjmFRnrmzIlcv7MAD8+ sS6BQBhENIdPvvlKqdI5/lPcqJtnPPtEkCd5ayUMKvZDR//zSJEJAwCd8sry55Z2ciQ1m/f+phfW 6lkA4Chu2bBwaXiLa5lTaQ/cdaGhu+8k9Lg3Vjx7La/Ta3DV99sf/9R1khsAFfnwte/cLe+s02Br 8Z7ijLONJXnq6lqrQWczGewOmhZ6CBUh8vAknxFTQ8ZNlEu758hEXqH3r5kO9x09WMpgAKyu/vnh o9IfZswMJufJtaXHAq40/6uvzlYyrSqQtZqsVpNVXac+n1a05ZcTb/oELHt0ztMr/WXE6ATCvwDM GGq05QWasgKNyjfixkWeg77u5Ci+8MnzBVU2AABA3Og7Zr/wiL902A1IQ8+whMsZRn1ku8px0QPJ lu0sLf9PcngnzY7RHvowfWt1S6+lw2Go1xvq9aWZFQd/zuT5+826a+yK633k3Xh9ogPD7/8GwV1H DpYzGICpK/vmyTMBa8bEiUj1tKKfXkbt9TV/vPDnyv8V1bPDyx4EAqEX4PrC96/d8uLDR777NPvA afPgr0BZVRuezzyndR4ITwcuu+LZ4ajehqBhCZc1juzio0UtWhlTXHr0wqW2O1tt3a43dj5579nz mm7divYPu2/1xHE+yNllrReyP/2w2kBaf2suITqQirh+3ktL5TwEANhutqqqG8+nl+zaW1lpAgAA bC/4Y+fzyau+WiYlaxYEAmHgYErWnNiQ4/QjIPHYMU/+N1hOFgMIlzModOX0/1wp7HSyRdJIbucd J3d7aR0LAEAHyXwbtDVWAEZ3Ylf9DSN8uyMWqKCwmx4I8+ECa3eYVMaqXGXW8boqDYsBALPqk2fe uNv27LfjR8q7vhUnNOb/3tO9eG92iRUAs3XrU3+bc83dk3mkHzc30iV8Vh4dMmVSix3hi2+a+FRt 6WePbf8yzcQCAGs++M2Z80umjyRefwKBMEDgivwff1LZnfJNHrTqtcQwEpFLuMxBohDFiPGX5mW2 Kk8cMLEAgKjI6yfPO7Pvy0N2DFh5oLzo/3zjuqEWkLfP5Ksj/JurSKsxe13mmtUlZQYMANa8Cx+9 7PVu97L5CFPGPPao6tn3aowsYEa/773sWb+nxJC+fJE+941x/cMfWz1/mTvgkCktO1ZKHJ8EAmGA wLbMb7NznMsAFG/UQxNnB5GXdgKha+xnyk4pMQAgjvfkeb7j5wcIEAAAW1Vx8kJvo6H44hG3TH/j +7GjPZ3dEGsPnvppt6V7qoAKunHyzRNdXjdHUd5f24xETjS3Tz/cE3lG3LrY2+V0Y3XlVSQOjkAg DAy4umjzTpNzzOHGJa5aKiERHARCN2By91Q0OtdPk8InBiPp9LDRYudf9On7GplLuLUwIemx12P8 nKqAtZz85kJxN3ODUNK5T49wed2w7ezavCI7qakm+idDHhUUKqWhgQEAzNq7V++MyVhZqimv1FbX W4wmu9mKEYcWSgRyb0lQqGdsjFze8eZnbLNUFalKKnU1dWadyW61Y5rH8/SXRScGjIwS8br30Nhq rihUlVbpa5UmndFhdQBPLFAEeSUmB8T6cHrxDs/otReylIXVRo3GasYciUzg6Sn0CfSKjZF58ru8 HzYrG7LPqyrrjPWNNpbH9w7wjE8OTAzikeVogquJMLpKTWW5UVVn1urtViuLeFyJtzgo3icmWtjD UBFsKFHmXNCplBYrly/3lYQl+4X70MMx6L90U36uxTkMCSbeFR/G7eWNWKOhKFNZWmbSmTAt4nuH ecWlePsKe34fg74go76y2qw1sLSI7x3qFZPs7TeQ+ykwY6jRVpYa6mvNOr3damMxRQs9Rb4RXrFJ Mg9ez2/I2JR5quJig1ZrM5oxV8KXyvke3uLAGLmfvOs2w1rM5TmqyiqTusFqYSmRlzggVhGXIBFS A23YvqriywSbMvWQ2bl+GjU7xJcC5BE0cQL35H47Blx3sLz0YUXUJcw+0mnJK6aXfn7QhgGY4sK9 6SOjJndLf9BR8Tcsyn99nYEFYEoLd6WOip5OUvs66R87YK3a6nK7UdJg/467lNWYc6J434HSkxnV Wfl6Y8dSj/Id/cPhedPaDsasduPTm97a3tBobS/3IqI8IsOuv3vqA8v8O8r+pMk4s/rP0uzzypxC nb69lwJE8YInJd3z+OSVY0Tdar5m7ZF1mb9uyD+Woze1VyLEFUakRD/wxpVLIzqwDLbufvbbTXVG C9vqSbj+YxPufXraTSkiIuMGG9yYfurVNzP355o5/gFXPzTn2WWKAdnljjXK3d8VnMlRFedqVQa2 vVaPhEH+M28fs/x6H1mXkyJrLd527q8fi04XWprlDgBEcX3GhC+4e9TCKZIOJBAuXb3l6a/UTNsH XL9n5fr2u/HI55e9tFLUj+LFXn9ou9b5SFRw1MKZ/F58F9aqDnyVsW5jbb2pxaCCBOL4BeHe2m6u 4bCaM4Ubv7tw+IRG19JngHjCyNnxKx5KHBfK6WfDYuWWY29/UFquZtpNTUtLZaOXJK28Ozq6W1s8 HHXHC7f/VXgitbHR1P5wKw3zmXj3lHuv9eig3WHD/uMPbDVpWo3WCPH9fK/4T8qNK3y7brG9N2yf V/FlhSO7IrPeuX7qNWGWhAIAxE+e488/UGHBwJRXZRaPiYq5hL6LhJNXhP1yuEDNArDmU/vq/zM5 oHuvV9yRt8ZFbc4osAGwlrQtVXdMDyMZRQCgnwQco969S+kcfuiwiBkdnenJ1H92/S+f5DDd6Sx0 hCK6Xc2COGZlo8rawT0wqysqWfNs+a79s7//eHR70Y+44eS5n9bXdeLOxayt4vjp/6UVHnj+uk9X +XT6fsbWHDrx3IvpR6ocnRQK280lWUa2kxR5mGmsMbb3JPaa9KxXbiw9/sqyT27w7sWrM6HP2njp 6YfvPpSqBwCA8orfn11vka16d66w/x0ruLFu32+FRZ21WGyurNnxRl3akfHPvRcfLuj4Qq1y07OH /jhmattcMWtXZhSsPV125PrJTz4d7j9MGhtzoTy9ylkYFHJ1ZHTP3W/m3NxPHz2VXt3OsIQtxgub znfrLg5D2keHV/9ar28vfATbzEU7T799tHzhW7NvnyHqzxVexDWbqhs7HGIZvTbz5+NZ+yrv/OKK Kzv1rjC1VeteTt10wmDvbGRj9WUqNduZ89ehNqrba7HW2ro9b+06fXLii+/EBvP617B9U8WXG2zx wSpnQmAqLnR8iKsOpVNCEgUVmWYAhybjiG5ZjOxSmit/bMgoj8JDGgyAtek15UxAN116VGjknHFn C487MGBjavk5Q9hEyb+yltoYps/vaNfvf2Pbp2ccGAAo4az7xozqUCSyNlub9ziEOEK+l58sIsor IszDV86lEQAg/yTf9netIEFYmIACQDRHHuCVMCpwwqTQyRMDR0SKhU1NAzNVe/Y/8G65sVtDHtBC vref1N9HIGr25NihP/D6ptcPdRJ7ab/w06Zld5843FK9IZoWyUV+fiIPEd20vMBJDJ0g787DIK5E 5OcnEnMAXXwS3Z5Xtnx4ikQCDOZod+6P0+n6Zs2D0W/7Ibd2cKI9Ec0Re4kUfkKJkLo4d2JWdTjt 3XerOkqehA3KPx/Y++vRi+oNUZTQUyiT0Ahd7KIl6468/EKxcnjEseLq1BpX6klaNm5mj3PeMuX5 H92fltZsakc0R+IjkktoqvvSnDEcfm7X+79cFBmIL/CP90kYowgL5DWNAdig2v7U/j+z+veYIGmo h4QCQIgnFwfGKeLG+o+c4B+XKJMLLlayo7r8+8cysjseHq15F965ed/fx1uqN4S4Ir7cRySTcjiU e3zieI0c2y2vJ+JyZT4iDzF18Tkw27A/7YPPlZb+NGzfVPHlB6M+dcRpVyp0RkiAe7JFnkFjRzpN y5Ycrmq4xHGA7x0b67IyW91Ypuv2BynR2Lm+XAQAgHW1Z7OZoWa/QaJPPHCYsWsbjMoa9fmTRf/8 lXO0zMZiAESHLJ736tJuJYGjPINW3jNi+ij/kUnegS0/Ydfri7JrlN4dZaGhk1Ze+eVi+egkL5+W 7g9LdcVf7+997x+VCQNgpuSPE+tvD1kV0nEnpQSzn1/2/NWKEB+uK9bSbLxwKOvTt0/uq3BgAMxo /34v85ZpUxLamRewcueee98ornM3LErsecXyMcvmh44f6d30YNhhrS1SnjlZluMRGUh1NrglrZz5 6PLQUTEe3mIaAYDdnH/43Gdvn9hRbMcA2Nbwy/tZN/42NozEZw/ScFdVrm81hjiqNNUsBAxkjSDJ jPEvPBUeEiQUuFqsQ51XtffLjPWH9HYMgLFyU+a2lYEr49qurVkz3juyIds1IyORbMo9Y5ddFxQm pwCwqbz2yNrTf/xdr2MBMFu/K/XTRK9Xbpe3bPcoaMWMd2e7J8LG0q8fOlfgAAAkmTvxxXt82hNP SOgv6MdZElsLzmidUwzy8hsZ3cOvYrTbXkzPVLkKRHv7Lng45ZoFvr4iBICtNarTuwq2/lyUW9/5 mgFT/N2hr3YZnBdRcsWs+1KuW+zvL3ZtwdPnlm58J21LpoXFgC2qzW/mTPllVBinvwxLx8fc93Gk /wivQAWHamEqY876zG8+Ka40AwA4yvL/2pyYdJOk7U1wfdlX/5eeWe9+16a4gVOjFywOG5XiHaxw xwZj1lSnLTlXd/YCLyWwM7PzE2JveyBm1AiZjxeXgwCA1RVW7fsqY90erRUDYKbij8y918+/JhT1 g2H7qoovQ9iSyswyDABAe6RMb+Zmo4TJ07yotHoGgDlfdUaVeKXPJXwNJQgM46M0MwbADkNNNQbP 7nZS+YSAMLq6wAHAWvLP6NhJ5Eg8uCQBx55++7vYt9v/G+KIx91x5QdPRvl1z8jIP+yWO0fGtzc0 caXS+MnS+E4qdkTU3PZ+LwgMWfX+CgX786NbDAwAtlbvPmS45ZZOBCXlG+Ub3mx8pITipAWTV4+U PrB0114VBgBHfs6mrEkJY1rfAzcWvP3qhSrXlI48kse+/+n0OUF0G7PwA+JCAuJCrurCHNyRC0bM Tm72ca4wds6ET0ZImGt37FJhADCfPr+1MOXBWJIgYVCgfQPENGibazjKz8N3oIcUjkIWESq82Ikp jmdC2PKPvRWPbfvigAUDYIf68NaG6+Naz/r2rHNr/3HNhUisuG71vBvHNK18IVFowPwX/EYmHnzp 1YpGFgDbc7/NOHT17Nk+LZobVyELV7h7gLK+SUFwZNLweK9BCDNmNMWFrqBATrwirIdPoN93duNZ lzuS8gm974cZs0ObKhTxAxSTbldMXBr+/a17dnScGYkty1uzpsEZ0kEHhj/wzbSZoc1tj6TxEau+ 9lI8smPNcSsGsOfmbj+ZeP9UTj8ZFsm9x81s7/d8cdJN015W4KefLmlkATCTv7+q8YY471ZNGFtO fph2pNql3pBUce2bM26a0SYsElEif88kf8+keV08jjAxbM4MRbMiUB7RIUvf9fZ+csuney0YAFvq D+7ULryn9ZFLfWLYPqniPgUbKupzT3eyZsyWK7vpbWJz399w/fsd/pkKSXx98/gOcrlh5dGqcgcA ABUYNLbFrIJ8pwaFflpf4gBsqz+dZp13Nf9S4uBkPkIKzAwAsBa1CgN092ZUoCLaGxXUYQC2Ok9t AU8SBtdPR2kh5D0mbsksX8WgbxWhxPMfSHa1WczmZjf0Yr2CDkp89GaFa6xgdGknNW06FJv3a+p2 pavHc6PHfLFmZlv11gel8Yu/f4WX+0lUJ9KMJEHLYDWsMctHjWgeDkmJZt8UFzQ03gkpyRUPxLln N1yfUVvXqp1g26lfC6udzRhxEh+afsOYtnFLVODSafctETuLhA3V2zdqh3hzw3p9baNLaXiGe4h7 NM+wpuN/V7jW5ijBpKcmzwptpzaRVBrg1VmI17mfc/LMTrvKrn5rakuR4YYnm/90UpRTBLGWU3uU gxQOgTznjpof6yqmI19V1mZ4ZAry/t5tctmUK1/44bxVMyTcPn8QSjT1zhj3iMlWptVp2H4wbN9U cd/C5n+374XbdnT8365v3Dlx+vMpTKePOvOHIK+pwZEt520qMijZmdcVOy4cU1ov7auEUq7buA6L pScqmfYICXN91FGpryeLqAD9JOAwbkjPfP7mNVc9mHFaM8gFpCP8Rni4nOzGOkOvTlOjYudGRbhH l9LCNtvDHHWbNtW7FqNo2fIXp02R9Vd1JUwPc+XSwWxxXiNpxIMFJ378559MmBrCpRFwZIoFTy95 c9HQSThGR4eMC3fHmpRpq1tNzMaaE8dc+36QImLJ0g72DCLemDviXdMhZsv3llUObQWHVSb3xI+8 /HuWlQJrq0+dcftmgiKvntOrpV5TzeG9rulWMGXE4uQO32Dp8NCJLuWE9eeUVYPVkSmPqESXdscm Y2PrMDi2aGtxmUsEIZ+l42+c2F8HGdFxQaN83dNzibq1QfrCsH1TxZcjWFOdmcVgAKD4I6cpWgt0 2nPUBGcUEDakVeVfmoLjNK3kY2DsPRlQEN/bz7VkzzaYNMR5AXBpZ6Em3nv9pytdYz92OEw6U1VJ /enjhdt2VlSaAbC9bOeBVRX6r3+aOcVz4ErEWG0Gg4PhcqUSLpcCQAKZB0AjAAC22C098Nk2HxW8 I7hQyAAAWFQmA4bmr2hMafmJSpcw5MSNuGVyP+7YoyO8I2ioZgAAa+oMFgAuEAYFKnDOFWvnTLcY 7UjI4w+xeAzaIySMQkUMBsBWs8YI0KxRMrl1ea6pGkknhSR1vBRBhYRMjDtdkM0CAFuszG2EUMXQ rRGst7l90kgk7VkvZHLri21um4wPjOpVt2LyanOcZ3UjOnZmUCf7zIES+wcidB4wAFulrbVD+IAk BsIsYzHYrQwllHD5XAQAYg8eAgsGAMxYWw2PrP5cmsFlUY7n7JUB/ZgijfYIDqOghgEArDM1WluM bH1i2D6p4iEMCrvxirsWdJijB/FFoR20MXNada4VAAAJ/ZLHtNUEdMwEX+G6UhMG3FBzJo8dNar3 wx3jaNqBAjS3R/dBYjkPgQ0DgMFKVp+c3fISPsv39AgNaxHYnDgmdN51Yx97qvyb/2775KiRwWA6 n/HEywFbPo5T9OfbDqOu3785Z9ehyrO5DWX1dldoD0VL/TxjY0VaVdPwBb2sdZ7QS+Qe5qytVaC9 uL7UHf0WMDE0qj9HYiSX+PAAbAAArNFqZEFKQjkHEyQQD8kMG7RUzgVgAAAwY2vZYvUlWvdqKApO 9Ozs+SlpZBwfZTuDjrWVZSwohnB7s7NNDhcOt0d7CrGuXO+WKigwWta7cdFQolE7b4KZs6/+df2r 3ftuu1Wjw9B//iDGWnqo+PC+qpxzjRUVZotr6RxxJKLAaLlM12wdq9X6hF1bXu7O5+nnPyKiP8dw xPNSUAgYDACs3WTE0GxDRV8Ytm+quM/7acory59b2klUGZv3/qYX1uq7MXEhYZB3wpheZIh2XDhe a8YAAJxRgYntpecQjAmI4ZWetQKwhuyTOnaUvNejgPniVmaOQNCzJsJ1bzXGwNrtAORQ1H7JA8f1 C31w9WLT8j+/zmUw4PqdJ/8siO2vcHtsObN27zMf5hUaWmckwSyjq2k4VdMnX0Nxm97X2FYqEGuV JnceOio4XNa/ExziCAQInCvBDCZLqIQOaP5227JrYK3KnSEaUXK/zlPXIbmfO+gYW9WNQ3tzHgc1 vTwxDrZHznZ9o1vHICTz6Z2Ywtp6S2/eELHDaukvkxjOXfj2f6ePFdvbDI/YoTeWnzZ2Wh6zxr1e RgV5+PXzyMYTcACc67WYZfresH1RxZcjdtWZNOcERkVM9m83ozPy9hsRTZ09zwKw5am1jXfKe/se h7X1Zvc7gcDTu2dhDuzFdNSIJqnsAfrrJAYAUeDd90b++niBHgN2qA4d1d0f2w/KBltS3/nr7u+U pkGdV6yWiyFGQhGnnz0UiNOs5ZJzfQkdtZOO/+SwNU2PFK+rhSRu0+owxg4bCzCEB04Rrylhj0nf szd0x8VwHJrf28ndbu3dGxVm+2c9yJB26uVHzpeYevt5q6NpEwAScnj9PLLRHZ/C1SeG7ZMqvvxg Cqqy6pwTCZv/4cblH3bVU85Xn9fFz5D3rkIs1aXu6FuO2C+gZ7VgMbnTHvG4AiLgAPpPwAF4JAdF cwpO2wGArSzVMtD3Ak536NBTa9zqDdEBE0feflPclBFyfy+hTEQ5zJaGWm1RdsHXr6enqvtR6nCb HU9qsTh6FWVHIAxcp7/YYFmbrYuL7U2+D4T6fQ6/NCgvoQflXDfGaqWZBQndK5vYbb18gIs3oUSz 3r3qxtHdTKJEib37fsjA+sq1L+Y0qTeuv/+cm+OmTPT29+N7eHAph8OoMtaVNp5ck7YprYOTbLj0 xfnB4rAN3sjWJ4btkyq+7MDKtNqanshjbFFmnXXMmNEr6WBR5ea7V6v8vcJ6ttnPoam3NfV0GRFw AP0p4JCQ17SP32brh7U+1rDthwuupoe4I+6+7qenQpovzdMSUVC0KCgCTnx+qj8FHJL7iLkI7BgA 2KpyPQMSctIuYeiCZAqBW+ewaqW5RbRRa7C6zp3FAAk8O0mvMAReWpCnxFeCQI0BsLpMbwEfca9s oqoxYehFLBGS+TTdxKo1cr38+H1glV7eAqt3XjhS6xr2BIkjnvsqJan58hjN9QiUewTK4OTZf9La d3AhuVDOda1qMjX6Bga8Bmdk6xPD9kkVX3ZgS3ZqY8/8v6wtJ1XFzPDrhYKyZlac07lTCo4NCOvR LRhDdSXr3kQs9SGx3wD9KeBYtbGpYUik/bD73F6Xcc61KZwOHvn8oyHyQapSXqR3OA05DgDAVSfL y5mASPJ2QBi6SMNlMqq6gQUAXHFebQNJh2uNrK4o1+Ze8vAI6eTkD5qim84bsbODs7ZPy8IiEWRg ALDnNZQ7IhM4vbAJW5GlMoO0F2lCpZFyT6payQJgtvCU0ro0RNAHheqdYdniMw2uBSdKMuep5CR5 z4dgnkdIKAW5LACw1XXnK3Fs+OBonj4xbJ9U8eWGsS7LmUAEUQkPzr9vXsfKGFtPvLLrj9MsBqw6 VVvJ+vX4GCBsObm+XOPOw5cyx7dH27+wQV1S4RqKvKLlRH077dhfN8Y1qeVFLvcYFRLR9w5PbLFo zK6f6TBFxODtBaQjQ8b7u1MYnc/+NYOcUvrvwKo7uS717dcOvP9tbvYQD+9v2WDj/eJde82w8UTZ OUOHV7KlFSfz3THHUX7xXh1eiQR000uaVW8bnC5AiaJHujIPs0plThnulU3AnFpySt0rw8b5x7uT TuoPFqTW90GZemlYzBi07vOgOB4hYb0afylZ0lj3kfAO1b4/LzWJa+9bbF8Ytk+q+DLDfq7mgnOR nZLGT/EJjpAFdfRfpE9yiivlAVtcc76uxwOe+VTWugOuxXo6NGrepJ55j+xZtQXOFVTEjRrpSXwk zmrrn9vi+sKPvq10V5Zi0nhxn+tlxOM0HVfPNhrVg5gWhhuw6Gp3g2LUv798NFVLWtbljlX57R0/ 3/LM0W9/zPjy7a3LlmzbWjNsNJwkYOoV7uQKjWUb/9a2H+GALenf5ZY4d+ggKnxeWGcnTXCFnh7u 1MEl6urB2R9NRUzwd2WmZNTph/VsT2wyZbrbJvrK9d/WmXtRnSL/aTMv3uT3j8r6IN1o7wyLKF7T cfWsRaPpXdukYheGB7iP9Kj9++TvabbBaeR9Ytg+qeLLClyeXqdznsAg9IyO7HySRiEjvASuExka s0/be2Q8pqr4qxdzXRFPFH/s3QkxPcvDx+Qeqnb2Z8RTjEwh6U9dPbQfGoUhP+eFO3ZsrnZVsGj8 iMVR/eDv5HlGhrgen8nP+yfbAYMGPWrVhJnuJQprXub9d+zfWTaIz0Pob3DtxsOfppmbZhFHVd6b n5Wahsvj88bcFBPsOmHOkffl4Z9T24axM2W/Hfl6uysADnkEX7Ok021ItMQ/yNUDmPKyg6cGxwfH SwlJdqZ5xWzxtuJypicfvbnJJmzVb4c+/FXV8wmem3xLfKRrQRo3bDv2xjvll+q26qVh6YAI98kg jObEdlXvovY5SQlLprmW1bBVvfWxPT/s1Q/GBoA+MWyfVPFlBGs4f0rv7CJ0tCK8q2VpXoJPaNOg kVbfbWewvXrf6ddWHT3mOlEXSSen3H61qGeSwFhzeL9ruOWMDknx/hfXWgsuRcBpiypPnanLzVcV FakKLtSdPlH0zy8n/nfv2pnXbP/jgjtwRhRw37Mjg/vD0Ucr5s11+b2wo+Gb+9a/taGqum1CERaz /R+RQ/knvvBUhJermFh3NvOhhWtuei717/3VRe7EwgCAHXZVhTJ159mPXzy8tZLkABm+MFmp1S3H ftyQXlE4bPLycZNG3LZU6gyuwubGrQ9vffPT4twqOwMArKMxp3zTc9teeK/ale8X8RLvS5na+RkM lDg+2a0YWP3u5w7+tlvV6DYRtlprs8p3fHDo683G/m32ooBps125RJjCwp0n7T2yyR3XuW3CmjPf 2/nkI5n7T2p1bnHLWqzKfFWVtrMS0LGJd97q5T6dyl78+4HHrt+35tey3FKz1S33sd2uKWvI/Cd7 zeO7f0ntypXUS8Oi0FkhAe5T98p/2P/6B0W5NY42j45ZFndWHko04+mUFE93FJ6+YdsTmx+58/j6 TZV5JeaLex8wa2nUl6SV7Vqd+vNOQ39UcZ8Ytk+qeKiCzVWqC6eVXf5X6d7Rh3V12bmuHi5P8O5y WwDy9Y72dWdFPlVb2p6LAquURzYWHd1TkX6g7OjGC+veO/Ly4r8ffTzrXL2rmfGiYh95I7aHOQVx 467cVJVT/nESF4R6kx0MLi5hEwNbvG7nTes6rXCRYuX7i+5L6qedElTSHdMXb9q8sRpjAEZZ8d1T v3//vCAgVOYn53IRtltseq25vs6osw5Ad6RCVy78ombDfatdkx626E7+efTknwAAiKaFQhocjNXK uMQcEiydMeWaYLJddbhCtU1aRaFhNKwg3pjHp1+fv/evszYMgK2GzO+OZH4HFI+mGcbBNMswiCjf qyY9cmOXUaxU9JKY6N8znEclMvXV65+s3oAorohDY8ZmdjZ8JLsu5s7F4v5s9pyR10UGbsquYgBY 4+GvCxZNSgykumuT0U/MuLF4z6+nrBgAsKP20LkvDp1DCHFFXNrhsNg6FzuuB4h7YOa95btX7zE4 +7qlrHLbO5XbABBF80QUxbA2i3sYACppnBlP6jzApJeGpRMSb766+L0tRhYDZsznfzr6wtoTYn+p nw+Pz0Ws3WEx2nT1Jo2e6VxC0iGxj3xoevP/svKc+wcxU59e8Ft6AQAghDgCDgdYu5VhWFebkVwb tHKBpB9CkvvCsH1TxUMTXPb7oRd/7/IyetwbK569lgcAtrNNUWVU+AjPrnsJRx6dQKMqBwZgq2sv VOPY0NYGZqvK/3ilvIP+heRjR/7fe8mjvHpYMmvD1p+qnVmYkTxk3jwR2cDQNDj0z20RxQ29YtyH f9/0+nxp/0UbIq/oV76eNSfw4lyKbZbqwrrTpyrT0qtOn6svLDdorQPVIZFgwmPL//pgTLJn60N8 MMOYDDbTxdEFANsKC3TkHIVhCyd5WkjLfVAocGp4zLCKrBX7LP98zs3TRJzmp1/aGHtz9UbxIpZP f/m1iO4kXqciE+550F/S7EqMWZvRZjY1NXxsLNGo+jlalZMUd/V4V5msZ8/9vK0nab6F3ks+vfKu +R7NN+NhjG1Gm9na7amdI5359oJn7vT3ahmog1nGarCbzc2GAcC1pV0H6vXSsEgw4fnZd8wQN9Uv xoyhRlOUpczJqMvNUpUW6Rt1THeWJyRjk19aO+2qkfxWby0YY7vZbjYzDvZimzEXa+r7qYr7xLB9 UsWXA2zpKaXrbDFaFh3fnUQR3MiR8qZ1+ezMHnhGeH5+Vz674INvx4zqccpDXL0uY1cpdm6VDbou cbxsaNhvSNDTd2EqPObee+yp51UllbraBovR6LAxGCOgaY5AKvD29QiLUiQlh0yfEzk+nD8A05ko MeXLrcFbvj/5w7qi7HpHR/0PcXi+Yd5xY+Xi/tXu3OhFc9bNGL3r14zfNhaklVgcuN2HEYSNjZgZ xyHvEcMXxaKZz++ue36P3lnForgxrz4UMtzO5kMy36WfLxq99dyfPxaeKbI2b62I4vokhy24Z/TC KZJuBwzTEbfPeTPg7I+f5Z2paJPxAlEeUYFT5nv3ew58SjLzvtgt6Tk1DABrSf8o7ciEGVf4dfdb kcRrwXvXjrr6wvo1uSeyTNb2VADi8v3ifRKnhoV2NH5yxCmPXPnxwvIdP1zYt19Zb2xnYEI8flBy 8OTJ3RmSemtYodfCjxcl7Di/4ZeCUznmDjcgIEqokAbH+gZ07NrgR0be9XPwvH152/4qOpmhNTja v48kxGfMdM9+zAjQF4btmyoe7rCGnAzXifBI4hUV2p0OgnyTvGVUQyMLgJmC9HrbkhA+ANCyGY+N F59tLM1XV9VYDHqbSe9gaFooE3oHy8ISfUdOCxk/US7tlSWZivzvv1I2ud+W36Igy1bNa6Ttr3Q6 XbuXSqXSId0e7cqi+twidWWtWW9yOADxBFyRVOTrJwkIkoeFSqQDvW+F1Vc1nM9pKK02agwOB6L4 Ap5MIQkI8YqP9/IREvE2/GEt+QcLDueZOP4Bc+aHhgzrrFLYUKLMydE11FtsHL7cVxI6xi/Ch+5t EllGXVCfn6etb7CZrSzF53n4SUOTfKLD+APkosSW1Oe2fLDNuQMDSSaNf+OLhGBuz+9Sq84/11hV bTaaWcyhBSKe1FukCJGFRkk9ui3WsdVSfaGhtMSgUtutdpbicSVeIp9QeWSCTN5TMdt7w2Jrvba0 QFtTadIZHDYH0DyaJ+LKFGJvf7FfqNRTQnX/URiDoTynsaLcqNbabQ7E4dMCD4GXvzQo1jNIMXCv pX1h2L6pYkJ/YVNvvnfnzxk2DACIO+Lpa1662YPEvzXj8hFwBAKB4ALXl3x4w5Hj9c43dzp45azX ng3yIK9NBMKw6cPWM2/tfPtPjTNhiTBl3FvfJoWQ/CEtIGqWQCBcdiCfiLv/F+3vynrAVP51+J2v 6k1k4zeBMCzA9oLvDnz0l0u9IXnQqlcTiXprAxFwBALhcsRjxoTHH/B1nSTA2nK/3vf2d0TDEQhD HmzL/Wbfm1/UOfdYIK7H3NemzQsl/vO2EAFHIBAuTzhRd856bIXctb+OtZ7/Yu+rH9do2X+5WQiE IYxNf+KNXa+vdh8RQQnHPjv7zhkCIt/agwg4AoFwuYIEKc/Me2KFp/swAbu6wY7JVEAgDFmwveqC zrXtlBaNfWbe49fLyNppBxABRyAQLmMo0bjn5r9wn58HBZywuAefCZUTAUcgDFn4XktfG5MoQUgo n/3Wgqdu8CS7gTuG7EIlEAiXP0zt3gvnA+LnJJE0UgTCEAcr9+ScDYyZm8Qjb1udQgQcgUAgEAgE wjCDLKESCAQCgUAgDDOIgCMQCAQCgUAYZhABRyAQCAQCgTDMIAKOQCAQCAQCYZhBBByBQCAQCATC MIPsqe8bHLa6UlVefkNBgc5n4eRFMUQYEwjdgzUrdRWFmvJCTYMifPlCOU1MQiCNzYnDrirTlBeq Kyq4yXdEhJK+QWgBEXB9AS785s+rP6hzAAAluiFl0qIYYhMCoTuwxedfuj6zyAEASL7M9/qF8ku+ oyVnbdqPv1dV6nmRC5PveTIqVEDMTOifxta/j2vcfs/GNacYDIDEkf6riIAjtKIPBJzDUnquOrtA W9totQJHKhPIvaVhMT5x4SJyfBmBQBhQsPLvw29+VGPGAGC7sO7YuzzJB0/7kWTuhOHYmDGLMTED oUMuRcCxWuXmL499s66kQMO2bWU8T+9xs+KW3ZJ8zWgR8fMRCH0C0/DL0u0bSzEAIK7X9b9cfUNC R8v1jmOP//HhXgYAuDOnr/k0UvRvsA+2nNmntDQNRxjXHaoofdwvjgxBBALhcqPX45op5/Rj9x3c V8V09IJgU6uObzh+4p+C8s2rHonvzBeHbZaqwoa8/Pq8Ar3/omnXxZEAMgKhS7BdvePLkis/jvIa Ch0GM4YabXmBpqxAo/KNuHGR5+Cs9mDWbmvptLAzDtJWLqcqJhAILnon4NjaC/+9a/++uosjJcUX BoVK5QKwaAxVNSaTe8ykwiNnxXS+koqVf/0z96VyOwBQohsmTb0ujlQLgdANsOFI1j9nw24fM/j+ JVxf+P61qefsAIDky/xvWOQ5OM9BiRLGetCZGveLJRKP9iORQ5dVFRMIBBe9GfmxZf/7B3e61Rsv MOz2x6fdvjCgKc6ENRtyU4u2bTy3fo/S55qERDJ8Egj9A6Pbu7po4ddxvsRr7QJF/mfaHSWHf96r swKSJMQ98ESYlMTiEgiEy5BeCDhcX/DrLiMLAAB0SNInfy240rfFCEkJJYmzRifOGv1wZW0p35vo NwKh3zCnn9twIvK+qVxiChci76s+WDK7Qa80cn1DhXyi3ggEwuVJL17czafLTpsBAABxJtw1ba5v hyOkINg/3oeMnwRCf4AoQADAGg99mVfJEHu0sA1f4RESRtQbgUC4jOm5gMPKcq3ZuXpKSUckicna DYEwCKCA6SEhXAAAW3bO3wesJN0AgUAg/Jvo+RIqtpgd7rliqMwZ2GapKlKVVOpq6sw6k91qxzSP 5+kvi04MGBkl4vXkTmalKju7oaTKoNY77BjxhVypp8Q/0CMk3Cvcj0d39yYN2edVlXXG+kYby+N7 B3jGJwcmBvHIajKhD/tuXPwyYf3HOy2YNZ/4JnfJzNHhvd/MgA0lypwLOpXSYuXy5b6SsGS/cB96 4B1YrMVcnqOqrDKpG6wWlhJ5iQNiFXEJEuFAvihiRlepqSw3qurMWr3damURjyvxFgfF+8REC3mo Z7fSFNbnXdAqG6wWO9A8jlDCl/mK/SLkIcEC3gAWClvMFTmq8lKDWmO32jHN5/AlfC8/sU+wR2Co SEgPkGENNdrKUkN9rVmnt1ttLKZooafIN8IrNknmwRvo4vRVY2MN+oKM+spqs9bA0iK+d6hXTLK3 X09CL1mjoShTWVpm0pkwLeJ7h3nFpXj7CskgR+icno/4SCzhUQAMALCGnAsmdoykx8MQU//xtT9/ lse2acamP27/6I92P8INfeXQ8lv82vQJVrvx6U1vbW9otLaX8RBRHpFh19899YFl/p5dPKW9dG/G p1+d3X1Wb2bbLTcSeHklL5vx+dORnp30TGzd/ey3m+qMFrbVg3D9xybc+/S0m1JERMZdFuDG9FOv vpm5P9fM8Q+4+qE5zy5TDHCmNSSYcFd8+L4zJXZw5Oeu3xv3+IKe585mrcXbzv31Y9HpQosDt2iw PmPCF9w9auEUSQfhdbh09Zanv1K3WbzFmvV7Vq5v9yPUyOeXvbRS1MFDYsP+4w9sNWladWWE+H6+ V/wn5cYVvrJ2O7FD+cM1O7dWt/86ScePef+PUaHdGKOwRrn7u4IzOariXK3KwLY3nCBhkP/M28cs v95H1uUNHaYL67P+WlucXWlv715ASyTho3yRvTFUAAAmDklEQVQTJ0VdvSrQpz+VnLW8YuuX53bt a2i0tJ8VFvEFQaOjb3t/bIq8/6oYK7cce/uD0nI10+5D0FLZ6CVJK++OjpajfitOXzS2lp1Hc6Zw 43cXDp/Q6Owtn4EnjJwdv+KhxHGhXUyxWKs68FXGuo219aYWT4IE4vgF4d5a4lgndELPBw7kF6dw iSHsSP3+ZKpuUAuAOGZlo8raQb5qzOqKStY8+/viB88WWDvph8ZDr/+x+P6jm093oN4AAGOLqrFA g8RdJEVhGmtaqzcAwKy9Jj3rlRt/eegPlY00u+EPU3r64bsPbcnSG20ObXnF78+uf2mvecAHWzom ftlcAQIA1pK2Jq+8h5FwWKvc+NA/z75wPr2ghXpzNlhlRsHaB7Y8+3pp7UC1WIfaqG7blTG21tbt eWvX00/kV/bnk+DGun2/FaadUje0q94AAGNzZc2ON3Y+9X+5pZZOW0dNxY+3/fO/N/OyKuwd3AsY g6HoePHWr4tK+jFPHdYcTX/hhgO/batXWTrM6Y+tlqpCK+rf1w/ENZuqG5mOHoLRazN/Pv78DQd3 FzEDU5xLbWwOQ9p7Ox+9/cTWw63VGwBgm7lo5+m3b9i55pCJ7fge5tzcd1fuWP1rjdLU+kmwxXhh 0/mjRUTAETqhF29+vLHxC4JcKoYpPfPIfSdOqgavlSFBWJiAAkA0Rx7glTAqcMKk0MkTA0dEii+6 0TFTtWf/A++WGzvo8KW/bHv0pzqDu6Mhmusb4Zs8LmTixKDRSYpwPwHfZSYqboRPd3f7IcSViPz8 RGIONEk+7NDteWXLh6fspOENc9hzf5xO1zdrQ4x+2w+5teyAN3/+hLviI7gAAI78vM2HbN3vidig /POBvb8eNTVJN0RRQk+hTEKjphbL2krWHXn5hWLlwJYMcbkyH5GHmLr4JJht2J/2wedKy0A+Bs0R e4kUfkKJkLr43oZZ1eG0d9+tMnRga9xQ8fU9h7aeszZJN4QogadIESD28uLxaRiwhWm2PO/j/14o Nlx8DoGPR8RI36TxfvEjvENDRRK+y8CcGO+wft7HLA31kFAACPHk4sA4RdxY/5ET/OMSZXLBxUp2 VJd//1hGtnFAi9ObxsYYDj+36/1f6vVNkwZf4B/vkzBGERbIa4o8wAbV9qf2/5nVvkJnyvM/uj8t rfpiLnxEcyQ+IrmEpsjmG0K36E3QjCD4vkejtz9V0MACAFafPLbqmrKbHpvx4HUBim7ejva8+fNb r3QfeKPavueuL2scAEAJ5r98/UNj2lOVFC/Qu91WTSetvPLLxfLRSV4+whYXWKor/np/73v/qEwY ADMlf5xYf3vIqpA2NzGXfftVhY51dmXZnP+b89RN4dEt3eeMyVCYVXl0f7VorAh1NRokrZz56PLQ UTEe3mIaAYDdnH/43Gdvn9hRbMcA2Nbwy/tZN/42Nozs/hjGMFXl+laeAkeVppqFgIGuVjo6fumc 3A93WjBrPv5T4YqZif7deQRszXjvyIZsu7MPIpFsyj1jl10XFCanALCpvPbI2tN//F2vYwEwW78r 9dNEr1dul7dc/EdBK2a8O9s9/TSWfv3QuQIHACDJ3Ikv3uPTXqQAEvp3tsjLT4i97YGYUSNkPl5c DgIAVldYte+rjHV7tFYMgJmKPzL3Xj//mtCW96C9Fq++ZmZzfwmj3vrYsYO1vX6vRJIZ4194Kjwk SChwFoN1qPOq9n6Zsf6Q3o4BMFZuyty2MnBlXNuYDsOBV47tL3OZBUnkU+8as2RxULi3e1pn7KrC qr//e3h3cX+/9jqyfjiXrccAAIjynZl81//FJUe2DMRlHI3FDTknKvKEvrJ2KqYvq5iOj7nv40j/ EV6BCg7VoiUac9ZnfvNJcaUZAMBRlv/X5sSkmySo74vTF40NAIAp/u7QV7sMTrtQcsWs+1KuW+zv 71qcwfrc0o3vpG3JtLAYsEW1+c2cKb+MCms1NzLabS+mZ7pdH7S374KHU65Z4OsrQgDYWqM6vatg 689FufUMccEROqZXUc/Ib/GVH+Xp7/+u1um1cigr1z7769+rw667Y/x/loeHde2L5/hE+vi4O3Bd JtfdRyjPUJ/EHmb+lY+Imtve7wWBIaveX6Fgf350i4EBwNbq3YcMt9wibTW9OXLLUhtcu2rDVy38 5P4gQduxRySJmxQfNym+G7bhjlwwYnZysyJwhbFzJnwyQsJcu2OXCgOA+fT5rYUpD8aSt6zhC+0b IKZB21zDUX4eg5JOF/En3B4bsjer3AH2rLxdWXG3JXfdgexZ59b+45qBkFhx3ep5N45pis5HotCA +S/4jUw8+NKrFY0sALbnfptx6OrZs1smBeIqZOEKdy9W1jfN2xyZNDzeqxfhtcLEsDkzmr8FUh7R IUvf9fZ+csuney0YAFvqD+7ULrxH3sLQiOMV6eXVolMzMt4lGZWjkEWECi8+CcXxTAhb/rG34rFt XxywYADsUB/e2nB9XGsRYzxy9vcjrh3BSOZ/89ezlyRyW1iN5nrHKILlqN/3gDnUWemuVX06NP7/ 3h0Zz2/bjjleMf7TYvyndXCPPqxiJPceN7Pd9itOumnaywr89NMljSwAZvL3VzXeEOdN9X1x+qCx AbBleWvWNDjrmA4Mf+CbaTNbnPWBpPERq772UjyyY81xKwaw5+ZuP5l4/9QW1tLvO7vxrMv3TfmE 3vfDjNkX4zQRP0Ax6XbFxKXh39+6Z0cpkXCEjujljIOEU55e8dtL8VHNtJqpouyXV/+eN/3HBz+8 kKMZGo2OEs9/INl1kDVmc7Mb2jqzsd6icx+7Exbrxe+nB/GLv3+Fl6ubM6oTaUZ2SBiI0Mv6HLN8 1Ijmm8Qo0eyb4oIGx6vKSYhfPJWHAIDRH/y90tBl38O2U78WVjvVJ+IkPjT9hjFt91ZSgUun3bfE lSYIG6q3b9QOTpulRFPvjAly9R22Mq1OM1h9h5Jc8UCce7LG9Rm1da2ehDUd/71U7fwlxUt+dGpr 9TaQYLvRvchPhXoG8WAIgzznjpof6+o+jnxVmWOQitN1Y3Oc+zknz+zsOrKr35o6s92T2niy+U8n RTmXcVnLqT1Ke6t28neFa/mVEkx6avKs9nbZIKk0wIu85hM6a6+973K8pFuu2bx16ePX+DRfWmE0 DTu/2LZ45k//92153RDILkpH+I3wcLm2jXWGtpMbpZC4/Qps5uacwv6KsaESpof5OQ2F2eK8RpJ5 dVjDiR//+ScTpoZwaQQcmWLB00veXCQZrFVxJJx8a6QPBQBYfyD3cHVXCs5Yc+KY20ukiFiy1IPq oIuPuSPeNQlhtnxvWeUgKSc6LmiUO1+4o0RdNXh9h44OGRfuHi7KtNUtdQZurErNcLtV/COXXiMZ zOmXEni6nWeOM8UHi4f2iEN5RCW63iKwydhoHLTidNHYTDWH97r2JQimjFic3KEXkg4PneiSpFh/ Ttn8PlhbfeqMu50ERV49R0BkGqF33ebSPi4Mi3rwk9sO71720qqICEmz2Gd9w9Z3/l5yZ9oZ/UCX iLHatCpTo85ud/YyJJB5uPuNxW5pM7fRMVFzIpxBo1h34uCK5Tu+P6w19YMDkY7wjnC/vGvqDBYg DO+uEzjnirUHH8k6+0jWqdu/uDtQPpiDMH9cwoKRNALAlrqd61Sd72tkcuvyXBMkkk4KSeo45IEK CZkY5xoj2GJlbuMgFY/2CHbHjGKdqdE6eIamPULCXCHm2GrWtNQZjhxlkcvTguTTQmP5MJjQ8nEz ZM7IO6yv+WnV9s/WVteZh0r3wSxj1lk0apvVFYcJYg+3Gxgz1nYG6oEqTqeNjcmrdS0vITp2ZlBn kXaU2D/QNSWyVdpae/MOWF9sc3fA8YFR5Bg8Qi/h9MVNxOERq16KuPkx1cG/Tq3+5vxZFYsBALPK I0fueoT317fJkZz+LQWjrt+/OWfXocqzuQ1l9XZXaA9FS/08Y2NFWlXToAHtuBC4/ve8Nu7gnWk5 JgCMdTnn3/zPhdXR4dcuS1q6KGqUH6ev5mUkl/jwAGwAAKzRamRBSvYxDHuQQDwk1qYoj9k3h2w8 V6pncfU/uafvmjZe0uG1+hKtezUUBSd6dvb8lDQyjo+yzRgAO7SVZSwoBiXOj+eloBAwGABYu8mI YdB8W7RUznWmwQTM2CwYmm0yV5c3pSGiguPkHBhcqKj/TFp0dO+mXAcGwPrGg+/vOfKtPPmq6JmL IsYliXgDb0LGWnqo+PC+qpxzjRUVZotrER9xJKLAaLlM10y14cErTqeNzVCicS2RY+bsq39d/2q3 bontVo0Og8vRhnXlenfOAxQYLRvsdkIYvvRh26E9vOfcNX/28tG/vrT97a2NZgwAWH3k8Ct/Rvxw s6y/hn1sObN27zMf5hUa2iTSYRldTcOpmq7vIZ0wfe33vMcePXG0jnFKT01B8c9vF//yHj98Uuyy laOvv9Lf59LfkhBHIEDgXMRlMFlCJfQp0lnxM4LKtlZgrCrfu888bnFHLRZrVe5EhYiS+wk7nfiQ 3E9IgZkBAGxVNw5WaCviCTgAdnfHHkw709yLY1mrMceocR9ohiiZN2/Q18WQxO/mb+YKnjm87oQr WQyj1WT8cSrjzwxxqP/kxbFXLgmNGihFbjh34dv/nT5WbG8zUGOH3lh+2jhkitNJY8Paektv4giw w9psyUXf6JaqCMl8yPopodf0eedFMv9bPrxh9a0K1znS2Hbip6zsfhpxsSX1nb9ufS23wIAvbWZB nhMmrdlxy0cPxsR4NMsGxFhLjp17/5FfZs37++2NSt2lzl6I0yxYkGwtIvQtfN/5yxVcBIDtZ/8u 7iQnncPW1B8pXlcvJlx3EkTA2GEbtK03ND1UprlOnoO9mLQXUUPjwBUk97t+9eJ33h41KYp3MbsY xsaymr2fHvrvwk2vfVhU0v9xLoa0Uy/fnXa0yH6pA/WAFKeTxma39m4uw2yzruOwN/2D5hP9Rug9 /eK9pURX/Hf+bcd//7aQxQBMWenRkmmjovu+neoOHXpqjdIVr4bogIkjb78pbsoIub+XUCaiHGZL Q622KLvg69fTU9VdjxuUzOfaxxdfc5/u1O6cTf/k7j7e0OgOWzBXlH77VMW27dM/+2BcsgdpNYQh CQpYFJ/ybf1JPdizC/blxER01OkvJs9ibV2dbWBv8jggxOGRRf/O4IuaxlPGpGcAhoaIo3jhV415 asHI+tPlh7cWH9tXU652KU1s0Z/58Wj2rtKb359+7cj+chlifeXaF3NKTK5/cv3959wcN2Wit78f 38ODSzkcRpWxrrTx5Jq0TWlWPLSLc7HvUKJZ71514+ju9QhEiZulMW3eAe3kYB7CJbTHfrqvwH/p tYo1HykdAMBoistZiO5oMEO9zEzOGrb9cKHGFUbBHXH3dT89FdI8ZQ8tEQVFi4Ii4MTnp7oj4FxP I/IYv2TS+CWTXtE0HP4n+8/fsw8UWBgMgJnq/Yf+cx/+9YfxCYMbnEwgdNB4vUIXXCVO/8vIMrrD G2sDO7hKphC4TjPGrFpp7jSgDKvr3GcBIYFnJ0kNiB8BkKefiEYqBgNgtqZYz4D3EDr3GHF8UiKX pUQue85adqzkwIa8A4c1BgYAwFFTufb+/fj7eYvjOn3eXlYxVu+8cMSdVFmQOOK5r1KSmu/4obke gXKPQBmcPPtPWrcdXJdenF4ZUebT1HesWiPXy4+PenGTZh1QVWPCICW9h9Ar+u2NGgWHerj3XDLG TrOecThuZzhmbd0/Zcpel3HOtRWbDh75/KMh8j4tDEeumL1q5tfb7t78XvJo13iDtWnHX/1dQ1K4 EYYonKQVMWEcAMCNuwsytO1fJA2XuWNSccV5dWcuAFZXlOs6ngtxPEI6OT6EptzrTtjR4fmfAwWi 6KZXUwczYMnsBdGefm7D1hytrBqaca4cftiM+Ns/WbT6j2kLRrgjXXR1f76d38VRcL2sYrb4TINr pyklmfNUclLf7tfudXF6hTRS7j4JnC08pezdfuhmHZCtyFINmZ3BhGFH/y2JmJvOWESI16k3Wyhs 2unp0Om6e7Iztlg07pZPhyki+iuxIz9h6dy1q8dEulK42U/vKa0nCo4AAFbdyXWpb7924P1vc7Mb h0hMIx0dPW88BwFgXVV6ZvsKgo73i3ftUcXGE2XnDB3ejS2tOJnv3lcZ5Rfv1eGVSEA3dXKr3jbI p/0iWuAOLcIGm2mg6oaODhzl5z4xK79gyzHrEI50ReK4qLu+mbXQndbOmlV+pqGz5+1lFWPGoHVL aI5HSBg9RIrTyyqO84935xXVHyxIre/VTS52QDCnlpxSD91WQhja9JuAs2amK11ajPIICezse7je Ypn7paY4X93N11bE4zQdV882GtX9KaokY2OmuQdmVmVQkQ0IBKvy2zt+vuWZo9/+mPHl21uXLdm2 tWZINAtKPHV5iJQCwJjpqCtJAqZe4U5p0Fi28W9t+xdiS/p3uSXOXoyo8HlhnZ00wRV6eri7SIm6 enCdT0jYtNqLG3XV2oH6Xq7PzGtcucqANR58I/VQeXuGsFrUhiHRWJDEZ+IUkdsZZFF3nuevd1WM KF7TcfWsRdOfZ/T0rDi9Q+Q/baa77+grf/+orDcLMpKAKdMv3mT9t3VmMqUQekMvBBxbWfz75pqG Tj1lmtTjH+1wxc5QiqCJMZ19Dx3iGew+u6Rsx/mTxu49B88zMsR1WyY/759sRy9NwOgu5Bg7jyRl G9Ql7oGH8hCQiIV/Pbh24+FP08xNY7ejKu/Nz0pNQ+LZJNPjpgd23kR5Y26KCXadMOfI+/Lwz6lt fUVM2W9Hvt7u6sTII/iaJZ3mAqIl/kFu51N52cFTg+qDQ1y/EIHrpdBen3rQOFDzIxVx0+jJ7nB1 tqZ09a07v/q5oqjaanOwVr2p6kzFntVHn1+0c1P+ADwRbshrVHcxslmqS91VT/Ekkk4v7mUV0wER 7jNKGM2J7SrbEClOL+Em3xIfyXc/0rZjb7xT3vOVVF7KzU0dkK367dCHv6qIhiP0YsDpeTcq2nzs 5cd/nTHjtyc+Onc4x2BqmSfHUFG18YONS+/KyHM2akTHLh89SdDpMwQGjW0aGCrOPvnAke3nmm6L rRrN6T2n33pkz/pWJwTRinlzPV0Lm46Gb+5b/9aGquq2qyUsZjsN12Dys59c+s30aze9/OX5Izk6 Q6v3SsZWnnrmhXsOHXNNzlTo+OBAshfv3w6TlVrdcsTFDekVhUMj6InvO3eJZ+dpN7hJI25bKnXl tTc3bn1465ufFudW2RkAYB2NOeWbntv2wnvVrny/iJd4X8pURecjiTg+2T1Ps/rdzx38bbeq0W0i bLXWZpXv+ODQ15sHRktR4Sk+rgR32H72o0M/7lBpbc4nsVSfrdj58ZHvtvTLkyCvsDtejPJ3R+Ax 6oY97+1/esEfN6b8fNPUdY+s2v/VV0W5dQMSlceo9z2/7f75W95589zB440NrX1+2FxRu+vV/WtT mwKJ/RICUD9UMQqdFRLgPkSw/If9r39QlFvjaGMBzLKd5hjp8+L0Fjo28c5bvdzHftmLfz/w2PX7 1vxalltqtrrf6LDdrilryPwne83ju39JZdvtgHdc5+6ArDnzvZ1PPpK5/6RW59afrMWqzFdVaYms I3RCj3ehMg3bttU7ABy11Zs+r970OdB8gcJf7CnmUA67tkFfq7Y3H51EieNeu8evi1xTHP/rV/x/ e3ceHNddGHD8vV3dhy9ZWvmS48SOcQyxHXI5dhrHcki4nEBhGEqhXIEZaBna0tJOOgxNh7tlIAU6 haTQQguUcpVkoLFj54Lg3InvK7bjxNFhybZkHbvS7usfEomCnVjW5fzGn8+fmpX99qf39n33Hb9X /90vPdebRFFSaL5/05/dvykuKqooTyW5/p5cIUmiKFXxjret/sOZQy+gSC1+35XX/+znPz2UJFGU bzl46199/7abymY0TM5MKS6Ok77eXOexntbmro6XvRKlY1vT/ny+d9ue727b891/jFKl5TNmV06d VFqRTno6u5sOdhzufiEAU9PmffiPM6+gW8s4Q1InBlIqfqWEfTznTQsuuHXT5pd5XFtcsuwvrnzb rvX//UQuiaIke/zRW+979NYoVZJO5/P9+SHTFMaputdf/rF3Tj7VWp+af8OC+d9/ZFc2iqIo33ro x5849JM4VVxRlE7yuZ6BOwniyW9d8IHrKydg6vnKlQtW1B+487kkiqKko/X2T95+RzpdUhL19eYL g0ty3nvfPB5LEk+5evmnPpf6wqd3H+g6k3vfpLN974FCX7b9wR+0P/iDR+NUuqq+atqUkoryuNDb d6y5s7Wt/4WP6lTZRe9feF56XP7E6UUXvOuNT33pF12FJEryPVv//f6/+48HKuurM7UlpcVxoa+/ tyvX0dp9tDNfmNC3M2JFCz+y6sNP3/mNdccH/sfeA8/c8YVn7oiiOJUuqUil8oVc7/O3zqQWX9yT XF4Zn7ABLvnLq9751Lr/fDibRFGU9Dfds/nr92yO47i4ojjd39+bKyTijVM43V1OcuxYa/ZF+658 trf5QNuObc3bdrU/2z6k3uK45pLLvnHbyosqT/2ZN/9Prvn4pWVDFybp7+/qzHVnf7cWF7J79hz/ ve07njb/7//16saZLyxPkus9tKf5sYefefChZx/b3Lrn6ePHsi+/GeR3PNGSG/KKQrbn2b2Htzz2 7IMPH9q882jrkHpLT531ka9d99YZTqBStHTlnBefSY9nrjhnwSsl7eMZ8xpXnmoerMrat3+t8V0r K4Y+LK6Qy/cNrbdUyby3X/npf5g3nPntU+cu+tBH66uGvDJJCrmuXE/38zuzpGvf0baJuQWocuY7 Pnne0K+OST6f7ckXJmJJUplrl3/+fxrfc0MmM+QB0VEURXFcmqld8f5lq56/qGTcPk3yuw7vG3KS MynkOw8dO7CtdfsjLTu3Hmk6/ELuxKnSRTde9dG1ladclhH+ieOyS29a/b6rKp9f05Ikf/y5o3uf bNn2SPOOJ9v27+1s78i//H2t4/F2RrH9V6/6/HV/84H6aS8+NpEU8tnjfT09Q298Tpr2d558RSuv ueGW133w2klDZyJJkiTXlevJqjeGtSKe5uvjafM/838fevfd23/6vzvvvO+5gx0n2+riotrF5771 PZd+8Ib6acPcpZXV3XjbH8285e4v/9e+Ayc8ViEuLl+wYuGbXlN84hZZccFF/3L77F/ctunbP9q7 pbX/pdb6uKikbm7NwtdOOWGjTi/7yNov12/5+a/2bdrR2f0Sp8BKamqvXLv0xhtfc0nG2VOiKIqm r111053NN63rHDhjU7Fw2c1/OueVMz9gXHrJW+ZO3bC7/WUbJZ5c95avrV1y++YffmfP43uzQ09r xani2qVzr/vQkjdcUTXsp8il57238bMznvjOP+98/OAJ80zEqUnnzbzi2poJm3l+yurlN3+18puf 3/rowRd/MMRx+ay65Y3juyQls2Zdf/Os6z+Va9rR9mxTb2dXIV1ZVjtv2rnnlpcknT9/+InB1xWl i8ZnMYqWXPiJz1VuvOPAYw+3t3Wf/JMxLilrWH7ute9bvOaiiuF9Uo/0T1w+7Q1fWbvol1t/8r3d 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 eqHzp0wwAQfA2adkae3l1S/6SXrm9JULhtthuceb7zk8+AD7masyi11QzkQTcACcfeLps/72pvoZ vwuvuGLSu24+/9LSYf52YfP65uaBB6Cmy1atmVJsQJlovjQAcDaK577t4jsubPnVvR1HisqXNs64 fM6wL2PLd6zf2DP4APvpdY1LHQth4gk4AM5S8eTzM+84P3O6v5bf0bTh6cHzp1NXZl5bZiSZeL42 AMBpSHbf1bxv8Phb8Yo1NRWGhDNAwAHA8OW7Nm44PtBvcdX0NZc7k8UZIeAAYNjyB5vv2jE4/2/F ZZkV1YaEM0LAAcBwJYfubtraH0VRFMXpS9bUTjYBHGeGgAOAYSr03r3+aN/AA+xLp625slS/cYYI OAAYnqS15a7HCgM3oBYvyVxVa0g4U07y3aGjo+OkL62udqYfAODMcwQOACAwAg4AIDACDgAgMAIO ACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAg MAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDAC DgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4A IDACDgAgMAIOACAwAg4AIDACDgAgMAIOACAwAg4AIDACDgAgMEXDf2kcx6P//5IkMegAAKNRdFqv HmV+jUkCAgCc5ZxCBQAIjIADAAiMgAMACIyAAwAIjIADAAiMgAMACIyAAwAIjIADAAiMgAMACIyA AwAIjIADAAiMgAMACIyAAwAIjIADAAiMgAMACIyAAwAIjIADAAiMgAMACIyAAwAIjIADAAiMgAMA CIyAAwAIjIADAAiMgAMACIyAAwAIjIADAAjM/wP4XvG0EVaXaAAAAABJRU5ErkJggg== --=-=-= Content-Type: text/plain Are there any steps missing in your recipe that's needed to reproduce the problem? --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 14 10:33:13 2022 Received: (at control) by debbugs.gnu.org; 14 Sep 2022 14:33:13 +0000 Received: from localhost ([127.0.0.1]:55713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTRw-0003rg-TP for submit@debbugs.gnu.org; Wed, 14 Sep 2022 10:33:13 -0400 Received: from quimby.gnus.org ([95.216.78.240]:49642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTRu-0003rG-Jj for control@debbugs.gnu.org; Wed, 14 Sep 2022 10:33:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=kpYdvrlPjeNsmk40o5Ilhc1cuqQ1ZQm4hrdrq3q2b1w=; b=PzdmgAPaxm/TXvjBIw0mlit8+q qhhdkddR0mWMF5SoJdBR2d88UpL3NdSELM6J8ck+pcflQZIUKYrswCfxPx/lbiyvm8q2Fi16pSu6m 6I36bjT7/0OhUvWPtEOgQDJVlfvBaob+/zOadBM2APEM67rkAKTCRxmX2rqYQhjeU8bw=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oYTRm-0007KE-W3 for control@debbugs.gnu.org; Wed, 14 Sep 2022 16:33:05 +0200 Date: Wed, 14 Sep 2022 16:33:02 +0200 Message-Id: <871qse81r5.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #57777 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 57777 + moreinfo quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) tags 57777 + moreinfo quit From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 14 10:36:56 2022 Received: (at 57777) by debbugs.gnu.org; 14 Sep 2022 14:36:57 +0000 Received: from localhost ([127.0.0.1]:55719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTVY-0003xd-Li for submit@debbugs.gnu.org; Wed, 14 Sep 2022 10:36:56 -0400 Received: from quimby.gnus.org ([95.216.78.240]:49734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTVX-0003xO-Dy for 57777@debbugs.gnu.org; Wed, 14 Sep 2022 10:36:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=T/g60IvlHr4NpSKwvkHBMA3FrTWU2m4zW1v8ED2vWAQ=; b=KnwZJSaZ49UGpT3xKowmLsBMP/ oYxCwQVPUymPAYQPsA2FpYfJyJjEsDihJE/buwOGlv4DWVQIQjqaOZH4FEAT6Xb0zDmsbTGm8u6Zm ouzGNofsvii223M1AVeQCPbMi5s7vbRWlU1KJDxIsV4wtTgv8A2Iwc4USGqI0Ud9bWJ0=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oYTVP-0007Ks-3x; Wed, 14 Sep 2022 16:36:49 +0200 From: Lars Ingebrigtsen To: Mike Woolley Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. In-Reply-To: <8735cu81rc.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 14 Sep 2022 16:32:55 +0200") References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> <8735cu81rc.fsf@gnus.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEUsKCaCaWfc2db/ //99QFzzAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YJDg4jMHPoLboAAADfSURBVCjPldE9DoJAEAXg kcgWVBRYuEfgFJiINSbQWNswp9DCfgtDQYUJGHmnFMP+aWKiW+2XzbyZzBL9ccK8dEj2VWax2mwc qCQPYVY4yKsXx+MXlAwXUPPdgTnXDauCJMMDvJoAw3yJq5LWeMwoJtTcZPqNFuCmwcmU7C7CQOCs BMzMUCT0dEHrIcILOjxFqyjq9ZhoOpLKYDhSms3THTAWxDr5AMQEh2Qx0lL3RBKYjQhga3pOQ+MS Pew+cJO9QYqBLSRGWEwJUHY78Ff1sTf/S97gkl9FnQeh6PfzBJ1CT4GD8YKeAAAAJXRFWHRkYXRl OmNyZWF0ZQAyMDIyLTA5LTE0VDE0OjM1OjQ4KzAwOjAwOsDTUwAAACV0RVh0ZGF0ZTptb2RpZnkA MjAyMi0wOS0xNFQxNDozNTo0OCswMDowMEuda+8AAAAASUVORK5CYII= X-Now-Playing: David Bowie's _Brilliant Live Adventures (1): Ouvrez Le Chien (live Dallas '95)_: "Under Pressure" Date: Wed, 14 Sep 2022 16:36:46 +0200 Message-ID: <87wna66n0h.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Lars Ingebrigtsen writes: > I'm unable to reproduce this problem with Emacs 28.2 (or the current > trunk). Sorry; I was testing in the wrong checkout -- I'm now rebuilding the real emacs-28.2 release and will re-test. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Lars Ingebrigtsen writes: > I'm unable to reproduce this problem with Emacs 28.2 (or the current > trunk). Sorry; I was testing in the wrong checkout -- I'm now rebuilding the real emacs-28.2 release and will re-test. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 14 10:43:52 2022 Received: (at 57777) by debbugs.gnu.org; 14 Sep 2022 14:43:52 +0000 Received: from localhost ([127.0.0.1]:55741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTcF-00049t-Mm for submit@debbugs.gnu.org; Wed, 14 Sep 2022 10:43:51 -0400 Received: from quimby.gnus.org ([95.216.78.240]:50432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYTcD-00049e-U0 for 57777@debbugs.gnu.org; Wed, 14 Sep 2022 10:43:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=WCg7KWVn8zqzItJjPAD94ZqXtMDG44O9tUrkaCrMTjo=; b=M614dut+O4HeieEd0xg2d7VLOG hTYPrl4oh4iBGVZq/kEnzy5fkG4YjIaUbPihalSnIII6N90D6lOOQA10r3ngqjI4NVJ9sPUK+sMa5 /lpK25rwtLH2aopgCbcTlqsB9vsTXFDbFi62AAVpfodNaqoNuxAhZfOM0CxSIzle+/yU=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oYTc5-0007VC-68; Wed, 14 Sep 2022 16:43:43 +0200 From: Lars Ingebrigtsen To: Mike Woolley Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. In-Reply-To: <87wna66n0h.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 14 Sep 2022 16:36:46 +0200") References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> <8735cu81rc.fsf@gnus.org> <87wna66n0h.fsf@gnus.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEUsKCaCaWfc2db/ //99QFzzAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+YJDg4jMHPoLboAAADfSURBVCjPldE9DoJAEAXg kcgWVBRYuEfgFJiINSbQWNswp9DCfgtDQYUJGHmnFMP+aWKiW+2XzbyZzBL9ccK8dEj2VWax2mwc qCQPYVY4yKsXx+MXlAwXUPPdgTnXDauCJMMDvJoAw3yJq5LWeMwoJtTcZPqNFuCmwcmU7C7CQOCs BMzMUCT0dEHrIcILOjxFqyjq9ZhoOpLKYDhSms3THTAWxDr5AMQEh2Qx0lL3RBKYjQhga3pOQ+MS Pew+cJO9QYqBLSRGWEwJUHY78Ff1sTf/S97gkl9FnQeh6PfzBJ1CT4GD8YKeAAAAJXRFWHRkYXRl OmNyZWF0ZQAyMDIyLTA5LTE0VDE0OjM1OjQ4KzAwOjAwOsDTUwAAACV0RVh0ZGF0ZTptb2RpZnkA MjAyMi0wOS0xNFQxNDozNTo0OCswMDowMEuda+8AAAAASUVORK5CYII= X-Now-Playing: David Bowie's _Brilliant Live Adventures (1): Ouvrez Le Chien (live Dallas '95)_: "Teenage Wildlife" Date: Wed, 14 Sep 2022 16:43:40 +0200 Message-ID: <87sfku6moz.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Lars Ingebrigtsen writes: >> I'm unable to reproduce this problem with Emacs 28.2 (or the current >> trunk). > > Sorry; I was testing in the wrong checkout -- I'm now rebuilding the > real emacs-28.2 release and will re-test. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Lars Ingebrigtsen writes: >> I'm unable to reproduce this problem with Emacs 28.2 (or the current >> trunk). > > Sorry; I was testing in the wrong checkout -- I'm now rebuilding the > real emacs-28.2 release and will re-test. I've now redone the tests, but I'm still not able to reproduce the problem. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 15 10:53:49 2022 Received: (at 57777) by debbugs.gnu.org; 15 Sep 2022 14:53:49 +0000 Received: from localhost ([127.0.0.1]:58865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYqFN-00049L-QZ for submit@debbugs.gnu.org; Thu, 15 Sep 2022 10:53:49 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:60616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYqFK-000492-4q for 57777@debbugs.gnu.org; Thu, 15 Sep 2022 10:53:43 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id AF1C46439C; Thu, 15 Sep 2022 14:53:34 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo07-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo07-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Re2e5djA98rd; Thu, 15 Sep 2022 14:53:34 +0000 (UTC) Received: from smtpclient.apple (97e60a2a.skybroadband.com [151.230.10.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailout.easymail.ca (Postfix) with ESMTPSA id 11353640B8; Thu, 15 Sep 2022 14:53:33 +0000 (UTC) From: Mike Woolley Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_2821B0C1-CDE2-478F-A7DC-F742B3EB584A" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. Date: Thu, 15 Sep 2022 15:53:32 +0100 In-Reply-To: <87sfku6moz.fsf@gnus.org> To: Lars Ingebrigtsen References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> <8735cu81rc.fsf@gnus.org> <87wna66n0h.fsf@gnus.org> <87sfku6moz.fsf@gnus.org> X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --Apple-Mail=_2821B0C1-CDE2-478F-A7DC-F742B3EB584A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Thanks for looking at this Lars. The steps you tried also work correctly for me, so clearly the problem = is a bit more specific than I initially thought! I stepped through `vc-responsible-backend=E2=80=99 in the debugger when = executing `vc-dir=E2=80=99 on one of the directories where I have this = problem (my home directory in the following example). This bit of code: (vc-call-backend backend 'responsible-p file) returns "~/=E2=80=9C for the Git backend, but "/Users/mike/=E2=80=9C for = the CVS backend. Further down, this next bit of code looks for the longest directory = string in an attempt to find the deepest subdirectory: ;; Several roots; we seem to have one vc inside another's ;; directory. Choose the most specific. (caar (sort dirs (lambda (d1 d2) (< (length (cdr d2)) (length (cdr d1)))))))) Which explains why it picks the CVS backend, because "/Users/mike/=E2=80=9C= is longer than "~/=E2=80=9C =F0=9F=98=8A So in other words, the missing step from my instructions is the = directory has to be under the user=E2=80=99s home directory. I would have thought the fix would be either to make `responsible-p=E2=80=99= return the same string or expand the =E2=80=9C~=E2=80=9D before = executing the length comparison above. Thanks, Mike > On 14 Sep 2022, at 15:43, Lars Ingebrigtsen wrote: >=20 > Lars Ingebrigtsen writes: >=20 >>> I'm unable to reproduce this problem with Emacs 28.2 (or the current >>> trunk). >>=20 >> Sorry; I was testing in the wrong checkout -- I'm now rebuilding the >> real emacs-28.2 release and will re-test. >=20 > I've now redone the tests, but I'm still not able to reproduce the > problem. --Apple-Mail=_2821B0C1-CDE2-478F-A7DC-F742B3EB584A Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Thanks for looking at this Lars.

The steps you tried also work correctly = for me, so clearly the problem is a bit more specific than I initially = thought!

I = stepped through `vc-responsible-backend=E2=80=99 in the debugger when = executing `vc-dir=E2=80=99 on one of the directories where I have this = problem (my home directory in the following example).
This bit of code:

 (vc-call-backend backend = 'responsible-p file)

returns "~/=E2=80=9C for the Git backend, = but "/Users/mike/=E2=80=9C for the CVS backend.

Further = down, this next bit of code looks for the longest directory string in an = attempt to find the deepest subdirectory:

  ;; Several roots; we = seem to have one vc inside another's
  ;; = directory.  Choose the most specific.
  (caar (sort dirs (lambda (d1 d2)
                =      (< (length (cdr d2)) (length (cdr = d1))))))))

Which explains why it picks the CVS backend, = because "/Users/mike/=E2=80=9C is longer than "~/=E2=80=9C = =F0=9F=98=8A

So = in other words, the missing step from my instructions is the directory = has to be under the user=E2=80=99s home directory.

I would have thought the = fix would be either to make `responsible-p=E2=80=99 return the same = string or expand the =E2=80=9C~=E2=80=9D before executing the length = comparison above.

Thanks,
Mike

On 14 Sep 2022, at 15:43, Lars Ingebrigtsen <larsi@gnus.org> = wrote:

Lars Ingebrigtsen <larsi@gnus.org> writes:

I'm unable to reproduce this problem with Emacs 28.2 (or the = current
trunk).

Sorry; I was testing in the wrong checkout -- I'm now = rebuilding the
real emacs-28.2 release and will = re-test.

I've now redone the = tests, but I'm still not able to reproduce the
problem.

= --Apple-Mail=_2821B0C1-CDE2-478F-A7DC-F742B3EB584A-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 15 11:40:07 2022 Received: (at 57777) by debbugs.gnu.org; 15 Sep 2022 15:40:07 +0000 Received: from localhost ([127.0.0.1]:58966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYqyE-0005aX-No for submit@debbugs.gnu.org; Thu, 15 Sep 2022 11:40:07 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:49806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oYqyB-0005Zs-L1 for 57777@debbugs.gnu.org; Thu, 15 Sep 2022 11:40:05 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 44BC86445B; Thu, 15 Sep 2022 15:39:57 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo07-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo07-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rAuhYs-O5B1N; Thu, 15 Sep 2022 15:39:56 +0000 (UTC) Received: from smtpclient.apple (97e60a2a.skybroadband.com [151.230.10.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailout.easymail.ca (Postfix) with ESMTPSA id 7370E6444D; Thu, 15 Sep 2022 15:39:56 +0000 (UTC) From: Mike Woolley Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_B6163578-ED49-4028-B8BF-801128CF0190" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. Date: Thu, 15 Sep 2022 16:39:54 +0100 In-Reply-To: To: Lars Ingebrigtsen References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> <8735cu81rc.fsf@gnus.org> <87wna66n0h.fsf@gnus.org> <87sfku6moz.fsf@gnus.org> X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --Apple-Mail=_B6163578-ED49-4028-B8BF-801128CF0190 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I should also mention that I tested changing the code to the following = and it fixed the problem: (when-let ((dir (expand-file-name (vc-call-backend backend 'responsible-p file)))) Thanks, Mike > On 15 Sep 2022, at 15:53, Mike Woolley wrote: >=20 > Thanks for looking at this Lars. >=20 > The steps you tried also work correctly for me, so clearly the problem = is a bit more specific than I initially thought! >=20 > I stepped through `vc-responsible-backend=E2=80=99 in the debugger = when executing `vc-dir=E2=80=99 on one of the directories where I have = this problem (my home directory in the following example). > This bit of code: >=20 > (vc-call-backend backend 'responsible-p file) >=20 > returns "~/=E2=80=9C for the Git backend, but "/Users/mike/=E2=80=9C = for the CVS backend. >=20 > Further down, this next bit of code looks for the longest directory = string in an attempt to find the deepest subdirectory: >=20 > ;; Several roots; we seem to have one vc inside another's > ;; directory. Choose the most specific. > (caar (sort dirs (lambda (d1 d2) > (< (length (cdr d2)) (length (cdr d1)))))))) >=20 > Which explains why it picks the CVS backend, because "/Users/mike/=E2=80= =9C is longer than "~/=E2=80=9C =F0=9F=98=8A >=20 > So in other words, the missing step from my instructions is the = directory has to be under the user=E2=80=99s home directory. >=20 > I would have thought the fix would be either to make `responsible-p=E2=80= =99 return the same string or expand the =E2=80=9C~=E2=80=9D before = executing the length comparison above. >=20 > Thanks, > Mike >=20 >> On 14 Sep 2022, at 15:43, Lars Ingebrigtsen > wrote: >>=20 >> Lars Ingebrigtsen > writes: >>=20 >>>> I'm unable to reproduce this problem with Emacs 28.2 (or the = current >>>> trunk). >>>=20 >>> Sorry; I was testing in the wrong checkout -- I'm now rebuilding the >>> real emacs-28.2 release and will re-test. >>=20 >> I've now redone the tests, but I'm still not able to reproduce the >> problem. >=20 --Apple-Mail=_B6163578-ED49-4028-B8BF-801128CF0190 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 I = should also mention that I tested changing the code to the following and = it fixed the problem:

     (when-let ((dir (expand-file-name
=    (vc-call-backend
    =                     =        backend 'responsible-p file))))

Thanks,
Mike

On 15 Sep 2022, at 15:53, Mike Woolley <mike@bulsara.com> = wrote:

Thanks for looking at = this Lars.

The steps = you tried also work correctly for me, so clearly the problem is a bit = more specific than I initially thought!

I stepped through = `vc-responsible-backend=E2=80=99 in the debugger when executing = `vc-dir=E2=80=99 on one of the directories where I have this problem (my = home directory in the following example).
This bit = of code:

 (vc-call-backend backend 'responsible-p = file)

returns "~/=E2=80=9C for the Git backend, = but "/Users/mike/=E2=80=9C for the CVS backend.

Further = down, this next bit of code looks for the longest directory string in an = attempt to find the deepest subdirectory:

  ;; Several roots; we = seem to have one vc inside another's
  ;; = directory.  Choose the most specific.
  (caar (sort dirs (lambda (d1 d2)
                =      (< (length (cdr d2)) (length (cdr = d1))))))))

Which explains why it picks the CVS backend, = because "/Users/mike/=E2=80=9C is longer than "~/=E2=80=9C = =F0=9F=98=8A

So = in other words, the missing step from my instructions is the directory = has to be under the user=E2=80=99s home directory.

I would have thought the = fix would be either to make `responsible-p=E2=80=99 return the same = string or expand the =E2=80=9C~=E2=80=9D before executing the length = comparison above.

Thanks,
Mike

On 14 Sep 2022, at 15:43, Lars Ingebrigtsen <larsi@gnus.org> = wrote:

Lars Ingebrigtsen <larsi@gnus.org> writes:

I'm unable to reproduce this problem with Emacs 28.2 (or the = current
trunk).

Sorry; I was testing in the wrong checkout -- I'm now = rebuilding the
real emacs-28.2 release and will = re-test.

I've now redone the = tests, but I'm still not able to reproduce the
problem.


= --Apple-Mail=_B6163578-ED49-4028-B8BF-801128CF0190-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 16 05:46:52 2022 Received: (at 57777) by debbugs.gnu.org; 16 Sep 2022 09:46:52 +0000 Received: from localhost ([127.0.0.1]:41686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ7vw-0000ln-20 for submit@debbugs.gnu.org; Fri, 16 Sep 2022 05:46:52 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ7vt-0000lV-5s for 57777@debbugs.gnu.org; Fri, 16 Sep 2022 05:46:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=8XYRc1Vm1fqqp4g2t5+tFCv1c4U5wF8Y8rciRA9tW/A=; b=NzEqUrmHlU7k9hyWgzvkQ1PByD x1Fk+4U84iO/1JzqhYK5eG3ck1D9hac2CJYyd6axdWPYwcqHkHbsz6GqxF/37Pw7WYww4vwmc1wgU ssgkzRws9OumWhbwGnjE46Q5gbV8SIloli5YeI6T9iNGUU52XX7JPZOzfD7BaqIxXtj4=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oZ7vk-0002kc-52; Fri, 16 Sep 2022 11:46:42 +0200 From: Lars Ingebrigtsen To: Mike Woolley Subject: Re: bug#57777: 28.2; `vc-dir' picks incorrect backend. In-Reply-To: (Mike Woolley's message of "Thu, 15 Sep 2022 16:39:54 +0100") References: <29088AD9-36ED-4D7D-A0A0-6D17C79F065F@bulsara.com> <8735cu81rc.fsf@gnus.org> <87wna66n0h.fsf@gnus.org> <87sfku6moz.fsf@gnus.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEU2LCuzkVj////D FCTDAAAAAWJLR0QCZgt8ZAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB+YJEAkFHUBgxMIA AACjSURBVCjPvdHBDoMwCABQmsi9S+R/2sPuLIH//xUBraXLtuNIPLyCBRSAGLDBFXw9HsVPd0ix ZZSvgAb/iDn1O5YB9gzhnMmvPHLZsg5+xNJPBcp9MxnkhpaegKIDT9UfoIGuygkCCTzRDHNQGyEh /eDqGI2q7YzqYWkqA74lGRqfa3j9ZhXR2t4PoOdI40MwdDt92QQGAb+tRwq1R696Lu8FB9XeINDC 9y8+AAAAWmVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABS ASgAAwAAAAEAAgAAAhMAAwAAAAEAAQAAAAAAAAAAAEgAAAABAAAASAAAAAEfUvc0AAAAJXRFWHRk YXRlOmNyZWF0ZQAyMDIyLTA5LTE2VDA5OjA1OjI5KzAwOjAwnrkTCgAAACV0RVh0ZGF0ZTptb2Rp ZnkAMjAyMi0wOS0xNlQwOTowNToyOSswMDowMO/kq7YAAAAXdEVYdGV4aWY6WUNiQ3JQb3NpdGlv bmluZwAxrA+AYwAAAABJRU5ErkJggg== X-Now-Playing: Sly Stone's _I'm Just Like You: Sly's Stone Flower 1969-1970_: "I'm Just Like You (full band version)" Date: Fri, 16 Sep 2022 11:46:39 +0200 Message-ID: <87edwby7ls.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Mike Woolley writes: > I should also mention that I tested changing the code to the following and it fixed the > problem: > > (when-let ((dir (expand-file-name > (vc-call-backend > backend 'responsible-p file)))) Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 57777 Cc: 57777@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Mike Woolley writes: > I should also mention that I tested changing the code to the following and it fixed the > problem: > > (when-let ((dir (expand-file-name > (vc-call-backend > backend 'responsible-p file)))) Thanks; I've now pushed something along these lines to Emacs 29. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 16 05:46:59 2022 Received: (at control) by debbugs.gnu.org; 16 Sep 2022 09:46:59 +0000 Received: from localhost ([127.0.0.1]:41689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ7w3-0000m7-Gj for submit@debbugs.gnu.org; Fri, 16 Sep 2022 05:46:59 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZ7w1-0000lq-My for control@debbugs.gnu.org; Fri, 16 Sep 2022 05:46:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=HczM3qJdv0NP8Ei2Mw77ikJWfxvN2Y/vnW1N8reqZZ4=; b=YsEHZaa9pUsc+7nVt2eKJjeroG XUE7DxSF3IrzROu/PmWRGS0vMJPfNimS+9lg/eQF/Mv9l7PWP6Z2yFXa/kik3c+5HBwR+MNGb79Mo VxgbxYjxaMfDeuURl2+3HAomRI6QcVMPQwZCSYmcNHINtzGRhclBMEhjq/+XITwyCbhI=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oZ7vt-0002kk-Ua for control@debbugs.gnu.org; Fri, 16 Sep 2022 11:46:51 +0200 Date: Fri, 16 Sep 2022 11:46:49 +0200 Message-Id: <87czbvy7li.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #57777 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 57777 29.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 57777 29.1 quit From unknown Sat Jun 21 17:35:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 14 Oct 2022 11:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator