From 0e8f56af9d63082f66d36b09c70f52e23a44ebd2 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Wed, 26 Jan 2022 08:27:52 +0900 Subject: [PATCH] Imported Upstream version 3.9.8 --- Doc/c-api/call.rst | 2 +- Doc/c-api/gcsupport.rst | 16 +- Doc/c-api/init.rst | 6 +- Doc/c-api/type.rst | 2 +- Doc/c-api/typeobj.rst | 272 +- Doc/data/python3.9.abi | 23716 ++++++++++------ Doc/distributing/index.rst | 10 +- Doc/distutils/apiref.rst | 8 +- Doc/extending/newtypes.rst | 16 +- Doc/faq/design.rst | 2 +- Doc/faq/gui.rst | 2 +- Doc/faq/installed.rst | 2 +- Doc/faq/programming.rst | 23 +- Doc/howto/functional.rst | 9 +- Doc/includes/sqlite3/text_factory.py | 4 +- Doc/install/index.rst | 8 +- Doc/installing/index.rst | 12 +- Doc/library/argparse.rst | 2 +- Doc/library/array.rst | 5 +- Doc/library/ast.rst | 13 + Doc/library/asyncio-stream.rst | 4 +- Doc/library/cgi.rst | 2 +- Doc/library/codecs.rst | 2 +- Doc/library/collections.abc.rst | 3 + Doc/library/configparser.rst | 3 +- Doc/library/ctypes.rst | 6 +- Doc/library/datetime.rst | 13 +- Doc/library/dbm.rst | 2 +- Doc/library/enum.rst | 13 +- Doc/library/exceptions.rst | 27 + Doc/library/functions.rst | 26 +- Doc/library/functools.rst | 48 +- Doc/library/hashlib.rst | 6 +- Doc/library/html.entities.rst | 2 +- Doc/library/http.cookiejar.rst | 2 +- Doc/library/importlib.rst | 40 + Doc/library/intro.rst | 2 +- Doc/library/ipaddress.rst | 8 +- Doc/library/json.rst | 6 +- Doc/library/logging.config.rst | 2 +- Doc/library/logging.rst | 6 +- Doc/library/mmap.rst | 2 +- Doc/library/multiprocessing.rst | 20 +- Doc/library/os.rst | 17 +- Doc/library/pathlib.rst | 8 + Doc/library/platform.rst | 6 +- Doc/library/plistlib.rst | 2 +- Doc/library/profile.rst | 2 +- Doc/library/random.rst | 11 +- Doc/library/re.rst | 4 +- Doc/library/select.rst | 4 +- Doc/library/site.rst | 10 +- Doc/library/socket.rst | 10 +- Doc/library/sqlite3.rst | 76 +- Doc/library/ssl.rst | 4 +- Doc/library/stat.rst | 6 +- Doc/library/subprocess.rst | 2 + Doc/library/sysconfig.rst | 4 +- Doc/library/test.rst | 8 +- Doc/library/tkinter.ttk.rst | 2 +- Doc/library/tracemalloc.rst | 12 +- Doc/library/types.rst | 4 +- Doc/library/typing.rst | 41 +- Doc/library/urllib.request.rst | 10 +- Doc/library/venv.rst | 2 +- Doc/library/weakref.rst | 4 + Doc/library/webbrowser.rst | 6 +- Doc/library/xml.dom.minidom.rst | 8 + Doc/license.rst | 2 +- Doc/reference/compound_stmts.rst | 1 - Doc/reference/datamodel.rst | 8 +- Doc/reference/executionmodel.rst | 8 +- Doc/requirements.txt | 4 + Doc/tutorial/appetite.rst | 2 +- Doc/tutorial/floatingpoint.rst | 2 +- Doc/tutorial/introduction.rst | 7 + Doc/tutorial/modules.rst | 3 +- Doc/using/cmdline.rst | 6 +- Doc/using/mac.rst | 24 +- Doc/whatsnew/2.0.rst | 2 +- Doc/whatsnew/2.7.rst | 8 +- Doc/whatsnew/3.1.rst | 8 +- Include/Python.h | 13 - Include/abstract.h | 2 +- Include/cpython/dictobject.h | 2 +- Include/cpython/unicodeobject.h | 20 +- Include/internal/pycore_code.h | 2 +- Include/internal/pycore_object.h | 3 + Include/internal/pycore_traceback.h | 2 +- Include/patchlevel.h | 4 +- Include/pytime.h | 4 +- Lib/_osx_support.py | 6 +- Lib/argparse.py | 24 +- Lib/asyncio/base_events.py | 8 +- Lib/asyncio/events.py | 4 +- Lib/asyncio/runners.py | 2 +- Lib/asyncio/subprocess.py | 4 +- Lib/asyncio/tasks.py | 13 +- Lib/asyncio/unix_events.py | 4 +- Lib/compileall.py | 6 +- Lib/concurrent/futures/thread.py | 6 + Lib/contextlib.py | 8 +- Lib/ctypes/_aix.py | 6 +- Lib/ctypes/test/test_structures.py | 4 +- Lib/difflib.py | 42 +- Lib/distutils/ccompiler.py | 2 +- Lib/distutils/command/check.py | 2 +- Lib/distutils/msvc9compiler.py | 2 +- Lib/distutils/tests/test_bdist_rpm.py | 4 +- Lib/distutils/unixccompiler.py | 3 +- Lib/doctest.py | 6 +- Lib/email/_parseaddr.py | 2 + Lib/email/contentmanager.py | 2 +- Lib/encodings/raw_unicode_escape.py | 9 +- Lib/encodings/unicode_escape.py | 9 +- Lib/ensurepip/__init__.py | 8 +- .../_bundled/pip-21.2.3-py3-none-any.whl | Bin 1563443 -> 0 bytes .../_bundled/pip-21.2.4-py3-none-any.whl | Bin 0 -> 1555100 bytes ...whl => setuptools-58.1.0-py3-none-any.whl} | Bin 819017 -> 816725 bytes Lib/functools.py | 15 +- Lib/graphlib.py | 2 +- Lib/html/parser.py | 2 +- Lib/http/client.py | 8 +- Lib/idlelib/ChangeLog | 2 +- Lib/idlelib/help.html | 20 +- Lib/idlelib/help_about.py | 12 +- Lib/idlelib/idle_test/htest.py | 6 +- Lib/idlelib/idle_test/mock_tk.py | 2 +- Lib/idlelib/idle_test/test_config_key.py | 2 +- Lib/idlelib/idle_test/test_macosx.py | 11 +- Lib/idlelib/idle_test/test_multicall.py | 2 +- Lib/idlelib/idle_test/test_pyparse.py | 2 +- Lib/idlelib/idle_test/test_query.py | 6 +- Lib/idlelib/pyshell.py | 7 + Lib/idlelib/run.py | 7 + Lib/inspect.py | 6 +- Lib/lib2to3/fixes/fix_metaclass.py | 2 +- Lib/lib2to3/fixes/fix_paren.py | 2 +- Lib/lib2to3/tests/data/py2_test_grammar.py | 7 +- Lib/lib2to3/tests/data/py3_test_grammar.py | 7 +- Lib/linecache.py | 2 +- Lib/logging/handlers.py | 23 +- Lib/mimetypes.py | 2 +- Lib/msilib/schema.py | 2 +- Lib/pickle.py | 2 +- Lib/pkgutil.py | 2 +- Lib/pydoc_data/topics.py | 65 +- Lib/shutil.py | 59 +- Lib/sqlite3/__init__.py | 34 + Lib/sqlite3/test/dbapi.py | 4 +- Lib/tarfile.py | 9 + Lib/tempfile.py | 4 + Lib/test/_test_multiprocessing.py | 48 +- Lib/test/ann_module5.py | 10 + Lib/test/ann_module6.py | 7 + Lib/test/datetimetester.py | 6 +- Lib/test/decimaltestdata/abs.decTest | 2 +- Lib/test/decimaltestdata/extra.decTest | 2 +- Lib/test/libregrtest/main.py | 11 +- Lib/test/libregrtest/refleak.py | 2 +- Lib/test/libregrtest/setup.py | 24 + Lib/test/pickletester.py | 25 +- Lib/test/support/__init__.py | 83 +- Lib/test/support/hashlib_helper.py | 19 +- Lib/test/support/testresult.py | 33 +- Lib/test/test__xxsubinterpreters.py | 2 +- Lib/test/test_argparse.py | 50 +- Lib/test/test_asyncgen.py | 78 + Lib/test/test_asyncio/__init__.py | 32 +- Lib/test/test_asyncio/test_events.py | 237 +- Lib/test/test_asyncio/test_queues.py | 16 +- Lib/test/test_asyncio/test_streams.py | 2 +- Lib/test/test_asyncio/test_subprocess.py | 2 +- Lib/test/test_asyncio/test_tasks.py | 35 +- Lib/test/test_bdb.py | 9 +- Lib/test/test_bigaddrspace.py | 5 +- Lib/test/test_bigmem.py | 5 +- Lib/test/test_bool.py | 4 +- Lib/test/test_bz2.py | 12 +- Lib/test/test_c_locale_coercion.py | 9 +- Lib/test/test_capi.py | 31 + Lib/test/test_cmd_line.py | 6 +- Lib/test/test_cmd_line_script.py | 6 +- Lib/test/test_codecs.py | 79 +- Lib/test/test_collections.py | 2 +- Lib/test/test_compileall.py | 6 +- Lib/test/test_complex.py | 4 +- Lib/test/test_concurrent_futures.py | 26 +- Lib/test/test_contextlib.py | 34 + Lib/test/test_contextlib_async.py | 35 + Lib/test/test_csv.py | 31 +- Lib/test/test_dataclasses.py | 22 +- Lib/test/test_datetime.py | 94 +- Lib/test/test_dbm.py | 114 +- Lib/test/test_decimal.py | 15 +- Lib/test/test_descr.py | 16 +- Lib/test/test_devpoll.py | 7 +- Lib/test/test_dict.py | 4 +- Lib/test/test_dict_version.py | 2 +- Lib/test/test_difflib.py | 16 +- Lib/test/test_dis.py | 41 + Lib/test/test_distutils.py | 12 +- Lib/test/test_doctest.py | 35 +- Lib/test/test_doctest2.py | 21 +- Lib/test/test_dtrace.py | 19 +- Lib/test/test_email/test_email.py | 1 + Lib/test/test_email/test_message.py | 2 +- Lib/test/test_embed.py | 12 +- Lib/test/test_exceptions.py | 4 + Lib/test/test_fcntl.py | 6 +- Lib/test/test_filecmp.py | 5 +- Lib/test/test_fileio.py | 15 +- Lib/test/test_format.py | 2 +- Lib/test/test_ftplib.py | 15 +- Lib/test/test_functools.py | 183 +- Lib/test/test_future.py | 2 +- Lib/test/test_gc.py | 37 +- Lib/test/test_gdb.py | 14 +- Lib/test/test_genericalias.py | 30 +- Lib/test/test_global.py | 14 +- Lib/test/test_graphlib.py | 17 +- Lib/test/test_gzip.py | 6 +- Lib/test/test_http_cookiejar.py | 11 +- Lib/test/test_httpservers.py | 20 +- .../source/test_source_encoding.py | 2 +- Lib/test/test_importlib/test_locks.py | 14 +- .../test_importlib/test_threaded_import.py | 18 +- Lib/test/test_inspect.py | 37 +- Lib/test/test_io.py | 10 +- Lib/test/test_isinstance.py | 45 +- Lib/test/test_iter.py | 8 +- Lib/test/test_json/test_speedups.py | 9 + Lib/test/test_lltrace.py | 2 +- Lib/test/test_locale.py | 2 +- Lib/test/test_logging.py | 42 +- Lib/test/test_lzma.py | 13 +- Lib/test/test_mailbox.py | 10 +- Lib/test/test_math.py | 18 +- Lib/test/test_mimetypes.py | 23 +- Lib/test/test_multibytecodec.py | 4 +- Lib/test/test_optparse.py | 5 +- Lib/test/test_ossaudiodev.py | 5 +- Lib/test/test_pathlib.py | 4 +- Lib/test/test_pdb.py | 27 +- Lib/test/test_pickle.py | 53 +- Lib/test/test_pickletools.py | 12 +- Lib/test/test_pipes.py | 9 +- Lib/test/test_pkgutil.py | 8 +- Lib/test/test_poll.py | 7 +- Lib/test/test_poplib.py | 12 +- Lib/test/test_posix.py | 16 +- Lib/test/test_profile.py | 6 +- Lib/test/test_pydoc.py | 21 +- Lib/test/test_range.py | 10 +- Lib/test/test_readline.py | 4 +- Lib/test/test_resource.py | 5 +- Lib/test/test_sax.py | 18 +- Lib/test/test_selectors.py | 27 +- Lib/test/test_shelve.py | 127 +- Lib/test/test_shutil.py | 40 + Lib/test/test_socket.py | 114 +- Lib/test/test_ssl.py | 20 +- Lib/test/test_strftime.py | 2 +- Lib/test/test_support.py | 6 +- Lib/test/test_sys.py | 16 +- Lib/test/test_tarfile.py | 14 + Lib/test/test_tcl.py | 5 +- Lib/test/test_tempfile.py | 19 + Lib/test/test_threading.py | 33 + Lib/test/test_threadsignals.py | 10 +- Lib/test/test_time.py | 4 +- Lib/test/test_timeout.py | 10 +- Lib/test/test_tk.py | 8 +- Lib/test/test_tools/test_md5sum.py | 7 +- Lib/test/test_traceback.py | 13 + Lib/test/test_tracemalloc.py | 12 +- Lib/test/test_ttk_guionly.py | 41 +- Lib/test/test_ttk_textonly.py | 460 +- Lib/test/test_typing.py | 44 +- Lib/test/test_unicode_file.py | 6 +- Lib/test/test_unicode_file_functions.py | 12 +- Lib/test/test_unittest.py | 12 +- Lib/test/test_unparse.py | 2 +- Lib/test/test_urllib2_localnet.py | 13 +- Lib/test/test_venv.py | 10 +- Lib/test/test_weakref.py | 2 +- Lib/test/test_winconsoleio.py | 11 +- Lib/test/test_winreg.py | 7 +- Lib/test/test_wsgiref.py | 2 +- Lib/test/test_xml_etree.py | 15 +- Lib/test/test_xmlrpc.py | 16 +- Lib/test/test_xmlrpc_net.py | 9 +- Lib/test/test_zipimport.py | 14 +- Lib/test/test_zoneinfo/test_zoneinfo.py | 97 +- Lib/threading.py | 50 +- Lib/tkinter/__init__.py | 6 +- Lib/tkinter/test/runtktests.py | 69 - .../test/test_tkinter/test_colorchooser.py | 6 +- Lib/tkinter/test/test_tkinter/test_font.py | 6 +- Lib/tkinter/test/test_tkinter/test_images.py | 4 +- Lib/tkinter/test/test_tkinter/test_loadtk.py | 3 +- Lib/tkinter/test/test_tkinter/test_misc.py | 4 +- .../test/test_tkinter/test_simpledialog.py | 6 +- Lib/tkinter/test/test_tkinter/test_text.py | 6 +- .../test/test_tkinter/test_variables.py | 7 +- Lib/tkinter/test/test_tkinter/test_widgets.py | 7 +- Lib/tkinter/test/test_ttk/test_extensions.py | 22 +- Lib/tkinter/test/test_ttk/test_functions.py | 460 - Lib/tkinter/test/test_ttk/test_style.py | 6 +- Lib/tkinter/test/test_ttk/test_widgets.py | 79 +- Lib/tkinter/ttk.py | 5 +- Lib/typing.py | 83 +- Lib/unittest/async_case.py | 21 +- Lib/unittest/case.py | 18 +- Lib/unittest/mock.py | 13 +- Lib/unittest/test/test_async_case.py | 165 +- Lib/unittest/test/test_skipping.py | 204 + Lib/unittest/test/testmock/testsealable.py | 63 +- Lib/venv/__init__.py | 24 +- Lib/venv/scripts/common/Activate.ps1 | 2 +- Lib/wsgiref/validate.py | 2 +- Lib/xmlrpc/client.py | 10 +- Lib/zoneinfo/_zoneinfo.py | 2 +- .../bpo-44828-filedialog-crash-monterey.patch | 203 + Mac/BuildScript/build-installer.py | 6 +- Mac/BuildScript/resources/ReadMe.rtf | 24 +- .../IDLE.app/Contents/Resources/idlemain.py | 2 +- Mac/PythonLauncher/MyAppDelegate.m | 2 +- Mac/README.rst | 2 +- Mac/Resources/framework/Info.plist.in | 4 +- Makefile.pre.in | 1 - Misc/ACKS | 1 + Misc/NEWS | 354 +- Modules/_asynciomodule.c | 3 + Modules/_codecsmodule.c | 26 +- Modules/_cryptmodule.c | 3 + Modules/_csv.c | 52 +- Modules/_ctypes/_ctypes_test.c | 2 +- Modules/_ctypes/callproc.c | 8 +- Modules/_ctypes/cfield.c | 2 +- Modules/_ctypes/ctypes.h | 2 +- Modules/_datetimemodule.c | 2 +- Modules/_gdbmmodule.c | 4 +- Modules/_io/bufferedio.c | 8 +- Modules/_math.c | 2 +- Modules/_pickle.c | 4 +- Modules/_sqlite/connection.c | 5 + Modules/_sre.c | 2 +- Modules/_testcapimodule.c | 4 +- Modules/_testmultiphase.c | 24 + Modules/_tkinter.c | 2 +- Modules/_tracemalloc.c | 2 +- Modules/_zoneinfo.c | 2 +- Modules/arraymodule.c | 4 +- Modules/clinic/_codecsmodule.c.h | 44 +- Modules/clinic/_gdbmmodule.c.h | 4 +- Modules/clinic/arraymodule.c.h | 4 +- Modules/expat/xmlparse.c | 2 +- Modules/expat/xmltok.c | 8 +- Modules/gc_weakref.txt | 2 +- Modules/getbuildinfo.c | 5 +- Modules/getpath.c | 2 +- Modules/hashlib.h | 2 +- Modules/makesetup | 2 +- Modules/mathmodule.c | 11 +- Modules/posixmodule.c | 2 + Modules/sha1module.c | 2 +- Modules/socketmodule.c | 21 +- Modules/syslogmodule.c | 2 +- Modules/timemodule.c | 8 +- Modules/zlibmodule.c | 2 +- Objects/abstract.c | 20 +- Objects/descrobject.c | 80 +- Objects/floatobject.c | 2 +- Objects/genericaliasobject.c | 4 +- Objects/listobject.c | 2 +- Objects/listsort.txt | 2 +- Objects/obmalloc.c | 2 +- Objects/rangeobject.c | 34 +- Objects/setobject.c | 2 +- Objects/typeobject.c | 8 + Objects/unicodeobject.c | 119 +- PC/getpathp.c | 4 +- PC/pylauncher.rc | 1 - PC/pyshellext.rc | 1 - PC/python_exe.rc | 1 - PC/python_nt.rc | 1 - PC/pythonw_exe.rc | 1 - PC/sqlite3.rc | 1 - PCbuild/get_external.py | 19 +- PCbuild/lib.pyproj | 2 - Parser/pegen/parse.c | 172 +- Parser/pegen/parse_string.c | 2 +- Parser/pegen/pegen.c | 12 +- Programs/_testembed.c | 20 +- Python/ast.c | 2 +- Python/bootstrap_hash.c | 4 +- Python/dynload_hpux.c | 2 +- Python/errors.c | 34 +- Python/fileutils.c | 18 +- Python/import.c | 4 +- Python/importdl.c | 7 +- Python/initconfig.c | 2 +- Python/pathconfig.c | 2 +- Python/pythonrun.c | 42 +- Python/pytime.c | 4 +- Python/thread_pthread.h | 53 +- README.rst | 2 +- Tools/clinic/clinic.py | 4 +- Tools/peg_generator/pegen/c_generator.py | 4 +- Tools/peg_generator/pegen/first_sets.py | 2 +- .../scripts/download_pypi_packages.py | 2 +- Tools/pynche/ColorDB.py | 2 +- Tools/scripts/dutree.doc | 2 +- Tools/scripts/pep384_macrocheck.py | 4 +- Tools/ssl/multissltests.py | 6 +- Tools/stringbench/stringbench.py | 2 +- configure | 79 +- configure.ac | 17 +- pyconfig.h.in | 6 + setup.py | 16 +- 421 files changed, 19437 insertions(+), 12517 deletions(-) delete mode 100644 Lib/ensurepip/_bundled/pip-21.2.3-py3-none-any.whl create mode 100644 Lib/ensurepip/_bundled/pip-21.2.4-py3-none-any.whl rename Lib/ensurepip/_bundled/{setuptools-57.4.0-py3-none-any.whl => setuptools-58.1.0-py3-none-any.whl} (80%) create mode 100644 Lib/test/ann_module5.py create mode 100644 Lib/test/ann_module6.py delete mode 100644 Lib/tkinter/test/runtktests.py delete mode 100644 Lib/tkinter/test/test_ttk/test_functions.py create mode 100644 Mac/BuildScript/bpo-44828-filedialog-crash-monterey.patch diff --git a/Doc/c-api/call.rst b/Doc/c-api/call.rst index 31dc9c80..739b5e97 100644 --- a/Doc/c-api/call.rst +++ b/Doc/c-api/call.rst @@ -185,7 +185,7 @@ Object Calling API Various functions are available for calling a Python object. Each converts its arguments to a convention supported by the called object – either *tp_call* or vectorcall. -In order to do as litle conversion as possible, pick one that best fits +In order to do as little conversion as possible, pick one that best fits the format of data you have available. The following table summarizes the available functions; diff --git a/Doc/c-api/gcsupport.rst b/Doc/c-api/gcsupport.rst index f821b450..b0d62d8c 100644 --- a/Doc/c-api/gcsupport.rst +++ b/Doc/c-api/gcsupport.rst @@ -33,6 +33,14 @@ Constructors for container types must conform to two rules: #. Once all the fields which may contain references to other containers are initialized, it must call :c:func:`PyObject_GC_Track`. +Similarly, the deallocator for the object must conform to a similar pair of +rules: + +#. Before fields which refer to other containers are invalidated, + :c:func:`PyObject_GC_UnTrack` must be called. + +#. The object's memory must be deallocated using :c:func:`PyObject_GC_Del`. + .. warning:: If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one @@ -100,14 +108,6 @@ Constructors for container types must conform to two rules: .. versionadded:: 3.9 -Similarly, the deallocator for the object must conform to a similar pair of -rules: - -#. Before fields which refer to other containers are invalidated, - :c:func:`PyObject_GC_UnTrack` must be called. - -#. The object's memory must be deallocated using :c:func:`PyObject_GC_Del`. - .. c:function:: void PyObject_GC_Del(void *op) diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index eb0bd145..9d7876e0 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -448,7 +448,7 @@ Process-wide parameters (set by :c:func:`Py_SetProgramName` above) and some environment variables. The returned string consists of a series of directory names separated by a platform dependent delimiter character. The delimiter character is ``':'`` - on Unix and Mac OS X, ``';'`` on Windows. The returned string points into + on Unix and macOS, ``';'`` on Windows. The returned string points into static storage; the caller should not modify its value. The list :data:`sys.path` is initialized with this value on interpreter startup; it can be (and usually is) modified later to change the search path for loading @@ -469,7 +469,7 @@ Process-wide parameters default search path but uses the one provided instead. This is useful if Python is embedded by an application that has full knowledge of the location of all modules. The path components should be separated by the platform - dependent delimiter character, which is ``':'`` on Unix and Mac OS X, ``';'`` + dependent delimiter character, which is ``':'`` on Unix and macOS, ``';'`` on Windows. This also causes :data:`sys.executable` to be set to the program @@ -510,7 +510,7 @@ Process-wide parameters Return the platform identifier for the current platform. On Unix, this is formed from the "official" name of the operating system, converted to lower case, followed by the major revision number; e.g., for Solaris 2.x, which is - also known as SunOS 5.x, the value is ``'sunos5'``. On Mac OS X, it is + also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it is ``'darwin'``. On Windows, it is ``'win'``. The returned string points into static storage; the caller should not modify its value. The value is available to Python code as ``sys.platform``. diff --git a/Doc/c-api/type.rst b/Doc/c-api/type.rst index 69894cae..cc2d8fda 100644 --- a/Doc/c-api/type.rst +++ b/Doc/c-api/type.rst @@ -173,7 +173,7 @@ The following functions and structs are used to create The *module* argument can be used to record the module in which the new class is defined. It must be a module object or ``NULL``. If not ``NULL``, the module is associated with the new type and can later be - retreived with :c:func:`PyType_GetModule`. + retrieved with :c:func:`PyType_GetModule`. The associated module is not inherited by subclasses; it must be specified for each class individually. diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 5a1f5f99..a8006167 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -189,136 +189,136 @@ sub-slots .. table:: :widths: 26,17,12 - +---------------------------------------------------------+-----------------------------------+--------------+ - | Slot | :ref:`Type ` | special | - | | | methods | - +=========================================================+===================================+==============+ - | :c:member:`~PyAsyncMethods.am_await` | :c:type:`unaryfunc` | __await__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyAsyncMethods.am_aiter` | :c:type:`unaryfunc` | __aiter__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyAsyncMethods.am_anext` | :c:type:`unaryfunc` | __anext__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_add` | :c:type:`binaryfunc` | __add__ | - | | | __radd__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_add` | :c:type:`binaryfunc` | __iadd__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_subtract` | :c:type:`binaryfunc` | __sub__ | - | | | __rsub__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_subtract` | :c:type:`binaryfunc` | __sub__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_multiply` | :c:type:`binaryfunc` | __mul__ | - | | | __rmul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_multiply` | :c:type:`binaryfunc` | __mul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_remainder` | :c:type:`binaryfunc` | __mod__ | - | | | __rmod__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_remainder` | :c:type:`binaryfunc` | __mod__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_divmod` | :c:type:`binaryfunc` | __divmod__ | - | | | __rdivmod__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_power` | :c:type:`ternaryfunc` | __pow__ | - | | | __rpow__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_power` | :c:type:`ternaryfunc` | __pow__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_negative` | :c:type:`unaryfunc` | __neg__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_positive` | :c:type:`unaryfunc` | __pos__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_absolute` | :c:type:`unaryfunc` | __abs__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_bool` | :c:type:`inquiry` | __bool__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_invert` | :c:type:`unaryfunc` | __invert__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_lshift` | :c:type:`binaryfunc` | __lshift__ | - | | | __rlshift__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_lshift` | :c:type:`binaryfunc` | __lshift__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_rshift` | :c:type:`binaryfunc` | __rshift__ | - | | | __rrshift__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_rshift` | :c:type:`binaryfunc` | __rshift__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_and` | :c:type:`binaryfunc` | __and__ | - | | | __rand__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_and` | :c:type:`binaryfunc` | __and__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_xor` | :c:type:`binaryfunc` | __xor__ | - | | | __rxor__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_xor` | :c:type:`binaryfunc` | __xor__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_or` | :c:type:`binaryfunc` | __or__ | - | | | __ror__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_or` | :c:type:`binaryfunc` | __or__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_int` | :c:type:`unaryfunc` | __int__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_reserved` | void * | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_float` | :c:type:`unaryfunc` | __float__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_floor_divide` | :c:type:`binaryfunc` | __floordiv__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_floor_divide` | :c:type:`binaryfunc` | __floordiv__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_true_divide` | :c:type:`binaryfunc` | __truediv__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_true_divide` | :c:type:`binaryfunc` | __truediv__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_index` | :c:type:`unaryfunc` | __index__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_matrix_multiply` | :c:type:`binaryfunc` | __matmul__ | - | | | __rmatmul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyNumberMethods.nb_inplace_matrix_multiply` | :c:type:`binaryfunc` | __matmul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyMappingMethods.mp_length` | :c:type:`lenfunc` | __len__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyMappingMethods.mp_subscript` | :c:type:`binaryfunc` | __getitem__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyMappingMethods.mp_ass_subscript` | :c:type:`objobjargproc` | __setitem__, | - | | | __delitem__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_length` | :c:type:`lenfunc` | __len__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_concat` | :c:type:`binaryfunc` | __add__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_repeat` | :c:type:`ssizeargfunc` | __mul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_item` | :c:type:`ssizeargfunc` | __getitem__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_ass_item` | :c:type:`ssizeobjargproc` | __setitem__ | - | | | __delitem__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_contains` | :c:type:`objobjproc` | __contains__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_inplace_concat` | :c:type:`binaryfunc` | __iadd__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PySequenceMethods.sq_inplace_repeat` | :c:type:`ssizeargfunc` | __imul__ | - +---------------------------------------------------------+-----------------------------------+--------------+ - | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyBufferProcs.bf_getbuffer` | :c:func:`getbufferproc` | | - +---------------------------------------------------------+-----------------------------------+--------------+ - | :c:member:`~PyBufferProcs.bf_releasebuffer` | :c:func:`releasebufferproc` | | - +---------------------------------------------------------+-----------------------------------+--------------+ + +---------------------------------------------------------+-----------------------------------+---------------+ + | Slot | :ref:`Type ` | special | + | | | methods | + +=========================================================+===================================+===============+ + | :c:member:`~PyAsyncMethods.am_await` | :c:type:`unaryfunc` | __await__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyAsyncMethods.am_aiter` | :c:type:`unaryfunc` | __aiter__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyAsyncMethods.am_anext` | :c:type:`unaryfunc` | __anext__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_add` | :c:type:`binaryfunc` | __add__ | + | | | __radd__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_add` | :c:type:`binaryfunc` | __iadd__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_subtract` | :c:type:`binaryfunc` | __sub__ | + | | | __rsub__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_subtract` | :c:type:`binaryfunc` | __isub__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_multiply` | :c:type:`binaryfunc` | __mul__ | + | | | __rmul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_multiply` | :c:type:`binaryfunc` | __imul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_remainder` | :c:type:`binaryfunc` | __mod__ | + | | | __rmod__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_remainder` | :c:type:`binaryfunc` | __imod__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_divmod` | :c:type:`binaryfunc` | __divmod__ | + | | | __rdivmod__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_power` | :c:type:`ternaryfunc` | __pow__ | + | | | __rpow__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_power` | :c:type:`ternaryfunc` | __ipow__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_negative` | :c:type:`unaryfunc` | __neg__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_positive` | :c:type:`unaryfunc` | __pos__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_absolute` | :c:type:`unaryfunc` | __abs__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_bool` | :c:type:`inquiry` | __bool__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_invert` | :c:type:`unaryfunc` | __invert__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_lshift` | :c:type:`binaryfunc` | __lshift__ | + | | | __rlshift__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_lshift` | :c:type:`binaryfunc` | __ilshift__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_rshift` | :c:type:`binaryfunc` | __rshift__ | + | | | __rrshift__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_rshift` | :c:type:`binaryfunc` | __irshift__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_and` | :c:type:`binaryfunc` | __and__ | + | | | __rand__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_and` | :c:type:`binaryfunc` | __iand__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_xor` | :c:type:`binaryfunc` | __xor__ | + | | | __rxor__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_xor` | :c:type:`binaryfunc` | __ixor__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_or` | :c:type:`binaryfunc` | __or__ | + | | | __ror__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_or` | :c:type:`binaryfunc` | __ior__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_int` | :c:type:`unaryfunc` | __int__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_reserved` | void * | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_float` | :c:type:`unaryfunc` | __float__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_floor_divide` | :c:type:`binaryfunc` | __floordiv__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_floor_divide` | :c:type:`binaryfunc` | __ifloordiv__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_true_divide` | :c:type:`binaryfunc` | __truediv__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_true_divide` | :c:type:`binaryfunc` | __itruediv__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_index` | :c:type:`unaryfunc` | __index__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_matrix_multiply` | :c:type:`binaryfunc` | __matmul__ | + | | | __rmatmul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyNumberMethods.nb_inplace_matrix_multiply` | :c:type:`binaryfunc` | __imatmul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyMappingMethods.mp_length` | :c:type:`lenfunc` | __len__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyMappingMethods.mp_subscript` | :c:type:`binaryfunc` | __getitem__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyMappingMethods.mp_ass_subscript` | :c:type:`objobjargproc` | __setitem__, | + | | | __delitem__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_length` | :c:type:`lenfunc` | __len__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_concat` | :c:type:`binaryfunc` | __add__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_repeat` | :c:type:`ssizeargfunc` | __mul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_item` | :c:type:`ssizeargfunc` | __getitem__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_ass_item` | :c:type:`ssizeobjargproc` | __setitem__ | + | | | __delitem__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_contains` | :c:type:`objobjproc` | __contains__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_inplace_concat` | :c:type:`binaryfunc` | __iadd__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PySequenceMethods.sq_inplace_repeat` | :c:type:`ssizeargfunc` | __imul__ | + +---------------------------------------------------------+-----------------------------------+---------------+ + | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyBufferProcs.bf_getbuffer` | :c:func:`getbufferproc` | | + +---------------------------------------------------------+-----------------------------------+---------------+ + | :c:member:`~PyBufferProcs.bf_releasebuffer` | :c:func:`releasebufferproc` | | + +---------------------------------------------------------+-----------------------------------+---------------+ .. _slot-typedefs-table: @@ -657,6 +657,18 @@ and :c:type:`PyType_Type` effectively act as defaults.) :c:func:`PyObject_GC_Del` if the instance was allocated using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`. + If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` + flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` + before clearing any member fields. + + .. code-block:: c + + static void foo_dealloc(foo_object *self) { + PyObject_GC_UnTrack(self); + Py_CLEAR(self->ref); + Py_TYPE(self)->tp_free((PyObject *)self); + } + Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the deallocator should decrement the reference count for its type object after calling the type deallocator. In order to avoid dangling pointers, the diff --git a/Doc/data/python3.9.abi b/Doc/data/python3.9.abi index 228fefcd..e2037436 100644 --- a/Doc/data/python3.9.abi +++ b/Doc/data/python3.9.abi @@ -1290,7 +1290,9 @@ - + + + @@ -1691,9 +1693,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -1741,7 +1774,7 @@ - + @@ -1758,6 +1791,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1784,11727 +1846,16151 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + - + + + + - - - + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + + + + - + - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - + - + + + + + - + - + - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + - - + + - - + + + + - - + + + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + + + - - + + - - + + - - + + + + - - + + - - + + + + + + + + + + + - - + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + + + - - + + - - + + + + + - - + + - - + + - - + + + + + + + + + + + - - + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + + + - - + + - + - + + + + - + - - - - - - - - - - + - + - - - - + - - - - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + + + + - + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + - - + + - - - - - - - - - - - + + - - + + - - + + - - - - + + - - + + - - + + - - - - + + - - - - + + - - + + - - - - - + + - - + + - - + + - - - - - - - - - - - + + - - + + - - + + - - - - + + - - + + + + + - + + + + + + + + + + - + - + - - - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + + - - + + - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + + + + + + + + + + + + - - + + - - + + + + - - + + - - + + + + + + + + + + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + - - - - - - - + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - - - - - + + + + - - - - + + + + - - - - - + + + + - - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - - - - - - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + - - - - - - - - - - - + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - - - - - - - + + - - - - - - - - + + - - - - - - - + + - - - - - - + + - - - - - - + - - - + + - - - + + - - - + + - - + + + + + + + + + + + + + - - - - - - - - + + + - - - - + + + - - - - + + + - - + + + - - + + - - - + + - - - - + + - - - - + + - - - - - + + - - - - + + - - - + + - - - + + - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - - + + - - - - + + - - - + + - - - + + - - - - - + + - - - - - - + + - - - - + + - - - - - + + - - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - + + - - - + + - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - + + + + + - - - - + + + - - - - + + + - - - - + + + + + - - - - - + + + + - - - + + + - + - - - + + + - - - - + + + + + + - - - + + + + + + + + + + + + + + - - - + + + + + - - - + + + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + - - - + + - - - + + + - - - - + + + + - - - + + + + + + + + - - - + + - - - - + + - - + - - - - - - - - + + - - - - - - + - - - - + + - - - - - - + + - - - + + - - - - - - + - - - - + - - - - + + - - - - - - + + - - - - - + + - - - - - - + + - - - - - + + - - - - - - + + - - - + + + + + + - - - + + + + - - - - + + + + + + + + + + + + + + + + + - - - - + + + + + - - - - - + + + + + + - - - + + + + + + - - - - + + + + + + - - - + + + + + + - - - + + + + + + - - - + + + + + + - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - + + + + + + - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + - + - + - - - - + - + - + - + + + + - + - + - + - + - + - - - - + - + - - + + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + - + + + + - + - + - + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + + + - - + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + - - + + + + - - + + - - + + - - + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - + - - - - + + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - + - + - + - - - - - - - - - - - - - - - + + - - + + - - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - + - + - - - - + + - - + + - - - - - + + - - + + - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - + - - - - - - + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - - - - - - - - - - - - - + - - - - + - - - - + - - - - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + - - + + - - + + - - + + - - + + + + + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - + - - - - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + - + - - - - - - + - + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + - - - - - + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - - + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - + + + - - + + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + - - - + + + - - + + + + - - + + + + + - - - - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - + + + + - - + + + + + + + + + - - - - - + + + + - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + - - - + + + - - - + + + + - - - + + - - - - + + + - - - - + + + + + - - - - + + + + - - - + + + + - - - - + + + + - - - - + + + + + - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + + + - - - - - + + + + - - - - - + + + + - - - + + + + + + + + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - - - - - - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - + + - - - + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + + + + + + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + + - - - + + + + - - + + + + + + + + + + + + + + + - - + + + - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + - - - + + - - - + - - - + + - - - - + + - - - + + - - - - - - - + + - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - + + - - - + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + - - - - - - - - + + - - - + + + + + + + + - - - + + + + + + + + - - - - - - + + + + + + + + - - + + + + - - - + + + + + - - - - + + + + + - - - - + + - - - - - - - - - - + + - - - - - - - - - + + - - - - + + - - - - + + - - - - - + + - - - - - + + - - - - - + + - - + - - - + + - - - + + - - - + + - + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - + + + - - + - - - + + + + + + + - - - - + + - - - - - + - - - - - - + + - - - + + - - - - - - - - + + - - - + + - - - - + + - - - + + - - - - + + - - - + + - - - - + + - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - - - + + - - - + + - - - + + - - - - - - - - - - - - - - - - + - - - - - + + - - - - + - - - + + - - - - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + - - - + + + + + - - - - - - - - - - - - + + + - - - + + - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - - + + - - - - + + - - - - + + - - - - - - + + - - - - - + + - - - - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - - - - + + - - - + + - - - + + - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + + - - + + + + - - + + + - - + + + + - - + + + + - - + + + + - - + + + + - - - + + + + - - + + + - - + + - - - - - - - - - - - - - - - + + - - - + + + - - - + + + - - - + + - - - - + + - - - - + + + + + + - - - - + + + - - - + + - - - - + + - - - - - + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - + + - - - - - + + - - - + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - + + - - - - + + + + + + + + - - - + + + + - - - - - - + + + + - - - - + + - - - - + + + - - - + - - - + + - - - - + - - - + - - + + + - - + - - - - - - + + - - - - + + - - + - - - - - - - - - - - - - - - - - - + + - - - - - + + - - + + - - - - - - - - - - + + - - - - - + + - - - + + - - - + + - - - - - + + - - - - - - - - - + + + + - - - - - - - - - + + + - - - - - + + + + + - - - - - - - + + + + + - - + + + - - + + - - - + + + + - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - - - - - + + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + + + - - - - + + - - - - + + + + - - - - + + + + + - - - - + + + + + - - - + + - - - + + + - - + + + + - - + + + - - + - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + - - + + + + - - - - - - - + + + + - - + + + + - - - - + + + + + + - + + - + + + + - - + + + + + - - + + + + - - + + + + + - - + + - - + + + + + + + + + + + - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - - - + + + - - - - - + + + + + - - - - - + + + + + + + + + + - - - - + + + + + - - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + - - - + + + + + + + + + + + - - - - - + + - - - - + + - - - - - + + - - - - - + + - - - - + + - - - - - + + - - - - + + - - - - + + - - - + + - - - - - + + - - - - + + - - - - + + + + + + + + + + + + + + + + - - - + + + + - - - + + - - - - + + + + + - - - - - - - - - + + + + - - - + + + + - - - + + + + + + + + - - - + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + - - + + + + + + - - - - + + + + + + - - + + + + + + - - - + + + + + + - - - - - + + + + + + - - - + + + + + + + - - - - - + + + + + + + - - - - + + + + + + + - - - + + + + + + + - - + + + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - + + + + + + - - + + + + + + - - - + + + + + - - - - + + + + + - - - - + + + + + - - - + + + + + - - - + + + + + + - - - + + - - - - - + + - - + - - - - + + - - - - + + - - - + + + + - - - + + + + - - - - + + + + - - - - + + + + - - - + + - + + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + - + - + - + - - + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + - - - - - - - - - - - - - + + + - - - - - + + + - - - - + + - + + - - + - + + - - - - - - + - + - - - - - + + + + + + - - - - + + + + + + + + + + + + + + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + - - + + - - - - - + + - - - + + - - - - + + + - - - - + + + + + + - - - + + + + + + - - - + + + + + - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + - - - - - + + + + + + - - - - - - + + + - - - + + - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + - - - - + + - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - - - - + + - - - - - + + - - - - + + - - + - - - - - + + - - - - + + - - - + + - - - + + - - + - - - - - - - + + + - - - - + + - - - - + + - - - + + - - - + + - - - - + + + + + + + + + + + + + + + + + + + + - + - + - - - - + - + - - - - - - - - - + - - - - - - - + + + + + + + + + + + - - - - - + + + + + + + - - - - + + + + + + + - - - - + + + + + - - - + + + + + - - - - + + + - - - - + + + - - - - - + + + - - - - + + + - - - + + + + + - - + - - + + - - - - + + + + - - - + + + + - - - + + + + - - - - - - - - - - - - - + + + + - - - + + + + + - - - - + + + + - - - - + + + - - - - + + - - - + + - - - - + + + - - - - - + + + - - - - + + - - - + + + - - - + + + + + + + + - - + - - + - - - - + + - - - - - - + + - - + - - - + + - - - - - + + - - - - - + + - - - - - - + + - - - - + + - - - - + + - - - - + + - - - - - + + - - + - - - - - + + - - - - + + - - - - + + - - - - - + + - - - - - - + + - - - - - + + - - - - - + + - - - + + - - - + + + + + + + + - - - + - - - + - - - + + + - - - - + + + + - - - - + + + + - - - - + + - - - - + + + - - - - + + + - - - + + - - - - + + + + + - - - - + + + + + - - - - - - + + - - - - - + - - - - - + + - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - + + - - - - - - - - - - - - + + - - - - - - + + - - - - + + - - - + + + + + + + - - - - - + + + + + - - - - - - + + + + + - - - - + + + + + - - - - - - + + + + + + + - - - - - + + + + + + + - - + + + - - - - - + + + - - + + + - - - + + + - - - - - + + + + - - - - - + + - - - + + + + + + + + - - - - + + + + + + - - - - - + + - - - - - + + + + + + + - - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - - - + + - - - + + - - - - - + + - - - - - - + + - - - + + + - - - - - - + + + - - - - - + + + - - - - - - - + + + - - - - - - + + - - - + + - - - - - - + + - - - - - + + - - - - - - - + + - - - - - - + + - - - + + - - - - - + + - - - - + + - - - - - - - - - - - - - - - + + - - - - - - - - + + - - - - - + + + + + + + - - - - - + + + + + + + + + - - - - - - - + + + + + + + + + + - - - - - - + + + + - - - - - - + + + + - - - - - + + + - - + + + - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - - + + - - - + + - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - - - + + + - - - - - + + + - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + - - - - - - + + + + - - - - - + + - - - - - + + + - - - - - - + + + - - - - - + + + + - - - + + + - - - + + + + - - - - + + + - - - - - + + + - - - - + + - - - - + + + - - - + + - - - - - - + + - - - + + + - - - - - + + - - - - - + + + + + - - - - + + + + + - - - + + + + + - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - + - - + - - - - - - - + + - - - - - - + - - - - + + - - - - + + + + - - + + + + + + - - - + + + - - - - + - - - + + - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - + + - - - + + - - - + + - - - - - - - + - - - + + - - - - + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + - - - - + + - - - - - - - - - + + - - - - - - - - + + + + + + + + - - - - - - - - + + - - - - - + + - - - - - - + + - - - - - - + + - - - - + + - - - - - + + - - - - - - - - + + - - - - - - + + - - - + + - - - - - - - - - - - - - - - - - + + - - - - - - - - - + - - - + + - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - + + - - + + - - + + - - - + + - - + + - - + + - - + + - - - + + - - + + - - - + + - - + + - - - + - - - + - - - - - + + - - - + - - - - - + + - - - - + + - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + - - - - - + + - - - - + + - - - + + - - - - - + + - - - - + + - - + - - + + - - + + - - - - + + - - - - - + + - - + - - + - - + + - - + - - + - - + - + - + - + - - + + - - + - - + + - - + + + + + + + + - - - - - + + + + + + + + + + + + + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - + + + + - - - + + + + + + + - - - - - + + + - - - - - + + + + + + + + + - - - - + + - - - - - + + - - - - - + + - - - - - + + + + + - - - - - + + - - - + - - - - + + + - - - + + + - - - + + + - - - - + + - - - - + + - - + + + - - - + + + - - - + + + - - - + + + - - - - - - + + - - - - - + + + - - - - + + + - - - - - - - + + + + + - - - - - - - + + - - - - + + - - - - - - - - - + + + + - - - - + + - - - - - + + + - - - - + + + - - + + + + + + + - - + + + - + + - - - + + + - - + + + - - + + + - - - - - + + - - - + + - - - - - - - - - - + + + - - - - + + + - - + + - - - + + - - - - - - - - - - - - + + + - - - - - + + + - - - - - - + + - - - - - + + + - + + - - - + + - - - - - + + - - - - - - + + + - - - + + + - - - - + + + - - - - - + + + - - - - + + + - - + + + + + - - - + + - - + + - - - - - + + - - - - - - + + - - + - - - - + - - - - + - - - - + - - - - - + - + - - + - - - - + - - - - - + - - - - + - - - - - + - - + + + + + - - - + + + - - - + + + + + + + + + + + + + + + - + + + + + - - - - + + + + + - - - - - + + + + - - - + + + + + + + + - - - - + + + + + + + + - - - + + + + + + + - - - - + + + + + - - - - - + + + + + - - - + + + + - - - - - + + + + - - - - - - + + + + + - - - - - - + + + - - - - - - - - - - - - - - - - + + + - - - - + + + + + + - - - - - - + + + + + - - - - + + + + + + - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + + + + - - - - - - + + + + + - - - - - - + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + + - - - - - - + + - - - - - + + + + - - - - - + + - - - - - + + - - - - - - + + - - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + - - - - - - - - - + + - + + + + - + + + + - + - - - - - - - - - - - - - - - - + + - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - + + + - - - - - - - - - - - - - - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + + + + + + + - - - - - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + - - - + + - - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + - - - - - - + + + + + - - - - - - + + + + - - - - - + + + + - - - - + + + - - - + + + + + - - - + + + + + - - - - + + + + - - - - + + + - - - - - + + + - - + + + - - + + + - - - + + + + + + - - - + + + + + - - - - - - + + + + - - - - - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - + + - - - - - + + - - - - - + + - - - - - + + + + + + - - - + + + + - - + - - + - - + - - - - + - + - + - - - + + + + + + - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + + + + + + - - - + + + + + - - - + + + + + - - - + + - - - + + - - + + + + + + - - - + + + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + + - - - + + + - - + - - - + + + - - + - - - - + + - - - - + + - - - - - - - + + - - - - - + + + - - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - + + + + - - - - + + + + - - - + + - - - + + - - - - + + - - - - - - - - + + - - - - - - + + - - - - - - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + - - + - - + - - + - - - - - - - - + + - - - - - - - - - + + - - - - + - - - - + + - - - - + + - - - + - - + - - + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - + + + + - - - + + + - - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - + + + + + + + + + + - + + - - + + - - + - - - + + + + + + + + + + + + - - + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + - - - + - - + - - + - - + + - - - + + - + - - + + - + - - + - - - - - + + - - + + - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - + + - - - + + - - - + + - - - + + - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - + + + + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + - - + + - - - - + + - - - + + - - - + - - - + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - + + + - - - + + - - + + + + + + + + - - - - - - - - - + + + - - + + + + + - + + + + - - + + + + + - - - - - + + + + + - - + + + + + - - + + + + - - - + + + + - - - + + + + - - - + + + + - - + + + + - - + + + + + - - - + + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + + + - - - + + + + + + + + - - - + + + + - - - - - + + + + - - + + + + - - + + + + + + + + - - - - + + - - + + + - - + - - + - - + - - - - - - - - - - - - - - - + + - - - + + - - + - - - + + - - - + + - - - + + - - - + + - - - + - - - + + - - + - - + - - - + + - - - + + - - - + + - - + + + + + + + + + + - - + - - + - - + + + - - + + - - - + + - - + - - + - - - + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - + - - - - - - + + - - - - - + + - - - - + + - - - - - - - - + + - - - - - - - - + + - - - - - - - + + - - - - - + + - - - - - + + - - - - + + - - - - + + - - - - - + + - - + - - + - - - - - - + + + + + - - - - - + + + - - - - - - + + + - - - - - - - - - - - + + + + - - - - - - - - - - - + + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + - - - - - - - + + - - - - - - - - - + + + + + - - - - - - + - - - - + + + + - - - - - + - + - - + - - + - - - + + - - - - + + - - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - + + + + + - + + + + + - - - + + - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - + + - - - - + + + - - + + + - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - + + - - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - - - + + - - - - - + + - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - - - - - + + - - - - - - + + - - - - - + + - - - + + - - - + + - - - - - + + - - - - - - + + - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - - - - - - - - + + - - - - + + - - + - - - - - + + - - - - - + + - - - - - + - - - + - - - + - - - + - - - + - - - - + - - + - - + + - - + - - + + - - + - - + - + - - - + + - - - - + + - - - - - + + - - - - + + - - - - + + - - - + + - - - + + - - - - + + - - - - + + - - + - - + + - - - + + - - + + - - - + + - - - - + + - - + - - - + + - + - - - + + - - - - + + - - + - - + - - + + - - - - + + - - - - + + - - + - - - - - - - - - - - - + + - - + - - + + - + - - + + - - + + - - - - + + - + - - - - - - - + + - - - - - - + + - - - - + - - - + + - - - - - - - - - - - + + - - - - - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - + + - - - - + + - - - - - - - - - - - - - - - - + + - - - - - - + + - - - - + + - - - - + + - - - - - - - - - - + + + + + + + + - - + - - - - + + - - - + + - - - + + - - - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - - + + - - - + + - - - - + + - - - - + + - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - - + + - - - - - + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + - - - - + + - - - - - - - - + + - - - - + + - - - - + + - - - - + + - - - - - - - - + + - + - - + + - - - + + - - - - - - - - - - - - - - + + - - - - + + - - + + - - - - - + + - - - + + - - + - - - - + + - - - - + + - - - + + - - - + + + + + + + + + + + + + + - - - + + - - - + + - - + - - + - - + + - - + + - - + + - - + + - - - - + - - - - + + - - - + + - - - - + + - - - - - - + + - - - - - - + + - - - + + - - - + + + + + - + - + - + - + @@ -13517,167 +18003,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + - - - - + + - - + + - - - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13689,16 +18218,95 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13709,16 +18317,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,17 +18480,38 @@ + + + + + + + + + + + + + + + + + + + + + @@ -13770,19 +18519,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13808,16 +18635,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Doc/distributing/index.rst b/Doc/distributing/index.rst index 56a0a2ea..136cf4e7 100644 --- a/Doc/distributing/index.rst +++ b/Doc/distributing/index.rst @@ -31,7 +31,7 @@ installing other Python projects, refer to the Key terms ========= -* the `Python Packaging Index `__ is a public +* the `Python Package Index `__ is a public repository of open source licensed packages made available for use by other Python users * the `Python Packaging Authority @@ -101,7 +101,7 @@ by invoking the ``pip`` module at the command line:: .. note:: - For POSIX users (including Mac OS X and Linux users), these instructions + For POSIX users (including macOS and Linux users), these instructions assume the use of a :term:`virtual environment`. For Windows users, these instructions assume that the option to @@ -127,14 +127,14 @@ involved in creating and publishing a project: * `Project structure`_ * `Building and packaging the project`_ -* `Uploading the project to the Python Packaging Index`_ +* `Uploading the project to the Python Package Index`_ * `The .pypirc file`_ .. _Project structure: \ https://packaging.python.org/tutorials/packaging-projects/#packaging-python-projects .. _Building and packaging the project: \ https://packaging.python.org/tutorials/packaging-projects/#creating-the-package-files -.. _Uploading the project to the Python Packaging Index: \ +.. _Uploading the project to the Python Package Index: \ https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives .. _The .pypirc file: \ https://packaging.python.org/specifications/pypirc/ @@ -150,7 +150,7 @@ These are quick answers or links for some common tasks. This isn't an easy topic, but here are a few tips: -* check the Python Packaging Index to see if the name is already in use +* check the Python Package Index to see if the name is already in use * check popular hosting sites like GitHub, Bitbucket, etc to see if there is already a project with that name * check what comes up in a web search for the name you're considering diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst index b14197c2..fadce738 100644 --- a/Doc/distutils/apiref.rst +++ b/Doc/distutils/apiref.rst @@ -373,7 +373,7 @@ This module provides the following functions. compiler object under Unix---if you supply a value for *compiler*, *plat* is ignored. - .. % Is the posix/nt only thing still true? Mac OS X seems to work, and + .. % Is the posix/nt only thing still true? macOS seems to work, and .. % returns a UnixCCompiler instance. How to document this... hmm. @@ -1119,11 +1119,11 @@ other utility module. For non-POSIX platforms, currently just returns ``sys.platform``. - For Mac OS X systems the OS version reflects the minimal version on which + For macOS systems the OS version reflects the minimal version on which binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during the build of Python), not the OS version of the current system. - For universal binary builds on Mac OS X the architecture value reflects + For universal binary builds on macOS the architecture value reflects the universal binary status instead of the architecture of the current processor. For 32-bit universal binaries the architecture is ``fat``, for 64-bit universal binaries the architecture is ``fat64``, and @@ -1132,7 +1132,7 @@ other utility module. a 3-way universal build (ppc, i386, x86_64) and ``intel`` is used for a universal build with the i386 and x86_64 architectures - Examples of returned values on Mac OS X: + Examples of returned values on macOS: * ``macosx-10.3-ppc`` diff --git a/Doc/extending/newtypes.rst b/Doc/extending/newtypes.rst index d9023709..7c51d8e2 100644 --- a/Doc/extending/newtypes.rst +++ b/Doc/extending/newtypes.rst @@ -73,7 +73,19 @@ function:: newdatatype_dealloc(newdatatypeobject *obj) { free(obj->obj_UnderlyingDatatypePtr); - Py_TYPE(obj)->tp_free(obj); + Py_TYPE(obj)->tp_free((PyObject *)obj); + } + +If your type supports garbage collection, the destructor should call +:c:func:`PyObject_GC_UnTrack` before clearing any member fields:: + + static void + newdatatype_dealloc(newdatatypeobject *obj) + { + PyObject_GC_UnTrack(obj); + Py_CLEAR(obj->other_obj); + ... + Py_TYPE(obj)->tp_free((PyObject *)obj); } .. index:: @@ -376,7 +388,7 @@ analogous to the :ref:`rich comparison methods `, like :c:func:`PyObject_RichCompareBool`. This function is called with two Python objects and the operator as arguments, -where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, ``Py_GT``, +where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, ``Py_GE``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with respect to the specified operator and return ``Py_True`` or ``Py_False`` if the comparison is successful, ``Py_NotImplemented`` to indicate that comparison is not diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst index d2b868eb..d0aee4e6 100644 --- a/Doc/faq/design.rst +++ b/Doc/faq/design.rst @@ -715,7 +715,7 @@ Why don't generators support the with statement? For technical reasons, a generator used directly as a context manager would not work correctly. When, as is most common, a generator is used as an iterator run to completion, no closing is needed. When it is, wrap -it as "contextlib.closing(generator)" in the 'with' statment. +it as "contextlib.closing(generator)" in the 'with' statement. Why are colons required for the if/while/def/class statements? diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst index 145283d0..86c56d95 100644 --- a/Doc/faq/gui.rst +++ b/Doc/faq/gui.rst @@ -23,7 +23,7 @@ install (since it comes included with most `binary distributions `_ of Python) and use. For more info about Tk, including pointers to the source, see the `Tcl/Tk home page `_. Tcl/Tk is fully portable to the -Mac OS X, Windows, and Unix platforms. +macOS, Windows, and Unix platforms. Depending on what platform(s) you are aiming at, there are also several alternatives. A `list of cross-platform diff --git a/Doc/faq/installed.rst b/Doc/faq/installed.rst index 42296533..16c9a74d 100644 --- a/Doc/faq/installed.rst +++ b/Doc/faq/installed.rst @@ -29,7 +29,7 @@ there are several possible ways it could have gotten there. * Some Windows machines also have Python installed. At this writing we're aware of computers from Hewlett-Packard and Compaq that include Python. Apparently some of HP/Compaq's administrative tools are written in Python. -* Many Unix-compatible operating systems, such as Mac OS X and some Linux +* Many Unix-compatible operating systems, such as macOS and some Linux distributions, have Python installed by default; it's included in the base installation. diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index 04d6592a..5286bbbc 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -836,6 +836,27 @@ ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a bug waiting to bite. +How do I get int literal attribute instead of SyntaxError? +---------------------------------------------------------- + +Trying to lookup an ``int`` literal attribute in the normal manner gives +a syntax error because the period is seen as a decimal point:: + + >>> 1.__class__ + File "", line 1 + 1.__class__ + ^ + SyntaxError: invalid decimal literal + +The solution is to separate the literal from the period +with either a space or parentheses. + + >>> 1 .__class__ + + >>> (1).__class__ + + + How do I convert a string to a number? -------------------------------------- @@ -1184,7 +1205,7 @@ difference is that a Python list can contain objects of many different types. The ``array`` module also provides methods for creating arrays of fixed types with compact representations, but they are slower to index than lists. Also -note that the Numeric extensions and others define array-like structures with +note that NumPy and other third party packages define array-like structures with various characteristics as well. To get Lisp-style linked lists, you can emulate cons cells using tuples:: diff --git a/Doc/howto/functional.rst b/Doc/howto/functional.rst index 74e86148..c7f8bc8f 100644 --- a/Doc/howto/functional.rst +++ b/Doc/howto/functional.rst @@ -65,11 +65,10 @@ output must only depend on its input. Some languages are very strict about purity and don't even have assignment statements such as ``a=3`` or ``c = a + b``, but it's difficult to avoid all -side effects. Printing to the screen or writing to a disk file are side -effects, for example. For example, in Python a call to the :func:`print` or -:func:`time.sleep` function both return no useful value; they're only called for -their side effects of sending some text to the screen or pausing execution for a -second. +side effects, such as printing to the screen or writing to a disk file. Another +example is a call to the :func:`print` or :func:`time.sleep` function, neither +of which returns a useful value. Both are called only for their side effects +of sending some text to the screen or pausing execution for a second. Python programs written in functional style usually won't go to the extreme of avoiding all I/O or all assignments; instead, they'll provide a diff --git a/Doc/includes/sqlite3/text_factory.py b/Doc/includes/sqlite3/text_factory.py index a857a155..c0d87cd5 100644 --- a/Doc/includes/sqlite3/text_factory.py +++ b/Doc/includes/sqlite3/text_factory.py @@ -3,9 +3,9 @@ import sqlite3 con = sqlite3.connect(":memory:") cur = con.cursor() -AUSTRIA = "\xd6sterreich" +AUSTRIA = "Österreich" -# by default, rows are returned as Unicode +# by default, rows are returned as str cur.execute("select ?", (AUSTRIA,)) row = cur.fetchone() assert row[0] == AUSTRIA diff --git a/Doc/install/index.rst b/Doc/install/index.rst index ae0d0294..eb4de247 100644 --- a/Doc/install/index.rst +++ b/Doc/install/index.rst @@ -199,7 +199,7 @@ directory. If you don't choose an installation directory---i.e., if you just run ``setup.py install``\ ---then the :command:`install` command installs to the standard location for third-party Python modules. This location varies by platform and -by how you built/installed Python itself. On Unix (and Mac OS X, which is also +by how you built/installed Python itself. On Unix (and macOS, which is also Unix-based), it also depends on whether the module distribution being installed is pure Python or contains extensions ("non-pure"): @@ -229,7 +229,7 @@ Notes: :file:`{prefix}` and :file:`{exec-prefix}` stand for the directories that Python is installed to, and where it finds its libraries at run-time. They are always -the same under Windows, and very often the same under Unix and Mac OS X. You +the same under Windows, and very often the same under Unix and macOS. You can find out what your Python installation uses for :file:`{prefix}` and :file:`{exec-prefix}` by running Python in interactive mode and typing a few simple commands. Under Unix, just type ``python`` at the shell prompt. Under @@ -305,7 +305,7 @@ install into it. It is enabled with a simple option:: Files will be installed into subdirectories of :data:`site.USER_BASE` (written as :file:`{userbase}` hereafter). This scheme installs pure Python modules and extension modules in the same location (also known as :data:`site.USER_SITE`). -Here are the values for UNIX, including Mac OS X: +Here are the values for UNIX, including macOS: =============== =========================================================== Type of file Installation directory @@ -728,7 +728,7 @@ Location and names of config files ---------------------------------- The names and locations of the configuration files vary slightly across -platforms. On Unix and Mac OS X, the three configuration files (in the order +platforms. On Unix and macOS, the three configuration files (in the order they are processed) are: +--------------+----------------------------------------------------------+-------+ diff --git a/Doc/installing/index.rst b/Doc/installing/index.rst index 31e9b0bd..4bacc7ba 100644 --- a/Doc/installing/index.rst +++ b/Doc/installing/index.rst @@ -44,7 +44,7 @@ Key terms ``venv``. It allows virtual environments to be used on versions of Python prior to 3.4, which either don't provide ``venv`` at all, or aren't able to automatically install ``pip`` into created environments. -* The `Python Packaging Index `__ is a public +* The `Python Package Index `__ is a public repository of open source licensed packages made available for use by other Python users. * the `Python Packaging Authority @@ -78,13 +78,13 @@ The standard packaging tools are all designed to be used from the command line. The following command will install the latest version of a module and its -dependencies from the Python Packaging Index:: +dependencies from the Python Package Index:: python -m pip install SomePackage .. note:: - For POSIX users (including Mac OS X and Linux users), the examples in + For POSIX users (including macOS and Linux users), the examples in this guide assume the use of a :term:`virtual environment`. For Windows users, the examples in this guide assume that the option to @@ -163,7 +163,7 @@ rather than attempting to install them with ``pip``. ... work with multiple versions of Python installed in parallel? ---------------------------------------------------------------- -On Linux, Mac OS X, and other POSIX systems, use the versioned Python commands +On Linux, macOS, and other POSIX systems, use the versioned Python commands in combination with the ``-m`` switch to run the appropriate copy of ``pip``:: @@ -225,8 +225,8 @@ users being expected to compile extension modules from source as part of the installation process. With the introduction of support for the binary ``wheel`` format, and the -ability to publish wheels for at least Windows and Mac OS X through the -Python Packaging Index, this problem is expected to diminish over time, +ability to publish wheels for at least Windows and macOS through the +Python Package Index, this problem is expected to diminish over time, as users are more regularly able to install pre-built extensions rather than needing to build them themselves. diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 6c01667b..fa731fec 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -1104,7 +1104,7 @@ Anything with more interesting error-handling or resource management should be done downstream after the arguments are parsed. For example, JSON or YAML conversions have complex error cases that require -better reporting than can be given by the ``type`` keyword. An +better reporting than can be given by the ``type`` keyword. A :exc:`~json.JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` exception would not be handled at all. diff --git a/Doc/library/array.rst b/Doc/library/array.rst index f2f7894e..f892d098 100644 --- a/Doc/library/array.rst +++ b/Doc/library/array.rst @@ -256,7 +256,6 @@ Examples:: Packing and unpacking of External Data Representation (XDR) data as used in some remote procedure call systems. - `The Numerical Python Documentation `_ - The Numeric Python extension (NumPy) defines another array type; see - http://www.numpy.org/ for further information about Numerical Python. + `NumPy `_ + The NumPy package defines another array type. diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index b8eecbda..149179d5 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -1549,6 +1549,19 @@ and classes for traversing abstract syntax trees: ``await`` as variable names. The lowest supported version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``. + If source contains a null character ('\0'), :exc:`ValueError` is raised. + + .. warning:: + Note that successfully parsing source code into an AST object doesn't + guarantee that the source code provided is valid Python code that can + be executed as the compilation step can raise further :exc:`SyntaxError` + exceptions. For instance, the source ``return 42`` generates a valid + AST node for a return statement, but it cannot be compiled alone (it needs + to be inside a function node). + + In particular, :func:`ast.parse` won't do any scoping checks, which the + compilation step does. + .. warning:: It is possible to crash the Python interpreter with a sufficiently large/complex string due to stack depth limitations diff --git a/Doc/library/asyncio-stream.rst b/Doc/library/asyncio-stream.rst index 714de8d4..bf431cfb 100644 --- a/Doc/library/asyncio-stream.rst +++ b/Doc/library/asyncio-stream.rst @@ -373,8 +373,8 @@ TCP echo server using the :func:`asyncio.start_server` function:: server = await asyncio.start_server( handle_echo, '127.0.0.1', 8888) - addr = server.sockets[0].getsockname() - print(f'Serving on {addr}') + addrs = ', '.join(str(sock.getsockname()) for sock in server.sockets) + print(f'Serving on {addrs}') async with server: await server.serve_forever() diff --git a/Doc/library/cgi.rst b/Doc/library/cgi.rst index 0c985c07..3ec919e9 100644 --- a/Doc/library/cgi.rst +++ b/Doc/library/cgi.rst @@ -89,7 +89,7 @@ To get at submitted form data, use the :class:`FieldStorage` class. If the form contains non-ASCII characters, use the *encoding* keyword parameter set to the value of the encoding defined for the document. It is usually contained in the META tag in the HEAD section of the HTML document or by the -:mailheader:`Content-Type` header). This reads the form contents from the +:mailheader:`Content-Type` header. This reads the form contents from the standard input or the environment (depending on the value of various environment variables set according to the CGI standard). Since it may consume standard input, it should be instantiated only once. diff --git a/Doc/library/codecs.rst b/Doc/library/codecs.rst index 3338545e..2f7497c0 100644 --- a/Doc/library/codecs.rst +++ b/Doc/library/codecs.rst @@ -920,7 +920,7 @@ it's a device to determine the storage layout of the encoded bytes, and vanishes once the byte sequence has been decoded into a string; as a ``ZERO WIDTH NO-BREAK SPACE`` it's a normal character that will be decoded like any other. -There's another encoding that is able to encoding the full range of Unicode +There's another encoding that is able to encode the full range of Unicode characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no issues with byte order in UTF-8. Each byte in a UTF-8 byte sequence consists of two parts: marker bits (the most significant bits) and payload bits. The marker bits diff --git a/Doc/library/collections.abc.rst b/Doc/library/collections.abc.rst index 2345e78a..cb4f7670 100644 --- a/Doc/library/collections.abc.rst +++ b/Doc/library/collections.abc.rst @@ -24,6 +24,9 @@ This module provides :term:`abstract base classes ` that can be used to test whether a class provides a particular interface; for example, whether it is hashable or whether it is a mapping. +.. versionadded:: 3.9 + These abstract classes now support ``[]``. See :ref:`types-genericalias` + and :pep:`585`. .. _collections-abstract-base-classes: diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst index 3de59183..60d33f59 100644 --- a/Doc/library/configparser.rst +++ b/Doc/library/configparser.rst @@ -237,7 +237,8 @@ A configuration file consists of sections, each led by a ``[section]`` header, followed by key/value entries separated by a specific string (``=`` or ``:`` by default [1]_). By default, section names are case sensitive but keys are not [1]_. Leading and trailing whitespace is removed from keys and values. -Values can be omitted, in which case the key/value delimiter may also be left +Values can be omitted if the parser is configured to allow it [1]_, +in which case the key/value delimiter may also be left out. Values can also span multiple lines, as long as they are indented deeper than the first line of the value. Depending on the parser's mode, blank lines may be treated as parts of multiline values or ignored. diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index fd6422cc..b186f1d5 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -20,7 +20,7 @@ ctypes tutorial Note: The code samples in this tutorial use :mod:`doctest` to make sure that they actually work. Since some code samples behave differently under Linux, -Windows, or Mac OS X, they contain doctest directives in comments. +Windows, or macOS, they contain doctest directives in comments. Note: Some code samples reference the ctypes :class:`c_int` type. On platforms where ``sizeof(long) == sizeof(int)`` it is an alias to :class:`c_long`. @@ -80,7 +80,7 @@ the library by creating an instance of CDLL by calling the constructor:: >>> -.. XXX Add section for Mac OS X. +.. XXX Add section for macOS. .. _ctypes-accessing-functions-from-loaded-dlls: @@ -1288,7 +1288,7 @@ Here are some examples:: 'libbz2.so.1.0' >>> -On OS X, :func:`find_library` tries several predefined naming schemes and paths +On macOS, :func:`find_library` tries several predefined naming schemes and paths to locate the library, and returns a full pathname if successful:: >>> from ctypes.util import find_library diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst index dae0dd7a..0f8b70cd 100644 --- a/Doc/library/datetime.rst +++ b/Doc/library/datetime.rst @@ -27,6 +27,9 @@ on efficient attribute extraction for output formatting and manipulation. Module :mod:`time` Time access and conversions. + Module :mod:`zoneinfo` + Concrete time zones representing the IANA time zone database. + Package `dateutil `_ Third-party library with expanded time zone and parsing support. @@ -2174,14 +2177,13 @@ only EST (fixed offset -5 hours), or only EDT (fixed offset -4 hours)). .. seealso:: - `dateutil.tz `_ + :mod:`zoneinfo` The :mod:`datetime` module has a basic :class:`timezone` class (for handling arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` attribute (a UTC timezone instance). - *dateutil.tz* library brings the *IANA timezone database* - (also known as the Olson database) to Python, and its usage is - recommended. + ``zoneinfo`` brings the *IANA timezone database* (also known as the Olson + database) to Python, and its usage is recommended. `IANA timezone database `_ The Time Zone Database (often called tz, tzdata or zoneinfo) contains code @@ -2431,7 +2433,8 @@ incomplete or ambiguous ISO 8601 directives will raise a :exc:`ValueError`. The full set of format codes supported varies across platforms, because Python calls the platform C library's :func:`strftime` function, and platform variations are common. To see the full set of format codes supported on your -platform, consult the :manpage:`strftime(3)` documentation. +platform, consult the :manpage:`strftime(3)` documentation. There are also +differences between platforms in handling of unsupported format specifiers. .. versionadded:: 3.6 ``%G``, ``%u`` and ``%V`` were added. diff --git a/Doc/library/dbm.rst b/Doc/library/dbm.rst index 57ae547b..ff01ae90 100644 --- a/Doc/library/dbm.rst +++ b/Doc/library/dbm.rst @@ -216,7 +216,7 @@ supported. contains them all:: k = db.firstkey() - while k != None: + while k is not None: print(k) k = db.nextkey(k) diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst index bbe8bdc8..4e15901c 100644 --- a/Doc/library/enum.rst +++ b/Doc/library/enum.rst @@ -1125,9 +1125,9 @@ and raise an error if the two do not match:: _Private__names """"""""""""""" -Private names will be normal attributes in Python 3.10 instead of either an error +:ref:`Private names ` will be normal attributes in Python 3.11 instead of either an error or a member (depending on if the name ends with an underscore). Using these names -in 3.9 will issue a :exc:`DeprecationWarning`. +in 3.9 and 3.10 will issue a :exc:`DeprecationWarning`. ``Enum`` member type @@ -1150,6 +1150,10 @@ all-uppercase names for members):: >>> FieldTypes.size.value 2 +.. note:: + + This behavior is deprecated and will be removed in 3.12. + .. versionchanged:: 3.5 @@ -1200,3 +1204,8 @@ all named flags and all named combinations of flags that are in the value:: >>> Color(7) # not named combination +.. note:: + + In 3.11 unnamed combinations of flags will only produce the canonical flag + members (aka single-value flags). So ``Color(7)`` would produce something + like ````. diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst index 85cd193f..6c21c6b9 100644 --- a/Doc/library/exceptions.rst +++ b/Doc/library/exceptions.rst @@ -34,6 +34,10 @@ class or one of its subclasses, and not from :exc:`BaseException`. More information on defining exceptions is available in the Python Tutorial under :ref:`tut-userexceptions`. + +Exception context +----------------- + When raising (or re-raising) an exception in an :keyword:`except` or :keyword:`finally` clause :attr:`__context__` is automatically set to the last exception caught; if the @@ -67,6 +71,25 @@ exceptions so that the final line of the traceback always shows the last exception that was raised. +Inheriting from built-in exceptions +----------------------------------- + +User code can create subclasses that inherit from an exception type. +It's recommended to only subclass one exception type at a time to avoid +any possible conflicts between how the bases handle the ``args`` +attribute, as well as due to possible memory layout incompatibilities. + +.. impl-detail:: + + Most built-in exceptions are implemented in C for efficiency, see: + :source:`Objects/exceptions.c`. Some have custom memory layouts + which makes it impossible to create a subclass that inherits from + multiple exception types. The memory layout of a type is an implementation + detail and might change between Python versions, leading to new + conflicts in the future. Therefore, it's recommended to avoid + subclassing multiple exception types altogether. + + Base classes ------------ @@ -717,6 +740,8 @@ The following exceptions are used as warning categories; see the (:pep:`565`). Enabling the :ref:`Python Development Mode ` shows this warning. + The deprecation policy is described in :pep:`387`. + .. exception:: PendingDeprecationWarning @@ -731,6 +756,8 @@ The following exceptions are used as warning categories; see the Ignored by the default warning filters. Enabling the :ref:`Python Development Mode ` shows this warning. + The deprecation policy is described in :pep:`387`. + .. exception:: SyntaxWarning diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index c5c1c161..4acbc67b 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -507,7 +507,7 @@ are always available. They are listed here in alphabetical order. a suite of Python statements which is then executed (unless a syntax error occurs). [#]_ If it is a code object, it is simply executed. In all cases, the code that's executed is expected to be valid as file input (see the - section "File input" in the Reference Manual). Be aware that the + section :ref:`file-input` in the Reference Manual). Be aware that the :keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may not be used outside of function definitions even within the context of code passed to the @@ -862,8 +862,8 @@ are always available. They are listed here in alphabetical order. Return ``True`` if *class* is a subclass (direct, indirect or :term:`virtual `) of *classinfo*. A class is considered a subclass of itself. *classinfo* may be a tuple of class - objects, in which case every entry in *classinfo* will be checked. In any other - case, a :exc:`TypeError` exception is raised. + objects, in which case return ``True`` if *class* is a subclass of any entry + in *classinfo*. In any other case, a :exc:`TypeError` exception is raised. .. function:: iter(object[, sentinel]) @@ -1298,8 +1298,11 @@ are always available. They are listed here in alphabetical order. coercion rules for binary arithmetic operators apply. For :class:`int` operands, the result has the same type as the operands (after coercion) unless the second argument is negative; in that case, all arguments are - converted to float and a float result is delivered. For example, ``10**2`` - returns ``100``, but ``10**-2`` returns ``0.01``. + converted to float and a float result is delivered. For example, ``pow(10, 2)`` + returns ``100``, but ``pow(10, -2)`` returns ``0.01``. For a negative base of + type :class:`int` or :class:`float` and a non-integral exponent, a complex + result is delivered. For example, ``pow(-9, 0.5)`` returns a value close + to ``3j``. For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must also be of integer type and *mod* must be nonzero. If *mod* is present and @@ -1513,14 +1516,12 @@ are always available. They are listed here in alphabetical order. .. class:: slice(stop) slice(start, stop[, step]) - .. index:: single: Numerical Python - Return a :term:`slice` object representing the set of indices specified by ``range(start, stop, step)``. The *start* and *step* arguments default to ``None``. Slice objects have read-only data attributes :attr:`~slice.start`, :attr:`~slice.stop` and :attr:`~slice.step` which merely return the argument values (or their default). They have no other explicit functionality; - however they are used by Numerical Python and other third party extensions. + however they are used by NumPy and other third party packages. Slice objects are also generated when extended indexing syntax is used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See :func:`itertools.islice` for an alternate version that returns an iterator. @@ -1547,6 +1548,15 @@ are always available. They are listed here in alphabetical order. compare equal --- this is helpful for sorting in multiple passes (for example, sort by department, then by salary grade). + The sort algorithm uses only ``<`` comparisons between items. While + defining an :meth:`~object.__lt__` method will suffice for sorting, + :PEP:`8` recommends that all six :ref:`rich comparisons + ` be implemented. This will help avoid bugs when using + the same data with other ordering tools such as :func:`max` that rely + on a different underlying method. Implementing all six comparisons + also helps avoid confusion for mixed type comparisons which can call + reflected the :meth:`~object.__gt__` method. + For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`. .. decorator:: staticmethod diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index b2901e43..1e408482 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -392,8 +392,8 @@ The :mod:`functools` module defines the following functions: dispatch>` :term:`generic function`. To define a generic function, decorate it with the ``@singledispatch`` - decorator. Note that the dispatch happens on the type of the first argument, - create your function accordingly:: + decorator. When defining a function using ``@singledispatch``, note that the + dispatch happens on the type of the first argument:: >>> from functools import singledispatch >>> @singledispatch @@ -403,9 +403,9 @@ The :mod:`functools` module defines the following functions: ... print(arg) To add overloaded implementations to the function, use the :func:`register` - attribute of the generic function. It is a decorator. For functions - annotated with types, the decorator will infer the type of the first - argument automatically:: + attribute of the generic function, which can be used as a decorator. For + functions annotated with types, the decorator will infer the type of the + first argument automatically:: >>> @fun.register ... def _(arg: int, verbose=False): @@ -431,17 +431,17 @@ The :mod:`functools` module defines the following functions: ... - To enable registering lambdas and pre-existing functions, the - :func:`register` attribute can be used in a functional form:: + To enable registering :term:`lambdas` and pre-existing functions, + the :func:`register` attribute can also be used in a functional form:: >>> def nothing(arg, verbose=False): ... print("Nothing.") ... >>> fun.register(type(None), nothing) - The :func:`register` attribute returns the undecorated function which - enables decorator stacking, pickling, as well as creating unit tests for - each variant independently:: + The :func:`register` attribute returns the undecorated function. This + enables decorator stacking, :mod:`pickling`, and the creation + of unit tests for each variant independently:: >>> @fun.register(float) ... @fun.register(Decimal) @@ -476,11 +476,12 @@ The :mod:`functools` module defines the following functions: Where there is no registered implementation for a specific type, its method resolution order is used to find a more generic implementation. The original function decorated with ``@singledispatch`` is registered - for the base ``object`` type, which means it is used if no better + for the base :class:`object` type, which means it is used if no better implementation is found. - If an implementation registered to :term:`abstract base class`, virtual - subclasses will be dispatched to that implementation:: + If an implementation is registered to an :term:`abstract base class`, + virtual subclasses of the base class will be dispatched to that + implementation:: >>> from collections.abc import Mapping >>> @fun.register @@ -493,7 +494,7 @@ The :mod:`functools` module defines the following functions: >>> fun({"a": "b"}) a => b - To check which implementation will the generic function choose for + To check which implementation the generic function will choose for a given type, use the ``dispatch()`` attribute:: >>> fun.dispatch(float) @@ -516,7 +517,7 @@ The :mod:`functools` module defines the following functions: .. versionadded:: 3.4 .. versionchanged:: 3.7 - The :func:`register` attribute supports using type annotations. + The :func:`register` attribute now supports using type annotations. .. class:: singledispatchmethod(func) @@ -525,8 +526,9 @@ The :mod:`functools` module defines the following functions: dispatch>` :term:`generic function`. To define a generic method, decorate it with the ``@singledispatchmethod`` - decorator. Note that the dispatch happens on the type of the first non-self - or non-cls argument, create your function accordingly:: + decorator. When defining a function using ``@singledispatchmethod``, note + that the dispatch happens on the type of the first non-*self* or non-*cls* + argument:: class Negator: @singledispatchmethod @@ -542,9 +544,10 @@ The :mod:`functools` module defines the following functions: return not arg ``@singledispatchmethod`` supports nesting with other decorators such as - ``@classmethod``. Note that to allow for ``dispatcher.register``, - ``singledispatchmethod`` must be the *outer most* decorator. Here is the - ``Negator`` class with the ``neg`` methods being class bound:: + :func:`@classmethod`. Note that to allow for + ``dispatcher.register``, ``singledispatchmethod`` must be the *outer most* + decorator. Here is the ``Negator`` class with the ``neg`` methods bound to + the class, rather than an instance of the class:: class Negator: @singledispatchmethod @@ -562,8 +565,9 @@ The :mod:`functools` module defines the following functions: def _(cls, arg: bool): return not arg - The same pattern can be used for other similar decorators: ``staticmethod``, - ``abstractmethod``, and others. + The same pattern can be used for other similar decorators: + :func:`@staticmethod`, + :func:`@abstractmethod`, and others. .. versionadded:: 3.8 diff --git a/Doc/library/hashlib.rst b/Doc/library/hashlib.rst index 615ee116..58ccbbed 100644 --- a/Doc/library/hashlib.rst +++ b/Doc/library/hashlib.rst @@ -372,10 +372,10 @@ Constructor functions also accept the following tree hashing parameters: * *depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential mode). -* *leaf_size*: maximal byte length of leaf (0 to 2**32-1, 0 if unlimited or in +* *leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited or in sequential mode). -* *node_offset*: node offset (0 to 2**64-1 for BLAKE2b, 0 to 2**48-1 for +* *node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode). * *node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode). @@ -496,7 +496,7 @@ Keyed hashing Keyed hashing can be used for authentication as a faster and simpler replacement for `Hash-based message authentication code -`_ (HMAC). +`_ (HMAC). BLAKE2 can be securely used in prefix-MAC mode thanks to the indifferentiability property inherited from BLAKE. diff --git a/Doc/library/html.entities.rst b/Doc/library/html.entities.rst index 067e1b1e..7d836fe7 100644 --- a/Doc/library/html.entities.rst +++ b/Doc/library/html.entities.rst @@ -44,4 +44,4 @@ This module defines four dictionaries, :data:`html5`, .. rubric:: Footnotes -.. [#] See https://www.w3.org/TR/html5/syntax.html#named-character-references +.. [#] See https://html.spec.whatwg.org/multipage/syntax.html#named-character-references diff --git a/Doc/library/http.cookiejar.rst b/Doc/library/http.cookiejar.rst index 9ac5d52a..fb113d89 100644 --- a/Doc/library/http.cookiejar.rst +++ b/Doc/library/http.cookiejar.rst @@ -122,7 +122,7 @@ The following classes are provided: :mod:`http.cookiejar` and :mod:`http.cookies` modules do not depend on each other. - https://curl.haxx.se/rfc/cookie_spec.html + https://curl.se/rfc/cookie_spec.html The specification of the original Netscape cookie protocol. Though this is still the dominant protocol, the 'Netscape cookie protocol' implemented by all the major browsers (and :mod:`http.cookiejar`) only bears a passing resemblance to diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 69e31129..c7fbcb21 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -805,6 +805,46 @@ ABC hierarchy:: .. versionadded:: 3.9 + .. abstractmethod:: name() + + The base name of this object without any parent references. + + .. abstractmethod:: iterdir() + + Yield Traversable objects in self. + + .. abstractmethod:: is_dir() + + Return True if self is a directory. + + .. abstractmethod:: is_file() + + Return True if self is a file. + + .. abstractmethod:: joinpath(child) + + Return Traversable child in self. + + .. abstractmethod:: __truediv__(child) + + Return Traversable child in self. + + .. abstractmethod:: open(mode='r', *args, **kwargs) + + *mode* may be 'r' or 'rb' to open as text or binary. Return a handle + suitable for reading (same as :attr:`pathlib.Path.open`). + + When opening as text, accepts encoding parameters such as those + accepted by :attr:`io.TextIOWrapper`. + + .. method:: read_bytes() + + Read contents of self as bytes. + + .. method:: read_text(encoding=None) + + Read contents of self as text. + .. class:: TraversableResources diff --git a/Doc/library/intro.rst b/Doc/library/intro.rst index 8567e4d1..5bb33b9c 100644 --- a/Doc/library/intro.rst +++ b/Doc/library/intro.rst @@ -58,5 +58,5 @@ Notes on availability operating system. * If not separately noted, all functions that claim "Availability: Unix" are - supported on Mac OS X, which builds on a Unix core. + supported on macOS, which builds on a Unix core. diff --git a/Doc/library/ipaddress.rst b/Doc/library/ipaddress.rst index 2ab4dd83..9c2dff55 100644 --- a/Doc/library/ipaddress.rst +++ b/Doc/library/ipaddress.rst @@ -41,7 +41,7 @@ IP addresses, networks and interfaces: Return an :class:`IPv4Address` or :class:`IPv6Address` object depending on the IP address passed as argument. Either IPv4 or IPv6 addresses may be - supplied; integers less than 2**32 will be considered to be IPv4 by default. + supplied; integers less than ``2**32`` will be considered to be IPv4 by default. A :exc:`ValueError` is raised if *address* does not represent a valid IPv4 or IPv6 address. @@ -56,7 +56,7 @@ IP addresses, networks and interfaces: Return an :class:`IPv4Network` or :class:`IPv6Network` object depending on the IP address passed as argument. *address* is a string or integer representing the IP network. Either IPv4 or IPv6 networks may be supplied; - integers less than 2**32 will be considered to be IPv4 by default. *strict* + integers less than ``2**32`` will be considered to be IPv4 by default. *strict* is passed to :class:`IPv4Network` or :class:`IPv6Network` constructor. A :exc:`ValueError` is raised if *address* does not represent a valid IPv4 or IPv6 address, or if the network has host bits set. @@ -70,7 +70,7 @@ IP addresses, networks and interfaces: Return an :class:`IPv4Interface` or :class:`IPv6Interface` object depending on the IP address passed as argument. *address* is a string or integer representing the IP address. Either IPv4 or IPv6 addresses may be supplied; - integers less than 2**32 will be considered to be IPv4 by default. A + integers less than ``2**32`` will be considered to be IPv4 by default. A :exc:`ValueError` is raised if *address* does not represent a valid IPv4 or IPv6 address. @@ -682,7 +682,7 @@ dictionaries. Note that currently expanded netmasks are not supported. That means ``2001:db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` - not. + is not. 2. An integer that fits into 128 bits. This is equivalent to a single-address network, with the network address being *address* and diff --git a/Doc/library/json.rst b/Doc/library/json.rst index c8184da8..6fa89f57 100644 --- a/Doc/library/json.rst +++ b/Doc/library/json.rst @@ -11,9 +11,9 @@ -------------- -`JSON (JavaScript Object Notation) `_, specified by +`JSON (JavaScript Object Notation) `_, specified by :rfc:`7159` (which obsoletes :rfc:`4627`) and by -`ECMA-404 `_, +`ECMA-404 `_, is a lightweight data interchange format inspired by `JavaScript `_ object literal syntax (although it is not a strict subset of JavaScript [#rfc-errata]_ ). @@ -544,7 +544,7 @@ Standard Compliance and Interoperability ---------------------------------------- The JSON format is specified by :rfc:`7159` and by -`ECMA-404 `_. +`ECMA-404 `_. This section details this module's level of compliance with the RFC. For simplicity, :class:`JSONEncoder` and :class:`JSONDecoder` subclasses, and parameters other than those explicitly mentioned, are not considered. diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst index ab448505..d4dc5853 100644 --- a/Doc/library/logging.config.rst +++ b/Doc/library/logging.config.rst @@ -163,7 +163,7 @@ in :mod:`logging` itself) and defining handlers which are declared either in :func:`listen` socket and sending a configuration which runs whatever code the attacker wants to have executed in the victim's process. This is especially easy to do if the default port is used, but not hard even if a - different port is used). To avoid the risk of this happening, use the + different port is used. To avoid the risk of this happening, use the ``verify`` argument to :func:`listen` to prevent unrecognised configurations from being applied. diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst index 6233a2a6..e72a898a 100644 --- a/Doc/library/logging.rst +++ b/Doc/library/logging.rst @@ -203,7 +203,7 @@ is the module's name in the Python package namespace. attributes can then be used as you like. For example, they could be incorporated into logged messages. For example:: - FORMAT = '%(asctime)-15s %(clientip)s %(user)-8s %(message)s' + FORMAT = '%(asctime)s %(clientip)-15s %(user)-8s %(message)s' logging.basicConfig(format=FORMAT) d = {'clientip': '192.168.0.1', 'user': 'fbloggs'} logger = logging.getLogger('tcpserver') @@ -993,7 +993,7 @@ functions. be used as you like. For example, they could be incorporated into logged messages. For example:: - FORMAT = '%(asctime)-15s %(clientip)s %(user)-8s %(message)s' + FORMAT = '%(asctime)s %(clientip)-15s %(user)-8s %(message)s' logging.basicConfig(format=FORMAT) d = {'clientip': '192.168.0.1', 'user': 'fbloggs'} logging.warning('Protocol problem: %s', 'connection reset', extra=d) @@ -1348,7 +1348,7 @@ with the :mod:`warnings` module. The proposal which described this feature for inclusion in the Python standard library. - `Original Python logging package `_ + `Original Python logging package `_ This is the original source for the :mod:`logging` package. The version of the package available from this site is suitable for use with Python 1.5.2, 2.1.x and 2.2.x, which do not include the :mod:`logging` package in the standard diff --git a/Doc/library/mmap.rst b/Doc/library/mmap.rst index 1f3fbc34..959f81fe 100644 --- a/Doc/library/mmap.rst +++ b/Doc/library/mmap.rst @@ -100,7 +100,7 @@ To map anonymous memory, -1 should be passed as the fileno along with the length To ensure validity of the created memory mapping the file specified by the descriptor *fileno* is internally automatically synchronized - with physical backing store on Mac OS X and OpenVMS. + with physical backing store on macOS and OpenVMS. This example shows a simple way of using :class:`~mmap.mmap`:: diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 952a5b40..2c7d7d8c 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -783,7 +783,7 @@ For an example of the usage of queues for interprocess communication see multithreading/multiprocessing semantics, this number is not reliable. Note that this may raise :exc:`NotImplementedError` on Unix platforms like - Mac OS X where ``sem_getvalue()`` is not implemented. + macOS where ``sem_getvalue()`` is not implemented. .. method:: empty() @@ -951,7 +951,8 @@ Miscellaneous use. The number of usable CPUs can be obtained with ``len(os.sched_getaffinity(0))`` - May raise :exc:`NotImplementedError`. + When the number of CPUs cannot be determined a :exc:`NotImplementedError` + is raised. .. seealso:: :func:`os.cpu_count` @@ -1029,7 +1030,13 @@ Miscellaneous The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or ``None``. ``'fork'`` is the default on Unix, while ``'spawn'`` is - the default on Windows. + the default on Windows and macOS. + +.. versionchanged:: 3.8 + + On macOS, the *spawn* start method is now the default. The *fork* start + method should be considered unsafe as it can lead to crashes of the + subprocess. See :issue:`33725`. .. versionadded:: 3.4 @@ -1234,7 +1241,7 @@ object -- see :ref:`multiprocessing-managers`. first argument is named *block*, as is consistent with :meth:`Lock.acquire`. .. note:: - On Mac OS X, this is indistinguishable from :class:`Semaphore` because + On macOS, this is indistinguishable from :class:`Semaphore` because ``sem_getvalue()`` is not implemented on that platform. .. class:: Condition([lock]) @@ -1373,7 +1380,7 @@ object -- see :ref:`multiprocessing-managers`. .. note:: - On Mac OS X, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with + On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a timeout will emulate that function's behavior using a sleeping loop. .. note:: @@ -2628,12 +2635,13 @@ handler type) for messages from different processes to get mixed up. inherited. .. currentmodule:: multiprocessing -.. function:: log_to_stderr() +.. function:: log_to_stderr(level=None) This function performs a call to :func:`get_logger` but in addition to returning the logger created by get_logger, it adds a handler which sends output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] %(message)s'``. + You can modify ``levelname`` of the logger by passing a ``level`` argument. Below is an example session with logging turned on:: diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 0ad44d1a..d4cc296f 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -102,9 +102,10 @@ process and user. .. data:: environ - A :term:`mapping` object representing the string environment. For example, - ``environ['HOME']`` is the pathname of your home directory (on some platforms), - and is equivalent to ``getenv("HOME")`` in C. + A :term:`mapping` object where keys and values are strings that represent + the process environment. For example, ``environ['HOME']`` is the pathname + of your home directory (on some platforms), and is equivalent to + ``getenv("HOME")`` in C. This mapping is captured the first time the :mod:`os` module is imported, typically during Python startup as part of processing :file:`site.py`. Changes @@ -141,10 +142,10 @@ process and user. .. data:: environb - Bytes version of :data:`environ`: a :term:`mapping` object representing the - environment as byte strings. :data:`environ` and :data:`environb` are - synchronized (modify :data:`environb` updates :data:`environ`, and vice - versa). + Bytes version of :data:`environ`: a :term:`mapping` object where both keys + and values are :class:`bytes` objects representing the process environment. + :data:`environ` and :data:`environb` are synchronized (modifying + :data:`environb` updates :data:`environ`, and vice versa). :data:`environb` is only available if :data:`supports_bytes_environ` is ``True``. @@ -2657,7 +2658,7 @@ features: String that uniquely identifies the type of the filesystem that contains the file. - On Mac OS systems, the following attributes may also be available: + On macOS systems, the following attributes may also be available: .. attribute:: st_rsize diff --git a/Doc/library/pathlib.rst b/Doc/library/pathlib.rst index c31ff654..88e8756c 100644 --- a/Doc/library/pathlib.rst +++ b/Doc/library/pathlib.rst @@ -708,6 +708,10 @@ call fails (for example because the path doesn't exist). >>> Path.home() PosixPath('/home/antoine') + Note that unlike :func:`os.path.expanduser`, on POSIX systems a + :exc:`KeyError` or :exc:`RuntimeError` will be raised, and on Windows systems a + :exc:`RuntimeError` will be raised if home directory can't be resolved. + .. versionadded:: 3.5 @@ -764,6 +768,10 @@ call fails (for example because the path doesn't exist). >>> p.expanduser() PosixPath('/home/eric/films/Monty Python') + Note that unlike :func:`os.path.expanduser`, on POSIX systems a + :exc:`KeyError` or :exc:`RuntimeError` will be raised, and on Windows systems a + :exc:`RuntimeError` will be raised if home directory can't be resolved. + .. versionadded:: 3.5 diff --git a/Doc/library/platform.rst b/Doc/library/platform.rst index 49186ce3..d87205c3 100644 --- a/Doc/library/platform.rst +++ b/Doc/library/platform.rst @@ -225,13 +225,13 @@ Windows Platform .. versionadded:: 3.8 -Mac OS Platform ---------------- +macOS Platform +-------------- .. function:: mac_ver(release='', versioninfo=('','',''), machine='') - Get Mac OS version information and return it as tuple ``(release, versioninfo, + Get macOS version information and return it as tuple ``(release, versioninfo, machine)`` with *versioninfo* being a tuple ``(version, dev_stage, non_release_version)``. diff --git a/Doc/library/plistlib.rst b/Doc/library/plistlib.rst index ce6d4a85..5ded9661 100644 --- a/Doc/library/plistlib.rst +++ b/Doc/library/plistlib.rst @@ -133,7 +133,7 @@ The following classes are available: encoded data, which contains UID (see PList manual). It has one attribute, :attr:`data`, which can be used to retrieve the int value - of the UID. :attr:`data` must be in the range `0 <= data < 2**64`. + of the UID. :attr:`data` must be in the range ``0 <= data < 2**64``. .. versionadded:: 3.8 diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst index 774d46d0..cf324a57 100644 --- a/Doc/library/profile.rst +++ b/Doc/library/profile.rst @@ -622,7 +622,7 @@ procedure can be used to obtain a better constant for a given platform (see The method executes the number of Python calls given by the argument, directly and again under the profiler, measuring the time for both. It then computes the hidden overhead per profiler event, and returns that as a float. For example, -on a 1.8Ghz Intel Core i5 running Mac OS X, and using Python's time.process_time() as +on a 1.8Ghz Intel Core i5 running macOS, and using Python's time.process_time() as the timer, the magical number is about 4.04e-6. The object of this exercise is to get a fairly consistent result. If your diff --git a/Doc/library/random.rst b/Doc/library/random.rst index f2d67494..758d1292 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -502,7 +502,7 @@ between the effects of a drug versus a placebo:: Simulation of arrival times and service deliveries for a multiserver queue:: - from heapq import heappush, heappop + from heapq import heapify, heapreplace from random import expovariate, gauss from statistics import mean, median, stdev @@ -514,14 +514,15 @@ Simulation of arrival times and service deliveries for a multiserver queue:: waits = [] arrival_time = 0.0 servers = [0.0] * num_servers # time when each server becomes available - for i in range(100_000): + heapify(servers) + for i in range(1_000_000): arrival_time += expovariate(1.0 / average_arrival_interval) - next_server_available = heappop(servers) + next_server_available = servers[0] wait = max(0.0, next_server_available - arrival_time) waits.append(wait) - service_duration = gauss(average_service_time, stdev_service_time) + service_duration = max(0.0, gauss(average_service_time, stdev_service_time)) service_completed = arrival_time + wait + service_duration - heappush(servers, service_completed) + heapreplace(servers, service_completed) print(f'Mean wait: {mean(waits):.1f}. Stdev wait: {stdev(waits):.1f}.') print(f'Median wait: {median(waits):.1f}. Max wait: {max(waits):.1f}.') diff --git a/Doc/library/re.rst b/Doc/library/re.rst index ff7687cc..b12ce4b9 100644 --- a/Doc/library/re.rst +++ b/Doc/library/re.rst @@ -1572,7 +1572,7 @@ find all of the adverbs in some text, they might use :func:`findall` in the following manner:: >>> text = "He was carefully disguised but captured quickly by police." - >>> re.findall(r"\w+ly", text) + >>> re.findall(r"\w+ly\b", text) ['carefully', 'quickly'] @@ -1586,7 +1586,7 @@ a writer wanted to find all of the adverbs *and their positions* in some text, they would use :func:`finditer` in the following manner:: >>> text = "He was carefully disguised but captured quickly by police." - >>> for m in re.finditer(r"\w+ly", text): + >>> for m in re.finditer(r"\w+ly\b", text): ... print('%02d-%02d: %s' % (m.start(), m.end(), m.group(0))) 07-16: carefully 40-47: quickly diff --git a/Doc/library/select.rst b/Doc/library/select.rst index a354187c..46b5ff8b 100644 --- a/Doc/library/select.rst +++ b/Doc/library/select.rst @@ -534,7 +534,7 @@ https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2 | :const:`KQ_FILTER_PROC` | Watch for events on a process id | +---------------------------+---------------------------------------------+ | :const:`KQ_FILTER_NETDEV` | Watch for events on a network device | - | | [not available on Mac OS X] | + | | [not available on macOS] | +---------------------------+---------------------------------------------+ | :const:`KQ_FILTER_SIGNAL` | Returns whenever the watched signal is | | | delivered to the process | @@ -626,7 +626,7 @@ https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2 | :const:`KQ_NOTE_TRACKERR` | unable to attach to a child | +----------------------------+--------------------------------------------+ - :const:`KQ_FILTER_NETDEV` filter flags (not available on Mac OS X): + :const:`KQ_FILTER_NETDEV` filter flags (not available on macOS): +----------------------------+--------------------------------------------+ | Constant | Meaning | diff --git a/Doc/library/site.rst b/Doc/library/site.rst index 2e3646f6..e2ad3c48 100644 --- a/Doc/library/site.rst +++ b/Doc/library/site.rst @@ -32,7 +32,7 @@ It starts by constructing up to four directories from a head and a tail part. For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; empty heads are skipped. For the tail part, it uses the empty string and then :file:`lib/site-packages` (on Windows) or -:file:`lib/python{X.Y}/site-packages` (on Unix and Macintosh). For each +:file:`lib/python{X.Y}/site-packages` (on Unix and macOS). For each of the distinct head-tail combinations, it sees if it refers to an existing directory, and if so, adds it to ``sys.path`` and also inspects the newly added path for configuration files. @@ -176,8 +176,8 @@ Module contents Path to the user site-packages for the running Python. Can be ``None`` if :func:`getusersitepackages` hasn't been called yet. Default value is - :file:`~/.local/lib/python{X.Y}/site-packages` for UNIX and non-framework Mac - OS X builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for Mac + :file:`~/.local/lib/python{X.Y}/site-packages` for UNIX and non-framework + macOS builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for macOS framework builds, and :file:`{%APPDATA%}\\Python\\Python{XY}\\site-packages` on Windows. This directory is a site directory, which means that :file:`.pth` files in it will be processed. @@ -187,8 +187,8 @@ Module contents Path to the base directory for the user site-packages. Can be ``None`` if :func:`getuserbase` hasn't been called yet. Default value is - :file:`~/.local` for UNIX and Mac OS X non-framework builds, - :file:`~/Library/Python/{X.Y}` for Mac framework builds, and + :file:`~/.local` for UNIX and macOS non-framework builds, + :file:`~/Library/Python/{X.Y}` for macOS framework builds, and :file:`{%APPDATA%}\\Python` for Windows. This value is used by Distutils to compute the installation directories for scripts, data files, Python modules, etc. for the :ref:`user installation scheme `. diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index 609fbe86..db94a2a1 100755 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -197,11 +197,15 @@ created. Socket addresses are represented as follows: - *addr* - Optional bytes-like object specifying the hardware physical address, whose interpretation depends on the device. + .. availability:: Linux >= 2.2. + - :const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating with services running on co-processors in Qualcomm platforms. The address family is represented as a ``(node, port)`` tuple where the *node* and *port* are non-negative integers. + .. availability:: Linux >= 4.7. + .. versionadded:: 3.8 - :const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify @@ -506,7 +510,7 @@ Constants .. data:: AF_LINK - .. availability:: BSD, OSX. + .. availability:: BSD, macOS. .. versionadded:: 3.4 @@ -814,8 +818,8 @@ The :mod:`socket` module also offers various network-related services: .. function:: gethostbyname_ex(hostname) Translate a host name to IPv4 address format, extended interface. Return a - triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the primary - host name responding to the given *ip_address*, *aliaslist* is a (possibly + triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's + primary host name, *aliaslist* is a (possibly empty) list of alternative host names for the same address, and *ipaddrlist* is a list of IPv4 addresses for the same interface on the same host (often but not always a single address). :func:`gethostbyname_ex` does not support IPv6 name diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index c0b6ab07..b24a2f09 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -116,6 +116,24 @@ Module functions and constants ------------------------------ +.. data:: apilevel + + String constant stating the supported DB-API level. Required by the DB-API. + Hard-coded to ``"2.0"``. + +.. data:: paramstyle + + String constant stating the type of parameter marker formatting expected by + the :mod:`sqlite3` module. Required by the DB-API. Hard-coded to + ``"qmark"``. + + .. note:: + + The :mod:`sqlite3` module supports both ``qmark`` and ``numeric`` DB-API + parameter styles, because that is what the underlying SQLite library + supports. However, the DB-API does not allow multiple values for + the ``paramstyle`` attribute. + .. data:: version The version number of this module, as a string. This is not the version of @@ -138,6 +156,26 @@ Module functions and constants The version number of the run-time SQLite library, as a tuple of integers. +.. data:: threadsafety + + Integer constant required by the DB-API, stating the level of thread safety + the :mod:`sqlite3` module supports. Currently hard-coded to ``1``, meaning + *"Threads may share the module, but not connections."* However, this may not + always be true. You can check the underlying SQLite library's compile-time + threaded mode using the following query:: + + import sqlite3 + con = sqlite3.connect(":memory:") + con.execute(""" + select * from pragma_compile_options + where compile_options like 'THREADSAFE=%' + """).fetchall() + + Note that the `SQLITE_THREADSAFE levels + `_ do not match the DB-API 2.0 + ``threadsafety`` levels. + + .. data:: PARSE_DECLTYPES This constant is meant to be used with the *detect_types* parameter of the @@ -446,14 +484,22 @@ Connection Objects Registers *trace_callback* to be called for each SQL statement that is actually executed by the SQLite backend. - The only argument passed to the callback is the statement (as string) that - is being executed. The return value of the callback is ignored. Note that - the backend does not only run statements passed to the :meth:`Cursor.execute` - methods. Other sources include the transaction management of the Python - module and the execution of triggers defined in the current database. + The only argument passed to the callback is the statement (as + :class:`str`) that is being executed. The return value of the callback is + ignored. Note that the backend does not only run statements passed to the + :meth:`Cursor.execute` methods. Other sources include the + :ref:`transaction management ` of the + sqlite3 module and the execution of triggers defined in the current + database. Passing :const:`None` as *trace_callback* will disable the trace callback. + .. note:: + Exceptions raised in the trace callback are not propagated. As a + development and debugging aid, use + :meth:`~sqlite3.enable_callback_tracebacks` to enable printing + tracebacks from exceptions raised in the trace callback. + .. versionadded:: 3.3 @@ -505,8 +551,8 @@ Connection Objects Using this attribute you can control what objects are returned for the ``TEXT`` data type. By default, this attribute is set to :class:`str` and the - :mod:`sqlite3` module will return Unicode objects for ``TEXT``. If you want to - return bytestrings instead, you can set it to :class:`bytes`. + :mod:`sqlite3` module will return :class:`str` objects for ``TEXT``. + If you want to return :class:`bytes` instead, you can set it to :class:`bytes`. You can also set it to any other callable that accepts a single bytestring parameter and returns the resulting object. @@ -680,6 +726,14 @@ Cursor Objects The cursor will be unusable from this point forward; a :exc:`ProgrammingError` exception will be raised if any operation is attempted with the cursor. + .. method:: setinputsizes(sizes) + + Required by the DB-API. Is a no-op in :mod:`sqlite3`. + + .. method:: setoutputsize(size [, column]) + + Required by the DB-API. Is a no-op in :mod:`sqlite3`. + .. attribute:: rowcount Although the :class:`Cursor` class of the :mod:`sqlite3` module implements this @@ -1008,6 +1062,12 @@ If a timestamp stored in SQLite has a fractional part longer than 6 numbers, its value will be truncated to microsecond precision by the timestamp converter. +.. note:: + + The default "timestamp" converter ignores UTC offsets in the database and + always returns a naive :class:`datetime.datetime` object. To preserve UTC + offsets in timestamps, either leave converters disabled, or register an + offset-aware converter with :func:`register_converter`. .. _sqlite3-controlling-transactions: @@ -1091,7 +1151,7 @@ committed: .. rubric:: Footnotes .. [#f1] The sqlite3 module is not built with loadable extension support by - default, because some platforms (notably Mac OS X) have SQLite + default, because some platforms (notably macOS) have SQLite libraries which are compiled without this feature. To get loadable extension support, you must pass ``--enable-loadable-sqlite-extensions`` to configure. diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index d673effc..0b231f17 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -18,7 +18,7 @@ This module provides access to Transport Layer Security (often known as "Secure Sockets Layer") encryption and peer authentication facilities for network sockets, both client-side and server-side. This module uses the OpenSSL -library. It is available on all modern Unix systems, Windows, Mac OS X, and +library. It is available on all modern Unix systems, Windows, macOS, and probably additional platforms, as long as OpenSSL is installed on that platform. .. note:: @@ -1522,7 +1522,7 @@ to speed up repeated connections from the same clients. Load a set of default "certification authority" (CA) certificates from default locations. On Windows it loads CA certs from the ``CA`` and - ``ROOT`` system stores. On other systems it calls + ``ROOT`` system stores. On all systems it calls :meth:`SSLContext.set_default_verify_paths`. In the future the method may load CA certificates from other locations, too. diff --git a/Doc/library/stat.rst b/Doc/library/stat.rst index f48a0a9f..98219eae 100644 --- a/Doc/library/stat.rst +++ b/Doc/library/stat.rst @@ -372,11 +372,11 @@ The following flags can be used in the *flags* argument of :func:`os.chflags`: .. data:: UF_COMPRESSED - The file is stored compressed (Mac OS X 10.6+). + The file is stored compressed (macOS 10.6+). .. data:: UF_HIDDEN - The file should not be displayed in a GUI (Mac OS X 10.5+). + The file should not be displayed in a GUI (macOS 10.5+). .. data:: SF_ARCHIVED @@ -398,7 +398,7 @@ The following flags can be used in the *flags* argument of :func:`os.chflags`: The file is a snapshot file. -See the \*BSD or Mac OS systems man page :manpage:`chflags(2)` for more information. +See the \*BSD or macOS systems man page :manpage:`chflags(2)` for more information. On Windows, the following file attribute constants are available for use when testing bits in the ``st_file_attributes`` member returned by :func:`os.stat`. diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 57a3285f..55dcc172 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -1125,6 +1125,8 @@ calls these functions. code was zero then return, otherwise raise :exc:`CalledProcessError`. The :exc:`CalledProcessError` object will have the return code in the :attr:`~CalledProcessError.returncode` attribute. + If :func:`check_call` was unable to start the process it will propagate the exception + that was raised. Code needing to capture stdout or stderr should use :func:`run` instead:: diff --git a/Doc/library/sysconfig.rst b/Doc/library/sysconfig.rst index 641abf43..ee27efd8 100644 --- a/Doc/library/sysconfig.rst +++ b/Doc/library/sysconfig.rst @@ -74,7 +74,7 @@ places. Python currently supports seven schemes: -- *posix_prefix*: scheme for POSIX platforms like Linux or Mac OS X. This is +- *posix_prefix*: scheme for POSIX platforms like Linux or macOS. This is the default scheme used when Python or a component is installed. - *posix_home*: scheme for POSIX platforms used when a *home* option is used upon installation. This scheme is used when a component is installed through @@ -188,7 +188,7 @@ Other functions - win-amd64 (64bit Windows on AMD64, aka x86_64, Intel64, and EM64T) - win32 (all others - specifically, sys.platform is returned) - Mac OS X can return: + macOS can return: - macosx-10.6-ppc - macosx-10.4-ppc64 diff --git a/Doc/library/test.rst b/Doc/library/test.rst index bb1bd29b..16f908c8 100644 --- a/Doc/library/test.rst +++ b/Doc/library/test.rst @@ -457,7 +457,7 @@ The :mod:`test.support` module defines the following functions: .. function:: unlink(filename) Call :func:`os.unlink` on *filename*. On Windows platforms, this is - wrapped with a wait loop that checks for the existence fo the file. + wrapped with a wait loop that checks for the existence of the file. .. function:: rmdir(filename) @@ -925,8 +925,8 @@ The :mod:`test.support` module defines the following functions: .. decorator:: requires_mac_version(*min_version) - Decorator for the minimum version when running test on Mac OS X. If the - MAC OS X version is less than the minimum, raise :exc:`unittest.SkipTest`. + Decorator for the minimum version when running test on macOS. If the + macOS version is less than the minimum, raise :exc:`unittest.SkipTest`. .. decorator:: requires_IEEE_754 @@ -1145,7 +1145,7 @@ The :mod:`test.support` module defines the following functions: Context manager catching :class:`threading.Thread` exception using :func:`threading.excepthook`. - Attributes set when an exception is catched: + Attributes set when an exception is caught: * ``exc_type`` * ``exc_value`` diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst index 6967d750..2db4c0f9 100644 --- a/Doc/library/tkinter.ttk.rst +++ b/Doc/library/tkinter.ttk.rst @@ -759,7 +759,7 @@ ones inherited from :class:`ttk.Widget`. Platform-specific notes ^^^^^^^^^^^^^^^^^^^^^^^ -* On MacOS X, toplevel windows automatically include a built-in size grip +* On macOS, toplevel windows automatically include a built-in size grip by default. Adding a :class:`Sizegrip` is harmless, since the built-in grip will just mask the widget. diff --git a/Doc/library/tracemalloc.rst b/Doc/library/tracemalloc.rst index 20f668c7..68432aea 100644 --- a/Doc/library/tracemalloc.rst +++ b/Doc/library/tracemalloc.rst @@ -740,12 +740,12 @@ Traceback .. method:: format(limit=None, most_recent_first=False) - Format the traceback as a list of lines with newlines. Use the - :mod:`linecache` module to retrieve lines from the source code. - If *limit* is set, format the *limit* most recent frames if *limit* - is positive. Otherwise, format the ``abs(limit)`` oldest frames. - If *most_recent_first* is ``True``, the order of the formatted frames - is reversed, returning the most recent frame first instead of last. + Format the traceback as a list of lines. Use the :mod:`linecache` module to + retrieve lines from the source code. If *limit* is set, format the *limit* + most recent frames if *limit* is positive. Otherwise, format the + ``abs(limit)`` oldest frames. If *most_recent_first* is ``True``, the order + of the formatted frames is reversed, returning the most recent frame first + instead of last. Similar to the :func:`traceback.format_tb` function, except that :meth:`.format` does not include newlines. diff --git a/Doc/library/types.rst b/Doc/library/types.rst index 81a2b7b9..b6df3925 100644 --- a/Doc/library/types.rst +++ b/Doc/library/types.rst @@ -229,7 +229,7 @@ Standard names are defined for the following types: .. note:: A future version of Python may stop setting this attribute by default. - To guard against this potential change, preferrably read from the + To guard against this potential change, preferably read from the :attr:`__spec__` attribute instead or use ``getattr(module, "__loader__", None)`` if you explicitly need to use this attribute. @@ -254,7 +254,7 @@ Standard names are defined for the following types: .. note:: A future version of Python may stop setting this attribute by default. - To guard against this potential change, preferrably read from the + To guard against this potential change, preferably read from the :attr:`__spec__` attribute instead or use ``getattr(module, "__package__", None)`` if you explicitly need to use this attribute. diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 78ab760d..3b50d76c 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -17,12 +17,10 @@ -------------- -This module provides runtime support for type hints as specified by -:pep:`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, and :pep:`591`. -The most fundamental support consists of the types :data:`Any`, :data:`Union`, -:data:`Tuple`, :data:`Callable`, :class:`TypeVar`, and -:class:`Generic`. For full specification please see :pep:`484`. For -a simplified introduction to type hints see :pep:`483`. +This module provides runtime support for type hints. The most fundamental +support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, +:class:`TypeVar`, and :class:`Generic`. For a full specification, please see +:pep:`484`. For a simplified introduction to type hints, see :pep:`483`. The function below takes and returns a string and is annotated as follows:: @@ -34,6 +32,33 @@ In the function ``greeting``, the argument ``name`` is expected to be of type :class:`str` and the return type :class:`str`. Subtypes are accepted as arguments. +.. _relevant-peps: + +Relevant PEPs +============= + +Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a +number of PEPs have modified and enhanced Python's framework for type +annotations. These include: + +* :pep:`526`: Syntax for Variable Annotations + *Introducing* syntax for annotating variables outside of function + definitions, and :data:`ClassVar` +* :pep:`544`: Protocols: Structural subtyping (static duck typing) + *Introducing* :class:`Protocol` and the + :func:`@runtime_checkable` decorator +* :pep:`585`: Type Hinting Generics In Standard Collections + *Introducing* :class:`types.GenericAlias` and the ability to use standard + library classes as :ref:`generic types` +* :pep:`586`: Literal Types + *Introducing* :class:`Literal` +* :pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys + *Introducing* :class:`TypedDict` +* :pep:`591`: Adding a final qualifier to typing + *Introducing* :data:`Final` and the :func:`@final` decorator +* :pep:`593`: Flexible function and variable annotations + *Introducing* :class:`Annotated` + Type aliases ============ @@ -232,8 +257,8 @@ A user-defined class can be defined as a generic class. single type parameter ``T`` . This also makes ``T`` valid as a type within the class body. -The :class:`Generic` base class defines :meth:`__class_getitem__` so that -``LoggedVar[t]`` is valid as a type:: +The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so +that ``LoggedVar[t]`` is valid as a type:: from collections.abc import Iterable diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst index 785ecf8f..bfb994e3 100644 --- a/Doc/library/urllib.request.rst +++ b/Doc/library/urllib.request.rst @@ -164,8 +164,8 @@ The :mod:`urllib.request` module defines the following functions: This helper function returns a dictionary of scheme to proxy server URL mappings. It scans the environment for variables named ``_proxy``, in a case insensitive approach, for all operating systems first, and when it - cannot find it, looks for proxy information from Mac OSX System - Configuration for Mac OS X and Windows Systems Registry for Windows. + cannot find it, looks for proxy information from System + Configuration for macOS and Windows Systems Registry for Windows. If both lowercase and uppercase environment variables exist (and disagree), lowercase is preferred. @@ -298,8 +298,8 @@ The following classes are provided: the list of proxies from the environment variables ``_proxy``. If no proxy environment variables are set, then in a Windows environment proxy settings are obtained from the registry's - Internet Settings section, and in a Mac OS X environment proxy information - is retrieved from the OS X System Configuration Framework. + Internet Settings section, and in a macOS environment proxy information + is retrieved from the System Configuration Framework. To disable autodetected proxy pass an empty dictionary. @@ -650,7 +650,7 @@ OpenerDirector Objects optional *timeout* parameter specifies a timeout in seconds for blocking operations like the connection attempt (if not specified, the global default timeout setting will be used). The timeout feature actually works only for - HTTP, HTTPS and FTP connections). + HTTP, HTTPS and FTP connections. .. method:: OpenerDirector.error(proto, *args) diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst index e0205708..1ad75d5a 100644 --- a/Doc/library/venv.rst +++ b/Doc/library/venv.rst @@ -421,7 +421,7 @@ subclass which installs setuptools and pip into a created virtual environment:: 'more target ' 'directories.') parser.add_argument('dirs', metavar='ENV_DIR', nargs='+', - help='A directory in which to create the + help='A directory in which to create the ' 'virtual environment.') parser.add_argument('--no-setuptools', default=False, action='store_true', dest='nodist', diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst index b88543e4..4b0945c0 100644 --- a/Doc/library/weakref.rst +++ b/Doc/library/weakref.rst @@ -88,6 +88,10 @@ support weak references but can add support through subclassing:: Extension types can easily be made to support weak references; see :ref:`weakref-support`. +When ``__slots__`` are defined for a given type, weak reference support is +disabled unless a ``'__weakref__'`` string is also present in the sequence of +strings in the ``__slots__`` declaration. +See :ref:`__slots__ documentation ` for details. .. class:: ref(object[, callback]) diff --git a/Doc/library/webbrowser.rst b/Doc/library/webbrowser.rst index 5980ff5b..0ddba0de 100644 --- a/Doc/library/webbrowser.rst +++ b/Doc/library/webbrowser.rst @@ -143,9 +143,9 @@ for the controller classes, all defined in this module. +------------------------+-----------------------------------------+-------+ | ``'windows-default'`` | :class:`WindowsDefault` | \(2) | +------------------------+-----------------------------------------+-------+ -| ``'macosx'`` | :class:`MacOSX('default')` | \(3) | +| ``'macosx'`` | :class:`MacOSXOSAScript('default')` | \(3) | +------------------------+-----------------------------------------+-------+ -| ``'safari'`` | :class:`MacOSX('safari')` | \(3) | +| ``'safari'`` | :class:`MacOSXOSAScript('safari')` | \(3) | +------------------------+-----------------------------------------+-------+ | ``'google-chrome'`` | :class:`Chrome('google-chrome')` | | +------------------------+-----------------------------------------+-------+ @@ -169,7 +169,7 @@ Notes: Only on Windows platforms. (3) - Only on Mac OS X platform. + Only on macOS platform. .. versionadded:: 3.3 Support for Chrome/Chromium has been added. diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst index d3a5f872..20984b98 100644 --- a/Doc/library/xml.dom.minidom.rst +++ b/Doc/library/xml.dom.minidom.rst @@ -156,6 +156,9 @@ module documentation. This section lists the differences between the API and The :meth:`writexml` method now preserves the attribute order specified by the user. + .. versionchanged:: 3.9 + The *standalone* parameter was added. + .. method:: Node.toxml(encoding=None, standalone=None) Return a string or byte string containing the XML represented by @@ -174,6 +177,9 @@ module documentation. This section lists the differences between the API and The :meth:`toxml` method now preserves the attribute order specified by the user. + .. versionchanged:: 3.9 + The *standalone* parameter was added. + .. method:: Node.toprettyxml(indent="\\t", newl="\\n", encoding=None, \ standalone=None) @@ -190,6 +196,8 @@ module documentation. This section lists the differences between the API and The :meth:`toprettyxml` method now preserves the attribute order specified by the user. + .. versionchanged:: 3.9 + The *standalone* parameter was added. .. _dom-example: diff --git a/Doc/license.rst b/Doc/license.rst index d459ff66..4ab04f34 100644 --- a/Doc/license.rst +++ b/Doc/license.rst @@ -655,7 +655,7 @@ OpenSSL The modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` use the OpenSSL library for added performance if made available by the -operating system. Additionally, the Windows and Mac OS X installers for +operating system. Additionally, the Windows and macOS installers for Python may include a copy of the OpenSSL libraries, so we include a copy of the OpenSSL license here:: diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 75424162..0bc1e244 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -479,7 +479,6 @@ is semantically equivalent to:: The specification, background, and examples for the Python :keyword:`with` statement. - .. index:: single: parameter; function definition diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 40301230..29a69870 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -1205,7 +1205,7 @@ Basic customization as necessary before returning it. If :meth:`__new__` is invoked during object construction and it returns an - instance or subclass of *cls*, then the new instance’s :meth:`__init__` method + instance of *cls*, then the new instance’s :meth:`__init__` method will be invoked like ``__init__(self[, ...])``, where *self* is the new instance and the remaining arguments are the same as were passed to the object constructor. @@ -1492,7 +1492,7 @@ Basic customization This is intended to provide protection against a denial-of-service caused by carefully-chosen inputs that exploit the worst case performance of a - dict insertion, O(n^2) complexity. See + dict insertion, O(n\ :sup:`2`) complexity. See http://www.ocert.org/advisories/ocert-2011-003.html for details. Changing hash values affects the iteration order of sets. @@ -2512,8 +2512,8 @@ left undefined. return the value of the object truncated to an :class:`~numbers.Integral` (typically an :class:`int`). - If :meth:`__int__` is not defined then the built-in function :func:`int` - falls back to :meth:`__trunc__`. + The built-in function :func:`int` falls back to :meth:`__trunc__` if neither + :meth:`__int__` nor :meth:`__index__` is defined. .. _context-managers: diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst index 55ac01b6..5c85dd70 100644 --- a/Doc/reference/executionmodel.rst +++ b/Doc/reference/executionmodel.rst @@ -119,14 +119,14 @@ is subtle. Python lacks declarations and allows name binding operations to occur anywhere within a code block. The local variables of a code block can be determined by scanning the entire text of the block for name binding operations. -If the :keyword:`global` statement occurs within a block, all uses of the name -specified in the statement refer to the binding of that name in the top-level +If the :keyword:`global` statement occurs within a block, all uses of the names +specified in the statement refer to the bindings of those names in the top-level namespace. Names are resolved in the top-level namespace by searching the global namespace, i.e. the namespace of the module containing the code block, and the builtins namespace, the namespace of the module :mod:`builtins`. The -global namespace is searched first. If the name is not found there, the +global namespace is searched first. If the names are not found there, the builtins namespace is searched. The :keyword:`!global` statement must precede -all uses of the name. +all uses of the listed names. The :keyword:`global` statement has the same scope as a name binding operation in the same block. If the nearest enclosing scope for a free variable contains diff --git a/Doc/requirements.txt b/Doc/requirements.txt index 47b78eea..cb21ed20 100644 --- a/Doc/requirements.txt +++ b/Doc/requirements.txt @@ -4,6 +4,10 @@ # won't suddenly cause build failures. Updating the version is fine as long # as no warnings are raised by doing so. sphinx==2.4.4 +# Docutils version is pinned to a version compatible with Sphinx +# version 2.4.4. It can be removed after bumping Sphinx version to at +# least 3.5.4. +docutils==0.17.1 blurb diff --git a/Doc/tutorial/appetite.rst b/Doc/tutorial/appetite.rst index 26e5168a..3fa68097 100644 --- a/Doc/tutorial/appetite.rst +++ b/Doc/tutorial/appetite.rst @@ -23,7 +23,7 @@ You could write a Unix shell script or Windows batch files for some of these tasks, but shell scripts are best at moving around files and changing text data, not well-suited for GUI applications or games. You could write a C/C++/Java program, but it can take a lot of development time to get even a first-draft -program. Python is simpler to use, available on Windows, Mac OS X, and Unix +program. Python is simpler to use, available on Windows, macOS, and Unix operating systems, and will help you get the job done more quickly. Python is simple to use, but it is a real programming language, offering much diff --git a/Doc/tutorial/floatingpoint.rst b/Doc/tutorial/floatingpoint.rst index 0c0eb526..b98de6e5 100644 --- a/Doc/tutorial/floatingpoint.rst +++ b/Doc/tutorial/floatingpoint.rst @@ -158,7 +158,7 @@ which implements arithmetic based on rational numbers (so the numbers like 1/3 can be represented exactly). If you are a heavy user of floating point operations you should take a look -at the Numerical Python package and many other packages for mathematical and +at the NumPy package and many other packages for mathematical and statistical operations supplied by the SciPy project. See . Python provides tools that may help on those rare occasions when you really diff --git a/Doc/tutorial/introduction.rst b/Doc/tutorial/introduction.rst index 8763626e..33678f5a 100644 --- a/Doc/tutorial/introduction.rst +++ b/Doc/tutorial/introduction.rst @@ -11,6 +11,13 @@ with a prompt are output from the interpreter. Note that a secondary prompt on a line by itself in an example means you must type a blank line; this is used to end a multi-line command. +.. only:: html + + You can toggle the display of prompts and output by clicking on ``>>>`` + in the upper-right corner of an example box. If you hide the prompts + and output for an example, then you can easily copy and paste the input + lines into your interpreter. + .. index:: single: # (hash); comment Many of the examples in this manual, even those entered at the interactive diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index af595e5c..f6250291 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -191,7 +191,8 @@ named :file:`spam.py` in a list of directories given by the variable file is specified). * :envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the shell variable :envvar:`PATH`). -* The installation-dependent default. +* The installation-dependent default (by convention including a + ``site-packages`` directory, handled by the :mod:`site` module). .. note:: On file systems which support symlinks, the directory containing the input diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 95342f3a..5739388e 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -322,7 +322,7 @@ Miscellaneous options Hash randomization is intended to provide protection against a denial-of-service caused by carefully-chosen inputs that exploit the worst - case performance of a dict construction, O(n^2) complexity. See + case performance of a dict construction, O(n\ :sup:`2`) complexity. See http://www.ocert.org/advisories/ocert-2011-003.html for details. :envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash @@ -621,7 +621,7 @@ conflict. .. envvar:: PYTHONCASEOK If this is set, Python ignores case in :keyword:`import` statements. This - only works on Windows and OS X. + only works on Windows and macOS. .. envvar:: PYTHONDONTWRITEBYTECODE @@ -704,7 +704,7 @@ conflict. If this environment variable is set, ``sys.argv[0]`` will be set to its value instead of the value got through the C runtime. Only works on - Mac OS X. + macOS. .. envvar:: PYTHONWARNINGS diff --git a/Doc/using/mac.rst b/Doc/using/mac.rst index ead71e1b..2f132a96 100644 --- a/Doc/using/mac.rst +++ b/Doc/using/mac.rst @@ -1,14 +1,14 @@ .. _using-on-mac: -*************************** -Using Python on a Macintosh -*************************** +********************* +Using Python on a Mac +********************* :Author: Bob Savage -Python on a Macintosh running Mac OS X is in principle very similar to Python on +Python on a Mac running macOS is in principle very similar to Python on any other Unix platform, but there are a number of additional features such as the IDE and the Package Manager that are worth pointing out. @@ -17,7 +17,7 @@ the IDE and the Package Manager that are worth pointing out. Getting and Installing MacPython ================================ -Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple. If you wish, you +macOS since version 10.8 comes with Python 2.7 pre-installed by Apple. If you wish, you are invited to install the most recent version of Python 3 from the Python website (https://www.python.org). A current "universal binary" build of Python, which runs natively on the Mac's new Intel and legacy PPC CPU's, is available @@ -54,12 +54,12 @@ section on running Python scripts from the Unix shell. How to run a Python script -------------------------- -Your best way to get started with Python on Mac OS X is through the IDLE +Your best way to get started with Python on macOS is through the IDLE integrated development environment, see section :ref:`ide` and use the Help menu when the IDE is running. If you want to run Python scripts from the Terminal window command line or from -the Finder you first need an editor to create your script. Mac OS X comes with a +the Finder you first need an editor to create your script. macOS comes with a number of standard Unix command line editors, :program:`vim` and :program:`emacs` among them. If you want a more Mac-like editor, :program:`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see @@ -87,7 +87,7 @@ To run your script from the Finder you have two options: Running scripts with a GUI -------------------------- -With older versions of Python, there is one Mac OS X quirk that you need to be +With older versions of Python, there is one macOS quirk that you need to be aware of: programs that talk to the Aqua window manager (in other words, anything that has a GUI) need to be run in a special way. Use :program:`pythonw` instead of :program:`python` to start such scripts. @@ -98,7 +98,7 @@ With Python 3.9, you can use either :program:`python` or :program:`pythonw`. Configuration ------------- -Python on OS X honors all standard Unix environment variables such as +Python on macOS honors all standard Unix environment variables such as :envvar:`PYTHONPATH`, but setting these variables for programs started from the Finder is non-standard as the Finder does not read your :file:`.profile` or :file:`.cshrc` at startup. You need to create a file @@ -148,10 +148,10 @@ X by Apple, and the latest version can be downloaded and installed from https://www.activestate.com; it can also be built from source. *wxPython* is another popular cross-platform GUI toolkit that runs natively on -Mac OS X. Packages and documentation are available from https://www.wxpython.org. +macOS. Packages and documentation are available from https://www.wxpython.org. -*PyQt* is another popular cross-platform GUI toolkit that runs natively on Mac -OS X. More information can be found at +*PyQt* is another popular cross-platform GUI toolkit that runs natively on +macOS. More information can be found at https://riverbankcomputing.com/software/pyqt/intro. diff --git a/Doc/whatsnew/2.0.rst b/Doc/whatsnew/2.0.rst index ace396b9..dd49da8f 100644 --- a/Doc/whatsnew/2.0.rst +++ b/Doc/whatsnew/2.0.rst @@ -791,7 +791,7 @@ Previously the Python virtual machine used 16-bit numbers in its bytecode, limiting the size of source files. In particular, this affected the maximum size of literal lists and dictionaries in Python source; occasionally people who are generating Python code would run into this limit. A patch by Charles G. -Waldman raises the limit from ``2^16`` to ``2^{32}``. +Waldman raises the limit from ``2**16`` to ``2**32``. Three new convenience functions intended for adding constants to a module's dictionary at module initialization time were added: :func:`PyModule_AddObject`, diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst index d19c8e01..abb65222 100644 --- a/Doc/whatsnew/2.7.rst +++ b/Doc/whatsnew/2.7.rst @@ -953,12 +953,12 @@ Several performance enhancements have been added: considered and traversed by the collector. (Contributed by Antoine Pitrou; :issue:`4688`.) -* Long integers are now stored internally either in base 2**15 or in base - 2**30, the base being determined at build time. Previously, they - were always stored in base 2**15. Using base 2**30 gives +* Long integers are now stored internally either in base ``2**15`` or in base + ``2**30``, the base being determined at build time. Previously, they + were always stored in base ``2**15``. Using base ``2**30`` gives significant performance improvements on 64-bit machines, but benchmark results on 32-bit machines have been mixed. Therefore, - the default is to use base 2**30 on 64-bit machines and base 2**15 + the default is to use base ``2**30`` on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a new configure option :option:`!--enable-big-digits` that can be used to override this default. diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst index 919fbeeb..f1e6d0c4 100644 --- a/Doc/whatsnew/3.1.rst +++ b/Doc/whatsnew/3.1.rst @@ -474,12 +474,12 @@ Build and C API Changes Changes to Python's build process and to the C API include: -* Integers are now stored internally either in base 2**15 or in base - 2**30, the base being determined at build time. Previously, they - were always stored in base 2**15. Using base 2**30 gives +* Integers are now stored internally either in base ``2**15`` or in base + ``2**30``, the base being determined at build time. Previously, they + were always stored in base ``2**15``. Using base ``2**30`` gives significant performance improvements on 64-bit machines, but benchmark results on 32-bit machines have been mixed. Therefore, - the default is to use base 2**30 on 64-bit machines and base 2**15 + the default is to use base ``2**30`` on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a new configure option ``--enable-big-digits`` that can be used to override this default. diff --git a/Include/Python.h b/Include/Python.h index acee38c4..6ee52e74 100644 --- a/Include/Python.h +++ b/Include/Python.h @@ -35,19 +35,6 @@ #ifndef MS_WINDOWS #include #endif -#ifdef HAVE_CRYPT_H -#if defined(HAVE_CRYPT_R) && !defined(_GNU_SOURCE) -/* Required for glibc to expose the crypt_r() function prototype. */ -# define _GNU_SOURCE -# define _Py_GNU_SOURCE_FOR_CRYPT -#endif -#include -#ifdef _Py_GNU_SOURCE_FOR_CRYPT -/* Don't leak the _GNU_SOURCE define to other headers. */ -# undef _GNU_SOURCE -# undef _Py_GNU_SOURCE_FOR_CRYPT -#endif -#endif /* For size_t? */ #ifdef HAVE_STDDEF_H diff --git a/Include/abstract.h b/Include/abstract.h index bb51c668..d31d66e6 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -318,7 +318,7 @@ PyAPI_FUNC(int) PyObject_DelItem(PyObject *o, PyObject *key); /* Takes an arbitrary object which must support the (character, single segment) buffer interface and returns a pointer to a read-only memory location - useable as character based input for subsequent processing. + usable as character based input for subsequent processing. Return 0 on success. buffer and buffer_len are only set in case no error occurs. Otherwise, -1 is returned and an exception set. */ diff --git a/Include/cpython/dictobject.h b/Include/cpython/dictobject.h index e33a0d15..50f4c4a9 100644 --- a/Include/cpython/dictobject.h +++ b/Include/cpython/dictobject.h @@ -26,7 +26,7 @@ typedef struct { /* If ma_values is NULL, the table is "combined": keys and values are stored in ma_keys. - If ma_values is not NULL, the table is splitted: + If ma_values is not NULL, the table is split: keys are stored in ma_keys and values are stored in ma_values */ PyObject **ma_values; } PyDictObject; diff --git a/Include/cpython/unicodeobject.h b/Include/cpython/unicodeobject.h index 17db79cf..1b460c9f 100644 --- a/Include/cpython/unicodeobject.h +++ b/Include/cpython/unicodeobject.h @@ -416,7 +416,7 @@ enum PyUnicode_Kind { /* Fast check to determine whether an object is ready. Equivalent to - PyUnicode_IS_COMPACT(op) || ((PyUnicodeObject*)(op))->data.any) */ + PyUnicode_IS_COMPACT(op) || ((PyUnicodeObject*)(op))->data.any */ #define PyUnicode_IS_READY(op) (((PyASCIIObject*)op)->state.ready) @@ -857,12 +857,20 @@ PyAPI_FUNC(PyObject*) _PyUnicode_EncodeUTF16( /* --- Unicode-Escape Codecs ---------------------------------------------- */ +/* Variant of PyUnicode_DecodeUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); /* Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape chars. */ -PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscape( +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal( const char *string, /* Unicode-Escape encoded string */ Py_ssize_t length, /* size of string */ const char *errors, /* error handling */ + Py_ssize_t *consumed, /* bytes consumed */ const char **first_invalid_escape /* on return, points to first invalid escaped char in string. */ @@ -880,6 +888,14 @@ Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_EncodeRawUnicodeEscape( Py_ssize_t length /* Number of Py_UNICODE chars to encode */ ); +/* Variant of PyUnicode_DecodeRawUnicodeEscape that supports partial decoding. */ +PyAPI_FUNC(PyObject*) _PyUnicode_DecodeRawUnicodeEscapeStateful( + const char *string, /* Unicode-Escape encoded string */ + Py_ssize_t length, /* size of string */ + const char *errors, /* error handling */ + Py_ssize_t *consumed /* bytes consumed */ +); + /* --- Latin-1 Codecs ----------------------------------------------------- */ PyAPI_FUNC(PyObject*) _PyUnicode_AsLatin1String( diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h index 88956f10..a1bd6a0b 100644 --- a/Include/internal/pycore_code.h +++ b/Include/internal/pycore_code.h @@ -3,7 +3,7 @@ #ifdef __cplusplus extern "C" { #endif - + typedef struct { PyObject *ptr; /* Cached pointer (borrowed reference) */ uint64_t globals_ver; /* ma_version of global dict */ diff --git a/Include/internal/pycore_object.h b/Include/internal/pycore_object.h index 32e86d06..c66ff12d 100644 --- a/Include/internal/pycore_object.h +++ b/Include/internal/pycore_object.h @@ -15,6 +15,9 @@ extern "C" { PyAPI_FUNC(int) _PyType_CheckConsistency(PyTypeObject *type); PyAPI_FUNC(int) _PyDict_CheckConsistency(PyObject *mp, int check_content); +/* Only private in Python 3.10 and 3.9.8+; public in 3.11 */ +extern PyObject *_PyType_GetQualName(PyTypeObject *type); + /* Tell the GC to track this object. * * NB: While the object is tracked by the collector, it must be safe to call the diff --git a/Include/internal/pycore_traceback.h b/Include/internal/pycore_traceback.h index 1f092411..c23290eb 100644 --- a/Include/internal/pycore_traceback.h +++ b/Include/internal/pycore_traceback.h @@ -51,7 +51,7 @@ PyAPI_FUNC(void) _Py_DumpTraceback( _PyGILState_GetInterpreterStateUnsafe() in last resort. It is better to pass NULL to interp and current_tstate, the function tries - different options to retrieve these informations. + different options to retrieve this information. This function is signal safe. */ diff --git a/Include/patchlevel.h b/Include/patchlevel.h index af883f23..8057ab92 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -18,12 +18,12 @@ /*--start constants--*/ #define PY_MAJOR_VERSION 3 #define PY_MINOR_VERSION 9 -#define PY_MICRO_VERSION 7 +#define PY_MICRO_VERSION 8 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.9.7" +#define PY_VERSION "3.9.8" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/Include/pytime.h b/Include/pytime.h index bdda1da2..c79eba2f 100644 --- a/Include/pytime.h +++ b/Include/pytime.h @@ -91,13 +91,13 @@ PyAPI_FUNC(_PyTime_t) _PyTime_FromNanoseconds(_PyTime_t ns); PyAPI_FUNC(int) _PyTime_FromNanosecondsObject(_PyTime_t *t, PyObject *obj); -/* Convert a number of seconds (Python float or int) to a timetamp. +/* Convert a number of seconds (Python float or int) to a timestamp. Raise an exception and return -1 on error, return 0 on success. */ PyAPI_FUNC(int) _PyTime_FromSecondsObject(_PyTime_t *t, PyObject *obj, _PyTime_round_t round); -/* Convert a number of milliseconds (Python float or int, 10^-3) to a timetamp. +/* Convert a number of milliseconds (Python float or int, 10^-3) to a timestamp. Raise an exception and return -1 on error, return 0 on success. */ PyAPI_FUNC(int) _PyTime_FromMillisecondsObject(_PyTime_t *t, PyObject *obj, diff --git a/Lib/_osx_support.py b/Lib/_osx_support.py index 37975fe8..2fc324a1 100644 --- a/Lib/_osx_support.py +++ b/Lib/_osx_support.py @@ -156,9 +156,9 @@ def _default_sysroot(cc): if _cache_default_sysroot is not None: return _cache_default_sysroot - + contents = _read_output('%s -c -E -v - "): in_incdirs = True @@ -482,7 +482,7 @@ def customize_compiler(_config_vars): This customization is performed when the first extension module build is requested - in distutils.sysconfig.customize_compiler). + in distutils.sysconfig.customize_compiler. """ # Find a compiler to use for extension module builds diff --git a/Lib/argparse.py b/Lib/argparse.py index f45a2ed4..cb5345d5 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -526,12 +526,13 @@ class HelpFormatter(object): parts = [action_header] # if there was help for the action, add lines of help text - if action.help: + if action.help and action.help.strip(): help_text = self._expand_help(action) - help_lines = self._split_lines(help_text, help_width) - parts.append('%*s%s\n' % (indent_first, '', help_lines[0])) - for line in help_lines[1:]: - parts.append('%*s%s\n' % (help_position, '', line)) + if help_text: + help_lines = self._split_lines(help_text, help_width) + parts.append('%*s%s\n' % (indent_first, '', help_lines[0])) + for line in help_lines[1:]: + parts.append('%*s%s\n' % (help_position, '', line)) # or add a newline if the description doesn't end with one elif not action_header.endswith('\n'): @@ -1208,7 +1209,8 @@ class _SubParsersAction(Action): # namespace for the relevant parts. subnamespace, arg_strings = parser.parse_known_args(arg_strings, None) for key, value in vars(subnamespace).items(): - setattr(namespace, key, value) + if not hasattr(namespace, key): + setattr(namespace, key, value) if arg_strings: vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR, []) @@ -1842,11 +1844,6 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): if action.default is not SUPPRESS: setattr(namespace, action.dest, action.default) - # add any parser defaults that aren't present - for dest in self._defaults: - if not hasattr(namespace, dest): - setattr(namespace, dest, self._defaults[dest]) - # parse the arguments and exit if there are any errors if self.exit_on_error: try: @@ -1857,6 +1854,11 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): else: namespace, args = self._parse_known_args(args, namespace) + # add any parser defaults that aren't present + for dest in self._defaults: + if not hasattr(namespace, dest): + setattr(namespace, dest, self._defaults[dest]) + if hasattr(namespace, _UNRECOGNIZED_ARGS_ATTR): args.extend(getattr(namespace, _UNRECOGNIZED_ARGS_ATTR)) delattr(namespace, _UNRECOGNIZED_ARGS_ATTR) diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index b2d446a5..bb2f9915 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -350,7 +350,7 @@ class Server(events.AbstractServer): self._start_serving() # Skip one loop iteration so that all 'loop.add_reader' # go through. - await tasks.sleep(0, loop=self._loop) + await tasks.sleep(0) async def serve_forever(self): if self._serving_forever_fut is not None: @@ -539,7 +539,7 @@ class BaseEventLoop(events.AbstractEventLoop): closing_agens = list(self._asyncgens) self._asyncgens.clear() - results = await tasks.gather( + results = await tasks._gather( *[ag.aclose() for ag in closing_agens], return_exceptions=True, loop=self) @@ -1457,7 +1457,7 @@ class BaseEventLoop(events.AbstractEventLoop): fs = [self._create_server_getaddrinfo(host, port, family=family, flags=flags) for host in hosts] - infos = await tasks.gather(*fs, loop=self) + infos = await tasks._gather(*fs, loop=self) infos = set(itertools.chain.from_iterable(infos)) completed = False @@ -1515,7 +1515,7 @@ class BaseEventLoop(events.AbstractEventLoop): server._start_serving() # Skip one loop iteration so that all 'loop.add_reader' # go through. - await tasks.sleep(0, loop=self) + await tasks.sleep(0) if self._debug: logger.info("%r is serving", server) diff --git a/Lib/asyncio/events.py b/Lib/asyncio/events.py index 0dce87b8..c8e4b407 100644 --- a/Lib/asyncio/events.py +++ b/Lib/asyncio/events.py @@ -465,7 +465,7 @@ class AbstractEventLoop: # The reason to accept file-like object instead of just file descriptor # is: we need to own pipe and close it at transport finishing # Can got complicated errors if pass f.fileno(), - # close fd in pipe transport then close f and vise versa. + # close fd in pipe transport then close f and vice versa. raise NotImplementedError async def connect_write_pipe(self, protocol_factory, pipe): @@ -478,7 +478,7 @@ class AbstractEventLoop: # The reason to accept file-like object instead of just file descriptor # is: we need to own pipe and close it at transport finishing # Can got complicated errors if pass f.fileno(), - # close fd in pipe transport then close f and vise versa. + # close fd in pipe transport then close f and vice versa. raise NotImplementedError async def subprocess_shell(self, protocol_factory, cmd, *, diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py index 268635d6..6920acba 100644 --- a/Lib/asyncio/runners.py +++ b/Lib/asyncio/runners.py @@ -61,7 +61,7 @@ def _cancel_all_tasks(loop): task.cancel() loop.run_until_complete( - tasks.gather(*to_cancel, loop=loop, return_exceptions=True)) + tasks._gather(*to_cancel, loop=loop, return_exceptions=True)) for task in to_cancel: if task.cancelled(): diff --git a/Lib/asyncio/subprocess.py b/Lib/asyncio/subprocess.py index c9506b15..820304ec 100644 --- a/Lib/asyncio/subprocess.py +++ b/Lib/asyncio/subprocess.py @@ -193,8 +193,8 @@ class Process: stderr = self._read_stream(2) else: stderr = self._noop() - stdin, stdout, stderr = await tasks.gather(stdin, stdout, stderr, - loop=self._loop) + stdin, stdout, stderr = await tasks._gather(stdin, stdout, stderr, + loop=self._loop) await self.wait() return (stdout, stderr) diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index d7e0575e..22ed3289 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -580,15 +580,16 @@ def as_completed(fs, *, loop=None, timeout=None): if futures.isfuture(fs) or coroutines.iscoroutine(fs): raise TypeError(f"expect an iterable of futures, not {type(fs).__name__}") + if loop is not None: + warnings.warn("The loop argument is deprecated since Python 3.8, " + "and scheduled for removal in Python 3.10.", + DeprecationWarning, stacklevel=2) + from .queues import Queue # Import here to avoid circular import problem. done = Queue(loop=loop) if loop is None: loop = events.get_event_loop() - else: - warnings.warn("The loop argument is deprecated since Python 3.8, " - "and scheduled for removal in Python 3.10.", - DeprecationWarning, stacklevel=2) todo = {ensure_future(f, loop=loop) for f in set(fs)} timeout_handle = None @@ -756,6 +757,10 @@ def gather(*coros_or_futures, loop=None, return_exceptions=False): "and scheduled for removal in Python 3.10.", DeprecationWarning, stacklevel=2) + return _gather(*coros_or_futures, loop=loop, return_exceptions=return_exceptions) + + +def _gather(*coros_or_futures, loop=None, return_exceptions=False): if not coros_or_futures: if loop is None: loop = events.get_event_loop() diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index 3efa6698..eecbc101 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -323,7 +323,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): server._start_serving() # Skip one loop iteration so that all 'loop.add_reader' # go through. - await tasks.sleep(0, loop=self) + await tasks.sleep(0) return server @@ -1383,7 +1383,7 @@ class ThreadedChildWatcher(AbstractChildWatcher): def remove_child_handler(self, pid): # asyncio never calls remove_child_handler() !!! # The method is no-op but is implemented because - # abstract base classe requires it + # abstract base classes require it. return True def attach_loop(self, loop): diff --git a/Lib/compileall.py b/Lib/compileall.py index 39f4bb39..25ad83c2 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -365,9 +365,9 @@ def main(): 'environment variable is set, and ' '"timestamp" otherwise.')) parser.add_argument('-o', action='append', type=int, dest='opt_levels', - help=('Optimization levels to run compilation with.' - 'Default is -1 which uses optimization level of' - 'Python interpreter itself (specified by -O).')) + help=('Optimization levels to run compilation with. ' + 'Default is -1 which uses the optimization level ' + 'of the Python interpreter itself (see -O).')) parser.add_argument('-e', metavar='DIR', dest='limit_sl_dest', help='Ignore symlinks pointing outsite of the DIR') parser.add_argument('--hardlink-dupes', action='store_true', diff --git a/Lib/concurrent/futures/thread.py b/Lib/concurrent/futures/thread.py index b7a2cac7..51c942f5 100644 --- a/Lib/concurrent/futures/thread.py +++ b/Lib/concurrent/futures/thread.py @@ -36,6 +36,12 @@ def _python_exit(): # See bpo-39812 for context. threading._register_atexit(_python_exit) +# At fork, reinitialize the `_global_shutdown_lock` lock in the child process +if hasattr(os, 'register_at_fork'): + os.register_at_fork(before=_global_shutdown_lock.acquire, + after_in_child=_global_shutdown_lock._at_fork_reinit, + after_in_parent=_global_shutdown_lock.release) + class _WorkItem(object): def __init__(self, future, fn, args, kwargs): diff --git a/Lib/contextlib.py b/Lib/contextlib.py index f60f0c27..4e8f5f75 100644 --- a/Lib/contextlib.py +++ b/Lib/contextlib.py @@ -496,10 +496,10 @@ class ExitStack(_BaseExitStack, AbstractContextManager): # Context may not be correct, so find the end of the chain while 1: exc_context = new_exc.__context__ - if exc_context is old_exc: + if exc_context is None or exc_context is old_exc: # Context is already set correctly (see issue 20317) return - if exc_context is None or exc_context is frame_exc: + if exc_context is frame_exc: break new_exc = exc_context # Change the end of the chain to point to the exception @@ -630,10 +630,10 @@ class AsyncExitStack(_BaseExitStack, AbstractAsyncContextManager): # Context may not be correct, so find the end of the chain while 1: exc_context = new_exc.__context__ - if exc_context is old_exc: + if exc_context is None or exc_context is old_exc: # Context is already set correctly (see issue 20317) return - if exc_context is None or exc_context is frame_exc: + if exc_context is frame_exc: break new_exc = exc_context # Change the end of the chain to point to the exception diff --git a/Lib/ctypes/_aix.py b/Lib/ctypes/_aix.py index 190cac65..fc3e95cb 100644 --- a/Lib/ctypes/_aix.py +++ b/Lib/ctypes/_aix.py @@ -163,7 +163,7 @@ def get_legacy(members): return member else: # 32-bit legacy names - both shr.o and shr4.o exist. - # shr.o is the preffered name so we look for shr.o first + # shr.o is the preferred name so we look for shr.o first # i.e., shr4.o is returned only when shr.o does not exist for name in ['shr.o', 'shr4.o']: member = get_one_match(re.escape(name), members) @@ -282,7 +282,7 @@ def find_shared(paths, name): if path.exists(archive): members = get_shared(get_ld_headers(archive)) member = get_member(re.escape(name), members) - if member != None: + if member is not None: return (base, member) else: return (None, None) @@ -307,7 +307,7 @@ def find_library(name): libpaths = get_libpaths() (base, member) = find_shared(libpaths, name) - if base != None: + if base is not None: return f"{base}({member})" # To get here, a member in an archive has not been found diff --git a/Lib/ctypes/test/test_structures.py b/Lib/ctypes/test/test_structures.py index 245cd94c..97ad2b8e 100644 --- a/Lib/ctypes/test/test_structures.py +++ b/Lib/ctypes/test/test_structures.py @@ -443,7 +443,7 @@ class StructureTestCase(unittest.TestCase): s = Test(1, 2, 3) # Test the StructUnionType_paramfunc() code path which copies the - # structure: if the stucture is larger than sizeof(void*). + # structure: if the structure is larger than sizeof(void*). self.assertGreater(sizeof(s), sizeof(c_void_p)) dll = CDLL(_ctypes_test.__file__) @@ -451,7 +451,7 @@ class StructureTestCase(unittest.TestCase): func.argtypes = (Test,) func.restype = None func(s) - # bpo-37140: Passing the structure by refrence must not call + # bpo-37140: Passing the structure by reference must not call # its finalizer! self.assertEqual(finalizer_calls, []) self.assertEqual(s.first, 1) diff --git a/Lib/difflib.py b/Lib/difflib.py index 0dda80d3..afd8a0c7 100644 --- a/Lib/difflib.py +++ b/Lib/difflib.py @@ -62,7 +62,7 @@ class SequenceMatcher: notion, pairing up elements that appear uniquely in each sequence. That, and the method here, appear to yield more intuitive difference reports than does diff. This method appears to be the least vulnerable - to synching up on blocks of "junk lines", though (like blank lines in + to syncing up on blocks of "junk lines", though (like blank lines in ordinary text files, or maybe "

" lines in HTML files). That may be because this is the only method of the 3 that has a *concept* of "junk" . @@ -115,38 +115,6 @@ class SequenceMatcher: case. SequenceMatcher is quadratic time for the worst case and has expected-case behavior dependent in a complicated way on how many elements the sequences have in common; best case time is linear. - - Methods: - - __init__(isjunk=None, a='', b='') - Construct a SequenceMatcher. - - set_seqs(a, b) - Set the two sequences to be compared. - - set_seq1(a) - Set the first sequence to be compared. - - set_seq2(b) - Set the second sequence to be compared. - - find_longest_match(alo=0, ahi=None, blo=0, bhi=None) - Find longest matching block in a[alo:ahi] and b[blo:bhi]. - - get_matching_blocks() - Return list of triples describing matching subsequences. - - get_opcodes() - Return list of 5-tuples describing how to turn a into b. - - ratio() - Return a measure of the sequences' similarity (float in [0,1]). - - quick_ratio() - Return an upper bound on .ratio() relatively quickly. - - real_quick_ratio() - Return an upper bound on ratio() very quickly. """ def __init__(self, isjunk=None, a='', b='', autojunk=True): @@ -837,14 +805,6 @@ class Differ: + 4. Complicated is better than complex. ? ++++ ^ ^ + 5. Flat is better than nested. - - Methods: - - __init__(linejunk=None, charjunk=None) - Construct a text differencer, with optional filters. - - compare(a, b) - Compare two sequences of lines; generate the resulting delta. """ def __init__(self, linejunk=None, charjunk=None): diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py index b5ef143e..4c47f2ed 100644 --- a/Lib/distutils/ccompiler.py +++ b/Lib/distutils/ccompiler.py @@ -392,7 +392,7 @@ class CCompiler: return output_dir, macros, include_dirs def _prep_compile(self, sources, output_dir, depends=None): - """Decide which souce files must be recompiled. + """Decide which source files must be recompiled. Determine the list of object files corresponding to 'sources', and figure out which ones really need to be recompiled. diff --git a/Lib/distutils/command/check.py b/Lib/distutils/command/check.py index ada25006..73a30f3a 100644 --- a/Lib/distutils/command/check.py +++ b/Lib/distutils/command/check.py @@ -83,7 +83,7 @@ class check(Command): name, version, URL Recommended fields: - (author and author_email) or (maintainer and maintainer_email)) + (author and author_email) or (maintainer and maintainer_email) Warns if any are missing. """ diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py index 6934e964..a7976fbe 100644 --- a/Lib/distutils/msvc9compiler.py +++ b/Lib/distutils/msvc9compiler.py @@ -673,7 +673,7 @@ class MSVCCompiler(CCompiler) : # If a manifest should be embedded, return a tuple of # (manifest_filename, resource_id). Returns None if no manifest # should be embedded. See http://bugs.python.org/issue7833 for why - # we want to avoid any manifest for extension modules if we can) + # we want to avoid any manifest for extension modules if we can. for arg in ld_args: if arg.startswith("/MANIFESTFILE:"): temp_manifest = arg.split(":", 1)[1] diff --git a/Lib/distutils/tests/test_bdist_rpm.py b/Lib/distutils/tests/test_bdist_rpm.py index 6453a02b..ba4382fb 100644 --- a/Lib/distutils/tests/test_bdist_rpm.py +++ b/Lib/distutils/tests/test_bdist_rpm.py @@ -44,7 +44,7 @@ class BuildRpmTestCase(support.TempdirManager, # spurious sdtout/stderr output under Mac OS X @unittest.skipUnless(sys.platform.startswith('linux'), 'spurious sdtout/stderr output under Mac OS X') - @requires_zlib + @requires_zlib() @unittest.skipIf(find_executable('rpm') is None, 'the rpm command is not found') @unittest.skipIf(find_executable('rpmbuild') is None, @@ -87,7 +87,7 @@ class BuildRpmTestCase(support.TempdirManager, # spurious sdtout/stderr output under Mac OS X @unittest.skipUnless(sys.platform.startswith('linux'), 'spurious sdtout/stderr output under Mac OS X') - @requires_zlib + @requires_zlib() # http://bugs.python.org/issue1533164 @unittest.skipIf(find_executable('rpm') is None, 'the rpm command is not found') diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py index f0792de7..d00c4898 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py @@ -215,7 +215,8 @@ class UnixCCompiler(CCompiler): return "-L" + dir def _is_gcc(self, compiler_name): - return "gcc" in compiler_name or "g++" in compiler_name + # clang uses same syntax for rpath as gcc + return any(name in compiler_name for name in ("gcc", "g++", "clang")) def runtime_library_dir_option(self, dir): # XXX Hackish, at the very least. See Python bug #445902: diff --git a/Lib/doctest.py b/Lib/doctest.py index baa503c8..d2c8828e 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -1022,10 +1022,8 @@ class DocTestFinder: if inspect.isclass(obj) and self._recurse: for valname, val in obj.__dict__.items(): # Special handling for staticmethod/classmethod. - if isinstance(val, staticmethod): - val = getattr(obj, valname) - if isinstance(val, classmethod): - val = getattr(obj, valname).__func__ + if isinstance(val, (staticmethod, classmethod)): + val = val.__func__ # Recurse to methods, properties, and nested classes. if ((inspect.isroutine(val) or inspect.isclass(val) or diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py index 178329fb..c5a7b231 100644 --- a/Lib/email/_parseaddr.py +++ b/Lib/email/_parseaddr.py @@ -128,6 +128,8 @@ def _parsedate_tz(data): tss = 0 elif len(tm) == 3: [thh, tmm, tss] = tm + else: + return None else: return None try: diff --git a/Lib/email/contentmanager.py b/Lib/email/contentmanager.py index 3cf62dc8..fcf278db 100644 --- a/Lib/email/contentmanager.py +++ b/Lib/email/contentmanager.py @@ -144,7 +144,7 @@ def _encode_text(string, charset, cte, policy): linesep = policy.linesep.encode('ascii') def embedded_body(lines): return linesep.join(lines) + linesep def normal_body(lines): return b'\n'.join(lines) + b'\n' - if cte==None: + if cte is None: # Use heuristics to decide on the "best" encoding. if max((len(x) for x in lines), default=0) <= policy.max_line_length: try: diff --git a/Lib/encodings/raw_unicode_escape.py b/Lib/encodings/raw_unicode_escape.py index 2b919b40..46c8e070 100644 --- a/Lib/encodings/raw_unicode_escape.py +++ b/Lib/encodings/raw_unicode_escape.py @@ -21,15 +21,16 @@ class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return codecs.raw_unicode_escape_encode(input, self.errors)[0] -class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): - return codecs.raw_unicode_escape_decode(input, self.errors)[0] +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, input, errors, final): + return codecs.raw_unicode_escape_decode(input, errors, final) class StreamWriter(Codec,codecs.StreamWriter): pass class StreamReader(Codec,codecs.StreamReader): - pass + def decode(self, input, errors='strict'): + return codecs.raw_unicode_escape_decode(input, errors, False) ### encodings module API diff --git a/Lib/encodings/unicode_escape.py b/Lib/encodings/unicode_escape.py index 817f9326..9b1ce99b 100644 --- a/Lib/encodings/unicode_escape.py +++ b/Lib/encodings/unicode_escape.py @@ -21,15 +21,16 @@ class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return codecs.unicode_escape_encode(input, self.errors)[0] -class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): - return codecs.unicode_escape_decode(input, self.errors)[0] +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, input, errors, final): + return codecs.unicode_escape_decode(input, errors, final) class StreamWriter(Codec,codecs.StreamWriter): pass class StreamReader(Codec,codecs.StreamReader): - pass + def decode(self, input, errors='strict'): + return codecs.unicode_escape_decode(input, errors, False) ### encodings module API diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index 7b03970c..2a140a26 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -11,12 +11,8 @@ from . import _bundled __all__ = ["version", "bootstrap"] - - -_SETUPTOOLS_VERSION = "57.4.0" - -_PIP_VERSION = "21.2.3" - +_SETUPTOOLS_VERSION = "58.1.0" +_PIP_VERSION = "21.2.4" _PROJECTS = [ ("setuptools", _SETUPTOOLS_VERSION, "py3"), ("pip", _PIP_VERSION, "py3"), diff --git a/Lib/ensurepip/_bundled/pip-21.2.3-py3-none-any.whl b/Lib/ensurepip/_bundled/pip-21.2.3-py3-none-any.whl deleted file mode 100644 index d417df63d9ec1933c4204682b9931aa385f2b187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1563443 zcmZs?Q*b3kIYlko-B)_+uC|9kw8L54g1@Mwj zSv_|KXJHf9Y37OYimCj)QKZ)2#U&LuJiq)S4kEB6Tn&og;Zlh3EF;kxz=kJ9@q0so zg{{jgO)z4~AL;3P%8OWm*(&29HiL;o8gR;JrsG=+;>!_CvCl82QgxCiLRAEI1o^Yk zZ$GUvyqDseFhy7aFzgp;=UB-!8GAQT`mqz3coKOV4UYlBIeZ_WO8?=ko!IMHXAmHu zS+M`pS$4(%`~S~b`l>_r+e~nMkQ0JPbHoY<-Q2bj=+l9~J4VH?Rr zlTIxSgw)!yngw)GzP`Q*Y9;Ipfe+VdG6Ub<9|d8{G6feVeOrU5@n^w}yTJ?e6O-I4 zXr?<^CWYz<=1jLRd90+N1VyTIkcC7Zr@qU~o_69Fv`Y9|5&6i$z)sB7VUw&%5Z{m! zT{0o+7^T>fG`GU9RP*R*BA+3l<$g#bN<)Q}B+E~IS+sMxJ}b}u%$Byoo{j4ZxbPmP zV4uB2{zdr?&;A7dPGikfG|A-x#)&Svx9*77=nEMm);6|Y8{}>TyqUL|GW6-SXM_wHb=l-3R$ii{7u&s8yYY6Agr&wM?m$u~ zkDQ_W1w~OK@=p2s`8shkksd%%@UNn2ZNm};lHN3^USp>+BFbemmAq7>f`l6tSF<96 zenCrg_Z|<7zwj=wkNZ;EZ0Z0JXQoe7WQlwoV?kJ1VSuS zw`mY49Cy>jq`?L^iFbPtfk9Iv^MxlGDrPeMr9I_mB&w)Aeu#~q@j0#?MjRy}2^m6w z%0notNKC7~3YhrQGOR40RlkS^V`WmhM9yH#R79BS-X9+HxnC@OkD8S!6bP-DVDXe& zbH^RJRp+TnLsnaWK~v?sWv!*tX<0wvbLwg-#~4&6*+}nQDtY!cENkw{Z1Q>6V?lNd zKck4|khf|PYzJA6SH}Omo*u=EL`AG;019@0DD(+ zXM1DY|1*iXB{3_GGQoxYvmJ4*X-7JdL26K%iG^5e1BoYW%`R?FrY!xfBz+urm5?RxSBQTTeu~T7)g0 zG>d#uk55k!^@jrDJA<2XMc3{1gZ-=4FI>re3Ph|hk3CJe+@%Y`ImM-cMD(f}!1!_Y zkFb&CC{w1`K4!6XO?b~z`oJ`&byaWmC7>{_m3z*7;KHHG?9=T4h$Sa~C%f$IUbB6z zd-$jss@bvk)v}LpKC~bDU&d+%&ds;;#R8pTQ<8YwuQLxleF;-XA7KA^B6!c@pGN;~ zUIP^n5YB&{h>07(*38h{-u>UZa;mfIa@>v_Fp%{@sI&_@NjnM11}ra%0d7SzJiXia zEe*HSN{p#cnw3?_V3nHPIKTIMVh~Y)03R$~u?BQOJuzecpYBc1wj4fvmg>^!FF_CG zdyCzqKEkric3j5ARgdxP?9_j9S2e{_%73 zeW#-pP=olCtfuSXCeeSh?5J4<-)=1B|0JJ-@1Bg!lGh@Dd0L4+JiW8{JRLvI3MwcB zL{3Uedi7UTey_3fQQQsjFmu}|xAaC&f`=7kd|*_i>d|+Z+hyZh>2vVWQ{8Q(XW7{| z9O9vx(O;yO(5ou^bXevV*Lc4O!r3G|5>R1YD9*m7`~_T_6PRP;@J&lGIC9ryi-ZT$ z=LZdN=d#h$q{A?2z(2+YmY2DeV^U_tiXC!6fgluV{whC}7Zz`jP1027pc5S4UewP?i~ZvSGO!=a2m=*mDtFJ! zH*2q@50gcw%b9vMUx553Hvx&@U6Cg_gn!?%f2vp4pAtib!3s~nC^uE+`1g-9{Y*2@ zeh@8bsn2(9r8AeMJ3}1rFZ7*(Qr&y*8tn}8qQX^N}Om^1++np6fcQ3;eOl)S*u_!cd8%NT>VA-D;2__YI1v}Io+7L^O;}T~HSi9*QFTL7y_>WthRs?Y6Xf6<1Q#A>0 z^%ZbqBMwIdIcA_Wy_^QP$*Jy^O+$aA#XM|v2&kP4LVzf)F3BJV6*nY~1d^2AS?!S@ zFx2{QFT0w$=PF^c(J@Auzl@%9-Is$ZWs^gxpRk^fJPT>lQZs2;WJ`vugP2To#!4+4 z@OANKk}iQ1I}RI?iM=3-sgf+6!i1=z9Yf6h^Bcu%T7IWUy zL}7Sn(8zok>DQ>PexVCH)b~xV!XZaP7@4$ISI-0RHKOvF)nJ+Ck+E3r+Ufox#vy?@ z+qs6ui2?0PAn}mkt1F0uQFfyJx{3GKnV+))r$k2Jf1Rm*Y5#IZQ`>JdX(u=z;HzV} zyA06!K==;-3s-pln~s9fkS6MJu%La@^yE-9jJF33W^1iw_2Nya5fIuN>K!lT0UNcdVq+f_(+(@dK`y=pwc4`Q=y2ABUFHOGTy9p~u1lX4MF4 z%nVo8xO*?}2UXjHHVn0ShjZHTOPc5>^e@@i&p&^3$ zDs*>~d&1ypU{UieZ?*gfh~|WctS7^2I}1wSWG~o zPbN=$S~Oj^#~f?Yv+COXckd4w%mVj=)(p6mC1er#C=fy*@y?NfqkX0yfx?XVbve*wRi@_hj6q zL81qenjqwHr)zRF&QyROzgW&29cMzp*GTQp$TP+@WF z{Gv|9IPuLQrregD*llXB=5qE_RW}6rj;-M8lyZ*hNg}V5b5(0}lzV28S^XD}+}JUA z*ewnp1ncI)Yx<(e(d{OAL+--c6VyY$n?kIumlnal+T^V^?e^0HYl|!m%Fc7) zcrOt!N+@3ee!O$i_h|vs?ex6F9qT*k{&$c|dA8cSR81F``box8W1_ZM+S@R{Y--kl zNTz#&r^a5kPWcYR>}M_>J#*~J-J2=HvW;18mf7+mePdTe=hW#+j?Hx`QFo)t(C~Ut zi}pz`0+-}OU-J9{7gnVS(!3D7@OP?xr>2rB@5#*ey z8JIM7rs6K6gvbNvG|@&jaYVLdaq1rNLS(=bX#|b;x}&mbCi7M8>Z!_(7FHPT>!)RiM%RoxT@7E zby5Q1-p?+f>1NK@cnyc%MW6nlC(`rk# z;}Ygyo(f4{v1%Nn{3cDP_^c&>>~(6qt(Y~O2d4=yzjI~zZlNZ z)ZA$fpmkqkbX)VizJqTr$Z_o4?3lLJuW8NwM4JV$VE|%{dde}b6u+fW8>8Z!dr=_U zNqRE97%qk_>ubI+dQOmya8|Ny{Kj_)olWaa%*Y>;FTSpV{OO_+`)|-i&Z|9oBWvfs zb$Ge{tYP9@Vxs^)h&p!Hz+Ggj9jA9pbZ14PP8N0i9(Rwoh3m-4q(#(8-ZlWAe{G6) zGYY&mAF+nS*C=RS#a>GPz$ZcKtyYnqeOs<#?zljh+!r##?BvW)i8f!H6amthKgs;8 z87qNtLZ1^NLwdnW<6cj`>BJ(h&JFKN@|F`6^z)FUzHf3PZSFd`U(legYVwMFGo+Y` z;EWFksE9KZ3kn!r#{w6{m7R`B@Y>$v!y*+~ymwVp+_-bk80RreVVzyD^?ia%0xll)PV7RGF+b06*0q7r}(D zq~ZAVh@s+K!4g$wf}JD~fEF6T4oZy>rGz7X)?__F9|VAdDjh!FaWRnHKq)k{ zO`7x>WhNU4-`+~Lg{u%)jEjR+kvxr<6urt>ne#yZIqCR2>X=e0Q)-wfU1TkOO!?W3 zltnMKY9zY8QJ|0bMB@qbTddz_nt^r1{ovF@Lyn2D}0{a^CsAG`YL zo^xPfZMSCY8Y-eX4BQS}bCTbP|Jj#Nt%>OCzybk*|LaRI{;MxBH8!;}|JRf3>ewZ0 zcOrlH4}L>x3>lw_ED{9kMdLUI>De!XZRjCppuIP0LA8o)&rB7|s9e7x{MqMaU4f;Z z%(3&Ka(sYn5KkKMDzKc0E51OV_XzGgM&FO_tGs#FMiW1`JhyZL^mAA$>a4f~!=4-_IJhk48X8$m=)JG!*Sc+Tnv2W2+*QjYOdCZnD z>>7$l&uH$x#?T+Ri#Q`ltgvTc=HkskOVVj-Xc4(Gn7;oESt03=2|2uH@14ChQ_qB) zVDnb8p8d_xLKDKQM)@~t!FH8ft{eR|d;BQYHQyXI*TY{U5`KE&Jg{hIe9XklfBfJH zOkajhJJ#OSv{nJjcb8#fdEgL{6PoXjr7^BPGeU^3K8%I?=Vr^foShLAb@BG4sf<9p zEF4o9LmtL#KZg^rSRvjamTPg+4xBci}Y|XN;CGZIGWqG>rpx!tF^T?>S{% zcWX`z*U2z$znCpE4AqH6+j$yW8%kh`=d|XZPBpVvCzivw2}x9x)?7&nJ8-Gaqm9gS zhhmal^+LIUwGJ+@^9Vq{8OU%i3@vB_`y#Ed34#`ZHQ+KJ+{n%-DD{*cWvZ$dt$z(&iCWlM|QyyN4!w|2e|ib=(B@Fx6GRyWbI%*GM1OnQ~03->7W z0Y=uM=4Bciq)(M*rcnh979D-3b)b+-N3hp8eno=j^2%7%BwdtjlJXBeFGk)~V3%n) z+%_b!qC*t67(H)`U3B>^l?N9lhz7&9>%_f6#lpT*yDX_vfC{#jx3NL2*1|JWrqnf# zC!K~%AMgcWW@5CtXng{IkJE2+j*BoopS_owf!BK^x^rF#5}njsLVr+g1ZiT7*wNAe zXUPOwvP$)GtzdZus)vYKu7JGEM7^J=VV*#mhGF)??^8t z3G!b_&!a%seYQ_cmm>)*86$k$yi-Ccpt&&8zO5b+wn{lX3~HlKtJCL(Og8&=V_3;c zrGt0YIVp76la(sgX6D2#48rqr!7(pTi@`U-xO6(VHzXJpSML*s6FFd2hP&wyDnHqc zI}|#qO>T(h`gD>=pLEx`2p3oKi$&;7t89^qN@e~rTzcd-&b5K;-B4nv!XW9j2o9E76H9yEScxdc?(+zT3S z17~l{C~Q#CJCJ!-9CNZK1E|K$8!37WaQ~I=J0Ur@pTQe zOFUi7wp>e?3FHygKT9V3jKXC%;o4Cloe^YJ6h5SXw#Hb9Hst2=ibM)E0)T*e4JAy) zpT{!4c(an6oojD~Y_=bmr95nh?uKgRAcVrY0RE9=8;UD&H2dTi-DiMp$|RBnOagOYtf=`&927_h#7dIg`Ve44 zGN6mGpW=ghL4U>vc6@+R4c_vf;p2c7YJ6$o8Dmjw+fOEz3)g)pdN-b%6Ngvz8J5D80Eg1_? z=L21JkxC>2q!0CS>TP#`(M#Z+OxbN?HD_A^b<&)IPU|DnXOrFS5I7jSVIu-5p*sNr z0$E-Vo_>gG22tUtYU#I96R8IK2Yc)xAnDlV!g0_SuaK*JE{K7+!F}4j|8)ms8oagY z$69Qve#vfXX_^E24PLXz9~r$ZArJRBA3^>7oUXD9VaUS~55q6VA9g67QCQ{xvqCF- z2PcR31Nrs2k%-J?fzgOVjV;=&(WnPiB2=SpDf4zqE(YXLENL!Rpoq3Bgi?n7 z_YkTV4D|7w2h<;eLh(yisW~?qKUb`ns{`L3f$FgDtRcCIuh6~7C<;H`#APr1S=Fr0U}xsU>;Xrk9l5msvPGY|H(wQC1Af}YT^|fcfM^o{srE-MQ{lL20M|T>JD8}r*KtJOK`z%6?CbK* z@bh(XbIa@Ve!rSsoj`0a(*gD6w(#k8XV{U~U62(7$`ZYu&_k`F+aS+v!O62)$O%H}B_!|#Ca`iBur^TiO=Q{~U4^=I4yQsu zqK|X4{tlF?(T_eyXV7$DpC2m+<_#J@02YBlaX11N4*F<^7VrQ|!XtLE!T{EHx*Trf z_1dq5c&Hdr4%d2KZ;4wO|0d3Exy590>Hv|)_#f^M(W`+9{*{D#5f3gRTnkrCIzs^#ScP8YKh*4_3|qP-K=zaPEROgr z$lQ*o<;nwAu3*G|s<}|J(~|@0p}*{hMLZTc=Sr9gE`v18S{-*d7p{PF@o_BJn^l2; zx(kTBr%iN4F7A!i6d_qh?WK<{%RdP7Qj!xMr!>jlZ49!bE;?t@1_J&s6*Yg^A_4;m z2#ARj2#Dant8oW=3xK7Yv#~3{!Tw)WK8yS1us#0b0s2i?&jzAgIm4#UTno}VTa`9b zX^QJEpkoCh8$)?*5lwbWHJyF<_1ou8V4{Z+|QxFFhh(w>8_ zN-HVFEt!(jRsJa&O2=;MtM99?#zbCP{5|_rTw~{E{KF@LOmWRMAR&=dxII@LeHMCp zQUrulHeDI{u(^k9d%}(IA&5)_4K`hkja*lwPOA72FIl&H#N6^8y|A`H+kUOlng}Q> zY?N^Y5&0Ik8kI}-QRYYlY}$cErX5^ST4pSm706Yzop$OFhPE1+ts_hnkvzOq4vP|& z&v!EB<=X%W%+sx%0oLGB-+UPS^d&*NNs7hVudgep1(8uMG!{5)9ouAj6Gb{~MEa}u%Xk&>;(TbwdJ46!k z^-sAaq3MnzdOT{ZO<;S!xC7BSGjrh5~x2R`(K>l8~?*s)DfF zN_JFl``Kwk&E+ZC#$X*#`8Qr7qUUr?GQ&nP{mO7h#d$-50_Bjrh8|^>4xHIWRCN6$ zWx7h+&DF`5D+-i`GVb0D>G3MX_YVpdTgh>|M5Br)u-_(Fw_#nXij8 zPu==2!UTp>0wu1f0RsoZM`U&ER3WKF-XE^MUOw*p@$-yd%d$jaWYVP!oJ;$O6ld6X zrum0r*T{(b`yZaJ-p+Uh`Gokt&Mhkj){yM57+gamZAEv}i_6pax{Fq;KIvmkTg9B{ zP9d><-M{^LDDIMX*~tfK0d6o=Ie*BiXd0z*VEpN&4DQ{Mn*vnXM4`awEo3st>i4BK zirCyt#V0}8h+W~_k;KyRzR|@s`+#F!7`n=~N{g+a8_A?J6dX|ULA1+eqD)3GQ$trs ze22;=3Dy!rhO!nP4e6{hL57aWlgCCnVT7JP(wPgs=6dr_=9Muv!cSFL;& zEcO%5Ju^t=-Ahkgp+{$7m|}&firgLV1^Cu)fqzm`rL%xAMb?SPn3aA5mI}%9hBCb3 zOpw5ZUSasrZ(9>ftZ+;Zf`I-&YK70zN+%aw#+QPlJM%8I%K%B}6lQ>pkm6@MDH~ZO zmLNm(VPU2=B&#IqHxcVPYBxfT0-2i?vax%6g7Kz+t|vb`tlb*7ibYk5{C=Lf<1=pT zvO5wz=NQ2dCRMhmg$cqTeYD<4#4P1;ms6p`_u43KBxB^M$HrMu76r&#yWzvj0t08y z;mp7y2dQd_|Ila=94$wBwy$?n=;a^anB}~3BJ0qD5(Ypm;^7+S9*5lz8H8y8q0CJl zWRju@y6=1VLv*)n@Pn85QF|K(!xiQsK>lFENzTGVnQfh>8y^Vx78vcwJzr z5R+h34Ff5_hS$OJMpzkpSru-cIqi%cBn@E1ooCMY63pnrE`ARWb5u!wo6qh^lDEXb z#Rk#-9B+kwfqDiyTZ*^#|B8#v)w@4J*eM3uC1=6Y4vrE%mBWBlB7xgfsv)QPJd#MF z*ivuYYse&mVby{V79t-UWxr2gP#B~X5>pFm!ysbvSK{!3(Lm?0QeRk`%*E`4qQu7XBvz*fzNr$0!WIa5JiJ^7#|uYn z@2XK`{$+|35{@r+hrlE@HVZ93iV#)J6>M1-6}}~`1g<1X2~Z)Ah5~|LL_ZMP1R*7# zb#TGIq$H{|Q^yl+Po$S@ESgAEA$4St#wl6P%0=gH>r=Jcu8$$H8MX%;oGtAg##{7l zq%IMzNy5W}yaA&(B#8Jf+8p?M6`aMriW?Z27{8RJd1Oel^ris`i)dA!f^l!*c}k7K z9Q%R{K^KGKJltbp{aJ#b3K9XTv7P3j7QO#LiuJ)ljQCx*r?{qRCS&Fa@;c4uO^Z`Y zISX$~LYTPjnpF6+V*)2GtMXvx6qBI>P59{x3RZP0S>`@R+$4j$z|Y?ab=`{sx2%Vv z93bi6l>}({-GofK&pmYluYVHhi9NN$H48zRC;q48`Tos~YEm)^uC(y?)4DiJlYl(^ z(aafqp(UeP4T-ZtwQ)tW8x=++3q|2@2XrQ#YbJD+vIgBX&?6(o*o3>z;lkpk9)xSU zt9P}Pa8rD25MuFS0IKvMu#@^ITbR~00A^*aJWAsQo}r9XBiyjt2XLc#V<9dMj**U@ ztKL)oTntzi1&_`1I<3htFOWDXFj(-GP|t*c5Us>R>ZkmtNU-i9=9(DQSd4k}qpKo^ z6%!>(PGX=)MQ=0U&Gon3*3;mefc0+lv3cy?r{1uIMi`mW=NGkCwQaE6Tn34Ibx4p& zjT24E2nUh4ttA#pgDGZ^qLY=dXbS-f{Sa*M{t|hjLG`mnybY5xFWtg3-SpN@h8)<> z6**9k!i@7zRHxnrl@O2>7~6!r!Z}*Aq9#`=XuNWFnmcL)mgv{sM<4VM95nnIEDEz) zHYu%NlSG-kw(ogTfH9HJsoy9~V2K9mHfWQ%wbHxJz{Pg0E=;>NdS)XjtFq%SV>B2n z`lGeA(`=B;Pnr_d(F{N%!>uIAD~CxIAv6wdCg@swBf{vW>W~quRpbQUDT=`Jf4(A< z*R9zd^Co5zbY(EtaxffruVT%(aiK03it3iJbI_*z_L}<)T^s*+e|p)2dUX|AAK}OhA7}tRhAPr zfRg%5?>@SK9a1v^Ge&}>IH14aCj%cgby@C*mXCwUH<#B1wiixcv{PQ%VWQiB5KUb$ zAJ8)TKn7ZCM38HG3~u2qq(2;kU@)hFfmA3e%xN_o)^ERwtl+&-X@HnU(uG*%88p~f zY-0)8aDk$eUYC=lzMyxEGsmvq#rV`{=S_-c6w4zd(bzb3UZ}l%`I8Jf=GE3Ru_Wd^ zzc4&YhEFX(0-xHC_5Ku0yR62|agTN8M-;FWiFPWXj?${GoJi`d9*e|hL7Axwjhp`$ z3#rQlXbp}Iji?peGFJPoqyf+u<-yC-KQeBS1rl6jYR(qfRRY43t+9>AZD&~@V5G1+ z0@0A0u%qq)@^x&W^ZRV|wMTn5EoZ(TcOdxQM#RF1K*c-5p?L<86;JxE(o=u8S><&l zNrb;mJK4UJ$BnCVaOxOx_|70$g?Ivj7jd|8%-+Z_p)rNKl$^C^l7lnqF^?VMZ^b33-;QZT}-a04w?+Z?#4Tp4LTv>v&LYJ_aO zv6|}_uL90=VKIZ)!Jk0E>cK1AywQRX3`k|jV<;=w*Y~$P!YDp{!rc`TQP~9a<2A-H8*c#3 zE}SC?si=hv!_Nzx^@v>h=u`sL&z734virW`)Y|H5wBrm$2O_;~z2m}_X=hCeMp=!1 zGZEWL&-ampfbV5X@(_JgJ$?!_d!lGxlnZJIWzJXvf=QFKKsyi*hI|0bp(Om^Azdua z;Q^BPsiU2d)*A!}LxISdsmJK=gwiXqtkyZT){vd}QdwuycAYHhoYhT$uySO?UmQ1_ zQyA5BNB4FBF_TkjkV$6_@DT`(pL`?}dpt7G3LxVq*eV9{D|CI71!GnhTp`sT!X%f;r-vGEC-SoCAUEwUnIM}W9eUE=n`pRQ zpH$(!JaS_g&-%|3ciE6z^p?lv!+cy0&X2%v3TYR_GT2WebL6|e&-ycTcpeljVQ&C7 ze@BVpQyi6F7(E@c6NHm1QrPi+rBtxl6acU|ScUEFhHY}VlDF7=J~NL7nP)rg$!%~u zV}f082Qy8?dk#9VcARfG&3GGdUdU0M`{J7J1bdjzHY*XmCkEJ4m!|~t;Dlxn3}=5h zBev}ww97)eaaM3Cd`y;-6ebqQNh7EXxsdNV7U;g)*LlBAEP0f6W8~s$z_(|yOm65d zr04y~tA5f#$HL9;3l-u|TkY{A&-R`9!V$lPra3>IpiJ%!|5M-NY4sjs|3?&l*nog= z|BEP?dzzX%{tr!X`G*r$b*~+^xln!#3V%T7zl?Aj+dAeE1x^BOvpI%d-R!o;igdaD zNqjp}#p$WZ-XWiNoUCNzSH_gPw;8MpqtO$Gj`;)F%_WN$&n|S)D%CrUQ<0%*x^>mF z8tUYwYj#t$ONQ4o2}90cyjk6jN#>IQIKng7XJ4)Itcs?mhM`?Vg{J zLlIW?U7O|3r{|3G2iWH;pjOIRAzFccdKf=LgmRP1D~h}w37y?5B&c3dYy^VQs`hX` zq%o>>Y56OEvv@Fs@C98+9g!(MWh+PpKSER00P%Np_=-$KPkJXJPpw76X1CARw_ODu5+VrXJBZKZb#5*EB++Z<*7hGAgfO+5U{yug7%R=b)Ur3G9TSW;hkXKE6IK ze{WwWJ`)@`FTTrAAXaplBusF7m`*c3#hcb?ussPQZCOQE zme=X{ii`sh^RgjHMptsI1t?29F|T<#G~k>;lbH#*a=i-Plg;1#dkbtZC&mL5CbQ{A z-OYLoloF-a*s>G6U%}J4mcy_pf{F_xW5M#nUvpT#14oz<~==ALZwr_7dOEQN)*ES|U{6QDND+)?^ki<0P2P{&-y zy?15?d;qq#cfDPQUACgBHtWbeCClBn<-)Q&YSoY~+eJFsaU`NNt9`>c+?AT@u=bn9 zFmxq|(6m(P(OHE?YCV`#IHS5#jDpeZ^C#7Mg&oaUXGgF%-*zMvYL7aX!ii^!JJIXy zH*he3?`CXppK?Fp*4~GBuAQpE72V^3li`Y<4I4WcNDQ-4{0>QFo$})sH_PTr`+GPY2Om8nPpOm!(kiZBpQv#>q2EX{gLT&!4d zEI&?p0}StYZGdcG;CV)$Bh~hs6Oy&50OC+;U8$cnIK2q?x$dbS11Yw0fYY>)DzjD7 z8AGNDLA%3=POA#S^AOUAfRR}4N+;ix)1ME%OmNV{=Dl(trW(ncCC+*bv9fpV_4!U( z5$k??DF@-C*sw#S6bqj@j4(FF9)u@FihAuZ)!x;sV8oy)5heXuIC;oOwq1619rB#p zGc_m|Xy|}QJQm6v)Xqo)n!Q1oOC1$zQSHRsuL(Rym~Jtyk6(odd;ujV(h5~uDF)-r zqUCfq4 zG9x2Br%_-7)s(3Iiy5?;ME+nMrChi!Z~!8%+7L{&Y~d3tlF7`b6Rs2V`>MC7>=6Cy zwqI1@9{>Bc*zFHP%U%Bzt4tC)wZ%dS0}Vl69W$AbDHNDpOjn<7qq1eVCURW=S44k~ zG4KXf?2ijmLqap3B!ShsNG`Za4!BA-xXR_5%Q5<0wR#cyn%bX{JX0tIe>Ng|p%ohh zUfJ+1&_!a{7T#!ekR&*m46SL6fYLIYOE~KSZ1z?v%C`vnsP)?5G=rz-KVS>>QCzmB ztVkHRY4nVlZ*;_csl8xQLFphEE9~hhb&(BJP^H$UP+<+UiER;TLN%3BRIO?0(xJn@ zZ~M$4Hl9h)b3$|iw9Crqfa=$d>xx}$w*g`QzNY{Q;j&UW*MN@$m?A}$ECzfbUFA&J z3Of@DvKKc@KDC~nsr8~T!+>URgvy6buO=hbVLr zLRkw*NXk%)LLviI;#H4dEz+&~Vw-TYKf>)2XN}dQth>lg88h@#MPlFUK-#Qe!G~R~ zV&C+Vxr)87GpKD-&jZJ&i-sT;PA#xvfpw3?H;&|5BLk`n;%V|$TCCY%htz;hXhr12pf@&}rl{>2 z!HR0Jm?a_^qJh&~Ws=Ec`ogt!3_n66MN>J=hGQ5idyq4l#UqW|O=tnNwM{Z37Z1kA zF(;bn|6Gks_Jm83EC`7c$oe9J$bg;r#?~S8Dg+hK78>a#S&<@hLm*10idZ7W$Wfcp zR#Kti;|RDj#?emSV|)DGGDr;d=*+Mgf(fH0oFWahK+5r$#VO`aDH5O<9HYI2jS3qz zCvw@gwK^ZJOVYWQP*?qp|J`|R8X(EARYYZs=ZK3 zJ9vV!&BYgrQg4b6wL*hrM``uln(oYh?_&q7wBFWjoi!X=+mEl(qzb3}JoU$8P$ULM z*fdxm{$p$;7L5-lb>NvXgUg)7j(M$m)~~=J7O}me1I}HHe|PfP{_{^@)yoD$P<7V_ zeFq}Px@-Ey!#yT^S;MH3vA)C1Xh_{y!Conht&wM1Jx*0ln&u`<_2>th%KC31%V@xw zAX8FsOhQfWKM2xx%tY!J2~Sa0SdVb86!}hVxg%sNftwm7rDwX4*5p#_4h%6ji*TgG z@r%L(CE8&P&wUqa0wt5Q9j}=37l>629lstpKKQqhPMilJ>Gx(d5vnaWC~*dX9R!&O zk;bx0L6xXMpD(5}ue&`Fi;zSS{Kt6JHhvijscaeX9i2qo&i4u@$o}>7k4)*lf09&F zq`vRdY@?O&L_Ou22=VJ6-fyy%4E(9{vQp8l53@AbMJXCrMY^&k_Ffh&eaP2$eV>A3 z)*kkH8{Q$9@Y(ZQ!0l_kGJMzxz=z9!XYYusrMJgFc4{jfvx#-T17ZMTLBhU4u0TPy zGItn!HKuG#d;;D#Ewb7EQOzk8Z2dvQU?hiunZT4$KpdYUFgkfu9siqc0jYVXO6CtD zIb8o0$|wRFxJW*F>O2Vtw;?IGQk`8^bnd-~VmN=$L#}7eA)T=(ZR#k897%YUOqd@d ztk}(@On=RyLk6CS#8rW9$)#s^$5w7r91U;{z0*nm?Hed!2dE5(WlC6gpg<6n@k#W( z5sj(swtQdlpyu|@k3klT(nZm@XCqan_QP?C#-53 zN{ncYz6bKz=0n7~!#txxhUKrjx#7~&Rri%7o5X4!@k7)=A+kvHG5VF&iJ+3Wal4hk zTs-9^OiU#(px&(>Jiv)@RF|ovcf=Xn6SOQMBje` zXKfh?LkiOS{112Pd0&?{eKZelCoPT7g5Pe6HCAK_1VBdhDxAmkkdN!nZS)Uaec z_C1z%-}hF+>37nzEU=QGq&IAr;XCZrkFiVe++0J|sV&fbVw?i4n2j#CWd3kv#86%AW78yGjHk7H6;A?~oU z89u)@x7Qgj-+x~Q>=g{~`+5DnI?`8kn4dGum6$2BU2;$-Q^N=sdECllrZQoQ+z{rs zhNp_!u!$|;M42ZWv&=VsKuH!OlTAkl^&aMUy*1=_7Em+yJ-1CT3g=`b$`FTi;mvI7 z9@>NGEZcNRqGu3X3PN*>JKU~Ne66njqSXibdKLmYNFTva20^>97w--N(zj=25pYBl z>ksWi2NpDiTdA0$o4iwww~~>slxzho9Gnq^=yWW;zf~9Heua~dK z0qX``Ayf{;B0UQ7cCB2!SkXlV_ssg*e&wzoDbyQq^JVh!hCpFt*l(xG!zzF+5z3K# z14=`97J`BEs{);Zz?#qBle=xjaSh7jafOHFTw*tck*%I*ejtz2rJP(q{j;`Vd|=m% zTz7J4u>-x}2#XKcKEW;zPP6ZE1&6wjTM+9xlcNb{CWz(oC2);xe8wjPM20)1=JDFj zAdGRF?GPBOqyT}rdou;-=9B32fx?P1PD09b{21D z(;3)kd{l$g#d57A&ZOiq+I-nbYuV*DxgmuHcBd&E@R!w+30!X-y2j7P;N-a6!`Dyoh zwiD?LGTsUQlQs-2JH)*FqYSqHW>3-oi#GhvH26Qx@NaP5CR7M6>@N6+cw-tyw-0R# zX4_P;tnayL}qA;oi%QtZgxqpKS;{3_B z5C4^k8wQdxBwxUEuz8YI>fBh}6f{EL(cs0By-QEV(-#z`T^>XHfj?Qqo34^da6_07 zy!fs#PPjyJK_gOrNWv0u3}Su4zk>wkg9c|uvimtvjc!N3pAvJ;vjtTs>T>b|6%AE_ zZKJvly2-U)&7r`~cwLO9GxAk%}rhZ2g+#c#vF5D z_%l}i6uJqH0{?m*M%YF(3&$?cpto|*z6|%HiZ0x6E@qH?lyR<>SN-vuTO3QrtLSjw zr(kn6xyH-8_7JFgt4f(ds&a6^Ay+I-wwtCIDO(8b@d(b>vin!3GH*gP z0a-6E?0>D4*xteEZ~m*t*~6kZoraF{apiG(-CVMU(i^C+%;e{?%Y>3*#%iRGYdL*= zK=FUEbxy&VK*6?-ZQHh;Ol;f!W81cEI}>AK+qP{xnc&Vjb?eqWsM`B|KkZt*y4Tlr zFeqP=oJRvp;ASaT*25h`>E4C#wmMOWyR_u!(mOj#)x^BD?(}U9$6){a}qE%b{?hWwE z;7{bca(YGOCrNu-Z7ori<0;Bx+e6sb!eh%fn+4OSh8dMT`?@$FxsCy|8s=e7R`cEG zuy~ok9fRGkCa&5mDo@Kmqm?sWiA`JTk_yKnc~-QJSho7_ew{xf#gB-ufZ;d6_JAsn zHs6S(NDR*!;2eLgM?}KBjse6VtrY&#q8}jI#jlm-3se`u&5|UZ&DI4V?})n;PzL`i zTzJ`8Sx-?n9`>1RRRvB!!`5tGuOlbW^CRg1Tv3}5M#J|h`b`d=-AtB`T1>LwT%uhK zXJpWsrm@uwI*(uFF{q^{kF!t^L{Df6@QxcB@jTJ5drFE=&O`dRwW^Pn)=Zg*t6Wc* zt>5u`ZbTkPFoyug0uMflRgG>ijKCy{76gG^B}VPtB#2rJ*eB}(-WDYU?5<$(b~;ZY zG~)mPtk+O4+KEsIs>~5?sqcw!myRm2p&59ZWsEgSCW8lwcY9)^ZmDvw{!B|yiH7kG zg$xwJtKy2|cK608?rI^vYOaMuvT7)E*~DqY8X9kh4E2Xe zfxKrHCRLC{BrS*zw-Mk@`UaxpF@Xlq1Q4!j3VLdHUP_IutRH_U7Mt)39wgHj4S1ZK zNScm{3WVcR6i^V=ZdP+npXfoLf+qQ-^K84;=C{~Ir9t_7HsxWg@7*?sqH7+nrbC)N zO!aKGxo4&u)tI?!4CB*)kquH<1>ldFUnNCZm5o=fj;ypWHrBuFPH7;`G(n}jzyU(h za5qWNROI@@fOk}v*rC}GoW;T5=TMDiLd>#b6L3Ac9eGoRHlR%l&5!7Zm@E?YDA}vS zmER$6pb&skRMqOn9uuKEqmvJCV9%$lHGNOeV&Hg+io*UxE&9UZmlb4-4I*Or84|)O zdv3=ABH>@aan1q+3sgDNC}V zTcxOL;vEBh4u+b5+>JhYsXIoIu;|s7eKuk@8MKE56ws!lLU10(4Qwac2ywM3$&_^y znu`tvT(f3Y9Ffkp95r2NRoL9|RGL36a|S}D!I9$Ey*rQ4!5PBeJDuSgqRstmP8QLn zX|nJ&qG&&hP6wsFMHW9XMIRiNj(zw`X`DrS^D;5tk1^$yf*?qn+Sdy?N*ezX(-eU) ziz14adMA)zM(Ym}_Rtzc3!ujpGn&;#p=Un6M+2s(s+a5^fswHWyEMs+wOw?}&H2WL zBoszqvgcY1U{(+oh-ct+b4t)eto*wJ^Sj@~xm4Y}K}@Ziz6L-O#LL3yKLn7gyVFuU z_*Ym21nh4>$JBC!{4yL`nZkW!aj+lrzF{FKePY3O%YurM<3xkOY{;ufa3Hcd@I0J1+x{Ku2m#Tcf`~OpClddRC1!mygOleh$Cv2~P`l+A?YT!ovX1+6E`)wX zY|druv4gK=NLcSw3@g!l6~||q{6g63@2%5AyK4qMUahu% z81p?%1O?=j#IRlFz*XelnM?b)%@EDjrE3eft1Bi*f>=?g911GMyN|8lWfB-~vfWRe z`a-|5i6z8`5UXO#7x{$+Sc@4r|!!0T~+H>Fejyxop;w2;S6mW|+B{XEXCJFWMz$)Lb20-R-lKN(6WD}ly_H`<*HRvg-} zJ>=sD*#2&aN?LK8RGgJW{}&i#3{8R^Uue1ajuUG^VPQcM7Ir3zJ6VT~X;0hYZGt|_n4kh7g4)xYylf&EEcUmQK)6uO9j7y_pG?7x3nz$S${^_1gC{j;3dg>r_ zOJ`)oo0()~O_3{a29UQ7Oo;ROQ+y5OW&6_GkKR)jZ#XJeb@Hz7#F{Lx$5}fUsZ(6G zZO5B9v(4tKX|qoe@G3SMeXDtIHF7rA&*sBl=3X^^3N@E57%FW!^H6ysZAdOdu()F# zj{J;=FK2|?)XdS>v96~bFw?5)MGw&6dvqmVe_b-Yg9|f;jM3u6E!}=y>2S77Z$nKM zsu57#giOmQ-S@P#TM(A0+mdQ`%2!D%WlupRA#hIe($k=F>4l%aW}s^~hcZ>!Xd59) z?*_+bTHSVE)qYLUsM(Xx)SA*8veRY>j!Y_a1q`*@cI2eBRnB7KCfRnZAO!t2pMOxqMII0uCgba zZW(85e^Td8PG`rUjS}?kM&NM#PEQv2>^(^zd=A}(ujweiaA7$q=eNDQ7~`@hPiL_N z7{{20$z@`faoz6C!whbdL?U8@S&UER_4>T4@hsRhc6-nr z=Q439S{Qk6^9VEQDLI>rRV-U8pR$j0NgjiRgOpA`qU|UO9pgz;#)6M)l>P|)IcSzm z$?W76{W^ZM{3W)dP_V8{@7$H)fmh?TB!zgN^``Ua?U4g;;hOG1cSLVs%ZTC)3 zXfduWn`lf5Z+wi&?g9%VJ=VvbMx1f#ghdM12OE}J&C>JUtqc@cPl4qQs@jidm|B~I zileYXTUZf#&`;V(ZS;2ruYQ&;&Xu){CVLOE$hTMB;7O49hMfVk074=knCmI@!+u2& z%kq?DCSW45b*~__C+z1%WnX82Hr<(%r|8$))7CMr&`cyDj)_cp(u4G0iXMp8&FX;5 zStdo_QAa@*={x?;B>r+eEO4e0Drf)HX97`N3)V@3A-b{&9&@m~ZsT%_TeFN{OUM}@ zPqSoouVb(DQw%2>;dVJl?2aiVmMBz_af97jGg-ow#v!V-b}KLYeA5R~_0XBA8*fm1 z_Bx^ooWhF^#X$192rR#PxU}Q$o{LDkpEmk#srakh7TxcjsU*AMJP5{#09zB_6W&et zlJd1CM0?3G`##s+WFghZ*lr43-_oR30-fz$(iy{tgE^1>C6$it!g|UA4|f-NaMb+# zsEVo1w-KNQ*mW5RMxO)a<_j+|b1(MBfn74e<6!P&TL+0xo+MMR0$ma#Zm>caSg<q^tZ_bWaT62 zv=812GAD?nRg^zzka+Rt`(`}rRK0S8kzDG)aAdD`zzFLsf*2QD87|mJ@f$w0DgJDM z7@kc@I@p>}uli{__aq`4LJKOC_1;!5r0uAmMjs9)9s!GHt`Gtet@#buID_CG+;XDD zn961srWuwG7eJ^C5{3MBjT-9SF}?-EVd=T4BJ45|`I~JN1Z5$V3Ykk#n#gUyjkh%m z-1AxLUUPPQfVkdgsZ0dBr_?QS;dTI_e87jdMKyEs)hsP4$QLUIh()Ng^wB7$;sin5 zlM>f5_k))Hdy&*QPF8J41YS#0$&`q6@OIdDME6?il^x1hQ&7^}d)>=z2+A!ff}~>p zr7KJT`;V%?HBuHR%#WY%GqL{{j9^Od`wM6xnP%lgIy|v8>MwTLepuN;fVmz?Zub4r zz)!DGZY4xA0ydKwCv+`WRU*8|YI`;^z+~{;O`ga_oqW^+%}HAKqTGbJ6ZeyZclk}l zB3oFXjqW%4lZIFo!a10vemy71vI{n%z{l)r3mh7fiNk z%w`m>PQF?_G^~Lqy)!NKFyvH0B~rjH-8((=Hu_lLCPVzAD`TvEygKL)@<6DSOfb!p z^$X;S&dUR>&)2v6jdkf>-n$T)Z%JLe1_%VtQrqU!g|-3AM5AL+H7Z>6bE96CCKR!wd&wNj48AW zN55YXm|4HsX#Mzq!NYhsxw}m&IMwf7nKj=(1kGEKd&kv1M%LLFYsRt=vd1`ExM=9I zja_EFp~K(((mUOwF|Y!DttG_hS1nvR{)cb-Oe2unIR8jdDa;CMq-#WE=UFoE2Pkph zcZTV((JeW(@!{=FFh8iyA42e5=P=#&#U~fD8dRrCzYU~eidN~;VWn&g#GvP&KC<$+ zMo1_lLE}7i@Z)gfzB(XzqCc_`8r5p_ zU6?;rPzVkp;VjKB9PNaOcT9(+Pd#WcI6E6z&%{rZ-h0S=c@E6>4qDbZzR!NfEt z&7ome$U(a9{jZiDpKo9i>pyUrDC7SYNpiOU0Bj8Y6JG{!`lp?yajfk(#UDC>f5Ky9 zgvq2IvkKaGuoVN@T%&+2QHP{%f{~G$+tNJBB*SDjl%l_1von1i+}o3mbrJZ1IZBRa zuDT2+|G~&QbZXnrI=k$7+~EB+M6}QW-T&B_GqnA+oo0jjD@C(a7xX`DDfqj09hm3$ z^EMp30z3jVoVJV4)mG}X0j#~ai7lSJ9KF1DJyFkd>C5-X`!}uh1my($Rjtt82pfse`E>3G?ci_N(!Y2b zLEi7D76e&?K980*ns=s}<^9vyz=!z{1xPRfVrughJUM zF+?>JAL1gtLAQTjP|U)o_ioC-r%}SGGjm`iWTM8>S``R??tsX&hBe-ua0kfq!5m#b zQNQ~^)<3A+cb|giOsy&(fZ=skz^`TvT@k0s&}88IgmUpA|F}TwoEqoqrCa0O@o{M+V|qKNJ5MA zfdBc8ZQ2&1h^ihKg4;1~$sAO6W zcvywL*KXGsH+U0QK54cX)K+Xqpm$Q<>+k+COZW9=>%;Ty^>j^5H-)H94&K3?$NUjY6uA zWwDwZFFAg%)L*C7Vsjw?>CNmTP9nf7V0_2jpD{VB2{uF6v`82U^$sQcF^gx~No^g6 zU0@JQw@*081stZwJ{@bQ<~gXP&l<}!tb+VmJ>BUuIE3xZIq(Eu(SXVaI6bEcC0oo9 zkRr@}JW5A^YpRM&8dHbQa7LhpiHN5^8S239DraKaTYs}x3=SL(3mM|7D65N%G=ll7Q`}$3ezlvNn^rAhp?+lI&3GUM z8=>2k^QkkH6Guy5O-1bw@*{Fgn-gG}P!aYZKAHMP1#_Wg!UDHFvn-b4HRd4RnW(b7 zs)vBeq<%+C!O|!cV#m1kSD?TyOf)9)9d7cS=4~r7XHr}P44@V;)S|59CT=CB{DeEe zzr+xj-(k%^CY-W`(!K0WhCnGyL?#662TP8 z&BtzO2&8l{TDu5d;c%qplh9K5=d0Cn%~~mq(U^y8(1UaCgjrw+BtMoJFR&P~ho9CY zP*iNnSu9EkF3LXiWGEJgs%CZj7nmYj4&gzaKkn3;l8jNU2t1OavUM zV?S|U@jH%^QZplmW=LD&94o9KsB5}eSNv&Co{Zp6gGLWmp;LYu-43l)tm8e6gu!vX zw-r5`imlp9eHnZMT-rGl&h6|PQC{UCGNxD0-_3*pr>C= zn|Vf8aHxugAL#X$`)3ksH2)f_jK_4LcBuEJ6&lDvJ_`ttXY~^XfTufr^#?0qkcyxU z*yzlq2-2Nm*}3HS2?Pd~Jg?LwA-M7l$RdP_O0lX@(ikNg7_PG`LB1|<%Jq0Tt)PBm zt>9FlVw<8K^Jk8n+N}-Xa#!_; zyZ)Sp`q1eZMV6+Q(c+s~OY}C7^byJ?G}X@WzhmUkVDy!_D}G#ypjsi}K529)@iMSE zW`+D&c%ShOVhRH8V+#DSbcPynFJ-*JS3kn_7}Hd0a+|94UNOJ1#{*V?=~KXtez6B_ z07DGJ;CzXKeT#BteQCp3k^8Ad$S-GT>GcaGUst-2ZTQri=CQ03VqO#s($mT2Q6}C}^@5Rl* zku7(SO3cG`t2{cM4Pgxlj|Ch^bE%=`46bB++w=Et2r{9m1&&8!nL7F>mr#nOI090g z8kFJmvnI${B|MnF3lSUk7u*35*_kErp4S+cX}oxUyZ+tBLD%IT5ERS5&%SN469;dB zGc7+Sn{|1YHfmxH!8^3mPRC^zM{z_MckDTGgfkr?#IKtuQG_VN`$y7gIV|7zIIPsL za_Fp{wrOqENpP`bb4Sf4GN>H1#L3ooq^E*TOdFQ;xe$p7{cAM>!as2``I?(ka9&Oe zGa7r`P+WQrQ#_5K+6zzY^2vwSJcpoQoO0OXz1gHnl>M4%IkHx<3l-Fibvq#ceNt_E zZhGvza>#>*xrl%15S(vqO)%2H>mG51%qNN~59yNX!+K5{s#l;=elK(9F9eiGb2NTB z$eYrIjx0OQ8sDEdu{8^jdW-sD;cR+W{LWjdt`R%NODC&O@an}3ZtK>N6b>F*VklPN z!fTP(WOIGf!w>lvJ$FqHV$uT4O%hByq7UJH9^ihIa-4K;^cO1UWt|&qbiMkZXnkvG zk*`kb%dxl?QaePitZ{K=hm|y@F?m{HyV@`JMPaLA4T}Xi=gHi>nK|r$21eSGS>8O8 zbkoyjRu05);IGWfC>vk`#)3*69~B_#_vCW_@KjI1=ofR@gyI6W)7OBwBI(snXQkSJ zX{w(1QCL=04zrkcFS}KGU_2ULT%`_PRaeK_-8tw~L=5u3hnK<8Bb9U_Mt#OGG~#gk zx{j%P!?B zLQZ3X<0+IoPgXvg;6665RZKTulQVmsl1Hrb(}wo9-QK9N zE|fN&l&E>^^LbFdcxHda`D~rII0WZE!L^D?P|nqDCDyOW)_G=e1-pbde?wtM*H%?0CX2#0wZ5k;M|?Z& zgznr(e#Y_I(|1NgJr2RMn99Fr`9kJUzbJ(5NDiN3xfm&UNVB{_2JYwmf&Oc`fh0bT zWBbpjjre!*|A%2~Vq^LL)2qp2WDr1!;f7x%xAr3$yb4}Gu*arE;h_(j&aR`EYHYbn zpR^^4KMSK1w<#hc^@!BoA}Ox9IqFiY1&6VWlmAL(&TCmZt#>%UQI}#Fd+hm6_ECQ* z*hX#k_$uWu%Jy5@_3Fq3C8|k**j=O6;saj1<9lk_{7oKX;+oc0G+RPg3u- zi*nIUFMU-*D^1Tp&){B!v4o;%l|MB~4%W&?jnZRR%8^KywKCKK-BD*c?_tLFLS?p- zviGr;mwwEfOMy_Qg@~|i0oG}^*khx}Pz2N~75#P(t2#|?auSrOI)=sxjRbqS8piFU za(G{`^SUJauYs*6Xd^ymE6?P9AKSLF9Dg`vSrz@}eBm+3($(FuFYY7S1h#Mu{hf8+gqCOAqjbZQ@szs%a9B?CaNW@an= zBpPj0){6HE1npQQp$Q>YsDEzBRo(+e>m#FjZa=d zzJfqm2LgB(hRg~2Zx~NEyqrhiq&yt~C}d;iqebTM<@A;nAeVM8)z|jIJqc-oSWUe| z#^8a%A9U=OVARebFt{m)TwHyp18eMLKH|B-rO` zV}=?2wf|GKyB)e`n>MQ@VV1coNiQ{D;fBqkO&wK4BL@hjxAq37Q8VhsJxIEUeeEgvJVgN=B8N$HY&NkKI>NXpA4HQ+ndf7wQ{o#qgDePAz2F zG@+sC=V`$~N>^JxELvSrPbl~c@cDH8eX9Hz-3||jtqmANKZB(H{e?OpAH%>0a`;c6*Am(QM{(ULB*b#=y zex$nEOY&^*+TG_~5Uv5T6aLGB<}>;xJj6g5R5H+LC~S#05<8umuvTn>Bru5yGr>W~ zui-qvU$&OGbsAf7&2liAaW+F8$zdfal^2*iv8a|_)2XQ=Q&BB3o!|atF5=sL4*EkSNQZUhN_8;q8Z=w5cBG)X zBWFrs;_rxLo1Ryx9IP#*h8%43pI!|R0V9)dujgrNBjY5|N%5<{KrpqhbwK{C51kU4*UDh^A$=1)Jxm>&BZ3Qn(%p8tk9-g9OBhi1voKlmP$AK4YO z;k?b51uMv#_&Sdon;=x$Qtj3(Tx5cC^B2{z2#uotYL#7q<@95^8?z5O4lt z2&-vraF+tEhvzJQN=GbqZnUIiLmn<1K4c|@Uf;guE6Zx^oX7ZQmbk4mvZ zm>>8;$BoRA&2POG)7qT;_hAZjgmw2E;&jQ8qxpKG?ub5*nN^uDr+3>2oVi+feCu+L z6gU=%PJI^|Ble8#Hq4NX`BM(VIuc9cE$r%)mF%%)xJ>jK_kuaz`V2}HvlmAQX`Zv0 z_xMrMY=UNXZh1Y(6bt+_6w7p2)g8D~@Z34B5h7y_B>b(b2|iA)Ei`u@*@@g6N86$ByqvDHxsnAsY!{PxR550`x%NjKY{rIB zm)ZLrrxv(Uq*CSyp#8D~u4zX>TQESd{swG^n=h}&rs3ZHhrnuD(=I1qS>vw6Vi(xX zZBILvx+{7+h~RyFDkc(OQu>j*IH1_3AS|3pwS1f`VGlX@k`L|YkRm|yIV}-39BQA~ za^0-L3Wtrx*{{~zKQrn*kq+a+V8)MF%HZ&2;`%e|Jmz5GXeUK^1pEu+*w0?oUY6>T z`O$X^Y)4{Sa zj{Vi?szxsW0xJxred?X!0NG3&8J^9A>QI*zzWNL8Kmbgh6=qv*@R+Wu-o`|HeD3fB zuOi%(r7`IQJeN~?O%sRgk4XS)4lNphApneCA?MHLxVOOFg9`q82pn8wnlcQ|KXu(UE6PR;QVI}v(UH#eocGT zj~ncimrbq(+d7%ZwF5LNuz-AHUk$^x1Z|Y_%D;D4M7mK_#_|=wMH~Tm*nj+%mQZqG zs5ZTQvZH)RA>lSH979??@lV)Q@<` zyYv+>=Js!kOFubkpEof5ZjeQ`x&2Br&(+dW2e%)zMcbEOFX?YdC1;G;nbDM&PpSNo z9$iKqB^K*fS@t@I*)7yM)6X8fP#n`~7mLXRMQvHPN&5!duq|69Ic$zmL$F8EfeA3{ z_rX67W&x11Wd354luI2v)6qY!WczGWxS!?L4RmfX%rD;fD%!OOW{WD&ZO(+1_P$-A z$T>Bp zs_2u_CjZ~hbBD7V7th>Kb-M+IjaHb$(IbTPO|Kmj$|woTe_~RzQeP)lcGoe;ySVa( zf9vf3*)M!uK|Bye`|W}qY_q4;sMNvu4SSCvoBoOd z4ZE&vT1`I!55<8aJ*tg=JA|o)o5Z^n*y<{1Jw-srq?taQR|x@R>{LK79`;9NkwEC0 zd5fy66BmpdtsXo{?sbYkCWqL!3Z#8dv*>n0HkZW8#oRTVErdCW=S3&cU{9fdZOXNu zu02Zd+-l3xm#7g#9Se$aN*vm9*lf z=v|ywkQ(tBnSWXv@cZh>FnFc!h@bIVvCN;p-Cg)t;chWKnML`R_RH_C*JdcCMMQ-% zV9hZscT;OKoPb#2yh&jgIr5fQbeuxp9Ylif@;Co}zf>CyEw-x)?+E}~KH4e@OzOV#Khp5T&)%bwNImx4m9Ka{N%^f@4$BsTz62-Dc+dRp5v`~%r^iGOGY-Vp7xG}&6 zuOz;nMe)7V^?`lyfGv0G+Ddo9K!s2u6+y@ZSRs|KCMgT^_PbRU&8o zY^d4re3LELs5*zlq#p7^9Iq?hE@!@i&Qq*&t;p7l} z^N>y~Xfk+V{-KP{8>(00>`Nv=?tWrN6407!a3!2nF%gmM2%xELVP{xSeEB@CIK|G9* zSCghWL{grKz@B%#iZ>SK1&>eU=Bf{&j9uqF)u@e3HY=}oU4-DSS%fY9VYXpFY;7Dm zYI{(kNR`1~Liuk zl^_&cwphx@gEYMrIL8_1E(0nMDETLYCI2Dq{p0WZ7P6(lDbb2=-4|d<>{Atrle_UC zMiOI|J(+>nP#b~ z5nB7EP0CM)C%2-jHZ2UqDeogU1_nY=Z?X)qLZ* z^Qt*lFDqVrrcYP5#nbte6>FeitQyE)fNfVsvh24!Ke?jm(_dU%kEdPKZ?WaXv96RKa?i3p1(t*?~EU^A?4 z4Lf{;uSa?j$(MgmJRj_Kus?ppy$63^d?Vc3R*UayDLgQqx?ZIRCad3l3i9(UrdGB) zap!gboht_?vI(lRZyV_kw;kU=+eW(0hO{9q4Ww#Hv?QC4-EiClV?rQ9?ni#Hx)sA{ zk(L#EUy$TLDF$aNSByWZDsj>gF+f&t@#r0SN50dEeDS0H+yKPM z92BRgyP83k{s8}1ud5b7nrih=71}rf0TKSM%Fx8t)c*hRIkx%#1NWKK3pw^vAKx#u z;Ej^Zwt6X45$(Lq#;m`I)v_5LJUdrhkvfz`@-8_Mr_b>7cY4$>*$J<`AD=9Lz_J-&KB7c3LQT)E>f}7RT!CR#S=Cj&L@QOMA?**E7U_mE z-4P3I$+;RvC0_J<3%WnU#LFxRZ59Xh2AyT8#j4Ze(>M*|sZ`#r@jb%FGK=Me@DxD3 zxAPz!GZQPg{$x^xR$F&<3s3lb)e+uAD2_XJmVrPmPO;fdG-jEbp zoxBBPbK8hk&!DY^8PS(fwpKl9+d~C$y-2CHum^_aLdPH@C{r@WZmq4=JSQ-V|Fk#R zIQ95|a0j7HXPR6S^>&^N75V-&&Kk&eh{4s~yk!Fvg@Yut>ZGy*GHkRU*AD!V7Jx?- z5rQ&l+gSsMap35*;sme0ptGgq^GhQ9$~cN03T%{9TM=v>@v%An`%)`U^SH-Q3EKy( zO?T-8S|8m^KiP$R!LJCXnNqdN1eU1S+x_-@b@ll?JbZP1nLjgffNxab-z$VXZ!lA@ z!;jHR{;qy8&&GkXCCm_j@Nrx#d{Ch=3hrivwEpY3T9QM^oF3LO%bZ!ReT83P!Z@>LOY8bp zGrdZiW7-Dc+U4gqe%3tw$MfZ*s5RRsUz%LPtZN!#=-yQ?{fqP%kmbSe*X`jez{@S* z`Pb`Z@cbQXs5_V4m8Z%|Gx65j$YvsRD%(SACA%ay(6rSx)7siW&qQ_qO4GO6)$t=`~-axTO9J~sd5wXAH+s#H^&Sr2CV>8+n9tGBn$y&Ixh`znRC z@;2m(tj>%~4&pathxC%v${2QCQKqO9V&>zbU|9S3QpDdft$7l>$Z_|B^u~n6as{x@ z;^R2N8Dy3-wB_U_qzMjql9s2;@F>qMr5H)0)kCjkDhFW;7oeo*MCDTI3oyG1W;Xav zIVek2$`~+)VJ<=3tO(ME7y+iX_$?P2fxhT?ecbMZL-Mm8BeJ45_c=`w4{T1gyg!5U z7DLzFmIHqiOMfWZnUBh^0g}JUo7d_BdQ6r;R!v00ZluW&xHifMp`d>^)teTI7v=mg zET-wqB?!w>fT(`Ef%3GG1A2k*JPxr7TCnC2m=$UKiR_MQ9VsP&V5%7Z6y4Q3p2CQ_ zC@KeWnz_`H;IVY5lZA-=28VV7TNXA#(Ze;m-ya<}E{xz+?PZg(qKMkuU?JC=d@>VX zNIq?P=a|G~-6;>hAT4Bm> z3Diqd>sHW|tA{~{0&G7eoCz|X6e|YVs%f8?G2Mf>7(1WK)c7 z6Q%^m6qG8(<`E-1#MFLZIfedn#1>N+CR^n2oO&IB>qz)6aAJ)dHs81TzQXLhqj%MVsa`dV(ZQ`E_ z(BT%M0mas*ytFLB3I9lE75q2`lhLJ z3Tj5t!B|d<3^>TK(Lkf4D2e$-NFUoU6wYfso>_)56jLs90yA-jW#EP-nnWOkYRtn^ zsI3zrte%v5?GQ;-`FC5sDKW7-NE%MiW>R90Gnxr~z}3K5nR?1531l5Z4q3l)C$Q5S zhs=;5ZJW^C+WZe|!sZ_ipGcI!xxs+j=H2*VdOHZW+wfhL-6&81#9m)~wc!L)v6rOY z=lvYHS?g;&PV1q9_h1<}gyKwN6foj@ItR=cE(e6el)(>481f9*G(6_Mg(>fJ-!T9C z<)w3PogYp);1BK#TkivKkyJ-M#n(14<1)P={_Jb!SGW-lJ?Cr?r$T-;K!3W7qTUgG zv;o1I$Oqk5Nw})5h+}k|hlP+5O2S{S&x$*0i;_nDgnw{WVt%-zt2o}Y6{)qc4D3BU z8vElMvWR0|&?kp)j@ZdCxzBECMaPmi(RKQs4%5~gS>kjvNZ1>@-PH>$kTjq>P6y9( zW7t+b9Xxd1u0Lc5`~F{gdPr|vNm~E7MSd+uMW?7tp8ls{8b|?X)h-!tk3h7@9OS;t z7CQxxD%J+LLqfB{gju0cmm9C4unNb|7?(%bP@gA0^A5uLbQ;*@bU?ZT^?yS7H?iMCeVZ8 z{`a$VGxi(3n;IHmiK#^h$BbhT zoAX3xzpcS!J!*lgY$1nwoGKnMk-u7D#N0++wDqD3g^g*x#e8u>(ZDZ$r6i0jG&G0o zB)-}!| z0{^Zd0+@lKyV?sSL4}-B3HZ;b_;1gNr4=M#gy1;P+x5*{cv(H({a&Hg{d+H=x_yUS zAbGh&Ibfc0QMN=C-JSns>xa>C2vzuWyL3KB*}LQS$LR&=tj#G5O-Mo%W=1%_wYX1I0FmqMn3VFJsj9 z$K)}3(;+8FWz}8X)zfgOd`!|*NLBLLghVK&Ss0TM9Q8kz+68Yh+cs0qV~;X{@#b?` z;h=eTbJ_oz)njwmvL2E%y9{*pw3cpBRSo8y$DY~AN$hwC=B=`5U160JOHrZ{m<|ND z-Am_nhX?=dQ0VWJ{-!zDWBP6zBy|2v6kXjxl5L}XEnESrF4Ub1lhCtCAyEW7e&zcr z2?wfo+p=|Di@9m!(2E~t!d1e96WESzgz=x1*n>Nme`dm-e&!jn+sICR4lZpnr|i4w z>1tQ#_~_EOcIS|+xt-Pj;Y$>Qxk1E27zGhBxdLgTJJ~c&oLnOvqP8t<-SeaC+lHK0 z8I*wOwp4$=W-LJqj*iYBiUfV*)OwW2I0a(I<1vk9+0LR$g#=Y&Uq9CBN1harpq*wt z0eS_@kbCyGUTS-M%C9xhfG(_f*Y zLp}j*g?r>~_mZ!^ATR$Gx_yC}PeB76#00Y(q&&dzXuFt-vUUvd;r=;vXoSlY_)|SW z0ooaKIOv&%c7gVK^_=Xd_hHHFi{>61)}-L4H0w6T_L zO3HgRKha&2oJqW4Ug561G1oqcI~fDywOA#N-?LTc;r-0UddZFuvSl@fq`_AdNKRPC zK~{c+1dRLTQBP~s&}NvI=|U~m=OuHWX=XnvNS-VQeM_*Pr}9G}v+U^=QR*e#8LdFU zTr#GhpT_CJwjKrT0Xl4)WIil6STZcgVq<_03%og9v28v+y8y5|LRd{D;~gS39gff? zs*a+ONxTcH^K2S9){b!P9GBvcQ$ka{A;^4@%@j;Z;?WBpg{Sq0ZK0He&Ap5uCV(2M z@?V%JeI)a6X`PV(>o~Uw@Nz^YnFH66%l}3B$#m}klw_gNkA6mRv+$606({wZuuuIE3Hf7WtI2Hs{%An+FKeixw%`+e`3Pk|Ue#Ey(wJS#}YPUAuY zN}vJ9R#MF%&yEl$4ml5Ek_8Z(E=Fb@qOt^6r@ahGq09mUg*96$eX+?ccnyxM_Z`h) z<(r3#=dt~5L^(b;-ctCIF zeXh4$f>KCqS0Wn;bu(aVseZY)@X>6V$5U>L)f?Y4yvUqXb(=>DZo+(a9=XX!83_H) zgLb%e(OErv1O`_93AAsYPC)RBLYRz5K0KD8klJu;XtLC^XZkAy<|&ZVi<9kANpxQ) zvF5b`zSfbmvw!SL&>`M&o{JXRFLz#%j?@h+LQlY`L8Ja=*D}_b>63q=laW*$4i#2h z{xsH*X}l}bJodH9FY1Kz^+T?bj`FHJPn?`uc$0?lf9N^~CQ+g&Nw@p8ZQHhO+qP}n zdTrabZQHhO@0*Q@-JOZqpHMfV&aKLm`Q_ME4mA76@hQpcdMznh`KZVJ$ob}{pwD8Z z(}!^}(t}%a7N0GftVRYhQL;!ex1hb4?3y*b#&FMhpPBy*E=Qg?SC0@{=R8N1sAG72 zJ-clE-y#G`9O+_ILo2gFZ0aQe$eVRQL!;~#k!q|#6l&)= zzpq8y{8zXXY>HQs?}H>6MdG9M-{PpOVu>Qv?0jS?m*B6Fl~AV!1y&82aJ*0|0D*_{ zFfCs42u-)IoSp@j*-9~P=ww0;iX5M;lc^Fv)wma(>R{q+>t*!nfCpdmY% zI*Wv*RIh{lBXyE}Vxx=*G5+#YZT=Q+3WL#QPg5iiX+C z&o1h0E(3WS>Hdsv^7;&k_?>`)y#r1?YP-Ts`UPtDZ1Q(-8tZjWcT`1dI|b)ID8LfXC!^cpTS&w?4GzQa0l zCa{(?q)8!@CLL7>OU{iWp=C(0?DyvwAr8s14e&|6cz=UGk6GLH>b62V?Gv<-FOO9F z{%rjvV8M*I9jdg|n1yFc{KGl~12(haLQ`x23+y(*LCChg5#a4itQ*QiJCt42Lm8S* zs*Me-ZTjMi#G$k_LkHO9>0q;4matYC!qElo*vJA}QwHj+a`Lb|dH&oi+FI=<%cdq+ zcL9HF`o~dZ5n~>*U(Ojw0%?hr=++9`#Q3&t1nSy(QXz|*zAb++OT-Vb==(p1jQDbdIA!5{>6v| z1@A}MFE|&ENM!+0I9+fxB&|x!^(nzC!d2HU_~vEv^P_)1Whb({`&@SaW}4;e1{YW4cX*ffdb~yptI(oc7B=-{ zE|hw}3AUFN>82b+WfKtNY#L|OA9EL|PHS0k1w*$)|DeP2QBCmDdMY^orX;Yv;thC_ z-2!~ySazi~sv-L<#?zobAjN!0e#CtPSQ3fsiP9IL7kzQ349`0V?#dTJc80!G_;e>e42;3DMGX!e8p6AQ4APDJ)hg=|o|CWoW=Cgx$ zhf{grB*XSc|3K^a(=G2Q-ZQ8IGkSRM73W9#zA@Da${5FZ86UN@0#|)9oU^6KMkxfi zyC0_<4qk!On|cfxN4XO)5`&&T`E`#^LKW2dx5T<;v}tHzSSTIR$48d14)!-oRc~fa zt!l`z%5Fc*WT|Fj`sevL&#CN_qNlBkzs#ngLE7HHXM^Re4OpCX6v;mS`W12rt0x)k zpS!m83KX?sMj;N~SO_G<-?krr^$N6;iX-8}ylyr53IV^#@a_TNwg*<{okyBYnbH>W z`}`wtj&?p~OX^Sbq;Ua3ceS_GVNVG!%Z*LsS3cOzGSUvn;DgmmcGjlE($bffbZi%C ztas)*?s>*=&tD^Wlhv#`o7ZLfLt*L4Jn{9?FpFiaTI`Lcohs_|I{>kjPa^%-p~kk$ zo$wU!cDlS}nRW-3s7zO*B`If7ev$MbP=`Nd!ruQUyrJ2 zm8!PoaT}i%=kx`#+I1xtrE|3{2#VDqRJYckR1e%fKyqT%f|O%f zidOK8trgf7_Wg&-gtM#ru0X8KwX%#J%D@)YKG{#krq|EcuTtGq=VI*x);~OOyLJVanF3iAGJ7HomPP;c!*GmIZ*#AnBviK9l}?j7VQJ z!T^qpwLk6Qz%wbK^|Le->uZTq92?#lpKA}~@ihG9r)9F+ryGh7GLc$R!Iq?$FbC-> zUaQt{Zz+JlXrAlq8|?#Ni&g;;J4fNCRx|%pfHX<0vq&%+7J<0|p*P=*X2>YiZ+9$i z3gnOwgZ+)|hrJGFO7WqWuo=Z% zp`bR)IMjgvxR>qjG+v!^P+G}2(OGBPAYvkv3lkQKWRO=kM|ypKNIAN|MM;#Bw8K@p zc;|Qd)z95po)Vx1$+bq$@eI*%{~jbN3D_>Yi)d#gvVZ7kjo>D=Ntv8@IuGNucF5n1 zcnA@R+sHeeVTRCt;~7g~nEm)`0?nJ7O54~wq&cr@Qou4n%eAILX3lw7qaZ6t#}wo-S0M7fr>(+CdNuY~wA%^WJmS-{n=h z-uKOAHeOGJYS$1Zu+?G#RwznzQ zXxClbAh-zPT{7i;L<%Rct!NB!^gYQGy(jubInevUGj*0hCRUbt6OAxqdz`I~EMQhH zlwkR=7v*~-!X+*!C1Oehg<;NPP-{Z8nPaYyef@r{n$PGh{ehO`G{Ds@5_a?hIV zaIH`S;RK+E>Lk8G1*T0lx7UUxZBW2b1ToU?EUA^m+x?DOWUUzf7#>)Qr?R_fW8jK= z1TVSQ-w=e)neaa`G2ol9J0@WP)9~7m9(K}e===g!twU31`p1arO9aV#2DD(yrUf%k zDh;&Zw?{4^X?Pq?77Lt}8z*P)E#x7xKW zp|qg*EQO@ds&Busq8-z@N1950;$AQQK;st8tiP!^UcWo5_|*Nv=->q%S_qUcpkIOE zLCBLl0@^rJN*XxvFKY}Rd}f20%={s$@+~DMrY^F+15^|hpX-=+cbWA9x;wWbZzU+CQ6}Tg5avlU7_L_q&n=?-k8SXO;mfKcelUFAbGFI zqHRbXVw7?LjH84eHp3R4n*PRCZl96Lg;YLUaBwjU&m&)FhJ9S|W{RyHajSanS;d#Y zZ=M)Mz57{Tns=dyuRa)0+vqP&fC<739c>HPQ}6uVr36plV2BV@LXdcc#IOSKwW zr%_G9z1+s}!ehBSs;vFB!QA1=m|6@8b}{}Nf!v!t)*z#A$e5ZWbn>ke5GE_XFTNDXj5sJwYuruU<1PA&_8*<~o+or$m}Z}#@#Df1xltQ7 z{n8T9;8SQB{$&{wxJ#=j81mN;ly0Ta-?1;buGk7oWqhx_x^YQyg3Z~AzY(J*Y+ZV< zJ0~edBTpz|9<)j|RVe$ofVPhqJ=exU%Lc)ecYpdHguKv7&J}xcgruS%Nu74aWe-R_ ztA^srMs5>=p*vvn($MHWBm2<;e}=e6DoL+$=gBA5vL4Ty26-3lTxp`0p&>Uiw~>Lo z=Yqsm@`ZeTfuaUwoKnEizDN+MG9_8s9eDZJwZ84?P&<7G?(89V0Q;c7n1&IKTeX?f-oSi+>J%J0h`S;{}WOfDMRz&?P(0rB56Izs`eeJN!o zO{mt16Jx9LoZP@vyR)e2<-Kute;RjZ2{Xw3c}ZSkKhc*R04tG=nxP;@+$#dFE@pY` zd4xfM1T@k^WLggrLr0R0qqF_1IkW<4*Kuz&^!3F8?#ya&S(#iIH}}2gE`PW=lmhMO zR6j3<)#&*3g2LdAM56T5nX5T-2fGF&w4};qYifK52&2aqR*H!saOYz^b_W*Nc5_735gCVU9A3<&E!`Dwd=SPV&UKaHm?ozDtmiVtKtz4 zpF%OhrRtg-71SLxI!)--n;8B6?~#lsV)}8$e?Uhh;QxuC^B<9n|MV{Y^Dx>vo4Ef6 zwlL&xzvUo3bm(nBSI{{{04<#S8G1B~=Nc_kXOdx;sKqok7rEtX*Y{D2tzvBzC&=gr z@$bhqrVi1{3?lZ}8C`zn3PD6_Pzjvk<*kJ{>qG^Ne#TNy;D_p_OkS?s*d|1JBq$)I zV;AKoDldv!aRl`+_m>%xhOGBxw_r8(wA7ZsO*yj$*0Rf1!#+~woCY4MYYJ&#VW6gX zc{M3TBdm0GRG8TP4RsbE-gXV>)WZSLNg?(sau*%eaPFgf)wN1GtRb}_ZI7{7bBS#KQPKa^^aNK%|`Pjd7H1Emfb!Q*=s$HV#hWv0my8XD~lk6PqbbP4f`to2K7?vj)%~ zO6FyP007+lGmidCm;l&Y*wg7*{5xGoTLWvl|2XsiglYPy+E^Wm!vElo`K?hVP3TW< zt@1;TK1%`7XX) zL?`pzW7zT7D0(a&idQ)&CBhIda$b4C$7QzNc_1Y3nNU^kmUL!{m?q)w#iXR!gnV5HN?c9Ud3}iibD0k2q*A#XvPEKcxvJ~(%#@_sp zjFV+uj@p@!{XHy}=1<3=7jB0G!P*lW5$B=r#C35bph0Fm$es^u&y+?3YH4xXKYHdfer4N1B zkj0p}vmOZmaMu5pZ>A4|Zo#O_I%Gi6V@AB-XqIgZVG@rVToV$F>q7AK+rb+e+O5}4%Y}m3~cj{gQhSA2$pV}_? z*N3v8&#|X5sAhP+!))H)NNAzhJAiMdDHEiaNI?LG{$@$POOm9&l1+qR{xysT5nU&W zD8kGr4x*NDG$L0T8>OnB?hCg#qFwn!KR3d|G#+U=q|F8-5Ukf8^eaucwW^H=K=x{r zTbsMW^ubmj@U7A~{}B3fw1TT{aBy5h!zD|_ec(B^>6OUtsK0`9h3VPY5=<1Mf%2aq zBv%a8S+9KPjP&R(1wm+E-OSU#y5!zxPa3Q1JT;4zNJhHmVH&4Ed47%wrTYj@R2N^v zlUIqyG-hgL3SqE6S1S_s;G1DWpW#hi@hs!dT{9Jt@&H9r$j^>i(mcEvw*R_M`gQA^n)FmiStmQ!zG8X;E})>R}Z8 zhS50>pVP9k!I5{3kRo%TQj^1|3#+t&A;>k)J`n-jYUCQ{xx_pbjYI+gL}N5 z^aFdR1*%J5gJUag(hmN(%WxXcAwN-Qt$ITFc3Y@ErFp+hXEhMJLuAc(Mp2}~i?iiJ z$+xpzEt1lGV%foa?-J@lf{L!(u#Z9X-rwJ-%yG_D(|DdCcI{7nIGmvQE%Mwhmi1Cl zvORaQZewMQJ%UX06Www(R+rD7hJ?M5LCRK2O>|lNYkO2WA-`kkn``@E-I&gXfyA*o zWhoI`NYBnxIPxp-PUzxsPxoKVPIDKVeyIN@S_~ur0RI1XqUqTiI6D1rl1R*d4mR66 zKXm0t6UwL-dB_r8a*H^ySS!AwTx}xO1@ZMANh(*h)HLlMFEdrmZuTB|A;asLO(v$< zXl#-BT745GieS|U?EED#$8B}9j;#a$VI=_G=8Wb(9{eRi);UO{`6@L9qTi+SQ#Sa3@VJI$Bwz`M37Uf3=247 z^sTd!q~+Y56FNGHz1tS}tZ_T_NLh|g@QRmi)@J)yrnVEcRhD8KG4w$WDr4C_D(Cd% zX5|560q12n-s82w+&how-I)1RAvamd%$0?c{@}s{*%yo$5;dQL6h3 z!mT{}GzYJS9!dqE1V2dnLL{teHPDnhO`e^Bo9$%8n^mejxaNs$hTLKDpYw)XaD6f#8t{W*obz{Nh)?GR& z1UMZM$8Be~Mei`Br;}O+L89d7W&y*_;}%+u3^5X#QF83cM3vDu8}6joUr&L?{tZ+9 zR2}qi2BvjYFJ*0aN+J77g?QHksb<4~H_~C&qFw;6_?4nqSy|7_&_rO7E5LS8rV0V9 zYzsl>&1Psh_wx`vL5Ee_^Gt4bzlXDQciiqpx=EbPI5<=9B%1bvubctxr0_?>ZKVqa z*Po-Jr6!$d?%_=eAGIkm+?{xnD{+%;Y=g+OBTS|hSKpD`3qZW@9#55jjMUwO$|cO}1f&XqI*JmTj0VSWiKn~4HYv}$Dy)kVhvZ-Q!AooJ zQEw6=W2rIAm$t)ZK3}0>`qKju0OLtHU@V!-pI{MLR1EQM^5|9^8aFvK3U9XdOJ#tt zByMQ~$KpD5#4sKguSYkzs*|^~L?7v)f!m7799=X)CeYz7zvy1kdJ@M$pDpp_c0KeQ zf7q;6ZP~5@e*{xfe+FLGzXj;=X-AQzC#F$I< zr_%jQ&hjQSvMgEm1`Y_5Je{?9m>*8IOv$9M(xiE+s-pp*)fs z+F4BnGR2nG&|fdJw*nH9nro16d4g~?L=NnkOC})_i3c`H420~10ur2SlFJBV%d@}4 z9v?^NNIloWwc?;YF6M>Ms{vb^LgN+cgy-baWxepnr$1c{!Sqn!mu{GE0dO3E;F zMFp1eCM1@mIPJB$KlkTXdbtyBdOcY_5wpnGk+tCJ5F&=9-S>DW``4X4Xg*2Ek^hRL zXsN_X%~-0HCBU0090WO@WMqpjlH1@5`ls{C1R&_Lr=nPt@SYo+sI@vwOw#w;O64j- zB_()YrOUT>H5R+kzEddGxm+$Nc$-*&Z7=p*THHT^`#>puWjM2DG=94PVdAM)^#0I? z!$gx&u>tzUP|{VI;D=;Xi$i=KS5PaBXQ;^L%=^-yiQ3HO=;+3^VsLnf@J6JpFW+-A zLb(V!(p+ETqqOS>vwCkgWN14zW1x{gJ@kcA^XIF~HqYNgq&KIGr|cw&w>TRoI>n#N z(wz{sr@+S7dbWhj0n^B#pGP1mb3D=XTZmwgS=a_O!$m*2 zI^tn*tn1GEHmg7xg9#_a>)GDwl6VFhZ@;mVMG#;ZXlEvMz8ks<5GY!=K7p9a+cVdN zf_3GDCr7EKC~Kdy1`*JI%eJ>oIl(bh>zcN;cN;<2@62t39<8B-JW3Vjf-% zoYSMXqoMF)_Dlq9Hfy!!jYjC(yAlYT zaHlD9XtBUossR#z?8~Hw1sFFtX=o>qNKx%VKir)T6(@tHOie~xT~zBqPu;)B zy->Et2=})zg)C{|F4kV9Jj4gc_?TRQT_C>8OX<|D~wQ*GmX3C8!;GK5#qe{0fB zM1OgQB=t*fH94N5%V2_j1z-wnT<`FRXgY1#zq<7=GV1@8s^35ujYq!bu}&)2O(rN( zg`=%U0bkl3V;+vTzEm2#zreblHWeA=#$1j?OXGY2R39!XJAv-x0IXAIO2Cwf5g*r^ z93S&=5H}Ou!FYml;bn*p=IAmD^G80DA(8OQ2XK2Y%0FhY#hi8g$ebZDQ8}jn^4WW>|dmVC<_aTI?5R1h~=b z#JmV|{Z6Sqnl7>trzDRA5-qL&+*z2Nx1-L^KvvJ>XbDoFY~=5cur2^oW3x}j)V5Gp}q zAi|-6PIM0vPLT2baeRn8-lr|sK!Bk`H2SbPr&R4dLX zT#5ITktcQlLx9ZEbD|dCtz(z>C$HFa<{h&7GX7i$v};pzKQ2Xt4CoI6h5;4PnzwCA z?72X%{p|0?Gmy8!^~*ss@%)73pGD4Ca|(k*YYv2E5AqVd^hZGID1(-$fi&XEf4(XH zv@F9*+evT46l|mL`!@~RuBz~sse~zQ_{Jn!f+g~*{x&&UQXF)wwNq-4Qm4f1)A_nz zkM8|tQ|UN#s+V&Iu?m<$Js*CaoNg0Y5A@jV#~J&@(ZR^jRogo00J_TPG+u3^|CUn zKV-10Fa~SvvFX(F0^Di4@-)wm=TmH>CkiJpCyq)jAcHUUH1O~mnBPjCP^d|^J^ zSCWxEp@to_z?>v%)>N+v{VWTq9YH-ye}VS1a>2!U$iFVd80p*Tgv?hh+a;(V;_Xo;U z-{^E&J=*MaMa|gho7 zNj^f(Jv!W1l?@6MQO!2qX{giZ|1vb>>&{T7fo(m$(8Vj31?qJ^{{hgXx2PH;18%Rq z2Jr*X7Wr>Gq0UmQy6$Vn0EO$?*r!u8G6nifwAz~-e|;j8bCZ+fE| zzEH5e$sy{H+RX1}pB1_{q=Q;?r7#X?sdg$%b?bi(K*#-etHXv{PMnc3zn%io~%^JNRAi%r&FnE}~cuH5dp&Y$3 z>`s_RrDxQ~fS5R1m3|JhiIR-2$zr3vSKPhn(-(gOinB`46DvBvj*ATF5luv+CFH+23KO~iiukGlQE)$q8j3ha`h;D5t}9r= zDD3|<+7|#H${8-K@Ahlt#dJn&YA?Ec*Bc_9U@{e7+@B+`P5c6iNSrNaz2XYt>ROaTlbly>(Zx(`2%UpjC zG9~|9&xk3zCclj~ibRYac)$dF;qocQzYir~TsO+T&jG2k9}o@E8i_@HLbT2!=&VyJ zD?Sc5cH~5yo1obigt;S>>`wDBSqErF)MfGTS`gT!u(Qd?OK2vOO{CA&zcNh1LGuHI z?kH5-hW-Izx#1>y13J!&`a^Dhy$pI->ZA|W^2lJGrha}4r?#e`eUy1`h*M(98Sv@9{?{BHi2{#eex>ny%j_0Gc!Ghmug9T zIC!A?Nw&g>M|L~TX}AB%m_Q|FA~!m6eVno#^up}~D&!aFzp5<;*;f4Z|CAO}0ssKQ z|50uES21MfXyW9gXZTNX`KQf38!mjUZ5 z$Ew*-l-5$W-v0OEK`!-{S6ZFoq^tT$dBwHk$VCH!2cpOzdz-mIcgO|p`Q)ejt|&o< zw;REw+mgML z5Wjs6p3SbhN?Nx}Wza_Z{{CV6)$iBcCAdd1N~B;{5FV8T!mPL=j#^tnX-LJXSZzx- z=1U^pUe#{qX4mM=x)K!)xk53c_U+pXZcQ(lMS5C;;?ya>o(V~l%0|843ce=z)G&2H zI;|?If<|JmGN#_}IaC}2S}cne$H|SV*H3N>wV?hg<};91ps0<7%j{P9`l#Cv&bF^a zRJovTG5n{gtc{^i6e_$}#Nz~p^Hhc9aJab>yOGQ<@3v2CDa3Ig8!3KEbDM7Vv;h$* zMI^)e;015-r3v+5c3rbhaXF5@$T;$~G745wtuW5^!&u`-WZZM9l6@u{%n%s`BW&;P{;lw}mo0W= z_=4fp5sHe))dDdt-)~W^4pfA&*qnVLz#R8vCnCyVwvR{5HWac$WWfLMM`mXtjkSUL zk?)7P0_+VCUm;T!ysmx|8$nm95j$plmHgilP_o3*m4=mRn58dv>+y^RZ!8*L*(yj} zXEphtnBatIUMUC)G}4l$5~SB5mXLha!962D59~6Q(t~DAF=cGG%DhXL#jRO>j~^cti(j_(F`dr zs?^{Q@~B^pxXM9jw*TEkmPmWf$<+eq9JI z_xS<{@4OH8TGv8gY9=g95!D3iLCT^_&Rf&(IV8ShSJUEoc$UWiu2VNXZPwlA{c}gB zvq+rfDn5+y_b^I;pe2<#b@}B+144wL=4evG;69+1=4M)BVj?JZZ?=M#(}FcT@bkFk zqO~kBVm3V)oo>%pi(UvK8MAkZ(op%F6rZb$!(up7D6E_XLbF>GMPOlHJ(@7#{q!C= zYjo@spGYsTA(w1>8zpW^v`_^jY?VZn6PsdlNsu9okpfT(3(z_V^o6Tp=xz1}Qfjr2 zESaZ!KnR%q*;W`cC~~ff_#bg(mGd-OkHv7$zmA3aAxfbm`hwVMOWeY~M^0rl;Z#9i zClhQDU}k|Jw9(PiN}+gp$(>P%0oJFQ)#Si`(^7Fgh@CgIYUuC#lNg=5qfZcvlfOwo zhE4vm6OlBn*)dtPbU&u~yh;OD$OmW1R^C2+;sJ$@YVV3QoI)l&E_r0(06XtE(@z3j zs3rYP&|8&S6FoDifGx+rLoPX0Q_|8^3D+CStdx*Y&oL5-!mx=qe~jJ7N~*hV|z?12frRIy-{HAPxk2OxxfO%e6m=YeF0;B&s}1;CS-B zJmFq>@>*QCw7eKvuLIBx77HYoYX@nDz$m2;?)jviF{?2ZlnbAjPP2|fv(HDZ@noOLqHJI>vCs51UqUCF0XW^8^=4Mdx!omur-{E;DOECoPK}Mm-J8Jx#Vs~$~EZ+08 zrWo~5?9d&aeuM{?j^L$_5)Vuk+5C(g;Dy`U3SkOD+alE)!wb)~;wk7cTRG`rEvi%R zRTj$EGc$~g(k@q9dQ24x{^BaDhMHc7`zmh|Vl1sl+&BO*3BFFeE7?c|6oQE*v zl!5)XysD%2Y(l%J!~VcL!8rniM%J2=DC+!%=h@B`;~_q?S@PCy7#zO;Dr`kKDBsG? z6{(3Ftlt2X+sGjO8qY%P82jz6y|(tFoiB~ADK@X{!s@K#_pn_@e!5y&tNWd65xQ00 z;*OAFJvI6MY?ZD7hLBO?x{i$abymhjEl}(ORK_0B>WZ~{4}WB%8HBZ8$L~;RWf}HB zb~~T6M>%Pu>vqR*KifUEN&JG{%AS6r?691Hmxp9@FkFhKUd)C@d*$zM7EIO7ue<9t zz`_y8yoR#SvC_xNE&EnT{gpgZ*5OKJM9%`-Vkm!^PmSfi%I}m0(=^16Ks;Vt=M+3Q zA6RC^W6z3uy5ltZGf=v3Lbzl63K3)9#||lNN7v^Hmyh&BAB2Cl|D2_(%h5+}YMuc@c=MgM&_`)XH{_cgn(u0DObj)8S;oG@-{7(q9~sM1LSp15u+9;|-G zZm%Sse)FkP>8&f1dhK!Oi-shyu3z_@6YQ8YP513}WJBq_o2O8u7Phal6rEQ6cHQm; z=$*GnjCRm^PoF4zclMX`V4I+a>7dj(ZZqSQshyMq%wajH@chr`!3!e7dXXTgnlBcy}9S_2gr|mi_J2EyE zYd12EuMQ2;JmkuxDg{Zgexvn|vsFPzk$`+WdW8$Ss;3F3TCaXfsTehUAfx2gUWRh% zn$>Ob^4UeZPO6rLqEdrAismsYx#Q?QzjUS8l-s6QP@b6j?*?nzh#?Yz2?{a%EV-hZ zas0=tpFy^BN_X4pk%yU9JzGbv%)B{{%6L>}~;+gHTd^Q6k;*?e)CXOStUCaF7-Jxcc2Zo=UP zXvt{(9jnaITDzG$SeUN7y%>z_Myk-NhqD2Xo~cCXyx5E+k^z~EWE~gYc7UKu1VUxU z|LHpH@(hwYFrqRLL;Y+Z__DM$4vdV);LxBiByOZPW%uu2{Gf>xseYmbmlY3#PGMXeQ!-;F$%{zDWnC`6Napt1u4LXX%)m>;L zx1a9p6x{(pFfIqa54sl3&qxVMC%i<;YbW_!_Q!kg^&)uBS=}!7Mbhg$`UMMJtw`i? zbW?wRIEDh_yJNyx(*ql144&yb>hxB+U!MAeymGz4Nmq(^O=)URa0es~i0BVL)EKbn zDr+<9%ln4?Y0IN7OJ5PxJJSktf)jK@M7C090>6^%O%G6&SuPwKQ>J-(wf{!Y+n(tQ zaI|eKxs|+|&@boG-GZ(}wGpiaL}d}_jWG;}P!M|WnU*8~*3j!WqL*uE7^Hl-x|jn> zSlv4feGP}CH(}G)u~b#{+|VNEhvy&Bh$~5txt+HvfC9fMSxF_+=es>y zXPmt7o^8BBAMN%Q=#R!=VyFS{N-j%9fOGYZ#24ojf$n;f4HIe+LvI1?HTo`vNn~9x z!E!c8ub)45IM826CE0C&My2hb)+&&XUH_1~3M)A&^#u4)hBJkl8|*VW#pxq<4P7M2 z`eNq{r0YWxHZT2RQfNQj)07PR^CWPD+Ni5)si6!{DRalpQXg%OW!m@lOceeyi58}; zz9F{rjF=b*307x1`G-oVD%yCPigvZy+ExUje|;(e`f3@>76S0V@9Usz&5*X=f355C zXaS&ht-zM~ISS=dN|(a-3Ouik&7N&{F)z`1-LP&3X+5oNStSDpQWs! zlA;W)4D~MeRfX-0;X+%RL$vzQ<)F3;IE3DPMV|^@U&{0jv|#sxa~gje`pTf-wa>ic z^o-wHvtdcd8;MyM58RMz%chG?rL3H6jY#VyTbgh7nf1Q0 zpE(?vAO-%-5nS)@;q7`1xh=iS>wTWufHLb5RmNXb_dKK>@maO^tEcaHA)h>KDmyR; zkG8{#zH2SKn2-bd*D&>Y#k=i~;mA4`2v*b#X%F9)-zq_}P9<6f82$ zk1LWoXAT!c*AzdNf*e_(832+_cG2uyMTm9+xFR7dSm&WTCYIlDt2S(ss`_<_DSrT@ zB4^0N5FOx*oQ?XO#pNtH$>tFdfg#OIU{~vA2tTnanl#`eBhV?pg#5A9OkBJ)@cTuaEJC)gFBdbmFP510vI46HYcyQ;I&=BU&T5ri7x zFcM7M$Mz*B@+8M5UL^2e4tLp1JKa2uFBMiFs|M*zn;OG%bL#6Ya%uw3Qny3W+{kSK z_dFF#sIHNAFhiOSD(hYTz$JjJ;DZ7i_$H_imL&wsgv1QH_#7rB8u|*IdWb#3v z!Act3G4#N>n_?g{8E?l-(3G=oDqYeV5c2?-=+t=Ki;~oFF8sNh2d#je-99#QWzDw6 z5(o^jD<9uM0;n)ckI?QVh@eQ#09g)mY2=M#OIoext$ZVGQwt?k#XCn7_&N~LGMBm5 zD7duUEr?+?BBafqH75{uRh5YMk+sEy)=_6!)I4eVc6U*Grb*V~!K%E#AKGc>%$N-YE0t7$j8og6VSAMW4U=)1m6x{N1(F)%ckuU#*5CAbENzTd`~#+7~;7O+!K&7y3Zy;JJJT8AFrBQaH94B&8g)v z7|5f7tSry6%H~hAqDL%e^4_cKVM-?Pvuuz}a zpSI*!IJWdiGT3rP7Pgk+VfpeE!8r&Nrfr6uf5LzprntN_5k zWPIoans~<)Jr!tA_+z_{l??b_V2b+%aquxVn3Vdd({AP%7A2G;Y#{eDoJ{WDw>nTb z>J`Wjok?D#{8hlUeRoqhK(UyTi3BFsiK1SaJZnk<>;ZxjQK8YDjpTOX&T%2#oyYhS zXVLhweBQny<~9AlyF{Z*Z}YwNQKtw=4gtw*Dq*V_@QtRV@LQ}QlfzGfSIHtbJju`* z`wpUy+_rl#-)`oUN~|5oE_Qu8`QcbSRIqFIuMKs>k-`~M{~!#5UESX57@ujV6dc2{ zzTi=OnvPf;G~1Gph`QnUwY-%r&uRij-lACEQ)O%Dw*U$N7{&N^$g;A@cPpU(s}V1I zb0VAsQmU3jCbmP$_T&I_ECdqmj9wWZ5^@mG$Qi~G15|=l{Svq_or)R#|~omUOc{N4c7HTUJw* z+Eufv{Kks+_s5Ct6KI@E1B4>5$AzF3)r$!jXa3)=A}DFvQJQH1nbc9>vs{#ytH`=` zosA0mMAKQ~&go(R4r(J7h`V_@iO>o}#Efim*Qo*n$Ol~cIGA#zG};x@rifTfSDHSz z8RoWD_~JJgUF;RqRiNyd_+Kaay1*CP7H;r*hvf4-ossD=eJ$b0`Qg@G@6T!W>A_C` zFLIYHocgINq>db@S1|0!k!=DUK!3s<(bkZ=S9vM>H5{&(tEg)2X8KQTBf1%n%2x-u zZyfDYo^W!Z%2{OMo>J>Y=H$l}T&cNAbZn{{d*P1QgztrR#upf3Ih>KhKhZlARZumD zGkMJaG>tgT(vu3s+-r;%jC$}Rp5mKBV)7yU?)W{)5jM0mz~EeNTe%r|knTSg->| zg2aA$vPBtpgK?>2^*QU)9hVxKV;L^^;SXmGE>4tOo!1E=VjP6pkA>kPGLT3k0rD!` z>CtRE?91aB`i!<}Q4Z6K@rUu29Bg#MW^gxdMcl@udGk-{hg%HM2AP)r1&wKnrhn}x zUri{!nWkiI^ao9tfKd-RP5ch+*C?HF5ifV0DbHZH_zKw21}0N!86O>PgA2Ofs4v}| z%g6GJAH)#1A04%U`gH&}1Pxs3)S9NS;MA3M74V11vYIc3QmDOmm1%{$u(8%U>MyHu zv13Ktl=s0@>NFb~e;1dToHdV|fJitDXd2_yB|g*iaubcX>;SY#M`G1qaNSG3B07wA zPUc`?i9+>O3n+xyS$FX9qUp~!TPoOJm1i125zVR5psE9E=BcU=Y5s${^6=u;`yMn1 zIfQ2*=!Nc?cy@#X!1)}uyczk=VMUT+*=FXG6K|9@^;C%jwZL*3j3RFg%SkKL?RSQp z!uHo2f)4z$367B)7>z-8deyn>NoH902lE_4HF|F+^WK>h7qviK{Y4#7F-~x)HD;X( z@xwdLR-50$mCApTmiM9}Kp1OtBPa`S7Fpg1MvgRQ+a0>aO<6#{ux8@iyE@GJ-hmv> zxx8gR%}N{}U@Gl}7mU_Vrhp{}A_|X_$v$~)P3k<9g9a4RWmX`;JL{vNUp0DAa1~*~4Gw>+-~gd{`CL=k1W#!dz*$xWPiZks`N`tqU3=NPL-U6* z*}I1G2T{d42a{I~G`GfAmkv#?y)7*CG){mcM(c`*n_|?Hnk(}*K)!`PQ6`SmFMSf5 z_B<1`@v(R0a82Ar4r)=sdabBn5Qy_5Ix1I+Xp5n=Q5kfUi$Sd)cmp{wdrBjhJ?w5R zWRwuWkee))eo<&U0pEx$;;qP`hFP4~2Vzdhp0oUDa8okTBh;=}@ve5EImfSXvdOT+(bkNE63E zJPS(T;%7P9;Xxe=aoX%qI=W1EZR3}6M?>+-4P(}*D8!SI2~TI~m(!{@$4cxf3{LIz z@Sdr+n4gT06m zywzWK->R-#5BvRpSSxm{h&ktA1Wf&Cvwgrms=e3*l4Y^~n~(SYa}$zdY!7y95Bg=C za}lO(m7l}iM!#eyERDg&Go23O!JZVM;|$Jj7XuO!hh*~nm~Oa3tDO&Eio(GXaXuaV zwL`+G@zS@p%e)yHJ0%{$bYW=>Z4bT;yb+b8*S z`wNEW)$^+Z1+*ETe;p)^c6ERco41DdQ@H<|Fg8#uUgzTn^#8H)a?8gb@5oY zD@`^eb~Rnj8Wiy$CPr_KP6o9y<9G!3ys>m_Q;RQkm{w6_(V>nAHlxACw>}DQzcF-ELJ5lggAntY)x7K*uTk@45D}=kf_0*H-%vCm1+7Q2d zp*8xNpHlr@GxRT6?4#y6DkYv;7-X$UVONSW|1@gZjH_h(UWPVT!PX^Zcb2P$@62Kf zVNSxkOV+AF@5V~sg1ULxOTA9hfK?RYo)(g8F|@#(DuMBtV{7In3;cf z&8QQqe3G?b=BOWsjrS{A1DB!qL<~BCQ|FK$~R@3|qbVu=lkNe?oBR8mR$+}iR>DRD2RajDs z2at~BZVDEVN|FvDWJ!p)(Ek4D5t3LQu3u~hW(5zUxxd|X>v4>qaxmnHjDFrvRCTcT zBAz5U3w|0QZ`GDJX;1QK_jbuNnVtNLjaR&EG-c}`S8rkH!ePQxx4*r5P#8g+>dxGY z%E`bwQLV1Ar{%r-?=tn_Ez;GthIS`v?O)~O#d*G`nxJlFdju3+a->1x(dG(ujVXGs zmX0n?UhUs5DqntXY=XAunFSj)Ouqdoy3q!sa@r zgv5KbEF3%rFQj3WK;uIUy zwx~1z%J#s9U@pU%4LUuo3mlZ=`qb6}M*USbyc(VgdX=e|f!L9XZYBx%E!eX{)2!6*3t-CnC7_blS?1 z!*)Q}jBT(N8PRC0`&x*pgmzP~(Z>kLmB9oaqOwI}d%yCLm^m*r(59&Z`BlFxAdE0C z4Hlldbu*(B{Ui>(44`&Sv=HZ1eJ2w}Bu#<@}!vje*r^NJ)S2rijUWm(as%d6mz^(dv&I--g4PrfLy+At1BUbgq=9~Y1M${DG zJU%3NVm!VCaT#EAFj;%eKFWNm!TqgLZF^$rslE%K5w@W2VYTW%z)F2cLkeV@sx?Di zT~YhPv_N9i8-jxfE!K3bvYKbbZmcvwo*jcBre+}G>h?gA+Oa33DI$aTqc31%#c}92 zS*dt9zfDk;oLSgXgKi?tTKih9mqmlJ!Zt-AgNZeg7?eJs!pn=_OuXvpDS7Hm>@QIP zMO>fV?NTRJ20GxHxYG{;1>-{36)H&OrSBZt1DTLxlw%cA=sBZ`2JUL6bzc`-IIl{2 z?Q0>Yncw2qS(^uR3EmyqFQmF8No;FPFadS%*X^hVEe^;Q68R*|S{y6^ zTb$%zRpw9KixHiEYcI@Q1IkU1Y|uU&&RNccJi18`E!SWwRA|@_BG;lXE2Ex#4bgPV zK$nC^5EYIwM1YDvU>h_>rWJ3s057o`ImJL?3qrlyx*)AH;)e&3rH2G! zjZledX|>-sA(+y7p`W#387VnGX;|jlEb{x}um;6REQ4b2A5;%8LI*lC_*}yeHG$cW zO)lcn6RLIPsFkjmd;bQ%M&6M{d7*qoZg4ndf$vqHbkIF^rZD3g>dN`|;FHqhZ0?q= zfhy0yWDomJ{JLt&w~qzsMA>_~J?!spj~I~@opb5$MEundI`J~_!H3WDr`p+F9#3ms z1iU8ZQnauJqURFKBa8G!v^|7(S}}Hv$zM4vlX@+(81U7;2M5&mRu4|<$dNP}D9q6E z7A4SMHaP$aRDwZcWNPX`Ms$>L&=v9$9V`ygnZqy}gxRh+jm(@GA!ddnOtCouw|~#E z-F#&h&H1js@y8&e9&ukFX0*c1ha=5E@@>P z-TZEDX*q;PHz`)#mmw2DqQDh91uEYLMl>RwE6M~VM1>xDnP_L%MEl+L;I@s1Y2Y4J zx*mP{Xs~md9~Re#gbNX9#*3s@@kFWGVa^vNEA*f>QqczCOXs9e=h_2c}r8PF;mFLI3bi<8L{Ej|T0Grm_OeV1sc(X!3PXMGS5 zi&6_A-43ij6wuI8bzF-i#^p(5CB^_fqD>@@aFR)Df}uLbBol5u6|l?uP^xF!3aLtE zDmM*yP-kU&ekHYR4M&FLVSpNHP@@AsRc03g#vz;~N+AQf07=z`LG!V4w2!_5)Z%-Z z9W>>>avl-El5%mY5oh|Riuhh@UJsI;|4Tbprc5e6`6*_DdC&M8bLyKCrz!;7*Y(G! z>_unwdf;4=Z9hakc-^ZP9*Snp8K|@+sadz1<*+8Y6psl>=v=|h-F4yqhDRuPk1z0l z77gWT!D#FKiiJFWf4{n+|HgFc=%nxD?D)GzF*5#NnjxM^9=O0?m+#(I!c8CI#Owq= zG7({!_L}`4?;lNOsWsm2T-=AGF)OuDbfEHxXAVO4TxzyaK52+*v!^RUn|=jD^pnk8 zjJ?XGh_>O4$z&pQ@6CWdq}=L~z)J>2F~0x&dE(#{S_8ihGJ5#`R@3x<^HUuEcRpOU zs+8>kD?$(WuZOG+d<|NR#)AR@A9MkvAIvNhU}Ka30!9Nfq};8$w}+|7Y*L-1 zdKrBoYh~27Y|oB2cXkF>_>Q^-B6wa$oaPBFNMUXwB_%`jbYXhtxQc@-QQER9l%2di zJzII1xu_HcO$YPJ17mXoi6(`u;g)Kypnt)&dSJWnMl)vdLg(xYs^HjrQYUC%Pask6 z(6XFILt`460(Pi~-{#j>`~ zxybZoEn&+W+;<5g#C0$XYY#Faa6+w2zFAIkg|dEDJ<&&XA{})X+TynPtc3*@f&s;j z+)hXBMvu%pi6dfsIA&S#*9YcwE~=SXre z_DvS#Fvu^`jv6n!mFf?6E*YnKAn@;N+{&^7n;+|NWRuvMkR1`yACWM}T%I5v;PZ+T$x=3kna(KS+v*|k%*de|bx`Z)e z@2=4w@WxBlsS$up*Pg4gKcXmZMnUi$!@iv6^#WHy&3OY1V6qY?WPuma4Z7yoz#|t# zbtC(o>zAaXH_;8U%rV0!PjV=3D@rp0R#W8ihG7wyktgGE3Cb?hi41bS@`z>6hHDkW z&^tb`|76EOONP*#!#m<^@tHdkHqH7LjEO z)r&E;mlhu~rW$1RSu-~9^Aq0e&?Ub+%ZolN-b+)f8Z2|7^wJb@im;}@B{Rkl-zKnE zoQQwz_qo2&VhSpJzCzY9DoQ@)_qaKUL_dT@P%p|>hVP_Q>_jc1bD+10^CXp*wmDJ8 zm#H!pj0y*YY29a+68@M{Iy9S)$V*tpc;?uHf|g2*h-$GtU3ST02Cquvsja+iA((C7 zjp^_6uz!VKUu|JFl}}I0(#5AqSmce_56$;Ztsl>arP;cvi7PKd$bKrbkZ3Jlfg1F> zi%CtGgPXF?D56By#4vY+ku`PznQ9lFQ8a$H%uhaYYDFq^ESJzW^>p~mN_f27H$ht+ z&^`dvd!HvkkAxjiws1LG;OO~~hv(Iib07}3uIm=K9_Q7EU|B*(wOU`Qi?Y#M62Pxx z3#Iuq=GZxW?pf7^Mhtd6QKa3q&O@${nvaiub=}7Z{pJ0LqRg;O+Bx{$m!m|n{!T6i z<;ty`?(8K21-02$WwdKa@UDNw$M`*b?I%B+riAv>lLef%v(QI0D%{`v*W}bsQRNZo z&eTT$q0d|FrO8qw8l)fsb6+_plh^XKvHQfnK^-#_)Vk8~-XJ^{RYtnRyg{LI39p2zm9+p$YN(;`k+F{x`sY|EB^P>KmFF{|89Q z`nUWcedFT)_{-JDEv-+qu~35Wr%q7tpjclo3&QZsGrYnYD-#C48r%Vm6?#Os2FK zMF!Zix+`)TuNHO3BJ08g?kPU7mBtuOkFG~X=UCR46_p%lkp})c+(|| z&1i9^4aee9+0_p5C{NQ~Vqxfk3~*!wdU9!!H5&!A>XiYOFM& zMqDQa+6GOC(7ao6{1KJL32q5XB0nO^O?LGb3jBC%Wb)p7n)^%C#yRbBvINs27-1W5g!37JX2(E zoNaxINjwk0HShT*0K&A#G-}mT1{7rS3-&vvz?ukCA-bPgKKcj{7&t?C9a=1;y_0x2 zg+mgjb_$B>Zrrj`Q6X!uPT>mb`PdV@(A9kRD}gE1g58l|3QkvMumdcbDasyqIKZ#O zndF2#{G=U{JP>xjJc+yLKkuh>1PFwC@_{gP5&p+MxUPZM$EU+-s z<)L`7G)HZR+ppVa`B=cP4&mP8oqFhbSWp-+^k~L}u6PRhtR^MBY16^xB6m{a37;dF z3ZxcR4N@6rPAwTzPHX4cY$<*IM;Xh_LD=Srjg)~AEqMX58F#G;(TOFD#3#n2RrrGa zFkF~LLxahosqm>ON3lYF^KjVv4Yr z;}}j(KBkF7FIk4@^5j9$yg^WuLM03QvJUJAhIFTg#;sIZzTh#?~;iYeSuWxLn_53KP2LWe&o!Pyp z#DJM+jH@{(CL}sxNa|JxLJ}2L$YZhhGuD~m?pcw#-o{qz`k{bX@jh|oLgO<+`N&L{ z=DnPp`Y>L3UsB&JDVyHJh;YTAN@e@k4~c!&E#TxFS6RL|Hie@ECz85|c6`79a6%0{ zOKx9m*+Ba-Y?66c_>1T^{qL#rEZi6S2wP#@Pkhc+i3UNYcvtC0gp*#t+$&JxsSuyn^3HFKt=Dlwl zfJt#@j#ovZ&sbU^90!a;zRxxP6v<*A@V|^p1Bk(V=k7MKnsoG1B`U*|x&s^25xXzb zr@ZHYA-1?_s8t7s}v>VQ0 zEZA5=p-O4=w^kLsqlp=clRv;*o_Tuw*xfrS-i$|76f9_Fq83RLyU~rRRI&4KXIPuN zJ#-au4jwk`D!d)dn_g+>xoa(hSn1 zOwn2(W=wS?aVIK-#MrxwWPJ~f380v8FmbCZg1H4tzSx5DLOg->tmCrppHE!|KKy35 zJ&cw0ZqPip)a=8*0`Z!SVdk1!j{H7tI}QrU2sLJ{(5>Xw%k$j|io$A^1iLm%H!&5VQ0G&N4#(>7PdOiJV5D^Xa*LQ{>JbZcQgYS z;Z-d9=f6B06IN(4`z*0&B?-Fu@NceM(eP_w{f*W5(1SEv_Xh{+=4-1#i!;A>8^8pq?X zolU&^Us&b8GVT(gNot9@K8<>}f*lRWF|ozlRe4IBZpa?wh%_2**choa?Dm8dQ^xO%w-lzT6t6y zj45Ff0Yt6~i+BRPxKaOTs>*K=w@B@4>H)Eoj^$WEVc;J038C~_ic432SfmF?Lv8uQ zGje11?2Fq7W>5vn%66CI!#WQeKeNK=M|T5k$}uV0Vgp}adn(l%W)&%-TlkZI2w!+S z7C1?>bG!FFL>9_Xjb$CG7gwb@UbVnRkjU;si~5XjmD}4E`p363Kfd|c^KyrM1=ONG zfVN!%Zur^d)^kS-vQS$Uizp-RGDHa7zq}oZ9%)C4NOYqd;xJvw+J$#3PSN+b>XG;1 zl5Z$%149GhMpLU?KdAL5)V%Dnx!OdSW)KkKot_Qx7SPYn*U`M|&R@598$^PFy_;7!6rt3T4k2M;nq(BE^_+ zlJcTVba`5c{X)kgQ64Y(!~#jzE(Ebu$?o-DDqEgjCtnsc&BOYmeuL5sYV7 zWlk|XSkkVR3J&UXF7oSF zBLDqU-3h6;PU+X3d@7CR!^Deyx<5|sTr>x1ZMA-yp+7m%=*L@mz%#F=RqY>6y)Yi$ zAIKeWgX;BhLr)xa{P(aR1!M!oATf|dVds0n2q1=2tpHn|k#vYN(=O$J zi;>I}hUQ2eEeIxC9!4VkzK8;aG_tEB9Q>(;bjO<=b>$hLhadNa-e%iivjN(~1v=`k zQ=EFgUvZ|L`Gy`Aivs-e@+0LUsB6GAw+|I;Hr8^Mpr^Oi3dW(AdXpnxb8y3t{Pwq0 zT% zR+zr|Zsz%1l<*x$0)nUueBum*V+|QKnYMOFU|6uid4)PyT~)5jo3qJ|Gc5qLvM7ks zZ_u2bEPg6+2yu1mh0*NSn#FBVG*Z4-Jbz=xZ5AUj)jyU z61XDi`$|&-oebB%Nyg*7Rnrm84O~nd@o^%|97K4>aXX@_#(bJH)0+bdy$N zAbfGi8Js(*7Es=n4MOLwxS_sU8L%;!Pgr`eB~{^SU5{>=csRP25fveu$i^>tDCm7s zsKBPn7j8S*N+b|*mq7@X&SdIP&2!dn$gD%NP2eK4GB>mN)5jYdhST}UTiO=1r(tgUa|X$MV?M$_w}zPU+q=tNz` zW8ZFm{4X=ZV*OmFo8JsQ7-E3m+|&QxNb~=z6gDR2rp^xfPUf~YzyDC(m>V`5?9bi& zKmLUUbs%Gcov|Zsel{6bV43M45=;-fEFfzI*4D-nQj!wU_&+@-w}kP`M@0}FK4G-n zCvhh}@)6#OjVVb_E}BXkt+r5aS`XhTu9YGGEGPEERWuoG$K;IAo zc6wYWJx55K3}|I&w^%QzX}G__0$oFqPC!$Z!swD-Hjb}ilv#A{-Z53Kp~xB^mB-#T zu^t7aD%Cp3+S%0F8ajNw{>9KeFUM-AW*ThN!@w8c4Yb-qe9lZYtMz=S${(G(NNp?$ z%Cd<_v}=5U`MKe_w-)cLD2?UwT{zEYF{v=oxvij)$R^n^gIV!cvIe)3**$~mT7q!X zo7rI{f~zz!S9i9YX)FONltfK6zas;5qudNIS2yrTFGB2X_o%00oU|AvnFu;Zn8% zTAIt?M!1N{iDPCFy;cK_2DkUkPim6@T;JXcMsR35YX<%tI64xj3;e=cO3M6Xz|jT} z^lM4n>j{*#)w}gI&w3s@ zclJO={g!MXFaBc1R7EwYh2-AgE^dM~yDXmM?7`g=36~exPAxMp0ZAiM)&KoPRR%U+mdycEj}54(0}a>!|ALT0D$E z8}a0WQovo@q62dLne8FG+?`ck_)X%I4#2%p9|SnUr*u;kX?-_9d}p@or=^*QGfS?W zTH$Dz;D;l3Y-3ZQF_SACKAb)6KM*v~0#|J8v)RavPT5qD-5EYzukH>4 zWO$NAqH87yc?p3M8uo!S=AZcF zO{$r397!1BVfe1%k27HU(@0QfWn9wQW900uS(2JhCtQ)LH}fg|rYELQD!%M?=g~hI zS4;w5>N+AAV+lY&u$HKeXDR=*k$u9f?S)O0^tDL}B>pN{rI!;TDFALbq~D=+8A~DB z=Cv>kOv5QiN??SZewi_0=#{~lI2d-x8XGtnA?8h5)?qHdpvacP@X->3n81c9ql_q^ z2f^cO`Hxv^^CQNvl)2q5AlI)N2wEJcrIIP)-He$+q3+^B0T@#bW<*GkYebp5X?v+f zxXL}7xzAh%j;+(@t7Ulrncsp3JHeAAZbk*&xCiYudLs?tW~G6Q`yLOYoPygUPJF$pI&Fx3a!m%UphSZ`hfPnNYsq<4hDP|iQ6@b)0b0HdJ^ zu@P1LHN4(oV7xhLrj*kFdiDWV#s|q$?2$pf*CR)EGe$xWePk$tXBFS+zo0O>X+w+c zkJ3e3FPuYFPW&zcbsq}Ukb2YA+ql2{Is!=;6hG~s6jdi<)n&v0B|>3bm+FAE6}$9L zDf3POd5#}Cya~n=6#C64i{>X*QsL$U&K+X9Mn5L#te@P}NO`3=Y_VflSFg2;c_uQ+ z2?H`i$Ey$=NIsyCMa3FHd}-dDT;uHU`uVejkALCBhs}WelrB}(_s5B&4-0i3V&rOg zOiyQWA8?J0?a@(7Zw1vOFLuPkJELf5(>;FxwAro?uw8!Zf7L^-oZ63?oxwZ$mMj{#?|ct$47Fsnj#x z?LcQ?M+jw_Ko0HDURrBUdlznzSB@TPhdhx+1c9k~Pqw9t1Z?U~>3^t0O<$H=zUK^_ z%WQo!ppM)Og~M@Y4&y)1JuwtV|GiSBK?m?pJrVO9I#aT&8-WhqVN?<<3E8*jTb<4t ztyxG{j~o(Vg&XRoWMc)EPzHa)|IyFD5c0Vh6QL4P^WI?_7#Wh^HS`J8a*8ABR-1kQ zOG&E|W5q*EVBw)H-PRat%(rML8Wu*wy=yujTzCX)vMY!(FniD6=Kh>`->R-G_o|OLD!njYs?&T^ymh-fNm8B%5kfNDKSd0*oXtvs4aTb`K}ZWkhdvaOINEjmY?@5kHS#@@i2Y*-4a%0n9Rx(>M^3MrUwYy^(~^I zMznfgGAMICK*&u-6B^1SOmsHcKccg=FITZ0%+y)+xBzE7R6u^Q4ikoEQCnCK=dvvv zrw5em0!Q0dYDHZ=1e%3A@#OBY9&8;0f9_L*H=4DTY|=*m)*{AtLviF6`zAc-8L$&H zexPUU9JGBSHD(2Y( zO7!53{07A3g8H>R$09k`NOE7Qf|rYQa}rmV%76P>1PvDFbLay&KTx~>J?Zr43Fy~{ z)=c#f zQFOg5c^zusy>Blhy9Ea_XgJHY@?%HO$g?oXi{4pDFZNj4{6e%sGR@Bt74gGh=K4C0 zE`}uMMA{!umpx~0m;dc75VIBa=Wwb}2Glek&8|D$7|Wxguz(R8@gSE@O_Hc?FFRZi zzZVKDZ7wfKQQa~~uD55-Oe!_&v*~s45M`Z7^ebRjcA73<@ch5NE}dK4p*nxJEQ6T; z<21v_*udHJw^xkD_*Hkcy#Mx!z$f`}AZ>yl7E_=d#KRo?%TLtfIt_k#BooJ!;g}L6 zECHV{58hqkNnYxoadU^Ry@_bjWXS~0)N0c^J&1c3E>!DRx7z3WcYTszAqD%RCv3+e`q#P)q8i`i~2X}V3h>RxBTW!HwvQHh} z$2JrwWr^0up=+Ybgz;aS4kGXXFVya`^9|mJR58^+KuWMfUIEvBK zoKRp*sV~Q*n?k4%_~_0BiV7%-|4HTsOtHbJp*NVTX@WIDzdRAoh_mW3Uvia(l+&;^ zZDekl&pTMBow3wWi>YpHYHMk2ZDNncTa&bOH$cTAiDrt;W7?>V!$AKb$FRi{r0&}P)lss;q{6iy>8Iurnr9f_!K4P9qBi1(b zAhXYt`_@Nd->I@M;J$Xpnk|u_Z=)Jd;X}IPF-Eo^xD+~&&!rP)5j(FQnR3Am_M>Il zP8`8@k60nu32vrhw?Ls2jwei6@ByU~=Ui?U*+CZ%W5Tkq#U<*z5Qh_u^Bi-|<|LMc+!cRbHVE-WjD z-_Uolak3Hl-4ioZA_F8N;o}R=fSGgol%|CKqD?Co!o~_IjniSlno_FKbf;&R1DPV#ol2D1tx$D-iI#IWBV))t(G~pDO39Db%-Rsr-64 zZc(Go`#@?u;PnMtvx7KCQ6e1h{WDy}B99Z;h;x`ZXbKXVfa#{E?mX%!8GL!M;NggD zqO5Za?AzLxfsk$osg*wfj32G#CETy|XZuv*r0ISk#B#cY)i?3Zs!j_fvG#9FxvG3N zMSXfKd=dVc_9QDpDne(AH(bd5-T4`{L~TAEi7$>h)jU}^RmDX}06b(oiQ*-2_sMbe zlxmqPS5x@LqGZ2;0SiAt-L`?*j$G}SYyi8alxkbpZ>L!&C zE9_)i(7#+(ww2L=qtjsxk^71sPY@GjEfv?E)bu4`{ z=Frm|UJsG%2yN;~0BF&CEW^!V!&pXWq43x8T2y(CxrJPpW#BI)feub}tsM?`za!=5 zesaN`b+a(&rPi~&3^fv8ZUWQuCk_Dp#=yl*SSM2LncF`4;9<#D?%|QcR*s)>V%s$15yb_%jCFZZHPdU){;;m<2k@_=Lvlj zrBLqAI@zHUbq-|4H$p)0Zg5h@5Ixb$KZBeIT_J;~3y(l)5^V@Yc4}H-@|U*y4JS}< zI&TSl+>%>F4NLtAYyAeKdirU!zjloL1qFL-uM@xnBj-{O^0!`kKj7Lyx`PKhOZnW9 z9534K)27*(zn7v>uDpT?`Nj_-5>WFIvo+SM5SXl{__@Anex``XVA&`Rx)}v?3Uj{c}2c0f;Q`cnw zHY2b!N;b7^^(VWyMJ-(`{D$avTr@hTdh-!QVjLGY*{>PG3KF&qHEfHYs7A&_>}7%@ zfqP1N7{+>`iPtb=SA$pG{2MK>@KL$U907$224Gk;BRHV~F%W zKv1^$JiZ3U_WH2;Pv!DZl&nEgd%0rO7ucHazQOA}f|)wSGTLPI1BK(Gsp(>EqajiG zjq-A{Q_=VxBqOJQ;k_Lf!OhCZXRhf#di?}Y4o`-?r!S5x4q^1?`~0EC(pkQB zjcRm3Cll8O#u#b zyUxve-)8z$xbywb>JlW4O|ME&0DxWO|50COWb0~UWvg%W+xir%X+|FW3fuA0e()7i z*yGx+geYJx^657O^(mxGJLv{@l`j+3xFQad52reMd&C-yCTD_4vC_g59p^cA+9|D6 zrHmm`H)xPIHn5hxQ{JCV3J+t()|Zsb@pEp&@4Sg7d%U*ucFERRmnJ#!jKEN zYuKT+MQDd}rlY*0m~z&EQyTHL-=_s3K*g; zoJO4xiv&(Z1#}pji3KZgjxKe_EG;M>1sQ@2(fxy zKOaU0Ry&#z$L6-4!u`hRL24U2;3}Kr#jFB%r97Kkaz>#{#j>#6?w(xI`XM+f(8)JB zCFbAs=9{xKI!pOoe-a}{r7vWreyl?{-^T{s&_U)a0q80~L-6dmkw9H210HTC~X6MT%wUUVq!6-_=y?U0)RE4*7IMX49^vxLxQnTyIHQWSFFN_JjO;lt zdPqCfRrg>w+^Jo<`XkOZ+3Fm!$9^>nYLxkI3g=>3#(Cm13>0 zlLzSfr0p`q82W5!HC~fQ#@fTorEZ+GfAJywk&=>JhyJa3D*zEvrLE)PaF~I8KSAK% zK{Ff22x_pKTAHl=$XOnX!!8Exc?*cw+EI?v(u{m_-tFEOF%q;OR%RR}_R&T)-Fg?1 zOvLcT*yo2pGCMHS4{v@<)wpObY1Zh5sY_31PQ~Qw`vDKACq};%N{=_wc=+U8k>(4{ zKQuuvO^Fhogh2nl;z9-L`xQ?6N6B%G5z2nC$HVq0a!nb{ij5SvoSW5k^+~ z5_#(Lh45Tm!Zg_fYrQd3WyKUZ8fVmb%a~u@sl)4^<0S+h_HABaw)S2LruVA&5fNj- zm)Ng8w=S98zOBs>UE8ed+M~$)LXLtLy0Hq!_icbaMk0zaRq3K#R~dC%gU-&1X}Zc< zh_)qGa~Y^huTWDy;y8*RD0hTr(%l4};-w*Z>EMP7Dmkhx5sZ;yBGcwCA+qWdURAS< zzE@E|RW?fM2fgD6Y@4>Y$GN`<)5XCC43I1q$r(N+pYZ;3sV8TU(CqzPptAffQ1SoI zYY`I%V`Gp1r6jCYk+R+V6;fl}`r@OJ7m27!&O(==k3vSENdvOAw}td2n>0sJBpk`f zY~ufP3&}58G&|smI@P6Sy@h1i>Y!B5FEe-zO-6SAqgfomut7|NNO0A1K?uH{hxjKv zj|a4MG>p$Ua9At{SGCVrTNI|DteGgCkIGw|e#0)Pe%5kS5mQ%L=YJ`o6A<}(5;T-WYtj~ZeriGCQrvDk_wjxIuKl)hQ){c% z&r1>{!%8h+mu;^h^;nsq)?l#0aa#!w4v_BkJU1CB=^*@E(c8Cc%lWBmOGo#|yYe69 zr`saO;yeus2QA6c)a`i=+qU~K_2&j8G!1#ERju`;_BH%%pM0#QUIML zzmX9{2k5ZFhPWyXeeXc|!{cY8Xc1G)qm^ z^_XcXt$vc zq#`S<*Ev2WE;!a`!E(IcvkvnMOL)^CUNp*>UA~?kx`JbqFD=IM&|+?8u!QWq=O}X* z-c^8V0&&o;gn!i2Uh>(vsdfipKhkD*zpw_5eY(`xb|**9XNr2QWMqF0)h&wNgF7(Z zP_2W|MnVsj`N_Ucn+taB7h*us=V!vV476h%Qe=i6`{}Epl5C5iezG-J6!zP4+vyox z>?0oML>LjGU`V&nq{kIxC8R|v;APj7^(ll`fv+GU6cU44{EX`r^ojV!jZ*cY%N3JH4-`DJvumAoE7~J#mZgy$P_y`PMDHEaWWYs^7)`&M zFTa_-quKA(_g1#H+@Svtz!*ZX0Ty=stUhg0LUrJR;KG%ZYLG#$b#=?3ghMCe^Nwr6 z(U8mv1%gyZ=cwy!w^~#7Ldw$SQuHbvx&b>|MMY2*oauu_N~A(%O4*Ey78bt1eKZ?S zl;FpD{y*{##1UF_fu-;mMgkhMajXosfa`X^l**Q)hCk9ZAqSnTBMuu_O_Y66teIEO zHkk=qE0vYgHZQV^+Yuvj=!f%{i$|@USE(Pcojse{g>PTa*Uyc7R^Q+YP>Hb!m~Q>| z9jUUUBy<{TdKInOH-#=J0igZe@>uXB#8Rhb{n z5b=~ZBUHF0?|g?dCG|tjStU;})g)LWw^2`;kvP({l z&9UB&P*%Uwe#gzEOP9FMcR#*~ON`BMHu*+4tL}|Ee+JgS&zr(w=Q%U7&FOj4gpS~SJ-D;qrbOc|3~tH8Vhs7z3%&I^o34-9JJ~Gn z9L>>UT+dFM`;P3kGI9&tnaZ;B#v&VX z0j$@TLCNbE!!r%)&kz2RY6YC}1AXJS#US@gut|}9xD{A^Xv>09U;j*J>GPrE3@1`x zfDau8IfVW?l6TPzYBB17D0H+2YYBq>1pikCUyK?A^8+9NK=QBW=zqE=##VN}_rzII zI&y;_rW^boPgt@ZSbfp)^qPeFQqb1i6SDuW)mqN-gZ#8xWBy~W>VaFrs(AU>lrC&(6Ieuh1qay$>n^??Zcng-! zVQDi`>aYKZ#mGO6l@pDkd0iF8RphGd*hnVX6(M9xpZzkYzX)Fr9xW9$9795vEv}flmG_{dLCcu|9y>xLrU=d+VCZp-UUp!42|bB zUOs|AQs$MhIdz$nxN`4IQr};k9xPZuJaR((ug8Up+718w_xa5J`+WW%M3Ck-M#gTx z=OtOq+H#ZqKkDk7HHBs1g=H`8iJ-&=k=#ODQ?Q|Wlz}B%$7%xAxI}8)&-Q$#YD0JX zq|a(|ar*oeQ?16jix&CP?N&^~*4enqE!v%ovzmB7+18hTW{!Ak`7@5(do{dOZoZ=k zNRPRANRM1O<72a864R#9DOX_VBJ$|^Zz#jV(gqw9D{MImdLS@)C)Y#dEWHMNfp98HQ-s-?1=|fa5MIu7wy%9u*O7Sy~#UZwA#t0w{1>v#+#c8W3qzm3NZ$ z(ga5`$Ak=u>Bw5G-87CM4AXrU+89dO#2^5cfib*FQ!EZl2<^`E_n6k3m`?TC9@kr_ zFuB*!qY@yo3;`)?>J1nT#?d4A1IRK+1VkaCQkTC*aSG2MbgV8GVttUyHr@(=Lo@ny z=GPj9w}n6~K5--QWd@3N1@TBaX4!nDLieaEMBlv6@B$oSek1cIVE#&Z5?w6&1ImY3 zepvG##9(PRSU{UdG*u8Akixs$m#fh-KO+1+CGU=akh2pepwVI%fj&6D0ld(-RR+-r z;%*_8TJM;tJ7e?M&k+g{kR(+FvY&HiZ27{g3Ic!Rnkf#})iiCl1Oq`So#w+Mw^LMC zEdNhXnV zzu%At(>~J@Ar=o1agnSWDTM0oQh`F}9q1+F#l3++xXSPOE@<~Zr44%5bE7) zvf6R`Fd$2E$KY3N;-lgW2tD+Dm}A@;Zbj5gdx9uo6jbAcP}%gKGLZ*m1}@1MM;A|3 zRxyAb&B`i~pyy7v*wd37wMjaBD-l}9KYpIXVvtA$dc$=Kco;y+(c5B+3b$x;8`f$ifJoKl!|fo*z)v*r+$6b>18}7{up5XVH^adD99-hJBko z-)6{{OgUq@YT}dTpBl+AKAG`9XW*+Bw$bQbUo~J?E?YWO>Q3nXVe4R;&6X1|o5Nxr z-fSo#olb%?ZhccXcYHID=&vS6I5@xKS9XmPm7`UiRn*Oz67IErCQo_+gm) zgz>?z@-v#`&W$6UD1(L2@886e$Z=sz>g#5BVM#l&d$fCC>_n;MxT5qVp_O* z-edpQ>6ZT)*tOz~L7ZT?Nzfqmt3CWjajFl}#z zPlJ9IJTSHhf+$M@{zDJd#2whJ*IlDMEZ*SYQL#!9XCK*^47ab zx=dv=*&zAoeofaCx&Z-1^o%C5TQ8-&?|jG4WqE^j<5Gj21Qa3_(Y=HT_giz&ml{!7}qAoHDI=CiHyz`KF}uCp=edi^@1F}J;WC{y7zs^>Sd`;hv> zt&H2ZC-bAtsy>eH=CNYD#Cj1*Iw7*$VpF%H{6$M;naehWheu;(hU&8o4@64a0rw2Kf?@vP87jx+Swc#F^D=WyRBve|F~dM!%}V2sD@upgl6`&@t6o z8~F|D55nAT_=xsC*Xe-giCc=gYRMCOZLb69V0LTR3XT|VX}c==-3)PPe$xv)y_XZy zYkOI#2OdTsE9KAo;$i20a&&>t_e~;A(C7m>DZRs}57;z8{D<*nD?y-DWoks=@lzCj z)@jbnP3Ko7>mLvspxw5zlA0gD(icc3rskm(F=!;P9bQmWff9r$q~?VnkpplpFZZIe z@gUecu*a0&YpEqcIkVf>1x37?Gph|HwX4DP_)(B|qzH*z?HjjX^&3*WL9cfJg*Y2Z z@a@O>ieKp`*^cBlW%f_AHkaHsF=7H;eR+HP)y4_39B6M z8fxmay>WjlJs>d*s?sQrdZ%^0l23C?hFM+OC!u*rC7-ie=S_{(!ZahkZi?Ra`%)Qi zYvxNNVFTe$m4Yx-L&)wT(jQ;mnc?@QEf{VHIsp2U1OA#Iy4g&hbQy2wiyQU)_2>pUJavi*Ej(ZbUYmlHV1u{RD2XJT60z;!i)Kl(6 z$PARs7+#iXRdI_TlJHsRNnf!j07>YRb78S^Ikh(>g;u0!{ei29K6^n%n`(_Pww(HD zXgCAC%ep%z{PO+q;5L@*2h3|Aq!ve~8*pARRi)^lIP!(&?}vfgo*ChK3N?LSyBbja z*ERB_iibd^SsKQR*t@`lGf-?2NrQjzT|Qfc%C)U35?9b(D@7YFg)RDIAHegg|6R4_ zq~FneV>w%+5>C&qJvSmPB1GlQ1;Jm206xh4Z|hXs5Q5|79z}bFYt|U)=hd{H$VEQO|o6ClMRK^_#mhY-O@vlLi84MYl>CW-3e!71Zh}r2Wy_cX(3 zm^j9J-Ps8FlY05f5cEe+>UUZ1s2Ak2UIuL<4&3&BGsoCH)#Z%n4$hSU?~=Fw*Q3t0 zd%G+u0s=_8?Gm1T@dZ+=ork!d59hJGdPfCl(&lu#nP)80CnqR*H?O~w5YT_qx79|0 zX}^E(Zc!V*-$k=7?8_xB4M)S9F&nfHgq|BO^QU^xO*(^&s3B7$%g6@rI{KiTJ=xCn zmbviu#gzvFZxwx0$vtUr1LjM-PeOOs{!Gx{8jPF@l=%AO&-tJ85s-W zCpyjr-Tb=L?~TF58B%e*%s*9A?@TI{um?T}uXVx%!<@UU+YIAYrj^+1&K;^W8tN>5=(w zQE)HYwL-G#Lk;m8?RqJ1b=6hpUiV?iPW5Vw%7BO`hs7uwPW=W=ZJ^eDAh6PoGVHG9 z%67~cFg1dHxbj(M;ed>LC=K-fonnCJbZ(`c8q>3oFoMXg342zEbkVFr;A_V;S2|2L z2hElS8Y5xsfuOt6f36+RQD1v{pdMJ!Fs(V z6+`gq#6|4MkwL7*icc49fJx%W!Sbi#zpnF6K>L+Y%R#BMn#MKNvf3|_7$Izq`3h0M zbT$4)3{;`oAXYY}$7j4H2f*ulF#1OYO(#xa@`~ZM^q~V~VHFOHuniiqX9jBE(q$c5 zYK)UB>#nZcD^k1oA-@Ox!Di(Q!H#{vg30^QSAWF<)xs3c?*XBFnf8+pzpv*VJf^Od zj{tFb0sgCKZf9T24(Cq3bd|yOb)HSCyxh_~r z5D{Jy5q~(I(a9K|>p$oayaN(e#92QAQOQ&uge1OqaoPx_qsxV-l|FsT6{TWzv5q#5 z_13oaUN1@pfTM})vrwr28UzSnd&>Joy&o>W^0>LV@t{fZpC*>`>;O8gUF*SX^8Nw= zZu^38ubR#dvF#+eqU8A27xN<@HTcX~0HwVp^rQsOxOS}Gje=aPTg}1~Z5;NF3LB`M zM`?sMK$nyp#a(t?1*`llL$6o01Td>4s3o(k$tRmM)leW0)&wE!|!yiC0ZQz!{0 z8j9GFPBuD^whqLN@yOv3ry7FRihEavSTwGB#fShF%+S8;J zPog$wiC|p~WM)R`am0$EW<>Y!A`4qhPMOnYt?5d|xs%d})0uHq9e~~#P7^L9brswF zQE{9|_Ce*$5c^9GItGjd#pde1aX#59008MY8_-WoSxhS4dn@&F&KNji0q^i;{}W&y z5TU{sRRBXh|I5)^vk`x5uvpyo0)H}5l5L_s_Uy2v^^sArH_I`LU;{4>bknp7(=G9A ze*x?#x53PSj?h4b>n8NSiD=q4<v=ac{UNm3N3g2X z1vrpL+|f*M$<_xspGy}<)k{yjRO@?PY2hRQomg6PO0!~_v{02&U5!MaLE(9+;OT|= zCV#=z!uP93Wl0}$GS(!zAxCMc&J&Sot@%Zj~S&yfr()f;8CHBVh@r7 z?+NXB9E^5GdWCn=PAQ440XFT|nZZ&qvVs`2WPvToghk1uL18Fo9Hz&=VgJadfHFs3 z9)XGA^3|s*+}qxaRppEH|@7d}0 z#0oi8F!FlctYaQgppDONP*1-$AeRq^07{vWl)jD-`FG+3ql%O+KI#GiK3|Um>0BqH z-g@KEw85lo%Q;$zlfJl{O=s?9zrdN?6A3xNCGO{vg@HT~$J2wrDJy|)n{13a`T(!- zHDvu=Au``XL#iW8 zf5zdBeL?@0SKM+c|N9Q#L$gD0M>>5A?%8bQ>OE~&F%4W++)if>K$WZW*3*e) zfYT>1P|4ebFBg<9M3yjV<;Wj6%{&YqM5fXQ?z)uDU@t=kyk-OPp zqEa+jt~%wEcEcplZnSEEFcDN}g_5zQz(Aw}zBl%=Gq{Y-*{LzDWcdo+u2%czY(iCX zI#J;PNE_5V8-OXp%KjvpgGB;-=0lMjjsp>|ij?AOiNar*%x#5iCkq`dCc8i0hZTAQ zhi6y|_Eu{BD=`0g3{RwK9oKHCF0|*6hEkCcBwzWjB}krWn3yWiA@;le#3ihl z!*0Vrl~bx#u664h(k9NI^Tby+)@Sl9e}LdUXcayo_qCBOzWKyS+i=OQ7?CJa6Mj1xn zv^WFsoI#NbVaXr{iGzZv$Cf~q?SXuYT_`@u;xI?bS>AfyjWGq*Vl9q&5Rk5Ggv{ge zH9pE5`IUa(joArt!HNmXzrJ_vqXD=cbF9!|EXKT(@wG0h))y~J3Xahwr%0Twz_e@j z+tDGawr%o)Gm-Pbx^nd>;g~=W0kbv$W=s!MS+iOHBDH1ZqC>P*gU;jQ_C2Rx&Zpzi zH(I}X3XDH5*RgX$1#JUbk@U!fdrxN5Lh-&WZTG(O8&^uh-hJ{66x6b;iS;bf)@K^6 z=)e0X;4l9SIx+gg4?K-yzvj!#Sp<4LfI-PU%W)T`zKd}hfx973#-8YbyawNi`HDY{ z9}(Yp4TFRixCcmjH$0Z$>_W61%rp6jV>$+me5o+WA}WTe+b384jo@~?Y=iX5gu6}t z33SlkVqDiUAhl+ar-V64XW-)p@GzPz!vog0E1G$|ns{&Gk}O2h(*s&gyLX^_yxYmp zc6}DcYXD$P8DO!pGN%R%RmnVm7+ScmeDjiDTt#+~}^lFO{lK-3CD$ zJtA~+8(fm0P=#Nhgp~&VYdMHon--{E!8L?r6I1%dktYgtYEPV#<#xY7c1Rwe#Exg- zI^s$&m^!|GV2wlJpTSSGitl-JavEn|*AEKp8ZTJ0p^ZYYqdzdBpl?DF8iELRZwqwN zk%g{t)_=@_Tb5E30(TfA)?!2^#nmc*%;%|<)w@ zIp|~0XSc4kOG~}~(wJq0uWVMHVnuPcHN3-zNb7MHINx_K)(t>`$VfrXVyO@Sq(ow9 zaw5#rtT_(qUUN9qfVzFX%Q`^DE7$SnV&%)nU|Xa`h1c~qXCUUE_Kb$$-Y0QolE+xZ zvfiM<0wk*uVPSOu9w8_Mc^tJhgPk}QCRvId45US{Fqy9yVAV>`;>BVFoNNmUO2M^d zG7_7`;^7nyx-B#R1atwopXeF@_wTK$lUvWv3pG&H&pAf0pEW5srrsFP+=h@7_{JHy zhv5W3$syTZC*?~43yOpRBJ_^~^(XcAhYPA)$T++>0P?deE)~2=^M(-znF7U4@k~*n zN$%^@*Y~K*$G-GkLZiZDoe^@{L1h#{F5;gLtx#d+Xnp~Y5Qt!+cinxjY7ec$_y7hMs1=Zv~VT@4Tw)Y z1fj**j;z5H-nQ6we43W+3P%YZ*-59~7I}Zhj!>~Z6q<#Qt7&75O{27WCuwia)DJNp zKSuW!pKEo0UcdKosB>IesT}fa?4(c|sbG3Kh|ZI*Y2l$qlDKHabb~=n zYL4)4m!AEJsF*5CbKR+$umfU{wz4=_we6FSiHsPXJhJ68TA{mafS2a6?u{P|fPn ze*BpyLVxR1nxd;@>1x`Wle@CrX>Y}EiY0dYW3I~936!%4ID{9~`7E^p;Sxt+VUmpM zZiwxj#{OP0*MhR@a;7upCN~dl)XLad_K?54&wzx=i)_d;2yoOB<1B0GN||wx$>lEy zmfWC(vJ<>-cHj@a(NdVay^EJwM34PFqa|gjb7mQodrpU3uJjh?S^KPf2A^1-`E=R2HpE9dt9+utE+jqzumLj zHJy%G;$KqgE%-CbFDMt~Z#PE){5`v}cYf=camLU+s6K@LiYI)V!H5 zt@@Y+Tuw%OrY@cZ#Tv`GZstn>GU*`{r>Fn;Jv=to*(C++B$s@4RDop3G%moD83MhB z6P(BQhK3{r@LHL*gH&3HX^P8?7gFQF3ad{*#5Cb$6%?>?)6Cv%qO2)Lm1u3`iKCr3 zAFZ$x6j#lWI2KZjLoI3Mhv#ecv0m_8DZnH1vj&+d6`kPNwnus7l4qM{i`kOd%7vt= zpKP@P#Hg_Ce49|LWmjNyyM3RBs-mK8vAtiAveyrsI4o$~w67oV zR8qLF!Y%coKA}|5J-?~8vV!k%?`MT8V)k#szY=3dWR7$v++0bqhJjGt{ziBSd|P=bfe6YGFzU$32` zzLgxz+vk)jGQ{ototJ*cUBIN8^R^bXtWZ>MP;qfA!ANe^4-j2--Q!O>r4c`oicXuP z38jGTvMp={$1tZ`F(D=_hDB*i)Z)8hmMpDdO@9>A5Jyu>?*kkH?gA9^jXNfmTfTAk z{RyO3Tit1`Lr`Gp;u+ZfbvEtl{(r6xzm(56H5&=7Rh%+B@O&daJpBaRxy6$#({D~m>ss54`s9g2N4mE% zycb6M^cg+8a<6wS`~oO%J3`3ZgG<9c)7^9T^BF=~zcG%;n8ZA+Fc{PZ^Lc*81Uv|@ zrTqvA`l_>R!Z#`Z`U|{2RGl9&-S5cimt8wPOn)gCcMyptLn98J;?V1Mv~C!@f7Vaba$_Jw) z{_}iY*NmId%(gTH5P!Y=@zd?2q4)W9G{Q&g=g~rt771DD*+5X&p$vU*D&Ku$-bHY; zYWL@2*;-&bP6+yES-G-Ij(RQtUd3mkvlM-ae}xUDqe65<>r7U2q4wrAv-Q(W)y;Xv z(0F@b&R(&_wnJ=%w>(`@;l{pbZ>BzJ(3z#r3mCR)Pr^B z>tcWZsLM?Q$F$^{7fZn(bd6D^={hy4ccV%6sKVb+Q$r%u8%UK0qBY}p z1nUc_lFoNJyjo;%S&72V|3l*MMe%w&tvzmNaZ>TDU5gv2EHk0@WZ#qmU3h9~T>&K4 zjjY|!iN8dDJVKvLKtxX7?XvjnT>fHI)xHiXiv1|s8*#Ard4>#>hx}fn>I~H+KhVc$ zK+HtEOp}th2yth}e#=5nyJXUKHnGU)seW3Yp&nR+st!k59?Jr*8sj z2KB_RTCOT)BWFjT8czuL3#z{2{t3SveS!lqX*Md13{LlL*0di((d0VuNFnLR-ewfn zyu`ubXCFUrD+KpTsun;>r1lBy{Ad1#HJ8gfKncquXX0>8}wV5D=UXxD^h7#4x2T1Q0nh4a( z24q>5sGWr*ZpYZX6ggO`ieuG#YrO!iBE*fw`4*z=1?AX@O33&q3Rc>c)Q>p{I&C}r zXS#afuRg>Y%qnAJml6-a>g4zw_&M)JeJj_kE08G4uOWkR1QM9HropGxzr%E5(j)@I z?}DW}cJPaHKX0|WfP3S% zP1;{*UvxQKz!B`Sru!H_iCngZZncKV?sDB~PSdiH`sX)SB(!2cSc;*pDM+;1^cB)% z2UQpeWac{e%o~WAGB8Zk3YgTvuJ+3-8v@!%A;FP@=)rRG4MYSbGVb*2{75Xhi!Out@x6=C^UkGAl5tF(M^ z&(J=0ZXe!1LvIB9ORsjvTca9Hxu*R`-|kH#F^ipn&#-B0sHke|K{ z9@PVQs%7p^G@`~VmTc?({1=#aO@G~rUBx%(>$na$3*V8UoHOhrSVNik*^ zS~?6`67-gnz6FW4kmA;RX!GtqEU@on5#SX@dvn<5nuNBMkY`WOZ>O+L=BE%iuRRlY z{U@*|0uARkymOE&P#R^OevJ-KAaF9%SXucA*Iwezn8fD7VwE+YBW`=NY786-*XycB zzniIg@1}hcdmyGf>?flv|12v=)M_Tu&Wfx2S&w4F;e#=nlDxMzH+h$An1O|HFOG`Z~=ZrbWQk6+^-w<2o z3PTPC)jgqV&R)I0p8v2J2_cKz?#U@XSAzo(I9Lo)m8>iOK;8`nIwr?Ki77BoZpAh{ zL$Jkz?nP&SjdL68(<|ovO*RjQF>NI$ozMB}D5nYt`+dY*g1Tn^P%7q5MJ+#`^vEbq ztaP4j7TlbII~Bp}H&_h+s?B8x!nB+adXH^#6P#23u@q;RgmK@(*bC!gwl@D&S-={S z3s?2&ja&WHaC3+4sgv5{E+JVKNjnAyQ&<%=AWGCS@@;+KQfTqQJg5{KgG}-ATp*}9 z%19%(ZHA+Bd#3{bXETcA?Jj&L_$D-Y#HmA@H?7#4_M{z_UkJj}jk*cfd(d^E@Ib## zT0o{i4#YLK3OKaz0Iy2(E18sog_Fh}IC$!{|MLOyxF$~&%QI*z~i!sR;`EMY;y-xJDE!obKR1(25N1zyfD#Pcxe;MFN+ z+M*t0a0b7o8i%!oJ!~;|G|@h9PZwbsVYv=){tY($+4qcW1A7PL*LLelo9Z2m zZch8CGp~2bDUqEmPBMEd_Xkcb@ZaBS%=+F3bI~wp>VO81_g}55Lj(p_-0kOuv3vb4 zLx8-5K305(9MpH>ax_2R{<490hW_UKuYA4jhS9sJ0f7KOZ_i%JOCp?P^;Ncl+p4q7 zyA3b$#gLe6;?1}BxR_=y@|!PL1!yn39&*aVK`{8U#&~;~nPtR*iQ0Mfh?=BI3km zd5o@KP7Rox7+W6O5wY0Jep6A;k>Z_GV=0HetK|Ifx!6$k_@M}cu=!#?wgyV+z*5_6 z<3Kv&PqheQ9r^v#cm!j1qLb7k`@}i7^#H)oj?rwMc_D z_OyD8PfS=IsoS`ru%>(#^aFf6itQc8vKm%>Ay$5MYISd^}qoDq|p9H zjLyl#z|rVGS(=*vT?9rq`=3Q%#5Jw61{+aq=%@46u&LPR&KJ8_KvoN^Y8i?Wlo9B! zeK$C|&IQTOCUCprhaGp>H`?aCbkG$Ny4G#l)_J^p&pKC>QxC^a`R8U+*H1acCO!6j zGbSC9Y8+;Qd_Ii{Be~U)+-6i$&;{Xtx)QBO*WO|EJPHdJNq!IhNInZ)h9lOe0+683 z<*A*OvbFJzg(SXdT0eYb6h_h$?SU7S2upH|3w9~p(lr|73&Bzn9iLM7#>Z3%P-oqI z73mb8u}xbwF!W4`_-HXHJ_Q0T)DIq1E4stsUfzFy*3#llrco#zv(Z0uqr}!yN;?&Q z1%H-wy1FLlb$0#850`CKFKKpvjlaJS51o1OlLxQWsxO5HD0ovEZ9Axkdn26sp;M13j|``-d48Vu-mT-+>3!73W-3DDWTq$JP4`3<3+yf8 zG3P22!!&22JVU1SpQyOKYAsFN60K5EQ)sDT3Qn?UXG`Vs5ME*S?&LkmwK7#?Q;7ba z$`HO-f2Cfumr7<6e?oMcDHS$brz(RAB!uZN87RuY&Z5`13EQ}vla5cGSVJLlvROH# z7Ti)x#b2KxTPc%MlNo3$jHeEItY{xTL}??~6;+*t z1{Fr?)HRb8u2%1r7&}Dmpa!wxz+PEc+D52s-V4V@`V>aSi`nxs%*T%D>WcUEM1!?8 zXx&ugh}!Psx@pR&&L{x>)wU$5Fv6R=Qq!5u)yZo?h!c!}ZPvKSm)6z{jc1IPtd0}S zYzZNeY@D=vz65%#X+WQuzp5|5$0*a zg(f40v<7b#N&MSWzVbvCL&xC<*El5V677YWfCPkw*@r<&M2R~A%^(TqJ2zL25pvU} zT4gY60x}fR!7m~CJ7<|!7|KyQ;`|ATYBW<|YV77+M>0l3y(zBg`o?%1%Bi=MR#iqmh0L&o<67W~J&}!#wU}KpaXWxa|QPUpb zMCIA*0$|jaH{5dGpce0J0BW6+L7Kw^Ir6HB_7cYGRzqfS!3$#R)-E)FR|JoUHft`4 zqy9%t?CT$5D%9FE;KmqmlP?nqpee>dqJ?@!GF>-5?evaLUV3qmB-kQ%*rL|1HUkO# z>rMM7IUa#UWC>kL%b7&4; zC4{t?;fS{9p?_;JxW#5u4T1oUaqoD%KsxIyt_$|N`I@u%hkcWgXj={0f620TUo<##AXIWu#W@6o(;Lmvwa^EfS9J|X_b25_Mg+gd>>SO|+%0>`%M^m#t9=ZFHRO(||GEf|)VFK)PswIZ01 zMjUgpB*mp=714%Ykw+>A>za~c$6WWgPsoY^XR`#LTy2O6Gt&4_&NxF{VrRTfEdVL| zgA(+%Q0(MHcLuoNP(~BR)%DS9y`#E+dgArOJvzrhCL zr<2PiZ~}EjBO%36Tvd1T`80L*X&Q;`j-a0#zZoKEoYiE>##} z{ew^TcXFa|QxLzMgm%Bb=!ap%5m)9@II@jG zZV6%(wcl~8&6jIDs#uvxvUK)Ly3ps;v12yU>qG0|GuCuLH5qDC*Wc$}yI8tQOquW> z|G6Cas_1(I47FPQ=tmbQM&Bfp?&9TGQ#LM$oPZS#q4V%Xo(w3?o^*|9bPsvTW>ZSB zf5q~po#-_-TBt!6-3EHTPW5maX^>rbK63qAF_wWw&=IEG!YcheWx|bjtNRe%uDcXf z41+d&(jS}Z!Pvoz)?KsS)hXcDu2qwc@?(J?nqXPnDKfn~kPeZDO3@IjS$k<|2BfWr zZloYL@PxFv>`&#O4mX+HCY-|P@tgxJq-asoKr--)3j1p83Kbh7r4p-^y8x4ZXo<=|JoaIAiwNMZi zcCsFA#`sQvYr_OcvKo{aZDfWRCm5NpI&*K@wvvl6l+O3AcD>AkIfU%;-B$1qI7IT^thlW)T%^zO|@{Bb?(Fxs`%^bL&gH4UFwWS$E^*ogufdPr#Y}vNA!&& zjCfHbM@>3lbfVRjVCSivTwU<@gO~YC51WV?GXzKo(4<-@*^=_*97*$T%lDDVo ztQ=NrthFj1o;5MC8h|nf!5+y`JaW?vcMqpGiZ2|*5cT#oz?Dr!CjZdf&nX{rsN=~% zdXCpiI%s(ezEob!r5Pbbu+FKHx7*zC@%qZ1bbVO4oxeDoy=T8~L>0*0H(>{NQ{N(do=}gfGD&fm_z1R=RBoDXa@3>#zR! zZ?R4^y-(&c$>($8KUBZMWa#1NE0iL^#g-HYAhoUC+JvY+eolc=W*xV#FWxOm_;>W#T&!BRj*515*R6s}qiB4AQFB$E}?+?VWe z9Eh!v0^uGm_Ddg2R{R1_pzt41VcysD$W5X3CR}?$MpOGqZxjX8u1CX z#Ld5~d*btSjQ#nXFB6_&3UIzOdo-IM>Vf+G9h?Zu0+DaMTHJYBl+ejmpHIR)UTN+B zb@^{|wXn_Or1j6QNk@u^)~rmlQYzYnIzPjN!_CEQOBo~9r!{ZAbiF%t+`(X1jx1BP z{i_Rezs4tkomGWeLIY%es}X{%2$HRe_ZgO5)+)wBe0&$0Z4L3qVd%#p^kM@bY&D^; zeFK;TCD6`)t~cXN=yfs$DlEg#3S(6}0SjesDRi@p`J&CYsS9DqIY<1cc_5L5-QW_f z-XNxR)k09;gQA4079uyGytcT=5P#S4OMs3*9gJE!1v}Wo&wE8G1ndbw2tsZOKffYjdPBORw*h)moJ@XshYY*w@|8DQwxWN;3+bixLl zq)4YR9VN)fE!`(uaf{jNE6*uLk(sl4e;4a&Pq6|Nj&P`UY^@y1lMNhuWCpPoEIqU5 zTw(MQ%-)Q3%#;4}!cZJMzOP66(@Phv%@k5D#Jnf4I^?s13oZz><7_RFLsB#KdNkPC8!;!Pxp7RCY^QXpfjPQ%VK$qJCCRq>Lt z{E(6M?J<^R`>K|=jIc(Nm;9-~@(Tu*T}q-Q*6jXQmDe4adDW_L?{cJ4pRT{5K99Xj zfIRS(nnJ;|$w~d*|ix!UCEaYx&v>60dd*SkI(%gEGzDspw!@|#a zrBcY9pRpnAeEvy_aZ=*>RXXC{LL765zvHZ+j-i%`_%zNRO+x3yg7kfo3zxn@lLU`PFIK+p<{ zb3a5Ss-^yNqi==^U0+TH?A`bFIG5PXZAsk`7%}!(NrzhdtDt3vSEvWep@Bfo#Jyzh=L#fee2Zq+ z=t2uP7f^Sn{Ep9LHnd75UyXgc4B6TdHf{J#T0Eq4^`0)Y0;fe!ff5%<%sb8cmeaIw z?(-Mfz%Z*C zFPPZC5tW0>*YVo_?(7XvfIOM$<;hs?8C|H~fT zoML+=4oCdJ2;qpwOFMa!CmMUp;?*u4YC7#7Ag^M}dR>A7GFSpC( zbb+oQ#y?cM>qiPhKYKir*#xBzvn)}O#w*f|{T-q#Vx7pIJb!)RPvO_j?tHWUaHTe| zT`uL*cKq1wPoYJPRIA0m*WsVGz7%F!Ofd`gHNTm0bzMGha5_aCj>FM&AtiC4OROi` zM_9jW7r#%#2yh|g!1(dk(+kZLW=t1E4c}amw-hnGIb{^*&~h=GUJ=b1aru!JUKd(u zcKcrZAo_H!=GOf>XD(j`K>{a^XIgIG(<;!SB33a{4SukS+_q-B4`x%ps*2sF0en~k z?m8uRTxs2od3!sb*O+SL#T->K+SI|(O^bO;V(@Y_L_CpS?G}aMbsNl+b9chHWl6eA z4|%RIEWsa(lfYOP;w=W>yZMLZ3aBqJa%tI$J~ridLCPCd1?$(aEYA7WXo44kfit>> z^Gmn4Kf(ViqS-JN!B_GtefWe00QmF&7o@n@{$EJ5MD2gI%luX??&;^pgRBbkfvfZu zf5}&4gBjz}g9J>9lVz0)TN0a$Qoa9{%WTt7V6*;dpt;|E-5ly_BBv^$K{>ZaxVQI8 zvQi1Gv>s^@K$yC|=`NpZ&U#i%Fm8Ji!SM20uvIBE9EUV1Wv+66kKxLyZY`wG@%~qm zNOTnP3XME2l}!n4p&+GO-;8h>f-SA6lB#W*^DXqyURiWEW0fMtEK0s+`Aw}GvN@Px zl@ZSUTRz?{(X8mYRNAn)96D*bns;z_F*H;*Ix2$eEz{6=*qHWBJua$X-}WkDRf7IR z{wzB%ls79#!<N`lokExX^GBq+XFd+Cw3wn`=;8fEJv zszD*WK3bJBvPeq2qE4kk>iDmT%R$i3OrV+_JI!X4Wf8%x*a*B??^83~U6NSh@X*$7 zJ`fvN&ji~lYoPvXlh%Z_(<-)Y%{r5=hm|>6cqrSVO=KXDzF!Xtq$>ZKM9Rb(9Kke* z=#zL!W01U0`#{Ic7QAm6i?9fLPQG^mJA)J2EBLFobG0Z@e|8zQiZ-X;S8kX)@^KXd zggibELHAbtG(cIt@CdVQGbD@9q^LMJ5vnadDv&!Tf#`Irfwq2BIqKh_#zUnb58UZd zBZ6!w8MSiDP7`AK)XMs71i2eeFTf4?8@Rh7Eb+{30nZB${omzaS1jJ>v#Wy_tUqR$ z$Nf#z7A=B7B6tJWc)kiqH=GLqwmBsw=*-r$5a5U}P_CS-^B=Z{?5naSr;!`%7-Ft8 z14?F`a5%|~Sr;eWwAP=G-Yt8IZu^{Yn*wz$vFgeW^zutz8-L(nD8rSLX$ZgW1>_S# zAiW0`^__H2A^|^LiBs9a+uxE1AHYI3*nCZ5OD(JAn-cPOl3CPuk_b$ZxyzG!raTJu%D?I({4z7Hjm`Wtk zh1#l02B>5!W2nN2Llb(#7wQ8ZM3oYY$Qw>!S(`LGam1I6Jc7BdNTR%$Pan16uHLq5 z$)Q_9lF1vn*GhI zGofr`Jk0j96S~>O^HAGk;cBsj$ z%Fsl`8%i_Zfei&_&LM$;w#I~s&CY7Fo*Pt6@^xgZN|)yX$^=zlTG*bsIOQs zqDlm9fi%8za~4U;P5;`Djiih1>gabex{zoQXXH#|bb&cemjl|?9QuJ-3DumYJ| z?A2tbI(nHhdlH=TZ#TdAJAERQ20uODDsNg|M5_PgpAj}_y6TLmc82bWsg@B`U1MoO zp9MX(h2QJqZ%-I#IZmrFyxuB`mx#65LQQ~d;UMd&}J z8Sx2LnZH@<-jp>kcb|~jZ^67c73q3z8Z^sqHrezuigq&drBoi%$H2$LubfmPAou(h z^jW@0sP@)<%&@6Yb)O?*1FQ1fdkv1I3{>i!-3hH9W6pOn3oW2wvdJD`(OSq?2d)1S z%&r>;I<^$L169)6@O)e?Xc)lqX?;WbDs`yW*&?076)!b73PrT#xK_=|i?DA=#vuHs zJ(ks@10%|jaYtia7HQuf+DxIq$SY85;xrQKsl&`I-SI!3pR2zVC2 zI!;?No@zJRp+8Ty$~lgqf2?&v6p`RdB1?AMLuABp*IWje5XkP9$^Ll?8AM~W!L`9Y z2^kpR_AW7$(dns-NEk2co%}T-=@$sZm1z~88lQ1S;vW^Nq%)H{)nq!hjVDEDF}KL> zc#XmQ*KQ!N{xpXw2HxO0ID-?t2PAy)?8887Xz{4!)X$?LLn7gJ*|B@ALc=9W>J7z& zqL_Mj*(Wu;_eH?UQ6GKFpYfDMJ%ESYI7Z%2`b31sAtPiX&G4!G*UVyqrHFiDl*!RO zpM^i2g6h0Bf}VWLU&lLmjt1-oa@l2n$&oG4Zr;U~7E0sYLd~#5dwlAK z+4Xp4vyNBnubAq|J}I{Y_M=rEpX=tDHAj)iua{0i9>sV0fDM7tx3WWiXV{tcj|lX$EmVa9UMFp%J{D8gGa5} z?x-=?1Pt{ty~|U1Wk@nrjlw`5uh{V3qWhb0m8WT$8m+)EM`>KVQisN%t?EV4f4q`? zPr`+b{qe%Zi~Hve2^tvBvVGJO)W^ZPwo(D{}Jblld5>a2yoTJijls z!In^9-20#y@m~rcE9b0=TW*!3XE_c~Gx#K4uGDzh1i!d{v7|HXz7PlFj?F0Qj>PFp zgcp%d$R1U|9fsc9Ue^Nua2Dg%K|S#ZTC9B1?b4b+C0~66HhSzaq{6NJIFqb^T(ahD zKqHH0|KKka_ad=QgQn$_n+* zlLAp&zuT)db=S=uNRCcjQ>Fu!dj(fu3wK36b1usx1ZvT5p^CP4bU%TYOm$msNXy%L z5?KrBXk*Jm*ZwWT?GzqO(ST}OlH#mb#5W%Xi;W_&+IfN1JtH#dSZ6zKN)D(tQrrn?ThZXAYFTmI<5aHcPguSYk&GSI(); zJMY)~^%19pHytT{SMPpp+3Kk>^Tws!*hE-NxqI2LDhsofL|v%bGJv#Ihk#sgkWXMm zt>NxUOb%at!0Ve3@7Agl^iG>OL!*KP?d-9cPo&MnI{vG}hcy5<4=RC0q-syF69bPbz7W&aq=60?4g(_YItb}sXJNIwqO)38IwB1*v6dzD_YG?vE22T42T}h@ zB?RR4Mn{T8$zrH;l0P6GSHP%GA7ETjbO}&GDmT_N3!E~{%G}l;H-_tMb-1CqB6o(U zCZD-CavC!?H(DY6B;$;G+WA{`fMDLw#rXu}RIEX#XH}PGkR-1GW_dQ z|3bIJy5sU#%*V(*bN>T$C!;seO`#trJeA68SK$BraU8rWv}{!*g`3@9yeoXXl@M>; z=#%mW|KG7?ge34P^*hM3e&dVc|Bwp)JGTCBwZQa0!b(b1$JDHLlz2jQ_)oR0c6&UPivw8YR_ zAIn9ul4<+;hdPH>QjN3nu@;OKv%DZ;KAVIuz-dl?#d#HNtYz}x>FoOSzezW(2v_t! zzvJ8${{PJx_`mzZ`9ICyzWCK{qJQDm-+m51g0B=F{f^_|a}9N&sd~}`wBq!;LJCdK zmo-i;#Zvd(4qN`S5)E#oo2_#v1nn9NF}a>*C-WgMQdZJj?YqwPy&PF)x52k{ z?$9kn_~6U^$HN{1j;f2^2-Qo?9h=IqVsIUR$hLm}Myz^pY0`*V4+etJsw!K7Z?vEe z_%=RI&}xQxSCt+KE(=w&IM|+2F(XcT?Ht2d*?PVDL3!BnyL?%E>0?ZFN4E}|SCr^C z9Onm&t2LZQp9S2nmBr!N4WHn9+bm)|xRkRDE1N_LO zbc}8@Wv3Ln!9V(IQ<9-pfd5jvU*8v=VR&^vc}j3nq(x{})6+wIqln(YQ^?@o+d>c% z#*&z}yUlE`$Ac4is4!kd5{(2AahFH(=JO%~R1@-QtT0U;fMLEd4M{bG?peZPkT%Y# zfiT#`*fZ4Z+11#Ob++;&VxngU!#!7d66wRN2`-;U_W8v(T_2^rV+e<=4Z!7SXD*Y- z7E!{wbfS7bNUIeRV_%COvSI}f8aIdeSVwoB1N@(7${j;u{4vHvR}Do|VTOi>|m z0bplR*~zr|dl^(M{@RL?K+s8qPhuVEH30Pv6**S5y0feSG3z`rP?7>HzcFJ=bm2~XzidYJtYX|0d)fd-st_c zgTZ8=iXTY8S0TVTCDWvAC5LxAvLz`r$H;VUeQcr^24WJ3Yadt6V@5CiIJKM+Lq|IO zF&AU(5sT6p$G(!xdDIpMdShx3n-jX6NJlK!=$7$%r%?c>z!()rOZcA4?F zMy|ey&BUqmCSQAf^s*&iVO5X?$9skK&iT(4x)P0sc=1pH`Rt;H-pWxs=%U57>dW8U zSB>MmJrE8lf`jSX)qQKiFpy)ila@^Ute{O9bTk{J+pIz&(Jxh}dVu~$U7m;AOo5Ms zjreG>XDDm)&3=hF;6d>MU(I}{DRj<`G6{|t>auC9A62pdb!Yg>bDH)Zq<=TM8Hs#| z0WZd_L?CS5#lEd^4)R!cBlmbp_>yiiz8f5rvmSlLnGCzUng`n8uU>Q<0yCjaJ;-Pu zUo7r6X7kCF&R|a%OZ|3B&zuZ2IG*qw#_}~`BPeaD*)O_En2`A-cc^FWj0Jh< z4s75S*E0n?8^z`dU*)YjUAUp_fDH5L83U+?z>kN&(S*!Qacs>_9ZZze_F2N%F-~iU zR)L?6*4AEZ>>pbNBDJ`w^K?RAYTtw}qf6uRNe$HSUh6S1c638h9iosSCOGIWza|5C zg0_nw<9n=aDXH(6Kmvx(mvN)FsLxb zrdG{-=#VN3%xeJg5|Mo3FZdu{IxG`H&^;$W66+VL+@H1LFN3NqBrThzd|I$N0*Ai- z9Wf>u4E)CIzj6)UMU6!c2jC~@sOUJZujCWTeJOo+nLPG|l2@UOxSLl~U3zH#L9WBu z>bcl`Jjxu|g6c9+6i6xOxp~2-ZAtj}uJl@_MrpYZio*u-KNtCcewcpMD-TMJMPNaZ zC3c^&P-2OSSP=IGM@a|n<4K)QKhd&U4jFMhWQ@C|SH=!y2LrOi+bXkZ2_~8EzixfN zASl173j#nw4NSR;Z3X`BH=*_aPNF3LKMC#sk%nTG`=fqWOWoM_@WNh_eaq#K2o?nj z&ni-u=xAPy#@0B|DWs}@*kyZqh`qZL3AEMNEzNeaUd)!fxd%ks^(=u{xh{x5)vn`e zv#gY#C@+(dr;#x&yB*?3N0jT5ZYZii^;IMEnw3>nl2s=}?!lT9G^G$|!_ZskX~pZJ zNylIzOi8{_;X1{6lom@X^#%QCYTX|Wr>#bo1+&43y3tUzGP?##T6;2_ld@%(Enxuh z7KC?BuGMZn21|hWHm{z^IY-EmfeC1qIHM)zD4+Zk0ENb)&>(YYVfl>i5U z5b}kAX&Dnr>CTyD$TWqNy5?%?{&;aH+32mdLl=MWcKztY+-mkQZ?H!*3E)78MNu#k zO+A;Si7qy9lWEOhRP#GOAn^>3W25 zm=r^HgdN}DP3UV2b5qh{qgLgLy9TUibuZ0uzi(qr z6mz$DD1ZHLg*J&xsfI+qp+fNc{-5CE|G_){UpF|)N=o-r(vsB*V^h?Uv{Ev3<5RQB z5;O9W$Hz)aN(aY40RJ746Thqlir)fTVDbOABHRD@dt-YW8&hK!d#B%YeypRNv?=E1 zr=IdHj9%JAVhl5)W|c%mwxvNW-BM|yeT-R)Po|6mGe@!yIM0HG0jI9$=RNbc7NBf? z1l|+Eopyi0_x1ey$V$!zJ*SA zQ{Nvg)s!jiZbEdo%3}b-*1~BmOOrHckksUqTS^0OzpIamFxA6%D_JrpGmfz zm0Pmw6J&n6<ai|qy2`4@x*fAvydG;~yWHj4FRza3e;aIzWp-7Z$S;7W!Ml>=U2xTu3`lkHmF^ben*=8SxZ#_3RX^W) z-Y_?H4iI!)kA_KRx!AaZ>Z}n!6pQ3JvXg0ZflkAEYPr!fcU45wq<+%&_~P5_!=U(< zwn~lYtf_)BMoxgJsInPaIJfIayyEs^)2{x#S79Xz@O^zA?k)yea95_aaq(}KMxZxI zlMovg*C@1Og*E`;yG?LmHV@T_R;{xN6sB(r09>1Z1z3`%ZeAz*XZQ@uty{A$ERfZ^ zbg4Ta1=-)*m$D5%q7V$5a+sdKS2~f44fNI>wy*tH`2ij$I{gEYe_K=m=wqR0N?fY7 z6s28a$I#O^--Znb@>yc0Gl=>f0OOFSb`Ic_T?$ZHvK-#9J=1oj)5m0(bRo6!ybimN zmo(S%lsuNn=_>TQhbVP}yT0w`nJsWshHwF0T(6QH(T zgD^v4ZXT=_y3~%&8;4X^+{r6Dkq8Yr%yJ?~kHHM94MZ`psW+Jb)dXV?JT|7~9;;J; zsA~&p-8dp(zh7nI4_B8^+sf2SPSa(EHdC8GOeP4I0-+2oozMmr8~a+wJ)j zD+)@NKK~N(c<$fnrGB%04oKT+u`aBpv?P#;4<8#AO!*}Upur9DU9RK_RA}8A8Nirn zOtd1~!WhOLlcUr&|50J17=Z^p!nW^VAkQb$YTKDd7WBQc7*C#xw_{?sW9tuIrT1qnwPaL=coi?;y5$D>GDV5%_Ew~2<)Gb)uB{#7G8*&)3 zi4aIXNr)vG0J60Ll|Tp^$PXu~Jl3%;m=WnTpF}+)Oa|-l{s>wAT$XY1vN}h$CQipR zgA9>sAqBi~-ke-6i#}YA^h2vK@2Hw3;Z4W1&3mg%qNtA!c!A!comtq7x=z6VD#h!P`^^H;uJ`tX_#A` z{GO2Tr{*{`1cPa=Yuz&kHE8{=*h+#ap#p*Q@D`xRoLys!d;u>20;q|4fWuuWzu_bF zGjxokY9P=cesZjl6euH&ffFx5UCQVguq=pJ{Cida!j>xa_eUi?s6mf4qiPH#z!E$~ zD9WWk>F_op$SzhG=lpl44a%>zEKts=a-9(|;L@mqRpeTbyq^FCFts~D3TsR$*y1S* zT-zkxEFk$Ly(L^-lSPb`s~iZj)Q4bLY6>6hHjzIQ;OZYpH{6LP_cFBUsCe7Fih1so*P_O5C9skr$9%PLd!%+c2 z@GMFPYj-GwxCayq(Pq|L11N%XN|tsmX<_P^m8u?0@#P2E^4FOHCg)VXMiK*HF3V06i)92K@NI4DmnW(xC0!9HY+hm8rJVna#&>z|>5a7(E;{vEWTA z`LHf8FwCOFe{HrGh}i%x$pJk~v;4#WgrEl$0r@V5Ng8HQ-*wpLN2X?`cKN0m+OJFh zEZbN04twG$SmLe8tPu(U6jlhP+FiXz{4m*%0gj9VJ~zX7L5vje4zaAmDL?oqJMmZ^ z8+qxCve*Ziz=7oj*a_#Qju>ejT2l9R=4L)GW+7wJjBkpPRC3Sp-iL=ya1ZSYfsjUo zRLxLTAoT4T7m7XQE6gDUE#XCq9|J~xXb5tQ^>%-`+dQUiYR{WtUkDI!p@3ckG7QN> z-VqH&jbxkCuF*OuV;BQkkfP&V)>TQpp;c?OI6g&1FsKp=fTrtJ3-I65-Z2fH6Aqh( z{;8^kA-PLXMIa+W&kgiE;9x(7j<6K~A?pVe2R-35o0T*bv?l+A>Z&kC?4!a0L@-fi z)7D*7KpiUpB@WK9H5mY~1-`8zT6FTZmM(x9S^s=yi(R{=_G@-E!l{{%XbvO$opfzi z_Wt%0PLrJtgZ9KA8U5M)!{xXW3s1)QULMPs+I=qpU>6Tw3e6J=aL4J9ft6RyaI9@u z!Z^q;x3{rWUyn@l3Zg9sAxDBhLTF|RWtIa=^fw%(KVXksUw-cQ(AT-J;9NSYu&?I3 z8@LOoMp{&mediA}alIRk5no+#Ed+k|R)KaHHeCr#$H4_^W#&@$wSvuTjW z9t<@1BZ)8_ojR=e4XCI~fFjvU`FeR{o~9A%(1zn`mk z{;$uIr^-ooVG!^=+t!jlfRf~ZcEhvR$rZU`EVcAQ_ZIxLC8Nw60UmpAngs-bLFF;! z=N3QX8Xyf_>IbQ5yN-kwPJh z`8yOE{8j84@8#7@Y_ubcgTH5}Tw$Lb9PuOJY%Qx#u`kHg2byGlP$*lsdec)^?j;NY zn#gSgi5xRDyC?_yGP@sM&OgGiYd%gd(Nf1<4tC5O_O^H#rDlsai&H&4FUUDspD<+UFQr(VsC)KqIz>Z zCA>Z>gzhVC+QmQ8^N8i9F6{Ws%XU$^(@88#YG#g-)M-n+LHfjvYDnK4yMJ)FW-i~2 zmvBmf+~5TH406|T2Kb_#nQ30OVQgwD2wQC^g-;;183@L5oKm0xD_qtqPR5quwIGUD z!E+)>GnN=KS-9C>DQG4~%MtkoV7%7VXC$VIm)!;+6Pun*{aGx1rp8e!mHwTi@a^IY zR-d0q;BVBPTCqtoznH~cez=|T5aq^e`og1up{WFG;$voF%XHHe;spx4CmV$ow)Q+n zfmupMJ2jX<;ptihtuG9aL#73iHX4o7Y^x+8XVVsO>)%8!6%`gC_`Sqbh_`iyXg`td z^L3j?+t3Yx?8je`8-Fwks4gG|!w%6%h1fO;j&P@gma#Ibd9gbinAy?m#BwDVsGwccp z#HJ3ZHF8oCvX0U!5}?o1M64t*|KK$w$OVTlP@wi(_D0 z%rJc$0y)GS2BE!(d8!=^oRR8V<}*=^muCSp#2>gho6}vX1icg6s!vuG9IjjQwW47n zWHlB8+s~k;q!q12IQrY~WTprz)@IwFW$bn&)oe1O?2XPcT&!?I_z3|7(M=-oa>d%I zV=Z(L0OWf|E|n5_i-?(yv_IX^&2qg%DNJIYFj zy%4|D>Hs^@0S$L`+wqc-zwdhc0B=W*08WIFW5#dA1|LdOej;iOxQZ;g)xjhO9} zpwF-<0nQR3iT$0VoNp9Y>yO8TYvTh086$gEmy*nqNNP~2z~H!XGc*j?dNB7hG@ItX zc3FJzb@%lW@GithglMbfgT`24fsC%T5XN#rQJy48wur0*FQ54)Y}Wl^hni|9=tZkB zT{O;ojF`tkw2jdNP|ILn+KDxVGQtG~cGFDb+_4uoC8K<%Sq6ZXxAt*?KO2o~ zAnk-!Q+LMTqBmn2>p{)3SYu7^iaBM=>BHjHVRfSkJ$E3l!HM%)q}F}xP8*cII@q5x ziboI>pS5pBgo}5>*&rD|+`g8QxpYCD6@>~Uv>9v#mB@&H(c>|c;tuBT4r0w9xU(6RqguRhTFN*TY zRB5Z6Wx0GoY0yF52GU@hGNx@tL=6Q)G!+%KgwSPuV<9F|txn4}iiX6AhiaMan2rR9 z5H}U(*bM!~kBM*yKX)#_sBJO&tP5R&t$WioScmg^%d=XENNTgwaUs2-stZRB=S*okmSe74qM z#ZWHwv5vo++1!Eyd*+qH$U_NqU*FR_vbP>mzynkYIR5*Uhe6M~U|SNCXBZ>5LEtCt zxioNd+vRBVltZS}Uug;VD(iW`*DbHl%cU?kPvoDVoTS0$U|s>wND&gdkIa&P)FU|L z`b~P6iB7$PlPGrv2EKV)BuL^kT=0Nvu=r1RE^AA=tMj(;e$Ps092-d6 zP3$@f$w!pqt9jE)j7Xkghw>qvI3u8yWiLgYz8(!RUja2B0Q@rJ?7&+O!=INYVU{nv|M z^sRKSyva&3q$oZV9WhsMDo$9(;9?D&gwo#n8>VA3X}Y}L+59YAkR}D+at{N3ZrB5` zFznuHrB*eBFx_1~3tRdT3DD$Gq*Tx$xcVYP2qBs$nsdz1*=yZPLZ!YeC;(SlmR1IG z_rHJ5T>rXq{$X6)8cwD_?cg@Ev1o__?<+%gtWs_Hvn$DLFJj+?qS`{)RgbIn2&1U2 zi@9;3K&@$TwHg& zyMYZ6_W|Yto=TnIYN1+=Fp!(XzEjow4~KWA+xFbodBUXYZ-dk$ZZap@h@+)ne0)Tt za+KA!S9ZE~&A{3&_LjwH&5f#D2Xq3X7R>vehek}ZK1-wBdTe38`%Iwb)hLi+OZdn` zX-Pm?-D}B|Hby>>DzG_Z0no7jfS)p~W-z}+C_lJ1Hz^fEhd(DF?AS8{mY+MXk@Ia) z@BU(aIsGVJ+~Z$@I5`mWfD?;Y0%<+Vj6+Y4I_IngyfZrd7ls+A`(X=jk`p_Gwpi9H zP4=b;mnKsgMg+?pmMWb#W@tbpgzQrIBX9Eu#*614%fukxNb(hn;$viKl*~%TadEx% z60UdISk3h>1{@Ge0B0bVexByMv* z|C@+C#$A_{{vQ=P5deVn_v2vcK>u5m<6`P$XJ|wJKUHQ2Lt|@0b5nh@|1|$2HDB>s zCvE;(GwB}xFlY{oGMo_o@h$JXl{q%ilv4S(MkO6rYgH6ncjN#W4PpUPwygE{$L}kh z9gIL-sYXeCw3vpDWAT4HwU*gAIbU-)9TllkO-|ZwPNW@TJl&q}CS(;}q`MNXZf?(K z!_rCmj{FLk;U!CfktBmT;RXZOH%zt6g9Kq&zlmN|#wsezjKfhNHs2 z2Q+aGZtNdf?Fzcuw4D!TyQ;FfcIfew)qgk?nm5^P!Ew(`S6Q@8^Hg$d2FW*1&Y>LY z{aXPHw%NGnw=WUJzg`_TKdCOv8?qwF0gAe|CNf@Ilx|;Myk0Z%^YZYYUpM1fc|>#| z)_OMn4O?s0X0q+3O{yQKfNNhJH)yFhs2W#4)O0D8Og`LOHPKd$uCVE)x+<$rI%$7V zMR#nC&)3uf!V7G>(Dl%zd}8x=%J%xMQ&CC{>qo7E1;GQasI>^R>-1l*k+`3|^~fBG!Qjvbnv^p5yORH6tJ>>jfj9Gr(|W5wT5y?}vQ>eDW~5qe z5RSp%#Y9TX1Lwd*+88tyWKp!!bHyNI|e`6K^*ptGO|IX*)l0xkUG6{@DY>C zJ1Bmro5;XWYP37i?9}~qSbD3{(x5k?=;UhZP1-}t zy(6VpB>FD+^H?De2dF>!Qc#zDb)iI;XY^X!zBC8y9eX4lKjW&{&N>v%WYAI3S$7~FW3P6 z)B49+@s?{(E*@PtK7@bT^26G&%#<0yV|z+DqH7Meva-X{6vmB?ZeJucW9}~ck4pA# zsk!sDSSi2Xo8SPT9`stKLw2i6iN2~s0>sYD03IQfDzL^hRGg-xt}C`8(gyNh!gJY* znf8Af0FwR!%K`p*!2)#d^Fw$M^t0UA*%m7t)GF!%e3WZ=W1$hTh}1&7y$G*S8c2n7!YeS|-)8e0%{ra(`di@7 zSaZU@U`|<9Lu`4m0LLc9#;bM#_>s5P2LOU&8!J{^Hrxi3r0?4LG6Xn^S4~pEo;SvF zlOQk<7k-+$o~pxg)77lbEQQ?OR!Or9zn00(;>=0OASL*si%Wby&g7;|9zpV2!N&(Y z+G$gW7(XD~ogt$RwpgA?3O9mRq&txkleSREr8h`;X%u@eD~=7dTa0$u_=C}o?cKkj zG_Yu~H6T3@Wk`=S2sBsZW?tCWhr8)}eC}R8<Hc_ls<$1mycP?y5~rWQIim zXeU$Gb=RLK8qQ zeN1C%jq7W=t2>)Z>*X8mHAA56c;=sbRez@JH?Dp-o`N)V0Jr!9Zr$lBV;e`zSbuIJ zbEXR470I_coLfu`YBdAVmfM0_Pf``2yn63k;3EIyq|NekE3PHQ{rJ6-H^|#0%4I?T zON>5S#a|F|d@+D4eLi&5P%-&zMwEXe!W!;IdG=un%nu~5s*4}#;R=B2XL3YES(dNp z;KA2aao^(ERa#K?n~RM{f^F= zn+ZqB`C1<&f1=*LI)P{Fomx7wE zPNDIA|5>|hWh#d;8|(3YTK+n?O<&}U?{a*ubE^Hs9S%$Hu}%S7lEX9nNCQD z#WJi+kVtdCL1Umo$7c{oJ2c;bgDc=6&=>Aq0?YVlOhQ26!{t!)CtaK{6TLs90YZ)1 z4oeDpNh28C@j*~#fq!T_RzeeFABi187cp7^?UC#pTFT<`$8zJqut*e;JC2FVoaZp6 zm;XkyYmR1E`ul@4E^#}UHc2ghUNKziQ>*K-Uy*$&%Z!AIY0Y_=D`d`owuNj0nOc~| z!@%irdT%BySa0|bTwdcV)x0QFwLfQoY<&;r28vw!C@z8x+5!?F>-2mCuT{RUS^P8X zAt(YQ06XQQFi%1cklL!*?w90N%F>j~tUvF(@u3q_NV~_R{toBY%qV(@vtfvH2>N%3 zTU7s)Jyx^N;<}i9*DlfKI5^h>H{~1#*DJTQw#cpYz-QzMUwluc8nYVB%+y+ek02Z&6^+r4J`(;kY0}N!oM0X5FKrEF z|4*+k`#j%1pmiO2e3&gWvm+imW3z6%%~F=P`>caeQ_QKu13BxsfAw<`a_UR~Qr{_X zv^!F)5PkTMVYfwp&2CH`E0lB)$cAcS6b4LRyt#=EGEWUARc===LdTCrp_%=+zB=NTeh|14$ppY*olR6pxZZzw2TS|xMKIQ_eS8b}sW zgx@mQ(6rF|a^R;<;A%op0yc$wGj|^U?84JwU4Pr}y z1}|};x~o6!bfP5^r0jWRGX(w30VP^VV~lv@F>30$go7}%*%FW(egADpzIuqfQP1_> z7v~E;8P9{NS-000(m1rAMOc>Pg^Vfp3NoGBqdQxr2CMA^Sv?ZjT!RJUZQVkFEa0(R z?*N`Rf5~cHcc78utbV=1Y*gApyTGK#&}Q-iUwZIN_>6U8ji8Sp#t*`=ycBo0Vl*Os zAOghi7eb0Qbr=h2SzuX+C-bT+^pbi)5*Vu>D#*6|DHR1|2SVA?Api$XPO?k1v58 zULMsr<4&!>E9a^*1&QwsBaV!Q6kEXM+!VF%?9Kl@JavF7tkj+jvX$d~QChms1hh4j z;gQ5eu_oZxH1I}*MeTOy|ig2V?C)i`XtXsB*} zgDoX>Jdy%uuw{2~xuSe23dK*O+Xp55J31q~gkdPI($wQGDkWcy$}s@vw0yHObjz3s@T{GnAkG| zx2;$aIli?~DMq@lLhO^Os92ulj}30u!Z@>KuDcV?V0>e)4Wik$aK3MJ z!xNt(tCXUhOnoi3;~5xDWM*(>dbwbEU*27@RP+}ATn*(6u{(U{}k>Q%8_a0Z}Ltc6zdE( z3$;8Em`^f-JU|C;n}kPzF$rHMY~Z<*&awn%#Q{ZDT)QyNgIjbMRQE7XOwY?)Pb~;2X;&L#>vEirWUnbHXF@ zp-JTD1XYw?NBDp@;jkYgED=7JW^yV!M(M_!XS=(d$F5!rObrmM8y?${mb1X=+jQsC zpZ(E`Htag6-A`H=JiBXz^&u?q_74A$rbpp^1ld6(Gg)Dv;U3yRa5`-4(ijfqQC5FdGh6j}1V4p|De z>gZ#u`EoxYL;YN39EIP+4hcHGQYzL0PT*z8WhDp&(ZsJ= zBqXu3`yE8yfSDurDR4Su%CZ4u>SmTA^k~%u^9TQd^;1~~$$v9FdKq_|cEETrtpto0 z{BY-K0!&;|8OT$f9T1>HboQh_ouw!3RFunw35zDH2Zj50ZRDlT*O9|2#1qO1BQ0}5 zZ@0@SvMb$!apg(n{Qk-lkn!!*2OD(}d8yGuS4n$-3--4kL?&c(F=_yq)UIgJF z!)R3(IEbTQg&B>x$#h^0(@&yE@)tDfMD48%K>@r)es>UZ*>IFya!?8SmC2F$bh9fHj&WkuA7HD*f5%CMWpAn zY`Wv2PAwiQnQ^5poO;$+I<}Uj@5=s~CQqX!KDTsce29trzzRo@eWqYi_%kgMXcGB@ zfF9H|MzWUa0u9zwKUh+l5b!Bs{+z1*+Bf+AXyKZo*SZwSLT=M`1v2tcAqo{W`Ik&9 z1!t_FpH6c?+wKX0cO)vEGA8nkZKe|t>0y6^?|MqgL>2c%?TzM`D|}>Op^QV&O4-0= zOngSXnet$vNE5lWo0ZvRcD_sD8H@uA{oZRnhN`1(|4h#j&Rh*I4JC~r`}rKZSK0W` z!S@&Nh;}Nto?SRtY#_&dE!%Df)vLpX2;Zzlv1 zVH1P*14BjwlP7WA5dRTd*lXyI>VF~kBx6Lc)K(eEMA1i!W#)UDki5FBje%ju<`SUQ zxd*8EO$OM1%zq5#y`a}Ug5I%bF^_RhM7}4{{r7;UNY73IXdlemIMhgjxH<+P`Zt)} zMA6RbE-FADe3m+>`G&d{>ya(G=U3kb^5WC|9S;+22J0-HZeFmS7TAKod$6xGLzjdz z7kM=g#RAMmIPryx+M;Icp9u|*Kon{-Q<2gQ2R7J>9R~IA2}p<0Evk02Mr>T)>k!!D zX8U~`%p858J9{Fe@Z__!4(UU0Ks6&;>q&YtqphC8P^*@+GBT>G;JKCX4nI*=e{$#{ z73|1d2jfjwaxu6s>RaI~;VOE%&`h~RQbRn%KP3b`l_)B_Vqb)+#P)L314?Loi{f9D z+ImOa^kznkePkuEOPpt-go*n1<6a@z0toXX)3Lw)im4+7 zp`xI5CcEsC#&Lz-QoN7YSv@ALP{Rm0c1XIfDYF9iz;ZAv#j!AuCe3-FKRf&OqQFL) zgsZEIQoELn-*)?hi?w5$Q+l{SYw5eR(b+qg1<)!5LJI!@pcV$8k?}NVb!(@*s5}Z; zi`OmK?}C(K{#jmzuVVXSg44uPIM0Q4F&FAEubEvENYS5KU|os|k&kwTQ1 z)@aKW_c6k_iK2;E8j?VUE!AHKLArtQ+&8x6*$A$Qzrz8EPPl520Ft_}{qE;M8qj%! z-%hRx$FByap3%a|+mh+}!;Zz~MzJ@m;K(BXBnmhSnTB#h@`cPk6JGpnT$NI|4s0CR z2A?>tKafBVYM}y7wJdZGjjS0F>tUw+uq`NESgauE9Byr}cwZ2#okx#THt00y==rX# zi4LCcDth8n*-Ady6*;PW(n6%!WGkxqBy2=_lA(%hlVrf$F4xSSscw&(cdyR~dVakHhAV$)XF8VFbf=_-7 zY^8N{T=a&=Cq^^bPANlL5sx~FVL14xVWgOXf2fMST!d zgh-!FSZHu^N8WPhpTFfT!$VZ!TmWZ)Qn8`!{K<3uMFfbZxHMPDa4khU5sd`h3W|8M zu(4HD^@j591dezB5-uxA{W2(Qf>g)-dt`y-e)Qm4L2<+AyO#W*FYP^JtR7+D6x}sa zGw$r;3!vo_!*E5-klTC_3;r1wE=ta;f}qS$vVW}C(4Z=D*DuLpqr~&?kucVa%fPDc zb%Tv6&mm$A5#sRYd4+ps+HGqpNGoL|+UL;_NV*v%ks%0 z?a%gOYoaC`Jrn+iwvgr=wQPj^PNBmZ-R(bD1J=m!Hs+!x;{9+pCIMr_<9stx5>EJk4CtF5|7!7rx~7dnm3$c(QDEm~VgCo6&f|PiO)p(V4}Z=MEd>6HeMAQBR5v zcvr|5^{+=dCCXGv9clH3QjV^fXBl!BFBvQ^ZZE)=?i)FemA)uZSWqu$Iu4<8eW`m7ZjeyQdC43%gPvjHq@3=TQye!% zYkmNkk2w*tNiS{yfhm73d{FRVf`OxAw63rYy`C4Rr6x+ zfhTo?jyikqRDYerq9t`Vl>B3WsfwR$?wQDUyhCt(RN&#g%7sTCfYWKqDqfZ!zHmVC zZ9(i4s18<*Y!I*JEJ~@pWKr*afeto8^i*77AAwLq=@%MO$2GtkiKAB+5Krn7#n2$_ zQe)f(m@IP?Z+_@W($P%aCV4+bFax*GxX??A@;_E;b*A<30VLdn?7DRRFi;+2qIuUo zmMbHsl#N{TYU;iWD%Em&Q*kbbp`;Fg?FYYJ<$v(D0gi$z%*&MVDvQ4@selV67zY+ECAJ9s6*&t<<h|gj`N6y%C41~y{t%#igy(Pb>rdT@Ehn0RB zu;4*EhzK)EBuDa4#Xk`8!=*dMH&!PFc*5Xc8n12bD9Q68Q|(eQ*|o{#LCBv`P3j)DBHaf zK!j9Hfq}50d2fPS>v@VMr`ov*Y@N?+(}qLRzlp!URD}JyIbBahI+Kv^8}s>CbLHhV zM`-_>b$LjFl^3XGDMB8V=<;~dX0HL=zP$RH+00%hYj+l9w`l~g;_Hg83~n~Sf192u za%`X%Kt@8Bkjhab>xy) zh985DmQ;FzT46~QnY#H?idTAUN9LdEk~zvi8nmM*tKq48cSZP!cE%fvl?QG{ZEKWs z1?+}hjJ*|LOL*wMM?s7K07qq@1LmQwr5cCQ#%UKU3*VOjo4Ac+QElH3p z^1HnbVG-uK^v!vkmsI^;XL{@*jK|wi(2)?Y+J(NGscnm9pr^qDdq4jfUB^r2KR%|9 z!v#1Y&FX{3`60jZ5eTS;4iCP`=5+0fW2IO_m`z8;Ovxr-WOi9_;g~2!l8zZsgHj4F zuE}3&@smXIVEB1TtVB5C#jj~95Dx!6DfCEBEqS=A6qFi+Ue3}1Q#&FoE6pws1K}Wl z)!QQxp0OSx$#>PD#}=^;GX*#OYJvj>E+mA0&CDbI^44IqjC5r@d;x5`R#7paY3R11 z987imZt#xl(UW=>yAPTDLh#mP8Wd}GCofO?Luj6XBw$ z@y@Pe^xxfS#qCYrZ_0oL+Cu|qKpYF4NHN^#*uVoAjXfDB=`?r{AiJbD-R#D`!_sb# zI&-WEcGT@LCXG26U^byQ0^(r6(^k$P-a6|thAh)LKG-6RKGNgKqHi}*F=Gjn%r8h< zlrHZHMlo|LEYBD`+6j4Q1=n11K)+nnaHn%4C_S+P#X@nsA09TZK9dD1PlFZhY7 z7!-F-F&hPQqB!HkL5|n``$Lq86!Y{F`;f0`;5DgwsSpRc-3!iJW7To8*Yoiy)<4I} z5FJT}u#odf$(;A{`C~ zFZRtEZF&N!TJyi=kG){RCb1;F16e^}@*D5*R?gy-=Z49^qDyAw#EnbYe)EyEQ^)>C$3adj z#}tDFTio%DU3>o+zdx^6qXYvae~u?cNEoUuXf(#LA(7F7`&zq9sHHPlQdslLx5Ihh zDzC~t-9cJ4`@P@&Qt@?wzAZddTD;%5v$&zmSBdfZ9qiRtB!7Pf#)`mcoA2*urqxg3 zTC8+W**~**q&WlL64IfTRrfCRTz)oGrrLlVrs$s$V^TWMtC-smS7iY7Syxz2V?LN3uT~}$E}~DeOn;L< z14}Ob=*Td&q5!tiRj|9;9tYm&p5@`jC(*q`n< z!(0&ObtJ*(O>6H8Bi9&f7m!IQU@s(GO5*HMq}`Zdt-f!BjK2u5c)ErG)S%BClp**{Mo})M(plS$GA~+NyWaQx#(xv z6^?PH9(w4qp0TB*>mLG}aqJm=5~;1fp5~aR?*Yw-Ve^klCs!oQvcOOt)@}f7d!HxW zB_4MjJYxTO!9T#DjvdrIY3|&yv)4s+cAL=cZmc!y7$%X;$(k};?{Nt#+o3^%+5n1I zAik{zE2-4YNXP`flCp|9%?V-%gWi*EqfI16!Nb<1t0hZy#o;5B-_M9;`cS^6y#KI- zS@2ivZoYw3a>`w=LS?>Hu016Oude9sST}Ke&?RKeEjMcJDHTyw5gSYebNOXa(1oda zfvLel>-;jde=F!y%(MOTNfUkS`_UrkXr`58ct_Np2@w|ZqjkiKMU=Drpd5GL?OAde zsZ5_tcYbW%S^XLkSSfxlr6>bOF;`3nFR~?mhFqr{_9T-?2fyamZ zezfAO9dPjd_2Cxtiu13$gf?utp7VF|MqVdT&xnAXH_S~hlN1j5A@I1#zfq@8|N2kq zH!QlMVER`BsCKm7K1=GYDI4#eqk29wg18F3?C+TX>y$|mYkK;s@_3aWyNc$tscf9( zrwn$ZWz8FfI!Xv4ZI|q4Wan|r$Rx!b@38|Etl`{yU9&2>PG+}f_#MN9MU=mkZf<@U zr4VcCKCiakX9*Ce!(CoN_QQWPI6TKxK9h!XDktKqXLoQsZt%?S(HB~Yciqi*Dyw3; zny*FUk-K8op<_!ea=Ls#_s>4A;b*% z*OgVkm&QG_(3R%Y=%R<~DQw#IR{e(R4`?Qjv1x4m{FsT#R&Us%|0rmo7LHqEIq>wo ztY15l)+S#zBW;lDrP%tAzii_>+)5&?@R~yHOg37-sczn2A_A2^KH(=JqjFTBsnf)P>>6+3)L1+8S# z3jP3>!(;iP26Uz;GiaqYtTxPu!Tj29j(1_wDP%w-^zjmyU!`( z#v2nR>0bW4UcovHB(hhTDQ|p|10HSp`v6E*t$tttJ#B0~#Rk%T9Ec#Uu_J7A*fv9Kg zw=7t2HEr7$Q;eNQa8pNG1dNTp1;>VPM%j89WlecO?jzJG1{|KH*3S^`tw)KaEA^Yy zxQYBRGY$>(b&gZZldQmt%2nxpTNfEmf=VtxsLC*>oVw6lb6Qx^B7Av$ZAMjx@G6Lz zM9uHExS@TN7}4WPXUong*OSM3X2WSiPb zC)4*t4l$v+-BBfj z{z?K`S7`EZ4T>)O=W${)T+w0b#voZuo({wKct7wBsG=X2qq}|y%+O&uM5p&v&TiE~&P^E-(q}+)(NuV|1 zvOvRVG=bmHJCeQ2V7n^|RorB|x+ON1aDaTecq14~ng%}m89cC58u854!TJ0KlJ=9m zIqQudn@yQboLy#ROA-d5Ln?!_A;e+{BKX@Nz_O$x=xuT0JRZ~=-%K;KOkR48=D>GX zM!zE<-8V<3k7{jcx2TyTg^p{g$%-ME$pvvhU2^OuGLkbwhVF(`$bpEw@ zMHm;CD~<=X%OI@MttnB`6&}Zw8n=1;FGxP4r2NZjFeSH!yhS}`P@eQX3!n^@f%;5Q z;*Ar%qJ9)uoa}*jh?Dx#ImxD@n)ZsOM>$2HxusWYv0CfD;$1@Jd|WBh$dmUx%Fn9Mg~EyAploQ@dhawWnRJ-WEcpBJ-gpEk=AvB!fhB(C*_^~9ykG&7Nf6xHs<7%yli+Z&+wTz zWeRu+O-d?nU$0a8PVC;Y9bC>VJ6tGgbfF~1sJ7FXz`nZy@)Mw~_mI*6rtFN(O7^2= zj0)Y`=H-0V?P|U0kub8Q;UIG{+Gen*o`5E2&UwuH)l;HcNhf1RALvv?oRL?JNP-0+8tcI94w5P!5 zV3XxKGn@JJCcwlt#EKn6|LcLX=Hf_AM}`Z0s9cX3KrW+}POGX|Y91*RADo?w04Fs2 zn+ETorg_Uv{Xtfde82!ww%hgr=y&B?Nlb~0#wxgm#Eo~!->jQUw?KjF_Ka*DobSBQ z?2n(xir1|;K5CnpIq|hJ8q3k@hAvvq{HG=)~m*pEl zn=3~$oyRchph#9yCSarq3`=C+jFQyF-Fpin+htk0k1g?L=WnCE*4YqX+l)MCXr(&G z_u125JN&JHl7_wd!BG`0-RE2OG`Xs+2ji{zLzlG{!;)=sXzVLR=1d?q(ucavQ47Oa zjSjPKU}|&Qhs)r@NC$q+aCowbdIFdS1*KO3BboA^6}RreEB@|e7A`PEV<>zKI6C#N zEA3Wx#EJL7*{(k4s+;F^kLYc*f7Tq-twit1u7(ECePDzDak+ySHu^z9IJ45H@LF(q zkW|)~d5Mx+weC(cQ6bNg^LNA6H2VZeT)*SLCv0E34WL>~VU@mgCOZxbXK`ebrET-4qld3=DMJ?q3tV(vcTN90$>d=>& zZjq~(W&*d7R%|#?jJrpwww=|w84UFiq?go)SZaY*2Bl??o>g?Ngqjf-l-u){lk@!q zGqD}r^X;5h@7My&^O~M=+uN^x*mXbU)GpZStMcwc(SsCiC5K9RgeE7cK#%XJtgzI$ z;JX4Wtk@;3v|n5%nZKk>j9_{r3_%KLoj_oM4j*q>xwzLi`2={m_+?@g5)eCYViOY& z4#Nf;3EgI2cEIOb_&2J5Nk9tV<9Uu=5&FCwyv*kItG*W21%KbZdds~AD`+O54@U>@ z+Ic7m2R5P!%h3F>FcPy3!LsVNrOEAyL+`@&*A=&UrNbr8N*kP}$E(<50I6({F?LhN zu-Sdt$B(r$<`tjycXec$nc&7Q1%f>}>qh(8;~5p3DGU>n-oJpMh6;Q! zIM%HQq>YoJ;1NQL^fpeUou+tysY-hQ#$8TM$joOT--p_Jla=ITt2E0(_iQn7KTE)G zaLiyC=c&~il2n(u{U1WyIX&|o>we5 zxW_hTpoH&}9%9o;)82?8sAIBm@ezq~Lt?cLzldd;MJR~OoGcS!r<3;8!SYBTo95}) zN(|@M-A3g{v9u$R%^i3_2a=&cEjz2pgUnaXujj`8skuiKBtA-um<=M>qe-_8HyP%f zemD4bH}}xs)%9=d0I9BDSzb;qkY~8_wj+IBPId-r{BquSJzu_H;0Qa=%+P-z4!O!l z-iqTSO&>i+%Uc%Qu!oBqF&C}5b^T+3ELf9FkD=2o^r=_?s=GqU)`G;YvCKssZu6G< zM~>*%^9@crSWk48Jv_0<@-JAo(e<`NpwM37ILmC+6oTj)tgnGl^iI@UU9ezQeP&&* zrQ#ZW!KGkzFl9iL!ozh6C%5+L_`uacI~tTM=bDuPt0bW@qw#>#*R|`Y^}p5@D}Qpb0)GjK zSA3eFbh64*;*cX5TJ{&z_u>Od=Y|(83d5p!zWGsku+Nj1{93C9!{MJX5RSwc_R2i4 zmu&YbC@+BkG8&_~07`;71yXgTRAr+8kZD;#xi)zgw~%n zOkxB4OisIGCh?N%vMz!#F|hF_9*ys)zVYj_{<^02VAbLFsEp*(#xmM%2I{ZymQTVJ zK{i%sja@}YTQh3KQUck~rbN1cUQLIBB;jV(viJV0amFnDQiL%sJ&Ed9uvBvz#^1Em^ysg~|NwPJt>~*r+>t?pgo4m&Q3C{L%Hwafv z_{U;I#1btFKK8CfX-wmm@-N8hmK9ItSBZ%e{#aRV^5s@5r8?w!?Zt)i*4R=6v0nMp ziBHBqtJyafgHnQ-2am|}-0xkgxn?QH8THVY`)AE9=8F`il8};o?sP1z+bL?2+`F88 z1UJYN7(z?RPF2r}MAhN~6kW@Xq?RgBhX7(#h|)=gDy8K44}N!hB1X7T{OZ=aZ{DuLUMu))n8;*^0hTSQNpWaWfQQL9ULlqT7?|~ zYH1XoYRu^o&_WE@z51tCX|3g?fe}vQk}pa5;xG?R^*>_vG}Pm+)G~L3 zF&$=ed9ktQ($axNVrU{NnUOFb^MF{4;oIqzmC9PQI5QjLsvqCG_vy`5{ZV*wPf`qM z#dyg$x&=5UJ-7SXKoR0#YF^L_&thEMVJH=}x#v81d5TIRDwi5^MEwxP>IU2vCJwl8 zH9)ddo*lhVKqK742eAbSlelugYdLkbpiDkuxA!QrRk#TCC^Z9D+m#hcFWt*OVA&@Y>g2b z!p$6lmA;ly5XisNoVTePze3ogM8m1z(5WBbZ)WY)F0GS0C90wY)l`?Ve}(Z`btz(4 zdR#I||Bc{ZNSi95SW}6O=OqcGNS~6jGe?Y|cA&Jo`+$mjksfb36AL>Q6B)k*tD*LB zAqoVy%EMj*8j2{_f^h*g9?7M%YYM2IiHJm`TIE$t z=_sTu!3V}1^LIpRrF4Wmrxz@*WhY1l$uqM+k~y}U%*_BJNYEHs%#v7jff66y!6!Br zh;K8~&n+wdzUCAWKWAR7m)HvM5l}&=Y|0;?vJ_iQ^zb^pr-)h!nU&VF`L_s4z!6Dm zB@5Bzb2?oYyDE8rN6Wv|Zh8BC$=Zf)7UF@<_|Mu2zo|sm6}I<8_OUpFlQGb|$WNrr zLZf?AgjjK0er;LhO0&|QT53vOX6D}S$5zrx4p&Lc=YT9QcL0P{fS=-0&>3@rZ|zL6 zIj<-j-^tOPNi0foPxWq&VF$mq>Kop0Tf^DOASd2>=iZl-wndX+9CC%6YF@9n1heqH zRU#4H%_|@jvK_&>vbgeFnR)I6agB9u1?|V{L3>W6#!P8htYIS!RGY7UKUCmkmIt6c2lukz+N92o@G?iN-CHVy?%c80f?7wpoRA9u8Z!ffNh`77hO z(ZCF6vVogL&HVK`(JQNdC;=uW2lc1RM*2?5*sT5Zm+xp}ARi08`d`{p=;oBNw|zl5 z@sH+7ZerGen2eyLgU7RtM>?(n#LSfrex9rbQ^i^$Q7O=QR7)yv$n;og)_McgWwi4! z1WV9E88)**8h#|6n&OO+n%zo`*`ZmZowW2YVjNbx6My|~-w&@v!gLFLMd*x8(|4i=ww%8l z0oJ6qp$^rWS}ZuXOCLpI6MQXAiTrv4|4+A2NLTiCr>j27DaFgXI7q1t>KmmhB_F|4zA}+DS!Tbm@X)&>x>Y# zhw7erbS)-VUss}}%QH9XX3MQ&bpat7H3esFU1-YMPffzNqd$D<9s9MFf53bGytTc? zRSA4Mx74%ryS>wX)ZX63(Yy+p4j=1I6tn2`UhwGY2TGwP;cIBkBx0XJ8naK5`yoGz zSXY5xdf++B6~%7wQ}LJ0MyNtc-A}!q1p|SNWXX-l7tejmt}ighgV78A9|kAWT+lDD z2yfOo5s5v=nTEeE5Z|X@M6{H)qaJubEJ4eHQdTllDdMhEI zSBC!ttWo2}poT*M0i|L7Z>Mkn?KAJcc&Yz@)i(dNCM?$Y=S%EB_Ct*O5wuVgm2YMa z1Ucys(MFS!$92gBGFSdJY(zYVV#^XQmRz)Q0WofW!_jrRFN4zbv70>B?tGk?pYW?) zk*rmTE%d5Y7`6qoO6{CQn`T;ix$0=dM3#NzzQb(9?ZR~=m@e^`=lkJVBF(cOjiC0b z6+1=R?mQI7GB?&jlng(j=wPo0@Fl$)oeBX zOOL_-s2RCP@>;8yPIl8Kuhd_?#Ge(Cx3+nsUV1>D#yT;zGa}?FwJwUIZm>?>QJ^Zj z;q8gH17CEj=X3MIzl;9+`(3|PU=l??zqyodz(`T=H==^iVPR5qotSr>_A*+t4!D=M z1=T*_5Pcw}9(QbPtrMv`s{3X`%j7Z_euqWP$(Sl7raRddL8fXhZ_2#_rKo)iCQI>g zwL81`Cfm-j2JktU*;>2f+xCU<6|~fH&}>0K5__Eip@*ic46O_I(VhMlfy)##7~`+h zu{I9TiztliAwHCZCERE_6^GZvVMj+75qcx4IQ8fHEK#~j!hDZUK9}F{wa`@J5{2m@ zG8@^eUrl;B?)sj|#zvKB=v{kx$h10%uaP#oq8)u%Q?VMu`pqNs!t-#aPhau1iE^a@ z<5+YqO7~~{s2?9&q2U@cXA_-<@00wuJ^X7Ie+z z6M6d${J`+GhGEox(Y{)Rl$e1=+{YkV%YtV=NWrtk&pR&4z+$ z6Qb7~rTMCd10fqiPAb7f<|7>;I*aJ`efegS*4B^#%$<*XZXkbni(q=fNPaga7-j3%)HLs zEGljDy#Dp62gMb~2t=5DZ0?wMNjQx|dcik}Z$UX4Kfk4wEsdr!)ffDgBl^f)W8^h= z*e6RP-JTMFTP7&(W{c1jwWwtSJ`0XRGXj4&{~!cYvDpF5l-xd+-ZXVT+ebT8j)o3H z2=L77QgNHqigGQQi{{W1j)WUtpfxWei!2vCHeUSKPw?zMfqclKHTJO;%Y7(i`Xq&~ zs3=FYnPpNK;8d!KubjdThs)c?R@$F9YV@$N)|7_jr~BT9Hm1TDb2a}FS3Ilo_;-f) z4|De&})}<;IlEcwAae26PUsD~xQeFs)tR-I%H%uv)YX0Ro5Gq5e%&i91 zQ8-lE%Rd`-SS+x%cX5RBW&o$iwcEZX$0)9+!b4Y~C`_TC*Yc6a=NFAbNCo%Z3>l?;b%>?vfmzD$hXzZY$UMteSUBeP&V%P^eo@h6 z{B0NA)exz3;5lOwGmSe7{ES5&|J{b;O08hd(Rn9pTWgF5F44Uy9kpX=`(yvKFss2I zY2IV)&dOSkD?24Mo!CuZ-qDaoHy_!ev>c19yc3MP5e_@?!F+4zKQD=4H$ru6g`m~q znpd@_#H}R6M+>5*vmhGOG8*QRz$rdymJI1zv>=JIaSyUhnCSx=j4do!^;`s|bw8R(I_0HFFF)uroka~_Ihcy@U}EffrbAFbwKZoV4`efo%dj*T zlpxI9S`nm7@3iAk;Vk%Rhh-()2z~}u&$I$N?y?Rf$g5janjd#g8usMAkIL8ea2vus zeuqCpjW65N!Q{BDm!NDaK|0S(lqYM%-qd~<2cTe+>9WlV5uV9N*F)i2!UE6RQsLk) z1uJoEDn(j)w6V;~1c1Ct!D6o8Q$dj7>)Hk;k7gZhXK+af<+l~GM0_lv0R38KD3z>k zVJt~LWO@|8*>HK&VRR5$OrTH7$?PdEE)uMiMFZt5B~BO)zz`x#ZviPRN1V{S>OsWaA|Ari{R72+0MAeU>Ml>d=4mg zTdkDCpopPRK1q-Q_u~jW07F!D%i0#2ddxJHrbpX*SA3uC7~S_V{9)K181^NZ#-^t( zU_U$k$Uwd6iOlgKhpiCbeK4jViJ&_;dZI`lKZNbNJ?#C@EOQ)Sfkg)c1T_8+MEifA z@&C6hw6q1_ZRWmK~M=ekccE`*WA=rxEciR&6j~ zHWG=IA+)gFxRem0pYD?xNUkKxO>HpUOD{5~>-6@QoDa5y3+ZL}$zr<=aSZPK-l%RP zdxn3wFrSf~iVRa4y`6|AwF)V{o;bCF->t0;T~|Fc+rCSi{U@@?GV2UBEy?lTZ$_Gx zY?UU-MGZEhy7wf=i0NfG<Sr|i?g&0p_<+yri$Kl#s z5uIx70Ztov9;cZcy;(nQIp1F2xtVF}@ZurWhS#RsOwdtkV8h()E=wN8#twj z>1LV9v|tCCB^wR>$XGgDf%RfD7~0RrUYk`a(5hL`UZDwvFj-AD zaM>ts^}pnxW3vK#Y)+Vvy8ZRm{BmZVwqTCyM zJ>N7&PB!K;%qmY#;(F*unk@j3A+rYIz#mPlIOFts1^m6gzrWrDvP`_(e1Q#VPvn#p z0vAQWg#3`%F8BHhu+XSO4p65Cl)9B{<4dbCM69@Tp+mKLV51Vop>KGaL!|Ww#xzh@6kUR%)!>}+k9}@P%@+MV#+~xU`@W$TjNiog zmbk@7BIkR?7Kd|jJSHQQPTO`5?J~$a(VWp%nH9DKcWMKE&jDH~>Fe{AB-tA;Iv75H zfTjpUs?J<%BUp1+$2VaPt`?JK!BaE#DB881c;kjpyVbS1`l0@KIm!^aT~Tg0*|uXw z;L_72Nzyf2;*4mdBho{#Roa~z(?rFOxiiw`Z?Zd)Xde!w4j zlcg%L`=D;$Xsi)trMNkv8P1DKk2L1sPYaX>uj`YBwZpPGSrgTntYoaIU)HJ#51qeU znP^4)jnq%|WqSr=RyQx`mNyg_0UH+Vz|pPC>~xuLK3-6Pl0l-3FeWs~LC{P!c6F{M zws=oYH3JA@kbotT&q}dcA%0+tq-#kMqNR~)8T=Gif}Ix7vw7gEo# zJCq?Dnu5lhTzX3JRJktX627fObQi)8!6dFJz@XALJpe>GyTSAk{*8UzQg1Bd@1ni* zrb2f?Sb(^(=T98u5YH>9geUzcu%o&kgtYf^mY6sEPnongH|HVfJu9BBYZdFT#hYOH zCrx~M1bj=(1iAFHn^Rv9D{jbA)H5?al!`$5iN$=P=JjZOb_;AeapX{xY_w^?rjB%DM8JRCu)^R|8r7<=REH~VrFj0;S9mf9)m~OvwHff_mfxr+&NT= zAMs9H4mlt9?NIEMv?gnTcij&2Bm_L-4%yv`jdJUV zz)qfXiFiHvZQ||K(|^a?me$Dh_4<%9IyX+-bJprNZ2||Z2rQa(mEztWFRnnbGua<6 zkL}*;siKS3Q72@H0YfQc1fNB%B2Z{kDR8Wx#VpW%n^|+YZ9nTn8qDN}XD)w=Us8wM zg7&aZv}@~-CCd37eBUDcY^HS*rI#;@mY<~Zks>MLn5_yRQn+fJTaMS4(S%pl+qXH4 z7|YI354_646ND79XTqWT`MMy}s=zaZo5!J-WFWR(JJz>3wUE5_UnLy+W(w*o%I!Vt zzgREcQ~Zn`XL}GeS=S?FT5zY3{^#zj=78Z9_n+WRAL4&=AN+rL^Z$6od{uPqQJIi@ zYL|ZMI`|y`E5LUFD$t_fLMneCimQQ$U7W6;QBX(u*LzrjpL$t(Vvj|VctxMrd3bml zt(&W=U{zMg5m&7IeTp_1+&UkrZ`~U2Ixn^|l%@%Kg5`?gT1F*`8)Yg~$e2w*cu1Se zf);W*G8-yjjy?}Cho#$p%S@XskG5@K^_e$Qt(k5G5S4datK$yaJtH&tDDM!Jz zt`3mgsdGa3P29mK=48r721 zCK#0fPensay-#&rSHk|RUGv;60_FA=3E&psC;3eHWr>N3(9D8%EGxIBi7Kv(wcfxr zVSR$d=DQxu)g!II90)j}s!t0?cr5lvMk=WHxZ_2JEZ51TesgB{-l70`r!|$#Enu84 z4yr8Xqa5kvt;9>U^3@2UCS>EncX8jhj|9T5##H3Fo1{)0S-KjhB5T74i9)X8y8&`R z$XyI=mJNbWefp`3ePhWbhgX`x3o5E})Pl zZ*poeD&@#KtJZrulrKZy-Xsh2oT^<8w8TQkgW##kP{Wr`#)he14d|Y7I?rU<@S1Dh zSt&v72#LBSmiNzE^piDyAg+vsL%PVnwZwyUFgjpLAsA&Ah4d;)USb>lm?+CDQX@!s z8Fq!slpsI${KW3de}&9P+v==ogG!sS#P?|BB8c;jI?nIx>B4Si>-F_m4smn+m@AfP ze?I5v?P&;wypp8O)$E;-4vPt=TShoS1Dtr1j53^kXD-t>CJ$Y_9eqrX-YtiX51-7h z-W@741AXfM=Xcy7cuytOKc||;zvt?|sBHg1|#?GEO2SOfXD4)nwUhDdUxT(oIdYoSgdYq8%3+!Hpb}*{Pq|Df8C)5>SC> zrCcGm?s|eA=@a+c?w17%m5XJs<=~?I;FyxE*w3%t4eJ4iY{eK(T}= z50?xBnbVl}yV`*=WE$smT=M+}z|r+gv=G*BNX&aASdhtt)h;?Gkd^p(p;M4WZUoIl ze`I2%s|`Il^F2s(F?IMdDcaR1b*&*(2g7$+CGA)yRFiRa=L_vCBciQO9fAS%FlcoD zI%y~H>V?I!QDLNl#8Iv>iOEjGU2%``*OEUj^q#n8b%9$hni#7jCZ&51l8)GxAGavK z5y)AupC6WagEPGhx<(KF#_ypdS?;^B_&V@GuS@PXM|V|PsH@rs!Vg@O1AMts4rlJu z4^r{PYKQ(AQ6Nr8yD~EE+n%1!nP;6sR^-z>>e5QlaF1920t0 zC>-S(B5wV3-&f}ke>IurplK73-p2BaX>R(}Rex~Vb2D$`-WY5@;#PKOk8xA|HZFz) zvKW;KAY*cEVt&7wuGy%(bOf!L0Lawpb_l7L&Vc}I3 z7hKK4cs7l<>&BaYxKYPaMnk;)53?DZZhb04oBzi+r6wO#vzB9fMGjk)wpB86=ky*Q zl|G_=57BM=t0{Z*-*4mh=hDJOcjKSyYLq~-6dKL$xD=;xmp31i^b*+qj99ghUIJ(1 zN&Q(T(fk6RPa?kK)1yeGlB^TOE<jLImJiG#ve4D#waQ4z^;?0PM#OLG)^)!}hS8$WVqgB$JRnJIQ)<%zQL3!OwYIqeIZS#hbT~BL|-mITQqTc61-)lT{j#F&ZaFH-{Dl z`K8eKB)ay)KT<2QjZmullPv---FSRExt6A?1z^_|DUY~I(CE+E)Y$;$-iF5{Gb9ZI zdbJ!BqH){;j9fv-A^rf3IUmKmtm3P^8+ru#4_)VwO~%ml&}36a2^zE5?M_2H8BVSk zUAS(acql8lHy$<{>gt^tG%RNiLxOvYhM@1Lm8kBD<~!` zIKPowQa5C(v!AzEoN z+rFDVR@2A!?wQ;`XDNSvsSy8LTt@GsiH?{wx2JoHU<9OI6-H7Q@b+fCPxoEcy0D0r zK@3vQmRu~`unXyfRteNPbxC4zU-)SoM35-(pY38SeWxJ2bM{)16MKuGTrf(SG+0Wo z44{J4l6uqJt6O#ij*6GYS?EbRuHZG$MZyYUuR`~jIeGWecin`fN$N&%ixn(3+!Wz! z0zMlNAbsgPKRm`yj^AU)Afl1qZ{L@X&t&d#^K~YoeVSFIJ*7tT@XII@zaKA+tTRfU_t7B)YiMku5IUKKVN;M{R$T&lq}+Q;JYn zHti9ES%aYs@`LH* zMO7MyJ}6`z04>!yU@bFjk}fPKX5%E4#aeC4iBf!kIi(wl&L@NCQ|>F5%%K#;^dRi%5Xf0;5$wjBwMxN zAqNVV1`QI~=}_a4>x)A(ZU`2Z!T1dqheI;dtisViZb+YB7^X29-{7d9yEYx0bR=6M zOWsu_$cW|_YKerS>brN8g;-?BX=Sc(@O*|`zSxtq=1~2sh6=cE7gb8*YbPFq$k1Ya zB`?w~uxNSWkf`KE1sm-eC<|F-gDAj83f3?zoH1v_4a|c!_KI(49;@gUViuc+9kHcq z0jd@_o2xcQ1i~GEz-FsS#{R8#hS0^HA0oTT50V86WoN{;a1bXfU~mqui^$gdaK0Go zDApH`-H|&4$E*L#=_8p_#!|Ivr8Q#B#sG6{KQ+WfXeW)qla5i-CY%amW|cpgEQkc! zGJK6K$zIC{Hy&{W(Z#dAuiT#h?>u6u7zJUI0T$FMuO^4eOSgSh%Sgd81f0~FE3W=1wjN9(Hy1q*kx5+0uSNk$`FnLRWaqDmKJm?QS z>F)F~8`yE0PJ?AKd+$C{mK=ZMv0q=JsC8T5llMV=Dt`=If=;FXAHLoxJd|!-6OC8G*@7+A)$dkn4*%LCDK`RFg_iL~ne9b@YGEeY89Td(WRwkWRxdsw ztxKA+L5_#n}A23V18QbO_dY*FsVEQ=QW@0WsRW1XZKD9OK>bJb#vHfQ|nv9?5m-dTA@B^2wbLrikg_l=+ur5-jN>7u> z2QiAfi}L9=qXEk%eCELVG@32S)YjHez<+^<;*Pq~n%r~=`;>JPFHfF1H zi=?$$2fn@m|9j?CM_Zlc{F9!a{g_AoPk;0OFGaVrG}U!5{{Q)9*=j$-78aC$4O{rw z;1i)`We0G9+%Qs#HS1Vt*7b%|P@rh!SE=2vZX|=g;n$DGrqhzhT5i* zXl8~UHI49smQ0~`61yYSXn8~31o-ardf9C_!?FR|qzD-++GIn)~M02z* zd{}<**s21~@75e6OphP%%T&38@GM|zo#Ol{n^!G1IuQ_!L4BeD0P>yEnYWcRr?j@T4w5mvy501PaP+}xZA-=jnirp$YDML!`s4H z9c~D2Z&h-SKI^P2G@CKYeMmt%2HA|ri>ClC2%63_Y|2qcmIpO=OL zJp_Ax9*q%oOVRvV_Wn}B8*O?%+W??30B&fRL?mQG1NinLtwMsN z==Tg;*N{syVCexcSjiR&e^(U#nEIDa4OX(_|}Z z8Y*|MUf>c09B?XH5XCA4H!Ph5aVicto!=JA@&0lFV1pKIroj_hZdin%Ea&shhfrBt z11{E3NT}A*SZj^RtapZDGDNMWE{kd@&jJEtCD>~LzYaPXZWmL`!j^A8aLHSy1%51O ze?|OAG?jC}9i|2P>yRVHuZYQm>42oh2HXaC3Cy7HgMWm^G!tQ|J3^YKQI3Otodz?jIA91 z&(_k9W37V{xtP?njFhZ0`Is2Byx8;%mH6Z&mCERptoRf~2n1RY8cGpb$#F6{fW3*h ziA5bQU1~xC5*_+K%xv4-d}6$R?3L$!dd39*X=y`!8zb|d{+96%Hla#k!e#&;p;PlO zuT|S%3OOFa5<62#d8}ZKaHvX)D~W$^<3<>)$GEPb2+yHr2dH74;yi&KIo(TZS$CJK4>;==96mllMX z#rwm z$2CnOT#RI!rmnCX)u+M64JoT}a3iho1;`T5R@q7v)es087c{psR3|f73ICS4u(U3l zuZ$xVwkr(%+0leOH2)IK!o5uIZ#|*v4;X2>Wu@!*CVwLv=sl(F6V8GgkPX~MXUpb) zsXdAOCU}DW?+FjsLf%CCPr{>s`EPrY|Fvz5%pHD=h;^MEtbTr86UK(k2FpVi-W4=Hb#yYwG&4v)SGWg3)M&E@1zgh|?!Kjbe6pc9L2 z6BXNWNL%WUUne{o39 z%qUK?bXVHjx zOfB|W9TMS$r7P{4hfQ!1Ty8+M)^i2t)y1=Tv4Fn7Zp4HQ1LHbrm&Qk9UIuFCol(-MZ$HtfdVvW!PVg&A>WB+hM8Ptt=-FO66l>Lg%3LEfdAIO}an=_mR8q}= z)t7>{brAtWcXdS;5b#Ns1Cgq@US07q<1t_JWEvkpNZ*WbpkC%Or^WNy&Xy4EymL(b z^>Z~;AE0TjV-V7^2!V(1Cu|4xaV^x61l``D7l5retyNuR%_uX-45)3?fniJP__b!k z)W9OL3Ned4=T#kj2@su-f#Qio>s0#)RKIxXXAOq${FU#{FJiGKE8USG8D53Dn&81- zYHmvL8lf*WsT7m{cUQ&Zw8`DftiitM8E2l%|zJHC7 z4N?0R=ufJOABWrH`7ssh3WEHo4Gs(MPDjo|{5JhoIKE_qL3RO^e1@ghC#Ye3}?ohkSD;Pat4P?N~Id{7Fk^S z{3V}VWfI@uy&W(%K%!b;fOQ_|a{eGhqtiG!ci2x+MslOx11An6C} zuD9TWKNb)$*g;vE0WDm;0O@K` z)yc<0_Pc3iw(4;VIsyDW&efv$QFZArd@;CjECc!{cto=^4OFR3av3kDi*0Wqw0zNZ z_=8q%0T^>Ueel@cJ8rbTug_mjr`LuB@mxA}s#E1G@k5PkJ8@ZjZl9HS@y%k_u6sH4 zYuGG3de_c3*BowXvha&?r=!h*90wk=!dnB!@!2TF%|{FCC<;K7U!K+bE_CEOWxeuS z`1yz^LpzM7O$Zl-x7+nZepg<%qq}ukR9R~xhvn7KdJot%hh6@bWdJ?eJgNX2*e4B6 zCn~Q#EyA{ZdYVC_)0>7@d2HmhHz>{(u{XwPsk3>c(Cdg;Sv7RejASE;ESw208W}g8 ze`9b{N$k+!O$jHNF~(8{OW$dx_|wMb8R*6j^_|pX^;~++1{hid*0n-3 zl$i%k*YqvcsDTHjQI04N*_Y3kK8Di*+4$Q|9j-) zZYc5g{K;74e~^`=|0!!Rv30Q4chdbqRXRD?{ww-bsYu%%upo4SkNT#SgHM!J8q@&Q zlh>Nf>Z}XGbAtf(i5;ZD3R{fHcdq?FDg`A{gx1FL$>Br9raRs5#c#5${dG8uarv9F zok3creMIlk6##u*3M=E=0k(B?wRNuo-AdXOxC+cGsW{bn$3&NDJr&k-=`GAF<(n4I zIiZL&rIM2goT4=MTd)eE#qT4nHO(`0vm0p1wRM*?Jm6cFn-aR!1gFo>-=N%#)t|7> z;czaifK?);`a^`dg*-xu>M4bi-EanzQ-It@$>9r4>d;?VU$I zYODXuZd0MIdu1A#_wmM|Kd6UGu|v8J4Rmu#M?xC3`0ZeB_@*;f$QG%MrS~zu7tIeU z3GRft8tPkHeEJ!f9bxb{C(Tu=p^PDxa!5}uOie++N)?yAa2xX}*~gYMn#LiWMKTw| zRfsKl6rL40^Y!%ian&Mjs@wtlie3&S7oj*IYx`ScaAxM2)x*AdW_i%L?|y<#d}eU7 zIXRAt4U9=Ftw-mgzgTMoA-vv(X0Yhu{r%K6;nIH5NH|2b1H3OQm*`0Fr!$x zO*~w4dKcSm+${Nejz<~j4B{5+>Ah*0XJvpWXq?lpRwx;5M%3xE-R$9T43bRe!`KM8 zSCbZYD%3JA(g6$9tlA%!`_(PAb>0CRbS~~IYb%SGrxhLchg--r8$65ZNrh73W?0-d zQIUXbl_cAUsr{UiY>`zZEtMrwB@n904VDzkD*1LVWl_Oip3X$+#MoOZe=z4-7u7r2 zGO55FQvMf6o~@F3-u|6m>Kn+hCdeXqzYt^Q5#oYHUNzdmZZWr@ar%G2--H;8De$jN zc_^_9&1FCc9XOib2^S3Zb?qnjvz+-hbe2KvbX5;yb+pe%sm?853LzJh%X;y zlLIqP3iHFQT1aYzrk&ZE!E_)a)3|kr2ODfMsbelozcxsp1|QJzo5g=)d)0)i_n6#Q zoLb*lOl~KTO5~U9HF~Wq2ma=h<*@-U18G?ebk>XEc03cg)8>S$=hxCb`vo_5j@-HaT#-ZjoWnsu zIgk$wpvAvtyF=6ZJFemZnAN57I^cpMf%9$*YXdmtjmv&f3e(b4fMUB<7iL*NCX2e{ zPav*oJC(wn*yCA;L%*Dtfl;Lo5{N68!*g1DKOU4W9N=p#YpRr!It~1O?gra$4B{L; zEA|hqxutQ_%6&A8N;@y+j%P-9?cac^dLZm!Jt-=4aL#a_E*4v-Q;^=;Lek~?yvOw~BrR&RnQntUD`g4e z)lNzzBID{@-ib>wTJ*?DHKv>TPbG=$t<+8GOhl555s4#r7vy9ubBrviHUkqyAhKf! z+HZRoB)lGO_OH9GGhMRFcWMUYC!U4d_oNyj5B21>v|9M0F{8eFNJn5iXgA-l$vf(X z-w_S{5TH!*#`RjF_tfaMDYK6XzMh^Ae|dOb-;c)5hC1L&Jd0`DbeiwC=QnWwDiI(>^u;1k$VyF8HALC#!0<_3l4&2Oe-|N;riOpZZ(_UQ+-S-d6WW4&$Xk8&H;Kg_ zLHVKa8b7Ponf?x&mlEz85=n3?rS@uW2SJ_gSWnkL1b;CRro1i?I&K5#kcYKP~GwD#N;|!{grb`Qi8$B3I=svzI~2p_+MB$sQYyfZ638DqvSDNy1DXV~UL^ zQ(7JF{xXN1^I(kTGPG;pGlprQc227{_T&Z|treeVxNf>=&K_o7ca7jr7>y-PU`;tr3O6CR7#t%SvvIrN1Hrczy$r z6(ih6nZ}`GEV3B8@jAI}DXPltd>2`W;39!ucv8&)q{a`3Im^V30{-x%;iHaCw% zSJw?ihkq|vQfhfQ#mMEZER*9oe@J|&73IknBGkWviHT-x(`!lYf^Ec=mriA5G91X>rF z*?oSXHZzbJVLWMckEGrQXa?5>Li9S<`)q9E-p+}NIA%68v!Vo7^@t57@;aSyN?G}) zQMpQqhO+1w?J!)e!dTmwUNuxr@nDYN5mZrh<4&>gP{#Nmkrrjv!@8Y1_vtx_@iap3?;%mREDml9o^8UotCWQD)^TBBr(;JK< zA(6Ia1+MTl0Th8dt{uPa>!1aH`qnW#HY@jlU7qm7))O-VdAh=;8anbMl1{!k_IEdr z$z}XTt%6=HceMZ#Aajs-3CynP$=|;|k$prC%vF&NS??ty5WeudGz;P9Q@Ggt`r$s(0!p&D3k zF`PrM{n#G)V)yvxd7sHY3ed+ri2^KtA!smzrs6ip@Byo2KgakfL!vIRS^R#jTAeIy z4g8St=Ph)T=fokv-ejK<%WnpT?S>P-JdhDA zI(5yc`sob|xQ-8KKjMI%c5havMSX>$8T;?|WD7EeS`cpf3?_?@)NYJe8$^=0wdkMq z)O#XPMIdL9>iSQ_^ff33=59oAWkvx7CA*6h%t{Fkvh$3lz+-~MVz@|vA|3m zu2=P`^^?0i=|v#xz4_?up%V!##C_IScxu>;e9Sm55j&MS5k9DoWRKpcTouSe9&!+i zs_15?n1a~SOt_fXv>4aH#`h=2K>%IYeA5<0=gYb&%J}T2(5lc6fDM@|*ADjpE`C@&OJ&8%0yotF3k` zG#p(Vof~*%hGnAq-@Ec&bpcU5kv&b};s zsG>w@=Hmm~&QnQ*5 z+UmxLN7Evaq+75WQqADaYHe4J#3p_-%QsRE3BCGqc1{%F8PSeX%m6=?2Pt77Uq+pj%dTYJS_9# zZT1JF2Zf95jY#dPZ!GlCtTQ+**uG}ezUAqKchvhO@+ib`pTno~Z5=ht`nW)j$%7%I zcHnNQ;=*Hh=CPMY+f=UNPcrj`VTF}ySh3!SiJaL%R(!6BUu^44W8VUp+g##HTT@wK z!n#Sa)Jj7^akrb058FoMhd8u=2me_ME$EYdkK}{QHn6olevRhd?dggwu$X``pb+9O zHABun&l3i*ezNNp&kqnsFd=0l+2q%6Upb&yvDgOJha_05*;<@sWRp4#Zqizw3l7|k zS|yDfEtZDREwt-p#;t|J0QDrCg~=`?v$3t< z-`Wt?CQ~KT*%Dqb;AQ(-rI^FiHq3&660}MOm|yE|W`%7F1Y{a#un8n0 zVUbH(4UQdQhFIq}1E;$^83W`}q7DF0r;m@ZaZtpaoo{yk>llzHxHVK7du5~_xY&k| zt2zlNU4LbfL#n7Zr2%PCf*Q?30~uH3($mhPALK8@HOLHeEo6(ng-WE6x)J0f(TYTW z0LQ=t6kJNN98GQ2aH| zOjSc>)|*FU1QpzeP?g)1)}HN=$c?!&OPvEtXQ^#zRi~Z?$)v^6rUkHHIBM8?In(M? zS6p_azk+=)ER)P+5S^HrS*xJ7-Acj{)4OA$U_MkVP0;GyVKZl;k|}uu5fAXxkwJ`H zF(IMFV7AMD({?_CnQ~6LO_@g9v^!%~$GDX+#Y0R||HxMrvOIo@I5r9_Wb{JPBNplB z@;INr$>z!hm`FqEFQzQXB%2Xb&&fpJ3H(N5vFyAnrE+Q&~pdtjlPG7o7wIM zaT|mZqXyIEgEKut@jF$?ul0kDpg{l=K2P`mz+A#2bdZxIuO4Y?82G)cnFUojGT?O^ z59IlB3XB1z(rMPQP!#7@An2Y)Igy36bczA$UlVU1v;UgH3#Rwbl}7 z7^Gnqi*QsyLV6lR9eP(2rMjp)BEwEw6x{P8+hwL5T}@(L&$eu|vG{=%yE)j;w}qeN zsfpy)S!!k2rFHuKN+@dqg(yi=1>xBEoH?ylKSZ5a%3&3WNBT@AHzK%qMu@*;N-Xt- z(UXD2t+HjrxxKYFwwf22LX#bQ2TX|_@0X4%l6Qh1d^>{I*8s!&+tSL8RBzZ8&KeRo zz+$ZPMN$J)7ez8VSA7>*G2+&rUHfHg+26*BZYAc}NsjJGBby0nB z4-lxyDR}o4Q(c}zpF<8s6n${m+vKJ-Q`SI`^F1~oAW`5r@IK>`+bG&RUT79MNnf=u3bx1jPSWGc`{OAsS7+L)h&T3?dp7`T+EF>+sOgHq zBZyt;+l6je+nd{Px8Dr2+UEXKS#gK3we9yBT-tnjLk?7_pHhf``w#`oCgDdo`}7GELsqwE_Fspw-nb5k1l8DBS-MCcW^x>bxQpOd)3_Hrp`^dI{51h zx^l~Mr5N6DaRyWTX<7&bn_oPNSs&4y3cN_p=8gA8o~q!t)c5hH8b6!qpqXATU;&0Z zLVp#z0!EMcq7EEj;qW;y>*5F8bjoil zO&9)F>jek03S47pZOXcBiH#h1B_65j%+JphDYRZB*)xJ%2JL#R1(FtqY(}ml+TFik zIf1+(ZjB2l$mX#D!*9E!7r~B;6N&ALFizjUu{V~V(_At zmMi09DMVwgEi_ZMH`wM~%N|{#`OM;K69wsWndz(rrR~hij7LR}!)C5eLPMz5KT-r% zPd6qni&!PN8haI=5~fWmRNGJ&hii#V%*^*2Xd7!Xy9(^SPe#u_8qhO0Mv7RGG(%PR zf}Qsg9Xj0z(dJ47jcEisPX^H%m|FE8=^4{^-RaH(hol zTGwZ*WJi`q5jyP*%`rT4cZ?>+6i~U5)2i$gqktgp61(CPv>qt0B5xD5&7%YMf4#&V zOl6^HvJ6)gR{ylqN>R<2C-0?CncR)cNE2wRnC}%Cb|=VbK-5SH+Ok1rnT*%<|45Ub z?IPWWwB^NpmDFiYSHs@BWO8Iu2Dr>6NmZStdI4zA8fGW% z@x6OduVpvFvG*->-B2BZe&vZQN@(O2wIq?rtaqHwHtcq-E8%`Eq?5cavcroia#QWf zo%ad*ZCiN@*Md=>it-88(q)m+Rss~wkS+NCy&)CHG{g+YXPtk*1QFP-41|dV#E*=8 zO?`DB7M3Nt2?SGPuUrGIqK#$cYqHNGb^~#rt4LFjm96n1b0KHqVMDiu?!Txi*(Ged zj)yN!N5&=~y`if~w;Gg~_+3EGdilI^vz-vi*R}K~Zk4`e5ct?7iDr}uG=(14TpY-M zDtfJ9%fPD`< zamg*b*Z57aH9)_CMp(`(1AmAS&Rl77E++~}Chs4}Jf5EJ?n$|UXCzegh*|cj*-#D? zj@=FceE^?TqFy{j((9mk6cZl-3m{StmEEolrqIfVZ0oQ!ACE-h(jzL5rsetF<82?Z?oao47EN_ND^-> zYBS$jI9sHHTEeZcYJ-E3YhcGR5G0RF_`4UkE2_&s{=uA47#j2YQ$qFz=?RvN?_5&> z3)OuMW&FneJrfkLvTLZx24dGc+uAZoZb}@qb}JS~=p#?E82%QNiP2WG8BFVu7T0`> z`72jqeh8L@qG4i4iD{g>9sKB8!e>w)!BS+dQ|_vfg~3tr1*^FXp)rzGh``CY^C7YU zRkN7T8_7sG8WPPGQw^zfIzHdlXudwr=R;K6n&i<=yEhct0y~jak%!H^1f2vt^-RFK zyZO)^<4$Rum2xsN6bbObRz$k;B6%h9a1*6g33B0np+UQXXRhgNBehz zwTP@l>?QM+*_!)CR@meD?OldSlNo`S-59i5=SI*q8YNZ$v-@7dR9lLso(p3IAF*xA zuF?6M;wo(|QR`$bN%$YM#Oug+Xbxg5v@T^om7RgcAdiB;vQ9I(VJl8{JyY`0-wXoySQjH~&)=#LD9k&r>`7ahGG7Lg2R zetm}UAIj;eI=pZ&ym_<9R341uLV*~L|061?7f3-3-CI8tN^(1b7HSjG<>f7Sko62+%1K;ANDPR&mg#P`cr3G)Ti z^2ha~l<&&s!NFaJfgb||Z(&*s_dycVMFARv?58vCA=p7KlI}s62^0w7Q){9`LG)x_yUGs2TQ{Ei79HQ>v8qh( zanj=H1@;9qp>fv6HwEw(kkg~Ez}b~P#UfBE9ZZo_@B~3|7%-l1zZZ(A7+LK0qvjUVAp$oAa<^qpqHMJJM6sk% z&xH0%k)aIM!u9rWmLoboS|3ij0Vxj9+Lle+CgL~c;ppJh>XDCjN^P@Bu2xKY zN@eSWY!<;&WoVTauF*Hw>@74=kNN^Q+?(gz=WFqEztHCBJM-oy^Ug#8-tr}PYE%d1 zG#ujUqb|=R2g8u*SrGbCshY0_1ru8ggs-*>I3hc_PEj-ZOfol5ICILU8 zvpIfPZkEqrb|ls={tD|#ok`zeOhWmcHn#N%nvv#MQO~RGi7J{JU|!eP*X^k@lm|`L z64ybXu1Ip&+Rz8YK8v7sr@#72&9Pg<{le=zSgH|p|s+a6-q8Vo*D|PgCGb}Zt#10ChTu>+S**qXg5v`-fdJ zvei^Qg+YfvnFnyHH6YMWkVsNW(YeTO49~i1NKJvktsiD6`GFjXBbA0{RrHl|4<@BqyH=aDqY%v&=sMdrANzfZUaCq-+{kqSu zw>A?2fekhqwHEDibeF3B$A9tts^p{w8?AslyOshWmh6i%59Rz+=GG7h51Hdq){X~K z`07ZRknCRDS;Je999Q>8Yt-qN&$f;FR<+fp)e1H_R`M&2gFxm915HpUPvSRSd}+${ z9$kt29kJLBa>>Ze(oq|?A!eRIvA^18#Hxek(2vuA);bnNCPY_f2Nzh z0XIv+)~Zr5i+=w>XoboRTjM)_nRJO_5;%(*9ZA+h7@QAv!mW*kY)n2kJEGo$BI- z+ozfgFa~*4Zj-CM;bR{Z^HT%1UdIJpi%hp(q87?C1yu|r6tggZ-eW*DBc=AIKp;<| zdscoKv$SziM@2uYOmv7MbFaJsaYGl7yQqI;KOLj|8CmGgggL6vclrD_vSCPiqOE=a zRis?ml52$qQ!3~PwvaZ-CjVelT$sM0-L%(TQJmPw^!*3-=9$$;<@D!XWPtm>O!QsN zjE(<=!e5y`7 z?s?wC{@1@|tmep4F|+6BqPv-Tw|v)~ z7#B%iqbx$?xqkIttGGw8&=!HbkM!V86^`_7^7wg|;b)&!yALXDsKvOoDBSM(L$ueXh0-ppmd zVnRa(wjc(fyurH<0{P$#;NBx1#sXv?QF9@A z-H#_nW>sLr3-WBY_z!1UsXHyCVwfn+p}90Ho2UjLAxRg+pbL2s_lR>QSB-eiHgBW0 zBE@qUm7d{b0@&=P%zrpLYVF92%eb^&@`@QoMC|}Mb#{i<<|&aw8tYRw!cE=e@Fco< z8)!&A!RnoEcYj~)wa8ThkFi1E))rc`!B@Z-GQ4L)6LVHuNg1loLZh-UR5O34vSbO7 zJ)M^8OG4z-7l3&kN{Gc!cRX~9xRhd&OUZR4fIc%$#E!%6%BjPkNM8=`QazRF>SBcL z4MgFXTplboEdXa+q-AwOn&V*6hyvnxTftJaFCRO)DpUqX=SMd;5JqF`+1Ry;^8${j?`uV)n9!Gy1Y0JTL4E}De}e0@fJjDo;xQs@7~aM| zpJHvGGAF@TEOQH!e_P5U8Y&8fA-vH7SS61Ym|5xq5IGsP<(nL`pkuLLLhyjJ;r?qx zR7Ye6!O_q(IBaS7EY=66AKAWi50)PR-c4g}E8$AUf;95{PQ=(U&pEo8LB?;&g(P!j za2LP#h51QoQJnistGkctXG_&Tx_iDK;r)Ci>5F#^MJoO`|H%K2ITiGE5LBW>;5qUZ z_aN9B6=1iB7+C|j9eA;)NrUFbts5C#gR09Ym1#9p{YUCkqO|`;SK^Hf#Pzqgg0&Kb z%#`s5H0p`NJ}4PzS|7jE-mrA55%LrEXCeL;zZGg_;ru*q$~9<&kx*qN!}u}H zl)U)!o(X_sWJzF2HZW}@RLAeVVembRWT=drWGPN-&Ae9$c?^6}ui#y*3*-{J3H9km z4JQ5E#_OJ|9J5j39$YtRl_ml5^5iLeW=zNh^}=-y~Hw_eY# z*bSDe9yl84jiwyh>fh$(szVZGUbQED;L;~D0)6zK)_g0yfw?|7Z(b`O=*EnLWL;fP zm=T42c%i%~CSqz+)jj`UT5Rys;W7O*`u_F)Po{;9v6HKVPDvpok(N`P=cg+01Q&Y$%qsY^nKCW{<6JM*Yi!*sF6w8S%+_Q(&svpI(Noc9 zgexN3l`CzSQ#bw`T0P!$&pkdHz|VXum$nbCS*kRmQY9f7Yn$oRX)idcL_{=H#igQW zqdYq+w{WUR=U`ud*PDGDdnKYOp(6&e>iJEtB!cUA>WemH<$ z4k-rQ)bi)l=Wh4-9<+E^yy3D$z1M?mua8i8$!D8!4>TxxYR59VYMtOisUHWc$ICEf z_11SScz``dsZc++TH zgMaCL@!L|M1e)438Z&aD)CY^pw7!V@xHwr1EoyH$?-HT5hN11UN5L;vuj(o%#4PyT zp>}F@h+eqo-1bD+Mz6KHihxtay(hZ@B#lUqdjvb|+@B6*aKE0s7$JN{Z=kd7X;yoh zs@_iQJj_EqD&Ge%d5|j5fs> z;-E&wV^Lzc_P|l>{jxj`(o{MuZ8HOdn3n>Y5TN)|OL!edZg0ebAaOO**EJx{Snpcl z4$UD727K25x=R*Rj*ZJp9HGBi4>7zIi`^0^`_8g&F=}Mlf*gg)E~E#s#J(1|KZOU#(h7i-};Rkjfoz>e-N9Nuz+J1xV8=EiPx-md_s2+C3?vUz((ql z|0K`v;yjCB7HUWf)rmScnY}_vqO^(btZ0Q5H|pOYxW)IfZlljJD?h|NBK(Bu*@mM^ zC9&8kL4oNF&9#XhmN2W)I{XR-gGjskJog)1XFSI`UeZnEjO{}&pf1o(t0+Zbj)|Us zE26t>l8)o^(xf#)2rI5q|)1jA=UB@l8T}!9W5@YQItXJ`hw@+RdJ|v6+ZkfizFw&_0So6+0w~Rh z3*_)K;@dl!#lOJLLu`Jryx^Xr;H*S9y-!1Z%NY7uv7s<|Ru~UJDZfN8TW}0)PV49_ zD#7=B130-*kVvBtuL>%_+I;#qK#98#)A@m7H`+Fju+Kkwsmw#7l2SVmH z!}T1ZIK>c~bZ*Q@s>|pt4$_MfDq=aFV;@;CiL4cz`yB$Xn@=hcvk5*L{f%Z-BCK;a z$9B|Q?GG(sC4;eB-bN>vCOX5b{UEs$UdGcntB2nmdF>;7R{D?wPcO=X%m|Cr1iCF{ zD&Cf8+%e1iM&tl70*jV81!2CcF%X&>t{+trIJ zLy$u;OK=<12vi`VcI()-3$fckkH!Xo0e^U)a8T4Bp;I)iTPkj7U&o-fqLgb8Nb^)% zOBI~dx#)DK4igj3AbLySu}-IO7G<`A86+x=2Dq^jWq48@0|haOd^Gz8KWgwss@85R zxj^1W!=8;+Szd=9LUA8FiPQ}rr|H9iE=mvsmh!yYg};Qeq6o0d`a+L_EiV?;B3t?C zfL$4mIaZ{>l=+7{z#a;7DFYXEO`2Aqd#%vbrWn?fbXESo&*=Z*>m8d!iP|mOvbD>$ zZJWDn+qP}nw(Y82wr$(C)pc&fiRgY$-_9S9pE7f;eAbv_1~V%NnRn@!J%NU!z48#< z@EXjBc+M0*2X74`W^Lj0_=j1g_ntzlU?>vq*FRAzO@S}FuI5QfD6WtlGM86Wn>HE% z7i*#_dd^8wFBdxEjEZRKvo>61#1s4l{n(E&Of6Afor*le0GnKI$v6CjLf?j5NJ0o~ zG=1<8+~o5Dog-VF%054YkO-IZ&W|~OS89G#~`ES19A`WGlVuN%>nhC6&mCzzP4Zr|#(i9W0 zo7mAk`uI8cFvakPVn&+`hO(e?uXpy4=H)9QBo*%Vi1^EHS6u~bkjO#k0Q!@zAT*%B>rUNW2!7blqp^Wq%R%K#3ar~)h0q+yxjEd|RJ z0aU?Xrw6g|O6z+n*1`C#8JBW8Rcc5o&xM0bK7B&%`o%AnD{{ol;eb=E-6#~0X+|{k zT}h?kn3*0fg0j_F~BD)^^qj)hp-Q9rVMVCSjK|SJ`n^kL1EP=Yr zVKFfW17+tmpWcy4JU(8oCp=t=9NfC~16bRy0^%?Rq-j~9pY)zJ082FWK+*Xo+3 zYvdAt?%n}PJg}zCbx0M@K_Bz<^L!^Ii;drW%$b?Q z9s{*fSc#v#G`@t{zo&rUHrxtvhwR>lAnVd1l<;bMYr~MM`b0Vkh7%^YzFv_(i9;bm zx`#F6g3L``t9$~p@Zwb62K41r>+%;!Lk3D>0mm@Qm?=yvFqC&t@o#CnD+}%ze?frO z7^vE(V^p`WyK#pV^#m5ZSR2Cj6V3?N=Z^1(O30;~{fcmg%Qo70b-hk`{2^8x5%vzJ zhzH;aF&*1zV9(8%WBsG^i@8?Dad=Ef(`(9a4XS_E5S17lkhh-%_u6DYIV8~U!TBXz z?+T7yhD+;;Iz(cz$JN*@JplKRcZ-jWWxZ=szs{(Tii<4^J&Z7Z00!JJ8Cbgr#V0{! zv0#y7YpG)1Xw%Iv;Rz(>BHd$Q4d+f@CAJu;zI`?+-Q^dfucAjPL`}Z`BOhjdDysMQ z7lU#C73uv?6z0Ewd<^w}VVM7#&;OoY{bChebag-adAO9tjJ93WyLsYrg>A$liJAHk zNz4sqibaA79c#Wj80U^(@{b9l;EqG-Y!Amg3gQW$Pfr&+a$^-Da@w`^LP$n(%VA%% z;t5|iJ%umJpmjbymRVPM4Wzp-dCHIr%a0|AqT7X;{rzpK$3Adx=(A&b+Hkp^A*mVp zhI+Lg^4N2W%i*h#100n@^Qgd`sknT<$nX@i%a9+vt%A zFcf*G#TN8{c^&4Uiy2-$w$ib80Tt#hLMQLO4G#88maY%@G?_OGF#ZGZP?2hE)$JP# zEB?0t$H>2w&Wfg?#Un5^+k)oRyqB*0u>OY66*j;_coZ*3~1Ox{*|A;+YSRWn4D^@la$n$yIcQX^6XHUs zZxm|z^XR+qO=pK>n|or)gFF03ih4i1fPo`v8t%m!fYSx_a<|2F zpn1PBa%@_ylg4h`?V@}(!Y_>f64 zx@?Ibu6B=`otTO;hXd(>BUvZqVaWL7&-cz^jX+e#;zwUGq z^1kryYve63{nvnFXdXm;Vp}< z`PQKh2RHd}Yq)GtP^ZU1;v=S0S2{M{A2kh|4Kl5SvuKc$rS)4=Dp3N@MQ0@l`r74M zN)@^%%64(;SZM;pABjp>rm=(sc&iQGsb7z*VT0#jaGAQEFp;_t$;1S!zv09z8)0*1 znkZ5t|COj36jDJ`khfu7<;=yK3e%A^YKBT%Ge~FWjQ{Y==m6TWnpBzuvJofCSPsD< zzXODLYS~A|JtsX1VdSr(q8af8{cPDf+2FwGHjOACJUZkuZ-Rw=>rC&yV3OuZ4Rh!g z%>o+}6MH2Q$@@!mzjh~qyipy~Rd<2j{ychB<=OJhJob9Ecn!t zh12Yi;9BE!B!IyvdrW$CZDNUy`1>x%OI9a0E9;VrH)-zSn8-r|2-=*q*#qCSN?L4P z>C~~Qj?BAtAIGSDoHa9+rHZ}kEUD^jpefa_J{fg4uYhGGuFM@;nPZu>!1xjuh8bPU z@2A?wgt#}fG9}yWlr!Eid=!Tei-BHt%seu{mc#9@y|AJI0V7tJD);x*Jii7@M-`fzAT$ouBD?GNMK*PokWRC%64R%xW($2uy1mq1D#u z)hq=EoH7Nb)JmEeeW3BOhv#Zq9}V?uVhIgbitFZD;;Ymn?HS@N=v#Dr2H>&T-oqgI zF212T@nxwOFMba;Q{^MQ=<5@G}*nvAQt*VOfca`Ur-a9lLU3 z&IC_o99R4f7ld0|ATMUq>{iiRusH;$KV^}!Yg4vQ-!VzAx%9MYqa-}?EV-F70p*Oj zJ#@F#2en*gJe?F0NW?IzJI7>fuSf~TyQ>{nj^8}Z5wrtbzW-!(&_5ET%tqW911lqb zZc|J!poSm{t>(1WOgkEY_PLScbSz(>cKoB^b0_9oS<0s*mm<%}HuK1V+rh9V<7${0|Tt#*@0Usc1Tg1d&xOzqQnu1LuagvDB8Ap{5 zb`QX5&up#SO{YSd;TZ|mn(Nht-?M;4T~Yk)sG8E%4IECG8ZsLLSePLkOCx!Cv$vWp zM%9~N#=FBV`^27}yv`y%q_(5xv^yqx=btTikmGj|9s9%<$y6pEF@%W07D%m)UtI<@ZfOrfq7q4R=Cuj%IoPrkts{>P-37V}?9ez*2ay|Mh_ zvZi~30aE}PHgNut=Y^5$;B;wRG$76G&rGIhK2}w^-~#`0V1)kV0Eqm98;HN#BKV7G z>IqUh9A0_tT4YB;#EVmaUgH~R6!U{&7IM+U&#W~g!czFnC&*fOrSAkimJ@9EuO&;_ z*wTYL#<};7?f)dVosN>6mLLHD;(zz5ME`>Y{_pLomA;3&?th=5W~*=6Zm=Wz(#`(( z&+=Avl0lF0zAr~k6rZvDE1;N124{u<(I~KHZ73otCcQTJdC9~`K%|(kdA^SuMLkJm z>UsN%EOPVq!t>$q6~D9-WN>qR%_}PZ_`YL&9xt!61ANLhUQ=H~LWef*#RaTv1*?OOsylt)J*-1yW z+Ra9?%>ns26Q}l7l-#olrNe|qau3dXmrH&V^0Rm8o2Jtq{3W`I^?FsLS#}jGJ@E2E zg?xLNQvXKaD`<Jo8@J3RWuWWMPG?F-N zS8SV&d4(O7cUa2Lg2XiTs$9_44r?fF?|id!ecGe#@OpV0=xLN)(XByrp>k4G^&r*^ z$VFEBEx+=vSTd{#UdErWe<#nBJR8^;`SBMCku=m@(;n1 z^-rojsDFbVKC}Mq9Iv_<4L91<>gUVua23dCjOLt6g#kA+$rC&ilBZ@LD`HJ52E13d zcW!~r=!p##%LP9@2E;WebUHNP@^V$pIFDu|>keXW32FCJ2Cq6D0g)6uEfvgtwwZgM zW=>sgwoQ83xlN<-u5v-SsxAY(|C0nhirL1|?$F|Gn-0^Kf1M6^4M^pA%G0%s%vP{I z5UYG1dr1(<>n-sHjZl?;RU2TDfDD5c|IG)+!Frl8PBb51eQRDPVrN<+7eXohn^Ug$ zuyis)u;@c8%jeKT_>3_0UD~W|HxQx@iXR@ysOUo!m*wmCdk9N~%|$2ef`5oDS9X`s9TIsiOP-}1vFzq^)n1o zd4J>!vI6O+PJ&pyBCZsud-r8}u3=#$h9J&VcIth7Yz~esro0})-8XB<{N4R2?VBsc zARFVmI##N3bys(3bN9pSvF&ZyqaVqMtsSa}VE%$KYwkHHMpjq@z$+2*XkhZ}D$;Z+cD4^9zY=M=C@Cn<)!$jEV2*6NRB}q z5L+}o3PcQv(E9y-_zhs3s<|!%H%R0nB_{!*{CUu5EH)tsKfps0(Rq5->P64bWDRXpFjQx4c(61edQcSUevO%0ii@m6F3q7HWI>G;qW3q zDJm~_+R?Wi%rNlc8kFUB(WuT!KgyZo!>(tzrGU_%CoaNfH4#tK_0%(gJ%s3SsSgb% zf6*w7iDO8%R^*U`Ja89r@?*ZRwp3^qJgk-HF%lT92KzsuF)hcMihchaQU(M^pLujG z7ZjJ3EJO8A1;1iYfX)KM10F39Od#uVj}(p z&ZEgEdt=208w(y>7o~|+w#NSn&Zb!1W>Xq7)aO0HLz#+?W@S>qyN)q0EH!i_Y#&`2O9D-xC+Lv~%G> z08U66uXezr-ml`LkG^%geZj`>}5+*9(6#~GD$85{tsP0$SzJ$(#mO$Mbj<9UVWuX z3(oBXxT%RmC?Gow_u~X(mVREhJEzcsJ|)>2!KNs}O z-1tz8DLSSh?}CmCpRf6oLzGBeJV#52cxm}o!;seUoVMhRhX$wz^g5ACI_w@G3;xib z02J~cbdUu9(a9@5cv0{6KN~2$&8wv-q3#m37pskXxB|TM4d=u2ULA zIrJB4cDIE&YlE1bpe+4=njU;(@Ytn1B_Ub? z>V1(kcT!fDf^X}PEFR`Nn7IHwnhN>2Jyll%>AtA;a^MW!_yPvxjA;N1C~0N@^_+Sx zEv{~N_v+S98K`HqNBDUjJh-G}u|=q7;z0Js5m!qt5AB=QvwK3qKQJhk6$G00!0HZR zQQ$+RdcjlY3PHizsf_x~RWny#=v-qbo5;_%EKMW^>iCF6b=4(d+X;5jr(EIj}3cO^ArpoNrPcpQw6Ku z13{I4Gi3A!7Lc}Y=L>+^Ug;HY*hxWdLUKmN=&LL@UWxn+!J<9L3yKF0(87#Zm?P#? z@ZI@WaUuQ98v$sp4k@XUy$pQE~oE!drj- zYwPQTv4sg!`%I&p;`vACS=ry<*mV1`c-EKWx_>*%EX~oUEIduIXeB)45 z;-O9J@=i#K829lXEPiPPl+79n06>)B|IG^e-@8IbV@Jnd6#sXAa;0hQh{cxhom24% zPOYsprKDht%|kJ@;r>>|g6hUeM^x9BC0(lf`~0F7H(a-s5~;(x z9?du#!#};}+$wtqOWr#9uURG~nx%CGW2{2<5mBT_R8%z;xU2y_e z{ltoMMUYml|893LucH(IlubJQMyJeKS+7y*PPsENZ4#l}Mg`^M+1;I}>V^l3exH5G z1d^i_ysOrtxyR=tpRW@alC;cF7j+|1B!FZJ38M%n(U$?h+mRPzc| zc>>A)b=dhfKLC@hq_^pKg@2)@Yd*9&7eyJ7#>Kt-?i^^f{Kajr>ZmEFwovUp>C*x_ zx0)$_JaiX?Lwq+((qhheeMRzKrM-&9p*QS{lQ=dzu%)8mQY{g$U6YDE*IC2USF39p zsJ+%k#i6+3Ttlx%zKNo3#*TL{6BDhufWV(6^I-iO3jR?RU(>ufk*?#&?xIdSFhG;a zWGKSDO(*mg;mYZA$=!;=XMX@tTWCkHA*kgxe*o~(V71~7}2Uh{?pC%3vz~SMTnw|^?yq_70!@MHrP{E3*zz} zGF)JvK9m`{i#pb(kL;pgA=PKC4513^*SZZ=#Z#@KuBqeW``6uFGUSC*W!+VPSiERN zeLbeN6e1cEgRfQ+V6c5$0<_m96KUfVaqybE5U#w5^!sa6F0FHoc0fqq=&9Su?)!5s z@_D>-0$u^q`^{@@;f$Zi!!%+XV>qm{X zM2;v(p?)AZos6A8!Ak5TLKvLr3We=np`s_-7u!^?ZcI0Gus&9#A z5+dhPbfSXW7$XOg#0_cj4!_|XW6v7pdb&dfr-^!2FhZBl%MZLg^=!HWv|3;FZqJAJ z6SP{o1KsIunwjtC^C3_Wi*xt$OZWuHfBjG`{@jF^IiFWw_e&3He5o^Ju)yC!#;pk1 z(?z#$>hhlj&xbu(7mWVhy8Bqvv1{iBv_A97l&S$>bo6p+Ep60$Bv?_LWhWD;+mWG! zOOWJjF8(nOWVWfc2S*}SD;&i@jbRsKw$fSWnkZzLIS+Hbdo}lui!?;3S>2tAx2TN! z-kaj$D}&IWG)>EEk4F1m7*Be=^{NKhrm>nKq4nFxmIf&IRW{}<_Vvih&1i}!)`X>M z&GG0N( zr;yby<|PWajLjj58^4ksX*Bhb+OYP7-u8q(QMI7pRE8Y_J)78osGN2MiFph)i?VzQ z@UU|LLiEtTJn?T%lf2C>KX)|}pI-HH@0IFogXtxc6BY0D1=9{DKwhLg7T$ExA-(Ej zAN1Vo!R5^Z;E@Qq_Dg@~F;?hLN`Dp@qs>R231sa)Ui_U`ob^1cco9X;ppzhfSFE13 zr{rKbAZmPNTbzBGBB4s|KVc5wvgUpKre4d}azP(wk@G_WUxtlww=P*I2@}z_S={O2?Cdy%4geW0&WL1 zc@>*4K{5G*?%F6Uf9j?tMK2vY$cWyL$M;|u%OyA%Oh z*~4>i7MWOILi2`-0X}R(VXSi`qR*uP^aqfF&-IP}pyFUHE2I&cU5qRCG8ENZS5kFc zwk{cRJ&8YFnm-Cl`D&5)N_YFVYlN4Q{eDcdxw$ys?4SA84t9oBhz{l9!(0+2KH}={XTGQ4Ph5Wj7Px0U>RVh}|cJ{#6vP z?+Gq!B%VoVDuLKWF{wMHW_i=vRP+imF=e(E z4Vn-cJS?j9tC8LmwnhiBE=?~>CCNL}XP1H*eSG*WhlqNZh{W$DI$}CP|M(h;biG@X zMP9pGIWbK&^?x=`^_93`ZbWZAP95nR%1DIg?g(G1sU4lx^5w>j;(BiTCg+tKJ2@b3 zaG<}k>CB7m70PRaeh*uIs-ai(fdPf`DSnSsmm+hNnUgk2TBWRfRk@l9FgwG6MO!4L z7}V%25Z;}DR^3knYlf$*L;fTT(*_SCkZXgqb0CRY5ZEG8>oaasoHq3Hn!M~YEG?4x zc-zioPEDplf5ZEnd1BcD(pCZhC0=6tP}EdwFQ~R^SiMuAXOcg%V}k4KfIOYE&eO+h zV(jx!y@E<{R<-Z%UGeKTLo^tq2op);&E@n^@bE^>unaTtFUOsATJ{#UXswWzItN?G z$;o=m0meP6K=pv|GAn|}swWiDEydl)-*a=k3y^3oYNwxXbrxFe=6mxolA*Y{g8|?* zw{&^a*fDD^DYq6_f`l&;kjAjRM865EJ|?cr)HW8$gN{58sat0dq4!%+QZ0lHcIV#A z!K@*3DoInS!x^y~+)y_@T!x=oxDhxjIE;??r-RzzJvMl+-D= zQnaowBM6%F#nyU~$T&YW6;q3wBc;>>?SRB;9oJGAAfj%8fI^l)YH~=W60w|Bi)_#Ei-nq z_VlN*_D-i~>sS9G?35`~x*D2} z3M+(4KtJL1#t0IY&nb+mUQ+c&IhRe4SsyY7yKyq*^@4=Ha8xiqziLxdI`z4Oknk># zzSi0*N*OT4X&t8S#FFz1jH&X_&_sJtUNN$%QU|`Ux$DSeS9UgFXU1#*kAF-Q^+IhOa5ov=YMcHQo8+ zMr3wEy7@s{>Ma31lzVeDytkdTWy0#=;B6hMF>Gc%>G8?Gd!6gT=@vHt6ZvAPkJ%My&?-{4sR5=^wnpzu$qpHKJ>LV_-xb+U%ynvY_X(BJ;vTZ{+Ym*ZUxrZXGLZ6*n*hB(XJxq! zA6VuFF3ac?ukSezKA}(!@94VA&T|NDC3O59wyDGSmX40rq4E@^cZ;`VlDi8a^Sc+s zbKA`DtdMp_K^V^Vi9Oz_d+mzM5F}=?APQc%`=7Zaq&A+xm*^fo- zQLKDQdm)c#>MQF=Srv6SBgaCvyKxo^%HG7XdcV1J+TXWXI zw$+&9Yx&B;4k^94s#ayS)t|1CrX0VXeWPz$19~0`>Y>hXsFGcK*8=CJKEfIA*n5gLas#vw~wWx#sWqZ%BRC$bkX!bzd?iptA z^+byh|LWLQhW+oec-G#w-K)C9nQu7~Y{pBU5-l;xsrjz}r~ z!a0;)@jb0Erufk55|hU}r#M>eJiv(E28TXoy&sA&U`mHlpJmyK@X6GYAzJtWAAX3Qf60pky5KD0z?4O(n%jAbYx)uMv4d&BC z0ZGSMgY_A7J7}>n7^`wp7FnV!PtxprQt8b+%*X-UAg-5hLZj5-HNDNGv&dBX#isbE zQ&I&3y7x@zR#XsTQIR(M7R(}Lup=<#(|w2uaKx6B9~&3lw1Jw3SDx>;g3qP#W0{_r zJzgzLP+bqnuEDs;ZlLy){c@mbW&sgpwQPL}QDl|ns;0Wrdae3odo;k+VpP}J0KrZe zdaP8Wk-S_$k3Sbz-kNB~5KX|oCPO{cO&m}*tWDM0&H0!!{F2zdsf)&*aW#^9O`Gz% zhw!BfqU=AH>pn<6=#>S&fo2q=X#dqSW3hVHhf`gzGgcq)(lyKEnrhcsYjnH{{SAa~ zP&5nujS?$p0Nu7?zddwK<3kVi6OA{e5>L|7q;iHV$==Ttk)D@Dohip)p&O?XD?a)s zoYe9wo|JCYY$EKB=>&;9-R8C6x3zgYFg~x7Fet=NV~J+3*b!m-!ArPp6;7 z2)P;fdM;5gospVcDA$>cme09T5Y{OD_K@`PRa}}DF4kK0nV#I%UJeEkk}5HmL`LSxuw>Y)|?$4f~BVsH^4CK^ zbx&v0A8-cECx~^h921?}b~R;4mI6X@=H}kJ(cv6(2Rg-@z(QNtMj%=CK8sz6tc4BFm7`O{KUosFc|BNl!c0Z|J78{(w7kky7YLDn5 zdF?*B&1_*7^4LT#F_p8OR4RS)P1UH1_&gHhJB@xM3_-q*x@CaHvtd==RTVrVw{Ds9 z#BA#;`Mw3C!L{x2dhyH%_z-9dH4=(Zso z9Rjowh}9-d)rR-8Cs?UK{L%j;nIQEumx_hmJ}u(WNw-Uhj^A~<;B2U!Shx_lVl{HR zDU#tBuq!Q|XxPX0wkvL+o2wn-tzE0GQxyNAXbb5On9_g2gf{~s>2Bj<#0W4T=H7yE z*3`|P7=3g;50^?s5^MSq`Lz z(lXZX_g^+XDmOmXhMqzYO*_=fu=R~Zn0;t`1YYM0~#(UIg!9)~DJ|4et@ zm(7~N#4jmtPNsFHfC)w$n5WhHf#;JTwoB-dEQc@{P?NJnNG(99-LNl^v}ShYB?GvsBhoD8Y@sGzbnM z0(w=)q=m(!0@I)|YRbzUKpJY$(W;ka}63@nWN!bd*a)@M_decsL0@NpLl{sb9D66=qP{JVF5Xme> zc3yZ|>X@i}aaCkv%w=IU%>?(wqPd>Log*S%SIP-Xf+dSa%gE~HM(eykF2wI+S^+PLSPxGrR<6+Sy(!*t zgsS`<-rgJN-NJ>zgzib$6{39$mVC+B5ZDP^kE_i$mo|A)EUV=>)DPvGivj+`f7;Ry z{f~-1f$&MF7Rr=z;6UZ&RuOzaq43$fYA8ZMIDFLO&5|421)g<()D^^dnWphU7vxDm z6|H(Uc89lDLT;2Y#OCqd%rzhYhg8C+qW%lJwJLknN+~W=km}MZeADhxX`XFsbIj6s zh>P$RbI)Wr>o9Z zoq`9E(W9*tz$xUX-MdwEI1(eR! zxKLZzT$yy#^M!B6;=(4Ob5*&6nZNwLVOfa*Bw2O8)w0JjrrBgWZw1#f{86_AD|Tu9 zv0*=(1O++8MN(nbiF6AU`fBKkJUIy!yY z2)RkVhf^Ug5*^R*EOt<*p$1Y(J_QVlTahlQ?rRRbx@-~b1{C^LwHO*G7rNKRGEZmwubv)8 zR6U}fJdx&EG&ih+`Cp9FpN-l~E*DQ<*N?rgfsO<#&B?RIpjlDoB*>#)a$1TkDl;#N z7Tr&PYxT_BRt<`>&&h0t^+{S4h9r$TRAA5GXfxiC_@5e!>^LEnfnd;?X9 zzU?teO@z*XLkK~-{_AGv4M|`U{oJ^k?N`c`9U`(%1mxAtoV z37Z-{;dBHeyIT%P59j7{OTj8OQ9g()2r{^)lfGI1WOG1X@>O+W<;8D&@I5$3-zz?? zVLkg1itM6j4&r*KN4>>^D)uJp3{?g>6%(eDlnunhHG;Gp!DX`aL|il^iSJV+cXV_r z@Y!rf16ArI4mZFEP@G1yB9K@9sR2A!G?Hhu&<=&#HDX6l4<9L-R1zih1&6~#2hs_4 zxM;q3O1+`KE(JI%a<7aKJl3e_H-VXHQSAVKPca!I!=Jb{*LW3L)LLr%(UKu$C6 zVQlxe>e;opyo^LTW<80UsoaQxRpCx90%n?b)$m0}+f-P2t81 z1_=N!e!xprWzF47FDZ;iu5{uFzNk%YnI@P){ZHr2?{g3E`wskn*Z(xA{u)yq^#4mz z_kT2J0{@30!HgM!!}~X+@b~we{eMas{ULo%%oCuE-Se3E3q~aZRM|t}{5fp8BYfLu?xN zSr)Vwgir~MAxj*UOw-6dwq`DQTqVbiLk0}FQ>L93zX1j04xC!o2Xz7wk;i&}y1{Fn zujeDyuJ5Pk_k*o3I)=6qWARp!$T8R%Cn;Wg(4HIfq5IO7zNb*IsRc&TSeTYc%5}ze ztZm{mCO<^Rvsu4#;RZfUTJ<4|>a4BWf%VFU>SJTNq&ba6?m+y{sd-HP;1KufbPzLf zxH6KRmarzYnp6McZy5~;NJfdknR4#vQdM;ZX@dJj^9_dVVERvc{_I!n7ZwO2Ew?{9r%PUoA|Ni2Tj*Z)s z1NQKxH`8N80J2p(k!5FDRmK+m zcLta>XCpCl_8SYNYeCd)reQ#}#IJ_O4IY%(r);aylxR5;whydapt=iv6f!|vltt2- zLjt7;ig8vx?PxBc^XDz7y&B!pNduQB+}=Y^C&0-_37!9&Rt;LDE3Im766{b6(vq2n zYx{kjTl=y$iX}rBKDJc>3IoYZl7{I=7xA}SS)d!At)M&To~C>q=~UYq7G|t|1|jTR zB?7ooT$e;>uLg*OPHDM!%1nRKk7}OSc2?syVq0L!trWFB+(v4Z9RwIK$H)?xCf&yP zDwOOR-lIyi=A$SE2(TH=I=$3O6?#nNrQlj}8?;5sMT9W-ye7Ivdqlg|pC2m|7%LH9 z#|4(d-xB1U+u03LA&V*j@NW0nimdm*RU`~bmPM{u9T%zQ3U`fhHd!4RM52NeQ-j1v zJ5C%&JAZrKPG5ykMf9Rb?1Wm?+uAuj6?6$nHMGgW{<3D$djgh(VXKp!Xo5G#{`g8EBIjVV_Z82&6<_(nu1!XYy6?W&$`Xgs@79X=18aIb?j5zpF6lobhevgt@#P$JWwY=PR6``$*x8J=Y7Y;93ckMwP zd<*pfb3>$gu6sNWzU<{AlY9cFt%=+9jKv~=`sZzIp!M8rc)57BZuZx^dN)7O$!^vH zncmj@gV)|Z?OxCoiSdlB*ioa3`7~PB`oaO>1#g%C!G|e~MAxD~|CS(9{@?0<|F^Zv z#KG9uZ=#a`dkwz(*u=ah7{?K{{y z#sN3t-etQSbFp71GZ0#I?&=GjMub+rJ>!WQJKfdkc^v_3e3muX-KCx>Ic&<{ z@A-lWX8FE8CSdoHkTZL{Zr@T!%16q`I}MCSgcW8ELh;Xk>wMYT^gLCT=Mg^3eOV(n z7TxCvNSY3fb7l#DhW8OqvqZX#1%dp*-Yh>BidpCc;CeL&uaQb#FIhjxq;>DVa#GCy zZl^SqhzR`IZAQ?Ns;M_+kv5n9Kq2-74M2IT5txkAs^>I0vZi(8IPBB}EkYsT7o*7l zK_&*LoYqt@0Eqm8&pK=E%$3PTdzzAN!&TS~z^U7E8=c2yJnAveCnYdwo`QW0h=uVZr6J1H zzs7zNtGe5BN}wn>GY6U8tkxQ`Q@^KQ$w(hL_zX*16up=@Cr*~4Po=3hnbh4 z^-wAT2^MpWs`JqeOdhxep^5$TDN1C|40&{p+n=UT^ifjgbm!v5NnWiFkVqJxwZ*8& zq>e_>VNgZX>=z~AE_xI9XhmgUw*i>;dLvjemx|~sfJZc~wolm2^FhcYfZ@c%b5lvG;1~xc zo2xKFM2?&lk4-e?@4KV| zgVd^@bBhB4Hm8#VqclRFaCW~kGT5B{9k&9-GjJ~xkV%^>^_w;U9@L|<3{QIBNq1v% z3_Y3+JUp%rMjz<4l2X)lhtgd+F!4yQF*wBbz|!0)07UE56T0AowbFrfB_dH~M#3@n znLZBB>O0^uP^?h`dyW%aws(gTvvP&6c`}Y6=&EHFC9GkjhX^1R4N7fjwW-v}w>jis zNy`=#Se%?R=t^4$s|9oxUR)YoHhmtvjAMpqg>c8InZ*{{HZkwr$)K#vb+2bzAJ0tO zs%J$n(ue#!IGr|WqHqEuokm`vA-HIxarP1x@jA5WPXDq`Zj*Tyt9%4KT^)YM5m(zz z&%}Hs9-@OVje+-W?GxJN7j9U8!wW()sS-`|rS%n?UIFna;vEPui!oYu73O3^`?plh zCuCE`WkL7ujRnP;Z50K-DmrD4>Rb-U8%FX#ugZ~1fP{u92^!G&;jwH zsb$aL&UJ~YGS445QX2N;BD{pFZbRs*G450TrCha>)Zw)u^}8-&5C9@rr4!{X`I9C8 z;SY(u_h&HA1gYmYr0fP#6s+tceNJl65l{sbKK5e@RhxA`bs=^T@$FSqmJr=!9{Gt| z+BfbWN)rJ%5G*(F16cdYu7$>-=%)!Rob`~EmiLGOe*zn;C|iqphB#Mo+cg8Nxi7ln zqrXBo$sQsCB*;CBy?d_%nnW2hq8#s7=H?raHeyV`ix_F^i&&>UmVYbB?<~8TF{1~U zqY(bub^t2VEyI}%phTqag_`~f+J#uNc;l^~@&rJ;mAv?DTjAMm4kx1QV*O+Hxm}l% z6wq(#D}qcp97Yy1=9Vo@;7p%YlrkxEh>Dj9`XLZp8_(-9#la_->VjCDO4b zEQ#GP?Ig4C575|clC52#(cE2RevLLiI*e2DqgLu#@HuBkbaS{(= zBv!_N1Xp#U_d6O3w`N7KzKRxoj!wP;rcDu*c`r|xOo=bapTMbG2zoWPf>|Mg&)U zuJS~2mGnZI_hI`F@lruI>w=vu227l&PZZ5el4XyMe_f4zHlru@Leq_04mNhtJwN$H z9cE9ga$bL)ReTl4*tYR3Bvgrgs&LA4eBGb?Kf~9zm~fZRKEqM9WbEd$k)WolamTM# z*s-eJVvx0cmU@Nuq7K}o5!RAJcNrl*;=t_ZoG zBLXA3Iy83*{G_AEmr9m=kDCW9^k$^xG?ln5n5l_{RPo;Ad1433MNQLC>S^O8o{D?7 zeY#p96{o!$7Ma=RKVS~q+QaM`9Jv>rzhB=V6Qfr4B|4X7zzCbVGFBzX(EN&}Kmw*w zeA8P)3?XmuyAkPk@Qd-Z_e0TpkePuV*aIBk7M1M7dlBB>8h`%Vg;2Dl&1@wW06?zM z|JN$+e`>0KqYvy29RF8Wea!n2yT#_&i+%Ugms!n-rA)1-SOn;u1{RL12eTHwKU(Z( zHI{`rQ)A1TAe-dc&G^~-;uVJ^q0rd*j7mG#&$=@ohd+M%RnVbMquWvuU%en0p_AX) zvi7K>pk}DoT2SUpKB;&R`0?_4dGzJ=a+@8-ehT%MZt}gNY-Xs14@Y?!(nt5@Sk^kp zd^x{InVWFmz(>BI9Qw7pOgI$zqsC4p#2#*S`ia=z%C>W{qhH0i{V$bNwSE4<+>#CX z#QPP@3T6*}MBqgYc5x{A(`zYT=yvMM?e*q6fj)}u+~*^Rs>E=kY_p?Mg)&d*V#xt} zqczpeqm0Dm!d8iS!>6K3XU8;Fdv{!0D2%@qv^{lY2USZ0&9}SLOQrlx?&Fn4Cp{=JXN}V{ktY^=4P_f zOOn*Pl*I+3RbXG;1tRw0;kw0Hb5cg=ooiM0D>Ikp{(KsCBs zEky00Ja*X`yWv4S9hOB@5Xq;7ls5^u0Q|Ou*Qs1W?6ZFc3)S4S+xy7FjG4NmPU1Sn z_#_ZZ5-ruS1rO@aEfYtC7r1L~##~Ro$XRS8A&1RArN(jl*^#{#f$Kei&FsxCRg0zo zKrR-{%EMKNE!Z*>)lhX39c_aZYZP?=1Cs{Sm5O!7XufwWSi0R<&|0(JdsRAT>{VU54Ofm3Y z>r(6vFtfYoQHi?;+cS?gg*=e4lLK4<@pr^G6Ii?&mH7c6f3BdSlf#{uHhkNVNA z)e)2Lv!2OpD+NH02UNl{NKYcN5Ci}D6WiQY zEipMk|4e5MAqx|NX~_Pk^&DjI$PyQS$I2>h0F*=YsPl*?#nHYsm??Mzp}VgzFb}Co zI6thV`?b{`i1L+fxBji2$oj-RYp{?ibC(HX!Ud&ZNBi1l^OFvPJMZu?3#JaBMt_MG2EAY_FK+j22yH&%jPZkDi@u?-7| zby=2+Nk@S2{Rw0NJ|6;-PX;6B3FdID95l%gQg9kfpUA6}DeJN3rYjIsGnMTCjhS$N zV~G+S@{VmFm%imJdsd5#@(fU^Ck%jsN__%EV9QEIu~5`15%3DsISB5+xGMQ&RYF~_ zxt5T3HOaHc0z@caFqv;GL9i8GV}uK$US=MB7lz)kJ0zoet9sA@H_5Uq8YB4*u;Z=u zY5T6trl;LM41_#BP%TLIk-jQn>(mpFej+yt zqiuIB`WNYZdk415AUl2(MO4C)P-l>1H2Oa}*MLCE`-($4Wx{G*~7Z6`@^kU-Kr-}bnhOUxt*_C)F3>XBZ(D_Wschv1Kgye!+n$fb z73&T%EC>ZQvZtSuJ#9oBhX9T{Vw};RG8m0E$|@d# zYir_xhtFVs3Me&_@#Bzlc?s+ZkfF_a%2^)eqo;6V?XyIYsX@KVIFfsFfU&!M`6XG3 zUUjY)4M=veUc@v8)XqwPn2`cqeVgjhakR4_nA$+&`jd;h-IwZes=y#wH8_YHm7A0C z*k3N=XTh+85b<~K7XQxwUb-*yx<+ZJ9n{aSUr#kOdc&Z}-$~J4>$7WJFY1Y%`WozI zUsxWGD{~t{c$wfkjeCAC(fkP58PC|o25?VbSzyo=l8ELDBJKRT^0c%J+_jB#PH-yf z^OrIXd4+zh3P{wf;5I2gZ49df%EDwIn1Nas=n9AT<^I|J{Z+igTye@oYzgj+(hS`Z zi@*G=6L?@mK)Cap2edlt_K$x+C4ITmbP6@RfA}XeO-{vPtxp7!hQH1m+lzGn+2t2u zDpc|m*$Eh}WjLF=lx-tL`~;Y68&2>?U9-UFxzhu)Wjz4w5=O4eTjhGg=sZqZQqkMr zNLwP^%A12Ek1qucibI$DyuP>E>Hy>9pl^{CpS1Pa1`;&Z@^dY=3C|mAAX<+1in>9dXRrt2tw4m6_B{PJUWMRH3x>SawQp*CvZB^bJg%uFvQ@BFgRP7sB2DQnf8eHEZ~w$LS(rp zztsBLnkwg5Q=q9oTW-aj30C8i>%8-(@sGdKfe^+cD_HQ_b6Oy^uhEFn z#rMpjcaLeJtTyN_B?c~Royq}YFzgLfQ8@OZjlAc%ts%|=;AV%&wooRff*@naS2$Q; z$=WLK8G(~=l-!t&Xv(8fj(;smk=3^@y2=5uVVoe0uudy}x#?-V;A%Md3hGx`7T=~= z!WX3$J+?tT_Cufx0%bGUzIQfFE>a2uH8(8=&)nn^|Dom1{*zKkq4==&9)>iM&xzIQ zDwIB+4D^B7o1=cnVjLzO0@ILaLu+cdiSakJ%f*;wi*%_`*YyW~?Po2k>cTjC2KPfy z)l8s%cD?J_QlreDb+Bsa+E8mnJa!!;XNcCLvm)xcSB}5OK=clGEE#w9`?28=41ere zNBy>yt?&_DQ>pmzBblsi%XiN`>kBhl_^j&F+T$C&x@2bk)`@S(*wIXGDE5wy)PKfY z=F8U=i~{Gb;tGhIa*^Q*3k$|Iu|q&X4|^2$6itBxVX!72#7)H^HD^CjKl$w8qAGqRFrZJ*r-U0UwZr2!xjlW8SU_C@ZX?!5;x zCVjxUvNSyy_s8&ZcRZ7z^+gtT^{^e_!kTKZhhX(H* zAa+tIO)*dZpuEnts48SDpxyU;Tz2{OHM{~>#`NTa*npZo5MW=dRll5N1y<;% zB7X1%IUpP|iHl^*}|zqEyUgXvRaCB)Zza zYaQ5ED4o3u97CWtrO+Z#s`Aw~2k>|o1490=rrX>MLvj^^9dmAr2&X1U)X+y}A4GhP z#>50V1U9k~&=YOC_C>?$zwXnhos8&_yq1CAg?7-+K-IN0on~Qy%5a~l255uwp#*hd zrQz54VQ*4N&IUN41ofTaw}4ZRsuR0#BPSXN37NM$^0r%S#x`CZcF@#Yyt+g_DJnCwrH~nT5^N10(8i|; z_!^Y;H0A?#|PJ^M=XdII2R|1q6Ck&4qpKU5DZ;n@~ zcoDrSB)Wx$Jd?T5u`f~D27n<%LsvKn0V&PYoi;tDfhq7v-c?vun`ERle*m(E6sTWL z>nXz5u(=NrWH7i5|Ejy?=VLCH+Di3h!uRQ4`C1~Nj4XFa!-=*5!$z;YnNFeDDr+rl zPO}Vp9p@Q^P+CxX*lOPs^5wfB2^W9D7r3VSJkJFbgUZD0FV``{}@~}`*}M!70bfvCQ`l0Y(!(hIjt;< zgVIV)uCqRxVe45Gr=$sco4V^ioU}OfJb=$NW-tGX*e!$<{)#?^qZK}CK9|)WV?Fp! zT~Ooidsox6iX$TMLWPpo24k*SMoxlUu3E_#%y;NAhCCG`g=;V&=`o^z=5m~J-Dp%A zR^RYm9Wy|_Xdq3U!&LXCNboj_sC8UQ;t-d=rv_EIjkjMTf+BcmL6mgM*cu&a(IRk% zv?F#*a9S|OsH5?e~!V~~EKU!eqw zLg~_yAdq?BYZ-_wxT8M!P0>Nfjp+V0ME!`jMC%!xvS1zCm*RSeNS-~ZWfB33liWo@ zskuMjgis**&J-WU(W7J%Bd+>CuaAp%=#u0TRs_>bVN9%-DSBf0AP(4c!9RyQ$co!@ zwN_r+$1MQ1o3X&r)4?1!`+n2rCRF^pF)r+e-p(GQo|<7YF#7dr1za^t%U)(&)af-uUZ**>}aZA?Zo-@We|@5fA;8<)?qi`tvO6&v7fiy{@DiT zp^$dX$g^rp1Ep6VN8iP4ok;-^t#f-DF-Ar7W&l}7@NIO6H48%NDf-ix2K4E&;w<<_ zGrhy3(sHn_0joNfB!`Zx*sBV5!gh!30Ku?=I30yJ3T~_{3}%)cl29@8dcPu&`oRfM z;mr)IiT+7jhi@c7aa3Yn#2GLShpd4hR}%D`X?3aY0)U1XN-PX=u#*W%0#Ms421}Hv^CXFDSoGYu<*$bAR2`UKza z$uN8%G%}=tRiv@BtQ$B=P1yQSmzBga3@dF*s*{4$j7VS}DAM+q%g{_D%mFzGEO}bw zc97w|U$e(ldqx1A`EN+F+A z_CC~`$XL0s9=7nzP`p5g6dSz1PgKz?-Fn$HjrWF z>rlrH$)jb1YEQ@E)w^ISl&UR7D(Ps({ul^wQ<8h`1|N^ame?=;+*C_85qMc^0Ab^M z=c9HB_HPAg2~NN(5@?rLsAyp@U;@azUG@uO0Im zkBL^;Q8A4q|JBJk*@_dr>l(X48?a8yGc3X1s@1FH+U(1>A+J#!wNDsSV^JBN^kXCP zmQHo-ED>L>?UOn9(}_~fMTiwnDdW?VXgMc}(zaKEO=!s{i_#`;P}CF~@TaJoL$5;F ztV;;KAn|a!4t`0E7_UTJO9Mk!N4Yhn`kQeS46po?W%RD?%mcv)h|;)-Zs;qHi2J}Y zfn3qkvJuhA|Zw9>+I+RRhw1~u2NEoK4$Lbd_J2C5Rl6`ga+K?WniXuzCTs2Ce_zutj3tcL?)p7 z=m%MHx6|Vdz;3ac01=DDn^%kJhTOSkW>g7G&p2B*m&NB7ql18lbrIuuEbks? zerdqxz7*Eq##DfmmWn23YXS$nhmy%N5}2W1c5lw1X_c_ze7vVNKWri6JXVh|^k$M+ z!sP!MQ3K?HE=m-ASh5+FEwmZGhlxuBa#NvKWr?lWroV+@^?WM(V6O~53^Y{&_$Jk@ zx+M{7B4t%eH*L2-+Y9dMyApX8n_m+cu>k4B;wAe_u5@-!WWV^8BRzvReZMO?y<5-o zWW}qi(rmH+N*!x>O!Zd=sdrK!#t8pDyL=O^xJzkxi1eF_FN*N%MNHQt{%=zW&!Xv> zcy4h(HwuQXdE{DBd&4^H%f?AfGuN%21ksszsTa%~mhRX;t`xhBtL;dy=vC?i_Pvrn zji{({e_ng!FQ_s$yT%{QHO@}93{h=dpGHJgBD0etK;4Iwqj49KcesHVIt1+cy!G0u zjtm^Dyph<1TCYor4yz-Mf>t^`2rx>9<%4>HI61qo27A&o4?;QVgHAV3(7FT+zR>?t z!=77uw{B=yNK>077X3@XwZ0x`sikCiNsHl6h`8%U?hNSm@s`2p-kX!9mtl^<6!I} zyIM4BwOh_SW_Y{iV#ay*4-tf>O91yobv57+W1V+xb7VWu>lCs%Ua`CZ>kWx{+<20W zqGzj{xWgm0oIE(GA=*e1sD}z9@1c7^9`siRe)^^E^V!D}I&qSo?kkMRqC#gp=j69F615-IqxLlqy~Ie1$7f&H&r1piAp{T~AAUkw?6 zy@fr!o`tQmiKDH7HT{3$x(r<`td0M3G~IufQIE%*pP>F8RrebK`hRhfjft~?v4OL} zFL@TMEEBoOfY1&8fDd+?4`&R^n)hFtnj-&fYixxyJCZUaE}P-I8;{D3uhr5) z@}9rc@J+8bMnv;bQLZAFfzP620> zgWh3(BPW8^Vm{2<%?(qbu3E80yh?0_EsfsPatxgQ!yEyg0AsT zG{&X=8;ZxQ8CGkdBSo0Rq&HD-kmR!0yit9|tiTFzP~sr!(aSN-E<~f>C_O<(sX+Ya z2Pb@#N8XFEYeO}*$(S1+%e!WjAgr4?hvrDSx=zSvB{`PBadd@ z3L!HhtSha8N9QWqUQC|ZE~=3cu}11GK{{5{<>$(-6JbZ5Ujw`)b;Dz}6A6l2q_kO3 z)2}QW5Q!s|Qs3aOCL+0WWvxDFGS-Ze*MIs|X9`&BCu_J0yddqvt`{yn=kWQB$# z-Hz_r-dm0ztr|>Xb0IyW|5uoHpTPTH{DN!rciDyUe}?IQfJ@KX#LU3R;}>JeD%)1S z81scc@QK@PyTuzB1X@xHQ`H=mNLnXgV(=*&Xy}kMC zCXsN2hJ(K4pcnu&n7tIC+>yjd*+ht%#KVtJsg($fxWGm1R?Xhv+%BGA+^$Y%ylsBi zrADcO+0*sc_(vUAr1ul9YaiggL33d?-lakxDC)zDur~*5Y{S=_b$)a;If1TM7 zqoxx2HiBU@^G>)ip$J`LleLm;qVvuuI-Tn;B1s|TOv`du(sVm)h5~0`(1eMw`FZ zo6)I(@DmnJR`2ct*8WE^(-sKU&FfuBigj9__vvwe&`7vs9}1u{w3ERPg1a*Z!lk2S zr$LKs1t(1oTLXOMX>^FbkF&Z7>jQ#l;o6?rt5`t3?T=G0a*2|pT-vuwSyWVV{K|pt zle>k}+Ep8`2avGu0+V#b9mR*ji9YMw2IcxUhGNxcy?hF8+%R#(ybK-M`rtl+JqzOxK7^+E2IfcwJ&r7<#Q za6r5p2kX(XnSqG^UCZ#Nz9Rh#5CFjawKcd4|+e6I!v0ghb?n-=!V2aLhOReSP7G@qag_UxyiQ% z+X%g)G~DsmjI2&xGWqUe`_I*F`4!j61gC9rP}GONvp&U%Lxb{ z<3Zwm3}1Vco~74U)cuUZ;p?kcp#Q$0v>sUu~1f( zE6i)zkk&wn8pnvdPMq4-4)BrE{HZ-(su)FJ%82>L&Dw^?=ff9*>B zW#9YpcVbi*#5M3@&Es>Hhydyba$eJ25Qr;IoKhhIO^C1p`QG*VBn(f=Zt7F*T|2>z z{UsuH$)@lgzk^6>r3S$STY{n6}%?;$A02 zF@XZ9B^Km|59z=J;jlfxsh^ zDMG6Uy?)Ep4;^PjH}Cl8&dKeEu=D$McJwk+4!cwFNG4I{+qU_jU|L1>u4P)oB1TB6 zDspwspWxijKryg`*-9a$zAKo9`R}9%adOyTBU&BtR zezoH6Ro^zJxs}$wq^$%q{-bkdEi3OwGEKyhiVrUCw{vMiGDvOxvC7a=XBmsFS%K~QaR!pAQ$4aaOQZ#{&B3be+TBtCqqTa zw-n`XA5iG1O**QIjAr|FPYdsICT|SMUE*U0ay75K2s)Xzx!*PwBF~xp9Vm2;4kWH; z`YK~sbTNrAJ8`{_XLCrDfTvPYn8`K=gu%|KXF$J%$OvHRbi(S3>dF~@u(0}W`rkGZ z_v3^mGrk`p*&>8EBX1aSstrGBpp2pL zfGK)fLAh~Q25=C|o0p%;#}sJmRX#HiIcAC=f;9EkHft>;RIi!ho?a@dq6mlAEL|`g zq0gBw~xXwOu2iix#wJ$)IM(uSYlkjQh4{Ksez* z*kP!MJ_NZ{eHPW}DuT9*1RU~^?on-XOFWrOjeVu<5RG46a;Wh>2H|8b2_Mg^kQ4O) ze6ZLI9|kH_6-;Y9wl9}l2R6jGE>1Nu+v_=! z%E=?0z}3Vrdd%>09`~&Pvx(SGpeHj(ub#=1d!(M{p@Q}dQA1_nh>apwS~+K07T9>L zqx>z{-k(kfoL6%9CkECR3E1oB%=W^#4Zl)fj2|63TwJx^gH`){pb{e5Wu|7wnft&_8Xwe^3VOOzB99Vh7( z$EM{drzL1rDI}*QXe4A5D8|*srl{#8rpCvoq|_+HrDtTNQ@ za&MiT>v21GY=M+GvP2z7k@PsUrpU!Zf{qA(p5f10-B&U>!NRLQ8<`q`sM-08jD{s~ z$^V#3cg8VmO%b^VN7P1-a(aQZKua^3Yp|Vax9qb#(V>%T%B|zSn!h;zBoaMGv+2VZ zrZAIvz(-wo(aTVk9qOxRDd&(4@hXheH`*#6CEoJzMC1M#RefVe$%KmiokS_U& zxAGoAmK>f`EBnosPwk`1&u=Q5-E_Oj5fnsml01*$`AaxUK^U|}IHYR0)u3^$p@V}IOi?na**wCdE0UN%L)w_G zW3&!KL%Rw3E(8_kKv+nu=pC~pk$B0?F($AOeBTG-zsP<*m@l6*M-^uOVZS)iV zzfL#=(E|@dzi4Ym{2#{W|A74e9&M`CFC(_tP`-QXZVAYe?&CCg`vRb8W%3ZP#DTuz z!A6bny^@+q#S)mggSxzC`u!Vc!K`=h=@@)YUfepjZ@zE7Wt*}WQdlc$f~y7_nf5E&4_+iIQ<4YPb|OaX z->1Pm9cD~m(^V(nyq`DnYvRAbies*9#6pgzCAOzU4cL5xXb9stW*m30wJtrC0-_cY zZA(FNbwYT}z?eqiX%?M6(eBbV;cD<%zWL4eLc#{Cyi0Nx@A;XYhf(SV`W)_%YLNXy zYq%2desL2?EM&#&73$DEE$E*ksU7jg!@Ir3_$yha9?}AlX%g;Vf(7~L@h2`&ECpw6 zaP|tG)Sv*7{?;)XQ!o=@DhO3sx!jl`P+703jv)kTq6!H%Eh+#Z6sudgL%PfHCyrGx zz{8p1$Gqy>8K+DgE*9{K8OnQFk|7u^=5;JCq)6ZM$i6fmSfgV@vSTZUJzLa+Jj$26 zqAUwi8lyCca=NIXsTtZU9ox!Q{zG+5=kh;t(&ZQ?{6X#xMFv#DviMn&1oIi^ObWRI# z{BLT|t)T}3BIDY|FJItTsvQtU%m^a3{_9RLaw(wl_1X>Ff(&VRoFh9ECli9RBNbl( zD2)l#fYfLo*lY#OSb!mfXX)qMR7w;cB!BnPQrSkMrt2|81WyP0I>O0>U<3n5wY^0d zsqp!~E{l|W6hg{n2*Qb7MN+4fcnwgqB}KzcA_7ZNk-cG@k(KJ=PH|0q<2w~Zg@k+) zF+~URM=_I#xZxui>;vcVaMRzt8wh3lFtA{=ar%EEksQe!j6VPh!N~`%8@J&j%AnE& zD-(kyQ97^SY1peGjAnIOrJjAqyZNcqef8-vyJNTx?QNOXr3Xdd47{>7TQ=O zcMq^feTObTMEBBIWo8{zX}3=Lnp6(n*yQX82Jy2oo%s!U4V>_sw4s+>F?wYxc99JA zLPYuz%XJ%XxIp;sf@)}@1_T2fl~_@U0Bxigtc4LBx=}d6O;XY2IC`QkT=xA=y(UsN zM6T&IM!2AjLY!_!qS!shppQsL7TwhF@osk0XC2DJSbRu_-g%}6%eexMJ$RZ6}6;j zfD-6(T1n~_6xD34GHUajDT-KqCS16Dwhsn1Wpw&$EE=JtPoLUOQYI3iNvRb|^ZnSY z@h{o3soZB!!BioFH~%tTv#;z$SE+Tnjma^)d6YXE-F~Q#@w-<3I}}qxUF;_82SlFu zbRf2y8G&^=Q))87GIAm2i@8=T`Pm{^VX6$<7mraBcOQwdO8`AfIZWsK7VVSbcyej* zJq6j?GUdlCZBXo{c^M_mgSS$lU-MEhQZrNC4*;#oi!b}CaRJmEIO40)jsZ5qCNABs zHbqtI9qO5Jn2+3kT9rVvC4?^h7Nh>mX?6jRxc2D(TVDpA`Ua{8tA!4fWawYbt4 zH0`*5pPut9PxBs;Xf*DhS%bLJEd#XovuMJg>W!nCe%j)U;hP4l{L_b zL;wK1t^fd(|2N&oe~j(hyjD(|q6xc7$v+JFH!*p@e_9fsN}Ls*akR!O*#2gb+BKB6 z>BnJ6h6w-w3XDfhzFn`zdH@$4`7EhqS0E+!Nz2K($;tJaa->VkuF5F2cB`*cQ&iN< zPBfI!39B9(_Rvk>^ggC4O54&E(~ukLDrw<-Xy+*l6f!1Bjk@ZIjBZ=w;kiv*345 zy6COtcSH{#ky%mu0l}x(bR+$%N{sDME(~|ka$Q#}`6s3~VX1Jc*ql&VMUj|%#g)}+ z`5Dz)K_)`K*;6wq+pDW>DuNnmqA-wYqUy?oCSXXQQP}aA2}W79A(s1>Xz%t&WD0-g z`}u*x=i&5_+?UhiyW8`*ZKF(X7l~T>kX&HhT37Pv$)f&jc@!CA+e1k2qeDf{mx62i zuDy$Mlci%j5)3mf`Qozt(*+hK{-pB8rNtKJY8BO4Ar~DJFsHoyTa`rsLa5`1GUIm7 zDhgk=!X$b@=sKf7V!=w|*d_DG5BrY)9L;9_F{GyS@kzs#bQ3o_?x$lk_)6&wj=!Yg zVsl!Y9nE47%%zEEs-lAmO+(|8Y>`T9JibQfUY0#orPbDCN>J| z$gu4a%EY$q8~w6H1ZTCfs#7tt{A?k!pqHj1iBh{&6V{nz!zYv0Qvg~_?t^Rkm`N*@ z09s(UiEdwgj|Haz@-+;$m-4g?0zR`t^YLkqe&a(0f~MpfnKH0g zjgfN^TsUhQF=Wjf0LvCMpSN}>H+$?ZtXKawXnuX>`R_6#T^JuwnrZXnk?_ih5E4Of zQ+^#4L~5@5+qiBMB3pFXS;qBWB?xN!FP+dKpjNQ^rhHtpldaV1CaZzD8==8nbbY4$ zBBlW+>Y-;Gl{kGZ*uW>{dSwkHN?nqByuF`K#d)#E(w?*9lI_B_H`=*gTBb{pI2s0y zAy~#LqUXA%G$lHKo5c`|me_OPK8iaOzz z6e}Lge_NfY9izO~=%8Vje)D)^6UVP{8tv z4hju1Bgk7u|HzYPX&JK&?2*^>X{0I`z~H%qYUW-y4cH62BrLnkub^HE<495t)KEt9 zDazM#zjzj&Is`D$Ua69H6x_OJ-o4ae2oFeW$TXiJ!-D_J&_OeRSvuQEWFYt|(1T*| zuKL|J-$x?y(5M04C^$r$;*K`fZDRx{RQcml$AUFM4)>3`m$0h<1-%A5<04lHHU0*( zt;`zz!y#ErMN(d@q+=ifd)1I<*31AH$;5d1whwhFSZT=_w~74Vt`1S2c+qP}nw!7!u-%jl_^CMQ>sU#~`WOft44(8CG zlKHBa0I&X<06-a{uU%8qL-2Uuz6C(E1*ezl3}p55c$l#EYp?+^VOF#e8^iQJ?Ljdp zxOWo67;FK~zQ0k!7!cwcI0SAG$YKVDAG-IjD5?)owrYp&p&#)2FdsUyW@wpx<#~YJ zuYI#xa%+wv(H(nk&ft~6C)ekO^xi)P(5^}i9U$E88KR8$9@vQKY~!#KxEvU%{g1bQ z@|`+_fjBN?@&d6cbnMHXIc%uNUi7BB-~k4yw5?3l7qkcI|>Y{)fKK#CpA4E1BW zBm5bh+9O9eKB6Y^4FuEeG+|PEzqi&^&GeHvZw%)L4EX>XWJ6bP5gU+vR=@%zk@2O! z`Ea1;-jy0DK)gPV1hahpj&42_3Sz3s(IbG&keJ~#ny82lkz`R!!b`qiUt1a=gFqL+Jtu$4^!XM*G5H;RiHek@}kk>OfN6VAM; z$ol;W4qG$LcQLPWg=IcLkvOJeW&)NL(yx&BP^~w)EYNhzy|Tm9|AOfOT}qxYYhP5| zO3nqd*syMGx(7GKw&JECP-gIKYGz@4s>i73;eL(!#v&k3!i+osPD2BU7xSaAKq{;+ zsmji!$T*fEmXr#B-0gs>WhwRW`cU-09}r!~=Jff#ir&;rH2LBi@BLju*Q$Mh^ZY(kb;gnxFgVU-?_sZFa@*$e4x92e| z9)l@W2B#~Xf`JRz15~U?#E*BeNFIt~v!+V+3`jZWwUq^Fb>yoC-h=M#o|c)6Ju(SzxMg z{;5y?`0m^`-euk1@9zV#?0Dq@ki%ulCgHM(IxD#BXt{y=zh5q>=V~dwCaIbv$m)p7 zmE%5PDbPp2B7WLz$wWTxE476J4v4nJih}%Bups_~F?$!t@A#Pb`>Tc}qe3gH+LBC4FFcWD)p-5OpDl;4xP0 z6c52Ds6ApnE7jqnmWS@zp{J@Hyh6y24TYV7QVVZtVz?c7HVqGBln8(hydgBYt!CXw z=e$G!r-Oa8XAvg*76W`YD+{zSSD6-B%WGLntU#XrJE;F3tP zx(ZPfZ*a#2LT5(J-6H&e5gizs6rtJGKI~ffY8p$j(#c5e?|0U@PoQjwA}vhLlvIW# z_CSJ`SLhC7qQBLkyVjFqY4D&rx9p(ndizR zo3d@xY(%PIw_xzpFt2gr&XS3kyQZNeTy_*{N%g=$yXC;4bo_0q1?{LK!_(|9T_-f? zgQ8l#RZ5r9{An_K$Cw3&RC0R9%jxQVjz()2$FPwcO0ef%e7+SqjG}kx0Kd%b(79Re z+Ww2uF{n&~Rd*RHTgBYn#XP&WXy)!M? z?ukw+1SK`O^e}=UQKF=E(4Z9H3?oLb@kmRkU`-^NMEet>q4UC~aRm(v#{Bx4g;Dbl z1j?-xuL2!(+rC)=Wc{w$8aiEpd@%hGJ0iKO^g`hL!^=}3nj+Vbmsq+moi-F^QriUS zly8iZ-q%sf(eShdgdYV2YZ$K!78$wBK&2aOkqe~lDc|REMIeV#;&sejH{lP)$TBhb z^m-s(XpMo*4iNrzj%nO8;D?W(NsW0DYeti5q5gnyFf+?t?COXmQ(gUqLZINQo2{d> zvO0a-J|54EUJp;V$HR|{tu`T09`!{rnA)aR0>C2=NWeh~6YaFi1id@1L-?)qrVub@ z+-R@llpd>^EeM5RdIlF@=Xc5v>;{POu7%klKE7qD;dPAV>F6%s?t}pk9Hlz`5qw@1 zpx!!Nr+0C!kZ}DZc3CJHIy&lIPK7GCd!*r$TtRm_7M&AeB3|C#+lMRs*=@`H*OJGP z0J`%OpqlJiM@)xMuS~DSTbCWfvGUq>NZpjc!|QDeS@{E44IUI-h5?|hO?MnJU@RFI zvANORA)KXof_XBG*cegALuYdldg9>%Ao_BCkwBvF!zNXhs6PJAQ?f z$>ri0Hr>Kh*m!r%;5no(jV^?4$!*VTQrPYiIj&4ZF}HE}*q1vPcqgz_eR|3fp%SE6 zCDEX+$Q8y%z*-Tz?506N(b5>+NPJR(P|$blaFb_eyr1mv?73f-ucf}gcb%E+?%a!6 z24Q!JRIJ;Nl*<#S8#G4OESO{0;=eu>2XT>6QNf942(>>L%7@TR_!F1#O*PNRyMG5` zk?G>$j+#%QrUg%7J*ptO5DUL^oKr;7g`litNdxO`5M`^id)%j?f)h;&$$0~kmc~^! zFA+!|wc@Ll%?K{tLh^7*!9H6XMZH@P<27#pH4_F)NtI5)usyeC|ms?$9Q(<^;1;j3I2F$MPd+ z3)Mv{;YbY(^U3g+XTDgUP7&h$YA)^!-Q$u1B$76jzrYlOeIHPOwO7h{t$ zlPeR|fehi^iBB&94ys7TLRad&&2*l58XX>xk^K;%%3`G zG6Pcl(ADdyqwAVi zXO_P#7EyBH_G4KU69z2x`SOlukI|?Kl z_NPc_C9F2l=`T;WFuel3VLgl#@IO(;?YNW`J)Sb~(6+sWhj+W0@e$I!*PMs`doQLC zU3Z``pbyn?u4Q^VXY@0g%ty^+!}n#dj&|~@I$)0LddsN!8n5LQzIsLM;cLuE$2*w9 z<&Iji+#+i-2LG^7y*&)~HP;?g|86QAN>Aa__wLja>a%d*b8gL{mwWg)CvgE| zN+0VSfU!0T_&8+ctf*~j9CvNrU`&Q8|G5`ecl7rHrsN0I8g4)eNWr7mS1qTq0nPb+rfzS-*rd5SsK zss{kSR5?wVFu-Y!=$URi^QL9Rd=U#)_77NK6}j+LE+{V;=$)k@8J6kq-vgTApc2$2 z-xJB5=>ms%4)IwNwT%XG39Kyoo`$Fi^%6d@^vRV2AXWr`v>=FBENn_#;ST`z6*VBU$J7g^!>d};05gjeZAhMVovA0}! zB&Mp8R9b?ay{)`BvV1mMY4;V#j{g@WMFaqif z*GUCoeA0T-YAGlh5I=5ZSjL*pxDgXZxEZ53-1X$6g_kf;Bo&`XPl3*5!roM*G zIk%3kpn|^UM|&OpqWGf7-g%C?ka+!N6kpRqO@ZF9@bG~4*=HY}uVXTBZ_MXSnv8h0Rb>|0TSG`mBY2+T9itg<}s<@ug|(Ya0@4$3(-qe&Lr zp}C$3Xxn9$NDFRX+sV1`?UGL+Ezu+DW}Zt0GmZ7&Pnbk__{dXCT?&*18ZX08znmo! zuBL%Xu-52_!KV5jvP_F!IV{#O|DMXAYh?mTsflVGTA#Q2OvE`(WqYlz-x{m zx~%9o2pwY8!hooftIHdy_{6H=-o$rCI8ho2@&&*&RQrshY|hF_W;t$pvpX+1OE0wc z+b;vPl31}kY8$>;%YN$bY!GJtTPZA#kZ&Bv`Ci+1=VD|o>|6#(%DmaY?C0&ym>i5h z@n_w`-711E)@=PTJQrOMqv02g7_vDzG^g%e8PmUW;`f@c<6YT3&H#TD_$2J*_t{Zd zK&e;MM)d{y4zTh-TAju@+_-xnykS?6YBH-wfuJXMgf?ZN-eb0y+N;UrhlD48aiTab z8xq;fD?kA#%1UcBXHebD>He{C&=2@v!uKJjhjkhdQd~AB{W+f)e`Iyk>p`TW;vsw~ zf4@V7l#3wU5H5h(&C!uAaTI1irSj~7v;o|vaA=FD^PZnAPIQK=dpJHZ%AaOfx!RVfESW=_3L%Y$7fAmgGF`qa^4FC>~q2`gq?)4kvAa{d< zRh7LJ|417j`XW;BMMPZZyoz!tN9|4y;}77B8*E&7-RpP>)a*gUVr|G=@|W{5dj1%; zNP&*-bp{;L63b@5UGOna@zaWHy3&Uf{bTlA*|CA%)9kGZK4ENi&R+N@R!w2SL+xnr z<{inbzZ+e!bY6N--#Nd7+%$exI}Vwhs-5_*lw;R&t-)rbpQ$V6?LIH{>xy81RrNUfi9ZfB2~(p|OMb zu>S^jPM=lndymsx@>HYR#P<;sswaQmp6yf$TU&hl&97fZ#9AXVcvb&E5}8Rx;5IPX z@DO_#38B=|3ylJVtN) z4u4lt5WV~$o#H>FjF#bik_21mnQ+gWCNhsrFI0bWeS2B(-?MTF6 zq#OF@JH_S9pJ7*vnhJWJ{A&2S;tPj_g+u-sF3MHtW7Z|mu~k%-9;$>7~u^K-N%ru{LdIpMA`!{KDQn6{m7@;o{bV1W0RH$tJxLsXe)E-%q zq~KO<>mnBnJwn_|n8FvQ+J3P|2jC)@aTOKXIUowNEZAoHV!bH`y{TGCY**fqhPias zW`+A^KWCy_n&V;Ze@&=}4>_ux6M7bGUE|)A4~Js8zWj$<+{dwfkQ`qg3YWD zkm#szylZw70*h$WGUK7W^LrNobJ<55*Yy%)#TYk?wz(aIBo_#Uj@F3<3PJfr-23%P zi~wk;(r$A=5(Ck#-f8XfVt0qBQ(Y}3&f1NO+Yq5|BSBezgL^+GAAg}ZdWUq-yvioQ ztq0rs1fa@Y4=l3tAh4x8e1&-u&K7HN>Zz%rkC5!;=o(MOHNS?crRp-Ba;njCwHmX} zSF@bQ8R1QJqH71?b-(iS1t&I9SbgR^D5GC{9b;p)J%gxNja0^*kW%@|yw+3c-0(T< zq_$~v$E$b{qhNqh&V2I3wKqQ^vvUq|D$1`hoVvWxe7fk=_us=IU;6k!1 z{{iF-R(Un&`cgEosOMb;P*rr1lM&Zpj{2$uJKN#+btn8)5XPnkXY6|)@L5D|G7t6n z`!d1rq9n#y#ci)SZ^7YC3{F5{-uF`v>w<&V%=jzAz_Il#0sAO;p4ts2T^vR{2PE;i zKBqQ6G~kNfP)74A2urh*fB(TQ z?{DD0n-QS5Ti#l>Ug;wLm+=Q{j&c0oMrn@m^#VZC-p#OjLmE26-36wDpe4jak664r z=FS###zgb7s7*Hx!0rAn@t(bhS^3<&T;AV#W`KF|BTQh*U_b$$pgZPa=> zcB_eB(85JRcG%k?JX?Ob7HH$@0(AxmeELRtpeWGuPUB{IWciAI7x&}k9}S?L8a9Wg zCtxP94;Up^RY!k*zCK=V-^)K4@g=mhueBa(bGIZ~VD~H}=sCj=ffY#{!PrNgc4OZ@ z2(u3|y>yZEs%}S>&&Vj*H41N58(ACWah;b@ua%3}LOJeW$+AO06sH z)X8&QeeQDqyg8P#E~3$*tx##udhH?F02?-0GNM8s=oIBupmev2-?&g=714^t-V8~W_9*Vo?FR{ftS3<@@oSK zjp`HiqAI-PjNbZetIpP_l6Nn;U+3y~9;@eMuD5_X<6hTMaxPbRVS~0jX~R#X`=X~* zZ#w@_fo%$ZR8dJ`m^36v?W(SoRvJ9wI=-mWph)cVI|EVl!{a=Hn2z-g%l(wj^RrhZv2fSlLuSEfBo@uCJSi^tLAuOvT+SS(c}3_ zQY00=(?)0RXy(7{oo5ie!Do2>$K8f3zSurpu-D!rdK91K3B5^w5Rd#DdP{9MU0Sy= z?#A`zSX?`3{^3}hZCvw#(i)h2|6kA|gks9$VqgFO+y6G}asPkK7AI53|8JAGMs1;T zivz(I{usYmGu1k{j-OzEaPW3WXhUeLO&TGRSFTx=L_N_NTk6l(9A_dG`D`%+m87+p z**sQ^IcZ$kyxP1)5z2}_#_cMlyOz?KL&8_1PRm+uTAwSszWyx@oVvRK)SEtsemyMK zCWLC8{CzXHw!k3oOK!jm^_qJlMaQaHSYyMxLI;yaM5zLMKKJO-LRIU1QoDk{h|3Vy zLFc9<1bI+5GI`UpV7dH}>xZL2xgHol5b_Y&<8hV~%W0PCwNZ}|CyUcexqgQCrxaq} zJHrIw_#v1lxKvjhjQdf%03hmCNM;iF{cT8Vv;&QNpND+gOO^UShbJ??-XCO*y053x zF5eUfn2`4@19$~3db(}eGpp&${o1~W(7+O*m;~gr6ucwdgT{sJ9%fV`ab4@aXQg^) zyJ{l5>XWbW&&dBc>k1I;v`L{6(GRcaS}KRmHVnkO1O5e$m|Y^W;+^Su3z~`sjn1zP zx>MVD0+4KLd(MRlhTcGK|2Dt7|4EYf+;o@c?toK=n1ymE)pu+oZf4jyAwTmU*j_2X zcG;jmFHazG6y_xTAtMN)gMt}-;*Z9Ex)3Y)(ipUiTUB=sgn5pdqva(~Q;oOjx-Q`%MzH}$KXOUDr_gkZ?49asdeLsWU2EMv?x7dO)W?eCRqMWf#3v*$<(@vv~ThV_2l5wGmBVfwj$D7$L zkIJ^}1bizX>%W?FSrShikZD#t*@vesYRPiVM5!v4JRyKfC;_0V_=xsvmN%6h z4b-d3uW|7#nfeKOdppe>@_DhPjIT{}SNkW`597tIW^Os`%jg(ZI5}>unNwtigA?-< zLhx|0i}+F%Sg<>OO369T&us##GRo1yl?C%Z!{y{XYIvB8*h!!-E)u=1Hsis6047g+Qa+TMuWUaf9+4%E6P;Gr{5<45!mv= zI`FUMP^wR_dVgE7m6r#Arsd?yk`eINrd-t-vpAIzJ+&Bn=(PU)pCO48ekcneCy@-xH>A*TC%h|IjY2qvpZ zG^-h?i~TaCFW82^G==Wcq-RY(ZEE616kYJn3AEq4=pU12xW8DjqnH29BwL^eh7kX+ zz+BD$e?uw#&+|6^560x;r^s} zfLiE9moJAis78^E$%#bjNq0y1x4yd`aU~+kO?OK^n;{qy^N6^(xVty+;$VVz?NojB znM~C!-I=!Ti>6*HY_(Qg@11bIs;jo|G~bm44T^QyRn;54`tFbgySz7B^4YoBxm{b1 zDyZBB*t`8KgCDZ11AaOVqOHduQ=6{epJX4pD+0lP6kjrm@+?mN%1SJ?q> zf_%zGRaNz$KrlemtM+qJEV(FBtKj++7`C<(&84G8>e*Kyiv5=Tw&uI7$~_g>Emdxu zw5Ud?wvFR@FYVksS$5d-V1j;D0f_d2PTe}gvms~d&^p}v((6syD|l{FHlLqv&gu0w z)!n&uem9E#>f8o=PM+SaU>)=8GBCYEBo@qb=|${a6x+0G0YD}lx(%}(RtJ%zZ*Jb) z?1h*tjM5%EyT(qc=%1PN2M46Q^@naM>fmtv7wo<6D_5vOt2f+7HCcvKuO!!?zU$7` ztOi^^d08)8GZol!5C_@=d?z^^7B&$e;w}Q4T~F=#BrOtDiWP9)rv#YQWIt}! zn%aJ%Et|3*yHt|3;qM1$~O&r zb@(Yl?ZsZ%gBk4LMtM|j_~2nbFF^Lr{Y`M%WOBcxohxghze6CI__5K%6;-l92nMf6`B zQu)L4%g4vFs*}fw6{cTb4&vNVB%NA7XFm&UI(=2rEh>|DLO>Q zOc=k4hhS>H5E-i;kaLf|J1lUsQir(hKneGuF1;r4-;Awo0=2-tlCY2Zy3!j|u3)m3 z>V01n?SB|xNT6L@Qy--@gkqrA5rhA^ptR#$vB+r>+WJI4pe<7=C8F=q2^OpunQr0Y zCXYZs^h@LE2YiI(FEtGnWe7VnhALv#&4&CvKf69f?grfpSIvunQw?XFTqfa-rB7^X zXzVjdvU_)@dH%hXO|ZXTrAO@OK0SKfR$Hp8y0wk^Y5oXbs2+f^kW+?$K&bU1RQj>w ziP8%}sED>xfv8%B{hNXzGP{=v(65~!aPd98F~~QaPMW2 z5Y(HmkO~cY=q}Z$khSS5KyFBy6h=w^t!Z#O`~}F(dF-jl9#>-`;ef<3xSgGzd^#op z&S%$L3&pb-hhXFs#jdO4yTWLw;Y4leUs`#koa`k+a8a z!wF#rmY|j=CGc*Xl%HNA(`!c{s>?p(6efx#J>Rs#75DC$2{pQos(tw#Cx&tVgX$Q2 z^j!-iTm!dV-M1{xeX-S!DyxD)zFO(6j3Rk8aB|x=MI|{)lA#UKg>4PWgMNi`cACug zPKDHzR_Le?EUOM(I0V@2$EHyB@Pic*&}Ag5U#~rkkU}RT!jxIYn&;yI)aug9w+|OG zIp&G384rg>x3a@C76pfKdu4wd=S5iOmR>MT@r| zZS;oGk`Nj#4|*E?8D_m=^4Vc-uzX{c0r+*St^)+^peqk#9#?&;HtWOyJTSS=qxTzj zF^HtravZnDZkC72boV-Xb2I{gmvOHCm(I=#J)(u|@!K#Br8kd;C_mu69g%e#e;9&* zN^nra`A(k#h=WnwN#iiT@Jb=cDFB$2*$m1Rp1v4Svy;aJGlXMer*UtT_k@B?_#c~l zfLu&X3&MY_`Ht2QRYp)*2jFVLkzcJtzPHb!LqU@c#MX3e{SdQ|inLU;5R@(K%!V2R z@!l;+zVs{-Mb$u|eNA4>LfI4OaWuXZ$b3DH2$uv2l8rGWAYnfMN(w{?NeB*Ky}Z7) z30X^0pK124EBFXmqENwvRRjqv&FKuX8Qp56@e(A1`?yQiHywy=f2YuLkBG`0QjF4} z?7?O6f&q^}z0t0RyaaSaxT(8BKv3rg$4tcitv+oh7MQT|ECo0Cg#qTt2&!%w@mSov z&~K(bOH9-8y%}0l)7)A|@x(y9?3Kil35fjyY^3IMn3;K%%uGAg=J(xOB9_9GG8e_C zMc=y}w>utXSWMF1BMgqmhM_Xh`qvQ02hB1Pvo!#b<1F>N}a7xUhThALxt=e1qJK`6i&-1AauiX@2RZ73%H* z*PG!!J7@szr(~IOwPjw&I!*%QVKHVwM!n|9BJ?W?ABtvU_nxqlF7Y|Zdp<(|y{x;>Tba2(8$)$|yVE|^!m39s zlQ{>3aUIis9o$JHvavzGFxUp1&o0h3D=B{?RLSW87>O%o?%{HZIWJS-#p$VWEqEgq z%Wt!62T@)js}43HThG4(b1_bu(Yn$0mXeSc69LP`@gD3u#WOS~PbGe5-I{0@%atoxB)QN z_t7|LagM|O7(5@W^ zDo2L1{!*M}O27icaI$$<`7HzxF%L%s-aWXFyDnIc145~(=p_*-SBh)ZkF-yMBMz1J zbfU($FC$oui+B5?MUaflgNMWVP`QHvX2)aYRh(zb(q}~pHVagW5}vcfe5)q^`(>GYa^YIT0M_a~@o2+Y-LPTJf}j5TXB=hcRzp6lZ_QuEZh%r9xWuu8(vNa)*15MlPoVrX3CSB>HlY+DsKsL`AfHd#0 zw!f{F)(Qr(qGI&wK2MLZUzb(%MinD^>eneUu8IkuslY`YaId25)f^^D1OMZ>rDyWnM)u4MR84a=+{#R&4xrK$ghu4 zC6bFF)kY~`Mpf{I4F>f@1xduXt=##Q$K@fxVPmQ?BJH_O^~}@V7q63)JEV+49eLRX zm6f9QO>o@ip^^W@28Z~r)-fuRQzjOHwq8}-u$g&pa^}P9k3Mp@Vlu;TBxwKT#4#Q# z{mv+RW(>Kvdlj=Kl7&?zBxIs8sajEby@5ji6|$eLF0iR^7_fqs4hS~Nt^`r4KvALB zqc{yST%NQS^V&Yr6%hAXctx`Xy2y`(D!DGh&-L0WXzGh2Z;N}u=aQ-btBFbkyCk=D zEICGUZ7<#eY|o{_Ebwv>4~(jrvJ)w$Y`TPmEe};A#xSk+@H0HsF!azHj!WXfz6W)~ z+_p*}ZtACYiDZUcgL*_M!1TB_uV9WoW11PeIExmP*+pIW_X3BB;`&BYa;XJZA)=`+ zi>Hl2*)+t@5~wU7J2AL?D5C3;s!yC1RA)cH#b6)HT$bT7Eh+Pq12=;(ZeDunF?eE1 z>A^U$10>4_UuqE_U9m2eVL~GANgNbS8c2XoyeX)(ms9+A3Td<$RiWNs6IK5G z{-)W}=MJIN_`d4GGwv=tT~CWrXIN;_cR%koGTt+-5DAH6i?l`fW7_G)iV; znX92xa7lXZY*_*qJTx!AB$G!GgUjvGN`wFc6*(ZvQ3$6o>qbl{Po5&QEX~YQX8Z8# zctrW4<3-cbZ70d|BGX5rxX1;$`z@gUvN~Air8mUzxXf~#Xe)=6HBHTLf%i1AL1pv? zdwD^NBshL|ieu`r?kRTN$_;c%$nRBi41_|z(xQEOh-+_osvY)RJtW@YM8e&J>C@+u z>g!0Qo9-JG#7=nV9=F~IpsRzYo^YzP!896a4l`&bL$fX3us%P;I_A?gap#cBJ-7h#dgFh|@K;lJAWf4zJ z?0_f_Vcqpcj(VUlHMhDH#A0!@@|ub5K$AgL)H$;c?7lpSJ)kVwl+1vld#cx*$3p#_1M`CC z92u7_@!<*3=igd2?euQ7c$BE=msv=6>PE4hxD~`^yTY(GsnYo$8io~gHBChPV}pN@ z!;VtC^?)b(otwkQT#pA6dk}pwZowsYCPZz2l$_r|4i)Vx32OEI@g$lQlP2YC&u#}c#G^z8a zaRIX76w%zKMcaLRT_jLAQ{1&qH(7)eSiJAGqtt!49=Z+f{RSwUqLvwpltO^e)2bb{ z=5RSF+vlFF!CH3ze1Ul-8y@m$gM{6+s6Mi_*(7_E++)FB!?H-5aI7wGtG`-;^HsiBwtbv z^4M>Tc0qzSt45mj^W-5UwfNd;@JSMwVJ`~){a@<|t#Z*{m?!`M2x9*)ll4C*M&HcR z=6}dVJ3Q9zTcZtozOjEpc+_VIHWcG-UR%bcQgOyhHMcFaD@sdY#X_Q{C>|M zTloBwYp$eNYAdj<_qV~#{GxBFwNSqcy)A_lkDk@wbfPV-PYgRJVa*mD%P}*pp(V0Q z8~k!+6IJ|kdOv#$U;MJ`Q%>B5b&G`(XP|lYYo4nz>xx67n<_?wyQfIIaaUw@lg;V% zO|5hsKmyEbp19{(LV{Th^pzRcGob@D4|+~O^=dKw%e znbNs5)CmAQve;mGV#D3jl_AaymRl+lK|^ErbSo4bK3(gq_DCM!2I>K1L{%mJy-Q

rCssi!kO4wr;`PHdL*0h9uv6 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